@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,370 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Access Storage Record Descriptor
|
|
3
|
+
*
|
|
4
|
+
* Storage pattern for external tool file access tracking.
|
|
5
|
+
* This replaces the need for one-off adapters like LocalSQLiteExternalAdapter.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // Query from runtime
|
|
10
|
+
* const fileAccesses = await runtime
|
|
11
|
+
* .query('storage/record')
|
|
12
|
+
* .withId('external.file_accesses')
|
|
13
|
+
* .resolve();
|
|
14
|
+
*
|
|
15
|
+
* // Track a file access
|
|
16
|
+
* const access = await fileAccesses.create({
|
|
17
|
+
* sessionId: 'session-123',
|
|
18
|
+
* filePath: '/src/lib/example.ts',
|
|
19
|
+
* operation: 'read',
|
|
20
|
+
* timestamp: new Date()
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* // List accesses with filters
|
|
24
|
+
* const result = await fileAccesses.list({
|
|
25
|
+
* where: {
|
|
26
|
+
* sessionId: 'session-123',
|
|
27
|
+
* operation: 'edit'
|
|
28
|
+
* },
|
|
29
|
+
* orderBy: { timestamp: 'desc' },
|
|
30
|
+
* limit: 100
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
import * as z from 'zod/v4';
|
|
35
|
+
// SCHEMA DEFINITIONS
|
|
36
|
+
/**
|
|
37
|
+
* File operation types
|
|
38
|
+
*/
|
|
39
|
+
export const FileOperationSchema = z.enum([
|
|
40
|
+
'read', // File was read
|
|
41
|
+
'edit', // File was edited
|
|
42
|
+
'write', // File was written/created
|
|
43
|
+
'delete' // File was deleted
|
|
44
|
+
]);
|
|
45
|
+
/**
|
|
46
|
+
* Line range schema for partial file access
|
|
47
|
+
*/
|
|
48
|
+
export const LineRangeSchema = z.object({
|
|
49
|
+
start: z.number().int().nonnegative(),
|
|
50
|
+
end: z.number().int().nonnegative()
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* File Access Schema
|
|
54
|
+
*
|
|
55
|
+
* Defines the structure of a file access tracking record.
|
|
56
|
+
* Tracks file operations during sessions for context and analytics.
|
|
57
|
+
*/
|
|
58
|
+
export const FileAccessSchema = z.object({
|
|
59
|
+
// Identity
|
|
60
|
+
id: z.string().uuid(),
|
|
61
|
+
// Foreign keys
|
|
62
|
+
sessionId: z.string().uuid(),
|
|
63
|
+
// File information
|
|
64
|
+
filePath: z.string().min(1),
|
|
65
|
+
operation: FileOperationSchema,
|
|
66
|
+
// Line range (for partial file access)
|
|
67
|
+
lineRange: LineRangeSchema.optional(),
|
|
68
|
+
// Access metadata
|
|
69
|
+
symbolsAccessed: z.array(z.string()).default([]),
|
|
70
|
+
// I/O metrics
|
|
71
|
+
bytesRead: z.number().int().nonnegative().optional(),
|
|
72
|
+
bytesWritten: z.number().int().nonnegative().optional(),
|
|
73
|
+
// Diagnostics
|
|
74
|
+
diagnosticsCount: z.number().int().nonnegative().optional(),
|
|
75
|
+
// Context
|
|
76
|
+
activeTodoId: z.string().uuid().optional(),
|
|
77
|
+
toolName: z.string().optional(),
|
|
78
|
+
toolCallId: z.string().optional(),
|
|
79
|
+
// AMBIENT IDENTITY (v2) — who touched this, where, working on what.
|
|
80
|
+
// Every field is OPTIONAL by design: a degraded identity beats a dropped
|
|
81
|
+
// row. A touch that cannot resolve its machine still records.
|
|
82
|
+
// See docs/architecture/AMBIENT-AGENT-AWARENESS.md.
|
|
83
|
+
/** Stable machine id, from context `runtime/machine-identity`. */
|
|
84
|
+
machineId: z.string().min(1).optional(),
|
|
85
|
+
/** Human-readable machine name (OS hostname) for the notice line. */
|
|
86
|
+
machineName: z.string().min(1).optional(),
|
|
87
|
+
/** Durable participant identity and copy-safe collaboration reference. */
|
|
88
|
+
participantId: z.string().min(1).optional(),
|
|
89
|
+
participantSlug: z.string().min(1).optional(),
|
|
90
|
+
/**
|
|
91
|
+
* Absolute workspace root of the touching session.
|
|
92
|
+
*
|
|
93
|
+
* This is the field that keeps the signal honest: two agents in different
|
|
94
|
+
* worktrees of the same repo share a relative path but are NOT colliding.
|
|
95
|
+
* Without it the collision notice cries wolf constantly.
|
|
96
|
+
*/
|
|
97
|
+
workspaceRoot: z.string().min(1).optional(),
|
|
98
|
+
/** Branch at touch time; workspaceRoot is the worktree path. */
|
|
99
|
+
gitBranch: z.string().min(1).optional(),
|
|
100
|
+
/** Git HEAD sha at touch time, when cheaply available. */
|
|
101
|
+
headSha: z.string().min(1).optional(),
|
|
102
|
+
/**
|
|
103
|
+
* The human-legible unit of work. `activeTodoId` (session todos) is kept
|
|
104
|
+
* as-is; this is the work item a reader can actually name out loud.
|
|
105
|
+
*/
|
|
106
|
+
workItemId: z.string().min(1).optional(),
|
|
107
|
+
workItemTitle: z.string().min(1).optional(),
|
|
108
|
+
/**
|
|
109
|
+
* How many touches this row stands for.
|
|
110
|
+
*
|
|
111
|
+
* A row is a ROLLUP BUCKET, not a single event: one row per
|
|
112
|
+
* (session, path, operation, tool, day). The ambient filesystem watcher
|
|
113
|
+
* fires on every OS change, so a file being written in a loop produced one
|
|
114
|
+
* row per fire — 2,152,590 rows in eight days on 2026-08-31, 1.3 GB of
|
|
115
|
+
* JSON, against nine rows of real tool activity, on a volume at 100%
|
|
116
|
+
* capacity. Counting instead of appending keeps the same signal at a
|
|
117
|
+
* bounded size.
|
|
118
|
+
*
|
|
119
|
+
* Optional with a default of 1 so every row written before rollup existed
|
|
120
|
+
* still reads correctly.
|
|
121
|
+
*/
|
|
122
|
+
accessCount: z.number().int().positive().default(1),
|
|
123
|
+
// Additional metadata
|
|
124
|
+
metadata: z.record(z.string(), z.unknown()).default({}),
|
|
125
|
+
// Timestamps
|
|
126
|
+
timestamp: z.union([z.string().datetime(), z.date()]),
|
|
127
|
+
createdAt: z.union([z.string().datetime(), z.date()]),
|
|
128
|
+
updatedAt: z.union([z.string().datetime(), z.date()]).optional()
|
|
129
|
+
});
|
|
130
|
+
// STORAGE RECORD DESCRIPTOR
|
|
131
|
+
/**
|
|
132
|
+
* Storage Record Descriptor for File Accesses
|
|
133
|
+
*
|
|
134
|
+
* This descriptor defines how file access tracking data is stored, indexed, and managed.
|
|
135
|
+
*/
|
|
136
|
+
export const fileAccessRecordDescriptor = {
|
|
137
|
+
// Runtime metadata
|
|
138
|
+
kind: 'storage/record',
|
|
139
|
+
id: 'external.file_accesses',
|
|
140
|
+
name: 'File Access Tracking',
|
|
141
|
+
description: 'Tracks file operations during sessions for context and analytics',
|
|
142
|
+
/**
|
|
143
|
+
* This table reached 3,182,962 rows and 5.6GB on a developer machine that
|
|
144
|
+
* then hit 100% disk. Its ONLY consumer is collision detection, which reads
|
|
145
|
+
* `DEFAULT_RECENCY_WINDOW_MS` — thirty minutes. Two days is 96x that window,
|
|
146
|
+
* chosen so `external file-access-list` stays useful to a human looking back
|
|
147
|
+
* over recent work, not because collision detection needs it.
|
|
148
|
+
*
|
|
149
|
+
* Ages by `timestamp` (when the touch HAPPENED), not `createdAt` (when the
|
|
150
|
+
* row was written). Those diverge under backfill and replay, and the touch
|
|
151
|
+
* time is the one that means anything.
|
|
152
|
+
*/
|
|
153
|
+
retention: {
|
|
154
|
+
maxAgeDays: 2,
|
|
155
|
+
ageField: 'timestamp',
|
|
156
|
+
reason: 'Read only by collision detection over a 30-minute window; 2 days keeps ' +
|
|
157
|
+
'file-access-list useful for humans. Reached 3.18M rows / 5.6GB undeclared.'
|
|
158
|
+
},
|
|
159
|
+
// Schema for validation
|
|
160
|
+
schema: FileAccessSchema,
|
|
161
|
+
// Table configuration
|
|
162
|
+
tableName: 'file_accesses',
|
|
163
|
+
primaryKey: 'id',
|
|
164
|
+
// Relations
|
|
165
|
+
relations: {
|
|
166
|
+
// Each file access belongs to a session
|
|
167
|
+
session: {
|
|
168
|
+
type: 'belongs_to',
|
|
169
|
+
target: 'session.sessions',
|
|
170
|
+
foreignKey: 'sessionId',
|
|
171
|
+
optional: false,
|
|
172
|
+
cascadeDelete: true // Delete file accesses when session is deleted
|
|
173
|
+
},
|
|
174
|
+
// Optional relation to active todo
|
|
175
|
+
activeTodo: {
|
|
176
|
+
type: 'belongs_to',
|
|
177
|
+
target: 'session.todos',
|
|
178
|
+
foreignKey: 'activeTodoId',
|
|
179
|
+
optional: true,
|
|
180
|
+
cascadeDelete: false
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
// Indexes for performance.
|
|
184
|
+
//
|
|
185
|
+
// THE SET IS FIVE, NOT SEVEN. `idx_file_accesses_session` on
|
|
186
|
+
// `(sessionId)` and `idx_file_accesses_file_path` on `(filePath)` were both
|
|
187
|
+
// dropped on 2026-10-04: each is a STRICT LEFT PREFIX of a longer index on
|
|
188
|
+
// the same leading column (`idx_file_accesses_session_timestamp`,
|
|
189
|
+
// `idx_file_accesses_path_recent`), which is the one property that makes an
|
|
190
|
+
// index strictly redundant — every query the short one can serve, the long
|
|
191
|
+
// one serves at least as well. Measured 115.7MB on a 528,639-row table.
|
|
192
|
+
//
|
|
193
|
+
// Not a judgement call: `EXPLAIN QUERY PLAN` was run on the live database
|
|
194
|
+
// for every query shape the readers issue, and for the unbounded variants.
|
|
195
|
+
// SQLite's own planner chose the long index for all of them, including
|
|
196
|
+
// `filePath = ?` with no time bound and `COUNT(*) WHERE filePath = ?`
|
|
197
|
+
// (which it served as a COVERING index). The two short ones were never
|
|
198
|
+
// chosen for any shape.
|
|
199
|
+
//
|
|
200
|
+
// The remaining five are each load-bearing, and two of them exist to supply
|
|
201
|
+
// an `ORDER BY` without a temp b-tree: dropping `path_recent` or
|
|
202
|
+
// `session_timestamp` would put a sort into the collision-detection hot
|
|
203
|
+
// path.
|
|
204
|
+
//
|
|
205
|
+
// A descriptor edit alone does NOT reclaim the bytes on an existing
|
|
206
|
+
// database: `createIndexes` only ever issues `CREATE INDEX IF NOT EXISTS`
|
|
207
|
+
// for what is declared, so a stale index on disk survives its removal from
|
|
208
|
+
// here. That is why migration version 3 below drops them.
|
|
209
|
+
indexes: [
|
|
210
|
+
{
|
|
211
|
+
name: 'idx_file_accesses_timestamp',
|
|
212
|
+
fields: ['timestamp'],
|
|
213
|
+
unique: false
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: 'idx_file_accesses_operation',
|
|
217
|
+
fields: ['operation'],
|
|
218
|
+
unique: false
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
name: 'idx_file_accesses_session_file',
|
|
222
|
+
fields: ['sessionId', 'filePath'],
|
|
223
|
+
unique: false
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
name: 'idx_file_accesses_session_timestamp',
|
|
227
|
+
fields: ['sessionId', 'timestamp'],
|
|
228
|
+
unique: false
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
// The collision read's access pattern: "who else touched THIS path
|
|
232
|
+
// recently". Without the timestamp leg, a hot path degrades to a
|
|
233
|
+
// full scan of its own history.
|
|
234
|
+
name: 'idx_file_accesses_path_recent',
|
|
235
|
+
fields: ['filePath', 'timestamp'],
|
|
236
|
+
unique: false
|
|
237
|
+
}
|
|
238
|
+
],
|
|
239
|
+
// Migrations
|
|
240
|
+
migrations: [
|
|
241
|
+
{
|
|
242
|
+
version: 1,
|
|
243
|
+
name: 'Create file_accesses table',
|
|
244
|
+
up: `
|
|
245
|
+
CREATE TABLE IF NOT EXISTS file_accesses (
|
|
246
|
+
id TEXT PRIMARY KEY,
|
|
247
|
+
session_id TEXT NOT NULL,
|
|
248
|
+
file_path TEXT NOT NULL,
|
|
249
|
+
operation TEXT NOT NULL CHECK (operation IN ('read', 'edit', 'write', 'delete')),
|
|
250
|
+
line_start INTEGER,
|
|
251
|
+
line_end INTEGER,
|
|
252
|
+
symbols_accessed TEXT DEFAULT '[]',
|
|
253
|
+
bytes_read INTEGER,
|
|
254
|
+
bytes_written INTEGER,
|
|
255
|
+
diagnostics_count INTEGER,
|
|
256
|
+
active_todo_id TEXT,
|
|
257
|
+
tool_name TEXT,
|
|
258
|
+
tool_call_id TEXT,
|
|
259
|
+
metadata TEXT DEFAULT '{}',
|
|
260
|
+
timestamp TEXT NOT NULL,
|
|
261
|
+
created_at TEXT NOT NULL
|
|
262
|
+
);
|
|
263
|
+
|
|
264
|
+
CREATE INDEX IF NOT EXISTS idx_file_accesses_session ON file_accesses(session_id);
|
|
265
|
+
CREATE INDEX IF NOT EXISTS idx_file_accesses_file_path ON file_accesses(file_path);
|
|
266
|
+
CREATE INDEX IF NOT EXISTS idx_file_accesses_timestamp ON file_accesses(timestamp DESC);
|
|
267
|
+
CREATE INDEX IF NOT EXISTS idx_file_accesses_operation ON file_accesses(operation);
|
|
268
|
+
`,
|
|
269
|
+
down: `DROP TABLE IF EXISTS file_accesses`
|
|
270
|
+
}
|
|
271
|
+
// NO v2 MIGRATION — AND THAT IS DELIBERATE. READ THIS BEFORE ADDING ONE.
|
|
272
|
+
//
|
|
273
|
+
// The v1 migration above declares normalized columns, but they DO NOT
|
|
274
|
+
// EXIST at runtime. `StorageRecord` CRUDs this table as a JSON blob:
|
|
275
|
+
// every read/write goes through `json_extract(data, '$.field')` and
|
|
276
|
+
// `INSERT INTO file_accesses (id, data)`. On first init,
|
|
277
|
+
// `StorageRecord.ensureDataColumn()` sees a table with no `data`
|
|
278
|
+
// column, finds it empty, and DROPS AND RECREATES it as
|
|
279
|
+
// `(id TEXT PRIMARY KEY, data TEXT NOT NULL)`.
|
|
280
|
+
//
|
|
281
|
+
// Verified, not assumed — `src/__tests__/file-access-identity.test.ts`
|
|
282
|
+
// probes the live table and reports:
|
|
283
|
+
// [PROBE] file_accesses columns = ["id","data"]
|
|
284
|
+
//
|
|
285
|
+
// So an `ALTER TABLE ... ADD COLUMN` migration for the v2 identity
|
|
286
|
+
// fields would be pure theater: the columns are either dropped moments
|
|
287
|
+
// later or added to a blob table that never reads them.
|
|
288
|
+
//
|
|
289
|
+
// What IS real for adding a field here:
|
|
290
|
+
// 1. Add it to `FileAccessSchema` — it lands in the JSON blob. That
|
|
291
|
+
// alone is the persistence, and old rows simply lack the key.
|
|
292
|
+
// 2. Declare any index in `indexes` below — `createIndexes()` renders
|
|
293
|
+
// it as `json_extract(data, '$.field')`, which is why
|
|
294
|
+
// `idx_file_accesses_path_recent` is a real index and not a
|
|
295
|
+
// no-op.
|
|
296
|
+
// Neither step needs a migration.
|
|
297
|
+
//
|
|
298
|
+
// (The dead v1 migration is left in place: removing it would send this
|
|
299
|
+
// descriptor down `createTableFromSchema()` instead, changing the init
|
|
300
|
+
// path for a table that is already correct. That cleanup is not this
|
|
301
|
+
// milestone's to make.)
|
|
302
|
+
//
|
|
303
|
+
// There is no v2: the identity fields were added to `FileAccessSchema`
|
|
304
|
+
// alone, because in JSON-blob mode the schema IS the persistence. The
|
|
305
|
+
// descriptor's `version` field moved to 3 with the migration below.
|
|
306
|
+
,
|
|
307
|
+
{
|
|
308
|
+
version: 3,
|
|
309
|
+
name: 'Drop the two left-prefix duplicate indexes',
|
|
310
|
+
// Unlike the ADD-COLUMN case above, this migration acts on a real SQL
|
|
311
|
+
// object and is not theater: the indexes exist as json_extract
|
|
312
|
+
// expression indexes created by `createIndexes`, and dropping them here
|
|
313
|
+
// is the only thing that removes them from an existing database.
|
|
314
|
+
// Removing them from `indexes` above alone would leave them in place —
|
|
315
|
+
// `createIndexes` only creates, never reconciles.
|
|
316
|
+
//
|
|
317
|
+
// `IF EXISTS` because a fresh database never had them: v1's normalized
|
|
318
|
+
// table (and its indexes) was dropped and recreated as `(id, data)`, so
|
|
319
|
+
// on a new install these names are already absent.
|
|
320
|
+
up: `
|
|
321
|
+
DROP INDEX IF EXISTS idx_file_accesses_session;
|
|
322
|
+
DROP INDEX IF EXISTS idx_file_accesses_file_path;
|
|
323
|
+
`,
|
|
324
|
+
down: `
|
|
325
|
+
CREATE INDEX IF NOT EXISTS idx_file_accesses_session
|
|
326
|
+
ON file_accesses (json_extract(data, '$.sessionId'));
|
|
327
|
+
CREATE INDEX IF NOT EXISTS idx_file_accesses_file_path
|
|
328
|
+
ON file_accesses (json_extract(data, '$.filePath'));
|
|
329
|
+
`
|
|
330
|
+
}
|
|
331
|
+
],
|
|
332
|
+
// Schema version
|
|
333
|
+
version: 3,
|
|
334
|
+
// Auto-managed fields
|
|
335
|
+
timestamps: {
|
|
336
|
+
createdAt: 'createdAt',
|
|
337
|
+
updatedAt: 'updatedAt'
|
|
338
|
+
},
|
|
339
|
+
autoId: {
|
|
340
|
+
field: 'id',
|
|
341
|
+
strategy: 'uuid'
|
|
342
|
+
},
|
|
343
|
+
softDelete: false, // Hard delete for file accesses
|
|
344
|
+
// Adapter selection
|
|
345
|
+
allowedAdapters: ['storage.localdb'],
|
|
346
|
+
defaultAdapter: 'storage.localdb',
|
|
347
|
+
// Adapter configuration
|
|
348
|
+
adapterConfig: {
|
|
349
|
+
'storage.localdb': {
|
|
350
|
+
dbName: 'external.db',
|
|
351
|
+
scope: 'project'
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
// Scope
|
|
355
|
+
scope: 'project',
|
|
356
|
+
// Validation
|
|
357
|
+
validateOnWrite: true,
|
|
358
|
+
validateOnRead: false,
|
|
359
|
+
// Metadata
|
|
360
|
+
internal: false,
|
|
361
|
+
namespace: 'external.file_accesses',
|
|
362
|
+
tags: ['external', 'file-tracking', 'analytics'],
|
|
363
|
+
// Performance optimization
|
|
364
|
+
versioning: false,
|
|
365
|
+
audit: false,
|
|
366
|
+
changeTracking: false
|
|
367
|
+
};
|
|
368
|
+
// EXPORTS
|
|
369
|
+
export default fileAccessRecordDescriptor;
|
|
370
|
+
//# sourceMappingURL=file-access.record.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-access.record.descriptor.js","sourceRoot":"","sources":["../../src/storage/file-access.record.descriptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient touch identity resolution.
|
|
3
|
+
*
|
|
4
|
+
* Gathers "who touched this, where, working on what" from the runtime so a
|
|
5
|
+
* recorded touch can name a machine, a workspace, and a unit of work.
|
|
6
|
+
*
|
|
7
|
+
* EVERY LOOKUP IS BEST-EFFORT AND INDEPENDENT. A failure in one field must
|
|
8
|
+
* never cost the others, and must never cost the touch itself: a row with a
|
|
9
|
+
* degraded identity is strictly better than no row. Nothing here throws.
|
|
10
|
+
*
|
|
11
|
+
* All resolution is via `runtime.context(...)` — no package imports — so the
|
|
12
|
+
* identity sources stay swappable. See
|
|
13
|
+
* docs/architecture/AMBIENT-AGENT-AWARENESS.md.
|
|
14
|
+
*/
|
|
15
|
+
import type { RuntimeRef } from '@vibesdotdev/kernel';
|
|
16
|
+
import type { TouchIdentity, CachedMachineIdentity } from '../schemas/touch-identity.ts';
|
|
17
|
+
export type { TouchIdentity } from '../schemas/touch-identity.ts';
|
|
18
|
+
/**
|
|
19
|
+
* Resolve this machine's stable identity via `runtime/machine-identity`.
|
|
20
|
+
*
|
|
21
|
+
* Cached for the runtime lifetime: the id is persisted on disk and the
|
|
22
|
+
* hostname does not meaningfully change mid-session, so re-reading it on every
|
|
23
|
+
* file touch would be pure overhead on a hot path.
|
|
24
|
+
*/
|
|
25
|
+
export declare class TouchIdentityCache {
|
|
26
|
+
generation: number;
|
|
27
|
+
machine?: CachedMachineIdentity;
|
|
28
|
+
readonly checkouts: Map<string, {
|
|
29
|
+
expiresAt: number;
|
|
30
|
+
gitBranch?: string | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
reset(): void;
|
|
33
|
+
}
|
|
34
|
+
/** Test seam: forget this runtime's cached machine and checkout identity. */
|
|
35
|
+
export declare function resetTouchIdentityCache(runtime: RuntimeRef): void;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve the full ambient identity for a touch.
|
|
38
|
+
*
|
|
39
|
+
* Lookups run concurrently — this sits on the fs write path and the pieces are
|
|
40
|
+
* independent, so there is no reason to pay for them serially.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveTouchIdentity(runtime: RuntimeRef): Promise<TouchIdentity>;
|
|
43
|
+
//# sourceMappingURL=touch-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touch-identity.d.ts","sourceRoot":"","sources":["../../src/storage/touch-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAA0B,MAAM,8BAA8B,CAAC;AACjH,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAuDlE;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC9B,UAAU,SAAK;IACf,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,QAAQ,CAAC,SAAS;;;OAA6C;IAE/D,KAAK,IAAI,IAAI;CAKb;AA2BD,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAEjE;AA4BD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CA6EtF"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambient touch identity resolution.
|
|
3
|
+
*
|
|
4
|
+
* Gathers "who touched this, where, working on what" from the runtime so a
|
|
5
|
+
* recorded touch can name a machine, a workspace, and a unit of work.
|
|
6
|
+
*
|
|
7
|
+
* EVERY LOOKUP IS BEST-EFFORT AND INDEPENDENT. A failure in one field must
|
|
8
|
+
* never cost the others, and must never cost the touch itself: a row with a
|
|
9
|
+
* degraded identity is strictly better than no row. Nothing here throws.
|
|
10
|
+
*
|
|
11
|
+
* All resolution is via `runtime.context(...)` — no package imports — so the
|
|
12
|
+
* identity sources stay swappable. See
|
|
13
|
+
* docs/architecture/AMBIENT-AGENT-AWARENESS.md.
|
|
14
|
+
*/
|
|
15
|
+
import { tryGetVibesClient } from '@vibesdotdev/kernel/client';
|
|
16
|
+
import * as z from 'zod/v4';
|
|
17
|
+
import { attempt } from "../ambient/attempt.js";
|
|
18
|
+
function nonEmpty(value) {
|
|
19
|
+
const parsed = z.string().min(1).safeParse(value);
|
|
20
|
+
return parsed.success ? parsed.data : undefined;
|
|
21
|
+
}
|
|
22
|
+
function participantSlug(value) {
|
|
23
|
+
const parsed = z.string().min(1).safeParse(value);
|
|
24
|
+
if (!parsed.success)
|
|
25
|
+
return undefined;
|
|
26
|
+
return parsed.data
|
|
27
|
+
.trim()
|
|
28
|
+
.toLowerCase()
|
|
29
|
+
.replace(/[^a-z0-9-]+/g, '-')
|
|
30
|
+
.replace(/-+/g, '-')
|
|
31
|
+
.replace(/^-+|-+$/g, '')
|
|
32
|
+
.slice(0, 64) || undefined;
|
|
33
|
+
}
|
|
34
|
+
const GitStatusReaderSchema = z.custom((value) => value instanceof Object && 'status' in value && Object(value).status instanceof Function);
|
|
35
|
+
/**
|
|
36
|
+
* Resolve this machine's stable identity via `runtime/machine-identity`.
|
|
37
|
+
*
|
|
38
|
+
* Cached for the runtime lifetime: the id is persisted on disk and the
|
|
39
|
+
* hostname does not meaningfully change mid-session, so re-reading it on every
|
|
40
|
+
* file touch would be pure overhead on a hot path.
|
|
41
|
+
*/
|
|
42
|
+
export class TouchIdentityCache {
|
|
43
|
+
generation = 0;
|
|
44
|
+
machine;
|
|
45
|
+
checkouts = new Map();
|
|
46
|
+
reset() {
|
|
47
|
+
this.generation++;
|
|
48
|
+
this.machine = undefined;
|
|
49
|
+
this.checkouts.clear();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async function resolveMachine(runtime, cache) {
|
|
53
|
+
const generation = cache.generation;
|
|
54
|
+
const cached = cache.machine;
|
|
55
|
+
if (cached)
|
|
56
|
+
return cached;
|
|
57
|
+
const identityOutcome = await attempt(runtime, async () => {
|
|
58
|
+
const reader = await runtime.context('runtime/machine-identity');
|
|
59
|
+
return reader?.getIdentity ? await reader.getIdentity() : undefined;
|
|
60
|
+
}, 'touch identity lookup');
|
|
61
|
+
const identity = identityOutcome.ok ? identityOutcome.value : undefined;
|
|
62
|
+
const resolved = {
|
|
63
|
+
machineId: nonEmpty(identity?.id),
|
|
64
|
+
machineName: nonEmpty(identity?.name)
|
|
65
|
+
};
|
|
66
|
+
if (cache.generation === generation)
|
|
67
|
+
cache.machine = resolved;
|
|
68
|
+
return resolved;
|
|
69
|
+
}
|
|
70
|
+
/** Test seam: forget this runtime's cached machine and checkout identity. */
|
|
71
|
+
export function resetTouchIdentityCache(runtime) {
|
|
72
|
+
tryGetVibesClient('external', runtime)?.touchIdentity.reset();
|
|
73
|
+
}
|
|
74
|
+
async function resolveCheckout(runtime, workspaceRoot, cache) {
|
|
75
|
+
if (!workspaceRoot)
|
|
76
|
+
return {};
|
|
77
|
+
const generation = cache.generation;
|
|
78
|
+
const byRoot = cache.checkouts;
|
|
79
|
+
const hit = byRoot.get(workspaceRoot);
|
|
80
|
+
if (hit && hit.expiresAt > Date.now()) {
|
|
81
|
+
return { gitBranch: hit.gitBranch };
|
|
82
|
+
}
|
|
83
|
+
const statusOutcome = await attempt(runtime, async () => {
|
|
84
|
+
const operations = GitStatusReaderSchema.parse(await runtime.query('git/operations').resolve());
|
|
85
|
+
return operations.status(workspaceRoot);
|
|
86
|
+
}, 'touch identity lookup');
|
|
87
|
+
const status = statusOutcome.ok ? statusOutcome.value : undefined;
|
|
88
|
+
const entry = { gitBranch: nonEmpty(status?.branch), expiresAt: Date.now() + 2_000 };
|
|
89
|
+
if (cache.generation === generation)
|
|
90
|
+
byRoot.set(workspaceRoot, entry);
|
|
91
|
+
return { gitBranch: entry.gitBranch };
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Resolve the full ambient identity for a touch.
|
|
95
|
+
*
|
|
96
|
+
* Lookups run concurrently — this sits on the fs write path and the pieces are
|
|
97
|
+
* independent, so there is no reason to pay for them serially.
|
|
98
|
+
*/
|
|
99
|
+
export async function resolveTouchIdentity(runtime) {
|
|
100
|
+
// Identity is the active invocation's actor, never a declared qualifier.
|
|
101
|
+
const actor = runtime.scope.actor ?? {};
|
|
102
|
+
// Standalone identity readers remain usable without activating External.
|
|
103
|
+
// Only an activated client retains results beyond this call.
|
|
104
|
+
const cache = tryGetVibesClient('external', runtime)?.touchIdentity ?? new TouchIdentityCache();
|
|
105
|
+
const [machine, ambientWorkspaceRootOutcome, workOutcome] = await Promise.all([
|
|
106
|
+
resolveMachine(runtime, cache),
|
|
107
|
+
attempt(runtime, async () => nonEmpty(await runtime.context('runtime/workspace-path')), 'touch identity lookup'),
|
|
108
|
+
attempt(runtime, async () => {
|
|
109
|
+
const session = await runtime.context('session/manager');
|
|
110
|
+
const getDefaultActiveSession = session?.getDefaultActiveSession;
|
|
111
|
+
const activeSessionId = nonEmpty(actor.sessionId) ??
|
|
112
|
+
nonEmpty(session?.activeSessionId) ??
|
|
113
|
+
(getDefaultActiveSession instanceof Function
|
|
114
|
+
? nonEmpty(await getDefaultActiveSession())
|
|
115
|
+
: undefined);
|
|
116
|
+
const getSession = session?.getSession;
|
|
117
|
+
const current = activeSessionId && getSession instanceof Function
|
|
118
|
+
? await getSession(activeSessionId)
|
|
119
|
+
: undefined;
|
|
120
|
+
const participantId = nonEmpty(actor.participantId) ?? nonEmpty(current?.ownerParticipant);
|
|
121
|
+
const getParticipant = session?.getParticipant;
|
|
122
|
+
const profile = participantId && getParticipant instanceof Function
|
|
123
|
+
? await getParticipant(participantId)
|
|
124
|
+
: undefined;
|
|
125
|
+
const storedSlug = profile?.metadata?.slug;
|
|
126
|
+
const slug = participantSlug(storedSlug) ?? participantSlug(profile?.name ?? participantId);
|
|
127
|
+
const metadata = current?.metadata;
|
|
128
|
+
return {
|
|
129
|
+
participantId,
|
|
130
|
+
participantSlug: slug,
|
|
131
|
+
workspaceRoot: nonEmpty(metadata?.workspacePath),
|
|
132
|
+
workItemId: nonEmpty(current?.workItemId) ?? nonEmpty(session?.activeWorkItemId),
|
|
133
|
+
workItemTitle: nonEmpty(metadata?.workItemTitle) ?? nonEmpty(session?.activeWorkItemTitle)
|
|
134
|
+
};
|
|
135
|
+
})
|
|
136
|
+
]);
|
|
137
|
+
const ambientWorkspaceRoot = ambientWorkspaceRootOutcome.ok
|
|
138
|
+
? ambientWorkspaceRootOutcome.value
|
|
139
|
+
: undefined;
|
|
140
|
+
const work = workOutcome.ok ? workOutcome.value : undefined;
|
|
141
|
+
const workspaceRoot = ambientWorkspaceRoot ?? work?.workspaceRoot;
|
|
142
|
+
const checkoutOutcome = await attempt(runtime, () => resolveCheckout(runtime, workspaceRoot, cache), 'touch identity lookup');
|
|
143
|
+
const checkout = checkoutOutcome.ok ? checkoutOutcome.value : undefined;
|
|
144
|
+
return {
|
|
145
|
+
machineId: machine.machineId,
|
|
146
|
+
machineName: machine.machineName,
|
|
147
|
+
participantId: work?.participantId,
|
|
148
|
+
participantSlug: work?.participantSlug,
|
|
149
|
+
workspaceRoot,
|
|
150
|
+
gitBranch: checkout?.gitBranch,
|
|
151
|
+
workItemId: work?.workItemId,
|
|
152
|
+
workItemTitle: work?.workItemTitle
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=touch-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touch-identity.js","sourceRoot":"","sources":["../../src/storage/touch-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare const externalWidgetDescriptor: {
|
|
2
|
+
id: string;
|
|
3
|
+
kind: "tools/ui";
|
|
4
|
+
surfaces: ("cli" | "tui" | "worker" | "bridge" | "web")[];
|
|
5
|
+
role: "badge" | "widget" | "approval";
|
|
6
|
+
targetToolId: string;
|
|
7
|
+
name?: string | undefined;
|
|
8
|
+
description?: string | undefined;
|
|
9
|
+
tags?: string[] | undefined;
|
|
10
|
+
enabled?: boolean | undefined;
|
|
11
|
+
priority?: number | undefined;
|
|
12
|
+
capabilityId?: string | undefined;
|
|
13
|
+
requiredContext?: string[] | undefined;
|
|
14
|
+
optionalContext?: string[] | undefined;
|
|
15
|
+
config?: unknown;
|
|
16
|
+
retention?: string | {
|
|
17
|
+
reason: string;
|
|
18
|
+
maxAgeDays?: number | undefined;
|
|
19
|
+
maxEntries?: number | undefined;
|
|
20
|
+
maxBytes?: number | undefined;
|
|
21
|
+
cascadeFrom?: string | undefined;
|
|
22
|
+
ageField?: string | undefined;
|
|
23
|
+
enforcedBy?: string | undefined;
|
|
24
|
+
} | undefined;
|
|
25
|
+
hardware?: ("consumer" | "cloud")[] | undefined;
|
|
26
|
+
targetId?: string | undefined;
|
|
27
|
+
placement?: "inline" | "top" | "bottom" | undefined;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Runtime plugin (browser/chat parity).
|
|
31
|
+
*
|
|
32
|
+
* The unified `external` tool is External-owned. Its designed Kit ToolCard
|
|
33
|
+
* lives here so Chat hosts discover it through `tools/ui`, not a host-local
|
|
34
|
+
* card table. The consumer plugin (`./consumer/node/plugin`) must not import
|
|
35
|
+
* this graph.
|
|
36
|
+
*/
|
|
37
|
+
export declare const externalSveltePlugin: import("@vibesdotdev/kernel").RuntimePlugin;
|
|
38
|
+
export default externalSveltePlugin;
|
|
39
|
+
//# sourceMappingURL=external-svelte.plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-svelte.plugin.d.ts","sourceRoot":"","sources":["../../src/svelte/external-svelte.plugin.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGnC,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,6CAW/B,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createRuntimePlugin } from '@vibesdotdev/kernel';
|
|
2
|
+
import { createSvelteToolWidgetDescriptor, createSvelteToolWidgetLoader } from '@vibesdotdev/tools/svelte/tool-widgets';
|
|
3
|
+
export const externalWidgetDescriptor = createSvelteToolWidgetDescriptor({
|
|
4
|
+
toolId: 'external',
|
|
5
|
+
tags: ['external', 'integration']
|
|
6
|
+
});
|
|
7
|
+
/**
|
|
8
|
+
* Runtime plugin (browser/chat parity).
|
|
9
|
+
*
|
|
10
|
+
* The unified `external` tool is External-owned. Its designed Kit ToolCard
|
|
11
|
+
* lives here so Chat hosts discover it through `tools/ui`, not a host-local
|
|
12
|
+
* card table. The consumer plugin (`./consumer/node/plugin`) must not import
|
|
13
|
+
* this graph.
|
|
14
|
+
*/
|
|
15
|
+
export const externalSveltePlugin = createRuntimePlugin({
|
|
16
|
+
id: '@vibesdotdev/external/svelte',
|
|
17
|
+
name: 'External Svelte',
|
|
18
|
+
description: 'Svelte/browser surface for the unified external tool card',
|
|
19
|
+
dependencies: ['tools'],
|
|
20
|
+
descriptors: [externalWidgetDescriptor],
|
|
21
|
+
loaders: [
|
|
22
|
+
createSvelteToolWidgetLoader(externalWidgetDescriptor, () => import('./tool-widgets/ExternalToolCard.svelte'))
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
export default externalSveltePlugin;
|