@nexalab/agent-sdk 0.1.5 → 0.1.7
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/README.md +66 -0
- package/dist/file-storage.d.ts +3 -0
- package/dist/file-storage.d.ts.map +1 -1
- package/dist/file-storage.js +9 -0
- package/dist/file-storage.js.map +1 -1
- package/dist/guided-flows/define-flow.d.ts +4 -0
- package/dist/guided-flows/define-flow.d.ts.map +1 -0
- package/dist/guided-flows/define-flow.js +34 -0
- package/dist/guided-flows/define-flow.js.map +1 -0
- package/dist/guided-flows/errors.d.ts +11 -0
- package/dist/guided-flows/errors.d.ts.map +1 -0
- package/dist/guided-flows/errors.js +15 -0
- package/dist/guided-flows/errors.js.map +1 -0
- package/dist/guided-flows/events.d.ts +20 -0
- package/dist/guided-flows/events.d.ts.map +1 -0
- package/dist/guided-flows/events.js +17 -0
- package/dist/guided-flows/events.js.map +1 -0
- package/dist/guided-flows/index.d.ts +10 -0
- package/dist/guided-flows/index.d.ts.map +1 -0
- package/dist/guided-flows/index.js +6 -0
- package/dist/guided-flows/index.js.map +1 -0
- package/dist/guided-flows/persistence.d.ts +32 -0
- package/dist/guided-flows/persistence.d.ts.map +1 -0
- package/dist/guided-flows/persistence.js +37 -0
- package/dist/guided-flows/persistence.js.map +1 -0
- package/dist/guided-flows/requirements.d.ts +8 -0
- package/dist/guided-flows/requirements.d.ts.map +1 -0
- package/dist/guided-flows/requirements.js +21 -0
- package/dist/guided-flows/requirements.js.map +1 -0
- package/dist/guided-flows/runtime.d.ts +104 -0
- package/dist/guided-flows/runtime.d.ts.map +1 -0
- package/dist/guided-flows/runtime.js +433 -0
- package/dist/guided-flows/runtime.js.map +1 -0
- package/dist/guided-flows/state.d.ts +30 -0
- package/dist/guided-flows/state.d.ts.map +1 -0
- package/dist/guided-flows/state.js +84 -0
- package/dist/guided-flows/state.js.map +1 -0
- package/dist/guided-flows/steps.d.ts +12 -0
- package/dist/guided-flows/steps.d.ts.map +1 -0
- package/dist/guided-flows/steps.js +37 -0
- package/dist/guided-flows/steps.js.map +1 -0
- package/dist/guided-flows/tool-policy.d.ts +16 -0
- package/dist/guided-flows/tool-policy.d.ts.map +1 -0
- package/dist/guided-flows/tool-policy.js +33 -0
- package/dist/guided-flows/tool-policy.js.map +1 -0
- package/dist/guided-flows/types.d.ts +141 -0
- package/dist/guided-flows/types.d.ts.map +1 -0
- package/dist/guided-flows/types.js +2 -0
- package/dist/guided-flows/types.js.map +1 -0
- package/dist/hooks.d.ts +52 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/kernel.d.ts +29 -0
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +70 -4
- package/dist/kernel.js.map +1 -1
- package/dist/manifest.d.ts +3 -2
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +1 -0
- package/dist/manifest.js.map +1 -1
- package/dist/postgres-storage.d.ts +3 -0
- package/dist/postgres-storage.d.ts.map +1 -1
- package/dist/postgres-storage.js +9 -0
- package/dist/postgres-storage.js.map +1 -1
- package/dist/redis-storage.d.ts +3 -0
- package/dist/redis-storage.d.ts.map +1 -1
- package/dist/redis-storage.js +9 -0
- package/dist/redis-storage.js.map +1 -1
- package/dist/sessions.d.ts +7 -1
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +2 -2
- package/dist/sessions.js.map +1 -1
- package/dist/sqlite-storage.d.ts +3 -0
- package/dist/sqlite-storage.d.ts.map +1 -1
- package/dist/sqlite-storage.js +13 -1
- package/dist/sqlite-storage.js.map +1 -1
- package/dist/storage.d.ts +4 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +8 -0
- package/dist/storage.js.map +1 -1
- package/package.json +16 -4
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the active step for the current `state`: the first step (in
|
|
3
|
+
* declared order) whose `when` predicate passes (branches that don't apply
|
|
4
|
+
* are skipped, never entered) and that isn't already satisfied. This is a
|
|
5
|
+
* pure function of `state`, never a model decision.
|
|
6
|
+
*/
|
|
7
|
+
export function resolveActiveStep(config, state) {
|
|
8
|
+
for (const step of config.steps) {
|
|
9
|
+
if (step.when && !step.when({ state }))
|
|
10
|
+
continue;
|
|
11
|
+
if (isStepSatisfied(step, state))
|
|
12
|
+
continue;
|
|
13
|
+
return step;
|
|
14
|
+
}
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
export function isStepSatisfied(step, state) {
|
|
18
|
+
if (step.exit)
|
|
19
|
+
return Boolean(step.exit({ state }));
|
|
20
|
+
if (!step.collect || step.collect.length === 0)
|
|
21
|
+
return false;
|
|
22
|
+
return step.collect.every((field) => {
|
|
23
|
+
const value = state[String(field)];
|
|
24
|
+
return value !== undefined && value !== null && value !== "";
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export function missingCollectFields(step, state) {
|
|
28
|
+
if (!step?.collect)
|
|
29
|
+
return [];
|
|
30
|
+
return step.collect
|
|
31
|
+
.map(String)
|
|
32
|
+
.filter((field) => {
|
|
33
|
+
const value = state[field];
|
|
34
|
+
return value === undefined || value === null || value === "";
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/guided-flows/steps.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAqD,EACrD,KAA4B;IAE5B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;YAAE,SAAS;QACjD,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,SAAS;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAS,IAA4B,EAAE,KAAa;IACjF,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,MAAM,KAAK,GAAI,KAAiC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAS,IAAwC,EAAE,KAAa;IAClG,IAAI,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC,OAAO;SAChB,GAAG,CAAC,MAAM,CAAC;SACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,KAAK,GAAI,KAAiC,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AgentToolRegistration } from "../openai-agent.js";
|
|
2
|
+
import type { StepToolPolicy } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Resolves the tool set offered to the model for the active step.
|
|
5
|
+
*
|
|
6
|
+
* Precedence (each layer may only narrow, never widen, the previous one):
|
|
7
|
+
* 1. global/security policy — out of scope for this module, enforced upstream;
|
|
8
|
+
* 2. agent permissions — already applied by `kernel.ts` before `baseTools` ever
|
|
9
|
+
* reaches this function (`filterToolsByPermissions`);
|
|
10
|
+
* 3. step `denied`/`allowed` — applied here.
|
|
11
|
+
* A flow can therefore never expand what the agent itself was permitted to use.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveStepTools(baseTools: AgentToolRegistration[], policy: StepToolPolicy | undefined): AgentToolRegistration[];
|
|
14
|
+
export declare function missingRequiredTools(policy: StepToolPolicy | undefined, executedToolIds: string[]): string[];
|
|
15
|
+
export declare function missingRequiredBeforeExitTools(policy: StepToolPolicy | undefined, executedToolIds: string[]): string[];
|
|
16
|
+
//# sourceMappingURL=tool-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-policy.d.ts","sourceRoot":"","sources":["../../src/guided-flows/tool-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,qBAAqB,EAAE,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,qBAAqB,EAAE,CAQhI;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAG5G;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGtH"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the tool set offered to the model for the active step.
|
|
3
|
+
*
|
|
4
|
+
* Precedence (each layer may only narrow, never widen, the previous one):
|
|
5
|
+
* 1. global/security policy — out of scope for this module, enforced upstream;
|
|
6
|
+
* 2. agent permissions — already applied by `kernel.ts` before `baseTools` ever
|
|
7
|
+
* reaches this function (`filterToolsByPermissions`);
|
|
8
|
+
* 3. step `denied`/`allowed` — applied here.
|
|
9
|
+
* A flow can therefore never expand what the agent itself was permitted to use.
|
|
10
|
+
*/
|
|
11
|
+
export function resolveStepTools(baseTools, policy) {
|
|
12
|
+
if (!policy)
|
|
13
|
+
return baseTools;
|
|
14
|
+
return baseTools.filter((registration) => {
|
|
15
|
+
const id = registration.tool.id;
|
|
16
|
+
if (policy.denied?.includes(id))
|
|
17
|
+
return false;
|
|
18
|
+
if (policy.allowed && !policy.allowed.includes(id))
|
|
19
|
+
return false;
|
|
20
|
+
return true;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export function missingRequiredTools(policy, executedToolIds) {
|
|
24
|
+
if (!policy?.required?.length)
|
|
25
|
+
return [];
|
|
26
|
+
return policy.required.filter((toolId) => !executedToolIds.includes(toolId));
|
|
27
|
+
}
|
|
28
|
+
export function missingRequiredBeforeExitTools(policy, executedToolIds) {
|
|
29
|
+
if (!policy?.requiredBeforeExit?.length)
|
|
30
|
+
return [];
|
|
31
|
+
return policy.requiredBeforeExit.filter((toolId) => !executedToolIds.includes(toolId));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=tool-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-policy.js","sourceRoot":"","sources":["../../src/guided-flows/tool-policy.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAkC,EAAE,MAAkC;IACrG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;QACvC,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAkC,EAAE,eAAyB;IAChG,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAAkC,EAAE,eAAyB;IAC1G,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACzF,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
import type { JsonObject, JsonValue } from "../types.js";
|
|
3
|
+
import type { ToolExecutionResult } from "../tool-registry.js";
|
|
4
|
+
/**
|
|
5
|
+
* Guided Flow lifecycle. Deliberately its own closed union — not the plan/step
|
|
6
|
+
* engine's `AgentTaskState` (types.ts) or `mission-runtime.ts`'s `MissionStatus`.
|
|
7
|
+
* Those model a planner-driven single run; a Guided Flow models a conversation
|
|
8
|
+
* that pauses across turns waiting on the user.
|
|
9
|
+
*/
|
|
10
|
+
export type GuidedFlowStatus = "idle" | "active" | "waiting_for_user" | "waiting_for_tool" | "waiting_for_approval" | "completed" | "cancelled" | "failed";
|
|
11
|
+
export type FlowPatchSource = "user" | "model" | "tool" | "system";
|
|
12
|
+
export type FlowStatePatch<TState> = {
|
|
13
|
+
set?: Partial<TState>;
|
|
14
|
+
unset?: Array<keyof TState>;
|
|
15
|
+
source: FlowPatchSource;
|
|
16
|
+
};
|
|
17
|
+
export type EvaluatedRequirement = {
|
|
18
|
+
id: string;
|
|
19
|
+
description: string;
|
|
20
|
+
satisfied: boolean;
|
|
21
|
+
};
|
|
22
|
+
export type GuidedFlowRequirement<TState> = {
|
|
23
|
+
id: string;
|
|
24
|
+
description: string;
|
|
25
|
+
satisfied: (input: {
|
|
26
|
+
state: TState;
|
|
27
|
+
}) => boolean;
|
|
28
|
+
};
|
|
29
|
+
export type StepToolPolicy = {
|
|
30
|
+
allowed?: string[];
|
|
31
|
+
denied?: string[];
|
|
32
|
+
required?: string[];
|
|
33
|
+
requiredBeforeExit?: string[];
|
|
34
|
+
};
|
|
35
|
+
export type GuidedFlowStep<TState> = {
|
|
36
|
+
id: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
when?: (input: {
|
|
39
|
+
state: TState;
|
|
40
|
+
}) => boolean;
|
|
41
|
+
collect?: Array<keyof TState>;
|
|
42
|
+
instructions?: string;
|
|
43
|
+
skills?: string[];
|
|
44
|
+
tools?: StepToolPolicy;
|
|
45
|
+
exit?: (input: {
|
|
46
|
+
state: TState;
|
|
47
|
+
}) => boolean;
|
|
48
|
+
};
|
|
49
|
+
export type ToolResultBinding<TState> = {
|
|
50
|
+
applyResult: (input: {
|
|
51
|
+
result: ToolExecutionResult;
|
|
52
|
+
state: TState;
|
|
53
|
+
}) => FlowStatePatch<TState> | void;
|
|
54
|
+
};
|
|
55
|
+
export type GuidedFlowToolConfig<TState> = {
|
|
56
|
+
bindings?: Record<string, ToolResultBinding<TState>>;
|
|
57
|
+
};
|
|
58
|
+
export type GuidedFlowConfirmation<TState> = {
|
|
59
|
+
required: boolean;
|
|
60
|
+
stateField: keyof TState;
|
|
61
|
+
resetOnChange?: Array<keyof TState>;
|
|
62
|
+
};
|
|
63
|
+
export type GuidedFlowTriggers = {
|
|
64
|
+
intents?: string[];
|
|
65
|
+
examples?: string[];
|
|
66
|
+
};
|
|
67
|
+
export type GuidedFlowConfig<TStateSchema extends z.AnyZodObject = z.AnyZodObject, TOutputSchema extends z.ZodTypeAny = z.ZodTypeAny> = {
|
|
68
|
+
id: string;
|
|
69
|
+
version: number;
|
|
70
|
+
name: string;
|
|
71
|
+
description?: string;
|
|
72
|
+
goal: string;
|
|
73
|
+
stateSchema: TStateSchema;
|
|
74
|
+
initialState: Partial<z.infer<TStateSchema>>;
|
|
75
|
+
requirements: GuidedFlowRequirement<z.infer<TStateSchema>>[];
|
|
76
|
+
steps: GuidedFlowStep<z.infer<TStateSchema>>[];
|
|
77
|
+
confirmation?: GuidedFlowConfirmation<z.infer<TStateSchema>>;
|
|
78
|
+
protectedFields?: Partial<Record<keyof z.infer<TStateSchema>, FlowPatchSource[]>>;
|
|
79
|
+
tools?: GuidedFlowToolConfig<z.infer<TStateSchema>>;
|
|
80
|
+
triggers?: GuidedFlowTriggers;
|
|
81
|
+
completion: (input: {
|
|
82
|
+
state: z.infer<TStateSchema>;
|
|
83
|
+
requirements: EvaluatedRequirement[];
|
|
84
|
+
}) => boolean;
|
|
85
|
+
outputSchema: TOutputSchema;
|
|
86
|
+
mapOutput: (input: {
|
|
87
|
+
state: z.infer<TStateSchema>;
|
|
88
|
+
}) => z.infer<TOutputSchema>;
|
|
89
|
+
};
|
|
90
|
+
export type GuidedFlow<TStateSchema extends z.AnyZodObject = z.AnyZodObject, TOutputSchema extends z.ZodTypeAny = z.ZodTypeAny> = {
|
|
91
|
+
readonly config: GuidedFlowConfig<TStateSchema, TOutputSchema>;
|
|
92
|
+
readonly id: string;
|
|
93
|
+
readonly version: number;
|
|
94
|
+
};
|
|
95
|
+
export type GuidedFlowRunMeta = {
|
|
96
|
+
id: string;
|
|
97
|
+
version: number;
|
|
98
|
+
status: GuidedFlowStatus;
|
|
99
|
+
currentStepId?: string;
|
|
100
|
+
completedRequirementIds: string[];
|
|
101
|
+
missingRequirementIds: string[];
|
|
102
|
+
startedAt?: string;
|
|
103
|
+
updatedAt: string;
|
|
104
|
+
completedAt?: string;
|
|
105
|
+
};
|
|
106
|
+
export type GuidedFlowRunState<TState = JsonObject> = {
|
|
107
|
+
flowId: string;
|
|
108
|
+
flowVersion: number;
|
|
109
|
+
sessionId: string;
|
|
110
|
+
status: GuidedFlowStatus;
|
|
111
|
+
currentStepId?: string;
|
|
112
|
+
state: TState;
|
|
113
|
+
completedRequirementIds: string[];
|
|
114
|
+
missingRequirementIds: string[];
|
|
115
|
+
stepToolLog: Record<string, string[]>;
|
|
116
|
+
startedAt?: string;
|
|
117
|
+
updatedAt: string;
|
|
118
|
+
completedAt?: string;
|
|
119
|
+
cancelledAt?: string;
|
|
120
|
+
output?: JsonValue;
|
|
121
|
+
};
|
|
122
|
+
export type GuidedFlowRunResult<TState = JsonObject, TOutput = JsonValue> = {
|
|
123
|
+
text: string;
|
|
124
|
+
output?: TOutput;
|
|
125
|
+
state: TState;
|
|
126
|
+
flow: GuidedFlowRunMeta;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Optional declarative subset for documentation/authoring tooling only (e.g.
|
|
130
|
+
* describing a flow's shape from YAML). Never wired into `loadAgentManifest`'s
|
|
131
|
+
* runtime behavior — flows always attach as real `GuidedFlow` objects via
|
|
132
|
+
* `extend.flows`, since steps/requirements/schemas are callbacks and Zod
|
|
133
|
+
* schemas that cannot be safely expressed in YAML.
|
|
134
|
+
*/
|
|
135
|
+
export type GuidedFlowManifestDescriptor = {
|
|
136
|
+
id: string;
|
|
137
|
+
version: number;
|
|
138
|
+
goal: string;
|
|
139
|
+
required: string[];
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/guided-flows/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/guided-flows/types.ts"],"names":[],"mappings":""}
|
package/dist/hooks.d.ts
CHANGED
|
@@ -46,6 +46,58 @@ export type AgentHooks = {
|
|
|
46
46
|
record: unknown;
|
|
47
47
|
context: HookContext;
|
|
48
48
|
}) => void | Promise<void>;
|
|
49
|
+
beforeFlowStart?: (input: {
|
|
50
|
+
flowId: string;
|
|
51
|
+
sessionId: string;
|
|
52
|
+
context: HookContext;
|
|
53
|
+
}) => void | Promise<void>;
|
|
54
|
+
afterFlowStart?: (input: {
|
|
55
|
+
flowId: string;
|
|
56
|
+
sessionId: string;
|
|
57
|
+
context: HookContext;
|
|
58
|
+
}) => void | Promise<void>;
|
|
59
|
+
beforeFlowStep?: (input: {
|
|
60
|
+
flowId: string;
|
|
61
|
+
sessionId: string;
|
|
62
|
+
stepId: string;
|
|
63
|
+
context: HookContext;
|
|
64
|
+
}) => void | Promise<void>;
|
|
65
|
+
afterFlowStep?: (input: {
|
|
66
|
+
flowId: string;
|
|
67
|
+
sessionId: string;
|
|
68
|
+
stepId: string;
|
|
69
|
+
context: HookContext;
|
|
70
|
+
}) => void | Promise<void>;
|
|
71
|
+
beforeFlowStatePatch?: (input: {
|
|
72
|
+
flowId: string;
|
|
73
|
+
sessionId: string;
|
|
74
|
+
patch: unknown;
|
|
75
|
+
context: HookContext;
|
|
76
|
+
}) => void | Promise<void>;
|
|
77
|
+
afterFlowStatePatch?: (input: {
|
|
78
|
+
flowId: string;
|
|
79
|
+
sessionId: string;
|
|
80
|
+
state: unknown;
|
|
81
|
+
context: HookContext;
|
|
82
|
+
}) => void | Promise<void>;
|
|
83
|
+
beforeFlowComplete?: (input: {
|
|
84
|
+
flowId: string;
|
|
85
|
+
sessionId: string;
|
|
86
|
+
state: unknown;
|
|
87
|
+
context: HookContext;
|
|
88
|
+
}) => void | Promise<void>;
|
|
89
|
+
afterFlowComplete?: (input: {
|
|
90
|
+
flowId: string;
|
|
91
|
+
sessionId: string;
|
|
92
|
+
output: unknown;
|
|
93
|
+
context: HookContext;
|
|
94
|
+
}) => void | Promise<void>;
|
|
95
|
+
onFlowError?: (input: {
|
|
96
|
+
flowId: string;
|
|
97
|
+
sessionId: string;
|
|
98
|
+
error: unknown;
|
|
99
|
+
context: HookContext;
|
|
100
|
+
}) => void | Promise<void>;
|
|
49
101
|
};
|
|
50
102
|
type HookName = keyof AgentHooks;
|
|
51
103
|
export declare class HookDispatcher {
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpG,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrG,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1G,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AA0BA,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,QAAoB,EAAE;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAG,CAAC;IAEvD,KAAK,CAAC,IAAI,CAAqB,IAAO,EAAE,KAAgD;QACtF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAO,OAAoD,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAoB,EAAE;IACzD,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC"}
|
package/dist/kernel.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import type { NexaStorage } from "./storage.js";
|
|
|
11
11
|
import type { NexaTelemetry } from "./telemetry.js";
|
|
12
12
|
import type { ModelRouter } from "./model-router.js";
|
|
13
13
|
import type { ToolRouter, ToolTraceEvent } from "./tool-orchestrator.js";
|
|
14
|
+
import type { JsonObject } from "./types.js";
|
|
14
15
|
import { type SkillDefinition } from "./skills.js";
|
|
15
16
|
import { type Artifact } from "./artifacts.js";
|
|
16
17
|
import type { McpConnection } from "./mcp.js";
|
|
@@ -19,6 +20,7 @@ import type { Cache } from "./cache.js";
|
|
|
19
20
|
import { type TenantContext } from "./tenancy.js";
|
|
20
21
|
import type { PermissionMatrix } from "./permissions.js";
|
|
21
22
|
import type { ModelHarness } from "./model-harness.js";
|
|
23
|
+
import { type FlowStatePatch, type GuidedFlow, type GuidedFlowRunMeta, type GuidedFlowRunState } from "./guided-flows/index.js";
|
|
22
24
|
export declare function resolveModelString(modelString: string): {
|
|
23
25
|
provider: OpenAICompatibleProviderConfig;
|
|
24
26
|
model: string;
|
|
@@ -47,21 +49,48 @@ export type NexaAgentConfig = {
|
|
|
47
49
|
cacheTtlMs?: number;
|
|
48
50
|
permissions?: PermissionMatrix;
|
|
49
51
|
harness?: ModelHarness;
|
|
52
|
+
flows?: GuidedFlow<any, any>[];
|
|
53
|
+
flowSelector?: (input: {
|
|
54
|
+
text: string;
|
|
55
|
+
flows: GuidedFlow<any, any>[];
|
|
56
|
+
}) => string | undefined | Promise<string | undefined>;
|
|
50
57
|
};
|
|
51
58
|
export type NexaAgentRunOptions<T = unknown> = {
|
|
52
59
|
messages?: ChatMessage[];
|
|
53
60
|
outputSchema?: z.ZodType<T>;
|
|
54
61
|
tenant?: TenantContext;
|
|
62
|
+
/** Explicit Guided Flow selection for this turn (see `config.flows`). */
|
|
63
|
+
flow?: string;
|
|
64
|
+
/** Identifies the conversation a Guided Flow's state belongs to; defaults to `"default"` for direct `agent.run()` calls. `session()` sets this automatically. */
|
|
65
|
+
sessionId?: string;
|
|
66
|
+
/** Known facts to seed into a Guided Flow's state before its first turn — see `GuidedFlowTurnInput.initialState`. No effect outside a Guided Flow turn, and no effect once that flow run already exists (use `agent.flows.patchState()` for an in-progress flow). */
|
|
67
|
+
initialState?: JsonObject;
|
|
68
|
+
/** Propagated to the Guided Flow turn (extraction call + tool-scoped reply pass) so a caller can cancel an in-flight run. No effect outside a Guided Flow turn in this version. */
|
|
69
|
+
signal?: AbortSignal;
|
|
70
|
+
/** Turn-scoped Guided Flow event sink — see `GuidedFlowTurnInput.onEvent`. No effect when this turn isn't handled by a Guided Flow. */
|
|
71
|
+
onFlowEvent?: (event: import("./guided-flows/index.js").PublishFlowEventInput) => void;
|
|
55
72
|
};
|
|
56
73
|
export type NexaAgentRunResult<T = unknown> = AgentMessageResult & {
|
|
57
74
|
output?: T;
|
|
58
75
|
artifacts: Artifact[];
|
|
59
76
|
handoffTo?: string;
|
|
77
|
+
/** Present only when a Guided Flow handled this turn. */
|
|
78
|
+
flow?: GuidedFlowRunMeta;
|
|
79
|
+
/** The Guided Flow's live state as plain JSON, alongside `flow`. */
|
|
80
|
+
state?: JsonObject;
|
|
81
|
+
};
|
|
82
|
+
export type NexaAgentFlows = {
|
|
83
|
+
cancel(sessionId: string, flowId?: string): Promise<void>;
|
|
84
|
+
resume(sessionId: string, flowId?: string): Promise<GuidedFlowRunState | undefined>;
|
|
85
|
+
reset(sessionId: string, flowId?: string): Promise<void>;
|
|
86
|
+
patchState(sessionId: string, flowId: string, patch: FlowStatePatch<Record<string, unknown>>): Promise<GuidedFlowRunState>;
|
|
87
|
+
getState(sessionId: string, flowId?: string): Promise<GuidedFlowRunState | undefined>;
|
|
60
88
|
};
|
|
61
89
|
export type NexaAgent = {
|
|
62
90
|
name: string;
|
|
63
91
|
underlying: OpenAICompatibleAgent;
|
|
64
92
|
memory?: AdvancedMemoryStore;
|
|
93
|
+
flows?: NexaAgentFlows;
|
|
65
94
|
run<T = unknown>(text: string, options?: NexaAgentRunOptions<T>): Promise<NexaAgentRunResult<T>>;
|
|
66
95
|
session(id?: string): AgentSession;
|
|
67
96
|
asTool(input?: {
|
package/dist/kernel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EAAE,mBAAmB,EAA6B,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAsC,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAA2C,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAwB,KAAK,UAAU,EAAuB,MAAM,YAAY,CAAC;AAExF,OAAO,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
|
package/dist/kernel.js
CHANGED
|
@@ -13,6 +13,7 @@ import { skillsToInstructions, skillsToToolRegistrations } from "./skills.js";
|
|
|
13
13
|
import { artifactsFromRunResult } from "./artifacts.js";
|
|
14
14
|
import { agentWorkerFromAgent, MultiAgentCoordinator } from "./multi-agent.js";
|
|
15
15
|
import { filterToolsByPermissions, namespaceKey } from "./tenancy.js";
|
|
16
|
+
import { GuidedFlowRuntime, resolveGuidedFlowStateStore } from "./guided-flows/index.js";
|
|
16
17
|
const PROVIDER_FACTORIES = {
|
|
17
18
|
openai: openaiProvider,
|
|
18
19
|
openrouter: openRouterProvider,
|
|
@@ -89,6 +90,22 @@ export async function agent(config) {
|
|
|
89
90
|
...(config.modelRouter ? { modelRouter: config.modelRouter } : {}),
|
|
90
91
|
...(config.harness ? { harness: config.harness } : {})
|
|
91
92
|
});
|
|
93
|
+
const flows = config.flows ?? [];
|
|
94
|
+
const flowRuntime = flows.length
|
|
95
|
+
? new GuidedFlowRuntime({
|
|
96
|
+
flows,
|
|
97
|
+
client: underlying.client,
|
|
98
|
+
providerId: provider.id,
|
|
99
|
+
model: underlying.model,
|
|
100
|
+
toolRegistrations,
|
|
101
|
+
skills,
|
|
102
|
+
hooks,
|
|
103
|
+
events: underlying.sdk.events,
|
|
104
|
+
store: resolveGuidedFlowStateStore(config.storage),
|
|
105
|
+
...(config.harness ? { harness: config.harness } : {}),
|
|
106
|
+
...(config.flowSelector ? { flowSelector: config.flowSelector } : {})
|
|
107
|
+
})
|
|
108
|
+
: undefined;
|
|
92
109
|
async function run(text, options = {}) {
|
|
93
110
|
const runId = randomUUID();
|
|
94
111
|
const taskId = runId;
|
|
@@ -98,6 +115,41 @@ export async function agent(config) {
|
|
|
98
115
|
const guardedInput = guardrails.length
|
|
99
116
|
? await runInputGuardrails(guardrails, { text, messages: options.messages ?? [], context: { taskId, runId } })
|
|
100
117
|
: { text, violations: [] };
|
|
118
|
+
const tenant = options.tenant ?? {};
|
|
119
|
+
if (flowRuntime) {
|
|
120
|
+
const priorNonSystem = (options.messages ?? []).filter((message) => message.role !== "system");
|
|
121
|
+
const outcome = await flowRuntime.runTurn({
|
|
122
|
+
text: guardedInput.text,
|
|
123
|
+
messages: priorNonSystem,
|
|
124
|
+
sessionId: options.sessionId ?? "default",
|
|
125
|
+
...(tenant.tenantId || tenant.userId ? { tenant } : {}),
|
|
126
|
+
...(options.flow ? { explicitFlow: options.flow } : {}),
|
|
127
|
+
...(options.initialState ? { initialState: options.initialState } : {}),
|
|
128
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
129
|
+
...(options.onFlowEvent ? { onEvent: options.onFlowEvent } : {})
|
|
130
|
+
});
|
|
131
|
+
if (outcome.handled) {
|
|
132
|
+
const guardedOutput = guardrails.length
|
|
133
|
+
? await runOutputGuardrails(guardrails, { text: outcome.text, messages: priorNonSystem, context: { taskId, runId } })
|
|
134
|
+
: { text: outcome.text, violations: [] };
|
|
135
|
+
const newMessages = [
|
|
136
|
+
...priorNonSystem,
|
|
137
|
+
{ role: "user", content: text },
|
|
138
|
+
{ role: "assistant", content: guardedOutput.text }
|
|
139
|
+
];
|
|
140
|
+
const flowResult = {
|
|
141
|
+
text: guardedOutput.text,
|
|
142
|
+
messages: newMessages,
|
|
143
|
+
toolTurn: { selectedTools: [], results: [], contextMessages: [] },
|
|
144
|
+
artifacts: [],
|
|
145
|
+
...(outcome.output !== undefined ? { output: outcome.output } : {}),
|
|
146
|
+
flow: outcome.flow,
|
|
147
|
+
state: outcome.state
|
|
148
|
+
};
|
|
149
|
+
await hooks.fire("afterRun", { text, result: flowResult, context: hookContext });
|
|
150
|
+
return flowResult;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
101
153
|
let messages = options.messages;
|
|
102
154
|
if (contextEngine) {
|
|
103
155
|
const built = await contextEngine.build({ runId, taskId, text: guardedInput.text, ...(options.messages ? { conversation: options.messages } : {}) });
|
|
@@ -108,7 +160,6 @@ export async function agent(config) {
|
|
|
108
160
|
}
|
|
109
161
|
const outputSchema = options.outputSchema ?? config.outputSchema;
|
|
110
162
|
const effectiveText = outputSchema ? `${guardedInput.text}\n\n${structuredOutputInstruction(outputSchema)}` : guardedInput.text;
|
|
111
|
-
const tenant = options.tenant ?? {};
|
|
112
163
|
const cacheKey = config.cache ? JSON.stringify({ name: config.name, tenant, effectiveText, messages }) : undefined;
|
|
113
164
|
if (cacheKey) {
|
|
114
165
|
const cached = config.cache?.get(cacheKey);
|
|
@@ -166,12 +217,18 @@ export async function agent(config) {
|
|
|
166
217
|
}
|
|
167
218
|
}
|
|
168
219
|
function session(id) {
|
|
169
|
-
|
|
220
|
+
const created = createSession({
|
|
170
221
|
...(id ? { id } : {}),
|
|
171
222
|
...(instructions ? { systemPrompt: instructions } : {}),
|
|
172
223
|
...(sessionStore ? { store: sessionStore } : {}),
|
|
173
|
-
runner: async ({ text, messages }) => run(text, {
|
|
224
|
+
runner: async ({ text, messages, options: runOptions }) => run(text, {
|
|
225
|
+
messages,
|
|
226
|
+
sessionId: created.id,
|
|
227
|
+
...(runOptions?.flow ? { flow: runOptions.flow } : {}),
|
|
228
|
+
...(runOptions?.initialState ? { initialState: runOptions.initialState } : {})
|
|
229
|
+
})
|
|
174
230
|
});
|
|
231
|
+
return created;
|
|
175
232
|
}
|
|
176
233
|
function asTool(input = {}) {
|
|
177
234
|
const id = input.id ?? `agent.${config.name}`;
|
|
@@ -193,7 +250,16 @@ export async function agent(config) {
|
|
|
193
250
|
}
|
|
194
251
|
};
|
|
195
252
|
}
|
|
196
|
-
|
|
253
|
+
const flowsApi = flowRuntime
|
|
254
|
+
? {
|
|
255
|
+
cancel: (sessionId, flowId) => flowRuntime.cancel(sessionId, flowId),
|
|
256
|
+
resume: (sessionId, flowId) => flowRuntime.resume(sessionId, flowId),
|
|
257
|
+
reset: (sessionId, flowId) => flowRuntime.reset(sessionId, flowId),
|
|
258
|
+
patchState: (sessionId, flowId, patch) => flowRuntime.patchState(sessionId, flowId, patch),
|
|
259
|
+
getState: (sessionId, flowId) => flowRuntime.getState(sessionId, flowId)
|
|
260
|
+
}
|
|
261
|
+
: undefined;
|
|
262
|
+
return { name: config.name, underlying, ...(memoryStore ? { memory: memoryStore } : {}), ...(flowsApi ? { flows: flowsApi } : {}), run, session, asTool };
|
|
197
263
|
}
|
|
198
264
|
function resolveMemory(memory) {
|
|
199
265
|
if (!memory)
|