@stigmer/runner 3.12.3 → 3.12.4
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/.build-fingerprint +1 -1
- package/dist/activities/call-http.js +12 -0
- package/dist/activities/call-http.js.map +1 -1
- package/dist/activities/call-llm.d.ts +18 -0
- package/dist/activities/call-llm.js +56 -2
- package/dist/activities/call-llm.js.map +1 -1
- package/dist/activities/execute-cursor/agent-session-cache.d.ts +72 -0
- package/dist/activities/execute-cursor/agent-session-cache.js +186 -0
- package/dist/activities/execute-cursor/agent-session-cache.js.map +1 -0
- package/dist/activities/execute-cursor/index.js +61 -28
- package/dist/activities/execute-cursor/index.js.map +1 -1
- package/dist/activities/execute-cursor/service-tier.d.ts +5 -15
- package/dist/activities/execute-cursor/service-tier.js +5 -21
- package/dist/activities/execute-cursor/service-tier.js.map +1 -1
- package/dist/activities/execute-cursor/skill-resolver.js +1 -1
- package/dist/activities/execute-cursor/skill-resolver.js.map +1 -1
- package/dist/activities/execute-deep-agent/setup.js +14 -0
- package/dist/activities/execute-deep-agent/setup.js.map +1 -1
- package/dist/activities/execute-deep-agent/shell-env.d.ts +8 -5
- package/dist/activities/execute-deep-agent/shell-env.js +10 -7
- package/dist/activities/execute-deep-agent/shell-env.js.map +1 -1
- package/dist/config.js +10 -5
- package/dist/config.js.map +1 -1
- package/dist/encryption/config.js +7 -2
- package/dist/encryption/config.js.map +1 -1
- package/dist/main.js +12 -6
- package/dist/main.js.map +1 -1
- package/dist/payload-codecs.js +2 -1
- package/dist/payload-codecs.js.map +1 -1
- package/dist/runner-manager.js +20 -7
- package/dist/runner-manager.js.map +1 -1
- package/dist/runner.js +19 -6
- package/dist/runner.js.map +1 -1
- package/dist/shared/fingerprint-secret.d.ts +3 -2
- package/dist/shared/fingerprint-secret.js +5 -3
- package/dist/shared/fingerprint-secret.js.map +1 -1
- package/dist/shared/llm-backend.js +8 -1
- package/dist/shared/llm-backend.js.map +1 -1
- package/dist/shared/model-client.d.ts +15 -0
- package/dist/shared/model-client.js +57 -13
- package/dist/shared/model-client.js.map +1 -1
- package/dist/shared/registry-endpoint.d.ts +5 -0
- package/dist/shared/registry-endpoint.js +7 -1
- package/dist/shared/registry-endpoint.js.map +1 -1
- package/dist/shared/runner-credential-keys.d.ts +26 -1
- package/dist/shared/runner-credential-keys.js +34 -1
- package/dist/shared/runner-credential-keys.js.map +1 -1
- package/dist/shared/runner-credential-store.d.ts +77 -0
- package/dist/shared/runner-credential-store.js +111 -0
- package/dist/shared/runner-credential-store.js.map +1 -0
- package/dist/shared/service-tier.d.ts +55 -0
- package/dist/shared/service-tier.js +67 -0
- package/dist/shared/service-tier.js.map +1 -0
- package/dist/shared/skill-writer.js +2 -2
- package/dist/shared/skill-writer.js.map +1 -1
- package/dist/shared/zip-extract.d.ts +10 -3
- package/dist/shared/zip-extract.js +10 -3
- package/dist/shared/zip-extract.js.map +1 -1
- package/dist/workflow-engine/tasks/call-function.d.ts +14 -0
- package/dist/workflow-engine/tasks/call-function.js +49 -5
- package/dist/workflow-engine/tasks/call-function.js.map +1 -1
- package/dist/workflow-engine/types.d.ts +6 -0
- package/dist/workflow-engine/types.js.map +1 -1
- package/dist/workflows/engine-core.js +36 -8
- package/dist/workflows/engine-core.js.map +1 -1
- package/package.json +2 -2
- package/src/activities/__tests__/call-http.test.ts +36 -0
- package/src/activities/__tests__/call-llm.test.ts +77 -0
- package/src/activities/call-http.ts +17 -0
- package/src/activities/call-llm.ts +78 -2
- package/src/activities/execute-cursor/__tests__/agent-session-cache.test.ts +220 -0
- package/src/activities/execute-cursor/__tests__/service-tier.test.ts +1 -1
- package/src/activities/execute-cursor/agent-session-cache.ts +229 -0
- package/src/activities/execute-cursor/index.ts +66 -20
- package/src/activities/execute-cursor/service-tier.ts +5 -29
- package/src/activities/execute-cursor/skill-resolver.ts +1 -1
- package/src/activities/execute-deep-agent/setup.ts +15 -0
- package/src/activities/execute-deep-agent/shell-env.ts +10 -7
- package/src/config.ts +10 -5
- package/src/encryption/config.ts +8 -2
- package/src/main.ts +16 -6
- package/src/payload-codecs.ts +2 -1
- package/src/runner-manager.ts +29 -6
- package/src/runner.ts +25 -6
- package/src/shared/__tests__/model-client.test.ts +99 -0
- package/src/shared/__tests__/runner-credential-store.test.ts +155 -0
- package/src/shared/__tests__/zip-extract.test.ts +46 -11
- package/src/shared/fingerprint-secret.ts +5 -3
- package/src/shared/llm-backend.ts +7 -1
- package/src/shared/model-client.ts +76 -13
- package/src/shared/registry-endpoint.ts +9 -1
- package/src/shared/runner-credential-keys.ts +36 -1
- package/src/shared/runner-credential-store.ts +115 -0
- package/src/shared/service-tier.ts +78 -0
- package/src/shared/skill-writer.ts +2 -2
- package/src/shared/zip-extract.ts +14 -7
- package/src/workflow-engine/__tests__/golden-execution.test.ts +20 -1
- package/src/workflow-engine/__tests__/tasks/call-function.test.ts +105 -0
- package/src/workflow-engine/tasks/call-function.ts +74 -13
- package/src/workflow-engine/types.ts +6 -0
- package/src/workflows/engine-core.ts +39 -8
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Harness-neutral service-tier semantics (stigmer/stigmer#357, extended to
|
|
3
|
+
* the native harness by #361).
|
|
4
|
+
*
|
|
5
|
+
* The platform contract: an execution's price-bearing tier is ALWAYS
|
|
6
|
+
* explicit by the time a provider request leaves the runner. UNSPECIFIED
|
|
7
|
+
* resolves to STANDARD here and ONLY here — every upstream layer preserves
|
|
8
|
+
* the caller's raw enum so "user chose standard" stays distinguishable
|
|
9
|
+
* from "platform default" all the way to the ledger.
|
|
10
|
+
*
|
|
11
|
+
* Each harness owns its translation of the EFFECTIVE tier into provider
|
|
12
|
+
* wire terms:
|
|
13
|
+
* - Cursor: explicit `ModelSelection.params` pinning the price-bearing
|
|
14
|
+
* variant booleans (`execute-cursor/service-tier.ts`).
|
|
15
|
+
* - Native: the provider's own request parameter, mapped in
|
|
16
|
+
* `model-client.ts` (`toOpenAiServiceTier` / `toAnthropicServiceTier`
|
|
17
|
+
* below) so no construction site can invent a third mapping.
|
|
18
|
+
*/
|
|
19
|
+
import { ServiceTier } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
20
|
+
/**
|
|
21
|
+
* The effective tier after platform-default resolution: never UNSPECIFIED.
|
|
22
|
+
*/
|
|
23
|
+
export type EffectiveServiceTier = ServiceTier.STANDARD | ServiceTier.FAST;
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the configured tier to its effective value. The single place in
|
|
26
|
+
* the platform where UNSPECIFIED becomes STANDARD.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveEffectiveServiceTier(configured: ServiceTier | undefined): EffectiveServiceTier;
|
|
29
|
+
/** Human-readable tier label for logs and error messages. */
|
|
30
|
+
export declare function serviceTierLabel(tier: ServiceTier): string;
|
|
31
|
+
/**
|
|
32
|
+
* OpenAI's `service_tier` request parameter for the effective tier.
|
|
33
|
+
*
|
|
34
|
+
* STANDARD maps to "default", NOT "auto": "auto" lets the ACCOUNT's
|
|
35
|
+
* project settings pick the processing tier — the exact
|
|
36
|
+
* account-default-decides-the-price hole #357 closed on the Cursor
|
|
37
|
+
* harness. FAST maps to "priority" (pay-as-you-go priority processing);
|
|
38
|
+
* create-time validation makes FAST unreachable until a registry entry
|
|
39
|
+
* prices it, so today's traffic always sends "default". "flex" (cheaper,
|
|
40
|
+
* slower) is a possible future tier, deliberately unmapped.
|
|
41
|
+
*/
|
|
42
|
+
export declare function toOpenAiServiceTier(tier: EffectiveServiceTier): "default" | "priority";
|
|
43
|
+
/**
|
|
44
|
+
* Anthropic's `service_tier` request parameter for the effective tier.
|
|
45
|
+
*
|
|
46
|
+
* STANDARD maps to "standard_only": never consume priority-tier capacity,
|
|
47
|
+
* so the bill is the public standard rate regardless of what the account
|
|
48
|
+
* has purchased. FAST maps to "auto" — Anthropic's priority tier is
|
|
49
|
+
* PURCHASED capacity, and "auto" means "use it when available"; the
|
|
50
|
+
* response's `usage.service_tier` reports what actually served, which is
|
|
51
|
+
* what billing reconciles against. FAST is unreachable until a registry
|
|
52
|
+
* entry prices it (and the platform buys priority capacity — the #361
|
|
53
|
+
* half-2 hold).
|
|
54
|
+
*/
|
|
55
|
+
export declare function toAnthropicServiceTier(tier: EffectiveServiceTier): "auto" | "standard_only";
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Harness-neutral service-tier semantics (stigmer/stigmer#357, extended to
|
|
3
|
+
* the native harness by #361).
|
|
4
|
+
*
|
|
5
|
+
* The platform contract: an execution's price-bearing tier is ALWAYS
|
|
6
|
+
* explicit by the time a provider request leaves the runner. UNSPECIFIED
|
|
7
|
+
* resolves to STANDARD here and ONLY here — every upstream layer preserves
|
|
8
|
+
* the caller's raw enum so "user chose standard" stays distinguishable
|
|
9
|
+
* from "platform default" all the way to the ledger.
|
|
10
|
+
*
|
|
11
|
+
* Each harness owns its translation of the EFFECTIVE tier into provider
|
|
12
|
+
* wire terms:
|
|
13
|
+
* - Cursor: explicit `ModelSelection.params` pinning the price-bearing
|
|
14
|
+
* variant booleans (`execute-cursor/service-tier.ts`).
|
|
15
|
+
* - Native: the provider's own request parameter, mapped in
|
|
16
|
+
* `model-client.ts` (`toOpenAiServiceTier` / `toAnthropicServiceTier`
|
|
17
|
+
* below) so no construction site can invent a third mapping.
|
|
18
|
+
*/
|
|
19
|
+
import { ServiceTier } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
20
|
+
/**
|
|
21
|
+
* Resolve the configured tier to its effective value. The single place in
|
|
22
|
+
* the platform where UNSPECIFIED becomes STANDARD.
|
|
23
|
+
*/
|
|
24
|
+
export function resolveEffectiveServiceTier(configured) {
|
|
25
|
+
return configured === ServiceTier.FAST ? ServiceTier.FAST : ServiceTier.STANDARD;
|
|
26
|
+
}
|
|
27
|
+
/** Human-readable tier label for logs and error messages. */
|
|
28
|
+
export function serviceTierLabel(tier) {
|
|
29
|
+
switch (tier) {
|
|
30
|
+
case ServiceTier.FAST:
|
|
31
|
+
return "fast";
|
|
32
|
+
case ServiceTier.STANDARD:
|
|
33
|
+
return "standard";
|
|
34
|
+
default:
|
|
35
|
+
return "unspecified";
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* OpenAI's `service_tier` request parameter for the effective tier.
|
|
40
|
+
*
|
|
41
|
+
* STANDARD maps to "default", NOT "auto": "auto" lets the ACCOUNT's
|
|
42
|
+
* project settings pick the processing tier — the exact
|
|
43
|
+
* account-default-decides-the-price hole #357 closed on the Cursor
|
|
44
|
+
* harness. FAST maps to "priority" (pay-as-you-go priority processing);
|
|
45
|
+
* create-time validation makes FAST unreachable until a registry entry
|
|
46
|
+
* prices it, so today's traffic always sends "default". "flex" (cheaper,
|
|
47
|
+
* slower) is a possible future tier, deliberately unmapped.
|
|
48
|
+
*/
|
|
49
|
+
export function toOpenAiServiceTier(tier) {
|
|
50
|
+
return tier === ServiceTier.FAST ? "priority" : "default";
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Anthropic's `service_tier` request parameter for the effective tier.
|
|
54
|
+
*
|
|
55
|
+
* STANDARD maps to "standard_only": never consume priority-tier capacity,
|
|
56
|
+
* so the bill is the public standard rate regardless of what the account
|
|
57
|
+
* has purchased. FAST maps to "auto" — Anthropic's priority tier is
|
|
58
|
+
* PURCHASED capacity, and "auto" means "use it when available"; the
|
|
59
|
+
* response's `usage.service_tier` reports what actually served, which is
|
|
60
|
+
* what billing reconciles against. FAST is unreachable until a registry
|
|
61
|
+
* entry prices it (and the platform buys priority capacity — the #361
|
|
62
|
+
* half-2 hold).
|
|
63
|
+
*/
|
|
64
|
+
export function toAnthropicServiceTier(tier) {
|
|
65
|
+
return tier === ServiceTier.FAST ? "auto" : "standard_only";
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=service-tier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-tier.js","sourceRoot":"","sources":["../../src/shared/service-tier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,8DAA8D,CAAC;AAO3F;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAmC;IAEnC,OAAO,UAAU,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;AACnF,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,gBAAgB,CAAC,IAAiB;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,IAAI;YACnB,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW,CAAC,QAAQ;YACvB,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA0B;IAC5D,OAAO,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA0B;IAC/D,OAAO,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;AAC9D,CAAC"}
|
|
@@ -121,13 +121,13 @@ export async function checkSkillIntegrity(skills, workspaceBackend) {
|
|
|
121
121
|
async function extractZipToWorkspace(zipBytes, targetDir, backend) {
|
|
122
122
|
const entries = await extractZipFileEntries(zipBytes);
|
|
123
123
|
for (const entry of entries) {
|
|
124
|
-
await backend.
|
|
124
|
+
await backend.writeFileBuffer(`${targetDir}/${entry.path}`, Buffer.from(entry.content));
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
async function extractZipToWorkspaceExcluding(zipBytes, excludeName, targetDir, backend) {
|
|
128
128
|
const entries = await extractZipFileEntries(zipBytes, { exclude: [excludeName] });
|
|
129
129
|
for (const entry of entries) {
|
|
130
|
-
await backend.
|
|
130
|
+
await backend.writeFileBuffer(`${targetDir}/${entry.path}`, Buffer.from(entry.content));
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
async function makeScriptsExecutable(relativeDir, backend) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-writer.js","sourceRoot":"","sources":["../../src/shared/skill-writer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"skill-writer.js","sourceRoot":"","sources":["../../src/shared/skill-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Skill-artifact ZIP extraction:
|
|
2
|
+
* Skill-artifact ZIP extraction: byte-preserving entries with non-fatal
|
|
3
3
|
* structural failure.
|
|
4
4
|
*
|
|
5
|
+
* Entries are returned as raw bytes, never decoded: skill artifacts carry
|
|
6
|
+
* binary assets (images, fonts, archives) alongside text, and a UTF-8
|
|
7
|
+
* decode/encode round-trip silently corrupts anything that isn't valid
|
|
8
|
+
* UTF-8 (issue #683). No consumer parses entry content as text — SKILL.md
|
|
9
|
+
* is excluded from extraction on every path and written from the Skill
|
|
10
|
+
* spec instead — so there is deliberately no text accessor to misuse.
|
|
11
|
+
*
|
|
5
12
|
* Structural parsing lives in zip-structure.ts (central-directory-based —
|
|
6
13
|
* see that module's doc for why local-header walks are never acceptable,
|
|
7
14
|
* issue #450). This module owns the skill-artifact *policy* on top of it:
|
|
@@ -27,8 +34,8 @@
|
|
|
27
34
|
export interface ZipFileEntry {
|
|
28
35
|
/** Relative path within the archive (forward-slash separated). */
|
|
29
36
|
readonly path: string;
|
|
30
|
-
/**
|
|
31
|
-
readonly content:
|
|
37
|
+
/** Raw file bytes, exactly as stored in the archive. */
|
|
38
|
+
readonly content: Uint8Array;
|
|
32
39
|
}
|
|
33
40
|
/**
|
|
34
41
|
* Parse and decompress all file entries from a ZIP archive.
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Skill-artifact ZIP extraction:
|
|
2
|
+
* Skill-artifact ZIP extraction: byte-preserving entries with non-fatal
|
|
3
3
|
* structural failure.
|
|
4
4
|
*
|
|
5
|
+
* Entries are returned as raw bytes, never decoded: skill artifacts carry
|
|
6
|
+
* binary assets (images, fonts, archives) alongside text, and a UTF-8
|
|
7
|
+
* decode/encode round-trip silently corrupts anything that isn't valid
|
|
8
|
+
* UTF-8 (issue #683). No consumer parses entry content as text — SKILL.md
|
|
9
|
+
* is excluded from extraction on every path and written from the Skill
|
|
10
|
+
* spec instead — so there is deliberately no text accessor to misuse.
|
|
11
|
+
*
|
|
5
12
|
* Structural parsing lives in zip-structure.ts (central-directory-based —
|
|
6
13
|
* see that module's doc for why local-header walks are never acceptable,
|
|
7
14
|
* issue #450). This module owns the skill-artifact *policy* on top of it:
|
|
@@ -74,14 +81,14 @@ function isExcluded(name, excludeSet) {
|
|
|
74
81
|
// ─── Decompression ───────────────────────────────────────────────────────
|
|
75
82
|
async function decompressEntry(entry) {
|
|
76
83
|
if (entry.compressionMethod === 0) {
|
|
77
|
-
return
|
|
84
|
+
return entry.compressedData;
|
|
78
85
|
}
|
|
79
86
|
if (entry.compressionMethod === 8) {
|
|
80
87
|
return new Promise((resolve, reject) => {
|
|
81
88
|
const inflate = createInflateRaw();
|
|
82
89
|
const chunks = [];
|
|
83
90
|
inflate.on("data", (chunk) => chunks.push(chunk));
|
|
84
|
-
inflate.on("end", () => resolve(Buffer.concat(chunks)
|
|
91
|
+
inflate.on("end", () => resolve(Buffer.concat(chunks)));
|
|
85
92
|
inflate.on("error", reject);
|
|
86
93
|
inflate.end(Buffer.from(entry.compressedData));
|
|
87
94
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip-extract.js","sourceRoot":"","sources":["../../src/shared/zip-extract.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"zip-extract.js","sourceRoot":"","sources":["../../src/shared/zip-extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,5 +15,19 @@ export declare class CallFunctionTaskBuilder implements TaskBuilder {
|
|
|
15
15
|
readonly taskDef: CallFunctionTaskDef;
|
|
16
16
|
constructor(taskName: string, taskDef: CallFunctionTaskDef);
|
|
17
17
|
build(): TaskExecutorFn;
|
|
18
|
+
/**
|
|
19
|
+
* Executes a `call: llm` with schema-validation policy orchestration —
|
|
20
|
+
* the llm twin of call-agent's output-contract loop (#686).
|
|
21
|
+
*
|
|
22
|
+
* With ON_INVALID_RETRY / ON_INVALID_FALLBACK the activity reports a
|
|
23
|
+
* validation miss as a `parse_error` result instead of throwing; each
|
|
24
|
+
* retry is its own activity invocation (visible in Temporal history)
|
|
25
|
+
* re-prompting with the validation errors so the model can self-correct.
|
|
26
|
+
* Exhausted retries (or immediate FALLBACK) branch to `fallback_task`
|
|
27
|
+
* via the engine's flow directive; without one, the task fails — the
|
|
28
|
+
* proto contract. ON_INVALID_FAIL (default) keeps the activity's
|
|
29
|
+
* throwing path: one attempt, LLM_SCHEMA_VALIDATION on miss.
|
|
30
|
+
*/
|
|
31
|
+
private executeLlmCall;
|
|
18
32
|
shouldRun(): Promise<boolean>;
|
|
19
33
|
}
|
|
@@ -115,15 +115,59 @@ export class CallFunctionTaskBuilder {
|
|
|
115
115
|
resolved.input = input;
|
|
116
116
|
}
|
|
117
117
|
const executionId = state.env.__stigmer_execution_id || undefined;
|
|
118
|
-
const
|
|
119
|
-
workflowExecutionId: executionId,
|
|
120
|
-
});
|
|
118
|
+
const fnMeta = { workflowExecutionId: executionId };
|
|
121
119
|
if (callType === "llm") {
|
|
122
|
-
return
|
|
120
|
+
return this.executeLlmCall(resolved, state.env, fnMeta, ctx);
|
|
123
121
|
}
|
|
124
|
-
return
|
|
122
|
+
return ctx.callFunction(callType, resolved, state.env, fnMeta);
|
|
125
123
|
};
|
|
126
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Executes a `call: llm` with schema-validation policy orchestration —
|
|
127
|
+
* the llm twin of call-agent's output-contract loop (#686).
|
|
128
|
+
*
|
|
129
|
+
* With ON_INVALID_RETRY / ON_INVALID_FALLBACK the activity reports a
|
|
130
|
+
* validation miss as a `parse_error` result instead of throwing; each
|
|
131
|
+
* retry is its own activity invocation (visible in Temporal history)
|
|
132
|
+
* re-prompting with the validation errors so the model can self-correct.
|
|
133
|
+
* Exhausted retries (or immediate FALLBACK) branch to `fallback_task`
|
|
134
|
+
* via the engine's flow directive; without one, the task fails — the
|
|
135
|
+
* proto contract. ON_INVALID_FAIL (default) keeps the activity's
|
|
136
|
+
* throwing path: one attempt, LLM_SCHEMA_VALIDATION on miss.
|
|
137
|
+
*/
|
|
138
|
+
async executeLlmCall(resolved, env, fnMeta, ctx) {
|
|
139
|
+
const hasSchema = !!resolved.response_schema;
|
|
140
|
+
const onInvalid = resolved.on_invalid ?? "ON_INVALID_FAIL";
|
|
141
|
+
const softHandling = hasSchema && (onInvalid === "ON_INVALID_RETRY" || onInvalid === "ON_INVALID_FALLBACK");
|
|
142
|
+
// Proto: max_retries "Default: 1", meaningful only for ON_INVALID_RETRY.
|
|
143
|
+
const maxRetries = onInvalid === "ON_INVALID_RETRY" ? resolved.max_retries ?? 1 : 0;
|
|
144
|
+
let attempts = 0;
|
|
145
|
+
let lastParseError = "";
|
|
146
|
+
do {
|
|
147
|
+
const attemptConfig = attempts === 0
|
|
148
|
+
? resolved
|
|
149
|
+
: {
|
|
150
|
+
...resolved,
|
|
151
|
+
prompt: `${resolved.prompt}\n\n[RETRY — Your previous response did not match ` +
|
|
152
|
+
`the required output schema. Validation errors: ${lastParseError}. ` +
|
|
153
|
+
`Please ensure your response strictly matches the JSON schema provided.]`,
|
|
154
|
+
};
|
|
155
|
+
const result = (await ctx.callFunction("llm", attemptConfig, env, fnMeta));
|
|
156
|
+
if (!softHandling || !result.parse_error) {
|
|
157
|
+
return normalizeLlmOutput(result, hasSchema);
|
|
158
|
+
}
|
|
159
|
+
lastParseError = result.parse_error;
|
|
160
|
+
attempts++;
|
|
161
|
+
} while (onInvalid === "ON_INVALID_RETRY" && attempts <= maxRetries);
|
|
162
|
+
if (typeof resolved.fallback_task === "string" && resolved.fallback_task !== "") {
|
|
163
|
+
return {
|
|
164
|
+
__flow_directive__: resolved.fallback_task,
|
|
165
|
+
validation_errors: [lastParseError],
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
throw new Error(`LLM output validation failed after ${attempts} attempt(s) ` +
|
|
169
|
+
`for task '${this.taskName}': ${lastParseError}`);
|
|
170
|
+
}
|
|
127
171
|
async shouldRun() {
|
|
128
172
|
return true;
|
|
129
173
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-function.js","sourceRoot":"","sources":["../../../src/workflow-engine/tasks/call-function.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"call-function.js","sourceRoot":"","sources":["../../../src/workflow-engine/tasks/call-function.ts"],"names":[],"mappings":"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"}
|
|
@@ -230,6 +230,12 @@ export interface HttpCallConfig {
|
|
|
230
230
|
readonly query?: Record<string, string>;
|
|
231
231
|
readonly output?: string;
|
|
232
232
|
readonly redirect?: string;
|
|
233
|
+
/**
|
|
234
|
+
* Request timeout in seconds (proto: HttpCallTaskConfig.timeout_seconds,
|
|
235
|
+
* 1-300). Aborts the request and fails the task with HTTP_CALL_TIMEOUT;
|
|
236
|
+
* the engine also widens the activity's startToClose to fit it (#686).
|
|
237
|
+
*/
|
|
238
|
+
readonly timeout_seconds?: number;
|
|
233
239
|
}
|
|
234
240
|
export type EndpointDef = string | {
|
|
235
241
|
readonly uri: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflow-engine/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA6LH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEhC,MAAM,UAAU,aAAa,CAAC,SAAwB;IACpD,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAwB;IACvD,OAAO,CACL,SAAS,KAAK,aAAa;QAC3B,SAAS,KAAK,QAAQ;QACtB,SAAS,KAAK,SAAS,CACxB,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflow-engine/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA6LH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEhC,MAAM,UAAU,aAAa,CAAC,SAAwB;IACpD,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAwB;IACvD,OAAO,CACL,SAAS,KAAK,aAAa;QAC3B,SAAS,KAAK,QAAQ;QACtB,SAAS,KAAK,SAAS,CACxB,CAAC;AACJ,CAAC;AAivBD,wEAAwE;AACxE,cAAc;AACd,wEAAwE;AAExE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,gBAAgB,CAAS;IAElC,YAAY,OAAe,EAAE,gBAAwB;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -26,16 +26,42 @@ import { TaskStatusAccumulator } from "../workflow-engine/task-status-accumulato
|
|
|
26
26
|
const evalProxy = proxyLocalActivities({
|
|
27
27
|
startToCloseTimeout: "10s",
|
|
28
28
|
});
|
|
29
|
+
const CALL_PROXY_RETRY = {
|
|
30
|
+
maximumAttempts: 5,
|
|
31
|
+
initialInterval: "1s",
|
|
32
|
+
backoffCoefficient: 2,
|
|
33
|
+
maximumInterval: "1m",
|
|
34
|
+
};
|
|
29
35
|
const callProxy = proxyActivities({
|
|
30
36
|
startToCloseTimeout: "5m",
|
|
31
37
|
heartbeatTimeout: "30s",
|
|
32
|
-
retry:
|
|
33
|
-
maximumAttempts: 5,
|
|
34
|
-
initialInterval: "1s",
|
|
35
|
-
backoffCoefficient: 2,
|
|
36
|
-
maximumInterval: "1m",
|
|
37
|
-
},
|
|
38
|
+
retry: CALL_PROXY_RETRY,
|
|
38
39
|
});
|
|
40
|
+
/**
|
|
41
|
+
* Task-config timeouts (llm_call.timeout ≤600s, http_call.timeout_seconds
|
|
42
|
+
* ≤300s) can exceed or crowd the default 5m startToClose, which would kill
|
|
43
|
+
* the activity before its own well-typed LLM_TIMEOUT / HTTP_CALL_TIMEOUT
|
|
44
|
+
* failure fires. When a task declares a budget, proxy its call with
|
|
45
|
+
* startToClose = budget + 30s so the in-activity bound always wins (#686).
|
|
46
|
+
*
|
|
47
|
+
* proxyActivities in workflow code is a deterministic proxy construction
|
|
48
|
+
* (no Temporal commands); the memo just avoids rebuilding per call.
|
|
49
|
+
*/
|
|
50
|
+
const timeoutAwareProxies = new Map();
|
|
51
|
+
function callProxyFor(timeoutSeconds) {
|
|
52
|
+
if (!timeoutSeconds || !Number.isFinite(timeoutSeconds))
|
|
53
|
+
return callProxy;
|
|
54
|
+
let proxy = timeoutAwareProxies.get(timeoutSeconds);
|
|
55
|
+
if (!proxy) {
|
|
56
|
+
proxy = proxyActivities({
|
|
57
|
+
startToCloseTimeout: `${timeoutSeconds + 30}s`,
|
|
58
|
+
heartbeatTimeout: "30s",
|
|
59
|
+
retry: CALL_PROXY_RETRY,
|
|
60
|
+
});
|
|
61
|
+
timeoutAwareProxies.set(timeoutSeconds, proxy);
|
|
62
|
+
}
|
|
63
|
+
return proxy;
|
|
64
|
+
}
|
|
39
65
|
const runProxy = proxyActivities({
|
|
40
66
|
startToCloseTimeout: "5m",
|
|
41
67
|
heartbeatTimeout: "30s",
|
|
@@ -175,9 +201,11 @@ export async function runWorkflowEngine(input, options) {
|
|
|
175
201
|
: runProxy.RunShell(config),
|
|
176
202
|
runWorkflow: (config) => orchestrateRunWorkflow(config),
|
|
177
203
|
awaitHumanInput: (config) => orchestrateHumanInput(config),
|
|
178
|
-
callHttp: (config, runtimeEnv) =>
|
|
204
|
+
callHttp: (config, runtimeEnv) => callProxyFor(config.timeout_seconds).CallHttp(config, runtimeEnv),
|
|
179
205
|
callGrpc: (config, runtimeEnv) => callProxy.CallGrpc(config, runtimeEnv),
|
|
180
|
-
callFunction: (call, config, runtimeEnv, fnMeta) =>
|
|
206
|
+
callFunction: (call, config, runtimeEnv, fnMeta) => callProxyFor(call === "llm" && typeof config.timeout === "number"
|
|
207
|
+
? config.timeout
|
|
208
|
+
: undefined).CallFunction(call, config, runtimeEnv, fnMeta.workflowExecutionId ?? executionId),
|
|
181
209
|
callAgent: (config, runtimeEnv, agentMeta) => orchestrateAgentCall({
|
|
182
210
|
config,
|
|
183
211
|
runtimeEnv,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-core.js","sourceRoot":"","sources":["../../src/workflows/engine-core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine-core.js","sourceRoot":"","sources":["../../src/workflows/engine-core.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/runner",
|
|
3
|
-
"version": "3.12.
|
|
3
|
+
"version": "3.12.4",
|
|
4
4
|
"description": "Embeddable Temporal worker for the Stigmer AI agent platform — handles agent execution, workflow orchestration, and MCP server management",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"@opentelemetry/sdk-metrics": "^2.0.0",
|
|
91
91
|
"@opentelemetry/sdk-trace-base": "^2.0.0",
|
|
92
92
|
"@opentelemetry/sdk-trace-node": "^2.0.0",
|
|
93
|
-
"@stigmer/protos": "3.12.
|
|
93
|
+
"@stigmer/protos": "3.12.4",
|
|
94
94
|
"@temporalio/activity": "^1.11.0",
|
|
95
95
|
"@temporalio/common": "^1.11.0",
|
|
96
96
|
"@temporalio/interceptors-opentelemetry": "~1.16.0",
|
|
@@ -217,6 +217,42 @@ describe("callHttpAction", () => {
|
|
|
217
217
|
});
|
|
218
218
|
});
|
|
219
219
|
|
|
220
|
+
describe("task timeout (#686)", () => {
|
|
221
|
+
it("times out with non-retryable HTTP_CALL_TIMEOUT when timeout_seconds is breached", async () => {
|
|
222
|
+
mockFetch.mockImplementation((_url: string, init?: RequestInit) => {
|
|
223
|
+
// Hang until the AbortSignal.timeout fires, like a stalled server.
|
|
224
|
+
return new Promise((_, reject) => {
|
|
225
|
+
init?.signal?.addEventListener("abort", () =>
|
|
226
|
+
reject(Object.assign(new Error("The operation was aborted due to timeout"), { name: "TimeoutError" })),
|
|
227
|
+
);
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
await expect(
|
|
232
|
+
callHttpAction(
|
|
233
|
+
{ method: "GET", endpoint: { uri: "https://api.example.com/slow" }, timeout_seconds: 1 },
|
|
234
|
+
{},
|
|
235
|
+
),
|
|
236
|
+
).rejects.toMatchObject({ type: "HTTP_CALL_TIMEOUT", nonRetryable: true });
|
|
237
|
+
}, 15_000);
|
|
238
|
+
|
|
239
|
+
it("passes a timeout signal to fetch only when timeout_seconds is set", async () => {
|
|
240
|
+
mockFetch.mockImplementation(() => Promise.resolve(jsonResponse({ ok: true })));
|
|
241
|
+
|
|
242
|
+
await callHttpAction(
|
|
243
|
+
{ method: "GET", endpoint: { uri: "https://api.example.com/a" } },
|
|
244
|
+
{},
|
|
245
|
+
);
|
|
246
|
+
expect(mockFetch.mock.calls[0][1].signal).toBeUndefined();
|
|
247
|
+
|
|
248
|
+
await callHttpAction(
|
|
249
|
+
{ method: "GET", endpoint: { uri: "https://api.example.com/b" }, timeout_seconds: 30 },
|
|
250
|
+
{},
|
|
251
|
+
);
|
|
252
|
+
expect(mockFetch.mock.calls[1][1].signal).toBeInstanceOf(AbortSignal);
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
|
|
220
256
|
describe("runtime placeholder resolution", () => {
|
|
221
257
|
it("resolves ${.secrets.KEY} in headers", async () => {
|
|
222
258
|
mockFetch.mockResolvedValue(jsonResponse({ ok: true }));
|