@agent-phonon/server-sdk 0.2.11 → 0.6.0

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/index.d.ts CHANGED
@@ -4,7 +4,8 @@
4
4
  * 让任何项目一键成为 agent-phonon 服务端:管理多设备、编排其上的 agent。
5
5
  */
6
6
  export { PhononServer, PhononDevice, PhononSession } from "./server.js";
7
- export type { PhononServerOptions, HookDecider, SendResult } from "./server.js";
7
+ export type { PhononServerOptions, HookDecider, SendResult, WorkflowNodeInput, WorkflowEdgeInput, WorkflowCommunicationGraphInput, WorkflowDiscussionTerminationInput, WorkflowPlanInput, } from "./server.js";
8
8
  export { RpcPeer } from "./rpc.js";
9
9
  export type { Transport } from "./rpc.js";
10
+ export type { WorkflowPolicy, WorkflowSharedContext, WorkflowResumeFrom, WorkflowRunResult, WorkflowStatus, WorkflowNodeStatus, WorkflowNodeResult, WorkflowNodeRuntime, WorkflowStatusResult, WorkflowListParams, WorkflowListResult, WorkflowEvent, WorkflowAckParams, WorkflowRoutingDirective, WorkflowRouteDirective, WorkflowFeedbackDirective, WorkflowReplyDirective, WorkflowDoneDirective, } from "@agent-phonon/protocol";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EACV,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAE5C,iBAAiB,EACjB,iBAAiB,EACjB,+BAA+B,EAC/B,kCAAkC,EAClC,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUxE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
package/dist/server.d.ts CHANGED
@@ -1,6 +1,62 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  import { RpcPeer } from "./rpc.js";
3
- import type { AgentDescriptor, SessionMeta, StreamEvent, HookFiredParams, HookAction } from "@agent-phonon/protocol";
3
+ import type { AgentDescriptor, SessionMeta, StreamEvent, HookFiredParams, HookAction, WorkflowPolicy, WorkflowSharedContext, WorkflowResumeFrom, WorkflowEvent, WorkflowStatusResult, WorkflowListResult, WorkflowListParams, WorkflowRunResult } from "@agent-phonon/protocol";
4
+ /**
5
+ * Workflow plan 宝松型(SDK 使用面)。
6
+ *
7
+ * 不用 protocol 内部的 branded AgentId、SessionId 等 zod 品牌类型,以免调用方
8
+ * 要手动 cast "mock:a" 为品牌类型。字段语义与协议一致,phonon 端进入后会
9
+ * 走 zod 校验。
10
+ */
11
+ export interface WorkflowNodeInput {
12
+ nodeId: string;
13
+ agent: string;
14
+ model: string;
15
+ role?: string;
16
+ input?: string;
17
+ systemPrompt?: string;
18
+ dependsOn?: string[];
19
+ agentConfig?: Record<string, unknown>;
20
+ metadata?: Record<string, unknown>;
21
+ project?: string;
22
+ worktreeId?: string;
23
+ branch?: string;
24
+ }
25
+ export interface WorkflowEdgeInput {
26
+ edgeId?: string;
27
+ from: string;
28
+ to: string;
29
+ label?: string;
30
+ condition?: string;
31
+ metadata?: Record<string, unknown>;
32
+ }
33
+ export interface WorkflowCommunicationGraphInput {
34
+ edges?: WorkflowEdgeInput[];
35
+ allowSelfLoop?: boolean;
36
+ maxIterations?: number;
37
+ }
38
+ export interface WorkflowDiscussionTerminationInput {
39
+ chairmanSignal?: string;
40
+ maxRounds?: number;
41
+ consensusSignal?: string;
42
+ }
43
+ export type WorkflowPlanInput = {
44
+ mode: "dag";
45
+ nodes: WorkflowNodeInput[];
46
+ edges?: WorkflowEdgeInput[];
47
+ finalNodeId?: string;
48
+ } | {
49
+ mode: "graph";
50
+ executor: WorkflowNodeInput;
51
+ workers: WorkflowNodeInput[];
52
+ communicationGraph: WorkflowCommunicationGraphInput;
53
+ } | {
54
+ mode: "discussion";
55
+ topic: string;
56
+ participants: WorkflowNodeInput[];
57
+ chairman: string;
58
+ termination?: WorkflowDiscussionTerminationInput;
59
+ };
4
60
  /**
5
61
  * agent-phonon Server SDK。
6
62
  *
@@ -213,7 +269,50 @@ export declare class PhononDevice extends EventEmitter {
213
269
  scope?: "global" | "project";
214
270
  projectId?: string;
215
271
  }) => Promise<unknown>;
272
+ dirs: (filter?: {
273
+ agent?: string;
274
+ scope?: "global" | "project";
275
+ projectId?: string;
276
+ }) => Promise<unknown>;
277
+ };
278
+ /**
279
+ * L3 workflow orchestration。
280
+ * 传入 typed plan/policy/sharedContext/resumeFrom;SDK 原样透传 phonon,
281
+ * `device.on("workflowEvent", ...)` 订阅元事件(SDK 自动 ack)。
282
+ *
283
+ * 示例:
284
+ * const run = await device.workflow.run({
285
+ * project,
286
+ * plan: { mode: "dag", nodes: [...] },
287
+ * policy: { onNodeFailure: "skip_dependents", maxParallel: 3 },
288
+ * sharedContext: { text: "..." },
289
+ * });
290
+ * const status = await device.workflow.status(run.workflowId);
291
+ */
292
+ workflow: {
293
+ run: (params: {
294
+ project?: string;
295
+ worktreeId?: string;
296
+ branch?: string;
297
+ plan: WorkflowPlanInput;
298
+ input?: string;
299
+ policy?: WorkflowPolicy;
300
+ sharedContext?: WorkflowSharedContext;
301
+ resumeFrom?: WorkflowResumeFrom;
302
+ clientRequestId?: string;
303
+ metadata?: Record<string, unknown>;
304
+ }) => Promise<WorkflowRunResult>;
305
+ status: (workflowId: string) => Promise<WorkflowStatusResult>;
306
+ cancel: (workflowId: string, reason?: string) => Promise<{
307
+ workflowId: string;
308
+ status: "cancelled";
309
+ }>;
310
+ list: (filter?: WorkflowListParams) => Promise<WorkflowListResult>;
311
+ /** 手动 ack workflow.event seq≤lastSeq(平时不需调用,SDK 自动 ack)。 */
312
+ ack: (workflowId: string, lastSeq: number) => void;
216
313
  };
