pi-harness-runtime 0.9.14 → 0.9.16
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/harness/auto-quota-resume.ts +129 -0
- package/harness/e2e/minimax-quota-scraper.ts +10 -4
- package/harness/index.ts +8 -0
- package/harness/loop-runtime.ts +57 -0
- package/index.ts +47 -11
- package/mirror.ts +40 -18
- package/package.json +1 -1
- package/packages/a2a-adapter/package.json +1 -1
- package/packages/auth/package.json +1 -1
- package/packages/autonomous-refactor/package.json +1 -1
- package/packages/autonomous-runtime/README.md +48 -0
- package/packages/autonomous-runtime/dist/inbox.d.ts +75 -0
- package/packages/autonomous-runtime/dist/inbox.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/inbox.js +212 -0
- package/packages/autonomous-runtime/dist/inbox.js.map +1 -0
- package/packages/autonomous-runtime/dist/index.d.ts +17 -0
- package/packages/autonomous-runtime/dist/index.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/index.js +17 -0
- package/packages/autonomous-runtime/dist/index.js.map +1 -0
- package/packages/autonomous-runtime/dist/lease.d.ts +78 -0
- package/packages/autonomous-runtime/dist/lease.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/lease.js +273 -0
- package/packages/autonomous-runtime/dist/lease.js.map +1 -0
- package/packages/autonomous-runtime/dist/types.d.ts +160 -0
- package/packages/autonomous-runtime/dist/types.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/types.js +31 -0
- package/packages/autonomous-runtime/dist/types.js.map +1 -0
- package/packages/autonomous-runtime/dist/worker.d.ts +63 -0
- package/packages/autonomous-runtime/dist/worker.d.ts.map +1 -0
- package/packages/autonomous-runtime/dist/worker.js +133 -0
- package/packages/autonomous-runtime/dist/worker.js.map +1 -0
- package/packages/autonomous-runtime/package.json +34 -0
- package/packages/autonomous-runtime/src/inbox.ts +266 -0
- package/packages/autonomous-runtime/src/index.ts +22 -0
- package/packages/autonomous-runtime/src/lease.ts +318 -0
- package/packages/autonomous-runtime/src/types.ts +257 -0
- package/packages/autonomous-runtime/test/autonomous-runtime.test.ts +194 -0
- package/packages/autonomous-runtime/test/inbox.test.mjs +266 -0
- package/packages/autonomous-runtime/test/inbox.test.ts +80 -0
- package/packages/autonomous-runtime/test/types.test.ts +68 -0
- package/packages/autonomous-runtime/tsconfig.json +22 -0
- package/packages/autonomous-runtime/tsconfig.tsbuildinfo +1 -0
- package/packages/cache-strategy/package.json +1 -1
- package/packages/capability-registry/package.json +1 -1
- package/packages/checkpoint/package.json +1 -1
- package/packages/cli-plugin-sdk/package.json +1 -1
- package/packages/code-generation/package.json +1 -1
- package/packages/code-review/package.json +1 -1
- package/packages/codex-adapter/package.json +1 -1
- package/packages/context-compiler/package.json +1 -1
- package/packages/context-manager/package.json +1 -1
- package/packages/cookie-sanitizer/package.json +1 -1
- package/packages/cost-optimizer/package.json +1 -1
- package/packages/django-plugin/package.json +1 -1
- package/packages/doc-generator/package.json +1 -1
- package/packages/evaluation-engine/package.json +1 -1
- package/packages/evaluation-runner/package.json +1 -1
- package/packages/experience-replay/package.json +1 -1
- package/packages/feedback-collector/package.json +1 -1
- package/packages/framework-detector/package.json +1 -1
- package/packages/framework-plugin-sdk/package.json +1 -1
- package/packages/frappe-plugin/package.json +1 -1
- package/packages/generic-web-plugin/package.json +1 -1
- package/packages/health-monitor/package.json +1 -1
- package/packages/laravel-plugin/package.json +1 -1
- package/packages/learning-engine/package.json +1 -1
- package/packages/mcp-adapter/package.json +1 -1
- package/packages/memory-engine/package.json +1 -1
- package/packages/model-registry/package.json +1 -1
- package/packages/nextjs-plugin/package.json +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/observability/package.json +1 -1
- package/packages/performance-optimizer/package.json +1 -1
- package/packages/privilege-broker/README.md +45 -0
- package/packages/privilege-broker/config/privileges.yaml.example +172 -0
- package/packages/privilege-broker/dist/approval.d.ts +23 -0
- package/packages/privilege-broker/dist/approval.d.ts.map +1 -0
- package/packages/privilege-broker/dist/approval.js +45 -0
- package/packages/privilege-broker/dist/approval.js.map +1 -0
- package/packages/privilege-broker/dist/audit.d.ts +38 -0
- package/packages/privilege-broker/dist/audit.d.ts.map +1 -0
- package/packages/privilege-broker/dist/audit.js +125 -0
- package/packages/privilege-broker/dist/audit.js.map +1 -0
- package/packages/privilege-broker/dist/executor.d.ts +25 -0
- package/packages/privilege-broker/dist/executor.d.ts.map +1 -0
- package/packages/privilege-broker/dist/executor.js +83 -0
- package/packages/privilege-broker/dist/executor.js.map +1 -0
- package/packages/privilege-broker/dist/index.d.ts +30 -0
- package/packages/privilege-broker/dist/index.d.ts.map +1 -0
- package/packages/privilege-broker/dist/index.js +5 -0
- package/packages/privilege-broker/dist/index.js.map +1 -0
- package/packages/privilege-broker/dist/registry.d.ts +15 -0
- package/packages/privilege-broker/dist/registry.d.ts.map +1 -0
- package/packages/privilege-broker/dist/registry.js +76 -0
- package/packages/privilege-broker/dist/registry.js.map +1 -0
- package/packages/privilege-broker/dist/types.d.ts +77 -0
- package/packages/privilege-broker/dist/types.d.ts.map +1 -0
- package/packages/privilege-broker/dist/types.js +11 -0
- package/packages/privilege-broker/dist/types.js.map +1 -0
- package/packages/privilege-broker/package.json +35 -0
- package/packages/privilege-broker/src/approval.ts +70 -0
- package/packages/privilege-broker/src/audit.ts +142 -0
- package/packages/privilege-broker/src/executor.ts +110 -0
- package/packages/privilege-broker/src/index.ts +46 -0
- package/packages/privilege-broker/src/registry.ts +98 -0
- package/packages/privilege-broker/src/types.ts +105 -0
- package/packages/privilege-broker/tsconfig.json +22 -0
- package/packages/privilege-broker/tsconfig.tsbuildinfo +1 -0
- package/packages/project-analyzer/package.json +1 -1
- package/packages/prompt-compiler/package.json +1 -1
- package/packages/prompt-versioning/package.json +1 -1
- package/packages/provider-adapter-sdk/package.json +1 -1
- package/packages/provider-router/package.json +1 -1
- package/packages/provider-selector/package.json +1 -1
- package/packages/providers/dist/provider-id.d.ts +2 -0
- package/packages/providers/dist/provider-id.d.ts.map +1 -1
- package/packages/providers/dist/provider-id.js +9 -0
- package/packages/providers/dist/provider-id.js.map +1 -1
- package/packages/providers/package.json +1 -1
- package/packages/providers/src/provider-id.ts +12 -0
- package/packages/quota-manager/package.json +1 -1
- package/packages/rate-limiter/package.json +1 -1
- package/packages/react-vite-plugin/package.json +1 -1
- package/packages/release-manager/package.json +1 -1
- package/packages/requirement-compiler/package.json +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/scheduler/package.json +1 -1
- package/packages/scheduler-adapter/README.md +36 -0
- package/packages/scheduler-adapter/dist/cron.d.ts +21 -0
- package/packages/scheduler-adapter/dist/cron.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/cron.js +116 -0
- package/packages/scheduler-adapter/dist/cron.js.map +1 -0
- package/packages/scheduler-adapter/dist/index.d.ts +9 -0
- package/packages/scheduler-adapter/dist/index.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/index.js +8 -0
- package/packages/scheduler-adapter/dist/index.js.map +1 -0
- package/packages/scheduler-adapter/dist/interface.d.ts +61 -0
- package/packages/scheduler-adapter/dist/interface.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/interface.js +2 -0
- package/packages/scheduler-adapter/dist/interface.js.map +1 -0
- package/packages/scheduler-adapter/dist/internal.d.ts +30 -0
- package/packages/scheduler-adapter/dist/internal.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/internal.js +82 -0
- package/packages/scheduler-adapter/dist/internal.js.map +1 -0
- package/packages/scheduler-adapter/dist/systemd.d.ts +31 -0
- package/packages/scheduler-adapter/dist/systemd.d.ts.map +1 -0
- package/packages/scheduler-adapter/dist/systemd.js +203 -0
- package/packages/scheduler-adapter/dist/systemd.js.map +1 -0
- package/packages/scheduler-adapter/package.json +32 -0
- package/packages/scheduler-adapter/src/cron.ts +123 -0
- package/packages/scheduler-adapter/src/index.ts +9 -0
- package/packages/scheduler-adapter/src/interface.ts +61 -0
- package/packages/scheduler-adapter/src/internal.ts +99 -0
- package/packages/scheduler-adapter/src/systemd.ts +221 -0
- package/packages/scheduler-adapter/tsconfig.json +22 -0
- package/packages/scheduler-adapter/tsconfig.tsbuildinfo +1 -0
- package/packages/session/package.json +1 -1
- package/packages/shared-context/package.json +1 -1
- package/packages/skill-registry/package.json +1 -1
- package/packages/sprint-planner/package.json +1 -1
- package/packages/task-compiler/package.json +1 -1
- package/packages/test-data-generator/package.json +1 -1
- package/packages/test-generator/package.json +1 -1
- package/packages/token-estimation/package.json +1 -1
- package/packages/token-optimizer/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/types/dist/runtime-types.d.ts +6 -0
- package/packages/types/dist/runtime-types.d.ts.map +1 -1
- package/packages/types/dist/runtime-types.js +2 -1
- package/packages/types/dist/runtime-types.js.map +1 -1
- package/packages/types/package.json +1 -1
- package/packages/types/src/ai-providers.ts +73 -0
- package/packages/types/src/runtime-types.ts +15 -0
- package/packages/types/tsconfig.tsbuildinfo +1 -1
- package/packages/worktree/package.json +1 -1
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autonomous Runtime — tests for Phase 1 (RFC-0101 §1-4)
|
|
3
|
+
* Plain JS (bun native test globals)
|
|
4
|
+
*/
|
|
5
|
+
import { mkdirSync, rmSync, readFileSync } from "node:fs";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
import { tmpdir } from "node:os";
|
|
8
|
+
import { TaskInbox } from "../src/index.js";
|
|
9
|
+
import { LeaseManager } from "../src/index.js";
|
|
10
|
+
|
|
11
|
+
let testDir;
|
|
12
|
+
|
|
13
|
+
function makeTask(overrides = {}) {
|
|
14
|
+
const id = `task-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
|
|
15
|
+
const now = new Date().toISOString();
|
|
16
|
+
return {
|
|
17
|
+
id,
|
|
18
|
+
objective: `Test task ${id}`,
|
|
19
|
+
acceptanceCriteria: ["criterion 1"],
|
|
20
|
+
source: { kind: "manual", createdBy: "test" },
|
|
21
|
+
priority: 2,
|
|
22
|
+
capabilities: ["llm.invoke"],
|
|
23
|
+
approvalClass: "automatic_read_only",
|
|
24
|
+
status: "queued",
|
|
25
|
+
attempts: 0,
|
|
26
|
+
maxAttempts: 3,
|
|
27
|
+
createdAt: now,
|
|
28
|
+
updatedAt: now,
|
|
29
|
+
history: [],
|
|
30
|
+
...overrides,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
beforeEach(() => {
|
|
35
|
+
testDir = join(
|
|
36
|
+
tmpdir(),
|
|
37
|
+
`pi-harness-test-${Date.now()}-${Math.random().toString(36).slice(2)}`,
|
|
38
|
+
);
|
|
39
|
+
mkdirSync(testDir, { recursive: true });
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
afterEach(() => {
|
|
43
|
+
try {
|
|
44
|
+
rmSync(testDir, { recursive: true, force: true });
|
|
45
|
+
} catch {
|
|
46
|
+
/* ignore */
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
const tasksPath = () => join(testDir, "tasks.jsonl");
|
|
51
|
+
const leasesDir = () => join(testDir, "claimed");
|
|
52
|
+
|
|
53
|
+
// ─── TaskInbox ────────────────────────────────────────────────────────────────
|
|
54
|
+
|
|
55
|
+
describe("TaskInbox", () => {
|
|
56
|
+
it("append writes one JSONL line", () => {
|
|
57
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
58
|
+
inbox.append(makeTask());
|
|
59
|
+
const content = readFileSync(tasksPath(), "utf8");
|
|
60
|
+
const lines = content.trim().split("\n").filter(Boolean);
|
|
61
|
+
expect(lines).toHaveLength(1);
|
|
62
|
+
expect(() => JSON.parse(lines[0])).not.toThrow();
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it("append rejects duplicate ids", () => {
|
|
66
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
67
|
+
const task = makeTask();
|
|
68
|
+
inbox.append(task);
|
|
69
|
+
expect(() => inbox.append(task)).toThrow();
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it("list returns tasks sorted by priority then createdAt", () => {
|
|
73
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
74
|
+
inbox.append(makeTask({ id: "a", priority: 1 }));
|
|
75
|
+
inbox.append(makeTask({ id: "b", priority: 2 }));
|
|
76
|
+
inbox.append(
|
|
77
|
+
makeTask({
|
|
78
|
+
id: "c",
|
|
79
|
+
priority: 1,
|
|
80
|
+
createdAt: new Date(Date.now() + 1000).toISOString(),
|
|
81
|
+
}),
|
|
82
|
+
);
|
|
83
|
+
expect(inbox.list().map((t) => t.id)).toEqual(["a", "c", "b"]);
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it("list filters by status", () => {
|
|
87
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
88
|
+
inbox.append(makeTask({ id: "queued-1", status: "queued" }));
|
|
89
|
+
inbox.append(makeTask({ id: "running-1", status: "running" }));
|
|
90
|
+
inbox.append(makeTask({ id: "completed-1", status: "completed" }));
|
|
91
|
+
expect(inbox.list({ status: "queued" }).map((t) => t.id)).toEqual([
|
|
92
|
+
"queued-1",
|
|
93
|
+
]);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it("get returns a task by id", () => {
|
|
97
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
98
|
+
const task = makeTask({ id: "find-me" });
|
|
99
|
+
inbox.append(task);
|
|
100
|
+
expect(inbox.get("find-me")?.id).toBe("find-me");
|
|
101
|
+
expect(inbox.get("not-found")).toBeNull();
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
it("transition updates status and appends history", () => {
|
|
105
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
106
|
+
const task = makeTask();
|
|
107
|
+
inbox.append(task);
|
|
108
|
+
const updated = inbox.transition(task.id, "running");
|
|
109
|
+
expect(updated.status).toBe("running");
|
|
110
|
+
expect(updated.history).toHaveLength(1);
|
|
111
|
+
expect(updated.history[0].kind).toBe("transitioned");
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
it("transition throws for unknown tasks", () => {
|
|
115
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
116
|
+
expect(() => inbox.transition("does-not-exist", "running")).toThrow();
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
it("complete marks status and sets result", () => {
|
|
120
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
121
|
+
const task = makeTask();
|
|
122
|
+
inbox.append(task);
|
|
123
|
+
const result = {
|
|
124
|
+
taskId: task.id,
|
|
125
|
+
status: "completed",
|
|
126
|
+
acceptanceCriteriaMet: [],
|
|
127
|
+
durationMs: 1000,
|
|
128
|
+
};
|
|
129
|
+
const updated = inbox.complete(task.id, result);
|
|
130
|
+
expect(updated.status).toBe("completed");
|
|
131
|
+
expect(updated.result).toEqual(result);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
it("fail increments attempts", () => {
|
|
135
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
136
|
+
const task = makeTask();
|
|
137
|
+
inbox.append(task);
|
|
138
|
+
const updated = inbox.fail(task.id, "Something went wrong");
|
|
139
|
+
expect(updated.status).toBe("retrying");
|
|
140
|
+
expect(updated.failureReason).toBe("Something went wrong");
|
|
141
|
+
expect(updated.attempts).toBe(1);
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
it("fail promotes to dead_letter when maxAttempts reached", () => {
|
|
145
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
146
|
+
const task = makeTask({ attempts: 2, maxAttempts: 3 });
|
|
147
|
+
inbox.append(task);
|
|
148
|
+
const updated = inbox.fail(task.id, "Final failure");
|
|
149
|
+
expect(updated.status).toBe("dead_letter");
|
|
150
|
+
expect(updated.failureReason).toBe("Final failure");
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
it("stats returns counts by status", () => {
|
|
154
|
+
const inbox = new TaskInbox({ tasksPath: tasksPath() });
|
|
155
|
+
inbox.append(makeTask({ id: "a", status: "queued" }));
|
|
156
|
+
inbox.append(makeTask({ id: "b", status: "queued" }));
|
|
157
|
+
inbox.append(makeTask({ id: "c", status: "running" }));
|
|
158
|
+
inbox.append(makeTask({ id: "d", status: "completed" }));
|
|
159
|
+
const stats = inbox.stats();
|
|
160
|
+
expect(stats["queued"]).toBe(2);
|
|
161
|
+
expect(stats["running"]).toBe(1);
|
|
162
|
+
expect(stats["completed"]).toBe(1);
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
// ─── LeaseManager ─────────────────────────────────────────────────────────────
|
|
167
|
+
|
|
168
|
+
describe("LeaseManager", () => {
|
|
169
|
+
it("claim writes a lease file atomically", () => {
|
|
170
|
+
const lm = new LeaseManager({ leasesDir: leasesDir() });
|
|
171
|
+
const lease = lm.claim("task-1", "worker-1");
|
|
172
|
+
expect(lease).not.toBeNull();
|
|
173
|
+
expect(lease.taskId).toBe("task-1");
|
|
174
|
+
expect(lease.workerId).toBe("worker-1");
|
|
175
|
+
expect(lease.attempt).toBe(1);
|
|
176
|
+
expect(lease.acquiredAt).toBeTruthy();
|
|
177
|
+
expect(lease.expiresAt).toBeTruthy();
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
it("claim returns null when already claimed by another worker", () => {
|
|
181
|
+
const lm = new LeaseManager({ leasesDir: leasesDir() });
|
|
182
|
+
// Worker-1 claims first, worker-2 tries immediately after.
|
|
183
|
+
// Atomic rename guarantees only one succeeds.
|
|
184
|
+
const first = lm.claim("task-1", "worker-1");
|
|
185
|
+
expect(first).not.toBeNull();
|
|
186
|
+
const second = lm.claim("task-1", "worker-2");
|
|
187
|
+
expect(second).toBeNull();
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it("heartbeat extends expiry", async () => {
|
|
191
|
+
const lm = new LeaseManager({ leasesDir: leasesDir() });
|
|
192
|
+
lm.claim("task-1", "worker-1");
|
|
193
|
+
const before = new Date(lm.get("task-1").expiresAt).getTime();
|
|
194
|
+
await new Promise((r) => setTimeout(r, 50));
|
|
195
|
+
const refreshed = lm.heartbeat("task-1", "worker-1");
|
|
196
|
+
expect(refreshed).not.toBeNull();
|
|
197
|
+
const after = new Date(refreshed.expiresAt).getTime();
|
|
198
|
+
expect(after).toBeGreaterThan(before - 500);
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
it("heartbeat rejects wrong worker", () => {
|
|
202
|
+
const lm = new LeaseManager({ leasesDir: leasesDir() });
|
|
203
|
+
lm.claim("task-1", "worker-1");
|
|
204
|
+
expect(() => lm.heartbeat("task-1", "wrong-worker")).toThrow();
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
it("release removes the lease file", () => {
|
|
208
|
+
const lm = new LeaseManager({ leasesDir: leasesDir() });
|
|
209
|
+
lm.claim("task-1", "worker-1");
|
|
210
|
+
lm.release("task-1", "worker-1");
|
|
211
|
+
expect(lm.get("task-1")).toBeNull();
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
it("reapAndRelease removes expired leases", async () => {
|
|
215
|
+
const lm = new LeaseManager({ leasesDir: leasesDir(), leaseTtlMs: 50 });
|
|
216
|
+
lm.claim("task-1", "worker-1");
|
|
217
|
+
lm.claim("task-2", "worker-2");
|
|
218
|
+
await new Promise((r) => setTimeout(r, 80));
|
|
219
|
+
const released = lm.reapAndRelease();
|
|
220
|
+
expect(released).toContain("task-1");
|
|
221
|
+
expect(lm.get("task-1")).toBeNull();
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
it("isExpired returns false for fresh leases", () => {
|
|
225
|
+
const lm = new LeaseManager({ leasesDir: leasesDir() });
|
|
226
|
+
const lease = lm.claim("task-1", "worker-1");
|
|
227
|
+
expect(lm.isExpired(lease)).toBe(false);
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
it("isExpired returns true for expired leases", async () => {
|
|
231
|
+
const lm = new LeaseManager({ leasesDir: leasesDir(), leaseTtlMs: 1 });
|
|
232
|
+
lm.claim("task-1", "worker-1");
|
|
233
|
+
await new Promise((r) => setTimeout(r, 20));
|
|
234
|
+
expect(lm.isExpired(lm.get("task-1"))).toBe(true);
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
it("listActive returns only non-expired leases", async () => {
|
|
238
|
+
const lm = new LeaseManager({ leasesDir: leasesDir(), leaseTtlMs: 50 });
|
|
239
|
+
lm.claim("task-1", "worker-1");
|
|
240
|
+
await new Promise((r) => setTimeout(r, 80));
|
|
241
|
+
expect(lm.listActive()).toHaveLength(0);
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
it("recoverOnStartup releases orphan leases", async () => {
|
|
245
|
+
const lm = new LeaseManager({ leasesDir: leasesDir(), leaseTtlMs: 50 });
|
|
246
|
+
lm.claim("task-1", "worker-1");
|
|
247
|
+
await new Promise((r) => setTimeout(r, 80));
|
|
248
|
+
const released = lm.recoverOnStartup();
|
|
249
|
+
expect(released).toContain("task-1");
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
// ─── Storage paths ────────────────────────────────────────────────────────────
|
|
254
|
+
|
|
255
|
+
describe("Storage paths", () => {
|
|
256
|
+
it("getInboxDir returns a path under the runtime root", async () => {
|
|
257
|
+
const { getRuntimeRoot, getInboxDir } = await import("../src/types.js");
|
|
258
|
+
expect(getInboxDir()).toContain(".pi/harness/inbox");
|
|
259
|
+
expect(getInboxDir()).toContain(getRuntimeRoot());
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
it("getLeasesDir returns claimed/ subdirectory", async () => {
|
|
263
|
+
const { getLeasesDir } = await import("../src/types.js");
|
|
264
|
+
expect(getLeasesDir()).toContain("claimed");
|
|
265
|
+
});
|
|
266
|
+
});
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for TaskInbox (filesystem-backed).
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { describe, it, expect, beforeEach, afterEach } from "bun:test";
|
|
6
|
+
import { mkdtempSync, rmSync, existsSync } from "node:fs";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
import { tmpdir } from "node:os";
|
|
9
|
+
import { TaskInbox } from "../src/inbox.js";
|
|
10
|
+
|
|
11
|
+
const DIR = mkdtempSync(join(tmpdir(), "pi-inbox-test-"));
|
|
12
|
+
|
|
13
|
+
// Set env so inbox uses our temp dir
|
|
14
|
+
process.env.PI_HARNESS_RUNTIME_ROOT = DIR;
|
|
15
|
+
|
|
16
|
+
const inbox = new TaskInbox({ rootDir: DIR });
|
|
17
|
+
|
|
18
|
+
afterEach(async () => {
|
|
19
|
+
await inbox.clear?.();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
afterAll(() => {
|
|
23
|
+
try { rmSync(DIR, { recursive: true }); } catch { /* ignore */ }
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
describe("TaskInbox.submit", () => {
|
|
27
|
+
it("accepts and returns a pending task", async () => {
|
|
28
|
+
const spec = {
|
|
29
|
+
id: "test-1",
|
|
30
|
+
kind: "once" as const,
|
|
31
|
+
priority: 5,
|
|
32
|
+
spec: {},
|
|
33
|
+
};
|
|
34
|
+
const record = await inbox.submit(spec);
|
|
35
|
+
expect(record.id).toBe("test-1");
|
|
36
|
+
expect(record.status).toBe("pending");
|
|
37
|
+
expect(record.submittedAt).toBeDefined();
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it("rejects duplicate ids", async () => {
|
|
41
|
+
const spec = {
|
|
42
|
+
id: "dup-test",
|
|
43
|
+
kind: "once" as const,
|
|
44
|
+
priority: 5,
|
|
45
|
+
spec: {},
|
|
46
|
+
};
|
|
47
|
+
await inbox.submit(spec);
|
|
48
|
+
await expect(inbox.submit(spec)).rejects.toThrow();
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
describe("TaskInbox.list", () => {
|
|
53
|
+
it("returns all submitted tasks", async () => {
|
|
54
|
+
await inbox.submit({ id: "l1", kind: "once", priority: 1, spec: {} });
|
|
55
|
+
await inbox.submit({ id: "l2", kind: "once", priority: 2, spec: {} });
|
|
56
|
+
const records = await inbox.list();
|
|
57
|
+
expect(records.length).toBeGreaterThanOrEqual(2);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it("filters by status", async () => {
|
|
61
|
+
await inbox.submit({ id: "f1", kind: "once", priority: 1, spec: {} });
|
|
62
|
+
const pending = await inbox.list({ status: "pending" });
|
|
63
|
+
expect(pending.every((r) => r.status === "pending")).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe("TaskInbox.claim", () => {
|
|
68
|
+
it("returns null when nothing is pending", async () => {
|
|
69
|
+
const lease = await inbox.claim({ workerId: "w1", heartbeatIntervalMs: 30_000 });
|
|
70
|
+
expect(lease).toBeNull();
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it("returns a lease for a pending task", async () => {
|
|
74
|
+
await inbox.submit({ id: "claim-1", kind: "once", priority: 5, spec: {} });
|
|
75
|
+
const lease = await inbox.claim({ workerId: "w1", heartbeatIntervalMs: 30_000 });
|
|
76
|
+
expect(lease).not.toBeNull();
|
|
77
|
+
expect(lease!.taskId).toBe("claim-1");
|
|
78
|
+
expect(lease!.status).toBe("active");
|
|
79
|
+
});
|
|
80
|
+
});
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for autonomous-runtime types.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { describe, it, expect } from "bun:test";
|
|
6
|
+
import type {
|
|
7
|
+
TaskSpec,
|
|
8
|
+
TaskStatus,
|
|
9
|
+
TaskEvent,
|
|
10
|
+
TaskRecord,
|
|
11
|
+
LeaseStatus,
|
|
12
|
+
WorkerStatus,
|
|
13
|
+
} from "../src/types.js";
|
|
14
|
+
|
|
15
|
+
describe("TaskStatus enum", () => {
|
|
16
|
+
it("has all expected values", () => {
|
|
17
|
+
const values: TaskStatus[] = [
|
|
18
|
+
"pending",
|
|
19
|
+
"claimed",
|
|
20
|
+
"running",
|
|
21
|
+
"completed",
|
|
22
|
+
"failed",
|
|
23
|
+
"cancelled",
|
|
24
|
+
];
|
|
25
|
+
for (const v of values) {
|
|
26
|
+
expect(typeof v).toBe("string");
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
describe("LeaseStatus enum", () => {
|
|
32
|
+
it("has all expected values", () => {
|
|
33
|
+
const values: LeaseStatus[] = [
|
|
34
|
+
"active",
|
|
35
|
+
"renewed",
|
|
36
|
+
"released",
|
|
37
|
+
"expired",
|
|
38
|
+
];
|
|
39
|
+
for (const v of values) {
|
|
40
|
+
expect(typeof v).toBe("string");
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
describe("TaskSpec", () => {
|
|
46
|
+
it("accepts a minimal valid spec", () => {
|
|
47
|
+
const spec: TaskSpec = {
|
|
48
|
+
id: "task-1",
|
|
49
|
+
kind: "once",
|
|
50
|
+
priority: 5,
|
|
51
|
+
spec: {},
|
|
52
|
+
};
|
|
53
|
+
expect(spec.id).toBe("task-1");
|
|
54
|
+
expect(spec.kind).toBe("once");
|
|
55
|
+
expect(spec.priority).toBe(5);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
describe("WorkerStatus", () => {
|
|
60
|
+
it("accepts a valid status", () => {
|
|
61
|
+
const status: WorkerStatus = {
|
|
62
|
+
workerId: "worker-1",
|
|
63
|
+
running: true,
|
|
64
|
+
heartbeatIntervalMs: 30_000,
|
|
65
|
+
};
|
|
66
|
+
expect(status.running).toBe(true);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ES2022",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"lib": ["ES2022", "DOM"],
|
|
7
|
+
"outDir": "./dist",
|
|
8
|
+
"rootDir": "./src",
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"declarationMap": true,
|
|
11
|
+
"sourceMap": true,
|
|
12
|
+
"strict": true,
|
|
13
|
+
"esModuleInterop": true,
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"forceConsistentCasingInFileNames": true,
|
|
16
|
+
"resolveJsonModule": true,
|
|
17
|
+
"composite": true,
|
|
18
|
+
"types": ["node"]
|
|
19
|
+
},
|
|
20
|
+
"include": ["src/**/*"],
|
|
21
|
+
"exclude": ["node_modules", "dist", "test"]
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"7.0.2","root":[[59,62]],"packageJsons":["../../node_modules/string_decoder/package.json","./node_modules/@types/node/node_modules/undici-types/package.json","./node_modules/@types/node/package.json","./package.json"],"missingPackageJsons":["../../node_modules/@types/assert/package.json","../../node_modules/@types/assert/strict/package.json","../../node_modules/@types/async_hooks/package.json","../../node_modules/@types/buffer/package.json","../../node_modules/@types/child_process/package.json","../../node_modules/@types/cluster/package.json","../../node_modules/@types/console/package.json","../../node_modules/@types/constants/package.json","../../node_modules/@types/crypto/package.json","../../node_modules/@types/dgram/package.json","../../node_modules/@types/diagnostics_channel/package.json","../../node_modules/@types/dns/package.json","../../node_modules/@types/dns/promises/package.json","../../node_modules/@types/domain/package.json","../../node_modules/@types/events/package.json","../../node_modules/@types/fs/package.json","../../node_modules/@types/fs/promises/package.json","../../node_modules/@types/http/package.json","../../node_modules/@types/http2/package.json","../../node_modules/@types/https/package.json","../../node_modules/@types/inspector/package.json","../../node_modules/@types/inspector/promises/package.json","../../node_modules/@types/module/package.json","../../node_modules/@types/net/package.json","../../node_modules/@types/os/package.json","../../node_modules/@types/path/package.json","../../node_modules/@types/path/posix/package.json","../../node_modules/@types/path/win32/package.json","../../node_modules/@types/perf_hooks/package.json","../../node_modules/@types/process/package.json","../../node_modules/@types/punycode/package.json","../../node_modules/@types/querystring/package.json","../../node_modules/@types/readline/package.json","../../node_modules/@types/readline/promises/package.json","../../node_modules/@types/repl/package.json","../../node_modules/@types/stream/consumers/package.json","../../node_modules/@types/stream/package.json","../../node_modules/@types/stream/promises/package.json","../../node_modules/@types/stream/web/package.json","../../node_modules/@types/string_decoder/package.json","../../node_modules/@types/timers/package.json","../../node_modules/@types/timers/promises/package.json","../../node_modules/@types/tls/package.json","../../node_modules/@types/trace_events/package.json","../../node_modules/@types/tty/package.json","../../node_modules/@types/url/package.json","../../node_modules/@types/util/package.json","../../node_modules/@types/util/types/package.json","../../node_modules/@types/v8/package.json","../../node_modules/@types/vm/package.json","../../node_modules/@types/wasi/package.json","../../node_modules/@types/worker_threads/package.json","../../node_modules/@types/zlib/package.json","../../node_modules/assert/package.json","../../node_modules/assert/strict/package.json","../../node_modules/async_hooks/package.json","../../node_modules/buffer/package.json","../../node_modules/child_process/package.json","../../node_modules/cluster/package.json","../../node_modules/console/package.json","../../node_modules/constants/package.json","../../node_modules/crypto/package.json","../../node_modules/dgram/package.json","../../node_modules/diagnostics_channel/package.json","../../node_modules/dns/package.json","../../node_modules/dns/promises/package.json","../../node_modules/domain/package.json","../../node_modules/events/package.json","../../node_modules/fs/package.json","../../node_modules/fs/promises/package.json","../../node_modules/http/package.json","../../node_modules/http2/package.json","../../node_modules/https/package.json","../../node_modules/inspector/package.json","../../node_modules/inspector/promises/package.json","../../node_modules/module/package.json","../../node_modules/net/package.json","../../node_modules/os/package.json","../../node_modules/path/package.json","../../node_modules/path/posix/package.json","../../node_modules/path/win32/package.json","../../node_modules/perf_hooks/package.json","../../node_modules/process/package.json","../../node_modules/punycode/package.json","../../node_modules/querystring/package.json","../../node_modules/readline/package.json","../../node_modules/readline/promises/package.json","../../node_modules/repl/package.json","../../node_modules/stream/consumers/package.json","../../node_modules/stream/package.json","../../node_modules/stream/promises/package.json","../../node_modules/stream/web/package.json","../../node_modules/timers/package.json","../../node_modules/timers/promises/package.json","../../node_modules/tls/package.json","../../node_modules/trace_events/package.json","../../node_modules/tty/package.json","../../node_modules/url/package.json","../../node_modules/util/package.json","../../node_modules/util/types/package.json","../../node_modules/v8/package.json","../../node_modules/vm/package.json","../../node_modules/wasi/package.json","../../node_modules/worker_threads/package.json","../../node_modules/zlib/package.json","./node_modules/@types/assert/package.json","./node_modules/@types/assert/strict/package.json","./node_modules/@types/async_hooks/package.json","./node_modules/@types/buffer/package.json","./node_modules/@types/child_process/package.json","./node_modules/@types/cluster/package.json","./node_modules/@types/console/package.json","./node_modules/@types/constants/package.json","./node_modules/@types/crypto/package.json","./node_modules/@types/dgram/package.json","./node_modules/@types/diagnostics_channel/package.json","./node_modules/@types/dns/package.json","./node_modules/@types/dns/promises/package.json","./node_modules/@types/domain/package.json","./node_modules/@types/events/package.json","./node_modules/@types/fs/package.json","./node_modules/@types/fs/promises/package.json","./node_modules/@types/http/package.json","./node_modules/@types/http2/package.json","./node_modules/@types/https/package.json","./node_modules/@types/inspector/package.json","./node_modules/@types/inspector/promises/package.json","./node_modules/@types/module/package.json","./node_modules/@types/net/package.json","./node_modules/@types/node/assert/package.json","./node_modules/@types/node/compatibility/package.json","./node_modules/@types/node/dns/package.json","./node_modules/@types/node/fs/package.json","./node_modules/@types/node/node_modules/assert/package.json","./node_modules/@types/node/node_modules/assert/strict/package.json","./node_modules/@types/node/node_modules/async_hooks/package.json","./node_modules/@types/node/node_modules/buffer/package.json","./node_modules/@types/node/node_modules/child_process/package.json","./node_modules/@types/node/node_modules/cluster/package.json","./node_modules/@types/node/node_modules/console/package.json","./node_modules/@types/node/node_modules/constants/package.json","./node_modules/@types/node/node_modules/crypto/package.json","./node_modules/@types/node/node_modules/dgram/package.json","./node_modules/@types/node/node_modules/diagnostics_channel/package.json","./node_modules/@types/node/node_modules/dns/package.json","./node_modules/@types/node/node_modules/dns/promises/package.json","./node_modules/@types/node/node_modules/domain/package.json","./node_modules/@types/node/node_modules/events/package.json","./node_modules/@types/node/node_modules/fs/package.json","./node_modules/@types/node/node_modules/fs/promises/package.json","./node_modules/@types/node/node_modules/http/package.json","./node_modules/@types/node/node_modules/http2/package.json","./node_modules/@types/node/node_modules/https/package.json","./node_modules/@types/node/node_modules/inspector/package.json","./node_modules/@types/node/node_modules/inspector/promises/package.json","./node_modules/@types/node/node_modules/module/package.json","./node_modules/@types/node/node_modules/net/package.json","./node_modules/@types/node/node_modules/os/package.json","./node_modules/@types/node/node_modules/path/package.json","./node_modules/@types/node/node_modules/path/posix/package.json","./node_modules/@types/node/node_modules/path/win32/package.json","./node_modules/@types/node/node_modules/perf_hooks/package.json","./node_modules/@types/node/node_modules/process/package.json","./node_modules/@types/node/node_modules/punycode/package.json","./node_modules/@types/node/node_modules/querystring/package.json","./node_modules/@types/node/node_modules/readline/package.json","./node_modules/@types/node/node_modules/readline/promises/package.json","./node_modules/@types/node/node_modules/repl/package.json","./node_modules/@types/node/node_modules/stream/consumers/package.json","./node_modules/@types/node/node_modules/stream/package.json","./node_modules/@types/node/node_modules/stream/promises/package.json","./node_modules/@types/node/node_modules/stream/web/package.json","./node_modules/@types/node/node_modules/string_decoder/package.json","./node_modules/@types/node/node_modules/timers/package.json","./node_modules/@types/node/node_modules/timers/promises/package.json","./node_modules/@types/node/node_modules/tls/package.json","./node_modules/@types/node/node_modules/trace_events/package.json","./node_modules/@types/node/node_modules/tty/package.json","./node_modules/@types/node/node_modules/url/package.json","./node_modules/@types/node/node_modules/util/package.json","./node_modules/@types/node/node_modules/util/types/package.json","./node_modules/@types/node/node_modules/v8/package.json","./node_modules/@types/node/node_modules/vm/package.json","./node_modules/@types/node/node_modules/wasi/package.json","./node_modules/@types/node/node_modules/worker_threads/package.json","./node_modules/@types/node/node_modules/zlib/package.json","./node_modules/@types/node/readline/package.json","./node_modules/@types/node/stream/package.json","./node_modules/@types/node/timers/package.json","./node_modules/@types/node/web-globals/package.json","./node_modules/@types/os/package.json","./node_modules/@types/path/package.json","./node_modules/@types/path/posix/package.json","./node_modules/@types/path/win32/package.json","./node_modules/@types/perf_hooks/package.json","./node_modules/@types/process/package.json","./node_modules/@types/punycode/package.json","./node_modules/@types/querystring/package.json","./node_modules/@types/readline/package.json","./node_modules/@types/readline/promises/package.json","./node_modules/@types/repl/package.json","./node_modules/@types/stream/consumers/package.json","./node_modules/@types/stream/package.json","./node_modules/@types/stream/promises/package.json","./node_modules/@types/stream/web/package.json","./node_modules/@types/string_decoder/package.json","./node_modules/@types/timers/package.json","./node_modules/@types/timers/promises/package.json","./node_modules/@types/tls/package.json","./node_modules/@types/trace_events/package.json","./node_modules/@types/tty/package.json","./node_modules/@types/url/package.json","./node_modules/@types/util/package.json","./node_modules/@types/util/types/package.json","./node_modules/@types/v8/package.json","./node_modules/@types/vm/package.json","./node_modules/@types/wasi/package.json","./node_modules/@types/worker_threads/package.json","./node_modules/@types/zlib/package.json","./node_modules/assert/package.json","./node_modules/assert/strict/package.json","./node_modules/async_hooks/package.json","./node_modules/buffer/package.json","./node_modules/child_process/package.json","./node_modules/cluster/package.json","./node_modules/console/package.json","./node_modules/constants/package.json","./node_modules/crypto/package.json","./node_modules/dgram/package.json","./node_modules/diagnostics_channel/package.json","./node_modules/dns/package.json","./node_modules/dns/promises/package.json","./node_modules/domain/package.json","./node_modules/events/package.json","./node_modules/fs/package.json","./node_modules/fs/promises/package.json","./node_modules/http/package.json","./node_modules/http2/package.json","./node_modules/https/package.json","./node_modules/inspector/package.json","./node_modules/inspector/promises/package.json","./node_modules/module/package.json","./node_modules/net/package.json","./node_modules/os/package.json","./node_modules/path/package.json","./node_modules/path/posix/package.json","./node_modules/path/win32/package.json","./node_modules/perf_hooks/package.json","./node_modules/process/package.json","./node_modules/punycode/package.json","./node_modules/querystring/package.json","./node_modules/readline/package.json","./node_modules/readline/promises/package.json","./node_modules/repl/package.json","./node_modules/stream/consumers/package.json","./node_modules/stream/package.json","./node_modules/stream/promises/package.json","./node_modules/stream/web/package.json","./node_modules/string_decoder/package.json","./node_modules/timers/package.json","./node_modules/timers/promises/package.json","./node_modules/tls/package.json","./node_modules/trace_events/package.json","./node_modules/tty/package.json","./node_modules/url/package.json","./node_modules/util/package.json","./node_modules/util/types/package.json","./node_modules/v8/package.json","./node_modules/vm/package.json","./node_modules/wasi/package.json","./node_modules/worker_threads/package.json","./node_modules/zlib/package.json"],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.dom.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","./src/types.ts","./src/inbox.ts","./src/lease.ts","./src/index.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/@types/node/node_modules/undici-types/header.d.ts","./node_modules/@types/node/node_modules/undici-types/readable.d.ts","./node_modules/@types/node/node_modules/undici-types/file.d.ts","./node_modules/@types/node/node_modules/undici-types/fetch.d.ts","./node_modules/@types/node/node_modules/undici-types/formdata.d.ts","./node_modules/@types/node/node_modules/undici-types/connector.d.ts","./node_modules/@types/node/node_modules/undici-types/client.d.ts","./node_modules/@types/node/node_modules/undici-types/errors.d.ts","./node_modules/@types/node/node_modules/undici-types/dispatcher.d.ts","./node_modules/@types/node/node_modules/undici-types/global-dispatcher.d.ts","./node_modules/@types/node/node_modules/undici-types/global-origin.d.ts","./node_modules/@types/node/node_modules/undici-types/pool-stats.d.ts","./node_modules/@types/node/node_modules/undici-types/pool.d.ts","./node_modules/@types/node/node_modules/undici-types/handlers.d.ts","./node_modules/@types/node/node_modules/undici-types/balanced-pool.d.ts","./node_modules/@types/node/node_modules/undici-types/agent.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-interceptor.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-agent.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-client.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-pool.d.ts","./node_modules/@types/node/node_modules/undici-types/mock-errors.d.ts","./node_modules/@types/node/node_modules/undici-types/proxy-agent.d.ts","./node_modules/@types/node/node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/@types/node/node_modules/undici-types/retry-handler.d.ts","./node_modules/@types/node/node_modules/undici-types/retry-agent.d.ts","./node_modules/@types/node/node_modules/undici-types/api.d.ts","./node_modules/@types/node/node_modules/undici-types/interceptors.d.ts","./node_modules/@types/node/node_modules/undici-types/util.d.ts","./node_modules/@types/node/node_modules/undici-types/cookies.d.ts","./node_modules/@types/node/node_modules/undici-types/patch.d.ts","./node_modules/@types/node/node_modules/undici-types/websocket.d.ts","./node_modules/@types/node/node_modules/undici-types/eventsource.d.ts","./node_modules/@types/node/node_modules/undici-types/filereader.d.ts","./node_modules/@types/node/node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/@types/node/node_modules/undici-types/content-type.d.ts","./node_modules/@types/node/node_modules/undici-types/cache.d.ts","./node_modules/@types/node/node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f","feb6c6fb19cdb246a5d8acb36a6901c7",{"version":"aae8996e8b5684814785a42cbbefcd79","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2b056277dd138e8f5650fc04e20eaa8d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1da2c1f258970fd3cc91184f69e91a9d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4fc71cf4a15b8d99675a31df77f26e07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d1b49564ddaeca3df5b6dbae925d2242","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6a25be566d60ccfc2d6e8b7bfdeefa83","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8a20e27646985dfd58c57ca6566553dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9969f02ad3cdcbf4f709405cda44167f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9c9be4792a7a4f42c15ae7360bf28779","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"db3d9d19cd91358571605ef2d58f3ed4","signature":"8ed6e3ce9499e38da236fd3c9c34aca7","impliedNodeFormat":1},{"version":"c4a8b5d81180bd5645f4868d465976cb","signature":"cf29baf9abcc3015c6dab7b6eedfe320","impliedNodeFormat":1},{"version":"9e1558bff6b9d17343abecd0ed112f1f","signature":"667b11f914f374faa50b92a5ebcd9c6a","impliedNodeFormat":1},{"version":"7db411290d282475c8604700c2bbc748","signature":"6e2fe660a0d70a18d6e3c957260f7d45","impliedNodeFormat":1},{"version":"90630acdc4134173bcf216f187bd3010","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"913b52a39743d1c11984e4e124b1f3a8","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2514e9a2749c0fc18d2f478e9e1e641e","affectsGlobalScope":true,"impliedNodeFormat":1},"fe51d7a9bcdbcce1e65bbcf39b212298",{"version":"849a1873c4e917b0887368c1be897faa","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"c46c3108bde06d3b1fc6f802eb09eeeb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1332add604574cf529fb33b23304b296","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9af0a7e3ef1c42cd066b9f8d365cc1ba","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9eca652586205dc5b07f9ba57b1c8500","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ec5f75939754ce94652189ec7d0d3058","affectsGlobalScope":true,"impliedNodeFormat":1},"628b774b54637325e286752c79c12432","bb1f9e3091b88e9d0e93b7198c736af3","514fd35e5eb35bb2e5cbb908af0a0aa2","ed57ae88565308729f2327f26d684976","dcd932d6b0038f2e250e30dc10125b22","9508c917bd7e458745e222a82dd24ef0","fabf86f455f96b90538cc26320ab2765","14550b4cd9f433e0addd8b6d67614d23","cf0ac6aebc25cb780674653aaeee688e","35fef7bac8048f583e4ce6eaa0c2a4c0","6752dc653fc7a333027249fd851fdb62","b9ad7e689b46dfba362c1bf174e69018","8b0a2930dfabdf27c69c6bb1eeabcdc8","4513b1ed15523d247040689f37fa9db2","5c0c499eed773a750903d9497beafacd","2377da227d1bac82ff7b3f2081ddf8d3","beef985b474fefeb80d27fb2c8778371","c79fc9d9f09ae598a374ae7c0b5284a4","f2caa3cebb1e6be855519004830a6be0","8ebc9f2a77c900e710801214c5cb994c","ec617a0e0577dd6a3210c3b067ecb325","1db5d06e485bd82d6d5f6e36925a8714","24b864518967840216c779b5e5f00975","8719cd8047700bfb6046798390053823","f2840afb502c94db92dab0fb8d27812f","a7e7d08b372210c203745d3eac61a411","531183cc80535e0e94226d720e5eb038","f627eb958ca52c85e42f04dce4661f86","9a43fc665bce9012a3d5fe1b574ff4dc","13f4b4da6546a34719fd6bde15fb63dd","a589216508844bfc00e62fc2d97fda45","865aea1c3209e31b076cb6fe780e769e","12e64aaf26af0f5c8f1b263dd66e3feb","928971ebbcdf5b093ef37669b33bddf6","b744265d8ad12b7d4d5c5dc35d18d44e","eff32168b8348b822afeed9cbf61afa7","9aafd1f29b4d8861c1c6c34bf83c0721",{"version":"a127795c4dad633990c87aa0b86831e5","affectsGlobalScope":true,"impliedNodeFormat":1},"4ef82d390af85e719a46d566e229dd83","7deced3ef46e082f97d49bb71622526a","fa7acb320bbf7da8f76e431437143034",{"version":"ee57e9bfec6167b488ced231a7bf233d","affectsGlobalScope":true,"impliedNodeFormat":1},"7aa99080b86233d5b21416907d7a75a6","7d6a8df1becce5c270da2093e7835920",{"version":"c37fea1584ced70492ff5748ed570abd","affectsGlobalScope":true,"impliedNodeFormat":1},"b2b472cd0bf0f8d5f022e00ca1c401f4",{"version":"e22c8fb0fc65df14299c6c94cf729b3c","affectsGlobalScope":true,"impliedNodeFormat":1},"a84efb87b57f78ea0b0577edaacd8b33","814e0c2cc2a92531b6dc5d2a1767a6e1","79ac55b2d493df83277d681e4d64a992","7ab3b7243211fa08af307609be231d6c","7fd0f028e135bdf15ff757781a2f4ba9",{"version":"cab5b406d3defff17c931e41fa98aeb1","affectsGlobalScope":true,"impliedNodeFormat":1},"aa7dc1db3d208fb91418794a18539d4c","e9b8fc3c9291fc5701e219c0407e973d","b8f5d7bb61117f48a99b0cecaa75d186","4eee02126a80c6573103e22b942b0386","1d3b57f542db6054f952f8076b3c6a3a","4e0ba29e69c1176d4b909ad8a85a2695",{"version":"e5d25a206975fb43b72d246ed86fd7fe","affectsGlobalScope":true,"impliedNodeFormat":1},"a5525d047b8b84dac8b2e21fa393f465","86308ea691fd06825dd9a3ce0f1e901a","44782881f424302151e0de8fdaa39575",{"version":"f0ef68e9c53d126a7b3bfc1ae9f2c7c4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"71259a408a4178e5f0795188b4d802f1","affectsGlobalScope":true,"impliedNodeFormat":1},"eb80d821e5e931dcccee2697f3e249e2","961969874f5ee12ed3429d3d0c82de02","9a62058bc2d476e807cc6594eed72adb","40cbc4bb3b225b03c54255154dada07d","6534825a8bda3eeecde9bca9e3a99712","09a582ab2a73806ab5887ea413b3d55a","17bf20c066f28d82e59096464112bc39","c8206d568b54e5ea06131963eecd576a","15878f4f50c2e562c0768eb735c2aed5",{"version":"2939c9bf76087f5c43b7ed44aeab6853","affectsGlobalScope":true,"impliedNodeFormat":1},"7b844f3801adf7e09ea25ec5f39f9a86","46c937d243665015f13587ac0db55909",{"version":"1f29cf27395029939dd41fce4f0c5653","affectsGlobalScope":true,"impliedNodeFormat":1},"f026c594d60114f10583261f6499df38","1ac553606580aeec204cce24c38b2e3f","3c29bf7066a67e7151f563fc1c4e56cb","00d49834780046c2d6a7da3e50d83cca",{"version":"377c78771ee061f2b4e59d5eb5a28782","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7293552290431bff8ef5f13e6f7fcbfc","affectsGlobalScope":true,"impliedNodeFormat":1},"9453ee3aca6a51ae747057fbc6388cf2","6c491c1508bd3e1df0f45f38b07243c2","1f99b8445612afcfaae0f8591d8d18ac",{"version":"bbd4e0ea8a847a4b60ba7d5741985c9d","affectsGlobalScope":true,"impliedNodeFormat":1},"f57ef54941c62bf28f3beafb86025735","7b6c16d46b33570aaef9d0fdc4f02f14"],"fileIdsList":[[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[63,64,65,68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[66,67,68,69,70,71,72,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,81,85,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,81,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,76,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,78,81,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[68,76,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[68,73,74,77,80,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,81,88,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,73,79,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,81,102,103,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,77,81,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[68,102,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[68,75,76,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[68,75,76,77,78,79,80,81,82,83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,81,96,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,81,88,89,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,79,81,89,90,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,80,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,73,76,81,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,81,85,89,90,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,85,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,79,81,84,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,73,78,81,88,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,76,81,102,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,151,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,155,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,157,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,159,160,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,160,161],[68,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[68,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161],[68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160],[59,68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[59,60,61,68,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161]],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":7,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"sourceMap":true,"target":9,"esModuleInterop":true},"referencedMap":[[57,1],[58,1],[10,1],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[21,1],[22,1],[4,1],[23,1],[27,1],[24,1],[25,1],[26,1],[28,1],[29,1],[30,1],[5,1],[31,1],[32,1],[33,1],[34,1],[6,1],[38,1],[35,1],[36,1],[37,1],[39,1],[7,1],[40,1],[45,1],[46,1],[41,1],[42,1],[43,1],[44,1],[8,1],[50,1],[47,1],[48,1],[49,1],[51,1],[9,1],[52,1],[53,1],[54,1],[56,1],[55,1],[1,1],[111,2],[112,3],[113,4],[68,5],[114,6],[115,7],[116,8],[63,1],[66,9],[64,1],[65,1],[117,10],[118,11],[119,12],[120,13],[121,14],[122,15],[123,16],[124,17],[125,18],[126,19],[127,20],[69,1],[67,1],[128,21],[129,22],[130,23],[162,24],[131,25],[132,26],[133,27],[88,28],[98,29],[87,28],[108,30],[79,31],[78,1],[107,32],[101,33],[106,31],[81,34],[95,35],[80,36],[104,37],[76,38],[75,32],[105,39],[77,40],[82,29],[83,1],[86,29],[73,1],[109,41],[99,42],[90,43],[91,44],[93,45],[89,46],[92,47],[102,32],[84,48],[85,49],[94,50],[74,1],[97,42],[96,29],[100,1],[103,51],[134,52],[135,53],[136,54],[137,55],[138,56],[139,57],[140,58],[141,59],[142,60],[143,61],[144,62],[146,63],[145,64],[147,65],[148,66],[149,67],[150,68],[151,69],[152,70],[153,71],[154,72],[155,73],[156,74],[157,75],[158,76],[159,77],[70,1],[71,1],[72,1],[110,78],[160,79],[161,80],[60,81],[62,82],[61,81],[59,1]],"latestChangedDtsFile":"./dist/worker.d.ts"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/capability-registry",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.15",
|
|
4
4
|
"description": "Capability Registry for pi-harness-runtime — tracks model capabilities and enables capability-based routing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|