@agent-phonon/protocol 0.8.7 → 0.9.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/schemas/schedule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,306 @@
1
+ import { z } from "zod";
2
+ import { AgentId, ProjectId, SessionId, TenantId } from "./common.js";
3
+ import { WorkflowId, WorkflowPlan } from "./workflow.js";
4
+ /**
5
+ * L4 Scheduling Protocol (schedule.* / run.*)
6
+ *
7
+ * Design draft 2026-06-30 (see docs/L4_SCHEDULING.md).
8
+ *
9
+ * 核心原则:
10
+ * - **调度真相源在 device**:daemon 本地持 schedule 表 + 本地时钟触发;server 只是镜像视图 + 管理面。
11
+ * server 断连时定时任务照跑、跑完缓存、重连按同意协议补推。
12
+ * - **不重复发明 run**:一个 run = 一次 L1 session(或 L3 workflow)。run 的 event stream 直接是
13
+ * 该 session 的 stream.event;run 的持久化直接复用 v0.8.7 的 session JSONL transcript 快照。
14
+ * - **webhook 是 trigger 的一种**,与 cron(定时)、manual(手动)并列,最终收敛到同一条
15
+ * 「发起一次 run」的内部路径,只是 triggerSource 不同。
16
+ * - **默认安全**:webhook 是「外部能打进来触发本地 agent」的最高风险入口,每 schedule 独立 token、
17
+ * server 验签、且 webhook 触发的 run 同样过 device consent/policy 门。
18
+ */
19
+ export const ScheduleId = z.string().min(1).brand();
20
+ export const RunId = z.string().min(1).brand();
21
+ // ---------------------------------------------------------------------------
22
+ // Trigger(三态:cron / webhook / manual)
23
+ // ---------------------------------------------------------------------------
24
+ /** 定时触发:本地时钟按 cron 表达式触发。tz 缺省取设备时区。 */
25
+ export const CronTrigger = z.object({
26
+ kind: z.literal("cron"),
27
+ /** 标准 5 段 cron 表达式:分 时 日 月 周。限长 200,恰好 5 段(防 DoS/畸形输入)。 */
28
+ expr: z
29
+ .string()
30
+ .min(1)
31
+ .max(200)
32
+ .refine((s) => s.trim().split(/\s+/).length === 5, {
33
+ message: "cron expr must have exactly 5 fields (minute hour day month weekday)",
34
+ }),
35
+ /** IANA 时区名,如 "Asia/Shanghai"。缺省用设备本地时区。 */
36
+ tz: z.string().max(64).optional(),
37
+ });
38
+ /** Webhook 触发:外部 POST /hooks/<token> 命中后由 server 转成一次内部 trigger 下发。 */
39
+ export const WebhookTrigger = z.object({
40
+ kind: z.literal("webhook"),
41
+ /**
42
+ * 该 schedule 专属密钥。创建时由 device 生成并返回一次;
43
+ * schedule.get/list 默认脱敏(与 secrets redaction 一致),仅 reveal 时返回。
44
+ */
45
+ webhookToken: z.string().optional(),
46
+ });
47
+ /** 手动触发:仅能由 schedule.trigger 显式发起。 */
48
+ export const ManualTrigger = z.object({
49
+ kind: z.literal("manual"),
50
+ });
51
+ export const ScheduleTrigger = z.discriminatedUnion("kind", [
52
+ CronTrigger,
53
+ WebhookTrigger,
54
+ ManualTrigger,
55
+ ]);
56
+ // ---------------------------------------------------------------------------
57
+ // Target(到点后要发起的 run 的「配方」)
58
+ // ---------------------------------------------------------------------------
59
+ export const ScheduleTarget = z.object({
60
+ /** 复用 L1 session 还是 L3 workflow。 */
61
+ runKind: z.enum(["session", "workflow"]).default("session"),
62
+ /** 必须绑定 project(与 session.create 一致)。 */
63
+ project: ProjectId,
64
+ /** runKind=session:用哪个 agent。 */
65
+ agent: AgentId.optional(),
66
+ model: z.string().optional(),
67
+ /** runKind=session:任务文本(webhook body 可注入,见实现)。 */
68
+ prompt: z.string().optional(),
69
+ /** runKind=workflow:L3 plan。 */
70
+ plan: WorkflowPlan.optional(),
71
+ agentConfig: z.record(z.unknown()).optional(),
72
+ skills: z.array(z.string()).optional(),
73
+ });
74
+ // ---------------------------------------------------------------------------
75
+ // Consent(同意协议:run 结束后主动推送的粒度)
76
+ // ---------------------------------------------------------------------------
77
+ /**
78
+ * full = 推完整 event stream(transcript 引用 + 关键事件),server 可完整回放。
79
+ * summary = 只推 resultText + status + usage。
80
+ * status-only = 只推 status + 起止时间,零内容外泄(高敏任务:跑归跑,内容不出设备)。
81
+ */
82
+ export const SchedulePushConsent = z.enum(["full", "summary", "status-only"]);
83
+ export const ScheduleConsent = z.object({
84
+ push: SchedulePushConsent.default("summary"),
85
+ });
86
+ // ---------------------------------------------------------------------------
87
+ // Policy(执行策略,全部可选,默认安全)
88
+ // ---------------------------------------------------------------------------
89
+ export const SchedulePolicy = z.object({
90
+ /** 单次 run 超时(毫秒)。 */
91
+ timeoutMs: z.number().int().positive().optional(),
92
+ /** 上次 run 还在跑时,新触发如何处理。默认 skip。 */
93
+ overlap: z.enum(["skip", "queue", "allow"]).default("skip"),
94
+ /** 失败重试次数。默认 0。 */
95
+ maxRetries: z.number().int().min(0).default(0),
96
+ /** 错过的 cron 触发点是否补跑(默认 false,避免离线后重连补跑风暴)。 */
97
+ catchUp: z.boolean().default(false),
98
+ });
99
+ // ---------------------------------------------------------------------------
100
+ // Schedule(定时任务定义)
101
+ // ---------------------------------------------------------------------------
102
+ export const Schedule = z.object({
103
+ id: ScheduleId,
104
+ tenantId: TenantId,
105
+ name: z.string().min(1),
106
+ enabled: z.boolean(),
107
+ trigger: ScheduleTrigger,
108
+ target: ScheduleTarget,
109
+ consent: ScheduleConsent,
110
+ policy: SchedulePolicy.optional(),
111
+ createdAt: z.string(),
112
+ updatedAt: z.string(),
113
+ lastRunAt: z.string().optional(),
114
+ /** cron 下次触发的预计算时间(仅 cron)。 */
115
+ nextRunAt: z.string().optional(),
116
+ });
117
+ // ---------------------------------------------------------------------------
118
+ // Run(每次执行记录)
119
+ // ---------------------------------------------------------------------------
120
+ export const RunStatus = z.enum([
121
+ "pending",
122
+ "running",
123
+ "success",
124
+ "failed",
125
+ "timeout",
126
+ "cancelled",
127
+ "skipped",
128
+ ]);
129
+ export const RunTriggerSource = z.enum(["cron", "webhook", "manual"]);
130
+ export const Run = z.object({
131
+ id: RunId,
132
+ scheduleId: ScheduleId,
133
+ tenantId: TenantId,
134
+ triggerSource: RunTriggerSource,
135
+ status: RunStatus,
136
+ /** runKind=session:对应的 L1 session。 */
137
+ sessionId: SessionId.optional(),
138
+ /** runKind=workflow:对应的 L3 workflow。 */
139
+ workflowId: WorkflowId.optional(),
140
+ startedAt: z.string().optional(),
141
+ finishedAt: z.string().optional(),
142
+ exitReason: z.string().optional(),
143
+ error: z.string().optional(),
144
+ /** 复用 v0.8.7 session JSONL 快照路径。 */
145
+ transcriptPath: z.string().optional(),
146
+ /** 终态产物文本(summary 推送用)。 */
147
+ resultText: z.string().optional(),
148
+ usage: z.record(z.unknown()).optional(),
149
+ });
150
+ // ===========================================================================
151
+ // 方法 params / result
152
+ // ===========================================================================
153
+ // ---- schedule.create ----
154
+ export const ScheduleCreateParams = z.object({
155
+ name: z.string().min(1),
156
+ trigger: ScheduleTrigger,
157
+ target: ScheduleTarget,
158
+ consent: ScheduleConsent.optional(),
159
+ policy: SchedulePolicy.optional(),
160
+ enabled: z.boolean().optional(),
161
+ clientRequestId: z.string().optional(),
162
+ });
163
+ export const ScheduleCreateResult = z.object({
164
+ schedule: Schedule,
165
+ /** kind=webhook 时返回一次明文 token(之后默认脱敏)。 */
166
+ webhookToken: z.string().optional(),
167
+ });
168
+ // ---- schedule.update ----
169
+ export const ScheduleUpdateParams = z.object({
170
+ scheduleId: ScheduleId,
171
+ name: z.string().min(1).optional(),
172
+ enabled: z.boolean().optional(),
173
+ trigger: ScheduleTrigger.optional(),
174
+ target: ScheduleTarget.optional(),
175
+ consent: ScheduleConsent.optional(),
176
+ policy: SchedulePolicy.optional(),
177
+ clientRequestId: z.string().optional(),
178
+ });
179
+ export const ScheduleUpdateResult = z.object({ schedule: Schedule });
180
+ // ---- schedule.delete ----
181
+ export const ScheduleDeleteParams = z.object({
182
+ scheduleId: ScheduleId,
183
+ clientRequestId: z.string().optional(),
184
+ });
185
+ export const ScheduleDeleteResult = z.object({
186
+ scheduleId: ScheduleId,
187
+ deleted: z.boolean(),
188
+ });
189
+ // ---- schedule.list ----
190
+ export const ScheduleListParams = z.object({
191
+ enabled: z.boolean().optional(),
192
+ triggerKind: z.enum(["cron", "webhook", "manual"]).optional(),
193
+ /** 是否返回明文 webhookToken(默认脱敏)。 */
194
+ reveal: z.boolean().optional(),
195
+ limit: z.number().int().positive().optional(),
196
+ });
197
+ export const ScheduleListResult = z.object({
198
+ schedules: z.array(Schedule),
199
+ });
200
+ // ---- schedule.get ----
201
+ export const ScheduleGetParams = z.object({
202
+ scheduleId: ScheduleId,
203
+ reveal: z.boolean().optional(),
204
+ });
205
+ export const ScheduleGetResult = z.object({ schedule: Schedule });
206
+ // ---- schedule.enable / schedule.disable ----
207
+ export const ScheduleEnableParams = z.object({
208
+ scheduleId: ScheduleId,
209
+ clientRequestId: z.string().optional(),
210
+ });
211
+ export const ScheduleEnableResult = z.object({ schedule: Schedule });
212
+ // ---- schedule.trigger(手动触发一次 run)----
213
+ export const ScheduleTriggerParams = z.object({
214
+ scheduleId: ScheduleId,
215
+ /** 触发来源标记(manual / 测试 cron / 重放 webhook)。默认 manual。 */
216
+ source: RunTriggerSource.optional(),
217
+ /** 可选:注入到 target.prompt 的输入变量(webhook body 等)。 */
218
+ input: z.record(z.unknown()).optional(),
219
+ clientRequestId: z.string().optional(),
220
+ });
221
+ export const ScheduleTriggerResult = z.object({
222
+ scheduleId: ScheduleId,
223
+ runId: RunId,
224
+ status: RunStatus,
225
+ });
226
+ // ---- schedule.runs.list ----
227
+ export const ScheduleRunsListParams = z.object({
228
+ scheduleId: ScheduleId,
229
+ status: RunStatus.optional(),
230
+ limit: z.number().int().positive().optional(),
231
+ });
232
+ export const ScheduleRunsListResult = z.object({
233
+ runs: z.array(Run),
234
+ });
235
+ // ---- run.get ----
236
+ export const RunGetParams = z.object({
237
+ runId: RunId,
238
+ });
239
+ export const RunGetResult = z.object({ run: Run });
240
+ // ---- run.events.subscribe / unsubscribe ----
241
+ export const RunEventsSubscribeParams = z.object({
242
+ runId: RunId,
243
+ });
244
+ export const RunEventsSubscribeResult = z.object({
245
+ runId: RunId,
246
+ subscribed: z.boolean(),
247
+ /** 若 run 已绑定 session,回显其 sessionId,便于 server 关联 stream.event。 */
248
+ sessionId: SessionId.optional(),
249
+ });
250
+ export const RunEventsUnsubscribeParams = z.object({
251
+ runId: RunId,
252
+ });
253
+ export const RunEventsUnsubscribeResult = z.object({
254
+ runId: RunId,
255
+ subscribed: z.boolean(),
256
+ });
257
+ // ---- run.cancel ----
258
+ export const RunCancelParams = z.object({
259
+ runId: RunId,
260
+ reason: z.string().optional(),
261
+ clientRequestId: z.string().optional(),
262
+ });
263
+ export const RunCancelResult = z.object({
264
+ runId: RunId,
265
+ status: RunStatus,
266
+ });
267
+ // ===========================================================================
268
+ // phonon → server 通知(镜像 + 推送)
269
+ // ===========================================================================
270
+ /** device 本地 schedule 变化主动同步给 server(含 cron 算出的新 nextRunAt)。 */
271
+ export const ScheduleChangedParams = z.object({
272
+ schedule: Schedule.optional(),
273
+ /** 删除场景:只带 scheduleId + deleted。 */
274
+ scheduleId: ScheduleId.optional(),
275
+ deleted: z.boolean().optional(),
276
+ });
277
+ /** run 开始。 */
278
+ export const RunStartedParams = z.object({
279
+ run: Run,
280
+ });
281
+ /**
282
+ * run 过程事件(订阅了才推)。本质是带 runId 标记的 session stream.event 转发。
283
+ * 单调 seq + ack 复用 outbox 思路。
284
+ */
285
+ export const RunEventParams = z.object({
286
+ runId: RunId,
287
+ scheduleId: ScheduleId,
288
+ seq: z.number().int().nonnegative(),
289
+ /** 原始 session stream.event(透传)。 */
290
+ event: z.record(z.unknown()),
291
+ });
292
+ /** run 终态 + 按 consent.push 决定的 payload。 */
293
+ export const RunFinishedParams = z.object({
294
+ run: Run,
295
+ /** 推送粒度(回显,便于 server 知道拿到的是哪一档)。 */
296
+ push: SchedulePushConsent,
297
+ });
298
+ /** server 确认收到 run.finished / run.event,phonon 清推送 outbox。 */
299
+ export const ScheduleAckParams = z.object({
300
+ runId: RunId,
301
+ /** 确认已收 seq≤lastSeq(run.event 流)。 */
302
+ lastSeq: z.number().int().nonnegative().optional(),
303
+ /** 确认 run.finished 已落库。 */
304
+ finished: z.boolean().optional(),
305
+ });
306
+ //# sourceMappingURL=schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/schemas/schedule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-phonon/protocol",
3
- "version": "0.8.7",
3
+ "version": "0.9.1",
4
4
  "description": "Wire protocol (zod schemas + types) for agent-phonon — the single source of truth contract between phonon devices and servers.",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/src/index.ts CHANGED
