@terreno/mcp 57.8.0 → 57.10.1

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.
Files changed (115) hide show
  1. package/dist/docs/upgrades/57.10.1.md +54 -0
  2. package/dist/docs/upgrades/57.9.0.md +28 -0
  3. package/dist/docs/versioned/next/README.md +1 -0
  4. package/dist/docs/versioned/next/explanation/README.md +4 -0
  5. package/dist/docs/versioned/next/explanation/admin-plugin-frontend.md +2 -2
  6. package/dist/docs/versioned/next/explanation/agent-ui-asks.md +299 -0
  7. package/dist/docs/versioned/next/explanation/agent-ui-blocks.md +67 -0
  8. package/dist/docs/versioned/next/explanation/ai-observability.md +101 -0
  9. package/dist/docs/versioned/next/explanation/charts.md +12 -0
  10. package/dist/docs/versioned/next/explanation/durable-agent-harness.md +531 -0
  11. package/dist/docs/versioned/next/explanation/example-coverage.md +4 -2
  12. package/dist/docs/versioned/next/explanation/loop-engineering.md +1 -1
  13. package/dist/docs/versioned/next/explanation/roadmap-seed-issues.md +49 -1
  14. package/dist/docs/versioned/next/explanation/typescript-configuration.md +1 -1
  15. package/dist/docs/versioned/next/explanation/versioning-policy.md +1 -1
  16. package/dist/docs/versioned/next/how-to/README.md +7 -1
  17. package/dist/docs/versioned/next/how-to/admin-import-prebuilt.md +1 -1
  18. package/dist/docs/versioned/next/how-to/agent-ui-asks.md +730 -0
  19. package/dist/docs/versioned/next/how-to/agent-ui-blocks.md +104 -0
  20. package/dist/docs/versioned/next/how-to/ai-feature-development.md +156 -0
  21. package/dist/docs/versioned/next/how-to/build-a-durable-workflow.md +232 -0
  22. package/dist/docs/versioned/next/how-to/charts-and-dashboards.md +7 -0
  23. package/dist/docs/versioned/next/how-to/circleci.md +9 -6
  24. package/dist/docs/versioned/next/how-to/compare-chart-rendered-snapshots.md +8 -0
  25. package/dist/docs/versioned/next/how-to/install-agent-skills.md +1 -1
  26. package/dist/docs/versioned/next/how-to/observe-llm-calls.md +197 -0
  27. package/dist/docs/versioned/next/how-to/run-tests-locally.md +2 -1
  28. package/dist/docs/versioned/next/how-to/ship-a-new-task-version.md +76 -0
  29. package/dist/docs/versioned/next/how-to/upgrade-terreno.md +1 -1
  30. package/dist/docs/versioned/next/implementationPlans/agent-ui-asks.md +688 -0
  31. package/dist/docs/versioned/next/implementationPlans/agent-ui-blocks.md +10 -6
  32. package/dist/docs/versioned/next/implementationPlans/ai-observability.md +475 -157
  33. package/dist/docs/versioned/next/implementationPlans/b2b-platform-program.md +1 -1
  34. package/dist/docs/versioned/next/implementationPlans/charts-and-dashboards.md +3 -2
  35. package/dist/docs/versioned/next/implementationPlans/dashboard-chart-parity.md +275 -0
  36. package/dist/docs/versioned/next/implementationPlans/durable-agent-harness.md +340 -0
  37. package/dist/docs/versioned/next/implementationPlans/terreno-langfuse-integration.md +1 -1
  38. package/dist/docs/versioned/next/reference/README.md +3 -0
  39. package/dist/docs/versioned/next/reference/admin-config.md +2 -0
  40. package/dist/docs/versioned/next/reference/admin-frontend.md +216 -0
  41. package/dist/docs/versioned/next/reference/agent-ui-asks.md +1059 -0
  42. package/dist/docs/versioned/next/reference/ai-harness.md +1881 -0
  43. package/dist/docs/versioned/next/reference/ai.md +283 -28
  44. package/dist/docs/versioned/next/reference/api.md +46 -0
  45. package/dist/docs/versioned/next/reference/blocks.md +178 -0
  46. package/dist/docs/versioned/next/reference/environment-variables.md +2 -1
  47. package/dist/docs/versioned/next/reference/feature-flags.md +1 -1
  48. package/dist/docs/versioned/next/reference/mcp-server.md +17 -0
  49. package/dist/docs/versioned/next/reference/test.md +11 -2
  50. package/dist/docs/versioned/next/reference/ui.md +418 -11
  51. package/dist/docs/versioned/next/tasks/agent-ui-asks.md +213 -0
  52. package/dist/docs/versioned/next/tasks/agent-ui-blocks.md +2 -1
  53. package/dist/docs/versioned/next/tasks/ai-observability.md +233 -104
  54. package/dist/docs/versioned/next/tasks/dashboard-chart-parity.md +145 -0
  55. package/dist/docs/versioned/next/tasks/durable-agent-harness.md +183 -0
  56. package/dist/tools.d.ts +4 -0
  57. package/dist/tools.d.ts.map +1 -1
  58. package/dist/tools.js +37 -0
  59. package/dist/tools.js.map +1 -1
  60. package/package.json +3 -2
  61. package/src/docs/upgrades/57.10.1.md +54 -0
  62. package/src/docs/upgrades/57.9.0.md +28 -0
  63. package/src/docs/versioned/next/README.md +1 -0
  64. package/src/docs/versioned/next/explanation/README.md +4 -0
  65. package/src/docs/versioned/next/explanation/admin-plugin-frontend.md +2 -2
  66. package/src/docs/versioned/next/explanation/agent-ui-asks.md +299 -0
  67. package/src/docs/versioned/next/explanation/agent-ui-blocks.md +67 -0
  68. package/src/docs/versioned/next/explanation/ai-observability.md +101 -0
  69. package/src/docs/versioned/next/explanation/charts.md +12 -0
  70. package/src/docs/versioned/next/explanation/durable-agent-harness.md +531 -0
  71. package/src/docs/versioned/next/explanation/example-coverage.md +4 -2
  72. package/src/docs/versioned/next/explanation/loop-engineering.md +1 -1
  73. package/src/docs/versioned/next/explanation/roadmap-seed-issues.md +49 -1
  74. package/src/docs/versioned/next/explanation/typescript-configuration.md +1 -1
  75. package/src/docs/versioned/next/explanation/versioning-policy.md +1 -1
  76. package/src/docs/versioned/next/how-to/README.md +7 -1
  77. package/src/docs/versioned/next/how-to/admin-import-prebuilt.md +1 -1
  78. package/src/docs/versioned/next/how-to/agent-ui-asks.md +730 -0
  79. package/src/docs/versioned/next/how-to/agent-ui-blocks.md +104 -0
  80. package/src/docs/versioned/next/how-to/ai-feature-development.md +156 -0
  81. package/src/docs/versioned/next/how-to/build-a-durable-workflow.md +232 -0
  82. package/src/docs/versioned/next/how-to/charts-and-dashboards.md +7 -0
  83. package/src/docs/versioned/next/how-to/circleci.md +9 -6
  84. package/src/docs/versioned/next/how-to/compare-chart-rendered-snapshots.md +8 -0
  85. package/src/docs/versioned/next/how-to/install-agent-skills.md +1 -1
  86. package/src/docs/versioned/next/how-to/observe-llm-calls.md +197 -0
  87. package/src/docs/versioned/next/how-to/run-tests-locally.md +2 -1
  88. package/src/docs/versioned/next/how-to/ship-a-new-task-version.md +76 -0
  89. package/src/docs/versioned/next/how-to/upgrade-terreno.md +1 -1
  90. package/src/docs/versioned/next/implementationPlans/agent-ui-asks.md +688 -0
  91. package/src/docs/versioned/next/implementationPlans/agent-ui-blocks.md +10 -6
  92. package/src/docs/versioned/next/implementationPlans/ai-observability.md +475 -157
  93. package/src/docs/versioned/next/implementationPlans/b2b-platform-program.md +1 -1
  94. package/src/docs/versioned/next/implementationPlans/charts-and-dashboards.md +3 -2
  95. package/src/docs/versioned/next/implementationPlans/dashboard-chart-parity.md +275 -0
  96. package/src/docs/versioned/next/implementationPlans/durable-agent-harness.md +340 -0
  97. package/src/docs/versioned/next/implementationPlans/terreno-langfuse-integration.md +1 -1
  98. package/src/docs/versioned/next/reference/README.md +3 -0
  99. package/src/docs/versioned/next/reference/admin-config.md +2 -0
  100. package/src/docs/versioned/next/reference/admin-frontend.md +216 -0
  101. package/src/docs/versioned/next/reference/agent-ui-asks.md +1059 -0
  102. package/src/docs/versioned/next/reference/ai-harness.md +1881 -0
  103. package/src/docs/versioned/next/reference/ai.md +283 -28
  104. package/src/docs/versioned/next/reference/api.md +46 -0
  105. package/src/docs/versioned/next/reference/blocks.md +178 -0
  106. package/src/docs/versioned/next/reference/environment-variables.md +2 -1
  107. package/src/docs/versioned/next/reference/feature-flags.md +1 -1
  108. package/src/docs/versioned/next/reference/mcp-server.md +17 -0
  109. package/src/docs/versioned/next/reference/test.md +11 -2
  110. package/src/docs/versioned/next/reference/ui.md +418 -11
  111. package/src/docs/versioned/next/tasks/agent-ui-asks.md +213 -0
  112. package/src/docs/versioned/next/tasks/agent-ui-blocks.md +2 -1
  113. package/src/docs/versioned/next/tasks/ai-observability.md +233 -104
  114. package/src/docs/versioned/next/tasks/dashboard-chart-parity.md +145 -0
  115. package/src/docs/versioned/next/tasks/durable-agent-harness.md +183 -0
