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.
Files changed (89) hide show
  1. package/dist/browser-access.js +2 -1
  2. package/dist/browser-access.js.map +1 -1
  3. package/dist/centrifugo-client.d.ts +1 -4
  4. package/dist/centrifugo-client.js +0 -29
  5. package/dist/centrifugo-client.js.map +1 -1
  6. package/dist/command-rpc.d.ts +1 -3
  7. package/dist/command-rpc.js +20 -74
  8. package/dist/command-rpc.js.map +1 -1
  9. package/dist/create-ftown-session.d.ts +0 -1
  10. package/dist/create-ftown-session.js +7 -13
  11. package/dist/create-ftown-session.js.map +1 -1
  12. package/dist/ftown-home.js +2 -2
  13. package/dist/ftown-sessions-cli.js +5 -340
  14. package/dist/ftown-sessions-cli.js.map +1 -1
  15. package/dist/harness-registry.d.ts +3 -22
  16. package/dist/harness-registry.js +3 -17
  17. package/dist/harness-registry.js.map +1 -1
  18. package/dist/index.js +10 -65
  19. package/dist/index.js.map +1 -1
  20. package/dist/install-ftown-skill.d.ts +5 -0
  21. package/dist/install-ftown-skill.js +91 -9
  22. package/dist/install-ftown-skill.js.map +1 -1
  23. package/dist/local-api-server.d.ts +1 -18
  24. package/dist/local-api-server.js +10 -108
  25. package/dist/local-api-server.js.map +1 -1
  26. package/dist/provider-env-store.js +1 -1
  27. package/dist/provider-env-store.js.map +1 -1
  28. package/dist/retired-automation.d.ts +14 -0
  29. package/dist/retired-automation.js +18 -0
  30. package/dist/retired-automation.js.map +1 -0
  31. package/dist/retired-skill-assets.d.ts +2 -0
  32. package/dist/retired-skill-assets.js +21 -0
  33. package/dist/retired-skill-assets.js.map +1 -0
  34. package/dist/session-controller.d.ts +2 -1
  35. package/dist/session-controller.js +5 -1
  36. package/dist/session-controller.js.map +1 -1
  37. package/dist/session-resurrection.d.ts +8 -2
  38. package/dist/session-resurrection.js +53 -17
  39. package/dist/session-resurrection.js.map +1 -1
  40. package/dist/solo/contract.d.ts +1 -1
  41. package/dist/solo/contract.js +2 -12
  42. package/dist/solo/contract.js.map +1 -1
  43. package/dist/solo/hub-manager.js +1 -1
  44. package/dist/terminal-pump.d.ts +1 -2
  45. package/dist/terminal-pump.js +1 -2
  46. package/dist/terminal-pump.js.map +1 -1
  47. package/dist/types.d.ts +4 -112
  48. package/dist/wire-types.d.ts +4 -48
  49. package/dist/wire-types.js +2 -0
  50. package/dist/wire-types.js.map +1 -1
  51. package/package.json +1 -2
  52. package/pi-extension/API.md +4 -12
  53. package/pi-extension/ftown.js +0 -138
  54. package/skills/ftown/SKILL.md +5 -27
  55. package/skills/ftown/agents/openai.yaml +2 -2
  56. package/skills/ftown/references/orchestrator.md +10 -65
  57. package/skills/ftown/references/sessions.md +3 -16
  58. package/skills/ftown/references/workflows.md +1 -3
  59. package/dist/loop-controller.d.ts +0 -87
  60. package/dist/loop-controller.js +0 -133
  61. package/dist/loop-controller.js.map +0 -1
  62. package/dist/loop-run-store.d.ts +0 -10
  63. package/dist/loop-run-store.js +0 -153
  64. package/dist/loop-run-store.js.map +0 -1
  65. package/dist/loop-schedule.d.ts +0 -18
  66. package/dist/loop-schedule.js +0 -35
  67. package/dist/loop-schedule.js.map +0 -1
  68. package/dist/loop-scheduler.d.ts +0 -148
  69. package/dist/loop-scheduler.js +0 -543
  70. package/dist/loop-scheduler.js.map +0 -1
  71. package/dist/loop-store.d.ts +0 -38
  72. package/dist/loop-store.js +0 -153
  73. package/dist/loop-store.js.map +0 -1
  74. package/dist/loop-validation.d.ts +0 -15
  75. package/dist/loop-validation.js +0 -91
  76. package/dist/loop-validation.js.map +0 -1
  77. package/skills/factory/SKILL.md +0 -198
  78. package/skills/factory/factory-template/bin/dispatch.py +0 -478
  79. package/skills/factory/factory-template/factory.yaml +0 -43
  80. package/skills/factory/factory-template/skills/_protocol.md +0 -105
  81. package/skills/factory/factory-template/skills/design.md +0 -260
  82. package/skills/factory/factory-template/skills/digest.md +0 -78
  83. package/skills/factory/factory-template/skills/groom.md +0 -243
  84. package/skills/factory/factory-template/skills/implement.md +0 -316
  85. package/skills/factory/factory-template/skills/pr.md +0 -221
  86. package/skills/factory/factory-template/skills/qa.md +0 -226
  87. package/skills/factory/factory-template/skills/review.md +0 -232
  88. package/skills/factory/factory-template/skills/triage.md +0 -157
  89. 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/LoopHarness unions,
5
- * LOOP_HARNESSES, HOOKED_SHELL_TYPES, WorkflowShell/SHELLS, the buildSessionCommand
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 'validForLoop' | 'validForWorkflow' | 'hooked'> = {
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).