@@ -21,5 +21,6 @@ export * from "./schemas/device.js";
21
21
  export * from "./schemas/file.js";
22
22
  export * from "./schemas/env.js";
23
23
  export * from "./schemas/workflow.js";
24
+ export * from "./schemas/schedule.js";
24
25
  export * from "./schemas/jsonrpc.js";
25
26
  export * from "./schemas/methods.js";
@@ -111,6 +111,37 @@ import {
111
111
  WorkflowArtifactsListResult,
112
112
  WorkflowResumeParams,
113
113
  } from "./workflow.js";
114
+ import {
115
+ ScheduleCreateParams,
116
+ ScheduleCreateResult,
117
+ ScheduleUpdateParams,
118
+ ScheduleUpdateResult,
119
+ ScheduleDeleteParams,
120
+ ScheduleDeleteResult,
121
+ ScheduleListParams,
122
+ ScheduleListResult,
123
+ ScheduleGetParams,
124
+ ScheduleGetResult,
125
+ ScheduleEnableParams,
126
+ ScheduleEnableResult,
127
+ ScheduleTriggerParams,
128
+ ScheduleTriggerResult,
129
+ ScheduleRunsListParams,
130
+ ScheduleRunsListResult,
131
+ RunGetParams,
132
+ RunGetResult,
133
+ RunEventsSubscribeParams,
134
+ RunEventsSubscribeResult,
135
+ RunEventsUnsubscribeParams,
136
+ RunEventsUnsubscribeResult,
137
+ RunCancelParams,
138
+ RunCancelResult,
139
+ ScheduleChangedParams,
140
+ RunStartedParams,
141
+ RunEventParams,
142
+ RunFinishedParams,
143
+ ScheduleAckParams,
144
+ } from "./schedule.js";
114
145
 