@@ -0,0 +1,183 @@
1
+ # Tasks: Durable agent harness
2
+
3
+ IP: [durable-agent-harness.md](../implementationPlans/durable-agent-harness.md)
4
+ **Feature profile:** false (full IP)
5
+ **Base branch:** `cursor/ai-observability-ip-64ca` (rebase as it lands)
6
+ **First PR scope:** Phases 1–2. Phases 3–5 ship in follow-up PRs.
7
+
8
+ ## Resume here (paused 2026-10-03)
9
+
10
+ The Pick ⇄ Roast loop is paused after Phase 1. Tasks 1.1–1.12 are Roast-verified, one commit each.
11
+
12
+ 1. **Sync the base.** `git fetch origin && git merge origin/cursor/ai-observability-ip-64ca`.
13
+ At pause it was 5+ commits ahead, including a master merge and "Preserve AI observability
14
+ across chat turn refactor", which touches `ai/`. Re-run `cd ai && bun run test:ci` after the merge.
15
+ 2. **Resume the loop** with `/terreno:pick-roast-loop` (or `terreno-pick-roast-loop`) at
16
+ **Task 2.0**, then 2.1, then 2.2. Each task is Pick, then an independent Roast, then one commit.
17
+ 3. **Brew when Phase 2 is done.** Run the full independent branch review that was deferred at
18
+ pause, take the PR out of draft, then Taste.
19
+
20
+ Known environment notes from Phase 1:
21
+
22
+ - `/tmp` in the cloud VM is a 1 GB tmpfs, and in-memory replica sets use about 200 MB each. Run Mongo
23
+ test suites sequentially and delete leftover `/tmp/mongo-mem-*` directories after killed runs.
24
+ - `example-backend` seed-heavy tests can hit Bun's 5 s default timeout under load. This also
25
+ happens on the base branch.
26
+ - In the root `bun run lint`, `check:explicit-any:lint` requires a `// noExplicitAny: <reason>` line
27
+ above every `biome-ignore … noExplicitAny`.
28
+
29
+ Every task: bun tests in `ai/` against the in-memory replica set from `@terreno/test`; real
30
+ models are replaced by the mock model pattern in `.claude/rules/ai/00-ai.md`. Docs pages are
31
+ created in 1.1 and extended by every later task — never deferred.
32
+
33
+ ## Phase 1 — Durable clinical tracer
34
+
35
+ - [x] **Task 1.1**: Harness subpath + `defineTask` + transactional checkpoint/span (tracer)
36
+ - Delivers: `@terreno/ai/harness` export; `HarnessTask` model; `defineTask` with phases; `InProcessRunner` (no lease yet) runs a two-phase task to `completed`; `rt.commit` writes task + `ObsSpan` + root `ObsTrace` in one transaction; `Harness.open` throws without local observability plugin or without a replica set
37
+ - Files: `ai/package.json`, `ai/src/harness/harness.ts`, `defineTask.ts`, `runtime.ts`, `commit.ts`, `runners/inProcessRunner.ts`, `models/harnessTask.ts`, `ai/src/types/harness.ts`, tests
38
+ - Blocked by: none
39
+ - Skills: `terreno-backend-api`, `mongoose-schema-safety`, `backend-test-env`
40
+ - Docs: create `docs/explanation/durable-agent-harness.md` (concepts table), `docs/reference/ai-harness.md` (`defineTask`, `Harness.open`, `rt.commit`), link from `docs/reference/ai.md`
41
+ - Acceptance: AC1 — bun test asserts one CHAIN span per phase; forced throw inside the transaction leaves neither task update nor span
42
+
43
+ - [x] **Task 1.2**: Owner lease, crash resume, replay semantics
44
+ - Delivers: `HarnessOwner` lease + heartbeat; standby second process; task leases with fencing token; resume on `start()`; per-phase `replay`; `interrupted` status; `harness.resolveInterrupted(taskId, action)`
45
+ - Files: `runners/inProcessRunner.ts`, `models/harnessOwner.ts`, `runtime.ts`, `commit.ts`, tests
46
+ - Blocked by: 1.1
47
+ - Skills: `terreno-backend-api`, `backend-test-env`
48
+ - Docs: reference "Replay and interruption" table; explanation section on leases
49
+ - Acceptance: AC2 + AC3 (phase rows) — simulate death by abandoning a harness mid-phase with an expired lease; new harness resumes safe phase and parks `never` phase as `interrupted`; stale-token commit rejected
50
+
51
+ - [x] **Task 1.3**: Retries, failure, abort + ownership tree
52
+ - Delivers: task `retry` policy with backoff+jitter (Luxon), `failed` after `maxAttempts`; `rt.createTask` child ownership; `harness.abort` bottom-up with `abort` handlers; `rt.waitForTasks` (`all` / `failFast`); `background` flag
53
+ - Files: `runtime.ts`, `retryBackoff.ts`, `ownership.ts`, tests
54
+ - Blocked by: 1.2
55
+ - Skills: `terreno-backend-api`
56
+ - Docs: reference retry/abort/ownership; explanation ownership tree
57
+ - Acceptance: AC4 (phase retries) + AC5 — ordering assertion on abort handlers; `failFast` aborts siblings
58
+
59
+ - [x] **Task 1.4**: Agents, conversations, tools, model-call resilience
60
+ - Delivers: `defineAgent`, `defineTool` (zod params, `replay`), `HarnessConversation` + `HarnessMessage`; built-in `terreno.agent.turn` task (`request` ⇄ `tools` phases, `maxSteps`); tools run as child tasks; interrupted `never` tools reported to the model; model calls retry 429/5xx then `fallbackModels`; interrupted model requests re-requested; LLM/TOOL spans with usage/cost; `ExecutionEnv` interface (types only) on `rt.env`
61
+ - Files: `defineAgent.ts`, `defineTool.ts`, `agentLoop.ts`, `modelCall.ts`, `executionEnv.ts`, `models/harnessConversation.ts`, `models/harnessMessage.ts`, tests
62
+ - Blocked by: 1.3
63
+ - Skills: `terreno-backend-api`, `claude-api` (model ids), `ai-prompt-governance`
64
+ - Docs: reference agents/tools/model resilience; explanation agent loop
65
+ - Acceptance: AC3 (tool rows) + AC4 (model rows) — mock model returns 503 twice then succeeds; fallback used after exhaustion; span tree CHAIN→LLM→TOOL
66
+
67
+ - [x] **Task 1.5**: Subagents
68
+ - Delivers: `rt.runAgent(agent, {input, output})` creates a task-owned child conversation, idempotent on resume (finds existing by `ownerTaskId`), returns parsed structured output; AGENT span nests the child's spans
69
+ - Files: `runtime.ts`, `agentLoop.ts`, tests
70
+ - Blocked by: 1.4
71
+ - Skills: `terreno-backend-api`
72
+ - Docs: reference `runAgent`; explanation subagents
73
+ - Acceptance: bun test — crash between child creation and completion resumes the same child conversation (no duplicate); abort of parent aborts child
74
+
75
+ - [x] **Task 1.6**: Extensions, hooks, wraps, memos
76
+ - Delivers: `defineExtension({name, sections, tools, hooks, wraps})`; `section` rebuilt per request and recorded in transcript; hooks `beforeModelRequest` / `beforeTool` (rewrite or `{block}`) / `afterTool`; `wrapTool`; `rt.memo(key, value?)` via `HarnessMemo`
77
+ - Files: `extensions.ts`, `models/harnessMemo.ts`, `agentLoop.ts`, tests
78
+ - Blocked by: 1.4
79
+ - Skills: `terreno-backend-api`
80
+ - Docs: reference extensions/hooks/memos
81
+ - Acceptance: AC6 — blocked tool result reaches the model; memo value survives a new harness instance
82
+
83
+ - [x] **Task 1.7**: Events, waits, sleep
84
+ - Delivers: `rt.waitFor(event, {timeout})`, `rt.sleep(duration)`, `harness.sendEvent(taskId, event, payload)`; `waiting` status; runner wakes on event or `timeoutAt`; timeout resolves `undefined`
85
+ - Files: `runtime.ts`, `runners/inProcessRunner.ts`, tests
86
+ - Blocked by: 1.3
87
+ - Skills: `terreno-backend-api`
88
+ - Docs: reference waits/events
89
+ - Acceptance: bun test with frozen Luxon clock — event before timeout resumes with payload; timeout path; event sent while owner is down is delivered after restart
90
+
91
+ - [x] **Task 1.8**: Approvals backend
92
+ - Delivers: `HarnessApproval` model; `rt.approval(key, {title, summary, payload, timeout, notify?})` with approvers declared per key on `defineTask({approvals})`; `approvalGate({tools, approvers})` extension (memo-backed); `HarnessApp` routes `GET /harness/approvals` (filtered by `approvers`), `approve` / `reject` instanceActions with reason; decision span with `decidedBy`
93
+ - Files: `approvals.ts`, `models/harnessApproval.ts`, `harnessApp.ts`, `routes/approvals.ts`, tests
94
+ - Blocked by: 1.6, 1.7
95
+ - Skills: `terreno-backend-api`, `model-router-actions`
96
+ - Docs: reference approvals + routes; how-to section "Require human approval"
97
+ - Acceptance: AC7 — supertest: unpermitted user gets 403 and an empty list; permitted user approves; span `output.decidedBy` equals user id; reject without reason → 400
98
+
99
+ - [x] **Task 1.9**: SSE event stream + submit
100
+ - Delivers: `HarnessEvent` log (coalesced deltas with TTL, committed events permanent); `rt.output`; `GET /harness/conversations/:id/events` + `/harness/tasks/:id/events` SSE with `Last-Event-ID` replay then change-stream tail; `submit` instanceAction (`requestId` idempotent, `whenBusy: queue | steer`)
101
+ - Files: `events.ts`, `models/harnessEvent.ts`, `routes/events.ts`, `routes/conversations.ts`, tests
102
+ - Blocked by: 1.4
103
+ - Skills: `terreno-backend-api`, `model-router-actions`
104
+ - Docs: reference SSE contract (event types, ids, reconnect)
105
+ - Acceptance: AC9 — two `HarnessApp` instances on one replica set; client disconnects mid-stream, reconnects to the other with `Last-Event-ID`, receives each missed event exactly once
106
+
107
+ - [x] **Task 1.10**: Version pinning
108
+ - Delivers: runs resume only on exact `name@version`; `Harness.start()` throws listing unregistered in-flight versions
109
+ - Files: `harness.ts`, `registry.ts`, tests
110
+ - Blocked by: 1.2
111
+ - Skills: `terreno-backend-api`
112
+ - Docs: reference "Versioning"; how-to "Ship a new task version"
113
+ - Acceptance: AC10
114
+
115
+ - [x] **Task 1.11**: Approvals inbox (admin-frontend)
116
+ - Delivers: `admin-frontend/src/widgets/harness/HarnessApprovalInbox.tsx` (list, detail, approve/reject with reason, loading/empty/error states) via `adminRequest`; admin custom screen `harness-approvals` (group "AI Harness"); standalone export; example-frontend admin route; `bun run sdk`
117
+ - Files: `admin-frontend/src/widgets/harness/*`, `ai/src/harness/adminScreens.ts`, `example-frontend/app/admin/*`, tests
118
+ - Blocked by: 1.8
119
+ - Skills: `building-admin-interfaces`, `verify-ui-changes`
120
+ - Docs: `docs/reference/admin-frontend.md` inbox section
121
+ - Acceptance: AC8 — component tests + Playwright run on web: approve one item, reject one; screenshots in `/opt/cursor/artifacts/`
122
+
123
+ - [x] **Task 1.12**: Clinical tracer in example-backend + how-to
124
+ - Delivers: `clinic.intakeSummary` (fetch → `runAgent` summary → approval → EHR write with `replay: "never"`) against a fake EHR model; `HarnessApp` registered in `server.ts`; admin action to start a run; e2e script kills the backend during `summarize`, restarts, approves in the inbox, asserts `filed` and the span tree in Traces
125
+ - Files: `example-backend/src/harness/*`, `example-backend/src/server.ts`, `example-frontend/e2e/harness-intake.spec.ts`
126
+ - Blocked by: 1.5, 1.9, 1.10, 1.11
127
+ - Skills: `verify-ui-changes`, `backend-test-env`
128
+ - Docs: create `docs/how-to/build-a-durable-workflow.md` using this workflow as the one example
129
+ - Acceptance: AC2 (e2e) — Playwright spec passes; screenshots of the inbox and the trace waterfall attached
130
+ - Shipped as two proofs: the kill/restart runs in `example-backend/src/harness/clinicalIntake.crash.test.ts` (spawns the real API process, SIGKILLs it mid-`summarize`, restarts); `harness-intake.spec.ts` approves in the inbox and asserts `filed` and the span tree
131
+
132
+ ## Phase 2 — Multi-instance
133
+
134
+ - [ ] **Task 2.0**: `InProcessRunner` concurrency
135
+ - Delivers: `new InProcessRunner({concurrency})` (default 8) runs up to N claimed tasks at once, each with its own lease and heartbeat; a slow phase no longer delays other tasks' wakes; `stop()` waits for all in-flight phases
136
+ - Files: `ai/src/harness/runners/inProcessRunner.ts`, tests
137
+ - Blocked by: 1.12
138
+ - Skills: `terreno-backend-api`
139
+ - Docs: reference "Runners" (concurrency option, ordering guarantees)
140
+ - Acceptance: bun test — a phase blocked on a gate does not prevent a second task from completing; never more than N concurrent; no task runs twice concurrently
141
+
142
+ - [ ] **Task 2.1**: `JobsRunner`
143
+ - Delivers: `@terreno/ai/harness/jobsRunner` with optional peer `@terreno/jobs`; job `terreno.harness.phase` keyed `taskId:phase:attempt`; harness task lease + heartbeat is the authority; importing the root `@terreno/ai` never loads jobs
144
+ - Files: `ai/src/harness/runners/jobsRunner.ts`, `ai/package.json`, tests
145
+ - Blocked by: 2.0
146
+ - Skills: `terreno-backend-api`
147
+ - Docs: reference "Runners"; how-to "Run on multiple instances"
148
+ - Acceptance: AC11 — two workers race one phase; exactly one commit; stale owner rejected; knip clean without jobs installed
149
+
150
+ - [ ] **Task 2.2**: Runs admin screen
151
+ - Delivers: task list/tree with status filters, abort, resolve-interrupted (retry/abort/complete + reason), link to trace
152
+ - Files: `admin-frontend/src/widgets/harness/HarnessRuns*.tsx`, `ai/src/harness/routes/tasks.ts`
153
+ - Blocked by: 2.1
154
+ - Skills: `building-admin-interfaces`, `verify-ui-changes`
155
+ - Docs: admin-frontend reference
156
+ - Acceptance: Playwright resolves an interrupted EHR write; screenshots
157
+
158
+ ## Phase 3 — Long context
159
+
160
+ - [ ] **Task 3.1**: Background compaction + manual `compact(instructions)`; originals stay searchable
161
+ - [ ] **Task 3.2**: `reset` / handoff tool control
162
+ - [ ] **Task 3.3**: Conversation forks at any message (parent history by reference)
163
+ - [ ] **Task 3.4**: `defineDoc` typed documents (`scope`, `history: rewindable`, `fork: asOf`), committed atomically with transcripts
164
+
165
+ Each 3.x task: Blocked by 1.12; Docs: reference + explanation sections; Acceptance: bun tests (10k-message conversation fits budget; fork isolation; doc rewind).
166
+
167
+ ## Phase 4 — Durable chat + multiplayer
168
+
169
+ - [x] **Task 4.0**: Human gate — `GptHistory` migration strategy → **one-shot migration** script at deploy (decided 2026-10-02)
170
+ - [ ] **Task 4.1**: `/gpt/prompt` on the harness; history mapping
171
+ - [ ] **Task 4.2**: Steering, foreground/background abort, `viewState` over SSE
172
+ - [ ] **Task 4.3**: rtk `useHarnessConversation` SSE hook + `GPTChat` adapter in example-frontend
173
+
174
+ Acceptance: kill backend mid-chat, reconnect resumes; two browsers see the same view (Playwright, screenshots).
175
+
176
+ ## Phase 5 — Coding agents + malleability
177
+
178
+ - [x] **Task 5.0**: Human gate — sandbox provider → **Cloud Run Jobs container** (decided 2026-10-02)
179
+ - [ ] **Task 5.1**: `NodeExecutionEnv` + `CodingTools` (read/write/edit/bash with replay classes)
180
+ - [ ] **Task 5.2**: Remote sandbox adapter
181
+ - [ ] **Task 5.3**: Registry hot-replace (running calls finish on old code)
182
+
183
+ Acceptance: a coding agent fixes a failing test in a fixture repo after a forced crash.
package/dist/tools.d.ts CHANGED
@@ -45,6 +45,10 @@ export declare const generateFormFields: (args: {
45
45
  }>;
46
46
  }>;
