@cleocode/core 2026.6.13 → 2026.6.15
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/dist/admin/ops.d.ts +4 -0
- package/dist/admin/ops.d.ts.map +1 -1
- package/dist/check/index.d.ts +12 -0
- package/dist/check/index.d.ts.map +1 -0
- package/dist/check/index.js +12 -0
- package/dist/check/index.js.map +1 -0
- package/dist/check/pr-gate.d.ts +183 -0
- package/dist/check/pr-gate.d.ts.map +1 -0
- package/dist/check/pr-gate.js +348 -0
- package/dist/check/pr-gate.js.map +1 -0
- package/dist/conduit/delivery-router.d.ts +134 -0
- package/dist/conduit/delivery-router.d.ts.map +1 -0
- package/dist/conduit/delivery-router.js +0 -0
- package/dist/conduit/delivery-router.js.map +1 -0
- package/dist/conduit/index.d.ts +5 -2
- package/dist/conduit/index.d.ts.map +1 -1
- package/dist/conduit/index.js +5 -2
- package/dist/conduit/index.js.map +1 -1
- package/dist/conduit/local-tui-adapter.d.ts +89 -0
- package/dist/conduit/local-tui-adapter.d.ts.map +1 -0
- package/dist/conduit/local-tui-adapter.js +225 -0
- package/dist/conduit/local-tui-adapter.js.map +1 -0
- package/dist/config/config-repair.d.ts +70 -0
- package/dist/config/config-repair.d.ts.map +1 -0
- package/dist/config/config-repair.js +248 -0
- package/dist/config/config-repair.js.map +1 -0
- package/dist/config/registry.d.ts +54 -0
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +92 -0
- package/dist/config/registry.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -10
- package/dist/config.js.map +1 -1
- package/dist/deriver/queue-manager.d.ts +30 -2
- package/dist/deriver/queue-manager.d.ts.map +1 -1
- package/dist/deriver/queue-manager.js +54 -9
- package/dist/deriver/queue-manager.js.map +1 -1
- package/dist/dispatch/config-domain-handler.d.ts +125 -0
- package/dist/dispatch/config-domain-handler.d.ts.map +1 -0
- package/dist/dispatch/config-domain-handler.js +160 -0
- package/dist/dispatch/config-domain-handler.js.map +1 -0
- package/dist/dispatch/contracts/input-contracts.d.ts.map +1 -1
- package/dist/dispatch/contracts/input-contracts.js +19 -1
- package/dist/dispatch/contracts/input-contracts.js.map +1 -1
- package/dist/docs/export-document.js +3721 -696
- package/dist/docs/export-document.js.map +3 -3
- package/dist/gateway-client/client.d.ts +123 -0
- package/dist/gateway-client/client.d.ts.map +1 -0
- package/dist/gateway-client/client.js +93 -0
- package/dist/gateway-client/client.js.map +1 -0
- package/dist/gateway-client/generated/client/client.gen.d.ts +3 -0
- package/dist/gateway-client/generated/client/client.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/client/client.gen.js +217 -0
- package/dist/gateway-client/generated/client/client.gen.js.map +1 -0
- package/dist/gateway-client/generated/client/index.d.ts +11 -0
- package/dist/gateway-client/generated/client/index.d.ts.map +1 -0
- package/dist/gateway-client/generated/client/index.js +7 -0
- package/dist/gateway-client/generated/client/index.js.map +1 -0
- package/dist/gateway-client/generated/client/types.gen.d.ts +121 -0
- package/dist/gateway-client/generated/client/types.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/client/types.gen.js +3 -0
- package/dist/gateway-client/generated/client/types.gen.js.map +1 -0
- package/dist/gateway-client/generated/client/utils.gen.d.ts +38 -0
- package/dist/gateway-client/generated/client/utils.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/client/utils.gen.js +229 -0
- package/dist/gateway-client/generated/client/utils.gen.js.map +1 -0
- package/dist/gateway-client/generated/client.gen.d.ts +13 -0
- package/dist/gateway-client/generated/client.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/client.gen.js +4 -0
- package/dist/gateway-client/generated/client.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/auth.gen.d.ts +26 -0
- package/dist/gateway-client/generated/core/auth.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/auth.gen.js +15 -0
- package/dist/gateway-client/generated/core/auth.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts +26 -0
- package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/bodySerializer.gen.js +58 -0
- package/dist/gateway-client/generated/core/bodySerializer.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/params.gen.d.ts +44 -0
- package/dist/gateway-client/generated/core/params.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/params.gen.js +101 -0
- package/dist/gateway-client/generated/core/params.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts +34 -0
- package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/pathSerializer.gen.js +107 -0
- package/dist/gateway-client/generated/core/pathSerializer.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/queryKeySerializer.gen.js +93 -0
- package/dist/gateway-client/generated/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/serverSentEvents.gen.js +133 -0
- package/dist/gateway-client/generated/core/serverSentEvents.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/types.gen.d.ts +84 -0
- package/dist/gateway-client/generated/core/types.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/types.gen.js +3 -0
- package/dist/gateway-client/generated/core/types.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/utils.gen.d.ts +20 -0
- package/dist/gateway-client/generated/core/utils.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/utils.gen.js +88 -0
- package/dist/gateway-client/generated/core/utils.gen.js.map +1 -0
- package/dist/gateway-client/generated/index.d.ts +3 -0
- package/dist/gateway-client/generated/index.d.ts.map +1 -0
- package/dist/gateway-client/generated/index.js +3 -0
- package/dist/gateway-client/generated/index.js.map +1 -0
- package/dist/gateway-client/generated/namespaces.gen.d.ts +512 -0
- package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/namespaces.gen.js +521 -0
- package/dist/gateway-client/generated/namespaces.gen.js.map +1 -0
- package/dist/gateway-client/generated/sdk.gen.d.ts +1780 -0
- package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/sdk.gen.js +3811 -0
- package/dist/gateway-client/generated/sdk.gen.js.map +1 -0
- package/dist/gateway-client/generated/types.gen.d.ts +14681 -0
- package/dist/gateway-client/generated/types.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/types.gen.js +3 -0
- package/dist/gateway-client/generated/types.gen.js.map +1 -0
- package/dist/gateway-client/index.d.ts +27 -0
- package/dist/gateway-client/index.d.ts.map +1 -0
- package/dist/gateway-client/index.js +25 -0
- package/dist/gateway-client/index.js.map +1 -0
- package/dist/gc/cleanup.d.ts +23 -8
- package/dist/gc/cleanup.d.ts.map +1 -1
- package/dist/gc/cleanup.js +287 -22
- package/dist/gc/cleanup.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +28 -0
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +10 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +18 -1
- package/dist/internal.js.map +1 -1
- package/dist/llm/catalog-model-resolver.d.ts +19 -0
- package/dist/llm/catalog-model-resolver.d.ts.map +1 -1
- package/dist/llm/catalog-model-resolver.js +36 -0
- package/dist/llm/catalog-model-resolver.js.map +1 -1
- package/dist/llm/catalog-resolver.d.ts +112 -0
- package/dist/llm/catalog-resolver.d.ts.map +1 -0
- package/dist/llm/catalog-resolver.js +207 -0
- package/dist/llm/catalog-resolver.js.map +1 -0
- package/dist/llm/catalog-seeder.d.ts +96 -0
- package/dist/llm/catalog-seeder.d.ts.map +1 -0
- package/dist/llm/catalog-seeder.js +189 -0
- package/dist/llm/catalog-seeder.js.map +1 -0
- package/dist/llm/cli-ops.d.ts +16 -0
- package/dist/llm/cli-ops.d.ts.map +1 -1
- package/dist/llm/cli-ops.js +37 -10
- package/dist/llm/cli-ops.js.map +1 -1
- package/dist/llm/complexity-classifier.d.ts +208 -0
- package/dist/llm/complexity-classifier.d.ts.map +1 -0
- package/dist/llm/complexity-classifier.js +359 -0
- package/dist/llm/complexity-classifier.js.map +1 -0
- package/dist/llm/credential-pool.d.ts +2 -0
- package/dist/llm/credential-pool.d.ts.map +1 -1
- package/dist/llm/credential-pool.js +5 -2
- package/dist/llm/credential-pool.js.map +1 -1
- package/dist/llm/credentials-store.d.ts +10 -14
- package/dist/llm/credentials-store.d.ts.map +1 -1
- package/dist/llm/credentials-store.js.map +1 -1
- package/dist/llm/cross-provider-selector.d.ts +249 -0
- package/dist/llm/cross-provider-selector.d.ts.map +1 -0
- package/dist/llm/cross-provider-selector.js +572 -0
- package/dist/llm/cross-provider-selector.js.map +1 -0
- package/dist/llm/entity-ops.d.ts +299 -0
- package/dist/llm/entity-ops.d.ts.map +1 -0
- package/dist/llm/entity-ops.js +441 -0
- package/dist/llm/entity-ops.js.map +1 -0
- package/dist/llm/index.d.ts +17 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +9 -0
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/llm-queue-admit.d.ts +118 -0
- package/dist/llm/llm-queue-admit.d.ts.map +1 -0
- package/dist/llm/llm-queue-admit.js +275 -0
- package/dist/llm/llm-queue-admit.js.map +1 -0
- package/dist/llm/local-model-fit.d.ts +260 -0
- package/dist/llm/local-model-fit.d.ts.map +1 -0
- package/dist/llm/local-model-fit.js +563 -0
- package/dist/llm/local-model-fit.js.map +1 -0
- package/dist/llm/oauth/device-code.d.ts.map +1 -1
- package/dist/llm/oauth/device-code.js +2 -8
- package/dist/llm/oauth/device-code.js.map +1 -1
- package/dist/llm/oauth/google-pkce.d.ts.map +1 -1
- package/dist/llm/oauth/google-pkce.js +2 -18
- package/dist/llm/oauth/google-pkce.js.map +1 -1
- package/dist/llm/oauth/pkce.d.ts +70 -0
- package/dist/llm/oauth/pkce.d.ts.map +1 -1
- package/dist/llm/oauth/pkce.js +106 -29
- package/dist/llm/oauth/pkce.js.map +1 -1
- package/dist/llm/onboarding/front-door.d.ts +146 -0
- package/dist/llm/onboarding/front-door.d.ts.map +1 -0
- package/dist/llm/onboarding/front-door.js +153 -0
- package/dist/llm/onboarding/front-door.js.map +1 -0
- package/dist/llm/onboarding/login-engine.d.ts +175 -0
- package/dist/llm/onboarding/login-engine.d.ts.map +1 -0
- package/dist/llm/onboarding/login-engine.js +286 -0
- package/dist/llm/onboarding/login-engine.js.map +1 -0
- package/dist/llm/pi/pi-gondolin-env.d.ts +23 -0
- package/dist/llm/pi/pi-gondolin-env.d.ts.map +1 -1
- package/dist/llm/pi/pi-gondolin-env.js +2 -2
- package/dist/llm/pi/pi-gondolin-env.js.map +1 -1
- package/dist/llm/plugin-facade.js +4612 -1042
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/provider-registry/builtin/anthropic.d.ts.map +1 -1
- package/dist/llm/provider-registry/builtin/anthropic.js +23 -10
- package/dist/llm/provider-registry/builtin/anthropic.js.map +1 -1
- package/dist/llm/provider-registry/builtin/ollama.d.ts +18 -0
- package/dist/llm/provider-registry/builtin/ollama.d.ts.map +1 -1
- package/dist/llm/provider-registry/builtin/ollama.js +20 -2
- package/dist/llm/provider-registry/builtin/ollama.js.map +1 -1
- package/dist/llm/provider-registry/provider-alias.d.ts +62 -0
- package/dist/llm/provider-registry/provider-alias.d.ts.map +1 -0
- package/dist/llm/provider-registry/provider-alias.js +85 -0
- package/dist/llm/provider-registry/provider-alias.js.map +1 -0
- package/dist/llm/provider-registry/provider-defs.d.ts +45 -0
- package/dist/llm/provider-registry/provider-defs.d.ts.map +1 -0
- package/dist/llm/provider-registry/provider-defs.js +145 -0
- package/dist/llm/provider-registry/provider-defs.js.map +1 -0
- package/dist/llm/provider-registry/provider-seed.d.ts +78 -0
- package/dist/llm/provider-registry/provider-seed.d.ts.map +1 -0
- package/dist/llm/provider-registry/provider-seed.js +113 -0
- package/dist/llm/provider-registry/provider-seed.js.map +1 -0
- package/dist/llm/role-executor.d.ts.map +1 -1
- package/dist/llm/role-executor.js +36 -0
- package/dist/llm/role-executor.js.map +1 -1
- package/dist/llm/role-resolver.d.ts.map +1 -1
- package/dist/llm/role-resolver.js +52 -10
- package/dist/llm/role-resolver.js.map +1 -1
- package/dist/llm/system-resolver.d.ts.map +1 -1
- package/dist/llm/system-resolver.js +73 -22
- package/dist/llm/system-resolver.js.map +1 -1
- package/dist/llm/transports/codex-responses.d.ts +111 -88
- package/dist/llm/transports/codex-responses.d.ts.map +1 -1
- package/dist/llm/transports/codex-responses.js +456 -258
- package/dist/llm/transports/codex-responses.js.map +1 -1
- package/dist/memory/learnings.d.ts +4 -0
- package/dist/memory/learnings.d.ts.map +1 -1
- package/dist/memory/patterns.d.ts +4 -0
- package/dist/memory/patterns.d.ts.map +1 -1
- package/dist/metrics/index.d.ts +2 -0
- package/dist/metrics/index.d.ts.map +1 -1
- package/dist/metrics/index.js +1 -0
- package/dist/metrics/index.js.map +1 -1
- package/dist/orchestration/spawn.d.ts +89 -0
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +68 -0
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/playbooks/cantbook-profile.d.ts +96 -0
- package/dist/playbooks/cantbook-profile.d.ts.map +1 -0
- package/dist/playbooks/cantbook-profile.js +97 -0
- package/dist/playbooks/cantbook-profile.js.map +1 -0
- package/dist/playbooks/guarded-deterministic-runner.d.ts +153 -0
- package/dist/playbooks/guarded-deterministic-runner.d.ts.map +1 -0
- package/dist/playbooks/guarded-deterministic-runner.js +155 -0
- package/dist/playbooks/guarded-deterministic-runner.js.map +1 -0
- package/dist/playbooks/index.d.ts +2 -0
- package/dist/playbooks/index.d.ts.map +1 -1
- package/dist/playbooks/index.js +10 -0
- package/dist/playbooks/index.js.map +1 -1
- package/dist/playbooks/pi-runner-wiring.d.ts +75 -0
- package/dist/playbooks/pi-runner-wiring.d.ts.map +1 -0
- package/dist/playbooks/pi-runner-wiring.js +82 -0
- package/dist/playbooks/pi-runner-wiring.js.map +1 -0
- package/dist/release/index.d.ts +2 -2
- package/dist/release/index.d.ts.map +1 -1
- package/dist/release/index.js +1 -1
- package/dist/release/index.js.map +1 -1
- package/dist/release/reconcile.d.ts +97 -0
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +412 -5
- package/dist/release/reconcile.js.map +1 -1
- package/dist/resources/backend.d.ts +155 -0
- package/dist/resources/backend.d.ts.map +1 -0
- package/dist/resources/backend.js +23 -0
- package/dist/resources/backend.js.map +1 -0
- package/dist/resources/linux-backend.d.ts +167 -0
- package/dist/resources/linux-backend.d.ts.map +1 -0
- package/dist/resources/linux-backend.js +259 -0
- package/dist/resources/linux-backend.js.map +1 -0
- package/dist/resources/monitor.d.ts +230 -0
- package/dist/resources/monitor.d.ts.map +1 -0
- package/dist/resources/monitor.js +255 -0
- package/dist/resources/monitor.js.map +1 -0
- package/dist/resources/spawn-wrapper.d.ts +265 -0
- package/dist/resources/spawn-wrapper.d.ts.map +1 -0
- package/dist/resources/spawn-wrapper.js +304 -0
- package/dist/resources/spawn-wrapper.js.map +1 -0
- package/dist/runtime/openapi/generate-openapi.d.ts +211 -0
- package/dist/runtime/openapi/generate-openapi.d.ts.map +1 -0
- package/dist/runtime/openapi/generate-openapi.js +300 -0
- package/dist/runtime/openapi/generate-openapi.js.map +1 -0
- package/dist/runtime/openapi/index.d.ts +16 -0
- package/dist/runtime/openapi/index.d.ts.map +1 -0
- package/dist/runtime/openapi/index.js +16 -0
- package/dist/runtime/openapi/index.js.map +1 -0
- package/dist/selfimprove/budget.d.ts +11 -2
- package/dist/selfimprove/budget.d.ts.map +1 -1
- package/dist/selfimprove/budget.js +11 -2
- package/dist/selfimprove/budget.js.map +1 -1
- package/dist/selfimprove/fix-gen.d.ts +229 -0
- package/dist/selfimprove/fix-gen.d.ts.map +1 -0
- package/dist/selfimprove/fix-gen.js +266 -0
- package/dist/selfimprove/fix-gen.js.map +1 -0
- package/dist/selfimprove/run-loop.d.ts +44 -4
- package/dist/selfimprove/run-loop.d.ts.map +1 -1
- package/dist/selfimprove/run-loop.js +73 -6
- package/dist/selfimprove/run-loop.js.map +1 -1
- package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +32 -0
- package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +18 -0
- package/dist/sentient/cross-project-hygiene.d.ts +11 -2
- package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
- package/dist/sentient/cross-project-hygiene.js +73 -10
- package/dist/sentient/cross-project-hygiene.js.map +1 -1
- package/dist/sentient/daemon.d.ts.map +1 -1
- package/dist/sentient/daemon.js +7 -2
- package/dist/sentient/daemon.js.map +1 -1
- package/dist/sentient/worktree-dispatch.d.ts.map +1 -1
- package/dist/sentient/worktree-dispatch.js +8 -1
- package/dist/sentient/worktree-dispatch.js.map +1 -1
- package/dist/setup/config-json-merge.d.ts.map +1 -1
- package/dist/setup/config-json-merge.js +14 -0
- package/dist/setup/config-json-merge.js.map +1 -1
- package/dist/setup/index.d.ts +23 -11
- package/dist/setup/index.d.ts.map +1 -1
- package/dist/setup/index.js +25 -12
- package/dist/setup/index.js.map +1 -1
- package/dist/setup/sections/llm.d.ts +28 -1
- package/dist/setup/sections/llm.d.ts.map +1 -1
- package/dist/setup/sections/llm.js +27 -6
- package/dist/setup/sections/llm.js.map +1 -1
- package/dist/setup/sections/models-roles.d.ts +40 -0
- package/dist/setup/sections/models-roles.d.ts.map +1 -0
- package/dist/setup/sections/models-roles.js +219 -0
- package/dist/setup/sections/models-roles.js.map +1 -0
- package/dist/setup/wizard.d.ts +19 -1
- package/dist/setup/wizard.d.ts.map +1 -1
- package/dist/setup/wizard.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +7 -1
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/store/attachment-repair.d.ts +110 -0
- package/dist/store/attachment-repair.d.ts.map +1 -0
- package/dist/store/attachment-repair.js +326 -0
- package/dist/store/attachment-repair.js.map +1 -0
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +24 -7
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/schedule-schema.d.ts +195 -0
- package/dist/store/schedule-schema.d.ts.map +1 -0
- package/dist/store/schedule-schema.js +84 -0
- package/dist/store/schedule-schema.js.map +1 -0
- package/dist/store/schedule-store.d.ts +144 -0
- package/dist/store/schedule-store.d.ts.map +1 -0
- package/dist/store/schedule-store.js +162 -0
- package/dist/store/schedule-store.js.map +1 -0
- package/dist/store/schema/attachments.d.ts +1 -1
- package/dist/store/schema/cleo-global/index.d.ts +3 -0
- package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/index.js +5 -0
- package/dist/store/schema/cleo-global/index.js.map +1 -1
- package/dist/store/schema/cleo-global/models-catalog.d.ts +359 -0
- package/dist/store/schema/cleo-global/models-catalog.d.ts.map +1 -0
- package/dist/store/schema/cleo-global/models-catalog.js +114 -0
- package/dist/store/schema/cleo-global/models-catalog.js.map +1 -0
- package/dist/store/schema/cleo-global/providers.d.ts +279 -0
- package/dist/store/schema/cleo-global/providers.d.ts.map +1 -0
- package/dist/store/schema/cleo-global/providers.js +94 -0
- package/dist/store/schema/cleo-global/providers.js.map +1 -0
- package/dist/store/schema/cleo-global/services.d.ts +493 -0
- package/dist/store/schema/cleo-global/services.d.ts.map +1 -0
- package/dist/store/schema/cleo-global/services.js +200 -0
- package/dist/store/schema/cleo-global/services.js.map +1 -0
- package/dist/store/schema/cleo-project/docs.d.ts +1 -1
- package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
- package/dist/store/schema/cleo-shared/brain.d.ts +2 -2
- package/dist/store/schema/memory-schema.d.ts +182 -2
- package/dist/store/schema/memory-schema.d.ts.map +1 -1
- package/dist/store/schema/memory-schema.js +111 -2
- package/dist/store/schema/memory-schema.js.map +1 -1
- package/dist/store/schema/provenance/releases.d.ts +1 -1
- package/dist/store/service-connections-accessor.d.ts +313 -0
- package/dist/store/service-connections-accessor.d.ts.map +1 -0
- package/dist/store/service-connections-accessor.js +464 -0
- package/dist/store/service-connections-accessor.js.map +1 -0
- package/dist/store/service-host-matcher.d.ts +70 -0
- package/dist/store/service-host-matcher.d.ts.map +1 -0
- package/dist/store/service-host-matcher.js +127 -0
- package/dist/store/service-host-matcher.js.map +1 -0
- package/dist/store/service-injection.d.ts +152 -0
- package/dist/store/service-injection.d.ts.map +1 -0
- package/dist/store/service-injection.js +225 -0
- package/dist/store/service-injection.js.map +1 -0
- package/dist/store/service-oauth.d.ts +287 -0
- package/dist/store/service-oauth.d.ts.map +1 -0
- package/dist/store/service-oauth.js +524 -0
- package/dist/store/service-oauth.js.map +1 -0
- package/dist/store/service-trust-gate.d.ts +164 -0
- package/dist/store/service-trust-gate.d.ts.map +1 -0
- package/dist/store/service-trust-gate.js +122 -0
- package/dist/store/service-trust-gate.js.map +1 -0
- package/dist/store/validation-schemas.d.ts +4 -4
- package/dist/tasks/agent-lifecycle-lane.d.ts +175 -0
- package/dist/tasks/agent-lifecycle-lane.d.ts.map +1 -0
- package/dist/tasks/agent-lifecycle-lane.js +176 -0
- package/dist/tasks/agent-lifecycle-lane.js.map +1 -0
- package/dist/tasks/complete.d.ts +17 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +53 -10
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/depends-waiver-audit.d.ts +52 -0
- package/dist/tasks/depends-waiver-audit.d.ts.map +1 -0
- package/dist/tasks/depends-waiver-audit.js +36 -0
- package/dist/tasks/depends-waiver-audit.js.map +1 -0
- package/dist/tasks/engine-wrap.d.ts +36 -2
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +44 -2
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/evidence.d.ts +34 -2
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +293 -35
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/index.d.ts +1 -0
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +1 -0
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/ops.d.ts +3 -0
- package/dist/tasks/ops.d.ts.map +1 -1
- package/dist/tasks/task-ops.d.ts +1 -1
- package/dist/tasks/task-ops.d.ts.map +1 -1
- package/dist/tasks/task-ops.js +3 -1
- package/dist/tasks/task-ops.js.map +1 -1
- package/dist/tasks/task-reparent.d.ts +90 -0
- package/dist/tasks/task-reparent.d.ts.map +1 -1
- package/dist/tasks/task-reparent.js +171 -0
- package/dist/tasks/task-reparent.js.map +1 -1
- package/dist/tools/builtin-agent-tools.d.ts.map +1 -1
- package/dist/tools/builtin-agent-tools.js +41 -0
- package/dist/tools/builtin-agent-tools.js.map +1 -1
- package/dist/tools/exec-code-agent-tool.d.ts +179 -0
- package/dist/tools/exec-code-agent-tool.d.ts.map +1 -0
- package/dist/tools/exec-code-agent-tool.js +239 -0
- package/dist/tools/exec-code-agent-tool.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +15 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/mcp-agent-tool.d.ts +189 -0
- package/dist/tools/mcp-agent-tool.d.ts.map +1 -0
- package/dist/tools/mcp-agent-tool.js +243 -0
- package/dist/tools/mcp-agent-tool.js.map +1 -0
- package/dist/tools/media-agent-tools.d.ts +105 -0
- package/dist/tools/media-agent-tools.d.ts.map +1 -0
- package/dist/tools/media-agent-tools.js +255 -0
- package/dist/tools/media-agent-tools.js.map +1 -0
- package/dist/tools/memory-agent-tools.d.ts +99 -0
- package/dist/tools/memory-agent-tools.d.ts.map +1 -0
- package/dist/tools/memory-agent-tools.js +190 -0
- package/dist/tools/memory-agent-tools.js.map +1 -0
- package/dist/tools/schedule-agent-tools.d.ts +151 -0
- package/dist/tools/schedule-agent-tools.d.ts.map +1 -0
- package/dist/tools/schedule-agent-tools.js +238 -0
- package/dist/tools/schedule-agent-tools.js.map +1 -0
- package/dist/tools/skill-agent-tool.d.ts +108 -0
- package/dist/tools/skill-agent-tool.d.ts.map +1 -0
- package/dist/tools/skill-agent-tool.js +135 -0
- package/dist/tools/skill-agent-tool.js.map +1 -0
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +17 -1
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/verification/verify-tools.d.ts.map +1 -1
- package/dist/verification/verify-tools.js +5 -6
- package/dist/verification/verify-tools.js.map +1 -1
- package/migrations/drizzle-brain/20260610000001_t10405-bitemporal-network-columns/migration.sql +71 -0
- package/migrations/drizzle-cleo-global/20260609000000_t11937-service-vault/migration.sql +93 -0
- package/migrations/drizzle-cleo-global/20260609010000_t11733-models-catalog/migration.sql +65 -0
- package/migrations/drizzle-cleo-global/20260609020000_t11703-providers/migration.sql +52 -0
- package/migrations/drizzle-cleo-global/20260610000000_t11962-schedules/migration.sql +48 -0
- package/migrations/drizzle-cleo-project/20260610000000_t11962-schedules/migration.sql +48 -0
- package/package.json +33 -13
- package/templates/workflows/release-prepare.yml.tmpl +48 -2
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `execute_code` agent tool — guarded code execution via a {@link PiExecutionEnv}
|
|
3
|
+
* (T11946 · M7 · epic T11456 · SG-TOOLS).
|
|
4
|
+
*
|
|
5
|
+
* The first M7 catalog increment: the ONE capability the existing ~18-tool set
|
|
6
|
+
* lacks — running a supplied code snippet. It adds NO new execution mechanism of
|
|
7
|
+
* its own; it routes EVERY run through the EXISTING per-run execution-env selector
|
|
8
|
+
* {@link import('../llm/pi/resolve-execution-env.js').resolveExecutionEnv}, which
|
|
9
|
+
* prefers the Gondolin micro-VM (`backend: 'gondolin'`) when the optional
|
|
10
|
+
* `@earendil-works/gondolin` package + `/dev/kvm` + QEMU are present, and SILENTLY
|
|
11
|
+
* DEGRADES to the always-available in-process deny-first
|
|
12
|
+
* {@link import('../llm/pi/pi-execution-env.js').GuardedExecutionEnv} otherwise.
|
|
13
|
+
* The snippet runs via `env.exec(...)` — NEVER a raw `child_process`.
|
|
14
|
+
*
|
|
15
|
+
* ## Why the selector, not a new primitive (Gate-11 + D11142)
|
|
16
|
+
*
|
|
17
|
+
* `resolveExecutionEnv` already owns the backend choice + the optional-dep
|
|
18
|
+
* degradation. Reusing it means:
|
|
19
|
+
* - **Optional-dep safety (D11142):** this module has NO `import type` from
|
|
20
|
+
* `@earendil-works/gondolin`; the selector loads that package lazily and ONLY
|
|
21
|
+
* when the VM is chosen. `core` builds + runs + tests with gondolin ABSENT —
|
|
22
|
+
* the in-process env runs. This module is import-time side-effect-free.
|
|
23
|
+
* - **Gate-11 (Tools-vs-Skills):** the tool is DEFINED here under
|
|
24
|
+
* `packages/core/src/tools`; it constructs NO new atomic primitive — it
|
|
25
|
+
* consumes the existing `ExecutionEnv` seam + the existing `ToolGuard`.
|
|
26
|
+
* - **Gate-13 (LLM chokepoint):** `execute_code` runs CODE, not an LLM call. It
|
|
27
|
+
* constructs NO transport / client and reads no API key — there is no
|
|
28
|
+
* chokepoint concern.
|
|
29
|
+
*
|
|
30
|
+
* ## Availability (mirrors `browser_*`)
|
|
31
|
+
*
|
|
32
|
+
* The tool is ALWAYS registered but its {@link AvailabilityCheck} returns `false`
|
|
33
|
+
* unless the run context advertises `capabilities.codeExec === true`. This mirrors
|
|
34
|
+
* the Playwright-gated `browser_*` family: registered-but-hidden until the host
|
|
35
|
+
* opts code execution in, so a loop that never enables it cannot invoke arbitrary
|
|
36
|
+
* code. (The in-process env is itself ALWAYS constructible — Gondolin is the
|
|
37
|
+
* preferred-but-optional upgrade — so the gate is a host POLICY switch, not an
|
|
38
|
+
* infra probe.)
|
|
39
|
+
*
|
|
40
|
+
* ## Egress denylist (AC2)
|
|
41
|
+
*
|
|
42
|
+
* Before a command reaches `env.exec`, the tool rejects a real-egress verb
|
|
43
|
+
* ({@link import('../llm/pi/pi-gondolin-env.js').DENIED_EXEC_PREFIXES} — `gh` /
|
|
44
|
+
* `git push` / `git remote` / `npm publish` / `cleo`) via the shared
|
|
45
|
+
* {@link import('../llm/pi/pi-gondolin-env.js').deniedEgressVerb} predicate. The
|
|
46
|
+
* Gondolin backend enforces this denylist itself; applying it HERE gives the
|
|
47
|
+
* in-process fallback the SAME egress posture (the guarded env's command denylist
|
|
48
|
+
* is policy-configured and may not include these verbs).
|
|
49
|
+
*
|
|
50
|
+
* @epic T11456
|
|
51
|
+
* @task T11946
|
|
52
|
+
* @see ../llm/pi/resolve-execution-env.js — the backend selector this tool reuses
|
|
53
|
+
* @see ../llm/pi/pi-execution-env.js — the in-process guarded `ExecutionEnv` fallback
|
|
54
|
+
* @see ./web-agent-tools.js — the `browser_*` optional-dep + capability-gated pattern mirrored here
|
|
55
|
+
*/
|
|
56
|
+
import type { PiExecutionEnv } from '../llm/pi/pi-execution-env.js';
|
|
57
|
+
import { type ExecutionEnvBackend, type ResolveExecutionEnvOptions, type ResolveExecutionEnvSeams } from '../llm/pi/resolve-execution-env.js';
|
|
58
|
+
import { type ToolGuard } from '../tools/guard.js';
|
|
59
|
+
import type { AgentToolRegistry, AvailabilityCheck } from './agent-registry.js';
|
|
60
|
+
/** The languages `execute_code` knows how to invoke (AC2). */
|
|
61
|
+
export declare const EXEC_CODE_LANGUAGES: readonly ["python", "node", "bash", "sh"];
|
|
62
|
+
/** One supported {@link EXEC_CODE_LANGUAGES} value. */
|
|
63
|
+
export type ExecCodeLanguage = (typeof EXEC_CODE_LANGUAGES)[number];
|
|
64
|
+
/**
|
|
65
|
+
* Available ONLY when the run context opts code execution in
|
|
66
|
+
* (`capabilities.codeExec === true`). Mirrors the `browser_*` family's
|
|
67
|
+
* `playwright`-gated predicate: the tool is ALWAYS registered (so the catalog is
|
|
68
|
+
* stable) but hidden by `available()` until the host advertises the capability, so
|
|
69
|
+
* a loop that never enables it cannot run arbitrary code.
|
|
70
|
+
*/
|
|
71
|
+
export declare const codeExecAvailable: AvailabilityCheck;
|
|
72
|
+
/**
|
|
73
|
+
* Result of an {@link registerExecCodeAgentTool | execute_code} run — the captured
|
|
74
|
+
* process output plus the resolved language and backend, for the LLM and for
|
|
75
|
+
* structured logging. `exitCode` is `null` when the process was killed by a
|
|
76
|
+
* signal/timeout (the {@link PiExecResult} contract).
|
|
77
|
+
*/
|
|
78
|
+
export interface ExecCodeResult {
|
|
79
|
+
/** The language the snippet was run as. */
|
|
80
|
+
readonly language: ExecCodeLanguage;
|
|
81
|
+
/** Captured standard output. */
|
|
82
|
+
readonly stdout: string;
|
|
83
|
+
/** Captured standard error. */
|
|
84
|
+
readonly stderr: string;
|
|
85
|
+
/** Process exit code, or `null` when killed by signal/timeout. */
|
|
86
|
+
readonly exitCode: number | null;
|
|
87
|
+
/** The confinement backend that ran the snippet (`gondolin` or `in-process`). */
|
|
88
|
+
readonly backend: ExecutionEnvBackend;
|
|
89
|
+
/** Whether the run completed without a denial/transport error (`exec` returned ok). */
|
|
90
|
+
readonly ok: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Present only when `ok === false`: a stable code + message for why the run did
|
|
93
|
+
* not produce a process result (e.g. a denied egress verb, or the selected
|
|
94
|
+
* env's `exec` returned `Result.err`). NEVER carries a raw secret.
|
|
95
|
+
*/
|
|
96
|
+
readonly error?: {
|
|
97
|
+
readonly code: string;
|
|
98
|
+
readonly message: string;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The selector seam {@link registerExecCodeAgentTool} resolves a
|
|
103
|
+
* {@link PiExecutionEnv} through. Defaults to the real
|
|
104
|
+
* {@link import('../llm/pi/resolve-execution-env.js').resolveExecutionEnv}.
|
|
105
|
+
*
|
|
106
|
+
* EXPORTED so the unit test can inject a fake selector that returns a fake
|
|
107
|
+
* `PiExecutionEnv` — asserting the selector IS called and its `exec` output is
|
|
108
|
+
* captured, WITHOUT a real Gondolin VM, QEMU, or subprocess. In production the
|
|
109
|
+
* default is the real selector (Gondolin when available, in-process guarded env
|
|
110
|
+
* otherwise — gondolin ABSENT in CI).
|
|
111
|
+
*/
|
|
112
|
+
export type ExecutionEnvResolver = (opts: ResolveExecutionEnvOptions, seams?: ResolveExecutionEnvSeams) => Promise<PiExecutionEnv>;
|
|
113
|
+
/** Options for {@link registerExecCodeAgentTool} — all injectable for testing. */
|
|
114
|
+
export interface ExecCodeAgentToolOptions {
|
|
115
|
+
/**
|
|
116
|
+
* The env selector. Defaults to the real
|
|
117
|
+
* {@link import('../llm/pi/resolve-execution-env.js').resolveExecutionEnv}. The
|
|
118
|
+
* test injects a fake that returns a fake `PiExecutionEnv` (no real VM/subprocess).
|
|
119
|
+
*/
|
|
120
|
+
readonly resolveEnv?: ExecutionEnvResolver;
|
|
121
|
+
/**
|
|
122
|
+
* The confinement backend to PREFER. `'gondolin'` boots the micro-VM when the
|
|
123
|
+
* optional package + `/dev/kvm` + QEMU are present and DEGRADES to the in-process
|
|
124
|
+
* env otherwise (the CI / most-developer-machines path); `'in-process'` always
|
|
125
|
+
* resolves to the guarded env without probing the host. Defaults to `'gondolin'`
|
|
126
|
+
* — prefer the strongest available confinement, degrade silently.
|
|
127
|
+
*/
|
|
128
|
+
readonly backend?: ExecutionEnvBackend;
|
|
129
|
+
/**
|
|
130
|
+
* The enforce-mode {@link ToolGuard} backing the in-process fallback. Defaults to
|
|
131
|
+
* a fresh `createToolGuard({ mode: 'enforce' })` per run. Injectable so a host
|
|
132
|
+
* can supply a guard with a project path allowlist + command denylist.
|
|
133
|
+
*/
|
|
134
|
+
readonly guard?: ToolGuard;
|
|
135
|
+
/**
|
|
136
|
+
* The absolute workspace root the in-process fallback confines fs paths under.
|
|
137
|
+
* Defaults to the resolved project root (`resolveOrCwd(undefined)`, T9584 — never
|
|
138
|
+
* a bare `process.cwd()`). The VM backend confines to its own `/workspace`.
|
|
139
|
+
*/
|
|
140
|
+
readonly workspaceRoot?: string;
|
|
141
|
+
/**
|
|
142
|
+
* The disposable seeded-copy host dir mounted RW at the VM's `/workspace`.
|
|
143
|
+
* REQUIRED only when a real Gondolin VM actually boots (`backend: 'gondolin'` AND
|
|
144
|
+
* available) — MUST be a `VACUUM INTO` snapshot dir, NEVER the live `.cleo` DBs.
|
|
145
|
+
* Ignored by the in-process fallback (the CI path).
|
|
146
|
+
*/
|
|
147
|
+
readonly seededCopyDir?: string;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Build the command line for a `language` + `code` pair. Each interpreter runs the
|
|
151
|
+
* snippet from its inline-code flag (`python -c`, `node -e`, `bash -c`, `sh -c`)
|
|
152
|
+
* with the code passed as ONE single-quoted argument — no further shell expansion
|
|
153
|
+
* of the model's code into the command shape.
|
|
154
|
+
*
|
|
155
|
+
* @param language - The interpreter to run.
|
|
156
|
+
* @param code - The model-supplied snippet.
|
|
157
|
+
* @returns The command string handed to `env.exec`.
|
|
158
|
+
*/
|
|
159
|
+
export declare function buildExecCommand(language: ExecCodeLanguage, code: string): string;
|
|
160
|
+
/**
|
|
161
|
+
* Register the `execute_code` tool into `registry`. Pure registration — no env is
|
|
162
|
+
* resolved, no VM is booted, no code runs here; all of that happens later inside
|
|
163
|
+
* the tool's `execute` through the injected (or default) selector. Import-time
|
|
164
|
+
* side-effect-free + optional-dep-safe (D11142).
|
|
165
|
+
*
|
|
166
|
+
* @param registry - The registry to populate.
|
|
167
|
+
* @param options - Injectable selector / backend / guard / workspace (for testing).
|
|
168
|
+
*/
|
|
169
|
+
export declare function registerExecCodeAgentTool(registry: AgentToolRegistry, options?: ExecCodeAgentToolOptions): void;
|
|
170
|
+
/**
|
|
171
|
+
* Self-registration marker (AC1) — the identifier the
|
|
172
|
+
* {@link AgentToolRegistry.discover} bounded source scan greps for. Aliases
|
|
173
|
+
* {@link registerExecCodeAgentTool} so a future scan-dir discovery (or the
|
|
174
|
+
* built-in aggregator) can call it uniformly with the other agent-tool modules.
|
|
175
|
+
*
|
|
176
|
+
* @param registry - The registry to populate.
|
|
177
|
+
*/
|
|
178
|
+
export declare function registerAgentTools(registry: AgentToolRegistry): void;
|
|
179
|
+
//# sourceMappingURL=exec-code-agent-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec-code-agent-tool.d.ts","sourceRoot":"","sources":["../../src/tools/exec-code-agent-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAE9B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIhF,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,2CAA4C,CAAC;AAE7E,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAAgE,CAAC;AAEjG;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,IAAI,EAAE,0BAA0B,EAChC,KAAK,CAAC,EAAE,wBAAwB,KAC7B,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,kFAAkF;AAClF,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAeD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,wBAA6B,GACrC,IAAI,CAkHN;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAEpE"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `execute_code` agent tool — guarded code execution via a {@link PiExecutionEnv}
|
|
3
|
+
* (T11946 · M7 · epic T11456 · SG-TOOLS).
|
|
4
|
+
*
|
|
5
|
+
* The first M7 catalog increment: the ONE capability the existing ~18-tool set
|
|
6
|
+
* lacks — running a supplied code snippet. It adds NO new execution mechanism of
|
|
7
|
+
* its own; it routes EVERY run through the EXISTING per-run execution-env selector
|
|
8
|
+
* {@link import('../llm/pi/resolve-execution-env.js').resolveExecutionEnv}, which
|
|
9
|
+
* prefers the Gondolin micro-VM (`backend: 'gondolin'`) when the optional
|
|
10
|
+
* `@earendil-works/gondolin` package + `/dev/kvm` + QEMU are present, and SILENTLY
|
|
11
|
+
* DEGRADES to the always-available in-process deny-first
|
|
12
|
+
* {@link import('../llm/pi/pi-execution-env.js').GuardedExecutionEnv} otherwise.
|
|
13
|
+
* The snippet runs via `env.exec(...)` — NEVER a raw `child_process`.
|
|
14
|
+
*
|
|
15
|
+
* ## Why the selector, not a new primitive (Gate-11 + D11142)
|
|
16
|
+
*
|
|
17
|
+
* `resolveExecutionEnv` already owns the backend choice + the optional-dep
|
|
18
|
+
* degradation. Reusing it means:
|
|
19
|
+
* - **Optional-dep safety (D11142):** this module has NO `import type` from
|
|
20
|
+
* `@earendil-works/gondolin`; the selector loads that package lazily and ONLY
|
|
21
|
+
* when the VM is chosen. `core` builds + runs + tests with gondolin ABSENT —
|
|
22
|
+
* the in-process env runs. This module is import-time side-effect-free.
|
|
23
|
+
* - **Gate-11 (Tools-vs-Skills):** the tool is DEFINED here under
|
|
24
|
+
* `packages/core/src/tools`; it constructs NO new atomic primitive — it
|
|
25
|
+
* consumes the existing `ExecutionEnv` seam + the existing `ToolGuard`.
|
|
26
|
+
* - **Gate-13 (LLM chokepoint):** `execute_code` runs CODE, not an LLM call. It
|
|
27
|
+
* constructs NO transport / client and reads no API key — there is no
|
|
28
|
+
* chokepoint concern.
|
|
29
|
+
*
|
|
30
|
+
* ## Availability (mirrors `browser_*`)
|
|
31
|
+
*
|
|
32
|
+
* The tool is ALWAYS registered but its {@link AvailabilityCheck} returns `false`
|
|
33
|
+
* unless the run context advertises `capabilities.codeExec === true`. This mirrors
|
|
34
|
+
* the Playwright-gated `browser_*` family: registered-but-hidden until the host
|
|
35
|
+
* opts code execution in, so a loop that never enables it cannot invoke arbitrary
|
|
36
|
+
* code. (The in-process env is itself ALWAYS constructible — Gondolin is the
|
|
37
|
+
* preferred-but-optional upgrade — so the gate is a host POLICY switch, not an
|
|
38
|
+
* infra probe.)
|
|
39
|
+
*
|
|
40
|
+
* ## Egress denylist (AC2)
|
|
41
|
+
*
|
|
42
|
+
* Before a command reaches `env.exec`, the tool rejects a real-egress verb
|
|
43
|
+
* ({@link import('../llm/pi/pi-gondolin-env.js').DENIED_EXEC_PREFIXES} — `gh` /
|
|
44
|
+
* `git push` / `git remote` / `npm publish` / `cleo`) via the shared
|
|
45
|
+
* {@link import('../llm/pi/pi-gondolin-env.js').deniedEgressVerb} predicate. The
|
|
46
|
+
* Gondolin backend enforces this denylist itself; applying it HERE gives the
|
|
47
|
+
* in-process fallback the SAME egress posture (the guarded env's command denylist
|
|
48
|
+
* is policy-configured and may not include these verbs).
|
|
49
|
+
*
|
|
50
|
+
* @epic T11456
|
|
51
|
+
* @task T11946
|
|
52
|
+
* @see ../llm/pi/resolve-execution-env.js — the backend selector this tool reuses
|
|
53
|
+
* @see ../llm/pi/pi-execution-env.js — the in-process guarded `ExecutionEnv` fallback
|
|
54
|
+
* @see ./web-agent-tools.js — the `browser_*` optional-dep + capability-gated pattern mirrored here
|
|
55
|
+
*/
|
|
56
|
+
import { z } from 'zod';
|
|
57
|
+
import { DENIED_EXEC_PREFIXES, deniedEgressVerb } from '../llm/pi/pi-gondolin-env.js';
|
|
58
|
+
import { resolveExecutionEnv as realResolveExecutionEnv, } from '../llm/pi/resolve-execution-env.js';
|
|
59
|
+
import { getLogger } from '../logger.js';
|
|
60
|
+
import { resolveOrCwd } from '../paths.js';
|
|
61
|
+
import { createToolGuard } from '../tools/guard.js';
|
|
62
|
+
const log = getLogger('tool-exec-code');
|
|
63
|
+
/** The languages `execute_code` knows how to invoke (AC2). */
|
|
64
|
+
export const EXEC_CODE_LANGUAGES = ['python', 'node', 'bash', 'sh'];
|
|
65
|
+
/**
|
|
66
|
+
* Available ONLY when the run context opts code execution in
|
|
67
|
+
* (`capabilities.codeExec === true`). Mirrors the `browser_*` family's
|
|
68
|
+
* `playwright`-gated predicate: the tool is ALWAYS registered (so the catalog is
|
|
69
|
+
* stable) but hidden by `available()` until the host advertises the capability, so
|
|
70
|
+
* a loop that never enables it cannot run arbitrary code.
|
|
71
|
+
*/
|
|
72
|
+
export const codeExecAvailable = (ctx) => ctx.capabilities?.codeExec === true;
|
|
73
|
+
/**
|
|
74
|
+
* Shell-quote a single argument for a POSIX `sh -c` / interpreter `-c`/`-e`
|
|
75
|
+
* invocation: wrap in single quotes and escape embedded single quotes. The code
|
|
76
|
+
* is UNTRUSTED model input, so it is passed as ONE quoted argument to the
|
|
77
|
+
* interpreter's `-c`/`-e` flag rather than interpolated into the command shape.
|
|
78
|
+
*
|
|
79
|
+
* @param value - The raw argument (the model-supplied code).
|
|
80
|
+
* @returns The single-quoted, shell-safe token.
|
|
81
|
+
*/
|
|
82
|
+
function singleQuote(value) {
|
|
83
|
+
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Build the command line for a `language` + `code` pair. Each interpreter runs the
|
|
87
|
+
* snippet from its inline-code flag (`python -c`, `node -e`, `bash -c`, `sh -c`)
|
|
88
|
+
* with the code passed as ONE single-quoted argument — no further shell expansion
|
|
89
|
+
* of the model's code into the command shape.
|
|
90
|
+
*
|
|
91
|
+
* @param language - The interpreter to run.
|
|
92
|
+
* @param code - The model-supplied snippet.
|
|
93
|
+
* @returns The command string handed to `env.exec`.
|
|
94
|
+
*/
|
|
95
|
+
export function buildExecCommand(language, code) {
|
|
96
|
+
const quoted = singleQuote(code);
|
|
97
|
+
switch (language) {
|
|
98
|
+
case 'python':
|
|
99
|
+
return `python -c ${quoted}`;
|
|
100
|
+
case 'node':
|
|
101
|
+
return `node -e ${quoted}`;
|
|
102
|
+
case 'bash':
|
|
103
|
+
return `bash -c ${quoted}`;
|
|
104
|
+
case 'sh':
|
|
105
|
+
return `sh -c ${quoted}`;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Register the `execute_code` tool into `registry`. Pure registration — no env is
|
|
110
|
+
* resolved, no VM is booted, no code runs here; all of that happens later inside
|
|
111
|
+
* the tool's `execute` through the injected (or default) selector. Import-time
|
|
112
|
+
* side-effect-free + optional-dep-safe (D11142).
|
|
113
|
+
*
|
|
114
|
+
* @param registry - The registry to populate.
|
|
115
|
+
* @param options - Injectable selector / backend / guard / workspace (for testing).
|
|
116
|
+
*/
|
|
117
|
+
export function registerExecCodeAgentTool(registry, options = {}) {
|
|
118
|
+
const resolveEnv = options.resolveEnv ?? realResolveExecutionEnv;
|
|
119
|
+
const backend = options.backend ?? 'gondolin';
|
|
120
|
+
registry.register({
|
|
121
|
+
name: 'execute_code',
|
|
122
|
+
// 'shell' — the run is a process invocation (its strongest side-effect surface).
|
|
123
|
+
class: 'shell',
|
|
124
|
+
description: 'Execute a code snippet in a guarded execution environment (Gondolin micro-VM ' +
|
|
125
|
+
'when available, in-process guarded sandbox otherwise) and capture its ' +
|
|
126
|
+
'stdout / stderr / exit code. Real-egress verbs (gh, git push, npm publish, ' +
|
|
127
|
+
'cleo) are denied. Available only when the run enables code execution.',
|
|
128
|
+
toolset: 'agent',
|
|
129
|
+
stateless: true,
|
|
130
|
+
available: codeExecAvailable,
|
|
131
|
+
parameters: z.object({
|
|
132
|
+
language: z
|
|
133
|
+
.enum(EXEC_CODE_LANGUAGES)
|
|
134
|
+
.describe('Interpreter to run the snippet with: python, node, bash, or sh.'),
|
|
135
|
+
code: z.string().describe('The source code / script to execute.'),
|
|
136
|
+
timeoutMs: z
|
|
137
|
+
.number()
|
|
138
|
+
.int()
|
|
139
|
+
.positive()
|
|
140
|
+
.optional()
|
|
141
|
+
.describe('Hard wall-time ceiling for the run, in milliseconds.'),
|
|
142
|
+
}),
|
|
143
|
+
execute: async (rawArgs) => {
|
|
144
|
+
// `rawArgs` is the schema-validated argument object (the dispatch engine
|
|
145
|
+
// re-validates against `parameters` before calling). Narrow defensively.
|
|
146
|
+
const language = rawArgs.language;
|
|
147
|
+
const code = String(rawArgs.code);
|
|
148
|
+
const timeoutMs = typeof rawArgs.timeoutMs === 'number' ? rawArgs.timeoutMs : undefined;
|
|
149
|
+
// AC2: deny a real-egress verb BEFORE the env runs it — same posture on the
|
|
150
|
+
// in-process fallback as on the Gondolin backend (whose own denylist is the
|
|
151
|
+
// shared DENIED_EXEC_PREFIXES list). The check runs against the SNIPPET
|
|
152
|
+
// itself (the leading verb the user wants to run), NOT the wrapped
|
|
153
|
+
// `bash -c '<snippet>'` command — whose argv-0 is always a benign
|
|
154
|
+
// interpreter (`bash`/`sh`/`python`/`node`). For a shell snippet (`bash`/`sh`)
|
|
155
|
+
// the code IS the command line, so `gh …`/`git push …`/`npm publish …` is
|
|
156
|
+
// caught; for `python`/`node` the same scan is a harmless extra net.
|
|
157
|
+
const denied = deniedEgressVerb(code);
|
|
158
|
+
if (denied !== null) {
|
|
159
|
+
return {
|
|
160
|
+
language,
|
|
161
|
+
stdout: '',
|
|
162
|
+
stderr: '',
|
|
163
|
+
exitCode: null,
|
|
164
|
+
backend,
|
|
165
|
+
ok: false,
|
|
166
|
+
error: {
|
|
167
|
+
code: 'E_EXEC_CODE_EGRESS_DENIED',
|
|
168
|
+
message: `egress verb "${denied}" is denied (one of: ${DENIED_EXEC_PREFIXES.join(', ')})`,
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
// Shape the interpreter command line (the snippet passed as ONE quoted
|
|
173
|
+
// argument to the interpreter's inline-code flag — no shell expansion of the
|
|
174
|
+
// model's code into the command shape).
|
|
175
|
+
const command = buildExecCommand(language, code);
|
|
176
|
+
// Resolve the per-run env through the SELECTOR (Gondolin if present, else the
|
|
177
|
+
// in-process guarded env). The selector owns the optional-dep degradation —
|
|
178
|
+
// this call works with gondolin ABSENT.
|
|
179
|
+
const guard = options.guard ?? createToolGuard({ mode: 'enforce' });
|
|
180
|
+
// `resolveOrCwd` resolves to the supplied root, else the project root (T9584
|
|
181
|
+
// — never a bare `process.cwd()` in core).
|
|
182
|
+
const workspaceRoot = resolveOrCwd(options.workspaceRoot);
|
|
183
|
+
const env = await resolveEnv({
|
|
184
|
+
backend,
|
|
185
|
+
guard,
|
|
186
|
+
workspaceRoot,
|
|
187
|
+
...(options.seededCopyDir !== undefined ? { seededCopyDir: options.seededCopyDir } : {}),
|
|
188
|
+
});
|
|
189
|
+
try {
|
|
190
|
+
const result = await env.exec(command, {
|
|
191
|
+
...(timeoutMs !== undefined ? { timeout: timeoutMs } : {}),
|
|
192
|
+
});
|
|
193
|
+
if (!result.ok) {
|
|
194
|
+
// `exec` never throws — a denial / failure is a typed Result.err. Surface
|
|
195
|
+
// it as a non-ok run rather than a thrown executable error.
|
|
196
|
+
return {
|
|
197
|
+
language,
|
|
198
|
+
stdout: '',
|
|
199
|
+
stderr: '',
|
|
200
|
+
exitCode: null,
|
|
201
|
+
backend,
|
|
202
|
+
ok: false,
|
|
203
|
+
error: { code: result.error.code, message: result.error.message },
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
return {
|
|
207
|
+
language,
|
|
208
|
+
stdout: result.value.stdout,
|
|
209
|
+
stderr: result.value.stderr,
|
|
210
|
+
exitCode: result.value.exitCode,
|
|
211
|
+
backend,
|
|
212
|
+
ok: true,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
finally {
|
|
216
|
+
// Best-effort teardown — the env (VM or guarded) may own resources; cleanup
|
|
217
|
+
// never throws (the PiExecutionEnv contract).
|
|
218
|
+
try {
|
|
219
|
+
await env.cleanup();
|
|
220
|
+
}
|
|
221
|
+
catch (err) {
|
|
222
|
+
log.debug({ err }, 'execute_code: env cleanup failed (ignored)');
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Self-registration marker (AC1) — the identifier the
|
|
230
|
+
* {@link AgentToolRegistry.discover} bounded source scan greps for. Aliases
|
|
231
|
+
* {@link registerExecCodeAgentTool} so a future scan-dir discovery (or the
|
|
232
|
+
* built-in aggregator) can call it uniformly with the other agent-tool modules.
|
|
233
|
+
*
|
|
234
|
+
* @param registry - The registry to populate.
|
|
235
|
+
*/
|
|
236
|
+
export function registerAgentTools(registry) {
|
|
237
|
+
registerExecCodeAgentTool(registry);
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=exec-code-agent-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec-code-agent-tool.js","sourceRoot":"","sources":["../../src/tools/exec-code-agent-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -48,10 +48,16 @@ export { BrowserSession, isPlaywrightAvailable, PLAYWRIGHT_INSTALL_HINT, type Pl
|
|
|
48
48
|
export { registerBuiltinAgentTools } from './builtin-agent-tools.js';
|
|
49
49
|
export { flattenZodIssues, formatToolResultForLlm, formatToolValueForLlm, MAX_TOOL_RESULT_CHARS, redactErrorMessage, TOOL_DISPATCH_ERROR_CODE, type ToolArgIssue, type ToolBudgetLimits, type ToolBudgetSnapshot, type ToolCall, ToolCallBudget, ToolDispatchEngine, type ToolDispatchEngineDeps, type ToolDispatchErrorKind, type ToolDispatchFailure, type ToolDispatchResult, type ToolDispatchSuccess, type ToolResultPayload, ToolTimeoutError, } from './dispatch.js';
|
|
50
50
|
export { isForbiddenEnvName, type ScrubEnvOptions, scrubSubprocessEnv, TRUSTED_PATH, } from './env-scrub.js';
|
|
51
|
+
export { buildExecCommand, codeExecAvailable, EXEC_CODE_LANGUAGES, type ExecCodeAgentToolOptions, type ExecCodeLanguage, type ExecCodeResult, type ExecutionEnvResolver, registerExecCodeAgentTool, } from './exec-code-agent-tool.js';
|
|
51
52
|
export { createToolGuard, GUARD_ENFORCE_DEADLINE, GUARD_ENFORCE_FLIP_ENABLED, GuardDeniedError, type GuardMode, resolveDefaultGuardMode, type ToolGuard, type ToolGuardPolicy, } from './guard.js';
|
|
53
|
+
export { buildMcpProxyTool, connectMcpServer, MCP_TRANSPORT_KINDS, type McpAgentToolOptions, type McpConnection, type McpRemoteTool, type McpToolCallResult, type McpTransport, type McpTransportKind, mcpToolName, registerMcpAgentTools, registerMcpConnectionTools, } from './mcp-agent-tool.js';
|
|
54
|
+
export { type MediaAgentToolOptions, type MediaModelResult, multimodalAvailable, registerMediaAgentTools, } from './media-agent-tools.js';
|
|
55
|
+
export { type MemoryAgentToolOptions, type MemoryOps, registerMemoryAgentTools, } from './memory-agent-tools.js';
|
|
52
56
|
export { runPty } from './pty.js';
|
|
57
|
+
export { type CronScheduleResult, registerScheduleAgentTools, type ScheduleAgentToolOptions, scheduleStoreAvailable, type TaskOps, } from './schedule-agent-tools.js';
|
|
53
58
|
export { type ZodSchemaTool, zodSchemaToOpenAITool } from './schema-gen.js';
|
|
54
59
|
export { defaultShellExecutor, type ShellExecutor } from './shell.js';
|
|
60
|
+
export { type RunSkillResult, registerSkillAgentTool, type SkillAgentToolOptions, type SkillResolver, } from './skill-agent-tool.js';
|
|
55
61
|
export { registerWebAgentTools, type WebAgentToolOptions } from './web-agent-tools.js';
|
|
56
62
|
export { defaultHttpFetch, duckDuckGoBackend, extractTitle, fetchAndExtract, type HttpFetch, htmlToMarkdown, makeSearxngBackend, parseDuckDuckGoHtml, parseSearxngJson, resolveSearchBackends, runSearch, type WebSearchBackend, } from './web-search-backends.js';
|
|
57
63
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,cAAc,yBAAyB,CAAC;AACxC,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAE7F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,cAAc,iBAAiB,CAAC;AAEhC,cAAc,wBAAwB,CAAC;AAMvC,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAOrE,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,cAAc,EACd,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,kBAAkB,EAClB,KAAK,eAAe,EACpB,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,cAAc,yBAAyB,CAAC;AACxC,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAE7F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,cAAc,iBAAiB,CAAC;AAEhC,cAAc,wBAAwB,CAAC;AAMvC,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAOrE,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,cAAc,EACd,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,kBAAkB,EAClB,KAAK,eAAe,EACpB,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,KAAK,SAAS,EACd,uBAAuB,EACvB,KAAK,SAAS,EACd,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,WAAW,EACX,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACd,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,KAAK,kBAAkB,EACvB,0BAA0B,EAC1B,KAAK,wBAAwB,EAC7B,sBAAsB,EACtB,KAAK,OAAO,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAG5E,OAAO,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EACL,KAAK,cAAc,EACnB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,KAAK,SAAS,EACd,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACT,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -75,16 +75,31 @@ export { flattenZodIssues, formatToolResultForLlm, formatToolValueForLlm, MAX_TO
|
|
|
75
75
|
// allowlisted child env so daemon secrets never leak and a Pi-controlled loader
|
|
76
76
|
// hook / PATH can never reach a spawned process.
|
|
77
77
|
export { isForbiddenEnvName, scrubSubprocessEnv, TRUSTED_PATH, } from './env-scrub.js';
|
|
78
|
+
// `execute_code` agent tool (T11946 · M7) — the `agent` toolset's guarded
|
|
79
|
+
// code-execution capability. Routes every run through the existing
|
|
80
|
+
// `resolveExecutionEnv` selector (Gondolin micro-VM when available, in-process
|
|
81
|
+
// guarded `ExecutionEnv` otherwise — gondolin is OPTIONAL, so core builds with it
|
|
82
|
+
// ABSENT). Registered always; available() hides it unless `capabilities.codeExec`.
|
|
83
|
+
export { buildExecCommand, codeExecAvailable, EXEC_CODE_LANGUAGES, registerExecCodeAgentTool, } from './exec-code-agent-tool.js';
|
|
78
84
|
// Atomic-tool guard chokepoint (E3 · T11407 · T11474) — the ONLY public route to
|
|
79
85
|
// the fs/shell primitives. Raw primitives are intentionally not re-exported.
|
|
80
86
|
export { createToolGuard, GUARD_ENFORCE_DEADLINE, GUARD_ENFORCE_FLIP_ENABLED, GuardDeniedError, resolveDefaultGuardMode, } from './guard.js';
|
|
87
|
+
export { buildMcpProxyTool, connectMcpServer, MCP_TRANSPORT_KINDS, mcpToolName, registerMcpAgentTools, registerMcpConnectionTools, } from './mcp-agent-tool.js';
|
|
88
|
+
// M7 agent-tool catalog (T11947–T11951) — memory / mcp / run_skill / cron-todo /
|
|
89
|
+
// vision-media families. Each DEFINED here under `packages/core/src/tools`
|
|
90
|
+
// (Gate-11) and CONSUMES an existing subsystem (BRAIN / skills / task store / E9
|
|
91
|
+
// chokepoint) — no new store, no new loader, no raw provider client (Gate-13).
|
|
92
|
+
export { multimodalAvailable, registerMediaAgentTools, } from './media-agent-tools.js';
|
|
93
|
+
export { registerMemoryAgentTools, } from './memory-agent-tools.js';
|
|
81
94
|
// PTY shell runner (T1741) — the terminal toolset's execution backend; lazily +
|
|
82
95
|
// optionally loads `node-pty`, transparently degrading to non-PTY `spawn`.
|
|
83
96
|
export { runPty } from './pty.js';
|
|
97
|
+
export { registerScheduleAgentTools, scheduleStoreAvailable, } from './schedule-agent-tools.js';
|
|
84
98
|
export { zodSchemaToOpenAITool } from './schema-gen.js';
|
|
85
99
|
// Injectable shell executor (E3 · T11406) — threaded into the guard's
|
|
86
100
|
// executeShell/runGit; substitutes the subprocess layer in tests/sandboxes.
|
|
87
101
|
export { defaultShellExecutor } from './shell.js';
|
|
102
|
+
export { registerSkillAgentTool, } from './skill-agent-tool.js';
|
|
88
103
|
export { registerWebAgentTools } from './web-agent-tools.js';
|
|
89
104
|
export { defaultHttpFetch, duckDuckGoBackend, extractTitle, fetchAndExtract, htmlToMarkdown, makeSearxngBackend, parseDuckDuckGoHtml, parseSearxngJson, resolveSearchBackends, runSearch, } from './web-search-backends.js';
|
|
90
105
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|