kiokuko-dsh 0.2.40 → 0.2.42
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/PERMISSIONS.md +2 -2
- package/README.ja.md +17 -5
- package/README.ko.md +17 -5
- package/README.md +18 -6
- package/README.zh-CN.md +17 -5
- package/dist/akinator/skill-discovery-attempt.d.ts +3 -1
- package/dist/akinator/skill-discovery-attempt.d.ts.map +1 -1
- package/dist/akinator/skill-discovery-attempt.js +12 -11
- package/dist/akinator/skill-discovery-attempt.js.map +1 -1
- package/dist/client.cjs +26 -15
- package/dist/client.d.ts.map +1 -1
- package/dist/context/continuity-view.d.ts +0 -11
- package/dist/context/continuity-view.d.ts.map +1 -1
- package/dist/context/continuity-view.js +5 -9
- package/dist/context/continuity-view.js.map +1 -1
- package/dist/deep-thinker/controller.d.ts +4 -1
- package/dist/deep-thinker/controller.d.ts.map +1 -1
- package/dist/deep-thinker/controller.js +10 -0
- package/dist/deep-thinker/controller.js.map +1 -1
- package/dist/deep-thinker/core/contracts.d.ts +11 -11
- package/dist/deep-thinker/memory-finalizer.d.ts +1 -1
- package/dist/deep-thinker/native-executor.d.ts +1 -1
- package/dist/deep-thinker/native-executor.d.ts.map +1 -1
- package/dist/deep-thinker/prompts.js +1 -1
- package/dist/deep-thinker/prompts.js.map +1 -1
- package/dist/deep-thinker/quality-prompts.js +1 -1
- package/dist/deep-thinker/quality-prompts.js.map +1 -1
- package/dist/deep-thinker/report.d.ts +1 -1
- package/dist/deep-thinker/store.d.ts +1 -1
- package/dist/dsh/agenticreplay-hooks.d.ts.map +1 -1
- package/dist/dsh/agenticreplay-hooks.js +13 -0
- package/dist/dsh/agenticreplay-hooks.js.map +1 -1
- package/dist/dsh/agenticreplay-recorder.d.ts +5 -0
- package/dist/dsh/agenticreplay-recorder.d.ts.map +1 -1
- package/dist/dsh/agenticreplay-recorder.js +19 -0
- package/dist/dsh/agenticreplay-recorder.js.map +1 -1
- package/dist/dsh/coding-workflow/contracts.d.ts +2 -5
- package/dist/dsh/coding-workflow/contracts.d.ts.map +1 -1
- package/dist/dsh/coding-workflow/contracts.js +1 -1
- package/dist/dsh/coding-workflow/contracts.js.map +1 -1
- package/dist/dsh/coding-workflow/host.d.ts.map +1 -1
- package/dist/dsh/coding-workflow/host.js +1 -4
- package/dist/dsh/coding-workflow/host.js.map +1 -1
- package/dist/dsh/coding-workflow/intent.d.ts.map +1 -1
- package/dist/dsh/coding-workflow/intent.js +0 -6
- package/dist/dsh/coding-workflow/intent.js.map +1 -1
- package/dist/dsh/coding-workflow/service.d.ts +4 -8
- package/dist/dsh/coding-workflow/service.d.ts.map +1 -1
- package/dist/dsh/coding-workflow/service.js +5 -57
- package/dist/dsh/coding-workflow/service.js.map +1 -1
- package/dist/dsh/completion-report.d.ts +0 -31
- package/dist/dsh/completion-report.d.ts.map +1 -1
- package/dist/dsh/completion-report.js +16 -94
- package/dist/dsh/completion-report.js.map +1 -1
- package/dist/dsh/composition.d.ts +1 -3
- package/dist/dsh/composition.d.ts.map +1 -1
- package/dist/dsh/composition.js +13 -34
- package/dist/dsh/composition.js.map +1 -1
- package/dist/dsh/config.d.ts +1 -22
- package/dist/dsh/config.d.ts.map +1 -1
- package/dist/dsh/config.js +0 -8
- package/dist/dsh/config.js.map +1 -1
- package/dist/dsh/context-injection.d.ts +1 -11
- package/dist/dsh/context-injection.d.ts.map +1 -1
- package/dist/dsh/context-injection.js +3 -24
- package/dist/dsh/context-injection.js.map +1 -1
- package/dist/dsh/continuity-adapter.d.ts +0 -5
- package/dist/dsh/continuity-adapter.d.ts.map +1 -1
- package/dist/dsh/continuity-adapter.js +1 -39
- package/dist/dsh/continuity-adapter.js.map +1 -1
- package/dist/dsh/core/host.d.ts.map +1 -1
- package/dist/dsh/core/host.js +8 -6
- package/dist/dsh/core/host.js.map +1 -1
- package/dist/dsh/core/tasks.d.ts.map +1 -1
- package/dist/dsh/core/tasks.js +10 -2
- package/dist/dsh/core/tasks.js.map +1 -1
- package/dist/dsh/decisions/akinator-answers.d.ts +12 -0
- package/dist/dsh/decisions/akinator-answers.d.ts.map +1 -0
- package/dist/dsh/decisions/akinator-answers.js +30 -0
- package/dist/dsh/decisions/akinator-answers.js.map +1 -0
- package/dist/dsh/decisions/contracts.d.ts +0 -1
- package/dist/dsh/decisions/contracts.d.ts.map +1 -1
- package/dist/dsh/decisions/contracts.js +1 -1
- package/dist/dsh/decisions/contracts.js.map +1 -1
- package/dist/dsh/decisions/diagnostics.d.ts +8 -11
- package/dist/dsh/decisions/diagnostics.d.ts.map +1 -1
- package/dist/dsh/decisions/diagnostics.js +1 -9
- package/dist/dsh/decisions/diagnostics.js.map +1 -1
- package/dist/dsh/decisions/intent-assessment.d.ts +2 -5
- package/dist/dsh/decisions/intent-assessment.d.ts.map +1 -1
- package/dist/dsh/decisions/intent-assessment.js +17 -9
- package/dist/dsh/decisions/intent-assessment.js.map +1 -1
- package/dist/dsh/decisions/service.d.ts.map +1 -1
- package/dist/dsh/decisions/service.js +13 -1
- package/dist/dsh/decisions/service.js.map +1 -1
- package/dist/dsh/efficiency.d.ts +0 -3
- package/dist/dsh/efficiency.d.ts.map +1 -1
- package/dist/dsh/efficiency.js +1 -9
- package/dist/dsh/efficiency.js.map +1 -1
- package/dist/dsh/execution-selection.d.ts +6 -7
- package/dist/dsh/execution-selection.d.ts.map +1 -1
- package/dist/dsh/execution-selection.js +10 -15
- package/dist/dsh/execution-selection.js.map +1 -1
- package/dist/dsh/execution-support.d.ts +0 -4
- package/dist/dsh/execution-support.d.ts.map +1 -1
- package/dist/dsh/execution-support.js +3 -15
- package/dist/dsh/execution-support.js.map +1 -1
- package/dist/dsh/existing-task-intake.d.ts +3 -0
- package/dist/dsh/existing-task-intake.d.ts.map +1 -1
- package/dist/dsh/existing-task-intake.js +6 -2
- package/dist/dsh/existing-task-intake.js.map +1 -1
- package/dist/dsh/harness/factory.d.ts +110 -0
- package/dist/dsh/harness/factory.d.ts.map +1 -0
- package/dist/dsh/harness/factory.js +582 -0
- package/dist/dsh/harness/factory.js.map +1 -0
- package/dist/dsh/harness/inbox.d.ts +22 -0
- package/dist/dsh/harness/inbox.d.ts.map +1 -0
- package/dist/dsh/harness/inbox.js +61 -0
- package/dist/dsh/harness/inbox.js.map +1 -0
- package/dist/dsh/harness/index.d.ts +19 -0
- package/dist/dsh/harness/index.d.ts.map +1 -0
- package/dist/dsh/harness/index.js +26 -0
- package/dist/dsh/harness/index.js.map +1 -0
- package/dist/dsh/harness/lifecycle.d.ts +26 -0
- package/dist/dsh/harness/lifecycle.d.ts.map +1 -0
- package/dist/dsh/harness/lifecycle.js +21 -0
- package/dist/dsh/harness/lifecycle.js.map +1 -0
- package/dist/dsh/harness/projections.d.ts +16 -0
- package/dist/dsh/harness/projections.d.ts.map +1 -0
- package/dist/dsh/harness/projections.js +34 -0
- package/dist/dsh/harness/projections.js.map +1 -0
- package/dist/dsh/head-worker-configuration.d.ts +1 -2
- package/dist/dsh/head-worker-configuration.d.ts.map +1 -1
- package/dist/dsh/head-worker-configuration.js +0 -5
- package/dist/dsh/head-worker-configuration.js.map +1 -1
- package/dist/dsh/host-adapter/admission.d.ts +1 -8
- package/dist/dsh/host-adapter/admission.d.ts.map +1 -1
- package/dist/dsh/host-adapter/admission.js +51 -260
- package/dist/dsh/host-adapter/admission.js.map +1 -1
- package/dist/dsh/host-adapter/boundaries.d.ts +1 -28
- package/dist/dsh/host-adapter/boundaries.d.ts.map +1 -1
- package/dist/dsh/host-adapter/boundaries.js +27 -328
- package/dist/dsh/host-adapter/boundaries.js.map +1 -1
- package/dist/dsh/host-adapter/context.d.ts +1 -7
- package/dist/dsh/host-adapter/context.d.ts.map +1 -1
- package/dist/dsh/host-adapter/context.js +5 -28
- package/dist/dsh/host-adapter/context.js.map +1 -1
- package/dist/dsh/host-adapter/efficiency-host.d.ts +0 -2
- package/dist/dsh/host-adapter/efficiency-host.d.ts.map +1 -1
- package/dist/dsh/host-adapter/efficiency-host.js +2 -2
- package/dist/dsh/host-adapter/efficiency-host.js.map +1 -1
- package/dist/dsh/host-adapter/lifecycle.d.ts +0 -7
- package/dist/dsh/host-adapter/lifecycle.d.ts.map +1 -1
- package/dist/dsh/host-adapter/lifecycle.js +58 -71
- package/dist/dsh/host-adapter/lifecycle.js.map +1 -1
- package/dist/dsh/host-adapter/memory-application-host.d.ts +0 -2
- package/dist/dsh/host-adapter/memory-application-host.d.ts.map +1 -1
- package/dist/dsh/host-adapter/memory-application-host.js +2 -2
- package/dist/dsh/host-adapter/memory-application-host.js.map +1 -1
- package/dist/dsh/host-adapter/routing.d.ts +1 -5
- package/dist/dsh/host-adapter/routing.d.ts.map +1 -1
- package/dist/dsh/host-adapter/routing.js +21 -73
- package/dist/dsh/host-adapter/routing.js.map +1 -1
- package/dist/dsh/host-adapter/session-observation.d.ts +1 -8
- package/dist/dsh/host-adapter/session-observation.d.ts.map +1 -1
- package/dist/dsh/host-adapter/session-observation.js +2 -55
- package/dist/dsh/host-adapter/session-observation.js.map +1 -1
- package/dist/dsh/host-adapter/tool-host.d.ts +3 -41
- package/dist/dsh/host-adapter/tool-host.d.ts.map +1 -1
- package/dist/dsh/host-adapter/tool-host.js +14 -243
- package/dist/dsh/host-adapter/tool-host.js.map +1 -1
- package/dist/dsh/host-adapter/turn-state.d.ts +0 -4
- package/dist/dsh/host-adapter/turn-state.d.ts.map +1 -1
- package/dist/dsh/host-adapter/turn-state.js +16 -93
- package/dist/dsh/host-adapter/turn-state.js.map +1 -1
- package/dist/dsh/host-adapter.d.ts +0 -11
- package/dist/dsh/host-adapter.d.ts.map +1 -1
- package/dist/dsh/host-adapter.js +23 -181
- package/dist/dsh/host-adapter.js.map +1 -1
- package/dist/dsh/index.d.ts +3 -16
- package/dist/dsh/index.d.ts.map +1 -1
- package/dist/dsh/index.js +0 -6
- package/dist/dsh/index.js.map +1 -1
- package/dist/dsh/intake-gate.d.ts.map +1 -1
- package/dist/dsh/intake-gate.js +7 -2
- package/dist/dsh/intake-gate.js.map +1 -1
- package/dist/dsh/intake-profile-resolver.d.ts.map +1 -1
- package/dist/dsh/intake-profile-resolver.js +4 -9
- package/dist/dsh/intake-profile-resolver.js.map +1 -1
- package/dist/dsh/lifecycle-memory.d.ts +3 -0
- package/dist/dsh/lifecycle-memory.d.ts.map +1 -1
- package/dist/dsh/lifecycle-memory.js +67 -45
- package/dist/dsh/lifecycle-memory.js.map +1 -1
- package/dist/dsh/lisp/candidate.d.ts +2 -2
- package/dist/dsh/lisp/code-intelligence-contracts.d.ts +1 -1
- package/dist/dsh/lisp/compiled-cache.d.ts.map +1 -1
- package/dist/dsh/lisp/compiled-cache.js +4 -3
- package/dist/dsh/lisp/compiled-cache.js.map +1 -1
- package/dist/dsh/lisp/host-tool-dispatch.d.ts.map +1 -1
- package/dist/dsh/lisp/host-tool-dispatch.js +14 -5
- package/dist/dsh/lisp/host-tool-dispatch.js.map +1 -1
- package/dist/dsh/lisp/manager.d.ts +7 -4
- package/dist/dsh/lisp/manager.d.ts.map +1 -1
- package/dist/dsh/lisp/manager.js +132 -103
- package/dist/dsh/lisp/manager.js.map +1 -1
- package/dist/dsh/lisp/native-child-ownership.d.ts +31 -0
- package/dist/dsh/lisp/native-child-ownership.d.ts.map +1 -0
- package/dist/dsh/lisp/native-child-ownership.js +66 -0
- package/dist/dsh/lisp/native-child-ownership.js.map +1 -0
- package/dist/dsh/lisp/sandbox.d.ts.map +1 -1
- package/dist/dsh/lisp/sandbox.js +1 -5
- package/dist/dsh/lisp/sandbox.js.map +1 -1
- package/dist/dsh/lisp/supervision.d.ts +33 -0
- package/dist/dsh/lisp/supervision.d.ts.map +1 -0
- package/dist/dsh/lisp/supervision.js +89 -0
- package/dist/dsh/lisp/supervision.js.map +1 -0
- package/dist/dsh/lisp/surface.d.ts +2 -2
- package/dist/dsh/lisp/surface.d.ts.map +1 -1
- package/dist/dsh/lisp/surface.js +110 -11
- package/dist/dsh/lisp/surface.js.map +1 -1
- package/dist/dsh/lisp/worker.d.ts +2 -1
- package/dist/dsh/lisp/worker.d.ts.map +1 -1
- package/dist/dsh/lisp/worker.js +7 -1
- package/dist/dsh/lisp/worker.js.map +1 -1
- package/dist/dsh/loop-guard.d.ts +0 -8
- package/dist/dsh/loop-guard.d.ts.map +1 -1
- package/dist/dsh/loop-guard.js +0 -51
- package/dist/dsh/loop-guard.js.map +1 -1
- package/dist/dsh/memory-application.d.ts.map +1 -1
- package/dist/dsh/memory-application.js +0 -6
- package/dist/dsh/memory-application.js.map +1 -1
- package/dist/dsh/message-sources.d.ts +2 -12
- package/dist/dsh/message-sources.d.ts.map +1 -1
- package/dist/dsh/message-sources.js +20 -39
- package/dist/dsh/message-sources.js.map +1 -1
- package/dist/dsh/model-configuration.d.ts +6 -24
- package/dist/dsh/model-configuration.d.ts.map +1 -1
- package/dist/dsh/model-configuration.js +1 -78
- package/dist/dsh/model-configuration.js.map +1 -1
- package/dist/dsh/model-routing.d.ts +1 -3
- package/dist/dsh/model-routing.d.ts.map +1 -1
- package/dist/dsh/model-routing.js +8 -13
- package/dist/dsh/model-routing.js.map +1 -1
- package/dist/dsh/model-selection-ui.d.ts +1 -2
- package/dist/dsh/model-selection-ui.d.ts.map +1 -1
- package/dist/dsh/model-selection-ui.js +48 -309
- package/dist/dsh/model-selection-ui.js.map +1 -1
- package/dist/dsh/models/contracts.d.ts +2 -2
- package/dist/dsh/models/profiles.d.ts.map +1 -1
- package/dist/dsh/models/profiles.js +4 -1
- package/dist/dsh/models/profiles.js.map +1 -1
- package/dist/dsh/models/service.d.ts +9 -1
- package/dist/dsh/models/service.d.ts.map +1 -1
- package/dist/dsh/models/service.js +29 -5
- package/dist/dsh/models/service.js.map +1 -1
- package/dist/dsh/models/vendor/infron-listing.d.ts +17 -0
- package/dist/dsh/models/vendor/infron-listing.d.ts.map +1 -0
- package/dist/dsh/models/vendor/infron-listing.js +97 -0
- package/dist/dsh/models/vendor/infron-listing.js.map +1 -0
- package/dist/dsh/models/vendor/opencode-adapter.d.ts.map +1 -1
- package/dist/dsh/models/vendor/opencode-adapter.js +6 -1
- package/dist/dsh/models/vendor/opencode-adapter.js.map +1 -1
- package/dist/dsh/modules/legacy-bindings.d.ts +3 -1
- package/dist/dsh/modules/legacy-bindings.d.ts.map +1 -1
- package/dist/dsh/modules/legacy-bindings.js +5 -5
- package/dist/dsh/modules/legacy-bindings.js.map +1 -1
- package/dist/dsh/modules/lisp.js +1 -1
- package/dist/dsh/modules/lisp.js.map +1 -1
- package/dist/dsh/native-execution-ownership.d.ts.map +1 -1
- package/dist/dsh/native-execution-ownership.js +0 -2
- package/dist/dsh/native-execution-ownership.js.map +1 -1
- package/dist/dsh/native-task-authority.js +1 -1
- package/dist/dsh/native-task-authority.js.map +1 -1
- package/dist/dsh/native-worker-routing.d.ts.map +1 -1
- package/dist/dsh/native-worker-routing.js +11 -4
- package/dist/dsh/native-worker-routing.js.map +1 -1
- package/dist/dsh/on-demand-intake.d.ts +9 -2
- package/dist/dsh/on-demand-intake.d.ts.map +1 -1
- package/dist/dsh/on-demand-intake.js +56 -9
- package/dist/dsh/on-demand-intake.js.map +1 -1
- package/dist/dsh/orchestration/execution-owner.d.ts +3 -1
- package/dist/dsh/orchestration/execution-owner.d.ts.map +1 -1
- package/dist/dsh/orchestration/execution-owner.js.map +1 -1
- package/dist/dsh/orchestration/managed-agent-executor.d.ts +14 -13
- package/dist/dsh/orchestration/managed-agent-executor.d.ts.map +1 -1
- package/dist/dsh/orchestration/managed-agent-executor.js +7 -2
- package/dist/dsh/orchestration/managed-agent-executor.js.map +1 -1
- package/dist/dsh/owned-execution.js +1 -1
- package/dist/dsh/owned-execution.js.map +1 -1
- package/dist/dsh/replay-memory-extract.d.ts.map +1 -1
- package/dist/dsh/replay-memory-extract.js +15 -1
- package/dist/dsh/replay-memory-extract.js.map +1 -1
- package/dist/dsh/repository-learning.d.ts +1 -0
- package/dist/dsh/repository-learning.d.ts.map +1 -1
- package/dist/dsh/repository-learning.js +73 -9
- package/dist/dsh/repository-learning.js.map +1 -1
- package/dist/dsh/runtime.d.ts +10 -2
- package/dist/dsh/runtime.d.ts.map +1 -1
- package/dist/dsh/runtime.js +22 -43
- package/dist/dsh/runtime.js.map +1 -1
- package/dist/dsh/semantic-compaction/policy.js +1 -1
- package/dist/dsh/semantic-compaction/policy.js.map +1 -1
- package/dist/dsh/session-bridge.d.ts +1 -1
- package/dist/dsh/session-bridge.d.ts.map +1 -1
- package/dist/dsh/session-bridge.js +1 -1
- package/dist/dsh/session-bridge.js.map +1 -1
- package/dist/dsh/session-memory-finalizer.js +1 -1
- package/dist/dsh/session-memory-finalizer.js.map +1 -1
- package/dist/dsh/session-review-context.d.ts.map +1 -1
- package/dist/dsh/session-review-context.js +3 -16
- package/dist/dsh/session-review-context.js.map +1 -1
- package/dist/dsh/setup.d.ts +1 -1
- package/dist/dsh/setup.d.ts.map +1 -1
- package/dist/dsh/skill-compiler.js +1 -1
- package/dist/dsh/skill-compiler.js.map +1 -1
- package/dist/dsh/skill-prompt-contracts.d.ts +2 -2
- package/dist/dsh/skill-prompt-contracts.js +1 -1
- package/dist/dsh/skill-prompts.json +1 -1
- package/dist/dsh/standard-skills.d.ts +1 -8
- package/dist/dsh/standard-skills.d.ts.map +1 -1
- package/dist/dsh/standard-skills.js +1 -8
- package/dist/dsh/standard-skills.js.map +1 -1
- package/dist/dsh/task-authority-context.d.ts +3 -0
- package/dist/dsh/task-authority-context.d.ts.map +1 -1
- package/dist/dsh/task-authority-context.js +3 -0
- package/dist/dsh/task-authority-context.js.map +1 -1
- package/dist/dsh/task-completion-guidance.d.ts +1 -5
- package/dist/dsh/task-completion-guidance.d.ts.map +1 -1
- package/dist/dsh/task-completion-guidance.js +4 -6
- package/dist/dsh/task-completion-guidance.js.map +1 -1
- package/dist/dsh/task-completion-host.js +4 -4
- package/dist/dsh/task-completion-host.js.map +1 -1
- package/dist/dsh/task-completion.d.ts +1 -13
- package/dist/dsh/task-completion.d.ts.map +1 -1
- package/dist/dsh/task-completion.js +9 -104
- package/dist/dsh/task-completion.js.map +1 -1
- package/dist/dsh/task-intake.d.ts +2 -3
- package/dist/dsh/task-intake.d.ts.map +1 -1
- package/dist/dsh/task-intake.js +90 -86
- package/dist/dsh/task-intake.js.map +1 -1
- package/dist/dsh/task-startup.d.ts.map +1 -1
- package/dist/dsh/task-startup.js +4 -7
- package/dist/dsh/task-startup.js.map +1 -1
- package/dist/dsh/task-state-host.d.ts +4 -0
- package/dist/dsh/task-state-host.d.ts.map +1 -1
- package/dist/dsh/task-state-host.js +20 -1
- package/dist/dsh/task-state-host.js.map +1 -1
- package/dist/dsh/task-state.d.ts.map +1 -1
- package/dist/dsh/task-state.js +0 -8
- package/dist/dsh/task-state.js.map +1 -1
- package/dist/dsh/tool-exposure.d.ts +1 -1
- package/dist/dsh/tool-exposure.d.ts.map +1 -1
- package/dist/dsh/tool-exposure.js +0 -2
- package/dist/dsh/tool-exposure.js.map +1 -1
- package/dist/dsh/tool-policy.d.ts +5 -8
- package/dist/dsh/tool-policy.d.ts.map +1 -1
- package/dist/dsh/tool-policy.js +3 -35
- package/dist/dsh/tool-policy.js.map +1 -1
- package/dist/dsh/tools.d.ts +2 -6
- package/dist/dsh/tools.d.ts.map +1 -1
- package/dist/dsh/tools.js +7 -63
- package/dist/dsh/tools.js.map +1 -1
- package/dist/dsh/turn-process.d.ts +0 -93
- package/dist/dsh/turn-process.d.ts.map +1 -1
- package/dist/dsh/turn-process.js +1 -307
- package/dist/dsh/turn-process.js.map +1 -1
- package/dist/dsh/user-interaction.d.ts +9 -16
- package/dist/dsh/user-interaction.d.ts.map +1 -1
- package/dist/dsh/user-interaction.js +19 -158
- package/dist/dsh/user-interaction.js.map +1 -1
- package/dist/index.js +2 -19
- package/dist/ledger/types.d.ts +1 -1
- package/dist/ledger/types.d.ts.map +1 -1
- package/dist/ledger/types.js +0 -7
- package/dist/ledger/types.js.map +1 -1
- package/dist/locale/en.json +1 -1
- package/dist/locale/ja.json +1 -1
- package/dist/locale/ko.json +1 -1
- package/dist/locale/zh-CN.json +1 -1
- package/dist/memory/correction-contract.d.ts +4 -4
- package/dist/memory/lifecycle.d.ts +1 -1
- package/dist/memory/review/evidence.js +1 -1
- package/dist/memory/review/evidence.js.map +1 -1
- package/dist/model-tools/contracts.d.ts +0 -437
- package/dist/model-tools/contracts.d.ts.map +1 -1
- package/dist/model-tools/contracts.js +0 -13
- package/dist/model-tools/contracts.js.map +1 -1
- package/dist/model-tools/names.d.ts +1 -1
- package/dist/model-tools/names.d.ts.map +1 -1
- package/dist/model-tools/names.js +0 -7
- package/dist/model-tools/names.js.map +1 -1
- package/dist/model-tools/registry.js +1 -1
- package/dist/model-tools/registry.js.map +1 -1
- package/dist/models-client.cjs +3 -2
- package/dist/models-client.js +2 -2
- package/dist/models-client.js.map +1 -1
- package/docs/README.ja.md +0 -1
- package/docs/README.md +0 -1
- package/docs/agenticreplay-recording.md +1 -1
- package/docs/agenticreplay-verification.md +1 -1
- package/docs/answer-review.md +2 -2
- package/docs/architecture.md +4 -7
- package/docs/auto-memory-review.md +3 -3
- package/docs/coding-workflow.md +1 -1
- package/docs/concepts.ja.md +3 -5
- package/docs/concepts.md +3 -5
- package/docs/core-modules.md +5 -16
- package/docs/database.md +5 -10
- package/docs/decision-diagnostics.md +1 -2
- package/docs/deep-planning.md +3 -3
- package/docs/dsh-plugin.md +42 -178
- package/docs/execution-ledger.md +1 -2
- package/docs/execution-support.md +6 -7
- package/docs/harness-map.md +1 -1
- package/docs/japanese-output.md +1 -1
- package/docs/keyboard-shortcuts.md +1 -1
- package/docs/kiokuko-harness.md +71 -0
- package/docs/kiokuko-models.md +12 -9
- package/docs/lisp-hot-tools.md +12 -7
- package/docs/lisp.md +44 -10
- package/docs/memory-application.md +5 -5
- package/docs/memory-delivery.md +1 -1
- package/docs/memory-reuse.md +1 -1
- package/docs/model-selection.ja.md +40 -123
- package/docs/model-selection.md +45 -114
- package/docs/on-demand-intake.md +5 -3
- package/docs/owned-execution.md +7 -7
- package/docs/pr72-ci-verification.md +2 -2
- package/docs/pstack-adaptation.json +0 -34
- package/docs/pstack-skills.md +1 -1
- package/docs/repository-learning.md +14 -37
- package/docs/semantic-compaction.md +2 -2
- package/docs/session-history-repair.md +2 -2
- package/docs/skill-compiler.md +2 -4
- package/docs/tool-exposure.md +1 -1
- package/docs/typed-decisions.md +4 -11
- package/docs/verification.md +11 -7
- package/dsh/cordis.legacy.patch.yml +7 -0
- package/dsh/cordis.patch.yml +6 -1
- package/lisp/supervisor.mjs +9 -6
- package/lisp/tools.lisp +1 -1
- package/migrations/051_drop_enno.sql +19 -0
- package/package.json +5 -14
- package/scripts/session-history-codec.mjs +1 -1
- package/skills/coding-ideal-routine-skill/SKILL.md +1 -1
- package/skills/kiokuko-lisp/SKILL.md +11 -5
- package/skills/kiokuko-single-purpose-functions/SKILL.md +1 -1
- package/skills/kiokuko-ui-design-soul/SKILL.md +2 -2
- package/skills/one-shot-software-completion/SKILL.md +4 -7
- package/skills/one-shot-software-completion/references/boundaries-and-lifecycle.md +3 -5
- package/dist/dsh/advisory-runner.d.ts +0 -32
- package/dist/dsh/advisory-runner.d.ts.map +0 -1
- package/dist/dsh/advisory-runner.js +0 -116
- package/dist/dsh/advisory-runner.js.map +0 -1
- package/dist/dsh/completion-verifiers.d.ts +0 -45
- package/dist/dsh/completion-verifiers.d.ts.map +0 -1
- package/dist/dsh/completion-verifiers.js +0 -9
- package/dist/dsh/completion-verifiers.js.map +0 -1
- package/dist/dsh/continuation.d.ts +0 -24
- package/dist/dsh/continuation.d.ts.map +0 -1
- package/dist/dsh/continuation.js +0 -215
- package/dist/dsh/continuation.js.map +0 -1
- package/dist/dsh/decisions/check-model.d.ts +0 -6
- package/dist/dsh/decisions/check-model.d.ts.map +0 -1
- package/dist/dsh/decisions/check-model.js +0 -36
- package/dist/dsh/decisions/check-model.js.map +0 -1
- package/dist/dsh/decisions/plan-review.d.ts +0 -17
- package/dist/dsh/decisions/plan-review.d.ts.map +0 -1
- package/dist/dsh/decisions/plan-review.js +0 -68
- package/dist/dsh/decisions/plan-review.js.map +0 -1
- package/dist/dsh/directive-projection.d.ts +0 -7
- package/dist/dsh/directive-projection.d.ts.map +0 -1
- package/dist/dsh/directive-projection.js +0 -32
- package/dist/dsh/directive-projection.js.map +0 -1
- package/dist/dsh/enno-controller.d.ts +0 -132
- package/dist/dsh/enno-controller.d.ts.map +0 -1
- package/dist/dsh/enno-controller.js +0 -368
- package/dist/dsh/enno-controller.js.map +0 -1
- package/dist/dsh/enno-delegation.d.ts +0 -36
- package/dist/dsh/enno-delegation.d.ts.map +0 -1
- package/dist/dsh/enno-delegation.js +0 -203
- package/dist/dsh/enno-delegation.js.map +0 -1
- package/dist/dsh/enno-memory-refresh-store.d.ts +0 -26
- package/dist/dsh/enno-memory-refresh-store.d.ts.map +0 -1
- package/dist/dsh/enno-memory-refresh-store.js +0 -45
- package/dist/dsh/enno-memory-refresh-store.js.map +0 -1
- package/dist/dsh/enno-memory-refresh.d.ts +0 -57
- package/dist/dsh/enno-memory-refresh.d.ts.map +0 -1
- package/dist/dsh/enno-memory-refresh.js +0 -280
- package/dist/dsh/enno-memory-refresh.js.map +0 -1
- package/dist/dsh/host-adapter/enno-memory-host.d.ts +0 -29
- package/dist/dsh/host-adapter/enno-memory-host.d.ts.map +0 -1
- package/dist/dsh/host-adapter/enno-memory-host.js +0 -49
- package/dist/dsh/host-adapter/enno-memory-host.js.map +0 -1
- package/dist/dsh/modules/enno.d.ts +0 -70
- package/dist/dsh/modules/enno.d.ts.map +0 -1
- package/dist/dsh/modules/enno.js +0 -22
- package/dist/dsh/modules/enno.js.map +0 -1
- package/dist/dsh/verification-identity.d.ts +0 -3
- package/dist/dsh/verification-identity.d.ts.map +0 -1
- package/dist/dsh/verification-identity.js +0 -15
- package/dist/dsh/verification-identity.js.map +0 -1
- package/dist/enno-oduno/advisory-store.d.ts +0 -31
- package/dist/enno-oduno/advisory-store.d.ts.map +0 -1
- package/dist/enno-oduno/advisory-store.js +0 -105
- package/dist/enno-oduno/advisory-store.js.map +0 -1
- package/dist/enno-oduno/advisory.d.ts +0 -18
- package/dist/enno-oduno/advisory.d.ts.map +0 -1
- package/dist/enno-oduno/advisory.js +0 -311
- package/dist/enno-oduno/advisory.js.map +0 -1
- package/dist/enno-oduno/coding-workflow.d.ts +0 -39
- package/dist/enno-oduno/coding-workflow.d.ts.map +0 -1
- package/dist/enno-oduno/coding-workflow.js +0 -33
- package/dist/enno-oduno/coding-workflow.js.map +0 -1
- package/dist/enno-oduno/confirmation.d.ts +0 -4
- package/dist/enno-oduno/confirmation.d.ts.map +0 -1
- package/dist/enno-oduno/confirmation.js +0 -146
- package/dist/enno-oduno/confirmation.js.map +0 -1
- package/dist/enno-oduno/directives.d.ts +0 -10
- package/dist/enno-oduno/directives.d.ts.map +0 -1
- package/dist/enno-oduno/directives.js +0 -294
- package/dist/enno-oduno/directives.js.map +0 -1
- package/dist/enno-oduno/experts.d.ts +0 -3
- package/dist/enno-oduno/experts.d.ts.map +0 -1
- package/dist/enno-oduno/experts.js +0 -28
- package/dist/enno-oduno/experts.js.map +0 -1
- package/dist/enno-oduno/handoff.d.ts +0 -4
- package/dist/enno-oduno/handoff.d.ts.map +0 -1
- package/dist/enno-oduno/handoff.js +0 -18
- package/dist/enno-oduno/handoff.js.map +0 -1
- package/dist/enno-oduno/language.d.ts +0 -4
- package/dist/enno-oduno/language.d.ts.map +0 -1
- package/dist/enno-oduno/language.js +0 -6
- package/dist/enno-oduno/language.js.map +0 -1
- package/dist/enno-oduno/memory-focus.d.ts +0 -32
- package/dist/enno-oduno/memory-focus.d.ts.map +0 -1
- package/dist/enno-oduno/memory-focus.js +0 -87
- package/dist/enno-oduno/memory-focus.js.map +0 -1
- package/dist/enno-oduno/memory-refresh-policy.d.ts +0 -17
- package/dist/enno-oduno/memory-refresh-policy.d.ts.map +0 -1
- package/dist/enno-oduno/memory-refresh-policy.js +0 -11
- package/dist/enno-oduno/memory-refresh-policy.js.map +0 -1
- package/dist/enno-oduno/memory-verification.d.ts +0 -7
- package/dist/enno-oduno/memory-verification.d.ts.map +0 -1
- package/dist/enno-oduno/memory-verification.js +0 -59
- package/dist/enno-oduno/memory-verification.js.map +0 -1
- package/dist/enno-oduno/plan-draft.d.ts +0 -15
- package/dist/enno-oduno/plan-draft.d.ts.map +0 -1
- package/dist/enno-oduno/plan-draft.js +0 -20
- package/dist/enno-oduno/plan-draft.js.map +0 -1
- package/dist/enno-oduno/plan-recovery.d.ts +0 -44
- package/dist/enno-oduno/plan-recovery.d.ts.map +0 -1
- package/dist/enno-oduno/plan-recovery.js +0 -160
- package/dist/enno-oduno/plan-recovery.js.map +0 -1
- package/dist/enno-oduno/repository-state.d.ts +0 -10
- package/dist/enno-oduno/repository-state.d.ts.map +0 -1
- package/dist/enno-oduno/repository-state.js +0 -146
- package/dist/enno-oduno/repository-state.js.map +0 -1
- package/dist/enno-oduno/sanitize.d.ts +0 -17
- package/dist/enno-oduno/sanitize.d.ts.map +0 -1
- package/dist/enno-oduno/sanitize.js +0 -88
- package/dist/enno-oduno/sanitize.js.map +0 -1
- package/dist/enno-oduno/schemas.d.ts +0 -968
- package/dist/enno-oduno/schemas.d.ts.map +0 -1
- package/dist/enno-oduno/schemas.js +0 -622
- package/dist/enno-oduno/schemas.js.map +0 -1
- package/dist/enno-oduno/service.d.ts +0 -62
- package/dist/enno-oduno/service.d.ts.map +0 -1
- package/dist/enno-oduno/service.js +0 -1505
- package/dist/enno-oduno/service.js.map +0 -1
- package/dist/enno-oduno/skills.d.ts +0 -22
- package/dist/enno-oduno/skills.d.ts.map +0 -1
- package/dist/enno-oduno/skills.js +0 -127
- package/dist/enno-oduno/skills.js.map +0 -1
- package/dist/enno-oduno/store.d.ts +0 -109
- package/dist/enno-oduno/store.d.ts.map +0 -1
- package/dist/enno-oduno/store.js +0 -833
- package/dist/enno-oduno/store.js.map +0 -1
- package/dist/enno-oduno/types.d.ts +0 -457
- package/dist/enno-oduno/types.d.ts.map +0 -1
- package/dist/enno-oduno/types.js +0 -66
- package/dist/enno-oduno/types.js.map +0 -1
- package/dist/enno-oduno/validation-errors.d.ts +0 -93
- package/dist/enno-oduno/validation-errors.d.ts.map +0 -1
- package/dist/enno-oduno/validation-errors.js +0 -159
- package/dist/enno-oduno/validation-errors.js.map +0 -1
- package/dist/enno-oduno/verifier.d.ts +0 -16
- package/dist/enno-oduno/verifier.d.ts.map +0 -1
- package/dist/enno-oduno/verifier.js +0 -271
- package/dist/enno-oduno/verifier.js.map +0 -1
- package/docs/enno-memory-benchmark.json +0 -761
- package/docs/enno-memory-evaluation.md +0 -137
- package/docs/enno-oduno.ja.md +0 -68
- package/docs/enno-oduno.md +0 -94
- package/skills/kiokuko-enno-oduno/SKILL.md +0 -64
- package/skills/kiokuko-enno-oduno/enno-oduno.png +0 -0
|
@@ -14,11 +14,11 @@ Coding: coding_workflow defines Goal/items/checks before the task Lisp choice. P
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
Persistent: coding choice or /kioku-lisp enable.
|
|
17
|
+
Persistent: coding choice or /kioku-lisp enable. /kioku-lisp enable-task optionally selects disposable scratch evaluations. lisp_define, lisp_call and lisp_observe need no task-mode switch or Working task. Compose functions by exact dependency refs; reuse only your own protected worker, otherwise compute in private protected scratch with no repository mount or host RPC. Schemas never prove arbitrary Lisp safe. A child inherits only capabilities visible in its native scope, not the parent's task lease, heap, or result refs. Shared publication and real effects retain their approval and authority checks. ON selects Lisp computation/orchestration; direct Bash/zsh/PowerShell is rejected, even reads. Run Git/gh/builds/tests through kioku.process:run / start-job. Read/search/Skill and owned file tools remain available. Failure requires recovery or explicit /kioku-lisp disable; no silent shell fallback. Never spoof host-bound session/agent/directory/generation.
|
|
18
18
|
|
|
19
19
|
Owned kioku_read/write/edit/remove/exec/result retain development receipts. Ordinary commands, investigation, builds/tests, edits and disposable artifacts need no routine confirmation. Source/data deletion and durable user DB mutation require concrete review; declare destructiveTargets. Arbitrary code effects are not exhaustively classified. Organize memory only after completion and permission; save only the exact approved content.
|
|
20
20
|
|
|
21
|
-
Foreground kioku.process:run retains native Bash sandbox/approval/Stop without a memory task/Goal. Protected coding requires prototype/result inspection. Admitted workflows, owned tools and async jobs keep task/protocol authority. Use kioku.tools:call-tool/broker receipts; direct Lisp/FFI or
|
|
21
|
+
Foreground kioku.process:run retains native Bash sandbox/approval/Stop without a memory task/Goal. Protected coding requires prototype/result inspection. Admitted workflows, owned tools and async jobs keep task/protocol authority. Use kioku.tools:call-tool/broker receipts. All workers are OS-isolated; direct Lisp/FFI cannot access workspace files or inherited credentials. Generated passed fields prove no verification. Bind task_completion conditions/source paths before checks; collect async receipts with kioku_result. Cancellation/ownership remain authoritative. Plan permits read/search/status until human approval exits at the next boundary.
|
|
22
22
|
|
|
23
23
|
Schemas define arguments; never guess. `lisp_describe` without a symbol gives the
|
|
24
24
|
API/verifier map, even during recovery. Persistent `lisp_eval`: declared inputs;
|
|
@@ -86,9 +86,15 @@ approval never authorizes writes; only host changes receipts establish APPLIED/U
|
|
|
86
86
|
|
|
87
87
|
## Evidence, recovery and adapters
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
Workers persist by default; configured idle suspension never interrupts turns/evaluations/approvals/jobs.
|
|
90
|
+
Routed children keep separate persistent heaps/scratch; reuse definitions per generation.
|
|
91
|
+
Return results via native delivery; never borrow parent authority or foreign refs.
|
|
92
|
+
Failed startup blocks admission; disposal stops only that child. Effects retain session
|
|
93
|
+
permissions/tool restrictions. The host owns startup, capacity and exit. With settled
|
|
94
|
+
journals, clean restart/idle exit auto-starts on next admission, never status; no manual
|
|
95
|
+
recovery prompt. Fault replacements: 2/owner/minute. WORKER_RESUMED ran no code:
|
|
96
|
+
rebuild state, never effects. Cancellation, unknown effects, unconfirmed stop or restart
|
|
97
|
+
limit require inspection/recovery.
|
|
92
98
|
Results: 16 KiB, no source echoes/duplicates. Page journaled evidence, never rerun/fetch
|
|
93
99
|
all history. Fix missing paths with native reads; input errors need no recovery. Report
|
|
94
100
|
observed errors/recovery; missing results never prove deletion/restoration.
|
|
@@ -50,7 +50,7 @@ to check the complete workflow. An isolated edit needs no additional audit.
|
|
|
50
50
|
|
|
51
51
|
For each new or materially changed function, or for the smallest WorkUnit owning one cohesive use case: classify the dominant risk, select one expert below, add at most two more only when the same contract genuinely crosses those risks, record a concrete reason for each, and read the selected files before implementation or review. A different expert set or reason to change means a separate WorkUnit or a separate function contract inside it.
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
Code changes select `code.*` expertise; interactive UI changes also select `ui.*`. Tests, documentation and operations select expertise for their actual risks. Keep the mapping in the working plan or review notes:
|
|
54
54
|
|
|
55
55
|
```text
|
|
56
56
|
target -> responsibility -> expert IDs -> focused verifier
|
|
@@ -39,9 +39,9 @@ When requirements compete, prioritize safety and data preservation, accessibilit
|
|
|
39
39
|
|
|
40
40
|
## Expert selection
|
|
41
41
|
|
|
42
|
-
Select one dominant expert for each UI component or cohesive flow, add at most two more only when the same WorkUnit genuinely crosses those risks, and record a concrete reason for each.
|
|
42
|
+
Select one dominant expert for each UI component or cohesive flow, add at most two more only when the same WorkUnit genuinely crosses those risks, and record a concrete reason for each. Interactive UI changes also select `code.*` expertise. Tests, documentation and operations select expertise for their actual risks.
|
|
43
43
|
|
|
44
|
-
Do not read every UI reference “for completeness.” If implementation exposes a new risk,
|
|
44
|
+
Do not read every UI reference “for completeness.” If implementation exposes a new risk, update the working plan and expert selection before reading the additional fragment.
|
|
45
45
|
|
|
46
46
|
## Expert index
|
|
47
47
|
|
|
@@ -81,13 +81,10 @@ invalidated by review edits; repeating a checklist proves nothing.
|
|
|
81
81
|
In Kiokuko, enter through `kiokuko-soul`; also apply
|
|
82
82
|
`kiokuko-single-purpose-functions` for code and the applicable UI/workflow Skills.
|
|
83
83
|
Reuse their contract, plan and evidence rather than generating duplicate plans
|
|
84
|
-
or checklists. In DSH,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
Assign Frame/Trace/Bound/Implement/Verify/Finish to the admitted role: Zenki
|
|
89
|
-
plans, Goki implements/verifies its WorkUnit, Enno accepts the run. A WorkUnit
|
|
90
|
-
report is not final acceptance. Normal work adds no orchestration approval.
|
|
84
|
+
or checklists. In DSH, Kiokuko owns the model/tool loop and preserves native
|
|
85
|
+
session and tool contracts. Complete the observable request within the user's
|
|
86
|
+
scope and permissions. This Skill does not authorize extra agents, retries,
|
|
87
|
+
publication or deployment. Passing an intermediate check is not final acceptance.
|
|
91
88
|
|
|
92
89
|
For admitted Lisp, follow its Skill, with prototype-driven-planning for
|
|
93
90
|
coding/plans: native reads, scratch → proposals → host confirmation → durable
|
|
@@ -57,11 +57,9 @@ rollout/restart ordering when old and new versions can coexist.
|
|
|
57
57
|
|
|
58
58
|
## Admitted execution paths
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
Normal execution completes the observable request with the available native
|
|
64
|
-
permissions; it adds no orchestration approval.
|
|
60
|
+
Trace the request through Kiokuko's model/tool loop to the observable result.
|
|
61
|
+
Native permissions apply at each operation. Intermediate reports and passing
|
|
62
|
+
checks do not establish completion of the whole request.
|
|
65
63
|
|
|
66
64
|
When the host admits protected Lisp, use its Skill and current state: native
|
|
67
65
|
read/glob/grep/skill remain subject to existing permissions; workspace mutation
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { type AdvisoryContext, type AdvisoryContribution, type AdvisoryFanoutDirective, type AdvisoryPhase, type AdvisorySlotId } from '../enno-oduno/types.js';
|
|
2
|
-
export interface DshAdvisoryCall {
|
|
3
|
-
readonly phase: AdvisoryPhase;
|
|
4
|
-
readonly slotId: AdvisorySlotId;
|
|
5
|
-
readonly rank: number;
|
|
6
|
-
readonly role: string;
|
|
7
|
-
readonly instructions: string;
|
|
8
|
-
readonly context: AdvisoryContext;
|
|
9
|
-
readonly tools: readonly [];
|
|
10
|
-
readonly signal: AbortSignal;
|
|
11
|
-
}
|
|
12
|
-
export interface DshAdvisoryRunnerDependencies {
|
|
13
|
-
readonly execute: (call: DshAdvisoryCall) => Promise<unknown>;
|
|
14
|
-
readonly verifyReadOnly: (call: DshAdvisoryCall) => boolean | PromiseLike<boolean>;
|
|
15
|
-
readonly timeoutMs?: number;
|
|
16
|
-
}
|
|
17
|
-
export interface DshAdvisoryRoundResult {
|
|
18
|
-
readonly phase: AdvisoryPhase;
|
|
19
|
-
readonly inputDigest: string;
|
|
20
|
-
readonly contributions: readonly AdvisoryContribution[];
|
|
21
|
-
readonly degraded: boolean;
|
|
22
|
-
}
|
|
23
|
-
/** Execute exactly the current phase's fixed three slots with no advisor authority. */
|
|
24
|
-
export declare class DshAdvisoryRunner {
|
|
25
|
-
#private;
|
|
26
|
-
constructor(dependencies: DshAdvisoryRunnerDependencies);
|
|
27
|
-
run(input: {
|
|
28
|
-
readonly directive: AdvisoryFanoutDirective;
|
|
29
|
-
readonly signal?: AbortSignal;
|
|
30
|
-
}): Promise<DshAdvisoryRoundResult>;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=advisory-runner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"advisory-runner.d.ts","sourceRoot":"","sources":["../../src/dsh/advisory-runner.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7D,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,oBAAoB,EAAE,CAAA;IACvD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC3B;AAmFD,uFAAuF;AACvF,qBAAa,iBAAiB;;gBAGhB,YAAY,EAAE,6BAA6B;IAMjD,GAAG,CAAC,KAAK,EAAE;QACf,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAA;QAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAC9B,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAuBpC"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { canonicalJson, canonicalContentHash } from '../serialization/validate.js';
|
|
2
|
-
import { findSecretInValue } from '../memory/secrets.js';
|
|
3
|
-
import { advisorySlotDefinitions, normalizeAdvisoryContributions, advisoryRoundAggregate } from '../enno-oduno/advisory.js';
|
|
4
|
-
import { advisoryContributionSchemaPublic } from '../enno-oduno/schemas.js';
|
|
5
|
-
import { ADVISORY_MAX_ROUND_BYTES, ADVISORY_MAX_SLOT_BYTES, } from '../enno-oduno/types.js';
|
|
6
|
-
function failure(slotId, reasonCode) {
|
|
7
|
-
return { slotId, outcome: reasonCode === 'host_timeout' ? 'timeout' : reasonCode === 'host_read_only_unavailable' ? 'unavailable' : 'failed', reasonCode };
|
|
8
|
-
}
|
|
9
|
-
function boundedOutput(slotId, value) {
|
|
10
|
-
if (findSecretInValue(value) !== undefined)
|
|
11
|
-
return failure(slotId, 'unsafe_output');
|
|
12
|
-
if (Buffer.byteLength(canonicalJson(value), 'utf8') > ADVISORY_MAX_SLOT_BYTES)
|
|
13
|
-
return failure(slotId, 'invalid_response');
|
|
14
|
-
const parsed = advisoryContributionSchemaPublic.safeParse(value);
|
|
15
|
-
return parsed.success && parsed.data.slotId === slotId ? parsed.data : failure(slotId, 'invalid_response');
|
|
16
|
-
}
|
|
17
|
-
function linkAbort(parent, child) {
|
|
18
|
-
if (parent.aborted)
|
|
19
|
-
child.abort(parent.reason);
|
|
20
|
-
const abort = () => child.abort(parent.reason);
|
|
21
|
-
parent.addEventListener('abort', abort, { once: true });
|
|
22
|
-
return () => parent.removeEventListener('abort', abort);
|
|
23
|
-
}
|
|
24
|
-
async function runSlot(directive, slot, context, dependencies, parentSignal) {
|
|
25
|
-
const controller = new AbortController();
|
|
26
|
-
const unlink = linkAbort(parentSignal, controller);
|
|
27
|
-
const call = {
|
|
28
|
-
phase: directive.phase,
|
|
29
|
-
slotId: slot.slotId,
|
|
30
|
-
rank: slot.rank,
|
|
31
|
-
role: slot.role,
|
|
32
|
-
instructions: slot.instructions,
|
|
33
|
-
context,
|
|
34
|
-
tools: [],
|
|
35
|
-
signal: controller.signal,
|
|
36
|
-
};
|
|
37
|
-
try {
|
|
38
|
-
try {
|
|
39
|
-
if (!(await dependencies.verifyReadOnly(call)))
|
|
40
|
-
return failure(slot.slotId, 'host_read_only_unavailable');
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
return failure(slot.slotId, 'host_execution_failed');
|
|
44
|
-
}
|
|
45
|
-
if (parentSignal.aborted)
|
|
46
|
-
return failure(slot.slotId, 'host_execution_failed');
|
|
47
|
-
const timeoutMs = dependencies.timeoutMs ?? 30_000;
|
|
48
|
-
let timer;
|
|
49
|
-
const timeout = new Promise((_, reject) => {
|
|
50
|
-
timer = setTimeout(() => {
|
|
51
|
-
controller.abort(new Error('advisory timeout'));
|
|
52
|
-
reject(new Error('advisory timeout'));
|
|
53
|
-
}, timeoutMs);
|
|
54
|
-
});
|
|
55
|
-
let unlinkParentAbort;
|
|
56
|
-
const aborted = new Promise((_, reject) => {
|
|
57
|
-
if (parentSignal.aborted)
|
|
58
|
-
reject(new Error('advisory aborted'));
|
|
59
|
-
else {
|
|
60
|
-
const onAbort = () => reject(new Error('advisory aborted'));
|
|
61
|
-
parentSignal.addEventListener('abort', onAbort, { once: true });
|
|
62
|
-
unlinkParentAbort = () => parentSignal.removeEventListener('abort', onAbort);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
try {
|
|
66
|
-
const output = await Promise.race([dependencies.execute(call), timeout, aborted]);
|
|
67
|
-
try {
|
|
68
|
-
return boundedOutput(slot.slotId, output);
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
return failure(slot.slotId, 'invalid_response');
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
return error instanceof Error && error.message === 'advisory timeout'
|
|
76
|
-
? failure(slot.slotId, 'host_timeout')
|
|
77
|
-
: failure(slot.slotId, 'host_execution_failed');
|
|
78
|
-
}
|
|
79
|
-
finally {
|
|
80
|
-
if (timer !== undefined)
|
|
81
|
-
clearTimeout(timer);
|
|
82
|
-
unlinkParentAbort?.();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
finally {
|
|
86
|
-
unlink();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/** Execute exactly the current phase's fixed three slots with no advisor authority. */
|
|
90
|
-
export class DshAdvisoryRunner {
|
|
91
|
-
#dependencies;
|
|
92
|
-
constructor(dependencies) {
|
|
93
|
-
this.#dependencies = dependencies;
|
|
94
|
-
const timeoutMs = dependencies.timeoutMs ?? 30_000;
|
|
95
|
-
if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 120_000)
|
|
96
|
-
throw new Error('advisory timeoutMs must be between 1 and 120000');
|
|
97
|
-
}
|
|
98
|
-
async run(input) {
|
|
99
|
-
const expected = advisorySlotDefinitions(input.directive.phase);
|
|
100
|
-
if (input.directive.slots.length !== expected.length || input.directive.slots.some((slot, index) => (slot.slotId !== expected[index]?.slotId || slot.rank !== expected[index]?.rank || slot.role !== expected[index]?.role)))
|
|
101
|
-
throw new Error('Advisory directive slots do not match the fixed core slot set');
|
|
102
|
-
const signal = input.signal ?? new AbortController().signal;
|
|
103
|
-
const contributions = await Promise.all(input.directive.slots.map((slot) => runSlot(input.directive, slot, input.directive.context, this.#dependencies, signal)));
|
|
104
|
-
const normalized = normalizeAdvisoryContributions(input.directive.phase, contributions);
|
|
105
|
-
if (Buffer.byteLength(canonicalJson(normalized), 'utf8') > ADVISORY_MAX_ROUND_BYTES)
|
|
106
|
-
throw new Error('Advisory round exceeds the safety limit');
|
|
107
|
-
const aggregate = advisoryRoundAggregate(normalized);
|
|
108
|
-
return Object.freeze({
|
|
109
|
-
phase: input.directive.phase,
|
|
110
|
-
inputDigest: canonicalContentHash({ phase: input.directive.phase, slots: expected, context: input.directive.context }),
|
|
111
|
-
contributions: Object.freeze(aggregate.contributions),
|
|
112
|
-
degraded: aggregate.degraded,
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=advisory-runner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"advisory-runner.js","sourceRoot":"","sources":["../../src/dsh/advisory-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAC3H,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAMxB,MAAM,wBAAwB,CAAA;AA0B/B,SAAS,OAAO,CAAC,MAAsB,EAAE,UAA0H;IACjK,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,4BAA4B,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;AAC5J,CAAC;AAED,SAAS,aAAa,CAAC,MAAsB,EAAE,KAAc;IAC3D,IAAI,iBAAiB,CAAC,KAAK,CAAC,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACnF,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,uBAAuB;QAAE,OAAO,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IACzH,MAAM,MAAM,GAAG,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAChE,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAA4B,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;AACpI,CAAC;AAED,SAAS,SAAS,CAAC,MAAmB,EAAE,KAAsB;IAC5D,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACzD,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,SAAkC,EAClC,IAA8C,EAC9C,OAAwB,EACxB,YAA2C,EAC3C,YAAyB;IAEzB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAClD,MAAM,IAAI,GAAoB;QAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,OAAO;QACP,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAA;IACD,IAAI,CAAC;QACH,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;QAC3G,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,YAAY,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;QAC9E,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,MAAM,CAAA;QAClD,IAAI,KAAgD,CAAA;QACpD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;gBAC/C,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;YACvC,CAAC,EAAE,SAAS,CAAC,CAAA;QACf,CAAC,CAAC,CAAA;QACF,IAAI,iBAA2C,CAAA;QAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,YAAY,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;iBAC1D,CAAC;gBACJ,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;gBAC3D,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC/D,iBAAiB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;YACjF,IAAI,CAAC;gBACH,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB;gBACnE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;gBACtC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;QACnD,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC5C,iBAAiB,EAAE,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAA;IACV,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,OAAO,iBAAiB;IACnB,aAAa,CAA+B;IAErD,YAAY,YAA2C;QACrD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAA;QACjC,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,MAAM,CAAA;QAClD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IAClJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAGT;QACC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC/D,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAClG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CACtH,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QACpF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM,CAAA;QAC3D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CACjF,KAAK,CAAC,SAAS,EACf,IAAI,EACJ,KAAK,CAAC,SAAS,CAAC,OAAO,EACvB,IAAI,CAAC,aAAa,EAClB,MAAM,CACP,CAAC,CAAC,CAAA;QACH,MAAM,UAAU,GAAG,8BAA8B,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QACvF,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,GAAG,wBAAwB;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC/I,MAAM,SAAS,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACpD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;YAC5B,WAAW,EAAE,oBAAoB,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACtH,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;YACrD,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC7B,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { SqliteDatabase } from '../db/adapter.js';
|
|
2
|
-
import type { TapSummary } from './node-tap-summary.js';
|
|
3
|
-
import type { CodingDefinition } from './coding-workflow/contracts.js';
|
|
4
|
-
interface Identity {
|
|
5
|
-
runId: string;
|
|
6
|
-
workspace: string;
|
|
7
|
-
orchestrationId: string;
|
|
8
|
-
}
|
|
9
|
-
interface CompletionVerifiers {
|
|
10
|
-
criteria(db: SqliteDatabase, identity: Identity): {
|
|
11
|
-
revision: number;
|
|
12
|
-
criteria: readonly {
|
|
13
|
-
id: string;
|
|
14
|
-
description: string;
|
|
15
|
-
}[];
|
|
16
|
-
};
|
|
17
|
-
results(db: SqliteDatabase, identity: Identity, root: string, workUnitId?: string): readonly {
|
|
18
|
-
verifierId: string;
|
|
19
|
-
status: string;
|
|
20
|
-
tapSummary?: TapSummary;
|
|
21
|
-
explicitCases?: boolean;
|
|
22
|
-
receiptId?: string;
|
|
23
|
-
}[] | null | undefined;
|
|
24
|
-
codingProjection?(db: SqliteDatabase, identity: Identity): {
|
|
25
|
-
definition: CodingDefinition;
|
|
26
|
-
approved: boolean;
|
|
27
|
-
completed: boolean;
|
|
28
|
-
bindings: readonly {
|
|
29
|
-
criterionId: string;
|
|
30
|
-
verifierId: string;
|
|
31
|
-
workUnitId?: string;
|
|
32
|
-
}[];
|
|
33
|
-
} | undefined;
|
|
34
|
-
/** Explicit task resume: the optional source owns contract/evidence renewal. */
|
|
35
|
-
reopenTask?(db: SqliteDatabase, identity: Identity, input: {
|
|
36
|
-
operationId: string;
|
|
37
|
-
repositoryRoot: string;
|
|
38
|
-
force: boolean;
|
|
39
|
-
}): boolean;
|
|
40
|
-
}
|
|
41
|
-
/** The optional Enno module supplies its own readers; core never imports that module. */
|
|
42
|
-
export declare function registerCompletionVerifiers(value: CompletionVerifiers): void;
|
|
43
|
-
export declare function completionVerifiers(): CompletionVerifiers;
|
|
44
|
-
export {};
|
|
45
|
-
//# sourceMappingURL=completion-verifiers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completion-verifiers.d.ts","sourceRoot":"","sources":["../../src/dsh/completion-verifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,UAAU,QAAQ;IAAE,KAAK,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAA;CAAC;AACzE,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,EAAC,cAAc,EAAC,QAAQ,EAAC,QAAQ,GAAE;QAAC,QAAQ,EAAC,MAAM,CAAC;QAAA,QAAQ,EAAC,SAAS;YAAC,EAAE,EAAC,MAAM,CAAC;YAAA,WAAW,EAAC,MAAM,CAAA;SAAC,EAAE,CAAA;KAAC,CAAA;IAClH,OAAO,CAAC,EAAE,EAAC,cAAc,EAAC,QAAQ,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,UAAU,CAAC,EAAC,MAAM,GAAE,SAAS;QAAC,UAAU,EAAC,MAAM,CAAC;QAAA,MAAM,EAAC,MAAM,CAAC;QAAA,UAAU,CAAC,EAAC,UAAU,CAAC;QAAA,aAAa,CAAC,EAAC,OAAO,CAAC;QAAA,SAAS,CAAC,EAAC,MAAM,CAAA;KAAC,EAAE,GAAC,IAAI,GAAC,SAAS,CAAA;IACvM,gBAAgB,CAAC,CAAC,EAAE,EAAC,cAAc,EAAC,QAAQ,EAAC,QAAQ,GAAG;QAAE,UAAU,EAAC,gBAAgB,CAAC;QAAC,QAAQ,EAAC,OAAO,CAAC;QAAC,SAAS,EAAC,OAAO,CAAC;QACzH,QAAQ,EAAC,SAAS;YAAE,WAAW,EAAC,MAAM,CAAC;YAAC,UAAU,EAAC,MAAM,CAAC;YAAC,UAAU,CAAC,EAAC,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;IACjG,gFAAgF;IAChF,UAAU,CAAC,CAAC,EAAE,EAAC,cAAc,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAC;QAAC,WAAW,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,OAAO,CAAA;KAAC,GAAE,OAAO,CAAA;CACxH;AAED,yFAAyF;AACzF,wBAAgB,2BAA2B,CAAC,KAAK,EAAC,mBAAmB,GAAE,IAAI,CAAkB;AAC7F,wBAAgB,mBAAmB,IAAG,mBAAmB,CAGxD"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
let readers;
|
|
2
|
-
/** The optional Enno module supplies its own readers; core never imports that module. */
|
|
3
|
-
export function registerCompletionVerifiers(value) { readers = value; }
|
|
4
|
-
export function completionVerifiers() {
|
|
5
|
-
if (!readers)
|
|
6
|
-
throw new Error('Enno completion requires the loaded Enno module');
|
|
7
|
-
return readers;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=completion-verifiers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completion-verifiers.js","sourceRoot":"","sources":["../../src/dsh/completion-verifiers.ts"],"names":[],"mappings":"AAaA,IAAI,OAAqC,CAAA;AACzC,yFAAyF;AACzF,MAAM,UAAU,2BAA2B,CAAC,KAAyB,IAAS,OAAO,GAAC,KAAK,CAAA,CAAC,CAAC;AAC7F,MAAM,UAAU,mBAAmB;IACjC,IAAG,CAAC,OAAO;QAAC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IAC9E,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { SqliteDatabase } from '../db/adapter.js';
|
|
2
|
-
import type { EnnoExecutionLease, EnnoOdunoState, RoleDirective } from '../enno-oduno/types.js';
|
|
3
|
-
export interface DshExactResumeExpectation {
|
|
4
|
-
readonly runId: string;
|
|
5
|
-
readonly workspace: string;
|
|
6
|
-
readonly dshSessionId: string;
|
|
7
|
-
readonly routeEpoch: number;
|
|
8
|
-
readonly resumeToken: string;
|
|
9
|
-
readonly requireExistingBinding: true;
|
|
10
|
-
}
|
|
11
|
-
export interface DshResumeDecision {
|
|
12
|
-
readonly continue: boolean;
|
|
13
|
-
readonly waitingUser?: boolean;
|
|
14
|
-
readonly runId: string | null;
|
|
15
|
-
readonly status: EnnoOdunoState['status'] | null;
|
|
16
|
-
readonly directive: RoleDirective | null;
|
|
17
|
-
readonly reason: string | null;
|
|
18
|
-
readonly warning: string | null;
|
|
19
|
-
readonly resumeToken: string | null;
|
|
20
|
-
readonly routeEpoch: number | null;
|
|
21
|
-
readonly executionLease: EnnoExecutionLease | null;
|
|
22
|
-
}
|
|
23
|
-
export declare function decideDshContinuation(database: SqliteDatabase, rawInput: unknown, expectedRun?: string | DshExactResumeExpectation): DshResumeDecision;
|
|
24
|
-
//# sourceMappingURL=continuation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/dsh/continuation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAA;AAYjE,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,aAAa,EACd,MAAM,wBAAwB,CAAA;AAG/B,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAA;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IAChD,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAA;CACnD;AAmOD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,WAAW,CAAC,EAAE,MAAM,GAAG,yBAAyB,GAC/C,iBAAiB,CA4DnB"}
|
package/dist/dsh/continuation.js
DELETED
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import { createHash, randomBytes } from 'node:crypto';
|
|
2
|
-
import * as z from 'zod/v4';
|
|
3
|
-
import { withImmediateTransaction } from '../db/transaction.js';
|
|
4
|
-
import { KiokukoError } from '../errors.js';
|
|
5
|
-
import { detectRepositoryRoot } from '../repository/detect-root.js';
|
|
6
|
-
import { canonicalContentHash } from '../serialization/validate.js';
|
|
7
|
-
import { directiveForRun } from '../enno-oduno/directives.js';
|
|
8
|
-
import { PLAN_START_RECOVERY_BLOCKER_PREFIX } from '../enno-oduno/plan-recovery.js';
|
|
9
|
-
import { appendEnnoEventInTransaction, claimExecutionLeaseInTransaction, readEnnoSnapshot, } from '../enno-oduno/store.js';
|
|
10
|
-
import { claimAutomaticContinuationInTransaction, ennoInstructionDigest } from './loop-guard.js';
|
|
11
|
-
const inputSchema = z.object({
|
|
12
|
-
dshSessionId: z.string().min(1).max(256),
|
|
13
|
-
cwd: z.string().min(1).max(4_096),
|
|
14
|
-
claimId: z.string().regex(/^[0-9a-f]{64}$/u).optional(),
|
|
15
|
-
}).strict();
|
|
16
|
-
function candidates(database, repositoryRoot, dshSessionId, expectedRunId) {
|
|
17
|
-
return database.prepare(`
|
|
18
|
-
SELECT ec.run_id AS runId, ec.workspace, ec.orchestration_session_id AS orchestrationId,
|
|
19
|
-
ec.dsh_session_id AS dshSessionId, ec.repository_root AS repositoryRoot,
|
|
20
|
-
ec.status, ec.route_epoch AS routeEpoch
|
|
21
|
-
FROM enno_contracts AS ec
|
|
22
|
-
WHERE ec.repository_root = ?
|
|
23
|
-
AND (? IS NULL OR ec.dsh_session_id = ?)
|
|
24
|
-
AND (? IS NULL OR ec.run_id = ?)
|
|
25
|
-
AND (ec.blocker IS NULL OR ec.blocker NOT LIKE ?)
|
|
26
|
-
AND ec.status IN ('zenki_planning', 'goki_executing', 'enno_verifying')
|
|
27
|
-
ORDER BY ec.created_at, ec.run_id
|
|
28
|
-
LIMIT 2
|
|
29
|
-
`).all(repositoryRoot, dshSessionId ?? null, dshSessionId ?? null, expectedRunId ?? null, expectedRunId ?? null, `${PLAN_START_RECOVERY_BLOCKER_PREFIX}%`);
|
|
30
|
-
}
|
|
31
|
-
function bindCandidate(database, candidate, dshSessionId) {
|
|
32
|
-
if (candidate.dshSessionId === dshSessionId)
|
|
33
|
-
return candidate;
|
|
34
|
-
const activeLease = database.prepare(`
|
|
35
|
-
SELECT dsh_session_id AS dshSessionId, lease_expires_at AS expiresAt
|
|
36
|
-
FROM enno_execution_leases WHERE run_id = ?
|
|
37
|
-
`).get(candidate.runId);
|
|
38
|
-
if (activeLease !== undefined && activeLease.expiresAt > new Date().toISOString()
|
|
39
|
-
&& activeLease.dshSessionId !== dshSessionId) {
|
|
40
|
-
throw new KiokukoError('CONFLICT', 'An active Enno WorkUnit lease prevents DSH session rebinding');
|
|
41
|
-
}
|
|
42
|
-
const updated = database.prepare(`
|
|
43
|
-
UPDATE enno_contracts
|
|
44
|
-
SET dsh_session_id = ?, route_epoch = route_epoch + 1, updated_at = ?
|
|
45
|
-
WHERE run_id = ? AND orchestration_session_id = ? AND dsh_session_id IS ?
|
|
46
|
-
RETURNING route_epoch AS routeEpoch
|
|
47
|
-
`).get(dshSessionId, new Date().toISOString(), candidate.runId, candidate.orchestrationId, candidate.dshSessionId);
|
|
48
|
-
if (updated === undefined)
|
|
49
|
-
throw new KiokukoError('CONFLICT', 'Enno DSH session route changed concurrently');
|
|
50
|
-
appendEnnoEventInTransaction(database, candidate.runId, candidate.dshSessionId === null ? 'enno.dsh_session_bound' : 'enno.dsh_session_rebound', 'enno-oduno', candidate.dshSessionId === null ? 'bound' : 'rebound', { fromDshSessionId: candidate.dshSessionId, toDshSessionId: dshSessionId });
|
|
51
|
-
return { ...candidate, dshSessionId, routeEpoch: updated.routeEpoch };
|
|
52
|
-
}
|
|
53
|
-
function resolveCandidate(database, repositoryRoot, dshSessionId, expectedRunId) {
|
|
54
|
-
const exact = candidates(database, repositoryRoot, dshSessionId, expectedRunId);
|
|
55
|
-
if (exact.length > 1)
|
|
56
|
-
return { kind: 'ambiguous' };
|
|
57
|
-
if (exact[0] !== undefined)
|
|
58
|
-
return { kind: 'resolved', candidate: exact[0] };
|
|
59
|
-
const repository = candidates(database, repositoryRoot, undefined, expectedRunId);
|
|
60
|
-
if (repository.length === 0)
|
|
61
|
-
return { kind: 'none' };
|
|
62
|
-
if (repository.length > 1)
|
|
63
|
-
return { kind: 'ambiguous' };
|
|
64
|
-
return { kind: 'resolved', candidate: bindCandidate(database, repository[0], dshSessionId) };
|
|
65
|
-
}
|
|
66
|
-
function exactResumeCandidate(database, expectation, repositoryRoot) {
|
|
67
|
-
const rows = candidates(database, repositoryRoot, undefined, expectation.runId);
|
|
68
|
-
const candidate = rows[0];
|
|
69
|
-
if (candidate === undefined)
|
|
70
|
-
throw new KiokukoError('CONFLICT', 'The exact DSH resume run is not registered for this repository');
|
|
71
|
-
if (candidate.routeEpoch !== expectation.routeEpoch)
|
|
72
|
-
throw new KiokukoError('CONFLICT', 'resumeToken route epoch is stale');
|
|
73
|
-
if (candidate.workspace !== expectation.workspace || candidate.dshSessionId !== expectation.dshSessionId) {
|
|
74
|
-
throw new KiokukoError('CONFLICT', 'The exact DSH resume route is stale');
|
|
75
|
-
}
|
|
76
|
-
const tokenHash = createHash('sha256').update(expectation.resumeToken, 'utf8').digest('hex');
|
|
77
|
-
const token = database.prepare(`
|
|
78
|
-
SELECT run_id AS runId, repository_root AS repositoryRoot, route_epoch AS routeEpoch,
|
|
79
|
-
dsh_session_id AS dshSessionId, expires_at AS expiresAt
|
|
80
|
-
FROM enno_resume_tokens WHERE token_hash = ?
|
|
81
|
-
`).get(tokenHash);
|
|
82
|
-
if (token !== undefined && token.routeEpoch !== expectation.routeEpoch) {
|
|
83
|
-
throw new KiokukoError('CONFLICT', 'resumeToken route epoch is stale');
|
|
84
|
-
}
|
|
85
|
-
if (token === undefined
|
|
86
|
-
|| token.runId !== expectation.runId
|
|
87
|
-
|| token.repositoryRoot !== repositoryRoot
|
|
88
|
-
|| token.routeEpoch !== expectation.routeEpoch
|
|
89
|
-
|| token.dshSessionId !== expectation.dshSessionId
|
|
90
|
-
|| !Number.isFinite(Date.parse(token.expiresAt))
|
|
91
|
-
|| Date.parse(token.expiresAt) <= Date.now()) {
|
|
92
|
-
throw new KiokukoError('CONFLICT', 'The exact DSH resume credential is stale');
|
|
93
|
-
}
|
|
94
|
-
return candidate;
|
|
95
|
-
}
|
|
96
|
-
function issueResumeToken(database, snapshot) {
|
|
97
|
-
if (snapshot.dshSessionId === null)
|
|
98
|
-
throw new KiokukoError('INTEGRITY_ERROR', 'Enno resume token requires a bound DSH session');
|
|
99
|
-
const token = randomBytes(32).toString('base64url');
|
|
100
|
-
const now = new Date();
|
|
101
|
-
const expiresAt = new Date(now.getTime() + 15 * 60_000).toISOString();
|
|
102
|
-
database.prepare('DELETE FROM enno_resume_tokens WHERE expires_at <= ?').run(now.toISOString());
|
|
103
|
-
database.prepare(`
|
|
104
|
-
INSERT INTO enno_resume_tokens (
|
|
105
|
-
token_hash, run_id, repository_root, route_epoch, dsh_session_id, expires_at, created_at
|
|
106
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
107
|
-
`).run(createHash('sha256').update(token, 'utf8').digest('hex'), snapshot.runId, snapshot.repositoryRoot, snapshot.routeEpoch ?? 0, snapshot.dshSessionId, expiresAt, now.toISOString());
|
|
108
|
-
return token;
|
|
109
|
-
}
|
|
110
|
-
function claimContinuation(database, snapshot, directiveDigest) {
|
|
111
|
-
if (snapshot.dshSessionId === null)
|
|
112
|
-
throw new KiokukoError('INTEGRITY_ERROR', 'Enno continuation requires the current DSH session');
|
|
113
|
-
const existing = database.prepare(`
|
|
114
|
-
SELECT contract_revision AS contractRevision, mutation_revision AS mutationRevision,
|
|
115
|
-
attempts, directive_digest AS directiveDigest, continuation_count AS continuationCount,
|
|
116
|
-
total_count AS totalCount
|
|
117
|
-
FROM enno_dsh_continuations WHERE run_id = ? AND dsh_session_id = ?
|
|
118
|
-
`).get(snapshot.runId, snapshot.dshSessionId);
|
|
119
|
-
const unchanged = existing?.contractRevision === snapshot.revision
|
|
120
|
-
&& existing.mutationRevision === snapshot.mutationRevision
|
|
121
|
-
&& existing.attempts === snapshot.attempts
|
|
122
|
-
&& existing.directiveDigest === directiveDigest;
|
|
123
|
-
const count = unchanged ? existing.continuationCount : 0;
|
|
124
|
-
const remaining = Math.max(0, snapshot.contract.maxAttempts - snapshot.attempts);
|
|
125
|
-
if (count >= remaining || (existing?.totalCount ?? 0) >= snapshot.contract.maxAttempts)
|
|
126
|
-
return false;
|
|
127
|
-
database.prepare(`
|
|
128
|
-
INSERT INTO enno_dsh_continuations (
|
|
129
|
-
run_id, dsh_session_id, contract_revision, mutation_revision, attempts,
|
|
130
|
-
directive_digest, continuation_count, total_count, updated_at
|
|
131
|
-
) VALUES (?, ?, ?, ?, ?, ?, 1, 1, ?)
|
|
132
|
-
ON CONFLICT(run_id, dsh_session_id) DO UPDATE SET
|
|
133
|
-
contract_revision = excluded.contract_revision,
|
|
134
|
-
mutation_revision = excluded.mutation_revision,
|
|
135
|
-
attempts = excluded.attempts,
|
|
136
|
-
directive_digest = excluded.directive_digest,
|
|
137
|
-
continuation_count = CASE
|
|
138
|
-
WHEN enno_dsh_continuations.contract_revision = excluded.contract_revision
|
|
139
|
-
AND enno_dsh_continuations.mutation_revision = excluded.mutation_revision
|
|
140
|
-
AND enno_dsh_continuations.attempts = excluded.attempts
|
|
141
|
-
AND enno_dsh_continuations.directive_digest = excluded.directive_digest
|
|
142
|
-
THEN enno_dsh_continuations.continuation_count + 1 ELSE 1 END,
|
|
143
|
-
total_count = enno_dsh_continuations.total_count + 1,
|
|
144
|
-
updated_at = excluded.updated_at
|
|
145
|
-
`).run(snapshot.runId, snapshot.dshSessionId, snapshot.revision, snapshot.mutationRevision, snapshot.attempts, directiveDigest, new Date().toISOString());
|
|
146
|
-
return true;
|
|
147
|
-
}
|
|
148
|
-
function continuationPrompt(directive) {
|
|
149
|
-
return `Enno-Oduno requires continuation in this DSH session. Follow this run-bound directive; DSH binds route credentials and execution leases outside model arguments:\n${JSON.stringify({ directive })}`;
|
|
150
|
-
}
|
|
151
|
-
export function decideDshContinuation(database, rawInput, expectedRun) {
|
|
152
|
-
const parsed = inputSchema.safeParse(rawInput);
|
|
153
|
-
if (!parsed.success)
|
|
154
|
-
throw new KiokukoError('VALIDATION_ERROR', 'DSH continuation input is invalid');
|
|
155
|
-
const repositoryRoot = detectRepositoryRoot({ cwd: parsed.data.cwd, allowDirectory: true }).root;
|
|
156
|
-
const continuation = withImmediateTransaction(database, () => {
|
|
157
|
-
const resolution = typeof expectedRun === 'object'
|
|
158
|
-
? { kind: 'resolved', candidate: exactResumeCandidate(database, expectedRun, repositoryRoot) }
|
|
159
|
-
: resolveCandidate(database, repositoryRoot, parsed.data.dshSessionId, expectedRun);
|
|
160
|
-
if (resolution.kind !== 'resolved')
|
|
161
|
-
return resolution;
|
|
162
|
-
const candidate = resolution.candidate;
|
|
163
|
-
const snapshot = readEnnoSnapshot(database, {
|
|
164
|
-
runId: candidate.runId,
|
|
165
|
-
workspace: candidate.workspace,
|
|
166
|
-
orchestrationId: candidate.orchestrationId,
|
|
167
|
-
});
|
|
168
|
-
if (snapshot.dshSessionId !== parsed.data.dshSessionId) {
|
|
169
|
-
throw new KiokukoError('INTEGRITY_ERROR', 'Enno DSH session routing is inconsistent');
|
|
170
|
-
}
|
|
171
|
-
const directive = directiveForRun(snapshot);
|
|
172
|
-
if (directive === null)
|
|
173
|
-
throw new KiokukoError('INTEGRITY_ERROR', 'Enno active run has no role directive');
|
|
174
|
-
const loopClaim = parsed.data.claimId !== undefined
|
|
175
|
-
? claimAutomaticContinuationInTransaction(database, {
|
|
176
|
-
claimId: parsed.data.claimId,
|
|
177
|
-
runId: snapshot.runId,
|
|
178
|
-
dshSessionId: parsed.data.dshSessionId,
|
|
179
|
-
instructionDigest: ennoInstructionDigest(snapshot, directive),
|
|
180
|
-
})
|
|
181
|
-
: null;
|
|
182
|
-
const legacyClaimed = loopClaim?.decision === 'wait_user' || loopClaim?.replayed === true
|
|
183
|
-
? true
|
|
184
|
-
: claimContinuation(database, snapshot, canonicalContentHash(directive));
|
|
185
|
-
const claimed = legacyClaimed && (loopClaim === null || loopClaim.decision === 'deliver');
|
|
186
|
-
const resumeToken = claimed ? issueResumeToken(database, snapshot) : null;
|
|
187
|
-
const executionLease = claimed && directive.role === 'goki' && directive.workUnit !== null
|
|
188
|
-
? claimExecutionLeaseInTransaction(database, snapshot, directive.workUnit.id, { dshSessionId: parsed.data.dshSessionId })
|
|
189
|
-
: null;
|
|
190
|
-
return { kind: 'continuation', snapshot, directive, claimed, loopClaim, resumeToken, executionLease };
|
|
191
|
-
});
|
|
192
|
-
if (continuation.kind === 'none') {
|
|
193
|
-
return { continue: false, waitingUser: false, runId: null, status: null, directive: null, reason: null, warning: null, resumeToken: null, routeEpoch: null, executionLease: null };
|
|
194
|
-
}
|
|
195
|
-
if (continuation.kind === 'ambiguous') {
|
|
196
|
-
return { continue: false, waitingUser: false, runId: null, status: null, directive: null, reason: null, warning: 'Multiple Enno-Oduno runs match this DSH repository; refusing to guess.', resumeToken: null, routeEpoch: null, executionLease: null };
|
|
197
|
-
}
|
|
198
|
-
const { snapshot } = continuation;
|
|
199
|
-
if (!continuation.claimed) {
|
|
200
|
-
return { continue: false, waitingUser: continuation.loopClaim?.decision === 'wait_user', runId: snapshot.runId, status: snapshot.status, directive: null, reason: null, warning: 'Enno-Oduno continuation limit reached for this DSH session.', resumeToken: null, routeEpoch: snapshot.routeEpoch ?? 0, executionLease: null };
|
|
201
|
-
}
|
|
202
|
-
return {
|
|
203
|
-
continue: true,
|
|
204
|
-
waitingUser: false,
|
|
205
|
-
runId: snapshot.runId,
|
|
206
|
-
status: snapshot.status,
|
|
207
|
-
directive: continuation.directive,
|
|
208
|
-
reason: continuationPrompt(continuation.directive),
|
|
209
|
-
warning: null,
|
|
210
|
-
resumeToken: continuation.resumeToken,
|
|
211
|
-
routeEpoch: snapshot.routeEpoch ?? 0,
|
|
212
|
-
executionLease: continuation.executionLease,
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
//# sourceMappingURL=continuation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/dsh/continuation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { DshLlm } from '../session-memory-finalizer.js';
|
|
2
|
-
import type { ModelBinding } from '../model-configuration.js';
|
|
3
|
-
import type { DshAdvisoryCall } from '../advisory-runner.js';
|
|
4
|
-
/** An auxiliary no-tool LLM stream cannot mutate the workspace or grant permission. */
|
|
5
|
-
export declare function executeCheckModel(llm: DshLlm, binding: ModelBinding, call: DshAdvisoryCall): Promise<unknown>;
|
|
6
|
-
//# sourceMappingURL=check-model.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"check-model.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/check-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAG5D,uFAAuF;AACvF,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAoBnH"}
|