@comput/pi-intercom 0.5.1 → 0.6.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.
- package/README.md +51 -10
- package/dist/config.d.ts +13 -1
- package/dist/config.js +57 -5
- package/dist/config.js.map +1 -1
- package/dist/handoff.d.ts +87 -0
- package/dist/handoff.js +327 -0
- package/dist/handoff.js.map +1 -0
- package/dist/index.js +76 -15
- package/dist/index.js.map +1 -1
- package/dist/monitor-view.d.ts +1 -1
- package/dist/monitor-view.js +49 -3
- package/dist/monitor-view.js.map +1 -1
- package/dist/observability.d.ts +1 -1
- package/dist/observability.js +1 -1
- package/dist/observability.js.map +1 -1
- package/dist/pane-close.d.ts +22 -0
- package/dist/pane-close.js +166 -0
- package/dist/pane-close.js.map +1 -0
- package/dist/runtime.d.ts +9 -2
- package/dist/runtime.js +75 -6
- package/dist/runtime.js.map +1 -1
- package/dist/snapshot.d.ts +9 -0
- package/dist/snapshot.js +23 -1
- package/dist/snapshot.js.map +1 -1
- package/dist/transport.d.ts +2 -1
- package/dist/transport.js +4 -1
- package/dist/transport.js.map +1 -1
- package/dist/version.d.ts +1 -0
- package/dist/version.js +15 -0
- package/dist/version.js.map +1 -0
- package/dist/worker-status.d.ts +1 -1
- package/dist/worker-status.js +9 -1
- package/dist/worker-status.js.map +1 -1
- package/package.json +2 -2
- package/references/implementation-blocker.md +1 -1
- package/references/observability.md +13 -3
- package/src/config.ts +49 -4
- package/src/handoff.ts +280 -0
- package/src/index.ts +60 -13
- package/src/monitor-view.ts +48 -4
- package/src/observability.ts +1 -1
- package/src/pane-close.ts +138 -0
- package/src/runtime.ts +63 -7
- package/src/snapshot.ts +22 -1
- package/src/transport.ts +4 -2
- package/src/version.ts +13 -0
- package/src/worker-status.ts +9 -2
package/dist/handoff.js
ADDED
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
export const HANDOFF_KINDS = ['close_prepare', 'close_identity', 'close_request', 'handoff_report', 'close_ready', 'close_commit'];
|
|
3
|
+
const states = ['requested', 'awaiting_handoff', 'awaiting_settlement', 'ready', 'closing', 'closed', 'failed', 'timed_out', 'interrupted', 'uncertain'];
|
|
4
|
+
const reasons = ['timeout', 'interrupted', 'delivery_failed', 'identity_failed', 'save_failed', 'worker_changed', 'worker_busy', 'commit_rejected', 'close_unverified', 'close_failed'];
|
|
5
|
+
export const pendingClose = (job) => !!job && ['requested', 'awaiting_handoff', 'awaiting_settlement', 'ready', 'closing'].includes(job.state);
|
|
6
|
+
export const fencedClose = (job) => pendingClose(job) || job?.state === 'uncertain';
|
|
7
|
+
function requireValue(ok) { if (!ok)
|
|
8
|
+
throw new Error('PiIntercom: invalid handoff protocol/state'); }
|
|
9
|
+
const string = (value, max) => typeof value === 'string' && !!value.trim() && value.length <= max && !value.includes('\0');
|
|
10
|
+
const token = (value) => typeof value === 'string' && /^[a-zA-Z0-9-]{1,128}$/.test(value);
|
|
11
|
+
const timestamp = (value) => typeof value === 'string' && value.length <= 32 && Number.isFinite(Date.parse(value));
|
|
12
|
+
export function validateIdentity(value) {
|
|
13
|
+
const v = value;
|
|
14
|
+
requireValue(v && ['workspaceId', 'paneId', 'terminalId', 'sessionId', 'processStart'].every(k => string(v[k], 256)) && string(v.sessionFile, 4096) && Number.isSafeInteger(v.pid) && v.pid > 0);
|
|
15
|
+
}
|
|
16
|
+
export function validateHandoff(value) {
|
|
17
|
+
const v = value;
|
|
18
|
+
requireValue(v && v.version === 1 && token(v.jobId) && string(v.summary, 4000) && timestamp(v.updatedAt));
|
|
19
|
+
requireValue(Object.keys(v).every(k => ['version', 'jobId', 'summary', 'updatedAt'].includes(k)));
|
|
20
|
+
}
|
|
21
|
+
export function validateCloseJob(value) {
|
|
22
|
+
const v = value;
|
|
23
|
+
requireValue(v && token(v.jobId) && states.includes(v.state) && timestamp(v.createdAt) && timestamp(v.updatedAt) && timestamp(v.deadlineAt) && (v.reason === undefined || reasons.includes(v.reason)));
|
|
24
|
+
requireValue(Object.keys(v).every(k => ['jobId', 'state', 'createdAt', 'updatedAt', 'deadlineAt', 'reason'].includes(k)));
|
|
25
|
+
}
|
|
26
|
+
export function validateHandoffPayload(kind, p) {
|
|
27
|
+
requireValue(token(p.jobId));
|
|
28
|
+
const keys = {
|
|
29
|
+
close_prepare: ['jobId', 'deadlineAt'], close_identity: ['jobId', 'instanceId', 'identity'],
|
|
30
|
+
close_request: ['jobId', 'instanceId'], handoff_report: ['jobId', 'instanceId', 'summary'],
|
|
31
|
+
close_ready: ['jobId', 'instanceId', 'readyNonce'], close_commit: ['jobId', 'instanceId', 'readyNonce'],
|
|
32
|
+
};
|
|
33
|
+
requireValue(!!keys[kind] && Object.keys(p).every(k => keys[kind].includes(k)));
|
|
34
|
+
if (kind === 'close_prepare')
|
|
35
|
+
requireValue(timestamp(p.deadlineAt));
|
|
36
|
+
else
|
|
37
|
+
requireValue(token(p.instanceId));
|
|
38
|
+
if (kind === 'close_identity')
|
|
39
|
+
validateIdentity(p.identity);
|
|
40
|
+
if (kind === 'handoff_report')
|
|
41
|
+
requireValue(string(p.summary, 4000));
|
|
42
|
+
if (kind === 'close_ready' || kind === 'close_commit')
|
|
43
|
+
requireValue(token(p.readyNonce));
|
|
44
|
+
}
|
|
45
|
+
/** Extension-owned asynchronous protocol. No host abort, shutdown, automatic retries or guessed pane targets. */
|
|
46
|
+
export class HandoffWorkflow {
|
|
47
|
+
ctx;
|
|
48
|
+
instanceId = randomUUID();
|
|
49
|
+
jobs = new Map();
|
|
50
|
+
worker;
|
|
51
|
+
epoch = 0;
|
|
52
|
+
disposed = false;
|
|
53
|
+
timeout;
|
|
54
|
+
constructor(ctx) {
|
|
55
|
+
this.ctx = ctx;
|
|
56
|
+
this.timeout = Number.isFinite(ctx.timeoutMs) ? Math.max(1, Math.min(120000, ctx.timeoutMs)) : 120000;
|
|
57
|
+
}
|
|
58
|
+
valid() { requireValue(!this.disposed); this.ctx.assertCurrent(); }
|
|
59
|
+
background(work) { setImmediate(() => { if (!this.disposed)
|
|
60
|
+
void work().catch(() => { }); }); }
|
|
61
|
+
dispose() {
|
|
62
|
+
this.disposed = true;
|
|
63
|
+
for (const p of this.jobs.values()) {
|
|
64
|
+
p.ended = true;
|
|
65
|
+
clearTimeout(p.timer);
|
|
66
|
+
}
|
|
67
|
+
this.jobs.clear();
|
|
68
|
+
if (this.worker)
|
|
69
|
+
clearTimeout(this.worker.timer);
|
|
70
|
+
this.worker = undefined;
|
|
71
|
+
}
|
|
72
|
+
async recover() {
|
|
73
|
+
const { me, config } = await this.ctx.state();
|
|
74
|
+
if (!me?.coordinator || !config.agents.some(a => pendingClose(a.closeJob)))
|
|
75
|
+
return;
|
|
76
|
+
await this.ctx.update(c => {
|
|
77
|
+
for (const a of c.agents)
|
|
78
|
+
if (pendingClose(a.closeJob)) {
|
|
79
|
+
a.closeJob = { ...a.closeJob, state: a.closeJob.state === 'closing' ? 'uncertain' : 'interrupted', reason: 'interrupted', updatedAt: new Date().toISOString() };
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
assertJob(p) {
|
|
84
|
+
this.valid();
|
|
85
|
+
requireValue(!p.ended && this.jobs.get(p.target.sessionId) === p && Date.now() < Date.parse(p.job.deadlineAt));
|
|
86
|
+
}
|
|
87
|
+
target(c, p) {
|
|
88
|
+
this.assertJob(p);
|
|
89
|
+
const a = c.agents.find(a => a.sessionId === p.target.sessionId && !a.coordinator);
|
|
90
|
+
requireValue(a && a.closeJob?.jobId === p.job.jobId && pendingClose(a.closeJob) && a.port === p.target.port && a.projectDirectory === p.target.projectDirectory);
|
|
91
|
+
return a;
|
|
92
|
+
}
|
|
93
|
+
async transition(p, state, reason) {
|
|
94
|
+
await this.ctx.update(c => {
|
|
95
|
+
const a = this.target(c, p);
|
|
96
|
+
a.closeJob = { ...a.closeJob, state, updatedAt: new Date().toISOString(), ...(reason ? { reason } : {}) };
|
|
97
|
+
p.job = { ...a.closeJob };
|
|
98
|
+
}, () => this.assertJob(p));
|
|
99
|
+
}
|
|
100
|
+
async finish(p, state, reason) {
|
|
101
|
+
if (p.ended)
|
|
102
|
+
return;
|
|
103
|
+
p.ended = true;
|
|
104
|
+
clearTimeout(p.timer);
|
|
105
|
+
// Keep the in-memory fence if persistence fails. Reload recovers durable intent.
|
|
106
|
+
try {
|
|
107
|
+
this.valid();
|
|
108
|
+
await this.ctx.update(c => {
|
|
109
|
+
const a = c.agents.find(a => a.sessionId === p.target.sessionId && !a.coordinator);
|
|
110
|
+
requireValue(a?.closeJob?.jobId === p.job.jobId);
|
|
111
|
+
a.closeJob = { ...a.closeJob, state, updatedAt: new Date().toISOString(), ...(reason ? { reason } : {}) };
|
|
112
|
+
});
|
|
113
|
+
this.jobs.delete(p.target.sessionId);
|
|
114
|
+
}
|
|
115
|
+
catch { /* Failure never authorizes pane closure or replay. */ }
|
|
116
|
+
}
|
|
117
|
+
async request(target) {
|
|
118
|
+
this.valid();
|
|
119
|
+
requireValue(this.ctx.provider);
|
|
120
|
+
const existing = this.jobs.get(target.sessionId);
|
|
121
|
+
if (existing) {
|
|
122
|
+
await existing.initialized;
|
|
123
|
+
return { ...existing.job };
|
|
124
|
+
}
|
|
125
|
+
requireValue(!fencedClose(target.closeJob) && this.jobs.size < 16);
|
|
126
|
+
const now = Date.now();
|
|
127
|
+
const job = { jobId: randomUUID(), state: 'requested', createdAt: new Date(now).toISOString(), updatedAt: new Date(now).toISOString(), deadlineAt: new Date(now + this.timeout).toISOString() };
|
|
128
|
+
const p = { target: { ...target }, job, timer: undefined, processing: false, closing: false, ended: false };
|
|
129
|
+
// Install the fence synchronously, before the first asynchronous config write.
|
|
130
|
+
this.jobs.set(target.sessionId, p);
|
|
131
|
+
try {
|
|
132
|
+
p.initialized = this.ctx.update(c => {
|
|
133
|
+
const a = c.agents.find(a => a.sessionId === target.sessionId && !a.coordinator);
|
|
134
|
+
requireValue(a && !fencedClose(a.closeJob) && a.port === target.port && a.projectDirectory === target.projectDirectory && c.multiplexer === 'herdr');
|
|
135
|
+
a.closeJob = { ...job };
|
|
136
|
+
}, () => this.assertJob(p));
|
|
137
|
+
await p.initialized;
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
this.jobs.delete(target.sessionId);
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
p.timer = setTimeout(() => { void this.finish(p, p.closing ? 'uncertain' : 'timed_out', 'timeout'); }, Math.max(0, Date.parse(job.deadlineAt) - Date.now()));
|
|
144
|
+
this.background(async () => {
|
|
145
|
+
try {
|
|
146
|
+
this.assertJob(p);
|
|
147
|
+
await this.ctx.send(target.sessionId, 'close_prepare', { jobId: job.jobId, deadlineAt: job.deadlineAt });
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
await this.finish(p, 'failed', 'delivery_failed');
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
return { ...job };
|
|
154
|
+
}
|
|
155
|
+
workerStarted() {
|
|
156
|
+
this.epoch++;
|
|
157
|
+
const w = this.worker;
|
|
158
|
+
if (w && (w.saved || w.reporting)) {
|
|
159
|
+
w.invalidated = true;
|
|
160
|
+
w.readyNonce = undefined;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
workerSettled(successfulToolCallIds) {
|
|
164
|
+
const w = this.worker;
|
|
165
|
+
if (!w || !w.saved || w.reporting || w.invalidated || w.readyNonce || w.committed || this.ctx.busy() || w.epoch !== this.epoch || !w.toolCallId || !successfulToolCallIds.has(w.toolCallId))
|
|
166
|
+
return;
|
|
167
|
+
w.readyNonce = randomUUID();
|
|
168
|
+
this.background(async () => {
|
|
169
|
+
this.assertWorker(w);
|
|
170
|
+
requireValue(!this.ctx.busy() && w.epoch === this.epoch && !w.invalidated);
|
|
171
|
+
await this.ctx.send(w.coordinatorId, 'close_ready', { jobId: w.jobId, instanceId: this.instanceId, readyNonce: w.readyNonce });
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
assertWorker(w) {
|
|
175
|
+
this.valid();
|
|
176
|
+
requireValue(this.worker === w && Date.now() < w.deadline);
|
|
177
|
+
}
|
|
178
|
+
get workerClosing() { return !!this.worker; }
|
|
179
|
+
isClosing(sessionId) { return this.jobs.has(sessionId); }
|
|
180
|
+
async report(jobId, summary, toolCallId) {
|
|
181
|
+
requireValue(string(summary, 4000) && string(toolCallId, 256));
|
|
182
|
+
const w = this.worker;
|
|
183
|
+
requireValue(w && w.jobId === jobId && w.requested && !w.reporting && !w.saved && !w.invalidated);
|
|
184
|
+
this.assertWorker(w);
|
|
185
|
+
w.reporting = true;
|
|
186
|
+
w.toolCallId = toolCallId;
|
|
187
|
+
const reportEpoch = this.epoch;
|
|
188
|
+
try {
|
|
189
|
+
await this.ctx.send(w.coordinatorId, 'handoff_report', { jobId: w.jobId, instanceId: this.instanceId, summary });
|
|
190
|
+
this.assertWorker(w);
|
|
191
|
+
requireValue(!w.invalidated && this.epoch === reportEpoch);
|
|
192
|
+
w.saved = true;
|
|
193
|
+
w.epoch = reportEpoch;
|
|
194
|
+
return { saved: true, closure: 'awaiting_turn_settlement' };
|
|
195
|
+
}
|
|
196
|
+
finally {
|
|
197
|
+
w.reporting = false;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
async receive(kind, from, payload) {
|
|
201
|
+
validateHandoffPayload(kind, payload);
|
|
202
|
+
const { config, me } = await this.ctx.state();
|
|
203
|
+
this.valid();
|
|
204
|
+
const sender = config.agents.find(a => a.sessionId === from);
|
|
205
|
+
const coordinatorMessage = ['close_prepare', 'close_request', 'close_commit'].includes(kind);
|
|
206
|
+
requireValue(me && sender && (coordinatorMessage ? sender.coordinator && !me.coordinator : me.coordinator && !sender.coordinator));
|
|
207
|
+
if (coordinatorMessage) {
|
|
208
|
+
requireValue(this.ctx.provider && me.closeJob?.jobId === payload.jobId && pendingClose(me.closeJob));
|
|
209
|
+
if (kind === 'close_prepare') {
|
|
210
|
+
requireValue(!this.worker);
|
|
211
|
+
const deadline = Date.parse(payload.deadlineAt);
|
|
212
|
+
requireValue(deadline > Date.now() && deadline <= Date.now() + 120000);
|
|
213
|
+
const w = { jobId: payload.jobId, coordinatorId: from, deadline, requested: false, saved: false, reporting: false, invalidated: false, epoch: this.epoch, committed: false, timer: undefined };
|
|
214
|
+
this.worker = w;
|
|
215
|
+
w.timer = setTimeout(() => { if (this.worker === w)
|
|
216
|
+
this.worker = undefined; }, deadline - Date.now());
|
|
217
|
+
this.background(async () => {
|
|
218
|
+
try {
|
|
219
|
+
const identity = await this.ctx.provider.getIdentity();
|
|
220
|
+
validateIdentity(identity);
|
|
221
|
+
this.assertWorker(w);
|
|
222
|
+
requireValue(identity.sessionId === me.sessionId);
|
|
223
|
+
await this.ctx.send(from, 'close_identity', { jobId: w.jobId, instanceId: this.instanceId, identity });
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
if (this.worker === w) {
|
|
227
|
+
clearTimeout(w.timer);
|
|
228
|
+
this.worker = undefined;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
const w = this.worker;
|
|
235
|
+
requireValue(w && w.jobId === payload.jobId && payload.instanceId === this.instanceId && from === w.coordinatorId);
|
|
236
|
+
this.assertWorker(w);
|
|
237
|
+
if (kind === 'close_request') {
|
|
238
|
+
requireValue(!w.requested);
|
|
239
|
+
w.requested = true;
|
|
240
|
+
this.ctx.deliver(`Coordinator requests a handoff for owned-pane closure. Job ID: ${w.jobId}. Stop taking new assignments, summarize completed work, remaining work, validation and important files in intercom_report_handoff({jobId:"${w.jobId}",summary:...}) (public summary, max 4000 characters; no credentials or private reasoning), then finish this turn and wait. Do not exit, shut down, close a pane or start further work. Pane closure is asynchronous and is not proof all child processes terminated.`);
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
requireValue(w.saved && !w.reporting && !w.invalidated && !w.committed && !this.ctx.busy() && w.epoch === this.epoch && w.readyNonce === payload.readyNonce);
|
|
244
|
+
w.committed = true;
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
const p = this.jobs.get(from);
|
|
248
|
+
requireValue(p && p.job.jobId === payload.jobId);
|
|
249
|
+
this.assertJob(p);
|
|
250
|
+
if (kind === 'close_identity') {
|
|
251
|
+
requireValue(!p.identity && !p.processing && p.job.state === 'requested');
|
|
252
|
+
const identity = payload.identity;
|
|
253
|
+
requireValue(identity.sessionId === from);
|
|
254
|
+
p.identity = { ...identity };
|
|
255
|
+
p.instanceId = payload.instanceId;
|
|
256
|
+
p.processing = true;
|
|
257
|
+
this.background(async () => {
|
|
258
|
+
try {
|
|
259
|
+
await this.ctx.provider.inspect(p.identity, from, () => this.assertJob(p));
|
|
260
|
+
this.assertJob(p);
|
|
261
|
+
await this.transition(p, 'awaiting_handoff');
|
|
262
|
+
await this.ctx.send(from, 'close_request', { jobId: p.job.jobId, instanceId: p.instanceId });
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
await this.finish(p, 'failed', 'identity_failed');
|
|
266
|
+
}
|
|
267
|
+
finally {
|
|
268
|
+
p.processing = false;
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
requireValue(payload.instanceId === p.instanceId);
|
|
274
|
+
if (kind === 'handoff_report') {
|
|
275
|
+
requireValue(p.job.state === 'awaiting_handoff' || p.job.state === 'awaiting_settlement');
|
|
276
|
+
try {
|
|
277
|
+
await this.ctx.update(c => {
|
|
278
|
+
const a = this.target(c, p);
|
|
279
|
+
if (a.handoff?.jobId === p.job.jobId)
|
|
280
|
+
requireValue(a.handoff.summary === payload.summary);
|
|
281
|
+
else
|
|
282
|
+
a.handoff = { version: 1, jobId: p.job.jobId, summary: payload.summary, updatedAt: new Date().toISOString() };
|
|
283
|
+
a.closeJob = { ...a.closeJob, state: 'awaiting_settlement', updatedAt: new Date().toISOString() };
|
|
284
|
+
}, () => this.assertJob(p));
|
|
285
|
+
this.assertJob(p);
|
|
286
|
+
p.job = { ...p.job, state: 'awaiting_settlement' };
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
await this.finish(p, 'failed', 'save_failed');
|
|
290
|
+
throw error;
|
|
291
|
+
}
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
requireValue(kind === 'close_ready' && p.job.state === 'awaiting_settlement' && !p.closing && !p.processing);
|
|
295
|
+
p.processing = true;
|
|
296
|
+
this.background(async () => {
|
|
297
|
+
let failure = 'identity_failed';
|
|
298
|
+
try {
|
|
299
|
+
await this.transition(p, 'ready');
|
|
300
|
+
await this.ctx.provider.inspect(p.identity, from, () => this.assertJob(p));
|
|
301
|
+
this.assertJob(p);
|
|
302
|
+
failure = 'save_failed';
|
|
303
|
+
await this.transition(p, 'closing');
|
|
304
|
+
this.assertJob(p);
|
|
305
|
+
failure = 'close_failed';
|
|
306
|
+
let commitAttempted = false;
|
|
307
|
+
const result = await this.ctx.provider.close(p.identity, from, () => this.assertJob(p), async () => {
|
|
308
|
+
this.assertJob(p);
|
|
309
|
+
requireValue(!commitAttempted);
|
|
310
|
+
commitAttempted = true;
|
|
311
|
+
failure = 'commit_rejected';
|
|
312
|
+
await this.ctx.send(from, 'close_commit', { jobId: p.job.jobId, instanceId: p.instanceId, readyNonce: payload.readyNonce });
|
|
313
|
+
this.assertJob(p);
|
|
314
|
+
p.closing = true;
|
|
315
|
+
failure = 'close_failed';
|
|
316
|
+
});
|
|
317
|
+
this.assertJob(p);
|
|
318
|
+
requireValue(p.closing);
|
|
319
|
+
await this.finish(p, result.paneClosed && result.workerExited ? 'closed' : 'uncertain', result.paneClosed && result.workerExited ? undefined : 'close_unverified');
|
|
320
|
+
}
|
|
321
|
+
catch {
|
|
322
|
+
await this.finish(p, p.closing ? 'uncertain' : 'failed', failure);
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=handoff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../src/handoff.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import { Intercom, UNSUPPORTED_CANCELLATION } from './runtime.js';
|
|
|
7
7
|
import { launchers } from './launcher.js';
|
|
8
8
|
import { ensureMonitorPane } from './monitor-launcher.js';
|
|
9
9
|
import { createActivityTracker } from './activity.js';
|
|
10
|
+
import { createCloseProvider } from './pane-close.js';
|
|
10
11
|
const to = Type.Object({ to: Type.String({ minLength: 1, maxLength: 128 }) });
|
|
11
12
|
const tools = [
|
|
12
13
|
['create_worker', 'Coordinator only. Launch one anonymous worker in projectDirectory (default root). No assignment, configuration, or registration wait.', Type.Object({ projectDirectory: Type.Optional(Type.String()) })],
|
|
@@ -19,9 +20,10 @@ const tools = [
|
|
|
19
20
|
['report_work', 'Configured, responsibility-loaded workers only. Store one public report (blocked, needs_decision, ready_for_review) and notify the coordinator; clear retires it. Summary required except clear (omit or empty). Never include private reasoning, credentials, raw tool payloads, or secrets. Receipt is not approval, verified completion, or permission for follow-up work.', Type.Object({ status: Type.String({ enum: ['blocked', 'needs_decision', 'ready_for_review', 'clear'] }), summary: Type.Optional(Type.String({ maxLength: 2000 })) })],
|
|
20
21
|
['report_status', 'Worker only (including anonymous). Send runtime sessionId/port/busy report to coordinator. This is NOT registration and creates no config entry.', Type.Object({})],
|
|
21
22
|
['stop_worker', UNSUPPORTED_CANCELLATION, to],
|
|
22
|
-
['close_worker',
|
|
23
|
+
['close_worker', 'Coordinator only. Begin a background save-handoff-and-close job for a configured worker in Linux Herdr. Requests a public summary, saves it in config, waits for successful tool persistence and final turn settlement, then attempts one verified pane close. Returns job acceptance, not completion. Registration/session history are retained. Check worker_status/list for closeJob; failure/timeout/uncertainty never authorizes retry. Not graceful abort or an all-descendants termination guarantee; Windows/non-Herdr unsupported.', to],
|
|
24
|
+
['report_handoff', 'Configured worker only, in response to its pending close request. Submit the matching jobId and concise public resume handoff (current work, completed work, unfinished items, blockers, next step). Never include secrets, private reasoning or raw tool payloads. Saved receipt is not closure: finish the response and wait; the extension requires final turn settlement before pane closure.', Type.Object({ jobId: Type.String({ minLength: 1, maxLength: 128 }), summary: Type.String({ minLength: 1, maxLength: 4000 }) })],
|
|
23
25
|
['resume_worker', 'Coordinator only. Resume saved session/name/responsibility after the user explicitly confirms the old session was closed: set confirmClosed:true only for that confirmation, never infer it from disconnected status. A matching live health endpoint blocks launch. In-flight/uncertain attempts are fenced until worker status arrives; otherwise inspect process and reload coordinator before considering retry. No cross-process uniqueness guarantee, automatic assignment, replacement or removal.', Type.Object({ to: Type.String({ minLength: 1, maxLength: 128 }), confirmClosed: Type.Boolean() })],
|
|
24
|
-
['remove_worker', 'Coordinator only. Remove config entry only; never stop process or delete session files. A running worker must be explicitly closed before removal.
|
|
26
|
+
['remove_worker', 'Coordinator only. Remove config entry only; never stop process or delete session files. A running worker must be explicitly closed before removal. Retain registration to resume it later; remove only to forget it. Pending or uncertain close jobs block removal.', to],
|
|
25
27
|
['set_multiplexer', 'Coordinator only. Set herdr (default, Windows/Linux) or none (separate visible Windows terminals; unsupported on Linux) for future launches. Never move/restart existing workers or fall back.', Type.Object({ multiplexer: Type.String({ enum: ['herdr', 'none'] }) })],
|
|
26
28
|
];
|
|
27
29
|
// Launchers pass no --session-dir. Match child Pi's env > per-cwd settings >
|
|
@@ -52,6 +54,50 @@ export default function intercomExtension(pi) {
|
|
|
52
54
|
extension: fileURLToPath(import.meta.url),
|
|
53
55
|
sessionExists: async (cwd, id) => (await SessionManager.list(cwd, resumeSessionDirectory(cwd))).some(s => s.id === id),
|
|
54
56
|
});
|
|
57
|
+
let monitorTask;
|
|
58
|
+
async function ensureCoordinatorMonitor(current, ctx, started) {
|
|
59
|
+
const isCurrent = () => started === generation && runtime === current;
|
|
60
|
+
if (!isCurrent())
|
|
61
|
+
return;
|
|
62
|
+
if (monitorTask?.runtime === current && monitorTask.generation === started) {
|
|
63
|
+
monitorTask.dirty = true;
|
|
64
|
+
return monitorTask.promise;
|
|
65
|
+
}
|
|
66
|
+
const check = async () => {
|
|
67
|
+
try {
|
|
68
|
+
const { config, me, id } = await current.state();
|
|
69
|
+
if (!isCurrent() || !me?.coordinator || !config.agents.some(agent => !agent.coordinator))
|
|
70
|
+
return;
|
|
71
|
+
const monitor = await ensureMonitorPane({
|
|
72
|
+
root: current.store.root, sessionId: id,
|
|
73
|
+
script: fileURLToPath(new URL('../dist/monitor.js', import.meta.url)),
|
|
74
|
+
assertCurrent: () => { if (!isCurrent())
|
|
75
|
+
throw new Error('Coordinator session changed'); },
|
|
76
|
+
});
|
|
77
|
+
if (isCurrent())
|
|
78
|
+
ctx.ui.notify(`Intercom status monitor: ${monitor.outcome}${monitor.pane ? ` (${monitor.pane})` : ''}`, 'info');
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
if (isCurrent())
|
|
82
|
+
ctx.ui.notify(String(error), 'warning');
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
const task = { runtime: current, generation: started, dirty: false, promise: Promise.resolve() };
|
|
86
|
+
monitorTask = task;
|
|
87
|
+
task.promise = (async () => {
|
|
88
|
+
do {
|
|
89
|
+
task.dirty = false;
|
|
90
|
+
await check();
|
|
91
|
+
} while (task.dirty && isCurrent());
|
|
92
|
+
})();
|
|
93
|
+
try {
|
|
94
|
+
await task.promise;
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
if (monitorTask === task)
|
|
98
|
+
monitorTask = undefined;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
55
101
|
pi.on('session_start', async (_event, ctx) => {
|
|
56
102
|
const started = ++generation;
|
|
57
103
|
activity.reset();
|
|
@@ -75,7 +121,13 @@ export default function intercomExtension(pi) {
|
|
|
75
121
|
setName: async (name) => { if (pi.getSessionName() !== name)
|
|
76
122
|
pi.setSessionName(name); await launcher.syncName(name); },
|
|
77
123
|
notify: text => ctx.ui.notify(text, 'info'),
|
|
78
|
-
}, {
|
|
124
|
+
}, {
|
|
125
|
+
launch: launcher.launch, store: root => new PiConfigStore(root),
|
|
126
|
+
closeProvider: createCloseProvider({
|
|
127
|
+
sessionId: () => context.sessionManager.getSessionId(),
|
|
128
|
+
sessionFile: () => context.sessionManager.getSessionFile(),
|
|
129
|
+
}),
|
|
130
|
+
});
|
|
79
131
|
const current = runtime;
|
|
80
132
|
try {
|
|
81
133
|
await current.start();
|
|
@@ -102,15 +154,7 @@ export default function intercomExtension(pi) {
|
|
|
102
154
|
}
|
|
103
155
|
if (started !== generation)
|
|
104
156
|
return;
|
|
105
|
-
|
|
106
|
-
root: current.store.root, sessionId: ctx.sessionManager.getSessionId(),
|
|
107
|
-
script: fileURLToPath(new URL('../dist/monitor.js', import.meta.url)),
|
|
108
|
-
assertCurrent: () => { if (started !== generation || runtime !== current)
|
|
109
|
-
throw new Error('Coordinator session changed'); },
|
|
110
|
-
});
|
|
111
|
-
if (started !== generation)
|
|
112
|
-
return;
|
|
113
|
-
ctx.ui.notify(`Intercom status monitor: ${monitor.outcome}${monitor.pane ? ` (${monitor.pane})` : ''}`, 'info');
|
|
157
|
+
await ensureCoordinatorMonitor(current, ctx, started);
|
|
114
158
|
}
|
|
115
159
|
}
|
|
116
160
|
catch (error) {
|
|
@@ -127,8 +171,13 @@ export default function intercomExtension(pi) {
|
|
|
127
171
|
context = undefined;
|
|
128
172
|
await oldRuntime?.close();
|
|
129
173
|
});
|
|
174
|
+
pi.on('input', (_event, ctx) => {
|
|
175
|
+
context = ctx;
|
|
176
|
+
runtime?.workerStarted(); // New owner input invalidates a pending close-readiness epoch.
|
|
177
|
+
});
|
|
130
178
|
pi.on('agent_start', async (_event, ctx) => {
|
|
131
179
|
context = ctx;
|
|
180
|
+
runtime?.workerStarted();
|
|
132
181
|
activityOutcome = 'started';
|
|
133
182
|
try {
|
|
134
183
|
activity.start();
|
|
@@ -146,6 +195,15 @@ export default function intercomExtension(pi) {
|
|
|
146
195
|
finally {
|
|
147
196
|
activityOutcome = 'snapshot';
|
|
148
197
|
}
|
|
198
|
+
// Settlement is notification-only and follows tool-result persistence. Inspect
|
|
199
|
+
// only entry kinds and successful tool call IDs, never message/reasoning bodies.
|
|
200
|
+
const successful = new Set();
|
|
201
|
+
for (const entry of ctx.sessionManager.getBranch()) {
|
|
202
|
+
if (entry.type === 'message' && entry.message.role === 'toolResult' && !entry.message.isError) {
|
|
203
|
+
successful.add(entry.message.toolCallId);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
runtime?.workerSettled(successful);
|
|
149
207
|
});
|
|
150
208
|
pi.on('message_update', (event, ctx) => {
|
|
151
209
|
context = ctx;
|
|
@@ -166,7 +224,7 @@ export default function intercomExtension(pi) {
|
|
|
166
224
|
return;
|
|
167
225
|
const { me } = await runtime.state();
|
|
168
226
|
const loaded = runtime.responsibility;
|
|
169
|
-
return { systemPrompt: event.systemPrompt + '\n\nPiIntercom: communicates; Pi decides orchestration. Responsibility is not a work assignment. Do not implement unrelated work from findings. After assigned work, report as instructed and wait; do not autonomously exit. Progress questions require reporting and continuing unless explicitly redirected. stop_worker
|
|
227
|
+
return { systemPrompt: event.systemPrompt + '\n\nPiIntercom: communicates; Pi decides orchestration. Responsibility is not a work assignment. Do not implement unrelated work from findings. After assigned work, report as instructed and wait; do not autonomously exit. Progress questions require reporting and continuing unless explicitly redirected. stop_worker remains disabled due to the host cancellation blocker. close_worker is a separate Linux Herdr background handoff-and-pane-close workflow: do not self-exit, remove registration, force kill or infer completion from job acceptance.\n' + (me && loaded ? `Identity: ${loaded.name} (${me.sessionId}). Responsibility: ${loaded.description}.` : 'Anonymous/unloaded worker: wait for coordinator configuration and separate reload; do not treat registration as authorization to work.') };
|
|
170
228
|
});
|
|
171
229
|
for (const [operation, description, parameters] of tools) {
|
|
172
230
|
pi.registerTool({
|
|
@@ -176,9 +234,12 @@ export default function intercomExtension(pi) {
|
|
|
176
234
|
context = ctx;
|
|
177
235
|
if (!runtime)
|
|
178
236
|
throw new Error('PiIntercom not initialized; inspect startup error.');
|
|
179
|
-
const
|
|
237
|
+
const current = runtime, started = generation;
|
|
238
|
+
const result = await current.tool(operation, args, _id);
|
|
239
|
+
if (operation === 'configure_worker')
|
|
240
|
+
await ensureCoordinatorMonitor(current, ctx, started);
|
|
180
241
|
const output = truncateHead(JSON.stringify(result, null, 2));
|
|
181
|
-
return { content: [{ type: 'text', text: output.content + (output.truncated ? `\n[Truncated; full shared configuration: ${
|
|
242
|
+
return { content: [{ type: 'text', text: output.content + (output.truncated ? `\n[Truncated; full shared configuration: ${current.store.file}]` : '') }], details: {} };
|
|
182
243
|
},
|
|
183
244
|
});
|
|
184
245
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAgB,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAA4C,MAAM,iCAAiC,CAAC;AAC9K,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9E,MAAM,KAAK,GAAgC;IACzC,CAAC,eAAe,EAAE,uIAAuI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3N,CAAC,kBAAkB,EAAE,kKAAkK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1a,CAAC,eAAe,EAAE,kJAAkJ,EAAE,EAAE,CAAC;IACzK,CAAC,MAAM,EAAE,sPAAsP,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9V,CAAC,eAAe,EAAE,6gBAA6gB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACjxB,CAAC,MAAM,EAAE,6LAA6L,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxN,CAAC,gBAAgB,EAAE,uJAAuJ,EAAE,EAAE,CAAC;IAC/K,CAAC,aAAa,EAAE,+WAA+W,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACtiB,CAAC,eAAe,EAAE,kJAAkJ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtL,CAAC,aAAa,EAAE,wBAAwB,EAAE,EAAE,CAAC;IAC7C,CAAC,cAAc,EAAE,wBAAwB,EAAE,EAAE,CAAC;IAC9C,CAAC,eAAe,EAAE,2eAA2e,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjmB,CAAC,eAAe,EAAE,kOAAkO,EAAE,EAAE,CAAC;IACzP,CAAC,iBAAiB,EAAE,gMAAgM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAC9R,CAAC;AAEF,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,UAAU,sBAAsB,CAAC,GAAW,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,QAAQ,GAAG,WAAW,EAAE;IACnI,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;QACzD,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC5C,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,qFAAqF;AACrF,MAAM,aAAc,SAAQ,WAAW;IAC5B,MAAM,CAAC,EAAU,EAAE,MAA4C,EAAE,WAAwB;QAChG,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACvF,CAAC;CACF;AACD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAgB;IACxD,IAAI,OAA6B,CAAC;IAClC,IAAI,OAAqC,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,eAAe,GAAuC,UAAU,CAAC;IACrE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvD,OAAO,EAAE,iBAAiB,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,SAAS,CAAC;QACzB,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QACzC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KACvH,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,EAAE,UAAU,CAAC;QAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,OAAO,CAAC;QAC3B,OAAO,GAAG,SAAS,CAAC;QACpB,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,UAAU;YAAE,OAAO;QACnC,OAAO,GAAG,GAAG,CAAC;QACd,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QACxK,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QAChI,OAAO,GAAG,IAAI,QAAQ,CAAC;YACrB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,SAAS,EAAE,GAAG,EAAE,CAAC,OAAQ,CAAC,cAAc,CAAC,YAAY,EAAE;YACvD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,OAAQ,CAAC,MAAM,EAAE;YAC9B,yEAAyE;YACzE,sEAAsE;YACtE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACvE,OAAO,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE,GAAG,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI;gBAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpH,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;SAC5C,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC;YAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC;YAAC,IAAI,OAAO,KAAK,OAAO;gBAAE,OAAO,GAAG,SAAS,CAAC;YAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACtG,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC9D,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBAAC,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBAAC,CAAC;gBAChD,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,OAAO,KAAK,UAAU;wBAAE,OAAO;oBACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,0EAA0E,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACtH,CAAC;gBACD,IAAI,OAAO,KAAK,UAAU;oBAAE,OAAO;gBACnC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;oBACtC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE;oBACtE,MAAM,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrE,aAAa,EAAE,GAAG,EAAE,GAAG,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;iBAC5H,CAAC,CAAC;gBACH,IAAI,OAAO,KAAK,UAAU;oBAAE,OAAO;gBACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,4BAA4B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,KAAK,UAAU;gBAAE,OAAO;YACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QACnC,UAAU,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,OAAO,CAAC;QAC3B,OAAO,GAAG,SAAS,CAAC;QAAC,OAAO,GAAG,SAAS,CAAC;QACzC,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACzC,OAAO,GAAG,GAAG,CAAC;QACd,eAAe,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC;YAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;gBAAS,CAAC;YAAC,eAAe,GAAG,UAAU,CAAC;QAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC3C,OAAO,GAAG,GAAG,CAAC;QACd,eAAe,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;gBAAS,CAAC;YAAC,eAAe,GAAG,UAAU,CAAC;QAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrC,OAAO,GAAG,GAAG,CAAC;QACd,8EAA8E;QAC9E,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3C,OAAO,GAAG,GAAG,CAAC;QACd,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACzC,OAAO,GAAG,GAAG,CAAC;QACd,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC/C,OAAO,GAAG,GAAG,CAAC;QACd,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;QACtC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,2XAA2X,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,SAAS,sBAAsB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,wIAAwI,CAAC,EAAE,CAAC;IAC/pB,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC;QACzD,EAAE,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,YAAY,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU;YACtF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;gBAC3C,MAAM,EAAE,cAAc,EAAE,CAAC;gBAAC,OAAO,GAAG,GAAG,CAAC;gBACxC,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAA+B,CAAC,CAAC;gBAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,4CAA4C,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAC1K,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/monitor-view.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ObservationSnapshot } from './snapshot.js';
|
|
2
2
|
/** Presentation only. All user-controlled text is sanitized before trusted ANSI styling. */
|
|
3
3
|
export declare function renderMonitor(snapshot: ObservationSnapshot | undefined, width: number, height: number, now?: number, color?: boolean, options?: {
|
|
4
4
|
selectedIndex?: number;
|