zcode-acp-server 0.58.1 → 0.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +1 -1
  2. package/dist/code-fingerprint.json +2 -2
  3. package/dist/config/user-config.d.ts +4 -0
  4. package/dist/config/user-config.d.ts.map +1 -1
  5. package/dist/config/user-config.js +10 -1
  6. package/dist/config/user-config.js.map +1 -1
  7. package/dist/push/config.d.ts +4 -0
  8. package/dist/push/config.d.ts.map +1 -1
  9. package/dist/push/config.js +2 -0
  10. package/dist/push/config.js.map +1 -1
  11. package/dist/push/push.d.ts +14 -2
  12. package/dist/push/push.d.ts.map +1 -1
  13. package/dist/push/push.js +18 -0
  14. package/dist/push/push.js.map +1 -1
  15. package/dist/quota/index.d.ts.map +1 -1
  16. package/dist/quota/index.js +6 -0
  17. package/dist/quota/index.js.map +1 -1
  18. package/dist/quota/live.d.ts +4 -1
  19. package/dist/quota/live.d.ts.map +1 -1
  20. package/dist/quota/live.js +6 -2
  21. package/dist/quota/live.js.map +1 -1
  22. package/dist/quota/thresholds.d.ts +32 -0
  23. package/dist/quota/thresholds.d.ts.map +1 -0
  24. package/dist/quota/thresholds.js +129 -0
  25. package/dist/quota/thresholds.js.map +1 -0
  26. package/dist/remote/hub-server.d.ts.map +1 -1
  27. package/dist/remote/hub-server.js +21 -0
  28. package/dist/remote/hub-server.js.map +1 -1
  29. package/dist/remote/workflow-overview.d.ts +78 -0
  30. package/dist/remote/workflow-overview.d.ts.map +1 -0
  31. package/dist/remote/workflow-overview.js +231 -0
  32. package/dist/remote/workflow-overview.js.map +1 -0
  33. package/dist/workflow/poller.d.ts +13 -0
  34. package/dist/workflow/poller.d.ts.map +1 -1
  35. package/dist/workflow/poller.js +68 -1
  36. package/dist/workflow/poller.js.map +1 -1
  37. package/package.json +1 -1
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Machine-level workflow overview for remote clients (the hub's
3
+ * `GET /api/workflow-overview`).
4
+ *
5
+ * The per-instance settings routes answer with each BRIDGE's own slice: a
6
+ * workspace with two bridges (editor + serve) yields two project groups for
7
+ * the same project, and a bridge only sees the runs of its own cwd — so a
8
+ * client polling "is anything flying?" against the one instance it happens to
9
+ * be attached to reads an empty list while another project's run is very much
10
+ * alive (observed 2026-10-01: the management page double-listed ai-hot-app
11
+ * and its live-run zone showed nothing). Every part of that story is
12
+ * machine-level data:
13
+ *
14
+ * - the dwf journal (run history) is ONE sqlite store shared by every backend
15
+ * process — any bridge's `workflows/runs?scope=global` read (no cwd filter)
16
+ * answers for the whole machine, each row carrying its own `cwd`;
17
+ * - the saved-workflow FILES are per workspace, so the project list needs one
18
+ * bridge per workspace — but every bridge of that workspace reads the same
19
+ * directory, so ONE representative suffices;
20
+ * - the global saved-workflow directory is machine-wide, so one global group
21
+ * is enough.
22
+ *
23
+ * This module folds all of that server-side (the hub owns the instance map):
24
+ * dedupe instances to one group per workspace, race the pair reads with the
25
+ * freshest-started bridge preferred (an old long-lived bridge may predate the
26
+ * workflow routes — fall back to a sibling that answers), and answer with a
27
+ * ready-to-render list plus the machine-wide `activeRuns` (journal rows with
28
+ * status pending/running, annotated with the instance that currently lists
29
+ * their session so the client can address stop/resume correctly).
30
+ *
31
+ * Everything is best-effort per group: a failing workspace degrades to an
32
+ * `error` group (the list must not blank out because one bridge is down),
33
+ * and the whole call only rejects on a structural bug.
34
+ */
35
+ import { get as httpGet } from "node:http";
36
+ /** Per-read budget — these are loopback scans, not backend round-trips. */
37
+ const FETCH_TIMEOUT_MS = 8_000;
38
+ const MAX_BODY_BYTES = 2 * 1024 * 1024;
39
+ /** Journal window for the global read (upstream caps the limit at 50). */
40
+ const RUNS_LIMIT = 50;
41
+ /** GET one bridge route, parsed as JSON. Rejects on transport/status/parse. */
42
+ function fetchBridgeJson(port, path) {
43
+ return new Promise((resolve, reject) => {
44
+ const req = httpGet({ host: "127.0.0.1", port, path }, (up) => {
45
+ if ((up.statusCode ?? 500) !== 200) {
46
+ up.resume();
47
+ reject(new Error(`bridge answered ${up.statusCode ?? "?"}`));
48
+ return;
49
+ }
50
+ const chunks = [];
51
+ let size = 0;
52
+ up.on("data", (c) => {
53
+ size += c.length;
54
+ if (size > MAX_BODY_BYTES) {
55
+ up.destroy();
56
+ reject(new Error("bridge answer too large"));
57
+ return;
58
+ }
59
+ chunks.push(c);
60
+ });
61
+ up.on("end", () => {
62
+ try {
63
+ const parsed = JSON.parse(Buffer.concat(chunks).toString("utf8"));
64
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
65
+ reject(new Error("bridge answer is not an object"));
66
+ return;
67
+ }
68
+ resolve(parsed);
69
+ }
70
+ catch {
71
+ reject(new Error("bridge answer is not JSON"));
72
+ }
73
+ });
74
+ up.on("error", reject);
75
+ });
76
+ req.setTimeout(FETCH_TIMEOUT_MS, () => req.destroy(new Error("bridge fetch timed out")));
77
+ req.on("error", reject);
78
+ });
79
+ }
80
+ /**
81
+ * One LIST+RUNS pair for a scope, read from one bridge in parallel: racing the
82
+ * runs read separately lets the journal answer land before the list it belongs
83
+ * to (the client-side bug this endpoint replaces did exactly that).
84
+ */
85
+ async function fetchPair(inst, scope) {
86
+ const q = `?scope=${scope}&limit=${RUNS_LIMIT}`;
87
+ const [list, runs] = await Promise.all([
88
+ fetchBridgeJson(inst.port, `/settings/workflows${q}`),
89
+ fetchBridgeJson(inst.port, `/settings/workflows/runs${q}`),
90
+ ]);
91
+ return {
92
+ list,
93
+ runs: Array.isArray(runs["runs"]) ? runs["runs"] : [],
94
+ };
95
+ }
96
+ /**
97
+ * Ask every candidate bridge for the pair and keep the FRESHEST-started
98
+ * success. Parallel on purpose: a dead/old bridge must not serialize the
99
+ * workspaces that can answer. Undefined = every candidate failed (the caller
100
+ * renders an error group / drops the global group).
101
+ */
102
+ async function pickPair(candidates, scope) {
103
+ const results = await Promise.all(candidates.map(async (inst) => {
104
+ try {
105
+ return { inst, pair: await fetchPair(inst, scope) };
106
+ }
107
+ catch {
108
+ return { inst };
109
+ }
110
+ }));
111
+ const winners = results.filter((r) => "pair" in r);
112
+ if (winners.length === 0)
113
+ return undefined;
114
+ winners.sort((a, b) => b.inst.startedAt - a.inst.startedAt);
115
+ return winners[0];
116
+ }
117
+ /** Per workflow NAME, the newest journal row (`updatedAt` desc) — the badge join. */
118
+ function lastRunByName(runs) {
119
+ const byName = {};
120
+ const sorted = [...runs].sort((a, b) => (b.updatedAt ?? 0) - (a.updatedAt ?? 0));
121
+ for (const r of sorted) {
122
+ if (typeof r.name === "string" && r.name && !byName[r.name])
123
+ byName[r.name] = r;
124
+ }
125
+ return byName;
126
+ }
127
+ function workflowsOf(list) {
128
+ return Array.isArray(list["workflows"]) ? list["workflows"] : [];
129
+ }
130
+ function invalidOf(list) {
131
+ return Array.isArray(list["invalid"]) ? list["invalid"] : [];
132
+ }
133
+ /**
134
+ * Annotate each run with the instance whose live session list currently holds
135
+ * its joined ACP session — the address for stop/resume from a client attached
136
+ * to a DIFFERENT instance. A session shown "running" on one instance wins;
137
+ * otherwise the freshest-started holder. Rows no instance lists stay bare
138
+ * (the client falls back to its own launch memory / current instance).
139
+ */
140
+ function annotateOwners(rows, instances) {
141
+ for (const row of rows) {
142
+ const acpSid = row.acpSessionId;
143
+ if (typeof acpSid !== "string" || !acpSid)
144
+ continue;
145
+ let best;
146
+ let bestRunning = false;
147
+ for (const inst of instances) {
148
+ const mine = inst.sessions.find((s) => s.sessionId === acpSid);
149
+ if (!mine)
150
+ continue;
151
+ const running = mine.status === "running";
152
+ const better = best === undefined ||
153
+ (running && !bestRunning) ||
154
+ (running === bestRunning && inst.startedAt > best.startedAt);
155
+ if (better) {
156
+ best = inst;
157
+ bestRunning = running;
158
+ }
159
+ }
160
+ if (best)
161
+ row.ownerInstanceId = best.id;
162
+ }
163
+ }
164
+ /**
165
+ * Build the machine-level overview from the hub's instance snapshot.
166
+ * Never throws for bridge-side failures — only for structural bugs.
167
+ */
168
+ export async function buildWorkflowOverview(instances) {
169
+ // One representative per workspace, freshest started first (the prefer
170
+ // order pickPair consumes); every duplicate bridge is a retry candidate.
171
+ const byWorkspace = new Map();
172
+ for (const inst of instances) {
173
+ const list = byWorkspace.get(inst.workspace) ?? [];
174
+ list.push(inst);
175
+ byWorkspace.set(inst.workspace, list);
176
+ }
177
+ for (const list of byWorkspace.values())
178
+ list.sort((a, b) => b.startedAt - a.startedAt);
179
+ const groups = [];
180
+ // Global saved workflows + the machine-wide journal read ride ONE pair:
181
+ // upstream's global runs read has no cwd filter, so its rows cover every
182
+ // project (each row carrying `cwd`) — the active-run feed and the global
183
+ // group's badges come from the same answer.
184
+ const global = await pickPair(instances, "global");
185
+ let activeRuns = [];
186
+ if (global) {
187
+ groups.push({
188
+ instanceId: global.inst.id,
189
+ scope: "global",
190
+ workspace: "",
191
+ workflows: workflowsOf(global.pair.list),
192
+ invalid: invalidOf(global.pair.list),
193
+ lastRuns: lastRunByName(global.pair.runs),
194
+ error: null,
195
+ });
196
+ activeRuns = global.pair.runs.filter((r) => r.status === "running" || r.status === "pending");
197
+ annotateOwners(activeRuns, instances);
198
+ }
199
+ // One project group per workspace, workspace-path order (stable across
200
+ // refreshes — completion-order pushes reordered the sections client-side).
201
+ const workspaces = [...byWorkspace.keys()].sort();
202
+ const projectGroups = await Promise.all(workspaces.map(async (workspace) => {
203
+ const candidates = byWorkspace.get(workspace);
204
+ const picked = await pickPair(candidates, "project");
205
+ if (!picked) {
206
+ // Every bridge of this workspace failed — a group the client renders
207
+ // as unavailable, still carrying the workspace label.
208
+ return {
209
+ instanceId: candidates[0].id,
210
+ scope: "project",
211
+ workspace,
212
+ workflows: [],
213
+ invalid: [],
214
+ lastRuns: {},
215
+ error: "no bridge of this workspace answered",
216
+ };
217
+ }
218
+ return {
219
+ instanceId: picked.inst.id,
220
+ scope: "project",
221
+ workspace,
222
+ workflows: workflowsOf(picked.pair.list),
223
+ invalid: invalidOf(picked.pair.list),
224
+ lastRuns: lastRunByName(picked.pair.runs),
225
+ error: null,
226
+ };
227
+ }));
228
+ groups.push(...projectGroups);
229
+ return { ok: true, groups, activeRuns };
230
+ }
231
+ //# sourceMappingURL=workflow-overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-overview.js","sourceRoot":"","sources":["../../src/remote/workflow-overview.ts"],"names":[],"mappings":"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"}
@@ -23,10 +23,23 @@
23
23
  *
