@xyne/workflow-sdk 3.2.4 → 3.2.5
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/agents/builtin/chat-tools.d.ts +10 -4
- package/dist/agents/builtin/chat-tools.d.ts.map +1 -1
- package/dist/agents/builtin/chat-tools.js +15 -5
- package/dist/agents/builtin/chat-tools.js.map +1 -1
- package/dist/ai-builder/client.d.ts +2 -3
- package/dist/ai-builder/client.d.ts.map +1 -1
- package/dist/ai-builder/client.js +4 -4
- package/dist/ai-builder/client.js.map +1 -1
- package/dist/ai-builder/types.d.ts +2 -3
- package/dist/ai-builder/types.d.ts.map +1 -1
- package/dist/router/approval-context.d.ts +35 -0
- package/dist/router/approval-context.d.ts.map +1 -0
- package/dist/router/approval-context.js +166 -0
- package/dist/router/approval-context.js.map +1 -0
- package/dist/router/workflow-router.d.ts.map +1 -1
- package/dist/router/workflow-router.js +43 -18
- package/dist/router/workflow-router.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,17 +8,23 @@
|
|
|
8
8
|
* {@link SandboxAdapter}, never a baked-in backend.
|
|
9
9
|
*/
|
|
10
10
|
import type { AgentTool } from '@earendil-works/pi-agent-core';
|
|
11
|
-
import type { SandboxAdapter } from '../../sandbox/types.js';
|
|
11
|
+
import type { SandboxAdapter, SandboxFileUpload } from '../../sandbox/types.js';
|
|
12
12
|
/**
|
|
13
13
|
* Wrap the built-in `run_code` {@link WorkflowTool} as a pi-agent-core
|
|
14
14
|
* {@link AgentTool}, driving a fresh sandbox per call (create → run → destroy)
|
|
15
15
|
* so each invocation is isolated. Always executes inside the host sandbox.
|
|
16
|
+
*
|
|
17
|
+
* `preloadFiles` are written into every fresh sandbox before the model's code
|
|
18
|
+
* runs — the approval chat uses this to mount the execution JSON at
|
|
19
|
+
* /mnt/files/execution.json so the model can read run data on demand without it
|
|
20
|
+
* ever entering the prompt.
|
|
16
21
|
*/
|
|
17
|
-
export declare function createRunCodeAgentTool(sandbox: SandboxAdapter): AgentTool;
|
|
22
|
+
export declare function createRunCodeAgentTool(sandbox: SandboxAdapter, preloadFiles?: SandboxFileUpload[]): AgentTool;
|
|
18
23
|
/**
|
|
19
24
|
* The full tool set available to the Ask AI chat agents. Returns `run_code` when
|
|
20
25
|
* a sandbox is configured, else an empty list (the chat still works, just without
|
|
21
|
-
* code execution).
|
|
26
|
+
* code execution). `preloadFiles` (e.g. the execution JSON) are mounted into the
|
|
27
|
+
* sandbox on every call.
|
|
22
28
|
*/
|
|
23
|
-
export declare function createChatAgentTools(sandbox: SandboxAdapter | undefined): AgentTool[];
|
|
29
|
+
export declare function createChatAgentTools(sandbox: SandboxAdapter | undefined, preloadFiles?: SandboxFileUpload[]): AgentTool[];
|
|
24
30
|
//# sourceMappingURL=chat-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-tools.d.ts","sourceRoot":"","sources":["../../../src/agents/builtin/chat-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-tools.d.ts","sourceRoot":"","sources":["../../../src/agents/builtin/chat-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAKhF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,YAAY,CAAC,EAAE,iBAAiB,EAAE,GACjC,SAAS,CAyBX;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,YAAY,CAAC,EAAE,iBAAiB,EAAE,GACjC,SAAS,EAAE,CAEb"}
|
|
@@ -14,8 +14,13 @@ import { runCodeTool } from './run-code-tool.js';
|
|
|
14
14
|
* Wrap the built-in `run_code` {@link WorkflowTool} as a pi-agent-core
|
|
15
15
|
* {@link AgentTool}, driving a fresh sandbox per call (create → run → destroy)
|
|
16
16
|
* so each invocation is isolated. Always executes inside the host sandbox.
|
|
17
|
+
*
|
|
18
|
+
* `preloadFiles` are written into every fresh sandbox before the model's code
|
|
19
|
+
* runs — the approval chat uses this to mount the execution JSON at
|
|
20
|
+
* /mnt/files/execution.json so the model can read run data on demand without it
|
|
21
|
+
* ever entering the prompt.
|
|
17
22
|
*/
|
|
18
|
-
export function createRunCodeAgentTool(sandbox) {
|
|
23
|
+
export function createRunCodeAgentTool(sandbox, preloadFiles) {
|
|
19
24
|
return {
|
|
20
25
|
name: runCodeTool.name,
|
|
21
26
|
label: 'Run code',
|
|
@@ -25,8 +30,12 @@ export function createRunCodeAgentTool(sandbox) {
|
|
|
25
30
|
const sig = signal ?? new AbortController().signal;
|
|
26
31
|
const handle = await sandbox.create({ signal: sig });
|
|
27
32
|
try {
|
|
33
|
+
const session = bindSandboxSession(sandbox, handle);
|
|
34
|
+
if (preloadFiles && preloadFiles.length > 0) {
|
|
35
|
+
await session.writeFiles(preloadFiles);
|
|
36
|
+
}
|
|
28
37
|
const result = await runCodeTool.execute(params, {
|
|
29
|
-
sandbox:
|
|
38
|
+
sandbox: session,
|
|
30
39
|
signal: sig,
|
|
31
40
|
log: { info: () => { }, warn: () => { }, error: () => { } },
|
|
32
41
|
});
|
|
@@ -41,9 +50,10 @@ export function createRunCodeAgentTool(sandbox) {
|
|
|
41
50
|
/**
|
|
42
51
|
* The full tool set available to the Ask AI chat agents. Returns `run_code` when
|
|
43
52
|
* a sandbox is configured, else an empty list (the chat still works, just without
|
|
44
|
-
* code execution).
|
|
53
|
+
* code execution). `preloadFiles` (e.g. the execution JSON) are mounted into the
|
|
54
|
+
* sandbox on every call.
|
|
45
55
|
*/
|
|
46
|
-
export function createChatAgentTools(sandbox) {
|
|
47
|
-
return sandbox ? [createRunCodeAgentTool(sandbox)] : [];
|
|
56
|
+
export function createChatAgentTools(sandbox, preloadFiles) {
|
|
57
|
+
return sandbox ? [createRunCodeAgentTool(sandbox, preloadFiles)] : [];
|
|
48
58
|
}
|
|
49
59
|
//# sourceMappingURL=chat-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-tools.js","sourceRoot":"","sources":["../../../src/agents/builtin/chat-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"chat-tools.js","sourceRoot":"","sources":["../../../src/agents/builtin/chat-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAuB,EACvB,YAAkC;IAElC,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,UAAU,EAAE,qBAAqB,CAAC,WAAW,CAAC,WAAW,CAA4B;QACrF,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,MAAe,EAAE,MAAoB,EAAE,EAAE;YAC5E,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,MAAmD,EAAE;oBAC5F,OAAO,EAAE,OAAO;oBAChB,MAAM,EAAE,GAAG;oBACX,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;iBACzD,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACjG,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAA8B,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAmC,EACnC,YAAkC;IAElC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { AiBuilderMessage, BuilderChatResponse, ApprovalChatResponse, ChatStreamHandlers, WorkflowConfig } from './types.js';
|
|
2
|
-
import type { ExecutionDetail } from '../client/types.js';
|
|
3
2
|
export interface AiBuilderClientOptions {
|
|
4
3
|
/**
|
|
5
4
|
* Workflow API base URL — the same value passed to `createWorkflowClient`
|
|
@@ -18,11 +17,11 @@ export declare class AiBuilderClient {
|
|
|
18
17
|
readonly baseUrl: string;
|
|
19
18
|
constructor(options: AiBuilderClientOptions);
|
|
20
19
|
chat(messages: AiBuilderMessage[], currentConfig: WorkflowConfig): Promise<BuilderChatResponse>;
|
|
21
|
-
approvalChat(messages: AiBuilderMessage[],
|
|
20
|
+
approvalChat(messages: AiBuilderMessage[], executionId: string, currentFormValues?: Record<string, unknown>): Promise<ApprovalChatResponse>;
|
|
22
21
|
/** Streaming builder chat — text snapshots + tool chips + final patch. */
|
|
23
22
|
chatStream(messages: AiBuilderMessage[], currentConfig: WorkflowConfig, handlers: ChatStreamHandlers, signal?: AbortSignal): Promise<void>;
|
|
24
23
|
/** Streaming approval chat — text snapshots + tool chips + final form-fill. */
|
|
25
|
-
approvalChatStream(messages: AiBuilderMessage[],
|
|
24
|
+
approvalChatStream(messages: AiBuilderMessage[], executionId: string, handlers: ChatStreamHandlers, currentFormValues?: Record<string, unknown>, signal?: AbortSignal): Promise<void>;
|
|
26
25
|
/** POST + consume an SSE response, dispatching frames to `handlers`. */
|
|
27
26
|
private _postStream;
|
|
28
27
|
private _post;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ai-builder/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ai-builder/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;GAGG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEI,OAAO,EAAE,sBAAsB;IAItD,IAAI,CACR,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,aAAa,EAAE,cAAc,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IAKzB,YAAY,CAChB,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,OAAO,CAAC,oBAAoB,CAAC;IAKhC,0EAA0E;IACpE,UAAU,CACd,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,aAAa,EAAE,cAAc,EAC7B,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAIhB,+EAA+E;IACzE,kBAAkB,CACtB,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,kBAAkB,EAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAQhB,wEAAwE;YAC1D,WAAW;YAiEX,KAAK;CAiBpB"}
|
|
@@ -13,8 +13,8 @@ export class AiBuilderClient {
|
|
|
13
13
|
const body = { messages, currentConfig };
|
|
14
14
|
return this._post(body);
|
|
15
15
|
}
|
|
16
|
-
async approvalChat(messages,
|
|
17
|
-
const body = { messages, mode: 'approval',
|
|
16
|
+
async approvalChat(messages, executionId, currentFormValues) {
|
|
17
|
+
const body = { messages, mode: 'approval', executionId, ...(currentFormValues ? { currentFormValues } : {}) };
|
|
18
18
|
return this._post(body);
|
|
19
19
|
}
|
|
20
20
|
/** Streaming builder chat — text snapshots + tool chips + final patch. */
|
|
@@ -22,8 +22,8 @@ export class AiBuilderClient {
|
|
|
22
22
|
return this._postStream({ messages, currentConfig }, handlers, signal);
|
|
23
23
|
}
|
|
24
24
|
/** Streaming approval chat — text snapshots + tool chips + final form-fill. */
|
|
25
|
-
async approvalChatStream(messages,
|
|
26
|
-
return this._postStream({ messages, mode: 'approval',
|
|
25
|
+
async approvalChatStream(messages, executionId, handlers, currentFormValues, signal) {
|
|
26
|
+
return this._postStream({ messages, mode: 'approval', executionId, ...(currentFormValues ? { currentFormValues } : {}) }, handlers, signal);
|
|
27
27
|
}
|
|
28
28
|
/** POST + consume an SSE response, dispatching frames to `handlers`. */
|
|
29
29
|
async _postStream(body, handlers, signal) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ai-builder/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ai-builder/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { WorkflowConfig } from '../types/workflow-config.js';
|
|
2
|
-
import type { ExecutionDetail } from '../client/types.js';
|
|
3
2
|
export type { WorkflowConfig };
|
|
4
3
|
export interface AiBuilderToolCall {
|
|
5
4
|
name: string;
|
|
@@ -30,11 +29,11 @@ export interface BuilderChatRequest {
|
|
|
30
29
|
mode?: 'builder';
|
|
31
30
|
currentConfig: WorkflowConfig;
|
|
32
31
|
}
|
|
33
|
-
/** Approval mode —
|
|
32
|
+
/** Approval mode — identifies the execution, may receive form fill. */
|
|
34
33
|
export interface ApprovalChatRequest {
|
|
35
34
|
messages: AiBuilderMessage[];
|
|
36
35
|
mode: 'approval';
|
|
37
|
-
|
|
36
|
+
executionId: string;
|
|
38
37
|
/** Live form values at the moment the message was sent. */
|
|
39
38
|
currentFormValues?: Record<string, unknown>;
|
|
40
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai-builder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai-builder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAGD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAClG,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACzD,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD,mDAAmD;IACnD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,cAAc,CAAC;CAC/B;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ExecutionDetail } from '../client/types.js';
|
|
2
|
+
import { type Attachment } from '../common/attachment.js';
|
|
3
|
+
/** Path the execution JSON is mounted at inside the sandbox. */
|
|
4
|
+
export declare const EXECUTION_DATA_PATH = "/mnt/files/execution.json";
|
|
5
|
+
/** Directory under which execution attachments are mounted. */
|
|
6
|
+
export declare const ATTACHMENTS_DIR = "/mnt/files/attachments";
|
|
7
|
+
/**
|
|
8
|
+
* Compact, structure-only context for the system prompt: what the workflow is,
|
|
9
|
+
* what it does (steps in order), its trigger inputs, and run status. Carries NO
|
|
10
|
+
* step outputs — those are read on demand via run_code.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildWorkflowContext(execCtx: ExecutionDetail): string;
|
|
13
|
+
export interface CollectedAttachment {
|
|
14
|
+
/** Absolute path the bytes will be mounted at inside the sandbox. */
|
|
15
|
+
sandboxPath: string;
|
|
16
|
+
/** The attachment record (its `.data` is the opaque storage ref). */
|
|
17
|
+
attachment: Attachment;
|
|
18
|
+
/** Friendly source — the producing/consuming step id (or "trigger"). */
|
|
19
|
+
source: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Every distinct attachment referenced anywhere in the execution (trigger uploads
|
|
23
|
+
* + each step's input/output), each assigned a deterministic, collision-free
|
|
24
|
+
* sandbox path: /mnt/files/attachments/<step>/<name>. Deduped by storage ref.
|
|
25
|
+
*/
|
|
26
|
+
export declare function collectExecutionAttachments(execCtx: ExecutionDetail): CollectedAttachment[];
|
|
27
|
+
/**
|
|
28
|
+
* The full execution as JSON for the queryable file. Each step's `data` (a JSON
|
|
29
|
+
* string of `{ type, input, output }`) is expanded so the model can navigate it;
|
|
30
|
+
* each top-level step (`step_<n>`) is annotated with its friendly config id +
|
|
31
|
+
* title; and every attachment carries a `sandboxPath` pointing at its mounted
|
|
32
|
+
* bytes (per `mounted`), or null when it wasn't mounted (too large / unavailable).
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildExecutionDataFile(execCtx: ExecutionDetail, mounted?: Map<string, string>): string;
|
|
35
|
+
//# sourceMappingURL=approval-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-context.d.ts","sourceRoot":"","sources":["../../src/router/approval-context.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAExE,gEAAgE;AAChE,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAC/D,+DAA+D;AAC/D,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAkDxD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAoBrE;AAID,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,UAAU,EAAE,UAAU,CAAC;IACvB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,mBAAmB,EAAE,CAe3F;AAeD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,GACvC,MAAM,CAwBR"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// Approval Ask-AI context builders.
|
|
2
|
+
//
|
|
3
|
+
// Problem this solves: the approval chat used to serialize the ENTIRE execution
|
|
4
|
+
// (every step's input + output, pretty-printed) into the LLM system prompt. For
|
|
5
|
+
// data-heavy workflows (deep research, a LOAD_LAST_RESULT carrying the whole
|
|
6
|
+
// previous run, run_code tool-call dumps) that reaches >1MB / ~300K+ tokens and
|
|
7
|
+
// silently blows the model's context window — the model returns nothing.
|
|
8
|
+
//
|
|
9
|
+
// Instead the prompt carries only the WORKFLOW STRUCTURE (shape + what it does +
|
|
10
|
+
// the pause form), and the full execution is written to /mnt/files/execution.json
|
|
11
|
+
// for the model to read on demand with the existing `run_code` tool. Any
|
|
12
|
+
// attachment the workflow used or produced is hydrated from storage into the
|
|
13
|
+
// sandbox under /mnt/files/attachments/<step>/<name>, and each attachment record
|
|
14
|
+
// in execution.json is annotated with its `sandboxPath` so the model can open the
|
|
15
|
+
// real bytes (parse the xlsx, read the PDF, inspect the HTML). No run data ever
|
|
16
|
+
// enters the prompt; everything is fetched lazily, at any execution size.
|
|
17
|
+
import { isAttachment } from '../common/attachment.js';
|
|
18
|
+
/** Path the execution JSON is mounted at inside the sandbox. */
|
|
19
|
+
export const EXECUTION_DATA_PATH = '/mnt/files/execution.json';
|
|
20
|
+
/** Directory under which execution attachments are mounted. */
|
|
21
|
+
export const ATTACHMENTS_DIR = '/mnt/files/attachments';
|
|
22
|
+
function safeParse(raw) {
|
|
23
|
+
if (!raw)
|
|
24
|
+
return null;
|
|
25
|
+
try {
|
|
26
|
+
return JSON.parse(raw);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return raw;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function cfgStepFor(stepName, cfgSteps) {
|
|
33
|
+
const m = /^step_(\d+)$/.exec(stepName);
|
|
34
|
+
return m ? cfgSteps[Number(m[1])] : undefined;
|
|
35
|
+
}
|
|
36
|
+
function configSteps(execCtx) {
|
|
37
|
+
return execCtx.config?.steps ?? [];
|
|
38
|
+
}
|
|
39
|
+
// ── Workflow structure (the only thing that goes in the prompt) ───────────────
|
|
40
|
+
function renderSteps(steps, indent) {
|
|
41
|
+
const out = [];
|
|
42
|
+
steps.forEach((s, i) => {
|
|
43
|
+
const label = s.title ?? s.id ?? `step ${String(i + 1)}`;
|
|
44
|
+
out.push(`${indent}- ${label} (id: ${s.id ?? '?'}, type: ${s.type ?? '?'})${s.description ? ` — ${s.description}` : ''}`);
|
|
45
|
+
const branches = s.config?.branches;
|
|
46
|
+
if (branches) {
|
|
47
|
+
for (const [name, bsteps] of Object.entries(branches)) {
|
|
48
|
+
out.push(`${indent} • parallel branch "${name}":`);
|
|
49
|
+
out.push(...renderSteps(bsteps, `${indent} `));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return out;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Compact, structure-only context for the system prompt: what the workflow is,
|
|
57
|
+
* what it does (steps in order), its trigger inputs, and run status. Carries NO
|
|
58
|
+
* step outputs — those are read on demand via run_code.
|
|
59
|
+
*/
|
|
60
|
+
export function buildWorkflowContext(execCtx) {
|
|
61
|
+
const cfg = execCtx.config;
|
|
62
|
+
const parts = [];
|
|
63
|
+
parts.push(`Workflow: ${execCtx.name ?? execCtx.workflowId}`);
|
|
64
|
+
parts.push(`Run status: ${execCtx.status}`);
|
|
65
|
+
if (execCtx.summary)
|
|
66
|
+
parts.push(`About: ${execCtx.summary}`);
|
|
67
|
+
const props = cfg?.trigger?.config?.inputSchema?.properties;
|
|
68
|
+
if (props && Object.keys(props).length > 0) {
|
|
69
|
+
const inputs = Object.entries(props).map(([k, v]) => (v.title ? `${k} (${v.title})` : k));
|
|
70
|
+
parts.push(`Trigger inputs: ${inputs.join(', ')}`);
|
|
71
|
+
}
|
|
72
|
+
if (cfg?.steps && cfg.steps.length > 0) {
|
|
73
|
+
parts.push(`Steps (in order):\n${renderSteps(cfg.steps, '').join('\n')}`);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
parts.push(`Steps:\n${execCtx.steps.map((s) => `- ${s.stepName} (${s.executorType}) [${s.status}]`).join('\n')}`);
|
|
77
|
+
}
|
|
78
|
+
return parts.join('\n\n');
|
|
79
|
+
}
|
|
80
|
+
function sanitize(s) {
|
|
81
|
+
return s.replace(/[^A-Za-z0-9._-]/g, '_').replace(/^\.+/, '_') || 'file';
|
|
82
|
+
}
|
|
83
|
+
/** Deep-walk any value, invoking `visit` on every Attachment found (not recursing into it). */
|
|
84
|
+
function walkAttachments(value, visit) {
|
|
85
|
+
if (!value || typeof value !== 'object')
|
|
86
|
+
return;
|
|
87
|
+
if (isAttachment(value)) {
|
|
88
|
+
visit(value);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (Array.isArray(value)) {
|
|
92
|
+
for (const v of value)
|
|
93
|
+
walkAttachments(v, visit);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
for (const v of Object.values(value))
|
|
97
|
+
walkAttachments(v, visit);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Every distinct attachment referenced anywhere in the execution (trigger uploads
|
|
101
|
+
* + each step's input/output), each assigned a deterministic, collision-free
|
|
102
|
+
* sandbox path: /mnt/files/attachments/<step>/<name>. Deduped by storage ref.
|
|
103
|
+
*/
|
|
104
|
+
export function collectExecutionAttachments(execCtx) {
|
|
105
|
+
const cfgSteps = configSteps(execCtx);
|
|
106
|
+
const out = [];
|
|
107
|
+
const seen = new Set();
|
|
108
|
+
const add = (source, a) => {
|
|
109
|
+
if (seen.has(a.data))
|
|
110
|
+
return;
|
|
111
|
+
seen.add(a.data);
|
|
112
|
+
out.push({ sandboxPath: `${ATTACHMENTS_DIR}/${sanitize(source)}/${sanitize(a.name)}`, attachment: a, source });
|
|
113
|
+
};
|
|
114
|
+
walkAttachments(execCtx.triggerData, (a) => { add('trigger', a); });
|
|
115
|
+
for (const s of execCtx.steps) {
|
|
116
|
+
const source = cfgStepFor(s.stepName, cfgSteps)?.id ?? s.stepName;
|
|
117
|
+
walkAttachments(safeParse(s.data), (a) => { add(source, a); });
|
|
118
|
+
}
|
|
119
|
+
return out;
|
|
120
|
+
}
|
|
121
|
+
// ── Execution data file (mounted for run_code), attachments annotated ─────────
|
|
122
|
+
/** Annotate every attachment in-place with where it is mounted (null = not mounted). */
|
|
123
|
+
function annotateAttachments(value, mounted) {
|
|
124
|
+
if (!value || typeof value !== 'object')
|
|
125
|
+
return;
|
|
126
|
+
if (isAttachment(value)) {
|
|
127
|
+
value['sandboxPath'] = mounted.get(value.data) ?? null;
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (Array.isArray(value)) {
|
|
131
|
+
for (const v of value)
|
|
132
|
+
annotateAttachments(v, mounted);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
for (const v of Object.values(value))
|
|
136
|
+
annotateAttachments(v, mounted);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The full execution as JSON for the queryable file. Each step's `data` (a JSON
|
|
140
|
+
* string of `{ type, input, output }`) is expanded so the model can navigate it;
|
|
141
|
+
* each top-level step (`step_<n>`) is annotated with its friendly config id +
|
|
142
|
+
* title; and every attachment carries a `sandboxPath` pointing at its mounted
|
|
143
|
+
* bytes (per `mounted`), or null when it wasn't mounted (too large / unavailable).
|
|
144
|
+
*/
|
|
145
|
+
export function buildExecutionDataFile(execCtx, mounted = new Map()) {
|
|
146
|
+
const cfgSteps = configSteps(execCtx);
|
|
147
|
+
const steps = execCtx.steps.map((s) => {
|
|
148
|
+
const cfg = cfgStepFor(s.stepName, cfgSteps);
|
|
149
|
+
const data = safeParse(s.data);
|
|
150
|
+
annotateAttachments(data, mounted);
|
|
151
|
+
return {
|
|
152
|
+
stepName: s.stepName,
|
|
153
|
+
configId: cfg?.id,
|
|
154
|
+
title: cfg?.title,
|
|
155
|
+
status: s.status,
|
|
156
|
+
executorType: s.executorType,
|
|
157
|
+
data,
|
|
158
|
+
};
|
|
159
|
+
});
|
|
160
|
+
const triggerData = execCtx.triggerData
|
|
161
|
+
? JSON.parse(JSON.stringify(execCtx.triggerData))
|
|
162
|
+
: execCtx.triggerData;
|
|
163
|
+
annotateAttachments(triggerData, mounted);
|
|
164
|
+
return JSON.stringify({ id: execCtx.id, name: execCtx.name, workflowId: execCtx.workflowId, status: execCtx.status, triggerData, steps }, null, 2);
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=approval-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-context.js","sourceRoot":"","sources":["../../src/router/approval-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-router.d.ts","sourceRoot":"","sources":["../../src/router/workflow-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAA8B,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-router.d.ts","sourceRoot":"","sources":["../../src/router/workflow-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAA8B,aAAa,EAAE,MAAM,YAAY,CAAC;AAuD7F,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,aAAa,GACnB,eAAe,EAAE,CA0kCnB"}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { agentLoop } from '@earendil-works/pi-agent-core';
|
|
24
24
|
import { createChatAgentTools } from '../agents/builtin/chat-tools.js';
|
|
25
|
+
import { buildWorkflowContext, buildExecutionDataFile, collectExecutionAttachments, EXECUTION_DATA_PATH } from './approval-context.js';
|
|
25
26
|
import { OPERATOR_DESCRIPTORS } from '../types/operators.js';
|
|
26
27
|
import { getAvailableContext } from '../engine/available-context.js';
|
|
27
28
|
import { isExecutable } from '../common/executable-check.js';
|
|
@@ -874,23 +875,45 @@ export function createWorkflowRouter(runtime, _opts) {
|
|
|
874
875
|
const mode = body.mode ?? 'builder';
|
|
875
876
|
if (mode === 'approval') {
|
|
876
877
|
const approvalBody = body;
|
|
877
|
-
if (!approvalBody.
|
|
878
|
-
return badRequest('
|
|
878
|
+
if (!approvalBody.executionId) {
|
|
879
|
+
return badRequest('executionId is required for approval mode');
|
|
879
880
|
}
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
881
|
+
// The chat always runs inside a specific run, so we load it server-side
|
|
882
|
+
// rather than trusting/transferring a large client blob.
|
|
883
|
+
const detail = await runtime.getExecutionDetail(approvalBody.executionId);
|
|
884
|
+
if (!detail)
|
|
885
|
+
return notFound(`Execution ${approvalBody.executionId} not found`);
|
|
886
|
+
const execCtx = {
|
|
887
|
+
...detail.execution,
|
|
888
|
+
steps: detail.steps,
|
|
889
|
+
...(detail.config !== undefined ? { config: detail.config } : {}),
|
|
890
|
+
...(detail.triggerData !== undefined ? { triggerData: detail.triggerData } : {}),
|
|
891
|
+
...(detail.summary !== undefined ? { summary: detail.summary } : {}),
|
|
892
|
+
...(detail.name !== undefined ? { name: detail.name } : {}),
|
|
893
|
+
};
|
|
894
|
+
const workflowContext = buildWorkflowContext(execCtx);
|
|
895
|
+
const MAX_MOUNT_BYTES = 16 * 1024 * 1024;
|
|
896
|
+
const mountedPaths = new Map();
|
|
897
|
+
const preloadFiles = [];
|
|
898
|
+
if (runtime.storage) {
|
|
899
|
+
for (const att of collectExecutionAttachments(execCtx)) {
|
|
900
|
+
if (typeof att.attachment.size === 'number' && att.attachment.size > MAX_MOUNT_BYTES)
|
|
901
|
+
continue;
|
|
886
902
|
try {
|
|
887
|
-
|
|
903
|
+
const bytes = await runtime.storage.read(att.attachment);
|
|
904
|
+
preloadFiles.push({ path: att.sandboxPath, bytes });
|
|
905
|
+
mountedPaths.set(att.attachment.data, att.sandboxPath);
|
|
906
|
+
}
|
|
907
|
+
catch {
|
|
908
|
+
// Unavailable — left unmounted; annotated with sandboxPath: null.
|
|
888
909
|
}
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
preloadFiles.unshift({
|
|
913
|
+
path: EXECUTION_DATA_PATH,
|
|
914
|
+
bytes: new TextEncoder().encode(buildExecutionDataFile(execCtx, mountedPaths)),
|
|
915
|
+
});
|
|
916
|
+
const approvalTools = createChatAgentTools(runtime.sandbox, preloadFiles);
|
|
894
917
|
const currentFormValues = approvalBody.currentFormValues;
|
|
895
918
|
const formValuesSection = currentFormValues && Object.keys(currentFormValues).length > 0
|
|
896
919
|
? `\n\nCurrent form values (live state as of this message — what is actually filled in the form right now):\n\`\`\`json\n${JSON.stringify(currentFormValues, null, 2)}\n\`\`\``
|
|
@@ -907,7 +930,7 @@ export function createWorkflowRouter(runtime, _opts) {
|
|
|
907
930
|
}
|
|
908
931
|
}
|
|
909
932
|
catch { /* ok */ }
|
|
910
|
-
const systemPrompt = `${APPROVAL_AI_SYSTEM_PROMPT}\n\
|
|
933
|
+
const systemPrompt = `${APPROVAL_AI_SYSTEM_PROMPT}\n\nWorkflow structure:\n${workflowContext}${formFieldsSection}${formValuesSection}`;
|
|
911
934
|
// Build full conversation history so the model remembers prior turns.
|
|
912
935
|
// body.messages contains the complete history (user + assistant) sent by the client.
|
|
913
936
|
// We pass everything except the last message as context, and the last message as the prompt.
|
|
@@ -919,7 +942,7 @@ export function createWorkflowRouter(runtime, _opts) {
|
|
|
919
942
|
messages: historyMsgs.map((m) => m.role === 'user'
|
|
920
943
|
? { role: 'user', content: m.content, timestamp: Date.now() }
|
|
921
944
|
: { role: 'assistant', content: [{ type: 'text', text: m.content }], timestamp: Date.now() }),
|
|
922
|
-
tools:
|
|
945
|
+
tools: approvalTools,
|
|
923
946
|
};
|
|
924
947
|
const prompts = currentMsg
|
|
925
948
|
? [{ role: 'user', content: currentMsg.content, timestamp: Date.now() }]
|
|
@@ -1077,10 +1100,12 @@ MANUAL, WEBHOOK, CRON, EVENT
|
|
|
1077
1100
|
\`\`\`
|
|
1078
1101
|
Added one HTTP_REQUEST step that fetches from the example API.`;
|
|
1079
1102
|
const APPROVAL_AI_SYSTEM_PROMPT = `You are an assistant helping a human review a paused workflow execution.
|
|
1080
|
-
|
|
1103
|
+
Below you are given the workflow's STRUCTURE (its steps and what it does), its trigger inputs, and the current pause state (form fields + current values).
|
|
1104
|
+
The FULL run data — every step's actual input and output — is NOT in this prompt. It is written to a file at /mnt/files/execution.json. To answer any question about real values or outputs (e.g. "where did this number come from", "what did a step produce", "what did the research find"), use the run_code tool to read that file with Python and print what you need. In that file each step is { stepName, configId, title, status, data: { type, input, output } }; top-level steps are named step_0, step_1, … in run order, and configId/title map them to the structure below.
|
|
1105
|
+
Files the workflow used or produced (uploaded documents, generated reports/PDFs/spreadsheets/HTML) are mounted in the sandbox. Every attachment object in execution.json has a "sandboxPath" field with its location (under /mnt/files/attachments/<step>/<name>) — open that path with run_code to inspect the real bytes (e.g. parse the xlsx with openpyxl, read the PDF, view the HTML). A null sandboxPath means the file was not mounted (too large or unavailable); fall back to the related text outputs in that case.
|
|
1081
1106
|
|
|
1082
1107
|
## What you can do
|
|
1083
|
-
- Answer questions about the execution:
|
|
1108
|
+
- Answer questions about the execution: read /mnt/files/execution.json with run_code for any actual value, then answer.
|
|
1084
1109
|
- Fill the form interactively: collect each empty field's value from the user one at a time, then output the formfill block.
|
|
1085
1110
|
|
|
1086
1111
|
## Core principle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-router.js","sourceRoot":"","sources":["../../src/router/workflow-router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-router.js","sourceRoot":"","sources":["../../src/router/workflow-router.ts"],"names":[],"mappings":"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"}
|