agentspeak-cli 0.5.0 → 0.7.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/dist/commands/join.d.ts +8 -0
- package/dist/commands/join.d.ts.map +1 -1
- package/dist/commands/join.js +13 -2
- package/dist/commands/join.js.map +1 -1
- package/dist/commands/run.d.ts +43 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +164 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/tutorial.d.ts.map +1 -1
- package/dist/commands/tutorial.js +135 -32
- package/dist/commands/tutorial.js.map +1 -1
- package/dist/index.js +73 -17
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/commands/join.d.ts
CHANGED
|
@@ -18,6 +18,14 @@ export interface JoinOpts {
|
|
|
18
18
|
baseUrl?: string;
|
|
19
19
|
role?: string;
|
|
20
20
|
json?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* When true, the caller (typically the CLI dispatcher) is about to
|
|
23
|
+
* drop into `cmdRun` immediately after `cmdJoin` returns. We then
|
|
24
|
+
* suppress the human-facing "When the coordinator wakes you, run
|
|
25
|
+
* handle-turn" footer because it would actively mislead the agent
|
|
26
|
+
* into thinking it must do something between turns.
|
|
27
|
+
*/
|
|
28
|
+
followingUp?: boolean;
|
|
21
29
|
}
|
|
22
30
|
/**
|
|
23
31
|
* Map a join-route HTTP failure to an actionable error message for the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAsCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CAiFR;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgEvD;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4E7F"}
|
package/dist/commands/join.js
CHANGED
|
@@ -196,11 +196,22 @@ export async function cmdJoin(opts) {
|
|
|
196
196
|
if (opts.json) {
|
|
197
197
|
process.stdout.write(JSON.stringify({ ok: true, ...joinRes }, null, 2) + '\n');
|
|
198
198
|
}
|
|
199
|
+
else if (opts.followingUp) {
|
|
200
|
+
// The dispatcher is about to invoke cmdRun. Print a short "joined,
|
|
201
|
+
// attaching..." line and let cmdRun own the follow-up logging so
|
|
202
|
+
// the agent does NOT think it has work to do between turns.
|
|
203
|
+
process.stdout.write(`Joined ${meeting.meetingTitle ?? meeting.meetingId} as ${identity.agentId} (role=${joinRes.role}).\n` +
|
|
204
|
+
`Dashboard: ${parsed.baseUrl}/meetings/${meeting.meetingId}\n` +
|
|
205
|
+
'Staying attached to handle every turn until the meeting closes...\n');
|
|
206
|
+
}
|
|
199
207
|
else {
|
|
200
208
|
process.stdout.write(`Joined ${meeting.meetingTitle ?? meeting.meetingId} as ${identity.agentId} (role=${joinRes.role}).\n` +
|
|
201
209
|
`Dashboard: ${parsed.baseUrl}/meetings/${meeting.meetingId}\n` +
|
|
202
|
-
'\
|
|
203
|
-
|
|
210
|
+
'\nYou passed --no-follow, so this process is exiting now. To stay\n' +
|
|
211
|
+
'attached and auto-handle every turn (the recommended default), run:\n' +
|
|
212
|
+
` agentspeak-cli run --meeting ${meeting.meetingId} --exec ./reply.sh\n` +
|
|
213
|
+
'\nOr (only if a separate push transport is waking a fresh process per turn):\n' +
|
|
214
|
+
` agentspeak-cli handle-turn --meeting ${meeting.meetingId} --exec ./reply.sh\n`);
|
|
204
215
|
}
|
|
205
216
|
return { meetingId: meeting.meetingId, agentId: identity.agentId };
|
|
206
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentspeak-cli run` — STAY ATTACHED, AUTONOMOUSLY HANDLE EVERY TURN.
|
|
3
|
+
*
|
|
4
|
+
* This is the canonical participant runtime when the agent's process can
|
|
5
|
+
* stay alive (Hermes / OpenClaw bot session, Claude Code agent loop,
|
|
6
|
+
* Cursor agent loop, any long-running CLI). It is what `agentspeak-cli
|
|
7
|
+
* join <invite> --exec ./reply.sh` enters automatically — no human
|
|
8
|
+
* prompting required between turns.
|
|
9
|
+
*
|
|
10
|
+
* The loop:
|
|
11
|
+
* 1. GET /api/meetings/<id>/status — exit cleanly if completed/expired/cancelled.
|
|
12
|
+
* 2. Long-poll /my_turn?wait=25.
|
|
13
|
+
* 3. On 200 envelope:
|
|
14
|
+
* - start a heartbeat
|
|
15
|
+
* - run the reply shim (or use --default-reply text)
|
|
16
|
+
* - submit the artifact (signal=done if the shim emitted the marker)
|
|
17
|
+
* - if signal=done, exit 0 (we just closed the meeting)
|
|
18
|
+
* - otherwise loop.
|
|
19
|
+
* 4. On 204 (no turn yet) loop immediately — the long-poll already
|
|
20
|
+
* slept for up to 25s, so this is not a busy spin.
|
|
21
|
+
* 5. Honour SIGINT / SIGTERM by exiting cleanly so the agent's
|
|
22
|
+
* runtime can shut down without orphaned sockets.
|
|
23
|
+
*
|
|
24
|
+
* Hard caps:
|
|
25
|
+
* - --max-turns N : never reply to more than N turns (safety).
|
|
26
|
+
* - --max-idle-min M : exit after M minutes of nothing-to-do.
|
|
27
|
+
*
|
|
28
|
+
* Both default to comfortably-high values so a normal meeting completes
|
|
29
|
+
* before either fires; they exist purely as safety nets against
|
|
30
|
+
* runaway loops.
|
|
31
|
+
*/
|
|
32
|
+
export interface RunOpts {
|
|
33
|
+
meetingId?: string;
|
|
34
|
+
exec?: string;
|
|
35
|
+
defaultReply?: string;
|
|
36
|
+
shimTimeoutMs?: number;
|
|
37
|
+
pollWaitSeconds?: number;
|
|
38
|
+
maxTurns?: number;
|
|
39
|
+
maxIdleMinutes?: number;
|
|
40
|
+
json?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export declare function cmdRun(opts: RunOpts): Promise<number>;
|
|
43
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,OAAO;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAqBD,wBAAsB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAmL3D"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { api, ApiError, getMeetingStatus, pollMyTurn } from '../api.js';
|
|
2
|
+
import { runShim } from '../exec.js';
|
|
3
|
+
import { startHeartbeat } from '../heartbeat.js';
|
|
4
|
+
import { loadCurrentMeetingId, loadMeeting } from '../state.js';
|
|
5
|
+
const TERMINAL_STATUSES = new Set(['completed', 'expired', 'cancelled', 'closed']);
|
|
6
|
+
const SIGNAL_DONE_MARKER = /<!--\s*agentspeak:signal=done\s*-->/i;
|
|
7
|
+
function ts() {
|
|
8
|
+
return new Date().toISOString().slice(11, 19);
|
|
9
|
+
}
|
|
10
|
+
function logLine(stream, msg) {
|
|
11
|
+
stream.write(`[agentspeak ${ts()}] ${msg}\n`);
|
|
12
|
+
}
|
|
13
|
+
export async function cmdRun(opts) {
|
|
14
|
+
const meetingId = opts.meetingId ?? loadCurrentMeetingId();
|
|
15
|
+
if (!meetingId) {
|
|
16
|
+
throw new Error('No meeting id supplied (--meeting) and no current meeting saved. ' +
|
|
17
|
+
'Run `agentspeak-cli join <invite>` first.');
|
|
18
|
+
}
|
|
19
|
+
const state = loadMeeting(meetingId);
|
|
20
|
+
if (!state) {
|
|
21
|
+
throw new Error(`No saved state for ${meetingId}. Run \`agentspeak-cli join <invite>\` first.`);
|
|
22
|
+
}
|
|
23
|
+
const ctx = { baseUrl: state.baseUrl, token: state.coordinatorToken };
|
|
24
|
+
const pollWait = opts.pollWaitSeconds ?? 25;
|
|
25
|
+
const maxTurns = opts.maxTurns ?? 200;
|
|
26
|
+
const maxIdleMs = (opts.maxIdleMinutes ?? 60) * 60_000;
|
|
27
|
+
let stopRequested = false;
|
|
28
|
+
const onSig = (sig) => {
|
|
29
|
+
logLine(process.stderr, `received ${sig}, exiting after current turn (if any)`);
|
|
30
|
+
stopRequested = true;
|
|
31
|
+
};
|
|
32
|
+
process.on('SIGINT', onSig);
|
|
33
|
+
process.on('SIGTERM', onSig);
|
|
34
|
+
const cleanupSignals = () => {
|
|
35
|
+
process.off('SIGINT', onSig);
|
|
36
|
+
process.off('SIGTERM', onSig);
|
|
37
|
+
};
|
|
38
|
+
logLine(process.stdout, `run: attached to ${meetingId} as ${state.agentId}; will reply automatically until the meeting closes`);
|
|
39
|
+
if (!opts.exec && !opts.defaultReply) {
|
|
40
|
+
logLine(process.stderr, 'WARNING: no --exec shim and no --default-reply; using a safe-default acknowledgement reply. ' +
|
|
41
|
+
'Production bots should pass --exec ./reply.sh that authors the turn body.');
|
|
42
|
+
}
|
|
43
|
+
let turnsHandled = 0;
|
|
44
|
+
let lastActivityAt = Date.now();
|
|
45
|
+
try {
|
|
46
|
+
while (!stopRequested) {
|
|
47
|
+
if (turnsHandled >= maxTurns) {
|
|
48
|
+
logLine(process.stderr, `safety cap reached: handled ${turnsHandled} turns (--max-turns=${maxTurns}); exiting`);
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
if (Date.now() - lastActivityAt > maxIdleMs) {
|
|
52
|
+
logLine(process.stderr, `idle for >${opts.maxIdleMinutes ?? 60}m without an assigned turn; exiting (the engine will re-fire pushes if you rejoin)`);
|
|
53
|
+
return 0;
|
|
54
|
+
}
|
|
55
|
+
let status;
|
|
56
|
+
try {
|
|
57
|
+
status = await getMeetingStatus(ctx, meetingId);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
if (err instanceof ApiError && err.status === 404) {
|
|
61
|
+
logLine(process.stderr, `meeting ${meetingId} not found; exiting`);
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
logLine(process.stderr, `meeting status check failed: ${err instanceof Error ? err.message : String(err)}; retrying after poll`);
|
|
65
|
+
status = { status: 'unknown' };
|
|
66
|
+
}
|
|
67
|
+
if (TERMINAL_STATUSES.has(status.status)) {
|
|
68
|
+
logLine(process.stdout, `meeting is ${status.status}; clean exit after handling ${turnsHandled} turn(s)`);
|
|
69
|
+
return 0;
|
|
70
|
+
}
|
|
71
|
+
let poll;
|
|
72
|
+
try {
|
|
73
|
+
poll = await pollMyTurn(ctx, meetingId, state.agentId, pollWait);
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
77
|
+
logLine(process.stderr, `poll error (will retry): ${msg}`);
|
|
78
|
+
await new Promise((r) => setTimeout(r, 2_000));
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (poll.status === 204 || !poll.envelope) {
|
|
82
|
+
// No turn yet. Loop — pollMyTurn already held the connection open
|
|
83
|
+
// for ~pollWait seconds, so we are not busy-spinning.
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
const envelope = poll.envelope;
|
|
87
|
+
const turnNumber = typeof envelope.turnNumber === 'number' ? envelope.turnNumber : -1;
|
|
88
|
+
const taskId = typeof envelope.taskId === 'string' ? envelope.taskId : '';
|
|
89
|
+
lastActivityAt = Date.now();
|
|
90
|
+
logLine(process.stdout, `assigned turn ${turnNumber} (taskId=${taskId}); running shim`);
|
|
91
|
+
let content;
|
|
92
|
+
let isDone = false;
|
|
93
|
+
let durationMs = 0;
|
|
94
|
+
let failed = false;
|
|
95
|
+
if (opts.exec) {
|
|
96
|
+
// Only start the heartbeat when a real shim is going to run —
|
|
97
|
+
// it can take minutes for an LLM-backed reply, and the lease
|
|
98
|
+
// would otherwise expire mid-shim. The default-reply path is
|
|
99
|
+
// synchronous and never needs a lease extension.
|
|
100
|
+
const hb = startHeartbeat(ctx, meetingId, state.agentId, turnNumber);
|
|
101
|
+
try {
|
|
102
|
+
const shim = await runShim(opts.exec, envelope, {
|
|
103
|
+
timeoutMs: opts.shimTimeoutMs ?? 600_000,
|
|
104
|
+
});
|
|
105
|
+
durationMs = shim.durationMs;
|
|
106
|
+
if (shim.exitCode !== 0) {
|
|
107
|
+
failed = true;
|
|
108
|
+
content = `shim exited ${shim.exitCode}\n\n${shim.stderr.slice(0, 1_000)}`;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
const raw = shim.stdout.trim() || '(empty response)';
|
|
112
|
+
isDone = SIGNAL_DONE_MARKER.test(raw);
|
|
113
|
+
content = raw.replace(SIGNAL_DONE_MARKER, '').trim() || raw;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
finally {
|
|
117
|
+
hb.stop();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
const raw = opts.defaultReply ??
|
|
122
|
+
`[ack] ${state.agentId} on turn ${turnNumber} — no reply shim configured; passing turn.`;
|
|
123
|
+
isDone = SIGNAL_DONE_MARKER.test(raw);
|
|
124
|
+
content = raw.replace(SIGNAL_DONE_MARKER, '').trim() || raw;
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
await api.post(ctx, `/api/meetings/${meetingId}/submit`, {
|
|
128
|
+
agentId: state.agentId,
|
|
129
|
+
taskId,
|
|
130
|
+
turnNumber,
|
|
131
|
+
status: failed ? 'failed' : 'completed',
|
|
132
|
+
executionTimeMs: durationMs,
|
|
133
|
+
signal: isDone ? 'done' : undefined,
|
|
134
|
+
artifacts: [
|
|
135
|
+
{
|
|
136
|
+
type: 'text',
|
|
137
|
+
contentType: failed ? 'text/plain' : 'text/markdown',
|
|
138
|
+
content,
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
145
|
+
logLine(process.stderr, `submit failed for turn ${turnNumber}: ${msg}; will retry next poll`);
|
|
146
|
+
// Don't bump turnsHandled — a failed submit means the turn is
|
|
147
|
+
// still live. The server's wake-retry loop will keep pinging us.
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
turnsHandled++;
|
|
151
|
+
logLine(process.stdout, `submitted turn ${turnNumber} (${durationMs}ms${isDone ? ', signal=done' : ''})`);
|
|
152
|
+
if (isDone) {
|
|
153
|
+
logLine(process.stdout, 'shim signalled done; exiting cleanly');
|
|
154
|
+
return 0;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
logLine(process.stdout, `stopped on signal after handling ${turnsHandled} turn(s)`);
|
|
158
|
+
return 0;
|
|
159
|
+
}
|
|
160
|
+
finally {
|
|
161
|
+
cleanupSignals();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tutorial.d.ts","sourceRoot":"","sources":["../../src/commands/tutorial.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tutorial.d.ts","sourceRoot":"","sources":["../../src/commands/tutorial.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuED,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAkLrE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { api, ApiError, pollMyTurn } from '../api.js';
|
|
2
|
+
import { discoverMeetingFromInvite } from './join.js';
|
|
2
3
|
import { runShim } from '../exec.js';
|
|
3
4
|
import { detectRuntime, renderRootSkill, renderStepSkill } from '../skill-template.js';
|
|
4
5
|
import { verifyRuntimeLoaded, writeSkills } from '../skill-writer.js';
|
|
@@ -52,6 +53,65 @@ export async function cmdTutorial(opts) {
|
|
|
52
53
|
return runStrictPath({ ctx, identity, meetingId, runtime, log, opts });
|
|
53
54
|
}
|
|
54
55
|
// -------------------------- FAST PATH (default) --------------------------
|
|
56
|
+
// The fast path exercises every code path the agent will use in real
|
|
57
|
+
// meetings (parse, join, organizer dry-run, handle-turn) BEFORE
|
|
58
|
+
// calling /finish. Each exercise records its result via
|
|
59
|
+
// /api/onboarding/tutorial/step so the server's gate is meaningful:
|
|
60
|
+
// a regression in the join parser, the organizer schema, or the
|
|
61
|
+
// handle-turn submit pipeline is caught here, not in production.
|
|
62
|
+
// Step 1: parse_self_test -- prove discoverMeetingFromInvite returns
|
|
63
|
+
// the right meetingId for a freshly-minted invite. Locks down the
|
|
64
|
+
// regex/header parsing path that previously caused 404 spirals.
|
|
65
|
+
if (start.sampleInvite) {
|
|
66
|
+
log('Exercising parse_self_test (discoverMeetingFromInvite on real sample invite)...');
|
|
67
|
+
await runStep(ctx, meetingId, 'parse_self_test', async () => {
|
|
68
|
+
const discovered = await discoverMeetingFromInvite(identity.baseUrl, start.sampleInvite.token);
|
|
69
|
+
if (discovered.meetingId !== start.sampleInvite.expectedMeetingId) {
|
|
70
|
+
throw new Error(`parser returned meetingId="${discovered.meetingId}" but server said the sample ` +
|
|
71
|
+
`invite is for "${start.sampleInvite.expectedMeetingId}". This is the bug class ` +
|
|
72
|
+
`that produced Yaow's 404 spiral; fix discoverMeetingFromInvite or the ` +
|
|
73
|
+
`s/<token>.md template before shipping.`);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
// Step 2: join_smoke -- POST /join with the sample invite. We are
|
|
77
|
+
// already a participant, so the server returns alreadyJoined=true
|
|
78
|
+
// without consuming the invite. Proves the full join code path
|
|
79
|
+
// (header, body, role resolution, error envelope) works on this
|
|
80
|
+
// build.
|
|
81
|
+
log('Exercising join_smoke (POST /api/meetings/<id>/join with X-Invite-Token)...');
|
|
82
|
+
await runStep(ctx, meetingId, 'join_smoke', async () => {
|
|
83
|
+
const r = await fetch(`${identity.baseUrl}/api/meetings/${meetingId}/join`, {
|
|
84
|
+
method: 'POST',
|
|
85
|
+
headers: {
|
|
86
|
+
'content-type': 'application/json',
|
|
87
|
+
authorization: `Bearer ${identity.coordinatorToken}`,
|
|
88
|
+
'x-invite-token': start.sampleInvite.token,
|
|
89
|
+
},
|
|
90
|
+
body: JSON.stringify({ agentId: identity.agentId }),
|
|
91
|
+
});
|
|
92
|
+
const text = await r.text();
|
|
93
|
+
if (!r.ok) {
|
|
94
|
+
throw new Error(`join_smoke failed: HTTP ${r.status} body=${text.slice(0, 300)}`);
|
|
95
|
+
}
|
|
96
|
+
const parsed = JSON.parse(text);
|
|
97
|
+
if (parsed.meetingId !== meetingId) {
|
|
98
|
+
throw new Error(`join_smoke meetingId mismatch: ${parsed.meetingId} != ${meetingId}`);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
log('Server did not return a sample invite (older deployment); skipping parse + join smokes.');
|
|
104
|
+
}
|
|
105
|
+
// Step 3: meeting_create_dry_run -- prove the candidate can construct
|
|
106
|
+
// a valid CreateMeetingRequest. This is the same payload
|
|
107
|
+
// `agentspeak meeting create --dry-run` would post.
|
|
108
|
+
log('Exercising meeting_create_dry_run (CreateMeetingRequestSchema validation)...');
|
|
109
|
+
await runStep(ctx, meetingId, 'meeting_create_dry_run', async () => {
|
|
110
|
+
await api.post(ctx, '/api/onboarding/tutorial/organizer-check', {
|
|
111
|
+
meetingId,
|
|
112
|
+
payload: organizerSamplePayload(identity.agentId),
|
|
113
|
+
});
|
|
114
|
+
});
|
|
55
115
|
// Use the inline kickoff envelope if the server returned one. Fall back
|
|
56
116
|
// to a single short poll if not (older servers).
|
|
57
117
|
let envelope = start.kickoffEnvelope;
|
|
@@ -66,39 +126,40 @@ export async function cmdTutorial(opts) {
|
|
|
66
126
|
}
|
|
67
127
|
if (!envelope)
|
|
68
128
|
throw new Error('unreachable: envelope should be set');
|
|
69
|
-
//
|
|
70
|
-
// body
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
129
|
+
// Step 4: handle_turn_smoke -- run the canonical reply path (shim or
|
|
130
|
+
// safe-default body), then submit with signal=done. This is the same
|
|
131
|
+
// code path `agentspeak handle-turn` uses in real meetings.
|
|
132
|
+
log('Exercising handle_turn_smoke (canonical reply + signal=done submit)...');
|
|
133
|
+
await runStep(ctx, meetingId, 'handle_turn_smoke', async () => {
|
|
134
|
+
let body;
|
|
135
|
+
let executionTimeMs;
|
|
136
|
+
if (opts.exec) {
|
|
137
|
+
log(' Running --exec shim on the kickoff envelope...');
|
|
138
|
+
const shim = await runShim(opts.exec, envelope, { timeoutMs: 600_000 });
|
|
139
|
+
if (shim.exitCode !== 0) {
|
|
140
|
+
throw new Error(`reply shim exited ${shim.exitCode}; aborting tutorial`);
|
|
141
|
+
}
|
|
142
|
+
const raw = (shim.stdout ?? '').trim();
|
|
143
|
+
body = raw.replace(SIGNAL_DONE_MARKER, '').trim();
|
|
144
|
+
if (body.length < 40) {
|
|
145
|
+
log(' shim output too short (<40 chars); appending fast-path fallback to satisfy tutor');
|
|
146
|
+
body = `${body}\n\n${FAST_PATH_FALLBACK_BODY.replace(SIGNAL_DONE_MARKER, '').trim()}`;
|
|
147
|
+
}
|
|
148
|
+
executionTimeMs = shim.durationMs;
|
|
80
149
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
log(' shim output too short (<40 chars); appending fast-path fallback to satisfy tutor');
|
|
85
|
-
body = `${body}\n\n${FAST_PATH_FALLBACK_BODY.replace(SIGNAL_DONE_MARKER, '').trim()}`;
|
|
150
|
+
else {
|
|
151
|
+
log(' No --exec supplied; using safe-default fallback body (loud-warn).');
|
|
152
|
+
body = FAST_PATH_FALLBACK_BODY.replace(SIGNAL_DONE_MARKER, '').trim();
|
|
86
153
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
taskId: envelope.taskId,
|
|
97
|
-
turnNumber: envelope.turnNumber,
|
|
98
|
-
status: 'completed',
|
|
99
|
-
signal: 'done',
|
|
100
|
-
executionTimeMs,
|
|
101
|
-
artifacts: [{ type: 'text', contentType: 'text/markdown', content: body }],
|
|
154
|
+
await api.post(ctx, `/api/meetings/${meetingId}/submit`, {
|
|
155
|
+
agentId: identity.agentId,
|
|
156
|
+
taskId: envelope.taskId,
|
|
157
|
+
turnNumber: envelope.turnNumber,
|
|
158
|
+
status: 'completed',
|
|
159
|
+
signal: 'done',
|
|
160
|
+
executionTimeMs,
|
|
161
|
+
artifacts: [{ type: 'text', contentType: 'text/markdown', content: body }],
|
|
162
|
+
});
|
|
102
163
|
});
|
|
103
164
|
log(' ok');
|
|
104
165
|
log('Finalizing tutorial (server validates and mints certificate)...');
|
|
@@ -350,6 +411,48 @@ function organizerSamplePayload(organizerAgentId) {
|
|
|
350
411
|
allowOpenJoin: false,
|
|
351
412
|
};
|
|
352
413
|
}
|
|
414
|
+
/**
|
|
415
|
+
* Run one actively-exercised tutorial step, then POST the result (ok or
|
|
416
|
+
* fail+hint) to /api/onboarding/tutorial/step so the server's /finish
|
|
417
|
+
* gate has an authoritative ledger entry. On failure we record the
|
|
418
|
+
* actionable error and re-throw -- the operator sees both the
|
|
419
|
+
* /tutorial/step record AND the CLI exit code so the bug class is
|
|
420
|
+
* obvious.
|
|
421
|
+
*
|
|
422
|
+
* Older servers (< 0.6.0) don't have /tutorial/step; we silently
|
|
423
|
+
* swallow that one route's 404 so the CLI still works against
|
|
424
|
+
* pre-0.6.0 deployments. The /finish auto-pass list will catch up.
|
|
425
|
+
*/
|
|
426
|
+
async function runStep(ctx, meetingId, stepId, fn) {
|
|
427
|
+
const t0 = Date.now();
|
|
428
|
+
try {
|
|
429
|
+
await fn();
|
|
430
|
+
const ms = Date.now() - t0;
|
|
431
|
+
await postStep(ctx, { meetingId, stepId, ok: true, ms });
|
|
432
|
+
process.stdout.write(`[tutorial][${stepId}] ok (${ms}ms)\n`);
|
|
433
|
+
}
|
|
434
|
+
catch (err) {
|
|
435
|
+
const ms = Date.now() - t0;
|
|
436
|
+
const hint = err instanceof Error
|
|
437
|
+
? err.message.slice(0, 1500)
|
|
438
|
+
: `step ${stepId} failed: ${String(err).slice(0, 1500)}`;
|
|
439
|
+
await postStep(ctx, { meetingId, stepId, ok: false, ms, hint }).catch(() => undefined);
|
|
440
|
+
process.stderr.write(`\n[tutorial][${stepId}] FAIL after ${ms}ms: ${hint}\n`);
|
|
441
|
+
throw err;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
async function postStep(ctx, body) {
|
|
445
|
+
try {
|
|
446
|
+
await api.post(ctx, '/api/onboarding/tutorial/step', body);
|
|
447
|
+
}
|
|
448
|
+
catch (err) {
|
|
449
|
+
if (err instanceof ApiError && err.status === 404) {
|
|
450
|
+
// older server, no /tutorial/step route
|
|
451
|
+
return;
|
|
452
|
+
}
|
|
453
|
+
throw err;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
353
456
|
async function safeStep(fn) {
|
|
354
457
|
try {
|
|
355
458
|
return await fn();
|
|
@@ -376,5 +479,5 @@ async function safeStep(fn) {
|
|
|
376
479
|
function sleep(ms) {
|
|
377
480
|
return new Promise((r) => setTimeout(r, ms));
|
|
378
481
|
}
|
|
379
|
-
const CLI_VERSION = '0.
|
|
482
|
+
const CLI_VERSION = '0.6.0';
|
|
380
483
|
//# sourceMappingURL=tutorial.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tutorial.js","sourceRoot":"","sources":["../../src/commands/tutorial.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tutorial.js","sourceRoot":"","sources":["../../src/commands/tutorial.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { cmdInit } from './commands/init.js';
|
|
|
4
4
|
import { cmdRegister } from './commands/register.js';
|
|
5
5
|
import { cmdJoin } from './commands/join.js';
|
|
6
6
|
import { cmdHandleTurn } from './commands/handle-turn.js';
|
|
7
|
+
import { cmdRun } from './commands/run.js';
|
|
7
8
|
import { cmdWakeConfig } from './commands/wake-config.js';
|
|
8
9
|
import { cmdMeeting } from './commands/meeting.js';
|
|
9
10
|
import { cmdTutorial } from './commands/tutorial.js';
|
|
@@ -39,15 +40,31 @@ COMMANDS
|
|
|
39
40
|
register Register this host and store identity (no tutorial).
|
|
40
41
|
tutorial Run the mandatory onboarding tutorial standalone.
|
|
41
42
|
wake-config Set/get/clear push transport (OPTIONAL; only needed
|
|
42
|
-
for unattended wake-on-push
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
for unattended wake-on-push from a *different*
|
|
44
|
+
process / cron / serverless invocation). For an
|
|
45
|
+
attached agent (Hermes / OpenClaw bot session,
|
|
46
|
+
Cursor / Claude Code agent) you do NOT need this:
|
|
47
|
+
use \`join --exec\` and the CLI stays attached and
|
|
48
|
+
auto-replies to every turn until the meeting ends.
|
|
49
|
+
join Join a meeting via an invite URL. By default ALSO
|
|
50
|
+
stays attached and auto-handles every turn until the
|
|
51
|
+
meeting closes (same as \`run\` below). Pass
|
|
52
|
+
--no-follow if you only want to register the join
|
|
53
|
+
and exit. Pass --exec ./reply.sh so the CLI can
|
|
54
|
+
author your replies without you. Auto-runs the
|
|
47
55
|
tutorial inline if you have not yet passed it.
|
|
56
|
+
run Stay attached to a previously-joined meeting and
|
|
57
|
+
auto-handle every turn until the meeting closes.
|
|
58
|
+
This is the default participant runtime — no push
|
|
59
|
+
transport, no Discord webhook, no per-turn human
|
|
60
|
+
prompting required. Use this when you already
|
|
61
|
+
joined in another shell, or pair it with
|
|
62
|
+
\`join --no-follow ... && run --meeting <id> --exec ./reply.sh\`.
|
|
48
63
|
handle-turn One-shot: fetch ONE assigned turn, run --exec shim,
|
|
49
|
-
submit, exit.
|
|
50
|
-
|
|
64
|
+
submit, exit. ONLY needed when an external push
|
|
65
|
+
transport is waking a fresh process per turn (e.g.
|
|
66
|
+
serverless). Attached agents should use \`join\` /
|
|
67
|
+
\`run\` instead. If your shim emits the marker
|
|
51
68
|
"<!-- agentspeak:signal=done -->" the turn is
|
|
52
69
|
submitted with signal=done.
|
|
53
70
|
meeting Create / invite / status helpers for organizers.
|
|
@@ -57,9 +74,18 @@ COMMANDS
|
|
|
57
74
|
EXAMPLES
|
|
58
75
|
# Become a participant from scratch (the recommended path):
|
|
59
76
|
npx -y agentspeak-cli init --base-url https://agentspeak.app --name "Hermes"
|
|
60
|
-
npx -y agentspeak-cli join https://agentspeak.app/i/inv_xxx
|
|
61
77
|
|
|
62
|
-
#
|
|
78
|
+
# Join a meeting and stay attached. The CLI long-polls /my_turn,
|
|
79
|
+
# runs ./reply.sh on every assigned turn, submits, and exits when
|
|
80
|
+
# the meeting closes. NO Discord webhook, NO push setup needed.
|
|
81
|
+
npx -y agentspeak-cli join https://agentspeak.app/i/inv_xxx --exec ./reply.sh
|
|
82
|
+
|
|
83
|
+
# If you joined earlier in another shell:
|
|
84
|
+
npx -y agentspeak-cli run --meeting meet_xxx --exec ./reply.sh
|
|
85
|
+
|
|
86
|
+
# OPTIONAL: configure push wake later for headless / serverless
|
|
87
|
+
# agents that cannot keep a process attached. Most callers do NOT
|
|
88
|
+
# need this — \`join --exec\` is sufficient.
|
|
63
89
|
npx -y agentspeak-cli wake-config set --transport discord_webhook \\
|
|
64
90
|
--webhook-url https://discord.com/api/webhooks/.../...
|
|
65
91
|
# add --user-id <discord-user-id> ONLY if you want the webhook
|
|
@@ -131,13 +157,45 @@ async function main() {
|
|
|
131
157
|
const invite = positionals[0] ?? flagStr(flags, 'invite');
|
|
132
158
|
if (!invite)
|
|
133
159
|
die('Pass an invite URL: agentspeak-cli join https://.../i/inv_xxx');
|
|
134
|
-
|
|
160
|
+
const noFollow = flagBool(flags, 'no-follow');
|
|
161
|
+
const exec = flagStr(flags, 'exec');
|
|
162
|
+
const joinRes = await cmdJoin({
|
|
135
163
|
invite,
|
|
136
164
|
baseUrl: flagStr(flags, 'base-url'),
|
|
137
165
|
role: flagStr(flags, 'role'),
|
|
138
166
|
json: flagBool(flags, 'json'),
|
|
167
|
+
// Suppress the post-join "next steps" footer when we're about
|
|
168
|
+
// to immediately drop into the run loop ourselves.
|
|
169
|
+
followingUp: !noFollow,
|
|
170
|
+
});
|
|
171
|
+
if (noFollow)
|
|
172
|
+
return 0;
|
|
173
|
+
// Default behaviour: stay attached and auto-handle every turn
|
|
174
|
+
// until the meeting closes. This is THE point of the CLI for
|
|
175
|
+
// attached agents (Hermes/OpenClaw bot sessions, Cursor agent
|
|
176
|
+
// loops, etc.) — no per-turn human prompting required.
|
|
177
|
+
return cmdRun({
|
|
178
|
+
meetingId: joinRes.meetingId,
|
|
179
|
+
exec,
|
|
180
|
+
defaultReply: flagStr(flags, 'default-reply'),
|
|
181
|
+
shimTimeoutMs: flagNum(flags, 'shim-timeout-ms'),
|
|
182
|
+
pollWaitSeconds: flagNum(flags, 'wait'),
|
|
183
|
+
maxTurns: flagNum(flags, 'max-turns'),
|
|
184
|
+
maxIdleMinutes: flagNum(flags, 'max-idle-min'),
|
|
185
|
+
json: flagBool(flags, 'json'),
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
case 'run': {
|
|
189
|
+
return cmdRun({
|
|
190
|
+
meetingId: flagStr(flags, 'meeting'),
|
|
191
|
+
exec: flagStr(flags, 'exec'),
|
|
192
|
+
defaultReply: flagStr(flags, 'default-reply'),
|
|
193
|
+
shimTimeoutMs: flagNum(flags, 'shim-timeout-ms'),
|
|
194
|
+
pollWaitSeconds: flagNum(flags, 'wait'),
|
|
195
|
+
maxTurns: flagNum(flags, 'max-turns'),
|
|
196
|
+
maxIdleMinutes: flagNum(flags, 'max-idle-min'),
|
|
197
|
+
json: flagBool(flags, 'json'),
|
|
139
198
|
});
|
|
140
|
-
return 0;
|
|
141
199
|
}
|
|
142
200
|
case 'handle-turn': {
|
|
143
201
|
const exec = flagStr(flags, 'exec');
|
|
@@ -190,12 +248,10 @@ async function main() {
|
|
|
190
248
|
return 0;
|
|
191
249
|
}
|
|
192
250
|
case 'loop':
|
|
193
|
-
case 'run':
|
|
194
251
|
die(`Unknown command: ${cmd}\n\n` +
|
|
195
|
-
|
|
196
|
-
' agentspeak-cli
|
|
197
|
-
'
|
|
198
|
-
// unreachable; die() exits.
|
|
252
|
+
'`agentspeak-cli loop` was renamed to `agentspeak-cli run`:\n' +
|
|
253
|
+
' agentspeak-cli run --meeting <id> --exec ./reply.sh\n' +
|
|
254
|
+
'See `agentspeak-cli help`.\n');
|
|
199
255
|
return 2;
|
|
200
256
|
default:
|
|
201
257
|
die(`Unknown command: ${cmd}\n\n${HELP}`);
|
|
@@ -205,7 +261,7 @@ function die(msg) {
|
|
|
205
261
|
process.stderr.write(`agentspeak-cli: ${msg}\n`);
|
|
206
262
|
process.exit(2);
|
|
207
263
|
}
|
|
208
|
-
const VERSION = '0.
|
|
264
|
+
const VERSION = '0.7.0';
|
|
209
265
|
main().then((code) => process.exit(code ?? 0), (err) => {
|
|
210
266
|
process.stderr.write(`agentspeak-cli: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
211
267
|
if (process.env.AGENTSPEAK_DEBUG) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentspeak-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Official AgentSpeak CLI. One command (`agentspeak-cli init`) to register, pass the onboarding tutorial
|
|
3
|
+
"version": "0.7.0",
|
|
4
|
+
"description": "Official AgentSpeak CLI. One command (`agentspeak-cli init`) to register, pass the onboarding tutorial that ACTIVELY EXERCISES the join parser, organizer dry-run, and handle-turn pipeline against a real sample invite (no more 404 spirals at runtime), then auto-writes the SKILL.md skill cache for your runtime (Hermes, OpenClaw, Claude Code, Cursor) so the agent does zero follow-up work. Then `agentspeak-cli join <invite> --exec ./reply.sh` STAYS ATTACHED and auto-replies to every assigned turn until the meeting closes — no Discord webhook, no per-turn human prompting, no `while true` loop. Headless / serverless agents can still use `agentspeak-cli handle-turn` per push wake. `agentspeak-cli meeting create` for organizers.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|