@mobrienv/autoloop 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/bin/autoloop +0 -0
- package/dist/agent-map.d.ts +10 -0
- package/dist/agent-map.js +58 -0
- package/dist/agent-map.js.map +1 -0
- package/dist/backend/acp-client.d.ts +32 -0
- package/dist/backend/acp-client.js +210 -0
- package/dist/backend/acp-client.js.map +1 -0
- package/dist/backend/index.d.ts +1 -1
- package/dist/backend/index.js +17 -5
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/kiro-bridge.d.ts +17 -0
- package/dist/backend/kiro-bridge.js +80 -0
- package/dist/backend/kiro-bridge.js.map +1 -0
- package/dist/backend/kiro-worker.d.ts +1 -0
- package/dist/backend/kiro-worker.js +83 -0
- package/dist/backend/kiro-worker.js.map +1 -0
- package/dist/backend/run-command.js +2 -2
- package/dist/backend/run-command.js.map +1 -1
- package/dist/backend/run-kiro.d.ts +3 -0
- package/dist/backend/run-kiro.js +12 -0
- package/dist/backend/run-kiro.js.map +1 -0
- package/dist/backend/run-pi.js.map +1 -1
- package/dist/chains/budget.js +16 -4
- package/dist/chains/budget.js.map +1 -1
- package/dist/chains/load.d.ts +7 -1
- package/dist/chains/load.js +58 -9
- package/dist/chains/load.js.map +1 -1
- package/dist/chains/render.js +36 -8
- package/dist/chains/render.js.map +1 -1
- package/dist/chains/run.js +129 -44
- package/dist/chains/run.js.map +1 -1
- package/dist/chains/types.d.ts +1 -0
- package/dist/chains.d.ts +5 -4
- package/dist/chains.js +3 -3
- package/dist/chains.js.map +1 -1
- package/dist/commands/chain.js +6 -4
- package/dist/commands/chain.js.map +1 -1
- package/dist/commands/config.d.ts +1 -0
- package/dist/commands/config.js +74 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/dashboard.d.ts +1 -0
- package/dist/commands/dashboard.js +68 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/inspect.js +125 -17
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/list.d.ts +1 -1
- package/dist/commands/list.js +6 -3
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/loops.js +11 -11
- package/dist/commands/loops.js.map +1 -1
- package/dist/commands/memory.js +2 -2
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/run.d.ts +1 -1
- package/dist/commands/run.js +102 -15
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/runs.d.ts +1 -0
- package/dist/commands/runs.js +50 -0
- package/dist/commands/runs.js.map +1 -0
- package/dist/commands/task.d.ts +1 -0
- package/dist/commands/task.js +74 -0
- package/dist/commands/task.js.map +1 -0
- package/dist/commands/worktree.d.ts +1 -0
- package/dist/commands/worktree.js +162 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/config.d.ts +15 -1
- package/dist/config.js +90 -21
- package/dist/config.js.map +1 -1
- package/dist/dashboard/app.d.ts +12 -0
- package/dist/dashboard/app.js +23 -0
- package/dist/dashboard/app.js.map +1 -0
- package/dist/dashboard/routes/api.d.ts +3 -0
- package/dist/dashboard/routes/api.js +103 -0
- package/dist/dashboard/routes/api.js.map +1 -0
- package/dist/dashboard/routes/pages.d.ts +2 -0
- package/dist/dashboard/routes/pages.js +14 -0
- package/dist/dashboard/routes/pages.js.map +1 -0
- package/dist/dashboard/views/alpine-vendor.d.ts +1 -0
- package/dist/dashboard/views/alpine-vendor.js +10 -0
- package/dist/dashboard/views/alpine-vendor.js.map +1 -0
- package/dist/dashboard/views/shell.d.ts +1 -0
- package/dist/dashboard/views/shell.js +714 -0
- package/dist/dashboard/views/shell.js.map +1 -0
- package/dist/events/decode.js.map +1 -1
- package/dist/events/encode.js +2 -2
- package/dist/events/encode.js.map +1 -1
- package/dist/harness/config-helpers.d.ts +11 -0
- package/dist/harness/config-helpers.js +242 -64
- package/dist/harness/config-helpers.js.map +1 -1
- package/dist/harness/coordination.js +12 -12
- package/dist/harness/coordination.js.map +1 -1
- package/dist/harness/display.d.ts +4 -3
- package/dist/harness/display.js +57 -11
- package/dist/harness/display.js.map +1 -1
- package/dist/harness/emit.js +31 -13
- package/dist/harness/emit.js.map +1 -1
- package/dist/harness/index.d.ts +7 -7
- package/dist/harness/index.js +151 -35
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/iteration.d.ts +12 -0
- package/dist/harness/iteration.js +66 -64
- package/dist/harness/iteration.js.map +1 -1
- package/dist/harness/journal.d.ts +17 -0
- package/dist/harness/journal.js +74 -5
- package/dist/harness/journal.js.map +1 -1
- package/dist/harness/metareview.js +30 -15
- package/dist/harness/metareview.js.map +1 -1
- package/dist/harness/metrics.js +12 -12
- package/dist/harness/metrics.js.map +1 -1
- package/dist/harness/parallel.d.ts +1 -1
- package/dist/harness/parallel.js +141 -62
- package/dist/harness/parallel.js.map +1 -1
- package/dist/harness/prompt.d.ts +18 -9
- package/dist/harness/prompt.js +80 -44
- package/dist/harness/prompt.js.map +1 -1
- package/dist/harness/scratchpad.js +8 -6
- package/dist/harness/scratchpad.js.map +1 -1
- package/dist/harness/stop.js +16 -9
- package/dist/harness/stop.js.map +1 -1
- package/dist/harness/tools.js +39 -13
- package/dist/harness/tools.js.map +1 -1
- package/dist/harness/types.d.ts +29 -0
- package/dist/harness/wave/finalize-wave.d.ts +1 -1
- package/dist/harness/wave/finalize-wave.js +36 -9
- package/dist/harness/wave/finalize-wave.js.map +1 -1
- package/dist/harness/wave/launch-branches.d.ts +2 -2
- package/dist/harness/wave/launch-branches.js +147 -51
- package/dist/harness/wave/launch-branches.js.map +1 -1
- package/dist/harness/wave/parse-objectives.js +4 -1
- package/dist/harness/wave/parse-objectives.js.map +1 -1
- package/dist/harness/wave.d.ts +2 -2
- package/dist/harness/wave.js +89 -28
- package/dist/harness/wave.js.map +1 -1
- package/dist/isolation/index.d.ts +4 -0
- package/dist/isolation/index.js +3 -0
- package/dist/isolation/index.js.map +1 -0
- package/dist/isolation/resolve.d.ts +39 -0
- package/dist/isolation/resolve.js +118 -0
- package/dist/isolation/resolve.js.map +1 -0
- package/dist/isolation/run-scope.d.ts +21 -0
- package/dist/isolation/run-scope.js +50 -0
- package/dist/isolation/run-scope.js.map +1 -0
- package/dist/json.js +10 -8
- package/dist/json.js.map +1 -1
- package/dist/loops/health.d.ts +4 -2
- package/dist/loops/health.js +73 -25
- package/dist/loops/health.js.map +1 -1
- package/dist/loops/list.d.ts +2 -2
- package/dist/loops/list.js +6 -6
- package/dist/loops/list.js.map +1 -1
- package/dist/loops/policy.d.ts +6 -0
- package/dist/loops/policy.js +41 -0
- package/dist/loops/policy.js.map +1 -0
- package/dist/loops/render.d.ts +2 -1
- package/dist/loops/render.js +24 -11
- package/dist/loops/render.js.map +1 -1
- package/dist/loops/show.d.ts +2 -2
- package/dist/loops/show.js +13 -13
- package/dist/loops/show.js.map +1 -1
- package/dist/loops/watch.d.ts +7 -1
- package/dist/loops/watch.js +82 -16
- package/dist/loops/watch.js.map +1 -1
- package/dist/main.js +48 -11
- package/dist/main.js.map +1 -1
- package/dist/markdown.js +11 -11
- package/dist/markdown.js.map +1 -1
- package/dist/memory-render.js +5 -5
- package/dist/memory-render.js.map +1 -1
- package/dist/memory.d.ts +1 -2
- package/dist/memory.js +44 -40
- package/dist/memory.js.map +1 -1
- package/dist/pi-adapter.js +11 -11
- package/dist/pi-adapter.js.map +1 -1
- package/dist/profiles.d.ts +12 -0
- package/dist/profiles.js +71 -0
- package/dist/profiles.js.map +1 -0
- package/dist/registry/derive.js +10 -3
- package/dist/registry/derive.js.map +1 -1
- package/dist/registry/discover.d.ts +20 -0
- package/dist/registry/discover.js +98 -0
- package/dist/registry/discover.js.map +1 -0
- package/dist/registry/harness.js +8 -2
- package/dist/registry/harness.js.map +1 -1
- package/dist/registry/index.d.ts +4 -3
- package/dist/registry/index.js +3 -2
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/read.js.map +1 -1
- package/dist/registry/rebuild.js +7 -4
- package/dist/registry/rebuild.js.map +1 -1
- package/dist/registry/types.d.ts +9 -0
- package/dist/registry/update.js +1 -1
- package/dist/registry/update.js.map +1 -1
- package/dist/tasks-render.d.ts +2 -0
- package/dist/tasks-render.js +44 -0
- package/dist/tasks-render.js.map +1 -0
- package/dist/tasks.d.ts +24 -0
- package/dist/tasks.js +184 -0
- package/dist/tasks.js.map +1 -0
- package/dist/testing/mock-backend.js +2 -2
- package/dist/testing/mock-backend.js.map +1 -1
- package/dist/topology.d.ts +6 -0
- package/dist/topology.js +129 -8
- package/dist/topology.js.map +1 -1
- package/dist/usage.d.ts +1 -0
- package/dist/usage.js +56 -11
- package/dist/usage.js.map +1 -1
- package/dist/utils.d.ts +6 -0
- package/dist/utils.js +272 -2
- package/dist/utils.js.map +1 -1
- package/dist/worktree/clean.d.ts +12 -0
- package/dist/worktree/clean.js +98 -0
- package/dist/worktree/clean.js.map +1 -0
- package/dist/worktree/create.d.ts +14 -0
- package/dist/worktree/create.js +71 -0
- package/dist/worktree/create.js.map +1 -0
- package/dist/worktree/index.d.ts +10 -0
- package/dist/worktree/index.js +6 -0
- package/dist/worktree/index.js.map +1 -0
- package/dist/worktree/list.d.ts +9 -0
- package/dist/worktree/list.js +24 -0
- package/dist/worktree/list.js.map +1 -0
- package/dist/worktree/merge.d.ts +11 -0
- package/dist/worktree/merge.js +129 -0
- package/dist/worktree/merge.js.map +1 -0
- package/dist/worktree/meta.d.ts +17 -0
- package/dist/worktree/meta.js +34 -0
- package/dist/worktree/meta.js.map +1 -0
- package/package.json +24 -4
- package/presets/autocode/README.md +1 -1
- package/presets/autocode/autoloops.toml +9 -1
- package/presets/autocode/harness.md +12 -5
- package/presets/autocode/roles/build.md +5 -4
- package/presets/autocode/roles/critic.md +2 -2
- package/presets/autocode/roles/finalizer.md +2 -2
- package/presets/autocode/roles/planner.md +7 -7
- package/presets/autodoc/README.md +1 -1
- package/presets/autodoc/autoloops.toml +1 -1
- package/presets/autodoc/harness.md +6 -6
- package/presets/autodoc/roles/auditor.md +3 -3
- package/presets/autodoc/roles/checker.md +2 -2
- package/presets/autodoc/roles/publisher.md +3 -3
- package/presets/autodoc/roles/writer.md +4 -4
- package/presets/autofix/README.md +1 -1
- package/presets/autofix/autoloops.toml +5 -2
- package/presets/autofix/harness.md +8 -7
- package/presets/autofix/roles/closer.md +4 -4
- package/presets/autofix/roles/diagnoser.md +6 -5
- package/presets/autofix/roles/fixer.md +4 -4
- package/presets/autofix/roles/verifier.md +2 -2
- package/presets/autoideas/README.md +1 -1
- package/presets/autoideas/autoloops.toml +1 -1
- package/presets/autoideas/harness.md +11 -11
- package/presets/autoideas/roles/analyst.md +4 -4
- package/presets/autoideas/roles/reviewer.md +3 -3
- package/presets/autoideas/roles/scanner.md +3 -3
- package/presets/autoideas/roles/synthesizer.md +20 -7
- package/presets/automerge/README.md +3 -0
- package/presets/automerge/autoloops.toml +12 -0
- package/presets/automerge/harness.md +10 -0
- package/presets/automerge/miniloops.toml +12 -0
- package/presets/automerge/roles/merge.md +10 -0
- package/presets/automerge/topology.toml +10 -0
- package/presets/autoperf/README.md +1 -1
- package/presets/autoperf/autoloops.toml +1 -1
- package/presets/autoperf/harness.md +5 -5
- package/presets/autoperf/roles/judge.md +3 -3
- package/presets/autoperf/roles/measurer.md +4 -4
- package/presets/autoperf/roles/optimizer.md +4 -4
- package/presets/autoperf/roles/profiler.md +4 -4
- package/presets/autopr/README.md +99 -0
- package/presets/autopr/autoloops.toml +22 -0
- package/presets/autopr/harness.md +27 -0
- package/presets/autopr/miniloops.toml +22 -0
- package/presets/autopr/roles/collector.md +55 -0
- package/presets/autopr/roles/drafter.md +38 -0
- package/presets/autopr/roles/publisher.md +28 -0
- package/presets/autopr/roles/validator.md +31 -0
- package/presets/autopr/topology.toml +32 -0
- package/presets/autoqa/README.md +1 -1
- package/presets/autoqa/autoloops.toml +1 -1
- package/presets/autoqa/harness.md +10 -10
- package/presets/autoqa/roles/executor.md +3 -3
- package/presets/autoqa/roles/inspector.md +2 -2
- package/presets/autoqa/roles/planner.md +6 -6
- package/presets/autoqa/roles/reporter.md +9 -9
- package/presets/autoresearch/README.md +1 -1
- package/presets/autoresearch/autoloops.toml +1 -1
- package/presets/autoresearch/harness.md +5 -5
- package/presets/autoresearch/roles/benchmarker.md +3 -3
- package/presets/autoresearch/roles/evaluator.md +5 -5
- package/presets/autoresearch/roles/implementer.md +4 -4
- package/presets/autoresearch/roles/strategist.md +6 -6
- package/presets/autoreview/README.md +1 -1
- package/presets/autoreview/autoloops.toml +1 -1
- package/presets/autoreview/harness.md +5 -5
- package/presets/autoreview/roles/checker.md +4 -4
- package/presets/autoreview/roles/reader.md +5 -5
- package/presets/autoreview/roles/suggester.md +4 -4
- package/presets/autoreview/roles/summarizer.md +4 -4
- package/presets/autosec/README.md +1 -1
- package/presets/autosec/autoloops.toml +1 -1
- package/presets/autosec/harness.md +5 -5
- package/presets/autosec/roles/analyst.md +4 -4
- package/presets/autosec/roles/hardener.md +2 -2
- package/presets/autosec/roles/reporter.md +4 -4
- package/presets/autosec/roles/scanner.md +3 -3
- package/presets/autosimplify/README.md +1 -1
- package/presets/autosimplify/autoloops.toml +7 -3
- package/presets/autosimplify/harness.md +7 -7
- package/presets/autosimplify/roles/reviewer.md +3 -3
- package/presets/autosimplify/roles/scoper.md +7 -7
- package/presets/autosimplify/roles/simplifier.md +4 -4
- package/presets/autosimplify/roles/verifier.md +3 -3
- package/presets/autospec/README.md +1 -1
- package/presets/autospec/autoloops.toml +1 -1
- package/presets/autospec/harness.md +6 -6
- package/presets/autospec/roles/clarifier.md +4 -3
- package/presets/autospec/roles/critic.md +1 -1
- package/presets/autospec/roles/designer.md +3 -3
- package/presets/autospec/roles/planner.md +2 -2
- package/presets/autospec/roles/researcher.md +3 -3
- package/presets/autotest/README.md +1 -1
- package/presets/autotest/autoloops.toml +1 -1
- package/presets/autotest/harness.md +6 -6
- package/presets/autotest/roles/assessor.md +3 -3
- package/presets/autotest/roles/runner.md +2 -2
- package/presets/autotest/roles/surveyor.md +4 -4
- package/presets/autotest/roles/writer.md +4 -4
package/dist/memory.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { appendFileSync, mkdirSync } from "node:fs";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import * as config from "./config.js";
|
|
4
|
-
import { jsonField, extractField } from "./json.js";
|
|
5
|
-
import { bulletList } from "./markdown.js";
|
|
6
4
|
import { readIfExists, readLines } from "./harness/journal.js";
|
|
5
|
+
import { extractField, jsonField } from "./json.js";
|
|
6
|
+
import { bulletList } from "./markdown.js";
|
|
7
7
|
import { truncateText } from "./memory-render.js";
|
|
8
8
|
export function resolveFile(projectDir) {
|
|
9
|
-
const envPath = process.env
|
|
9
|
+
const envPath = process.env.AUTOLOOP_MEMORY_FILE;
|
|
10
10
|
if (envPath)
|
|
11
11
|
return envPath;
|
|
12
12
|
const cfg = config.loadProject(projectDir);
|
|
@@ -78,7 +78,7 @@ export function remove(projectDir, id, reason) {
|
|
|
78
78
|
removeExistingEntry(path, id, reason);
|
|
79
79
|
}
|
|
80
80
|
else {
|
|
81
|
-
console.log(
|
|
81
|
+
console.log(`warning: no active entry with ID ${id} found`);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
function renderMaterialized(memory) {
|
|
@@ -95,34 +95,48 @@ function renderMaterialized(memory) {
|
|
|
95
95
|
function renderPreferences(entries) {
|
|
96
96
|
if (entries.length === 0)
|
|
97
97
|
return "";
|
|
98
|
-
const items = entries.map((e) =>
|
|
99
|
-
extractField(e, "
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
98
|
+
const items = entries.map((e) => {
|
|
99
|
+
const created = extractField(e, "created");
|
|
100
|
+
return ("[" +
|
|
101
|
+
extractField(e, "id") +
|
|
102
|
+
"] [" +
|
|
103
|
+
extractField(e, "category") +
|
|
104
|
+
"] " +
|
|
105
|
+
extractField(e, "text") +
|
|
106
|
+
(created ? ` (created: ${created})` : ""));
|
|
107
|
+
});
|
|
108
|
+
return `Preferences:\n${bulletList(items)}\n`;
|
|
105
109
|
}
|
|
106
110
|
function renderLearnings(entries) {
|
|
107
111
|
if (entries.length === 0)
|
|
108
112
|
return "";
|
|
109
113
|
const items = entries.map((e) => {
|
|
110
114
|
const source = extractField(e, "source");
|
|
111
|
-
const prefix = source ?
|
|
112
|
-
|
|
115
|
+
const prefix = source ? `(${source}) ` : "";
|
|
116
|
+
const created = extractField(e, "created");
|
|
117
|
+
return ("[" +
|
|
118
|
+
extractField(e, "id") +
|
|
119
|
+
"] " +
|
|
120
|
+
prefix +
|
|
121
|
+
extractField(e, "text") +
|
|
122
|
+
(created ? ` (created: ${created})` : ""));
|
|
113
123
|
});
|
|
114
|
-
return
|
|
124
|
+
return `Learnings:\n${bulletList(items)}\n`;
|
|
115
125
|
}
|
|
116
126
|
function renderMeta(entries) {
|
|
117
127
|
if (entries.length === 0)
|
|
118
128
|
return "";
|
|
119
|
-
const items = entries.map((e) =>
|
|
120
|
-
extractField(e, "
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
129
|
+
const items = entries.map((e) => {
|
|
130
|
+
const created = extractField(e, "created");
|
|
131
|
+
return ("[" +
|
|
132
|
+
extractField(e, "id") +
|
|
133
|
+
"] " +
|
|
134
|
+
extractField(e, "key") +
|
|
135
|
+
": " +
|
|
136
|
+
extractField(e, "value") +
|
|
137
|
+
(created ? ` (created: ${created})` : ""));
|
|
138
|
+
});
|
|
139
|
+
return `Meta:\n${bulletList(items)}\n`;
|
|
126
140
|
}
|
|
127
141
|
function memoryStats(memory, budgetChars) {
|
|
128
142
|
const renderedChars = renderMaterialized(memory).length;
|
|
@@ -130,9 +144,7 @@ function memoryStats(memory, budgetChars) {
|
|
|
130
144
|
preferences: memory.preferences.length,
|
|
131
145
|
learnings: memory.learnings.length,
|
|
132
146
|
meta: memory.meta.length,
|
|
133
|
-
totalEntries: memory.preferences.length +
|
|
134
|
-
memory.learnings.length +
|
|
135
|
-
memory.meta.length,
|
|
147
|
+
totalEntries: memory.preferences.length + memory.learnings.length + memory.meta.length,
|
|
136
148
|
renderedChars,
|
|
137
149
|
budgetChars,
|
|
138
150
|
truncated: budgetChars > 0 && renderedChars > budgetChars,
|
|
@@ -179,11 +191,7 @@ function projectBudgetChars(projectDir) {
|
|
|
179
191
|
return config.getInt(cfg, "memory.prompt_budget_chars", 8000);
|
|
180
192
|
}
|
|
181
193
|
function findEntries(memory, pattern) {
|
|
182
|
-
const all = [
|
|
183
|
-
...memory.preferences,
|
|
184
|
-
...memory.learnings,
|
|
185
|
-
...memory.meta,
|
|
186
|
-
];
|
|
194
|
+
const all = [...memory.preferences, ...memory.learnings, ...memory.meta];
|
|
187
195
|
return all.filter((entry) => entryMatches(entry, pattern));
|
|
188
196
|
}
|
|
189
197
|
function entryMatches(entry, pattern) {
|
|
@@ -202,7 +210,7 @@ function searchText(entry) {
|
|
|
202
210
|
}
|
|
203
211
|
function renderMatches(entries, pattern) {
|
|
204
212
|
if (entries.length === 0) {
|
|
205
|
-
return
|
|
213
|
+
return `No active memory entries matching \`${pattern}\`.`;
|
|
206
214
|
}
|
|
207
215
|
return entries.map(renderMatch).join("\n");
|
|
208
216
|
}
|
|
@@ -218,8 +226,8 @@ function renderMatch(entry) {
|
|
|
218
226
|
}
|
|
219
227
|
if (type === "learning") {
|
|
220
228
|
const source = extractField(entry, "source");
|
|
221
|
-
const prefix = source ?
|
|
222
|
-
return id
|
|
229
|
+
const prefix = source ? `(${source}) ` : "";
|
|
230
|
+
return `${id}: learning ${prefix}${extractField(entry, "text")}`;
|
|
223
231
|
}
|
|
224
232
|
if (type === "meta") {
|
|
225
233
|
return (id +
|
|
@@ -228,14 +236,10 @@ function renderMatch(entry) {
|
|
|
228
236
|
": " +
|
|
229
237
|
extractField(entry, "value"));
|
|
230
238
|
}
|
|
231
|
-
return id
|
|
239
|
+
return `${id}: ${extractField(entry, "text")}`;
|
|
232
240
|
}
|
|
233
241
|
function activeEntryExists(memory, id) {
|
|
234
|
-
const all = [
|
|
235
|
-
...memory.preferences,
|
|
236
|
-
...memory.learnings,
|
|
237
|
-
...memory.meta,
|
|
238
|
-
];
|
|
242
|
+
const all = [...memory.preferences, ...memory.learnings, ...memory.meta];
|
|
239
243
|
return all.some((entry) => extractField(entry, "id") === id);
|
|
240
244
|
}
|
|
241
245
|
function materialize(lines) {
|
|
@@ -286,11 +290,11 @@ function appendMemoryEntry(path, content) {
|
|
|
286
290
|
}
|
|
287
291
|
function nextId(path, prefix) {
|
|
288
292
|
const count = readLines(path).length;
|
|
289
|
-
return prefix
|
|
293
|
+
return `${prefix}-${count + 1}`;
|
|
290
294
|
}
|
|
291
295
|
function removeExistingEntry(path, id, reason) {
|
|
292
296
|
appendMemoryEntry(path, memoryLine(nextId(path, "ts"), "tombstone", tombstoneFields(id, reason)));
|
|
293
|
-
console.log(
|
|
297
|
+
console.log(`removed ${id}`);
|
|
294
298
|
}
|
|
295
299
|
function currentTime() {
|
|
296
300
|
return new Date().toISOString().replace(/\.\d{3}Z$/, "Z");
|
package/dist/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
|
package/dist/pi-adapter.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
1
|
import { execSync } from "node:child_process";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { shellWords } from "./utils.js";
|
|
4
4
|
const BRIDGE_SCRIPT = `
|
|
5
5
|
import json
|
|
@@ -33,11 +33,11 @@ def extract_tool_error(response):
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
def stream_log_path():
|
|
36
|
-
state_dir = os.environ.get("
|
|
36
|
+
state_dir = os.environ.get("AUTOLOOP_STATE_DIR", "")
|
|
37
37
|
if not state_dir:
|
|
38
38
|
return None
|
|
39
|
-
prefix = "pi-review" if os.environ.get("
|
|
40
|
-
iteration = os.environ.get("
|
|
39
|
+
prefix = "pi-review" if os.environ.get("AUTOLOOP_REVIEW_MODE", "") == "hyperagent" else "pi-stream"
|
|
40
|
+
iteration = os.environ.get("AUTOLOOP_ITERATION", "")
|
|
41
41
|
name = prefix + (("." + iteration) if iteration else "") + ".jsonl"
|
|
42
42
|
return pathlib.Path(state_dir) / name
|
|
43
43
|
|
|
@@ -106,7 +106,7 @@ if not text:
|
|
|
106
106
|
text = fallback_text
|
|
107
107
|
|
|
108
108
|
failed = exit_code != 0 or (not saw_turn_end and not saw_agent_end) or bool(error)
|
|
109
|
-
verbose = os.environ.get("
|
|
109
|
+
verbose = os.environ.get("AUTOLOOP_LOG_LEVEL", "") == "debug"
|
|
110
110
|
output = ""
|
|
111
111
|
|
|
112
112
|
if failed:
|
|
@@ -157,7 +157,7 @@ export function run(args) {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
function resolvePrompt() {
|
|
160
|
-
const envPrompt = process.env
|
|
160
|
+
const envPrompt = process.env.AUTOLOOP_PROMPT;
|
|
161
161
|
if (envPrompt)
|
|
162
162
|
return envPrompt;
|
|
163
163
|
const pathPrompt = promptFromPath();
|
|
@@ -166,8 +166,8 @@ function resolvePrompt() {
|
|
|
166
166
|
return projectedPrompt();
|
|
167
167
|
}
|
|
168
168
|
function projectedPrompt() {
|
|
169
|
-
const bin = process.env
|
|
170
|
-
const iteration = process.env
|
|
169
|
+
const bin = process.env.AUTOLOOP_BIN || "";
|
|
170
|
+
const iteration = process.env.AUTOLOOP_ITERATION || "";
|
|
171
171
|
if (!bin || !iteration)
|
|
172
172
|
return "";
|
|
173
173
|
try {
|
|
@@ -179,7 +179,7 @@ function projectedPrompt() {
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
function promptFromPath() {
|
|
182
|
-
const path = process.env
|
|
182
|
+
const path = process.env.AUTOLOOP_PROMPT_PATH || "";
|
|
183
183
|
if (!path || !existsSync(path))
|
|
184
184
|
return "";
|
|
185
185
|
return readFileSync(path, "utf-8");
|
|
@@ -201,8 +201,8 @@ function materializePromptPath(prompt) {
|
|
|
201
201
|
return path;
|
|
202
202
|
}
|
|
203
203
|
function promptStoragePath() {
|
|
204
|
-
const configured = process.env
|
|
205
|
-
return configured || "/tmp/
|
|
204
|
+
const configured = process.env.AUTOLOOP_PROMPT_PATH || "";
|
|
205
|
+
return configured || "/tmp/autoloop-pi-adapter-prompt.md";
|
|
206
206
|
}
|
|
207
207
|
function defaultPiArgs() {
|
|
208
208
|
return ["-p", "--mode", "json", "--no-session"];
|
package/dist/pi-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-adapter.js","sourceRoot":"","sources":["../src/pi-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pi-adapter.js","sourceRoot":"","sources":["../src/pi-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Role } from "./topology.js";
|
|
2
|
+
export interface ProfileSpec {
|
|
3
|
+
scope: "repo" | "user";
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function parseProfileSpec(spec: string): ProfileSpec;
|
|
7
|
+
export declare function resolveProfileDir(spec: ProfileSpec, workDir: string): string;
|
|
8
|
+
export declare function resolveProfileFragments(profileSpecs: string[], presetName: string, roles: Role[], workDir: string): {
|
|
9
|
+
fragments: Map<string, string>;
|
|
10
|
+
warnings: string[];
|
|
11
|
+
};
|
|
12
|
+
export declare function applyProfileFragments(roles: Role[], fragments: Map<string, string>): Role[];
|
package/dist/profiles.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
export function parseProfileSpec(spec) {
|
|
5
|
+
const colonIdx = spec.indexOf(":");
|
|
6
|
+
if (colonIdx < 0) {
|
|
7
|
+
throw new Error(`invalid profile spec "${spec}": must be "repo:<name>" or "user:<name>"`);
|
|
8
|
+
}
|
|
9
|
+
const scope = spec.slice(0, colonIdx);
|
|
10
|
+
const name = spec.slice(colonIdx + 1);
|
|
11
|
+
if (scope !== "repo" && scope !== "user") {
|
|
12
|
+
throw new Error(`invalid profile scope "${scope}" in "${spec}": must be "repo" or "user"`);
|
|
13
|
+
}
|
|
14
|
+
if (!name) {
|
|
15
|
+
throw new Error(`invalid profile spec "${spec}": name cannot be empty`);
|
|
16
|
+
}
|
|
17
|
+
return { scope, name };
|
|
18
|
+
}
|
|
19
|
+
export function resolveProfileDir(spec, workDir) {
|
|
20
|
+
if (spec.scope === "repo") {
|
|
21
|
+
return join(workDir, ".autoloop", "profiles", spec.name);
|
|
22
|
+
}
|
|
23
|
+
return join(homedir(), ".config", "autoloops", "profiles", spec.name);
|
|
24
|
+
}
|
|
25
|
+
export function resolveProfileFragments(profileSpecs, presetName, roles, workDir) {
|
|
26
|
+
const fragments = new Map();
|
|
27
|
+
const warnings = [];
|
|
28
|
+
const roleIds = new Set(roles.map((r) => r.id));
|
|
29
|
+
for (const spec of profileSpecs) {
|
|
30
|
+
const parsed = parseProfileSpec(spec);
|
|
31
|
+
const profileDir = resolveProfileDir(parsed, workDir);
|
|
32
|
+
if (!existsSync(profileDir)) {
|
|
33
|
+
throw new Error(`profile "${spec}" not found: ${profileDir} does not exist`);
|
|
34
|
+
}
|
|
35
|
+
const presetDir = join(profileDir, presetName);
|
|
36
|
+
if (!existsSync(presetDir)) {
|
|
37
|
+
warnings.push(`profile "${spec}" has no fragments for preset "${presetName}"`);
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
let contributed = false;
|
|
41
|
+
const entries = readdirSync(presetDir)
|
|
42
|
+
.filter((f) => f.endsWith(".md"))
|
|
43
|
+
.sort();
|
|
44
|
+
for (const entry of entries) {
|
|
45
|
+
const roleId = entry.replace(/\.md$/, "");
|
|
46
|
+
if (!roleIds.has(roleId)) {
|
|
47
|
+
warnings.push(`profile "${spec}" has fragment for unknown role "${roleId}" in preset "${presetName}"`);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const content = readFileSync(join(presetDir, entry), "utf-8");
|
|
51
|
+
const existing = fragments.get(roleId) ?? "";
|
|
52
|
+
fragments.set(roleId, `${existing}\n${content}`);
|
|
53
|
+
contributed = true;
|
|
54
|
+
}
|
|
55
|
+
if (!contributed) {
|
|
56
|
+
warnings.push(`profile "${spec}" contributed no fragments for preset "${presetName}"`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return { fragments, warnings };
|
|
60
|
+
}
|
|
61
|
+
export function applyProfileFragments(roles, fragments) {
|
|
62
|
+
if (fragments.size === 0)
|
|
63
|
+
return roles;
|
|
64
|
+
return roles.map((role) => {
|
|
65
|
+
const fragment = fragments.get(role.id);
|
|
66
|
+
if (!fragment)
|
|
67
|
+
return role;
|
|
68
|
+
return { ...role, prompt: role.prompt + fragment };
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/derive.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { decodeEvent } from "../events/decode.js";
|
|
2
1
|
import { normalizeBackendLabel } from "../backend/index.js";
|
|
2
|
+
import { decodeEvent } from "../events/decode.js";
|
|
3
|
+
import { splitCsv } from "../utils.js";
|
|
3
4
|
/**
|
|
4
5
|
* Derive run records from raw journal lines.
|
|
5
6
|
* Each `loop.start` creates a new record; subsequent events update it.
|
|
@@ -29,11 +30,16 @@ export function deriveRunRecords(lines) {
|
|
|
29
30
|
journal_file: "",
|
|
30
31
|
parent_run_id: f.parent_run_id ?? "",
|
|
31
32
|
backend: normalizeBackendLabel(f.backend ?? ""),
|
|
33
|
+
backend_args: f.backend_args ? splitCsv(f.backend_args) : [],
|
|
32
34
|
created_at: f.created_at ?? "",
|
|
33
35
|
updated_at: f.created_at ?? "",
|
|
34
36
|
iteration: 0,
|
|
37
|
+
max_iterations: Number(f.max_iterations) || 0,
|
|
35
38
|
stop_reason: "",
|
|
36
39
|
latest_event: topic,
|
|
40
|
+
isolation_mode: f.isolation_mode ?? "shared",
|
|
41
|
+
worktree_name: f.worktree_name ?? "",
|
|
42
|
+
worktree_path: f.worktree_path ?? "",
|
|
37
43
|
});
|
|
38
44
|
continue;
|
|
39
45
|
}
|
|
@@ -41,7 +47,9 @@ export function deriveRunRecords(lines) {
|
|
|
41
47
|
if (!record)
|
|
42
48
|
continue;
|
|
43
49
|
if (topic === "iteration.finish") {
|
|
44
|
-
const iter = event.iteration
|
|
50
|
+
const iter = event.iteration
|
|
51
|
+
? parseInt(event.iteration, 10)
|
|
52
|
+
: record.iteration;
|
|
45
53
|
record.iteration = Number.isNaN(iter) ? record.iteration : iter;
|
|
46
54
|
record.updated_at = record.created_at;
|
|
47
55
|
record.latest_event = topic;
|
|
@@ -59,7 +67,6 @@ export function deriveRunRecords(lines) {
|
|
|
59
67
|
record.stop_reason = fieldValue(event, "reason");
|
|
60
68
|
record.updated_at = record.created_at;
|
|
61
69
|
record.latest_event = topic;
|
|
62
|
-
continue;
|
|
63
70
|
}
|
|
64
71
|
}
|
|
65
72
|
return Array.from(runs.values());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/registry/derive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/registry/derive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { RunRecord } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Discover chain and worktree registry files under the given state directory.
|
|
4
|
+
* Walks chains/{id}/step-{n}/.autoloop/ for registry.jsonl files,
|
|
5
|
+
* including worktree-isolated registries nested further below.
|
|
6
|
+
*/
|
|
7
|
+
export declare function discoverChainRegistries(stateDir: string): string[];
|
|
8
|
+
/**
|
|
9
|
+
* Read the root registry plus all discovered chain/worktree registries,
|
|
10
|
+
* returning a deduplicated merged view.
|
|
11
|
+
*/
|
|
12
|
+
export declare function readMergedRegistry(stateDir: string): RunRecord[];
|
|
13
|
+
/** Active runs from the merged registry view. */
|
|
14
|
+
export declare function mergedActiveRuns(stateDir: string): RunRecord[];
|
|
15
|
+
/** Recent runs from the merged registry view, sorted by updated_at desc. */
|
|
16
|
+
export declare function mergedRecentRuns(stateDir: string, limit: number): RunRecord[];
|
|
17
|
+
/**
|
|
18
|
+
* Find a run by exact or prefix match across the merged registry.
|
|
19
|
+
*/
|
|
20
|
+
export declare function mergedFindRunByPrefix(stateDir: string, partial: string): RunRecord | RunRecord[] | undefined;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { readRegistry } from "./read.js";
|
|
4
|
+
function listDirs(dir) {
|
|
5
|
+
if (!existsSync(dir))
|
|
6
|
+
return [];
|
|
7
|
+
try {
|
|
8
|
+
return readdirSync(dir, { withFileTypes: true })
|
|
9
|
+
.filter((d) => d.isDirectory())
|
|
10
|
+
.map((d) => join(dir, d.name));
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Discover chain and worktree registry files under the given state directory.
|
|
18
|
+
* Walks chains/{id}/step-{n}/.autoloop/ for registry.jsonl files,
|
|
19
|
+
* including worktree-isolated registries nested further below.
|
|
20
|
+
*/
|
|
21
|
+
export function discoverChainRegistries(stateDir) {
|
|
22
|
+
const results = [];
|
|
23
|
+
const chainsDir = join(stateDir, "chains");
|
|
24
|
+
for (const chainDir of listDirs(chainsDir)) {
|
|
25
|
+
for (const stepDir of listDirs(chainDir)) {
|
|
26
|
+
if (!stepDir.includes("step-"))
|
|
27
|
+
continue;
|
|
28
|
+
const stepState = join(stepDir, ".autoloop");
|
|
29
|
+
// Direct chain step registry
|
|
30
|
+
const regPath = join(stepState, "registry.jsonl");
|
|
31
|
+
if (existsSync(regPath))
|
|
32
|
+
results.push(regPath);
|
|
33
|
+
// Worktree-isolated registries under this step
|
|
34
|
+
const wtDir = join(stepState, "worktrees");
|
|
35
|
+
for (const wtRunDir of listDirs(wtDir)) {
|
|
36
|
+
const wtReg = join(wtRunDir, "tree", ".autoloop", "registry.jsonl");
|
|
37
|
+
if (existsSync(wtReg))
|
|
38
|
+
results.push(wtReg);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return results;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Merge records from multiple registries, deduplicating by run_id.
|
|
46
|
+
* The record with the most recent updated_at wins.
|
|
47
|
+
*/
|
|
48
|
+
function mergeRecords(recordSets) {
|
|
49
|
+
const map = new Map();
|
|
50
|
+
for (const records of recordSets) {
|
|
51
|
+
for (const r of records) {
|
|
52
|
+
const existing = map.get(r.run_id);
|
|
53
|
+
if (!existing || r.updated_at > existing.updated_at) {
|
|
54
|
+
map.set(r.run_id, r);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return Array.from(map.values());
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Read the root registry plus all discovered chain/worktree registries,
|
|
62
|
+
* returning a deduplicated merged view.
|
|
63
|
+
*/
|
|
64
|
+
export function readMergedRegistry(stateDir) {
|
|
65
|
+
const rootPath = join(stateDir, "registry.jsonl");
|
|
66
|
+
const childPaths = discoverChainRegistries(stateDir);
|
|
67
|
+
const recordSets = [readRegistry(rootPath)];
|
|
68
|
+
for (const p of childPaths) {
|
|
69
|
+
recordSets.push(readRegistry(p));
|
|
70
|
+
}
|
|
71
|
+
return mergeRecords(recordSets);
|
|
72
|
+
}
|
|
73
|
+
/** Active runs from the merged registry view. */
|
|
74
|
+
export function mergedActiveRuns(stateDir) {
|
|
75
|
+
return readMergedRegistry(stateDir).filter((r) => r.status === "running");
|
|
76
|
+
}
|
|
77
|
+
/** Recent runs from the merged registry view, sorted by updated_at desc. */
|
|
78
|
+
export function mergedRecentRuns(stateDir, limit) {
|
|
79
|
+
const all = readMergedRegistry(stateDir);
|
|
80
|
+
all.sort((a, b) => b.updated_at.localeCompare(a.updated_at));
|
|
81
|
+
return all.slice(0, limit);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Find a run by exact or prefix match across the merged registry.
|
|
85
|
+
*/
|
|
86
|
+
export function mergedFindRunByPrefix(stateDir, partial) {
|
|
87
|
+
const all = readMergedRegistry(stateDir);
|
|
88
|
+
const exact = all.find((r) => r.run_id === partial);
|
|
89
|
+
if (exact)
|
|
90
|
+
return exact;
|
|
91
|
+
const matches = all.filter((r) => r.run_id.startsWith(partial));
|
|
92
|
+
if (matches.length === 1)
|
|
93
|
+
return matches[0];
|
|
94
|
+
if (matches.length > 1)
|
|
95
|
+
return matches;
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=discover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/registry/discover.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/harness.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { normalizeBackendLabel } from "../backend/index.js";
|
|
2
|
-
import { appendRegistryEntry } from "./update.js";
|
|
3
|
-
import { getRun } from "./read.js";
|
|
4
2
|
import { stopReasonToStatus } from "./derive.js";
|
|
3
|
+
import { getRun } from "./read.js";
|
|
4
|
+
import { appendRegistryEntry } from "./update.js";
|
|
5
5
|
function registryPath(loop) {
|
|
6
6
|
return loop.paths.registryFile;
|
|
7
7
|
}
|
|
@@ -18,11 +18,17 @@ function baseRecord(loop) {
|
|
|
18
18
|
journal_file: loop.paths.journalFile,
|
|
19
19
|
parent_run_id: loop.launch.parentRunId,
|
|
20
20
|
backend: normalizeBackendLabel(loop.backend.command),
|
|
21
|
+
backend_args: loop.backend.args,
|
|
21
22
|
created_at: loop.launch.createdAt,
|
|
22
23
|
updated_at: new Date().toISOString(),
|
|
23
24
|
iteration: 0,
|
|
25
|
+
max_iterations: loop.limits.maxIterations,
|
|
24
26
|
stop_reason: "",
|
|
25
27
|
latest_event: "loop.start",
|
|
28
|
+
isolation_mode: loop.runtime.isolationMode ?? "shared",
|
|
29
|
+
worktree_name: loop.paths.worktreeBranch || "",
|
|
30
|
+
worktree_path: loop.paths.worktreePath || "",
|
|
31
|
+
pid: process.pid,
|
|
26
32
|
};
|
|
27
33
|
}
|
|
28
34
|
export function registryStart(loop) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/registry/harness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/registry/harness.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export type { RegistryStatus, RunRecord } from "./types.js";
|
|
2
1
|
export { deriveRunRecords, stopReasonToStatus } from "./derive.js";
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
2
|
+
export { discoverChainRegistries, mergedActiveRuns, mergedFindRunByPrefix, mergedRecentRuns, readMergedRegistry, } from "./discover.js";
|
|
3
|
+
export { activeRuns, findRunByPrefix, getRun, readRegistry, recentRuns, } from "./read.js";
|
|
5
4
|
export { rebuildRegistry } from "./rebuild.js";
|
|
5
|
+
export type { RegistryStatus, RunRecord } from "./types.js";
|
|
6
|
+
export { appendRegistryEntry } from "./update.js";
|