47
47
  }) => string;
48
+ /** Same stdout as `terreno-blocks validate` for one document. */
49
+ export declare const validateUiBlocks: (args: {
50
+ document?: string;
51
+ }) => string;
48
52
  export declare const validateModelSchema: (args: {
49
53
  schema: string;
50
54
  }) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AA8JvD,eAAO,MAAM,KAAK,EAAE,IAAI,EAiOvB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,KAAG,MAuEH,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,KAAG,MAuEH,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,KAAG,MA0MH,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;KACjD,CAAC,CAAC;CACJ,KAAG,MA+GH,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,KAAG,MA6D5D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM;IACzC,MAAM,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ,KAAG,MAsMH,CAAC;AAqBF,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CA8IxD,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AA+JvD,eAAO,MAAM,KAAK,EAAE,IAAI,EAgPvB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,KAAG,MAuEH,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,KAAG,MAuEH,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,KAAG,MA0MH,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;KACjD,CAAC,CAAC;CACJ,KAAG,MA+GH,CAAC;AAKF,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,GAAI,MAAM;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,KAAG,MAgB5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,KAAG,MA6D5D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM;IACzC,MAAM,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ,KAAG,MAsMH,CAAC;AAqBF,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CAiJxD,CAAC"}
package/dist/tools.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { parseBlocks, validateBlocks } from "@terreno/blocks";
1
2
  import { bootstrapTools, handleBootstrapToolCall } from "./bootstrap.js";
