@abot-ai/runtime 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/bridge/start-agent-bridge.js +22 -0
- package/dist/src/capabilities/normal-invocation/contracts.d.ts +11 -0
- package/dist/src/capabilities/normal-invocation/contracts.js +1 -0
- package/dist/src/capabilities/normal-invocation/validator.js +40 -4
- package/dist/src/capabilities/result-budget.d.ts +17 -0
- package/dist/src/capabilities/result-budget.js +21 -0
- package/dist/src/capabilities/tool-context-text.d.ts +16 -0
- package/dist/src/capabilities/tool-context-text.js +30 -0
- package/dist/src/capabilities/tool-definition-validator/definition-parser.js +6 -0
- package/dist/src/capabilities/tool-definition-validator/event-input-text-options.js +3 -2
- package/dist/src/capabilities/tool-event-input-text.d.ts +1 -0
- package/dist/src/capabilities/tool-event-input-text.js +2 -1
- package/dist/src/capabilities/tool-executor.d.ts +3 -1
- package/dist/src/capabilities/tool-executor.js +29 -50
- package/dist/src/capabilities/tool-interruption.d.ts +3 -0
- package/dist/src/capabilities/tool-interruption.js +6 -0
- package/dist/src/capabilities/tool-result-normalization.d.ts +18 -0
- package/dist/src/capabilities/tool-result-normalization.js +68 -0
- package/dist/src/capabilities/tool-types.d.ts +25 -2
- package/dist/src/cli/host-companion-bundle.mjs +474 -212
- package/dist/src/cli/host-companion.js +6 -0
- package/dist/src/cli/host-permissions.d.ts +7 -0
- package/dist/src/cli/host-permissions.js +24 -0
- package/dist/src/computer-access/companion/native-messages.js +1 -0
- package/dist/src/computer-access/companion/native-permissions.d.ts +14 -0
- package/dist/src/computer-access/companion/native-permissions.js +49 -0
- package/dist/src/computer-access/companion/native-session.js +4 -0
- package/dist/src/computer-access/companion/notification-installation.js +2 -15
- package/dist/src/computer-access/companion/notification-macos-bundle.d.ts +3 -0
- package/dist/src/computer-access/companion/notification-macos-bundle.js +84 -0
- package/dist/src/computer-access/companion/notification-macos.js +1 -1
- package/dist/src/computer-access/companion/notification-protocol.d.ts +1 -1
- package/dist/src/computer-access/companion/notification-protocol.js +20 -1
- package/dist/src/computer-access/companion/notification-readiness.js +2 -1
- package/dist/src/computer-access/companion/permission-protocol.d.ts +22 -0
- package/dist/src/computer-access/companion/permission-protocol.js +45 -0
- package/dist/src/computer-access/companion/protocol.d.ts +2 -1
- package/dist/src/computer-access/companion/protocol.js +3 -0
- package/dist/src/computer-access/companion/release-version.d.ts +1 -1
- package/dist/src/computer-access/companion/release-version.js +1 -1
- package/dist/src/computer-access/companion/spark-notification-query.d.ts +2 -0
- package/dist/src/computer-access/companion/spark-notification-query.js +62 -0
- package/dist/src/computer-access/computer/macos-desktop.js +1 -1
- package/dist/src/computer-access/computer/macos-input.js +2 -5
- package/dist/src/computer-access/computer/macos-permission-helper.d.ts +4 -0
- package/dist/src/computer-access/computer/macos-permission-helper.js +38 -0
- package/dist/src/computer-access/host-observation.d.ts +3 -3
- package/dist/src/computer-access/native-permission-contract.d.ts +23 -0
- package/dist/src/computer-access/native-permission-contract.js +38 -0
- package/dist/src/model-gateway/policy/invocation-policy.js +10 -1
- package/dist/src/model-gateway/providers/openai/payload.js +8 -0
- package/dist/src/model-gateway/structured-output/ollama-format.js +5 -0
- package/dist/src/model-gateway/structured-output/openai-format.js +5 -0
- package/dist/src/model-gateway/types.d.ts +3 -0
- package/dist/src/plugin-contract/manifest.d.ts +2 -1
- package/dist/src/plugin-sdk/context-text-result.d.ts +10 -0
- package/dist/src/plugin-sdk/context-text-result.js +19 -0
- package/dist/src/plugin-sdk/index.d.ts +1 -0
- package/dist/src/plugin-sdk/index.js +1 -0
- package/dist/src/plugin-sdk/results.d.ts +7 -4
- package/dist/src/plugin-sdk/results.js +35 -10
- package/dist/src/runtime/adapters/co-worker-resources.d.ts +2 -0
- package/dist/src/runtime/adapters/co-worker-resources.js +2 -2
- package/dist/src/runtime/adapters/file-session-store.js +6 -0
- package/dist/src/runtime/adapters/in-memory-session-store.js +14 -1
- package/dist/src/runtime/adapters/long-term-memory/onboarding-service.d.ts +2 -1
- package/dist/src/runtime/adapters/long-term-memory/onboarding-service.js +5 -4
- package/dist/src/runtime/adapters/passive-learning-runtime.d.ts +2 -1
- package/dist/src/runtime/adapters/passive-learning-runtime.js +1 -1
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/prepared-execution.js +77 -26
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/result-budget.d.ts +11 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/result-budget.js +30 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/contracts.d.ts +28 -1
- package/dist/src/runtime/adapters/registered-tool-payload-plan.d.ts +3 -3
- package/dist/src/runtime/adapters/registered-tool-payload-plan.js +4 -4
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/contracts.d.ts +2 -0
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-authoring-result.js +4 -18
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/prepared-execution.js +3 -3
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/result-envelope.d.ts +13 -0
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/result-envelope.js +15 -0
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/result-evidence.d.ts +3 -7
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/result-evidence.js +6 -38
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/result-observer.d.ts +2 -1
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/result-observer.js +14 -6
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/result-references.d.ts +9 -0
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/result-references.js +29 -0
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities.js +1 -0
- package/dist/src/runtime/adapters/scheduler-executor-dispatch.d.ts +11 -0
- package/dist/src/runtime/adapters/scheduler-executor-dispatch.js +10 -0
- package/dist/src/runtime/adapters/scheduler-runtime.d.ts +3 -1
- package/dist/src/runtime/adapters/scheduler-runtime.js +28 -12
- package/dist/src/runtime/automations/agent-assignment.d.ts +8 -0
- package/dist/src/runtime/automations/agent-assignment.js +29 -0
- package/dist/src/runtime/automations/agent-request-failure.d.ts +2 -0
- package/dist/src/runtime/automations/agent-request-failure.js +74 -0
- package/dist/src/runtime/automations/agent-session-lifetime.d.ts +11 -0
- package/dist/src/runtime/automations/agent-session-lifetime.js +46 -0
- package/dist/src/runtime/automations/agent-step-executor.d.ts +35 -0
- package/dist/src/runtime/automations/agent-step-executor.js +278 -0
- package/dist/src/runtime/automations/agent-tool-scope.d.ts +4 -0
- package/dist/src/runtime/automations/agent-tool-scope.js +73 -0
- package/dist/src/runtime/automations/archive-management.d.ts +26 -0
- package/dist/src/runtime/automations/archive-management.js +50 -0
- package/dist/src/runtime/automations/binding-resolution.d.ts +28 -0
- package/dist/src/runtime/automations/binding-resolution.js +115 -0
- package/dist/src/runtime/automations/branch-result-projection.d.ts +4 -0
- package/dist/src/runtime/automations/branch-result-projection.js +15 -0
- package/dist/src/runtime/automations/catalog.d.ts +76 -0
- package/dist/src/runtime/automations/catalog.js +67 -0
- package/dist/src/runtime/automations/definition-contracts.d.ts +128 -0
- package/dist/src/runtime/automations/definition-contracts.js +1 -0
- package/dist/src/runtime/automations/definition-input.d.ts +3 -0
- package/dist/src/runtime/automations/definition-input.js +283 -0
- package/dist/src/runtime/automations/dependency-fingerprint.d.ts +9 -0
- package/dist/src/runtime/automations/dependency-fingerprint.js +55 -0
- package/dist/src/runtime/automations/draft-batch-aliases.d.ts +12 -0
- package/dist/src/runtime/automations/draft-batch-aliases.js +94 -0
- package/dist/src/runtime/automations/draft-batch.d.ts +29 -0
- package/dist/src/runtime/automations/draft-batch.js +147 -0
- package/dist/src/runtime/automations/draft-management.d.ts +53 -0
- package/dist/src/runtime/automations/draft-management.js +164 -0
- package/dist/src/runtime/automations/draft-mutations.d.ts +29 -0
- package/dist/src/runtime/automations/draft-mutations.js +219 -0
- package/dist/src/runtime/automations/draft-restoration.d.ts +11 -0
- package/dist/src/runtime/automations/draft-restoration.js +44 -0
- package/dist/src/runtime/automations/effect-admission-lifetime.d.ts +9 -0
- package/dist/src/runtime/automations/effect-admission-lifetime.js +31 -0
- package/dist/src/runtime/automations/failure-policy.d.ts +8 -0
- package/dist/src/runtime/automations/failure-policy.js +9 -0
- package/dist/src/runtime/automations/graph-executor.d.ts +23 -0
- package/dist/src/runtime/automations/graph-executor.js +227 -0
- package/dist/src/runtime/automations/graph-validation.d.ts +29 -0
- package/dist/src/runtime/automations/graph-validation.js +271 -0
- package/dist/src/runtime/automations/input-batch-selection.d.ts +7 -0
- package/dist/src/runtime/automations/input-batch-selection.js +42 -0
- package/dist/src/runtime/automations/input-capacity.d.ts +9 -0
- package/dist/src/runtime/automations/input-capacity.js +38 -0
- package/dist/src/runtime/automations/input-ledger.d.ts +45 -0
- package/dist/src/runtime/automations/input-ledger.js +147 -0
- package/dist/src/runtime/automations/late-settlement.d.ts +9 -0
- package/dist/src/runtime/automations/late-settlement.js +42 -0
- package/dist/src/runtime/automations/limits.d.ts +25 -0
- package/dist/src/runtime/automations/limits.js +41 -0
- package/dist/src/runtime/automations/model-capacity.d.ts +9 -0
- package/dist/src/runtime/automations/model-capacity.js +67 -0
- package/dist/src/runtime/automations/model-dependency-projection.d.ts +56 -0
- package/dist/src/runtime/automations/model-dependency-projection.js +88 -0
- package/dist/src/runtime/automations/node-transactions.d.ts +57 -0
- package/dist/src/runtime/automations/node-transactions.js +223 -0
- package/dist/src/runtime/automations/occurrence-preparation.d.ts +12 -0
- package/dist/src/runtime/automations/occurrence-preparation.js +257 -0
- package/dist/src/runtime/automations/permission-grants.d.ts +27 -0
- package/dist/src/runtime/automations/permission-grants.js +72 -0
- package/dist/src/runtime/automations/persistence.d.ts +9 -0
- package/dist/src/runtime/automations/persistence.js +13 -0
- package/dist/src/runtime/automations/publication-validation.d.ts +16 -0
- package/dist/src/runtime/automations/publication-validation.js +162 -0
- package/dist/src/runtime/automations/publication.d.ts +33 -0
- package/dist/src/runtime/automations/publication.js +97 -0
- package/dist/src/runtime/automations/replay-preparation.d.ts +7 -0
- package/dist/src/runtime/automations/replay-preparation.js +59 -0
- package/dist/src/runtime/automations/result-capacity.d.ts +5 -0
- package/dist/src/runtime/automations/result-capacity.js +9 -0
- package/dist/src/runtime/automations/result-publication.d.ts +10 -0
- package/dist/src/runtime/automations/result-publication.js +21 -0
- package/dist/src/runtime/automations/result-store.d.ts +17 -0
- package/dist/src/runtime/automations/result-store.js +109 -0
- package/dist/src/runtime/automations/retention.d.ts +12 -0
- package/dist/src/runtime/automations/retention.js +134 -0
- package/dist/src/runtime/automations/run-file-binding.d.ts +3 -0
- package/dist/src/runtime/automations/run-file-binding.js +19 -0
- package/dist/src/runtime/automations/run-output-summary.d.ts +25 -0
- package/dist/src/runtime/automations/run-output-summary.js +54 -0
- package/dist/src/runtime/automations/run-report.d.ts +83 -0
- package/dist/src/runtime/automations/run-report.js +121 -0
- package/dist/src/runtime/automations/runtime-executor.d.ts +16 -0
- package/dist/src/runtime/automations/runtime-executor.js +260 -0
- package/dist/src/runtime/automations/saved-agent-management.d.ts +16 -0
- package/dist/src/runtime/automations/saved-agent-management.js +94 -0
- package/dist/src/runtime/automations/service.d.ts +286 -0
- package/dist/src/runtime/automations/service.js +330 -0
- package/dist/src/runtime/automations/snapshot-staging.d.ts +13 -0
- package/dist/src/runtime/automations/snapshot-staging.js +126 -0
- package/dist/src/runtime/automations/source-attachment-access.d.ts +23 -0
- package/dist/src/runtime/automations/source-attachment-access.js +70 -0
- package/dist/src/runtime/automations/source-discovery.d.ts +25 -0
- package/dist/src/runtime/automations/source-discovery.js +179 -0
- package/dist/src/runtime/automations/starter-template-builder.d.ts +5 -0
- package/dist/src/runtime/automations/starter-template-builder.js +78 -0
- package/dist/src/runtime/automations/starter-template-contracts.d.ts +42 -0
- package/dist/src/runtime/automations/starter-template-contracts.js +1 -0
- package/dist/src/runtime/automations/starter-template-definitions.d.ts +3 -0
- package/dist/src/runtime/automations/starter-template-definitions.js +100 -0
- package/dist/src/runtime/automations/starter-template-showcases.d.ts +3 -0
- package/dist/src/runtime/automations/starter-template-showcases.js +154 -0
- package/dist/src/runtime/automations/starter-template-structure.d.ts +4 -0
- package/dist/src/runtime/automations/starter-template-structure.js +11 -0
- package/dist/src/runtime/automations/starter-templates.d.ts +20 -0
- package/dist/src/runtime/automations/starter-templates.js +75 -0
- package/dist/src/runtime/automations/step-evidence-effects.d.ts +46 -0
- package/dist/src/runtime/automations/step-evidence-effects.js +173 -0
- package/dist/src/runtime/automations/step-evidence-inputs.d.ts +22 -0
- package/dist/src/runtime/automations/step-evidence-inputs.js +105 -0
- package/dist/src/runtime/automations/step-evidence-output.d.ts +17 -0
- package/dist/src/runtime/automations/step-evidence-output.js +43 -0
- package/dist/src/runtime/automations/step-evidence.d.ts +24 -0
- package/dist/src/runtime/automations/step-evidence.js +53 -0
- package/dist/src/runtime/automations/step-interruption.d.ts +3 -0
- package/dist/src/runtime/automations/step-interruption.js +26 -0
- package/dist/src/runtime/automations/step-runner.d.ts +57 -0
- package/dist/src/runtime/automations/step-runner.js +278 -0
- package/dist/src/runtime/automations/storage-records.d.ts +133 -0
- package/dist/src/runtime/automations/storage-records.js +286 -0
- package/dist/src/runtime/automations/terminal-admission-receipt.d.ts +12 -0
- package/dist/src/runtime/automations/terminal-admission-receipt.js +39 -0
- package/dist/src/runtime/automations/tool-lifetimes.d.ts +13 -0
- package/dist/src/runtime/automations/tool-lifetimes.js +56 -0
- package/dist/src/runtime/automations/tool-step-executor.d.ts +32 -0
- package/dist/src/runtime/automations/tool-step-executor.js +136 -0
- package/dist/src/runtime/automations/tool-step-outcome.d.ts +24 -0
- package/dist/src/runtime/automations/tool-step-outcome.js +32 -0
- package/dist/src/runtime/automations/trigger-schedule.d.ts +7 -0
- package/dist/src/runtime/automations/trigger-schedule.js +19 -0
- package/dist/src/runtime/automations/working-directory.d.ts +3 -0
- package/dist/src/runtime/automations/working-directory.js +13 -0
- package/dist/src/runtime/capabilities/automation-builder/authoring-reference.d.ts +422 -0
- package/dist/src/runtime/capabilities/automation-builder/authoring-reference.js +130 -0
- package/dist/src/runtime/capabilities/automation-builder/creation-recipe.d.ts +9 -0
- package/dist/src/runtime/capabilities/automation-builder/creation-recipe.js +155 -0
- package/dist/src/runtime/capabilities/automation-builder/payload-instructions.d.ts +6 -0
- package/dist/src/runtime/capabilities/automation-builder/payload-instructions.js +6 -0
- package/dist/src/runtime/capabilities/automation-builder/payload-schema.d.ts +3 -0
- package/dist/src/runtime/capabilities/automation-builder/payload-schema.js +105 -0
- package/dist/src/runtime/capabilities/automation-builder/tool-contract.d.ts +65 -0
- package/dist/src/runtime/capabilities/automation-builder/tool-contract.js +27 -0
- package/dist/src/runtime/capabilities/automation-builder/tool-module.d.ts +4 -0
- package/dist/src/runtime/capabilities/automation-builder/tool-module.js +108 -0
- package/dist/src/runtime/capabilities/automations/authoring-catalog-contract.d.ts +78 -0
- package/dist/src/runtime/capabilities/automations/authoring-catalog-contract.js +28 -0
- package/dist/src/runtime/capabilities/automations/authoring-catalog.d.ts +320 -0
- package/dist/src/runtime/capabilities/automations/authoring-catalog.js +158 -0
- package/dist/src/runtime/capabilities/automations/authoring-input-contracts.d.ts +140 -0
- package/dist/src/runtime/capabilities/automations/authoring-input-contracts.js +36 -0
- package/dist/src/runtime/capabilities/automations/authoring-inputs.d.ts +9 -0
- package/dist/src/runtime/capabilities/automations/authoring-inputs.js +86 -0
- package/dist/src/runtime/capabilities/automations/authoring-preparation-limits.d.ts +5 -0
- package/dist/src/runtime/capabilities/automations/authoring-preparation-limits.js +5 -0
- package/dist/src/runtime/capabilities/automations/authoring-preparation.d.ts +483 -0
- package/dist/src/runtime/capabilities/automations/authoring-preparation.js +51 -0
- package/dist/src/runtime/capabilities/automations/draft-index.d.ts +14 -0
- package/dist/src/runtime/capabilities/automations/draft-index.js +26 -0
- package/dist/src/runtime/capabilities/automations/draft-operation-refs.d.ts +11 -0
- package/dist/src/runtime/capabilities/automations/draft-operation-refs.js +37 -0
- package/dist/src/runtime/capabilities/automations/draft-receipt-admission.d.ts +24 -0
- package/dist/src/runtime/capabilities/automations/draft-receipt-admission.js +36 -0
- package/dist/src/runtime/capabilities/automations/event-presentation.d.ts +3 -0
- package/dist/src/runtime/capabilities/automations/event-presentation.js +18 -0
- package/dist/src/runtime/capabilities/automations/model-tool-contract.d.ts +3 -0
- package/dist/src/runtime/capabilities/automations/model-tool-contract.js +34 -0
- package/dist/src/runtime/capabilities/automations/tool-contract.d.ts +3 -0
- package/dist/src/runtime/capabilities/automations/tool-contract.js +65 -0
- package/dist/src/runtime/capabilities/automations/tool-module.d.ts +4 -0
- package/dist/src/runtime/capabilities/automations/tool-module.js +286 -0
- package/dist/src/runtime/capabilities/runtime-path-namespace.d.ts +6 -0
- package/dist/src/runtime/capabilities/runtime-path-namespace.js +48 -0
- package/dist/src/runtime/capabilities/runtime-target-path.d.ts +1 -0
- package/dist/src/runtime/capabilities/runtime-target-path.js +16 -8
- package/dist/src/runtime/capabilities/scheduling/create-operations.d.ts +6 -0
- package/dist/src/runtime/capabilities/scheduling/job-list-page.d.ts +4 -1
- package/dist/src/runtime/composition.d.ts +5 -2
- package/dist/src/runtime/context/canonical-capability-result.d.ts +4 -0
- package/dist/src/runtime/context/canonical-capability-result.js +80 -0
- package/dist/src/runtime/context/capability-brief-readmission.js +2 -5
- package/dist/src/runtime/context/capability-result-compaction-source.d.ts +12 -0
- package/dist/src/runtime/context/capability-result-compaction-source.js +61 -0
- package/dist/src/runtime/context/compacted-capability-result-receipt.d.ts +7 -0
- package/dist/src/runtime/context/compacted-capability-result-receipt.js +29 -0
- package/dist/src/runtime/context/compaction-source-invariant.d.ts +6 -0
- package/dist/src/runtime/context/compaction-source-invariant.js +12 -0
- package/dist/src/runtime/context/execution-compacted-evidence.d.ts +29 -0
- package/dist/src/runtime/context/execution-compacted-evidence.js +87 -0
- package/dist/src/runtime/context/execution-compaction-objective.d.ts +11 -0
- package/dist/src/runtime/context/execution-compaction-objective.js +12 -0
- package/dist/src/runtime/context/model-step-compaction.d.ts +9 -0
- package/dist/src/runtime/context/model-step-compaction.js +115 -128
- package/dist/src/runtime/context/operation-supervision-compacted-evidence.d.ts +37 -0
- package/dist/src/runtime/context/operation-supervision-compacted-evidence.js +69 -0
- package/dist/src/runtime/context/operation-supervision-evidence-binding.d.ts +29 -0
- package/dist/src/runtime/context/operation-supervision-evidence-binding.js +66 -0
- package/dist/src/runtime/context/operation-supervision-evidence-projection.d.ts +5 -0
- package/dist/src/runtime/context/operation-supervision-evidence-projection.js +133 -0
- package/dist/src/runtime/context/operation-supervision-evidence.d.ts +2 -1
- package/dist/src/runtime/context/operation-supervision-evidence.js +38 -37
- package/dist/src/runtime/context/request-tool-results-checkpoint.d.ts +3 -0
- package/dist/src/runtime/context/request-tool-results-checkpoint.js +126 -0
- package/dist/src/runtime/context/request-tool-results-message-binding.d.ts +1 -0
- package/dist/src/runtime/context/request-tool-results-message-binding.js +10 -0
- package/dist/src/runtime/context/request-tool-results-supersession.d.ts +9 -0
- package/dist/src/runtime/context/request-tool-results-supersession.js +78 -0
- package/dist/src/runtime/context/request-tool-results.d.ts +3 -9
- package/dist/src/runtime/context/request-tool-results.js +15 -181
- package/dist/src/runtime/context/runtime-filesystem-scope.d.ts +21 -0
- package/dist/src/runtime/context/runtime-filesystem-scope.js +51 -0
- package/dist/src/runtime/context/semantic-compaction/checkpoint-message.d.ts +3 -0
- package/dist/src/runtime/context/semantic-compaction/checkpoint-message.js +22 -0
- package/dist/src/runtime/context/semantic-compaction/contracts.d.ts +0 -3
- package/dist/src/runtime/context/semantic-compaction/contracts.js +9 -20
- package/dist/src/runtime/context/semantic-compaction/dependency-results.js +15 -1
- package/dist/src/runtime/context/semantic-compaction/evidence-scope.d.ts +7 -0
- package/dist/src/runtime/context/semantic-compaction/evidence-scope.js +7 -0
- package/dist/src/runtime/context/semantic-compaction/format.d.ts +2 -1
- package/dist/src/runtime/context/semantic-compaction/format.js +27 -19
- package/dist/src/runtime/context/semantic-compaction/generation-contracts.d.ts +18 -0
- package/dist/src/runtime/context/semantic-compaction/generation-contracts.js +1 -0
- package/dist/src/runtime/context/semantic-compaction/generation-input.d.ts +11 -0
- package/dist/src/runtime/context/semantic-compaction/generation-input.js +74 -0
- package/dist/src/runtime/context/semantic-compaction/generation-source-registration.d.ts +3 -0
- package/dist/src/runtime/context/semantic-compaction/generation-source-registration.js +12 -0
- package/dist/src/runtime/context/semantic-compaction/output-validation.d.ts +10 -0
- package/dist/src/runtime/context/semantic-compaction/output-validation.js +75 -0
- package/dist/src/runtime/context/semantic-compaction/parser.d.ts +2 -2
- package/dist/src/runtime/context/semantic-compaction/parser.js +13 -26
- package/dist/src/runtime/context/semantic-compaction/prompt.js +18 -5
- package/dist/src/runtime/context/semantic-compaction/repair-headroom.d.ts +4 -3
- package/dist/src/runtime/context/semantic-compaction/repair-headroom.js +10 -4
- package/dist/src/runtime/context/semantic-compaction/replacement-budget.d.ts +25 -0
- package/dist/src/runtime/context/semantic-compaction/replacement-budget.js +55 -0
- package/dist/src/runtime/context/semantic-compaction/run.d.ts +3 -14
- package/dist/src/runtime/context/semantic-compaction/run.js +27 -186
- package/dist/src/runtime/context/semantic-compaction/scope-quarantine.d.ts +17 -0
- package/dist/src/runtime/context/semantic-compaction/scope-quarantine.js +37 -0
- package/dist/src/runtime/context/semantic-compaction/snapshot.d.ts +5 -1
- package/dist/src/runtime/context/semantic-compaction/snapshot.js +10 -2
- package/dist/src/runtime/context/semantic-compaction/source-registration.d.ts +3 -0
- package/dist/src/runtime/context/semantic-compaction/source-registration.js +34 -0
- package/dist/src/runtime/context/semantic-compaction/source-slots.d.ts +5 -0
- package/dist/src/runtime/context/semantic-compaction/source-slots.js +4 -0
- package/dist/src/runtime/context/semantic-compaction/store.d.ts +6 -1
- package/dist/src/runtime/context/semantic-compaction/store.js +54 -9
- package/dist/src/runtime/context/semantic-compaction/super-child-result-source.d.ts +8 -0
- package/dist/src/runtime/context/semantic-compaction/super-child-result-source.js +50 -0
- package/dist/src/runtime/context/semantic-compaction/super-operation-source.d.ts +8 -0
- package/dist/src/runtime/context/semantic-compaction/super-operation-source.js +99 -0
- package/dist/src/runtime/context/semantic-compaction/super-reviewer-source.d.ts +16 -0
- package/dist/src/runtime/context/semantic-compaction/super-reviewer-source.js +37 -0
- package/dist/src/runtime/context/semantic-compaction/super-source-integrity.d.ts +21 -0
- package/dist/src/runtime/context/semantic-compaction/super-source-integrity.js +169 -0
- package/dist/src/runtime/context/semantic-compaction/super-source-message.d.ts +4 -0
- package/dist/src/runtime/context/semantic-compaction/super-source-message.js +23 -0
- package/dist/src/runtime/context/session-memory/model-step-controller.js +34 -20
- package/dist/src/runtime/context/session-memory/selection.js +0 -2
- package/dist/src/runtime/context/spark-conversation-policy.d.ts +4 -0
- package/dist/src/runtime/context/spark-conversation-policy.js +16 -0
- package/dist/src/runtime/context/super-compaction-failure-owner.d.ts +10 -0
- package/dist/src/runtime/context/super-compaction-failure-owner.js +64 -0
- package/dist/src/runtime/context/super-context-failure.d.ts +28 -0
- package/dist/src/runtime/context/super-context-failure.js +37 -0
- package/dist/src/runtime/context/super-context-policy.d.ts +3 -0
- package/dist/src/runtime/context/super-context-policy.js +35 -0
- package/dist/src/runtime/context/super-request-tool-results-checkpoint.d.ts +6 -0
- package/dist/src/runtime/context/super-request-tool-results-checkpoint.js +29 -0
- package/dist/src/runtime/context/super-worker-compaction-failure.d.ts +5 -0
- package/dist/src/runtime/context/super-worker-compaction-failure.js +19 -0
- package/dist/src/runtime/context/super-worker-compaction-projection.d.ts +8 -0
- package/dist/src/runtime/context/super-worker-compaction-projection.js +41 -0
- package/dist/src/runtime/context/super-worker-compaction-sidecar.d.ts +21 -0
- package/dist/src/runtime/context/super-worker-compaction-sidecar.js +67 -0
- package/dist/src/runtime/context/verified-compaction-projection.d.ts +7 -0
- package/dist/src/runtime/context/verified-compaction-projection.js +16 -0
- package/dist/src/runtime/default-environment-adapters.d.ts +4 -0
- package/dist/src/runtime/default-environment-adapters.js +7 -1
- package/dist/src/runtime/local-application.d.ts +277 -0
- package/dist/src/runtime/local-application.js +7 -0
- package/dist/src/runtime/local-host/app-learning-dispatch.js +0 -8
- package/dist/src/runtime/local-host/app-native-permissions.d.ts +20 -0
- package/dist/src/runtime/local-host/app-native-permissions.js +76 -0
- package/dist/src/runtime/local-host/app-owner.js +12 -1
- package/dist/src/runtime/local-host/app-request-control.d.ts +1 -0
- package/dist/src/runtime/local-host/app-request-control.js +5 -0
- package/dist/src/runtime/local-host/app-service-dispatch.d.ts +2 -1
- package/dist/src/runtime/local-host/app-service-dispatch.js +31 -0
- package/dist/src/runtime/local-host/client-learning.d.ts +1 -1
- package/dist/src/runtime/local-host/client-learning.js +0 -1
- package/dist/src/runtime/local-host/client-native-permissions.d.ts +4 -0
- package/dist/src/runtime/local-host/client-native-permissions.js +37 -0
- package/dist/src/runtime/local-host/client-services.d.ts +273 -0
- package/dist/src/runtime/local-host/client-services.js +3 -2
- package/dist/src/runtime/local-host/learning-preferences-input.js +1 -0
- package/dist/src/runtime/model/context-compaction-admission.d.ts +21 -0
- package/dist/src/runtime/model/context-compaction-admission.js +214 -0
- package/dist/src/runtime/model/context-compaction-contracts.d.ts +32 -0
- package/dist/src/runtime/model/context-compaction-contracts.js +1 -0
- package/dist/src/runtime/model/context-compaction-diagnostics.d.ts +33 -0
- package/dist/src/runtime/model/context-compaction-diagnostics.js +97 -0
- package/dist/src/runtime/model/context-compaction-stage-plan.d.ts +3 -0
- package/dist/src/runtime/model/context-compaction-stage-plan.js +28 -0
- package/dist/src/runtime/model/input-token-count.d.ts +1 -0
- package/dist/src/runtime/model/input-token-count.js +4 -1
- package/dist/src/runtime/model/invoke-step.js +80 -126
- package/dist/src/runtime/model/invoke-structured-step.d.ts +1 -1
- package/dist/src/runtime/model/invoke-structured-step.js +3 -2
- package/dist/src/runtime/model/model-context-assessment.d.ts +17 -0
- package/dist/src/runtime/model/model-context-assessment.js +51 -0
- package/dist/src/runtime/model/model-context-budget.js +1 -0
- package/dist/src/runtime/model/model-step-acceptance.d.ts +4 -0
- package/dist/src/runtime/model/model-step-acceptance.js +28 -0
- package/dist/src/runtime/model/model-step-port.d.ts +4 -15
- package/dist/src/runtime/model/model-step-steering.d.ts +14 -1
- package/dist/src/runtime/model/model-step-steering.js +23 -0
- package/dist/src/runtime/orchestration/capability-adapters/result.d.ts +4 -1
- package/dist/src/runtime/orchestration/capability-adapters/result.js +11 -7
- package/dist/src/runtime/orchestration/role-calls/child-return.d.ts +5 -1
- package/dist/src/runtime/orchestration/role-calls/child-return.js +2 -2
- package/dist/src/runtime/orchestration/worker-capabilities/binding/invocation-preparation.js +1 -8
- package/dist/src/runtime/orchestration/worker-capabilities/contracts.d.ts +3 -4
- package/dist/src/runtime/orchestration/worker-capabilities/contracts.js +1 -1
- package/dist/src/runtime/orchestration/worker-capabilities/execution/context-projection.js +2 -1
- package/dist/src/runtime/orchestration/worker-capabilities/payload-assignment-validation.js +9 -9
- package/dist/src/runtime/orchestration/worker-capabilities/payload-author.js +9 -33
- package/dist/src/runtime/orchestration/worker-capabilities/payload-body-normalization.d.ts +12 -0
- package/dist/src/runtime/orchestration/worker-capabilities/payload-body-normalization.js +80 -0
- package/dist/src/runtime/orchestration/worker-capabilities/payload-compaction-transport.d.ts +3 -0
- package/dist/src/runtime/orchestration/worker-capabilities/payload-compaction-transport.js +14 -0
- package/dist/src/runtime/orchestration/worker-capabilities/payload-context-snapshot.d.ts +2 -0
- package/dist/src/runtime/orchestration/worker-capabilities/payload-context-snapshot.js +12 -0
- package/dist/src/runtime/orchestration/worker-capabilities/payload-contracts.d.ts +5 -1
- package/dist/src/runtime/orchestration/worker-capabilities/payload-instructions.js +1 -1
- package/dist/src/runtime/passive-learning/background-dependencies.d.ts +0 -1
- package/dist/src/runtime/passive-learning/contracts.d.ts +2 -3
- package/dist/src/runtime/passive-learning/proactive/agent.d.ts +3 -0
- package/dist/src/runtime/passive-learning/proactive/agent.js +36 -14
- package/dist/src/runtime/passive-learning/proactive/contracts.d.ts +7 -1
- package/dist/src/runtime/passive-learning/proactive/contracts.js +8 -1
- package/dist/src/runtime/passive-learning/proactive/conversation-style-prompt.d.ts +1 -0
- package/dist/src/runtime/passive-learning/proactive/conversation-style-prompt.js +6 -0
- package/dist/src/runtime/passive-learning/proactive/conversation-style-reference.d.ts +30 -0
- package/dist/src/runtime/passive-learning/proactive/conversation-style-reference.js +61 -0
- package/dist/src/runtime/passive-learning/proactive/handoff-brief.d.ts +1 -0
- package/dist/src/runtime/passive-learning/proactive/handoff-brief.js +4 -0
- package/dist/src/runtime/passive-learning/proactive/model-output.d.ts +1 -1
- package/dist/src/runtime/passive-learning/proactive/model-output.js +5 -4
- package/dist/src/runtime/passive-learning/proactive/model.d.ts +7 -1
- package/dist/src/runtime/passive-learning/proactive/model.js +58 -32
- package/dist/src/runtime/passive-learning/proactive/prompt.d.ts +1 -1
- package/dist/src/runtime/passive-learning/proactive/prompt.js +4 -2
- package/dist/src/runtime/passive-learning/proactive/staged-authoring.d.ts +14 -0
- package/dist/src/runtime/passive-learning/proactive/staged-authoring.js +27 -0
- package/dist/src/runtime/passive-learning/proactive/staged-context.d.ts +13 -0
- package/dist/src/runtime/passive-learning/proactive/staged-context.js +39 -4
- package/dist/src/runtime/passive-learning/proactive/staged-contract.d.ts +3 -0
- package/dist/src/runtime/passive-learning/proactive/staged-contract.js +4 -0
- package/dist/src/runtime/passive-learning/proactive/staged-format.d.ts +5 -1
- package/dist/src/runtime/passive-learning/proactive/staged-format.js +2 -4
- package/dist/src/runtime/passive-learning/proactive/staged-output.d.ts +3 -4
- package/dist/src/runtime/passive-learning/proactive/staged-output.js +13 -5
- package/dist/src/runtime/passive-learning/proactive/staged-progress-store.d.ts +0 -1
- package/dist/src/runtime/passive-learning/proactive/staged-progress-store.js +2 -18
- package/dist/src/runtime/passive-learning/proactive/staged-prompt.d.ts +3 -1
- package/dist/src/runtime/passive-learning/proactive/staged-prompt.js +13 -4
- package/dist/src/runtime/passive-learning/proactive/staged-review.d.ts +1 -1
- package/dist/src/runtime/passive-learning/proactive/staged-review.js +10 -11
- package/dist/src/runtime/passive-learning/proactive/store.d.ts +1 -1
- package/dist/src/runtime/passive-learning/proactive/store.js +11 -5
- package/dist/src/runtime/passive-learning/review-progress.d.ts +1 -1
- package/dist/src/runtime/passive-learning/review-progress.js +2 -2
- package/dist/src/runtime/passive-learning/service-status.js +2 -2
- package/dist/src/runtime/passive-learning/service.js +0 -6
- package/dist/src/runtime/passive-learning/spark-chat-preferences.d.ts +3 -0
- package/dist/src/runtime/passive-learning/spark-chat-preferences.js +8 -0
- package/dist/src/runtime/passive-learning/staged-review-call.d.ts +3 -0
- package/dist/src/runtime/passive-learning/staged-review-call.js +19 -13
- package/dist/src/runtime/passive-learning/store.js +4 -0
- package/dist/src/runtime/plugins/manifest-projection.js +4 -0
- package/dist/src/runtime/plugins/manifest-validator.js +7 -0
- package/dist/src/runtime/ports.d.ts +14 -1
- package/dist/src/runtime/request/approval-wait/activation-events.d.ts +5 -0
- package/dist/src/runtime/request/approval-wait/activation-events.js +4 -3
- package/dist/src/runtime/request/approval-wait/snapshot.d.ts +1 -1
- package/dist/src/runtime/request/approval-wait/snapshot.js +1 -0
- package/dist/src/runtime/request/approval-wait/super-compaction-restore.d.ts +20 -0
- package/dist/src/runtime/request/approval-wait/super-compaction-restore.js +61 -0
- package/dist/src/runtime/request/automation-output-contract.d.ts +6 -0
- package/dist/src/runtime/request/automation-output-contract.js +33 -0
- package/dist/src/runtime/request/contracts.d.ts +16 -0
- package/dist/src/runtime/request/execution-agent-root-execution.js +2 -0
- package/dist/src/runtime/request/execution-facets.js +7 -0
- package/dist/src/runtime/request/execution-payload-compacted-evidence.d.ts +64 -0
- package/dist/src/runtime/request/execution-payload-compacted-evidence.js +46 -0
- package/dist/src/runtime/request/execution-scope-surfaces.d.ts +2 -0
- package/dist/src/runtime/request/execution-scope-surfaces.js +28 -0
- package/dist/src/runtime/request/execution-scope.d.ts +8 -2
- package/dist/src/runtime/request/execution-scope.js +14 -2
- package/dist/src/runtime/request/handler.d.ts +7 -0
- package/dist/src/runtime/request/handler.js +196 -35
- package/dist/src/runtime/request/locked-request-steering.d.ts +3 -0
- package/dist/src/runtime/request/locked-request-steering.js +12 -0
- package/dist/src/runtime/request/policy-degraded-finalization.d.ts +10 -0
- package/dist/src/runtime/request/policy-degraded-finalization.js +27 -0
- package/dist/src/runtime/request/prepared-execution.d.ts +10 -1
- package/dist/src/runtime/request/prepared-execution.js +43 -8
- package/dist/src/runtime/request/request-steering.d.ts +1 -1
- package/dist/src/runtime/request/result.d.ts +3 -0
- package/dist/src/runtime/request/role-executor-composition.js +4 -3
- package/dist/src/runtime/request/root-contract.d.ts +2 -0
- package/dist/src/runtime/request/root-execution-kernel.js +10 -9
- package/dist/src/runtime/request/root-invalid-output.js +16 -1
- package/dist/src/runtime/request/session-admission.d.ts +6 -0
- package/dist/src/runtime/request/session-admission.js +47 -14
- package/dist/src/runtime/request/super-checkpoint-quarantine.d.ts +8 -0
- package/dist/src/runtime/request/super-checkpoint-quarantine.js +76 -0
- package/dist/src/runtime/request/super-context-failure-executor.d.ts +4 -0
- package/dist/src/runtime/request/super-context-failure-executor.js +68 -0
- package/dist/src/runtime/request/super-context-failure-integrity.d.ts +16 -0
- package/dist/src/runtime/request/super-context-failure-integrity.js +130 -0
- package/dist/src/runtime/request/super-context-scope.d.ts +9 -0
- package/dist/src/runtime/request/super-context-scope.js +65 -0
- package/dist/src/runtime/request/super-failure-explanation.d.ts +22 -0
- package/dist/src/runtime/request/super-failure-explanation.js +77 -0
- package/dist/src/runtime/request/super-failure-message.d.ts +10 -0
- package/dist/src/runtime/request/super-failure-message.js +40 -0
- package/dist/src/runtime/request/super-payload-context-failure.d.ts +11 -0
- package/dist/src/runtime/request/super-payload-context-failure.js +55 -0
- package/dist/src/runtime/request/super-root-failure-finalization.d.ts +23 -0
- package/dist/src/runtime/request/super-root-failure-finalization.js +112 -0
- package/dist/src/runtime/request/worker-capability-composition.d.ts +2 -0
- package/dist/src/runtime/request/worker-capability-composition.js +4 -1
- package/dist/src/runtime/request/worker-capability-payload.d.ts +2 -1
- package/dist/src/runtime/request/worker-capability-payload.js +74 -48
- package/dist/src/runtime/runtime-environment.d.ts +3 -1
- package/dist/src/runtime/runtime-environment.js +167 -1
- package/dist/src/runtime/scheduler/automation-job-management.d.ts +12 -0
- package/dist/src/runtime/scheduler/automation-job-management.js +288 -0
- package/dist/src/runtime/scheduler/automation-rerun.d.ts +6 -0
- package/dist/src/runtime/scheduler/automation-rerun.js +95 -0
- package/dist/src/runtime/scheduler/automation-run-budget.d.ts +4 -0
- package/dist/src/runtime/scheduler/automation-run-budget.js +16 -0
- package/dist/src/runtime/scheduler/automation-run-change-events.d.ts +11 -0
- package/dist/src/runtime/scheduler/automation-run-change-events.js +77 -0
- package/dist/src/runtime/scheduler/automation-run-completion.d.ts +11 -0
- package/dist/src/runtime/scheduler/automation-run-completion.js +93 -0
- package/dist/src/runtime/scheduler/automation-run-control.d.ts +3 -0
- package/dist/src/runtime/scheduler/automation-run-control.js +48 -0
- package/dist/src/runtime/scheduler/automation-run-records.d.ts +5 -0
- package/dist/src/runtime/scheduler/automation-run-records.js +37 -0
- package/dist/src/runtime/scheduler/automation-schedule.d.ts +10 -0
- package/dist/src/runtime/scheduler/automation-schedule.js +48 -0
- package/dist/src/runtime/scheduler/automation-scheduler-engine.d.ts +4 -0
- package/dist/src/runtime/scheduler/automation-scheduler-engine.js +188 -0
- package/dist/src/runtime/scheduler/automation-snapshot-validation.d.ts +3 -0
- package/dist/src/runtime/scheduler/automation-snapshot-validation.js +106 -0
- package/dist/src/runtime/scheduler/contracts.d.ts +143 -3
- package/dist/src/runtime/scheduler/file-store.js +15 -1
- package/dist/src/runtime/scheduler/job-management.js +3 -2
- package/dist/src/runtime/scheduler/journal-automation-index.d.ts +23 -0
- package/dist/src/runtime/scheduler/journal-automation-index.js +205 -0
- package/dist/src/runtime/scheduler/journal-automation-transaction.d.ts +11 -0
- package/dist/src/runtime/scheduler/journal-automation-transaction.js +90 -0
- package/dist/src/runtime/scheduler/journal-checkpoint.js +5 -2
- package/dist/src/runtime/scheduler/journal-head.d.ts +1 -1
- package/dist/src/runtime/scheduler/journal-head.js +2 -2
- package/dist/src/runtime/scheduler/journal-index-state.d.ts +21 -10
- package/dist/src/runtime/scheduler/journal-index-state.js +76 -17
- package/dist/src/runtime/scheduler/journal-index.d.ts +9 -3
- package/dist/src/runtime/scheduler/journal-index.js +84 -9
- package/dist/src/runtime/scheduler/journal-store.d.ts +9 -1
- package/dist/src/runtime/scheduler/journal-store.js +110 -7
- package/dist/src/runtime/scheduler/journal-transaction.d.ts +7 -4
- package/dist/src/runtime/scheduler/journal-transaction.js +13 -2
- package/dist/src/runtime/scheduler/next-occurrence.js +2 -0
- package/dist/src/runtime/scheduler/run-completion.js +2 -1
- package/dist/src/runtime/scheduler/run-records.js +8 -3
- package/dist/src/runtime/scheduler/schedule-update.d.ts +2 -2
- package/dist/src/runtime/scheduler/schedule-validation.d.ts +2 -2
- package/dist/src/runtime/scheduler/schedule-validation.js +2 -0
- package/dist/src/runtime/scheduler/scheduler-engine.js +24 -8
- package/dist/src/runtime/scheduler/scheduler-service.d.ts +4 -1
- package/dist/src/runtime/scheduler/scheduler-service.js +83 -10
- package/dist/src/runtime/scheduler/scheduler-target.d.ts +9 -0
- package/dist/src/runtime/scheduler/scheduler-target.js +41 -0
- package/dist/src/runtime/scheduler/service-context.d.ts +6 -2
- package/dist/src/runtime/scheduler/service-context.js +6 -3
- package/dist/src/runtime/scheduler/snapshot-validation.d.ts +3 -3
- package/dist/src/runtime/scheduler/snapshot-validation.js +21 -1
- package/dist/src/runtime/scheduler/startup-recovery.d.ts +1 -1
- package/dist/src/runtime/scheduler/startup-recovery.js +15 -2
- package/dist/src/runtime/scheduler/working-store.js +8 -0
- package/dist/src/runtime/session/request-session.d.ts +1 -0
- package/dist/src/runtime/session/request-session.js +1 -0
- package/dist/src/runtime/session/session-deletion-boundary.d.ts +1 -1
- package/dist/src/runtime/session/session-deletion-boundary.js +6 -2
- package/dist/src/runtime/session/session-lifecycle-store.d.ts +4 -1
- package/dist/src/runtime/session/session-lifecycle-store.js +32 -4
- package/dist/src/runtime/session/spark-session-attachments.d.ts +4 -0
- package/dist/src/runtime/session/spark-session-attachments.js +28 -0
- package/dist/src/runtime/session/spark-session-cleanup-receipt.d.ts +7 -0
- package/dist/src/runtime/session/spark-session-cleanup-receipt.js +61 -0
- package/dist/src/runtime/session/spark-session-clear.d.ts +6 -0
- package/dist/src/runtime/session/spark-session-clear.js +36 -0
- package/dist/src/runtime/session/terminal-response.d.ts +21 -0
- package/dist/src/runtime/session/terminal-response.js +38 -0
- package/dist/src/runtime/steps/auditor-decision/advisory-receipt.d.ts +1 -0
- package/dist/src/runtime/steps/auditor-decision/advisory-receipt.js +12 -0
- package/dist/src/runtime/steps/auditor-decision/contracts.d.ts +4 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-coverage.js +5 -5
- package/dist/src/runtime/steps/auditor-decision/evidence-inventory.d.ts +2 -1
- package/dist/src/runtime/steps/auditor-decision/evidence-inventory.js +12 -1
- package/dist/src/runtime/steps/auditor-decision/evidence-representation.d.ts +8 -2
- package/dist/src/runtime/steps/auditor-decision/evidence-representation.js +14 -1
- package/dist/src/runtime/steps/auditor-decision/input.d.ts +2 -0
- package/dist/src/runtime/steps/auditor-decision/input.js +12 -3
- package/dist/src/runtime/steps/auditor-decision/projection.js +20 -1
- package/dist/src/runtime/steps/auditor-decision/prompt.js +6 -6
- package/dist/src/runtime/steps/auditor-decision/run.js +2 -3
- package/dist/src/runtime/steps/capability-execution-instructions.d.ts +5 -0
- package/dist/src/runtime/steps/capability-execution-instructions.js +5 -0
- package/dist/src/runtime/steps/degraded-finalization/contract.d.ts +3 -0
- package/dist/src/runtime/steps/degraded-finalization/fallback.js +14 -4
- package/dist/src/runtime/steps/degraded-finalization/input.js +11 -1
- package/dist/src/runtime/steps/degraded-finalization/output-limit-cause.d.ts +4 -0
- package/dist/src/runtime/steps/degraded-finalization/output-limit-cause.js +17 -0
- package/dist/src/runtime/steps/degraded-finalization/prompt.js +4 -1
- package/dist/src/runtime/steps/degraded-finalization/super.d.ts +20 -0
- package/dist/src/runtime/steps/degraded-finalization/super.js +128 -0
- package/dist/src/runtime/steps/execution-agent/capability-decision-parsing.d.ts +1 -0
- package/dist/src/runtime/steps/execution-agent/capability-decision-parsing.js +21 -3
- package/dist/src/runtime/steps/execution-agent/capability-invocation-contract.d.ts +1 -1
- package/dist/src/runtime/steps/execution-agent/capability-invocation-contract.js +4 -2
- package/dist/src/runtime/steps/execution-agent/capability-selection-schema.d.ts +3 -0
- package/dist/src/runtime/steps/execution-agent/capability-selection-schema.js +72 -0
- package/dist/src/runtime/steps/execution-agent/compaction.d.ts +5 -2
- package/dist/src/runtime/steps/execution-agent/compaction.js +10 -4
- package/dist/src/runtime/steps/execution-agent/contracts.d.ts +14 -2
- package/dist/src/runtime/steps/execution-agent/controls-compacted-evidence.d.ts +16 -0
- package/dist/src/runtime/steps/execution-agent/controls-compacted-evidence.js +67 -0
- package/dist/src/runtime/steps/execution-agent/controls-evidence-contract.d.ts +21 -0
- package/dist/src/runtime/steps/execution-agent/controls-evidence-contract.js +64 -0
- package/dist/src/runtime/steps/execution-agent/controls-evidence.d.ts +32 -0
- package/dist/src/runtime/steps/execution-agent/controls-evidence.js +119 -0
- package/dist/src/runtime/steps/execution-agent/decision-parsing.js +1 -0
- package/dist/src/runtime/steps/execution-agent/format.d.ts +2 -0
- package/dist/src/runtime/steps/execution-agent/format.js +9 -68
- package/dist/src/runtime/steps/execution-agent/input.js +19 -2
- package/dist/src/runtime/steps/execution-agent/prompt.d.ts +1 -0
- package/dist/src/runtime/steps/execution-agent/prompt.js +15 -2
- package/dist/src/runtime/steps/execution-agent/refinement-input.d.ts +32 -0
- package/dist/src/runtime/steps/execution-agent/refinement-input.js +146 -0
- package/dist/src/runtime/steps/execution-agent/refinement-prompt.d.ts +1 -0
- package/dist/src/runtime/steps/execution-agent/refinement-prompt.js +11 -0
- package/dist/src/runtime/steps/execution-agent/refinement.d.ts +4 -4
- package/dist/src/runtime/steps/execution-agent/refinement.js +18 -108
- package/dist/src/runtime/steps/execution-agent/response-input.js +13 -6
- package/dist/src/runtime/steps/execution-agent/response-prompt.js +1 -1
- package/dist/src/runtime/steps/execution-agent/response-run.js +19 -5
- package/dist/src/runtime/steps/execution-agent/run.js +9 -3
- package/dist/src/runtime/steps/execution-agent/state-context.d.ts +1 -1
- package/dist/src/runtime/steps/execution-agent/state-context.js +20 -5
- package/dist/src/runtime/steps/planner-decision/input.js +7 -0
- package/dist/src/runtime/steps/planner-decision/resume.d.ts +2 -1
- package/dist/src/runtime/steps/planner-decision/resume.js +3 -3
- package/dist/src/runtime/steps/planner-decision/run.js +13 -0
- package/dist/src/runtime/steps/planner-graph/prompt.js +2 -0
- package/dist/src/runtime/steps/planner-graph/run.js +1 -0
- package/dist/src/runtime/steps/reviewer-decision/projection.js +5 -0
- package/dist/src/runtime/steps/reviewer-decision/run.js +13 -0
- package/dist/src/runtime/steps/supervisor-decision/input.d.ts +1 -1
- package/dist/src/runtime/steps/supervisor-decision/input.js +2 -0
- package/dist/src/runtime/steps/supervisor-decision/run.js +14 -0
- package/dist/src/runtime/steps/supervisor-decision/working-directory.d.ts +2 -0
- package/dist/src/runtime/steps/supervisor-decision/working-directory.js +6 -0
- package/dist/src/runtime/steps/supervisor-response/input.d.ts +1 -1
- package/dist/src/runtime/steps/supervisor-response/input.js +14 -7
- package/dist/src/runtime/steps/supervisor-response/run.js +39 -9
- package/dist/src/runtime/steps/worker-decision/compaction-integrity.d.ts +11 -0
- package/dist/src/runtime/steps/worker-decision/compaction-integrity.js +40 -0
- package/dist/src/runtime/steps/worker-decision/input/reference-context.js +7 -0
- package/dist/src/runtime/steps/worker-decision/input/types.d.ts +4 -1
- package/dist/src/runtime/steps/worker-decision/prompt.js +9 -2
- package/dist/src/runtime/steps/worker-decision/result-author.js +4 -0
- package/dist/src/runtime/steps/worker-decision/run.js +12 -49
- package/dist/src/runtime/steps/worker-decision/worker-handoff-compaction.d.ts +4 -0
- package/dist/src/runtime/steps/worker-decision/worker-handoff-compaction.js +69 -0
- package/dist/src/sessions/assistant-initiative-append.d.ts +14 -0
- package/dist/src/sessions/assistant-initiative-append.js +64 -0
- package/dist/src/sessions/assistant-initiative.d.ts +4 -0
- package/dist/src/sessions/assistant-initiative.js +7 -1
- package/dist/src/sessions/automation-session-origin.d.ts +34 -0
- package/dist/src/sessions/automation-session-origin.js +78 -0
- package/dist/src/sessions/automation-session-store.d.ts +12 -0
- package/dist/src/sessions/automation-session-store.js +129 -0
- package/dist/src/sessions/index.d.ts +1 -0
- package/dist/src/sessions/index.js +3 -0
- package/dist/src/sessions/memory/source.d.ts +1 -1
- package/dist/src/sessions/memory/source.js +4 -11
- package/dist/src/sessions/project-binding.d.ts +1 -0
- package/dist/src/sessions/record/projection.d.ts +1 -0
- package/dist/src/sessions/record/projection.js +4 -0
- package/dist/src/sessions/session-service.d.ts +9 -0
- package/dist/src/sessions/session-service.js +53 -4
- package/dist/src/sessions/spark-handoff-brief.d.ts +3 -0
- package/dist/src/sessions/spark-handoff-brief.js +9 -0
- package/dist/src/sessions/spark-session.d.ts +13 -0
- package/dist/src/sessions/spark-session.js +25 -0
- package/dist/src/sessions/types.d.ts +5 -0
- package/dist/src/web-ui/app/ARCHITECTURE.md +89 -0
- package/dist/src/web-ui/app/app-bootstrap.js +24 -2
- package/dist/src/web-ui/app/app-dom.js +5 -0
- package/dist/src/web-ui/app/app-realtime-transport.js +27 -2
- package/dist/src/web-ui/app/app.js +5 -10
- package/dist/src/web-ui/app/automations-feature.js +103 -0
- package/dist/src/web-ui/app/components/automations/archive-actions.js +20 -0
- package/dist/src/web-ui/app/components/automations/authoring-entry.js +25 -0
- package/dist/src/web-ui/app/components/automations/binding-editor.js +101 -0
- package/dist/src/web-ui/app/components/automations/binding-fields.js +166 -0
- package/dist/src/web-ui/app/components/automations/chat-run-projection.js +280 -0
- package/dist/src/web-ui/app/components/automations/draft-recovery-actions.js +28 -0
- package/dist/src/web-ui/app/components/automations/editor-action-icons.js +18 -0
- package/dist/src/web-ui/app/components/automations/editor-actions.js +57 -0
- package/dist/src/web-ui/app/components/automations/editor.js +218 -0
- package/dist/src/web-ui/app/components/automations/failure-presentation.js +299 -0
- package/dist/src/web-ui/app/components/automations/library-tabs.js +45 -0
- package/dist/src/web-ui/app/components/automations/list.js +58 -0
- package/dist/src/web-ui/app/components/automations/live-view.js +39 -0
- package/dist/src/web-ui/app/components/automations/node-inspector.js +251 -0
- package/dist/src/web-ui/app/components/automations/permission-selection.js +37 -0
- package/dist/src/web-ui/app/components/automations/rerun-confirmation.js +16 -0
- package/dist/src/web-ui/app/components/automations/run-output-view.js +100 -0
- package/dist/src/web-ui/app/components/automations/run-report-view.js +224 -0
- package/dist/src/web-ui/app/components/automations/run-step-selection.js +7 -0
- package/dist/src/web-ui/app/components/automations/run-steps-view.js +33 -0
- package/dist/src/web-ui/app/components/automations/run.js +38 -0
- package/dist/src/web-ui/app/components/automations/schema-literal-inputs.js +212 -0
- package/dist/src/web-ui/app/components/automations/step-editor-dialog.js +243 -0
- package/dist/src/web-ui/app/components/automations/step-preview.js +48 -0
- package/dist/src/web-ui/app/components/automations/template-gallery.js +74 -0
- package/dist/src/web-ui/app/components/automations/timeline-camera.js +219 -0
- package/dist/src/web-ui/app/components/automations/timeline.js +141 -0
- package/dist/src/web-ui/app/components/automations/tool-identity.js +25 -0
- package/dist/src/web-ui/app/components/automations/workspace.js +462 -0
- package/dist/src/web-ui/app/components/composer-context-window.js +24 -13
- package/dist/src/web-ui/app/components/config-workspace/model-rendering.js +2 -2
- package/dist/src/web-ui/app/components/conversation-activity.d.ts +2 -28
- package/dist/src/web-ui/app/components/conversation-activity.js +23 -60
- package/dist/src/web-ui/app/components/conversation-status.js +3 -2
- package/dist/src/web-ui/app/components/conversation-view.js +36 -14
- package/dist/src/web-ui/app/components/dashboard/automations.js +28 -0
- package/dist/src/web-ui/app/components/dashboard/workspace.js +9 -0
- package/dist/src/web-ui/app/components/notifications/dom.js +1 -1
- package/dist/src/web-ui/app/components/notifications/feedback.js +34 -0
- package/dist/src/web-ui/app/components/notifications/pagination.js +13 -0
- package/dist/src/web-ui/app/components/notifications/presentation.js +25 -4
- package/dist/src/web-ui/app/components/notifications/tabs.js +49 -0
- package/dist/src/web-ui/app/components/notifications/workspace.js +19 -26
- package/dist/src/web-ui/app/components/onboarding-workspace-access.js +1 -1
- package/dist/src/web-ui/app/components/passive-learning/agent-state.js +0 -5
- package/dist/src/web-ui/app/components/passive-learning/agent-view.js +1 -1
- package/dist/src/web-ui/app/components/passive-learning/home.js +0 -4
- package/dist/src/web-ui/app/components/passive-learning/memory.js +0 -3
- package/dist/src/web-ui/app/components/passive-learning/settings-view.js +2 -2
- package/dist/src/web-ui/app/components/passive-learning/workspace-view.js +3 -3
- package/dist/src/web-ui/app/components/runtime-setup/optional-steps.js +7 -1
- package/dist/src/web-ui/app/components/runtime-setup-guide.d.ts +5 -1
- package/dist/src/web-ui/app/components/runtime-setup-guide.js +6 -3
- package/dist/src/web-ui/app/components/schedules/details.js +3 -2
- package/dist/src/web-ui/app/components/schedules/form.js +4 -4
- package/dist/src/web-ui/app/components/spark-chat/empty-state.js +45 -0
- package/dist/src/web-ui/app/components/spark-chat/handoff-actions.js +59 -0
- package/dist/src/web-ui/app/components/spark-chat/mascot-activity.js +27 -0
- package/dist/src/web-ui/app/components/spark-chat/motion.js +52 -0
- package/dist/src/web-ui/app/components/spark-chat/panel.js +109 -0
- package/dist/src/web-ui/app/components/spark-chat/placement.js +198 -0
- package/dist/src/web-ui/app/components/spark-chat/results.js +44 -0
- package/dist/src/web-ui/app/components/spark-chat/settings.js +84 -0
- package/dist/src/web-ui/app/components/system-host/macos-permission-preparation.js +83 -0
- package/dist/src/web-ui/app/components/system-host/macos-permission-rendering.js +85 -0
- package/dist/src/web-ui/app/components/system-host/macos-permission-scopes.js +51 -0
- package/dist/src/web-ui/app/components/system-host/manager.js +34 -0
- package/dist/src/web-ui/app/components/system-host/rendering.js +12 -4
- package/dist/src/web-ui/app/components/workspace-shell.js +39 -6
- package/dist/src/web-ui/app/computer-access-feature.js +5 -0
- package/dist/src/web-ui/app/configuration-feature.js +1 -0
- package/dist/src/web-ui/app/controllers/app-event-bindings.js +24 -2
- package/dist/src/web-ui/app/controllers/automation-draft-actions.js +153 -0
- package/dist/src/web-ui/app/controllers/automation-management-actions.js +75 -0
- package/dist/src/web-ui/app/controllers/automation-mutation-lifecycle.js +32 -0
- package/dist/src/web-ui/app/controllers/automation-read-projection.js +63 -0
- package/dist/src/web-ui/app/controllers/automation-run-actions.js +54 -0
- package/dist/src/web-ui/app/controllers/automation-view-scope.js +19 -0
- package/dist/src/web-ui/app/controllers/automations-controller.js +395 -0
- package/dist/src/web-ui/app/controllers/composer-queue-controller.d.ts +1 -0
- package/dist/src/web-ui/app/controllers/composer-queue-controller.js +18 -12
- package/dist/src/web-ui/app/controllers/conversation-session-controller.js +38 -15
- package/dist/src/web-ui/app/controllers/conversation-view-feature.js +1 -14
- package/dist/src/web-ui/app/controllers/dashboard-controller.js +42 -1
- package/dist/src/web-ui/app/controllers/notifications-controller.js +1 -1
- package/dist/src/web-ui/app/controllers/passive-learning-controller.js +33 -85
- package/dist/src/web-ui/app/controllers/projects-controller.d.ts +2 -0
- package/dist/src/web-ui/app/controllers/projects-controller.js +53 -18
- package/dist/src/web-ui/app/controllers/realtime-event-controller.js +42 -160
- package/dist/src/web-ui/app/controllers/request-lifecycle-controller.js +2 -0
- package/dist/src/web-ui/app/controllers/runtime-onboarding-controller.d.ts +4 -1
- package/dist/src/web-ui/app/controllers/runtime-onboarding-controller.js +14 -3
- package/dist/src/web-ui/app/controllers/schedules-controller.js +11 -19
- package/dist/src/web-ui/app/controllers/spark-chat-notices.js +34 -0
- package/dist/src/web-ui/app/controllers/spark-chat-reading.js +145 -0
- package/dist/src/web-ui/app/controllers/spark-chat-sync.js +151 -0
- package/dist/src/web-ui/app/controllers/spark-handoff-navigation.js +32 -0
- package/dist/src/web-ui/app/controllers/workspace-route-controller.js +21 -1
- package/dist/src/web-ui/app/dashboard-feature.js +0 -1
- package/dist/src/web-ui/app/index.html +12 -10
- package/dist/src/web-ui/app/lib/automation-binding-producers.js +47 -0
- package/dist/src/web-ui/app/lib/automation-graph-position.js +19 -0
- package/dist/src/web-ui/app/lib/automation-parallel-depth.js +19 -0
- package/dist/src/web-ui/app/lib/configuration-pages.js +3 -5
- package/dist/src/web-ui/app/lib/context-compaction-state.d.ts +41 -0
- package/dist/src/web-ui/app/lib/context-compaction-state.js +172 -0
- package/dist/src/web-ui/app/lib/context-window-measurement.d.ts +33 -0
- package/dist/src/web-ui/app/lib/context-window-measurement.js +99 -0
- package/dist/src/web-ui/app/lib/context-window-replay.d.ts +32 -0
- package/dist/src/web-ui/app/lib/context-window-replay.js +38 -0
- package/dist/src/web-ui/app/lib/context-window-snapshot-order.d.ts +16 -8
- package/dist/src/web-ui/app/lib/context-window-snapshot-order.js +29 -9
- package/dist/src/web-ui/app/lib/context-window-state.d.ts +80 -0
- package/dist/src/web-ui/app/lib/context-window-state.js +341 -0
- package/dist/src/web-ui/app/lib/conversation-status-model.js +15 -3
- package/dist/src/web-ui/app/lib/realtime-message.js +9 -0
- package/dist/src/web-ui/app/lib/schedule-conversation-presentation.js +19 -0
- package/dist/src/web-ui/app/lib/schedule-presentation.js +2 -2
- package/dist/src/web-ui/app/lib/spark-chat-address.js +22 -0
- package/dist/src/web-ui/app/lib/spark-chat-presentation.js +16 -0
- package/dist/src/web-ui/app/lib/spark-chat-read-state.js +13 -0
- package/dist/src/web-ui/app/lib/spark-proposal-message.js +7 -0
- package/dist/src/web-ui/app/lib/tool-activity-event.d.ts +1 -0
- package/dist/src/web-ui/app/lib/tool-activity-event.js +6 -2
- package/dist/src/web-ui/app/lib/tool-activity-model.js +1 -0
- package/dist/src/web-ui/app/lib/tool-approval-acknowledgement.js +7 -0
- package/dist/src/web-ui/app/lib/tool-automation-activity-fields.js +59 -0
- package/dist/src/web-ui/app/lib/tool-process-activity-fields.js +1 -1
- package/dist/src/web-ui/app/lib/workspace-change.js +2 -2
- package/dist/src/web-ui/app/lib/workspace-route.d.ts +3 -0
- package/dist/src/web-ui/app/lib/workspace-route.js +13 -2
- package/dist/src/web-ui/app/notifications-feature.js +13 -0
- package/dist/src/web-ui/app/passive-learning-feature.js +5 -30
- package/dist/src/web-ui/app/projects-feature.js +16 -5
- package/dist/src/web-ui/app/runtime-onboarding-feature.js +1 -0
- package/dist/src/web-ui/app/services/client-preferences.d.ts +0 -2
- package/dist/src/web-ui/app/services/client-preferences.js +0 -2
- package/dist/src/web-ui/app/services/runtime-web-client/automations.d.ts +36 -0
- package/dist/src/web-ui/app/services/runtime-web-client/automations.js +63 -0
- package/dist/src/web-ui/app/services/runtime-web-client/learning.js +0 -9
- package/dist/src/web-ui/app/services/runtime-web-client/spark-chat.d.ts +22 -0
- package/dist/src/web-ui/app/services/runtime-web-client/spark-chat.js +29 -0
- package/dist/src/web-ui/app/services/runtime-web-client/system-host.js +4 -2
- package/dist/src/web-ui/app/services/runtime-web-client.d.ts +24 -4
- package/dist/src/web-ui/app/services/runtime-web-client.js +5 -1
- package/dist/src/web-ui/app/spark-chat-conversation.js +217 -0
- package/dist/src/web-ui/app/spark-chat-feature.js +187 -0
- package/dist/src/web-ui/app/spark-mascot.svg +12 -0
- package/dist/src/web-ui/app/styles/11-workspace-header-width.css +48 -14
- package/dist/src/web-ui/app/styles/11-workspace-rail.css +6 -0
- package/dist/src/web-ui/app/styles/19-dashboard-automations.css +32 -0
- package/dist/src/web-ui/app/styles/41-co-worker-agent.css +6 -25
- package/dist/src/web-ui/app/styles/46-system-host.css +17 -0
- package/dist/src/web-ui/app/styles/48-notifications.css +14 -8
- package/dist/src/web-ui/app/styles/50-automations.css +353 -0
- package/dist/src/web-ui/app/styles/51-automation-editor-actions.css +35 -0
- package/dist/src/web-ui/app/styles/51-automation-templates.css +39 -0
- package/dist/src/web-ui/app/styles/52-automation-reports.css +84 -0
- package/dist/src/web-ui/app/styles/52-automation-step-editor.css +73 -0
- package/dist/src/web-ui/app/styles/53-automation-schema-inputs.css +21 -0
- package/dist/src/web-ui/app/styles/54-spark-chat.css +111 -0
- package/dist/src/web-ui/app/styles/94-automations-responsive.css +35 -0
- package/dist/src/web-ui/app/styles.css +9 -1
- package/dist/src/web-ui/app/ui-behavior.js +1 -0
- package/dist/src/web-ui/local-runtime/api-router.d.ts +2 -0
- package/dist/src/web-ui/local-runtime/api-router.js +18 -0
- package/dist/src/web-ui/local-runtime/automation-routes.d.ts +27 -0
- package/dist/src/web-ui/local-runtime/automation-routes.js +227 -0
- package/dist/src/web-ui/local-runtime/environment-registry.d.ts +4 -0
- package/dist/src/web-ui/local-runtime/environment-registry.js +5 -0
- package/dist/src/web-ui/local-runtime/learning-notifications.js +1 -1
- package/dist/src/web-ui/local-runtime/learning-routes.js +0 -22
- package/dist/src/web-ui/local-runtime/request-execution.js +35 -0
- package/dist/src/web-ui/local-runtime/session-routes.js +32 -2
- package/dist/src/web-ui/local-runtime/setup-embedding-config-repository.d.ts +6 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-config-repository.js +25 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-service.js +2 -0
- package/dist/src/web-ui/local-runtime/spark-chat-admission.d.ts +7 -0
- package/dist/src/web-ui/local-runtime/spark-chat-admission.js +37 -0
- package/dist/src/web-ui/local-runtime/spark-chat-configuration.d.ts +8 -0
- package/dist/src/web-ui/local-runtime/spark-chat-configuration.js +16 -0
- package/dist/src/web-ui/local-runtime/spark-chat-handoff.d.ts +4 -0
- package/dist/src/web-ui/local-runtime/spark-chat-handoff.js +84 -0
- package/dist/src/web-ui/local-runtime/spark-chat-routes.d.ts +19 -0
- package/dist/src/web-ui/local-runtime/spark-chat-routes.js +62 -0
- package/dist/src/web-ui/local-runtime-backend.d.ts +4 -0
- package/dist/src/web-ui/local-runtime-backend.js +3 -0
- package/dist/src/web-ui/notifications/automation-event-projection.d.ts +3 -0
- package/dist/src/web-ui/notifications/automation-event-projection.js +57 -0
- package/dist/src/web-ui/notifications/contracts.d.ts +20 -5
- package/dist/src/web-ui/notifications/contracts.js +7 -1
- package/dist/src/web-ui/notifications/conversation-source.d.ts +6 -0
- package/dist/src/web-ui/notifications/conversation-source.js +26 -0
- package/dist/src/web-ui/notifications/event-fields.d.ts +3 -0
- package/dist/src/web-ui/notifications/event-fields.js +12 -0
- package/dist/src/web-ui/notifications/event-projection.d.ts +2 -1
- package/dist/src/web-ui/notifications/event-projection.js +22 -20
- package/dist/src/web-ui/notifications/service.js +33 -2
- package/dist/src/web-ui/notifications/storage-schema.js +118 -21
- package/dist/src/web-ui/server.js +1 -1
- package/dist/src/web-ui/session-read-state/service.d.ts +39 -0
- package/dist/src/web-ui/session-read-state/service.js +20 -2
- package/dist/src/web-ui/session-read-state/store.d.ts +2 -0
- package/dist/src/web-ui/session-read-state/store.js +7 -0
- package/dist/src/web-ui/session-read-state/visible-messages.d.ts +30 -0
- package/dist/src/web-ui/session-read-state/visible-messages.js +119 -0
- package/dist/src/web-ui/system-host-service.d.ts +4 -1
- package/dist/src/web-ui/system-host-service.js +14 -3
- package/dist/src/web-ui/system-host-setup/local-request-authority.d.ts +3 -0
- package/dist/src/web-ui/system-host-setup/local-request-authority.js +15 -0
- package/dist/src/web-ui/system-host-setup/local-setup-availability.js +2 -12
- package/dist/src/web-ui/system-host-setup/native-permission-route.d.ts +26 -0
- package/dist/src/web-ui/system-host-setup/native-permission-route.js +96 -0
- package/dist/src/web-ui/system-host-setup/permission-route.d.ts +13 -0
- package/dist/src/web-ui/system-host-setup/permission-route.js +102 -0
- package/docs/installation.md +41 -9
- package/docs/plugins.md +53 -11
- package/docs/runtime-public-contracts.md +7 -2
- package/docs/tool-execution-result-evidence-contract.md +11 -4
- package/package.json +1 -1
- package/plugins/capability-brief/src/index.cjs +85 -37
- package/plugins/code-outline/source/index.ts +7 -2
- package/plugins/code-outline/src/index.cjs +91 -39
- package/plugins/document-reader/plugin.json +18 -3
- package/plugins/document-reader/skills/document_reader_skill/SKILL.md +6 -6
- package/plugins/document-reader/source/source-resolution.ts +1 -1
- package/plugins/document-reader/src/index.cjs +86 -38
- package/plugins/exec/plugin.json +3 -3
- package/plugins/exec/source/handlers.ts +78 -20
- package/plugins/exec/source/output-contracts.ts +45 -0
- package/plugins/exec/source/output-files.ts +161 -0
- package/plugins/exec/source/output-maintenance.ts +60 -0
- package/plugins/exec/source/output-range-reader.ts +97 -0
- package/plugins/exec/source/output-retention.ts +34 -0
- package/plugins/exec/source/output-snapshot.ts +54 -0
- package/plugins/exec/source/output-store.ts +182 -0
- package/plugins/exec/source/output-utf8-boundary.ts +14 -0
- package/plugins/exec/source/output-writer.ts +131 -0
- package/plugins/exec/source/process-manager.ts +142 -70
- package/plugins/exec/source/process-output-buffer.ts +13 -18
- package/plugins/exec/source/process-output.ts +158 -0
- package/plugins/exec/source/request-resources.ts +28 -12
- package/plugins/exec/source/result-presentation.ts +39 -39
- package/plugins/exec/source/retained-output-failure.ts +51 -0
- package/plugins/exec/source/settings.ts +9 -10
- package/plugins/exec/source/terminal-delivery.ts +49 -0
- package/plugins/exec/source/types.ts +12 -1
- package/plugins/exec/src/index.cjs +1112 -188
- package/plugins/filesystem/plugin.json +5 -5
- package/plugins/filesystem/skills/read_file_skill/SKILL.md +1 -1
- package/plugins/filesystem/src/index.cjs +85 -37
- package/plugins/json-inspector/source/index.ts +7 -2
- package/plugins/json-inspector/src/index.cjs +91 -39
- package/plugins/local-search/source/index.ts +9 -4
- package/plugins/local-search/src/index.cjs +93 -41
- package/plugins/memory/src/index.cjs +85 -37
- package/plugins/project-orientation/source/index.ts +9 -4
- package/plugins/project-orientation/src/index.cjs +93 -41
- package/plugins/system/plugin.json +2 -2
- package/plugins/system/source/computer/observation-output.ts +1 -1
- package/plugins/system/src/index.cjs +88 -43
- package/plugins/system-probe/source/index.ts +7 -2
- package/plugins/system-probe/src/index.cjs +91 -39
- package/plugins/web/README.md +9 -0
- package/plugins/web/source/plugin.ts +5 -3
- package/plugins/web/source/research.ts +7 -7
- package/plugins/web/src/index.cjs +96 -43
- package/src/runtime/README.md +100 -11
- package/src/runtime/scheduler/README.md +63 -0
- package/dist/src/web-ui/app/components/passive-learning/proposal-notifications.js +0 -106
- package/dist/src/web-ui/app/components/passive-learning/proposal-read-state.js +0 -23
- package/dist/src/web-ui/app/components/passive-learning/proposal-view.js +0 -23
- package/dist/src/web-ui/app/components/spark-conversation-actions.js +0 -62
- package/dist/src/web-ui/app/services/spark-conversation-preferences.js +0 -27
- package/dist/src/web-ui/app/styles/29-spark-conversation.css +0 -19
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AutomationSessionHandle, type AutomationSessionOrigin } from "./automation-session-origin.js";
|
|
1
2
|
import type { SessionRequestLifecycleStore } from "./request-lifecycle/contracts.js";
|
|
2
3
|
import { type CreateAssistantConversationInput } from "./assistant-initiative.js";
|
|
3
4
|
import { type SessionCreationOptions } from "./project-binding.js";
|
|
@@ -12,10 +13,17 @@ type SessionServiceOptions = {
|
|
|
12
13
|
export declare class SessionService {
|
|
13
14
|
readonly requestLifecycle: SessionRequestLifecycleStore;
|
|
14
15
|
private readonly sessionsDir;
|
|
16
|
+
private readonly automationAccess;
|
|
17
|
+
private readonly automationSessions;
|
|
15
18
|
private readonly now;
|
|
16
19
|
private readonly createMessageId;
|
|
17
20
|
private readonly sessionMutationQueues;
|
|
18
21
|
constructor(options?: SessionServiceOptions);
|
|
22
|
+
assertInteractiveSession(sessionId: string): Promise<void>;
|
|
23
|
+
createAutomationSession(sessionId: string, origin: AutomationSessionOrigin): Promise<AutomationSessionHandle>;
|
|
24
|
+
releaseAutomationSession(handle: AutomationSessionHandle): void;
|
|
25
|
+
reconcileAutomationSessions(cleanupAttachments: (sessionId: string) => Promise<void>, onError: (sessionId: string, error: unknown) => void): Promise<void>;
|
|
26
|
+
runAsAutomationSession<T>(handle: AutomationSessionHandle, task: () => Promise<T>): Promise<T>;
|
|
19
27
|
getOrCreateSession(sessionId: string, options?: SessionCreationOptions): Promise<SessionRecord>;
|
|
20
28
|
getAllSessions(): Promise<SessionRecord[]>;
|
|
21
29
|
listSessions(params?: {
|
|
@@ -50,6 +58,7 @@ export declare class SessionService {
|
|
|
50
58
|
attachments?: SessionMessage["attachments"];
|
|
51
59
|
}): Promise<SessionRecord>;
|
|
52
60
|
createAssistantConversation(sessionId: string, input: CreateAssistantConversationInput): Promise<SessionRecord>;
|
|
61
|
+
appendAssistantInitiative(sessionId: string, input: CreateAssistantConversationInput): Promise<SessionRecord>;
|
|
53
62
|
compareAndSwapSessionMemoryCheckpoint(sessionId: string, command: SessionMemoryCheckpointCommit): Promise<SessionMemoryCheckpointCommitResult>;
|
|
54
63
|
appendContextEntry(sessionId: string, options: {
|
|
55
64
|
kind: SessionContextEntryKind;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { AutomationSessionLockedError, createAutomationSessionAccess, hasAutomationSessionOrigin, } from "./automation-session-origin.js";
|
|
3
|
+
import { createAutomationSessionStore } from "./automation-session-store.js";
|
|
2
4
|
import { saveDurableSessionFile } from "./durable-session-commit.js";
|
|
3
5
|
import { cleanupSessionContinuations } from "./request-lifecycle/continuation-cleanup.js";
|
|
4
6
|
import { createSessionRequestLifecycle } from "./request-lifecycle/service.js";
|
|
@@ -11,12 +13,16 @@ import { clientVisibleMessages, compactRequestEvents, filterMessagesAfter, getRe
|
|
|
11
13
|
import { assertValidRequestId, assertValidSessionId, createContextEntryId, defaultCreateMessageId, pruneSupersededContextEntries, } from "./record/rules.js";
|
|
12
14
|
import { deleteSessionFile, ensureSessionsDir, loadAllSessionFiles, loadSessionFile, saveSessionFile, } from "./session-store.js";
|
|
13
15
|
import { resolveSessionMemoryCheckpointCommit } from "./memory/rules.js";
|
|
16
|
+
import { assertSessionKindUnchanged, sessionKindCreationFields } from "./spark-session.js";
|
|
17
|
+
import { appendAssistantInitiativeRecord } from "./assistant-initiative-append.js";
|
|
14
18
|
function toIso(now) {
|
|
15
19
|
return now().toISOString();
|
|
16
20
|
}
|
|
17
21
|
export class SessionService {
|
|
18
22
|
requestLifecycle;
|
|
19
23
|
sessionsDir;
|
|
24
|
+
automationAccess = createAutomationSessionAccess();
|
|
25
|
+
automationSessions;
|
|
20
26
|
now;
|
|
21
27
|
createMessageId;
|
|
22
28
|
sessionMutationQueues = new Map();
|
|
@@ -24,6 +30,10 @@ export class SessionService {
|
|
|
24
30
|
this.sessionsDir =
|
|
25
31
|
options.sessionsDir || getDefaultSessionsDir(process.cwd());
|
|
26
32
|
this.now = options.now || (() => new Date());
|
|
33
|
+
this.automationSessions = createAutomationSessionStore({
|
|
34
|
+
sessionsDir: this.sessionsDir, now: this.now, access: this.automationAccess,
|
|
35
|
+
enqueue: this.runSessionMutation.bind(this),
|
|
36
|
+
});
|
|
27
37
|
this.createMessageId = options.createMessageId || defaultCreateMessageId;
|
|
28
38
|
this.requestLifecycle = createSessionRequestLifecycle({
|
|
29
39
|
sessionsDir: this.sessionsDir,
|
|
@@ -34,12 +44,32 @@ export class SessionService {
|
|
|
34
44
|
list: this.getAllSessions.bind(this),
|
|
35
45
|
});
|
|
36
46
|
}
|
|
47
|
+
async assertInteractiveSession(sessionId) {
|
|
48
|
+
assertValidSessionId(sessionId);
|
|
49
|
+
const session = await loadSessionFile(this.sessionsDir, sessionId);
|
|
50
|
+
if (session && hasAutomationSessionOrigin(session))
|
|
51
|
+
throw new AutomationSessionLockedError();
|
|
52
|
+
}
|
|
53
|
+
async createAutomationSession(sessionId, origin) {
|
|
54
|
+
return this.automationSessions.create(sessionId, origin);
|
|
55
|
+
}
|
|
56
|
+
releaseAutomationSession(handle) {
|
|
57
|
+
this.automationSessions.release(handle);
|
|
58
|
+
}
|
|
59
|
+
reconcileAutomationSessions(cleanupAttachments, onError) {
|
|
60
|
+
return this.automationSessions.reconcile(cleanupAttachments, onError);
|
|
61
|
+
}
|
|
62
|
+
runAsAutomationSession(handle, task) {
|
|
63
|
+
return this.automationAccess.run(handle, task);
|
|
64
|
+
}
|
|
37
65
|
async getOrCreateSession(sessionId, options = {}) {
|
|
38
66
|
assertValidSessionId(sessionId);
|
|
39
67
|
await ensureSessionsDir(this.sessionsDir);
|
|
40
68
|
const existing = await loadSessionFile(this.sessionsDir, sessionId);
|
|
41
69
|
if (existing) {
|
|
70
|
+
this.automationAccess.assertAccess(sessionId, existing);
|
|
42
71
|
assertSessionProjectUnchanged(existing, options.project);
|
|
72
|
+
assertSessionKindUnchanged(existing, options.kind);
|
|
43
73
|
return existing;
|
|
44
74
|
}
|
|
45
75
|
const timestamp = toIso(this.now);
|
|
@@ -48,7 +78,7 @@ export class SessionService {
|
|
|
48
78
|
...(options.project
|
|
49
79
|
? { project: copySessionProject(options.project) }
|
|
50
80
|
: {}),
|
|
51
|
-
|
|
81
|
+
...sessionKindCreationFields(sessionId, options),
|
|
52
82
|
createdAt: timestamp,
|
|
53
83
|
updatedAt: timestamp,
|
|
54
84
|
lastAgentMode: "reasoning",
|
|
@@ -60,7 +90,9 @@ export class SessionService {
|
|
|
60
90
|
}
|
|
61
91
|
async getAllSessions() {
|
|
62
92
|
const sessions = await loadAllSessionFiles(this.sessionsDir);
|
|
63
|
-
return sessions
|
|
93
|
+
return sessions
|
|
94
|
+
.filter((session) => this.automationAccess.canAccess(session.id, session))
|
|
95
|
+
.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
|
|
64
96
|
}
|
|
65
97
|
async listSessions(params = {}) {
|
|
66
98
|
const limit = normalizeLimit(params.limit);
|
|
@@ -76,7 +108,10 @@ export class SessionService {
|
|
|
76
108
|
async getSessionById(sessionId) {
|
|
77
109
|
assertValidSessionId(sessionId);
|
|
78
110
|
await ensureSessionsDir(this.sessionsDir);
|
|
79
|
-
|
|
111
|
+
const session = await loadSessionFile(this.sessionsDir, sessionId);
|
|
112
|
+
return session && this.automationAccess.canAccess(sessionId, session)
|
|
113
|
+
? session
|
|
114
|
+
: null;
|
|
80
115
|
}
|
|
81
116
|
async getSessionSnapshot(sessionId, options = {}) {
|
|
82
117
|
const session = await this.getSessionById(sessionId);
|
|
@@ -85,6 +120,7 @@ export class SessionService {
|
|
|
85
120
|
}
|
|
86
121
|
return {
|
|
87
122
|
sessionId,
|
|
123
|
+
...(session.kind ? { kind: session.kind } : {}),
|
|
88
124
|
...(session.project ? { project: session.project } : {}),
|
|
89
125
|
title: session.title,
|
|
90
126
|
messages: filterMessagesAfter(clientVisibleMessages(session.messages), options.afterMessageId).map((message) => toSnapshotMessage(sessionId, message, session.requests ?? [])),
|
|
@@ -99,6 +135,8 @@ export class SessionService {
|
|
|
99
135
|
const normalizedAfterSeq = normalizeAfterSeq(afterSeq);
|
|
100
136
|
const sessions = await loadAllSessionFiles(this.sessionsDir);
|
|
101
137
|
for (const session of sessions) {
|
|
138
|
+
if (!this.automationAccess.canAccess(session.id, session))
|
|
139
|
+
continue;
|
|
102
140
|
const request = getSessionRequest(session, requestId);
|
|
103
141
|
if (!request) {
|
|
104
142
|
continue;
|
|
@@ -259,6 +297,12 @@ export class SessionService {
|
|
|
259
297
|
now: this.now(),
|
|
260
298
|
}));
|
|
261
299
|
}
|
|
300
|
+
async appendAssistantInitiative(sessionId, input) {
|
|
301
|
+
assertValidSessionId(sessionId);
|
|
302
|
+
return this.runSessionMutation(sessionId, () => appendAssistantInitiativeRecord({
|
|
303
|
+
directory: this.sessionsDir, sessionId, input, now: this.now(),
|
|
304
|
+
}));
|
|
305
|
+
}
|
|
262
306
|
async compareAndSwapSessionMemoryCheckpoint(sessionId, command) {
|
|
263
307
|
assertValidSessionId(sessionId);
|
|
264
308
|
return this.runSessionMutation(sessionId, async () => {
|
|
@@ -472,7 +516,12 @@ export class SessionService {
|
|
|
472
516
|
}
|
|
473
517
|
async runSessionMutation(sessionId, mutation) {
|
|
474
518
|
const previous = this.sessionMutationQueues.get(sessionId) ?? Promise.resolve();
|
|
475
|
-
const current = previous.catch(() => undefined).then(
|
|
519
|
+
const current = previous.catch(() => undefined).then(async () => {
|
|
520
|
+
const existing = await loadSessionFile(this.sessionsDir, sessionId);
|
|
521
|
+
if (existing)
|
|
522
|
+
this.automationAccess.assertAccess(sessionId, existing);
|
|
523
|
+
return mutation();
|
|
524
|
+
});
|
|
476
525
|
const queued = current.then(() => undefined, () => undefined);
|
|
477
526
|
this.sessionMutationQueues.set(sessionId, queued);
|
|
478
527
|
try {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Fits the existing assistant conversation content bound without truncation. */
|
|
2
|
+
export const MAX_SPARK_HANDOFF_BRIEF_CHARACTERS = 4000;
|
|
3
|
+
export function isSparkHandoffBrief(value) {
|
|
4
|
+
if (typeof value !== "string")
|
|
5
|
+
return false;
|
|
6
|
+
if (!value.trim())
|
|
7
|
+
return false;
|
|
8
|
+
return value.length <= MAX_SPARK_HANDOFF_BRIEF_CHARACTERS;
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SessionCreationOptions } from "./project-binding.js";
|
|
2
|
+
import type { SessionRecord } from "./types.js";
|
|
3
|
+
/** The environment's session directory owns the namespace, not the display name. */
|
|
4
|
+
export declare const SPARK_SESSION_ID = "spark-companion";
|
|
5
|
+
export type SessionKind = "spark";
|
|
6
|
+
export declare function isSparkSession(session: {
|
|
7
|
+
kind?: SessionKind;
|
|
8
|
+
}): boolean;
|
|
9
|
+
export declare function assertSessionKindUnchanged(session: SessionRecord, requested?: SessionKind): void;
|
|
10
|
+
export declare function sessionKindCreationFields(sessionId: string, options: SessionCreationOptions): Pick<SessionRecord, "kind" | "title">;
|
|
11
|
+
export declare function ensureSparkSession(sessions: {
|
|
12
|
+
getOrCreateSession(id: string, options?: SessionCreationOptions): Promise<SessionRecord>;
|
|
13
|
+
}): Promise<SessionRecord>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** The environment's session directory owns the namespace, not the display name. */
|
|
2
|
+
export const SPARK_SESSION_ID = "spark-companion";
|
|
3
|
+
export function isSparkSession(session) {
|
|
4
|
+
return session.kind === "spark";
|
|
5
|
+
}
|
|
6
|
+
export function assertSessionKindUnchanged(session, requested) {
|
|
7
|
+
if (requested === undefined)
|
|
8
|
+
return;
|
|
9
|
+
if (session.kind !== requested)
|
|
10
|
+
throw new Error("session_kind_binding_immutable");
|
|
11
|
+
}
|
|
12
|
+
export function sessionKindCreationFields(sessionId, options) {
|
|
13
|
+
if (options.kind === undefined)
|
|
14
|
+
return { title: sessionId };
|
|
15
|
+
if (options.kind !== "spark")
|
|
16
|
+
throw new Error("session_kind_invalid");
|
|
17
|
+
if (sessionId !== SPARK_SESSION_ID)
|
|
18
|
+
throw new Error("spark_session_identity_invalid");
|
|
19
|
+
if (options.project)
|
|
20
|
+
throw new Error("spark_session_project_binding_unsupported");
|
|
21
|
+
return { kind: "spark", title: "ABot SPARK" };
|
|
22
|
+
}
|
|
23
|
+
export function ensureSparkSession(sessions) {
|
|
24
|
+
return sessions.getOrCreateSession(SPARK_SESSION_ID, { kind: "spark" });
|
|
25
|
+
}
|
|
@@ -79,6 +79,7 @@ export type SessionRequestReplay = {
|
|
|
79
79
|
finalState: SessionRequestFinalState | null;
|
|
80
80
|
};
|
|
81
81
|
export type SessionListItem = {
|
|
82
|
+
kind?: import("./spark-session.js").SessionKind;
|
|
82
83
|
project?: SessionProject;
|
|
83
84
|
id: string;
|
|
84
85
|
title: string;
|
|
@@ -122,6 +123,7 @@ export type SessionSnapshotRequest = {
|
|
|
122
123
|
finalState: SessionRequestFinalState | null;
|
|
123
124
|
};
|
|
124
125
|
export type SessionSnapshot = {
|
|
126
|
+
kind?: import("./spark-session.js").SessionKind;
|
|
125
127
|
project?: SessionProject;
|
|
126
128
|
sessionId: string;
|
|
127
129
|
title: string;
|
|
@@ -172,7 +174,10 @@ export type SessionMessage = {
|
|
|
172
174
|
attachments?: RuntimeAttachmentReference[];
|
|
173
175
|
};
|
|
174
176
|
export type SessionRecord = {
|
|
177
|
+
kind?: import("./spark-session.js").SessionKind;
|
|
178
|
+
assistantInitiativeReceipts?: readonly string[];
|
|
175
179
|
project?: SessionProject;
|
|
180
|
+
automationOrigin?: import("./automation-session-origin.js").AutomationSessionOrigin;
|
|
176
181
|
id: string;
|
|
177
182
|
title: string;
|
|
178
183
|
createdAt: string;
|
|
@@ -282,3 +282,92 @@ execution evidence visible and places the complete rationale in a native disclos
|
|
|
282
282
|
Startup keeps the app inert and hidden from the initial HTML until workspace
|
|
283
283
|
restoration finishes. The branded startup screen reveals the app once ready;
|
|
284
284
|
failed bootstrap reads remain on an error with an explicit Reload action.
|
|
285
|
+
|
|
286
|
+
## Persistent SPARK popup
|
|
287
|
+
|
|
288
|
+
`spark-chat-feature.js` is composed by `app-bootstrap.js` outside the exclusive
|
|
289
|
+
workspace panels. It owns separate conversation state and DOM while reusing the
|
|
290
|
+
ordinary session, submit/queue, steering, approval, attachment, replay and rendering
|
|
291
|
+
controllers. Opening the popup does not replace the main selected session or draft.
|
|
292
|
+
The launcher defaults to the sidebar above the environment picker. Its drag position
|
|
293
|
+
is a browser preference shared across environments, with keyboard movement and a
|
|
294
|
+
settings action to return it to the sidebar. The popup anchors above or below the
|
|
295
|
+
launcher and stays inside the viewport.
|
|
296
|
+
The external launcher remains visible and toggles the popup even while it is open;
|
|
297
|
+
the header mascot also minimizes the chat. Free placement and anchor geometry stay intact.
|
|
298
|
+
Drag release gently aligns to a nearby 16px grid and settles into the saved position.
|
|
299
|
+
The popup fades and moves in from its launcher-facing edge without scaling message
|
|
300
|
+
geometry; placement motion respects reduced-motion preferences.
|
|
301
|
+
The marked permanent conversation is omitted from ordinary session listings.
|
|
302
|
+
Initiatives are presented only in the popup. Home and the SPARK page have no
|
|
303
|
+
proposal cards, card read filtering, dismissal actions or legacy suggestion toasts;
|
|
304
|
+
their status views show the actual collection, learning and proactive activity.
|
|
305
|
+
Popup notifications and read tracking belong to the companion alone. Desktop
|
|
306
|
+
notification records derive the SPARK kind from the canonical persisted session.
|
|
307
|
+
Their validated `/home` destination binds the environment, companion and exact
|
|
308
|
+
message/request reference; ordinary conversation and automation destinations keep
|
|
309
|
+
their existing contracts. The retired
|
|
310
|
+
manual proposal-dismissal HTTP/RPC path and browser preference facade are removed;
|
|
311
|
+
learning status no longer transports the card-only list of proposal contents.
|
|
312
|
+
Durable engine receipts, delivery events and deletion-derived settlement remain
|
|
313
|
+
owned by the proactive engine. Historical work sessions remain accessible through
|
|
314
|
+
the ordinary session list.
|
|
315
|
+
|
|
316
|
+
The native `/runtime/spark/chat` contract supplies the canonical session snapshot,
|
|
317
|
+
shared proactive model selection and persisted tool permission preference. Changes
|
|
318
|
+
live in SPARK's Chat tab; the shared model selector remains under Proactive mode
|
|
319
|
+
in Settings. Chat also hosts the existing Fast / Reasoning / Deep selector, backed
|
|
320
|
+
by the companion view state and used by ordinary send/queue capture. The compact
|
|
321
|
+
composer keeps attachment, stop and send actions inside one input row; permissions
|
|
322
|
+
remain in Chat settings. The popup settings button opens Chat directly. Clear uses the
|
|
323
|
+
ordinary session-history cleanup route and
|
|
324
|
+
keeps the session identity and preferences. The owner rejects clearing while a
|
|
325
|
+
request or saved approval is active, reserves admission during cleanup, and removes
|
|
326
|
+
only captured transcript attachment references so a concurrent new upload survives.
|
|
327
|
+
Exact cleanup references are committed before history removal and retained on deletion
|
|
328
|
+
failure for an explicit retry, including after restart. Proactive delivery shares the
|
|
329
|
+
same admission boundary through message persistence, delivery receipt and notification.
|
|
330
|
+
|
|
331
|
+
`spark-chat-reading.js` captures the first unread anchor before acknowledging any
|
|
332
|
+
visible rows. SPARK read tracking uses exact persisted message identities rather
|
|
333
|
+
than the ordinary cumulative read cursor; offscreen messages remain unread. Each
|
|
334
|
+
receipt binds the observed message ID, timestamp and request identity plus the
|
|
335
|
+
read generation. Initiative request identity remains null even if a later ordinary
|
|
336
|
+
answer repeats its text. A delayed acknowledgement cannot mark a reused post-clear ID.
|
|
337
|
+
Unread availability failures preserve the last known state and draft.
|
|
338
|
+
The initial/reconnected snapshot produces one summary indication. Later new
|
|
339
|
+
persisted assistant messages produce one indication each while the popup is closed,
|
|
340
|
+
independent of streaming deltas and replay. An open popup suppresses the extra
|
|
341
|
+
floating preview. View state, reads and realtime events remain environment scoped.
|
|
342
|
+
|
|
343
|
+
`spark-chat-sync.js` reconciles durable snapshots and restores ordinary request
|
|
344
|
+
replay after reconnect. Environment navigation first prepares both ordinary and SPARK
|
|
345
|
+
queue recovery. Recovered drafts and their files are released only after every
|
|
346
|
+
navigation guard accepts; failed saves leave the current composer intact.
|
|
347
|
+
Shared rendering delegates popup scroll and asynchronous
|
|
348
|
+
layout changes to its reading controller, keeping the ordinary view unchanged.
|
|
349
|
+
The companion presents a friendly empty state and working indicator. Its canonical
|
|
350
|
+
SPARK policy keeps replies in the current user's language unless another is requested,
|
|
351
|
+
without announcing a language switch. It treats earlier assistant messages as its
|
|
352
|
+
own conversation and distinguishes an empty long-term recall from available history.
|
|
353
|
+
Its result view
|
|
354
|
+
retains canonical file actions, web sources, failures and partial-result warnings;
|
|
355
|
+
session event inspection, raw reasoning, context controls and routine completion
|
|
356
|
+
status stay out of the companion. Approval and execution mechanisms remain shared.
|
|
357
|
+
|
|
358
|
+
SPARK initiatives enter ordinary conversation history once as assistant messages in
|
|
359
|
+
canonical order. They form settled assistant-only units without inventing a user
|
|
360
|
+
request and follow the same checkpoint/compaction policy as other settled turns:
|
|
361
|
+
older units are summarized while the latest ten remain exact. The saved transcript
|
|
362
|
+
is retained for display and handoff. There is no separate initiative context block;
|
|
363
|
+
saved reasons, source metadata and handoff briefs are not projected into chat model
|
|
364
|
+
inputs. Request snapshots keep the existing exact source validation contract.
|
|
365
|
+
|
|
366
|
+
Persisted initiatives expose an explicit handoff action when canonical metadata
|
|
367
|
+
includes a saved title and brief. The client sends only the exact source message
|
|
368
|
+
reference to `/runtime/spark/chat/sessions`; it never invents or submits the brief.
|
|
369
|
+
`spark-handoff-navigation.js` captures the ordinary workspace and environment,
|
|
370
|
+
then opens the returned ordinary session through its existing session controller.
|
|
371
|
+
It submits no chat message or model request. Old suggestions without saved context
|
|
372
|
+
show a disabled action and explanation. Legacy Keep/Not interested and Not now
|
|
373
|
+
controls are removed; their stored historical preferences and statuses remain.
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { createStartupScreen } from "./components/startup-screen.js";
|
|
2
2
|
import { createWorkspaceRouteController } from "./controllers/workspace-route-controller.js";
|
|
3
3
|
import { textOf } from "./lib/text-format.js";
|
|
4
|
+
import { createAutomationsFeature } from "./automations-feature.js";
|
|
5
|
+
import { createSparkChatFeature } from "./spark-chat-feature.js";
|
|
6
|
+
import { canRestoreSparkAddress, sparkNotificationReference } from "./lib/spark-chat-address.js";
|
|
7
|
+
import { createSparkHandoffNavigation } from "./controllers/spark-handoff-navigation.js";
|
|
4
8
|
|
|
5
9
|
export async function bootstrapWebApp({
|
|
6
10
|
state,
|
|
@@ -26,12 +30,26 @@ export async function bootstrapWebApp({
|
|
|
26
30
|
navigation,
|
|
27
31
|
onNavigationReady = () => {},
|
|
28
32
|
}) {
|
|
29
|
-
|
|
33
|
+
let routes = null;
|
|
34
|
+
const initialAddress = new URL(window.location.href);
|
|
35
|
+
const spark = createSparkChatFeature({ dom, state, client, shell, realtime, getEnvironmentId: () => dom.environmentSelect.value,
|
|
36
|
+
captureHandoffNavigation: createSparkHandoffNavigation({ state, getEnvironmentId: () => dom.environmentSelect.value,
|
|
37
|
+
shell, conversation: navigation?.conversation, onNavigationChange: () => routes?.sync() }),
|
|
38
|
+
onOpenSchedule: (jobId) => schedules.openJob(jobId) });
|
|
39
|
+
navigation?.bindings.setEnvironmentChangePreparation(spark.prepareEnvironmentChange);
|
|
40
|
+
notifications?.setCompanionChat?.(spark);
|
|
41
|
+
const automations = createAutomationsFeature({
|
|
42
|
+
dom, client, shell, realtime,
|
|
43
|
+
getEnvironmentId: () => dom.environmentSelect.value,
|
|
44
|
+
onNavigationChange: () => routes?.sync(),
|
|
45
|
+
});
|
|
46
|
+
routes = navigation
|
|
30
47
|
? createWorkspaceRouteController({
|
|
31
48
|
shell,
|
|
32
49
|
configuration,
|
|
33
50
|
selection,
|
|
34
51
|
schedules,
|
|
52
|
+
automations,
|
|
35
53
|
getEnvironmentId: () => dom.environmentSelect.value,
|
|
36
54
|
getSessionId: () => state.currentSessionId,
|
|
37
55
|
changeEnvironment: navigation.bindings.changeEnvironment,
|
|
@@ -47,7 +65,7 @@ export async function bootstrapWebApp({
|
|
|
47
65
|
shell.load();
|
|
48
66
|
homeComposer.setWorkspace(shell.activeWorkspace());
|
|
49
67
|
dashboard.setActive(true);
|
|
50
|
-
for (const control of [shell, ...bindables]) control.bind();
|
|
68
|
+
for (const control of [shell, ...bindables, spark]) control.bind();
|
|
51
69
|
bindEvents();
|
|
52
70
|
renderComposer();
|
|
53
71
|
selection.renderPermissionMode();
|
|
@@ -55,6 +73,7 @@ export async function bootstrapWebApp({
|
|
|
55
73
|
state.config = await client.loadWebConfig();
|
|
56
74
|
void configuration.refreshComputerAccess?.();
|
|
57
75
|
schedules.refreshAvailability();
|
|
76
|
+
automations.refreshAvailability();
|
|
58
77
|
notifications?.refreshAvailability();
|
|
59
78
|
projects?.refreshAvailability();
|
|
60
79
|
selection.renderEnvironmentOptions();
|
|
@@ -70,6 +89,7 @@ export async function bootstrapWebApp({
|
|
|
70
89
|
: fallback;
|
|
71
90
|
preferences.saveEnvironmentId(dom.environmentSelect.value);
|
|
72
91
|
learning?.environmentChanged();
|
|
92
|
+
spark.environmentChanged();
|
|
73
93
|
learning?.setWorkspace(shell.activeWorkspace());
|
|
74
94
|
homeComposer.environmentChanged();
|
|
75
95
|
selection.renderAgentPicker();
|
|
@@ -84,6 +104,8 @@ export async function bootstrapWebApp({
|
|
|
84
104
|
]);
|
|
85
105
|
if (routes) await routes.restoreInitial();
|
|
86
106
|
else await restoreLastSession();
|
|
107
|
+
if (canRestoreSparkAddress(initialAddress, dom.environmentSelect.value))
|
|
108
|
+
await spark.open(initialAddress.searchParams.get("message") || undefined, sparkNotificationReference(initialAddress));
|
|
87
109
|
dashboard.setReady();
|
|
88
110
|
notifications?.setReady();
|
|
89
111
|
}
|
|
@@ -5,6 +5,10 @@ export function findAppDom(documentRoot = document) {
|
|
|
5
5
|
homeWorkspacePanel: documentRoot.getElementById("homeWorkspacePanel"),
|
|
6
6
|
homeDashboardRoot: documentRoot.getElementById("homeDashboardRoot"),
|
|
7
7
|
chatWorkspaceButton: documentRoot.getElementById("chatWorkspaceButton"),
|
|
8
|
+
automationsWorkspaceButton: documentRoot.getElementById("automationsWorkspaceButton"),
|
|
9
|
+
automationsWorkspacePanel: documentRoot.getElementById("automationsWorkspacePanel"),
|
|
10
|
+
closeAutomationsWorkspaceButton: documentRoot.getElementById("closeAutomationsWorkspaceButton"),
|
|
11
|
+
automationsRoot: documentRoot.getElementById("automationsRoot"),
|
|
8
12
|
schedulesWorkspaceButton: documentRoot.getElementById(
|
|
9
13
|
"schedulesWorkspaceButton",
|
|
10
14
|
),
|
|
@@ -39,6 +43,7 @@ export function findAppDom(documentRoot = document) {
|
|
|
39
43
|
modelsWorkspaceButton: documentRoot.getElementById("modelsWorkspaceButton"),
|
|
40
44
|
pluginsWorkspaceButton: documentRoot.getElementById("pluginsWorkspaceButton"),
|
|
41
45
|
chatPanel: documentRoot.querySelector(".chat-panel"),
|
|
46
|
+
automationChatRunPanel: documentRoot.getElementById("automationChatRunPanel"),
|
|
42
47
|
sessionsPanel: documentRoot.querySelector(".sessions-panel"),
|
|
43
48
|
configWorkspacePanel: documentRoot.getElementById("configWorkspacePanel"),
|
|
44
49
|
closeConfigWorkspaceButton: documentRoot.getElementById(
|
|
@@ -9,13 +9,21 @@ export function createAppRealtimeTransport({
|
|
|
9
9
|
recordControlEvent,
|
|
10
10
|
onConnected,
|
|
11
11
|
}) {
|
|
12
|
-
|
|
12
|
+
const messageListeners = new Set();
|
|
13
|
+
const connectedListeners = new Set();
|
|
14
|
+
const connectionListeners = new Set();
|
|
15
|
+
const transport = createRealtimeTransport({
|
|
13
16
|
getConfig,
|
|
14
|
-
onMessage
|
|
17
|
+
onMessage: (message) => {
|
|
18
|
+
onMessage(message);
|
|
19
|
+
for (const listener of messageListeners) listener(message);
|
|
20
|
+
},
|
|
15
21
|
onOpen: () => {
|
|
16
22
|
state.connected = true;
|
|
17
23
|
setConnectionLabel("Connected");
|
|
18
24
|
onConnected();
|
|
25
|
+
for (const listener of connectedListeners) listener();
|
|
26
|
+
for (const listener of connectionListeners) listener();
|
|
19
27
|
},
|
|
20
28
|
onClose: () => {
|
|
21
29
|
state.connected = false;
|
|
@@ -23,10 +31,12 @@ export function createAppRealtimeTransport({
|
|
|
23
31
|
"Realtime connection closed before steer was accepted.",
|
|
24
32
|
);
|
|
25
33
|
setConnectionLabel("Reconnecting", true);
|
|
34
|
+
for (const listener of connectionListeners) listener();
|
|
26
35
|
},
|
|
27
36
|
onError: () => {
|
|
28
37
|
state.connected = false;
|
|
29
38
|
setConnectionLabel("Connection issue", true);
|
|
39
|
+
for (const listener of connectionListeners) listener();
|
|
30
40
|
},
|
|
31
41
|
onParseError: (error, preview) => {
|
|
32
42
|
recordControlEvent({
|
|
@@ -39,4 +49,19 @@ export function createAppRealtimeTransport({
|
|
|
39
49
|
});
|
|
40
50
|
},
|
|
41
51
|
});
|
|
52
|
+
return {
|
|
53
|
+
...transport,
|
|
54
|
+
subscribeMessages(listener) {
|
|
55
|
+
messageListeners.add(listener);
|
|
56
|
+
return () => messageListeners.delete(listener);
|
|
57
|
+
},
|
|
58
|
+
subscribeConnectionChanged(listener) {
|
|
59
|
+
connectionListeners.add(listener);
|
|
60
|
+
return () => connectionListeners.delete(listener);
|
|
61
|
+
},
|
|
62
|
+
subscribeConnected(listener) {
|
|
63
|
+
connectedListeners.add(listener);
|
|
64
|
+
return () => connectedListeners.delete(listener);
|
|
65
|
+
},
|
|
66
|
+
};
|
|
42
67
|
}
|
|
@@ -147,6 +147,8 @@ const { guide: runtimeSetupGuide, controller: runtimeOnboarding } =
|
|
|
147
147
|
renderAttachmentComposer();
|
|
148
148
|
dashboardFeature?.runtimeAvailabilityChanged();
|
|
149
149
|
schedulesFeature?.runtimeAvailabilityChanged();
|
|
150
|
+
projectsFeature?.runtimeAvailabilityChanged();
|
|
151
|
+
passiveLearning?.runtimeAvailabilityChanged();
|
|
150
152
|
configWorkspace?.renderHomeGuidance();
|
|
151
153
|
},
|
|
152
154
|
});
|
|
@@ -167,10 +169,9 @@ schedulesFeature = createSchedulesFeature({
|
|
|
167
169
|
openSession: (sessionId) => conversationSession.openSession(sessionId),
|
|
168
170
|
});
|
|
169
171
|
passiveLearning = createPassiveLearningFeature({
|
|
172
|
+
isRuntimeReady: runtimeOnboarding.isReady,
|
|
170
173
|
onChange: () => configWorkspace?.renderHomeGuidance(),
|
|
171
174
|
client: runtimeClient,
|
|
172
|
-
openSession: (sessionId) => conversationSession.openSession(sessionId),
|
|
173
|
-
activateChat: () => shell.activateWorkspace("chat"),
|
|
174
175
|
getEnvironmentId: selectedEnvironmentId,
|
|
175
176
|
learningRoot: dom.learningRoot,
|
|
176
177
|
openLearning: () => shell.activateWorkspace("learning"),
|
|
@@ -276,9 +277,6 @@ const toolApprovalController = createToolApprovalController({
|
|
|
276
277
|
conversationView = createConversationView({
|
|
277
278
|
dom,
|
|
278
279
|
filePreviewClient: runtimeClient,
|
|
279
|
-
preferences,
|
|
280
|
-
archiveSession: (sessionId) => sessionController.archiveSession(sessionId),
|
|
281
|
-
onSparkArchived: () => shell.activateWorkspace("home"),
|
|
282
280
|
getFileEnvironmentId: selectedEnvironmentId,
|
|
283
281
|
getFileSessionId: () => state.currentSessionId,
|
|
284
282
|
getMessages: () => state.messages,
|
|
@@ -338,6 +336,7 @@ conversationSession = createConversationSessionController({
|
|
|
338
336
|
composerQueueController.isCurrentScope(scope),
|
|
339
337
|
});
|
|
340
338
|
projectsFeature = createProjectsFeature({
|
|
339
|
+
isRuntimeReady: runtimeOnboarding.isReady,
|
|
341
340
|
onSessionCreated: (sessionId) =>
|
|
342
341
|
runtimeSelection.initializeSessionMode(sessionId),
|
|
343
342
|
dom,
|
|
@@ -526,7 +525,7 @@ const appEventBindings = createAppEventBindings({
|
|
|
526
525
|
actions: {
|
|
527
526
|
renderSessions,
|
|
528
527
|
loadSessions,
|
|
529
|
-
|
|
528
|
+
prepareQueueRecovery: () => composerQueueController.prepareRecoveryForNavigation(),
|
|
530
529
|
saveSessionId: saveSessionIdForEnvironment,
|
|
531
530
|
selectedEnvironmentId,
|
|
532
531
|
rememberModelSelection: rememberCurrentModelSelection,
|
|
@@ -753,10 +752,6 @@ async function loadSystemHealth() {
|
|
|
753
752
|
await operationsController.loadSystemHealth();
|
|
754
753
|
}
|
|
755
754
|
|
|
756
|
-
function suspendRecoveredComposerReleaseForNavigation() {
|
|
757
|
-
return composerQueueController.suspendRecoveryForNavigation();
|
|
758
|
-
}
|
|
759
|
-
|
|
760
755
|
void startWebApp({
|
|
761
756
|
state,
|
|
762
757
|
dom,
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { createAutomationsController } from "./controllers/automations-controller.js";
|
|
2
|
+
import { createAutomationsWorkspace } from "./components/automations/workspace.js";
|
|
3
|
+
import { createAutomationChatRunProjection } from "./components/automations/chat-run-projection.js";
|
|
4
|
+
import { openAutomationAuthoringChat } from "./components/automations/authoring-entry.js";
|
|
5
|
+
|
|
6
|
+
export function createAutomationsFeature({
|
|
7
|
+
dom, client, shell, realtime, getEnvironmentId, onNavigationChange,
|
|
8
|
+
documentRoot = document,
|
|
9
|
+
}) {
|
|
10
|
+
if (!dom.automationsRoot || !dom.automationsWorkspaceButton || !dom.automationChatRunPanel) {
|
|
11
|
+
return {
|
|
12
|
+
refreshAvailability() {},
|
|
13
|
+
isWorkspaceAvailable: (destination) => destination !== "automations",
|
|
14
|
+
selectedAutomationId: () => "", selectedRunId: () => "",
|
|
15
|
+
navigationRevision: () => 0, openRoute: async () => false,
|
|
16
|
+
prepareRouteChange: () => true,
|
|
17
|
+
chatRunId: () => "", openChatRun: async () => false,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
let view;
|
|
21
|
+
const controller = createAutomationsController({
|
|
22
|
+
client, getEnvironmentId, onNavigationChange,
|
|
23
|
+
isEditingDirty: () => view?.isDirty() || false,
|
|
24
|
+
render: (snapshot) => view?.render(snapshot),
|
|
25
|
+
});
|
|
26
|
+
const chatRun = createAutomationChatRunProjection({
|
|
27
|
+
dom, client, getEnvironmentId, onNavigationChange,
|
|
28
|
+
returnToStudio: (run) => {
|
|
29
|
+
chatRun.clear();
|
|
30
|
+
if (!shell.activateWorkspace("automations")) return;
|
|
31
|
+
void controller.openRoute(run?.automationId || "", run?.id || "");
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
view = createAutomationsWorkspace({
|
|
35
|
+
root: dom.automationsRoot,
|
|
36
|
+
actions: {
|
|
37
|
+
...controller,
|
|
38
|
+
openAuthoringChat(automationId, revision) {
|
|
39
|
+
return openAutomationAuthoringChat({ dom, shell, automationId, revision });
|
|
40
|
+
},
|
|
41
|
+
showChatRun(runId) {
|
|
42
|
+
if (!shell.activateWorkspace("chat")) return false;
|
|
43
|
+
return chatRun.open(runId);
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
documentRoot,
|
|
47
|
+
});
|
|
48
|
+
shell.addWorkspaceGuard(({ from, to }) => {
|
|
49
|
+
if (from !== "automations" || to === "automations") return true;
|
|
50
|
+
return view.prepareLeave();
|
|
51
|
+
});
|
|
52
|
+
dom.chatWorkspaceButton.addEventListener("click", () => chatRun.clear());
|
|
53
|
+
shell.subscribeWorkspaceChange((workspace) => {
|
|
54
|
+
controller.setWorkspaceActive(workspace === "automations");
|
|
55
|
+
chatRun.workspaceChanged(workspace);
|
|
56
|
+
});
|
|
57
|
+
dom.environmentSelect.addEventListener("change", () => queueMicrotask(() => {
|
|
58
|
+
controller.environmentChanged();
|
|
59
|
+
chatRun.clear();
|
|
60
|
+
}));
|
|
61
|
+
documentRoot.addEventListener("visibilitychange", () => {
|
|
62
|
+
controller.visibilityChanged();
|
|
63
|
+
chatRun.visibilityChanged();
|
|
64
|
+
});
|
|
65
|
+
realtime.subscribeMessages?.((message) => {
|
|
66
|
+
controller.handleRealtime(message);
|
|
67
|
+
chatRun.handleRealtime(message);
|
|
68
|
+
});
|
|
69
|
+
realtime.subscribeConnected?.(() => {
|
|
70
|
+
controller.reconnect();
|
|
71
|
+
chatRun.reconnect();
|
|
72
|
+
});
|
|
73
|
+
return {
|
|
74
|
+
refreshAvailability() {
|
|
75
|
+
const available = client.supportsAutomations();
|
|
76
|
+
dom.automationsWorkspaceButton.hidden = !available;
|
|
77
|
+
dom.automationsWorkspaceButton.disabled = !available || dom.automationsWorkspaceButton.dataset.onboardingBlocked === "true";
|
|
78
|
+
if (!available) controller.setWorkspaceActive(false);
|
|
79
|
+
if (!available) chatRun.clear();
|
|
80
|
+
},
|
|
81
|
+
isWorkspaceAvailable(destination) {
|
|
82
|
+
return destination !== "automations" || client.supportsAutomations();
|
|
83
|
+
},
|
|
84
|
+
selectedAutomationId: controller.selectedAutomationId,
|
|
85
|
+
selectedRunId: controller.selectedRunId,
|
|
86
|
+
chatRunId: chatRun.runId,
|
|
87
|
+
navigationRevision: controller.navigationRevision,
|
|
88
|
+
openRoute: controller.openRoute,
|
|
89
|
+
async openChatRun(runId) {
|
|
90
|
+
if (runId) shell.setSessionsDrawerOpen(false, { focus: false });
|
|
91
|
+
await chatRun.open(runId);
|
|
92
|
+
return true;
|
|
93
|
+
},
|
|
94
|
+
prepareRouteChange(route) {
|
|
95
|
+
if (shell.activeWorkspace() !== "automations") return true;
|
|
96
|
+
const changesIdentity = route.workspace !== "automations" ||
|
|
97
|
+
route.automation !== controller.selectedAutomationId() ||
|
|
98
|
+
route.run !== controller.selectedRunId() ||
|
|
99
|
+
route.environment !== getEnvironmentId();
|
|
100
|
+
return !changesIdentity || view.prepareLeave();
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|