@viewportai/daemon 0.25.11 → 0.25.13

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 (123) hide show
  1. package/dist/cli/check-command.d.ts +2 -0
  2. package/dist/cli/check-command.d.ts.map +1 -0
  3. package/dist/cli/check-command.js +168 -0
  4. package/dist/cli/check-command.js.map +1 -0
  5. package/dist/cli/commands.d.ts +2 -0
  6. package/dist/cli/commands.d.ts.map +1 -1
  7. package/dist/cli/commands.js +2 -0
  8. package/dist/cli/commands.js.map +1 -1
  9. package/dist/cli/diagnostic-command.d.ts +2 -0
  10. package/dist/cli/diagnostic-command.d.ts.map +1 -0
  11. package/dist/cli/diagnostic-command.js +102 -0
  12. package/dist/cli/diagnostic-command.js.map +1 -0
  13. package/dist/cli/lifecycle-commands.d.ts.map +1 -1
  14. package/dist/cli/lifecycle-commands.js +2 -1
  15. package/dist/cli/lifecycle-commands.js.map +1 -1
  16. package/dist/cli/lifecycle-pair-command.d.ts.map +1 -1
  17. package/dist/cli/lifecycle-pair-command.js +31 -0
  18. package/dist/cli/lifecycle-pair-command.js.map +1 -1
  19. package/dist/cli/policy-schema-validator.d.ts +221 -0
  20. package/dist/cli/policy-schema-validator.d.ts.map +1 -0
  21. package/dist/cli/policy-schema-validator.js +280 -0
  22. package/dist/cli/policy-schema-validator.js.map +1 -0
  23. package/dist/cli/support-packet.d.ts +7 -0
  24. package/dist/cli/support-packet.d.ts.map +1 -0
  25. package/dist/cli/support-packet.js +19 -0
  26. package/dist/cli/support-packet.js.map +1 -0
  27. package/dist/cli/worker-command.d.ts.map +1 -1
  28. package/dist/cli/worker-command.js +367 -14
  29. package/dist/cli/worker-command.js.map +1 -1
  30. package/dist/cli/worker-process-lock.d.ts +27 -0
  31. package/dist/cli/worker-process-lock.d.ts.map +1 -0
  32. package/dist/cli/worker-process-lock.js +150 -0
  33. package/dist/cli/worker-process-lock.js.map +1 -0
  34. package/dist/cli/worker-profile.d.ts +20 -0
  35. package/dist/cli/worker-profile.d.ts.map +1 -1
  36. package/dist/cli/worker-profile.js +38 -0
  37. package/dist/cli/worker-profile.js.map +1 -1
  38. package/dist/cli/worker-runtime.d.ts +2 -1
  39. package/dist/cli/worker-runtime.d.ts.map +1 -1
  40. package/dist/cli/worker-runtime.js +282 -88
  41. package/dist/cli/worker-runtime.js.map +1 -1
  42. package/dist/cli/workflow-managed-worker-format.d.ts.map +1 -1
  43. package/dist/cli/workflow-managed-worker-format.js +3 -1
  44. package/dist/cli/workflow-managed-worker-format.js.map +1 -1
  45. package/dist/cli/workflow-managed-worker.d.ts.map +1 -1
  46. package/dist/cli/workflow-managed-worker.js +236 -21
  47. package/dist/cli/workflow-managed-worker.js.map +1 -1
  48. package/dist/core/logger.d.ts.map +1 -1
  49. package/dist/core/logger.js +6 -0
  50. package/dist/core/logger.js.map +1 -1
  51. package/dist/core/output.d.ts.map +1 -1
  52. package/dist/core/output.js +5 -4
  53. package/dist/core/output.js.map +1 -1
  54. package/dist/core/redaction.d.ts +4 -0
  55. package/dist/core/redaction.d.ts.map +1 -0
  56. package/dist/core/redaction.js +76 -0
  57. package/dist/core/redaction.js.map +1 -0
  58. package/dist/index.d.ts +2 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +5 -1
  61. package/dist/index.js.map +1 -1
  62. package/dist/workflows/action-provider-adapters.js +52 -4
  63. package/dist/workflows/action-provider-adapters.js.map +1 -1
  64. package/dist/workflows/checkout-node.d.ts +1 -0
  65. package/dist/workflows/checkout-node.d.ts.map +1 -1
  66. package/dist/workflows/checkout-node.js +9 -4
  67. package/dist/workflows/checkout-node.js.map +1 -1
  68. package/dist/workflows/event-types.d.ts +1 -1
  69. package/dist/workflows/event-types.d.ts.map +1 -1
  70. package/dist/workflows/git-publish-node.d.ts +20 -0
  71. package/dist/workflows/git-publish-node.d.ts.map +1 -1
  72. package/dist/workflows/git-publish-node.js +87 -3
  73. package/dist/workflows/git-publish-node.js.map +1 -1
  74. package/dist/workflows/node-executor.d.ts +6 -0
  75. package/dist/workflows/node-executor.d.ts.map +1 -1
  76. package/dist/workflows/node-executor.js +53 -2
  77. package/dist/workflows/node-executor.js.map +1 -1
  78. package/dist/workflows/node-registry.d.ts +2 -2
  79. package/dist/workflows/node-registry.d.ts.map +1 -1
  80. package/dist/workflows/node-registry.js +129 -5
  81. package/dist/workflows/node-registry.js.map +1 -1
  82. package/dist/workflows/parser.d.ts.map +1 -1
  83. package/dist/workflows/parser.js +17 -1
  84. package/dist/workflows/parser.js.map +1 -1
  85. package/dist/workflows/platform-command-applier.d.ts +4 -0
  86. package/dist/workflows/platform-command-applier.d.ts.map +1 -1
  87. package/dist/workflows/platform-command-applier.js +152 -1
  88. package/dist/workflows/platform-command-applier.js.map +1 -1
  89. package/dist/workflows/platform-runtime-command.d.ts +2 -0
  90. package/dist/workflows/platform-runtime-command.d.ts.map +1 -1
  91. package/dist/workflows/platform-runtime-command.js +2 -0
  92. package/dist/workflows/platform-runtime-command.js.map +1 -1
  93. package/dist/workflows/platform-sync-payload.js +18 -4
  94. package/dist/workflows/platform-sync-payload.js.map +1 -1
  95. package/dist/workflows/platform-sync.js +7 -2
  96. package/dist/workflows/platform-sync.js.map +1 -1
  97. package/dist/workflows/policy-enforcement.d.ts +43 -0
  98. package/dist/workflows/policy-enforcement.d.ts.map +1 -0
  99. package/dist/workflows/policy-enforcement.js +0 -0
  100. package/dist/workflows/policy-enforcement.js.map +1 -0
  101. package/dist/workflows/run-types.d.ts +1 -0
  102. package/dist/workflows/run-types.d.ts.map +1 -1
  103. package/dist/workflows/runner.d.ts +4 -1
  104. package/dist/workflows/runner.d.ts.map +1 -1
  105. package/dist/workflows/runner.js +46 -12
  106. package/dist/workflows/runner.js.map +1 -1
  107. package/dist/workflows/types.d.ts +33 -0
  108. package/dist/workflows/types.d.ts.map +1 -1
  109. package/dist/workflows/workflow-authority-contract.d.ts +1 -1
  110. package/dist/workflows/workflow-authority-contract.d.ts.map +1 -1
  111. package/dist/workflows/workflow-authority-contract.js +23 -0
  112. package/dist/workflows/workflow-authority-contract.js.map +1 -1
  113. package/dist/workflows/workflow-production-schema.d.ts +13 -0
  114. package/dist/workflows/workflow-production-schema.d.ts.map +1 -1
  115. package/dist/workflows/workflow-production-schema.js +26 -0
  116. package/dist/workflows/workflow-production-schema.js.map +1 -1
  117. package/dist/workflows/workflow-production-types.d.ts +6 -0
  118. package/dist/workflows/workflow-production-types.d.ts.map +1 -1
  119. package/dist/workflows/workflow-schema.d.ts +50 -0
  120. package/dist/workflows/workflow-schema.d.ts.map +1 -1
  121. package/dist/workflows/workflow-schema.js +41 -0
  122. package/dist/workflows/workflow-schema.js.map +1 -1
  123. package/package.json +6 -3
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Policy and route-config schema validators for `vpd check`.
3
+ *
4
+ * Canonical source: viewportai/protocol/src/policy-schema.ts
5
+ * viewportai/protocol/src/route-config-schema.ts
6
+ *
7
+ * This file is a copy because the protocol package is a separate repo not yet
8
+ * published to npm. When @viewportai/protocol is available as an npm dependency,
9
+ * replace these schemas with imports from the published package.
10
+ *
11
+ * Drift is caught by tests/cli/policy-schema-validator.conformance.test.ts,
12
+ * which reads the protocol-owned fixture corpus directly.
13
+ */
14
+ import { z } from 'zod';
15
+ export declare const PolicyDocumentSchema: z.ZodObject<{
16
+ version: z.ZodLiteral<1>;
17
+ repos: z.ZodArray<z.ZodObject<{
18
+ repo: z.ZodString;
19
+ access: z.ZodEnum<{
20
+ "read-only": "read-only";
21
+ "read-write": "read-write";
22
+ }>;
23
+ branches: z.ZodOptional<z.ZodObject<{
24
+ push_allowed: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
+ restricted: z.ZodOptional<z.ZodArray<z.ZodString>>;
26
+ }, z.core.$strict>>;
27
+ paths: z.ZodOptional<z.ZodObject<{
28
+ write_allowed: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
+ restricted: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
+ }, z.core.$strict>>;
31
+ credential: z.ZodDefault<z.ZodEnum<{
32
+ "runner-local": "runner-local";
33
+ brokered: "brokered";
34
+ }>>;
35
+ }, z.core.$strict>>;
36
+ context: z.ZodOptional<z.ZodObject<{
37
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
38
+ name: z.ZodString;
39
+ type: z.ZodEnum<{
40
+ file: "file";
41
+ vault: "vault";
42
+ trigger: "trigger";
43
+ "git-repo": "git-repo";
44
+ }>;
45
+ path: z.ZodOptional<z.ZodString>;
46
+ vault: z.ZodOptional<z.ZodString>;
47
+ repo: z.ZodOptional<z.ZodString>;
48
+ ref: z.ZodOptional<z.ZodString>;
49
+ }, z.core.$strict>>>;
50
+ capture_policy: z.ZodOptional<z.ZodObject<{
51
+ store_transcripts: z.ZodDefault<z.ZodBoolean>;
52
+ store_diffs: z.ZodDefault<z.ZodBoolean>;
53
+ redact_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
54
+ }, z.core.$strict>>;
55
+ }, z.core.$strict>>;
56
+ gates: z.ZodOptional<z.ZodArray<z.ZodObject<{
57
+ name: z.ZodString;
58
+ type: z.ZodEnum<{
59
+ plan: "plan";
60
+ auto: "auto";
61
+ approval: "approval";
62
+ budget: "budget";
63
+ }>;
64
+ reviewers: z.ZodOptional<z.ZodObject<{
65
+ tags: z.ZodArray<z.ZodString>;
66
+ }, z.core.$strict>>;
67
+ timeout: z.ZodOptional<z.ZodString>;
68
+ on_timeout: z.ZodOptional<z.ZodEnum<{
69
+ cancel: "cancel";
70
+ escalate: "escalate";
71
+ "auto-approve": "auto-approve";
72
+ }>>;
73
+ auto_approve_if: z.ZodOptional<z.ZodObject<{
74
+ tests_pass: z.ZodOptional<z.ZodBoolean>;
75
+ files_changed_outside: z.ZodOptional<z.ZodArray<z.ZodString>>;
76
+ }, z.core.$strict>>;
77
+ max_cost_usd: z.ZodOptional<z.ZodNumber>;
78
+ max_tokens: z.ZodOptional<z.ZodNumber>;
79
+ approval_required_above_usd: z.ZodOptional<z.ZodNumber>;
80
+ approval_required_above_tokens: z.ZodOptional<z.ZodNumber>;
81
+ on_exceed: z.ZodOptional<z.ZodEnum<{
82
+ cancel: "cancel";
83
+ escalate: "escalate";
84
+ }>>;
85
+ min_approvals: z.ZodOptional<z.ZodNumber>;
86
+ separation_of_duty: z.ZodOptional<z.ZodBoolean>;
87
+ }, z.core.$strict>>>;
88
+ review: z.ZodOptional<z.ZodArray<z.ZodObject<{
89
+ name: z.ZodString;
90
+ when: z.ZodObject<{
91
+ changed_paths_any: z.ZodOptional<z.ZodArray<z.ZodString>>;
92
+ diff_lines_gt: z.ZodOptional<z.ZodNumber>;
93
+ }, z.core.$strict>;
94
+ require: z.ZodOptional<z.ZodString>;
95
+ reviewers: z.ZodOptional<z.ZodObject<{
96
+ tags: z.ZodArray<z.ZodString>;
97
+ }, z.core.$strict>>;
98
+ timeout: z.ZodOptional<z.ZodString>;
99
+ on_timeout: z.ZodOptional<z.ZodEnum<{
100
+ cancel: "cancel";
101
+ escalate: "escalate";
102
+ "auto-approve": "auto-approve";
103
+ }>>;
104
+ }, z.core.$strict>>>;
105
+ invoke: z.ZodObject<{
106
+ agent: z.ZodDefault<z.ZodEnum<{
107
+ codex: "codex";
108
+ "claude-code": "claude-code";
109
+ }>>;
110
+ role: z.ZodOptional<z.ZodString>;
111
+ steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
112
+ name: z.ZodString;
113
+ gate: z.ZodOptional<z.ZodString>;
114
+ action: z.ZodOptional<z.ZodString>;
115
+ prompt: z.ZodOptional<z.ZodString>;
116
+ target: z.ZodOptional<z.ZodEnum<{
117
+ primary: "primary";
118
+ }>>;
119
+ template: z.ZodOptional<z.ZodString>;
120
+ }, z.core.$strict>>>;
121
+ workflow: z.ZodOptional<z.ZodString>;
122
+ notify: z.ZodOptional<z.ZodObject<{
123
+ provider: z.ZodLiteral<"slack">;
124
+ credential_ref: z.ZodString;
125
+ channel: z.ZodOptional<z.ZodString>;
126
+ text: z.ZodOptional<z.ZodString>;
127
+ }, z.core.$strict>>;
128
+ }, z.core.$strict>;
129
+ publish: z.ZodOptional<z.ZodObject<{
130
+ branch: z.ZodOptional<z.ZodString>;
131
+ }, z.core.$strict>>;
132
+ side_effects: z.ZodOptional<z.ZodObject<{
133
+ open_pr: z.ZodOptional<z.ZodObject<{
134
+ allow: z.ZodUnion<readonly [z.ZodEnum<{
135
+ deny: "deny";
136
+ auto: "auto";
137
+ }>, z.ZodString]>;
138
+ }, z.core.$strict>>;
139
+ slack_post: z.ZodOptional<z.ZodObject<{
140
+ allow: z.ZodUnion<readonly [z.ZodEnum<{
141
+ deny: "deny";
142
+ auto: "auto";
143
+ }>, z.ZodString]>;
144
+ }, z.core.$strict>>;
145
+ merge_pr: z.ZodOptional<z.ZodObject<{
146
+ allow: z.ZodUnion<readonly [z.ZodEnum<{
147
+ deny: "deny";
148
+ auto: "auto";
149
+ }>, z.ZodString]>;
150
+ }, z.core.$strict>>;
151
+ deploy: z.ZodOptional<z.ZodObject<{
152
+ allow: z.ZodUnion<readonly [z.ZodEnum<{
153
+ deny: "deny";
154
+ auto: "auto";
155
+ }>, z.ZodString]>;
156
+ }, z.core.$strict>>;
157
+ external_api: z.ZodOptional<z.ZodObject<{
158
+ allow: z.ZodUnion<readonly [z.ZodEnum<{
159
+ deny: "deny";
160
+ auto: "auto";
161
+ }>, z.ZodString]>;
162
+ }, z.core.$strict>>;
163
+ }, z.core.$strict>>;
164
+ escalation: z.ZodOptional<z.ZodObject<{
165
+ when_stuck: z.ZodOptional<z.ZodString>;
166
+ channel: z.ZodOptional<z.ZodString>;
167
+ }, z.core.$strict>>;
168
+ execution: z.ZodOptional<z.ZodObject<{
169
+ shell_policy: z.ZodOptional<z.ZodObject<{
170
+ allowed: z.ZodDefault<z.ZodArray<z.ZodString>>;
171
+ denied: z.ZodDefault<z.ZodArray<z.ZodString>>;
172
+ }, z.core.$strict>>;
173
+ }, z.core.$strict>>;
174
+ }, z.core.$strict>;
175
+ export declare const RouteConfigDocumentSchema: z.ZodObject<{
176
+ route: z.ZodObject<{
177
+ name: z.ZodString;
178
+ team: z.ZodString;
179
+ trigger: z.ZodObject<{
180
+ integration: z.ZodEnum<{
181
+ slack: "slack";
182
+ github: "github";
183
+ jira: "jira";
184
+ linear: "linear";
185
+ }>;
186
+ events: z.ZodArray<z.ZodString>;
187
+ conditions: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
188
+ project: z.ZodOptional<z.ZodString>;
189
+ status_transition: z.ZodOptional<z.ZodString>;
190
+ issue_type: z.ZodOptional<z.ZodString>;
191
+ label: z.ZodOptional<z.ZodString>;
192
+ assignee: z.ZodOptional<z.ZodEnum<{
193
+ present: "present";
194
+ absent: "absent";
195
+ }>>;
196
+ }, z.core.$strict>, z.ZodObject<{
197
+ repo: z.ZodOptional<z.ZodString>;
198
+ files_match: z.ZodOptional<z.ZodString>;
199
+ branch: z.ZodOptional<z.ZodString>;
200
+ pr_label: z.ZodOptional<z.ZodString>;
201
+ }, z.core.$strict>, z.ZodObject<{
202
+ channel: z.ZodOptional<z.ZodString>;
203
+ mentionsAny: z.ZodOptional<z.ZodArray<z.ZodString>>;
204
+ mentions_any: z.ZodOptional<z.ZodArray<z.ZodString>>;
205
+ }, z.core.$strict>, z.ZodObject<{
206
+ team_id: z.ZodOptional<z.ZodString>;
207
+ project: z.ZodOptional<z.ZodString>;
208
+ label: z.ZodOptional<z.ZodString>;
209
+ }, z.core.$strict>, z.ZodObject<{}, z.core.$strict>]>>;
210
+ }, z.core.$strict>;
211
+ policy: z.ZodObject<{
212
+ source: z.ZodLiteral<"git">;
213
+ repo: z.ZodString;
214
+ ref: z.ZodDefault<z.ZodString>;
215
+ path: z.ZodDefault<z.ZodString>;
216
+ }, z.core.$strict>;
217
+ fan_out: z.ZodDefault<z.ZodBoolean>;
218
+ priority: z.ZodDefault<z.ZodNumber>;
219
+ }, z.core.$strict>;
220
+ }, z.core.$strict>;
221
+ //# sourceMappingURL=policy-schema-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-schema-validator.d.ts","sourceRoot":"","sources":["../../src/cli/policy-schema-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmJxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkE7B,CAAC;AAuCL,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqC3B,CAAC"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Policy and route-config schema validators for `vpd check`.
3
+ *
4
+ * Canonical source: viewportai/protocol/src/policy-schema.ts
5
+ * viewportai/protocol/src/route-config-schema.ts
6
+ *
7
+ * This file is a copy because the protocol package is a separate repo not yet
8
+ * published to npm. When @viewportai/protocol is available as an npm dependency,
9
+ * replace these schemas with imports from the published package.
10
+ *
11
+ * Drift is caught by tests/cli/policy-schema-validator.conformance.test.ts,
12
+ * which reads the protocol-owned fixture corpus directly.
13
+ */
14
+ import { z } from 'zod';
15
+ // ── Policy schema ────────────────────────────────────────────────────────────
16
+ const PolicyRepoSchema = z
17
+ .object({
18
+ repo: z.string().regex(/^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+$/),
19
+ access: z.enum(['read-write', 'read-only']),
20
+ branches: z
21
+ .object({
22
+ push_allowed: z.array(z.string()).optional(),
23
+ restricted: z.array(z.string()).optional(),
24
+ })
25
+ .strict()
26
+ .optional(),
27
+ paths: z
28
+ .object({
29
+ write_allowed: z.array(z.string()).optional(),
30
+ restricted: z.array(z.string()).optional(),
31
+ })
32
+ .strict()
33
+ .optional(),
34
+ credential: z.enum(['runner-local', 'brokered']).default('brokered'),
35
+ })
36
+ .strict();
37
+ const PolicyGateSchema = z
38
+ .object({
39
+ name: z.string().min(1),
40
+ type: z.enum(['plan', 'approval', 'auto', 'budget']),
41
+ reviewers: z
42
+ .object({ tags: z.array(z.string()).min(1) })
43
+ .strict()
44
+ .optional(),
45
+ timeout: z.string().optional(),
46
+ on_timeout: z.enum(['escalate', 'auto-approve', 'cancel']).optional(),
47
+ auto_approve_if: z
48
+ .object({
49
+ tests_pass: z.boolean().optional(),
50
+ files_changed_outside: z.array(z.string()).optional(),
51
+ })
52
+ .strict()
53
+ .optional(),
54
+ max_cost_usd: z.number().optional(),
55
+ max_tokens: z.number().optional(),
56
+ approval_required_above_usd: z.number().optional(),
57
+ approval_required_above_tokens: z.number().int().positive().optional(),
58
+ on_exceed: z.enum(['cancel', 'escalate']).optional(),
59
+ min_approvals: z.number().int().min(1).max(10).optional(),
60
+ separation_of_duty: z.boolean().optional(),
61
+ })
62
+ .strict();
63
+ const PolicyReviewRuleSchema = z
64
+ .object({
65
+ name: z.string().min(1),
66
+ when: z
67
+ .object({
68
+ changed_paths_any: z.array(z.string().min(1)).optional(),
69
+ diff_lines_gt: z.number().int().nonnegative().optional(),
70
+ })
71
+ .strict(),
72
+ require: z.string().min(1).optional(),
73
+ reviewers: z
74
+ .object({ tags: z.array(z.string()).min(1) })
75
+ .strict()
76
+ .optional(),
77
+ timeout: z.string().optional(),
78
+ on_timeout: z.enum(['escalate', 'auto-approve', 'cancel']).optional(),
79
+ })
80
+ .strict()
81
+ .refine((rule) => (rule.when.changed_paths_any?.length ?? 0) > 0 || rule.when.diff_lines_gt !== undefined, { path: ['when'], message: 'Must define at least one observable review condition' });
82
+ const PolicyInvokeStepSchema = z
83
+ .object({
84
+ name: z.string().min(1),
85
+ gate: z.string().optional(),
86
+ action: z.string().optional(),
87
+ prompt: z.string().optional(),
88
+ target: z.enum(['primary']).optional(),
89
+ template: z.string().optional(),
90
+ })
91
+ .strict();
92
+ const PolicyNotifySchema = z
93
+ .object({
94
+ provider: z.literal('slack'),
95
+ credential_ref: z.string().min(1),
96
+ channel: z.string().min(1).optional(),
97
+ text: z.string().min(1).optional(),
98
+ })
99
+ .strict();
100
+ const PolicyPublishSchema = z
101
+ .object({
102
+ branch: z.string().min(1).optional(),
103
+ })
104
+ .strict();
105
+ const PolicySideEffectAllowSchema = z.union([
106
+ z.enum(['auto', 'deny']),
107
+ z.string().regex(/^human\([a-zA-Z0-9_, -]+\)$/),
108
+ ]);
109
+ const PolicySideEffectRuleSchema = z
110
+ .object({
111
+ allow: PolicySideEffectAllowSchema,
112
+ })
113
+ .strict();
114
+ const PolicySideEffectsSchema = z
115
+ .object({
116
+ open_pr: PolicySideEffectRuleSchema.optional(),
117
+ slack_post: PolicySideEffectRuleSchema.optional(),
118
+ merge_pr: PolicySideEffectRuleSchema.optional(),
119
+ deploy: PolicySideEffectRuleSchema.optional(),
120
+ external_api: PolicySideEffectRuleSchema.optional(),
121
+ })
122
+ .strict();
123
+ const PolicyContextSourceSchema = z
124
+ .object({
125
+ name: z.string().min(1),
126
+ type: z.enum(['file', 'vault', 'trigger', 'git-repo']),
127
+ path: z.string().optional(),
128
+ vault: z.string().optional(),
129
+ repo: z.string().optional(),
130
+ ref: z.string().optional(),
131
+ })
132
+ .strict();
133
+ const PolicyHumanTargetSchema = z.string().regex(/^human\([a-zA-Z0-9_, -]+\)$/);
134
+ const PolicyEscalationSchema = z
135
+ .object({
136
+ when_stuck: PolicyHumanTargetSchema.optional(),
137
+ channel: z.string().min(1).optional(),
138
+ })
139
+ .strict()
140
+ .refine((value) => value.when_stuck !== undefined || value.channel !== undefined, {
141
+ message: 'Escalation must define when_stuck or channel',
142
+ });
143
+ export const PolicyDocumentSchema = z
144
+ .object({
145
+ version: z.literal(1),
146
+ repos: z.array(PolicyRepoSchema).min(1),
147
+ context: z
148
+ .object({
149
+ sources: z.array(PolicyContextSourceSchema).optional(),
150
+ capture_policy: z
151
+ .object({
152
+ store_transcripts: z.boolean().default(false),
153
+ store_diffs: z.boolean().default(true),
154
+ redact_patterns: z.array(z.string()).default([]),
155
+ })
156
+ .strict()
157
+ .optional(),
158
+ })
159
+ .strict()
160
+ .optional(),
161
+ gates: z.array(PolicyGateSchema).optional(),
162
+ review: z.array(PolicyReviewRuleSchema).optional(),
163
+ invoke: z
164
+ .object({
165
+ agent: z.enum(['claude-code', 'codex']).default('claude-code'),
166
+ role: z.string().optional(),
167
+ steps: z.array(PolicyInvokeStepSchema).optional(),
168
+ workflow: z.string().optional(),
169
+ notify: PolicyNotifySchema.optional(),
170
+ })
171
+ .strict(),
172
+ publish: PolicyPublishSchema.optional(),
173
+ side_effects: PolicySideEffectsSchema.optional(),
174
+ escalation: PolicyEscalationSchema.optional(),
175
+ execution: z
176
+ .object({
177
+ shell_policy: z
178
+ .object({
179
+ allowed: z.array(z.string()).default([]),
180
+ denied: z.array(z.string()).default([]),
181
+ })
182
+ .strict()
183
+ .optional(),
184
+ })
185
+ .strict()
186
+ .optional(),
187
+ })
188
+ .strict()
189
+ .superRefine((data, ctx) => {
190
+ if (data.invoke.steps && data.gates) {
191
+ const gateNames = new Set(data.gates.map((g) => g.name));
192
+ for (const step of data.invoke.steps) {
193
+ if (step.gate && !gateNames.has(step.gate)) {
194
+ ctx.addIssue({
195
+ code: z.ZodIssueCode.custom,
196
+ path: ['invoke', 'steps'],
197
+ message: `Gate '${step.gate}' referenced in steps but not defined in gates[]`,
198
+ });
199
+ }
200
+ }
201
+ }
202
+ if (data.invoke.workflow && data.invoke.steps) {
203
+ ctx.addIssue({
204
+ code: z.ZodIssueCode.custom,
205
+ path: ['invoke'],
206
+ message: 'Cannot specify both invoke.workflow and invoke.steps',
207
+ });
208
+ }
209
+ });
210
+ // ── Route config schema ──────────────────────────────────────────────────────
211
+ const JiraConditionsSchema = z
212
+ .object({
213
+ project: z.string().optional(),
214
+ status_transition: z.string().optional(),
215
+ issue_type: z.string().optional(),
216
+ label: z.string().optional(),
217
+ assignee: z.enum(['present', 'absent']).optional(),
218
+ })
219
+ .strict();
220
+ const GithubConditionsSchema = z
221
+ .object({
222
+ repo: z.string().optional(),
223
+ files_match: z.string().optional(),
224
+ branch: z.string().optional(),
225
+ pr_label: z.string().optional(),
226
+ })
227
+ .strict();
228
+ const SlackConditionsSchema = z
229
+ .object({
230
+ channel: z.string().optional(),
231
+ mentionsAny: z.array(z.string().min(1)).optional(),
232
+ mentions_any: z.array(z.string().min(1)).optional(),
233
+ })
234
+ .strict();
235
+ const LinearConditionsSchema = z
236
+ .object({
237
+ team_id: z.string().optional(),
238
+ project: z.string().optional(),
239
+ label: z.string().optional(),
240
+ })
241
+ .strict();
242
+ export const RouteConfigDocumentSchema = z
243
+ .object({
244
+ route: z
245
+ .object({
246
+ name: z
247
+ .string()
248
+ .min(1)
249
+ .regex(/^[a-z0-9-]+$/),
250
+ team: z.string().min(1),
251
+ trigger: z
252
+ .object({
253
+ integration: z.enum(['jira', 'github', 'slack', 'linear']),
254
+ events: z.array(z.string()).min(1),
255
+ conditions: z
256
+ .union([
257
+ JiraConditionsSchema,
258
+ GithubConditionsSchema,
259
+ SlackConditionsSchema,
260
+ LinearConditionsSchema,
261
+ z.object({}).strict(),
262
+ ])
263
+ .optional(),
264
+ })
265
+ .strict(),
266
+ policy: z
267
+ .object({
268
+ source: z.literal('git'),
269
+ repo: z.string().regex(/^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+$/),
270
+ ref: z.string().default('main'),
271
+ path: z.string().default('.viewport/policy.yaml'),
272
+ })
273
+ .strict(),
274
+ fan_out: z.boolean().default(false),
275
+ priority: z.number().int().min(0).default(10),
276
+ })
277
+ .strict(),
278
+ })
279
+ .strict();
280
+ //# sourceMappingURL=policy-schema-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-schema-validator.js","sourceRoot":"","sources":["../../src/cli/policy-schema-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const SUPPORT_PACKET_DOCS_URL = "https://docs.getviewport.com/troubleshooting/support-packet";
2
+ export declare function supportPacketMetadata(): {
3
+ docsUrl: string;
4
+ reviewBeforeSharing: true;
5
+ omittedSecrets: string[];
6
+ };
7
+ //# sourceMappingURL=support-packet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-packet.d.ts","sourceRoot":"","sources":["../../src/cli/support-packet.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,gEAC2B,CAAC;AAahE,wBAAgB,qBAAqB,IAAI;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAMA"}
@@ -0,0 +1,19 @@
1
+ export const SUPPORT_PACKET_DOCS_URL = 'https://docs.getviewport.com/troubleshooting/support-packet';
2
+ const SUPPORT_PACKET_OMITTED_SECRETS = [
3
+ 'credentials',
4
+ 'worker_private_keys',
5
+ 'pairing_codes',
6
+ 'bootstrap_tokens',
7
+ 'claim_tokens',
8
+ 'lease_tokens',
9
+ 'provider_tokens',
10
+ 'model_keys',
11
+ ];
12
+ export function supportPacketMetadata() {
13
+ return {
14
+ docsUrl: SUPPORT_PACKET_DOCS_URL,
15
+ reviewBeforeSharing: true,
16
+ omittedSecrets: SUPPORT_PACKET_OMITTED_SECRETS,
17
+ };
18
+ }
19
+ //# sourceMappingURL=support-packet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-packet.js","sourceRoot":"","sources":["../../src/cli/support-packet.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAClC,6DAA6D,CAAC;AAEhE,MAAM,8BAA8B,GAAG;IACrC,aAAa;IACb,qBAAqB;IACrB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,YAAY;CACb,CAAC;AAEF,MAAM,UAAU,qBAAqB;IAKnC,OAAO;QACL,OAAO,EAAE,uBAAuB;QAChC,mBAAmB,EAAE,IAAI;QACzB,cAAc,EAAE,8BAA8B;KAC/C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-command.d.ts","sourceRoot":"","sources":["../../src/cli/worker-command.ts"],"names":[],"mappings":"AAaA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAyB5C;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
1
+ {"version":3,"file":"worker-command.d.ts","sourceRoot":"","sources":["../../src/cli/worker-command.ts"],"names":[],"mappings":"AAyBA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA4B5C;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC"}