@mobrienv/autoloop-harness 0.8.0 → 0.9.2

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 (116) hide show
  1. package/dist/acceptance.d.ts +31 -0
  2. package/dist/acceptance.js +69 -0
  3. package/dist/acceptance.js.map +1 -0
  4. package/dist/ask.d.ts +16 -0
  5. package/dist/ask.js +47 -0
  6. package/dist/ask.js.map +1 -0
  7. package/dist/backend/types.d.ts +3 -0
  8. package/dist/backend/types.js +3 -0
  9. package/dist/backend/types.js.map +1 -1
  10. package/dist/circuit-breaker.d.ts +27 -0
  11. package/dist/circuit-breaker.js +41 -0
  12. package/dist/circuit-breaker.js.map +1 -0
  13. package/dist/completion-lint.d.ts +29 -0
  14. package/dist/completion-lint.js +51 -0
  15. package/dist/completion-lint.js.map +1 -0
  16. package/dist/config-helpers.js +141 -8
  17. package/dist/config-helpers.js.map +1 -1
  18. package/dist/control/command-adapter.d.ts +19 -0
  19. package/dist/control/command-adapter.js +57 -0
  20. package/dist/control/command-adapter.js.map +1 -0
  21. package/dist/control/dispatch.js +14 -0
  22. package/dist/control/dispatch.js.map +1 -1
  23. package/dist/control/types.d.ts +11 -2
  24. package/dist/display.d.ts +9 -2
  25. package/dist/display.js +37 -1
  26. package/dist/display.js.map +1 -1
  27. package/dist/emit.d.ts +27 -0
  28. package/dist/emit.js +321 -2
  29. package/dist/emit.js.map +1 -1
  30. package/dist/events.d.ts +36 -3
  31. package/dist/fanout-runner.d.ts +25 -0
  32. package/dist/fanout-runner.js +54 -0
  33. package/dist/fanout-runner.js.map +1 -0
  34. package/dist/file-mod-audit.d.ts +29 -0
  35. package/dist/file-mod-audit.js +63 -0
  36. package/dist/file-mod-audit.js.map +1 -0
  37. package/dist/git-diff.d.ts +19 -0
  38. package/dist/git-diff.js +74 -0
  39. package/dist/git-diff.js.map +1 -0
  40. package/dist/hooks.d.ts +78 -0
  41. package/dist/hooks.js +239 -0
  42. package/dist/hooks.js.map +1 -0
  43. package/dist/index.d.ts +15 -2
  44. package/dist/index.js +181 -5
  45. package/dist/index.js.map +1 -1
  46. package/dist/intent.d.ts +45 -0
  47. package/dist/intent.js +127 -0
  48. package/dist/intent.js.map +1 -0
  49. package/dist/iteration-diff.d.ts +32 -0
  50. package/dist/iteration-diff.js +92 -0
  51. package/dist/iteration-diff.js.map +1 -0
  52. package/dist/iteration.d.ts +20 -0
  53. package/dist/iteration.js +383 -16
  54. package/dist/iteration.js.map +1 -1
  55. package/dist/metareview.d.ts +9 -1
  56. package/dist/metareview.js +68 -30
  57. package/dist/metareview.js.map +1 -1
  58. package/dist/notify.d.ts +9 -2
  59. package/dist/notify.js +16 -4
  60. package/dist/notify.js.map +1 -1
  61. package/dist/parallel.d.ts +16 -0
  62. package/dist/parallel.js +28 -1
  63. package/dist/parallel.js.map +1 -1
  64. package/dist/postconditions.d.ts +25 -0
  65. package/dist/postconditions.js +107 -0
  66. package/dist/postconditions.js.map +1 -0
  67. package/dist/postfire-verify.d.ts +31 -0
  68. package/dist/postfire-verify.js +64 -0
  69. package/dist/postfire-verify.js.map +1 -0
  70. package/dist/premature-quit.d.ts +25 -0
  71. package/dist/premature-quit.js +54 -0
  72. package/dist/premature-quit.js.map +1 -0
  73. package/dist/progress.d.ts +20 -0
  74. package/dist/progress.js +56 -0
  75. package/dist/progress.js.map +1 -0
  76. package/dist/prompt.js +8 -2
  77. package/dist/prompt.js.map +1 -1
  78. package/dist/provisional.d.ts +42 -0
  79. package/dist/provisional.js +92 -0
  80. package/dist/provisional.js.map +1 -0
  81. package/dist/registry-bridge.js +25 -0
  82. package/dist/registry-bridge.js.map +1 -1
  83. package/dist/resume.d.ts +61 -0
  84. package/dist/resume.js +226 -0
  85. package/dist/resume.js.map +1 -0
  86. package/dist/scratchpad.js +27 -8
  87. package/dist/scratchpad.js.map +1 -1
  88. package/dist/stage.d.ts +21 -0
  89. package/dist/stage.js +131 -0
  90. package/dist/stage.js.map +1 -0
  91. package/dist/stop.d.ts +29 -2
  92. package/dist/stop.js +106 -0
  93. package/dist/stop.js.map +1 -1
  94. package/dist/suspend-state.d.ts +32 -0
  95. package/dist/suspend-state.js +104 -0
  96. package/dist/suspend-state.js.map +1 -0
  97. package/dist/tamper.d.ts +21 -0
  98. package/dist/tamper.js +88 -0
  99. package/dist/tamper.js.map +1 -0
  100. package/dist/types.d.ts +247 -2
  101. package/dist/types.js +91 -1
  102. package/dist/types.js.map +1 -1
  103. package/dist/wave/finalize-wave.d.ts +15 -5
  104. package/dist/wave/finalize-wave.js +56 -2
  105. package/dist/wave/finalize-wave.js.map +1 -1
  106. package/dist/wave/launch-branches.d.ts +23 -2
  107. package/dist/wave/launch-branches.js +56 -3
  108. package/dist/wave/launch-branches.js.map +1 -1
  109. package/dist/wave/stage-branch-runner.d.ts +12 -0
  110. package/dist/wave/stage-branch-runner.js +130 -0
  111. package/dist/wave/stage-branch-runner.js.map +1 -0
  112. package/dist/wave/types.d.ts +40 -2
  113. package/dist/wave.d.ts +32 -1
  114. package/dist/wave.js +163 -34
  115. package/dist/wave.js.map +1 -1
  116. package/package.json +83 -3
