@jterrats/open-orchestra 1.0.16 → 1.0.18
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/CHANGELOG.md +44 -0
- package/CLAUDE.md +25 -2
- package/README.md +32 -9
- package/dist/active-runtime-store.d.ts +18 -0
- package/dist/active-runtime-store.js +75 -0
- package/dist/active-runtime-store.js.map +1 -0
- package/dist/benchmark.js +65 -27
- package/dist/benchmark.js.map +1 -1
- package/dist/chat-api-errors.d.ts +7 -0
- package/dist/chat-api-errors.js +15 -0
- package/dist/chat-api-errors.js.map +1 -0
- package/dist/chat-api-message-persistence.d.ts +12 -0
- package/dist/chat-api-message-persistence.js +125 -0
- package/dist/chat-api-message-persistence.js.map +1 -0
- package/dist/chat-api-records.d.ts +35 -0
- package/dist/chat-api-records.js +94 -0
- package/dist/chat-api-records.js.map +1 -0
- package/dist/chat-api-service.d.ts +32 -0
- package/dist/chat-api-service.js +120 -0
- package/dist/chat-api-service.js.map +1 -0
- package/dist/chat-api-storage.d.ts +1 -0
- package/dist/chat-api-storage.js +14 -0
- package/dist/chat-api-storage.js.map +1 -0
- package/dist/chat-api-types.d.ts +81 -0
- package/dist/chat-api-types.js +2 -0
- package/dist/chat-api-types.js.map +1 -0
- package/dist/chat-compliance-service.d.ts +60 -0
- package/dist/chat-compliance-service.js +241 -0
- package/dist/chat-compliance-service.js.map +1 -0
- package/dist/chat-event-stream.d.ts +13 -0
- package/dist/chat-event-stream.js +124 -0
- package/dist/chat-event-stream.js.map +1 -0
- package/dist/chat-pagination.d.ts +6 -0
- package/dist/chat-pagination.js +64 -0
- package/dist/chat-pagination.js.map +1 -0
- package/dist/chat-storage-actor-validation.d.ts +4 -0
- package/dist/chat-storage-actor-validation.js +65 -0
- package/dist/chat-storage-actor-validation.js.map +1 -0
- package/dist/chat-storage-content-policy.d.ts +6 -0
- package/dist/chat-storage-content-policy.js +84 -0
- package/dist/chat-storage-content-policy.js.map +1 -0
- package/dist/chat-storage-errors.d.ts +20 -0
- package/dist/chat-storage-errors.js +17 -0
- package/dist/chat-storage-errors.js.map +1 -0
- package/dist/chat-storage-local-files.d.ts +17 -0
- package/dist/chat-storage-local-files.js +78 -0
- package/dist/chat-storage-local-files.js.map +1 -0
- package/dist/chat-storage-local-paths.d.ts +6 -0
- package/dist/chat-storage-local-paths.js +124 -0
- package/dist/chat-storage-local-paths.js.map +1 -0
- package/dist/chat-storage-local-projection.d.ts +10 -0
- package/dist/chat-storage-local-projection.js +55 -0
- package/dist/chat-storage-local-projection.js.map +1 -0
- package/dist/chat-storage-local-records.d.ts +13 -0
- package/dist/chat-storage-local-records.js +56 -0
- package/dist/chat-storage-local-records.js.map +1 -0
- package/dist/chat-storage-local.d.ts +6 -0
- package/dist/chat-storage-local.js +114 -0
- package/dist/chat-storage-local.js.map +1 -0
- package/dist/chat-storage-validation.d.ts +10 -0
- package/dist/chat-storage-validation.js +100 -0
- package/dist/chat-storage-validation.js.map +1 -0
- package/dist/chat-storage.d.ts +16 -0
- package/dist/chat-storage.js +4 -0
- package/dist/chat-storage.js.map +1 -0
- package/dist/chat-workflow-timeline.d.ts +17 -0
- package/dist/chat-workflow-timeline.js +210 -0
- package/dist/chat-workflow-timeline.js.map +1 -0
- package/dist/{workspace-claude-settings.d.ts → claude-settings.d.ts} +22 -3
- package/dist/{workspace-claude-settings.js → claude-settings.js} +28 -9
- package/dist/claude-settings.js.map +1 -0
- package/dist/command-init.d.ts +2 -0
- package/dist/command-init.js +150 -0
- package/dist/command-init.js.map +1 -0
- package/dist/command-manifest.js +1 -1
- package/dist/command-manifest.js.map +1 -1
- package/dist/commands.d.ts +1 -1
- package/dist/commands.js +1 -140
- package/dist/commands.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/context-runtime-preprocessor.d.ts +41 -0
- package/dist/context-runtime-preprocessor.js +199 -0
- package/dist/context-runtime-preprocessor.js.map +1 -0
- package/dist/cursor-settings.d.ts +25 -0
- package/dist/cursor-settings.js +72 -0
- package/dist/cursor-settings.js.map +1 -0
- package/dist/health-commands.js +43 -3
- package/dist/health-commands.js.map +1 -1
- package/dist/metrics-commands.js +3 -0
- package/dist/metrics-commands.js.map +1 -1
- package/dist/model-aliases.d.ts +5 -0
- package/dist/model-aliases.js +37 -0
- package/dist/model-aliases.js.map +1 -0
- package/dist/ollama-provider.js +25 -0
- package/dist/ollama-provider.js.map +1 -1
- package/dist/phase-playbooks.js +11 -0
- package/dist/phase-playbooks.js.map +1 -1
- package/dist/provider-agent-wrapper.js +14 -0
- package/dist/provider-agent-wrapper.js.map +1 -1
- package/dist/runtime-adapters.js +56 -0
- package/dist/runtime-adapters.js.map +1 -1
- package/dist/runtime-bootstrap.js +34 -11
- package/dist/runtime-bootstrap.js.map +1 -1
- package/dist/runtime-capacity-policy.d.ts +38 -0
- package/dist/runtime-capacity-policy.js +117 -0
- package/dist/runtime-capacity-policy.js.map +1 -0
- package/dist/runtime-capacity-scheduler-helpers.d.ts +40 -0
- package/dist/runtime-capacity-scheduler-helpers.js +111 -0
- package/dist/runtime-capacity-scheduler-helpers.js.map +1 -0
- package/dist/runtime-capacity-scheduler-state.d.ts +44 -0
- package/dist/runtime-capacity-scheduler-state.js +128 -0
- package/dist/runtime-capacity-scheduler-state.js.map +1 -0
- package/dist/runtime-capacity-scheduler.d.ts +34 -0
- package/dist/runtime-capacity-scheduler.js +193 -0
- package/dist/runtime-capacity-scheduler.js.map +1 -0
- package/dist/runtime-capacity-snapshot.d.ts +14 -0
- package/dist/runtime-capacity-snapshot.js +87 -0
- package/dist/runtime-capacity-snapshot.js.map +1 -0
- package/dist/runtime-child-prompt.d.ts +2 -1
- package/dist/runtime-child-prompt.js +12 -1
- package/dist/runtime-child-prompt.js.map +1 -1
- package/dist/runtime-claude-native-bridge.js +2 -1
- package/dist/runtime-claude-native-bridge.js.map +1 -1
- package/dist/runtime-commands.js +6 -0
- package/dist/runtime-commands.js.map +1 -1
- package/dist/runtime-context-manifest.d.ts +4 -1
- package/dist/runtime-context-manifest.js +59 -3
- package/dist/runtime-context-manifest.js.map +1 -1
- package/dist/runtime-execution-adapters.js +19 -0
- package/dist/runtime-execution-adapters.js.map +1 -1
- package/dist/runtime-execution-renderer.js +4 -0
- package/dist/runtime-execution-renderer.js.map +1 -1
- package/dist/runtime-execution.js +13 -82
- package/dist/runtime-execution.js.map +1 -1
- package/dist/runtime-hooks.d.ts +46 -0
- package/dist/runtime-hooks.js +95 -0
- package/dist/runtime-hooks.js.map +1 -0
- package/dist/runtime-lifecycle-watch.d.ts +5 -2
- package/dist/runtime-lifecycle-watch.js +19 -3
- package/dist/runtime-lifecycle-watch.js.map +1 -1
- package/dist/runtime-load-balancer.d.ts +12 -0
- package/dist/runtime-load-balancer.js +106 -0
- package/dist/runtime-load-balancer.js.map +1 -0
- package/dist/runtime-parent-actions.js +5 -0
- package/dist/runtime-parent-actions.js.map +1 -1
- package/dist/runtime-spawn-bridge.js +24 -0
- package/dist/runtime-spawn-bridge.js.map +1 -1
- package/dist/runtime-spawn-guidance.js +15 -46
- package/dist/runtime-spawn-guidance.js.map +1 -1
- package/dist/runtime-worker-registry.d.ts +19 -0
- package/dist/runtime-worker-registry.js +84 -0
- package/dist/runtime-worker-registry.js.map +1 -0
- package/dist/security/chat-guardrail-policy.d.ts +7 -0
- package/dist/security/chat-guardrail-policy.js +61 -0
- package/dist/security/chat-guardrail-policy.js.map +1 -0
- package/dist/security/chat-guardrail-types.d.ts +65 -0
- package/dist/security/chat-guardrail-types.js +2 -0
- package/dist/security/chat-guardrail-types.js.map +1 -0
- package/dist/security/chat-guardrail-validation.d.ts +9 -0
- package/dist/security/chat-guardrail-validation.js +64 -0
- package/dist/security/chat-guardrail-validation.js.map +1 -0
- package/dist/security/chat-guardrails.d.ts +3 -0
- package/dist/security/chat-guardrails.js +136 -0
- package/dist/security/chat-guardrails.js.map +1 -0
- package/dist/security/content-classifier.d.ts +2 -0
- package/dist/security/content-classifier.js +179 -0
- package/dist/security/content-classifier.js.map +1 -0
- package/dist/security/operation-contract-types.d.ts +28 -0
- package/dist/security/operation-contract-types.js +2 -0
- package/dist/security/operation-contract-types.js.map +1 -0
- package/dist/security/operation-contract.d.ts +2 -0
- package/dist/security/operation-contract.js +169 -0
- package/dist/security/operation-contract.js.map +1 -0
- package/dist/security/payment-card-detection.d.ts +3 -0
- package/dist/security/payment-card-detection.js +48 -0
- package/dist/security/payment-card-detection.js.map +1 -0
- package/dist/security/policy-engine.d.ts +2 -0
- package/dist/security/policy-engine.js +142 -0
- package/dist/security/policy-engine.js.map +1 -0
- package/dist/security/policy-types.d.ts +79 -0
- package/dist/security/policy-types.js +7 -0
- package/dist/security/policy-types.js.map +1 -0
- package/dist/security/prompt-intake.d.ts +13 -0
- package/dist/security/prompt-intake.js +33 -0
- package/dist/security/prompt-intake.js.map +1 -0
- package/dist/security/provider-egress-policy.d.ts +27 -0
- package/dist/security/provider-egress-policy.js +72 -0
- package/dist/security/provider-egress-policy.js.map +1 -0
- package/dist/security/public-api-auth.d.ts +20 -0
- package/dist/security/public-api-auth.js +55 -0
- package/dist/security/public-api-auth.js.map +1 -0
- package/dist/security/public-api-policy.d.ts +8 -0
- package/dist/security/public-api-policy.js +40 -0
- package/dist/security/public-api-policy.js.map +1 -0
- package/dist/security/redaction.d.ts +3 -0
- package/dist/security/redaction.js +95 -0
- package/dist/security/redaction.js.map +1 -0
- package/dist/security/restricted-content-quarantine.d.ts +17 -0
- package/dist/security/restricted-content-quarantine.js +50 -0
- package/dist/security/restricted-content-quarantine.js.map +1 -0
- package/dist/security/restricted-data-classifier.d.ts +9 -0
- package/dist/security/restricted-data-classifier.js +254 -0
- package/dist/security/restricted-data-classifier.js.map +1 -0
- package/dist/security/sink-encoding.d.ts +6 -0
- package/dist/security/sink-encoding.js +40 -0
- package/dist/security/sink-encoding.js.map +1 -0
- package/dist/skills-render.js +7 -14
- package/dist/skills-render.js.map +1 -1
- package/dist/sprint-commands.js +33 -22
- package/dist/sprint-commands.js.map +1 -1
- package/dist/telemetry-redaction.d.ts +2 -0
- package/dist/telemetry-redaction.js +25 -2
- package/dist/telemetry-redaction.js.map +1 -1
- package/dist/transcription-failures.d.ts +2 -0
- package/dist/transcription-failures.js +4 -0
- package/dist/transcription-failures.js.map +1 -0
- package/dist/transcription-media-preflight.d.ts +9 -0
- package/dist/transcription-media-preflight.js +147 -0
- package/dist/transcription-media-preflight.js.map +1 -0
- package/dist/transcription-request.d.ts +13 -0
- package/dist/transcription-request.js +150 -0
- package/dist/transcription-request.js.map +1 -0
- package/dist/transcription-source-policy.d.ts +4 -0
- package/dist/transcription-source-policy.js +43 -0
- package/dist/transcription-source-policy.js.map +1 -0
- package/dist/transcription-types.d.ts +161 -0
- package/dist/transcription-types.js +2 -0
- package/dist/transcription-types.js.map +1 -0
- package/dist/types/chat.d.ts +203 -0
- package/dist/types/chat.js +10 -0
- package/dist/types/chat.js.map +1 -0
- package/dist/types/model-config.d.ts +4 -0
- package/dist/types/public-api.d.ts +75 -0
- package/dist/types/public-api.js +2 -0
- package/dist/types/public-api.js.map +1 -0
- package/dist/types/restricted-data.d.ts +69 -0
- package/dist/types/restricted-data.js +8 -0
- package/dist/types/restricted-data.js.map +1 -0
- package/dist/types/restricted-fragment.d.ts +82 -0
- package/dist/types/restricted-fragment.js +14 -0
- package/dist/types/restricted-fragment.js.map +1 -0
- package/dist/types/runtime.d.ts +159 -0
- package/dist/types.d.ts +9 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/web-api.js +24 -0
- package/dist/web-api.js.map +1 -1
- package/dist/web-artifact-parsers.d.ts +6 -0
- package/dist/web-artifact-parsers.js +244 -0
- package/dist/web-artifact-parsers.js.map +1 -0
- package/dist/web-artifact-types.d.ts +76 -0
- package/dist/web-artifact-types.js +2 -0
- package/dist/web-artifact-types.js.map +1 -0
- package/dist/web-artifacts.d.ts +2 -43
- package/dist/web-artifacts.js +73 -58
- package/dist/web-artifacts.js.map +1 -1
- package/dist/web-chat-route-inputs.d.ts +11 -0
- package/dist/web-chat-route-inputs.js +156 -0
- package/dist/web-chat-route-inputs.js.map +1 -0
- package/dist/web-chat-routes.d.ts +7 -0
- package/dist/web-chat-routes.js +213 -0
- package/dist/web-chat-routes.js.map +1 -0
- package/dist/web-console/assets/index-CJup1cIA.css +1 -0
- package/dist/web-console/assets/index-CVDOfipu.js +11 -0
- package/dist/web-console/index.html +2 -2
- package/dist/web-evidence.d.ts +1 -1
- package/dist/web-evidence.js +9 -2
- package/dist/web-evidence.js.map +1 -1
- package/dist/web-public-route-inputs.d.ts +14 -0
- package/dist/web-public-route-inputs.js +136 -0
- package/dist/web-public-route-inputs.js.map +1 -0
- package/dist/web-public-routes.d.ts +6 -0
- package/dist/web-public-routes.js +194 -0
- package/dist/web-public-routes.js.map +1 -0
- package/dist/web-public-service.d.ts +16 -0
- package/dist/web-public-service.js +154 -0
- package/dist/web-public-service.js.map +1 -0
- package/dist/workflow-phase-planner.js +5 -3
- package/dist/workflow-phase-planner.js.map +1 -1
- package/dist/workflow-phases.js +5 -0
- package/dist/workflow-phases.js.map +1 -1
- package/dist/workflow-run-commands.js +89 -10
- package/dist/workflow-run-commands.js.map +1 -1
- package/dist/workflow-services.js +5 -0
- package/dist/workflow-services.js.map +1 -1
- package/dist/workspace-runtime-bootstrap.js +15 -4
- package/dist/workspace-runtime-bootstrap.js.map +1 -1
- package/docs/audio-video-transcription-skill.md +102 -70
- package/docs/chat-audit-retention.md +76 -0
- package/docs/chat-provider-provenance-ledger.md +75 -0
- package/docs/context-runtime-preprocessing.md +37 -0
- package/docs/orchestra-mvp.md +8 -2
- package/docs/public-api-contract.md +43 -0
- package/docs/release-test-matrix.md +14 -14
- package/docs/restricted-fragment-storage-contract.md +147 -0
- package/docs/runtime-adapters.md +47 -7
- package/docs/runtime-capacity.md +57 -0
- package/docs/security-saas-orchestrator.md +368 -0
- package/docs/site-manifest.json +128 -30
- package/package.json +5 -2
- package/site/dist/_headers +9 -0
- package/site/dist/_redirects +2 -0
- package/site/dist/architecture.mmd +61 -0
- package/site/dist/assets/index-Bi8l6tCE.js +10 -0
- package/site/dist/assets/index-BsCLqY__.css +1 -0
- package/site/dist/favicon.svg +19 -0
- package/site/dist/index.html +28 -0
- package/site/package.json +19 -0
- package/dist/web-console/assets/index-BHs7OIv8.css +0 -1
- package/dist/web-console/assets/index-BJuVTqfQ.js +0 -11
- package/dist/workspace-claude-settings.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,50 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 1.0.18 - 2026-06-04
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added a public model alias facade for the public API so `/api/v1/models`
|
|
10
|
+
exposes Orchestra-owned aliases while server-side routing can swap Ollama,
|
|
11
|
+
OpenAI, Anthropic, Gemini, or test providers without leaking provider
|
|
12
|
+
details. See [GH-506](https://github.com/jterratsdev/open-orchestra/issues/506).
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Active parent runtime is now declared by each agent through its
|
|
17
|
+
`UserPromptSubmit` hook via `orchestra health --runtime <id> --json`, which
|
|
18
|
+
persists the runtime to `.agent-workflow/active-runtime.json` (24h TTL).
|
|
19
|
+
`orchestra init --target claude` and `--target cursor` configure the hook
|
|
20
|
+
automatically; manual-setup guidance for Codex/VS Code/Windsurf documents the
|
|
21
|
+
same pattern.
|
|
22
|
+
- `selectRuntimeExecutionAdapter` precedence: `--runtime` flag, `policy.byTask`,
|
|
23
|
+
`policy.byRole`, `policy.defaults.executor` (when not `generic-runtime`),
|
|
24
|
+
`.agent-workflow/active-runtime.json`, `OPEN_ORCHESTRA_ACTIVE_RUNTIME`,
|
|
25
|
+
`generic-runtime`.
|
|
26
|
+
|
|
27
|
+
### Removed
|
|
28
|
+
|
|
29
|
+
- File-based runtime inference (`runtimeExecutorFromInstructionFiles`). Files
|
|
30
|
+
like `AGENTS.md` and `CLAUDE.md` indicate which runtimes a project supports,
|
|
31
|
+
not which one is active right now; using their `target=` attribute as a
|
|
32
|
+
signal caused workflow phases to emit `codex-cli` parent actions inside
|
|
33
|
+
Claude sessions whenever Codex's universal `AGENTS.md` coexisted with
|
|
34
|
+
Claude's `CLAUDE.md`. See [GH-513](https://github.com/jterratsdev/open-orchestra/issues/513).
|
|
35
|
+
- Per-tool environment detection (`CLAUDECODE`, `CLAUDE_CODE`,
|
|
36
|
+
`CODEX_THREAD_ID`, `CODEX_SANDBOX`, `CURSOR_TRACE_ID`, `CURSOR_AGENT`). These
|
|
37
|
+
env vars can coexist in nested or inherited sessions and produced arbitrary
|
|
38
|
+
precedence. The hook-driven `active-runtime.json` is now the truthful signal.
|
|
39
|
+
|
|
40
|
+
### Migration
|
|
41
|
+
|
|
42
|
+
- Re-run `orchestra init --target <runtime>` to refresh the hook command to
|
|
43
|
+
include `--runtime <id>`.
|
|
44
|
+
- For CI or non-hook environments, export `OPEN_ORCHESTRA_ACTIVE_RUNTIME=<id>`
|
|
45
|
+
or set `runtimePolicy.defaults.executor` in `.agent-workflow/config.json`.
|
|
46
|
+
- Workflows where the active runtime cannot be determined fall back to
|
|
47
|
+
`generic-runtime` (parent-agent inline mode) instead of guessing from files.
|
|
48
|
+
|
|
5
49
|
## 1.0.15 - 2026-05-29
|
|
6
50
|
|
|
7
51
|
### Added
|
package/CLAUDE.md
CHANGED
|
@@ -162,6 +162,7 @@ Do NOT start implementation without a registered task and workflow run. Use `orc
|
|
|
162
162
|
- Ask for **Backlog Item ID** first. Use Conventional Commits with backlog scope: `type(ID): short description`.
|
|
163
163
|
- Mark breaking changes with `!` and a `BREAKING CHANGE:` footer.
|
|
164
164
|
- Keep PRs <400 lines. Review your own diff before requesting review.
|
|
165
|
+
- **Never run `git push` without explicit user instruction.** Completing a task, finishing QA, or closing a workflow run does not authorize a push. Wait for the user to say so.
|
|
165
166
|
|
|
166
167
|
## Interaction Preferences
|
|
167
168
|
|
|
@@ -169,7 +170,7 @@ Do NOT start implementation without a registered task and workflow run. Use `orc
|
|
|
169
170
|
- Correct mistakes directly without apologizing.
|
|
170
171
|
- **No Ninja Edits.** Summarize proposed changes and get agreement before modifying files.
|
|
171
172
|
|
|
172
|
-
<!-- open-orchestra:start block-id="runtime-bootstrap" generator="open-orchestra runtime bootstrap" version="1" target="claude" source-manifest="open-orchestra command-manifest,runtime-bootstrap" content-sha256="
|
|
173
|
+
<!-- open-orchestra:start block-id="runtime-bootstrap" generator="open-orchestra runtime bootstrap" version="1" target="claude" source-manifest="open-orchestra command-manifest,runtime-bootstrap" content-sha256="e4280ced751d55bf2df6108a94246ad09e2d21f05e14e8f9f11d4a38e30f455e" updated-at="2026-06-02T02:49:15.257Z" -->
|
|
173
174
|
# Open Orchestra Runtime Bootstrap
|
|
174
175
|
|
|
175
176
|
Runtime target: Claude. Reference compact Open Orchestra blocks from CLAUDE.md and load task skills on demand.
|
|
@@ -198,12 +199,15 @@ Use the correct owner role for the type of work:
|
|
|
198
199
|
```
|
|
199
200
|
orchestra estimate --task <ID> --sizing <xs|s|m|l|xl> --solo-days <N> --ai-unguided-days <N> --ai-guided-days <N>
|
|
200
201
|
```
|
|
202
|
+
Do not run `orchestra workflow run` until this estimate is recorded; an unestimated task signals incomplete planning.
|
|
201
203
|
|
|
202
204
|
### Step 3 — Run the autonomous workflow
|
|
203
205
|
```
|
|
204
206
|
orchestra workflow run --task <ID> --gates phase
|
|
205
207
|
```
|
|
206
208
|
The workflow sequences PM → PO → Architect → Developer → QA → Release.
|
|
209
|
+
The agent (Claude Code) is responsible for executing every phase in sequence — acting as PM, then PO, then Architect, then Developer, then QA, then Release — before marking work complete.
|
|
210
|
+
Never pass `--from-phase`, `--skip-phases`, or any phase-shortcut flag. If a phase seems irrelevant, record a bypass rationale with `orchestra validate --pre-run --task <ID> --bypass --bypass-rationale "..."` instead.
|
|
207
211
|
Gates pause at `po→architect` and `qa→release` for human review.
|
|
208
212
|
The architect phase requires a sizing decision before proceeding:
|
|
209
213
|
```
|
|
@@ -222,6 +226,7 @@ Each phase routes work to the right role. Pass your comments, requirements, or c
|
|
|
222
226
|
```
|
|
223
227
|
orchestra workflow run --task <ID> --resume <run-id>
|
|
224
228
|
```
|
|
229
|
+
At a `po→architect` or `qa→release` gate, stop work, surface the handoff artifact to the user, and wait for explicit approval before resuming — do not self-approve or continue autonomously.
|
|
225
230
|
Gate approval is not automatic. Before approving `po→architect`, verify the GitHub issue or Orchestra task has user-validated acceptance criteria, non-goals, assumptions, priority, and sizing context.
|
|
226
231
|
Before approving `qa→release`, verify real implementation evidence exists: changed files, exact validation commands, test results, QA findings, BA/PO acceptance, and Architect review when technical contracts changed.
|
|
227
232
|
If a generated handoff says `Acceptance Criteria: none`, treat it as incomplete. Pull criteria from the linked issue/task, record a review finding, and do not approve release until the gap is fixed or explicitly risk-accepted.
|
|
@@ -230,6 +235,7 @@ If a generated handoff says `Acceptance Criteria: none`, treat it as incomplete.
|
|
|
230
235
|
```
|
|
231
236
|
orchestra benchmark --task <ID>
|
|
232
237
|
```
|
|
238
|
+
A task is not complete until `orchestra benchmark` has run. Do not close the task or mark it done beforehand.
|
|
233
239
|
|
|
234
240
|
## Active Work
|
|
235
241
|
- At session start, run `orchestra health --json` before implementation or file edits.
|
|
@@ -237,11 +243,13 @@ orchestra benchmark --task <ID>
|
|
|
237
243
|
- For the active task, run context, delegation, plan, skills, protocol, and workflow render commands.
|
|
238
244
|
- Run `orchestra validate --pre-run --task <ID> --json` before implementation; resolve missing estimate, workflow run, evidence, or review checks.
|
|
239
245
|
- If a user accepts a smaller/advisory path, record it with `orchestra validate --pre-run --task <ID> --bypass --bypass-rationale "..."`.
|
|
246
|
+
- After `orchestra workflow run` completes a phase or reports a pending action, immediately run `orchestra runtime parent-actions --task <ID> --json` and dispatch any actionable `claude-agent-request` items before continuing.
|
|
247
|
+
- Claude recurring preflight: after each phase completes, after a subagent returns, and after any context compaction or session resume, rerun `orchestra health --json` and `orchestra validate --pre-run --task <ID> --json` before continuing.
|
|
248
|
+
- Treat a non-empty `missingActiveContext` or missing workflow run as a signal to re-register or resume the workflow before editing files.
|
|
240
249
|
|
|
241
250
|
## Runtime-Native Background Spawn
|
|
242
251
|
- When a workflow phase returns `completionMode=detached`, keep the parent conversation available and do not block on the child unless the user explicitly asks to wait.
|
|
243
252
|
- After `orchestra workflow run` reports a pending parent runtime action, immediately inspect `orchestra runtime parent-actions --task <ID> --json` and consume safe actions supported by the active runtime.
|
|
244
|
-
- Codex parent runtimes should call `spawn_agent` for `codex-spawn-agent` actions using the `promptArtifact`, then record `spawned` with the returned agent id.
|
|
245
253
|
- Do not auto-consume actions when the user explicitly asked to pause, when the action is queued, or when the runtime/tool is unavailable or unsafe.
|
|
246
254
|
- Use `orchestra runtime spawn-request --task <ID> --role <role> --phase <phase> --run-id <run-id>` to render the assignment packet.
|
|
247
255
|
- Record child state with `orchestra runtime spawn-lifecycle --session <session-id> --status <spawned|active|completed|failed> --agent-id <id>`.
|
|
@@ -249,6 +257,21 @@ orchestra benchmark --task <ID>
|
|
|
249
257
|
- Claude Code parent runtimes should launch the rendered packet with the native Agent/Subagent tool; use Task only when that is the exposed legacy alias.
|
|
250
258
|
- Prefer a role-named Claude subagent and record the resulting id or label in spawn lifecycle.
|
|
251
259
|
|
|
260
|
+
### Claude Subagent Delegation — Exact Sequence
|
|
261
|
+
|
|
262
|
+
When the user asks to delegate, or a workflow phase requires a subagent, follow this sequence without skipping steps:
|
|
263
|
+
|
|
264
|
+
1. `orchestra workflow run --task <ID> --gates phase` — generates the spawn packet and session id.
|
|
265
|
+
2. `orchestra runtime parent-actions --task <ID> --json` — inspect pending `claude-agent-request` actions.
|
|
266
|
+
3. Read the `payload.promptArtifact` file from the action — this is the subagent prompt.
|
|
267
|
+
4. Launch a subagent using the native **Agent** tool with the prompt artifact content as the prompt.
|
|
268
|
+
5. `orchestra runtime spawn-lifecycle --session <sessionId> --status spawned --agent-id <label>` — record the child.
|
|
269
|
+
6. After the subagent writes its handoff artifact, run: `orchestra runtime parent-actions --task <ID> --dispatch --runtime claude-cli --until-idle` — this auto-detects completion and promotes queued sessions.
|
|
270
|
+
7. `orchestra workflow run --task <ID> --resume <run-id>` — advance the workflow to the next phase.
|
|
271
|
+
|
|
272
|
+
**Never skip step 1.** The session id, spawn packet, and expected handoff path come from `orchestra workflow run`. Do not invent child context or launch subagents with ad-hoc prompts outside this sequence.
|
|
273
|
+
After the developer subagent completes, run `orchestra workflow run --task <ID> --resume <run-id>` to drive the QA phase; do not mark work done until QA evidence is recorded and the `qa→release` gate has been surfaced to the user.
|
|
274
|
+
|
|
252
275
|
## Task Loop
|
|
253
276
|
- `orchestra health` - Check local tools and workflow readiness.
|
|
254
277
|
- `orchestra task list` - List local workflow tasks. Workflow phase subtasks are hidden by default.
|
package/README.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# Open Orchestra
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
AI-assisted development gets messy fast: prompts drift, context is assembled by
|
|
4
|
+
hand, and evidence is often reconstructed after the fact.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
Open Orchestra gives Codex, Claude Code, Cursor, and agentic CLIs a repeatable
|
|
7
|
+
delivery workflow. Register a task, run the workflow, and Orchestra selects the
|
|
8
|
+
right playbook, injects structured context into the agent, records handoffs and
|
|
9
|
+
evidence, and leaves a resumable audit trail. The public CLI is `orchestra`.
|
|
6
10
|
|
|
7
11
|
Package naming: install `@jterrats/open-orchestra`; run the CLI as
|
|
8
12
|
`orchestra`. The shorter `@jterrats/orchestra` package is not the canonical
|
|
@@ -10,23 +14,30 @@ published install target.
|
|
|
10
14
|
|
|
11
15
|
## Quick Start
|
|
12
16
|
|
|
13
|
-
### First
|
|
17
|
+
### Individual Mode: First Value In Minutes
|
|
14
18
|
|
|
15
19
|
```bash
|
|
16
20
|
npm install -g @jterrats/open-orchestra
|
|
17
21
|
orchestra init
|
|
18
|
-
orchestra health --json
|
|
19
22
|
orchestra task add --id DEMO-001 --title "Ship a governed README update" --owner developer --paths "README.md"
|
|
20
23
|
orchestra workflow run --task DEMO-001 --gates none
|
|
21
24
|
orchestra status
|
|
22
|
-
orchestra release candidate --dry-run --json
|
|
23
25
|
```
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
release-candidate preview in under ten minutes, without configuring provider
|
|
27
|
-
credentials or learning every gate type.
|
|
27
|
+
What happens automatically:
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
- Orchestra scores and selects a workflow template for the task.
|
|
30
|
+
- The active agent receives task-scoped context: role, paths, acceptance
|
|
31
|
+
criteria, risks, evidence expectations, and relevant skills.
|
|
32
|
+
- The run creates durable phase artifacts, handoffs, reviews, and evidence in
|
|
33
|
+
`.agent-workflow/`.
|
|
34
|
+
- Benchmark data can compare solo, AI-unguided, and AI-guided effort after the
|
|
35
|
+
task is complete.
|
|
36
|
+
|
|
37
|
+
Use this path when you are one developer working quickly and still want a
|
|
38
|
+
repeatable trail instead of one-off prompts.
|
|
39
|
+
|
|
40
|
+
### Team Mode: Human Gates And Release Readiness
|
|
30
41
|
|
|
31
42
|
```bash
|
|
32
43
|
orchestra task add --id STORY-001 --title "Ship a governed change" --owner product_owner --paths "README.md"
|
|
@@ -38,6 +49,16 @@ orchestra review --task STORY-001 --role qa --result approve --findings "Accepta
|
|
|
38
49
|
orchestra release check --json
|
|
39
50
|
```
|
|
40
51
|
|
|
52
|
+
Use `--gates phase` when PO, architecture, QA, or release decisions need human
|
|
53
|
+
review. Use `--gates all` for regulated or high-risk work that must pause at
|
|
54
|
+
every phase transition.
|
|
55
|
+
|
|
56
|
+
Prefer a visual workflow? Start the local console with:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
orchestra web
|
|
60
|
+
```
|
|
61
|
+
|
|
41
62
|
Stable installs use `npm install -g @jterrats/open-orchestra@latest`. Beta
|
|
42
63
|
dogfooding uses `npm install -g @jterrats/open-orchestra@beta`, followed by:
|
|
43
64
|
|
|
@@ -93,6 +114,8 @@ management.
|
|
|
93
114
|
For package naming rules, see [docs/package-naming.md](docs/package-naming.md).
|
|
94
115
|
For tracker fallback behavior when `gh` is unavailable, see
|
|
95
116
|
[docs/tracker-adapter-contract.md](docs/tracker-adapter-contract.md).
|
|
117
|
+
For the local, SaaS, and orchestrator threat model, see
|
|
118
|
+
[docs/security-saas-orchestrator.md](docs/security-saas-orchestrator.md).
|
|
96
119
|
For the 1.0.0 documentation path across install, workflow, providers,
|
|
97
120
|
trackers, web console, release operations, troubleshooting, and migration, see
|
|
98
121
|
[docs/adoption-guide.md](docs/adoption-guide.md).
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RuntimeExecutionId } from "./types.js";
|
|
2
|
+
export declare const ACTIVE_RUNTIME_TTL_MS: number;
|
|
3
|
+
export interface ActiveRuntimeRecord {
|
|
4
|
+
runtime: RuntimeExecutionId;
|
|
5
|
+
updatedAt: string;
|
|
6
|
+
writer: "hook" | "cli" | string;
|
|
7
|
+
}
|
|
8
|
+
export interface ActiveRuntimeReadResult {
|
|
9
|
+
record?: ActiveRuntimeRecord;
|
|
10
|
+
status: "missing" | "stale" | "fresh" | "corrupted";
|
|
11
|
+
}
|
|
12
|
+
export declare function activeRuntimePath(root: string): string;
|
|
13
|
+
export declare function isActiveRuntimeFresh(record: ActiveRuntimeRecord, now?: number, ttlMs?: number): boolean;
|
|
14
|
+
export declare function readActiveRuntime(root: string, now?: number, ttlMs?: number): Promise<ActiveRuntimeReadResult>;
|
|
15
|
+
export declare function writeActiveRuntime(root: string, runtime: RuntimeExecutionId, options?: {
|
|
16
|
+
writer?: string;
|
|
17
|
+
now?: number;
|
|
18
|
+
}): Promise<ActiveRuntimeRecord>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { ACTIVE_RUNTIME_FILE, WORKFLOW_DIR } from "./constants.js";
|
|
4
|
+
import { ensureDir, exists } from "./fs-utils.js";
|
|
5
|
+
import { parseRuntimeExecutionId } from "./runtime-adapters.js";
|
|
6
|
+
export const ACTIVE_RUNTIME_TTL_MS = 24 * 60 * 60 * 1000;
|
|
7
|
+
export function activeRuntimePath(root) {
|
|
8
|
+
return path.join(root, WORKFLOW_DIR, ACTIVE_RUNTIME_FILE);
|
|
9
|
+
}
|
|
10
|
+
export function isActiveRuntimeFresh(record, now = Date.now(), ttlMs = ACTIVE_RUNTIME_TTL_MS) {
|
|
11
|
+
const updatedAtMs = Date.parse(record.updatedAt);
|
|
12
|
+
if (Number.isNaN(updatedAtMs))
|
|
13
|
+
return false;
|
|
14
|
+
return now - updatedAtMs <= ttlMs;
|
|
15
|
+
}
|
|
16
|
+
export async function readActiveRuntime(root, now = Date.now(), ttlMs = ACTIVE_RUNTIME_TTL_MS) {
|
|
17
|
+
const filePath = activeRuntimePath(root);
|
|
18
|
+
if (!(await exists(filePath))) {
|
|
19
|
+
return { status: "missing" };
|
|
20
|
+
}
|
|
21
|
+
const raw = await readFile(filePath, "utf8").catch(() => "");
|
|
22
|
+
if (!raw.trim())
|
|
23
|
+
return { status: "missing" };
|
|
24
|
+
let parsed;
|
|
25
|
+
try {
|
|
26
|
+
parsed = JSON.parse(raw);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return { status: "corrupted" };
|
|
30
|
+
}
|
|
31
|
+
if (!isActiveRuntimeRecordShape(parsed)) {
|
|
32
|
+
return { status: "corrupted" };
|
|
33
|
+
}
|
|
34
|
+
const record = {
|
|
35
|
+
runtime: parsed.runtime,
|
|
36
|
+
updatedAt: parsed.updatedAt,
|
|
37
|
+
writer: parsed.writer ?? "hook",
|
|
38
|
+
};
|
|
39
|
+
if (!isActiveRuntimeFresh(record, now, ttlMs)) {
|
|
40
|
+
return { record, status: "stale" };
|
|
41
|
+
}
|
|
42
|
+
return { record, status: "fresh" };
|
|
43
|
+
}
|
|
44
|
+
export async function writeActiveRuntime(root, runtime, options = {}) {
|
|
45
|
+
parseRuntimeExecutionId(runtime);
|
|
46
|
+
const record = {
|
|
47
|
+
runtime,
|
|
48
|
+
updatedAt: new Date(options.now ?? Date.now()).toISOString(),
|
|
49
|
+
writer: options.writer ?? "hook",
|
|
50
|
+
};
|
|
51
|
+
const filePath = activeRuntimePath(root);
|
|
52
|
+
await ensureDir(path.dirname(filePath));
|
|
53
|
+
await writeFile(filePath, `${JSON.stringify(record, null, 2)}\n`, "utf8");
|
|
54
|
+
return record;
|
|
55
|
+
}
|
|
56
|
+
function isActiveRuntimeRecordShape(value) {
|
|
57
|
+
if (!value || typeof value !== "object")
|
|
58
|
+
return false;
|
|
59
|
+
const candidate = value;
|
|
60
|
+
if (typeof candidate.runtime !== "string")
|
|
61
|
+
return false;
|
|
62
|
+
if (typeof candidate.updatedAt !== "string")
|
|
63
|
+
return false;
|
|
64
|
+
if (candidate.writer !== undefined && typeof candidate.writer !== "string") {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
parseRuntimeExecutionId(candidate.runtime);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=active-runtime-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-runtime-store.js","sourceRoot":"","sources":["../src/active-runtime-store.ts"],"names":[],"mappings":"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"}
|
package/dist/benchmark.js
CHANGED
|
@@ -179,24 +179,7 @@ export async function computeBenchmark(root, taskId) {
|
|
|
179
179
|
timing: timestampActual,
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
|
-
return
|
|
183
|
-
taskId,
|
|
184
|
-
sizingLabel: estimate.sizingLabel,
|
|
185
|
-
soloEstimateDays: estimate.soloEstimateDays,
|
|
186
|
-
aiUnguidedEstimateDays: estimate.aiUnguidedEstimateDays,
|
|
187
|
-
aiGuidedEstimateDays: estimate.aiGuidedEstimateDays,
|
|
188
|
-
actualSource: "none",
|
|
189
|
-
actualDays: null,
|
|
190
|
-
actualHours: null,
|
|
191
|
-
vsSoloPct: null,
|
|
192
|
-
vsAiUnguidedPct: null,
|
|
193
|
-
vsAiGuidedPct: null,
|
|
194
|
-
qaIterations: 0,
|
|
195
|
-
phaseDurations: [],
|
|
196
|
-
effortBreakdown: pendingEffortBreakdown(estimate),
|
|
197
|
-
quality,
|
|
198
|
-
status: "pending",
|
|
199
|
-
};
|
|
182
|
+
return pendingBenchmarkResult(taskId, estimate, quality);
|
|
200
183
|
}
|
|
201
184
|
// Compute actual cycle time from first phase start to release phase completion
|
|
202
185
|
const startedPhase = taskRun.phases[0];
|
|
@@ -207,12 +190,32 @@ export async function computeBenchmark(root, taskId) {
|
|
|
207
190
|
const completedAt = releasedPhase?.completedAt
|
|
208
191
|
? new Date(releasedPhase.completedAt).getTime()
|
|
209
192
|
: null;
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
193
|
+
const workflowDurationMs = startedAt !== null && completedAt !== null ? completedAt - startedAt : null;
|
|
194
|
+
if (workflowDurationMs === null || workflowDurationMs <= 0) {
|
|
195
|
+
const lifecycleActual = await computeTaskLifecycleDuration(root, taskId);
|
|
196
|
+
if (lifecycleActual !== null) {
|
|
197
|
+
return benchmarkFromTaskDuration({
|
|
198
|
+
estimate,
|
|
199
|
+
quality,
|
|
200
|
+
source: "task-lifecycle",
|
|
201
|
+
taskId,
|
|
202
|
+
timing: lifecycleActual,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
const timestampActual = await computeTaskTimestampDuration(root, taskId);
|
|
206
|
+
if (timestampActual !== null) {
|
|
207
|
+
return benchmarkFromTaskDuration({
|
|
208
|
+
estimate,
|
|
209
|
+
quality,
|
|
210
|
+
source: "task-timestamps",
|
|
211
|
+
taskId,
|
|
212
|
+
timing: timestampActual,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
return pendingBenchmarkResult(taskId, estimate, quality);
|
|
216
|
+
}
|
|
217
|
+
const actualDays = durationParts(workflowDurationMs).days;
|
|
218
|
+
const actualHours = durationParts(workflowDurationMs).hours;
|
|
216
219
|
const phaseDurations = taskRun.phases.map((phase) => {
|
|
217
220
|
const phaseStartedAt = new Date(phase.startedAt).getTime();
|
|
218
221
|
const phaseCompletedAt = phase.completedAt
|
|
@@ -256,6 +259,26 @@ export async function computeBenchmark(root, taskId) {
|
|
|
256
259
|
status: "complete",
|
|
257
260
|
};
|
|
258
261
|
}
|
|
262
|
+
function pendingBenchmarkResult(taskId, estimate, quality) {
|
|
263
|
+
return {
|
|
264
|
+
taskId,
|
|
265
|
+
sizingLabel: estimate.sizingLabel,
|
|
266
|
+
soloEstimateDays: estimate.soloEstimateDays,
|
|
267
|
+
aiUnguidedEstimateDays: estimate.aiUnguidedEstimateDays,
|
|
268
|
+
aiGuidedEstimateDays: estimate.aiGuidedEstimateDays,
|
|
269
|
+
actualSource: "none",
|
|
270
|
+
actualDays: null,
|
|
271
|
+
actualHours: null,
|
|
272
|
+
vsSoloPct: null,
|
|
273
|
+
vsAiUnguidedPct: null,
|
|
274
|
+
vsAiGuidedPct: null,
|
|
275
|
+
qaIterations: 0,
|
|
276
|
+
phaseDurations: [],
|
|
277
|
+
effortBreakdown: pendingEffortBreakdown(estimate),
|
|
278
|
+
quality,
|
|
279
|
+
status: "pending",
|
|
280
|
+
};
|
|
281
|
+
}
|
|
259
282
|
async function computeTaskLifecycleDuration(root, taskId) {
|
|
260
283
|
const workspace = await loadWorkspace(root);
|
|
261
284
|
const task = workspace.tasks.find((candidate) => candidate.id === taskId);
|
|
@@ -275,6 +298,9 @@ async function computeTaskLifecycleDuration(root, taskId) {
|
|
|
275
298
|
if (!Number.isFinite(startedTime) || !Number.isFinite(doneTime)) {
|
|
276
299
|
return null;
|
|
277
300
|
}
|
|
301
|
+
if (doneTime <= startedTime) {
|
|
302
|
+
return null;
|
|
303
|
+
}
|
|
278
304
|
return durationParts(doneTime - startedTime);
|
|
279
305
|
}
|
|
280
306
|
function benchmarkFromTaskDuration({ estimate, quality, source, taskId, timing, }) {
|
|
@@ -311,18 +337,30 @@ async function computeTaskTimestampDuration(root, taskId) {
|
|
|
311
337
|
if (!Number.isFinite(claimedTime) || !Number.isFinite(doneTime)) {
|
|
312
338
|
return null;
|
|
313
339
|
}
|
|
340
|
+
if (doneTime <= claimedTime) {
|
|
341
|
+
return null;
|
|
342
|
+
}
|
|
314
343
|
return durationParts(doneTime - claimedTime);
|
|
315
344
|
}
|
|
316
345
|
function estimateDeltaPct(actualDays, estimateDays) {
|
|
317
|
-
|
|
346
|
+
const rounded = Math.round(((actualDays - estimateDays) / estimateDays) * 100);
|
|
347
|
+
if (actualDays > 0 && rounded <= -100) {
|
|
348
|
+
return -99;
|
|
349
|
+
}
|
|
350
|
+
return rounded;
|
|
318
351
|
}
|
|
319
352
|
function durationParts(durationMs) {
|
|
320
353
|
const safeMs = Math.max(0, durationMs);
|
|
321
354
|
return {
|
|
322
|
-
days:
|
|
323
|
-
hours:
|
|
355
|
+
days: roundDurationUnit(safeMs / MS_PER_DAY, 100),
|
|
356
|
+
hours: roundDurationUnit(safeMs / MS_PER_HOUR, 10000),
|
|
324
357
|
};
|
|
325
358
|
}
|
|
359
|
+
function roundDurationUnit(value, precision) {
|
|
360
|
+
if (value <= 0)
|
|
361
|
+
return 0;
|
|
362
|
+
return Math.max(1 / precision, Math.round(value * precision) / precision);
|
|
363
|
+
}
|
|
326
364
|
async function computeQualitySignals(root, taskId) {
|
|
327
365
|
const events = await readEvents(root);
|
|
328
366
|
const taskEvents = events.filter((e) => e.taskId === taskId);
|
package/dist/benchmark.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare class ChatApiError extends Error {
|
|
2
|
+
readonly code: string;
|
|
3
|
+
readonly status: number;
|
|
4
|
+
readonly requestId: string;
|
|
5
|
+
readonly retryable: boolean;
|
|
6
|
+
constructor(code: string, message: string, status: number, requestId: string, retryable?: boolean);
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class ChatApiError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
status;
|
|
4
|
+
requestId;
|
|
5
|
+
retryable;
|
|
6
|
+
constructor(code, message, status, requestId, retryable = false) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = "ChatApiError";
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.status = status;
|
|
11
|
+
this.requestId = requestId;
|
|
12
|
+
this.retryable = retryable;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=chat-api-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-api-errors.js","sourceRoot":"","sources":["../src/chat-api-errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IACb,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,SAAS,CAAU;IAE5B,YACE,IAAY,EACZ,OAAe,EACf,MAAc,EACd,SAAiB,EACjB,SAAS,GAAG,KAAK;QAEjB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ChatStorage } from "./chat-storage.js";
|
|
2
|
+
import type { ChatApiSuccess, ChatMessageInput } from "./chat-api-types.js";
|
|
3
|
+
import type { ChatMessage } from "./types/chat.js";
|
|
4
|
+
export declare function persistChatMessage(input: {
|
|
5
|
+
storage: ChatStorage;
|
|
6
|
+
now: () => string;
|
|
7
|
+
message: ChatMessageInput;
|
|
8
|
+
action: "messagePersist" | "providerMessage";
|
|
9
|
+
}): Promise<{
|
|
10
|
+
message: ChatMessage;
|
|
11
|
+
meta: ChatApiSuccess<ChatMessage>["meta"];
|
|
12
|
+
}>;
|