314
+ /** 流式订阅 workflow.event(不使用 EventEmitter 字符串名的 typed 参数版本)。 */
315
+ onWorkflowEvent(handler: (ev: WorkflowEvent) => void): () => void;
217
316
  /** 设置 HITL 裁决器(device 级,所有 session 共用)。 */
218
317
  setHookDecider(fn: HookDecider): void;
219
318
  /** 设置自发输出回调。 */
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -124,7 +124,36 @@ export class PhononDevice extends EventEmitter {
124
124
  install: (p) => this.peer.request("skill.install", p),
125
125
  uninstall: (p) => this.peer.request("skill.uninstall", p),
126
126
  list: (filter) => this.peer.request("skill.list", filter ?? {}),
127
+ dirs: (filter) => this.peer.request("skill.dirs", filter ?? {}),
127
128
  };
129
+ /**
130
+ * L3 workflow orchestration。
131
+ * 传入 typed plan/policy/sharedContext/resumeFrom;SDK 原样透传 phonon,
132
+ * `device.on("workflowEvent", ...)` 订阅元事件(SDK 自动 ack)。
133
+ *
134
+ * 示例:
135
+ * const run = await device.workflow.run({
136
+ * project,
137
+ * plan: { mode: "dag", nodes: [...] },
138
+ * policy: { onNodeFailure: "skip_dependents", maxParallel: 3 },
139
+ * sharedContext: { text: "..." },
140
+ * });
141
+ * const status = await device.workflow.status(run.workflowId);
142
+ */
143
+ workflow = {
144
+ run: (params) => this.peer.request("workflow.run", params),
145
+ status: (workflowId) => this.peer.request("workflow.status", { workflowId }),
146
+ cancel: (workflowId, reason) => this.peer.request("workflow.cancel", { workflowId, reason }),
147
+ list: (filter) => this.peer.request("workflow.list", filter ?? {}),
148
+ /** 手动 ack workflow.event seq≤lastSeq(平时不需调用,SDK 自动 ack)。 */
149
+ ack: (workflowId, lastSeq) => this.peer.notify("workflow.ack", { workflowId, lastSeq }),
150
+ };
151
+ /** 流式订阅 workflow.event(不使用 EventEmitter 字符串名的 typed 参数版本)。 */
152
+ onWorkflowEvent(handler) {
153
+ const wrapper = (params) => handler(params);
154
+ this.on("workflowEvent", wrapper);
155
+ return () => this.off("workflowEvent", wrapper);
156
+ }
128
157
  /** 设置 HITL 裁决器(device 级,所有 session 共用)。 */
