@guyghost/swarm-dao-improvement 0.2.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type ImprovementContext } from "@guyghost/swarm-dao-core/models/improvement";
2
+ export type PersistedImprovementSnapshot = Readonly<{
3
+ cycleId: string;
4
+ state: string;
5
+ status: string;
6
+ context: ImprovementContext;
7
+ }>;
8
+ export type ImprovementSubmissionResult = Readonly<{
9
+ accepted: boolean;
10
+ issues: readonly string[];
11
+ snapshot: PersistedImprovementSnapshot;
12
+ }>;
13
+ type RunnerOptions = Readonly<{
14
+ evidenceRoot: string;
15
+ cycleId: string;
16
+ scope: string;
17
+ referenceHash: string;
18
+ clock?: () => string;
19
+ }>;
20
+ export declare class ImprovementRunner {
21
+ #private;
22
+ private constructor();
23
+ static create(options: RunnerOptions): Promise<ImprovementRunner>;
24
+ snapshot(): PersistedImprovementSnapshot;
25
+ submit(input: unknown): Promise<ImprovementSubmissionResult>;
26
+ }
27
+ export declare const createImprovementRunner: (options: RunnerOptions) => Promise<ImprovementRunner>;
28
+ export {};
29
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,6CAA6C,CAAC;AAGrD,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,4BAA4B,CAAC;CACxC,CAAC,CAAC;AAeH,KAAK,aAAa,GAAG,QAAQ,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB,CAAC,CAAC;AA2DH,qBAAa,iBAAiB;;IAQ5B,OAAO;WAWM,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAevE,QAAQ,IAAI,4BAA4B;IAIxC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,2BAA2B,CAAC;CA8F7D;AAED,eAAO,MAAM,uBAAuB,GAAI,SAAS,aAAa,KAAG,OAAO,CAAC,iBAAiB,CACvD,CAAC"}
package/dist/runner.js ADDED
@@ -0,0 +1,182 @@
1
+ import { appendFile, mkdir, readFile, writeFile } from "node:fs/promises";
2
+ import { resolve, sep } from "node:path";
3
+ import { createImprovementActor, } from "@guyghost/swarm-dao-core/models/improvement";
4
+ import { validateImprovementSignal } from "./signal.js";
5
+ const validCycleId = (cycleId) => /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(cycleId) && !cycleId.includes("..");
6
+ // Reopening an existing cycle must not overwrite its immutable correlation
7
+ // inputs. If evidence already exists, the caller-supplied referenceHash and
8
+ // scope must exactly match what was sealed at initialization; otherwise a
9
+ // second `improvement:init` could replace the human-owned reference hash
10
+ // without a REFERENCE_CHANGE_APPROVED event.
11
+ const assertImmutableInputsMatch = async (runDirectory, options) => {
12
+ let content;
13
+ try {
14
+ content = await readFile(resolve(runDirectory, "snapshot.json"), "utf8");
15
+ }
16
+ catch (error) {
17
+ if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT")
18
+ return;
19
+ throw error;
20
+ }
21
+ let parsed;
22
+ try {
23
+ parsed = JSON.parse(content);
24
+ }
25
+ catch {
26
+ throw new Error(`existing snapshot for cycle ${options.cycleId} is not valid JSON`);
27
+ }
28
+ const context = typeof parsed === "object" && parsed !== null && "context" in parsed
29
+ ? parsed.context
30
+ : null;
31
+ if (!context)
32
+ throw new Error(`existing snapshot for cycle ${options.cycleId} has no context`);
33
+ if (context.referenceHash !== options.referenceHash) {
34
+ throw new Error(`cycle ${options.cycleId} already exists with a different referenceHash; use REFERENCE_CHANGE_APPROVED to change it`);
35
+ }
36
+ if (context.scope !== options.scope) {
37
+ throw new Error(`cycle ${options.cycleId} already exists with a different scope`);
38
+ }
39
+ };
40
+ const eventTypeFrom = (input) => {
41
+ if (typeof input !== "object" || input === null || !("type" in input))
42
+ return null;
43
+ return typeof input.type === "string" ? input.type : null;
44
+ };
45
+ const serializeSnapshot = (actor) => {
46
+ const snapshot = actor.getSnapshot();
47
+ return {
48
+ cycleId: snapshot.context.cycleId,
49
+ state: String(snapshot.value),
50
+ status: snapshot.status,
51
+ context: structuredClone(snapshot.context),
52
+ };
53
+ };
54
+ const snapshotChanged = (before, after) => before.state !== after.state ||
55
+ before.status !== after.status ||
56
+ JSON.stringify(before.context) !== JSON.stringify(after.context);
57
+ export class ImprovementRunner {
58
+ #cycleId;
59
+ #runDirectory;
60
+ #clock;
61
+ #actor;
62
+ #sequence = 0;
63
+ #tail = Promise.resolve();
64
+ constructor(options, runDirectory) {
65
+ this.#cycleId = options.cycleId;
66
+ this.#runDirectory = runDirectory;
67
+ this.#clock = options.clock ?? (() => new Date().toISOString());
68
+ this.#actor = createImprovementActor({
69
+ cycleId: options.cycleId,
70
+ scope: options.scope,
71
+ referenceHash: options.referenceHash,
72
+ });
73
+ }
74
+ static async create(options) {
75
+ if (!validCycleId(options.cycleId))
76
+ throw new Error("cycleId must be a safe non-empty filesystem identifier");
77
+ const root = resolve(options.evidenceRoot);
78
+ const runDirectory = resolve(root, options.cycleId);
79
+ if (!runDirectory.startsWith(`${root}${sep}`))
80
+ throw new Error("cycleId resolves outside the evidence root");
81
+ await mkdir(runDirectory, { recursive: true });
82
+ await assertImmutableInputsMatch(runDirectory, options);
83
+ const runner = new ImprovementRunner(options, runDirectory);
84
+ await runner.#restoreJournal();
85
+ await runner.#persistSnapshot(serializeSnapshot(runner.#actor));
86
+ return runner;
87
+ }
88
+ snapshot() {
89
+ return serializeSnapshot(this.#actor);
90
+ }
91
+ submit(input) {
92
+ const operation = this.#tail.then(() => this.#submitNow(input));
93
+ this.#tail = operation.then(() => undefined, () => undefined);
94
+ return operation;
95
+ }
96
+ async #submitNow(input) {
97
+ const before = serializeSnapshot(this.#actor);
98
+ const validation = validateImprovementSignal(input);
99
+ let accepted = false;
100
+ let issues = [];
101
+ let signal;
102
+ if (!validation.ok) {
103
+ issues = validation.issues;
104
+ }
105
+ else if (validation.signal.cycleId !== this.#cycleId) {
106
+ issues = [`signal cycleId must match ${this.#cycleId}`];
107
+ signal = validation.signal;
108
+ }
109
+ else {
110
+ signal = validation.signal;
111
+ this.#actor.send(validation.event);
112
+ accepted = snapshotChanged(before, serializeSnapshot(this.#actor));
113
+ if (!accepted)
114
+ issues = ["machine rejected event for the current state or guards"];
115
+ }
116
+ const after = serializeSnapshot(this.#actor);
117
+ const entry = {
118
+ sequence: ++this.#sequence,
119
+ cycleId: this.#cycleId,
120
+ receivedAt: this.#clock(),
121
+ eventType: eventTypeFrom(input),
122
+ producer: signal?.producer ?? null,
123
+ accepted,
124
+ issues,
125
+ beforeState: before.state,
126
+ afterState: after.state,
127
+ ...(signal ? { signal } : {}),
128
+ };
129
+ await appendFile(resolve(this.#runDirectory, "journal.ndjson"), `${JSON.stringify(entry)}\n`, "utf8");
130
+ await this.#persistSnapshot(after);
131
+ return { accepted, issues, snapshot: after };
132
+ }
133
+ async #persistSnapshot(snapshot) {
134
+ await writeFile(resolve(this.#runDirectory, "snapshot.json"), `${JSON.stringify(snapshot, null, 2)}\n`, "utf8");
135
+ }
136
+ async #restoreJournal() {
137
+ const journalPath = resolve(this.#runDirectory, "journal.ndjson");
138
+ let content;
139
+ try {
140
+ content = await readFile(journalPath, "utf8");
141
+ }
142
+ catch (error) {
143
+ if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT")
144
+ return;
145
+ throw error;
146
+ }
147
+ const lines = content.split("\n").filter((line) => line.trim().length > 0);
148
+ for (const [index, line] of lines.entries()) {
149
+ let entry;
150
+ try {
151
+ entry = JSON.parse(line);
152
+ }
153
+ catch {
154
+ throw new Error(`journal line ${index + 1} is not valid JSON`);
155
+ }
156
+ if (typeof entry !== "object" ||
157
+ entry === null ||
158
+ !("sequence" in entry) ||
159
+ entry.sequence !== index + 1 ||
160
+ !("accepted" in entry) ||
161
+ typeof entry.accepted !== "boolean") {
162
+ throw new Error(`journal line ${index + 1} violates sequence contract`);
163
+ }
164
+ this.#sequence = entry.sequence;
165
+ if (!entry.accepted)
166
+ continue;
167
+ if (!("signal" in entry))
168
+ throw new Error(`accepted journal line ${index + 1} has no signal`);
169
+ const validation = validateImprovementSignal(entry.signal);
170
+ if (!validation.ok || validation.signal.cycleId !== this.#cycleId) {
171
+ throw new Error(`accepted journal line ${index + 1} has an invalid signal`);
172
+ }
173
+ const before = serializeSnapshot(this.#actor);
174
+ this.#actor.send(validation.event);
175
+ if (!snapshotChanged(before, serializeSnapshot(this.#actor))) {
176
+ throw new Error(`accepted journal line ${index + 1} cannot be replayed deterministically`);
177
+ }
178
+ }
179
+ }
180
+ }
181
+ export const createImprovementRunner = (options) => ImprovementRunner.create(options);
182
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { buildSandboxCommand, SANDBOX_WORKDIR_MOUNT, validateSandboxImage } from "@guyghost/swarm-dao-core/delivery";
2
+ export type SandboxMode = "none" | "docker" | "container" | "auto";
3
+ export interface SandboxOptions {
4
+ mode: Exclude<SandboxMode, "none">;
5
+ /** OCI image reference (validated; never interpolated unquoted). */
6
+ image: string;
7
+ /** Absolute host path mounted read-write at /workspace. */
8
+ workDir: string;
9
+ cpus?: number;
10
+ memoryMb?: number;
11
+ timeoutMs?: number;
12
+ }
13
+ type AnchorCommandOutcome = import("./orchestrator.js").AnchorCommandOutcome;
14
+ export type SandboxExecRunner = (command: string, timeoutMs: number) => Promise<{
15
+ stdout: string;
16
+ stderr: string;
17
+ exitCode: number;
18
+ }>;
19
+ export type AnchorCommandRunner = (command: string) => Promise<AnchorCommandOutcome>;
20
+ export type { SandboxCommandOptions } from "@guyghost/swarm-dao-core/delivery";
21
+ export { buildSandboxCommand, SANDBOX_WORKDIR_MOUNT, validateSandboxImage };
22
+ /**
23
+ * An AnchorCommandRunner that executes each command inside a fresh bounded
24
+ * container. Errors surface as { ok: false } outcomes — an anchor honestly
25
+ * failed — never as thrown exceptions above the machine.
26
+ */
27
+ export declare function createSandboxRunCommand(options: SandboxOptions & {
28
+ mode: Exclude<SandboxMode, "none" | "auto">;
29
+ }, runner?: SandboxExecRunner): AnchorCommandRunner;
30
+ /**
31
+ * Resolve an explicit or auto-detected sandbox mode. "auto" prefers Apple
32
+ * container on macOS-capable hosts, then Docker. Returns null for "none"
33
+ * (caller uses default host execution). Throws when auto-detection finds no
34
+ * runtime — an unreachable sandbox must never silently degrade to the host.
35
+ */
36
+ export declare function resolveSandboxMode(requested: SandboxMode, runner?: SandboxExecRunner): Promise<Exclude<SandboxMode, "none" | "auto"> | null>;
37
+ export interface SandboxRequest {
38
+ sandbox?: SandboxMode;
39
+ image?: string;
40
+ cpus?: number;
41
+ memoryMb?: number;
42
+ timeoutMs?: number;
43
+ }
44
+ /**
45
+ * Build the sandbox AnchorCommandRunner for an `improve once` invocation from
46
+ * CLI flags layered over `.dao/improvement.json` options. Returns null when
47
+ * the resolved mode is "none" (caller falls back to host execution). Explicit
48
+ * flags win over config; a sandbox mode without an image fails loudly.
49
+ */
50
+ export declare function resolveSandboxRunCommand(request: SandboxRequest, workDir: string, runner?: SandboxExecRunner): Promise<AnchorCommandRunner | null>;
51
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAErH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAQnE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnC,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,oBAAoB,GAAG,OAAO,mBAAmB,EAAE,oBAAoB,CAAC;AAC7E,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,KACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAErF,YAAY,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;AAoB5E;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,cAAc,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CAAE,EACzE,MAAM,GAAE,iBAAqC,GAC5C,mBAAmB,CAUrB;AAQD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,WAAW,EACtB,MAAM,GAAE,iBAAqC,GAC5C,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAMvD;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,iBAAqC,GAC5C,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAiBrC"}
@@ -0,0 +1,97 @@
1
+ // ============================================================
2
+ // Swarm DAO Improvement Loop — bounded sandbox execution
3
+ // ============================================================
4
+ // Runs a project's ground-truth anchor commands inside a throwaway container
5
+ // (Docker or Apple container) instead of on the host: the repository is bind-
6
+ // mounted at /workspace, networking is disabled, and CPU/memory are capped.
7
+ // Every value that reaches a shell command line (image, host path, command)
8
+ // is validated or quoted here; anything ambiguous fails closed.
9
+ //
10
+ // Boundary: this module executes commands, it never judges them. Verdicts
11
+ // stay with the improvement machine; a sandbox is a boundary, not an authority.
12
+ import { exec as execCallback } from "node:child_process";
13
+ import { promisify } from "node:util";
14
+ import { buildSandboxCommand, SANDBOX_WORKDIR_MOUNT, validateSandboxImage } from "@guyghost/swarm-dao-core/delivery";
15
+ // The pure container command builder and image validation live in core
16
+ // (delivery/sandbox-command) and are shared with the delivery layer; this
17
+ // module keeps the executor-side concerns (runtime detection, outcome runner).
18
+ const DEFAULT_TIMEOUT_MS = 600_000;
19
+ export { buildSandboxCommand, SANDBOX_WORKDIR_MOUNT, validateSandboxImage };
20
+ const execAsync = promisify(execCallback);
21
+ const defaultExecRunner = async (command, timeoutMs) => {
22
+ try {
23
+ const { stdout, stderr } = await execAsync(command, { timeout: timeoutMs });
24
+ return { stdout, stderr, exitCode: 0 };
25
+ }
26
+ catch (error) {
27
+ const failure = error;
28
+ return {
29
+ stdout: failure.stdout ?? "",
30
+ stderr: failure.stderr ?? failure.message ?? "command failed",
31
+ exitCode: Number.isInteger(failure.code) ? failure.code : 1,
32
+ };
33
+ }
34
+ };
35
+ const tail = (value, max) => (value.length <= max ? value : `…${value.slice(-max + 1)}`);
36
+ /**
37
+ * An AnchorCommandRunner that executes each command inside a fresh bounded
38
+ * container. Errors surface as { ok: false } outcomes — an anchor honestly
39
+ * failed — never as thrown exceptions above the machine.
40
+ */
41
+ export function createSandboxRunCommand(options, runner = defaultExecRunner) {
42
+ return async (command) => {
43
+ const line = buildSandboxCommand({ ...options, runtime: options.mode }, command);
44
+ const result = await runner(line, options.timeoutMs ?? DEFAULT_TIMEOUT_MS);
45
+ if (result.exitCode !== 0) {
46
+ const detail = [result.stderr, result.stdout].filter((part) => part && part.length > 0).join(" ");
47
+ return { ok: false, detail: tail(detail.trim(), 300) || `exit ${result.exitCode}` };
48
+ }
49
+ return { ok: true, detail: tail(result.stdout.trim(), 300) || "exit 0" };
50
+ };
51
+ }
52
+ /** Probe a runtime binary by executing its version command. */
53
+ async function hasRuntime(binary, runner) {
54
+ const probe = await runner(`${binary} --version`, 10_000);
55
+ return probe.exitCode === 0;
56
+ }
57
+ /**
58
+ * Resolve an explicit or auto-detected sandbox mode. "auto" prefers Apple
59
+ * container on macOS-capable hosts, then Docker. Returns null for "none"
60
+ * (caller uses default host execution). Throws when auto-detection finds no
61
+ * runtime — an unreachable sandbox must never silently degrade to the host.
62
+ */
63
+ export async function resolveSandboxMode(requested, runner = defaultExecRunner) {
64
+ if (requested === "none")
65
+ return null;
66
+ if (requested === "docker" || requested === "container")
67
+ return requested;
68
+ if (await hasRuntime("container", runner))
69
+ return "container";
70
+ if (await hasRuntime("docker", runner))
71
+ return "docker";
72
+ throw new Error("sandbox mode 'auto' found neither Apple container nor Docker on this host");
73
+ }
74
+ /**
75
+ * Build the sandbox AnchorCommandRunner for an `improve once` invocation from
76
+ * CLI flags layered over `.dao/improvement.json` options. Returns null when
77
+ * the resolved mode is "none" (caller falls back to host execution). Explicit
78
+ * flags win over config; a sandbox mode without an image fails loudly.
79
+ */
80
+ export async function resolveSandboxRunCommand(request, workDir, runner = defaultExecRunner) {
81
+ const mode = await resolveSandboxMode(request.sandbox ?? "none", runner);
82
+ if (mode === null)
83
+ return null;
84
+ const image = request.image;
85
+ const imageError = image === undefined ? "sandbox execution requires an image" : validateSandboxImage(image);
86
+ if (imageError)
87
+ throw new Error(imageError);
88
+ return createSandboxRunCommand({
89
+ mode,
90
+ image: image,
91
+ workDir,
92
+ cpus: request.cpus,
93
+ memoryMb: request.memoryMb,
94
+ timeoutMs: request.timeoutMs,
95
+ }, runner);
96
+ }
97
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type ImprovementEvent, type ImprovementSignalSource } from "@guyghost/swarm-dao-core/models/improvement";
2
+ export type ImprovementSignal = Readonly<{
3
+ cycleId: string;
4
+ type: string;
5
+ source: ImprovementSignalSource;
6
+ producer: string;
7
+ occurredAt: string;
8
+ payload: Readonly<Record<string, unknown>>;
9
+ evidence: readonly string[];
10
+ }>;
11
+ export type ImprovementSignalValidation = Readonly<{
12
+ ok: true;
13
+ signal: ImprovementSignal;
14
+ event: ImprovementEvent;
15
+ }> | Readonly<{
16
+ ok: false;
17
+ issues: readonly string[];
18
+ }>;
19
+ export declare const validateImprovementSignal: (input: unknown) => ImprovementSignalValidation;
20
+ //# sourceMappingURL=signal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../src/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE7B,MAAM,6CAA6C,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GACnC,QAAQ,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC1E,QAAQ,CAAC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAqKvD,eAAO,MAAM,yBAAyB,GAAI,OAAO,OAAO,KAAG,2BAyE1D,CAAC"}