@aicalas/loopy 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +101 -0
- package/dist/adapters.d.ts +111 -0
- package/dist/adapters.d.ts.map +1 -0
- package/dist/adapters.js +27 -0
- package/dist/adapters.js.map +1 -0
- package/dist/attention/github.d.ts +57 -0
- package/dist/attention/github.d.ts.map +1 -0
- package/dist/attention/github.js +162 -0
- package/dist/attention/github.js.map +1 -0
- package/dist/authoring/attention-config.d.ts +16 -0
- package/dist/authoring/attention-config.d.ts.map +1 -0
- package/dist/authoring/attention-config.js +19 -0
- package/dist/authoring/attention-config.js.map +1 -0
- package/dist/authoring/channel-config.d.ts +16 -0
- package/dist/authoring/channel-config.d.ts.map +1 -0
- package/dist/authoring/channel-config.js +16 -0
- package/dist/authoring/channel-config.js.map +1 -0
- package/dist/authoring/define.d.ts +13 -0
- package/dist/authoring/define.d.ts.map +1 -0
- package/dist/authoring/define.js +13 -0
- package/dist/authoring/define.js.map +1 -0
- package/dist/authoring/effect-config.d.ts +16 -0
- package/dist/authoring/effect-config.d.ts.map +1 -0
- package/dist/authoring/effect-config.js +17 -0
- package/dist/authoring/effect-config.js.map +1 -0
- package/dist/authoring/harness-config.d.ts +30 -0
- package/dist/authoring/harness-config.d.ts.map +1 -0
- package/dist/authoring/harness-config.js +36 -0
- package/dist/authoring/harness-config.js.map +1 -0
- package/dist/authoring/index.d.ts +10 -0
- package/dist/authoring/index.d.ts.map +1 -0
- package/dist/authoring/index.js +9 -0
- package/dist/authoring/index.js.map +1 -0
- package/dist/authoring/schema.d.ts +9 -0
- package/dist/authoring/schema.d.ts.map +1 -0
- package/dist/authoring/schema.js +28 -0
- package/dist/authoring/schema.js.map +1 -0
- package/dist/authoring/types.d.ts +115 -0
- package/dist/authoring/types.d.ts.map +1 -0
- package/dist/authoring/types.js +2 -0
- package/dist/authoring/types.js.map +1 -0
- package/dist/authoring/watcher-config.d.ts +33 -0
- package/dist/authoring/watcher-config.d.ts.map +1 -0
- package/dist/authoring/watcher-config.js +61 -0
- package/dist/authoring/watcher-config.js.map +1 -0
- package/dist/build/discover.d.ts +34 -0
- package/dist/build/discover.d.ts.map +1 -0
- package/dist/build/discover.js +165 -0
- package/dist/build/discover.js.map +1 -0
- package/dist/build/identity.d.ts +9 -0
- package/dist/build/identity.d.ts.map +1 -0
- package/dist/build/identity.js +0 -0
- package/dist/build/identity.js.map +1 -0
- package/dist/channels/github.d.ts +14 -0
- package/dist/channels/github.d.ts.map +1 -0
- package/dist/channels/github.js +118 -0
- package/dist/channels/github.js.map +1 -0
- package/dist/channels/index.d.ts +2 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +2 -0
- package/dist/channels/index.js.map +1 -0
- package/dist/cli-help.d.ts +23 -0
- package/dist/cli-help.d.ts.map +1 -0
- package/dist/cli-help.js +186 -0
- package/dist/cli-help.js.map +1 -0
- package/dist/cli.d.ts +37 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +385 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +71 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +426 -0
- package/dist/config.js.map +1 -0
- package/dist/core/calls.d.ts +67 -0
- package/dist/core/calls.d.ts.map +1 -0
- package/dist/core/calls.js +109 -0
- package/dist/core/calls.js.map +1 -0
- package/dist/core/identifiers.d.ts +24 -0
- package/dist/core/identifiers.d.ts.map +1 -0
- package/dist/core/identifiers.js +129 -0
- package/dist/core/identifiers.js.map +1 -0
- package/dist/core/prompt.d.ts +5 -0
- package/dist/core/prompt.d.ts.map +1 -0
- package/dist/core/prompt.js +47 -0
- package/dist/core/prompt.js.map +1 -0
- package/dist/core/reconcile.d.ts +27 -0
- package/dist/core/reconcile.d.ts.map +1 -0
- package/dist/core/reconcile.js +36 -0
- package/dist/core/reconcile.js.map +1 -0
- package/dist/core/wire.d.ts +332 -0
- package/dist/core/wire.d.ts.map +1 -0
- package/dist/core/wire.js +543 -0
- package/dist/core/wire.js.map +1 -0
- package/dist/emitters/github.d.ts +15 -0
- package/dist/emitters/github.d.ts.map +1 -0
- package/dist/emitters/github.js +43 -0
- package/dist/emitters/github.js.map +1 -0
- package/dist/emitters/index.d.ts +2 -0
- package/dist/emitters/index.d.ts.map +1 -0
- package/dist/emitters/index.js +2 -0
- package/dist/emitters/index.js.map +1 -0
- package/dist/git.d.ts +17 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +122 -0
- package/dist/git.js.map +1 -0
- package/dist/github/client.d.ts +53 -0
- package/dist/github/client.d.ts.map +1 -0
- package/dist/github/client.js +169 -0
- package/dist/github/client.js.map +1 -0
- package/dist/github/trigger.d.ts +12 -0
- package/dist/github/trigger.d.ts.map +1 -0
- package/dist/github/trigger.js +21 -0
- package/dist/github/trigger.js.map +1 -0
- package/dist/github/writes.d.ts +4 -0
- package/dist/github/writes.d.ts.map +1 -0
- package/dist/github/writes.js +21 -0
- package/dist/github/writes.js.map +1 -0
- package/dist/harnesses/base.d.ts +41 -0
- package/dist/harnesses/base.d.ts.map +1 -0
- package/dist/harnesses/base.js +182 -0
- package/dist/harnesses/base.js.map +1 -0
- package/dist/harnesses/claude-executable.d.ts +42 -0
- package/dist/harnesses/claude-executable.d.ts.map +1 -0
- package/dist/harnesses/claude-executable.js +138 -0
- package/dist/harnesses/claude-executable.js.map +1 -0
- package/dist/harnesses/claude.d.ts +35 -0
- package/dist/harnesses/claude.d.ts.map +1 -0
- package/dist/harnesses/claude.js +160 -0
- package/dist/harnesses/claude.js.map +1 -0
- package/dist/harnesses/codex.d.ts +40 -0
- package/dist/harnesses/codex.d.ts.map +1 -0
- package/dist/harnesses/codex.js +118 -0
- package/dist/harnesses/codex.js.map +1 -0
- package/dist/harnesses/index.d.ts +2 -0
- package/dist/harnesses/index.d.ts.map +1 -0
- package/dist/harnesses/index.js +2 -0
- package/dist/harnesses/index.js.map +1 -0
- package/dist/harnesses/opencode.d.ts +33 -0
- package/dist/harnesses/opencode.d.ts.map +1 -0
- package/dist/harnesses/opencode.js +203 -0
- package/dist/harnesses/opencode.js.map +1 -0
- package/dist/identifiers.d.ts +26 -0
- package/dist/identifiers.d.ts.map +1 -0
- package/dist/identifiers.js +62 -0
- package/dist/identifiers.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/log.d.ts +10 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +44 -0
- package/dist/log.js.map +1 -0
- package/dist/settings.d.ts +43 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +128 -0
- package/dist/settings.js.map +1 -0
- package/dist/temporal/activities.d.ts +57 -0
- package/dist/temporal/activities.d.ts.map +1 -0
- package/dist/temporal/activities.js +366 -0
- package/dist/temporal/activities.js.map +1 -0
- package/dist/temporal/answers.d.ts +48 -0
- package/dist/temporal/answers.d.ts.map +1 -0
- package/dist/temporal/answers.js +78 -0
- package/dist/temporal/answers.js.map +1 -0
- package/dist/temporal/client.d.ts +13 -0
- package/dist/temporal/client.d.ts.map +1 -0
- package/dist/temporal/client.js +20 -0
- package/dist/temporal/client.js.map +1 -0
- package/dist/temporal/contracts.d.ts +19 -0
- package/dist/temporal/contracts.d.ts.map +1 -0
- package/dist/temporal/contracts.js +22 -0
- package/dist/temporal/contracts.js.map +1 -0
- package/dist/temporal/drain.d.ts +19 -0
- package/dist/temporal/drain.d.ts.map +1 -0
- package/dist/temporal/drain.js +109 -0
- package/dist/temporal/drain.js.map +1 -0
- package/dist/temporal/executions.d.ts +18 -0
- package/dist/temporal/executions.d.ts.map +1 -0
- package/dist/temporal/executions.js +15 -0
- package/dist/temporal/executions.js.map +1 -0
- package/dist/temporal/handle.d.ts +39 -0
- package/dist/temporal/handle.d.ts.map +1 -0
- package/dist/temporal/handle.js +95 -0
- package/dist/temporal/handle.js.map +1 -0
- package/dist/temporal/history.d.ts +75 -0
- package/dist/temporal/history.d.ts.map +1 -0
- package/dist/temporal/history.js +310 -0
- package/dist/temporal/history.js.map +1 -0
- package/dist/temporal/observe.d.ts +85 -0
- package/dist/temporal/observe.d.ts.map +1 -0
- package/dist/temporal/observe.js +110 -0
- package/dist/temporal/observe.js.map +1 -0
- package/dist/temporal/schedules.d.ts +26 -0
- package/dist/temporal/schedules.d.ts.map +1 -0
- package/dist/temporal/schedules.js +200 -0
- package/dist/temporal/schedules.js.map +1 -0
- package/dist/temporal/status.d.ts +63 -0
- package/dist/temporal/status.d.ts.map +1 -0
- package/dist/temporal/status.js +153 -0
- package/dist/temporal/status.js.map +1 -0
- package/dist/temporal/stuck.d.ts +58 -0
- package/dist/temporal/stuck.d.ts.map +1 -0
- package/dist/temporal/stuck.js +53 -0
- package/dist/temporal/stuck.js.map +1 -0
- package/dist/temporal/supervisor.d.ts +11 -0
- package/dist/temporal/supervisor.d.ts.map +1 -0
- package/dist/temporal/supervisor.js +506 -0
- package/dist/temporal/supervisor.js.map +1 -0
- package/dist/temporal/worker.d.ts +21 -0
- package/dist/temporal/worker.d.ts.map +1 -0
- package/dist/temporal/worker.js +82 -0
- package/dist/temporal/worker.js.map +1 -0
- package/dist/temporal/workflow-bundle.js +12742 -0
- package/dist/temporal/workflows.d.ts +9 -0
- package/dist/temporal/workflows.d.ts.map +1 -0
- package/dist/temporal/workflows.js +144 -0
- package/dist/temporal/workflows.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/dist/watchers/base.d.ts +4 -0
- package/dist/watchers/base.d.ts.map +1 -0
- package/dist/watchers/base.js +7 -0
- package/dist/watchers/base.js.map +1 -0
- package/dist/watchers/github/client.d.ts +52 -0
- package/dist/watchers/github/client.d.ts.map +1 -0
- package/dist/watchers/github/client.js +165 -0
- package/dist/watchers/github/client.js.map +1 -0
- package/dist/watchers/github/index.d.ts +19 -0
- package/dist/watchers/github/index.d.ts.map +1 -0
- package/dist/watchers/github/index.js +83 -0
- package/dist/watchers/github/index.js.map +1 -0
- package/dist/watchers/index.d.ts +2 -0
- package/dist/watchers/index.d.ts.map +1 -0
- package/dist/watchers/index.js +2 -0
- package/dist/watchers/index.js.map +1 -0
- package/dist/worker-lock.d.ts +11 -0
- package/dist/worker-lock.d.ts.map +1 -0
- package/dist/worker-lock.js +53 -0
- package/dist/worker-lock.js.map +1 -0
- package/package.json +92 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TriggerCandidate } from "./wire.js";
|
|
2
|
+
export declare function sha256(value: string): string;
|
|
3
|
+
export declare function slug(value: string): string;
|
|
4
|
+
/** Selects one workspace repository's instances; two deployments can share a Namespace. */
|
|
5
|
+
export declare function instanceIdPrefix(repository: string): string;
|
|
6
|
+
export declare function instanceWorkflowId(repository: string, workflow: string, trigger: TriggerCandidate): string;
|
|
7
|
+
/**
|
|
8
|
+
* A run-scoped reply token, rendered visibly in an ask's question so a human reply — typed or
|
|
9
|
+
* quoted — can be bound back to the exact call that asked it. Derived from `workflowId + callId`, so
|
|
10
|
+
* it is stable across `deliver` retries and unique per ask even when several share one issue.
|
|
11
|
+
*/
|
|
12
|
+
export declare function askToken(workflowId: string, callId: string): string;
|
|
13
|
+
/** The invisible marker loopy stamps on the question it posts, keyed timestamp-free for retry-safe dedup. */
|
|
14
|
+
export declare function askMarker(workflowId: string, callId: string): string;
|
|
15
|
+
export declare function pollScheduleId(repository: string, workflow: string): string;
|
|
16
|
+
/** The Workflow ID a poll Schedule starts each tick under; empty workflow gives the repository's prefix. */
|
|
17
|
+
export declare function pollRunWorkflowId(repository: string, workflow: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Every Workflow ID prefix this deployment is responsible for: its instances and the control runs
|
|
20
|
+
* its own Schedules start. Draining has to wait on all of them, since a control run that outlives
|
|
21
|
+
* the process resumes under the next build.
|
|
22
|
+
*/
|
|
23
|
+
export declare function ownedWorkflowIdPrefixes(repository: string): readonly string[];
|
|
24
|
+
//# sourceMappingURL=identifiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../src/core/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAwD5C;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO1C;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,GACxB,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,6GAA6G;AAC7G,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,4GAA4G;AAC5G,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAE7E"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
export function sha256(value) {
|
|
2
|
+
const bytes = new TextEncoder().encode(value);
|
|
3
|
+
const bitLength = bytes.length * 8;
|
|
4
|
+
const paddedLength = (bytes.length + 9 + 63) & ~63;
|
|
5
|
+
const message = new Uint8Array(paddedLength);
|
|
6
|
+
message.set(bytes);
|
|
7
|
+
message[bytes.length] = 0x80;
|
|
8
|
+
const view = new DataView(message.buffer);
|
|
9
|
+
view.setUint32(paddedLength - 8, Math.floor(bitLength / 2 ** 32));
|
|
10
|
+
view.setUint32(paddedLength - 4, bitLength >>> 0);
|
|
11
|
+
let h0 = 0x6a09e667;
|
|
12
|
+
let h1 = 0xbb67ae85;
|
|
13
|
+
let h2 = 0x3c6ef372;
|
|
14
|
+
let h3 = 0xa54ff53a;
|
|
15
|
+
let h4 = 0x510e527f;
|
|
16
|
+
let h5 = 0x9b05688c;
|
|
17
|
+
let h6 = 0x1f83d9ab;
|
|
18
|
+
let h7 = 0x5be0cd19;
|
|
19
|
+
const words = new Uint32Array(64);
|
|
20
|
+
for (let offset = 0; offset < message.length; offset += 64) {
|
|
21
|
+
for (let index = 0; index < 16; index += 1)
|
|
22
|
+
words[index] = view.getUint32(offset + index * 4);
|
|
23
|
+
for (let index = 16; index < 64; index += 1) {
|
|
24
|
+
const value = words[index - 15];
|
|
25
|
+
const next = words[index - 2];
|
|
26
|
+
words[index] =
|
|
27
|
+
(smallSigma0(value) +
|
|
28
|
+
words[index - 7] +
|
|
29
|
+
smallSigma1(next) +
|
|
30
|
+
words[index - 16]) >>>
|
|
31
|
+
0;
|
|
32
|
+
}
|
|
33
|
+
let [a, b, c, d, e, f, g, h] = [h0, h1, h2, h3, h4, h5, h6, h7];
|
|
34
|
+
for (let index = 0; index < 64; index += 1) {
|
|
35
|
+
const temp1 = (h +
|
|
36
|
+
bigSigma1(e) +
|
|
37
|
+
choose(e, f, g) +
|
|
38
|
+
CONSTANTS[index] +
|
|
39
|
+
words[index]) >>>
|
|
40
|
+
0;
|
|
41
|
+
const temp2 = (bigSigma0(a) + majority(a, b, c)) >>> 0;
|
|
42
|
+
[h, g, f, e, d, c, b, a] = [g, f, e, (d + temp1) >>> 0, c, b, a, (temp1 + temp2) >>> 0];
|
|
43
|
+
}
|
|
44
|
+
h0 = (h0 + a) >>> 0;
|
|
45
|
+
h1 = (h1 + b) >>> 0;
|
|
46
|
+
h2 = (h2 + c) >>> 0;
|
|
47
|
+
h3 = (h3 + d) >>> 0;
|
|
48
|
+
h4 = (h4 + e) >>> 0;
|
|
49
|
+
h5 = (h5 + f) >>> 0;
|
|
50
|
+
h6 = (h6 + g) >>> 0;
|
|
51
|
+
h7 = (h7 + h) >>> 0;
|
|
52
|
+
}
|
|
53
|
+
return [h0, h1, h2, h3, h4, h5, h6, h7]
|
|
54
|
+
.map((part) => part.toString(16).padStart(8, "0"))
|
|
55
|
+
.join("");
|
|
56
|
+
}
|
|
57
|
+
export function slug(value) {
|
|
58
|
+
const normalized = value
|
|
59
|
+
.toLowerCase()
|
|
60
|
+
.replaceAll(/[^a-z0-9]+/g, "-")
|
|
61
|
+
.replaceAll(/^-+|-+$/g, "") || "value";
|
|
62
|
+
return `${normalized.slice(0, 48)}-${sha256(value).slice(0, 12)}`;
|
|
63
|
+
}
|
|
64
|
+
/** Selects one workspace repository's instances; two deployments can share a Namespace. */
|
|
65
|
+
export function instanceIdPrefix(repository) {
|
|
66
|
+
return `loopy:instance:${slug(repository)}:`;
|
|
67
|
+
}
|
|
68
|
+
export function instanceWorkflowId(repository, workflow, trigger) {
|
|
69
|
+
return `${instanceIdPrefix(repository)}${workflow}:${sha256(`${trigger.source}\0${trigger.repository}\0${trigger.kind}\0${trigger.id}`)}`;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* A run-scoped reply token, rendered visibly in an ask's question so a human reply — typed or
|
|
73
|
+
* quoted — can be bound back to the exact call that asked it. Derived from `workflowId + callId`, so
|
|
74
|
+
* it is stable across `deliver` retries and unique per ask even when several share one issue.
|
|
75
|
+
*/
|
|
76
|
+
export function askToken(workflowId, callId) {
|
|
77
|
+
return sha256(`${workflowId}\0${callId}`).slice(0, 12);
|
|
78
|
+
}
|
|
79
|
+
/** The invisible marker loopy stamps on the question it posts, keyed timestamp-free for retry-safe dedup. */
|
|
80
|
+
export function askMarker(workflowId, callId) {
|
|
81
|
+
return `<!-- loopy:ask:${sha256(`${workflowId}\0${callId}`)} -->`;
|
|
82
|
+
}
|
|
83
|
+
export function pollScheduleId(repository, workflow) {
|
|
84
|
+
return `loopy:poll:${slug(repository)}:${workflow}`;
|
|
85
|
+
}
|
|
86
|
+
/** The Workflow ID a poll Schedule starts each tick under; empty workflow gives the repository's prefix. */
|
|
87
|
+
export function pollRunWorkflowId(repository, workflow) {
|
|
88
|
+
return `loopy:poll-run:${pollScheduleId(repository, workflow)}`;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Every Workflow ID prefix this deployment is responsible for: its instances and the control runs
|
|
92
|
+
* its own Schedules start. Draining has to wait on all of them, since a control run that outlives
|
|
93
|
+
* the process resumes under the next build.
|
|
94
|
+
*/
|
|
95
|
+
export function ownedWorkflowIdPrefixes(repository) {
|
|
96
|
+
return [instanceIdPrefix(repository), pollRunWorkflowId(repository, "")];
|
|
97
|
+
}
|
|
98
|
+
function rightRotate(value, amount) {
|
|
99
|
+
return (value >>> amount) | (value << (32 - amount));
|
|
100
|
+
}
|
|
101
|
+
function choose(x, y, z) {
|
|
102
|
+
return (x & y) ^ (~x & z);
|
|
103
|
+
}
|
|
104
|
+
function majority(x, y, z) {
|
|
105
|
+
return (x & y) ^ (x & z) ^ (y & z);
|
|
106
|
+
}
|
|
107
|
+
function bigSigma0(value) {
|
|
108
|
+
return rightRotate(value, 2) ^ rightRotate(value, 13) ^ rightRotate(value, 22);
|
|
109
|
+
}
|
|
110
|
+
function bigSigma1(value) {
|
|
111
|
+
return rightRotate(value, 6) ^ rightRotate(value, 11) ^ rightRotate(value, 25);
|
|
112
|
+
}
|
|
113
|
+
function smallSigma0(value) {
|
|
114
|
+
return rightRotate(value, 7) ^ rightRotate(value, 18) ^ (value >>> 3);
|
|
115
|
+
}
|
|
116
|
+
function smallSigma1(value) {
|
|
117
|
+
return rightRotate(value, 17) ^ rightRotate(value, 19) ^ (value >>> 10);
|
|
118
|
+
}
|
|
119
|
+
const CONSTANTS = new Uint32Array([
|
|
120
|
+
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
121
|
+
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
122
|
+
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
123
|
+
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
124
|
+
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
125
|
+
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
126
|
+
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
127
|
+
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
|
|
128
|
+
]);
|
|
129
|
+
//# sourceMappingURL=identifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../src/core/identifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const STANDARD_PLACEHOLDERS: Set<"base_branch" | "harness" | "id" | "model" | "model_effort" | "repo" | "target_branch" | "workflow_run_id" | "workspace" | "workspace_branch">;
|
|
2
|
+
export declare const RESERVED_PLACEHOLDERS: ReadonlySet<string>;
|
|
3
|
+
export declare function templateErrors(text: string, availableOutcomes: ReadonlySet<string>, dataPlaceholders?: ReadonlySet<string>): string[];
|
|
4
|
+
export declare function render(text: string, values: Readonly<Record<string, string>>, outcomes: Readonly<Record<string, string>>): string;
|
|
5
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,oJAWvB,CAAC;AAEZ,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAGpD,CAAC;AAIH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,EACtC,gBAAgB,GAAE,WAAW,CAAC,MAAM,CAAa,GAChD,MAAM,EAAE,CAmBV;AAED,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACxC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACzC,MAAM,CAMR"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export const STANDARD_PLACEHOLDERS = new Set([
|
|
2
|
+
"repo",
|
|
3
|
+
"workflow_run_id",
|
|
4
|
+
"id",
|
|
5
|
+
"harness",
|
|
6
|
+
"model",
|
|
7
|
+
"model_effort",
|
|
8
|
+
"workspace",
|
|
9
|
+
"workspace_branch",
|
|
10
|
+
"target_branch",
|
|
11
|
+
"base_branch",
|
|
12
|
+
]);
|
|
13
|
+
export const RESERVED_PLACEHOLDERS = new Set([
|
|
14
|
+
...STANDARD_PLACEHOLDERS,
|
|
15
|
+
"outcomes",
|
|
16
|
+
]);
|
|
17
|
+
const TOKEN = /\{([a-z_]+)(?::([A-Za-z0-9][A-Za-z0-9._-]*))?\}/g;
|
|
18
|
+
export function templateErrors(text, availableOutcomes, dataPlaceholders = new Set()) {
|
|
19
|
+
const errors = new Set();
|
|
20
|
+
for (const match of text.matchAll(TOKEN)) {
|
|
21
|
+
const [token, name, outcomeId] = match;
|
|
22
|
+
if (name === "outcomes") {
|
|
23
|
+
if (outcomeId === undefined) {
|
|
24
|
+
errors.add("placeholder {outcomes} needs a step or bundle id");
|
|
25
|
+
}
|
|
26
|
+
else if (!availableOutcomes.has(outcomeId)) {
|
|
27
|
+
errors.add(`outcome {outcomes:${outcomeId}} is not available here`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else if (outcomeId !== undefined ||
|
|
31
|
+
name === undefined ||
|
|
32
|
+
(!STANDARD_PLACEHOLDERS.has(name) && !dataPlaceholders.has(name))) {
|
|
33
|
+
errors.add(`unknown placeholder ${token}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return [...errors].sort();
|
|
37
|
+
}
|
|
38
|
+
export function render(text, values, outcomes) {
|
|
39
|
+
return text.replaceAll(TOKEN, (token, name, outcomeId) => {
|
|
40
|
+
if (name === "outcomes" && outcomeId !== undefined)
|
|
41
|
+
return outcomes[outcomeId] ?? "null";
|
|
42
|
+
if (outcomeId === undefined && Object.hasOwn(values, name))
|
|
43
|
+
return values[name] ?? "";
|
|
44
|
+
return token;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IAC3C,MAAM;IACN,iBAAiB;IACjB,IAAI;IACJ,SAAS;IACT,OAAO;IACP,cAAc;IACd,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,aAAa;CACL,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IAChE,GAAG,qBAAqB;IACxB,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,kDAAkD,CAAC;AAEjE,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,iBAAsC,EACtC,gBAAgB,GAAwB,IAAI,GAAG,EAAE;IAEjD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QACvC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,GAAG,CAAC,qBAAqB,SAAS,yBAAyB,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,IACL,SAAS,KAAK,SAAS;YACvB,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC1E,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,IAAY,EACZ,MAAwC,EACxC,QAA0C;IAE1C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,SAA6B,EAAE,EAAE;QACnF,IAAI,IAAI,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;QACzF,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AgentCallResult, EffectResult, WorkflowSpecSnapshot } from "./wire.js";
|
|
2
|
+
export type OperationDisposition = "succeeded" | "failed" | "indeterminate";
|
|
3
|
+
export interface EntryObservation {
|
|
4
|
+
disposition: OperationDisposition;
|
|
5
|
+
reason?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ReconcileState {
|
|
8
|
+
entryIndex: number;
|
|
9
|
+
observation?: EntryObservation;
|
|
10
|
+
}
|
|
11
|
+
export type ReconcileDecision = {
|
|
12
|
+
type: "execute";
|
|
13
|
+
entryIndex: number;
|
|
14
|
+
} | {
|
|
15
|
+
type: "complete";
|
|
16
|
+
} | {
|
|
17
|
+
type: "halt";
|
|
18
|
+
reason: string;
|
|
19
|
+
} | {
|
|
20
|
+
type: "await_reconciliation";
|
|
21
|
+
reason: string;
|
|
22
|
+
};
|
|
23
|
+
export declare function advance(spec: WorkflowSpecSnapshot, state: ReconcileState): ReconcileDecision;
|
|
24
|
+
export declare function agentDisposition(result: AgentCallResult): OperationDisposition;
|
|
25
|
+
export declare function effectDisposition(result: EffectResult): OperationDisposition;
|
|
26
|
+
export declare function bundleDisposition(results: readonly AgentCallResult[]): OperationDisposition;
|
|
27
|
+
//# sourceMappingURL=reconcile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/core/reconcile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAErF,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,oBAAoB,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,wBAAgB,OAAO,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,GAAG,iBAAiB,CAe5F;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,CAG9E;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,CAG5E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,oBAAoB,CAK3F"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export function advance(spec, state) {
|
|
2
|
+
if (state.entryIndex >= spec.entries.length)
|
|
3
|
+
return { type: "complete" };
|
|
4
|
+
const observation = state.observation;
|
|
5
|
+
if (observation === undefined)
|
|
6
|
+
return { type: "execute", entryIndex: state.entryIndex };
|
|
7
|
+
if (observation.disposition === "indeterminate") {
|
|
8
|
+
return {
|
|
9
|
+
type: "await_reconciliation",
|
|
10
|
+
reason: observation.reason ?? "operation-indeterminate",
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
if (observation.disposition === "failed") {
|
|
14
|
+
return { type: "halt", reason: observation.reason ?? "operation-failed" };
|
|
15
|
+
}
|
|
16
|
+
const next = state.entryIndex + 1;
|
|
17
|
+
return next >= spec.entries.length ? { type: "complete" } : { type: "execute", entryIndex: next };
|
|
18
|
+
}
|
|
19
|
+
export function agentDisposition(result) {
|
|
20
|
+
if (result.status === "indeterminate")
|
|
21
|
+
return "indeterminate";
|
|
22
|
+
return result.status === "returned" && result.outcome.ok ? "succeeded" : "failed";
|
|
23
|
+
}
|
|
24
|
+
export function effectDisposition(result) {
|
|
25
|
+
if (result.status === "indeterminate")
|
|
26
|
+
return "indeterminate";
|
|
27
|
+
return result.status === "completed" ? "succeeded" : "failed";
|
|
28
|
+
}
|
|
29
|
+
export function bundleDisposition(results) {
|
|
30
|
+
if (results.some((result) => result.status === "indeterminate"))
|
|
31
|
+
return "indeterminate";
|
|
32
|
+
return results.every((result) => agentDisposition(result) === "succeeded")
|
|
33
|
+
? "succeeded"
|
|
34
|
+
: "failed";
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=reconcile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/core/reconcile.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,OAAO,CAAC,IAA0B,EAAE,KAAqB;IACvE,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACzE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;IACxF,IAAI,WAAW,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;QAChD,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,yBAAyB;SACxD,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;IAC5E,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,eAAe;QAAE,OAAO,eAAe,CAAC;IAC9D,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,eAAe;QAAE,OAAO,eAAe,CAAC;IAC9D,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAmC;IACnE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,eAAe,CAAC;QAAE,OAAO,eAAe,CAAC;IACxF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC;QACxE,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
export type JsonPrimitive = null | boolean | number | string;
|
|
2
|
+
export type JsonValue = JsonPrimitive | JsonValue[] | {
|
|
3
|
+
[key: string]: JsonValue;
|
|
4
|
+
};
|
|
5
|
+
export type JsonObject = {
|
|
6
|
+
[key: string]: JsonValue;
|
|
7
|
+
};
|
|
8
|
+
/** Accepts `as const` literals, which authoring surfaces take and never mutate. */
|
|
9
|
+
export type ReadonlyJsonValue = JsonPrimitive | readonly ReadonlyJsonValue[] | {
|
|
10
|
+
readonly [key: string]: ReadonlyJsonValue;
|
|
11
|
+
};
|
|
12
|
+
export type ReadonlyJsonObject = {
|
|
13
|
+
readonly [key: string]: ReadonlyJsonValue;
|
|
14
|
+
};
|
|
15
|
+
export type InstanceDomainStatus = "completed" | "halted";
|
|
16
|
+
export type InstanceRuntimeStatus = "running" | "awaiting_reconciliation" | "awaiting_answer" | "halted";
|
|
17
|
+
export interface TriggerCandidate {
|
|
18
|
+
source: string;
|
|
19
|
+
/** SHA-256 of the source-specific trigger identity, stamped by the watcher Activity. */
|
|
20
|
+
digest: string;
|
|
21
|
+
/** Repository containing the trigger object, independent of the agent's workspace repository. */
|
|
22
|
+
repository: string;
|
|
23
|
+
kind: string;
|
|
24
|
+
id: string;
|
|
25
|
+
baseBranch?: string;
|
|
26
|
+
targetBranch?: string;
|
|
27
|
+
data: JsonObject;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* A watcher selector plus its match options, as carried on the wire (Schedules and `run_watcher`).
|
|
31
|
+
* The intake claim binder stays on the bundle's own `WatcherDeclaration` - code cannot travel - so
|
|
32
|
+
* the wire shape is just the adapter name and its match options.
|
|
33
|
+
*/
|
|
34
|
+
export interface WatcherSnapshot {
|
|
35
|
+
name: string;
|
|
36
|
+
options: JsonObject;
|
|
37
|
+
}
|
|
38
|
+
/** One prompt segment: a literal, or a file the agent Activity reads and substitutes. */
|
|
39
|
+
export type PromptPart = string | {
|
|
40
|
+
file: string;
|
|
41
|
+
};
|
|
42
|
+
export interface HarnessConfig {
|
|
43
|
+
harness: string;
|
|
44
|
+
options: JsonObject;
|
|
45
|
+
}
|
|
46
|
+
export interface EffectConfig {
|
|
47
|
+
emitter: string;
|
|
48
|
+
action: JsonObject;
|
|
49
|
+
}
|
|
50
|
+
export interface AttentionConfig {
|
|
51
|
+
emitter: string;
|
|
52
|
+
options: JsonObject;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* A channel adapter plus its explicit inputs (for GitHub comments: repository, issue, credentials).
|
|
56
|
+
* The adapter reads nothing from the trigger or ambient context - the author populates these from
|
|
57
|
+
* `ctx` - so `core/wire.ts` names no channel-specific shape beyond the opaque `options` blob.
|
|
58
|
+
*/
|
|
59
|
+
export interface ChannelConfig {
|
|
60
|
+
channel: string;
|
|
61
|
+
options: JsonObject;
|
|
62
|
+
}
|
|
63
|
+
export interface InstanceWorkflowInput {
|
|
64
|
+
workflow: string;
|
|
65
|
+
repository: string;
|
|
66
|
+
defaultBranch: string;
|
|
67
|
+
trigger: TriggerCandidate;
|
|
68
|
+
attention?: AttentionConfig;
|
|
69
|
+
agentTaskQueue: string;
|
|
70
|
+
}
|
|
71
|
+
export interface PollWorkflowInput {
|
|
72
|
+
workflow: string;
|
|
73
|
+
repository: string;
|
|
74
|
+
defaultBranch: string;
|
|
75
|
+
watcher?: WatcherSnapshot;
|
|
76
|
+
attention?: AttentionConfig;
|
|
77
|
+
agentTaskQueue: string;
|
|
78
|
+
/** Shell-computed prefix; Workflow code only concatenates this with the candidate digest. */
|
|
79
|
+
instanceIdPrefix: string;
|
|
80
|
+
}
|
|
81
|
+
export interface RunWatcherInput {
|
|
82
|
+
repository: string;
|
|
83
|
+
watcher: WatcherSnapshot;
|
|
84
|
+
}
|
|
85
|
+
/** `stuck` and `answered` travel on both outcomes: the observers run even when the watcher cannot. */
|
|
86
|
+
export type PollResult = {
|
|
87
|
+
status: "completed";
|
|
88
|
+
started: string[];
|
|
89
|
+
skipped: string[];
|
|
90
|
+
stuck: string[];
|
|
91
|
+
answered: string[];
|
|
92
|
+
} | {
|
|
93
|
+
status: "failed";
|
|
94
|
+
started: [];
|
|
95
|
+
skipped: [];
|
|
96
|
+
stuck: string[];
|
|
97
|
+
answered: string[];
|
|
98
|
+
reason: string;
|
|
99
|
+
};
|
|
100
|
+
export interface RunAgentInput {
|
|
101
|
+
/** The repository cloned by this Worker Process and provisioned into the agent workspace. */
|
|
102
|
+
repository: string;
|
|
103
|
+
/** Branch in the workspace repository from which a new agent branch starts. */
|
|
104
|
+
baseBranch: string;
|
|
105
|
+
trigger: TriggerCandidate;
|
|
106
|
+
workflowRunId: string;
|
|
107
|
+
/** Workspace key: stable across a Continue-As-New chain so a session's `cwd` never moves. */
|
|
108
|
+
chainId: string;
|
|
109
|
+
targetBranch: string;
|
|
110
|
+
handleId: string;
|
|
111
|
+
callId: string;
|
|
112
|
+
invocation: number;
|
|
113
|
+
resumeSessionId?: string;
|
|
114
|
+
harness: string;
|
|
115
|
+
options: JsonObject;
|
|
116
|
+
timeoutSeconds: number;
|
|
117
|
+
promptParts: PromptPart[];
|
|
118
|
+
schema: JsonObject;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* A `sessionId` is present whenever the provider minted one, including on definitive failures.
|
|
122
|
+
* Workflow-synthesized `indeterminate` results never carry one, because the workflow never saw
|
|
123
|
+
* the provider's answer.
|
|
124
|
+
*/
|
|
125
|
+
export type AgentCallResult = {
|
|
126
|
+
status: "returned";
|
|
127
|
+
value: JsonValue;
|
|
128
|
+
sessionId?: string;
|
|
129
|
+
usage?: JsonObject;
|
|
130
|
+
} | {
|
|
131
|
+
status: "failed" | "deadline_exceeded";
|
|
132
|
+
reason: string;
|
|
133
|
+
sessionId?: string;
|
|
134
|
+
usage?: JsonObject;
|
|
135
|
+
} | {
|
|
136
|
+
status: "indeterminate";
|
|
137
|
+
reason: string;
|
|
138
|
+
};
|
|
139
|
+
export interface RunEffectInput {
|
|
140
|
+
/** Worker scoping only: the emitter reads its own target repository from `action`. */
|
|
141
|
+
repository: string;
|
|
142
|
+
effectId: string;
|
|
143
|
+
emitter: string;
|
|
144
|
+
action: JsonObject;
|
|
145
|
+
}
|
|
146
|
+
export type EffectResult = {
|
|
147
|
+
status: "completed";
|
|
148
|
+
detail?: JsonObject;
|
|
149
|
+
} | {
|
|
150
|
+
status: "failed";
|
|
151
|
+
reason: string;
|
|
152
|
+
detail?: JsonObject;
|
|
153
|
+
};
|
|
154
|
+
export type AttentionKind = "halted" | "awaiting_reconciliation" | "stuck" | "awaiting_answer";
|
|
155
|
+
/**
|
|
156
|
+
* One human-actionable workflow state, normalized by the engine. The workflow's attention adapter
|
|
157
|
+
* decides how to surface it; nothing here is specific to any external medium.
|
|
158
|
+
*/
|
|
159
|
+
export interface AttentionEvent {
|
|
160
|
+
kind: AttentionKind;
|
|
161
|
+
workflowId: string;
|
|
162
|
+
/** Absent when the observer could not resolve a Run, never for engine-emitted events. */
|
|
163
|
+
runId?: string;
|
|
164
|
+
workflowName: string;
|
|
165
|
+
/** Human-readable trigger descriptor (`source:repository:kind:id`) rendered by the adapter. */
|
|
166
|
+
triggerRef: string;
|
|
167
|
+
reason: string;
|
|
168
|
+
occurredAt: string;
|
|
169
|
+
/** The parked call, for `awaiting_reconciliation` events. */
|
|
170
|
+
callAddress?: string;
|
|
171
|
+
/** The halted instance's cleanup outcome, reported alongside rather than instead of the reason. */
|
|
172
|
+
cleanup?: CleanupResult;
|
|
173
|
+
suggestedCommands: string[];
|
|
174
|
+
}
|
|
175
|
+
export interface EmitAttentionInput {
|
|
176
|
+
repository: string;
|
|
177
|
+
trigger: TriggerCandidate;
|
|
178
|
+
attention: AttentionConfig;
|
|
179
|
+
event: AttentionEvent;
|
|
180
|
+
}
|
|
181
|
+
/** `skipped` means the adapter found the event already surfaced; both are success. */
|
|
182
|
+
export interface AttentionEmitResult {
|
|
183
|
+
status: "emitted" | "skipped";
|
|
184
|
+
}
|
|
185
|
+
export interface ObserveInstancesInput {
|
|
186
|
+
repository: string;
|
|
187
|
+
workflow: string;
|
|
188
|
+
}
|
|
189
|
+
export interface ObserveInstancesResult {
|
|
190
|
+
/** Workflow IDs whose stuck state was newly surfaced this scan. */
|
|
191
|
+
stuck: string[];
|
|
192
|
+
/** `<workflowId>:<callId>` for each ask this scan delivered an answer to. */
|
|
193
|
+
answered: string[];
|
|
194
|
+
}
|
|
195
|
+
/** Deliver one ask's question through a channel adapter and return its opaque correlation. */
|
|
196
|
+
export interface DeliverQuestionInput {
|
|
197
|
+
/** Worker scoping only: the adapter reads its own target repository from `options`. */
|
|
198
|
+
repository: string;
|
|
199
|
+
channel: string;
|
|
200
|
+
options: JsonObject;
|
|
201
|
+
/** Rendered into the question so a human reply can be bound back to this exact ask. */
|
|
202
|
+
workflowId: string;
|
|
203
|
+
callId: string;
|
|
204
|
+
promptParts: PromptPart[];
|
|
205
|
+
}
|
|
206
|
+
export interface DeliverQuestionResult {
|
|
207
|
+
/** Adapter-owned state (`poll` decodes it); `core/wire.ts` names none of its shape. */
|
|
208
|
+
correlation: JsonValue;
|
|
209
|
+
/** The exact comment body posted, recorded into call state so history proves what was asked. */
|
|
210
|
+
renderedQuestion: string;
|
|
211
|
+
}
|
|
212
|
+
/** One channel `poll`: an answer arrived, or the ask is still waiting for a reply. */
|
|
213
|
+
export type ChannelPollResult = {
|
|
214
|
+
status: "answered";
|
|
215
|
+
answer: string;
|
|
216
|
+
} | {
|
|
217
|
+
status: "waiting";
|
|
218
|
+
};
|
|
219
|
+
/** Feeds one ask's answer into an instance, from the reply-poll or from `loopy answer`. */
|
|
220
|
+
export interface AnswerRequest {
|
|
221
|
+
callId: string;
|
|
222
|
+
answer: string;
|
|
223
|
+
}
|
|
224
|
+
export interface CleanupWorkspaceInput {
|
|
225
|
+
chainId: string;
|
|
226
|
+
}
|
|
227
|
+
export interface CleanupWorkspaceResult {
|
|
228
|
+
removed: string[];
|
|
229
|
+
}
|
|
230
|
+
export type CleanupResult = {
|
|
231
|
+
status: "completed";
|
|
232
|
+
removed: string[];
|
|
233
|
+
} | {
|
|
234
|
+
status: "failed";
|
|
235
|
+
reason: string;
|
|
236
|
+
};
|
|
237
|
+
/** Which supervised operation a call addresses; all share one registry and one address space. */
|
|
238
|
+
export type CallOperation = "agent" | "effect" | "ask";
|
|
239
|
+
export type CallState = {
|
|
240
|
+
kind: "running";
|
|
241
|
+
callId: string;
|
|
242
|
+
operation: CallOperation;
|
|
243
|
+
handleId: string;
|
|
244
|
+
invocation: number;
|
|
245
|
+
} | {
|
|
246
|
+
kind: "parked";
|
|
247
|
+
callId: string;
|
|
248
|
+
operation: CallOperation;
|
|
249
|
+
handleId: string;
|
|
250
|
+
invocation: number;
|
|
251
|
+
reason: string;
|
|
252
|
+
} | {
|
|
253
|
+
kind: "awaiting_answer";
|
|
254
|
+
callId: string;
|
|
255
|
+
operation: CallOperation;
|
|
256
|
+
handleId: string;
|
|
257
|
+
/** Which channel adapter's `poll` reads a reply for this ask. */
|
|
258
|
+
channel: string;
|
|
259
|
+
/** Adapter-owned correlation the reply-poll passes back to `poll`; opaque to the engine. */
|
|
260
|
+
correlation: JsonValue;
|
|
261
|
+
/** The exact question posted, for status and Event History. */
|
|
262
|
+
question: string;
|
|
263
|
+
} | {
|
|
264
|
+
kind: "returned";
|
|
265
|
+
callId: string;
|
|
266
|
+
operation: CallOperation;
|
|
267
|
+
handleId: string;
|
|
268
|
+
sessionId?: string;
|
|
269
|
+
} | {
|
|
270
|
+
kind: "failed";
|
|
271
|
+
callId: string;
|
|
272
|
+
operation: CallOperation;
|
|
273
|
+
handleId: string;
|
|
274
|
+
reason: string;
|
|
275
|
+
};
|
|
276
|
+
export interface TerminalHalt {
|
|
277
|
+
reason: string;
|
|
278
|
+
}
|
|
279
|
+
export interface InstanceState {
|
|
280
|
+
workflow: string;
|
|
281
|
+
trigger: TriggerCandidate;
|
|
282
|
+
domainStatus: InstanceRuntimeStatus;
|
|
283
|
+
calls: CallState[];
|
|
284
|
+
callsUsed: number;
|
|
285
|
+
callLimit: number;
|
|
286
|
+
terminal?: TerminalHalt;
|
|
287
|
+
}
|
|
288
|
+
interface InstanceResultData {
|
|
289
|
+
workflow: string;
|
|
290
|
+
calls: CallState[];
|
|
291
|
+
effects: Record<string, EffectResult>;
|
|
292
|
+
cleanup: CleanupResult;
|
|
293
|
+
}
|
|
294
|
+
export type InstanceResult = (InstanceResultData & {
|
|
295
|
+
domainStatus: "completed";
|
|
296
|
+
value: JsonValue;
|
|
297
|
+
}) | (InstanceResultData & {
|
|
298
|
+
domainStatus: "halted";
|
|
299
|
+
reason: string;
|
|
300
|
+
});
|
|
301
|
+
export interface ResolveRequest {
|
|
302
|
+
callId: string;
|
|
303
|
+
action: "retry" | "halt";
|
|
304
|
+
}
|
|
305
|
+
export declare function parseInstanceWorkflowInput(value: unknown): InstanceWorkflowInput;
|
|
306
|
+
export declare function parsePollWorkflowInput(value: unknown): PollWorkflowInput;
|
|
307
|
+
export declare function parseRunWatcherInput(value: unknown): RunWatcherInput;
|
|
308
|
+
export declare function parseRunAgentInput(value: unknown): RunAgentInput;
|
|
309
|
+
export declare function parseRunEffectInput(value: unknown): RunEffectInput;
|
|
310
|
+
export declare function parseEmitAttentionInput(value: unknown): EmitAttentionInput;
|
|
311
|
+
export declare function parseAttentionEvent(value: unknown): AttentionEvent;
|
|
312
|
+
export declare function parseAttentionEmitResult(value: unknown): AttentionEmitResult;
|
|
313
|
+
export declare function parseObserveInstancesInput(value: unknown): ObserveInstancesInput;
|
|
314
|
+
export declare function parseObserveInstancesResult(value: unknown): ObserveInstancesResult;
|
|
315
|
+
export declare function parseChannelConfig(value: unknown): ChannelConfig;
|
|
316
|
+
export declare function parseDeliverQuestionInput(value: unknown): DeliverQuestionInput;
|
|
317
|
+
export declare function parseDeliverQuestionResult(value: unknown): DeliverQuestionResult;
|
|
318
|
+
export declare function parseChannelPollResult(value: unknown): ChannelPollResult;
|
|
319
|
+
export declare function parseAnswerRequest(value: unknown): AnswerRequest;
|
|
320
|
+
export declare function parseCleanupWorkspaceInput(value: unknown): CleanupWorkspaceInput;
|
|
321
|
+
export declare function parseResolveRequest(value: unknown): ResolveRequest;
|
|
322
|
+
export declare function parseTriggerCandidates(value: unknown): TriggerCandidate[];
|
|
323
|
+
export declare function parseAgentCallResult(value: unknown): AgentCallResult;
|
|
324
|
+
export declare function parseEffectResult(value: unknown): EffectResult;
|
|
325
|
+
export declare function parseInstanceState(value: unknown): InstanceState;
|
|
326
|
+
export declare function parseInstanceResult(value: unknown): InstanceResult;
|
|
327
|
+
export declare function toJsonObject(value: unknown, label?: string): JsonObject;
|
|
328
|
+
export declare function isJsonValue(value: unknown): value is JsonValue;
|
|
329
|
+
/** The `source:repository:kind:id` descriptor a human-facing surface renders for a trigger. */
|
|
330
|
+
export declare function triggerReference(trigger: TriggerCandidate): string;
|
|
331
|
+
export {};
|
|
332
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/core/wire.ts"],"names":[],"mappings":"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"}
|