2
3
  import { askUpdateHelp, getUpdateNote, searchUpdateNotes } from "./help/updateNotes.js";
3
4
  import { getComponentDocsMarkdown, searchDocs } from "./search/docIndex.js";
@@ -325,6 +326,20 @@ export const tools = [
325
326
  },
326
327
  name: "terreno_validate_model_schema",
327
328
  },
329
+ {
330
+ description: "Validate a whole-reply UI block document. Returns the same report as terreno-blocks validate.",
331
+ inputSchema: {
332
+ properties: {
333
+ document: {
334
+ description: "Whole-reply YAML or JSON block document",
335
+ type: "string",
336
+ },
337
+ },
338
+ required: ["document"],
339
+ type: "object",
340
+ },
341
+ name: "terreno_validate_ui_blocks",
342
+ },
328
343
  {
329
344
  description: "Generate admin panel integration files and instructions for a Terreno project. Creates frontend screen files and provides backend/frontend setup snippets for @terreno/admin-backend and @terreno/admin-frontend.",
330
345
  inputSchema: {
@@ -800,6 +815,25 @@ ${fieldComponents.join("\n")}
800
815
  </Box>
801
816
  `;
802
817
  };
818
+ const formatBlockIssue = (error) => `${error.path} ${error.code} ${error.message} — ${error.fix}`;
819
+ /** Same stdout as `terreno-blocks validate` for one document. */
820
+ export const validateUiBlocks = (args) => {
821
+ if (typeof args.document !== "string") {
822
+ return "document is required\n";
823
+ }
824
+ const parsed = parseBlocks(args.document);
825
+ if (!parsed.ok) {
826
+ return `${parsed.errors.map(formatBlockIssue).join("\n")}\n`;
827
+ }
828
+ const validated = validateBlocks(parsed.value);
829
+ if (!validated.ok) {
830
+ return `${validated.errors.map(formatBlockIssue).join("\n")}\n`;
831
+ }
832
+ if (validated.warnings.length === 0) {
833
+ return "";
834
+ }
835
+ return `${validated.warnings.map(formatBlockIssue).join("\n")}\n`;
836
+ };
803
837
  export const validateModelSchema = (args) => {
804
838
  const { schema } = args;
805
839
  const issues = [];
@@ -1167,6 +1201,9 @@ export const handleToolCall = async (name, args) => {
1167
1201
  case "terreno_validate_model_schema":
1168
1202
  result = validateModelSchema(args);
1169
1203
  break;
1204
+ case "terreno_validate_ui_blocks":
1205
+ result = validateUiBlocks(args);
1206
+ break;
1170
1207
  case "terreno_install_admin":
1171
1208
  result = generateInstallAdmin(args);
1172
1209
  break;
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,8 @@
11
11
  "@modelcontextprotocol/node": "^2.0.0",
12
12
  "@modelcontextprotocol/server": "^2.0.0",
13
13
  "@sentry/bun": "^10.39.0",
14
- "@terreno/api": "57.8.0",
14
+ "@terreno/api": "57.10.1",
15
+ "@terreno/blocks": "57.10.1",
15
16
  "express": "^5.2.1",
16
17
  "luxon": "^3.7.2",
17
18
  "minisearch": "^7.2.0",
@@ -104,5 +105,5 @@
104
105
  "test:coverage": "bun run ../scripts/check-coverage.ts"
105
106
  },
106
107
  "type": "module",
107
- "version": "57.8.0"
108
+ "version": "57.10.1"
108
109
  }
@@ -0,0 +1,54 @@
1
+ # Upgrading to 57.10.1
2
+
3
+ **Action required:** Yes
4
+ **Affected packages:** @terreno/ai
5
+
6
+ ## Summary
7
+
8
+ Signed file URLs from `GET /files/*gcsKey` now require the caller's session and only resolve that caller's uploads. This release also adds agent asks, block documents, a durable task harness, and local AI observability. An app that already sends the user's token when fetching that user's own files needs no change. An app that fetched a file URL without a session, or that fetched another user's key, must change.
9
+
10
+ ## Breaking changes
11
+
12
+ ### File download URLs require the owner session
13
+
14
+ **What changed**
15
+
16
+ `GET /files/*gcsKey` (`addFileRoutes`, and `AiApp` when `gcsBucket` is set) now requires authentication. An unauthenticated request returns 401. The route returns a signed URL only when the stored file's `userId` is the caller. Another user's file, including a request from an admin, returns 404, the same response as a missing key. Keys look like `uploads/<userId>/<ms>-<name>` and were previously guessable.
17
+
18
+ **Why**
19
+
20
+ Anyone who knew or guessed a key could obtain a signed URL for that object.
21
+
22
+ **Migration**
23
+
24
+ ```typescript
25
+ // Before
26
+ const response = await fetch(`${apiBase}/files/${gcsKey}`);
27
+
28
+ // After
29
+ const response = await fetch(`${apiBase}/files/${gcsKey}`, {
30
+ headers: {authorization: `Bearer ${accessToken}`},
31
+ });
32
+ // 401: send the session token.
33
+ // 404: the file is missing or belongs to someone else. Do not walk other keys.
34
+ ```
35
+
36
+ `GET` and `DELETE /files/*gcsKey` also resolve the full key when it contains slashes. Express 5 passed the wildcard as path segments, so `uploads/<userId>/<ms>-<name>` used to 404.
37
+
38
+ ## Deprecations
39
+
40
+ None
41
+
42
+ ## New capabilities
43
+
44
+ - Turn on agent asks with `asks: true` (or `{kinds, approvals, maxFileSizeBytes}`) on `AiApp` or `addGptRoutes`. Asks stay off when the option is unset. See `docs/how-to/agent-ui-asks.md`.
45
+ - `@terreno/blocks` is the shared contract for asks and for block documents (headings, metrics, charts, tables, actions). `GPTChat` can render both.
46
+ - `@terreno/ai/harness` runs phased tasks that survive a process crash and can wait for a person. See `docs/how-to/build-a-durable-workflow.md`.
47
+ - `ObservabilityApp` adds local prompt versions, traces, evaluators, datasets, experiments, and a review queue, with admin screens in `@terreno/admin-frontend`. See `docs/how-to/observe-llm-calls.md`.
48
+
49
+ ## Verification
50
+
51
+ - `GET /files/<own key>` with the owner's session returns a signed URL.
52
+ - The same request without a session returns 401.
53
+ - A key owned by someone else returns 404.
54
+ - `bun run compile` and `bun run lint` at the app root.
@@ -0,0 +1,28 @@
1
+ # Upgrading to 57.9.0
2
+
3
+ **Action required:** No
4
+ **Affected packages:** @terreno/ai, @terreno/ui
5
+
6
+ ## Summary
7
+
8
+ This release adds durable and resumable GPT chat streams, safer attachment handling, operations-dashboard components, and improved web toast and file-picker behavior. Existing applications continue to work without migration.
9
+
10
+ ## Breaking changes
11
+
12
+ None
13
+
14
+ ## Deprecations
15
+
16
+ None
17
+
18
+ ## New capabilities
19
+
20
+ - Configure `fileStorageService` to persist chat attachments and resume in-flight replies through `GET /gpt/histories/:id/stream`.
21
+ - Compose operations dashboards with scorecards, comparison series, spanning items, and richer chart presentation.
22
+ - Set `maxHeight` on growing `TextField` and `TextArea` components.
23
+
24
+ ## Verification
25
+
26
+ - Run `bun run compile` and `bun run lint` at the app root.
27
+ - Exercise GPT chat attachment upload, reload during a response, and stream resumption when adopting the new AI capabilities.
28
+ - Check web toasts above an open modal and file selection through `FilePickerButton`.
@@ -37,6 +37,7 @@ Canonical copy, language rules, and the Django/Rails comparison:
37
37
  | [@terreno/ui](reference/ui.md) | React Native UI component library for iOS, Android, and web |
38
38
  | [@terreno/syncdb](reference/syncdb.md) | Local-first data layer with TinyBase, durable outbox, and delta sync |
39
39
  | [@terreno/ai](reference/ai.md) | Provider-agnostic AI service with streaming chat, request logging, and admin tools |
40
+ | [@terreno/blocks](reference/blocks.md) | Shared contracts for agent-driven UI: ask schemas and whole-reply block documents |
40
41
  | [@terreno/admin-backend](reference/admin-backend.md) | Admin panel backend plugin for `@terreno/api` |
41
42
  | [@terreno/admin-frontend](reference/admin-frontend.md) | Admin panel frontend screens for `@terreno/api` backends |
42
43
  | [@terreno/admin-spa](reference/admin-spa.md) | Standalone admin SPA (Expo Router web) plus Express serve plugin |
@@ -15,7 +15,11 @@ Understanding-oriented documentation: concepts, architecture, and context.
15
15
  - [Loop engineering](loop-engineering.md) — Fresh-invocation lifecycle, state, evidence, and orchestration boundaries
16
16
  - [GitHub issue lifecycle](../how-to/github-issue-lifecycle.md) — Pick-ready issues and plan comments for Pick/Roast
17
17
  - [Install agent skills](../how-to/install-agent-skills.md) — `npx skills add TerrenoLabs/terreno`
18
+ - [AI observability](ai-observability.md) — Two planes (telemetry vs control), plugins vs LangfuseApp, SOP loop
19
+ - [Durable agent harness](durable-agent-harness.md) — Phases, checkpoints, and why the audit span shares the checkpoint transaction
18
20
  - [AI-powered workflows](ai-workflows.md) — Autonomous documentation, testing, and maintenance workflows
21
+ - [Agent UI Asks](agent-ui-asks.md) — Why agent questions are client-side tool calls, the pause and resume round trip, why cards carry exact answers, the watch paths, asks vs blocks
22
+ - [Agent UI blocks](agent-ui-blocks.md) — Why chat replies use a closed YAML catalog instead of free-form UI
19
23
  - [Authentication architecture](authentication.md) — Better Auth, JWT, and optional MCP service tokens
20
24
  - [Organization tenancy](organizations.md) — Optional Membership-backed tenancy, context, and isolation boundaries
21
25
  - [Configuration system](configuration-system.md) — Runtime configuration with database persistence
@@ -8,8 +8,8 @@ implementations ship from `@terreno/admin-frontend`, under `src/widgets/`.
8
8
 
9
9
  This keeps the first-party integration in one frontend package and avoids making backend-only
10
10
  packages depend on React Native. The built-in registry includes consent field widgets, feature
11
- flag home widgets, and Documents/AI/Comms custom screens. Hosts can override any ID through
12
- `AdminProvider.widgets`.
11
+ flag home widgets, and Documents/AI Requests/AI Observability/Comms custom screens. Hosts can
12
+ override any ID through `AdminProvider.widgets`.
13
13
 
14
14
  Third-party plugins should publish their own frontend package and ask the host to spread its
15
15
  registry into `AdminProvider`; `@terreno/admin-frontend` only owns first-party Terreno widgets.