mandala-computer-mcp 0.3.0 → 0.4.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.
- package/README.md +12 -8
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +103 -28
- package/dist/api.js.map +1 -1
- package/dist/errors.d.ts +26 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +54 -4
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +11 -2
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +213 -95
- package/dist/events.js.map +1 -1
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +80 -3
- package/dist/format.js.map +1 -1
- package/dist/limits.d.ts +17 -0
- package/dist/limits.d.ts.map +1 -0
- package/dist/limits.js +17 -0
- package/dist/limits.js.map +1 -0
- package/dist/paths.d.ts +2 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +4 -3
- package/dist/paths.js.map +1 -1
- package/dist/poll.d.ts +5 -1
- package/dist/poll.d.ts.map +1 -1
- package/dist/poll.js +120 -16
- package/dist/poll.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/agent.d.ts.map +1 -1
- package/dist/tools/agent.js +58 -3
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/computers.d.ts.map +1 -1
- package/dist/tools/computers.js +282 -240
- package/dist/tools/computers.js.map +1 -1
- package/dist/tools/events.d.ts.map +1 -1
- package/dist/tools/events.js +66 -22
- package/dist/tools/events.js.map +1 -1
- package/dist/tools/guest.js +7 -2
- package/dist/tools/guest.js.map +1 -1
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +63 -5
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/snapshots.d.ts.map +1 -1
- package/dist/tools/snapshots.js +169 -159
- package/dist/tools/snapshots.js.map +1 -1
- package/dist/tools/templates.d.ts.map +1 -1
- package/dist/tools/templates.js +9 -13
- package/dist/tools/templates.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/snapshots.js
CHANGED
|
@@ -123,21 +123,17 @@ const snapshotTurn = async (api, sid, unfinished) => {
|
|
|
123
123
|
}
|
|
124
124
|
return { kind: 'row', row };
|
|
125
125
|
};
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
*/
|
|
138
|
-
const retentionLine = (r) => {
|
|
139
|
-
const v = (r ?? {});
|
|
140
|
-
const n = (x) => (typeof x === 'number' && Number.isFinite(x) && x > 0 ? x : 0);
|
|
126
|
+
const retentionOf = (r) => {
|
|
127
|
+
if (!isRow(r))
|
|
128
|
+
return undefined;
|
|
129
|
+
const fields = [r.daily, r.weekly, r.monthly];
|
|
130
|
+
if (!fields.every((value) => typeof value === 'number' && Number.isSafeInteger(value) && value >= 0)) {
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
return { daily: r.daily, weekly: r.weekly, monthly: r.monthly };
|
|
134
|
+
};
|
|
135
|
+
const retentionLine = (v) => {
|
|
136
|
+
const n = (x) => (x > 0 ? x : 0);
|
|
141
137
|
const parts = [
|
|
142
138
|
n(v.daily) && `${n(v.daily)} daily`,
|
|
143
139
|
n(v.weekly) && `${n(v.weekly)} weekly`,
|
|
@@ -419,93 +415,98 @@ export const registerSnapshots = (server, session, opts) => {
|
|
|
419
415
|
// single short request and there is nothing to report until there is a
|
|
420
416
|
// capture to report on.
|
|
421
417
|
const beat = heartbeat(extra, server.server);
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
`
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
if (
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
`
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
418
|
+
try {
|
|
419
|
+
await beat(`Capturing ${sid} of ${id} — the copy has started.`);
|
|
420
|
+
let blocked;
|
|
421
|
+
// `untilDeadline &&` rather than `!untilDeadline?.aborted`: the early
|
|
422
|
+
// return above is what guarantees it is armed here, and the optional
|
|
423
|
+
// form would turn a later edit that broke that guarantee into a loop
|
|
424
|
+
// with no deadline at all rather than into a visible mistake.
|
|
425
|
+
while (untilDeadline && !untilDeadline.aborted) {
|
|
426
|
+
// The caller giving up ends the wait. The signal aborts the request in
|
|
427
|
+
// flight, but nothing about an aborted request stops the next
|
|
428
|
+
// iteration from starting one.
|
|
429
|
+
if (extra.signal?.aborted) {
|
|
430
|
+
return refused(`Cancelled while waiting for the capture of ${id}. THE CAPTURE IS STILL RUNNING — nothing ` +
|
|
431
|
+
`was stopped, because a disk copy already under way cannot be called back. ${byHand}`, started);
|
|
432
|
+
}
|
|
433
|
+
const turn = await snapshotTurn(api, sid, false);
|
|
434
|
+
if (extra.signal?.aborted)
|
|
435
|
+
continue;
|
|
436
|
+
// A body stream can fail without either signal firing, so the
|
|
437
|
+
// deadline's own arrival is what tells a real timeout from an undici
|
|
438
|
+
// idle abort. Same shape as the two loops in computers.ts.
|
|
439
|
+
if (turn.kind === 'cancelled') {
|
|
440
|
+
if (untilDeadline?.aborted)
|
|
441
|
+
break;
|
|
442
|
+
blocked = turn.why;
|
|
443
|
+
await beat(`Capturing ${sid} of ${id} — the platform could not be asked: ${turn.why}`);
|
|
444
|
+
await sleep(POLL_MS, signal);
|
|
445
|
+
continue;
|
|
446
|
+
}
|
|
447
|
+
// A poll that failed for a reason worth riding out is weather; one
|
|
448
|
+
// that failed for any other reason is a real failure with a capture
|
|
449
|
+
// still running behind it, and a thrown error's handler has no way to
|
|
450
|
+
// say so. So it is said here rather than rethrown.
|
|
451
|
+
if (turn.kind === 'broken') {
|
|
452
|
+
return refused(`${turn.why}\n\nTHE CAPTURE IS STILL RUNNING — this was the poll failing, not the ` +
|
|
453
|
+
`capture. ${byHand}`, started);
|
|
454
|
+
}
|
|
455
|
+
if (turn.kind === 'blocked') {
|
|
456
|
+
blocked = turn.why;
|
|
457
|
+
await beat(`Capturing ${sid} of ${id} — the platform could not be asked: ${turn.why}`);
|
|
458
|
+
await sleep(turn.after ?? POLL_MS, signal);
|
|
459
|
+
continue;
|
|
460
|
+
}
|
|
461
|
+
// Absence is the ONLY signal a failed capture leaves, which is what
|
|
462
|
+
// makes snapshotTurn's guards load-bearing rather than tidy: a body
|
|
463
|
+
// that is not a list, and a listing the platform had to answer short,
|
|
464
|
+
// both come back `blocked` there rather than as this, because read as
|
|
465
|
+
// "the row is not there" they would announce that somebody's backup
|
|
466
|
+
// failed while it was still being taken.
|
|
467
|
+
if (turn.kind === 'absent') {
|
|
468
|
+
return refused(`THE CAPTURE OF ${id} FAILED and nothing was saved. Snapshot ${sid} is no longer listed and ` +
|
|
469
|
+
`nothing took its place, which is what a capture that starts and then fails leaves behind — ` +
|
|
470
|
+
`this is a failure during the copy, not a wait that ran out. The computer itself is ` +
|
|
471
|
+
`untouched and can be snapshotted again.`, started);
|
|
472
|
+
}
|
|
473
|
+
const row = turn.row;
|
|
474
|
+
const state = typeof row.state === 'string' ? row.state : undefined;
|
|
475
|
+
if (state === CAPTURING) {
|
|
476
|
+
blocked = undefined;
|
|
477
|
+
await beat(`Capturing ${sid} of ${id} — still copying.`);
|
|
478
|
+
await sleep(POLL_MS, signal);
|
|
479
|
+
continue;
|
|
480
|
+
}
|
|
481
|
+
// A row with no readable `state` is the platform failing to describe
|
|
482
|
+
// it, and it must not be read as "not capturing, therefore landed" —
|
|
483
|
+
// that sentence says a placeholder may be restored, which is the
|
|
484
|
+
// defect this whole tool is here to stop. Only a state that SAYS it is
|
|
485
|
+
// no longer capturing ends the wait; anything else rides out, and the
|
|
486
|
+
// deadline reports that the platform could not be asked.
|
|
487
|
+
if (state === undefined) {
|
|
488
|
+
blocked = `the row for ${sid} carried no state, so nothing said whether the capture had landed`;
|
|
489
|
+
await beat(`Capturing ${sid} of ${id} — its row carried no state to read.`);
|
|
490
|
+
await sleep(POLL_MS, signal);
|
|
491
|
+
continue;
|
|
492
|
+
}
|
|
493
|
+
return said(`${took} The capture landed: snapshot ${sid} reads "${state}" and can now be restored, ` +
|
|
494
|
+
`cloned or deleted.`, row);
|
|
495
495
|
}
|
|
496
|
-
|
|
497
|
-
|
|
496
|
+
// A refusal, for the reason move_computer's is: the wait never reached
|
|
497
|
+
// what it was told to wait for. What it must not do is read as a capture
|
|
498
|
+
// that failed — that is a different answer with a different id in it,
|
|
499
|
+
// and the difference between calling this again and going looking for a
|
|
500
|
+
// snapshot that is on its way.
|
|
501
|
+
return refused(blocked
|
|
502
|
+
? `${startedLine} Gave up watching after ${timeout_s}s; the platform could not be asked — the ` +
|
|
503
|
+
`last attempt said: ${blocked}. THE CAPTURE IS STILL RUNNING. ${byHand}`
|
|
504
|
+
: `${startedLine} Still capturing after ${timeout_s}s, which a large disk takes. THE CAPTURE IS ` +
|
|
505
|
+
`STILL RUNNING and nothing was changed by giving up on the wait. ${byHand}`, started);
|
|
506
|
+
}
|
|
507
|
+
finally {
|
|
508
|
+
await beat.stop();
|
|
498
509
|
}
|
|
499
|
-
// A refusal, for the reason move_computer's is: the wait never reached
|
|
500
|
-
// what it was told to wait for. What it must not do is read as a capture
|
|
501
|
-
// that failed — that is a different answer with a different id in it,
|
|
502
|
-
// and the difference between calling this again and going looking for a
|
|
503
|
-
// snapshot that is on its way.
|
|
504
|
-
return refused(blocked
|
|
505
|
-
? `${startedLine} Gave up watching after ${timeout_s}s; the platform could not be asked — the ` +
|
|
506
|
-
`last attempt said: ${blocked}. THE CAPTURE IS STILL RUNNING. ${byHand}`
|
|
507
|
-
: `${startedLine} Still capturing after ${timeout_s}s, which a large disk takes. THE CAPTURE IS ` +
|
|
508
|
-
`STILL RUNNING and nothing was changed by giving up on the wait. ${byHand}`, started);
|
|
509
510
|
}));
|
|
510
511
|
server.registerTool('restore_snapshot', {
|
|
511
512
|
title: 'Restore a snapshot',
|
|
@@ -580,7 +581,11 @@ export const registerSnapshots = (server, session, opts) => {
|
|
|
580
581
|
annotations: { readOnlyHint: true },
|
|
581
582
|
}, (_args, extra) => guarded(async () => {
|
|
582
583
|
const body = await session.api.with(extra.signal).json('GET', P.RETENTION);
|
|
583
|
-
|
|
584
|
+
const retention = retentionOf(body);
|
|
585
|
+
if (!retention) {
|
|
586
|
+
return refused('The retention policy could not be read: GET /retention must answer with nonnegative whole-number `daily`, `weekly`, and `monthly` fields. No retention window is inferred from this response.', body);
|
|
587
|
+
}
|
|
588
|
+
return said(retentionLine(retention), body);
|
|
584
589
|
}));
|
|
585
590
|
// clone_snapshot brings a billable machine into existence as surely as
|
|
586
591
|
// create_computer does, and delete_snapshot destroys bytes as surely as
|
|
@@ -725,67 +730,72 @@ export const registerSnapshots = (server, session, opts) => {
|
|
|
725
730
|
`wait to find out. ${byHand}`, accepted);
|
|
726
731
|
}
|
|
727
732
|
const beat = heartbeat(extra, server.server);
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
`
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
if (
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
733
|
+
try {
|
|
734
|
+
await beat(`Deleting ${snapshot_id} — the platform has accepted it.`);
|
|
735
|
+
let blocked;
|
|
736
|
+
let seen;
|
|
737
|
+
while (untilDeadline && !untilDeadline.aborted) {
|
|
738
|
+
if (extra.signal?.aborted) {
|
|
739
|
+
return refused(`Cancelled while waiting for ${snapshot_id} to be deleted. THE DELETION IS STILL RUNNING — ` +
|
|
740
|
+
`nothing was called back, and objects it has already removed are already gone. ${byHand}`, accepted);
|
|
741
|
+
}
|
|
742
|
+
// `unfinished`, because the state a stalled deletion sits in is the
|
|
743
|
+
// one a bare listing hides. Asking without it would read a snapshot
|
|
744
|
+
// stuck half-deleted as a snapshot successfully deleted, which is the
|
|
745
|
+
// one wrong answer this tool must not give.
|
|
746
|
+
const turn = await snapshotTurn(api, snapshot_id, true);
|
|
747
|
+
if (extra.signal?.aborted)
|
|
748
|
+
continue;
|
|
749
|
+
if (turn.kind === 'cancelled') {
|
|
750
|
+
if (untilDeadline.aborted)
|
|
751
|
+
break;
|
|
752
|
+
blocked = turn.why;
|
|
753
|
+
await beat(`Deleting ${snapshot_id} — the platform could not be asked: ${turn.why}`);
|
|
754
|
+
await sleep(POLL_MS, signal);
|
|
755
|
+
continue;
|
|
756
|
+
}
|
|
757
|
+
if (turn.kind === 'broken') {
|
|
758
|
+
return refused(`${turn.why}\n\nTHE DELETION IS STILL RUNNING — this was the poll failing, not the ` +
|
|
759
|
+
`deletion. ${byHand}`, accepted);
|
|
760
|
+
}
|
|
761
|
+
if (turn.kind === 'blocked') {
|
|
762
|
+
blocked = turn.why;
|
|
763
|
+
await beat(`Deleting ${snapshot_id} — the platform could not be asked: ${turn.why}`);
|
|
764
|
+
await sleep(turn.after ?? POLL_MS, signal);
|
|
765
|
+
continue;
|
|
766
|
+
}
|
|
767
|
+
// The row is gone from a listing that was read whole and that ASKED
|
|
768
|
+
// for the unfinished ones. Both halves are what make this sentence
|
|
769
|
+
// true rather than merely likely.
|
|
770
|
+
if (turn.kind === 'absent')
|
|
771
|
+
return said(`Deleted snapshot ${snapshot_id}.`, accepted);
|
|
772
|
+
blocked = undefined;
|
|
773
|
+
seen = typeof turn.row.state === 'string' ? turn.row.state : undefined;
|
|
774
|
+
await beat(`Deleting ${snapshot_id} — still listed${seen ? `, reading "${seen}"` : ''}.`);
|
|
748
775
|
await sleep(POLL_MS, signal);
|
|
749
|
-
continue;
|
|
750
776
|
}
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
777
|
+
// Still listed. Three different things that can mean, and they are not
|
|
778
|
+
// one sentence: the platform could not be asked, the deletion got part
|
|
779
|
+
// way and stalled, or it never got started on — which is the shape the
|
|
780
|
+
// one conflict that arrives AFTER the 202 leaves behind, a dependent
|
|
781
|
+
// that is itself being deleted and so cannot be detached.
|
|
782
|
+
return refused(blocked
|
|
783
|
+
? `Gave up watching after ${timeout_s}s; the platform could not be asked whether ${snapshot_id} ` +
|
|
784
|
+
`is gone — the last attempt said: ${blocked}. THE DELETION IS STILL RUNNING. ${byHand}`
|
|
785
|
+
: seen === DELETING
|
|
786
|
+
? `${snapshot_id} is still listed after ${timeout_s}s and reads "${DELETING}": the deletion ` +
|
|
787
|
+
`started and has not finished. Nothing was undone by giving up on the wait, and the ` +
|
|
788
|
+
`platform retries a stalled deletion itself every fifteen minutes — so this usually needs ` +
|
|
789
|
+
`watching rather than repeating. ${byHand}`
|
|
790
|
+
: `${snapshot_id} is still listed after ${timeout_s}s${seen ? `, reading "${seen}"` : ''} — ` +
|
|
791
|
+
`the deletion has not reached the point of marking it "${DELETING}". That is what a big ` +
|
|
792
|
+
`chain looks like early on, and it is also what the one conflict that arrives after the ` +
|
|
793
|
+
`deletion is accepted looks like: a dependent snapshot that is ITSELF being deleted cannot ` +
|
|
794
|
+
`be detached, so this one waits for that one. Nothing was destroyed either way. ${byHand}`, accepted);
|
|
795
|
+
}
|
|
796
|
+
finally {
|
|
797
|
+
await beat.stop();
|
|
770
798
|
}
|
|
771
|
-
// Still listed. Three different things that can mean, and they are not
|
|
772
|
-
// one sentence: the platform could not be asked, the deletion got part
|
|
773
|
-
// way and stalled, or it never got started on — which is the shape the
|
|
774
|
-
// one conflict that arrives AFTER the 202 leaves behind, a dependent
|
|
775
|
-
// that is itself being deleted and so cannot be detached.
|
|
776
|
-
return refused(blocked
|
|
777
|
-
? `Gave up watching after ${timeout_s}s; the platform could not be asked whether ${snapshot_id} ` +
|
|
778
|
-
`is gone — the last attempt said: ${blocked}. THE DELETION IS STILL RUNNING. ${byHand}`
|
|
779
|
-
: seen === DELETING
|
|
780
|
-
? `${snapshot_id} is still listed after ${timeout_s}s and reads "${DELETING}": the deletion ` +
|
|
781
|
-
`started and has not finished. Nothing was undone by giving up on the wait, and the ` +
|
|
782
|
-
`platform retries a stalled deletion itself every fifteen minutes — so this usually needs ` +
|
|
783
|
-
`watching rather than repeating. ${byHand}`
|
|
784
|
-
: `${snapshot_id} is still listed after ${timeout_s}s${seen ? `, reading "${seen}"` : ''} — ` +
|
|
785
|
-
`the deletion has not reached the point of marking it "${DELETING}". That is what a big ` +
|
|
786
|
-
`chain looks like early on, and it is also what the one conflict that arrives after the ` +
|
|
787
|
-
`deletion is accepted looks like: a dependent snapshot that is ITSELF being deleted cannot ` +
|
|
788
|
-
`be detached, so this one waits for that one. Nothing was destroyed either way. ${byHand}`, accepted);
|
|
789
799
|
}));
|
|
790
800
|
};
|
|
791
801
|
//# sourceMappingURL=snapshots.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/tools/templates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiC5C,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/tools/templates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiC5C,eAAO,MAAM,iBAAiB,EAAE,SAqmB/B,CAAC"}
|
package/dist/tools/templates.js
CHANGED
|
@@ -97,18 +97,14 @@ export const registerTemplates = (server, session, opts) => {
|
|
|
97
97
|
if (typeof body.ref !== 'string' || !body.ref.trim()) {
|
|
98
98
|
return refused('POST /templates answered without a `ref`, so this server cannot say what was stored. THE PUBLISH MAY HAVE SUCCEEDED — read the name with get_template before publishing again, because a ref is immutable and a second version claims a second ref.', body);
|
|
99
99
|
}
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
//
|
|
104
|
-
// this line led straight into a refusal the server already knew about
|
|
105
|
-
// (adversarial review, OPL-3835). Publishing and being launchable are
|
|
106
|
-
// different questions and this says so, without claiming to know which
|
|
107
|
-
// of the two this document is — the store answers the first, and only
|
|
108
|
-
// the document says whether it declares build steps.
|
|
100
|
+
// Publishing stores the document; a custom image then has to finish its
|
|
101
|
+
// build before creation can use the ref. Creation remains the authority
|
|
102
|
+
// on preparation and capacity, so this names that next step without
|
|
103
|
+
// claiming the image is already present everywhere it might be used.
|
|
109
104
|
return said(`Published ${body.ref}. A published template is named by its ref and by nothing else, so its short name still means one of ours. ` +
|
|
110
|
-
`
|
|
111
|
-
|
|
105
|
+
`If the document has no \`spec.build\` steps, pass the ref to ${launcher} as \`template\`. ` +
|
|
106
|
+
`If it declares build steps, call build_template, follow the job with watch_build, and after it succeeds pass this same published ref to ${launcher}. ` +
|
|
107
|
+
`${launcher} may still return image preparation instructions or a capacity refusal; follow that result rather than assuming the successful build made every destination ready.`, body);
|
|
112
108
|
}));
|
|
113
109
|
server.registerTool('get_template', {
|
|
114
110
|
title: 'Read a template document',
|
|
@@ -212,7 +208,7 @@ export const registerTemplates = (server, session, opts) => {
|
|
|
212
208
|
}));
|
|
213
209
|
server.registerTool('build_template', {
|
|
214
210
|
title: 'Compile a template document into an image',
|
|
215
|
-
description:
|
|
211
|
+
description: `Compile a document that declares \`spec.build\` steps into a golden image. Returns IMMEDIATELY with a job — a build takes minutes, an agent image roughly fifteen — and watch_build is how you follow it. THE NAMESPACE AND THE FAMILY BOTH HAVE TO BE YOURS: \`spec.family\` is what the image is called on a hypervisor, in a directory shared with every computer on that machine, so a build may only write into \`golden-<your account id>\` or that and a \`-\` and a name of your choosing. A refusal saying a host is busy is not a problem with your document — one build runs per hypervisor — and is worth retrying. After a successful build, pass the published ref to ${launcher} as \`template\`. ${launcher} may still return image preparation instructions or a capacity refusal; follow that result rather than assuming the successful build made every destination ready.`,
|
|
216
212
|
inputSchema: {
|
|
217
213
|
document: z
|
|
218
214
|
.string()
|
|
@@ -517,7 +513,7 @@ export const registerTemplates = (server, session, opts) => {
|
|
|
517
513
|
? last.steps.find((s) => s?.status === 'failed')
|
|
518
514
|
: undefined;
|
|
519
515
|
return said(last.status === 'succeeded'
|
|
520
|
-
? `Build ${build_id} succeeded.
|
|
516
|
+
? `Build ${build_id} succeeded. Pass the published ref for this build to ${launcher} as \`template\`. ${launcher} may still return image preparation instructions or a capacity refusal; follow that result rather than assuming the successful build made every destination ready.`
|
|
521
517
|
: `Build ${build_id} ${last.status}.` +
|
|
522
518
|
(failed
|
|
523
519
|
? ` Step ${failed.n} (${failed.kind}: ${failed.label}) is the one that failed.`
|