115
146
  /**
116
147
  * 方法注册表(design 全协议的单一事实来源)。
@@ -522,6 +553,117 @@ export const METHODS = {
522
553
  params: WorkflowArtifactsListParams,
523
554
  result: WorkflowArtifactsListResult,
524
555
  },
556
+
557
+ // --- L4 scheduling (cron / webhook / manual triggers; device-authoritative) ---
558
+ "schedule.create": {
559
+ direction: "s2p",
560
+ kind: "request",
561
+ params: ScheduleCreateParams,
562
+ result: ScheduleCreateResult,
563
+ },
564
+ "schedule.update": {
565
+ direction: "s2p",
566
+ kind: "request",
567
+ params: ScheduleUpdateParams,
568
+ result: ScheduleUpdateResult,
569
+ },
570
+ "schedule.delete": {
571
+ direction: "s2p",
572
+ kind: "request",
573
+ params: ScheduleDeleteParams,
574
+ result: ScheduleDeleteResult,
575
+ },
576
+ "schedule.list": {
577
+ direction: "s2p",
578
+ kind: "request",
579
+ params: ScheduleListParams,
580
+ result: ScheduleListResult,
581
+ },
582
+ "schedule.get": {
583
+ direction: "s2p",
584
+ kind: "request",
585
+ params: ScheduleGetParams,
586
+ result: ScheduleGetResult,
587
+ },
588
+ "schedule.enable": {
589
+ direction: "s2p",
590
+ kind: "request",
591
+ params: ScheduleEnableParams,
592
+ result: ScheduleEnableResult,
593
+ },
594
+ "schedule.disable": {
595
+ direction: "s2p",
596
+ kind: "request",
597
+ params: ScheduleEnableParams,
598
+ result: ScheduleEnableResult,
599
+ },
600
+ "schedule.trigger": {
601
+ direction: "s2p",
602
+ kind: "request",
603
+ params: ScheduleTriggerParams,
604
+ result: ScheduleTriggerResult,
605
+ },
606
+ "schedule.runs.list": {
607
+ direction: "s2p",
608
+ kind: "request",
609
+ params: ScheduleRunsListParams,
610
+ result: ScheduleRunsListResult,
611
+ },
612
+ "run.get": {
613
+ direction: "s2p",
614
+ kind: "request",
615
+ params: RunGetParams,
616
+ result: RunGetResult,
617
+ },
618
+ "run.events.subscribe": {
619
+ direction: "s2p",
620
+ kind: "request",
621
+ params: RunEventsSubscribeParams,
622
+ result: RunEventsSubscribeResult,
623
+ },
624
+ "run.events.unsubscribe": {
625
+ direction: "s2p",
626
+ kind: "request",
627
+ params: RunEventsUnsubscribeParams,
628
+ result: RunEventsUnsubscribeResult,
629
+ },
630
+ "run.cancel": {
631
+ direction: "s2p",
632
+ kind: "request",
633
+ params: RunCancelParams,
634
+ result: RunCancelResult,
635
+ },
636
+ // L4 phonon→server:镜像同步 + 按同意协议推送结果
637
+ "schedule.changed": {
638
+ direction: "p2s",
639
+ kind: "notification",
640
+ params: ScheduleChangedParams,
641
+ result: z_void,
642
+ },
643
+ "run.started": {
644
+ direction: "p2s",
645
+ kind: "notification",
646
+ params: RunStartedParams,
647
+ result: z_void,
648
+ },
649
+ "run.event": {
650
+ direction: "p2s",
651
+ kind: "notification",
652
+ params: RunEventParams,
653
+ result: z_void,
654
+ },
655
+ "run.finished": {
656
+ direction: "p2s",
657
+ kind: "notification",
658
+ params: RunFinishedParams,
659
+ result: z_void,
660
+ },
661
+ "schedule.ack": {
662
+ direction: "s2p",
663
+ kind: "notification",
664
+ params: ScheduleAckParams,
665
+ result: z_void,
666
+ },
525
667
  } as const;
526
668
 
527
669
  export type MethodName = keyof typeof METHODS;
@@ -23,12 +23,25 @@ export const TenantPolicy = z.object({
23
23
  allowGlobalSkillInstall: z.boolean().default(false),
24
24
  /** 是否允许从 url 安装 skill(供应链入口,危险)。默认 false。 */
