@vibesdotdev/external 0.0.0-stage → 1.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +18 -0
- package/README.md +68 -2
- package/REFERENCE.md +217 -0
- package/dist/acp/index.d.ts +28 -0
- package/dist/acp/index.d.ts.map +1 -0
- package/dist/acp/index.js +31 -0
- package/dist/acp/index.js.map +1 -0
- package/dist/ambient/agent-roster-heartbeat.d.ts +67 -0
- package/dist/ambient/agent-roster-heartbeat.d.ts.map +1 -0
- package/dist/ambient/agent-roster-heartbeat.js +257 -0
- package/dist/ambient/agent-roster-heartbeat.js.map +1 -0
- package/dist/ambient/attempt.d.ts +19 -0
- package/dist/ambient/attempt.d.ts.map +1 -0
- package/dist/ambient/attempt.js +39 -0
- package/dist/ambient/attempt.js.map +1 -0
- package/dist/ambient/cloud-agent-roster-provider.impl.d.ts +13 -0
- package/dist/ambient/cloud-agent-roster-provider.impl.d.ts.map +1 -0
- package/dist/ambient/cloud-agent-roster-provider.impl.js +71 -0
- package/dist/ambient/cloud-agent-roster-provider.impl.js.map +1 -0
- package/dist/ambient/cloud-authenticated-json.d.ts +69 -0
- package/dist/ambient/cloud-authenticated-json.d.ts.map +1 -0
- package/dist/ambient/cloud-authenticated-json.js +108 -0
- package/dist/ambient/cloud-authenticated-json.js.map +1 -0
- package/dist/ambient/cloud-touch-projection.impl.d.ts +74 -0
- package/dist/ambient/cloud-touch-projection.impl.d.ts.map +1 -0
- package/dist/ambient/cloud-touch-projection.impl.js +225 -0
- package/dist/ambient/cloud-touch-projection.impl.js.map +1 -0
- package/dist/ambient/collaboration-settings.d.ts +50 -0
- package/dist/ambient/collaboration-settings.d.ts.map +1 -0
- package/dist/ambient/collaboration-settings.js +57 -0
- package/dist/ambient/collaboration-settings.js.map +1 -0
- package/dist/ambient/collision-notice.d.ts +41 -0
- package/dist/ambient/collision-notice.d.ts.map +1 -0
- package/dist/ambient/collision-notice.js +104 -0
- package/dist/ambient/collision-notice.js.map +1 -0
- package/dist/ambient/default-collision-filter.impl.d.ts +19 -0
- package/dist/ambient/default-collision-filter.impl.d.ts.map +1 -0
- package/dist/ambient/default-collision-filter.impl.js +53 -0
- package/dist/ambient/default-collision-filter.impl.js.map +1 -0
- package/dist/ambient/default-notice-formatter.impl.d.ts +4 -0
- package/dist/ambient/default-notice-formatter.impl.d.ts.map +1 -0
- package/dist/ambient/default-notice-formatter.impl.js +38 -0
- package/dist/ambient/default-notice-formatter.impl.js.map +1 -0
- package/dist/ambient/file-access-ambient-drain.impl.d.ts +21 -0
- package/dist/ambient/file-access-ambient-drain.impl.d.ts.map +1 -0
- package/dist/ambient/file-access-ambient-drain.impl.js +53 -0
- package/dist/ambient/file-access-ambient-drain.impl.js.map +1 -0
- package/dist/ambient/file-access-ambient-drain.subscription.descriptor.d.ts +27 -0
- package/dist/ambient/file-access-ambient-drain.subscription.descriptor.d.ts.map +1 -0
- package/dist/ambient/file-access-ambient-drain.subscription.descriptor.js +27 -0
- package/dist/ambient/file-access-ambient-drain.subscription.descriptor.js.map +1 -0
- package/dist/ambient/file-access-ambient-fs.impl.d.ts +45 -0
- package/dist/ambient/file-access-ambient-fs.impl.d.ts.map +1 -0
- package/dist/ambient/file-access-ambient-fs.impl.js +243 -0
- package/dist/ambient/file-access-ambient-fs.impl.js.map +1 -0
- package/dist/ambient/file-access-ambient-fs.subscription.descriptor.d.ts +32 -0
- package/dist/ambient/file-access-ambient-fs.subscription.descriptor.d.ts.map +1 -0
- package/dist/ambient/file-access-ambient-fs.subscription.descriptor.js +39 -0
- package/dist/ambient/file-access-ambient-fs.subscription.descriptor.js.map +1 -0
- package/dist/ambient/file-access-ambient.impl.d.ts +32 -0
- package/dist/ambient/file-access-ambient.impl.d.ts.map +1 -0
- package/dist/ambient/file-access-ambient.impl.js +231 -0
- package/dist/ambient/file-access-ambient.impl.js.map +1 -0
- package/dist/ambient/file-access-ambient.subscription.descriptor.d.ts +31 -0
- package/dist/ambient/file-access-ambient.subscription.descriptor.d.ts.map +1 -0
- package/dist/ambient/file-access-ambient.subscription.descriptor.js +31 -0
- package/dist/ambient/file-access-ambient.subscription.descriptor.js.map +1 -0
- package/dist/ambient/file-access-shared.d.ts +48 -0
- package/dist/ambient/file-access-shared.d.ts.map +1 -0
- package/dist/ambient/file-access-shared.js +59 -0
- package/dist/ambient/file-access-shared.js.map +1 -0
- package/dist/ambient/message-transport.impl.d.ts +47 -0
- package/dist/ambient/message-transport.impl.d.ts.map +1 -0
- package/dist/ambient/message-transport.impl.js +300 -0
- package/dist/ambient/message-transport.impl.js.map +1 -0
- package/dist/ambient/pending-notices.d.ts +11 -0
- package/dist/ambient/pending-notices.d.ts.map +1 -0
- package/dist/ambient/pending-notices.js +24 -0
- package/dist/ambient/pending-notices.js.map +1 -0
- package/dist/ambient/subsystem-overlap.impl.d.ts +60 -0
- package/dist/ambient/subsystem-overlap.impl.d.ts.map +1 -0
- package/dist/ambient/subsystem-overlap.impl.js +127 -0
- package/dist/ambient/subsystem-overlap.impl.js.map +1 -0
- package/dist/cli/dev.external.hooks-install.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.hooks-install.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.hooks-install.descriptor.js +27 -0
- package/dist/cli/dev.external.hooks-install.descriptor.js.map +1 -0
- package/dist/cli/dev.external.hooks-install.impl.d.ts +9 -0
- package/dist/cli/dev.external.hooks-install.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.hooks-install.impl.js +57 -0
- package/dist/cli/dev.external.hooks-install.impl.js.map +1 -0
- package/dist/cli/dev.external.hooks-list.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.hooks-list.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.hooks-list.descriptor.js +16 -0
- package/dist/cli/dev.external.hooks-list.descriptor.js.map +1 -0
- package/dist/cli/dev.external.hooks-list.impl.d.ts +3 -0
- package/dist/cli/dev.external.hooks-list.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.hooks-list.impl.js +68 -0
- package/dist/cli/dev.external.hooks-list.impl.js.map +1 -0
- package/dist/cli/dev.external.hooks-uninstall.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.hooks-uninstall.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.hooks-uninstall.descriptor.js +30 -0
- package/dist/cli/dev.external.hooks-uninstall.descriptor.js.map +1 -0
- package/dist/cli/dev.external.hooks-uninstall.impl.d.ts +9 -0
- package/dist/cli/dev.external.hooks-uninstall.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.hooks-uninstall.impl.js +59 -0
- package/dist/cli/dev.external.hooks-uninstall.impl.js.map +1 -0
- package/dist/cli/dev.external.hooks.call.descriptor.d.ts +12 -0
- package/dist/cli/dev.external.hooks.call.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.hooks.call.descriptor.js +51 -0
- package/dist/cli/dev.external.hooks.call.descriptor.js.map +1 -0
- package/dist/cli/dev.external.hooks.call.impl.d.ts +6 -0
- package/dist/cli/dev.external.hooks.call.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.hooks.call.impl.js +162 -0
- package/dist/cli/dev.external.hooks.call.impl.js.map +1 -0
- package/dist/cli/dev.external.hooks.descriptor.d.ts +9 -0
- package/dist/cli/dev.external.hooks.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.hooks.descriptor.js +17 -0
- package/dist/cli/dev.external.hooks.descriptor.js.map +1 -0
- package/dist/cli/dev.external.launch.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.launch.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.launch.descriptor.js +31 -0
- package/dist/cli/dev.external.launch.descriptor.js.map +1 -0
- package/dist/cli/dev.external.launch.impl.d.ts +17 -0
- package/dist/cli/dev.external.launch.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.launch.impl.js +137 -0
- package/dist/cli/dev.external.launch.impl.js.map +1 -0
- package/dist/cli/dev.external.presets-apply.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.presets-apply.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.presets-apply.descriptor.js +36 -0
- package/dist/cli/dev.external.presets-apply.descriptor.js.map +1 -0
- package/dist/cli/dev.external.presets-apply.impl.d.ts +3 -0
- package/dist/cli/dev.external.presets-apply.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.presets-apply.impl.js +119 -0
- package/dist/cli/dev.external.presets-apply.impl.js.map +1 -0
- package/dist/cli/dev.external.presets-list.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.presets-list.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.presets-list.descriptor.js +21 -0
- package/dist/cli/dev.external.presets-list.descriptor.js.map +1 -0
- package/dist/cli/dev.external.presets-list.impl.d.ts +3 -0
- package/dist/cli/dev.external.presets-list.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.presets-list.impl.js +33 -0
- package/dist/cli/dev.external.presets-list.impl.js.map +1 -0
- package/dist/cli/dev.external.presets-show.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.presets-show.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.presets-show.descriptor.js +29 -0
- package/dist/cli/dev.external.presets-show.descriptor.js.map +1 -0
- package/dist/cli/dev.external.presets-show.impl.d.ts +7 -0
- package/dist/cli/dev.external.presets-show.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.presets-show.impl.js +39 -0
- package/dist/cli/dev.external.presets-show.impl.js.map +1 -0
- package/dist/cli/dev.external.presets.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.presets.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.presets.descriptor.js +15 -0
- package/dist/cli/dev.external.presets.descriptor.js.map +1 -0
- package/dist/cli/dev.external.setup.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.setup.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.setup.descriptor.js +29 -0
- package/dist/cli/dev.external.setup.descriptor.js.map +1 -0
- package/dist/cli/dev.external.setup.impl.d.ts +3 -0
- package/dist/cli/dev.external.setup.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.setup.impl.js +129 -0
- package/dist/cli/dev.external.setup.impl.js.map +1 -0
- package/dist/cli/dev.external.skills-generate.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.skills-generate.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.skills-generate.descriptor.js +43 -0
- package/dist/cli/dev.external.skills-generate.descriptor.js.map +1 -0
- package/dist/cli/dev.external.skills-generate.impl.consumer.d.ts +3 -0
- package/dist/cli/dev.external.skills-generate.impl.consumer.d.ts.map +1 -0
- package/dist/cli/dev.external.skills-generate.impl.consumer.js +140 -0
- package/dist/cli/dev.external.skills-generate.impl.consumer.js.map +1 -0
- package/dist/cli/dev.external.skills.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.skills.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.skills.descriptor.js +15 -0
- package/dist/cli/dev.external.skills.descriptor.js.map +1 -0
- package/dist/cli/dev.external.status.descriptor.d.ts +7 -0
- package/dist/cli/dev.external.status.descriptor.d.ts.map +1 -0
- package/dist/cli/dev.external.status.descriptor.js +16 -0
- package/dist/cli/dev.external.status.descriptor.js.map +1 -0
- package/dist/cli/dev.external.status.impl.d.ts +24 -0
- package/dist/cli/dev.external.status.impl.d.ts.map +1 -0
- package/dist/cli/dev.external.status.impl.js +165 -0
- package/dist/cli/dev.external.status.impl.js.map +1 -0
- package/dist/cli/launch/launch.cli-group.descriptor.d.ts +4 -0
- package/dist/cli/launch/launch.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/launch/launch.cli-group.descriptor.js +12 -0
- package/dist/cli/launch/launch.cli-group.descriptor.js.map +1 -0
- package/dist/cli/launch/launch.harness.impl.consumer.d.ts +6 -0
- package/dist/cli/launch/launch.harness.impl.consumer.d.ts.map +1 -0
- package/dist/cli/launch/launch.harness.impl.consumer.js +55 -0
- package/dist/cli/launch/launch.harness.impl.consumer.js.map +1 -0
- package/dist/cli/launch/launch.list.descriptor.d.ts +4 -0
- package/dist/cli/launch/launch.list.descriptor.d.ts.map +1 -0
- package/dist/cli/launch/launch.list.descriptor.js +13 -0
- package/dist/cli/launch/launch.list.descriptor.js.map +1 -0
- package/dist/cli/launch/launch.list.impl.consumer.d.ts +7 -0
- package/dist/cli/launch/launch.list.impl.consumer.d.ts.map +1 -0
- package/dist/cli/launch/launch.list.impl.consumer.js +26 -0
- package/dist/cli/launch/launch.list.impl.consumer.js.map +1 -0
- package/dist/cli/launch/launch.logs.descriptor.d.ts +4 -0
- package/dist/cli/launch/launch.logs.descriptor.d.ts.map +1 -0
- package/dist/cli/launch/launch.logs.descriptor.js +30 -0
- package/dist/cli/launch/launch.logs.descriptor.js.map +1 -0
- package/dist/cli/launch/launch.logs.impl.consumer.d.ts +7 -0
- package/dist/cli/launch/launch.logs.impl.consumer.d.ts.map +1 -0
- package/dist/cli/launch/launch.logs.impl.consumer.js +78 -0
- package/dist/cli/launch/launch.logs.impl.consumer.js.map +1 -0
- package/dist/cli/launch/launch.status.descriptor.d.ts +4 -0
- package/dist/cli/launch/launch.status.descriptor.d.ts.map +1 -0
- package/dist/cli/launch/launch.status.descriptor.js +21 -0
- package/dist/cli/launch/launch.status.descriptor.js.map +1 -0
- package/dist/cli/launch/launch.status.impl.consumer.d.ts +7 -0
- package/dist/cli/launch/launch.status.impl.consumer.d.ts.map +1 -0
- package/dist/cli/launch/launch.status.impl.consumer.js +69 -0
- package/dist/cli/launch/launch.status.impl.consumer.js.map +1 -0
- package/dist/cli/plugin.d.ts +4 -0
- package/dist/cli/plugin.d.ts.map +1 -0
- package/dist/cli/plugin.js +76 -0
- package/dist/cli/plugin.js.map +1 -0
- package/dist/cli/runtime-projection.d.ts +34 -0
- package/dist/cli/runtime-projection.d.ts.map +1 -0
- package/dist/cli/runtime-projection.js +272 -0
- package/dist/cli/runtime-projection.js.map +1 -0
- package/dist/cli/stdio.d.ts +15 -0
- package/dist/cli/stdio.d.ts.map +1 -0
- package/dist/cli/stdio.js +15 -0
- package/dist/cli/stdio.js.map +1 -0
- package/dist/cli/who.descriptor.d.ts +16 -0
- package/dist/cli/who.descriptor.d.ts.map +1 -0
- package/dist/cli/who.descriptor.js +38 -0
- package/dist/cli/who.descriptor.js.map +1 -0
- package/dist/cli/who.impl.d.ts +16 -0
- package/dist/cli/who.impl.d.ts.map +1 -0
- package/dist/cli/who.impl.js +127 -0
- package/dist/cli/who.impl.js.map +1 -0
- package/dist/client/external-client.d.ts +423 -0
- package/dist/client/external-client.d.ts.map +1 -0
- package/dist/client/external-client.js +979 -0
- package/dist/client/external-client.js.map +1 -0
- package/dist/client/index.d.ts +9 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +8 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/lifecycle.d.ts +25 -0
- package/dist/client/lifecycle.d.ts.map +1 -0
- package/dist/client/lifecycle.js +134 -0
- package/dist/client/lifecycle.js.map +1 -0
- package/dist/config/binary-detection.d.ts +26 -0
- package/dist/config/binary-detection.d.ts.map +1 -0
- package/dist/config/binary-detection.js +105 -0
- package/dist/config/binary-detection.js.map +1 -0
- package/dist/config/external.config.descriptor.d.ts +11 -0
- package/dist/config/external.config.descriptor.d.ts.map +1 -0
- package/dist/config/external.config.descriptor.js +41 -0
- package/dist/config/external.config.descriptor.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +10 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/manifest.d.ts +4696 -0
- package/dist/config/manifest.d.ts.map +1 -0
- package/dist/config/manifest.js +210 -0
- package/dist/config/manifest.js.map +1 -0
- package/dist/config/read.d.ts +13 -0
- package/dist/config/read.d.ts.map +1 -0
- package/dist/config/read.js +20 -0
- package/dist/config/read.js.map +1 -0
- package/dist/consumer.d.ts +15 -0
- package/dist/consumer.d.ts.map +1 -0
- package/dist/consumer.js +15 -0
- package/dist/consumer.js.map +1 -0
- package/dist/detection/base.d.ts +71 -0
- package/dist/detection/base.d.ts.map +1 -0
- package/dist/detection/base.js +115 -0
- package/dist/detection/base.js.map +1 -0
- package/dist/detection/command-probe.d.ts +43 -0
- package/dist/detection/command-probe.d.ts.map +1 -0
- package/dist/detection/command-probe.js +75 -0
- package/dist/detection/command-probe.js.map +1 -0
- package/dist/detection/config-document.d.ts +31 -0
- package/dist/detection/config-document.d.ts.map +1 -0
- package/dist/detection/config-document.js +138 -0
- package/dist/detection/config-document.js.map +1 -0
- package/dist/detection/index.d.ts +11 -0
- package/dist/detection/index.d.ts.map +1 -0
- package/dist/detection/index.js +13 -0
- package/dist/detection/index.js.map +1 -0
- package/dist/detection/manifest-detector-helpers.d.ts +45 -0
- package/dist/detection/manifest-detector-helpers.d.ts.map +1 -0
- package/dist/detection/manifest-detector-helpers.js +198 -0
- package/dist/detection/manifest-detector-helpers.js.map +1 -0
- package/dist/detection/manifest-detector.d.ts +34 -0
- package/dist/detection/manifest-detector.d.ts.map +1 -0
- package/dist/detection/manifest-detector.js +123 -0
- package/dist/detection/manifest-detector.js.map +1 -0
- package/dist/detection/service.d.ts +99 -0
- package/dist/detection/service.d.ts.map +1 -0
- package/dist/detection/service.js +124 -0
- package/dist/detection/service.js.map +1 -0
- package/dist/detection/types.d.ts +113 -0
- package/dist/detection/types.d.ts.map +1 -0
- package/dist/detection/types.js +30 -0
- package/dist/detection/types.js.map +1 -0
- package/dist/dev.external.descriptor.d.ts +9 -0
- package/dist/dev.external.descriptor.d.ts.map +1 -0
- package/dist/dev.external.descriptor.js +17 -0
- package/dist/dev.external.descriptor.js.map +1 -0
- package/dist/docs/external.ambient.docs.descriptor.d.ts +4 -0
- package/dist/docs/external.ambient.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/external.ambient.docs.descriptor.js +109 -0
- package/dist/docs/external.ambient.docs.descriptor.js.map +1 -0
- package/dist/external-adapter/descriptors.d.ts +133 -0
- package/dist/external-adapter/descriptors.d.ts.map +1 -0
- package/dist/external-adapter/descriptors.js +70 -0
- package/dist/external-adapter/descriptors.js.map +1 -0
- package/dist/external-adapter/implementations.d.ts +13 -0
- package/dist/external-adapter/implementations.d.ts.map +1 -0
- package/dist/external-adapter/implementations.js +97 -0
- package/dist/external-adapter/implementations.js.map +1 -0
- package/dist/external-adapter/schemas/adapter.d.ts +66 -0
- package/dist/external-adapter/schemas/adapter.d.ts.map +1 -0
- package/dist/external-adapter/schemas/adapter.js +55 -0
- package/dist/external-adapter/schemas/adapter.js.map +1 -0
- package/dist/external-tool/impl/default-tool.d.ts +201 -0
- package/dist/external-tool/impl/default-tool.d.ts.map +1 -0
- package/dist/external-tool/impl/default-tool.js +243 -0
- package/dist/external-tool/impl/default-tool.js.map +1 -0
- package/dist/external-tool/interfaces/tool.d.ts +102 -0
- package/dist/external-tool/interfaces/tool.d.ts.map +1 -0
- package/dist/external-tool/interfaces/tool.js +2 -0
- package/dist/external-tool/interfaces/tool.js.map +1 -0
- package/dist/external-tool/loader.d.ts +5 -0
- package/dist/external-tool/loader.d.ts.map +1 -0
- package/dist/external-tool/loader.js +8 -0
- package/dist/external-tool/loader.js.map +1 -0
- package/dist/external-tool/path-template.d.ts +54 -0
- package/dist/external-tool/path-template.d.ts.map +1 -0
- package/dist/external-tool/path-template.js +65 -0
- package/dist/external-tool/path-template.js.map +1 -0
- package/dist/external-tool/runtime.d.ts +38 -0
- package/dist/external-tool/runtime.d.ts.map +1 -0
- package/dist/external-tool/runtime.js +89 -0
- package/dist/external-tool/runtime.js.map +1 -0
- package/dist/external-tool/schemas/tool.d.ts +269 -0
- package/dist/external-tool/schemas/tool.d.ts.map +1 -0
- package/dist/external-tool/schemas/tool.js +77 -0
- package/dist/external-tool/schemas/tool.js.map +1 -0
- package/dist/external.plugin.d.ts +4 -0
- package/dist/external.plugin.d.ts.map +1 -0
- package/dist/external.plugin.js +184 -0
- package/dist/external.plugin.js.map +1 -0
- package/dist/harness/agent-host-scope.d.ts +18 -0
- package/dist/harness/agent-host-scope.d.ts.map +1 -0
- package/dist/harness/agent-host-scope.js +30 -0
- package/dist/harness/agent-host-scope.js.map +1 -0
- package/dist/harness/agent-host-settings.d.ts +6 -0
- package/dist/harness/agent-host-settings.d.ts.map +1 -0
- package/dist/harness/agent-host-settings.js +18 -0
- package/dist/harness/agent-host-settings.js.map +1 -0
- package/dist/harness/agent-host.config.descriptor.d.ts +6 -0
- package/dist/harness/agent-host.config.descriptor.d.ts.map +1 -0
- package/dist/harness/agent-host.config.descriptor.js +22 -0
- package/dist/harness/agent-host.config.descriptor.js.map +1 -0
- package/dist/harness/agent-host.d.ts +98 -0
- package/dist/harness/agent-host.d.ts.map +1 -0
- package/dist/harness/agent-host.js +201 -0
- package/dist/harness/agent-host.js.map +1 -0
- package/dist/harness/command-arguments.d.ts +54 -0
- package/dist/harness/command-arguments.d.ts.map +1 -0
- package/dist/harness/command-arguments.js +113 -0
- package/dist/harness/command-arguments.js.map +1 -0
- package/dist/harness/command-execution.d.ts +20 -0
- package/dist/harness/command-execution.d.ts.map +1 -0
- package/dist/harness/command-execution.js +78 -0
- package/dist/harness/command-execution.js.map +1 -0
- package/dist/harness/command-output.d.ts +59 -0
- package/dist/harness/command-output.d.ts.map +1 -0
- package/dist/harness/command-output.js +173 -0
- package/dist/harness/command-output.js.map +1 -0
- package/dist/harness/execution-queue.d.ts +14 -0
- package/dist/harness/execution-queue.d.ts.map +1 -0
- package/dist/harness/execution-queue.js +23 -0
- package/dist/harness/execution-queue.js.map +1 -0
- package/dist/harness/index.d.ts +15 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +12 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/harness/live-tools.d.ts +130 -0
- package/dist/harness/live-tools.d.ts.map +1 -0
- package/dist/harness/live-tools.js +257 -0
- package/dist/harness/live-tools.js.map +1 -0
- package/dist/harness/managed-block.d.ts +34 -0
- package/dist/harness/managed-block.d.ts.map +1 -0
- package/dist/harness/managed-block.js +66 -0
- package/dist/harness/managed-block.js.map +1 -0
- package/dist/harness/markers.d.ts +22 -0
- package/dist/harness/markers.d.ts.map +1 -0
- package/dist/harness/markers.js +28 -0
- package/dist/harness/markers.js.map +1 -0
- package/dist/harness/node.d.ts +6 -0
- package/dist/harness/node.d.ts.map +1 -0
- package/dist/harness/node.js +6 -0
- package/dist/harness/node.js.map +1 -0
- package/dist/harness/prompt.d.ts +54 -0
- package/dist/harness/prompt.d.ts.map +1 -0
- package/dist/harness/prompt.js +78 -0
- package/dist/harness/prompt.js.map +1 -0
- package/dist/harness/prompts/index.d.ts +113 -0
- package/dist/harness/prompts/index.d.ts.map +1 -0
- package/dist/harness/prompts/index.js +5 -0
- package/dist/harness/prompts/index.js.map +1 -0
- package/dist/harness/prompts/static-briefing-note.prompt.descriptor.d.ts +114 -0
- package/dist/harness/prompts/static-briefing-note.prompt.descriptor.d.ts.map +1 -0
- package/dist/harness/prompts/static-briefing-note.prompt.descriptor.js +17 -0
- package/dist/harness/prompts/static-briefing-note.prompt.descriptor.js.map +1 -0
- package/dist/harness/prompts/system-prompt.prompt.descriptor.d.ts +114 -0
- package/dist/harness/prompts/system-prompt.prompt.descriptor.d.ts.map +1 -0
- package/dist/harness/prompts/system-prompt.prompt.descriptor.js +35 -0
- package/dist/harness/prompts/system-prompt.prompt.descriptor.js.map +1 -0
- package/dist/harness/role-prompt.d.ts +12 -0
- package/dist/harness/role-prompt.d.ts.map +1 -0
- package/dist/harness/role-prompt.js +24 -0
- package/dist/harness/role-prompt.js.map +1 -0
- package/dist/harness/runtime-transport.d.ts +89 -0
- package/dist/harness/runtime-transport.d.ts.map +1 -0
- package/dist/harness/runtime-transport.js +356 -0
- package/dist/harness/runtime-transport.js.map +1 -0
- package/dist/harness/schemas/agent-host.d.ts +142 -0
- package/dist/harness/schemas/agent-host.d.ts.map +1 -0
- package/dist/harness/schemas/agent-host.js +26 -0
- package/dist/harness/schemas/agent-host.js.map +1 -0
- package/dist/harness/stdio-sink.d.ts +35 -0
- package/dist/harness/stdio-sink.d.ts.map +1 -0
- package/dist/harness/stdio-sink.js +34 -0
- package/dist/harness/stdio-sink.js.map +1 -0
- package/dist/harness/strip-undefined.d.ts +9 -0
- package/dist/harness/strip-undefined.d.ts.map +1 -0
- package/dist/harness/strip-undefined.js +11 -0
- package/dist/harness/strip-undefined.js.map +1 -0
- package/dist/harness/tool-projection.d.ts +130 -0
- package/dist/harness/tool-projection.d.ts.map +1 -0
- package/dist/harness/tool-projection.js +195 -0
- package/dist/harness/tool-projection.js.map +1 -0
- package/dist/harness/validation-errors.d.ts +11 -0
- package/dist/harness/validation-errors.d.ts.map +1 -0
- package/dist/harness/validation-errors.js +32 -0
- package/dist/harness/validation-errors.js.map +1 -0
- package/dist/hooks/bounded-payload.d.ts +39 -0
- package/dist/hooks/bounded-payload.d.ts.map +1 -0
- package/dist/hooks/bounded-payload.js +70 -0
- package/dist/hooks/bounded-payload.js.map +1 -0
- package/dist/hooks/bridge.d.ts +34 -0
- package/dist/hooks/bridge.d.ts.map +1 -0
- package/dist/hooks/bridge.js +86 -0
- package/dist/hooks/bridge.js.map +1 -0
- package/dist/hooks/call.d.ts +298 -0
- package/dist/hooks/call.d.ts.map +1 -0
- package/dist/hooks/call.js +1550 -0
- package/dist/hooks/call.js.map +1 -0
- package/dist/hooks/consumer.d.ts +7 -0
- package/dist/hooks/consumer.d.ts.map +1 -0
- package/dist/hooks/consumer.js +5 -0
- package/dist/hooks/consumer.js.map +1 -0
- package/dist/hooks/continuity.d.ts +155 -0
- package/dist/hooks/continuity.d.ts.map +1 -0
- package/dist/hooks/continuity.js +187 -0
- package/dist/hooks/continuity.js.map +1 -0
- package/dist/hooks/dispatch-script.d.ts +27 -0
- package/dist/hooks/dispatch-script.d.ts.map +1 -0
- package/dist/hooks/dispatch-script.js +77 -0
- package/dist/hooks/dispatch-script.js.map +1 -0
- package/dist/hooks/edit-targets.d.ts +23 -0
- package/dist/hooks/edit-targets.d.ts.map +1 -0
- package/dist/hooks/edit-targets.js +74 -0
- package/dist/hooks/edit-targets.js.map +1 -0
- package/dist/hooks/hook-delivery.d.ts +21 -0
- package/dist/hooks/hook-delivery.d.ts.map +1 -0
- package/dist/hooks/hook-delivery.js +87 -0
- package/dist/hooks/hook-delivery.js.map +1 -0
- package/dist/hooks/hook-seat.d.ts +37 -0
- package/dist/hooks/hook-seat.d.ts.map +1 -0
- package/dist/hooks/hook-seat.js +59 -0
- package/dist/hooks/hook-seat.js.map +1 -0
- package/dist/hooks/index.d.ts +9 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +8 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/native-edit-guard.d.ts +25 -0
- package/dist/hooks/native-edit-guard.d.ts.map +1 -0
- package/dist/hooks/native-edit-guard.js +33 -0
- package/dist/hooks/native-edit-guard.js.map +1 -0
- package/dist/hooks/native-edit-locks.d.ts +54 -0
- package/dist/hooks/native-edit-locks.d.ts.map +1 -0
- package/dist/hooks/native-edit-locks.js +98 -0
- package/dist/hooks/native-edit-locks.js.map +1 -0
- package/dist/hooks/resolve-event.d.ts +13 -0
- package/dist/hooks/resolve-event.d.ts.map +1 -0
- package/dist/hooks/resolve-event.js +32 -0
- package/dist/hooks/resolve-event.js.map +1 -0
- package/dist/hooks/review-state.d.ts +22 -0
- package/dist/hooks/review-state.d.ts.map +1 -0
- package/dist/hooks/review-state.js +57 -0
- package/dist/hooks/review-state.js.map +1 -0
- package/dist/hooks/runtime.d.ts +146 -0
- package/dist/hooks/runtime.d.ts.map +1 -0
- package/dist/hooks/runtime.js +83 -0
- package/dist/hooks/runtime.js.map +1 -0
- package/dist/hooks/self-review.d.ts +14 -0
- package/dist/hooks/self-review.d.ts.map +1 -0
- package/dist/hooks/self-review.js +28 -0
- package/dist/hooks/self-review.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/ingest/logging/subagent-completions.output.descriptor.d.ts +4 -0
- package/dist/ingest/logging/subagent-completions.output.descriptor.d.ts.map +1 -0
- package/dist/ingest/logging/subagent-completions.output.descriptor.js +22 -0
- package/dist/ingest/logging/subagent-completions.output.descriptor.js.map +1 -0
- package/dist/ingest/logging/success-patterns.output.descriptor.d.ts +4 -0
- package/dist/ingest/logging/success-patterns.output.descriptor.d.ts.map +1 -0
- package/dist/ingest/logging/success-patterns.output.descriptor.js +22 -0
- package/dist/ingest/logging/success-patterns.output.descriptor.js.map +1 -0
- package/dist/ingest/logging/tool-use.output.descriptor.d.ts +4 -0
- package/dist/ingest/logging/tool-use.output.descriptor.d.ts.map +1 -0
- package/dist/ingest/logging/tool-use.output.descriptor.js +22 -0
- package/dist/ingest/logging/tool-use.output.descriptor.js.map +1 -0
- package/dist/ingest/resolve-log-paths.d.ts +16 -0
- package/dist/ingest/resolve-log-paths.d.ts.map +1 -0
- package/dist/ingest/resolve-log-paths.js +43 -0
- package/dist/ingest/resolve-log-paths.js.map +1 -0
- package/dist/ingest/schemas.d.ts +43 -0
- package/dist/ingest/schemas.d.ts.map +1 -0
- package/dist/ingest/schemas.js +46 -0
- package/dist/ingest/schemas.js.map +1 -0
- package/dist/jsonrpc/client.d.ts +129 -0
- package/dist/jsonrpc/client.d.ts.map +1 -0
- package/dist/jsonrpc/client.js +553 -0
- package/dist/jsonrpc/client.js.map +1 -0
- package/dist/jsonrpc/envelope.d.ts +37 -0
- package/dist/jsonrpc/envelope.d.ts.map +1 -0
- package/dist/jsonrpc/envelope.js +46 -0
- package/dist/jsonrpc/envelope.js.map +1 -0
- package/dist/jsonrpc/errors.d.ts +28 -0
- package/dist/jsonrpc/errors.d.ts.map +1 -0
- package/dist/jsonrpc/errors.js +110 -0
- package/dist/jsonrpc/errors.js.map +1 -0
- package/dist/jsonrpc/framing.d.ts +35 -0
- package/dist/jsonrpc/framing.d.ts.map +1 -0
- package/dist/jsonrpc/framing.js +134 -0
- package/dist/jsonrpc/framing.js.map +1 -0
- package/dist/jsonrpc/index.d.ts +11 -0
- package/dist/jsonrpc/index.d.ts.map +1 -0
- package/dist/jsonrpc/index.js +11 -0
- package/dist/jsonrpc/index.js.map +1 -0
- package/dist/jsonrpc/outcome.d.ts +25 -0
- package/dist/jsonrpc/outcome.d.ts.map +1 -0
- package/dist/jsonrpc/outcome.js +32 -0
- package/dist/jsonrpc/outcome.js.map +1 -0
- package/dist/jsonrpc/queue.d.ts +30 -0
- package/dist/jsonrpc/queue.d.ts.map +1 -0
- package/dist/jsonrpc/queue.js +113 -0
- package/dist/jsonrpc/queue.js.map +1 -0
- package/dist/jsonrpc/schemas.d.ts +74 -0
- package/dist/jsonrpc/schemas.d.ts.map +1 -0
- package/dist/jsonrpc/schemas.js +65 -0
- package/dist/jsonrpc/schemas.js.map +1 -0
- package/dist/launch/consumer/execute.d.ts +5 -0
- package/dist/launch/consumer/execute.d.ts.map +1 -0
- package/dist/launch/consumer/execute.js +358 -0
- package/dist/launch/consumer/execute.js.map +1 -0
- package/dist/launch/consumer/paths.d.ts +15 -0
- package/dist/launch/consumer/paths.d.ts.map +1 -0
- package/dist/launch/consumer/paths.js +18 -0
- package/dist/launch/consumer/paths.js.map +1 -0
- package/dist/launch/consumer/prepare.d.ts +25 -0
- package/dist/launch/consumer/prepare.d.ts.map +1 -0
- package/dist/launch/consumer/prepare.js +158 -0
- package/dist/launch/consumer/prepare.js.map +1 -0
- package/dist/launch/consumer/prompt.d.ts +18 -0
- package/dist/launch/consumer/prompt.d.ts.map +1 -0
- package/dist/launch/consumer/prompt.js +45 -0
- package/dist/launch/consumer/prompt.js.map +1 -0
- package/dist/launch/consumer/rotate-logs.d.ts +23 -0
- package/dist/launch/consumer/rotate-logs.d.ts.map +1 -0
- package/dist/launch/consumer/rotate-logs.js +43 -0
- package/dist/launch/consumer/rotate-logs.js.map +1 -0
- package/dist/launch/consumer/spawn.d.ts +38 -0
- package/dist/launch/consumer/spawn.d.ts.map +1 -0
- package/dist/launch/consumer/spawn.js +82 -0
- package/dist/launch/consumer/spawn.js.map +1 -0
- package/dist/launch/consumer/state-rows.d.ts +41 -0
- package/dist/launch/consumer/state-rows.d.ts.map +1 -0
- package/dist/launch/consumer/state-rows.js +78 -0
- package/dist/launch/consumer/state-rows.js.map +1 -0
- package/dist/launch/consumer/store.d.ts +139 -0
- package/dist/launch/consumer/store.d.ts.map +1 -0
- package/dist/launch/consumer/store.js +495 -0
- package/dist/launch/consumer/store.js.map +1 -0
- package/dist/launch/index.d.ts +5 -0
- package/dist/launch/index.d.ts.map +1 -0
- package/dist/launch/index.js +3 -0
- package/dist/launch/index.js.map +1 -0
- package/dist/launch/resolve.d.ts +9 -0
- package/dist/launch/resolve.d.ts.map +1 -0
- package/dist/launch/resolve.js +139 -0
- package/dist/launch/resolve.js.map +1 -0
- package/dist/launch/schemas.d.ts +289 -0
- package/dist/launch/schemas.d.ts.map +1 -0
- package/dist/launch/schemas.js +154 -0
- package/dist/launch/schemas.js.map +1 -0
- package/dist/launch/task-executor/external-harness.descriptor.d.ts +6 -0
- package/dist/launch/task-executor/external-harness.descriptor.d.ts.map +1 -0
- package/dist/launch/task-executor/external-harness.descriptor.js +13 -0
- package/dist/launch/task-executor/external-harness.descriptor.js.map +1 -0
- package/dist/launch/task-executor/external-harness.impl.consumer.d.ts +17 -0
- package/dist/launch/task-executor/external-harness.impl.consumer.d.ts.map +1 -0
- package/dist/launch/task-executor/external-harness.impl.consumer.js +151 -0
- package/dist/launch/task-executor/external-harness.impl.consumer.js.map +1 -0
- package/dist/launch/task-executor/isolated-workspace.d.ts +3 -0
- package/dist/launch/task-executor/isolated-workspace.d.ts.map +1 -0
- package/dist/launch/task-executor/isolated-workspace.js +3 -0
- package/dist/launch/task-executor/isolated-workspace.js.map +1 -0
- package/dist/launch/task-executor/session-locks.d.ts +28 -0
- package/dist/launch/task-executor/session-locks.d.ts.map +1 -0
- package/dist/launch/task-executor/session-locks.js +50 -0
- package/dist/launch/task-executor/session-locks.js.map +1 -0
- package/dist/pack/adapter-codegen.d.ts +38 -0
- package/dist/pack/adapter-codegen.d.ts.map +1 -0
- package/dist/pack/adapter-codegen.js +70 -0
- package/dist/pack/adapter-codegen.js.map +1 -0
- package/dist/pack/build.d.ts +48 -0
- package/dist/pack/build.d.ts.map +1 -0
- package/dist/pack/build.js +171 -0
- package/dist/pack/build.js.map +1 -0
- package/dist/pack/emitters/hooks.d.ts +14 -0
- package/dist/pack/emitters/hooks.d.ts.map +1 -0
- package/dist/pack/emitters/hooks.js +15 -0
- package/dist/pack/emitters/hooks.js.map +1 -0
- package/dist/pack/emitters/json.d.ts +10 -0
- package/dist/pack/emitters/json.d.ts.map +1 -0
- package/dist/pack/emitters/json.js +17 -0
- package/dist/pack/emitters/json.js.map +1 -0
- package/dist/pack/emitters/registry.d.ts +22 -0
- package/dist/pack/emitters/registry.d.ts.map +1 -0
- package/dist/pack/emitters/registry.js +38 -0
- package/dist/pack/emitters/registry.js.map +1 -0
- package/dist/pack/emitters/toml.d.ts +8 -0
- package/dist/pack/emitters/toml.d.ts.map +1 -0
- package/dist/pack/emitters/toml.js +28 -0
- package/dist/pack/emitters/toml.js.map +1 -0
- package/dist/pack/emitters/yaml.d.ts +8 -0
- package/dist/pack/emitters/yaml.d.ts.map +1 -0
- package/dist/pack/emitters/yaml.js +27 -0
- package/dist/pack/emitters/yaml.js.map +1 -0
- package/dist/pack/index.d.ts +11 -0
- package/dist/pack/index.d.ts.map +1 -0
- package/dist/pack/index.js +11 -0
- package/dist/pack/index.js.map +1 -0
- package/dist/pack/mcp.d.ts +28 -0
- package/dist/pack/mcp.d.ts.map +1 -0
- package/dist/pack/mcp.js +70 -0
- package/dist/pack/mcp.js.map +1 -0
- package/dist/pack/persist.d.ts +28 -0
- package/dist/pack/persist.d.ts.map +1 -0
- package/dist/pack/persist.js +35 -0
- package/dist/pack/persist.js.map +1 -0
- package/dist/pack/schema.d.ts +126 -0
- package/dist/pack/schema.d.ts.map +1 -0
- package/dist/pack/schema.js +56 -0
- package/dist/pack/schema.js.map +1 -0
- package/dist/plugins/index.d.ts +512 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +25 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/installers/config-file.d.ts +21 -0
- package/dist/plugins/installers/config-file.d.ts.map +1 -0
- package/dist/plugins/installers/config-file.js +48 -0
- package/dist/plugins/installers/config-file.js.map +1 -0
- package/dist/plugins/installers/config-value.d.ts +35 -0
- package/dist/plugins/installers/config-value.d.ts.map +1 -0
- package/dist/plugins/installers/config-value.js +52 -0
- package/dist/plugins/installers/config-value.js.map +1 -0
- package/dist/plugins/installers/hooks/index.d.ts +9 -0
- package/dist/plugins/installers/hooks/index.d.ts.map +1 -0
- package/dist/plugins/installers/hooks/index.js +12 -0
- package/dist/plugins/installers/hooks/index.js.map +1 -0
- package/dist/plugins/installers/hooks/scoped-paths.d.ts +24 -0
- package/dist/plugins/installers/hooks/scoped-paths.d.ts.map +1 -0
- package/dist/plugins/installers/hooks/scoped-paths.js +80 -0
- package/dist/plugins/installers/hooks/scoped-paths.js.map +1 -0
- package/dist/plugins/installers/hooks/settings-registration.d.ts +79 -0
- package/dist/plugins/installers/hooks/settings-registration.d.ts.map +1 -0
- package/dist/plugins/installers/hooks/settings-registration.js +125 -0
- package/dist/plugins/installers/hooks/settings-registration.js.map +1 -0
- package/dist/plugins/installers/hooks/shell-installer.d.ts +21 -0
- package/dist/plugins/installers/hooks/shell-installer.d.ts.map +1 -0
- package/dist/plugins/installers/hooks/shell-installer.js +298 -0
- package/dist/plugins/installers/hooks/shell-installer.js.map +1 -0
- package/dist/plugins/installers/hooks/uninstall-backup.d.ts +19 -0
- package/dist/plugins/installers/hooks/uninstall-backup.d.ts.map +1 -0
- package/dist/plugins/installers/hooks/uninstall-backup.js +20 -0
- package/dist/plugins/installers/hooks/uninstall-backup.js.map +1 -0
- package/dist/plugins/installers/index.d.ts +58 -0
- package/dist/plugins/installers/index.d.ts.map +1 -0
- package/dist/plugins/installers/index.js +303 -0
- package/dist/plugins/installers/index.js.map +1 -0
- package/dist/plugins/installers/mcp/environment.d.ts +180 -0
- package/dist/plugins/installers/mcp/environment.d.ts.map +1 -0
- package/dist/plugins/installers/mcp/environment.js +314 -0
- package/dist/plugins/installers/mcp/environment.js.map +1 -0
- package/dist/plugins/installers/mcp/index.d.ts +9 -0
- package/dist/plugins/installers/mcp/index.d.ts.map +1 -0
- package/dist/plugins/installers/mcp/index.js +11 -0
- package/dist/plugins/installers/mcp/index.js.map +1 -0
- package/dist/plugins/installers/mcp/json-installer.d.ts +18 -0
- package/dist/plugins/installers/mcp/json-installer.d.ts.map +1 -0
- package/dist/plugins/installers/mcp/json-installer.js +155 -0
- package/dist/plugins/installers/mcp/json-installer.js.map +1 -0
- package/dist/plugins/installers/mcp/json-paths.d.ts +13 -0
- package/dist/plugins/installers/mcp/json-paths.d.ts.map +1 -0
- package/dist/plugins/installers/mcp/json-paths.js +130 -0
- package/dist/plugins/installers/mcp/json-paths.js.map +1 -0
- package/dist/plugins/installers/mcp/serve-identity.d.ts +19 -0
- package/dist/plugins/installers/mcp/serve-identity.d.ts.map +1 -0
- package/dist/plugins/installers/mcp/serve-identity.js +31 -0
- package/dist/plugins/installers/mcp/serve-identity.js.map +1 -0
- package/dist/plugins/installers/mcp/server-config.d.ts +20 -0
- package/dist/plugins/installers/mcp/server-config.d.ts.map +1 -0
- package/dist/plugins/installers/mcp/server-config.js +64 -0
- package/dist/plugins/installers/mcp/server-config.js.map +1 -0
- package/dist/plugins/installers/mcp/toml-installer.d.ts +41 -0
- package/dist/plugins/installers/mcp/toml-installer.d.ts.map +1 -0
- package/dist/plugins/installers/mcp/toml-installer.js +407 -0
- package/dist/plugins/installers/mcp/toml-installer.js.map +1 -0
- package/dist/plugins/installers/mcp/yaml-installer.d.ts +22 -0
- package/dist/plugins/installers/mcp/yaml-installer.d.ts.map +1 -0
- package/dist/plugins/installers/mcp/yaml-installer.js +156 -0
- package/dist/plugins/installers/mcp/yaml-installer.js.map +1 -0
- package/dist/plugins/installers/runtime.d.ts +42 -0
- package/dist/plugins/installers/runtime.d.ts.map +1 -0
- package/dist/plugins/installers/runtime.js +56 -0
- package/dist/plugins/installers/runtime.js.map +1 -0
- package/dist/plugins/installers/types.d.ts +306 -0
- package/dist/plugins/installers/types.d.ts.map +1 -0
- package/dist/plugins/installers/types.js +40 -0
- package/dist/plugins/installers/types.js.map +1 -0
- package/dist/plugins/schemas/index.d.ts +6 -0
- package/dist/plugins/schemas/index.d.ts.map +1 -0
- package/dist/plugins/schemas/index.js +5 -0
- package/dist/plugins/schemas/index.js.map +1 -0
- package/dist/plugins/schemas/manifest.d.ts +527 -0
- package/dist/plugins/schemas/manifest.d.ts.map +1 -0
- package/dist/plugins/schemas/manifest.js +355 -0
- package/dist/plugins/schemas/manifest.js.map +1 -0
- package/dist/plugins/tools/index.d.ts +12 -0
- package/dist/plugins/tools/index.d.ts.map +1 -0
- package/dist/plugins/tools/index.js +19 -0
- package/dist/plugins/tools/index.js.map +1 -0
- package/dist/presets/executor.d.ts +20 -0
- package/dist/presets/executor.d.ts.map +1 -0
- package/dist/presets/executor.js +629 -0
- package/dist/presets/executor.js.map +1 -0
- package/dist/presets/file-backup.d.ts +66 -0
- package/dist/presets/file-backup.d.ts.map +1 -0
- package/dist/presets/file-backup.js +108 -0
- package/dist/presets/file-backup.js.map +1 -0
- package/dist/presets/index.d.ts +11 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +10 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/resolve.d.ts +32 -0
- package/dist/presets/resolve.d.ts.map +1 -0
- package/dist/presets/resolve.js +49 -0
- package/dist/presets/resolve.js.map +1 -0
- package/dist/presets/runtime.d.ts +21 -0
- package/dist/presets/runtime.d.ts.map +1 -0
- package/dist/presets/runtime.js +115 -0
- package/dist/presets/runtime.js.map +1 -0
- package/dist/projection/attestation.d.ts +43 -0
- package/dist/projection/attestation.d.ts.map +1 -0
- package/dist/projection/attestation.js +59 -0
- package/dist/projection/attestation.js.map +1 -0
- package/dist/runtime/agent-roster-provider.d.ts +75 -0
- package/dist/runtime/agent-roster-provider.d.ts.map +1 -0
- package/dist/runtime/agent-roster-provider.js +30 -0
- package/dist/runtime/agent-roster-provider.js.map +1 -0
- package/dist/runtime/external-surface-projector.d.ts +37 -0
- package/dist/runtime/external-surface-projector.d.ts.map +1 -0
- package/dist/runtime/external-surface-projector.js +21 -0
- package/dist/runtime/external-surface-projector.js.map +1 -0
- package/dist/runtime/lifecycle-task.d.ts +54 -0
- package/dist/runtime/lifecycle-task.d.ts.map +1 -0
- package/dist/runtime/lifecycle-task.js +106 -0
- package/dist/runtime/lifecycle-task.js.map +1 -0
- package/dist/runtime.d.ts +496 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +168 -0
- package/dist/runtime.js.map +1 -0
- package/dist/schemas/agent-message.d.ts +136 -0
- package/dist/schemas/agent-message.d.ts.map +1 -0
- package/dist/schemas/agent-message.js +131 -0
- package/dist/schemas/agent-message.js.map +1 -0
- package/dist/schemas/agent-roster.d.ts +50 -0
- package/dist/schemas/agent-roster.d.ts.map +1 -0
- package/dist/schemas/agent-roster.js +52 -0
- package/dist/schemas/agent-roster.js.map +1 -0
- package/dist/schemas/collision.d.ts +109 -0
- package/dist/schemas/collision.d.ts.map +1 -0
- package/dist/schemas/collision.js +71 -0
- package/dist/schemas/collision.js.map +1 -0
- package/dist/schemas/context-summary.d.ts +225 -0
- package/dist/schemas/context-summary.d.ts.map +1 -0
- package/dist/schemas/context-summary.js +117 -0
- package/dist/schemas/context-summary.js.map +1 -0
- package/dist/schemas/file-access.d.ts +176 -0
- package/dist/schemas/file-access.d.ts.map +1 -0
- package/dist/schemas/file-access.js +139 -0
- package/dist/schemas/file-access.js.map +1 -0
- package/dist/schemas/hooks.d.ts +170 -0
- package/dist/schemas/hooks.d.ts.map +1 -0
- package/dist/schemas/hooks.js +171 -0
- package/dist/schemas/hooks.js.map +1 -0
- package/dist/schemas/index.d.ts +19 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +17 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/path-identity.d.ts +44 -0
- package/dist/schemas/path-identity.d.ts.map +1 -0
- package/dist/schemas/path-identity.js +93 -0
- package/dist/schemas/path-identity.js.map +1 -0
- package/dist/schemas/pending-notice.d.ts +13 -0
- package/dist/schemas/pending-notice.d.ts.map +1 -0
- package/dist/schemas/pending-notice.js +5 -0
- package/dist/schemas/pending-notice.js.map +1 -0
- package/dist/schemas/presets.d.ts +1239 -0
- package/dist/schemas/presets.d.ts.map +1 -0
- package/dist/schemas/presets.js +270 -0
- package/dist/schemas/presets.js.map +1 -0
- package/dist/schemas/roster.d.ts +96 -0
- package/dist/schemas/roster.d.ts.map +1 -0
- package/dist/schemas/roster.js +310 -0
- package/dist/schemas/roster.js.map +1 -0
- package/dist/schemas/tiers.d.ts +95 -0
- package/dist/schemas/tiers.d.ts.map +1 -0
- package/dist/schemas/tiers.js +143 -0
- package/dist/schemas/tiers.js.map +1 -0
- package/dist/schemas/touch-identity.d.ts +25 -0
- package/dist/schemas/touch-identity.d.ts.map +1 -0
- package/dist/schemas/touch-identity.js +16 -0
- package/dist/schemas/touch-identity.js.map +1 -0
- package/dist/schemas/touch-projection.d.ts +157 -0
- package/dist/schemas/touch-projection.d.ts.map +1 -0
- package/dist/schemas/touch-projection.js +100 -0
- package/dist/schemas/touch-projection.js.map +1 -0
- package/dist/session-capability.d.ts +88 -0
- package/dist/session-capability.d.ts.map +1 -0
- package/dist/session-capability.js +28 -0
- package/dist/session-capability.js.map +1 -0
- package/dist/setup/index.d.ts +9 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +8 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/steps/detect-tools.d.ts +9 -0
- package/dist/setup/steps/detect-tools.d.ts.map +1 -0
- package/dist/setup/steps/detect-tools.js +120 -0
- package/dist/setup/steps/detect-tools.js.map +1 -0
- package/dist/setup/steps/index.d.ts +11 -0
- package/dist/setup/steps/index.d.ts.map +1 -0
- package/dist/setup/steps/index.js +11 -0
- package/dist/setup/steps/index.js.map +1 -0
- package/dist/setup/steps/install-helpers.d.ts +9 -0
- package/dist/setup/steps/install-helpers.d.ts.map +1 -0
- package/dist/setup/steps/install-helpers.js +29 -0
- package/dist/setup/steps/install-helpers.js.map +1 -0
- package/dist/setup/steps/install.d.ts +11 -0
- package/dist/setup/steps/install.d.ts.map +1 -0
- package/dist/setup/steps/install.js +143 -0
- package/dist/setup/steps/install.js.map +1 -0
- package/dist/setup/steps/select-location.d.ts +8 -0
- package/dist/setup/steps/select-location.d.ts.map +1 -0
- package/dist/setup/steps/select-location.js +55 -0
- package/dist/setup/steps/select-location.js.map +1 -0
- package/dist/setup/steps/select-targets.d.ts +8 -0
- package/dist/setup/steps/select-targets.d.ts.map +1 -0
- package/dist/setup/steps/select-targets.js +53 -0
- package/dist/setup/steps/select-targets.js.map +1 -0
- package/dist/setup/steps/select-tiers.d.ts +8 -0
- package/dist/setup/steps/select-tiers.d.ts.map +1 -0
- package/dist/setup/steps/select-tiers.js +124 -0
- package/dist/setup/steps/select-tiers.js.map +1 -0
- package/dist/setup/types.d.ts +128 -0
- package/dist/setup/types.d.ts.map +1 -0
- package/dist/setup/types.js +28 -0
- package/dist/setup/types.js.map +1 -0
- package/dist/setup/wizard.d.ts +25 -0
- package/dist/setup/wizard.d.ts.map +1 -0
- package/dist/setup/wizard.js +182 -0
- package/dist/setup/wizard.js.map +1 -0
- package/dist/storage/agent-message.record.descriptor.d.ts +43 -0
- package/dist/storage/agent-message.record.descriptor.d.ts.map +1 -0
- package/dist/storage/agent-message.record.descriptor.js +72 -0
- package/dist/storage/agent-message.record.descriptor.js.map +1 -0
- package/dist/storage/file-access.record.descriptor.d.ts +104 -0
- package/dist/storage/file-access.record.descriptor.d.ts.map +1 -0
- package/dist/storage/file-access.record.descriptor.js +370 -0
- package/dist/storage/file-access.record.descriptor.js.map +1 -0
- package/dist/storage/touch-identity.d.ts +43 -0
- package/dist/storage/touch-identity.d.ts.map +1 -0
- package/dist/storage/touch-identity.js +155 -0
- package/dist/storage/touch-identity.js.map +1 -0
- package/dist/svelte/external-svelte.plugin.d.ts +39 -0
- package/dist/svelte/external-svelte.plugin.d.ts.map +1 -0
- package/dist/svelte/external-svelte.plugin.js +25 -0
- package/dist/svelte/index.d.ts +11 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +10 -0
- package/dist/svelte/styles.css +8 -0
- package/dist/svelte/tool-widgets/ExternalToolCard.svelte +71 -0
- package/dist/svelte/tool-widgets/ExternalToolCard.svelte.d.ts +5 -0
- package/dist/svelte/tool-widgets/ExternalToolCard.svelte.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/index.d.ts +3 -0
- package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/index.js +2 -0
- package/dist/svelte/tool-widgets/summary.d.ts +27 -0
- package/dist/svelte/tool-widgets/summary.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/summary.js +198 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/unified/action-descriptors.d.ts +185 -0
- package/dist/tools/unified/action-descriptors.d.ts.map +1 -0
- package/dist/tools/unified/action-descriptors.js +10 -0
- package/dist/tools/unified/action-descriptors.js.map +1 -0
- package/dist/tools/unified/action-input.d.ts +7 -0
- package/dist/tools/unified/action-input.d.ts.map +1 -0
- package/dist/tools/unified/action-input.js +13 -0
- package/dist/tools/unified/action-input.js.map +1 -0
- package/dist/tools/unified/actions.d.ts +10 -0
- package/dist/tools/unified/actions.d.ts.map +1 -0
- package/dist/tools/unified/actions.js +26 -0
- package/dist/tools/unified/actions.js.map +1 -0
- package/dist/tools/unified/external.descriptor.d.ts +30 -0
- package/dist/tools/unified/external.descriptor.d.ts.map +1 -0
- package/dist/tools/unified/external.descriptor.js +27 -0
- package/dist/tools/unified/external.descriptor.js.map +1 -0
- package/dist/tools/unified/external.impl.consumer.d.ts +8 -0
- package/dist/tools/unified/external.impl.consumer.d.ts.map +1 -0
- package/dist/tools/unified/external.impl.consumer.js +38 -0
- package/dist/tools/unified/external.impl.consumer.js.map +1 -0
- package/dist/tools/unified/handlers/context-summary.d.ts +4 -0
- package/dist/tools/unified/handlers/context-summary.d.ts.map +1 -0
- package/dist/tools/unified/handlers/context-summary.js +271 -0
- package/dist/tools/unified/handlers/context-summary.js.map +1 -0
- package/dist/tools/unified/handlers/file-access-list.d.ts +4 -0
- package/dist/tools/unified/handlers/file-access-list.d.ts.map +1 -0
- package/dist/tools/unified/handlers/file-access-list.js +39 -0
- package/dist/tools/unified/handlers/file-access-list.js.map +1 -0
- package/dist/tools/unified/handlers/file-access-track.d.ts +4 -0
- package/dist/tools/unified/handlers/file-access-track.d.ts.map +1 -0
- package/dist/tools/unified/handlers/file-access-track.js +34 -0
- package/dist/tools/unified/handlers/file-access-track.js.map +1 -0
- package/dist/tools/unified/handlers/hook-call.d.ts +23 -0
- package/dist/tools/unified/handlers/hook-call.d.ts.map +1 -0
- package/dist/tools/unified/handlers/hook-call.js +86 -0
- package/dist/tools/unified/handlers/hook-call.js.map +1 -0
- package/dist/tools/unified/handlers/hook-generator.d.ts +4 -0
- package/dist/tools/unified/handlers/hook-generator.d.ts.map +1 -0
- package/dist/tools/unified/handlers/hook-generator.js +37 -0
- package/dist/tools/unified/handlers/hook-generator.js.map +1 -0
- package/dist/tools/unified/handlers/signal.d.ts +22 -0
- package/dist/tools/unified/handlers/signal.d.ts.map +1 -0
- package/dist/tools/unified/handlers/signal.js +114 -0
- package/dist/tools/unified/handlers/signal.js.map +1 -0
- package/dist/tools/unified/index.d.ts +6 -0
- package/dist/tools/unified/index.d.ts.map +1 -0
- package/dist/tools/unified/index.js +6 -0
- package/dist/tools/unified/index.js.map +1 -0
- package/dist/tools/unified/install/handler.d.ts +4 -0
- package/dist/tools/unified/install/handler.d.ts.map +1 -0
- package/dist/tools/unified/install/handler.js +17 -0
- package/dist/tools/unified/install/handler.js.map +1 -0
- package/dist/tools/unified/runtime.d.ts +35 -0
- package/dist/tools/unified/runtime.d.ts.map +1 -0
- package/dist/tools/unified/runtime.js +23 -0
- package/dist/tools/unified/runtime.js.map +1 -0
- package/dist/tools/unified/schemas.d.ts +160 -0
- package/dist/tools/unified/schemas.d.ts.map +1 -0
- package/dist/tools/unified/schemas.js +139 -0
- package/dist/tools/unified/schemas.js.map +1 -0
- package/dist/utils/fs-absence.d.ts +22 -0
- package/dist/utils/fs-absence.d.ts.map +1 -0
- package/dist/utils/fs-absence.js +37 -0
- package/dist/utils/fs-absence.js.map +1 -0
- package/dist/utils/runtime-fs.d.ts +37 -0
- package/dist/utils/runtime-fs.d.ts.map +1 -0
- package/dist/utils/runtime-fs.js +100 -0
- package/dist/utils/runtime-fs.js.map +1 -0
- package/dist/utils/toml.d.ts +26 -0
- package/dist/utils/toml.d.ts.map +1 -0
- package/dist/utils/toml.js +415 -0
- package/dist/utils/toml.js.map +1 -0
- package/package.json +263 -4
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default `external/collision-filter`.
|
|
3
|
+
*
|
|
4
|
+
* Decides which peer touches are worth a line in the agent's context. Swap this
|
|
5
|
+
* descriptor to widen (directory-level), narrow (same-symbol), or apply a house
|
|
6
|
+
* policy — without forking the touch stream.
|
|
7
|
+
*
|
|
8
|
+
* The read (`ExternalClient.whoElseTouched`) has already applied the structural
|
|
9
|
+
* rules: other sessions only, same workspace, inside the window, one entry per
|
|
10
|
+
* peer. This filter is the LAST word before a notice is rendered, and its job
|
|
11
|
+
* is to be conservative.
|
|
12
|
+
*
|
|
13
|
+
* A filter may only REMOVE or REORDER. Fabricating a peer here would make the
|
|
14
|
+
* notice lie, and there is no enforcement anywhere in this design to catch it.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* A pure `read` by another agent is not interesting enough to spend context on.
|
|
18
|
+
*
|
|
19
|
+
* Two agents READING the same file is the normal state of a healthy repo — it
|
|
20
|
+
* is not a collision, and reporting it would bury the signal that matters
|
|
21
|
+
* (someone is CHANGING a file under you) in constant chatter.
|
|
22
|
+
*/
|
|
23
|
+
const REPORTABLE_OPERATIONS = new Set(['edit', 'write', 'delete']);
|
|
24
|
+
export const defaultCollisionFilter = {
|
|
25
|
+
filter(candidates, context) {
|
|
26
|
+
return candidates
|
|
27
|
+
.filter((peer) => {
|
|
28
|
+
// Defensive: the read already excludes self, but a swapped-in
|
|
29
|
+
// read must not be able to make an agent report itself.
|
|
30
|
+
if (peer.sessionId === context.sessionId)
|
|
31
|
+
return false;
|
|
32
|
+
// Only changes are worth interrupting for.
|
|
33
|
+
if (!REPORTABLE_OPERATIONS.has(peer.operation))
|
|
34
|
+
return false;
|
|
35
|
+
// Defensive re-check of the window: `since` is authoritative and
|
|
36
|
+
// a stale candidate must never survive a filter swap.
|
|
37
|
+
if (peer.timestamp < context.since)
|
|
38
|
+
return false;
|
|
39
|
+
// Different worktree is not a collision. Only excludes when both
|
|
40
|
+
// sides declared a workspace — an unknown workspace is not
|
|
41
|
+
// evidence of a mismatch.
|
|
42
|
+
if (context.workspaceRoot &&
|
|
43
|
+
peer.workspaceRoot &&
|
|
44
|
+
peer.workspaceRoot !== context.workspaceRoot) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
return true;
|
|
48
|
+
})
|
|
49
|
+
.sort((a, b) => a.ageMs - b.ageMs);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
export default defaultCollisionFilter;
|
|
53
|
+
//# sourceMappingURL=default-collision-filter.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-collision-filter.impl.js","sourceRoot":"","sources":["../../src/ambient/default-collision-filter.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,sBAAsB,GAAkC;IACpE,MAAM,CAAC,UAAuB,EAAE,OAA+B;QAC9D,OAAO,UAAU;aACf,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,8DAA8D;YAC9D,wDAAwD;YACxD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YAEvD,2CAA2C;YAC3C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE7D,iEAAiE;YACjE,sDAAsD;YACtD,IAAI,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YAEjD,iEAAiE;YACjE,2DAA2D;YAC3D,0BAA0B;YAC1B,IACC,OAAO,CAAC,aAAa;gBACrB,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,EAC3C,CAAC;gBACF,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-notice-formatter.impl.d.ts","sourceRoot":"","sources":["../../src/ambient/default-notice-formatter.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,6BAA6B,EAE7B,MAAM,yBAAyB,CAAC;AAcjC,eAAO,MAAM,sBAAsB,EAAE,6BA6BpC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function shortSession(sessionId) {
|
|
2
|
+
return sessionId.slice(0, 8);
|
|
3
|
+
}
|
|
4
|
+
function humanAge(ageMs) {
|
|
5
|
+
const seconds = Math.floor(ageMs / 1000);
|
|
6
|
+
if (seconds < 45)
|
|
7
|
+
return 'now';
|
|
8
|
+
const minutes = Math.round(seconds / 60);
|
|
9
|
+
if (minutes < 60)
|
|
10
|
+
return `${Math.max(1, minutes)}m`;
|
|
11
|
+
return `${Math.round(minutes / 60)}h`;
|
|
12
|
+
}
|
|
13
|
+
export const defaultNoticeFormatter = {
|
|
14
|
+
format(peers, context) {
|
|
15
|
+
if (peers.length === 0)
|
|
16
|
+
return null;
|
|
17
|
+
const shown = peers.slice(0, Math.max(1, context.cap));
|
|
18
|
+
const hidden = peers.length - shown.length;
|
|
19
|
+
const ids = shown
|
|
20
|
+
.map((p) => {
|
|
21
|
+
const id = shortSession(p.sessionId);
|
|
22
|
+
return p.workItemTitle ? `${id} "${p.workItemTitle}"` : id;
|
|
23
|
+
})
|
|
24
|
+
.join(', ');
|
|
25
|
+
const tail = hidden > 0 ? ` +${hidden}` : '';
|
|
26
|
+
const machines = new Set(shown.map((p) => p.machineName).filter(Boolean));
|
|
27
|
+
const machine = machines.size === 1
|
|
28
|
+
? ` ${[...machines][0]}`
|
|
29
|
+
: machines.size > 1
|
|
30
|
+
? ` ${machines.size} machines`
|
|
31
|
+
: '';
|
|
32
|
+
const youngest = Math.min(...shown.map((p) => p.ageMs));
|
|
33
|
+
const noun = peers.length === 1 ? 'other editing' : 'others editing';
|
|
34
|
+
return `Heads up — ${peers.length} ${noun} this file (${machine.trim() || 'unknown'}, ${humanAge(youngest)}): ${ids}${tail}`;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
export default defaultNoticeFormatter;
|
|
38
|
+
//# sourceMappingURL=default-notice-formatter.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-notice-formatter.impl.js","sourceRoot":"","sources":["../../src/ambient/default-notice-formatter.impl.ts"],"names":[],"mappings":"AAMA,SAAS,YAAY,CAAC,SAAiB;IACtC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IACpD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAkC;IACpE,MAAM,CAAC,KAAkB,EAAE,OAA+B;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE3C,MAAM,GAAG,GAAG,KAAK;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CACvB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC/C,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;gBAClB,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,WAAW;gBAC9B,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACrE,OAAO,cAAc,KAAK,CAAC,MAAM,IAAI,IAAI,eAAe,OAAO,CAAC,IAAI,EAAE,IAAI,SAAS,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;IAC9H,CAAC;CACD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient notice drain handler.
|
|
3
|
+
*
|
|
4
|
+
* Drains the pending-notices queue (filled by the filesystem watcher
|
|
5
|
+
* handler) into the tool result of whatever MCP tool the agent just
|
|
6
|
+
* called. This is the delivery path for agents that never use
|
|
7
|
+
* `workspace-fs` — the notice appears on their next `brain pulse`,
|
|
8
|
+
* `session status`, `knowledge search`, etc.
|
|
9
|
+
*
|
|
10
|
+
* SILENT WHEN ALONE: if the queue is empty (no pending notices), this
|
|
11
|
+
* handler is a no-op — resolve session ID, check a Map, return. Zero
|
|
12
|
+
* added bytes to the tool result.
|
|
13
|
+
*
|
|
14
|
+
* SAFE TO INJECT: the result must be a mutable object (not an array,
|
|
15
|
+
* not a primitive). `applyLines` checks this and bails if not.
|
|
16
|
+
*/
|
|
17
|
+
declare const _default: {
|
|
18
|
+
handle(payload: unknown): Promise<void>;
|
|
19
|
+
};
|
|
20
|
+
export default _default;
|
|
21
|
+
//# sourceMappingURL=file-access-ambient-drain.impl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-access-ambient-drain.impl.d.ts","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-drain.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;oBAkBoB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;;AAD9C,wBAuBE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient notice drain handler.
|
|
3
|
+
*
|
|
4
|
+
* Drains the pending-notices queue (filled by the filesystem watcher
|
|
5
|
+
* handler) into the tool result of whatever MCP tool the agent just
|
|
6
|
+
* called. This is the delivery path for agents that never use
|
|
7
|
+
* `workspace-fs` — the notice appears on their next `brain pulse`,
|
|
8
|
+
* `session status`, `knowledge search`, etc.
|
|
9
|
+
*
|
|
10
|
+
* SILENT WHEN ALONE: if the queue is empty (no pending notices), this
|
|
11
|
+
* handler is a no-op — resolve session ID, check a Map, return. Zero
|
|
12
|
+
* added bytes to the tool result.
|
|
13
|
+
*
|
|
14
|
+
* SAFE TO INJECT: the result must be a mutable object (not an array,
|
|
15
|
+
* not a primitive). `applyLines` checks this and bails if not.
|
|
16
|
+
*/
|
|
17
|
+
import * as z from 'zod/v4';
|
|
18
|
+
import { tryGetVibesClient } from '@vibesdotdev/kernel/client';
|
|
19
|
+
import { drainPending } from "./pending-notices.js";
|
|
20
|
+
import { AnnotatableToolResultSchema, ToolAfterExecuteEventSchema, resolveAmbientSessionId } from "./file-access-shared.js";
|
|
21
|
+
// Hook dispatch renders stdout before the outer tool result is annotated.
|
|
22
|
+
const HookDispatchSchema = z.object({ action: z.literal('hook-call') });
|
|
23
|
+
export default {
|
|
24
|
+
async handle(payload) {
|
|
25
|
+
const parsedEvent = ToolAfterExecuteEventSchema.safeParse(payload);
|
|
26
|
+
if (!parsedEvent.success)
|
|
27
|
+
return;
|
|
28
|
+
const event = parsedEvent.data;
|
|
29
|
+
if (!event.runtime)
|
|
30
|
+
return;
|
|
31
|
+
if (event.toolId === 'external' && HookDispatchSchema.safeParse(event.input).success)
|
|
32
|
+
return;
|
|
33
|
+
const runtime = event.runtime;
|
|
34
|
+
const sessionId = await resolveAmbientSessionId(runtime);
|
|
35
|
+
if (!sessionId)
|
|
36
|
+
return;
|
|
37
|
+
if (tryGetVibesClient('external', runtime)?.ambientDeliveryDeferred(sessionId))
|
|
38
|
+
return;
|
|
39
|
+
// Consume only when the result can carry the notice to the caller.
|
|
40
|
+
const parsedResult = AnnotatableToolResultSchema.safeParse(event.result);
|
|
41
|
+
if (!parsedResult.success)
|
|
42
|
+
return;
|
|
43
|
+
const result = parsedResult.data;
|
|
44
|
+
const pending = drainPending(runtime, sessionId);
|
|
45
|
+
if (!pending)
|
|
46
|
+
return;
|
|
47
|
+
if (pending.notice)
|
|
48
|
+
result.notice = [pending.notice, result.notice].filter(Boolean).join('\n');
|
|
49
|
+
if (pending.messages)
|
|
50
|
+
result.messages = [pending.messages, result.messages].filter(Boolean).join('\n');
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=file-access-ambient-drain.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-access-ambient-drain.impl.js","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-drain.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAI/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACN,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAExE,eAAe;IACd,KAAK,CAAC,MAAM,CAAC,OAAgB;QAC5B,MAAM,WAAW,GAAG,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO;QACjC,MAAM,KAAK,GAA0B,WAAW,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO;YAAE,OAAO;QAE7F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,iBAAiB,CAAiB,UAAU,EAAE,OAAO,CAAC,EAAE,uBAAuB,CAAC,SAAS,CAAC;YAAE,OAAO;QAEvG,mEAAmE;QACnE,MAAM,YAAY,GAAG,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,OAAO;QAClC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;QACjC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/F,IAAI,OAAO,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxG,CAAC;CACD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient notice drain subscription.
|
|
3
|
+
*
|
|
4
|
+
* Fires on EVERY `tools.tool.afterExecute` (no toolId filter) to drain the
|
|
5
|
+
* pending-notices queue filled by the filesystem watcher handler. The
|
|
6
|
+
* notice/message lands in whatever tool result the agent receives next —
|
|
7
|
+
* `brain pulse`, `session status`, `knowledge search`, anything — not
|
|
8
|
+
* waiting for a `workspace-fs` call that may never come.
|
|
9
|
+
*
|
|
10
|
+
* The queue is per-session and in-memory. If it is empty (the common case
|
|
11
|
+
* for a solo agent), this handler is a no-op: resolve session ID, check a
|
|
12
|
+
* Map, return. Zero added bytes.
|
|
13
|
+
*
|
|
14
|
+
* See docs/architecture/AMBIENT-AGENT-AWARENESS.md.
|
|
15
|
+
*/
|
|
16
|
+
declare const _default: {
|
|
17
|
+
kind: "runtime/subscription";
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
event: string;
|
|
22
|
+
handler: string;
|
|
23
|
+
handlerType: string;
|
|
24
|
+
enabled: true;
|
|
25
|
+
};
|
|
26
|
+
export default _default;
|
|
27
|
+
//# sourceMappingURL=file-access-ambient-drain.subscription.descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-access-ambient-drain.subscription.descriptor.d.ts","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-drain.subscription.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;AAIH,wBAUG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient notice drain subscription.
|
|
3
|
+
*
|
|
4
|
+
* Fires on EVERY `tools.tool.afterExecute` (no toolId filter) to drain the
|
|
5
|
+
* pending-notices queue filled by the filesystem watcher handler. The
|
|
6
|
+
* notice/message lands in whatever tool result the agent receives next —
|
|
7
|
+
* `brain pulse`, `session status`, `knowledge search`, anything — not
|
|
8
|
+
* waiting for a `workspace-fs` call that may never come.
|
|
9
|
+
*
|
|
10
|
+
* The queue is per-session and in-memory. If it is empty (the common case
|
|
11
|
+
* for a solo agent), this handler is a no-op: resolve session ID, check a
|
|
12
|
+
* Map, return. Zero added bytes.
|
|
13
|
+
*
|
|
14
|
+
* See docs/architecture/AMBIENT-AGENT-AWARENESS.md.
|
|
15
|
+
*/
|
|
16
|
+
import { createRuntimeAsset } from '@vibesdotdev/kernel';
|
|
17
|
+
export default createRuntimeAsset({
|
|
18
|
+
kind: 'runtime/subscription',
|
|
19
|
+
id: 'external.file-access.ambient-drain',
|
|
20
|
+
name: 'Ambient Notice Drain',
|
|
21
|
+
description: 'Drains pending collision notices and messages from the filesystem watcher queue into the next tool result',
|
|
22
|
+
event: 'tools.tool.afterExecute',
|
|
23
|
+
handler: 'inline',
|
|
24
|
+
handlerType: 'inline',
|
|
25
|
+
enabled: true
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=file-access-ambient-drain.subscription.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-access-ambient-drain.subscription.descriptor.js","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-drain.subscription.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAe,kBAAkB,CAAC;IACjC,IAAI,EAAE,sBAAsB;IAC5B,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACV,2GAA2G;IAC5G,KAAK,EAAE,yBAAyB;IAChC,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,IAAI;CACb,CAAC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient file-touch handler — filesystem watcher source.
|
|
3
|
+
*
|
|
4
|
+
* RECORDS touches AND fills a pending-notices queue when a collision is
|
|
5
|
+
* detected. The filesystem watcher fires 500ms after the edit (debounced),
|
|
6
|
+
* so there is no tool result to mutate — the notice is queued and the
|
|
7
|
+
* drain subscription (on ANY `tools.tool.afterExecute`) injects it into
|
|
8
|
+
* the next tool result the agent receives.
|
|
9
|
+
*
|
|
10
|
+
* WHAT THIS CLOSES: an agent using native `edit`/`write`/`bash` records
|
|
11
|
+
* nothing under the tool-only subscription. With this handler, the OS
|
|
12
|
+
* watcher sees those edits, records them, checks for peers, and queues
|
|
13
|
+
* a notice for delivery on the agent's next MCP tool call.
|
|
14
|
+
*
|
|
15
|
+
* NOISE FILTER: the OS watcher fires on build artifacts, lock files, git
|
|
16
|
+
* metadata — all of which would pollute the touch record and cause false
|
|
17
|
+
* collision notices. Those paths are filtered out before recording.
|
|
18
|
+
*
|
|
19
|
+
* Same invariants as the tool handler: never fail, never block, degrade to
|
|
20
|
+
* silence.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Paths that are not agent file touches and would cause false collision
|
|
24
|
+
* notices if recorded. The OS watcher fires on ALL changes; this filter
|
|
25
|
+
* keeps the touch record about source files, not build byproducts.
|
|
26
|
+
*
|
|
27
|
+
* EVERY PATTERN HERE IS LOAD-BEARING, and the cost of a gap is not a few
|
|
28
|
+
* spurious rows. On 2026-08-21 a single `external.db` held 3,182,962 rows of
|
|
29
|
+
* which 3,181,876 — 99.97% — were watcher events for `.bun-build` scratch
|
|
30
|
+
* files. That was 5.6GB in one database (plus 1.2GB in a second), on a volume
|
|
31
|
+
* that had reached 100% capacity. Real tool calls accounted for 1,086 rows.
|
|
32
|
+
*
|
|
33
|
+
* The gap existed because the directory patterns below assume build output
|
|
34
|
+
* lands in a build DIRECTORY. Bun writes its scratch files to the workspace
|
|
35
|
+
* ROOT as `.<hash>-00000000.bun-build`, so `dist/`, `build/`, `.turbo/` and
|
|
36
|
+
* friends all miss them. When adding a build tool, check where it writes its
|
|
37
|
+
* temporary files, not just its output.
|
|
38
|
+
*/
|
|
39
|
+
export declare const NOISE_PATTERNS: readonly RegExp[];
|
|
40
|
+
export declare function isNoisePath(path: string): boolean;
|
|
41
|
+
declare const _default: {
|
|
42
|
+
handle(payload: unknown): Promise<void>;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
45
|
+
//# sourceMappingURL=file-access-ambient-fs.impl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-access-ambient-fs.impl.d.ts","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-fs.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+BH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAqB3C,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;;oBAsBsB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;;AAD9C,wBA8IE"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient file-touch handler — filesystem watcher source.
|
|
3
|
+
*
|
|
4
|
+
* RECORDS touches AND fills a pending-notices queue when a collision is
|
|
5
|
+
* detected. The filesystem watcher fires 500ms after the edit (debounced),
|
|
6
|
+
* so there is no tool result to mutate — the notice is queued and the
|
|
7
|
+
* drain subscription (on ANY `tools.tool.afterExecute`) injects it into
|
|
8
|
+
* the next tool result the agent receives.
|
|
9
|
+
*
|
|
10
|
+
* WHAT THIS CLOSES: an agent using native `edit`/`write`/`bash` records
|
|
11
|
+
* nothing under the tool-only subscription. With this handler, the OS
|
|
12
|
+
* watcher sees those edits, records them, checks for peers, and queues
|
|
13
|
+
* a notice for delivery on the agent's next MCP tool call.
|
|
14
|
+
*
|
|
15
|
+
* NOISE FILTER: the OS watcher fires on build artifacts, lock files, git
|
|
16
|
+
* metadata — all of which would pollute the touch record and cause false
|
|
17
|
+
* collision notices. Those paths are filtered out before recording.
|
|
18
|
+
*
|
|
19
|
+
* Same invariants as the tool handler: never fail, never block, degrade to
|
|
20
|
+
* silence.
|
|
21
|
+
*/
|
|
22
|
+
import * as z from 'zod/v4';
|
|
23
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
24
|
+
import { CollisionFilterSchema, DEFAULT_PEER_CAP, DEFAULT_RECENCY_WINDOW_MS, NoticeFormatterSchema } from "../schemas/collision.js";
|
|
25
|
+
import { resolveTouchIdentity } from "../storage/touch-identity.js";
|
|
26
|
+
import { canonicalTouchPath, isTouchPathInsideWorkspace } from "../schemas/path-identity.js";
|
|
27
|
+
import { resolveTouchProjection, toProjectedTouch } from "./cloud-touch-projection.impl.js";
|
|
28
|
+
import { resolveMessageTransport } from "./message-transport.impl.js";
|
|
29
|
+
import { MESSAGE_DELIVERY_CAP, formatMessages } from "../schemas/agent-message.js";
|
|
30
|
+
import { defaultCollisionFilter } from "./default-collision-filter.impl.js";
|
|
31
|
+
import { defaultNoticeFormatter } from "./default-notice-formatter.impl.js";
|
|
32
|
+
import { setPending } from "./pending-notices.js";
|
|
33
|
+
import { resolveAmbientFileAccessClient, resolveAmbientImpl, resolveAmbientSessionId } from "./file-access-shared.js";
|
|
34
|
+
import { attempt, withBudget } from "./attempt.js";
|
|
35
|
+
/**
|
|
36
|
+
* Paths that are not agent file touches and would cause false collision
|
|
37
|
+
* notices if recorded. The OS watcher fires on ALL changes; this filter
|
|
38
|
+
* keeps the touch record about source files, not build byproducts.
|
|
39
|
+
*
|
|
40
|
+
* EVERY PATTERN HERE IS LOAD-BEARING, and the cost of a gap is not a few
|
|
41
|
+
* spurious rows. On 2026-08-21 a single `external.db` held 3,182,962 rows of
|
|
42
|
+
* which 3,181,876 — 99.97% — were watcher events for `.bun-build` scratch
|
|
43
|
+
* files. That was 5.6GB in one database (plus 1.2GB in a second), on a volume
|
|
44
|
+
* that had reached 100% capacity. Real tool calls accounted for 1,086 rows.
|
|
45
|
+
*
|
|
46
|
+
* The gap existed because the directory patterns below assume build output
|
|
47
|
+
* lands in a build DIRECTORY. Bun writes its scratch files to the workspace
|
|
48
|
+
* ROOT as `.<hash>-00000000.bun-build`, so `dist/`, `build/`, `.turbo/` and
|
|
49
|
+
* friends all miss them. When adding a build tool, check where it writes its
|
|
50
|
+
* temporary files, not just its output.
|
|
51
|
+
*/
|
|
52
|
+
export const NOISE_PATTERNS = [
|
|
53
|
+
/(^|\/)dist\//,
|
|
54
|
+
/(^|\/)\.svelte-kit\//,
|
|
55
|
+
/(^|\/)node_modules\//,
|
|
56
|
+
/(^|\/)\.git\//,
|
|
57
|
+
/(^|\/)\.vibes\//,
|
|
58
|
+
/(^|\/)\.turbo\//,
|
|
59
|
+
/(^|\/)__pycache__\//,
|
|
60
|
+
/(^|\/)\.next\//,
|
|
61
|
+
/(^|\/)build\//,
|
|
62
|
+
/(^|\/)\.cache\//,
|
|
63
|
+
/(^|\/)\.claude\//,
|
|
64
|
+
/(^|\/)\.agents\//,
|
|
65
|
+
/(^|\/)\.opencode\//,
|
|
66
|
+
/(^|\/)\.wrangler\//,
|
|
67
|
+
/(^|\/)\.vite\//,
|
|
68
|
+
/bun\.lockb?$/,
|
|
69
|
+
/\.DS_Store$/,
|
|
70
|
+
/\.(log|tmp|swp)$/,
|
|
71
|
+
// Build scratch, written to the workspace root rather than a build dir.
|
|
72
|
+
/\.bun-build$/
|
|
73
|
+
];
|
|
74
|
+
export function isNoisePath(path) {
|
|
75
|
+
return NOISE_PATTERNS.some((p) => p.test(path));
|
|
76
|
+
}
|
|
77
|
+
/** fs actions that represent a CHANGE worth checking for collisions. */
|
|
78
|
+
/**
|
|
79
|
+
* The filesystem-watch event this handler records: the changed paths plus the
|
|
80
|
+
* runtime that publishes them. The runtime itself is only proven an object
|
|
81
|
+
* here — its surface is the publisher's contract, read through the shared
|
|
82
|
+
* resolvers below.
|
|
83
|
+
*/
|
|
84
|
+
const WatchEventSchema = z.object({
|
|
85
|
+
paths: z.array(z.unknown()).optional(),
|
|
86
|
+
reason: z.string().optional(),
|
|
87
|
+
runtime: z.custom((value) => value instanceof Object).optional()
|
|
88
|
+
});
|
|
89
|
+
/** A usable path candidate from the watch batch. */
|
|
90
|
+
function isString(value) {
|
|
91
|
+
return typeof value === 'string';
|
|
92
|
+
}
|
|
93
|
+
export default {
|
|
94
|
+
async handle(payload) {
|
|
95
|
+
const parsed = WatchEventSchema.safeParse(payload);
|
|
96
|
+
if (!parsed.success)
|
|
97
|
+
return;
|
|
98
|
+
const event = parsed.data;
|
|
99
|
+
if (!event.paths || event.paths.length === 0)
|
|
100
|
+
return;
|
|
101
|
+
if (!event.runtime) {
|
|
102
|
+
// Publishers hand the runtime with the event; without it this recorder cannot act (there is no
|
|
103
|
+
// runtime to log through either), so it refuses: the hook dispatcher reports the typed failure.
|
|
104
|
+
throw new CapabilityError('The filesystem watch event carried no runtime; the touch cannot be recorded.', 'INVALID_INPUT', {
|
|
105
|
+
reason: 'watch-event-runtime-missing',
|
|
106
|
+
details: { paths: event.paths.length }
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
const paths = event.paths.filter(isString).filter((p) => p.length > 0);
|
|
110
|
+
if (paths.length === 0)
|
|
111
|
+
return;
|
|
112
|
+
const runtime = event.runtime;
|
|
113
|
+
const [sessionId, client] = await Promise.all([
|
|
114
|
+
resolveAmbientSessionId(runtime),
|
|
115
|
+
resolveAmbientFileAccessClient(runtime)
|
|
116
|
+
]);
|
|
117
|
+
if (!sessionId || !client)
|
|
118
|
+
return;
|
|
119
|
+
const identityOutcome = await attempt(runtime, () => resolveTouchIdentity(runtime));
|
|
120
|
+
const identity = identityOutcome.ok ? identityOutcome.value : {};
|
|
121
|
+
// The watcher is workspace awareness, not a machine-wide activity log.
|
|
122
|
+
// Refuse to record when its root is unknown, repair the missing-leading-
|
|
123
|
+
// slash form some providers emit, and drop anything outside the bound
|
|
124
|
+
// checkout before local persistence or cloud projection.
|
|
125
|
+
const canonicalPaths = [
|
|
126
|
+
...new Set(paths
|
|
127
|
+
.filter((path) => isTouchPathInsideWorkspace(path, identity.workspaceRoot))
|
|
128
|
+
.map((path) => canonicalTouchPath(path, identity.workspaceRoot))
|
|
129
|
+
.filter((path) => !isNoisePath(path)))
|
|
130
|
+
];
|
|
131
|
+
if (canonicalPaths.length === 0)
|
|
132
|
+
return;
|
|
133
|
+
// 1. RECORD locally — fire-and-forget.
|
|
134
|
+
void Promise.all(canonicalPaths.map((filePath) => attempt(runtime, () => client.trackFileAccess({
|
|
135
|
+
sessionId,
|
|
136
|
+
filePath,
|
|
137
|
+
operation: 'edit',
|
|
138
|
+
toolName: 'filesystem-watcher',
|
|
139
|
+
...identity
|
|
140
|
+
}))));
|
|
141
|
+
// 2. PROJECT outward for cross-machine visibility.
|
|
142
|
+
void attempt(runtime, async () => {
|
|
143
|
+
const projection = await resolveTouchProjection(runtime);
|
|
144
|
+
const now = new Date();
|
|
145
|
+
projection.project(canonicalPaths.map((filePath) => toProjectedTouch({
|
|
146
|
+
sessionId,
|
|
147
|
+
filePath,
|
|
148
|
+
operation: 'edit',
|
|
149
|
+
timestamp: now,
|
|
150
|
+
machineId: identity.machineId,
|
|
151
|
+
machineName: identity.machineName,
|
|
152
|
+
participantId: identity.participantId,
|
|
153
|
+
participantSlug: identity.participantSlug,
|
|
154
|
+
workspaceRoot: identity.workspaceRoot,
|
|
155
|
+
gitBranch: identity.gitBranch,
|
|
156
|
+
workItemId: identity.workItemId,
|
|
157
|
+
workItemTitle: identity.workItemTitle
|
|
158
|
+
})));
|
|
159
|
+
});
|
|
160
|
+
// 3. CHECK FOR COLLISIONS — if another session touched the same path
|
|
161
|
+
// recently, queue a notice for delivery on the next tool call. Only
|
|
162
|
+
// the primary path (first in the batch) to respect the noise budget.
|
|
163
|
+
const primary = canonicalPaths[0];
|
|
164
|
+
if (!primary)
|
|
165
|
+
return;
|
|
166
|
+
await withBudget(runtime, attempt(runtime, async () => {
|
|
167
|
+
const peers = await collectPeers(runtime, client, {
|
|
168
|
+
sessionId,
|
|
169
|
+
filePath: primary,
|
|
170
|
+
workspaceRoot: identity.workspaceRoot
|
|
171
|
+
});
|
|
172
|
+
if (peers.length === 0)
|
|
173
|
+
return;
|
|
174
|
+
const formatter = await resolveAmbientImpl(runtime, 'external/notice-formatter', NoticeFormatterSchema, defaultNoticeFormatter);
|
|
175
|
+
const lineOutcome = await attempt(runtime, async () => formatter.format(peers, {
|
|
176
|
+
filePath: primary,
|
|
177
|
+
cap: DEFAULT_PEER_CAP,
|
|
178
|
+
now: new Date()
|
|
179
|
+
}));
|
|
180
|
+
const line = lineOutcome.ok ? lineOutcome.value : undefined;
|
|
181
|
+
if (!line)
|
|
182
|
+
return;
|
|
183
|
+
setPending(runtime, sessionId, { notice: line });
|
|
184
|
+
}), 300, 'ambient-fs-budget');
|
|
185
|
+
// 4. CLAIM MESSAGES — anything addressed to this session. Queue for
|
|
186
|
+
// delivery on the next tool call.
|
|
187
|
+
await withBudget(runtime, attempt(runtime, async () => {
|
|
188
|
+
const transport = await resolveMessageTransport(runtime);
|
|
189
|
+
const claimed = await transport.claim({
|
|
190
|
+
sessionId,
|
|
191
|
+
workspaceRoot: identity.workspaceRoot,
|
|
192
|
+
filePaths: canonicalPaths,
|
|
193
|
+
limit: MESSAGE_DELIVERY_CAP
|
|
194
|
+
});
|
|
195
|
+
const messageLine = formatMessages(claimed, MESSAGE_DELIVERY_CAP);
|
|
196
|
+
if (messageLine) {
|
|
197
|
+
setPending(runtime, sessionId, { messages: messageLine });
|
|
198
|
+
}
|
|
199
|
+
}), 300, 'ambient-fs-budget');
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
async function collectPeers(runtime, client, input) {
|
|
203
|
+
const now = new Date();
|
|
204
|
+
const since = new Date(now.getTime() - DEFAULT_RECENCY_WINDOW_MS);
|
|
205
|
+
const [localOutcome, remoteOutcome] = await Promise.all([
|
|
206
|
+
attempt(runtime, () => client.whoElseTouched({
|
|
207
|
+
filePath: input.filePath,
|
|
208
|
+
workspaceRoot: input.workspaceRoot,
|
|
209
|
+
excludeSessionId: input.sessionId,
|
|
210
|
+
since,
|
|
211
|
+
limit: DEFAULT_PEER_CAP + 5
|
|
212
|
+
})),
|
|
213
|
+
attempt(runtime, async () => {
|
|
214
|
+
const projection = await resolveTouchProjection(runtime);
|
|
215
|
+
return projection.peersForPath({
|
|
216
|
+
filePath: input.filePath,
|
|
217
|
+
workspaceRoot: input.workspaceRoot,
|
|
218
|
+
excludeSessionId: input.sessionId,
|
|
219
|
+
since,
|
|
220
|
+
limit: DEFAULT_PEER_CAP + 5
|
|
221
|
+
});
|
|
222
|
+
})
|
|
223
|
+
]);
|
|
224
|
+
const bySession = new Map();
|
|
225
|
+
const local = localOutcome.ok ? localOutcome.value : [];
|
|
226
|
+
const remote = remoteOutcome.ok ? remoteOutcome.value : [];
|
|
227
|
+
for (const peer of remote)
|
|
228
|
+
bySession.set(peer.sessionId, peer);
|
|
229
|
+
for (const peer of local)
|
|
230
|
+
bySession.set(peer.sessionId, peer);
|
|
231
|
+
const candidates = Array.from(bySession.values());
|
|
232
|
+
if (candidates.length === 0)
|
|
233
|
+
return [];
|
|
234
|
+
const filter = await resolveAmbientImpl(runtime, 'external/collision-filter', CollisionFilterSchema, defaultCollisionFilter);
|
|
235
|
+
const filterOutcome = await attempt(runtime, async () => filter.filter(candidates, {
|
|
236
|
+
sessionId: input.sessionId,
|
|
237
|
+
workspaceRoot: input.workspaceRoot,
|
|
238
|
+
since,
|
|
239
|
+
now
|
|
240
|
+
}));
|
|
241
|
+
return filterOutcome.ok ? filterOutcome.value : [];
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=file-access-ambient-fs.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-access-ambient-fs.impl.js","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-fs.impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient file-touch subscription — filesystem watcher source.
|
|
3
|
+
*
|
|
4
|
+
* The sibling `external.file-access.ambient` subscription fires on
|
|
5
|
+
* `tools.tool.afterExecute` filtered to `workspace-fs` — it only sees MCP
|
|
6
|
+
* workspace-fs tool calls. An agent using native `edit`/`write`/`bash`
|
|
7
|
+
* records nothing, which is exactly the case for most MCP client agents.
|
|
8
|
+
*
|
|
9
|
+
* When explicitly enabled, this subscription records watcher touches and queues
|
|
10
|
+
* notices/messages for the next observable tool or hook response.
|
|
11
|
+
*
|
|
12
|
+
* Disabled in production: Workspace must drop gone paths and exclude .vibes/
|
|
13
|
+
* before re-enablement. A watcher event is no guarantee of universal native-edit
|
|
14
|
+
* coverage. Disposable fixtures enable this descriptor before runtime wiring.
|
|
15
|
+
*
|
|
16
|
+
* See docs/architecture/AMBIENT-AGENT-AWARENESS.md.
|
|
17
|
+
*/
|
|
18
|
+
declare const _default: {
|
|
19
|
+
kind: "runtime/subscription";
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
description: string;
|
|
23
|
+
event: string;
|
|
24
|
+
handler: string;
|
|
25
|
+
handlerType: string;
|
|
26
|
+
filter: {
|
|
27
|
+
reason: string;
|
|
28
|
+
};
|
|
29
|
+
enabled: false;
|
|
30
|
+
};
|
|
31
|
+
export default _default;
|
|
32
|
+
//# sourceMappingURL=file-access-ambient-fs.subscription.descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-access-ambient-fs.subscription.descriptor.d.ts","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-fs.subscription.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;AAIH,wBAoBG"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient file-touch subscription — filesystem watcher source.
|
|
3
|
+
*
|
|
4
|
+
* The sibling `external.file-access.ambient` subscription fires on
|
|
5
|
+
* `tools.tool.afterExecute` filtered to `workspace-fs` — it only sees MCP
|
|
6
|
+
* workspace-fs tool calls. An agent using native `edit`/`write`/`bash`
|
|
7
|
+
* records nothing, which is exactly the case for most MCP client agents.
|
|
8
|
+
*
|
|
9
|
+
* When explicitly enabled, this subscription records watcher touches and queues
|
|
10
|
+
* notices/messages for the next observable tool or hook response.
|
|
11
|
+
*
|
|
12
|
+
* Disabled in production: Workspace must drop gone paths and exclude .vibes/
|
|
13
|
+
* before re-enablement. A watcher event is no guarantee of universal native-edit
|
|
14
|
+
* coverage. Disposable fixtures enable this descriptor before runtime wiring.
|
|
15
|
+
*
|
|
16
|
+
* See docs/architecture/AMBIENT-AGENT-AWARENESS.md.
|
|
17
|
+
*/
|
|
18
|
+
import { createRuntimeAsset } from '@vibesdotdev/kernel';
|
|
19
|
+
export default createRuntimeAsset({
|
|
20
|
+
kind: 'runtime/subscription',
|
|
21
|
+
id: 'external.file-access.ambient-fs',
|
|
22
|
+
name: 'Ambient File Touch (Filesystem Watcher)',
|
|
23
|
+
description: 'Records file changes seen by the OS-level workspace watcher so native/external edits participate in collision awareness',
|
|
24
|
+
event: 'filesystem.fragment.invalidate',
|
|
25
|
+
handler: 'inline',
|
|
26
|
+
handlerType: 'inline',
|
|
27
|
+
filter: {
|
|
28
|
+
reason: 'watch'
|
|
29
|
+
},
|
|
30
|
+
// Disabled 2026-10-05 00:08 UTC (coordinator stop-gap, Drew-directed): a full-tree watcher pass persisted
|
|
31
|
+
// as ~100k file_accesses inserts held the shared MCP host's thread.
|
|
32
|
+
//
|
|
33
|
+
// Re-enabled by the watcher fix (d6669da30), then disabled again 2026-10-05 05:45 UTC
|
|
34
|
+
// (coordinator stop-gap): the watcher still publishes paths whose stat fails with
|
|
35
|
+
// ENOENT, .vibes/ is inside the watched tree, and the daemon crash-looped. It
|
|
36
|
+
// returns once the watcher drops gone paths and ignores .vibes/ (workspace owner).
|
|
37
|
+
enabled: false
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=file-access-ambient-fs.subscription.descriptor.js.map
|