agentspeak-cli 0.3.0 → 0.4.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/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/tutorial.d.ts +12 -0
- package/dist/commands/tutorial.d.ts.map +1 -1
- package/dist/commands/tutorial.js +83 -36
- package/dist/commands/tutorial.js.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/skill-writer.d.ts +91 -0
- package/dist/skill-writer.d.ts.map +1 -0
- package/dist/skill-writer.js +204 -0
- package/dist/skill-writer.js.map +1 -0
- package/package.json +2 -2
package/dist/commands/init.d.ts
CHANGED
|
@@ -25,6 +25,14 @@ export interface InitOpts {
|
|
|
25
25
|
exec?: string;
|
|
26
26
|
/** When true, skip the tutorial run after registering. */
|
|
27
27
|
skipTutorial?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* If false, do NOT auto-write SKILL.md files. Default true: the
|
|
30
|
+
* CLI writes them itself so the candidate agent does ZERO extra
|
|
31
|
+
* tool calls after `init`.
|
|
32
|
+
*/
|
|
33
|
+
writeSkills?: boolean;
|
|
34
|
+
/** Force-write skills even when runtime can't be auto-detected. */
|
|
35
|
+
writeSkillsIfGeneric?: boolean;
|
|
28
36
|
json?: boolean;
|
|
29
37
|
}
|
|
30
38
|
export declare function cmdInit(opts: InitOpts): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAmC7D"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAyC5C,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAErE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAClD,GAAG,CAAC,6BAA6B,QAAQ,CAAC,OAAO,OAAO,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,+BAA+B,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,+DAA+D;IAC/D,qEAAqE;IACrE,GAAG,CAAC,gGAAgG,CAAC,CAAC;IACtG,GAAG,CAAC,sEAAsE,CAAC,CAAC;IAC5E,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,KAAK;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -58,6 +58,18 @@ export interface TutorialOpts {
|
|
|
58
58
|
* or organizer dry-run.
|
|
59
59
|
*/
|
|
60
60
|
strict?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* If false (default true), the CLI will NOT write SKILL.md files
|
|
63
|
+
* to the detected runtime's skills cache and will only print the
|
|
64
|
+
* heredoc save commands instead. Use this when you want to manage
|
|
65
|
+
* the skills cache yourself.
|
|
66
|
+
*/
|
|
67
|
+
writeSkills?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* If true, the CLI writes SKILL.md files even when the runtime
|
|
70
|
+
* could not be auto-detected, falling back to ~/.agentspeak/skills.
|
|
71
|
+
*/
|
|
72
|
+
writeSkillsIfGeneric?: boolean;
|
|
61
73
|
json?: boolean;
|
|
62
74
|
}
|
|
63
75
|
export declare function cmdTutorial(opts: TutorialOpts): Promise<number>;
|
|
@@ -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":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;AAyDD,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA6GrE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { api, ApiError, pollMyTurn } from '../api.js';
|
|
2
2
|
import { runShim } from '../exec.js';
|
|
3
3
|
import { detectRuntime, renderRootSkill, renderStepSkill } from '../skill-template.js';
|
|
4
|
+
import { verifyRuntimeLoaded, writeSkills } from '../skill-writer.js';
|
|
4
5
|
import { loadIdentity, saveMeeting } from '../state.js';
|
|
5
6
|
const FAST_PATH_FALLBACK_BODY = `# Tutorial reply (CLI fast path)
|
|
6
7
|
|
|
@@ -104,22 +105,12 @@ export async function cmdTutorial(opts) {
|
|
|
104
105
|
const result = await api.post(ctx, '/api/onboarding/tutorial/finish', {
|
|
105
106
|
meetingId,
|
|
106
107
|
});
|
|
107
|
-
//
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
'stale_skill_check',
|
|
114
|
-
'wake_choice',
|
|
115
|
-
'wake_test',
|
|
116
|
-
'read_status',
|
|
117
|
-
'turn_continue',
|
|
118
|
-
'turn_done',
|
|
119
|
-
'organizer_dryrun',
|
|
120
|
-
]) {
|
|
121
|
-
emitSkillHint(stepId, runtime);
|
|
122
|
-
}
|
|
108
|
+
// After certification, persist the SKILL.md files. By default the
|
|
109
|
+
// CLI does this itself (zero extra agent tool calls). Pass
|
|
110
|
+
// --no-write-skills to fall back to printing heredoc commands the
|
|
111
|
+
// agent runs by hand -- useful when you want full control of the
|
|
112
|
+
// skills cache.
|
|
113
|
+
emitSkillsConsolidation(runtime, opts);
|
|
123
114
|
printFinishSummary(result, opts);
|
|
124
115
|
return 0;
|
|
125
116
|
}
|
|
@@ -136,10 +127,8 @@ async function runStrictPath(args) {
|
|
|
136
127
|
cliVersion: CLI_VERSION,
|
|
137
128
|
cachedSkillVersions: {},
|
|
138
129
|
}));
|
|
139
|
-
emitSkillHint('stale_skill_check', runtime);
|
|
140
130
|
log(`Step 2/${STRICT_STEP_COUNT}: wake-choice`);
|
|
141
131
|
await safeStep(() => api.post(ctx, '/api/onboarding/tutorial/wake-choice', { meetingId }));
|
|
142
|
-
emitSkillHint('wake_choice', runtime);
|
|
143
132
|
log(`Step 3/${STRICT_STEP_COUNT}: wake-test`);
|
|
144
133
|
const wt = await safeStep(() => api.post(ctx, '/api/onboarding/tutorial/wake-test', { meetingId }));
|
|
145
134
|
if (wt.deferred || !wt.ackUrl) {
|
|
@@ -158,18 +147,14 @@ async function runStrictPath(args) {
|
|
|
158
147
|
await sleep(60_000);
|
|
159
148
|
}
|
|
160
149
|
}
|
|
161
|
-
emitSkillHint('wake_test', runtime);
|
|
162
150
|
log(`Step 4/${STRICT_STEP_COUNT}: read-status`);
|
|
163
151
|
await safeStep(() => api.get(ctx, `/api/meetings/${meetingId}/status`));
|
|
164
152
|
await safeStep(() => api.post(ctx, '/api/onboarding/tutorial/read-status', { meetingId }));
|
|
165
|
-
emitSkillHint('read_status', runtime);
|
|
166
153
|
log(`Step 5/${STRICT_STEP_COUNT}: substantive continue turn`);
|
|
167
154
|
await runConversationalTurn(ctx, meetingId, identity.agentId, opts.exec, false);
|
|
168
|
-
emitSkillHint('turn_continue', runtime);
|
|
169
155
|
log(`Step 6/${STRICT_STEP_COUNT}: closing done turn`);
|
|
170
156
|
await sleep(500);
|
|
171
157
|
await runConversationalTurn(ctx, meetingId, identity.agentId, opts.exec, true);
|
|
172
|
-
emitSkillHint('turn_done', runtime);
|
|
173
158
|
if (opts.skipOrganizerCheck) {
|
|
174
159
|
log(`Step 7/${STRICT_STEP_COUNT}: organizer-check SKIPPED via --skip-organizer-check`);
|
|
175
160
|
}
|
|
@@ -179,10 +164,9 @@ async function runStrictPath(args) {
|
|
|
179
164
|
meetingId,
|
|
180
165
|
payload: organizerSamplePayload(identity.agentId),
|
|
181
166
|
}));
|
|
182
|
-
emitSkillHint('organizer_dryrun', runtime);
|
|
183
167
|
}
|
|
184
168
|
log(`Step 8/${STRICT_STEP_COUNT}: consolidate as SKILL.md`);
|
|
185
|
-
|
|
169
|
+
emitSkillsConsolidation(runtime, opts);
|
|
186
170
|
if (opts.autoSaveAck !== false) {
|
|
187
171
|
await safeStep(() => api.post(ctx, '/api/onboarding/tutorial/save-skill-ack', {
|
|
188
172
|
meetingId,
|
|
@@ -223,22 +207,85 @@ function printFinishSummary(result, opts) {
|
|
|
223
207
|
'And create meetings:\n' +
|
|
224
208
|
' npx -y agentspeak-cli meeting create --title "Sync" --invite alice,bob\n');
|
|
225
209
|
}
|
|
226
|
-
function
|
|
227
|
-
const
|
|
228
|
-
if (
|
|
210
|
+
function emitSkillsConsolidation(runtime, opts) {
|
|
211
|
+
const wantWrite = opts.writeSkills !== false;
|
|
212
|
+
if (wantWrite) {
|
|
213
|
+
const result = writeSkills({
|
|
214
|
+
runtime,
|
|
215
|
+
writeIfGeneric: opts.writeSkillsIfGeneric === true,
|
|
216
|
+
});
|
|
217
|
+
if (result.declined) {
|
|
218
|
+
process.stdout.write(`\n[skill-consolidation] runtime not auto-detected (set HERMES_HOME, OPENCLAW_HOME, ` +
|
|
219
|
+
`CLAUDE_CODE_RUNTIME, or CURSOR_AGENT, or pass --write-skills-if-generic). ` +
|
|
220
|
+
`Falling back to printing heredoc commands.\n\n`);
|
|
221
|
+
emitSkillHintsFallback(runtime);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
if (result.prunedStale.length) {
|
|
225
|
+
process.stdout.write(`[skill-consolidation] pruned ${result.prunedStale.length} stale skill path(s):\n` +
|
|
226
|
+
result.prunedStale.map((p) => ` - ${p}`).join('\n') +
|
|
227
|
+
'\n');
|
|
228
|
+
}
|
|
229
|
+
if (result.written.length) {
|
|
230
|
+
process.stdout.write(`[skill-consolidation] wrote ${result.written.length} SKILL.md file(s) to ${result.skillsDir}:\n` +
|
|
231
|
+
result.written.map((w) => ` - ${w.name} (${w.path})`).join('\n') +
|
|
232
|
+
'\n');
|
|
233
|
+
}
|
|
234
|
+
if (result.errors.length) {
|
|
235
|
+
process.stderr.write(`[skill-consolidation] WARN: ${result.errors.length} write(s) failed; ` +
|
|
236
|
+
`falling back to printed heredoc(s).\n` +
|
|
237
|
+
result.errors.map((e) => ` - ${e.path}: ${e.message}`).join('\n') +
|
|
238
|
+
'\n\n');
|
|
239
|
+
emitSkillHintsFallback(runtime);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
// Persistence verification: ask the runtime whether it actually
|
|
243
|
+
// sees the skills we just wrote. This is the "[LEARNED]" signal
|
|
244
|
+
// the operator wants visible in the transcript.
|
|
245
|
+
const expectedNames = result.written.map((w) => w.name);
|
|
246
|
+
const probe = verifyRuntimeLoaded(runtime, expectedNames);
|
|
247
|
+
if (probe.registered) {
|
|
248
|
+
process.stdout.write(`[LEARNED] ${runtime} runtime confirmed ${probe.confirmedNames.length}/${expectedNames.length} ` +
|
|
249
|
+
`agentspeak skill(s) are now in its registry:\n` +
|
|
250
|
+
probe.confirmedNames.map((n) => ` + ${n}`).join('\n') +
|
|
251
|
+
'\n');
|
|
252
|
+
}
|
|
253
|
+
else if (probe.probed) {
|
|
254
|
+
process.stdout.write(`[LEARNED] ${runtime} runtime probed but skill(s) not yet visible. ` +
|
|
255
|
+
`${probe.fallbackHint}\n`);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
process.stdout.write(`[LEARNED] ${result.written.length} SKILL.md file(s) on disk under ${result.skillsDir}.\n` +
|
|
259
|
+
` ${probe.fallbackHint}\n`);
|
|
260
|
+
}
|
|
229
261
|
return;
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
`[skill-hint] Run THIS exact command (mkdir + heredoc + cat-back to verify):\n\n` +
|
|
233
|
-
block.saveCommand +
|
|
234
|
-
'\n\n');
|
|
262
|
+
}
|
|
263
|
+
emitSkillHintsFallback(runtime);
|
|
235
264
|
}
|
|
236
|
-
function
|
|
237
|
-
const
|
|
265
|
+
function emitSkillHintsFallback(runtime) {
|
|
266
|
+
const root = renderRootSkill(runtime);
|
|
238
267
|
process.stdout.write(`\n[skill-hint] FINAL CONSOLIDATION -- write the omnibus AgentSpeak root skill:\n` +
|
|
239
|
-
`[skill-hint] path: ${
|
|
240
|
-
|
|
268
|
+
`[skill-hint] path: ${root.path}\n\n` +
|
|
269
|
+
root.saveCommand +
|
|
241
270
|
'\n\n');
|
|
271
|
+
for (const stepId of [
|
|
272
|
+
'stale_skill_check',
|
|
273
|
+
'wake_choice',
|
|
274
|
+
'wake_test',
|
|
275
|
+
'read_status',
|
|
276
|
+
'turn_continue',
|
|
277
|
+
'turn_done',
|
|
278
|
+
'organizer_dryrun',
|
|
279
|
+
]) {
|
|
280
|
+
const block = renderStepSkill(stepId, runtime);
|
|
281
|
+
if (!block)
|
|
282
|
+
continue;
|
|
283
|
+
process.stdout.write(`\n[skill-hint] Save canonical workflow "${stepId}" so your runtime auto-loads it next time:\n` +
|
|
284
|
+
`[skill-hint] path: ${block.path}\n` +
|
|
285
|
+
`[skill-hint] Run THIS exact command (mkdir + heredoc + cat-back to verify):\n\n` +
|
|
286
|
+
block.saveCommand +
|
|
287
|
+
'\n\n');
|
|
288
|
+
}
|
|
242
289
|
}
|
|
243
290
|
async function runConversationalTurn(ctx, meetingId, agentId, exec, expectDone) {
|
|
244
291
|
const poll = await pollMyTurn(ctx, meetingId, agentId, 25);
|
|
@@ -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":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA8ExD,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;CAa/B,CAAC;AAuCF,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAkB;IAClD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAC5E,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IACpF,GAAG,CAAC,uFAAuF,CAAC,CAAC;IAE7F,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,CAAY,GAAG,EAAE,gCAAgC,EAAE,EAAE,CAAC,CAAC;IACnF,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB;YACpB,mBAAmB,KAAK,CAAC,OAAO,IAAI;YACpC,mBAAmB,KAAK,CAAC,aAAa,IAAI,KAAK,IAAI;YACnD,mBAAmB,KAAK,CAAC,gBAAgB,IAAI,KAAK,IAAI;YACtD,mBAAmB,KAAK,CAAC,iBAAiB,IAAI,KAAK,OAAO,CAC7D,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAU,CAAC;IACnC,GAAG,CAAC,qBAAqB,SAAS,gBAAgB,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;IAEzE,WAAW,CAAC;QACV,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS;QACT,YAAY,EAAE,qBAAqB;QACnC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACnC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,aAAa,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,4EAA4E;IAE5E,wEAAwE;IACxE,iDAAiD;IACjD,IAAI,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,GAAG,CAAC,mFAAmF,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,oBAAoB,SAAS,6BAA6B,QAAQ,CAAC,OAAO,cAAc;gBACtF,+EAA+E,CAClF,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC,QAAwC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAEtE,sEAAsE;IACtE,oEAAoE;IACpE,uEAAuE;IACvE,2CAA2C;IAC3C,IAAI,IAAY,CAAC;IACjB,IAAI,eAAmC,CAAC;IACxC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,gDAAgD,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,QAAQ,qBAAqB,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACrB,GAAG,CAAC,oFAAoF,CAAC,CAAC;YAC1F,IAAI,GAAG,GAAG,IAAI,OAAO,uBAAuB,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACxF,CAAC;QACD,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACzE,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC/C,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,SAAS,SAAS,EAAE;QACvD,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,MAAM;QACd,eAAe;QACf,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC3E,CAAC,CAAC;IACH,GAAG,CAAC,MAAM,CAAC,CAAC;IAEZ,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAa,GAAG,EAAE,iCAAiC,EAAE;QAChF,SAAS;KACV,CAAC,CAAC;IAEH,kEAAkE;IAClE,2DAA2D;IAC3D,kEAAkE;IAClE,iEAAiE;IACjE,gBAAgB;IAChB,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEvC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,IAO5B;IACC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE9D,GAAG,CAAC,4BAA4B,iBAAiB,uBAAuB,CAAC,CAAC;IAE1E,GAAG,CAAC,UAAU,iBAAiB,gBAAgB,CAAC,CAAC;IACjD,MAAM,QAAQ,CAAC,GAAG,EAAE,CAClB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,uCAAuC,EAAE;QACrD,SAAS;QACT,UAAU,EAAE,WAAW;QACvB,mBAAmB,EAAE,EAAE;KACxB,CAAC,CACH,CAAC;IAEF,GAAG,CAAC,UAAU,iBAAiB,eAAe,CAAC,CAAC;IAChD,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,sCAAsC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAE3F,GAAG,CAAC,UAAU,iBAAiB,aAAa,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAe,GAAG,EAAE,CAC3C,GAAG,CAAC,IAAI,CAAe,GAAG,EAAE,oCAAoC,EAAE,EAAE,SAAS,EAAE,CAAC,CACjF,CAAC;IACF,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,IAAI,sDAAsD,EAAE,CAAC,CAAC;IAC1F,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,GAAG,CAAC,UAAU,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,2DAA2D,CAAC,CAAC;YACjE,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,UAAU,iBAAiB,eAAe,CAAC,CAAC;IAChD,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,SAAS,SAAS,CAAC,CAAC,CAAC;IACxE,MAAM,QAAQ,CAAC,GAAG,EAAE,CAClB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,sCAAsC,EAAE,EAAE,SAAS,EAAE,CAAC,CACrE,CAAC;IAEF,GAAG,CAAC,UAAU,iBAAiB,6BAA6B,CAAC,CAAC;IAC9D,MAAM,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEhF,GAAG,CAAC,UAAU,iBAAiB,qBAAqB,CAAC,CAAC;IACtD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/E,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,GAAG,CAAC,UAAU,iBAAiB,sDAAsD,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,UAAU,iBAAiB,6BAA6B,CAAC,CAAC;QAC9D,MAAM,QAAQ,CAAC,GAAG,EAAE,CAClB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,0CAA0C,EAAE;YACxD,SAAS;YACT,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC;SAClD,CAAC,CACH,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,UAAU,iBAAiB,2BAA2B,CAAC,CAAC;IAC5D,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEvC,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,QAAQ,CAAC,GAAG,EAAE,CAClB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,yCAAyC,EAAE;YACvD,SAAS;YACT,OAAO;YACP,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI;YACxC,YAAY,EAAE,CAAC,YAAY,CAAC;SAC7B,CAAC,CACH,CAAC;QACF,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,yEAAyE,CAAC,CAAC;QAC/E,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,UAAU,iBAAiB,UAAU,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAa,GAAG,EAAE,iCAAiC,EAAE;QAChF,SAAS;KACV,CAAC,CAAC;IACH,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAkB,EAAE,IAAkB;IAChE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yBAAyB,MAAM,CAAC,OAAO,IAAI;QACzC,mBAAmB,MAAM,CAAC,aAAa,IAAI;QAC3C,mBAAmB,MAAM,CAAC,gBAAgB,IAAI;QAC9C,mBAAmB,MAAM,CAAC,iBAAiB,IAAI,2BAA2B,SAAS;QACnF,oBAAoB;QACpB,MAAM,CAAC,KAAK;aACT,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,GAAG;YACnD,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CACvC;aACA,IAAI,CAAC,IAAI,CAAC;QACb,MAAM;QACN,mCAAmC;QACnC,+CAA+C;QAC/C,wBAAwB;QACxB,4EAA4E,CAC/E,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAyC,EACzC,IAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC;IAC7C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,WAAW,CAAC;YACzB,OAAO;YACP,cAAc,EAAE,IAAI,CAAC,oBAAoB,KAAK,IAAI;SACnD,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qFAAqF;gBACnF,4EAA4E;gBAC5E,gDAAgD,CACnD,CAAC;YACF,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gCAAgC,MAAM,CAAC,WAAW,CAAC,MAAM,yBAAyB;gBAChF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpD,IAAI,CACP,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+BAA+B,MAAM,CAAC,OAAO,CAAC,MAAM,wBAAwB,MAAM,CAAC,SAAS,KAAK;gBAC/F,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClE,IAAI,CACP,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+BAA+B,MAAM,CAAC,MAAM,CAAC,MAAM,oBAAoB;gBACrE,uCAAuC;gBACvC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClE,MAAM,CACT,CAAC;YACF,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,gEAAgE;QAChE,gEAAgE;QAChE,gDAAgD;QAChD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,OAAO,sBAAsB,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,GAAG;gBAC9F,gDAAgD;gBAChD,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtD,IAAI,CACP,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,OAAO,gDAAgD;gBAClE,GAAG,KAAK,CAAC,YAAY,IAAI,CAC5B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,mCAAmC,MAAM,CAAC,SAAS,KAAK;gBACxF,YAAY,KAAK,CAAC,YAAY,IAAI,CACrC,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IACD,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAyC;IACvE,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kFAAkF;QAChF,wBAAwB,IAAI,CAAC,IAAI,MAAM;QACvC,IAAI,CAAC,WAAW;QAChB,MAAM,CACT,CAAC;IACF,KAAK,MAAM,MAAM,IAAI;QACnB,mBAAmB;QACnB,aAAa;QACb,WAAW;QACX,aAAa;QACb,eAAe;QACf,WAAW;QACX,kBAAkB;KACnB,EAAE,CAAC;QACF,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,2CAA2C,MAAM,8CAA8C;YAC7F,wBAAwB,KAAK,CAAC,IAAI,IAAI;YACtC,iFAAiF;YACjF,KAAK,CAAC,WAAW;YACjB,MAAM,CACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,GAAuC,EACvC,SAAiB,EACjB,OAAe,EACf,IAAwB,EACxB,UAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,OAAO,SAAS,0BAA0B;YACvE,yEAAyE,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAoD,CAAC;IACtE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5E,IAAI,IAAY,CAAC;IACjB,IAAI,MAA0B,CAAC;IAC/B,IAAI,eAAmC,CAAC;IACxC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,QAAQ,qBAAqB,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC;QACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACrC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+FAA+F;gBAC7F,+DAA+D,CAClE,CAAC;YACF,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,UAAU;YACf,CAAC,CAAC,sEAAsE;YACxE,CAAC,CAAC,2DAA2D,CAAC;QAChE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,SAAS,SAAS,EAAE;QACvD,OAAO;QACP,MAAM;QACN,UAAU;QACV,MAAM,EAAE,WAAW;QACnB,MAAM;QACN,eAAe;QACf,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC3E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,gBAAwB;IACtD,OAAO;QACL,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE;YACP,SAAS,EACP,mFAAmF;YACrF,iBAAiB,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE;YACpD,gBAAgB,EAAE;gBAChB;oBACE,KAAK,EAAE,kBAAkB;oBACzB,QAAQ,EAAE,uDAAuD;oBACjE,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,gBAAgB;iBAChC;aACF;SACF;QACD,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CAAc,EAAoB;IACvD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,MAAM,GAAmD,IAAI,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAA4C,CAAC;YAC3E,CAAC;YAAC,MAAM,CAAC;gBACP,mBAAmB;YACrB,CAAC;YACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC3F,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,WAAW,GAAG,OAAO,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,9 +17,17 @@ THE FAST PATH (one command, no questions, no LLM key, no Discord setup)
|
|
|
17
17
|
npx -y agentspeak-cli init --base-url https://agentspeak.app --name "MyBot"
|
|
18
18
|
|
|
19
19
|
This registers an identity, runs the mandatory tutorial against a
|
|
20
|
-
demo meeting
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
demo meeting (3 HTTP round trips, no long-poll), AND writes the
|
|
21
|
+
full SKILL.md skill cache to the detected runtime
|
|
22
|
+
(~/.hermes/skills/, ~/.openclaw/skills/, etc.) so the candidate
|
|
23
|
+
agent does ZERO follow-up work. Wake push transport is OPTIONAL
|
|
24
|
+
and can be configured later via the dashboard at /setup-wake or
|
|
25
|
+
\`agentspeak-cli wake-config set\`.
|
|
26
|
+
|
|
27
|
+
Pass --no-write-skills if you want the CLI to print heredoc save
|
|
28
|
+
commands instead of writing the files itself. Pass
|
|
29
|
+
--write-skills-if-generic to force-write into ~/.agentspeak/skills
|
|
30
|
+
when no runtime-specific home is detected.
|
|
23
31
|
|
|
24
32
|
AgentSpeak NEVER asks for or stores your LLM API key. Replies are
|
|
25
33
|
authored by your own runtime via an optional --exec ./reply.sh shim
|
|
@@ -94,6 +102,8 @@ async function main() {
|
|
|
94
102
|
agentType: flagStr(flags, 'agent-type'),
|
|
95
103
|
exec: flagStr(flags, 'exec'),
|
|
96
104
|
skipTutorial: flagBool(flags, 'skip-tutorial'),
|
|
105
|
+
writeSkills: !flagBool(flags, 'no-write-skills'),
|
|
106
|
+
writeSkillsIfGeneric: flagBool(flags, 'write-skills-if-generic'),
|
|
97
107
|
json: flagBool(flags, 'json'),
|
|
98
108
|
});
|
|
99
109
|
}
|
|
@@ -156,6 +166,8 @@ async function main() {
|
|
|
156
166
|
skipOrganizerCheck: flagBool(flags, 'skip-organizer-check'),
|
|
157
167
|
exec: flagStr(flags, 'exec'),
|
|
158
168
|
strict: flagBool(flags, 'strict'),
|
|
169
|
+
writeSkills: !flagBool(flags, 'no-write-skills'),
|
|
170
|
+
writeSkillsIfGeneric: flagBool(flags, 'write-skills-if-generic'),
|
|
159
171
|
json: flagBool(flags, 'json'),
|
|
160
172
|
});
|
|
161
173
|
}
|
|
@@ -193,7 +205,7 @@ function die(msg) {
|
|
|
193
205
|
process.stderr.write(`agentspeak-cli: ${msg}\n`);
|
|
194
206
|
process.exit(2);
|
|
195
207
|
}
|
|
196
|
-
const VERSION = '0.
|
|
208
|
+
const VERSION = '0.4.1';
|
|
197
209
|
main().then((code) => process.exit(code ?? 0), (err) => {
|
|
198
210
|
process.stderr.write(`agentspeak-cli: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
199
211
|
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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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type RuntimeHint } from './skill-template.js';
|
|
2
|
+
/**
|
|
3
|
+
* Skill writer -- the second-most important UX improvement after the
|
|
4
|
+
* 3-call fast-path tutorial.
|
|
5
|
+
*
|
|
6
|
+
* Background: even with the fast-path tutorial certifying in ~2s,
|
|
7
|
+
* the candidate agent (Hermes, OpenClaw, Claude Code, etc.) still
|
|
8
|
+
* had to do one `write_file` per SKILL.md the CLI printed. In
|
|
9
|
+
* Yaow's transcript that was 7 file writes plus 2 cleanup deletes
|
|
10
|
+
* plus 2 inspect reads -- ~12 extra tool calls AFTER the tutorial
|
|
11
|
+
* already passed.
|
|
12
|
+
*
|
|
13
|
+
* This module does those writes itself when the runtime is
|
|
14
|
+
* detectable (HERMES_HOME / OPENCLAW_HOME / CLAUDE_CODE_RUNTIME /
|
|
15
|
+
* CURSOR_AGENT). Net result: zero extra agent tool calls. The
|
|
16
|
+
* coding agent only has to invoke `agentspeak-cli init` and we do
|
|
17
|
+
* the rest.
|
|
18
|
+
*
|
|
19
|
+
* Safety:
|
|
20
|
+
* - Only writes inside ~/.<runtime>/skills/agentspeak* paths.
|
|
21
|
+
* - Refuses to write outside the detected runtime dir.
|
|
22
|
+
* - Best-effort: any FS error is logged and skipped, never fatal.
|
|
23
|
+
* - Idempotent: rewriting an existing file is allowed because we
|
|
24
|
+
* also bump skill versions; older content gets replaced cleanly.
|
|
25
|
+
*/
|
|
26
|
+
export interface WriteSkillsResult {
|
|
27
|
+
runtime: RuntimeHint;
|
|
28
|
+
skillsDir: string;
|
|
29
|
+
written: Array<{
|
|
30
|
+
name: string;
|
|
31
|
+
path: string;
|
|
32
|
+
}>;
|
|
33
|
+
prunedStale: string[];
|
|
34
|
+
errors: Array<{
|
|
35
|
+
path: string;
|
|
36
|
+
message: string;
|
|
37
|
+
}>;
|
|
38
|
+
/** True if the runtime was 'generic' and we declined to write. */
|
|
39
|
+
declined: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface WriteSkillsOptions {
|
|
42
|
+
/** Force a specific runtime instead of auto-detecting. */
|
|
43
|
+
runtime?: RuntimeHint;
|
|
44
|
+
/**
|
|
45
|
+
* If true, we'll write into ~/.agentspeak/skills as a fallback when
|
|
46
|
+
* the runtime is 'generic'. Default false (we'd rather decline than
|
|
47
|
+
* write into a directory the runtime won't pick up).
|
|
48
|
+
*/
|
|
49
|
+
writeIfGeneric?: boolean;
|
|
50
|
+
/** Disable the stale-path pruning step. */
|
|
51
|
+
noPrune?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export declare function writeSkills(opts?: WriteSkillsOptions): WriteSkillsResult;
|
|
54
|
+
declare function expandHome(p: string): string;
|
|
55
|
+
declare function isInside(child: string, parent: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* After writing skills, ask the runtime "did you actually load these?"
|
|
58
|
+
* This is the verification signal the operator wants to see in the
|
|
59
|
+
* transcript -- "yes, the runtime now sees agentspeak in its skill
|
|
60
|
+
* registry". For Hermes we shell out to `hermes skills list`. For
|
|
61
|
+
* OpenClaw we shell out to `openclaw skills list`. Both are best-
|
|
62
|
+
* effort: if the binary is not on PATH (the candidate agent's runtime
|
|
63
|
+
* may live in a sandboxed tree where the CLI binary is not accessible
|
|
64
|
+
* from this process), we fall back to "filesystem only" verification
|
|
65
|
+
* and print a copy-paste command the operator can run themselves.
|
|
66
|
+
*/
|
|
67
|
+
export interface VerifyRuntimeLoadResult {
|
|
68
|
+
runtime: RuntimeHint;
|
|
69
|
+
/** True if we successfully invoked the runtime CLI. */
|
|
70
|
+
probed: boolean;
|
|
71
|
+
/** True if the runtime CLI listed at least one of the skills we wrote. */
|
|
72
|
+
registered: boolean;
|
|
73
|
+
/** Skill names the runtime confirmed it sees (subset of expectedNames). */
|
|
74
|
+
confirmedNames: string[];
|
|
75
|
+
/** Stdout from the probe (truncated). */
|
|
76
|
+
rawOutput: string;
|
|
77
|
+
/** Hint string the caller should print if probe failed. */
|
|
78
|
+
fallbackHint: string;
|
|
79
|
+
}
|
|
80
|
+
export declare function verifyRuntimeLoaded(runtime: RuntimeHint, expectedNames: string[]): VerifyRuntimeLoadResult;
|
|
81
|
+
/** Test helper exported so consolidation.test.ts can assert against it. */
|
|
82
|
+
export declare const __testing: {
|
|
83
|
+
STALE_SKILL_PATHS: readonly string[];
|
|
84
|
+
expandHome: typeof expandHome;
|
|
85
|
+
isInside: typeof isInside;
|
|
86
|
+
fileExists: (p: string) => boolean;
|
|
87
|
+
readFile: (p: string) => string;
|
|
88
|
+
listDir: (p: string) => string[];
|
|
89
|
+
};
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=skill-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-writer.d.ts","sourceRoot":"","sources":["../src/skill-writer.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;CACnB;AA4BD,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,kBAAuB,GAAG,iBAAiB,CAoD5E;AA0BD,iBAAS,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOrC;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAIxD;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,WAAW,CAAC;IACrB,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,MAAM,EAAE,GACtB,uBAAuB,CA8EzB;AAED,2EAA2E;AAC3E,eAAO,MAAM,SAAS;;;;oBAIJ,MAAM,KAAG,OAAO;kBAClB,MAAM,KAAG,MAAM;iBAChB,MAAM,KAAG,MAAM,EAAE;CAC/B,CAAC"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { homedir } from 'node:os';
|
|
5
|
+
import { detectRuntime, listStepSkillIds, renderRootSkill, renderStepSkill, skillsDirFor, } from './skill-template.js';
|
|
6
|
+
/**
|
|
7
|
+
* Known stale or deprecated skill paths that older AgentSpeak
|
|
8
|
+
* onboarding flows wrote into runtime caches. We prune these on
|
|
9
|
+
* every write so re-running `init` against an old install leaves a
|
|
10
|
+
* clean tree without the agent having to manually `rm`.
|
|
11
|
+
*
|
|
12
|
+
* Each path is relative to the skills dir (e.g. `~/.hermes/skills`).
|
|
13
|
+
* Globs not supported -- list explicit dir names. Add new entries
|
|
14
|
+
* here as we deprecate old skill packages.
|
|
15
|
+
*/
|
|
16
|
+
const STALE_SKILL_PATHS = [
|
|
17
|
+
// Old "ai-orchestration" nested skill set from the curl-based era.
|
|
18
|
+
'ai-orchestration/agentspeak-meeting-orchestration',
|
|
19
|
+
'ai-orchestration/agentspeak',
|
|
20
|
+
'ai-orchestration/agentspeak-meeting-setup',
|
|
21
|
+
'agentspeak-meeting-orchestration',
|
|
22
|
+
'agentspeak-meeting-setup',
|
|
23
|
+
// Pre-CLI "join.md" / "register.md" / "invite.md" era one-off skills
|
|
24
|
+
'agentspeak-join',
|
|
25
|
+
'agentspeak-register',
|
|
26
|
+
'agentspeak-invite',
|
|
27
|
+
'agentspeak-run',
|
|
28
|
+
// Deprecated nested layout under agentspeak/ (pre-flat layout).
|
|
29
|
+
'agentspeak/agentspeak-meeting-orchestration',
|
|
30
|
+
];
|
|
31
|
+
export function writeSkills(opts = {}) {
|
|
32
|
+
const runtime = opts.runtime ?? detectRuntime();
|
|
33
|
+
const result = {
|
|
34
|
+
runtime,
|
|
35
|
+
skillsDir: '',
|
|
36
|
+
written: [],
|
|
37
|
+
prunedStale: [],
|
|
38
|
+
errors: [],
|
|
39
|
+
declined: false,
|
|
40
|
+
};
|
|
41
|
+
if (runtime === 'generic' && !opts.writeIfGeneric) {
|
|
42
|
+
result.declined = true;
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
const skillsDir = expandHome(skillsDirFor(runtime));
|
|
46
|
+
result.skillsDir = skillsDir;
|
|
47
|
+
// Prune known stale dirs first so a re-install starts clean.
|
|
48
|
+
if (!opts.noPrune) {
|
|
49
|
+
for (const rel of STALE_SKILL_PATHS) {
|
|
50
|
+
const abs = join(skillsDir, rel);
|
|
51
|
+
if (existsSync(abs)) {
|
|
52
|
+
try {
|
|
53
|
+
rmSync(abs, { recursive: true, force: true });
|
|
54
|
+
result.prunedStale.push(abs);
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
result.errors.push({ path: abs, message: errMsg(err) });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Write the omnibus root skill.
|
|
63
|
+
const root = renderRootSkill(runtime);
|
|
64
|
+
const rootAbs = expandHome(root.path);
|
|
65
|
+
if (writeOne(rootAbs, root.body, skillsDir, result)) {
|
|
66
|
+
result.written.push({ name: root.name, path: rootAbs });
|
|
67
|
+
}
|
|
68
|
+
// Write each per-workflow sub-skill.
|
|
69
|
+
for (const stepId of listStepSkillIds()) {
|
|
70
|
+
const block = renderStepSkill(stepId, runtime);
|
|
71
|
+
if (!block)
|
|
72
|
+
continue;
|
|
73
|
+
const abs = expandHome(block.path);
|
|
74
|
+
if (writeOne(abs, block.body, skillsDir, result)) {
|
|
75
|
+
result.written.push({ name: block.name, path: abs });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
function writeOne(abs, body, skillsDir, result) {
|
|
81
|
+
// Defense in depth: refuse to write outside the detected skills dir.
|
|
82
|
+
if (!isInside(abs, skillsDir)) {
|
|
83
|
+
result.errors.push({
|
|
84
|
+
path: abs,
|
|
85
|
+
message: `refused write: not inside ${skillsDir}`,
|
|
86
|
+
});
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
mkdirSync(dirname(abs), { recursive: true });
|
|
91
|
+
writeFileSync(abs, body, { encoding: 'utf8', mode: 0o644 });
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
result.errors.push({ path: abs, message: errMsg(err) });
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function expandHome(p) {
|
|
100
|
+
// Honour $HOME so tests (and Linux containers that override it)
|
|
101
|
+
// resolve correctly. os.homedir() ignores $HOME on macOS.
|
|
102
|
+
const h = process.env.HOME ?? homedir();
|
|
103
|
+
if (p === '~')
|
|
104
|
+
return h;
|
|
105
|
+
if (p.startsWith('~/'))
|
|
106
|
+
return join(h, p.slice(2));
|
|
107
|
+
return p;
|
|
108
|
+
}
|
|
109
|
+
function isInside(child, parent) {
|
|
110
|
+
const c = child.endsWith('/') ? child : child + '/';
|
|
111
|
+
const p = parent.endsWith('/') ? parent : parent + '/';
|
|
112
|
+
return c.startsWith(p);
|
|
113
|
+
}
|
|
114
|
+
function errMsg(e) {
|
|
115
|
+
return e instanceof Error ? e.message : String(e);
|
|
116
|
+
}
|
|
117
|
+
export function verifyRuntimeLoaded(runtime, expectedNames) {
|
|
118
|
+
const result = {
|
|
119
|
+
runtime,
|
|
120
|
+
probed: false,
|
|
121
|
+
registered: false,
|
|
122
|
+
confirmedNames: [],
|
|
123
|
+
rawOutput: '',
|
|
124
|
+
fallbackHint: '',
|
|
125
|
+
};
|
|
126
|
+
let cmd = null;
|
|
127
|
+
let manualCmd = '';
|
|
128
|
+
switch (runtime) {
|
|
129
|
+
case 'hermes':
|
|
130
|
+
cmd = 'hermes';
|
|
131
|
+
manualCmd = 'hermes skills list';
|
|
132
|
+
result.fallbackHint =
|
|
133
|
+
'Run `hermes skills list` from your Hermes shell to confirm the agentspeak* ' +
|
|
134
|
+
'skills appear. They auto-load on next session start; no restart needed for new files.';
|
|
135
|
+
break;
|
|
136
|
+
case 'openclaw':
|
|
137
|
+
cmd = 'openclaw';
|
|
138
|
+
manualCmd = 'openclaw skills list';
|
|
139
|
+
result.fallbackHint =
|
|
140
|
+
'OpenClaw needs a session restart to pick up new skills. Either send `/new` in the ' +
|
|
141
|
+
'OpenClaw chat, OR run `openclaw gateway restart`, then `openclaw skills list` to ' +
|
|
142
|
+
'confirm the agentspeak* skills appear.';
|
|
143
|
+
break;
|
|
144
|
+
case 'claude':
|
|
145
|
+
result.fallbackHint =
|
|
146
|
+
'Claude Code auto-discovers SKILL.md files under ~/.claude/skills/ on next session ' +
|
|
147
|
+
'start. No verification CLI is shipped with Claude Code; check the file tree.';
|
|
148
|
+
break;
|
|
149
|
+
case 'cursor':
|
|
150
|
+
result.fallbackHint =
|
|
151
|
+
'Cursor auto-discovers SKILL.md files under ~/.cursor/skills/ on next session ' +
|
|
152
|
+
'start. Confirm in the Cursor settings > Skills panel.';
|
|
153
|
+
break;
|
|
154
|
+
default:
|
|
155
|
+
result.fallbackHint =
|
|
156
|
+
'Runtime not auto-detected; SKILL.md files are on disk. Open your runtime\u2019s skill ' +
|
|
157
|
+
'inspector / CLI to confirm.';
|
|
158
|
+
}
|
|
159
|
+
if (!cmd)
|
|
160
|
+
return result;
|
|
161
|
+
try {
|
|
162
|
+
const out = spawnSync(cmd, ['skills', 'list'], {
|
|
163
|
+
encoding: 'utf8',
|
|
164
|
+
timeout: 5_000,
|
|
165
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
166
|
+
});
|
|
167
|
+
if (out.error || out.status !== 0) {
|
|
168
|
+
result.fallbackHint =
|
|
169
|
+
`\`${manualCmd}\` not runnable from here (binary not on PATH or non-zero exit). ` +
|
|
170
|
+
result.fallbackHint;
|
|
171
|
+
return result;
|
|
172
|
+
}
|
|
173
|
+
result.probed = true;
|
|
174
|
+
result.rawOutput = (out.stdout ?? '').slice(0, 4096);
|
|
175
|
+
const lower = result.rawOutput.toLowerCase();
|
|
176
|
+
for (const name of expectedNames) {
|
|
177
|
+
if (lower.includes(name.toLowerCase())) {
|
|
178
|
+
result.confirmedNames.push(name);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
result.registered = result.confirmedNames.length > 0;
|
|
182
|
+
if (!result.registered) {
|
|
183
|
+
result.fallbackHint =
|
|
184
|
+
`\`${manualCmd}\` ran but did not list any of our skills yet. ` +
|
|
185
|
+
result.fallbackHint;
|
|
186
|
+
}
|
|
187
|
+
return result;
|
|
188
|
+
}
|
|
189
|
+
catch (err) {
|
|
190
|
+
result.fallbackHint =
|
|
191
|
+
`\`${manualCmd}\` probe threw: ${errMsg(err)}. ` + result.fallbackHint;
|
|
192
|
+
return result;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/** Test helper exported so consolidation.test.ts can assert against it. */
|
|
196
|
+
export const __testing = {
|
|
197
|
+
STALE_SKILL_PATHS,
|
|
198
|
+
expandHome,
|
|
199
|
+
isInside,
|
|
200
|
+
fileExists: (p) => existsSync(p) && statSync(p).isFile(),
|
|
201
|
+
readFile: (p) => readFileSync(p, 'utf8'),
|
|
202
|
+
listDir: (p) => (existsSync(p) ? readdirSync(p) : []),
|
|
203
|
+
};
|
|
204
|
+
//# sourceMappingURL=skill-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-writer.js","sourceRoot":"","sources":["../src/skill-writer.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
|
|
3
|
+
"version": "0.4.1",
|
|
4
|
+
"description": "Official AgentSpeak CLI. One command (`agentspeak-cli init`) to register, pass the onboarding tutorial in 3 round trips, and auto-write the SKILL.md skill cache for your runtime (Hermes, OpenClaw, Claude Code, Cursor) so the agent does zero follow-up work. No long-poll, no LLM API key, no Discord/webhook setup required. Then `agentspeak-cli join <invite>` and `agentspeak-cli handle-turn` for participants, `agentspeak-cli meeting create` for organizers.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|