otacon 0.1.2 → 0.1.4
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/README.md +18 -5
- package/dist/cli/browser.js +1 -1
- package/dist/cli/browser.js.map +1 -1
- package/dist/cli/client.js +13 -2
- package/dist/cli/client.js.map +1 -1
- package/dist/cli/commands/answer.js +1 -1
- package/dist/cli/commands/answer.js.map +1 -1
- package/dist/cli/commands/ask.js +3 -3
- package/dist/cli/commands/ask.js.map +1 -1
- package/dist/cli/commands/clean.js +14 -16
- package/dist/cli/commands/clean.js.map +1 -1
- package/dist/cli/commands/config.js +1 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/doctor.js +4 -4
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/expose.js +7 -7
- package/dist/cli/commands/expose.js.map +1 -1
- package/dist/cli/commands/implement-done.js +1 -1
- package/dist/cli/commands/implement-done.js.map +1 -1
- package/dist/cli/commands/install.js +16 -10
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/open.js +31 -7
- package/dist/cli/commands/open.js.map +1 -1
- package/dist/cli/commands/progress.js +1 -1
- package/dist/cli/commands/progress.js.map +1 -1
- package/dist/cli/commands/resume.js +67 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/start.js +24 -3
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.js +15 -4
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/submit.js +5 -5
- package/dist/cli/commands/submit.js.map +1 -1
- package/dist/cli/commands/update.js +83 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/wait.js +1 -1
- package/dist/cli/commands/wait.js.map +1 -1
- package/dist/cli/install/assets.js +123 -48
- package/dist/cli/install/assets.js.map +1 -1
- package/dist/cli/install/locations.js +1 -1
- package/dist/cli/install/locations.js.map +1 -1
- package/dist/cli/install/tailscale.js +2 -2
- package/dist/cli/install/tailscale.js.map +1 -1
- package/dist/cli/install/wrapper.js +202 -0
- package/dist/cli/install/wrapper.js.map +1 -0
- package/dist/cli/main.js +10 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/output.js +2 -2
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/session.js +18 -7
- package/dist/cli/session.js.map +1 -1
- package/dist/cli/update.js +236 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/daemon/activity.js +1 -1
- package/dist/daemon/activity.js.map +1 -1
- package/dist/daemon/anchor.js +1 -1
- package/dist/daemon/anchor.js.map +1 -1
- package/dist/daemon/app.js +370 -82
- package/dist/daemon/app.js.map +1 -1
- package/dist/daemon/approve.js +3 -3
- package/dist/daemon/approve.js.map +1 -1
- package/dist/daemon/capture/adapter.js +23 -0
- package/dist/daemon/capture/adapter.js.map +1 -0
- package/dist/daemon/capture/claude.js +274 -0
- package/dist/daemon/capture/claude.js.map +1 -0
- package/dist/daemon/capture/codex.js +413 -0
- package/dist/daemon/capture/codex.js.map +1 -0
- package/dist/daemon/capture/normalize.js +89 -0
- package/dist/daemon/capture/normalize.js.map +1 -0
- package/dist/daemon/capture/opencode.js +330 -0
- package/dist/daemon/capture/opencode.js.map +1 -0
- package/dist/daemon/capture/registry.js +33 -0
- package/dist/daemon/capture/registry.js.map +1 -0
- package/dist/daemon/capture/stream-store.js +121 -0
- package/dist/daemon/capture/stream-store.js.map +1 -0
- package/dist/daemon/capture/tailer.js +108 -0
- package/dist/daemon/capture/tailer.js.map +1 -0
- package/dist/daemon/desktop-notify.js +11 -5
- package/dist/daemon/desktop-notify.js.map +1 -1
- package/dist/daemon/diagrams.js +90 -0
- package/dist/daemon/diagrams.js.map +1 -0
- package/dist/daemon/diff.js +1 -2
- package/dist/daemon/diff.js.map +1 -1
- package/dist/daemon/linter/parse.js +45 -12
- package/dist/daemon/linter/parse.js.map +1 -1
- package/dist/daemon/linter/rules.js +20 -17
- package/dist/daemon/linter/rules.js.map +1 -1
- package/dist/daemon/main.js +1 -1
- package/dist/daemon/main.js.map +1 -1
- package/dist/daemon/notify.js +1 -1
- package/dist/daemon/notify.js.map +1 -1
- package/dist/daemon/presence.js +1 -1
- package/dist/daemon/presence.js.map +1 -1
- package/dist/daemon/queue.js +7 -7
- package/dist/daemon/queue.js.map +1 -1
- package/dist/daemon/store.js +66 -79
- package/dist/daemon/store.js.map +1 -1
- package/dist/daemon/threads.js +111 -25
- package/dist/daemon/threads.js.map +1 -1
- package/dist/daemon/transcript.js +1 -1
- package/dist/daemon/transcript.js.map +1 -1
- package/dist/daemon/ui.js +13 -6
- package/dist/daemon/ui.js.map +1 -1
- package/dist/daemon/viewers.js +37 -0
- package/dist/daemon/viewers.js.map +1 -0
- package/dist/shared/config.js +52 -7
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/gwt.js +1 -1
- package/dist/shared/gwt.js.map +1 -1
- package/dist/shared/paths.js +68 -33
- package/dist/shared/paths.js.map +1 -1
- package/dist/shared/question-spec.js +1 -1
- package/dist/shared/question-spec.js.map +1 -1
- package/dist/shared/types.js +7 -3
- package/dist/shared/types.js.map +1 -1
- package/dist/shared/version.js +1 -1
- package/dist/skills/otacon/SKILL.md +250 -0
- package/dist/ui/assets/{arc-KT3ZnaMp.js → arc-BUR2DxNA.js} +1 -1
- package/dist/ui/assets/architecture-7EHR7CIX-TTokq2IO.js +1 -0
- package/dist/ui/assets/{architectureDiagram-3BPJPVTR-DLu0UM7N.js → architectureDiagram-3BPJPVTR-unLnkDyM.js} +1 -1
- package/dist/ui/assets/{blockDiagram-GPEHLZMM-B8wApEWC.js → blockDiagram-GPEHLZMM-DHx8lNeL.js} +1 -1
- package/dist/ui/assets/{c4Diagram-AAUBKEIU-BNS5gmQS.js → c4Diagram-AAUBKEIU-BU9T562l.js} +1 -1
- package/dist/ui/assets/channel-BA6ChrT3.js +1 -0
- package/dist/ui/assets/{chunk-2J33WTMH-CTY2etwY.js → chunk-2J33WTMH-BEb0myVl.js} +1 -1
- package/dist/ui/assets/{chunk-3OPIFGDE-DZM4Sz84.js → chunk-3OPIFGDE-DESBG_RB.js} +1 -1
- package/dist/ui/assets/{chunk-4BX2VUAB-sGwrrXIO.js → chunk-4BX2VUAB-dt3F_E_5.js} +1 -1
- package/dist/ui/assets/{chunk-55IACEB6-CGlNp76o.js → chunk-55IACEB6-BcyuZM7U.js} +1 -1
- package/dist/ui/assets/{chunk-5ZQYHXKU-5zebJ3jW.js → chunk-5ZQYHXKU-DqdwSJlO.js} +1 -1
- package/dist/ui/assets/{chunk-727SXJPM-DelmUpvy.js → chunk-727SXJPM-B04SqNWj.js} +1 -1
- package/dist/ui/assets/{chunk-AQP2D5EJ-DMVzBf3M.js → chunk-AQP2D5EJ-DpjCPBWN.js} +1 -1
- package/dist/ui/assets/{chunk-BSJP7CBP-CZHrcpSu.js → chunk-BSJP7CBP-BNOU3k5G.js} +1 -1
- package/dist/ui/assets/{chunk-CSCIHK7Q-C1efTp0O.js → chunk-CSCIHK7Q-iWOtNZm_.js} +1 -1
- package/dist/ui/assets/{chunk-FMBD7UC4-B6axGwgn.js → chunk-FMBD7UC4-BHH_etky.js} +1 -1
- package/dist/ui/assets/{chunk-KSCS5N6A-DSaxbrm0.js → chunk-KSCS5N6A-DbRuazP3.js} +1 -1
- package/dist/ui/assets/{chunk-L5ZTLDWV-D9ZKdVGx.js → chunk-L5ZTLDWV-B2ZZFONi.js} +1 -1
- package/dist/ui/assets/{chunk-LZXEDZCA-DI5_1s00.js → chunk-LZXEDZCA-DryVpwAh.js} +2 -2
- package/dist/ui/assets/{chunk-ND2GUHAM-DQQ4RVLE.js → chunk-ND2GUHAM-2Bb1izqg.js} +1 -1
- package/dist/ui/assets/{chunk-NZK2D7GU-9zJJaDpb.js → chunk-NZK2D7GU-2DhvLbqL.js} +1 -1
- package/dist/ui/assets/{chunk-O5CBEL6O-DUOshAt2.js → chunk-O5CBEL6O-B5oigO7D.js} +1 -1
- package/dist/ui/assets/chunk-QZHKN3VN-BDHgdxoT.js +1 -0
- package/dist/ui/assets/chunk-WU5MYG2G-FDJTP_wT.js +1 -0
- package/dist/ui/assets/{chunk-XPW4576I-DQVL_GAl.js → chunk-XPW4576I-Dmq-O7bc.js} +1 -1
- package/dist/ui/assets/classDiagram-4FO5ZUOK-B5kZsiIt.js +1 -0
- package/dist/ui/assets/classDiagram-v2-Q7XG4LA2-B5kZsiIt.js +1 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-C7m3VlSW.js → cose-bilkent-S5V4N54A-oTsqU1DY.js} +1 -1
- package/dist/ui/assets/{dagre-BM42HDAG-CoU_T6EY.js → dagre-BM42HDAG-CZykCU6B.js} +1 -1
- package/dist/ui/assets/{diagram-2AECGRRQ-C_R7oNKE.js → diagram-2AECGRRQ-BY7clIlO.js} +1 -1
- package/dist/ui/assets/{diagram-5GNKFQAL-UhE2W3Yi.js → diagram-5GNKFQAL-BWdq4hV0.js} +1 -1
- package/dist/ui/assets/{diagram-KO2AKTUF-D4KZCRld.js → diagram-KO2AKTUF-CCGEaiZg.js} +1 -1
- package/dist/ui/assets/{diagram-LMA3HP47-CsOe8-S6.js → diagram-LMA3HP47-CVkepFYU.js} +1 -1
- package/dist/ui/assets/{diagram-OG6HWLK6-Bkbs2V54.js → diagram-OG6HWLK6-f-NjsfLG.js} +1 -1
- package/dist/ui/assets/{dist-BcowSnUl.js → dist-ZqsueX9_.js} +1 -1
- package/dist/ui/assets/{erDiagram-TEJ5UH35-DJXsykZz.js → erDiagram-TEJ5UH35-D8Wn6QP3.js} +1 -1
- package/dist/ui/assets/eventmodeling-FCH6USID-BODDoY6e.js +1 -0
- package/dist/ui/assets/{flowDiagram-I6XJVG4X-Chguj9Xz.js → flowDiagram-I6XJVG4X-BYnhla9k.js} +1 -1
- package/dist/ui/assets/{ganttDiagram-6RSMTGT7-DXdpFesp.js → ganttDiagram-6RSMTGT7-Dpu52ZRF.js} +1 -1
- package/dist/ui/assets/{gitGraph-WXDBUCRP-Doq1CcxB.js → gitGraph-WXDBUCRP-ou8xzQe1.js} +1 -1
- package/dist/ui/assets/{gitGraphDiagram-PVQCEYII-uxGwHEPv.js → gitGraphDiagram-PVQCEYII-BnTuFH7F.js} +1 -1
- package/dist/ui/assets/index-B2mL0c61.js +11 -0
- package/dist/ui/assets/index-sZ1TgAvb.css +1 -0
- package/dist/ui/assets/{info-J43DQDTF-CgWT_d3M.js → info-J43DQDTF-xgUHa7k0.js} +1 -1
- package/dist/ui/assets/{infoDiagram-5YYISTIA-B3oDA2Ct.js → infoDiagram-5YYISTIA-DJBudrwD.js} +1 -1
- package/dist/ui/assets/{ishikawaDiagram-YF4QCWOH-C6l0lvC3.js → ishikawaDiagram-YF4QCWOH-DpFHgERI.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-JHISSGLW-COf53NwC.js → journeyDiagram-JHISSGLW-Cd32hdpY.js} +1 -1
- package/dist/ui/assets/{kanban-definition-UN3LZRKU-DaOPRBld.js → kanban-definition-UN3LZRKU-Dm1V8lr0.js} +1 -1
- package/dist/ui/assets/{line-new3jLu3.js → line-CZu6_PMX.js} +1 -1
- package/dist/ui/assets/{linear-yA22knFB.js → linear-2tkTX_U2.js} +1 -1
- package/dist/ui/assets/{mermaid-parser.core-D8JVCOKU.js → mermaid-parser.core-C4m04cRe.js} +2 -2
- package/dist/ui/assets/{mermaid.core-BCrPyVBK.js → mermaid.core-BPeg1ewg.js} +3 -3
- package/dist/ui/assets/{mindmap-definition-RKZ34NQL-CVcJTWsW.js → mindmap-definition-RKZ34NQL-BENqEkIK.js} +1 -1
- package/dist/ui/assets/{packet-YPE3B663-DlSwpK-G.js → packet-YPE3B663-DNO0oBLH.js} +1 -1
- package/dist/ui/assets/{pie-LRSECV5Y-CyMpbo4C.js → pie-LRSECV5Y-CWoz31oB.js} +1 -1
- package/dist/ui/assets/{pieDiagram-4H26LBE5-Dy7day5R.js → pieDiagram-4H26LBE5-CtmxhUGI.js} +1 -1
- package/dist/ui/assets/{plan-view-CE2ha0qY.js → plan-view-bZtdFbit.js} +4 -4
- package/dist/ui/assets/{quadrantDiagram-W4KKPZXB-CVjVgbaQ.js → quadrantDiagram-W4KKPZXB-BO3IZNbx.js} +1 -1
- package/dist/ui/assets/{radar-GUYGQ44K-DLPfv0jT.js → radar-GUYGQ44K-AEfROz99.js} +1 -1
- package/dist/ui/assets/{requirementDiagram-4Y6WPE33-y_0KOdN8.js → requirementDiagram-4Y6WPE33-D-wQ1szT.js} +1 -1
- package/dist/ui/assets/{sankeyDiagram-5OEKKPKP-8T3b7meL.js → sankeyDiagram-5OEKKPKP-Bj4kD_AJ.js} +1 -1
- package/dist/ui/assets/{sequenceDiagram-3UESZ5HK-Cn8DZiEr.js → sequenceDiagram-3UESZ5HK-M8QVVH74.js} +1 -1
- package/dist/ui/assets/{src-BieOuieI.js → src-DvptJAGq.js} +1 -1
- package/dist/ui/assets/{stateDiagram-AJRCARHV-nPEVGd3E.js → stateDiagram-AJRCARHV-BiPRs9rN.js} +1 -1
- package/dist/ui/assets/stateDiagram-v2-BHNVJYJU-BYjicZlC.js +1 -0
- package/dist/ui/assets/{timeline-definition-PNZ67QCA-Dj_qK0VJ.js → timeline-definition-PNZ67QCA-DS0AGRKw.js} +1 -1
- package/dist/ui/assets/{treeView-BLDUP644-G5Bsebqu.js → treeView-BLDUP644-DJakvUbF.js} +1 -1
- package/dist/ui/assets/{treemap-LRROVOQU-anUEJzTb.js → treemap-LRROVOQU-QXfc2Vwr.js} +1 -1
- package/dist/ui/assets/{vennDiagram-CIIHVFJN-D71ne3dS.js → vennDiagram-CIIHVFJN-CBdJA0hv.js} +1 -1
- package/dist/ui/assets/{wardley-L42UT6IY-DrJilmE_.js → wardley-L42UT6IY-DI9SdW45.js} +1 -1
- package/dist/ui/assets/{wardleyDiagram-YWT4CUSO-B66G4ayp.js → wardleyDiagram-YWT4CUSO-RMmsKLRe.js} +1 -1
- package/dist/ui/assets/{xychartDiagram-2RQKCTM6-CReSRxNG.js → xychartDiagram-2RQKCTM6-DFXccP8B.js} +1 -1
- package/dist/ui/index.html +2 -2
- package/package.json +7 -5
- package/dist/ui/assets/architecture-7EHR7CIX-Cw3I1lil.js +0 -1
- package/dist/ui/assets/channel-CkOta24Z.js +0 -1
- package/dist/ui/assets/chunk-QZHKN3VN-DqRxzBM_.js +0 -1
- package/dist/ui/assets/chunk-WU5MYG2G-B1Mk3aBp.js +0 -1
- package/dist/ui/assets/classDiagram-4FO5ZUOK-BH-5P4jH.js +0 -1
- package/dist/ui/assets/classDiagram-v2-Q7XG4LA2-BH-5P4jH.js +0 -1
- package/dist/ui/assets/eventmodeling-FCH6USID-DSDI1f5T.js +0 -1
- package/dist/ui/assets/index-BsTJ9Ul_.css +0 -1
- package/dist/ui/assets/index-D-TSanrw.js +0 -11
- package/dist/ui/assets/stateDiagram-v2-BHNVJYJU-CKrff-KJ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/daemon/threads.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,2EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/daemon/threads.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Per-session grill transcript: .otacon/<id>/transcript.json holds every
|
|
2
|
-
// agent question and the user's answer (
|
|
2
|
+
// agent question and the user's answer (interview questions) — distinct from
|
|
3
3
|
// user-question threads (threads.json), because the Interview panel and the
|
|
4
4
|
// threads rail are different surfaces with different lifecycles, and the
|
|
5
5
|
// transcript ships with the approved artifact while threads stay review
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/daemon/transcript.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/daemon/transcript.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/ui.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// The daemon's browser-facing surface: the built SPA (static files from
|
|
2
|
-
// dist/ui) and the SSE streams the UI watches
|
|
2
|
+
// dist/ui) and the SSE streams the UI watches. Static
|
|
3
3
|
// serving is hand-rolled because @hono/node-server's serveStatic resolves
|
|
4
4
|
// roots against process.cwd(), which is meaningless for a daemon spawned from
|
|
5
5
|
// any repo (DECISIONS.md "Daemon serves the built SPA from dist/ui").
|
|
6
6
|
import { existsSync, readFileSync } from "node:fs";
|
|
7
7
|
import { join } from "node:path";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
9
|
+
import { VERSION } from "../shared/version.js";
|
|
9
10
|
const HEARTBEAT_MS = 25_000;
|
|
10
11
|
/** Vite's output is flat hashed names — no slashes means no traversal. */
|
|
11
12
|
const ASSET_NAME = /^[A-Za-z0-9_.-]+$/;
|
|
@@ -141,7 +142,7 @@ export function registerUiRoutes(app, deps) {
|
|
|
141
142
|
};
|
|
142
143
|
app.get("/", shell);
|
|
143
144
|
app.get("/s/:id", shell);
|
|
144
|
-
// The Settings screen
|
|
145
|
+
// The Settings screen is a client route on the
|
|
145
146
|
// same SPA shell — served identically to /s/:id.
|
|
146
147
|
app.get("/settings", shell);
|
|
147
148
|
app.get("/assets/*", (c) => {
|
|
@@ -157,21 +158,27 @@ export function registerUiRoutes(app, deps) {
|
|
|
157
158
|
headers: { "content-type": type, "cache-control": "public, max-age=31536000, immutable" },
|
|
158
159
|
});
|
|
159
160
|
});
|
|
160
|
-
|
|
161
|
+
// `version` rides every snapshot: a tab built against an
|
|
162
|
+
// older daemon re-learns the live version on each (re)connect and self-heals
|
|
163
|
+
// by reloading, so an update-restarted daemon never strands a stale bundle.
|
|
164
|
+
app.get("/api/stream", (c) => sse(c, deps, () => ({ version: VERSION, sessions: deps.listSummaries() })));
|
|
161
165
|
app.get("/api/sessions/:id/stream", (c) => {
|
|
162
166
|
const id = c.req.param("id");
|
|
163
167
|
if (!deps.getSummary(id)) {
|
|
164
168
|
return c.json({ error: { code: "E_NOT_FOUND", message: `unknown session: ${id}` } }, 404);
|
|
165
169
|
}
|
|
166
|
-
// Threads, transcript,
|
|
167
|
-
// the Interview panel,
|
|
168
|
-
//
|
|
170
|
+
// Threads, transcript, the activity feed, and the live-activity stream ride
|
|
171
|
+
// the snapshot so the rail, the Interview panel, the activity log, and the
|
|
172
|
+
// stream view never race a separate fetch against
|
|
173
|
+
// `thread`/`grill`/`activity`/`stream` frames (same argument as
|
|
169
174
|
// snapshot-first itself).
|
|
170
175
|
return sse(c, deps, () => ({
|
|
176
|
+
version: VERSION,
|
|
171
177
|
session: deps.getSummary(id),
|
|
172
178
|
threads: deps.getThreads(id),
|
|
173
179
|
transcript: deps.getTranscript(id),
|
|
174
180
|
activity: deps.getActivity(id),
|
|
181
|
+
stream: deps.getStream(id),
|
|
175
182
|
}), id);
|
|
176
183
|
});
|
|
177
184
|
}
|
package/dist/daemon/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/daemon/ui.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/daemon/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// One in-memory liveness tracker of connected browser tabs (any session or the
|
|
2
|
+
// index), fed by an explicit heartbeat from the SPA rather than SSE-connection
|
|
3
|
+
// detection: the dogfood daemon runs under Bun, whose node:http emulation does
|
|
4
|
+
// not fire a request's abort signal on client disconnect, so a connection count
|
|
5
|
+
// would leak upward forever. A TTL makes a closed/crashed tab self-expire, and a
|
|
6
|
+
// `gone` beacon on tab close drops it immediately. Drives `otacon open`'s
|
|
7
|
+
// duplicate-tab dedup (DECISIONS.md "reuse an existing open tab").
|
|
8
|
+
/** A tab counts as live for this long after its last heartbeat, then expires. */
|
|
9
|
+
const VIEWER_TTL_MS = 90_000;
|
|
10
|
+
export class Viewers {
|
|
11
|
+
now;
|
|
12
|
+
ttlMs;
|
|
13
|
+
lastSeen = new Map();
|
|
14
|
+
/** `now`/`ttlMs` are injectable so tests drive expiry without real time. */
|
|
15
|
+
constructor(now = Date.now, ttlMs = VIEWER_TTL_MS) {
|
|
16
|
+
this.now = now;
|
|
17
|
+
this.ttlMs = ttlMs;
|
|
18
|
+
}
|
|
19
|
+
/** A tab pinged: record its lastSeen so it counts for another TTL window. */
|
|
20
|
+
beat(clientId) {
|
|
21
|
+
this.lastSeen.set(clientId, this.now());
|
|
22
|
+
}
|
|
23
|
+
/** A tab's `gone` beacon (clean close): drop it immediately, no TTL wait. */
|
|
24
|
+
drop(clientId) {
|
|
25
|
+
this.lastSeen.delete(clientId);
|
|
26
|
+
}
|
|
27
|
+
/** Live clients = entries seen within the TTL; prunes the stale ones lazily. */
|
|
28
|
+
count() {
|
|
29
|
+
const cutoff = this.now() - this.ttlMs;
|
|
30
|
+
for (const [clientId, at] of this.lastSeen) {
|
|
31
|
+
if (at <= cutoff)
|
|
32
|
+
this.lastSeen.delete(clientId);
|
|
33
|
+
}
|
|
34
|
+
return this.lastSeen.size;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=viewers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewers.js","sourceRoot":"","sources":["../../src/daemon/viewers.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,iFAAiF;AACjF,0EAA0E;AAC1E,mEAAmE;AAEnE,iFAAiF;AACjF,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B,MAAM,OAAO,OAAO;IAKC;IACA;IALF,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEtD,4EAA4E;IAC5E,YACmB,MAAoB,IAAI,CAAC,GAAG,EAC5B,QAAgB,aAAa;QAD7B,QAAG,GAAH,GAAG,CAAyB;QAC5B,UAAK,GAAL,KAAK,CAAwB;IAC7C,CAAC;IAEJ,6EAA6E;IAC7E,IAAI,CAAC,QAAgB;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,6EAA6E;IAC7E,IAAI,CAAC,QAAgB;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,gFAAgF;IAChF,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACvC,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,EAAE,IAAI,MAAM;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF"}
|
package/dist/shared/config.js
CHANGED
|
@@ -19,16 +19,22 @@ export const DEFAULT_CONFIG = {
|
|
|
19
19
|
cap: 20,
|
|
20
20
|
noteMaxChars: 200,
|
|
21
21
|
},
|
|
22
|
+
stream: {
|
|
23
|
+
cap: 2000,
|
|
24
|
+
detailMaxChars: 600,
|
|
25
|
+
labelMaxChars: 120,
|
|
26
|
+
},
|
|
22
27
|
notifications: { desktop: true },
|
|
23
28
|
worktree: { dir: "~/.otacon/worktrees" },
|
|
24
29
|
plans: { dir: ".otacon/plans" },
|
|
30
|
+
update: { auto: true },
|
|
25
31
|
};
|
|
26
32
|
/**
|
|
27
33
|
* One entry per leaf config key. The guard test asserts this enumerates exactly
|
|
28
34
|
* the leaves of DEFAULT_CONFIG, so config can never grow without a schema entry.
|
|
29
35
|
*/
|
|
30
36
|
export const CONFIG_SCHEMA = [
|
|
31
|
-
// budgets — read-path line caps (
|
|
37
|
+
// budgets — read-path line caps (plan structure, lint, and anchoring, lint severity)
|
|
32
38
|
{
|
|
33
39
|
section: "budgets",
|
|
34
40
|
key: "summaryLines",
|
|
@@ -137,7 +143,7 @@ export const CONFIG_SCHEMA = [
|
|
|
137
143
|
default: DEFAULT_CONFIG.budgets.detailsSoftCapLines,
|
|
138
144
|
min: 1,
|
|
139
145
|
},
|
|
140
|
-
// activity — live feed tuning (
|
|
146
|
+
// activity — live feed tuning (review loop and daemon API, tuning defaults)
|
|
141
147
|
{
|
|
142
148
|
section: "activity",
|
|
143
149
|
key: "cap",
|
|
@@ -156,7 +162,35 @@ export const CONFIG_SCHEMA = [
|
|
|
156
162
|
default: DEFAULT_CONFIG.activity.noteMaxChars,
|
|
157
163
|
min: 1,
|
|
158
164
|
},
|
|
159
|
-
//
|
|
165
|
+
// stream — normalized live-activity stream tuning (the automatic, cross-agent activity stream)
|
|
166
|
+
{
|
|
167
|
+
section: "stream",
|
|
168
|
+
key: "cap",
|
|
169
|
+
label: "Activity stream cap",
|
|
170
|
+
description: "How many newest normalized stream events stream.jsonl keeps.",
|
|
171
|
+
type: "int",
|
|
172
|
+
default: DEFAULT_CONFIG.stream.cap,
|
|
173
|
+
min: 1,
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
section: "stream",
|
|
177
|
+
key: "detailMaxChars",
|
|
178
|
+
label: "Stream detail max characters",
|
|
179
|
+
description: "Server-side truncation length for a stream event's redacted detail body.",
|
|
180
|
+
type: "int",
|
|
181
|
+
default: DEFAULT_CONFIG.stream.detailMaxChars,
|
|
182
|
+
min: 1,
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
section: "stream",
|
|
186
|
+
key: "labelMaxChars",
|
|
187
|
+
label: "Stream label max characters",
|
|
188
|
+
description: "Server-side cap for a stream event's one-line label.",
|
|
189
|
+
type: "int",
|
|
190
|
+
default: DEFAULT_CONFIG.stream.labelMaxChars,
|
|
191
|
+
min: 1,
|
|
192
|
+
},
|
|
193
|
+
// notifications — attention banners (review loop and daemon API)
|
|
160
194
|
{
|
|
161
195
|
section: "notifications",
|
|
162
196
|
key: "desktop",
|
|
@@ -165,7 +199,7 @@ export const CONFIG_SCHEMA = [
|
|
|
165
199
|
type: "bool",
|
|
166
200
|
default: DEFAULT_CONFIG.notifications.desktop,
|
|
167
201
|
},
|
|
168
|
-
// worktree — Approve & Implement build location (
|
|
202
|
+
// worktree — Approve & Implement build location (approval and archive lifecycle)
|
|
169
203
|
{
|
|
170
204
|
section: "worktree",
|
|
171
205
|
key: "dir",
|
|
@@ -174,7 +208,7 @@ export const CONFIG_SCHEMA = [
|
|
|
174
208
|
type: "path",
|
|
175
209
|
default: DEFAULT_CONFIG.worktree.dir,
|
|
176
210
|
},
|
|
177
|
-
// plans — where Save writes the approved plan's project copy (
|
|
211
|
+
// plans — where Save writes the approved plan's project copy (approval and archive lifecycle)
|
|
178
212
|
{
|
|
179
213
|
section: "plans",
|
|
180
214
|
key: "dir",
|
|
@@ -183,6 +217,15 @@ export const CONFIG_SCHEMA = [
|
|
|
183
217
|
type: "path",
|
|
184
218
|
default: DEFAULT_CONFIG.plans.dir,
|
|
185
219
|
},
|
|
220
|
+
// update — auto-update at otacon start (install/update)
|
|
221
|
+
{
|
|
222
|
+
section: "update",
|
|
223
|
+
key: "auto",
|
|
224
|
+
label: "Auto-update on start",
|
|
225
|
+
description: "Self-update to the latest published version at otacon start (off pins the installed version).",
|
|
226
|
+
type: "bool",
|
|
227
|
+
default: DEFAULT_CONFIG.update.auto,
|
|
228
|
+
},
|
|
186
229
|
];
|
|
187
230
|
/**
|
|
188
231
|
* Validate one raw value against a field's type rule, shared by loadConfig's
|
|
@@ -265,9 +308,11 @@ function overlayConfig(base, raw, source) {
|
|
|
265
308
|
const merged = {
|
|
266
309
|
budgets: { ...base.budgets },
|
|
267
310
|
activity: { ...base.activity },
|
|
311
|
+
stream: { ...base.stream },
|
|
268
312
|
notifications: { ...base.notifications },
|
|
269
313
|
worktree: { ...base.worktree },
|
|
270
314
|
plans: { ...base.plans },
|
|
315
|
+
update: { ...base.update },
|
|
271
316
|
};
|
|
272
317
|
const mergedSections = merged;
|
|
273
318
|
walkProvidedFields(raw, (section, field, result) => {
|
|
@@ -287,8 +332,8 @@ function overlayConfig(base, raw, source) {
|
|
|
287
332
|
* (`<repo>/.otacon/config.json`, team-shared) ← project.local
|
|
288
333
|
* (`<repo>/.otacon/config.local.json`, personal). Closest wins. Loaded fresh
|
|
289
334
|
* on every use so tuning takes effect immediately. Each file is overlaid field
|
|
290
|
-
* by field against CONFIG_SCHEMA (budgets, activity,
|
|
291
|
-
* plans).
|
|
335
|
+
* by field against CONFIG_SCHEMA (budgets, activity, stream, notifications,
|
|
336
|
+
* worktree, plans, update).
|
|
292
337
|
*/
|
|
293
338
|
export function loadConfig(repoRoot) {
|
|
294
339
|
const overlay = (source, into) => overlayConfig(into, readJsonFile(source), source);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/gwt.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// The behavioral-assertion grammar (
|
|
1
|
+
// The behavioral-assertion grammar (plan structure, lint, and anchoring, threaded review and revision): a ```gwt fence inside a
|
|
2
2
|
// phase's Verification holds one or more Given/When/Then scenarios that double
|
|
3
3
|
// as the human's Test-Driven Review approve checklist. This tokenizer is the
|
|
4
4
|
// single source of truth for what a scenario *is*, shared by the daemon linter
|
package/dist/shared/gwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gwt.js","sourceRoot":"","sources":["../../src/shared/gwt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"gwt.js","sourceRoot":"","sources":["../../src/shared/gwt.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/paths.js
CHANGED
|
@@ -20,19 +20,27 @@ export function globalConfigPath() {
|
|
|
20
20
|
return join(otaconHome(), "config.json");
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
* The
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
|
|
23
|
+
* The auto-update check cache (`<OTACON_HOME>/update-check.json`): records
|
|
24
|
+
* `checkedAt` so `otacon start` throttles the registry fetch to once per hour
|
|
25
|
+
* instead of paying a round-trip on every start.
|
|
26
|
+
*/
|
|
27
|
+
export function updateCachePath() {
|
|
28
|
+
return join(otaconHome(), "update-check.json");
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The canonical home session root (`<OTACON_HOME>/sessions`): every session's
|
|
32
|
+
* working state lives here keyed by its session id, regardless of the repo, and
|
|
33
|
+
* the approved plan lands here too. Deleting a session (UI or `otacon clean`)
|
|
34
|
+
* removes its `<id>/` folder outright.
|
|
27
35
|
*/
|
|
28
36
|
export function homeSessionsDir() {
|
|
29
37
|
return join(otaconHome(), "sessions");
|
|
30
38
|
}
|
|
31
39
|
/**
|
|
32
|
-
* One session's home
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* `<date>-<slug>.md`.
|
|
40
|
+
* One session's home dir (`<OTACON_HOME>/sessions/<id>`). The session id is a
|
|
41
|
+
* globally-unique hash, so this never collides across repos. It is the
|
|
42
|
+
* per-session working dir (state, events, threads, revisions) AND where the
|
|
43
|
+
* approved plan lands as `<date>-<slug>.md`.
|
|
36
44
|
*/
|
|
37
45
|
export function homeSessionDir(id) {
|
|
38
46
|
return join(homeSessionsDir(), id);
|
|
@@ -54,42 +62,69 @@ export function repoConfigPath(repoRoot) {
|
|
|
54
62
|
export function repoLocalConfigPath(repoRoot) {
|
|
55
63
|
return join(otaconDir(repoRoot), "config.local.json");
|
|
56
64
|
}
|
|
65
|
+
/** Expand a leading `~`/`~/` to the OS home dir; leave other paths untouched. */
|
|
66
|
+
export function expandTilde(p) {
|
|
67
|
+
if (p === "~")
|
|
68
|
+
return homedir();
|
|
69
|
+
if (p.startsWith("~/"))
|
|
70
|
+
return join(homedir(), p.slice(2));
|
|
71
|
+
return p;
|
|
72
|
+
}
|
|
57
73
|
export function otaconDir(repoRoot) {
|
|
58
74
|
return join(repoRoot, ".otacon");
|
|
59
75
|
}
|
|
60
|
-
|
|
61
|
-
|
|
76
|
+
/**
|
|
77
|
+
* One session's working+archive dir. Lives in the home store
|
|
78
|
+
* (`~/.otacon/sessions/<id>/`), not in the repo: state, events, threads,
|
|
79
|
+
* revisions, and the approved plan all share this id-keyed, repo-independent
|
|
80
|
+
* folder. Equals homeSessionDir(id).
|
|
81
|
+
*/
|
|
82
|
+
export function sessionDir(id) {
|
|
83
|
+
return homeSessionDir(id);
|
|
84
|
+
}
|
|
85
|
+
/** The draft plan markdown (home store `~/.otacon/sessions/<id>/plan.md`). */
|
|
86
|
+
export function planPath(id) {
|
|
87
|
+
return join(sessionDir(id), "plan.md");
|
|
62
88
|
}
|
|
63
|
-
|
|
64
|
-
|
|
89
|
+
/** The session state file (home store `~/.otacon/sessions/<id>/session.json`). */
|
|
90
|
+
export function sessionStatePath(id) {
|
|
91
|
+
return join(sessionDir(id), "session.json");
|
|
65
92
|
}
|
|
66
|
-
|
|
67
|
-
|
|
93
|
+
/** The persisted event queue (home store `~/.otacon/sessions/<id>/events.json`). */
|
|
94
|
+
export function eventsPath(id) {
|
|
95
|
+
return join(sessionDir(id), "events.json");
|
|
68
96
|
}
|
|
69
|
-
|
|
70
|
-
|
|
97
|
+
/** Comment + question threads for the review UI's rail, in the home store `~/.otacon/sessions/<id>/threads.json` (threaded review and revision, approval and archive lifecycle). */
|
|
98
|
+
export function threadsPath(id) {
|
|
99
|
+
return join(sessionDir(id), "threads.json");
|
|
71
100
|
}
|
|
72
|
-
/**
|
|
73
|
-
export function
|
|
74
|
-
return join(sessionDir(
|
|
101
|
+
/** The grill Q&A transcript (interview questions), in the home store `~/.otacon/sessions/<id>/transcript.json`: appended to the approved artifact. */
|
|
102
|
+
export function transcriptPath(id) {
|
|
103
|
+
return join(sessionDir(id), "transcript.json");
|
|
75
104
|
}
|
|
76
|
-
/** The
|
|
77
|
-
export function
|
|
78
|
-
return join(sessionDir(
|
|
105
|
+
/** The append-only live-activity feed (`otacon progress` notes), in the home store `~/.otacon/sessions/<id>/activity.json`. */
|
|
106
|
+
export function activityPath(id) {
|
|
107
|
+
return join(sessionDir(id), "activity.json");
|
|
79
108
|
}
|
|
80
|
-
/**
|
|
81
|
-
|
|
82
|
-
|
|
109
|
+
/**
|
|
110
|
+
* The append-only normalized live-activity stream (JSONL), in the home store
|
|
111
|
+
* `~/.otacon/sessions/<id>/stream.jsonl`: captured agent activity plus `otacon
|
|
112
|
+
* progress` highlights. Ephemeral, capped, one event per line, distinct from
|
|
113
|
+
* the legacy `activity.json` (the draft-chip feed).
|
|
114
|
+
*/
|
|
115
|
+
export function streamPath(id) {
|
|
116
|
+
return join(sessionDir(id), "stream.jsonl");
|
|
83
117
|
}
|
|
84
|
-
|
|
85
|
-
|
|
118
|
+
/** A revision snapshot (home store `~/.otacon/sessions/<id>/r<n>.md`). */
|
|
119
|
+
export function revisionPath(id, n) {
|
|
120
|
+
return join(sessionDir(id), `r${n}.md`);
|
|
86
121
|
}
|
|
87
|
-
/** Lint warnings recorded when r<n>.md was accepted (the UI's L6 badges). */
|
|
88
|
-
export function revisionWarningsPath(
|
|
89
|
-
return join(sessionDir(
|
|
122
|
+
/** Lint warnings recorded when r<n>.md was accepted (the UI's L6 badges), in the home store `~/.otacon/sessions/<id>/r<n>.warnings.json`. */
|
|
123
|
+
export function revisionWarningsPath(id, n) {
|
|
124
|
+
return join(sessionDir(id), `r${n}.warnings.json`);
|
|
90
125
|
}
|
|
91
|
-
/** The agent's changelog submitted with r<n>.md
|
|
92
|
-
export function revisionChangelogPath(
|
|
93
|
-
return join(sessionDir(
|
|
126
|
+
/** The agent's changelog submitted with r<n>.md, in the home store `~/.otacon/sessions/<id>/r<n>.changelog.md` (threaded review and revision layer 1). */
|
|
127
|
+
export function revisionChangelogPath(id, n) {
|
|
128
|
+
return join(sessionDir(id), `r${n}.changelog.md`);
|
|
94
129
|
}
|
|
95
130
|
//# sourceMappingURL=paths.js.map
|
package/dist/shared/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,8EAA8E;AAC9E,6EAA6E;AAC7E,wCAAwC;AAExC,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,eAAe,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// The grill-question spec
|
|
1
|
+
// The grill-question spec: the one shape + validator behind
|
|
2
2
|
// `otacon ask`. The CLI validates client-side (single flag form and --batch)
|
|
3
3
|
// so the agent fixes its invocation before the daemon sees it; the daemon
|
|
4
4
|
// re-validates as the trust boundary. Keeping both layers on this single
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question-spec.js","sourceRoot":"","sources":["../../src/shared/question-spec.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"question-spec.js","sourceRoot":"","sources":["../../src/shared/question-spec.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,mEAAmE;AAWnE;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,GAA8B,CAAC;IAC/E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,GACN,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACtB,OAAO,CAAC,MAAM,IAAI,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAC9D,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,+CAA+C,CAAC;IAClE,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7F,OAAO,wCAAwC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC;QAC5F,OAAO,8CAA8C,CAAC;IACxD,CAAC;IACD,OAAO;QACL,QAAQ;QACR,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC"}
|
package/dist/shared/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Cross-layer types shared by the daemon and the CLI.
|
|
2
|
-
// Wire shapes (EventPayload) follow
|
|
2
|
+
// Wire shapes (EventPayload) follow review loop and daemon API exactly.
|
|
3
3
|
export const SESSION_STATUSES = [
|
|
4
4
|
"draft",
|
|
5
5
|
"in_review",
|
|
@@ -11,7 +11,7 @@ export const SESSION_STATUSES = [
|
|
|
11
11
|
"implement_failed",
|
|
12
12
|
];
|
|
13
13
|
/**
|
|
14
|
-
* The terminal states (
|
|
14
|
+
* The terminal states (approval and archive lifecycle status machine): a session here is *over* —
|
|
15
15
|
* every mutating verb refuses (app.ts `sessionEnded`), and the CLI's pointer
|
|
16
16
|
* rules stop resolving it implicitly. `implementing` is deliberately NOT here:
|
|
17
17
|
* it re-opens progress/ask/wait/answer while the agent builds the approved plan.
|
|
@@ -19,7 +19,11 @@ export const SESSION_STATUSES = [
|
|
|
19
19
|
* defers the finalize while the agent folds the open comments in, so its next
|
|
20
20
|
* `submit` must still mutate the session. The single source of truth — the app
|
|
21
21
|
* guard and the CLI resolver both derive from this, so they can never disagree
|
|
22
|
-
* about what "over" means.
|
|
22
|
+
* about what "over" means. Terminal is no longer strictly one-way: a finished
|
|
23
|
+
* session can be REOPENED back to `revising` via `POST /api/sessions/:id/reopen`
|
|
24
|
+
* (a later `/otacon` run from inside the build worktree amends it in place
|
|
25
|
+
* instead of spawning a second worktree). Terminal means "over until explicitly
|
|
26
|
+
* reopened", not "forever".
|
|
23
27
|
*/
|
|
24
28
|
export const TERMINAL_STATUSES = [
|
|
25
29
|
"approved",
|
package/dist/shared/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,wEAAwE;AAgBxE,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,OAAO;IACP,WAAW;IACX,UAAU;IACV,YAAY;IACZ,UAAU;IACV,cAAc;IACd,aAAa;IACb,kBAAkB;CACnB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACzD,UAAU;IACV,aAAa;IACb,kBAAkB;CACnB,CAAC;AAyQF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,oCAAoC,CAAC"}
|
package/dist/shared/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Generated from package.json by scripts/gen-version.ts — do NOT hand-edit.
|
|
2
2
|
// version.test.ts guards that this equals package.json's version. Bump the
|
|
3
3
|
// version in package.json, then run `bun run gen:version` to regenerate.
|
|
4
|
-
export const VERSION = "0.1.
|
|
4
|
+
export const VERSION = "0.1.4";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|