@sepveneto/dnde-agent 0.1.16 → 0.2.0-beta.2

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.
Files changed (47) hide show
  1. package/README.md +77 -0
  2. package/dist/{agent-JES391Lz.js → agent-DDYZoUHp.js} +1 -1
  3. package/dist/agents.d.ts +19 -0
  4. package/dist/agents.d.ts.map +1 -0
  5. package/dist/composables/useFile.d.ts +6 -9
  6. package/dist/composables/useFile.d.ts.map +1 -1
  7. package/dist/{index-gtAUVnBf.js → index-BUWk7ugk.js} +22924 -20345
  8. package/dist/index.d.ts +11 -26
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +14 -39
  11. package/dist/runtime.d.ts +31 -0
  12. package/dist/runtime.d.ts.map +1 -0
  13. package/dist/services.d.ts +18 -0
  14. package/dist/services.d.ts.map +1 -0
  15. package/dist/tool.d.ts +30 -0
  16. package/dist/tool.d.ts.map +1 -0
  17. package/dist/types.d.ts +73 -0
  18. package/dist/types.d.ts.map +1 -0
  19. package/package.json +3 -4
  20. package/dist/agent/capability.d.ts +0 -32
  21. package/dist/agent/capability.d.ts.map +0 -1
  22. package/dist/agent/capabilityAgent.d.ts +0 -6
  23. package/dist/agent/capabilityAgent.d.ts.map +0 -1
  24. package/dist/agent/capabilityRegistry.d.ts +0 -15
  25. package/dist/agent/capabilityRegistry.d.ts.map +0 -1
  26. package/dist/agent/context.d.ts +0 -17
  27. package/dist/agent/context.d.ts.map +0 -1
  28. package/dist/agent/core/sdk.d.ts +0 -35
  29. package/dist/agent/core/sdk.d.ts.map +0 -1
  30. package/dist/agent/editAgent.d.ts +0 -6
  31. package/dist/agent/editAgent.d.ts.map +0 -1
  32. package/dist/agent/extract.d.ts +0 -9
  33. package/dist/agent/extract.d.ts.map +0 -1
  34. package/dist/agent/flowAgent.d.ts +0 -22
  35. package/dist/agent/flowAgent.d.ts.map +0 -1
  36. package/dist/agent/ir.d.ts +0 -92
  37. package/dist/agent/ir.d.ts.map +0 -1
  38. package/dist/agent/layout.d.ts +0 -14
  39. package/dist/agent/layout.d.ts.map +0 -1
  40. package/dist/agent/runtime.d.ts +0 -73
  41. package/dist/agent/runtime.d.ts.map +0 -1
  42. package/dist/agent/type.d.ts +0 -45
  43. package/dist/agent/type.d.ts.map +0 -1
  44. package/dist/agent/utils/helper.d.ts +0 -7
  45. package/dist/agent/utils/helper.d.ts.map +0 -1
  46. package/dist/agent/workflow.d.ts +0 -94
  47. package/dist/agent/workflow.d.ts.map +0 -1