129
158
  setHookDecider(fn) {
130
159
  this.hookDecider = fn;
@@ -162,6 +191,15 @@ export class PhononDevice extends EventEmitter {
162
191
  this.emit("discoveryChanged", params);
163
192
  return null;
164
193
  }
194
+ if (method === "workflow.event") {
195
+ // auto-ack (与 stream.event 一致,避免 outbox 胀胀)
196
+ const ev = params;
197
+ if (ev?.workflowId && typeof ev.seq === "number") {
198
+ this.peer.notify("workflow.ack", { workflowId: ev.workflowId, lastSeq: ev.seq });
199
+ }
200
+ this.emit("workflowEvent", params);
201
+ return null;
202
+ }
165
203
  if (method === "document.send") {
166
204
  this.emit("document", params);
167
205
  return { delivered: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,OAAO,EAAkB,KAAK,EAAE,MAAM,UAAU,CAAC;AA2B1D,MAAM,OAAO,aAAc,SAAQ,YAAY;IACpC,SAAS,CAAS;IAClB,MAAM,CAAe;IACtB,OAAO,GAAG,CAAC,CAAC,CAAC;IAErB,YAAY,MAAoB,EAAE,SAAiB;QACjD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,IAAyJ;QACjL,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAwB,CAAC;IAChH,CAAC;IAED,MAAM,CAAC,OAA0E;QAC/E,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,SAAS,CAAC,MAAe;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,QAAQ,CAAC,OAA4B,QAAQ;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAyB,CAAC;IACnG,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,qCAAqC;IACrC,SAAS,CAAC,EAAe;QACvB,MAAM,GAAG,GAAI,EAAsB,CAAC,GAAG,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxB,IAAK,EAA0B,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IAC7C,CAAC;IACD,2CAA2C;IAC3C,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAKQ,EAAE,CAAC,KAAa,EAAE,QAAoC;QAC7D,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAwC,CAAC,CAAC;IACnE,CAAC;CACF;AAOD,MAAM,OAAO,YAAa,SAAQ,YAAY;IACnC,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAClB,IAAI,CAAU;IACd,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC5C,WAAW,CAAe;IAClC,6BAA6B;IACrB,aAAa,CAA6B;IAElD,YAAY,QAAgB,EAAE,QAAgB,EAAE,IAAa;QAC3D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,MAAe;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,QAAQ;QACZ,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAkC,CAAC;QAC3F,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,CAA+B,CAAC;QAChG,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,WAAW;IACX,KAAK,CAAC,aAAa,CAAC,MAA8J;QAChL,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC,CAA0B,CAAC;QACrH,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,WAAW;IACX,KAAK,CAAC,YAAY,CAAC,MAA+F;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,IAAI,EAAE,CAA8D,CAAC;IACtH,CAAC;IAED,oCAAoC;IACpC,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,4CAA4C;IAC5C,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,wCAAwC;IACxC,OAAO,GAAG;QACR,MAAM,EAAE,CAAC,CAA4F,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAA8D;QAC7M,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAqC;QACrF,GAAG,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC;QAC3E,MAAM,EAAE,CAAC,SAAiB,EAAE,IAA2E,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC;QACvK,QAAQ,EAAE;YACR,MAAM,EAAE,CAAC,CAA+E,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;YAC5I,IAAI,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;YACtF,MAAM,EAAE,CAAC,CAA6D,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;SAC3H;QACD,YAAY,EAAE,CAAC,CAAyD,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC;KAC9H,CAAC;IAEF,GAAG,GAAG;QACJ,GAAG,EAAE,CAAC,CAA6K,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACvN,IAAI,EAAE,CAAC,CAAwH,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1K,MAAM,EAAE,CAAC,CAA4I,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;KAC7L,CAAC;IAEF,IAAI,GAAG;QACL,IAAI,EAAE,CAAC,CAA4G,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACzJ,KAAK,EAAE,CAAC,CAA4K,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3N,IAAI,EAAE,CAAC,CAAiG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9I,IAAI,EAAE,CAAC,CAA2D,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACxG,KAAK,EAAE,CAAC,CAA0G,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;KAC1J,CAAC;IAEF,KAAK,GAAG;QACN,OAAO,EAAE,CAAC,CAA8H,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QAClL,SAAS,EAAE,CAAC,CAAmF,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC3I,IAAI,EAAE,CAAC,MAA6E,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;KACvI,CAAC;IAEF,2CAA2C;IAC3C,cAAc,CAAC,EAAe;QAC5B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IACD,gBAAgB;IAChB,qBAAqB,CAAC,EAA6B;QACjD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,MAAe;QAClD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,MAAqB,CAAC;YACjC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAE,EAA4B,CAAC,SAAS,CAAC,CAAC;YACrE,IAAI,CAAC,EAAE,CAAC;gBACN,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAChB,SAAS;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAG,EAA4B,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9G,CAAC;iBAAM,IAAK,EAA0B,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtF,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAyB,CAAC;YACxC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAE,KAAgC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO;YACxD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAC3F,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAAC,CAAC;QAC5F,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,CAAC;QAC9I,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAAC,OAAO,EAAE,SAAS,EAAG,MAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAAC,CAAC;QAChK,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;CACF;AAYD,MAAM,OAAO,YAAa,SAAQ,YAAY;IACpC,GAAG,CAAmB;IACtB,IAAI,CAAsB;IAC1B,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC1C,UAAU,GAAG,CAAC,CAAC;IAEvB,YAAY,OAA4B,EAAE;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;gBACvB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAE9C,iBAAiB;IACjB,WAAW,KAAqB,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,SAAS,CAAC,QAAgB,IAA8B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpF,YAAY,CAAC,EAAa;QAChC,MAAM,SAAS,GAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QAClF,IAAI,MAAgC,CAAC;QAErC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC3D,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,MAA6D,CAAC;gBACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY;oBACjC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC;oBAC7D,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC3C,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS;gBACtC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3G,CAAC;YACD,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/D,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,IAAI,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG;gBAAE,OAAO,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-phonon/server-sdk",
3
- "version": "0.2.11",
3
+ "version": "0.6.0",
4
4
  "description": "Server SDK for agent-phonon — build a server that orchestrates agents across multiple devices.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -18,7 +18,7 @@
18
18
  ],
19
19
  "dependencies": {
20
20
  "ws": "^8.18.0",
21
- "@agent-phonon/protocol": "0.2.11"
21
+ "@agent-phonon/protocol": "0.6.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/node": "^22.0.0",
package/src/index.ts CHANGED
@@ -4,6 +4,36 @@
4
4
  * 让任何项目一键成为 agent-phonon 服务端:管理多设备、编排其上的 agent。
5
5
  */
6
6
  export { PhononServer, PhononDevice, PhononSession } from "./server.js";
7
- export type { PhononServerOptions, HookDecider, SendResult } from "./server.js";
7
+ export type {
8
+ PhononServerOptions, HookDecider, SendResult,
9
+ // L3 workflow 宝松输入类型(免 branded AgentId/SessionId 型约)
10
+ WorkflowNodeInput,
11
+ WorkflowEdgeInput,
12
+ WorkflowCommunicationGraphInput,
13
+ WorkflowDiscussionTerminationInput,
14
+ WorkflowPlanInput,
15
+ } from "./server.js";
8
16
  export { RpcPeer } from "./rpc.js";
9
17
  export type { Transport } from "./rpc.js";
18
+
19
+ // 重导出 L3 workflow 运行时/事件/策略类型,让 SDK 用户不需颍外装 @agent-phonon/protocol。
20
+ export type {
21
+ WorkflowPolicy,
22
+ WorkflowSharedContext,
23
+ WorkflowResumeFrom,
24
+ WorkflowRunResult,
25
+ WorkflowStatus,
26
+ WorkflowNodeStatus,
27
+ WorkflowNodeResult,
28
+ WorkflowNodeRuntime,
29
+ WorkflowStatusResult,
30
+ WorkflowListParams,
31
+ WorkflowListResult,
32
+ WorkflowEvent,
33
+ WorkflowAckParams,
34
+ WorkflowRoutingDirective,
35
+ WorkflowRouteDirective,
36
+ WorkflowFeedbackDirective,
37
+ WorkflowReplyDirective,
38
+ WorkflowDoneDirective,
39
+ } from "@agent-phonon/protocol";
package/src/server.ts CHANGED
@@ -7,8 +7,67 @@ import type {
7
7
  StreamEvent,
8
8
  HookFiredParams,
9
9
  HookAction,
10
+ WorkflowPolicy,
11
+ WorkflowSharedContext,
12
+ WorkflowResumeFrom,
13
+ WorkflowEvent,
14
+ WorkflowStatusResult,
15
+ WorkflowListResult,
16
+ WorkflowListParams,
17
+ WorkflowRunResult,
10
18
  } from "@agent-phonon/protocol";
11
19
 
20
+ /**
21
+ * Workflow plan 宝松型(SDK 使用面)。
22
+ *
23
+ * 不用 protocol 内部的 branded AgentId、SessionId 等 zod 品牌类型,以免调用方
24
+ * 要手动 cast "mock:a" 为品牌类型。字段语义与协议一致,phonon 端进入后会
25
+ * 走 zod 校验。
26
+ */
27
+ export interface WorkflowNodeInput {
28
+ nodeId: string;
29
+ agent: string;
30
+ model: string;
31
+ role?: string;
32
+ input?: string;
33
+ systemPrompt?: string;
34
+ dependsOn?: string[];
35
+ agentConfig?: Record<string, unknown>;
36
+ metadata?: Record<string, unknown>;
37
+ // v0.6: per-node 执行环境覆写
38
+ project?: string;
39
+ worktreeId?: string;
40
+ branch?: string;
41
+ }
42
+ export interface WorkflowEdgeInput {
43
+ edgeId?: string;
44
+ from: string;
45
+ to: string;
46
+ label?: string;
47
+ condition?: string;
48
+ metadata?: Record<string, unknown>;
49
+ }
50
+ export interface WorkflowCommunicationGraphInput {
51
+ edges?: WorkflowEdgeInput[];
52
+ allowSelfLoop?: boolean;
53
+ maxIterations?: number;
54
+ }
55
+ export interface WorkflowDiscussionTerminationInput {
56
+ chairmanSignal?: string;
57
+ maxRounds?: number;
58
+ consensusSignal?: string;
59
+ }
60
+ export type WorkflowPlanInput =
61
+ | { mode: "dag"; nodes: WorkflowNodeInput[]; edges?: WorkflowEdgeInput[]; finalNodeId?: string }
62
+ | { mode: "graph"; executor: WorkflowNodeInput; workers: WorkflowNodeInput[]; communicationGraph: WorkflowCommunicationGraphInput }
63
+ | {
64
+ mode: "discussion";
65
+ topic: string;
66
+ participants: WorkflowNodeInput[];
67
+ chairman: string;
68
+ termination?: WorkflowDiscussionTerminationInput;
69
+ };
70
+
12
71
  /**
13
72
  * agent-phonon Server SDK。
14
73
  *
@@ -174,8 +233,54 @@ export class PhononDevice extends EventEmitter {
174
233
  install: (p: { agent: string; name: string; scope: "global" | "project"; projectId?: string; source: unknown; clientRequestId?: string }) => this.peer.request("skill.install", p),
175
234
  uninstall: (p: { agent: string; name: string; scope: "global" | "project"; projectId?: string }) => this.peer.request("skill.uninstall", p),
176
235
  list: (filter?: { agent?: string; scope?: "global" | "project"; projectId?: string }) => this.peer.request("skill.list", filter ?? {}),
236
+ dirs: (filter?: { agent?: string; scope?: "global" | "project"; projectId?: string }) => this.peer.request("skill.dirs", filter ?? {}),
177
237
  };
178
238
 
239
+ /**
240
+ * L3 workflow orchestration。
241
+ * 传入 typed plan/policy/sharedContext/resumeFrom;SDK 原样透传 phonon,
242
+ * `device.on("workflowEvent", ...)` 订阅元事件(SDK 自动 ack)。
243
+ *
244
+ * 示例:
245
+ * const run = await device.workflow.run({
246
+ * project,
247
+ * plan: { mode: "dag", nodes: [...] },
248
+ * policy: { onNodeFailure: "skip_dependents", maxParallel: 3 },
249
+ * sharedContext: { text: "..." },
250
+ * });
251
+ * const status = await device.workflow.status(run.workflowId);
252
+ */
253
+ workflow = {
254
+ run: (params: {
255
+ project?: string;
256
+ worktreeId?: string;
257
+ branch?: string;
258
+ plan: WorkflowPlanInput;
259
+ input?: string;
260
+ policy?: WorkflowPolicy;
261
+ sharedContext?: WorkflowSharedContext;
262
+ resumeFrom?: WorkflowResumeFrom;
263
+ clientRequestId?: string;
264
+ metadata?: Record<string, unknown>;
265
+ }) => this.peer.request("workflow.run", params) as Promise<WorkflowRunResult>,
266
+ status: (workflowId: string) =>
267
+ this.peer.request("workflow.status", { workflowId }) as Promise<WorkflowStatusResult>,
268
+ cancel: (workflowId: string, reason?: string) =>
269
+ this.peer.request("workflow.cancel", { workflowId, reason }) as Promise<{ workflowId: string; status: "cancelled" }>,
270
+ list: (filter?: WorkflowListParams) =>
271
+ this.peer.request("workflow.list", filter ?? {}) as Promise<WorkflowListResult>,
272
+ /** 手动 ack workflow.event seq≤lastSeq(平时不需调用,SDK 自动 ack)。 */
273
+ ack: (workflowId: string, lastSeq: number) =>
274
+ this.peer.notify("workflow.ack", { workflowId, lastSeq }),
275
+ };
276
+
277
+ /** 流式订阅 workflow.event(不使用 EventEmitter 字符串名的 typed 参数版本)。 */
278
+ onWorkflowEvent(handler: (ev: WorkflowEvent) => void): () => void {
279
+ const wrapper = (params: unknown) => handler(params as WorkflowEvent);
280
+ this.on("workflowEvent", wrapper);
281
+ return () => this.off("workflowEvent", wrapper);
282
+ }
283
+
179
284
  /** 设置 HITL 裁决器(device 级,所有 session 共用)。 */
180
285
  setHookDecider(fn: HookDecider): void {
181
286
  this.hookDecider = fn;
@@ -209,6 +314,15 @@ export class PhononDevice extends EventEmitter {
209
314
  return { action, reason };
210
315
  }
211
316
  if (method === "discovery.changed") { this.emit("discoveryChanged", params); return null; }
317
+ if (method === "workflow.event") {
318
+ // auto-ack (与 stream.event 一致,避免 outbox 胀胀)
319
+ const ev = params as { workflowId?: string; seq?: number };
320
+ if (ev?.workflowId && typeof ev.seq === "number") {
321
+ this.peer.notify("workflow.ack", { workflowId: ev.workflowId, lastSeq: ev.seq });
322
+ }
323
+ this.emit("workflowEvent", params);
324
+ return null;
325
+ }
212
326
  if (method === "document.send") { this.emit("document", params); return { delivered: [] }; }
213
327
  if (method === "document.prepare_upload") { this.emit("prepareUpload", params); return { uploadRef: newId(), uploadUrl: "", method: "PUT" }; }
214
328
  if (method === "interaction.request") { this.emit("interaction", params); return { requestId: (params as { requestId: string }).requestId, action: "cancel" }; }