package/dist/wave.js CHANGED
@@ -1,4 +1,4 @@
1
- import { existsSync, mkdirSync, unlinkSync, writeFileSync } from "node:fs";
1
+ import { existsSync, mkdirSync, readdirSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import * as md from "@mobrienv/autoloop-core";
4
4
  import { generateCompactId, joinCsv, jsonField } from "@mobrienv/autoloop-core";
@@ -7,31 +7,89 @@ import { finalizeParallelWave } from "./wave/finalize-wave.js";
7
7
  import { joinParallelBranches, launchParallelBranches, prepareParallelBranches, } from "./wave/launch-branches.js";
8
8
  import { parseParallelObjectives } from "./wave/parse-objectives.js";
9
9
  export { continueAfterParallelJoin, stopAfterParallelWave, } from "./wave/finalize-wave.js";
10
+ /** Registry key for the (single, backward-compatible) agent-triggered wave slot. */
11
+ export const AGENT_WAVE_KEY = "agent";
12
+ /** Registry key for a role's declarative wave slot. */
13
+ export function declarativeWaveKey(roleId) {
14
+ return `role:${roleId}`;
15
+ }
16
+ /**
17
+ * Agent-triggered wave path (backward compatible): an agent emits a
18
+ * `<role>.parallel`/`explore.parallel` topic; the payload lists branch
19
+ * objectives. Tracked under the single `agent` registry slot, so a second
20
+ * concurrent agent-triggered `.parallel` is still rejected as before —
21
+ * independent of any declarative waves running for other roles.
22
+ */
10
23
  export function executeParallelWave(loop, iter, emittedTopic, emittedPayload) {
11
- const markerPath = activeWaveMarkerPath(loop);
12
- if (existsSync(markerPath)) {
13
- return rejectActiveWave(loop, iter, emittedTopic, markerPath);
24
+ if (isWaveActive(loop, AGENT_WAVE_KEY)) {
25
+ return rejectActiveWave(loop, iter, emittedTopic, AGENT_WAVE_KEY, "agent", undefined, undefined);
14
26
  }
15
27
  const parsed = parseParallelObjectives(emittedPayload, loop.parallel.maxBranches);
16
28
  if (!parsed.ok) {
17
- return rejectPayload(loop, iter, emittedTopic, parsed.reason);
29
+ return rejectPayload(loop, iter, emittedTopic, parsed.reason, "agent");
30
+ }
31
+ return executeWaveWithObjectives(loop, iter, {
32
+ key: AGENT_WAVE_KEY,
33
+ emittedTopic,
34
+ objectives: parsed.objectives,
35
+ source: "agent",
36
+ aggregate: loop.parallel.aggregate,
37
+ });
38
+ }
39
+ /**
40
+ * Declarative wave path (ralph v3 style): the harness auto-launches
41
+ * `role.concurrency` identical branches for a role the just-emitted routing
42
+ * event matched — no agent `.parallel` emit required. Tracked per-role, so
43
+ * distinct roles' declarative waves (and the single agent-triggered slot) can
44
+ * all be active at once.
45
+ */
46
+ export function executeDeclarativeWave(loop, iter, role, routingEvent) {
47
+ const key = declarativeWaveKey(role.id);
48
+ const syntheticTopic = `${routingEvent}.parallel`;
49
+ if (isWaveActive(loop, key)) {
50
+ return rejectActiveWave(loop, iter, syntheticTopic, key, "declarative", role.id, role.concurrency);
51
+ }
52
+ const count = Math.max(0, Math.min(role.concurrency ?? 0, loop.parallel.maxBranches));
53
+ if (count <= 0) {
54
+ return rejectPayload(loop, iter, syntheticTopic, "empty_branch_list", "declarative");
18
55
  }
19
- return executeWaveWithObjectives(loop, iter, emittedTopic, parsed.objectives, markerPath);
56
+ const objectives = declarativeObjectives(role, routingEvent, count);
57
+ const aggregate = role.aggregate ?? loop.parallel.aggregate;
58
+ return executeWaveWithObjectives(loop, iter, {
59
+ key,
60
+ emittedTopic: syntheticTopic,
61
+ objectives,
62
+ source: "declarative",
63
+ roleId: role.id,
64
+ concurrency: role.concurrency,
65
+ aggregate,
66
+ });
20
67
  }
21
- function rejectActiveWave(loop, iter, topic, markerPath) {
22
- const activeWaveId = readIfExists(markerPath);
23
- appendWaveInvalid(loop, iter, topic, "active_wave_exists", activeWaveId);
68
+ function declarativeObjectives(role, routingEvent, count) {
69
+ const base = role.prompt.trim() ||
70
+ `Act as role \`${role.id}\` in response to routing event \`${routingEvent}\`.`;
71
+ const objectives = [];
72
+ for (let i = 1; i <= count; i++) {
73
+ objectives.push(`[branch ${i}/${count}] ${base}`);
74
+ }
75
+ return objectives;
76
+ }
77
+ function rejectActiveWave(loop, iter, topic, key, source, roleId, concurrency) {
78
+ const activeWaveId = activeWaveId_(loop, key);
79
+ appendWaveInvalid(loop, iter, topic, "active_wave_exists", activeWaveId, source, roleId, concurrency);
24
80
  return {
25
81
  reason: "parallel_wave_invalid",
26
82
  waveId: activeWaveId,
27
83
  elapsedMs: 0,
84
+ source,
28
85
  };
29
86
  }
30
- function rejectPayload(loop, iter, topic, reason) {
31
- appendWaveInvalid(loop, iter, topic, reason, "");
32
- return { reason: "parallel_wave_invalid", waveId: "", elapsedMs: 0 };
87
+ function rejectPayload(loop, iter, topic, reason, source) {
88
+ appendWaveInvalid(loop, iter, topic, reason, "", source, undefined, undefined);
89
+ return { reason: "parallel_wave_invalid", waveId: "", elapsedMs: 0, source };
33
90
  }
34
- function executeWaveWithObjectives(loop, iter, emittedTopic, objectives, markerPath) {
91
+ function executeWaveWithObjectives(loop, iter, options) {
92
+ const { key, emittedTopic, objectives, source, roleId, concurrency, aggregate, } = options;
35
93
  const waveId = generateCompactId("wave");
36
94
  const waveDir = join(loop.paths.stateDir, "waves", waveId);
37
95
  const branchesDir = join(waveDir, "branches");
@@ -39,24 +97,19 @@ function executeWaveWithObjectives(loop, iter, emittedTopic, objectives, markerP
39
97
  const openingEvents = iter.allowedEvents;
40
98
  const waveStartMs = Date.now();
41
99
  mkdirSync(branchesDir, { recursive: true });
42
- writeFileSync(markerPath, waveId);
100
+ registerActiveWave(loop, key, waveId);
43
101
  writeWaveSpec(waveDir, waveId, emittedTopic, iter, objectives);
44
- appendWaveStart(loop, iter, waveId, emittedTopic, objectives);
102
+ appendWaveStart(loop, iter, waveId, emittedTopic, objectives, source, roleId, concurrency);
45
103
  const specs = prepareParallelBranches(loop, iter, waveId, waveDir, emittedTopic, objectives);
46
104
  const launched = launchParallelBranches(loop, specs);
47
- const results = joinParallelBranches(loop, iter, waveId, launched);
105
+ const { results, aggregateOutcome } = joinParallelBranches(loop, iter, waveId, launched, aggregate, waveStartMs);
48
106
  const ordered = sortByBranchId(results);
49
107
  const totalElapsed = Date.now() - waveStartMs;
50
108
  writeWaveJoin(waveDir, waveId, emittedTopic, objectives, ordered, iter.recentEvent, openingRoles, openingEvents, totalElapsed);
51
- appendWaveJoinStart(loop, iter, waveId, emittedTopic, objectives, ordered, totalElapsed);
52
- try {
53
- unlinkSync(markerPath);
54
- }
55
- catch {
56
- /* ok */
57
- }
58
- const finalized = finalizeParallelWave(loop, iter, waveId, ordered);
59
- return { ...finalized, elapsedMs: totalElapsed };
109
+ appendWaveJoinStart(loop, iter, waveId, emittedTopic, objectives, ordered, totalElapsed, source, roleId);
110
+ clearActiveWave(loop, key);
111
+ const finalized = finalizeParallelWave(loop, iter, waveId, ordered, aggregate, aggregateOutcome);
112
+ return { ...finalized, elapsedMs: totalElapsed, source };
60
113
  }
61
114
  function sortByBranchId(results) {
62
115
  return [...results].sort((a, b) => branchIndex(a.branchId) - branchIndex(b.branchId));
@@ -112,21 +165,88 @@ function writeWaveJoin(waveDir, waveId, emittedTopic, objectives, results, recen
112
165
  md.bulletList(items);
113
166
  writeFileSync(join(waveDir, "join.md"), content);
114
167
  }
115
- function activeWaveMarkerPath(loop) {
168
+ /* ── active-wave registry ──────────────────────────────────────────────────
169
+ * Per-wave-id-indexed tracking: one small file per active wave key under
170
+ * `waves/active/<sanitized-key>` (content = wave id), rather than a single
171
+ * global `waves/active` marker file. This lets an agent-triggered wave and N
172
+ * declarative role waves all be tracked as active simultaneously; only a
173
+ * *second* wave under the *same* key is rejected.
174
+ */
175
+ function activeWavesDir(loop) {
116
176
  const wavesDir = join(loop.paths.stateDir, "waves");
117
- mkdirSync(wavesDir, { recursive: true });
118
- return join(wavesDir, "active");
177
+ const legacyMarker = join(wavesDir, "active");
178
+ // Migrate the old single-file marker format: if `waves/active` exists as a
179
+ // FILE (pre-existing state dir from before this change), remove it so the
180
+ // new directory can be created at the same path.
181
+ if (existsSync(legacyMarker)) {
182
+ try {
183
+ if (statSync(legacyMarker).isFile())
184
+ unlinkSync(legacyMarker);
185
+ }
186
+ catch {
187
+ /* ok */
188
+ }
189
+ }
190
+ mkdirSync(legacyMarker, { recursive: true });
191
+ return legacyMarker;
192
+ }
193
+ function sanitizeWaveKey(key) {
194
+ return key.replace(/[^a-zA-Z0-9_-]+/g, "_");
195
+ }
196
+ function waveKeyPath(loop, key) {
197
+ return join(activeWavesDir(loop), sanitizeWaveKey(key));
198
+ }
199
+ /** Whether a wave is currently registered under `key` (agent slot or `role:<id>`). */
200
+ export function isWaveActive(loop, key) {
201
+ return existsSync(waveKeyPath(loop, key));
202
+ }
203
+ function activeWaveId_(loop, key) {
204
+ return readIfExists(waveKeyPath(loop, key));
119
205
  }
120
- function appendWaveInvalid(loop, iter, topic, reason, activeWaveId) {
206
+ /** Register a wave as active under `key` (test/registry-inspection hook). */
207
+ export function registerActiveWave(loop, key, waveId) {
208
+ writeFileSync(waveKeyPath(loop, key), waveId);
209
+ }
210
+ /** Clear the active-wave registration for `key`, if any. */
211
+ export function clearActiveWave(loop, key) {
212
+ try {
213
+ unlinkSync(waveKeyPath(loop, key));
214
+ }
215
+ catch {
216
+ /* ok */
217
+ }
218
+ }
219
+ /** All currently-active waves (key, wave id) — declarative and agent-triggered. */
220
+ export function listActiveWaves(loop) {
221
+ const dir = activeWavesDir(loop);
222
+ let entries = [];
223
+ try {
224
+ entries = readdirSync(dir);
225
+ }
226
+ catch {
227
+ return [];
228
+ }
229
+ return entries.map((key) => ({
230
+ key,
231
+ waveId: readIfExists(join(dir, key)),
232
+ }));
233
+ }
234
+ function appendWaveInvalid(loop, iter, topic, reason, activeWaveId, source, roleId, concurrency) {
121
235
  appendEvent(loop.paths.journalFile, loop.runtime.runId, String(iter.iteration), "wave.invalid", jsonField("trigger_topic", topic) +
122
236
  ", " +
123
237
  jsonField("reason", reason) +
124
238
  ", " +
125
239
  jsonField("active_wave_id", activeWaveId) +
126
240
  ", " +
127
- jsonField("opening_recent_event", iter.recentEvent));
241
+ jsonField("opening_recent_event", iter.recentEvent) +
242
+ ", " +
243
+ jsonField("concurrency_source", source) +
244
+ (roleId !== undefined ? `, ${jsonField("role_id", roleId)}` : "") +
245
+ (concurrency !== undefined
246
+ ? `, ${jsonField("concurrency", String(concurrency))}`
247
+ : ""));
128
248
  }
129
- function appendWaveStart(loop, iter, waveId, emittedTopic, objectives) {
249
+ function appendWaveStart(loop, iter, waveId, emittedTopic, objectives, source, roleId, concurrency) {
130
250
  appendEvent(loop.paths.journalFile, loop.runtime.runId, String(iter.iteration), "wave.start", jsonField("wave_id", waveId) +
131
251
  ", " +
132
252
  jsonField("trigger_topic", emittedTopic) +
@@ -139,9 +259,15 @@ function appendWaveStart(loop, iter, waveId, emittedTopic, objectives) {
139
259
  ", " +
140
260
  jsonField("opening_events", joinCsv(iter.allowedEvents)) +
141
261
  ", " +
142
- jsonField("objectives", joinCsv(objectives)));
262
+ jsonField("objectives", joinCsv(objectives)) +
263
+ ", " +
264
+ jsonField("concurrency_source", source) +
265
+ (roleId !== undefined ? `, ${jsonField("role_id", roleId)}` : "") +
266
+ (concurrency !== undefined
267
+ ? `, ${jsonField("concurrency", String(concurrency))}`
268
+ : ""));
143
269
  }
144
- function appendWaveJoinStart(loop, iter, waveId, emittedTopic, objectives, results, totalElapsed) {
270
+ function appendWaveJoinStart(loop, iter, waveId, emittedTopic, objectives, results, totalElapsed, source, roleId) {
145
271
  const outcomes = results
146
272
  .map((r) => `${r.branchId}:${r.stopReason}`)
147
273
  .join(",");
@@ -153,6 +279,9 @@ function appendWaveJoinStart(loop, iter, waveId, emittedTopic, objectives, resul
153
279
  ", " +
154
280
  jsonField("elapsed_ms", String(totalElapsed)) +
155
281
  ", " +
156
- jsonField("branch_outcomes", outcomes));
282
+ jsonField("branch_outcomes", outcomes) +
283
+ ", " +
284
+ jsonField("concurrency_source", source) +
285
+ (roleId !== undefined ? `, ${jsonField("role_id", roleId)}` : ""));
157
286
  }
158
287
  //# sourceMappingURL=wave.js.map
package/dist/wave.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wave.js","sourceRoot":"","sources":["../src/wave.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wave.js","sourceRoot":"","sources":["../src/wave.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mobrienv/autoloop-harness",
3
- "version": "0.8.0",
3
+ "version": "0.9.2",
4
4
  "license": "MIT",
5
5
  "description": "autoloop harness runtime (iteration loop, metareview, wave orchestration, backend drivers)",
6
6
  "type": "module",
@@ -55,10 +55,66 @@
55
55
  "types": "./dist/metareview.d.ts",
56
56
  "default": "./dist/metareview.js"
57
57
  },
58
+ "./acceptance": {
59
+ "types": "./dist/acceptance.d.ts",
60
+ "default": "./dist/acceptance.js"
61
+ },
62
+ "./postconditions": {
63
+ "types": "./dist/postconditions.d.ts",
64
+ "default": "./dist/postconditions.js"
65
+ },
66
+ "./provisional": {
67
+ "types": "./dist/provisional.d.ts",
68
+ "default": "./dist/provisional.js"
69
+ },
70
+ "./tamper": {
71
+ "types": "./dist/tamper.d.ts",
72
+ "default": "./dist/tamper.js"
73
+ },
74
+ "./file-mod-audit": {
75
+ "types": "./dist/file-mod-audit.d.ts",
76
+ "default": "./dist/file-mod-audit.js"
77
+ },
78
+ "./git-diff": {
79
+ "types": "./dist/git-diff.d.ts",
80
+ "default": "./dist/git-diff.js"
81
+ },
82
+ "./circuit-breaker": {
83
+ "types": "./dist/circuit-breaker.d.ts",
84
+ "default": "./dist/circuit-breaker.js"
85
+ },
86
+ "./intent": {
87
+ "types": "./dist/intent.d.ts",
88
+ "default": "./dist/intent.js"
89
+ },
90
+ "./premature-quit": {
91
+ "types": "./dist/premature-quit.d.ts",
92
+ "default": "./dist/premature-quit.js"
93
+ },
94
+ "./progress": {
95
+ "types": "./dist/progress.d.ts",
96
+ "default": "./dist/progress.js"
97
+ },
98
+ "./postfire-verify": {
99
+ "types": "./dist/postfire-verify.d.ts",
100
+ "default": "./dist/postfire-verify.js"
101
+ },
102
+ "./completion-lint": {
103
+ "types": "./dist/completion-lint.d.ts",
104
+ "default": "./dist/completion-lint.js"
105
+ },
106
+ "./iteration-diff": {
107
+ "types": "./dist/iteration-diff.d.ts",
108
+ "default": "./dist/iteration-diff.js"
109
+ },
58
110
  "./parallel": {
59
111
  "types": "./dist/parallel.d.ts",
60
112
  "default": "./dist/parallel.js"
61
113
  },
114
+ "./fanout-runner": {
115
+ "types": "./dist/fanout-runner.d.ts",
116
+ "default": "./dist/fanout-runner.js"
117
+ },
62
118
  "./iteration": {
63
119
  "types": "./dist/iteration.d.ts",
64
120
  "default": "./dist/iteration.js"
@@ -75,6 +131,22 @@
75
131
  "types": "./dist/wave/parse-objectives.d.ts",
76
132
  "default": "./dist/wave/parse-objectives.js"
77
133
  },
134
+ "./wave": {
135
+ "types": "./dist/wave.d.ts",
136
+ "default": "./dist/wave.js"
137
+ },
138
+ "./wave/types": {
139
+ "types": "./dist/wave/types.d.ts",
140
+ "default": "./dist/wave/types.js"
141
+ },
142
+ "./wave/launch-branches": {
143
+ "types": "./dist/wave/launch-branches.d.ts",
144
+ "default": "./dist/wave/launch-branches.js"
145
+ },
146
+ "./wave/finalize-wave": {
147
+ "types": "./dist/wave/finalize-wave.d.ts",
148
+ "default": "./dist/wave/finalize-wave.js"
149
+ },
78
150
  "./pi-adapter": {
79
151
  "types": "./dist/pi-adapter.d.ts",
80
152
  "default": "./dist/pi-adapter.js"
@@ -83,6 +155,14 @@
83
155
  "types": "./dist/registry-bridge.d.ts",
84
156
  "default": "./dist/registry-bridge.js"
85
157
  },
158
+ "./hooks": {
159
+ "types": "./dist/hooks.d.ts",
160
+ "default": "./dist/hooks.js"
161
+ },
162
+ "./suspend-state": {
163
+ "types": "./dist/suspend-state.d.ts",
164
+ "default": "./dist/suspend-state.js"
165
+ },
86
166
  "./control": {
87
167
  "types": "./dist/control/index.d.ts",
88
168
  "default": "./dist/control/index.js"
@@ -142,8 +222,8 @@
142
222
  "dependencies": {
143
223
  "@agentclientprotocol/sdk": "^0.18.0",
144
224
  "@iarna/toml": "^2.2.5",
145
- "@mobrienv/autoloop-backends": "0.8.0",
146
- "@mobrienv/autoloop-core": "0.8.0"
225
+ "@mobrienv/autoloop-backends": "0.9.2",
226
+ "@mobrienv/autoloop-core": "0.9.2"
147
227
  },
148
228
  "scripts": {
149
229
  "build": "tsc"