@@ -1,73 +0,0 @@
1
- import type { Agent, AgentInputItem } from '@openai/agents';
2
- import type { Node, Widget } from '@sepveneto/dnde-core';
3
- import type { Capability } from './capability';
4
- import type { ToolApprovalHandler } from './context';
5
- import type { FlowType } from './flowAgent';
6
- import type { EditIR, LayoutIR } from './ir';
7
- import type { Workflow, WorkflowEvent, WorkflowRunResult } from './workflow';
8
- import { WorkflowRuntime } from './workflow';
9
- export type AgentRuntimeEvent = {
10
- type: 'text-delta';
11
- text: string;
12
- } | {
13
- type: 'tool-call';
14
- callId: string;
15
- name: string;
16
- args: unknown;
17
- } | {
18
- type: 'tool-result';
19
- callId: string;
20
- name: string;
21
- result?: unknown;
22
- error?: string;
23
- } | {
24
- type: 'agent-updated';
25
- agent: string;
26
- } | WorkflowEvent;
27
- export interface AgentRuntimeResult {
28
- flow: FlowType;
29
- text?: string;
30
- layout?: LayoutIR;
31
- edits?: EditIR[];
32
- capability?: {
33
- name: string;
34
- result: unknown;
35
- };
36
- workflow?: WorkflowRunResult;
37
- }
38
- export interface AgentRuntimeOptions {
39
- capabilities?: Capability<any, any>[];
40
- workflows?: Workflow[];
41
- context?: () => Record<string, unknown>;
42
- extractLayout?: (output: unknown) => LayoutIR | undefined;
43
- }
44
- export interface AgentRuntimeHooks {
45
- onEvent?: (event: AgentRuntimeEvent) => void;
46
- onApproval?: ToolApprovalHandler;
47
- rootNode: Node;
48
- widgets: Widget[];
49
- }
50
- /**
51
- * 编辑器平台提供的 Agent Runtime。
52
- *
53
- * Agent Loop / Tool Calling / Session / Context 全部由 OpenAI Agents SDK 提供;
54
- * 模型接口调用走原来的 chat.completions(服务器代理),见 core/sdk.ts。
55
- */
56
- export declare class AgentRuntime {
57
- flowAgent: Agent<any, any>;
58
- editAgent: Agent<any, any>;
59
- capabilityAgent: Agent<any, any>;
60
- workflowRuntime: WorkflowRuntime;
61
- private readonly capabilities;
62
- private readonly workflows;
63
- private readonly options;
64
- private readonly flowSession;
65
- constructor(options?: AgentRuntimeOptions);
66
- run(input: string | AgentInputItem[], hooks: AgentRuntimeHooks): Promise<AgentRuntimeResult>;
67
- reset(): Promise<void>;
68
- private runInitialize;
69
- private runEdit;
70
- private runCapability;
71
- }
72
- export declare function createAgentRuntime(options?: AgentRuntimeOptions): AgentRuntime;
73
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/agent/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- export type MessagePart = {
2
- type: 'text';
3
- text: string;
4
- } | {
5
- type: 'action';
6
- action: unknown;
7
- result?: unknown;
8
- } | {
9
- type: 'tool-call';
10
- call: unknown;
11
- result?: unknown;
12
- }
13
- /** 运行时的一个步骤标题(第几轮、阶段名) */
14
- | {
15
- type: 'step';
16
- label: string;
17
- }
18
- /** 流程里的一个可折叠步骤,展开后是该步骤的输出 */
19
- | {
20
- type: 'workflow-step';
21
- label: string;
22
- status: 'running' | 'done' | 'error';
23
- output?: unknown;
24
- error?: string;
25
- }
26
- /** 需要人工确认的工具:展示审批请求与用户决策 */
27
- | {
28
- type: 'approval';
29
- call: unknown;
30
- decision?: 'approved' | 'rejected';
31
- }
32
- /** 模型原始输出,方便对着 Prompt / response_format 排查;label 标出这一轮走的通道 */
33
- | {
34
- type: 'raw';
35
- text: string;
36
- label?: string;
37
- };
38
- export interface ThreadMessage {
39
- id: string;
40
- role: 'user' | 'copilot';
41
- parts: MessagePart[];
42
- /** 助手回复的耗时(毫秒),用于「正在思考」折叠块在结束后展示「用时」。 */
43
- duration?: number;
44
- }
45
- //# sourceMappingURL=type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/agent/type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE;AAC1D,0BAA0B;GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACnC,6BAA6B;GACzB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AACpH,4BAA4B;GACxB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;CAAE;AAC3E,8DAA8D;GAC1D;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB"}
@@ -1,7 +0,0 @@
1
- import { Agent, AgentConfiguration, AgentOutputType } from "@openai/agents";
2
- type AgentOptions<TContext = unknown, TOutput extends AgentOutputType = "text"> = Omit<AgentConfiguration<TContext, TOutput>, 'model'>;
3
- export declare function createAgent<TContext = unknown, TOutput extends AgentOutputType = "text">(options: Partial<AgentOptions<TContext, TOutput>> & {
4
- name: string;
5
- }): Agent<TContext, TOutput>;
6
- export {};
7
- //# sourceMappingURL=helper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/agent/utils/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE5E,KAAK,YAAY,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,SAAS,eAAe,GAAG,MAAM,IAC5E,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAEtD,wBAAgB,WAAW,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,SAAS,eAAe,GAAG,MAAM,EACtF,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACnE,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAK1B"}
@@ -1,94 +0,0 @@
1
- import type { ToolApprovalHandler } from './context';
2
- export type WorkflowEvent = {
3
- type: 'workflow-start';
4
- workflow: string;
5
- } | {
6
- type: 'step-start';
7
- workflow: string;
8
- step: string;
9
- index: number;
10
- } | {
11
- type: 'step-complete';
12
- workflow: string;
13
- step: string;
14
- index: number;
15
- output?: unknown;
16
- } | {
17
- type: 'step-retry';
18
- workflow: string;
19
- step: string;
20
- index: number;
21
- attempt: number;
22
- error: string;
23
- } | {
24
- type: 'step-error';
25
- workflow: string;
26
- step: string;
27
- index: number;
28
- error: string;
29
- } | {
30
- type: 'workflow-complete';
31
- workflow: string;
32
- output?: unknown;
33
- } | {
34
- type: 'workflow-abort';
35
- workflow: string;
36
- };
37
- export interface WorkflowContext {
38
- /** 上一步的输出(或初始输入)。 */
39
- input: unknown;
40
- /** 跨步骤共享状态,业务侧可读写。 */
41
- state: Record<string, unknown>;
42
- signal?: AbortSignal;
43
- onEvent?: (event: WorkflowEvent) => void;
44
- /** 审批处理器:step 内通过 invokeCapability 调用需要确认的能力时使用。 */
45
- onApproval?: ToolApprovalHandler;
46
- }
47
- export interface StepResult {
48
- output?: unknown;
49
- }
50
- export interface WorkflowStep {
51
- name: string;
52
- /** 失败后的重试次数(默认 0)。 */
53
- retry?: number;
54
- execute(context: WorkflowContext): Promise<unknown | StepResult>;
55
- }
56
- export interface WorkflowDefinition {
57
- name: string;
58
- description?: string;
59
- steps: WorkflowStep[];
60
- }
61
- export interface Workflow extends WorkflowDefinition {
62
- kind: 'workflow';
63
- }
64
- /** 定义业务流程。Workflow 只是可执行流程定义,不属于编辑器业务逻辑。 */
65
- export declare function defineWorkflow(definition: WorkflowDefinition): Workflow;
66
- export type WorkflowStatus = 'completed' | 'failed' | 'aborted';
67
- export interface WorkflowRunResult {
68
- workflow: string;
69
- status: WorkflowStatus;
70
- state: Record<string, unknown>;
71
- output?: unknown;
72
- error?: string;
73
- logs: WorkflowEvent[];
74
- }
75
- export interface WorkflowRunOptions {
76
- signal?: AbortSignal;
77
- onEvent?: (event: WorkflowEvent) => void;
78
- onApproval?: ToolApprovalHandler;
79
- /** 恢复执行:从第几个 step 继续(0-based)。 */
80
- resumeFrom?: number;
81
- /** 恢复执行:带入已有 state。 */
82
- state?: Record<string, unknown>;
83
- }
84
- /**
85
- * Workflow Runtime:只负责执行业务侧传入的 Workflow。
86
- *
87
- * 提供顺序执行、上下文传递、异常处理、中断、恢复、日志、执行状态和重试,
88
- * 但不理解任何具体业务语义。
89
- */
90
- export declare class WorkflowRuntime {
91
- run(workflow: Workflow, input: unknown, options?: WorkflowRunOptions): Promise<WorkflowRunResult>;
92
- private executeStep;
93
- }
94
- //# sourceMappingURL=workflow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/agent/workflow.ts"],"names":[],"mappings":"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"}