Add file policy to prevent sensitive file leak - #37
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[1.0.25]
Added
.tenure.jsonconfiguration format (tenureConfig.ts): Introduced a new JSON-based project configuration file supportingprojectId,ignore, andnoiseIgnoresfields alongside the legacy plain-text.tenurefile. The JSON format is preferred when both files exist, with automatic fallback to.tenure.generateDefaultTenureConfig()(tenureConfig.ts): Added a utility function that produces a pretty-printed.tenure.jsontemplate with emptyignoreandnoiseIgnoresarrays, used when prompting users to create a new config file.filePolicy.ts): AddedgetTenureFilePolicy()andgetTenureFilePolicyForPath()to support per-file metadata and content suppression rules, preventing sensitive files from leaking active file paths, language IDs, edit events, or content to the Tenure proxy..tenure.jsonfile watcher (extension.ts): Added a dedicated filesystem watcher for.tenure.jsonchanges that invalidates the sync cache and triggers a re-sync, alongside the existing.tenurewatcher.Changed
package.json,package-lock.json): Bumped extension version to1.0.25, updated the display name to "Tenure", addedlanguage-modelsto keywords, set"type": "module", and addedbugsandhomepagefields.package.json,tsdown.config.ts): Replaced the separatebuild:testnpm script with a unified tsdown config that handles both extension and test builds. The test command now references.vscode-test.cjsinstead of the removed.vscode-test.js.workspaceSync.ts): Updated the missing config file prompt to reference.tenure.jsoninstead of.tenure, now creating a JSON document withgenerateDefaultTenureConfig()rather than a plain-text file.workspaceSync.ts): Integrated file policy checks intobuildWorkspaceState()andsendActiveFileUpdate()so that files matching suppression rules omit their path and language from workspace state payloads.beliefsViewProvider.ts): Added file policy checks tosendFileMeta(),sendFileEdited(), and the belief record submission flow, suppressing metadata and content for files covered by suppression rules.extension.ts): Updated theonDidChangeActiveTextEditorhandler to respect file policy suppression, skipping active file propagation for suppressed files.README.md): Revised the project description, feature descriptions, and drift explanation to emphasize Tenure as a governed context layer rather than just persistent memory.Removed
.vscode-test.js(integrations/vscode/.vscode-test.js): Deleted the legacy test runner configuration file, replaced by.vscode-test.cjs.@emnapi/coreand@emnapi/runtimepackages (package-lock.json): Removed these optional dependencies from the lockfile.package-lock.json): Strippedlibcannotations from optional native dependency entries (@emnapi/wasi-threadsplatform variants).