experimental-ash 0.2.0-alpha.21 → 0.2.0-alpha.22
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/src/channel/slack-channel.d.ts +14 -7
- package/dist/src/channel/slack-channel.d.ts.map +1 -1
- package/dist/src/channel/slack-channel.js +21 -11
- package/dist/src/channel/slack-channel.js.map +1 -1
- package/dist/src/channel/types.d.ts +14 -14
- package/dist/src/channel/types.d.ts.map +1 -1
- package/dist/src/channel/types.js +6 -0
- package/dist/src/channel/types.js.map +1 -1
- package/dist/src/context/accessors.d.ts +24 -10
- package/dist/src/context/accessors.d.ts.map +1 -1
- package/dist/src/context/accessors.js +34 -16
- package/dist/src/context/accessors.js.map +1 -1
- package/dist/src/context/container.d.ts +43 -20
- package/dist/src/context/container.d.ts.map +1 -1
- package/dist/src/context/container.js +54 -22
- package/dist/src/context/container.js.map +1 -1
- package/dist/src/context/key.d.ts +68 -39
- package/dist/src/context/key.d.ts.map +1 -1
- package/dist/src/context/key.js +49 -62
- package/dist/src/context/key.js.map +1 -1
- package/dist/src/context/keys.d.ts +6 -6
- package/dist/src/context/keys.d.ts.map +1 -1
- package/dist/src/context/keys.js +7 -9
- package/dist/src/context/keys.js.map +1 -1
- package/dist/src/context/node.d.ts +2 -2
- package/dist/src/context/node.d.ts.map +1 -1
- package/dist/src/context/node.js +1 -1
- package/dist/src/context/node.js.map +1 -1
- package/dist/src/context/provider.d.ts +24 -11
- package/dist/src/context/provider.d.ts.map +1 -1
- package/dist/src/context/providers/connection.d.ts +2 -2
- package/dist/src/context/providers/connection.d.ts.map +1 -1
- package/dist/src/context/providers/connection.js +1 -1
- package/dist/src/context/providers/connection.js.map +1 -1
- package/dist/src/context/providers/sandbox.d.ts +2 -2
- package/dist/src/context/providers/sandbox.d.ts.map +1 -1
- package/dist/src/context/providers/sandbox.js +2 -2
- package/dist/src/context/providers/sandbox.js.map +1 -1
- package/dist/src/context/providers/session.d.ts +2 -2
- package/dist/src/context/providers/session.d.ts.map +1 -1
- package/dist/src/context/providers/session.js +4 -4
- package/dist/src/context/providers/session.js.map +1 -1
- package/dist/src/context/providers/skill.d.ts +2 -2
- package/dist/src/context/providers/skill.d.ts.map +1 -1
- package/dist/src/context/providers/skill.js +2 -2
- package/dist/src/context/providers/skill.js.map +1 -1
- package/dist/src/context/run-step.d.ts +9 -8
- package/dist/src/context/run-step.d.ts.map +1 -1
- package/dist/src/context/run-step.js +32 -22
- package/dist/src/context/run-step.js.map +1 -1
- package/dist/src/context/seed-keys.d.ts +7 -7
- package/dist/src/context/seed-keys.d.ts.map +1 -1
- package/dist/src/context/seed-keys.js +7 -19
- package/dist/src/context/seed-keys.js.map +1 -1
- package/dist/src/context/serialize.d.ts +10 -9
- package/dist/src/context/serialize.d.ts.map +1 -1
- package/dist/src/context/serialize.js +18 -30
- package/dist/src/context/serialize.js.map +1 -1
- package/dist/src/execution/continuous-entry.d.ts +8 -6
- package/dist/src/execution/continuous-entry.d.ts.map +1 -1
- package/dist/src/execution/continuous-entry.js +27 -25
- package/dist/src/execution/continuous-entry.js.map +1 -1
- package/dist/src/execution/continuous-runtime.d.ts.map +1 -1
- package/dist/src/execution/continuous-runtime.js +1 -4
- package/dist/src/execution/continuous-runtime.js.map +1 -1
- package/dist/src/execution/node-step.js +1 -0
- package/dist/src/execution/node-step.js.map +1 -1
- package/dist/src/execution/runtime-context.d.ts +3 -3
- package/dist/src/execution/runtime-context.d.ts.map +1 -1
- package/dist/src/execution/runtime-context.js +3 -3
- package/dist/src/execution/runtime-context.js.map +1 -1
- package/dist/src/execution/sandboxes/read-file-tool.js +2 -2
- package/dist/src/execution/sandboxes/read-file-tool.js.map +1 -1
- package/dist/src/execution/sandboxes/require-sandbox.js +2 -2
- package/dist/src/execution/sandboxes/require-sandbox.js.map +1 -1
- package/dist/src/execution/sandboxes/write-file-tool.d.ts.map +1 -1
- package/dist/src/execution/sandboxes/write-file-tool.js +3 -3
- package/dist/src/execution/sandboxes/write-file-tool.js.map +1 -1
- package/dist/src/execution/subagent-tool.js +6 -6
- package/dist/src/execution/subagent-tool.js.map +1 -1
- package/dist/src/execution/tool-compaction.d.ts +3 -1
- package/dist/src/execution/tool-compaction.d.ts.map +1 -1
- package/dist/src/execution/tool-compaction.js +19 -8
- package/dist/src/execution/tool-compaction.js.map +1 -1
- package/dist/src/execution/types.d.ts +1 -0
- package/dist/src/execution/types.d.ts.map +1 -1
- package/dist/src/execution/workflow-entry.d.ts +5 -4
- package/dist/src/execution/workflow-entry.d.ts.map +1 -1
- package/dist/src/execution/workflow-entry.js +8 -3
- package/dist/src/execution/workflow-entry.js.map +1 -1
- package/dist/src/execution/workflow-runtime.d.ts.map +1 -1
- package/dist/src/execution/workflow-runtime.js +2 -3
- package/dist/src/execution/workflow-runtime.js.map +1 -1
- package/dist/src/execution/workflow-steps.d.ts +2 -2
- package/dist/src/execution/workflow-steps.d.ts.map +1 -1
- package/dist/src/execution/workflow-steps.js +42 -17
- package/dist/src/execution/workflow-steps.js.map +1 -1
- package/dist/src/harness/emission.d.ts +1 -1
- package/dist/src/harness/emission.js +3 -3
- package/dist/src/harness/emission.js.map +1 -1
- package/dist/src/harness/execute-tool.d.ts +1 -0
- package/dist/src/harness/execute-tool.d.ts.map +1 -1
- package/dist/src/harness/execute-tool.js.map +1 -1
- package/dist/src/harness/input-requests.d.ts +2 -22
- package/dist/src/harness/input-requests.d.ts.map +1 -1
- package/dist/src/harness/input-requests.js +47 -41
- package/dist/src/harness/input-requests.js.map +1 -1
- package/dist/src/harness/tool-loop.d.ts.map +1 -1
- package/dist/src/harness/tool-loop.js +19 -1
- package/dist/src/harness/tool-loop.js.map +1 -1
- package/dist/src/harness/tools.js +5 -1
- package/dist/src/harness/tools.js.map +1 -1
- package/dist/src/harness/types.d.ts +3 -15
- package/dist/src/harness/types.d.ts.map +1 -1
- package/dist/src/harness/types.js +1 -6
- package/dist/src/harness/types.js.map +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-definition/connection.d.ts.map +1 -1
- package/dist/src/internal/authored-definition/connection.js +14 -1
- package/dist/src/internal/authored-definition/connection.js.map +1 -1
- package/dist/src/internal/nitro/routes/runtime-stack.d.ts +3 -3
- package/dist/src/internal/nitro/routes/runtime-stack.js +3 -3
- package/dist/src/public/channels/slack/index.d.ts +0 -5
- package/dist/src/public/channels/slack/index.d.ts.map +1 -1
- package/dist/src/public/channels/slack/index.js.map +1 -1
- package/dist/src/public/definitions/connections/mcp.d.ts +13 -0
- package/dist/src/public/definitions/connections/mcp.d.ts.map +1 -1
- package/dist/src/public/definitions/connections/mcp.js.map +1 -1
- package/dist/src/public/definitions/tool.d.ts +10 -6
- package/dist/src/public/definitions/tool.d.ts.map +1 -1
- package/dist/src/public/definitions/tool.js.map +1 -1
- package/dist/src/public/index.d.ts +2 -1
- package/dist/src/public/index.d.ts.map +1 -1
- package/dist/src/public/index.js +1 -1
- package/dist/src/public/index.js.map +1 -1
- package/dist/src/public/tools/defaults.d.ts +4 -4
- package/dist/src/public/tools/defaults.js +4 -4
- package/dist/src/runtime/connections/registry.d.ts +6 -0
- package/dist/src/runtime/connections/registry.d.ts.map +1 -1
- package/dist/src/runtime/connections/registry.js +8 -0
- package/dist/src/runtime/connections/registry.js.map +1 -1
- package/dist/src/runtime/connections/types.d.ts +2 -0
- package/dist/src/runtime/connections/types.d.ts.map +1 -1
- package/dist/src/runtime/framework-tools/connection-execute.d.ts.map +1 -1
- package/dist/src/runtime/framework-tools/connection-execute.js +17 -6
- package/dist/src/runtime/framework-tools/connection-execute.js.map +1 -1
- package/dist/src/runtime/framework-tools/connection-search.d.ts +2 -2
- package/dist/src/runtime/framework-tools/connection-search.d.ts.map +1 -1
- package/dist/src/runtime/framework-tools/connection-search.js +4 -4
- package/dist/src/runtime/framework-tools/connection-search.js.map +1 -1
- package/dist/src/runtime/framework-tools/file-state.d.ts +5 -7
- package/dist/src/runtime/framework-tools/file-state.d.ts.map +1 -1
- package/dist/src/runtime/framework-tools/file-state.js +4 -6
- package/dist/src/runtime/framework-tools/file-state.js.map +1 -1
- package/dist/src/runtime/framework-tools/skill.js +3 -3
- package/dist/src/runtime/framework-tools/skill.js.map +1 -1
- package/dist/src/runtime/framework-tools/todo.js +3 -3
- package/dist/src/runtime/framework-tools/todo.js.map +1 -1
- package/dist/src/runtime/prompt/connections.d.ts.map +1 -1
- package/dist/src/runtime/prompt/connections.js +3 -2
- package/dist/src/runtime/prompt/connections.js.map +1 -1
- package/dist/src/runtime/resolve-agent-graph.js +3 -2
- package/dist/src/runtime/resolve-agent-graph.js.map +1 -1
- package/dist/src/runtime/resolve-connection.d.ts.map +1 -1
- package/dist/src/runtime/resolve-connection.js +3 -0
- package/dist/src/runtime/resolve-connection.js.map +1 -1
- package/dist/src/runtime/sessions/auth.d.ts +1 -1
- package/dist/src/runtime/types.d.ts +13 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/docs/internals/context.md +257 -81
- package/docs/public/README.md +17 -19
- package/docs/public/channels/README.md +9 -3
- package/docs/public/session-context.md +95 -49
- package/docs/public/tools.md +25 -17
- package/docs/public/typescript-api.md +2 -6
- package/package.json +1 -1
- package/dist/src/context/durable-context.d.ts +0 -18
- package/dist/src/context/durable-context.d.ts.map +0 -1
- package/dist/src/context/durable-context.js +0 -49
- package/dist/src/context/durable-context.js.map +0 -1
- package/dist/src/execution/step-context.d.ts +0 -27
- package/dist/src/execution/step-context.d.ts.map +0 -1
- package/dist/src/execution/step-context.js +0 -54
- package/dist/src/execution/step-context.js.map +0 -1
- package/docs/public/migration-guide.md +0 -71
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Actions, Button, Card, CardText, Select, SelectOption, SerializedThread } from "chat";
|
|
2
2
|
import type { StepInput } from "../harness/types.js";
|
|
3
3
|
import type { HandleMessageStreamEvent } from "../protocol/message.js";
|
|
4
|
+
import type { InputRequest } from "../runtime/input/types.js";
|
|
4
5
|
import { Channel, type ContextAccessor, type DeliverPayload } from "./types.js";
|
|
5
6
|
/**
|
|
6
7
|
* User context for the Slack message sender, stored in channel state so
|
|
@@ -26,6 +27,12 @@ export interface SlackUserContext {
|
|
|
26
27
|
export interface SlackChannelState {
|
|
27
28
|
readonly botToken?: string;
|
|
28
29
|
readonly serializedThread: SerializedThread;
|
|
30
|
+
/**
|
|
31
|
+
* Pending input requests stored by `onEvent("input.requested")` and
|
|
32
|
+
* read by `onDeliver` to resolve text-based replies against the
|
|
33
|
+
* request options.
|
|
34
|
+
*/
|
|
35
|
+
readonly pendingRequests?: readonly InputRequest[];
|
|
29
36
|
/**
|
|
30
37
|
* Context about the current Slack user and thread. Included in every
|
|
31
38
|
* message so the agent knows who it is interacting with and can use
|
|
@@ -58,9 +65,8 @@ interface CardKit {
|
|
|
58
65
|
* the agent is working, then posts the final reply via `thread.post()`.
|
|
59
66
|
*
|
|
60
67
|
* For HITL input requests, renders platform-native interactive elements
|
|
61
|
-
* (Block Kit buttons and select menus)
|
|
62
|
-
*
|
|
63
|
-
* `onDeliver` can resolve text replies after parked workflow resumes.
|
|
68
|
+
* (Block Kit buttons and select menus) and stores the pending requests
|
|
69
|
+
* in serializable state so `onDeliver` can resolve text replies.
|
|
64
70
|
*
|
|
65
71
|
* Subclasses may override the static {@link kind} field and extend the
|
|
66
72
|
* channel state shape by parameterizing {@link SlackChannel} with their own
|
|
@@ -71,7 +77,7 @@ interface CardKit {
|
|
|
71
77
|
*/
|
|
72
78
|
export declare class SlackChannel<TState extends SlackChannelState = SlackChannelState> extends Channel {
|
|
73
79
|
static readonly kind: string;
|
|
74
|
-
private
|
|
80
|
+
private _state;
|
|
75
81
|
private _cardKit;
|
|
76
82
|
private _pendingToolCallMessage;
|
|
77
83
|
private _thread;
|
|
@@ -80,10 +86,11 @@ export declare class SlackChannel<TState extends SlackChannelState = SlackChanne
|
|
|
80
86
|
* Typed serializable state for this channel instance.
|
|
81
87
|
*
|
|
82
88
|
* Subclasses can extend the state shape by parameterizing
|
|
83
|
-
* {@link SlackChannel} and reading the full
|
|
84
|
-
*
|
|
89
|
+
* {@link SlackChannel} and reading or replacing the full state object
|
|
90
|
+
* through this accessor.
|
|
85
91
|
*/
|
|
86
|
-
protected state():
|
|
92
|
+
protected get state(): TState;
|
|
93
|
+
protected set state(value: TState);
|
|
87
94
|
get botToken(): string | undefined;
|
|
88
95
|
get serializedThread(): SerializedThread;
|
|
89
96
|
serialize(): Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/slack-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"slack-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/slack-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { PendingInputRequestsKey } from "../harness/input-requests.js";
|
|
2
1
|
import { resolveTextToResponses } from "./resolve-text.js";
|
|
3
2
|
import { Channel } from "./types.js";
|
|
4
3
|
const SLACK_MAX_TYPING_STATUS_LENGTH = 50;
|
|
@@ -56,9 +55,8 @@ function formatUserContextBlock(ctx) {
|
|
|
56
55
|
* the agent is working, then posts the final reply via `thread.post()`.
|
|
57
56
|
*
|
|
58
57
|
* For HITL input requests, renders platform-native interactive elements
|
|
59
|
-
* (Block Kit buttons and select menus)
|
|
60
|
-
*
|
|
61
|
-
* `onDeliver` can resolve text replies after parked workflow resumes.
|
|
58
|
+
* (Block Kit buttons and select menus) and stores the pending requests
|
|
59
|
+
* in serializable state so `onDeliver` can resolve text replies.
|
|
62
60
|
*
|
|
63
61
|
* Subclasses may override the static {@link kind} field and extend the
|
|
64
62
|
* channel state shape by parameterizing {@link SlackChannel} with their own
|
|
@@ -81,12 +79,15 @@ export class SlackChannel extends Channel {
|
|
|
81
79
|
* Typed serializable state for this channel instance.
|
|
82
80
|
*
|
|
83
81
|
* Subclasses can extend the state shape by parameterizing
|
|
84
|
-
* {@link SlackChannel} and reading the full
|
|
85
|
-
*
|
|
82
|
+
* {@link SlackChannel} and reading or replacing the full state object
|
|
83
|
+
* through this accessor.
|
|
86
84
|
*/
|
|
87
|
-
state() {
|
|
85
|
+
get state() {
|
|
88
86
|
return this._state;
|
|
89
87
|
}
|
|
88
|
+
set state(value) {
|
|
89
|
+
this._state = value;
|
|
90
|
+
}
|
|
90
91
|
get botToken() {
|
|
91
92
|
return this._state.botToken;
|
|
92
93
|
}
|
|
@@ -94,23 +95,27 @@ export class SlackChannel extends Channel {
|
|
|
94
95
|
return this._state.serializedThread;
|
|
95
96
|
}
|
|
96
97
|
serialize() {
|
|
97
|
-
return {
|
|
98
|
+
return {
|
|
99
|
+
...this._state,
|
|
100
|
+
botToken: this._state.botToken,
|
|
101
|
+
pendingRequests: this._state.pendingRequests,
|
|
102
|
+
serializedThread: this._state.serializedThread,
|
|
103
|
+
};
|
|
98
104
|
}
|
|
99
105
|
// ── Inbound: transform delivered input ─────────────────
|
|
100
106
|
async onDeliver(_ctx, payload) {
|
|
101
|
-
const pendingRequests = _ctx.tryGet(PendingInputRequestsKey) ?? [];
|
|
102
107
|
// Structured responses (Slack button callback, HTTP client) —
|
|
103
108
|
// pass through untouched.
|
|
104
109
|
if (payload.inputResponses !== undefined && payload.inputResponses.length > 0) {
|
|
105
110
|
return payload;
|
|
106
111
|
}
|
|
107
112
|
// No pending requests — this is a normal conversation message.
|
|
108
|
-
if (pendingRequests.length === 0) {
|
|
113
|
+
if (this._state.pendingRequests === undefined || this._state.pendingRequests.length === 0) {
|
|
109
114
|
return { message: this.prependUserContext(payload.message) };
|
|
110
115
|
}
|
|
111
116
|
// Text with pending requests — resolve against stored options.
|
|
112
117
|
if (payload.message !== undefined) {
|
|
113
|
-
const responses = resolveTextToResponses(payload.message, pendingRequests);
|
|
118
|
+
const responses = resolveTextToResponses(payload.message, this._state.pendingRequests);
|
|
114
119
|
if (responses.length > 0) {
|
|
115
120
|
return { inputResponses: responses };
|
|
116
121
|
}
|
|
@@ -149,6 +154,11 @@ export class SlackChannel extends Channel {
|
|
|
149
154
|
if (pendingMessage !== null) {
|
|
150
155
|
await this.post(pendingMessage);
|
|
151
156
|
}
|
|
157
|
+
// Store for onDeliver
|
|
158
|
+
this._state = {
|
|
159
|
+
...this._state,
|
|
160
|
+
pendingRequests: event.data.requests,
|
|
161
|
+
};
|
|
152
162
|
await this.renderInputRequests(event.data.requests);
|
|
153
163
|
break;
|
|
154
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-channel.js","sourceRoot":"","sources":["../../../src/channel/slack-channel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slack-channel.js","sourceRoot":"","sources":["../../../src/channel/slack-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ContextAccessor } from "../context/key.js";
|
|
2
|
+
import type { ContextProvider } from "../context/provider.js";
|
|
2
3
|
import type { StepInput } from "../harness/types.js";
|
|
3
4
|
import type { HandleMessageStreamEvent } from "../protocol/message.js";
|
|
4
5
|
import type { RunMode } from "../run-mode.js";
|
|
5
6
|
import type { InputResponse } from "../runtime/input/types.js";
|
|
7
|
+
export type { ContextAccessor } from "../context/key.js";
|
|
6
8
|
/**
|
|
7
9
|
* Global symbol brand used to recognize Ash channel classes across
|
|
8
10
|
* independently-loaded copies of the package during compile/runtime tests.
|
|
@@ -39,19 +41,6 @@ export interface SessionAuthContext {
|
|
|
39
41
|
readonly principalType: string;
|
|
40
42
|
readonly subject?: string;
|
|
41
43
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Narrow accessor passed to {@link Channel.onDeliver} callbacks. Exposes only
|
|
44
|
-
* typed context operations — keeps channel code workflow-agnostic and
|
|
45
|
-
* prevents channels from depending on {@link AshContext} internals such as
|
|
46
|
-
* `entries()`.
|
|
47
|
-
*/
|
|
48
|
-
export interface ContextAccessor {
|
|
49
|
-
get<T>(key: ContextStoreKey<T>): T;
|
|
50
|
-
tryGet<T>(key: ContextStoreKey<T>): T | undefined;
|
|
51
|
-
has<T>(key: ContextStoreKey<T>): boolean;
|
|
52
|
-
set<T>(key: ContextStoreKey<T>, value: T): void;
|
|
53
|
-
ensure<T>(key: ContextStoreKey<T>, valueOrFactory: T | (() => T)): T;
|
|
54
|
-
}
|
|
55
44
|
/**
|
|
56
45
|
* Function provided by the runtime that writes one event to the event stream.
|
|
57
46
|
*
|
|
@@ -167,6 +156,13 @@ export interface ChannelClass<C extends Channel = Channel> {
|
|
|
167
156
|
* across all serializable channel classes visible to one runtime bundle.
|
|
168
157
|
*/
|
|
169
158
|
readonly kind: string;
|
|
159
|
+
/**
|
|
160
|
+
* Optional per-step virtual providers attached to this channel class.
|
|
161
|
+
*
|
|
162
|
+
* The runtime rebuilds these providers after `onDeliver()` on every step
|
|
163
|
+
* for sessions using this channel.
|
|
164
|
+
*/
|
|
165
|
+
readonly contextProviders?: readonly ContextProvider<unknown>[];
|
|
170
166
|
/**
|
|
171
167
|
* Constructs a channel instance. Specific route helpers may constrain the
|
|
172
168
|
* constructor input shape further (for example Slack channel classes accept
|
|
@@ -178,6 +174,10 @@ export interface ChannelClass<C extends Channel = Channel> {
|
|
|
178
174
|
* Returns the static durable kind for a channel class.
|
|
179
175
|
*/
|
|
180
176
|
export declare function getChannelClassKind(channelClass: ChannelClass): string;
|
|
177
|
+
/**
|
|
178
|
+
* Returns the channel-scoped context providers declared on a channel class.
|
|
179
|
+
*/
|
|
180
|
+
export declare function getChannelClassContextProviders(channelClass: ChannelClass): readonly ContextProvider<unknown>[];
|
|
181
181
|
/**
|
|
182
182
|
* Single input shape consumed by {@link Runtime.run} for both root runs
|
|
183
183
|
* (started by routes) and delegated child runs (started by the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAkC,CAAC;AACnE,eAAO,MAAM,uBAAuB,eAAsC,CAAC;AAM3E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAkC,CAAC;AACnE,eAAO,MAAM,uBAAuB,eAAsC,CAAC;AAM3E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAM7E;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,8BAAsB,OAAO;IAC3B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,QAAQ;IAC7C;;;;;OAKG;IACH,SAAS,KAAK,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAE9C;IACD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,SAAS,CAAC;IAE9C;;;OAGG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IACpF;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IACrF;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IACvD;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE;;;;OAIG;IACH,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CAMtE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,YAAY,GACzB,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,CAErC;AAMD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;;;;;;;;OAYG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B"}
|
|
@@ -62,4 +62,10 @@ export function getChannelClassKind(channelClass) {
|
|
|
62
62
|
}
|
|
63
63
|
return channelClass.kind;
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Returns the channel-scoped context providers declared on a channel class.
|
|
67
|
+
*/
|
|
68
|
+
export function getChannelClassContextProviders(channelClass) {
|
|
69
|
+
return channelClass.contextProviders ?? [];
|
|
70
|
+
}
|
|
65
71
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/channel/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/channel/types.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAqF3E,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAgB,OAAO;IAC3B;;;;OAIG;IACH,MAAM,CAAU,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAC7C;;;;;OAKG;IACH,IAAc,CAAC,uBAAuB,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;OAGG;IACgB,cAAc,CAAa;IAE9C;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,mBAAmB,CAAC,IAAI,CAAC,WAA2B,CAAC,CAAC;IAC/D,CAAC;;AA4DH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAA0B;IAC5D,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAC7C,YAA0B;IAE1B,OAAO,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -17,29 +17,43 @@ export declare function getSession(): Session;
|
|
|
17
17
|
*/
|
|
18
18
|
export declare function getSandbox<Name extends SandboxName>(name: Name): Promise<AshRuntimeSandboxMap[Name]>;
|
|
19
19
|
/**
|
|
20
|
-
* Returns the current
|
|
20
|
+
* Returns the current value of a context key, or `undefined` when unset.
|
|
21
21
|
*
|
|
22
22
|
* @throws When called outside of a managed step execution.
|
|
23
23
|
*/
|
|
24
|
-
export declare function getContext<T>(key: ContextKey<T>): T;
|
|
24
|
+
export declare function getContext<T>(key: ContextKey<T>): T | undefined;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Returns the current value of a context key, throwing when unset.
|
|
27
27
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
28
|
+
* @throws When the key is not set or when called outside of a managed
|
|
29
|
+
* step execution.
|
|
30
|
+
*/
|
|
31
|
+
export declare function requireContext<T>(key: ContextKey<T>): T;
|
|
32
|
+
/**
|
|
33
|
+
* Returns whether the key is currently set in the active context.
|
|
30
34
|
*
|
|
31
35
|
* @throws When called outside of a managed step execution.
|
|
32
36
|
*/
|
|
33
|
-
export declare function
|
|
37
|
+
export declare function hasContext<T>(key: ContextKey<T>): boolean;
|
|
34
38
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
39
|
+
* Sets the durable value of a context key in the active context.
|
|
40
|
+
*
|
|
41
|
+
* Accepts either a direct value or an updater function that receives the
|
|
42
|
+
* current value (or `undefined` if unset) and returns the next value.
|
|
37
43
|
*
|
|
38
|
-
* The
|
|
44
|
+
* The new durable value is serialized at the end of the step and survives
|
|
45
|
+
* future workflow steps and turns.
|
|
46
|
+
*
|
|
47
|
+
* @throws When called outside of a managed step execution.
|
|
48
|
+
*/
|
|
49
|
+
export declare function setContext<T>(key: ContextKey<T>, valueOrUpdater: T | ((current: T | undefined) => T)): T;
|
|
50
|
+
/**
|
|
51
|
+
* Returns the current value of a context key or initializes and stores a
|
|
52
|
+
* durable value when the key is unset.
|
|
39
53
|
*
|
|
40
54
|
* @throws When called outside of a managed step execution.
|
|
41
55
|
*/
|
|
42
|
-
export declare function ensureContext<T>(key: ContextKey<T>,
|
|
56
|
+
export declare function ensureContext<T>(key: ContextKey<T>, create: () => T): T;
|
|
43
57
|
/**
|
|
44
58
|
* Returns a handle for the named skill visible to the current agent.
|
|
45
59
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessors.d.ts","sourceRoot":"","sources":["../../../src/context/accessors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAc,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAC;AAG3E,YAAY,EACV,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,SAAS,WAAW,EACvD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAsBrC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"accessors.d.ts","sourceRoot":"","sources":["../../../src/context/accessors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAc,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAC;AAG3E,YAAY,EACV,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,SAAS,WAAW,EACvD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAsBrC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAEzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAClB,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAC,GAClD,CAAC,CAEH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAuBxD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createSkillHandle } from "../execution/skills/handle.js";
|
|
2
|
-
import {
|
|
2
|
+
import { loadContext } from "./container.js";
|
|
3
3
|
import { SandboxKey, SessionKey, SkillKey } from "./keys.js";
|
|
4
4
|
/**
|
|
5
5
|
* Returns the active session for the current authored async execution chain.
|
|
@@ -7,7 +7,7 @@ import { SandboxKey, SessionKey, SkillKey } from "./keys.js";
|
|
|
7
7
|
* @throws When called outside of a managed step execution.
|
|
8
8
|
*/
|
|
9
9
|
export function getSession() {
|
|
10
|
-
return
|
|
10
|
+
return loadContext().require(SessionKey);
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Returns one authored sandbox visible from the current runtime execution.
|
|
@@ -16,7 +16,7 @@ export function getSession() {
|
|
|
16
16
|
* requested sandbox is not visible.
|
|
17
17
|
*/
|
|
18
18
|
export async function getSandbox(name) {
|
|
19
|
-
const access =
|
|
19
|
+
const access = loadContext().get(SandboxKey);
|
|
20
20
|
if (access === undefined) {
|
|
21
21
|
throw new Error("Ash sandbox runtime access is unavailable in the current async context. " +
|
|
22
22
|
"Call getSandbox() only from authored runtime functions such as tools, steps, and model callbacks.");
|
|
@@ -31,34 +31,52 @@ export async function getSandbox(name) {
|
|
|
31
31
|
return sandbox;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* Returns the current
|
|
34
|
+
* Returns the current value of a context key, or `undefined` when unset.
|
|
35
35
|
*
|
|
36
36
|
* @throws When called outside of a managed step execution.
|
|
37
37
|
*/
|
|
38
38
|
export function getContext(key) {
|
|
39
|
-
return
|
|
39
|
+
return loadContext().get(key);
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* Returns the current value of a context key, throwing when unset.
|
|
43
43
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
44
|
+
* @throws When the key is not set or when called outside of a managed
|
|
45
|
+
* step execution.
|
|
46
|
+
*/
|
|
47
|
+
export function requireContext(key) {
|
|
48
|
+
return loadContext().require(key);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Returns whether the key is currently set in the active context.
|
|
46
52
|
*
|
|
47
53
|
* @throws When called outside of a managed step execution.
|
|
48
54
|
*/
|
|
49
|
-
export function
|
|
50
|
-
return
|
|
55
|
+
export function hasContext(key) {
|
|
56
|
+
return loadContext().has(key);
|
|
51
57
|
}
|
|
52
58
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
59
|
+
* Sets the durable value of a context key in the active context.
|
|
60
|
+
*
|
|
61
|
+
* Accepts either a direct value or an updater function that receives the
|
|
62
|
+
* current value (or `undefined` if unset) and returns the next value.
|
|
55
63
|
*
|
|
56
|
-
* The
|
|
64
|
+
* The new durable value is serialized at the end of the step and survives
|
|
65
|
+
* future workflow steps and turns.
|
|
66
|
+
*
|
|
67
|
+
* @throws When called outside of a managed step execution.
|
|
68
|
+
*/
|
|
69
|
+
export function setContext(key, valueOrUpdater) {
|
|
70
|
+
return loadContext().set(key, valueOrUpdater);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Returns the current value of a context key or initializes and stores a
|
|
74
|
+
* durable value when the key is unset.
|
|
57
75
|
*
|
|
58
76
|
* @throws When called outside of a managed step execution.
|
|
59
77
|
*/
|
|
60
|
-
export function ensureContext(key,
|
|
61
|
-
return
|
|
78
|
+
export function ensureContext(key, create) {
|
|
79
|
+
return loadContext().ensure(key, create);
|
|
62
80
|
}
|
|
63
81
|
/**
|
|
64
82
|
* Returns a handle for the named skill visible to the current agent.
|
|
@@ -67,7 +85,7 @@ export function ensureContext(key, factory) {
|
|
|
67
85
|
* requested skill is not found.
|
|
68
86
|
*/
|
|
69
87
|
export function getSkill(identifier) {
|
|
70
|
-
const access =
|
|
88
|
+
const access = loadContext().get(SkillKey);
|
|
71
89
|
if (access === undefined) {
|
|
72
90
|
throw new Error("Ash skill runtime access is unavailable in the current async context. " +
|
|
73
91
|
"Call getSkill() only from authored runtime functions such as tools, steps, and model callbacks.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessors.js","sourceRoot":"","sources":["../../../src/context/accessors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"accessors.js","sourceRoot":"","sources":["../../../src/context/accessors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,58 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
-
import type
|
|
2
|
+
import { type ContextAccessor, type ContextKey } from "./key.js";
|
|
3
3
|
/**
|
|
4
4
|
* Keyed value container that backs one Ash execution scope.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* are
|
|
8
|
-
*
|
|
6
|
+
* Durable values are serialized across workflow steps and turns. Virtual
|
|
7
|
+
* values are rebuilt each step by context providers and are never
|
|
8
|
+
* serialized.
|
|
9
|
+
*
|
|
10
|
+
* Extends {@link ContextAccessor} with the `entries()` iterator used by
|
|
11
|
+
* the serialization layer.
|
|
9
12
|
*/
|
|
10
|
-
export interface AshContext {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
entries(): Iterable<readonly [ContextStoreKey<unknown>, unknown]>;
|
|
13
|
+
export interface AshContext extends ContextAccessor {
|
|
14
|
+
/**
|
|
15
|
+
* Iterates all durable key/value pairs currently stored in the context.
|
|
16
|
+
* Used by the serialization layer to persist context at step boundaries.
|
|
17
|
+
*/
|
|
18
|
+
entries(): Iterable<readonly [ContextKey<unknown>, unknown]>;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* Default mutable implementation of {@link AshContext}.
|
|
20
22
|
*/
|
|
21
|
-
export declare class
|
|
22
|
-
private readonly
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
export declare class ContextContainer implements AshContext {
|
|
24
|
+
private readonly _durableValues;
|
|
25
|
+
private readonly _virtualValues;
|
|
26
|
+
get<T>(key: ContextKey<T>): T | undefined;
|
|
27
|
+
require<T>(key: ContextKey<T>): T;
|
|
28
|
+
has<T>(key: ContextKey<T>): boolean;
|
|
29
|
+
set<T>(key: ContextKey<T>, valueOrUpdater: T | ((current: T | undefined) => T)): T;
|
|
30
|
+
ensure<T>(key: ContextKey<T>, create: () => T): T;
|
|
31
|
+
/**
|
|
32
|
+
* Clears all step-local provider values from the context.
|
|
33
|
+
*
|
|
34
|
+
* The runtime calls this before rebuilding context providers for a new
|
|
35
|
+
* step.
|
|
36
|
+
*/
|
|
37
|
+
clearVirtualContext(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Stores a step-local provider value for one key.
|
|
40
|
+
*
|
|
41
|
+
* Virtual values shadow durable values for the lifetime of the current
|
|
42
|
+
* step and are excluded from serialization.
|
|
43
|
+
*/
|
|
44
|
+
setVirtualContext<T>(key: ContextKey<T>, value: T): void;
|
|
45
|
+
entries(): Generator<readonly [ContextKey<unknown>, unknown]>;
|
|
29
46
|
}
|
|
30
47
|
export declare const contextStorage: AsyncLocalStorage<AshContext>;
|
|
31
48
|
/**
|
|
32
49
|
* Returns the active context, throwing when called outside a managed scope.
|
|
33
50
|
*/
|
|
34
|
-
export declare function
|
|
51
|
+
export declare function loadContext(): AshContext;
|
|
52
|
+
/**
|
|
53
|
+
* Narrows a {@link ContextContainer} to the {@link ContextAccessor}
|
|
54
|
+
* interface. Used by runtime entry points to pass the context to channel
|
|
55
|
+
* `onDeliver` callbacks without exposing implementation details.
|
|
56
|
+
*/
|
|
57
|
+
export declare function toContextAccessor(ctx: ContextContainer): ContextAccessor;
|
|
35
58
|
//# sourceMappingURL=container.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/context/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/context/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAc,MAAM,UAAU,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAW,SAAQ,eAAe;IACjD;;;OAGG;IACH,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAC7D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAE7D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAOzC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;IAOjC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO;IAInC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAC,GAAG,CAAC;IASlF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;IAOjD;;;;;OAKG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;;;;OAKG;IACH,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAIvD,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;CAQ/D;AAED,eAAO,MAAM,cAAc,+BAAsC,CAAC;AAElE;;GAEG;AACH,wBAAgB,WAAW,IAAI,UAAU,CASxC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,eAAe,CAExE"}
|