25
25
  allowUrlSkillInstall: z.boolean().default(false),
26
+ /** 是否允许从本地任意路径安装 skill(localPath 源,可复制任意目录 → 任意读)。默认 false。 */
27
+ allowLocalPathSkillInstall: z.boolean().default(false),
26
28
  /** 是否允许物理删盘(project.remove deleteFiles / worktree force 等)。默认 false。 */
27
29
  allowDeleteFiles: z.boolean().default(false),
28
30
  /** document.send 是否允许发送项目/worktree 目录之外的文件。默认 false(project-scoped)。 */
29
31
  allowExternalDocuments: z.boolean().default(false),
30
32
  /** env.list reveal=true 是否允许返回环境变量明文。默认 false(只能脱敏查看)。 */
31
33
  allowEnvReveal: z.boolean().default(false),
34
+ /**
35
+ * 是否允许 project.exec 跨设备执行任意命令(A2/A3)。默认 false(严格)。
36
+ * exec 能指定任意 binary 且继承环境,等同设备远程代码执行——必须独立 gate,
37
+ * 不能只靠 allowedMethods。trustLocal(单机自用)下默认开。
38
+ */
39
+ allowExec: z.boolean().default(false),
40
+ /**
41
+ * 是否允许 device.fs.* 浏览整个文件系统(A4)。默认 true(保留能力)。
42
+ * 设为 false 可把 device.fs.list/roots 锁到 allowedProjectRoots;需要锁定的部署可关。
43
+ */
44
+ allowDeviceFsBrowse: z.boolean().default(true),
32
45
  /** 单文件上传上限(字节);超出走 prepare_upload 或拒绝。 */
33
46
  maxUploadBytes: z.number().int().positive().optional(),
34
47
  /** 敏感路径黑名单(即使在 allowedProjectRoots 内也拒绝,如 .ssh/.aws/.env)。 */