ftown-bridge 0.19.37 → 0.19.39
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/browser-access.js +2 -1
- package/dist/browser-access.js.map +1 -1
- package/dist/centrifugo-client.d.ts +1 -4
- package/dist/centrifugo-client.js +0 -29
- package/dist/centrifugo-client.js.map +1 -1
- package/dist/command-rpc.d.ts +1 -3
- package/dist/command-rpc.js +20 -74
- package/dist/command-rpc.js.map +1 -1
- package/dist/create-ftown-session.d.ts +0 -1
- package/dist/create-ftown-session.js +7 -13
- package/dist/create-ftown-session.js.map +1 -1
- package/dist/ftown-home.js +2 -2
- package/dist/ftown-sessions-cli.js +5 -340
- package/dist/ftown-sessions-cli.js.map +1 -1
- package/dist/harness-registry.d.ts +3 -22
- package/dist/harness-registry.js +3 -17
- package/dist/harness-registry.js.map +1 -1
- package/dist/index.js +10 -65
- package/dist/index.js.map +1 -1
- package/dist/install-ftown-skill.d.ts +5 -0
- package/dist/install-ftown-skill.js +91 -9
- package/dist/install-ftown-skill.js.map +1 -1
- package/dist/local-api-server.d.ts +1 -18
- package/dist/local-api-server.js +10 -108
- package/dist/local-api-server.js.map +1 -1
- package/dist/provider-env-store.js +1 -1
- package/dist/provider-env-store.js.map +1 -1
- package/dist/retired-automation.d.ts +14 -0
- package/dist/retired-automation.js +18 -0
- package/dist/retired-automation.js.map +1 -0
- package/dist/retired-skill-assets.d.ts +2 -0
- package/dist/retired-skill-assets.js +21 -0
- package/dist/retired-skill-assets.js.map +1 -0
- package/dist/session-controller.d.ts +2 -1
- package/dist/session-controller.js +5 -1
- package/dist/session-controller.js.map +1 -1
- package/dist/session-resurrection.d.ts +8 -2
- package/dist/session-resurrection.js +53 -17
- package/dist/session-resurrection.js.map +1 -1
- package/dist/solo/contract.d.ts +1 -1
- package/dist/solo/contract.js +2 -12
- package/dist/solo/contract.js.map +1 -1
- package/dist/solo/hub-manager.js +1 -1
- package/dist/terminal-pump.d.ts +1 -2
- package/dist/terminal-pump.js +1 -2
- package/dist/terminal-pump.js.map +1 -1
- package/dist/types.d.ts +4 -112
- package/dist/wire-types.d.ts +4 -48
- package/dist/wire-types.js +2 -0
- package/dist/wire-types.js.map +1 -1
- package/package.json +1 -2
- package/pi-extension/API.md +4 -12
- package/pi-extension/ftown.js +0 -138
- package/skills/ftown/SKILL.md +5 -27
- package/skills/ftown/agents/openai.yaml +2 -2
- package/skills/ftown/references/orchestrator.md +10 -65
- package/skills/ftown/references/sessions.md +3 -16
- package/skills/ftown/references/workflows.md +1 -3
- package/dist/loop-controller.d.ts +0 -87
- package/dist/loop-controller.js +0 -133
- package/dist/loop-controller.js.map +0 -1
- package/dist/loop-run-store.d.ts +0 -10
- package/dist/loop-run-store.js +0 -153
- package/dist/loop-run-store.js.map +0 -1
- package/dist/loop-schedule.d.ts +0 -18
- package/dist/loop-schedule.js +0 -35
- package/dist/loop-schedule.js.map +0 -1
- package/dist/loop-scheduler.d.ts +0 -148
- package/dist/loop-scheduler.js +0 -543
- package/dist/loop-scheduler.js.map +0 -1
- package/dist/loop-store.d.ts +0 -38
- package/dist/loop-store.js +0 -153
- package/dist/loop-store.js.map +0 -1
- package/dist/loop-validation.d.ts +0 -15
- package/dist/loop-validation.js +0 -91
- package/dist/loop-validation.js.map +0 -1
- package/skills/factory/SKILL.md +0 -198
- package/skills/factory/factory-template/bin/dispatch.py +0 -478
- package/skills/factory/factory-template/factory.yaml +0 -43
- package/skills/factory/factory-template/skills/_protocol.md +0 -105
- package/skills/factory/factory-template/skills/design.md +0 -260
- package/skills/factory/factory-template/skills/digest.md +0 -78
- package/skills/factory/factory-template/skills/groom.md +0 -243
- package/skills/factory/factory-template/skills/implement.md +0 -316
- package/skills/factory/factory-template/skills/pr.md +0 -221
- package/skills/factory/factory-template/skills/qa.md +0 -226
- package/skills/factory/factory-template/skills/review.md +0 -232
- package/skills/factory/factory-template/skills/triage.md +0 -157
- package/skills/ftown/references/loops.md +0 -93
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { readFileSync } from 'node:fs';
|
|
7
7
|
import { homedir } from 'node:os';
|
|
8
8
|
import { join } from 'node:path';
|
|
9
|
-
import { MAIL_TYPES, formatMailMessage, } from './wire-types.js';
|
|
9
|
+
import { MAIL_TYPES, AUTOMATION_REMOVED_MESSAGE, formatMailMessage, } from './wire-types.js';
|
|
10
10
|
function loadBridge() {
|
|
11
11
|
const path = join(homedir(), '.ftown', 'bridge.json');
|
|
12
12
|
const raw = readFileSync(path, 'utf8');
|
|
@@ -84,201 +84,6 @@ function flag(args, name) {
|
|
|
84
84
|
function hasFlag(args, name) {
|
|
85
85
|
return args.includes(name);
|
|
86
86
|
}
|
|
87
|
-
function parseDurationMs(raw, label) {
|
|
88
|
-
if (raw === undefined)
|
|
89
|
-
return undefined;
|
|
90
|
-
const trimmed = raw.trim().toLowerCase();
|
|
91
|
-
const match = trimmed.match(/^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/);
|
|
92
|
-
if (!match) {
|
|
93
|
-
throw new Error(`${label} must be a duration like 30s, 5m, 2h, or 1000ms`);
|
|
94
|
-
}
|
|
95
|
-
const value = Number(match[1]);
|
|
96
|
-
if (!Number.isFinite(value) || value < 0) {
|
|
97
|
-
throw new Error(`${label} must be a non-negative duration`);
|
|
98
|
-
}
|
|
99
|
-
const unit = match[2] ?? 'ms';
|
|
100
|
-
const factor = {
|
|
101
|
-
ms: 1,
|
|
102
|
-
s: 1000,
|
|
103
|
-
m: 60_000,
|
|
104
|
-
h: 3_600_000,
|
|
105
|
-
d: 86_400_000,
|
|
106
|
-
};
|
|
107
|
-
return Math.round(value * factor[unit]);
|
|
108
|
-
}
|
|
109
|
-
function parseNonNegativeInt(raw, label) {
|
|
110
|
-
if (raw === undefined)
|
|
111
|
-
return undefined;
|
|
112
|
-
const value = Number(raw);
|
|
113
|
-
if (!Number.isInteger(value) || value < 0) {
|
|
114
|
-
throw new Error(`${label} must be a non-negative integer`);
|
|
115
|
-
}
|
|
116
|
-
return value;
|
|
117
|
-
}
|
|
118
|
-
function parseRetention(raw) {
|
|
119
|
-
if (raw === undefined)
|
|
120
|
-
return 10;
|
|
121
|
-
const trimmed = raw.trim().toLowerCase();
|
|
122
|
-
if (trimmed === 'all' || trimmed === 'none' || trimmed === 'null')
|
|
123
|
-
return null;
|
|
124
|
-
const value = parseNonNegativeInt(trimmed, '--retention');
|
|
125
|
-
return value ?? 10;
|
|
126
|
-
}
|
|
127
|
-
function parseLoopSchedule(args, required) {
|
|
128
|
-
const every = flag(args, '--every');
|
|
129
|
-
const cron = flag(args, '--cron');
|
|
130
|
-
if (every && cron)
|
|
131
|
-
throw new Error('Use only one of --every or --cron');
|
|
132
|
-
if (every) {
|
|
133
|
-
const everyMs = parseDurationMs(every, '--every');
|
|
134
|
-
if (!everyMs || everyMs < 1000)
|
|
135
|
-
throw new Error('--every must be at least 1s');
|
|
136
|
-
return { kind: 'interval', everyMs };
|
|
137
|
-
}
|
|
138
|
-
if (cron) {
|
|
139
|
-
const schedule = { kind: 'cron', expression: cron };
|
|
140
|
-
const tz = flag(args, '--tz');
|
|
141
|
-
if (tz)
|
|
142
|
-
schedule.tz = tz;
|
|
143
|
-
return schedule;
|
|
144
|
-
}
|
|
145
|
-
if (required)
|
|
146
|
-
throw new Error('Missing schedule: provide --every <duration> or --cron <expr>');
|
|
147
|
-
return undefined;
|
|
148
|
-
}
|
|
149
|
-
function parseLoopHarness(raw) {
|
|
150
|
-
const harness = (raw ?? 'claude');
|
|
151
|
-
if (!['claude', 'cursor', 'codex', 'grok', 'pi', 'kimi-code', 'muse', 'opencode', 'shell'].includes(harness)) {
|
|
152
|
-
throw new Error(`Invalid --shell "${raw}"`);
|
|
153
|
-
}
|
|
154
|
-
return harness;
|
|
155
|
-
}
|
|
156
|
-
function parseLoopCreate(args) {
|
|
157
|
-
const name = flag(args, '--name')?.trim();
|
|
158
|
-
const task = (flag(args, '--task') ?? flag(args, '--prompt'))?.trim();
|
|
159
|
-
if (!name)
|
|
160
|
-
throw new Error('Missing --name');
|
|
161
|
-
if (!task)
|
|
162
|
-
throw new Error('Missing --task');
|
|
163
|
-
const preflightCommand = flag(args, '--preflight')?.trim();
|
|
164
|
-
const postflightCommand = flag(args, '--postflight')?.trim();
|
|
165
|
-
const maxRuntime = parseDurationMs(flag(args, '--max-runtime'), '--max-runtime') ??
|
|
166
|
-
parseDurationMs(flag(args, '--max-runtime-ms'), '--max-runtime-ms');
|
|
167
|
-
return {
|
|
168
|
-
name,
|
|
169
|
-
schedule: parseLoopSchedule(args, true),
|
|
170
|
-
harness: parseLoopHarness(flag(args, '--shell') ?? flag(args, '--harness')),
|
|
171
|
-
workdir: flag(args, '--workdir'),
|
|
172
|
-
task,
|
|
173
|
-
model: flag(args, '--model'),
|
|
174
|
-
enabled: !hasFlag(args, '--disabled'),
|
|
175
|
-
overlapPolicy: hasFlag(args, '--allow-overlap') ? 'allow' : 'skip',
|
|
176
|
-
retention: { autoClearAfterRuns: parseRetention(flag(args, '--retention')) },
|
|
177
|
-
preflight: preflightCommand
|
|
178
|
-
? {
|
|
179
|
-
command: preflightCommand,
|
|
180
|
-
timeoutMs: parseDurationMs(flag(args, '--preflight-timeout'), '--preflight-timeout') ??
|
|
181
|
-
parseDurationMs(flag(args, '--preflight-timeout-ms'), '--preflight-timeout-ms'),
|
|
182
|
-
}
|
|
183
|
-
: undefined,
|
|
184
|
-
postflight: postflightCommand
|
|
185
|
-
? {
|
|
186
|
-
command: postflightCommand,
|
|
187
|
-
timeoutMs: parseDurationMs(flag(args, '--postflight-timeout'), '--postflight-timeout') ??
|
|
188
|
-
parseDurationMs(flag(args, '--postflight-timeout-ms'), '--postflight-timeout-ms'),
|
|
189
|
-
runOnSkip: hasFlag(args, '--postflight-on-skip') || undefined,
|
|
190
|
-
}
|
|
191
|
-
: undefined,
|
|
192
|
-
maxRuntimeMs: maxRuntime,
|
|
193
|
-
group: flag(args, '--group'),
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
function parseLoopPatch(args) {
|
|
197
|
-
const patch = {};
|
|
198
|
-
const name = flag(args, '--name')?.trim();
|
|
199
|
-
const task = (flag(args, '--task') ?? flag(args, '--prompt'))?.trim();
|
|
200
|
-
const workdir = flag(args, '--workdir');
|
|
201
|
-
const model = flag(args, '--model');
|
|
202
|
-
const shell = flag(args, '--shell') ?? flag(args, '--harness');
|
|
203
|
-
const retention = flag(args, '--retention');
|
|
204
|
-
const schedule = parseLoopSchedule(args, false);
|
|
205
|
-
const maxRuntime = flag(args, '--max-runtime') ?? flag(args, '--max-runtime-ms');
|
|
206
|
-
if (name !== undefined)
|
|
207
|
-
patch.name = name;
|
|
208
|
-
if (task !== undefined)
|
|
209
|
-
patch.task = task;
|
|
210
|
-
if (workdir !== undefined)
|
|
211
|
-
patch.workdir = workdir || undefined;
|
|
212
|
-
if (model !== undefined)
|
|
213
|
-
patch.model = model || undefined;
|
|
214
|
-
if (shell !== undefined)
|
|
215
|
-
patch.harness = parseLoopHarness(shell);
|
|
216
|
-
if (schedule)
|
|
217
|
-
patch.schedule = schedule;
|
|
218
|
-
if (retention !== undefined)
|
|
219
|
-
patch.retention = { autoClearAfterRuns: parseRetention(retention) };
|
|
220
|
-
if (hasFlag(args, '--enabled'))
|
|
221
|
-
patch.enabled = true;
|
|
222
|
-
if (hasFlag(args, '--disabled'))
|
|
223
|
-
patch.enabled = false;
|
|
224
|
-
if (hasFlag(args, '--allow-overlap'))
|
|
225
|
-
patch.overlapPolicy = 'allow';
|
|
226
|
-
if (hasFlag(args, '--skip-overlap'))
|
|
227
|
-
patch.overlapPolicy = 'skip';
|
|
228
|
-
if (maxRuntime !== undefined)
|
|
229
|
-
patch.maxRuntimeMs = parseDurationMs(maxRuntime, '--max-runtime');
|
|
230
|
-
const group = flag(args, '--group');
|
|
231
|
-
if (group !== undefined)
|
|
232
|
-
patch.group = group;
|
|
233
|
-
const preflightCommand = flag(args, '--preflight');
|
|
234
|
-
if (preflightCommand !== undefined) {
|
|
235
|
-
patch.preflight = preflightCommand.trim()
|
|
236
|
-
? {
|
|
237
|
-
command: preflightCommand.trim(),
|
|
238
|
-
timeoutMs: parseDurationMs(flag(args, '--preflight-timeout'), '--preflight-timeout') ??
|
|
239
|
-
parseDurationMs(flag(args, '--preflight-timeout-ms'), '--preflight-timeout-ms'),
|
|
240
|
-
}
|
|
241
|
-
: undefined;
|
|
242
|
-
}
|
|
243
|
-
const postflightCommand = flag(args, '--postflight');
|
|
244
|
-
if (postflightCommand !== undefined) {
|
|
245
|
-
patch.postflight = postflightCommand.trim()
|
|
246
|
-
? {
|
|
247
|
-
command: postflightCommand.trim(),
|
|
248
|
-
timeoutMs: parseDurationMs(flag(args, '--postflight-timeout'), '--postflight-timeout') ??
|
|
249
|
-
parseDurationMs(flag(args, '--postflight-timeout-ms'), '--postflight-timeout-ms'),
|
|
250
|
-
runOnSkip: hasFlag(args, '--postflight-on-skip') || undefined,
|
|
251
|
-
}
|
|
252
|
-
: undefined;
|
|
253
|
-
}
|
|
254
|
-
if (Object.keys(patch).length === 0)
|
|
255
|
-
throw new Error('No loop fields to update');
|
|
256
|
-
return patch;
|
|
257
|
-
}
|
|
258
|
-
function formatDuration(ms) {
|
|
259
|
-
if (ms % 86_400_000 === 0)
|
|
260
|
-
return `${ms / 86_400_000}d`;
|
|
261
|
-
if (ms % 3_600_000 === 0)
|
|
262
|
-
return `${ms / 3_600_000}h`;
|
|
263
|
-
if (ms % 60_000 === 0)
|
|
264
|
-
return `${ms / 60_000}m`;
|
|
265
|
-
if (ms % 1000 === 0)
|
|
266
|
-
return `${ms / 1000}s`;
|
|
267
|
-
return `${ms}ms`;
|
|
268
|
-
}
|
|
269
|
-
function describeSchedule(schedule) {
|
|
270
|
-
if (schedule.kind === 'interval')
|
|
271
|
-
return `every ${formatDuration(schedule.everyMs)}`;
|
|
272
|
-
return schedule.tz ? `cron ${schedule.expression} (${schedule.tz})` : `cron ${schedule.expression}`;
|
|
273
|
-
}
|
|
274
|
-
function formatTimestamp(ts) {
|
|
275
|
-
if (!ts)
|
|
276
|
-
return '-';
|
|
277
|
-
const date = new Date(ts);
|
|
278
|
-
if (Number.isNaN(date.getTime()))
|
|
279
|
-
return ts;
|
|
280
|
-
return date.toISOString();
|
|
281
|
-
}
|
|
282
87
|
/** Positional args, skipping flags and the values of value-taking flags. */
|
|
283
88
|
function positionals(args, valueFlags) {
|
|
284
89
|
const out = [];
|
|
@@ -369,14 +174,6 @@ Commands:
|
|
|
369
174
|
remove <session-id> Stop and remove a session (archived as a tombstone)
|
|
370
175
|
archive List archived (removed) sessions
|
|
371
176
|
revive <session-id> Recreate a removed session from its tombstone
|
|
372
|
-
loops | loop list List scheduled loops
|
|
373
|
-
loop create [options] Create a scheduled loop on this bridge
|
|
374
|
-
loop get <loop-id> Loop metadata
|
|
375
|
-
loop update <loop-id> [opts] Update loop fields
|
|
376
|
-
loop run <loop-id> Request an immediate run
|
|
377
|
-
loop pause|resume <loop-id> Disable or enable a loop
|
|
378
|
-
loop delete <loop-id> Delete a loop, stopping any in-flight run
|
|
379
|
-
loop runs <loop-id> List run sessions for a loop
|
|
380
177
|
|
|
381
178
|
Tell targets (one of):
|
|
382
179
|
<session-id> Explicit target session id
|
|
@@ -415,30 +212,14 @@ Screen/grep options:
|
|
|
415
212
|
Grep options:
|
|
416
213
|
--pattern <regex> Required for grep
|
|
417
214
|
|
|
418
|
-
Loop create/update options:
|
|
419
|
-
--name <label> Loop name
|
|
420
|
-
--task <text> Prompt run each time (alias: --prompt)
|
|
421
|
-
--every <duration> Interval schedule, e.g. 30s, 5m, 2h
|
|
422
|
-
--cron <expr> Cron schedule, e.g. "*/15 * * * *"
|
|
423
|
-
--tz <iana-zone> Cron timezone
|
|
424
|
-
--shell <type> claude | cursor | codex | grok | pi | kimi-code | muse | opencode | shell (default: claude)
|
|
425
|
-
--workdir <path> Working directory
|
|
426
|
-
--model <name> Agent model
|
|
427
|
-
--disabled Create/update as disabled
|
|
428
|
-
--enabled Update as enabled
|
|
429
|
-
--allow-overlap Allow concurrent runs (default is skip)
|
|
430
|
-
--skip-overlap Update back to skip overlap
|
|
431
|
-
--retention <n|all> Keep newest N runs, or all (default: 10)
|
|
432
|
-
--preflight <cmd> Shell guard; non-zero skips the run
|
|
433
|
-
--postflight <cmd> Shell hook after each run
|
|
434
|
-
--postflight-on-skip Also run postflight after preflight skip
|
|
435
|
-
--max-runtime <duration> Force-stop a run after duration
|
|
436
|
-
--group <label> Optional label the UI uses to fold loops into groups; pass "" on update to clear
|
|
437
|
-
|
|
438
215
|
Reads ~/.ftown/bridge.json (ftown-bridge must be running).`);
|
|
439
216
|
}
|
|
440
217
|
async function main() {
|
|
441
218
|
const argv = process.argv.slice(2);
|
|
219
|
+
if (['loop', 'loops', 'loop-list'].includes(argv[0])) {
|
|
220
|
+
console.error(`ftown-sessions: ${AUTOMATION_REMOVED_MESSAGE}`);
|
|
221
|
+
process.exit(1);
|
|
222
|
+
}
|
|
442
223
|
if (argv.length === 0 || argv[0] === '--help' || argv[0] === '-h') {
|
|
443
224
|
usage();
|
|
444
225
|
process.exit(argv.length === 0 ? 1 : 0);
|
|
@@ -692,98 +473,6 @@ async function main() {
|
|
|
692
473
|
console.log(jsonOut ? JSON.stringify(data, null, 2) : formatCreated(data));
|
|
693
474
|
break;
|
|
694
475
|
}
|
|
695
|
-
case 'loops':
|
|
696
|
-
case 'loop-list': {
|
|
697
|
-
const { data } = await api('GET', '/api/loops');
|
|
698
|
-
console.log(jsonOut ? JSON.stringify(data, null, 2) : formatLoopList(data));
|
|
699
|
-
break;
|
|
700
|
-
}
|
|
701
|
-
case 'loop': {
|
|
702
|
-
const sub = rest[0];
|
|
703
|
-
const loopArgs = rest.slice(1);
|
|
704
|
-
if (!sub || sub === 'help' || sub === '--help' || sub === '-h') {
|
|
705
|
-
usage();
|
|
706
|
-
break;
|
|
707
|
-
}
|
|
708
|
-
switch (sub) {
|
|
709
|
-
case 'list': {
|
|
710
|
-
const { data } = await api('GET', '/api/loops');
|
|
711
|
-
console.log(jsonOut ? JSON.stringify(data, null, 2) : formatLoopList(data));
|
|
712
|
-
break;
|
|
713
|
-
}
|
|
714
|
-
case 'create': {
|
|
715
|
-
const body = parseLoopCreate(loopArgs);
|
|
716
|
-
const { data } = await api('POST', '/api/loops', body);
|
|
717
|
-
console.log(jsonOut ? JSON.stringify(data, null, 2) : formatLoopCreated(data));
|
|
718
|
-
break;
|
|
719
|
-
}
|
|
720
|
-
case 'get': {
|
|
721
|
-
const id = loopArgs.find((a) => !a.startsWith('--'));
|
|
722
|
-
if (!id)
|
|
723
|
-
throw new Error('Missing loop-id');
|
|
724
|
-
const { data } = await api('GET', `/api/loops/${id}`);
|
|
725
|
-
console.log(JSON.stringify(data, null, 2));
|
|
726
|
-
break;
|
|
727
|
-
}
|
|
728
|
-
case 'update': {
|
|
729
|
-
const id = loopArgs.find((a) => !a.startsWith('--'));
|
|
730
|
-
if (!id)
|
|
731
|
-
throw new Error('Missing loop-id');
|
|
732
|
-
const patch = parseLoopPatch(loopArgs.slice(1));
|
|
733
|
-
const { data } = await api('PATCH', `/api/loops/${id}`, patch);
|
|
734
|
-
console.log(jsonOut ? JSON.stringify(data, null, 2) : formatLoopCreated(data));
|
|
735
|
-
break;
|
|
736
|
-
}
|
|
737
|
-
case 'run':
|
|
738
|
-
case 'run-now': {
|
|
739
|
-
const id = loopArgs.find((a) => !a.startsWith('--'));
|
|
740
|
-
if (!id)
|
|
741
|
-
throw new Error('Missing loop-id');
|
|
742
|
-
const { data } = await api('POST', `/api/loops/${id}/run-now`);
|
|
743
|
-
console.log(jsonOut ? JSON.stringify(data, null, 2) : formatLoopRunNow(data));
|
|
744
|
-
break;
|
|
745
|
-
}
|
|
746
|
-
case 'pause':
|
|
747
|
-
case 'disable': {
|
|
748
|
-
const id = loopArgs.find((a) => !a.startsWith('--'));
|
|
749
|
-
if (!id)
|
|
750
|
-
throw new Error('Missing loop-id');
|
|
751
|
-
const { data } = await api('PATCH', `/api/loops/${id}`, { enabled: false });
|
|
752
|
-
console.log(jsonOut ? JSON.stringify(data, null, 2) : formatLoopCreated(data));
|
|
753
|
-
break;
|
|
754
|
-
}
|
|
755
|
-
case 'resume':
|
|
756
|
-
case 'enable': {
|
|
757
|
-
const id = loopArgs.find((a) => !a.startsWith('--'));
|
|
758
|
-
if (!id)
|
|
759
|
-
throw new Error('Missing loop-id');
|
|
760
|
-
const { data } = await api('PATCH', `/api/loops/${id}`, { enabled: true });
|
|
761
|
-
console.log(jsonOut ? JSON.stringify(data, null, 2) : formatLoopCreated(data));
|
|
762
|
-
break;
|
|
763
|
-
}
|
|
764
|
-
case 'delete':
|
|
765
|
-
case 'rm': {
|
|
766
|
-
const id = loopArgs.find((a) => !a.startsWith('--'));
|
|
767
|
-
if (!id)
|
|
768
|
-
throw new Error('Missing loop-id');
|
|
769
|
-
const { data } = await api('DELETE', `/api/loops/${id}`);
|
|
770
|
-
console.log(jsonOut ? JSON.stringify(data, null, 2) : `deleted ${id}`);
|
|
771
|
-
break;
|
|
772
|
-
}
|
|
773
|
-
case 'runs': {
|
|
774
|
-
const id = loopArgs.find((a) => !a.startsWith('--'));
|
|
775
|
-
if (!id)
|
|
776
|
-
throw new Error('Missing loop-id');
|
|
777
|
-
const { data } = await api('GET', `/api/loops/${id}/runs`);
|
|
778
|
-
console.log(JSON.stringify(data, null, 2));
|
|
779
|
-
break;
|
|
780
|
-
}
|
|
781
|
-
default:
|
|
782
|
-
usage();
|
|
783
|
-
process.exit(1);
|
|
784
|
-
}
|
|
785
|
-
break;
|
|
786
|
-
}
|
|
787
476
|
default:
|
|
788
477
|
usage();
|
|
789
478
|
process.exit(1);
|
|
@@ -809,29 +498,5 @@ function formatCreated(data) {
|
|
|
809
498
|
const resumeNote = resumed === undefined ? '' : resumed ? ' [resumed]' : ' [fresh conversation]';
|
|
810
499
|
return `created ${session.id} ${session.name} (${session.status})${resumeNote}`;
|
|
811
500
|
}
|
|
812
|
-
function formatLoopList(data) {
|
|
813
|
-
const loops = data.loops ?? [];
|
|
814
|
-
if (loops.length === 0)
|
|
815
|
-
return '(no loops)';
|
|
816
|
-
return loops
|
|
817
|
-
.map((loop) => {
|
|
818
|
-
const status = loop.enabled ? loop.lastStatus ?? 'never' : 'disabled';
|
|
819
|
-
return `${loop.id} ${status} ${describeSchedule(loop.schedule)} next:${formatTimestamp(loop.nextRunAt)} runs:${loop.runCount} ${loop.name}`;
|
|
820
|
-
})
|
|
821
|
-
.join('\n');
|
|
822
|
-
}
|
|
823
|
-
function formatLoopCreated(data) {
|
|
824
|
-
const loop = data.loop;
|
|
825
|
-
if (!loop)
|
|
826
|
-
return JSON.stringify(data, null, 2);
|
|
827
|
-
const status = loop.enabled ? loop.lastStatus ?? 'never' : 'disabled';
|
|
828
|
-
return `${loop.id} ${status} ${describeSchedule(loop.schedule)} next:${formatTimestamp(loop.nextRunAt)} ${loop.name}`;
|
|
829
|
-
}
|
|
830
|
-
function formatLoopRunNow(data) {
|
|
831
|
-
const result = data;
|
|
832
|
-
if (result.fired)
|
|
833
|
-
return 'run requested';
|
|
834
|
-
return `not fired${result.reason ? `: ${result.reason}` : ''}`;
|
|
835
|
-
}
|
|
836
501
|
main();
|
|
837
502
|
//# sourceMappingURL=ftown-sessions-cli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ftown-sessions-cli.js","sourceRoot":"","sources":["../src/ftown-sessions-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ftown-sessions-cli.js","sourceRoot":"","sources":["../src/ftown-sessions-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Single source of truth for the supported harnesses ("shell types").
|
|
3
3
|
*
|
|
4
|
-
* Every place that used to re-list harness names (ShellType
|
|
5
|
-
*
|
|
4
|
+
* Every place that used to re-list harness names (ShellType unions,
|
|
5
|
+
* HOOKED_SHELL_TYPES, WorkflowShell/SHELLS, the buildSessionCommand
|
|
6
6
|
* branch, the prompt-as-CLI-arg predicate) now derives from HARNESSES below.
|
|
7
7
|
*
|
|
8
8
|
* NOTE: this module is part of the bridge dist and is NOT sibling-copied into
|
|
@@ -47,8 +47,6 @@ export interface HarnessSpec {
|
|
|
47
47
|
* which stays registry-free so it can be sibling-copied).
|
|
48
48
|
*/
|
|
49
49
|
providerBase?: 'claude';
|
|
50
|
-
/** Accepted as a Loop harness (loop-validation / LoopHarness). */
|
|
51
|
-
validForLoop: boolean;
|
|
52
50
|
/** Accepted as a workflow child shell (WorkflowShell / ftown-workflows --shell). */
|
|
53
51
|
validForWorkflow: boolean;
|
|
54
52
|
/**
|
|
@@ -103,7 +101,6 @@ export declare const HARNESSES: {
|
|
|
103
101
|
readonly hooked: true;
|
|
104
102
|
readonly promptAsCliArg: true;
|
|
105
103
|
readonly resumeField: "claudeSessionId";
|
|
106
|
-
readonly validForLoop: true;
|
|
107
104
|
readonly validForWorkflow: true;
|
|
108
105
|
};
|
|
109
106
|
readonly cursor: {
|
|
@@ -111,7 +108,6 @@ export declare const HARNESSES: {
|
|
|
111
108
|
readonly hooked: false;
|
|
112
109
|
readonly promptAsCliArg: true;
|
|
113
110
|
readonly resumeField: "cursorSessionId";
|
|
114
|
-
readonly validForLoop: true;
|
|
115
111
|
readonly validForWorkflow: true;
|
|
116
112
|
readonly spawnStaggerMs: 300;
|
|
117
113
|
};
|
|
@@ -120,21 +116,18 @@ export declare const HARNESSES: {
|
|
|
120
116
|
readonly hooked: true;
|
|
121
117
|
readonly promptAsCliArg: true;
|
|
122
118
|
readonly resumeField: "codexSessionId";
|
|
123
|
-
readonly validForLoop: true;
|
|
124
119
|
readonly validForWorkflow: true;
|
|
125
120
|
};
|
|
126
121
|
readonly shell: {
|
|
127
122
|
readonly buildCommand: () => string;
|
|
128
123
|
readonly hooked: false;
|
|
129
124
|
readonly promptAsCliArg: false;
|
|
130
|
-
readonly validForLoop: true;
|
|
131
125
|
readonly validForWorkflow: true;
|
|
132
126
|
};
|
|
133
127
|
readonly grok: {
|
|
134
128
|
readonly buildCommand: (input: BuildCommandInput) => string;
|
|
135
129
|
readonly hooked: false;
|
|
136
130
|
readonly promptAsCliArg: true;
|
|
137
|
-
readonly validForLoop: true;
|
|
138
131
|
readonly validForWorkflow: false;
|
|
139
132
|
};
|
|
140
133
|
readonly muse: {
|
|
@@ -142,14 +135,12 @@ export declare const HARNESSES: {
|
|
|
142
135
|
readonly hooked: true;
|
|
143
136
|
readonly promptAsCliArg: true;
|
|
144
137
|
readonly resumeField: "museSessionId";
|
|
145
|
-
readonly validForLoop: true;
|
|
146
138
|
readonly validForWorkflow: false;
|
|
147
139
|
};
|
|
148
140
|
readonly pi: {
|
|
149
141
|
readonly buildCommand: (input: BuildCommandInput) => string;
|
|
150
142
|
readonly hooked: true;
|
|
151
143
|
readonly promptAsCliArg: true;
|
|
152
|
-
readonly validForLoop: true;
|
|
153
144
|
readonly validForWorkflow: true;
|
|
154
145
|
};
|
|
155
146
|
readonly opencode: {
|
|
@@ -157,14 +148,12 @@ export declare const HARNESSES: {
|
|
|
157
148
|
readonly hooked: true;
|
|
158
149
|
readonly promptAsCliArg: true;
|
|
159
150
|
readonly resumeField: "opencodeSessionId";
|
|
160
|
-
readonly validForLoop: true;
|
|
161
151
|
readonly validForWorkflow: true;
|
|
162
152
|
};
|
|
163
153
|
readonly 'kimi-code': {
|
|
164
154
|
readonly buildCommand: (input: BuildCommandInput) => string;
|
|
165
155
|
readonly hooked: false;
|
|
166
156
|
readonly promptAsCliArg: false;
|
|
167
|
-
readonly validForLoop: true;
|
|
168
157
|
readonly validForWorkflow: false;
|
|
169
158
|
};
|
|
170
159
|
readonly zai: {
|
|
@@ -173,7 +162,6 @@ export declare const HARNESSES: {
|
|
|
173
162
|
readonly promptAsCliArg: true;
|
|
174
163
|
readonly resumeField: "claudeSessionId";
|
|
175
164
|
readonly providerBase: "claude";
|
|
176
|
-
readonly validForLoop: false;
|
|
177
165
|
readonly validForWorkflow: false;
|
|
178
166
|
};
|
|
179
167
|
readonly kimi: {
|
|
@@ -182,7 +170,6 @@ export declare const HARNESSES: {
|
|
|
182
170
|
readonly promptAsCliArg: true;
|
|
183
171
|
readonly resumeField: "claudeSessionId";
|
|
184
172
|
readonly providerBase: "claude";
|
|
185
|
-
readonly validForLoop: false;
|
|
186
173
|
readonly validForWorkflow: false;
|
|
187
174
|
};
|
|
188
175
|
readonly deepseek: {
|
|
@@ -191,7 +178,6 @@ export declare const HARNESSES: {
|
|
|
191
178
|
readonly promptAsCliArg: true;
|
|
192
179
|
readonly resumeField: "claudeSessionId";
|
|
193
180
|
readonly providerBase: "claude";
|
|
194
|
-
readonly validForLoop: false;
|
|
195
181
|
readonly validForWorkflow: false;
|
|
196
182
|
};
|
|
197
183
|
readonly fireworks: {
|
|
@@ -200,25 +186,20 @@ export declare const HARNESSES: {
|
|
|
200
186
|
readonly promptAsCliArg: true;
|
|
201
187
|
readonly resumeField: "claudeSessionId";
|
|
202
188
|
readonly providerBase: "claude";
|
|
203
|
-
readonly validForLoop: false;
|
|
204
189
|
readonly validForWorkflow: false;
|
|
205
190
|
};
|
|
206
191
|
};
|
|
207
192
|
export type ShellType = keyof typeof HARNESSES;
|
|
208
|
-
type KeysWhere<F extends '
|
|
193
|
+
type KeysWhere<F extends 'validForWorkflow' | 'hooked'> = {
|
|
209
194
|
[K in ShellType]: (typeof HARNESSES)[K][F] extends true ? K : never;
|
|
210
195
|
}[ShellType];
|
|
211
|
-
/** Harnesses accepted for Loops — derived, so drift is a compile error. */
|
|
212
|
-
export type LoopHarness = KeysWhere<'validForLoop'>;
|
|
213
196
|
/** Harnesses accepted as workflow child shells — derived, so drift is a compile error. */
|
|
214
197
|
export type WorkflowShell = KeysWhere<'validForWorkflow'>;
|
|
215
198
|
export declare const SHELL_TYPES: readonly ShellType[];
|
|
216
|
-
export declare const LOOP_HARNESS_TYPES: readonly LoopHarness[];
|
|
217
199
|
export declare const WORKFLOW_SHELLS: readonly WorkflowShell[];
|
|
218
200
|
/** Shell types whose mail arrives at turn boundaries through native hooks/extensions. */
|
|
219
201
|
export declare const HOOKED_SHELL_TYPES: ReadonlySet<string>;
|
|
220
202
|
export declare function isShellType(value: unknown): value is ShellType;
|
|
221
|
-
export declare function isLoopHarness(value: unknown): value is LoopHarness;
|
|
222
203
|
/**
|
|
223
204
|
* Whether the initial prompt may be passed as a CLI argument for this harness,
|
|
224
205
|
* given the session's resume fields (a resume suppresses the prompt arg).
|