terse-sdk 0.4.7 → 0.5.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/dist/durableExecution.d.ts +16 -0
- package/dist/durableExecution.d.ts.map +1 -0
- package/dist/durableExecution.js +32 -0
- package/dist/durableExecution.js.map +1 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +2 -3
- package/dist/execution.js.map +1 -1
- package/dist/index.d.ts +12 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +158 -83
- package/dist/index.js.map +1 -1
- package/dist/inputRequest.d.ts +16 -0
- package/dist/inputRequest.d.ts.map +1 -1
- package/dist/inputRequest.js +71 -45
- package/dist/inputRequest.js.map +1 -1
- package/dist/runIdentity/index.d.ts.map +1 -1
- package/dist/runIdentity/index.js +1 -2
- package/dist/runIdentity/index.js.map +1 -1
- package/package.json +5 -6
- package/dist/runIdentity/workflowSource.d.ts +0 -3
- package/dist/runIdentity/workflowSource.d.ts.map +0 -1
- package/dist/runIdentity/workflowSource.js +0 -16
- package/dist/runIdentity/workflowSource.js.map +0 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { StepStartedEvent } from "little-durable";
|
|
2
|
+
type CanonicalInput = StepStartedEvent["input"];
|
|
3
|
+
export type DurableStepParams<Input extends CanonicalInput, Output> = {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly input: Input;
|
|
6
|
+
readonly run: (input: Input) => Output | Promise<Output>;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Runtime target for the `step(call())` source transform. The envelope lets a
|
|
10
|
+
* normal JavaScript `void` result cross a journal that intentionally stores
|
|
11
|
+
* JSON only; every non-undefined result is still validated by the journal.
|
|
12
|
+
*/
|
|
13
|
+
export declare function __runDurableStep<Input extends CanonicalInput, Output>({ name, input, run }: DurableStepParams<Input, Output>): Promise<Output>;
|
|
14
|
+
export declare function runSdkStep<Input extends CanonicalInput, Output>(params: DurableStepParams<Input, Output>): Promise<Output>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=durableExecution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durableExecution.d.ts","sourceRoot":"","sources":["../src/durableExecution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAI1E,KAAK,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;AAG/C,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,cAAc,EAAE,MAAM,IAAI;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC3D,CAAA;AAID;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,SAAS,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpJ;AAED,wBAAsB,UAAU,CAAC,KAAK,SAAS,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhI"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { step as durableStep, getExecutionPhase } from "little-durable";
|
|
2
|
+
import { DurableOnlyError } from "./execution.js";
|
|
3
|
+
/**
|
|
4
|
+
* Runtime target for the `step(call())` source transform. The envelope lets a
|
|
5
|
+
* normal JavaScript `void` result cross a journal that intentionally stores
|
|
6
|
+
* JSON only; every non-undefined result is still validated by the journal.
|
|
7
|
+
*/
|
|
8
|
+
export async function __runDurableStep({ name, input, run }) {
|
|
9
|
+
assertWorkflowPhase("step()");
|
|
10
|
+
const stored = await durableStep({
|
|
11
|
+
name,
|
|
12
|
+
input,
|
|
13
|
+
run: async (stepInput) => {
|
|
14
|
+
const value = await run(stepInput);
|
|
15
|
+
if (value === undefined)
|
|
16
|
+
return { type: "undefined" };
|
|
17
|
+
return { type: "value", value: value };
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
return (stored.type === "undefined" ? undefined : stored.value);
|
|
21
|
+
}
|
|
22
|
+
export async function runSdkStep(params) {
|
|
23
|
+
if (getExecutionPhase() !== "workflow")
|
|
24
|
+
return params.run(params.input);
|
|
25
|
+
return __runDurableStep(params);
|
|
26
|
+
}
|
|
27
|
+
function assertWorkflowPhase(name) {
|
|
28
|
+
if (getExecutionPhase() !== "workflow") {
|
|
29
|
+
throw new DurableOnlyError(`${name} is only available in durable jobs. Add \`durable: true\` to this job.`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=durableExecution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durableExecution.js","sourceRoot":"","sources":["../src/durableExecution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAajD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAuC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAoC;IAC/H,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAE7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAA0B;QACtD,IAAI;QACJ,KAAK;QACL,GAAG,EAAE,KAAK,EAAC,SAAS,EAAC,EAAE;YACnB,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,CAAA;YAClC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;YACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAwB,EAAE,CAAA;QAC7D,CAAC;KACJ,CAAC,CAAA;IAEF,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAW,CAAA;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAuC,MAAwC;IAC3G,IAAI,iBAAiB,EAAE,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACrC,IAAI,iBAAiB,EAAE,KAAK,UAAU,EAAE,CAAC;QACrC,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,wEAAwE,CAAC,CAAA;IAC/G,CAAC;AACL,CAAC"}
|
package/dist/execution.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAIA,qBAAa,gBAAiB,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI9B;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAID,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
|
package/dist/execution.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
+
import { getExecutionPhase } from "little-durable";
|
|
1
2
|
export class DurableOnlyError extends Error {
|
|
2
3
|
constructor(message) {
|
|
3
4
|
super(message);
|
|
4
5
|
this.name = "DurableOnlyError";
|
|
5
6
|
}
|
|
6
7
|
}
|
|
7
|
-
// The durable runtime injects its sleep implementation on globalThis; its presence is
|
|
8
|
-
// how we detect that we're running inside a durable job.
|
|
9
8
|
export function isDurableExecution() {
|
|
10
|
-
return
|
|
9
|
+
return getExecutionPhase() !== undefined;
|
|
11
10
|
}
|
|
12
11
|
// Local test runs (`terse test`) execute in the developer's own process; only cloud
|
|
13
12
|
// sandboxes set TERSE_RUN_ID. Primitives that suspend in production branch on this.
|
package/dist/execution.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAIlD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACvC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAClC,CAAC;CACJ;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,iBAAiB,EAAE,KAAK,SAAS,CAAA;AAC5C,CAAC;AAED,oFAAoF;AACpF,oFAAoF;AACpF,MAAM,UAAU,cAAc;IAC1B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;AACpC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import type { WorkflowDefinition } from "little-durable";
|
|
1
2
|
import type { RunHistoryAction, WebhookJobChallengeResponse, WebhookJobTriggerResponse } from "terse-types";
|
|
3
|
+
import { serializedEventSchema } from "terse-types";
|
|
2
4
|
import type { Trigger as _RawTrigger } from "terse-types";
|
|
3
5
|
import { z } from "zod";
|
|
4
6
|
import { type InferEvents, type InferToolApprovals, type SDKTrigger, type StateAccessor, type StateDefinition, type TriggerLike, type TypedSkill, type TypedTrigger } from "./types.js";
|
|
5
7
|
export declare const TERSE_JOB_WEBHOOK_TRIGGER_PATH: string;
|
|
6
8
|
export { DurableOnlyError } from "./execution.js";
|
|
7
|
-
export {
|
|
9
|
+
export { __runDurableStep } from "./durableExecution.js";
|
|
10
|
+
export { __inputRequestHook, slack, waitForInput } from "./inputRequest.js";
|
|
8
11
|
export type { InputDelivery, InputMedia, InputOption, InputRespondent, InputResponse, InputTarget, SlackInputTarget, WaitForInputParams } from "./inputRequest.js";
|
|
9
12
|
export { isAgentApprovalHandlingClaimed } from "./context.js";
|
|
10
13
|
export type { TerseJobContext } from "./context.js";
|
|
@@ -32,8 +35,12 @@ export type CreateJobParameters<TTriggers extends readonly TypedTrigger<TriggerL
|
|
|
32
35
|
remoteServerUrl?: string;
|
|
33
36
|
durable?: boolean;
|
|
34
37
|
};
|
|
35
|
-
export declare function createJob<TTriggers extends readonly TypedTrigger<TriggerLike>[], const TStates extends readonly StateDefinition[] = readonly []>(params: CreateJobParameters<TTriggers, TStates>):
|
|
38
|
+
export declare function createJob<TTriggers extends readonly TypedTrigger<TriggerLike>[], const TStates extends readonly StateDefinition[] = readonly []>(params: CreateJobParameters<TTriggers, TStates>): CreateJobParameters<TTriggers, TStates>;
|
|
39
|
+
type TerseWorkflowDefinition = WorkflowDefinition<typeof serializedEventSchema>;
|
|
36
40
|
export declare function fetchRegisteredJobs(): Map<string, CreateJobParameters>;
|
|
41
|
+
export declare function __defineTerseWorkflow(job: CreateJobParameters): TerseWorkflowDefinition;
|
|
42
|
+
export declare function __registerDurableWorkflow(workflow: TerseWorkflowDefinition): void;
|
|
43
|
+
export declare function __fetchRegisteredDurableWorkflow(name: string): TerseWorkflowDefinition | undefined;
|
|
37
44
|
export declare function __resetRegisteredTerseInstances(): void;
|
|
38
45
|
export declare function __buildJobStateAccessor<TStates extends readonly StateDefinition[]>(states: TStates): StateAccessor<TStates>;
|
|
39
46
|
export declare class Terse {
|
|
@@ -121,9 +128,9 @@ export declare function jobStep<O>(opts: {
|
|
|
121
128
|
}): Promise<O>;
|
|
122
129
|
/**
|
|
123
130
|
* Runs the wrapped call as a journaled durable step: `step(client.method(args))`.
|
|
124
|
-
*
|
|
125
|
-
* directly, and its arguments and resolved value
|
|
126
|
-
* available in durable jobs.
|
|
131
|
+
* Terse rewrites the call to an inline durable closure before loading the job,
|
|
132
|
+
* so `step()` must wrap the call directly, and its arguments and resolved value
|
|
133
|
+
* must be serializable. Only available in durable jobs.
|
|
127
134
|
*/
|
|
128
135
|
export declare function step<T>(promise: Promise<T>): Promise<T>;
|
|
129
136
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { sleep as
|
|
1
|
+
import { defineWorkflow, sleep as durableSleep, getExecutionPhase } from "little-durable";
|
|
2
2
|
import ms from "ms";
|
|
3
|
-
import { ApiRoutes, IntegrationType, sdkAgentRunRequestBodySchema, sdkStateGetResponseSchema, stripZodJsonSchemaMetadata, webhookJobChallengeRequestSchema, webhookJobTriggerRequestSchema } from "terse-types";
|
|
3
|
+
import { ApiRoutes, IntegrationType, sdkAgentRunRequestBodySchema, sdkStateGetResponseSchema, serializedEventSchema, stripZodJsonSchemaMetadata, webhookJobChallengeRequestSchema, webhookJobTriggerRequestSchema } from "terse-types";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { buildSdkRequestHeaders, resolveApiBaseUrl, resolveProjectKey, resolveTerseBackendUrl } from "./backendRequest.js";
|
|
6
6
|
import { claimAgentApprovalHandling, releaseAgentApprovalHandling } from "./context.js";
|
|
7
|
+
import { __runDurableStep, runSdkStep } from "./durableExecution.js";
|
|
7
8
|
import { DurableOnlyError, isDurableExecution, isLocalTestRun } from "./execution.js";
|
|
8
9
|
import { computeChallengeSignature, verifyIncomingRequest } from "./hmac.js";
|
|
9
10
|
import { resolveRunIdentity } from "./runIdentity/index.js";
|
|
@@ -11,7 +12,8 @@ import { openSessionStream } from "./sessionStream.js";
|
|
|
11
12
|
import { createSDKTrigger } from "./types.js";
|
|
12
13
|
export const TERSE_JOB_WEBHOOK_TRIGGER_PATH = ApiRoutes.SDK.JOB_WEBHOOK_TRIGGER;
|
|
13
14
|
export { DurableOnlyError } from "./execution.js";
|
|
14
|
-
export {
|
|
15
|
+
export { __runDurableStep } from "./durableExecution.js";
|
|
16
|
+
export { __inputRequestHook, slack, waitForInput } from "./inputRequest.js";
|
|
15
17
|
export { isAgentApprovalHandlingClaimed } from "./context.js";
|
|
16
18
|
export { pollUntil } from "./poll.js";
|
|
17
19
|
export { SessionStreamError, openListenStream, openSessionStream } from "./sessionStream.js";
|
|
@@ -32,12 +34,17 @@ export function createJob(params) {
|
|
|
32
34
|
throw new Error(`Job "${params.name}" has ${webhookCount} webhook triggers. Only one webhook trigger per job is allowed.`);
|
|
33
35
|
}
|
|
34
36
|
registerJob(params);
|
|
37
|
+
if (params.durable) {
|
|
38
|
+
__registerDurableWorkflow(__defineTerseWorkflow(params));
|
|
39
|
+
}
|
|
40
|
+
return params;
|
|
35
41
|
}
|
|
36
42
|
// Process-wide directory of Terse instances. Each `new Terse()` registers itself here on
|
|
37
43
|
// construction so the CLI (via tsImport) can discover jobs across module-graph boundaries.
|
|
38
44
|
// Keyed by a process-global Symbol so every copy of this module shares one array.
|
|
39
45
|
// type JobsLike = { jobs: Map<string, CreateJobParameters> }
|
|
40
46
|
const TERSE_INSTANCES_KEY = Symbol.for("jobs.instances");
|
|
47
|
+
const TERSE_DURABLE_WORKFLOWS_KEY = Symbol.for("jobs.durable-workflows");
|
|
41
48
|
function registerJob(job) {
|
|
42
49
|
const g = globalThis;
|
|
43
50
|
g[TERSE_INSTANCES_KEY] ??= new Map();
|
|
@@ -50,37 +57,68 @@ export function fetchRegisteredJobs() {
|
|
|
50
57
|
const g = globalThis;
|
|
51
58
|
return g[TERSE_INSTANCES_KEY] ?? new Map();
|
|
52
59
|
}
|
|
60
|
+
export function __defineTerseWorkflow(job) {
|
|
61
|
+
return defineWorkflow({
|
|
62
|
+
name: job.name,
|
|
63
|
+
input: serializedEventSchema,
|
|
64
|
+
run: async (input) => {
|
|
65
|
+
const event = createSDKTrigger(input);
|
|
66
|
+
const state = __buildJobStateAccessor(job.states ?? []);
|
|
67
|
+
await job.onTrigger(event, state);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
export function __registerDurableWorkflow(workflow) {
|
|
72
|
+
const global = globalThis;
|
|
73
|
+
global[TERSE_DURABLE_WORKFLOWS_KEY] ??= new Map();
|
|
74
|
+
global[TERSE_DURABLE_WORKFLOWS_KEY].set(workflow.name, workflow);
|
|
75
|
+
}
|
|
76
|
+
export function __fetchRegisteredDurableWorkflow(name) {
|
|
77
|
+
return globalThis[TERSE_DURABLE_WORKFLOWS_KEY]?.get(name);
|
|
78
|
+
}
|
|
53
79
|
// Clear the process-global instance registry. The CLI calls this before
|
|
54
80
|
// re-importing an entry file so a second import (e.g. after a retry) starts
|
|
55
81
|
// from a clean slate instead of seeing stale instances from the first pass.
|
|
56
82
|
export function __resetRegisteredTerseInstances() {
|
|
57
83
|
const g = globalThis;
|
|
58
84
|
g[TERSE_INSTANCES_KEY] = new Map();
|
|
85
|
+
const durableGlobal = globalThis;
|
|
86
|
+
durableGlobal[TERSE_DURABLE_WORKFLOWS_KEY] = new Map();
|
|
59
87
|
}
|
|
60
88
|
async function stateGet(key) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
89
|
+
return runSdkStep({
|
|
90
|
+
name: "terse.state.get",
|
|
91
|
+
input: { key },
|
|
92
|
+
run: async (input) => {
|
|
93
|
+
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.STATE_GET}`, {
|
|
94
|
+
method: "POST",
|
|
95
|
+
headers: await buildSdkRequestHeaders(),
|
|
96
|
+
body: JSON.stringify(input)
|
|
97
|
+
});
|
|
98
|
+
if (!res.ok) {
|
|
99
|
+
const data = (await res.json().catch(() => ({})));
|
|
100
|
+
throw new Error(`Failed to read state "${input.key}": ${data.error ?? res.statusText}`);
|
|
101
|
+
}
|
|
102
|
+
return sdkStateGetResponseSchema.parse(await res.json()).content;
|
|
103
|
+
}
|
|
66
104
|
});
|
|
67
|
-
if (!res.ok) {
|
|
68
|
-
const data = (await res.json().catch(() => ({})));
|
|
69
|
-
throw new Error(`Failed to read state "${key}": ${data.error ?? res.statusText}`);
|
|
70
|
-
}
|
|
71
|
-
return sdkStateGetResponseSchema.parse(await res.json()).content;
|
|
72
105
|
}
|
|
73
106
|
async function statePut(key, content) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
107
|
+
return runSdkStep({
|
|
108
|
+
name: "terse.state.put",
|
|
109
|
+
input: { key, content },
|
|
110
|
+
run: async (input) => {
|
|
111
|
+
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.STATE_PUT}`, {
|
|
112
|
+
method: "POST",
|
|
113
|
+
headers: await buildSdkRequestHeaders(),
|
|
114
|
+
body: JSON.stringify(input)
|
|
115
|
+
});
|
|
116
|
+
if (!res.ok) {
|
|
117
|
+
const data = (await res.json().catch(() => ({})));
|
|
118
|
+
throw new Error(`Failed to write state "${input.key}": ${data.error ?? res.statusText}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
79
121
|
});
|
|
80
|
-
if (!res.ok) {
|
|
81
|
-
const data = (await res.json().catch(() => ({})));
|
|
82
|
-
throw new Error(`Failed to write state "${key}": ${data.error ?? res.statusText}`);
|
|
83
|
-
}
|
|
84
122
|
}
|
|
85
123
|
export function __buildJobStateAccessor(states) {
|
|
86
124
|
const schemas = new Map(states.map(s => [s.key, s.value]));
|
|
@@ -240,16 +278,21 @@ export class TerseAgent {
|
|
|
240
278
|
}
|
|
241
279
|
}
|
|
242
280
|
async submitApprovalDecision(params) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
281
|
+
return runSdkStep({
|
|
282
|
+
name: "terse.agent.submit-approval",
|
|
283
|
+
input: params,
|
|
284
|
+
run: async (input) => {
|
|
285
|
+
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.APPROVAL_DECISION}`, {
|
|
286
|
+
method: "POST",
|
|
287
|
+
headers: await buildSdkRequestHeaders(),
|
|
288
|
+
body: JSON.stringify(input)
|
|
289
|
+
});
|
|
290
|
+
if (!res.ok) {
|
|
291
|
+
const data = (await res.json().catch(() => ({})));
|
|
292
|
+
throw new Error(`Approval decision failed: ${data.error ?? res.statusText}`);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
248
295
|
});
|
|
249
|
-
if (!res.ok) {
|
|
250
|
-
const data = (await res.json().catch(() => ({})));
|
|
251
|
-
throw new Error(`Approval decision failed: ${data.error ?? res.statusText}`);
|
|
252
|
-
}
|
|
253
296
|
}
|
|
254
297
|
async runAndWait(userMessage, outputSchema) {
|
|
255
298
|
const requestBody = this.buildRequestBody(userMessage, outputSchema);
|
|
@@ -264,52 +307,62 @@ export class TerseAgent {
|
|
|
264
307
|
toolApprovals: this.toolApprovals,
|
|
265
308
|
message: userMessage,
|
|
266
309
|
skills: this.skills,
|
|
267
|
-
outputSchema
|
|
310
|
+
...(outputSchema ? { outputSchema: stripZodJsonSchemaMetadata(z.toJSONSchema(outputSchema)) } : {})
|
|
268
311
|
});
|
|
269
312
|
}
|
|
270
313
|
static async fetchFinalOutput(requestBody) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
314
|
+
return runSdkStep({
|
|
315
|
+
name: "terse.agent.final-output",
|
|
316
|
+
input: requestBody,
|
|
317
|
+
run: async (input) => {
|
|
318
|
+
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.AGENT_RUN}`, {
|
|
319
|
+
method: "POST",
|
|
320
|
+
headers: await TerseAgent.buildHeaders(),
|
|
321
|
+
body: JSON.stringify(input)
|
|
322
|
+
});
|
|
323
|
+
const contentType = res.headers.get("content-type") ?? "";
|
|
324
|
+
if (!contentType.includes("text/event-stream")) {
|
|
325
|
+
const data = await res.json();
|
|
326
|
+
const details = data.details?.length ? ` (${data.details.join("; ")})` : "";
|
|
327
|
+
if (!res.ok || !data.success)
|
|
328
|
+
throw new Error(`${data.error ?? "Agent run failed"}${details}`);
|
|
329
|
+
throw new Error("Run completed without final output");
|
|
330
|
+
}
|
|
331
|
+
if (!res.body)
|
|
332
|
+
throw new Error("Stream did not provide a response body.");
|
|
333
|
+
for await (const eventData of iterateSseDataLines(res.body)) {
|
|
334
|
+
const parsed = safeParseStreamEvent(eventData);
|
|
335
|
+
if (!parsed)
|
|
336
|
+
continue;
|
|
337
|
+
if (parsed.type === "error")
|
|
338
|
+
throw new Error(parsed.message);
|
|
339
|
+
if (parsed.type === "done")
|
|
340
|
+
break;
|
|
341
|
+
const result = mapStreamEventToResult(parsed);
|
|
342
|
+
if (result instanceof FinalOutputResult)
|
|
343
|
+
return result.finalOutput;
|
|
344
|
+
}
|
|
345
|
+
throw new Error("Run completed without final output");
|
|
346
|
+
}
|
|
276
347
|
});
|
|
277
|
-
const contentType = res.headers.get("content-type") ?? "";
|
|
278
|
-
if (!contentType.includes("text/event-stream")) {
|
|
279
|
-
const data = await res.json();
|
|
280
|
-
const details = data.details?.length ? ` (${data.details.join("; ")})` : "";
|
|
281
|
-
if (!res.ok || !data.success)
|
|
282
|
-
throw new Error(`${data.error ?? "Agent run failed"}${details}`);
|
|
283
|
-
throw new Error("Run completed without final output");
|
|
284
|
-
}
|
|
285
|
-
if (!res.body)
|
|
286
|
-
throw new Error("Stream did not provide a response body.");
|
|
287
|
-
for await (const eventData of iterateSseDataLines(res.body)) {
|
|
288
|
-
const parsed = safeParseStreamEvent(eventData);
|
|
289
|
-
if (!parsed)
|
|
290
|
-
continue;
|
|
291
|
-
if (parsed.type === "error")
|
|
292
|
-
throw new Error(parsed.message);
|
|
293
|
-
if (parsed.type === "done")
|
|
294
|
-
break;
|
|
295
|
-
const result = mapStreamEventToResult(parsed);
|
|
296
|
-
if (result instanceof FinalOutputResult)
|
|
297
|
-
return result.finalOutput;
|
|
298
|
-
}
|
|
299
|
-
throw new Error("Run completed without final output");
|
|
300
348
|
}
|
|
301
349
|
static async executeTool(toolName, params = {}) {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
350
|
+
return runSdkStep({
|
|
351
|
+
name: "terse.agent.execute-tool",
|
|
352
|
+
input: { toolName, params },
|
|
353
|
+
run: async (input) => {
|
|
354
|
+
const res = await fetch(`${resolveApiBaseUrl()}${ApiRoutes.SDK.TOOL_EXECUTE}`, {
|
|
355
|
+
method: "POST",
|
|
356
|
+
headers: await buildSdkRequestHeaders(),
|
|
357
|
+
body: JSON.stringify(input)
|
|
358
|
+
});
|
|
359
|
+
const data = (await res.json());
|
|
360
|
+
if (!data.success) {
|
|
361
|
+
throw new Error(data.error ?? "Tool execution failed");
|
|
362
|
+
}
|
|
363
|
+
return data.result;
|
|
364
|
+
}
|
|
307
365
|
});
|
|
308
|
-
const data = (await res.json());
|
|
309
|
-
if (!data.success) {
|
|
310
|
-
throw new Error(data.error ?? "Tool execution failed");
|
|
311
|
-
}
|
|
312
|
-
return data.result;
|
|
313
366
|
}
|
|
314
367
|
static async buildHeaders() {
|
|
315
368
|
const headers = {
|
|
@@ -379,26 +432,32 @@ export async function generateText(params) {
|
|
|
379
432
|
export function jobStep(opts) {
|
|
380
433
|
// Synchronous guard so an un-awaited jobStep() still throws at the call site
|
|
381
434
|
// instead of floating as an unhandled rejection.
|
|
382
|
-
if (
|
|
435
|
+
if (getExecutionPhase() !== "workflow") {
|
|
383
436
|
throw new DurableOnlyError("jobStep() is only available in durable jobs. Add `durable: true` to this job.");
|
|
384
437
|
}
|
|
385
438
|
return runJobStep(opts);
|
|
386
439
|
}
|
|
387
440
|
async function runJobStep(opts) {
|
|
388
|
-
const input = opts.inputSchema ? opts.inputSchema.parse(opts.input) :
|
|
389
|
-
|
|
390
|
-
|
|
441
|
+
const input = opts.inputSchema ? opts.inputSchema.parse(opts.input) : null;
|
|
442
|
+
return __runDurableStep({
|
|
443
|
+
name: "terse.job-step",
|
|
444
|
+
input: input,
|
|
445
|
+
run: async (storedInput) => {
|
|
446
|
+
const result = await opts.run(opts.inputSchema ? storedInput : undefined);
|
|
447
|
+
return opts.outputSchema ? opts.outputSchema.parse(result) : result;
|
|
448
|
+
}
|
|
449
|
+
});
|
|
391
450
|
}
|
|
392
451
|
/**
|
|
393
452
|
* Runs the wrapped call as a journaled durable step: `step(client.method(args))`.
|
|
394
|
-
*
|
|
395
|
-
* directly, and its arguments and resolved value
|
|
396
|
-
* available in durable jobs.
|
|
453
|
+
* Terse rewrites the call to an inline durable closure before loading the job,
|
|
454
|
+
* so `step()` must wrap the call directly, and its arguments and resolved value
|
|
455
|
+
* must be serializable. Only available in durable jobs.
|
|
397
456
|
*/
|
|
398
|
-
//
|
|
457
|
+
// Source preparation rewrites every valid step() call site away, so this body only
|
|
399
458
|
// runs where the transform could not apply. Fail loudly either way.
|
|
400
459
|
export function step(promise) {
|
|
401
|
-
throw new DurableOnlyError("step() is only available in durable jobs. Add `durable: true` and wrap the call directly, e.g. step(client.method(args)).
|
|
460
|
+
throw new DurableOnlyError("step() is only available in durable jobs. Add `durable: true` and wrap the call directly, e.g. step(client.method(args)).");
|
|
402
461
|
}
|
|
403
462
|
/**
|
|
404
463
|
* Replay-safe logging for durable jobs: `await log("processed", count)`.
|
|
@@ -408,9 +467,19 @@ export function step(promise) {
|
|
|
408
467
|
* Inside step bodies and non-durable jobs it simply forwards to `console.log`.
|
|
409
468
|
*/
|
|
410
469
|
export async function log(...args) {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
470
|
+
const print = (values) => {
|
|
471
|
+
const prefix = process.env.NO_COLOR ? "[job]" : "[1m[36m[job][0m";
|
|
472
|
+
console.log(prefix, ...values);
|
|
473
|
+
};
|
|
474
|
+
if (getExecutionPhase() !== "workflow") {
|
|
475
|
+
print(args);
|
|
476
|
+
return;
|
|
477
|
+
}
|
|
478
|
+
await __runDurableStep({
|
|
479
|
+
name: "terse.log",
|
|
480
|
+
input: args,
|
|
481
|
+
run: values => print(values)
|
|
482
|
+
});
|
|
414
483
|
}
|
|
415
484
|
export function sleep(duration) {
|
|
416
485
|
if (!isDurableExecution()) {
|
|
@@ -422,7 +491,13 @@ export function sleep(duration) {
|
|
|
422
491
|
console.log(`[terse] Skipping sleep locally — in production this run would suspend and resume after ${describeDuration(duration)}.`);
|
|
423
492
|
return Promise.resolve();
|
|
424
493
|
}
|
|
425
|
-
return
|
|
494
|
+
return durableSleep(toDurableDuration(duration));
|
|
495
|
+
}
|
|
496
|
+
function toDurableDuration(duration) {
|
|
497
|
+
if (typeof duration === "string")
|
|
498
|
+
return duration;
|
|
499
|
+
const milliseconds = duration instanceof Date ? Math.max(0, duration.getTime() - Date.now()) : duration;
|
|
500
|
+
return `${milliseconds}ms`;
|
|
426
501
|
}
|
|
427
502
|
function describeDuration(duration) {
|
|
428
503
|
if (typeof duration === "string")
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/inputRequest.d.ts
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import type { SdkInputRequestDelivery, SdkInputRequestMedia, SdkInputRequestTarget } from "terse-types";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export declare const __inputRequestHook: Readonly<{
|
|
4
|
+
name: string;
|
|
5
|
+
request: z.ZodObject<{
|
|
6
|
+
token: z.ZodString;
|
|
7
|
+
}, z.core.$strict>;
|
|
8
|
+
resolution: z.ZodObject<{
|
|
9
|
+
choice: z.ZodString;
|
|
10
|
+
text: z.ZodOptional<z.ZodString>;
|
|
11
|
+
respondent: z.ZodObject<{
|
|
12
|
+
provider: z.ZodString;
|
|
13
|
+
userId: z.ZodString;
|
|
14
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
}>;
|
|
2
18
|
export type InputTarget = SdkInputRequestTarget;
|
|
3
19
|
export type InputDelivery = SdkInputRequestDelivery;
|
|
4
20
|
type DeliveryFor<Target extends InputTarget> = Extract<InputDelivery, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputRequest.d.ts","sourceRoot":"","sources":["../src/inputRequest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,uBAAuB,EACvB,oBAAoB,EAGpB,qBAAqB,EAGxB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"inputRequest.d.ts","sourceRoot":"","sources":["../src/inputRequest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,uBAAuB,EACvB,oBAAoB,EAGpB,qBAAqB,EAGxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAUvB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;EAI7B,CAAA;AAKF,MAAM,MAAM,WAAW,GAAG,qBAAqB,CAAA;AAC/C,MAAM,MAAM,aAAa,GAAG,uBAAuB,CAAA;AACnD,KAAK,WAAW,CAAC,MAAM,SAAS,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;CAAE,CAAC,CAAA;AAEvG,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAG1E,wBAAgB,KAAK,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAEnE;AAED,MAAM,MAAM,WAAW,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI;IAClD,EAAE,EAAE,EAAE,CAAA;IACN,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAExF,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,QAAQ,SAAS,aAAa,GAAG,aAAa,IAAI;IAC3F,MAAM,EAAE,EAAE,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,eAAe,CAAA;IAC3B,QAAQ,EAAE,QAAQ,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,SAAS,WAAW,EAAE,EAAE,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI;IAC/G,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAA;AAE7C,wBAAgB,YAAY,CAAC,KAAK,CAAC,OAAO,SAAS,SAAS,WAAW,EAAE,EAAE,MAAM,SAAS,WAAW,EACjG,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,GAC5C,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAUpE"}
|
package/dist/inputRequest.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defineHook, waitFor } from "little-durable";
|
|
2
2
|
import { ApiRoutes, buildRoute, sdkInputRequestRegisterResponseSchema, sdkInputResponsePayloadSchema } from "terse-types";
|
|
3
|
+
import { z } from "zod";
|
|
3
4
|
import { buildSdkRequestHeaders, resolveTerseBackendUrl } from "./backendRequest.js";
|
|
5
|
+
import { runSdkStep } from "./durableExecution.js";
|
|
4
6
|
import { DurableOnlyError, isDurableExecution, isLocalTestRun } from "./execution.js";
|
|
5
7
|
import { pollUntil } from "./poll.js";
|
|
6
8
|
import { resolveRunIdentity } from "./runIdentity/index.js";
|
|
9
|
+
export const __inputRequestHook = defineHook({
|
|
10
|
+
name: "terse.input-request",
|
|
11
|
+
request: z.object({ token: z.string().min(1) }).strict(),
|
|
12
|
+
resolution: sdkInputResponsePayloadSchema
|
|
13
|
+
});
|
|
7
14
|
// channel takes a Slack channel id; use the generated constants, e.g. SlackChannel.Launches.channelId.
|
|
8
15
|
export function slack(target) {
|
|
9
16
|
return { provider: "slack", channelId: target.channel };
|
|
@@ -19,21 +26,19 @@ export function waitForInput(params) {
|
|
|
19
26
|
}
|
|
20
27
|
return waitForInputDurable(params);
|
|
21
28
|
}
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
// suspends the sandbox.
|
|
29
|
+
// The hook entity this journals is the wait. The durable runtime returns it as an explicit
|
|
30
|
+
// suspension outcome, and the CLI asks the control plane to snapshot and park the sandbox.
|
|
25
31
|
async function waitForInputDurable(params) {
|
|
26
|
-
const
|
|
27
|
-
const delivery = await registerInputRequest(
|
|
32
|
+
const token = await createInputRequestToken();
|
|
33
|
+
const delivery = await registerInputRequest(token, params, "suspend");
|
|
28
34
|
if (delivery.provider !== params.via.provider) {
|
|
29
35
|
throw new Error(`waitForInput: backend delivered via "${delivery.provider}" but the target was "${params.via.provider}"`);
|
|
30
36
|
}
|
|
31
37
|
const typedDelivery = delivery;
|
|
32
|
-
const payload = await
|
|
33
|
-
hook.dispose();
|
|
38
|
+
const payload = await waitFor(__inputRequestHook, { token });
|
|
34
39
|
return {
|
|
35
40
|
choice: payload.choice,
|
|
36
|
-
text: payload.text,
|
|
41
|
+
...(payload.text !== undefined ? { text: payload.text } : {}),
|
|
37
42
|
respondent: payload.respondent,
|
|
38
43
|
delivery: typedDelivery
|
|
39
44
|
};
|
|
@@ -50,23 +55,31 @@ async function waitForInputViaPoll(params) {
|
|
|
50
55
|
const payload = await pollInputResponse(token, describeInputTarget(params.via));
|
|
51
56
|
return {
|
|
52
57
|
choice: payload.choice,
|
|
53
|
-
text: payload.text,
|
|
58
|
+
...(payload.text !== undefined ? { text: payload.text } : {}),
|
|
54
59
|
respondent: payload.respondent,
|
|
55
60
|
delivery: typedDelivery
|
|
56
61
|
};
|
|
57
62
|
}
|
|
58
63
|
// Journaled so replays reuse the registered request instead of posting a duplicate message.
|
|
59
64
|
async function createInputRequestToken() {
|
|
60
|
-
|
|
61
|
-
|
|
65
|
+
return runSdkStep({
|
|
66
|
+
name: "terse.input-request.token",
|
|
67
|
+
input: null,
|
|
68
|
+
run: () => globalThis.crypto.randomUUID()
|
|
69
|
+
});
|
|
62
70
|
}
|
|
63
71
|
async function registerInputRequest(token, params, transport) {
|
|
64
72
|
const response = await deliverInputRequestStep({
|
|
65
73
|
token,
|
|
66
74
|
prompt: params.prompt,
|
|
67
75
|
details: params.details,
|
|
68
|
-
media: params.media?.map(item => ({ kind: item.kind, url: item.url, altText: item.altText })),
|
|
69
|
-
options: params.options.map(
|
|
76
|
+
media: params.media?.map(item => ({ kind: item.kind, url: item.url, ...(item.altText !== undefined ? { altText: item.altText } : {}) })),
|
|
77
|
+
options: params.options.map(option => ({
|
|
78
|
+
id: option.id,
|
|
79
|
+
label: option.label,
|
|
80
|
+
...(option.description !== undefined ? { description: option.description } : {}),
|
|
81
|
+
...(option.freeText !== undefined ? { freeText: option.freeText } : {})
|
|
82
|
+
})),
|
|
70
83
|
via: params.via,
|
|
71
84
|
transport
|
|
72
85
|
});
|
|
@@ -83,48 +96,61 @@ async function registerInputRequest(token, params, transport) {
|
|
|
83
96
|
// only reachable in step scope, not from the workflow body. HTTP failures come back as
|
|
84
97
|
// data (thrown in workflow scope) so a 4xx/5xx doesn't trigger step retries.
|
|
85
98
|
async function deliverInputRequestStep(request) {
|
|
86
|
-
|
|
87
|
-
const runId = process.env.TERSE_RUN_ID ?? (await resolveRunIdentity()).runId;
|
|
88
|
-
if (!runId) {
|
|
89
|
-
throw new Error("waitForInput: could not resolve a run id for this execution.");
|
|
90
|
-
}
|
|
91
|
-
const body = {
|
|
99
|
+
const input = {
|
|
92
100
|
token: request.token,
|
|
93
|
-
runId,
|
|
94
101
|
prompt: request.prompt,
|
|
95
|
-
details: request.details,
|
|
96
|
-
media: request.media,
|
|
102
|
+
...(request.details ? { details: request.details } : {}),
|
|
103
|
+
...(request.media ? { media: request.media } : {}),
|
|
97
104
|
options: request.options,
|
|
98
105
|
via: request.via,
|
|
99
106
|
transport: request.transport
|
|
100
107
|
};
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
108
|
+
return runSdkStep({
|
|
109
|
+
name: "terse.input-request.deliver",
|
|
110
|
+
input,
|
|
111
|
+
run: async (stepRequest) => {
|
|
112
|
+
const runId = process.env.TERSE_RUN_ID ?? (await resolveRunIdentity()).runId;
|
|
113
|
+
if (!runId) {
|
|
114
|
+
throw new Error("waitForInput: could not resolve a run id for this execution.");
|
|
115
|
+
}
|
|
116
|
+
const body = {
|
|
117
|
+
...stepRequest,
|
|
118
|
+
runId
|
|
119
|
+
};
|
|
120
|
+
const headers = { ...(await buildSdkRequestHeaders()), Accept: "application/json" };
|
|
121
|
+
const response = await fetch(`${resolveTerseBackendUrl()}${ApiRoutes.SDK.INPUT_REQUEST}`, {
|
|
122
|
+
method: "POST",
|
|
123
|
+
headers,
|
|
124
|
+
body: JSON.stringify(body)
|
|
125
|
+
});
|
|
126
|
+
return { status: response.status, body: await response.text() };
|
|
127
|
+
}
|
|
106
128
|
});
|
|
107
|
-
return { status: response.status, body: await response.text() };
|
|
108
129
|
}
|
|
109
130
|
// A step so the wait happens exactly once; replays return the journaled response.
|
|
110
131
|
async function pollInputResponse(token, targetDescription) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
132
|
+
return runSdkStep({
|
|
133
|
+
name: "terse.input-request.poll",
|
|
134
|
+
input: { token, targetDescription },
|
|
135
|
+
run: async (input) => {
|
|
136
|
+
console.log(`[terse] waitForInput: sent via ${input.targetDescription}; waiting for a response there.`);
|
|
137
|
+
const headers = { ...(await buildSdkRequestHeaders()), Accept: "application/json" };
|
|
138
|
+
const url = `${resolveTerseBackendUrl()}${buildRoute(ApiRoutes.SDK.INPUT_RESPONSE, { token: input.token })}`;
|
|
139
|
+
const payload = await pollUntil(async () => {
|
|
140
|
+
const response = await fetch(url, { headers });
|
|
141
|
+
if (response.status === 204)
|
|
142
|
+
return undefined;
|
|
143
|
+
if (!response.ok) {
|
|
144
|
+
throw new Error(`waitForInput: response poll failed: HTTP ${response.status}`);
|
|
145
|
+
}
|
|
146
|
+
return sdkInputResponsePayloadSchema.parse(await response.json());
|
|
147
|
+
}, { intervalMs: 3_000, errorToleranceMs: 10 * 60_000 });
|
|
148
|
+
if (payload === null) {
|
|
149
|
+
throw new Error("waitForInput: polling stopped before a response arrived.");
|
|
150
|
+
}
|
|
151
|
+
return payload;
|
|
121
152
|
}
|
|
122
|
-
|
|
123
|
-
}, { intervalMs: 3_000, errorToleranceMs: 10 * 60_000 });
|
|
124
|
-
if (payload === null) {
|
|
125
|
-
throw new Error("waitForInput: polling stopped before a response arrived.");
|
|
126
|
-
}
|
|
127
|
-
return payload;
|
|
153
|
+
});
|
|
128
154
|
}
|
|
129
155
|
function describeInputTarget(target) {
|
|
130
156
|
switch (target.provider) {
|
package/dist/inputRequest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputRequest.js","sourceRoot":"","sources":["../src/inputRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"inputRequest.js","sourceRoot":"","sources":["../src/inputRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runIdentity/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runIdentity/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtG,MAAM,WAAW,iBAAiB;IAC9B,OAAO,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CACzC;AAID,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAM/D"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { alsRunIdentitySource } from "./alsSource.js";
|
|
2
|
-
|
|
3
|
-
const sources = [alsRunIdentitySource, workflowRunIdentitySource];
|
|
2
|
+
const sources = [alsRunIdentitySource];
|
|
4
3
|
export async function resolveRunIdentity() {
|
|
5
4
|
for (const source of sources) {
|
|
6
5
|
const identity = await source.resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runIdentity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runIdentity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAQrD,MAAM,OAAO,GAAwB,CAAC,oBAAoB,CAAC,CAAA;AAE3D,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;QACvC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;IACjC,CAAC;IACD,OAAO,EAAE,CAAA;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "terse-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"repository": {
|
|
@@ -18,22 +18,21 @@
|
|
|
18
18
|
"dist"
|
|
19
19
|
],
|
|
20
20
|
"peerDependencies": {
|
|
21
|
-
"
|
|
22
|
-
"zod": "^4.2.0"
|
|
21
|
+
"zod": "^4.3.6"
|
|
23
22
|
},
|
|
24
23
|
"devDependencies": {
|
|
25
24
|
"@types/ms": "^2.1.0",
|
|
26
25
|
"@types/node": "^22.0.0",
|
|
27
26
|
"typescript": "^5.0.0",
|
|
28
|
-
"@workflow/core": "5.0.0-beta.19",
|
|
29
27
|
"zod": "^4.3.6"
|
|
30
28
|
},
|
|
31
29
|
"dependencies": {
|
|
30
|
+
"little-durable": "0.1.3",
|
|
32
31
|
"ms": "2.1.3",
|
|
33
|
-
"terse-types": "0.
|
|
32
|
+
"terse-types": "0.5.0"
|
|
34
33
|
},
|
|
35
34
|
"scripts": {
|
|
36
|
-
"build": "tsc",
|
|
35
|
+
"build": "rm -rf dist && tsc",
|
|
37
36
|
"dev": "tsc --watch --preserveWatchOutput",
|
|
38
37
|
"format": "pnpm exec prettier --config ../../.prettierrc --write \"src/**/*.ts\"",
|
|
39
38
|
"format:check": "pnpm exec prettier --config ../../.prettierrc --check \"src/**/*.ts\"",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflowSource.d.ts","sourceRoot":"","sources":["../../src/runIdentity/workflowSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,eAAO,MAAM,yBAAyB,EAAE,iBAavC,CAAA"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export const workflowRunIdentitySource = {
|
|
2
|
-
async resolve() {
|
|
3
|
-
try {
|
|
4
|
-
const { getWorkflowMetadata } = await import("@workflow/core");
|
|
5
|
-
const { getWorld } = await import("@workflow/core/runtime");
|
|
6
|
-
const workflowRunId = getWorkflowMetadata().workflowRunId;
|
|
7
|
-
const world = await getWorld();
|
|
8
|
-
const { attributes } = await world.runs.get(workflowRunId);
|
|
9
|
-
return { sessionId: attributes?.sessionId, runId: attributes?.runId, projectId: attributes?.projectId, jobName: attributes?.jobName };
|
|
10
|
-
}
|
|
11
|
-
catch {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=workflowSource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflowSource.js","sourceRoot":"","sources":["../../src/runIdentity/workflowSource.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IACxD,KAAK,CAAC,OAAO;QACT,IAAI,CAAC;YACD,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;YAC3D,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC,aAAa,CAAA;YACzD,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAA;YAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC1D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;QACzI,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;CACJ,CAAA"}
|