24
24
  * Everything here is best-effort: request() resolves `{error}` instead of
25
25
  * throwing, and every failure path only logs — never into the event loop.
26
+ *
27
+ * Stage pushes (#294): phase entries and failed nodes also reach WeCom as a
28
+ * rate-limited DIGEST (`pushSettled` kind "workflowStage") — mid-run progress
29
+ * must be able to wake a phone, and the card only reaches clients already
30
+ * watching the session.
26
31
  */
27
32
  import type { ZcodeAcpServer } from "../server.js";
28
33
  /** Poll cadence (setTimeout chain, timers unref'd). Injectable for tests. */
29
34
  export declare const WORKFLOW_POLL_INTERVAL_MS = 3000;
35
+ /**
36
+ * Min interval between stage-digest WeCom pushes per run (#294): a fan-out
37
+ * workflow with dozens of nodes must not machine-gun the phone. Stage lines
38
+ * landing inside the window are held and flushed as ONE digest when it opens
39
+ * (or at run settle, whichever comes first) — the poll cadence doubles as
40
+ * the digest timer, no extra timers.
41
+ */
42
+ export declare const WORKFLOW_STAGE_PUSH_MIN_INTERVAL_MS = 60000;
30
43
  /** One v4 journal event (transport.ts:599-646). */
31
44
  interface WorkflowRunEvent {
32
45
  sequence: number;
@@ -1 +1 @@
1
- {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../src/workflow/poller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAiB9C,mDAAmD;AACnD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAiCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAqCrE;AAiLD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9E,IAAI,CAuBN;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKzD;AAED,sFAAsF;AACtF,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI5D;AAED,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D"}
1
+ {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../src/workflow/poller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAiB9C;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,QAAS,CAAC;AAE1D,mDAAmD;AACnD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAqCrE;AAqOD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9E,IAAI,CAyBN;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKzD;AAED,sFAAsF;AACtF,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI5D;AAED,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D"}
@@ -23,6 +23,11 @@
23
23
  *
24
24
  * Everything here is best-effort: request() resolves `{error}` instead of
25
25
  * throwing, and every failure path only logs — never into the event loop.
26
+ *
27
+ * Stage pushes (#294): phase entries and failed nodes also reach WeCom as a
28
+ * rate-limited DIGEST (`pushSettled` kind "workflowStage") — mid-run progress
29
+ * must be able to wake a phone, and the card only reaches clients already
30
+ * watching the session.
26
31
  */
27
32
  import { pushSettled, pushSourceLabel } from "../push/push.js";
28
33
  import { log } from "../utils.js";
@@ -38,6 +43,14 @@ const EVENTS_PAGE_LIMIT = 100;
38
43
  const MAX_PAGES_PER_TICK = 50;
39
44
  /** Cap on accumulated progress lines (keep first/last, drop the middle). */
40
45
  const MAX_LINES = 200;
46
+ /**
47
+ * Min interval between stage-digest WeCom pushes per run (#294): a fan-out
48
+ * workflow with dozens of nodes must not machine-gun the phone. Stage lines
49
+ * landing inside the window are held and flushed as ONE digest when it opens
50
+ * (or at run settle, whichever comes first) — the poll cadence doubles as
51
+ * the digest timer, no extra timers.
52
+ */
53
+ export const WORKFLOW_STAGE_PUSH_MIN_INTERVAL_MS = 60_000;
41
54
  /** Active runs keyed by runId (taskId ≡ runId upstream — one key per run). */
42
55
  const activeRuns = new Map();
43
56
  /**
@@ -129,11 +142,54 @@ function teardown(run) {
129
142
  }
130
143
  /** Settled-push payload for a run's terminal state (§5.2 — four convergence
131
144
  * points, this is their shared renderer). */
145
+ function runLabel(run) {
146
+ return run.name ?? `run ${run.runId.slice(0, 8)}`;
147
+ }
148
+ /**
149
+ * Stage transitions worth a WeCom push (#294): a phase entry (the journal has
150
+ * no phase-exited — entering phase N implies N-1 completed) and any FAILED
151
+ * node. Ok/cancelled node outcomes stay card-only (chatty at fan-out scale).
152
+ */
153
+ function isStagePushEvent(ev) {
154
+ if (ev.type === "phase-entered")
155
+ return true;
156
+ return ev.type.startsWith("node-") && (ev.payload ?? {}).outcome === "failed";
157
+ }
158
+ /**
159
+ * Send the held stage digest as one WeCom push. The failure marker rides the
160
+ * TITLE, not the body: `contentDetail: "minimal"` strips bodies, and a failed
161
+ * node is the one stage fact minimal mode must still carry.
162
+ */
163
+ function flushStagePush(run) {
164
+ if (run.stagePending.length === 0)
165
+ return;
166
+ const lines = run.stagePending;
167
+ run.stagePending = [];
168
+ run.lastStagePushAt = Date.now();
169
+ const failed = lines.some((l) => l.startsWith("✗"));
170
+ pushSettled(run.server, {
171
+ kind: "workflowStage",
172
+ label: pushSourceLabel(run.server),
173
+ title: `workflow ${runLabel(run)}: stage progress${failed ? " — node failed" : ""}`,
174
+ body: lines.join("\n"),
175
+ });
176
+ }
177
+ /** Flush the held digest once the rate-limit window has aged open. */
178
+ function maybeFlushStagePush(run) {
179
+ if (run.stagePending.length === 0)
180
+ return;
181
+ if (Date.now() - run.lastStagePushAt < WORKFLOW_STAGE_PUSH_MIN_INTERVAL_MS)
182
+ return;
183
+ flushStagePush(run);
184
+ }
132
185
  function pushRunSettled(run, status) {
186
+ // Terminal flush: a held digest must not die with the poller, and the phone
187
+ // should read stages-then-outcome in order.
188
+ flushStagePush(run);
133
189
  pushSettled(run.server, {
134
190
  kind: "run",
135
191
  label: pushSourceLabel(run.server),
136
- title: `workflow ${run.name ?? `run ${run.runId.slice(0, 8)}`}`,
192
+ title: `workflow ${runLabel(run)}`,
137
193
  body: `run settled: ${status}`,
138
194
  });
139
195
  }
@@ -191,6 +247,12 @@ async function pollTick(run) {
191
247
  if (line) {
192
248
  pushLine(run, line);
193
249
  emitted = true;
250
+ if (isStagePushEvent(ev)) {
251
+ // Digest-hold: accumulate, flush ONCE at tick end — a per-event
252
+ // flush would spend the window on the tick's first stage line and
253
+ // rate-limit the rest of the same tick into a later digest.
254
+ run.stagePending.push(line);
255
+ }
194
256
  }
195
257
  if (ev.type === "run-settled") {
196
258
  await emitCardUpdate(run);
@@ -209,6 +271,9 @@ async function pollTick(run) {
209
271
  run.consecutiveErrors = 0;
210
272
  if (emitted)
211
273
  await emitCardUpdate(run);
274
+ // Digest-hold expiry: ticks with no new events still flush a held digest
275
+ // once the rate-limit window opens.
276
+ maybeFlushStagePush(run);
212
277
  }
213
278
  catch (e) {
214
279
  // request() never throws; anything here is our own bug — count it as an
@@ -267,6 +332,8 @@ export function armWorkflowRunPoller(server, zcodeSid, opts) {
267
332
  afterSequence: 0,
268
333
  lines: [],
269
334
  pending: [],
335
+ stagePending: [],
336
+ lastStagePushAt: 0,
270
337
  startedAt: Date.now(),
271
338
  intervalMs: opts.intervalMs ?? WORKFLOW_POLL_INTERVAL_MS,
272
339
  consecutiveErrors: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../src/workflow/poller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../src/workflow/poller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zcode-acp-server",
3
- "version": "0.58.1",
3
+ "version": "0.60.0",
4
4
  "description": "Agent Client Protocol (ACP) server bridging headless ZCode to editors like Zed and JetBrains.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",