@cleocode/core 2026.6.13 → 2026.6.14
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 +179 -0
- package/dist/check/pr-gate.d.ts.map +1 -0
- package/dist/check/pr-gate.js +366 -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/registry.d.ts +54 -0
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +94 -2
- package/dist/config/registry.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 +3704 -680
- 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/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.js +5 -5
- 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/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 +15 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +8 -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/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 +3853 -814
- 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/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 +9 -2
- 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/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/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/scenarios/dhq-replay-find/golden.json +32 -0
- package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +18 -0
- 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/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/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/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 +23 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guarded-deterministic-runner.js","sourceRoot":"","sources":["../../src/playbooks/guarded-deterministic-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAIH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAsB,MAAM,CAAC,MAAM,CAAC;IACpF,IAAI;IACJ,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAgEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,gCAAgC,CAC9C,IAAuC;IAEvC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,KAAgC;YACxC,IAAI,CAAC;gBACH,oEAAoE;gBACpE,yEAAyE;gBACzE,sEAAsE;gBACtE,8BAA8B;gBAC9B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;oBACtC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;oBACrB,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E,CAAC,CAAC;gBACH,qEAAqE;gBACrE,wDAAwD;gBACxD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO;wBACL,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE;4BACN,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM;4BACzC,CAAC,GAAG,KAAK,CAAC,MAAM,WAAW,CAAC,EAAE,MAAM,CAAC,IAAI;yBAC1C;qBACF,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE;wBACN,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM;wBACzC,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM;wBACzC,CAAC,GAAG,KAAK,CAAC,MAAM,WAAW,CAAC,EAAE,MAAM,CAAC,IAAI;qBAC1C;oBACD,KAAK,EACH,uBAAuB,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,OAAO,WAAW;wBACzE,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,IAAI,EAAE,EAAE;iBAC/E,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,0EAA0E;gBAC1E,gDAAgD;gBAChD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
* @task T1239 — meta-agent infrastructure (epic T1232)
|
|
12
12
|
*/
|
|
13
13
|
export { AGENT_TIER_META, type AgentDispatcher, CoreAgentDispatcher, type CoreAgentDispatcherOptions, createAgentDispatcher, type DispatchContext, type DispatchResult, resolveMetaAgent, } from './agent-dispatcher.js';
|
|
14
|
+
export { type CantbookProfilePin, cantbookNodeSystemKey, hasCantbookProfilePin, type ResolveCantbookNodeProfileInput, resolveCantbookNodeProfile, } from './cantbook-profile.js';
|
|
14
15
|
export type { playbookCoreOps } from './ops.js';
|
|
16
|
+
export { type MaybePiRunnerDeps, maybeCreatePiRunner } from './pi-runner-wiring.js';
|
|
15
17
|
export { listPlaybooks, PlaybookNotFoundError, type PlaybookTier, type ResolvedPlaybook, type ResolvePlaybookOptions, resolvePlaybook, } from './playbook-resolver.js';
|
|
16
18
|
export { createSkillNodeExecutor, ISOLATION_CONTEXT_KEY, runSkillNodeOrSpawn, type SkillNodeDispatchInput, type SkillNodeExecutorOptions, type SubprocessSpawnExecutor, } from './skill-node-executor.js';
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EACL,KAAK,kBAAkB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,+BAA+B,EACpC,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD,OAAO,EAAE,KAAK,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,0BAA0B,CAAC"}
|
package/dist/playbooks/index.js
CHANGED
|
@@ -11,6 +11,16 @@
|
|
|
11
11
|
* @task T1239 — meta-agent infrastructure (epic T1232)
|
|
12
12
|
*/
|
|
13
13
|
export { AGENT_TIER_META, CoreAgentDispatcher, createAgentDispatcher, resolveMetaAgent, } from './agent-dispatcher.js';
|
|
14
|
+
// Cantbook stage LLM-profile resolution — the seam the production cantbook
|
|
15
|
+
// dispatchers call to resolve a node's `profile:` / `model:` / `provider:` pin
|
|
16
|
+
// through the E9 chokepoint (`resolveLLMForSystem`). Gate-13: resolves metadata
|
|
17
|
+
// only, never constructs a transport (T11759 · M4).
|
|
18
|
+
export { cantbookNodeSystemKey, hasCantbookProfilePin, resolveCantbookNodeProfile, } from './cantbook-profile.js';
|
|
19
|
+
// Pi in-process runner wiring — default-OFF, lazy-imported Pi `SkillRunner` the
|
|
20
|
+
// production cantbook dispatchers pass into `runSkillNodeOrSpawn`'s `runner`
|
|
21
|
+
// slot (T11945 · M4). Exported here (the eager core graph) so its live binding
|
|
22
|
+
// is initialised before `internal.ts` re-exports it.
|
|
23
|
+
export { maybeCreatePiRunner } from './pi-runner-wiring.js';
|
|
14
24
|
export { listPlaybooks, PlaybookNotFoundError, resolvePlaybook, } from './playbook-resolver.js';
|
|
15
25
|
// Skill-node executor — injects the in-process SkillExecutorAdapter as the
|
|
16
26
|
// dispatcher's executor while retaining subprocess-spawn for isolation nodes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EAEf,mBAAmB,EAEnB,qBAAqB,EAGrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EAEf,mBAAmB,EAEnB,qBAAqB,EAGrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,2EAA2E;AAC3E,+EAA+E;AAC/E,gFAAgF;AAChF,oDAAoD;AACpD,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EAErB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,qDAAqD;AACrD,OAAO,EAA0B,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,aAAa,EACb,qBAAqB,EAIrB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,2EAA2E;AAC3E,6EAA6E;AAC7E,0BAA0B;AAC1B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GAIpB,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Production wiring helper for the Pi in-process `SkillRunner` (T11945 · M4).
|
|
3
|
+
*
|
|
4
|
+
* THE M4 keystone seam: this is the single place the two production cantbook
|
|
5
|
+
* dispatchers (`buildDefaultDispatcher` in `playbook.ts` and `buildGoDispatcher`
|
|
6
|
+
* in `go-ivtr-runner.ts`) reach to obtain the Pi-backed `SkillRunner` they pass
|
|
7
|
+
* into {@link runSkillNodeOrSpawn}'s `runner` slot. When the runner is supplied,
|
|
8
|
+
* an in-process `ct-*` skill node routes THROUGH the {@link
|
|
9
|
+
* import('../llm/pi/pi-agent-adapter.js').PiAgentAdapter} (the Pi agent loop);
|
|
10
|
+
* when it is `undefined`, the adapter falls back to `defaultSkillRunner` — the
|
|
11
|
+
* pre-T11945 behaviour.
|
|
12
|
+
*
|
|
13
|
+
* ## Default-OFF + lazy-import (Gate-13 + OOM safety)
|
|
14
|
+
*
|
|
15
|
+
* The Pi embed is gated behind the **default-OFF** `CLEO_PI_RUNNER_ENABLED`
|
|
16
|
+
* flag. When the flag is unset (the default) this helper returns `undefined`
|
|
17
|
+
* WITHOUT importing the Pi barrel — so `@earendil-works/pi-ai`'s `register-
|
|
18
|
+
* builtins` side effect is never paid on the hot dispatch path, and there is
|
|
19
|
+
* ZERO behaviour change. Only when the flag is explicitly `'1'` do we
|
|
20
|
+
* dynamically import the barrel and construct the runner. The import is dynamic
|
|
21
|
+
* (not a top-level `import`) precisely so the heavy `pi-ai` dependency stays out
|
|
22
|
+
* of `@cleocode/core/internal`'s eager module graph (every CLI dispatcher loads
|
|
23
|
+
* `internal`, but must not load `pi-ai` unless Pi is enabled).
|
|
24
|
+
*
|
|
25
|
+
* Keeping this helper in `core` keeps the CLI dispatchers thin (CLI package
|
|
26
|
+
* boundary, Gate-6): each call site is a single `await maybeCreatePiRunner(...)`.
|
|
27
|
+
*
|
|
28
|
+
* @epic T10403
|
|
29
|
+
* @task T11761
|
|
30
|
+
* @task T11945
|
|
31
|
+
*/
|
|
32
|
+
import type { SystemOfUseLabel } from '@cleocode/contracts';
|
|
33
|
+
import type { SkillRunner } from '../skills/skill-executor-adapter.js';
|
|
34
|
+
/**
|
|
35
|
+
* Resolution + project-root deps forwarded to `createPiSkillRunner` when the Pi
|
|
36
|
+
* runner is constructed. Mirrors the subset of `PiAgentAdapterDeps` the
|
|
37
|
+
* dispatchers can supply at their call site.
|
|
38
|
+
*/
|
|
39
|
+
export interface MaybePiRunnerDeps {
|
|
40
|
+
/**
|
|
41
|
+
* The system-of-use label the Pi adapter resolves its LLM through (E9). When
|
|
42
|
+
* omitted, `createPiSkillRunner` defaults to `'task-executor'`.
|
|
43
|
+
*/
|
|
44
|
+
readonly system?: SystemOfUseLabel;
|
|
45
|
+
/**
|
|
46
|
+
* Project root for config + credential resolution. When omitted, resolution
|
|
47
|
+
* defaults to `process.cwd()` inside `resolveLLMForSystem`.
|
|
48
|
+
*/
|
|
49
|
+
readonly projectRoot?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Return the Pi-backed {@link SkillRunner} when `CLEO_PI_RUNNER_ENABLED=1`, else
|
|
53
|
+
* `undefined`.
|
|
54
|
+
*
|
|
55
|
+
* The two production cantbook dispatchers call this and pass the result into
|
|
56
|
+
* {@link runSkillNodeOrSpawn}'s `runner` slot:
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const runner = await maybeCreatePiRunner({ system: 'task-executor', projectRoot });
|
|
61
|
+
* await runSkillNodeOrSpawn(input, { tools, cwd: projectRoot, subprocessSpawn, runner });
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* Default-OFF: when the flag is unset (the common case) this short-circuits to
|
|
65
|
+
* `undefined` before importing the Pi barrel, so `pi-ai`'s `register-builtins`
|
|
66
|
+
* is never loaded and the dispatcher behaves exactly as it did pre-T11945
|
|
67
|
+
* (`defaultSkillRunner` runs the in-process skill node).
|
|
68
|
+
*
|
|
69
|
+
* @param deps - Optional resolution system + project root forwarded to the Pi
|
|
70
|
+
* adapter when the runner is constructed.
|
|
71
|
+
* @returns The Pi `SkillRunner` when enabled, otherwise `undefined`.
|
|
72
|
+
* @task T11945
|
|
73
|
+
*/
|
|
74
|
+
export declare function maybeCreatePiRunner(deps?: MaybePiRunnerDeps): Promise<SkillRunner | undefined>;
|
|
75
|
+
//# sourceMappingURL=pi-runner-wiring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-runner-wiring.d.ts","sourceRoot":"","sources":["../../src/playbooks/pi-runner-wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAUvE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAoBlC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Production wiring helper for the Pi in-process `SkillRunner` (T11945 · M4).
|
|
3
|
+
*
|
|
4
|
+
* THE M4 keystone seam: this is the single place the two production cantbook
|
|
5
|
+
* dispatchers (`buildDefaultDispatcher` in `playbook.ts` and `buildGoDispatcher`
|
|
6
|
+
* in `go-ivtr-runner.ts`) reach to obtain the Pi-backed `SkillRunner` they pass
|
|
7
|
+
* into {@link runSkillNodeOrSpawn}'s `runner` slot. When the runner is supplied,
|
|
8
|
+
* an in-process `ct-*` skill node routes THROUGH the {@link
|
|
9
|
+
* import('../llm/pi/pi-agent-adapter.js').PiAgentAdapter} (the Pi agent loop);
|
|
10
|
+
* when it is `undefined`, the adapter falls back to `defaultSkillRunner` — the
|
|
11
|
+
* pre-T11945 behaviour.
|
|
12
|
+
*
|
|
13
|
+
* ## Default-OFF + lazy-import (Gate-13 + OOM safety)
|
|
14
|
+
*
|
|
15
|
+
* The Pi embed is gated behind the **default-OFF** `CLEO_PI_RUNNER_ENABLED`
|
|
16
|
+
* flag. When the flag is unset (the default) this helper returns `undefined`
|
|
17
|
+
* WITHOUT importing the Pi barrel — so `@earendil-works/pi-ai`'s `register-
|
|
18
|
+
* builtins` side effect is never paid on the hot dispatch path, and there is
|
|
19
|
+
* ZERO behaviour change. Only when the flag is explicitly `'1'` do we
|
|
20
|
+
* dynamically import the barrel and construct the runner. The import is dynamic
|
|
21
|
+
* (not a top-level `import`) precisely so the heavy `pi-ai` dependency stays out
|
|
22
|
+
* of `@cleocode/core/internal`'s eager module graph (every CLI dispatcher loads
|
|
23
|
+
* `internal`, but must not load `pi-ai` unless Pi is enabled).
|
|
24
|
+
*
|
|
25
|
+
* Keeping this helper in `core` keeps the CLI dispatchers thin (CLI package
|
|
26
|
+
* boundary, Gate-6): each call site is a single `await maybeCreatePiRunner(...)`.
|
|
27
|
+
*
|
|
28
|
+
* @epic T10403
|
|
29
|
+
* @task T11761
|
|
30
|
+
* @task T11945
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* The default-OFF env flag controlling the Pi in-process runner. Mirrors
|
|
34
|
+
* `isPiRunnerEnabled()` in the Pi barrel exactly (strict `'1'`), read here as a
|
|
35
|
+
* cheap pre-check so the heavy Pi/`pi-ai` barrel is only dynamically imported
|
|
36
|
+
* when Pi is actually enabled.
|
|
37
|
+
*/
|
|
38
|
+
const PI_RUNNER_FLAG = 'CLEO_PI_RUNNER_ENABLED';
|
|
39
|
+
/**
|
|
40
|
+
* Return the Pi-backed {@link SkillRunner} when `CLEO_PI_RUNNER_ENABLED=1`, else
|
|
41
|
+
* `undefined`.
|
|
42
|
+
*
|
|
43
|
+
* The two production cantbook dispatchers call this and pass the result into
|
|
44
|
+
* {@link runSkillNodeOrSpawn}'s `runner` slot:
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const runner = await maybeCreatePiRunner({ system: 'task-executor', projectRoot });
|
|
49
|
+
* await runSkillNodeOrSpawn(input, { tools, cwd: projectRoot, subprocessSpawn, runner });
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* Default-OFF: when the flag is unset (the common case) this short-circuits to
|
|
53
|
+
* `undefined` before importing the Pi barrel, so `pi-ai`'s `register-builtins`
|
|
54
|
+
* is never loaded and the dispatcher behaves exactly as it did pre-T11945
|
|
55
|
+
* (`defaultSkillRunner` runs the in-process skill node).
|
|
56
|
+
*
|
|
57
|
+
* @param deps - Optional resolution system + project root forwarded to the Pi
|
|
58
|
+
* adapter when the runner is constructed.
|
|
59
|
+
* @returns The Pi `SkillRunner` when enabled, otherwise `undefined`.
|
|
60
|
+
* @task T11945
|
|
61
|
+
*/
|
|
62
|
+
export async function maybeCreatePiRunner(deps = {}) {
|
|
63
|
+
// Cheap default-OFF gate — read the raw flag WITHOUT importing the Pi barrel
|
|
64
|
+
// (which transitively pulls the heavy `pi-ai` dependency). This is the hot
|
|
65
|
+
// path on every dispatch when Pi is disabled.
|
|
66
|
+
if (process.env[PI_RUNNER_FLAG] !== '1') {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
// Flag is on — lazy-import the Pi barrel (subpath, NOT via `internal`) so
|
|
70
|
+
// `pi-ai` stays out of the eager module graph. `isPiRunnerEnabled()` is the
|
|
71
|
+
// authoritative predicate; re-confirm in case the env changed between the
|
|
72
|
+
// raw pre-check and the import.
|
|
73
|
+
const { createPiSkillRunner, isPiRunnerEnabled } = await import('../llm/pi/index.js');
|
|
74
|
+
if (!isPiRunnerEnabled()) {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
return createPiSkillRunner({
|
|
78
|
+
...(deps.system !== undefined ? { system: deps.system } : {}),
|
|
79
|
+
...(deps.projectRoot !== undefined ? { projectRoot: deps.projectRoot } : {}),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=pi-runner-wiring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-runner-wiring.js","sourceRoot":"","sources":["../../src/playbooks/pi-runner-wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAKH;;;;;GAKG;AACH,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAoBhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA0B,EAAE;IAE5B,6EAA6E;IAC7E,2EAA2E;IAC3E,8CAA8C;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACtF,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,mBAAmB,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* generateOpenApi — projects the CLEO operations registry into an OpenAPI 3.1
|
|
3
|
+
* document (DHQ-033/057 SDK-projection · T11918 · AC2 · M5/E-API-STANDARD-FOUNDATION
|
|
4
|
+
* T11769).
|
|
5
|
+
*
|
|
6
|
+
* ## Why this exists
|
|
7
|
+
*
|
|
8
|
+
* The `/v1` REST gateway routes `POST /v1/<domain>/<operation>` for every entry
|
|
9
|
+
* in the 413-row {@link OPERATIONS} registry. Downstream task T11920 generates a
|
|
10
|
+
* typed SDK client; its projection source is an OpenAPI 3.1 spec. Hand-authoring
|
|
11
|
+
* 413 path objects (and keeping them in lock-step with the registry) is exactly
|
|
12
|
+
* the drift trap the schema-first SSoT (`inputSchema`/`outputSchema`) was built
|
|
13
|
+
* to close. This builder DERIVES the whole spec from the single source of truth:
|
|
14
|
+
*
|
|
15
|
+
* - paths ← {@link OPERATIONS} (`POST /v1/<domain>/<operation>`)
|
|
16
|
+
* - requestBody ← {@link getInputContract}(op).schema, else a JSON Schema
|
|
17
|
+
* synthesised from `def.params` (richest available input shape)
|
|
18
|
+
* - 200 response ← {@link getOutputContract}(op).dataSchema (hand-authored
|
|
19
|
+
* {@link OUTPUT_CONTRACTS}, else {@link deriveOutputContract})
|
|
20
|
+
*
|
|
21
|
+
* Because `OperationInputContract.schema` and `OperationOutputContract.dataSchema`
|
|
22
|
+
* are ALREADY JSON Schema (draft-07) documents, and OpenAPI 3.1's Schema Object
|
|
23
|
+
* IS a superset of JSON Schema (it adopts the JSON Schema 2020-12 vocabulary),
|
|
24
|
+
* the schemas embed directly — no zod→OpenAPI conversion pass, no `zod-to-openapi`
|
|
25
|
+
* dependency. Zod (v4) is the authoring substrate for the contracts upstream; by
|
|
26
|
+
* the time a schema reaches this builder it is already plain JSON Schema, so this
|
|
27
|
+
* module stays a zero-runtime-dependency projection over the registry.
|
|
28
|
+
*
|
|
29
|
+
* ## Boundary
|
|
30
|
+
*
|
|
31
|
+
* Lives in `core/src/runtime` (NOT `contracts`): it reads {@link getOutputContract}
|
|
32
|
+
* / {@link getInputContract}, which are core-resident bodied resolvers, and it is
|
|
33
|
+
* itself a bodied runtime helper (the contracts-purity Gate 10 forbids net-new
|
|
34
|
+
* bodied functions in `contracts`). Import-time side-effect-free: it builds
|
|
35
|
+
* nothing at module load, only when {@link generateOpenApi} is called.
|
|
36
|
+
*
|
|
37
|
+
* @packageDocumentation
|
|
38
|
+
* @module @cleocode/core/runtime/openapi/generate-openapi
|
|
39
|
+
*
|
|
40
|
+
* @see {@link https://spec.openapis.org/oas/v3.1.0 | OpenAPI 3.1.0 Specification}
|
|
41
|
+
* @see OperationOutputContract — the OUTPUT-side JSON Schema SSoT this projects
|
|
42
|
+
* @see OperationInputContract — the INPUT-side JSON Schema SSoT this projects
|
|
43
|
+
*
|
|
44
|
+
* @epic T11769
|
|
45
|
+
* @task T11918 — AC2: zod→OpenAPI 3.1 bridge + `cleo gateway openapi`
|
|
46
|
+
*/
|
|
47
|
+
import { type JsonSchema } from '@cleocode/contracts';
|
|
48
|
+
/**
|
|
49
|
+
* OpenAPI 3.1 `info` object — API identity surfaced to SDK generators and docs
|
|
50
|
+
* tooling.
|
|
51
|
+
*
|
|
52
|
+
* @see {@link https://spec.openapis.org/oas/v3.1.0#info-object}
|
|
53
|
+
*/
|
|
54
|
+
export interface OpenApiInfo {
|
|
55
|
+
/** Human-readable API title. */
|
|
56
|
+
title: string;
|
|
57
|
+
/**
|
|
58
|
+
* Semantic version of the API surface (NOT the package version). The `/v1`
|
|
59
|
+
* REST gateway is version `1.x`; defaults to `'1.0.0'`.
|
|
60
|
+
*/
|
|
61
|
+
version: string;
|
|
62
|
+
/** Optional one-line summary (OpenAPI 3.1 adds `summary` to the info object). */
|
|
63
|
+
summary?: string;
|
|
64
|
+
/** Optional CommonMark description. */
|
|
65
|
+
description?: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* OpenAPI 3.1 Media Type object — pairs a content type with its schema.
|
|
69
|
+
*
|
|
70
|
+
* @see {@link https://spec.openapis.org/oas/v3.1.0#media-type-object}
|
|
71
|
+
*/
|
|
72
|
+
export interface OpenApiMediaType {
|
|
73
|
+
/** The JSON Schema (2020-12 vocabulary) describing the payload. */
|
|
74
|
+
schema: JsonSchema;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* OpenAPI 3.1 Request Body object.
|
|
78
|
+
*
|
|
79
|
+
* @see {@link https://spec.openapis.org/oas/v3.1.0#request-body-object}
|
|
80
|
+
*/
|
|
81
|
+
export interface OpenApiRequestBody {
|
|
82
|
+
/** Content keyed by media type (always `application/json` here). */
|
|
83
|
+
content: Record<string, OpenApiMediaType>;
|
|
84
|
+
/** Whether the request body is required (true iff the op has required params). */
|
|
85
|
+
required: boolean;
|
|
86
|
+
/** Optional human description. */
|
|
87
|
+
description?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* OpenAPI 3.1 Response object.
|
|
91
|
+
*
|
|
92
|
+
* @see {@link https://spec.openapis.org/oas/v3.1.0#response-object}
|
|
93
|
+
*/
|
|
94
|
+
export interface OpenApiResponse {
|
|
95
|
+
/** Required CommonMark description of the response. */
|
|
96
|
+
description: string;
|
|
97
|
+
/** Optional content keyed by media type. */
|
|
98
|
+
content?: Record<string, OpenApiMediaType>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* OpenAPI 3.1 Operation object — one HTTP operation on a path.
|
|
102
|
+
*
|
|
103
|
+
* @see {@link https://spec.openapis.org/oas/v3.1.0#operation-object}
|
|
104
|
+
*/
|
|
105
|
+
export interface OpenApiOperation {
|
|
106
|
+
/** Unique, machine-friendly id (`<gateway>.<domain>.<operation>`) for SDK method naming. */
|
|
107
|
+
operationId: string;
|
|
108
|
+
/** Short summary (the registry `description`). */
|
|
109
|
+
summary: string;
|
|
110
|
+
/** Grouping tags — the canonical domain. */
|
|
111
|
+
tags: string[];
|
|
112
|
+
/** Request body, omitted when the op declares no input params. */
|
|
113
|
+
requestBody?: OpenApiRequestBody;
|
|
114
|
+
/** Responses keyed by HTTP status code (always at least `'200'`). */
|
|
115
|
+
responses: Record<string, OpenApiResponse>;
|
|
116
|
+
/**
|
|
117
|
+
* Vendor extension carrying the CQRS gateway (`'query'` | `'mutate'`) this
|
|
118
|
+
* operation routes through. The clean `/v1/<domain>/<operation>` path omits the
|
|
119
|
+
* gateway for readability, so the SDK reads this extension to pick the right
|
|
120
|
+
* dispatch gateway. OpenAPI tooling ignores `x-`-prefixed members it does not
|
|
121
|
+
* recognise, so emitting it keeps the document valid.
|
|
122
|
+
*/
|
|
123
|
+
'x-cleo-gateway': 'query' | 'mutate';
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* OpenAPI 3.1 Path Item object — the set of HTTP operations on one path. The
|
|
127
|
+
* CLEO `/v1` gateway only routes `POST`, so only `post` is ever populated.
|
|
128
|
+
*
|
|
129
|
+
* @see {@link https://spec.openapis.org/oas/v3.1.0#path-item-object}
|
|
130
|
+
*/
|
|
131
|
+
export interface OpenApiPathItem {
|
|
132
|
+
/** The single `POST` operation served at this path. */
|
|
133
|
+
post: OpenApiOperation;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* A minimal, structurally-typed OpenAPI 3.1 document — exactly the members
|
|
137
|
+
* {@link generateOpenApi} emits. The `openapi` field is pinned to the `3.1.x`
|
|
138
|
+
* literal family so consumers can statically assert the version.
|
|
139
|
+
*
|
|
140
|
+
* @see {@link https://spec.openapis.org/oas/v3.1.0#openapi-object}
|
|
141
|
+
*/
|
|
142
|
+
export interface OpenApiDocument {
|
|
143
|
+
/** OpenAPI version string — always `'3.1.0'`. */
|
|
144
|
+
openapi: '3.1.0';
|
|
145
|
+
/** API identity. */
|
|
146
|
+
info: OpenApiInfo;
|
|
147
|
+
/**
|
|
148
|
+
* The JSON Schema dialect every embedded Schema Object uses, declared once at
|
|
149
|
+
* the document root per OpenAPI 3.1. The contracts ship draft-07 schemas,
|
|
150
|
+
* which validate under the 2020-12 dialect OpenAPI 3.1 mandates.
|
|
151
|
+
*/
|
|
152
|
+
jsonSchemaDialect: string;
|
|
153
|
+
/**
|
|
154
|
+
* Path → path-item map, keyed by `<pathPrefix>/<domain>/<operation>` (with a
|
|
155
|
+
* trailing `/<gateway>` segment for the cross-gateway collision pairs).
|
|
156
|
+
*/
|
|
157
|
+
paths: Record<string, OpenApiPathItem>;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Options for {@link generateOpenApi}.
|
|
161
|
+
*/
|
|
162
|
+
export interface GenerateOpenApiOptions {
|
|
163
|
+
/**
|
|
164
|
+
* Semantic version stamped into `info.version`. This is the API-surface
|
|
165
|
+
* version (the `/v1` gateway), NOT the npm package version.
|
|
166
|
+
*
|
|
167
|
+
* @default '1.0.0'
|
|
168
|
+
*/
|
|
169
|
+
version?: string;
|
|
170
|
+
/**
|
|
171
|
+
* Path prefix prepended to every operation route. The SDK-facing REST surface
|
|
172
|
+
* is versioned under `/v1` (T11769); each op maps to
|
|
173
|
+
* `POST <pathPrefix>/<domain>/<operation>`.
|
|
174
|
+
*
|
|
175
|
+
* @default '/v1'
|
|
176
|
+
*/
|
|
177
|
+
pathPrefix?: string;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Project the {@link OPERATIONS} registry into a complete OpenAPI 3.1 document.
|
|
181
|
+
*
|
|
182
|
+
* Walks every registry entry, mapping each to a `POST` path whose `requestBody`
|
|
183
|
+
* is the resolved input schema and whose `200` response is the resolved output
|
|
184
|
+
* schema (`deriveOutputContract` coverage), wrapped in the LAFS envelope.
|
|
185
|
+
*
|
|
186
|
+
* Routing: the clean form is `POST <pathPrefix>/<domain>/<operation>`. Because
|
|
187
|
+
* the registry has cross-gateway collisions on `<domain>/<operation>` (the same
|
|
188
|
+
* pair under both `query` and `mutate`), a colliding entry is disambiguated by
|
|
189
|
+
* appending its gateway segment (`<pathPrefix>/<domain>/<operation>/<gateway>`).
|
|
190
|
+
* Each operation also carries an `x-cleo-gateway` extension so the SDK knows
|
|
191
|
+
* which CQRS gateway to dispatch through regardless of the path form.
|
|
192
|
+
*
|
|
193
|
+
* The number of paths in the returned document equals `OPERATIONS.length` (AC5):
|
|
194
|
+
* every registry entry gets a unique route (and a unique operationId).
|
|
195
|
+
*
|
|
196
|
+
* @param options - {@link GenerateOpenApiOptions} (version, path prefix).
|
|
197
|
+
* @returns A structurally-valid OpenAPI 3.1 {@link OpenApiDocument}.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```ts
|
|
201
|
+
* const doc = generateOpenApi();
|
|
202
|
+
* doc.openapi; // '3.1.0'
|
|
203
|
+
* Object.keys(doc.paths).length; // === OPERATIONS.length
|
|
204
|
+
* doc.paths['/v1/tasks/show'].post.operationId; // 'query.tasks.show'
|
|
205
|
+
* doc.paths['/v1/tasks/show'].post['x-cleo-gateway'];// 'query'
|
|
206
|
+
* ```
|
|
207
|
+
*
|
|
208
|
+
* @task T11918 — AC1/AC2/AC5
|
|
209
|
+
*/
|
|
210
|
+
export declare function generateOpenApi(options?: GenerateOpenApiOptions): OpenApiDocument;
|
|
211
|
+
//# sourceMappingURL=generate-openapi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-openapi.d.ts","sourceRoot":"","sources":["../../../src/runtime/openapi/generate-openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAgD,MAAM,qBAAqB,CAAC;AAQpG;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1C,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,kEAAkE;IAClE,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C;;;;;;OAMG;IACH,gBAAgB,EAAE,OAAO,GAAG,QAAQ,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACxC;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA+LD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,eAAe,CAkDrF"}
|