@zmeel/shared 0.1.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.
Files changed (270) hide show
  1. package/LICENSE +21 -0
  2. package/dist/agent-url-key.d.ts +4 -0
  3. package/dist/agent-url-key.d.ts.map +1 -0
  4. package/dist/agent-url-key.js +22 -0
  5. package/dist/agent-url-key.js.map +1 -0
  6. package/dist/api.d.ts +20 -0
  7. package/dist/api.d.ts.map +1 -0
  8. package/dist/api.js +20 -0
  9. package/dist/api.js.map +1 -0
  10. package/dist/config-schema.d.ts +705 -0
  11. package/dist/config-schema.d.ts.map +1 -0
  12. package/dist/config-schema.js +147 -0
  13. package/dist/config-schema.js.map +1 -0
  14. package/dist/constants.d.ts +228 -0
  15. package/dist/constants.d.ts.map +1 -0
  16. package/dist/constants.js +565 -0
  17. package/dist/constants.js.map +1 -0
  18. package/dist/index.d.ts +12 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +11 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/project-mentions.d.ts +17 -0
  23. package/dist/project-mentions.d.ts.map +1 -0
  24. package/dist/project-mentions.js +123 -0
  25. package/dist/project-mentions.js.map +1 -0
  26. package/dist/project-mentions.test.d.ts +2 -0
  27. package/dist/project-mentions.test.d.ts.map +1 -0
  28. package/dist/project-mentions.test.js +21 -0
  29. package/dist/project-mentions.test.js.map +1 -0
  30. package/dist/project-url-key.d.ts +5 -0
  31. package/dist/project-url-key.d.ts.map +1 -0
  32. package/dist/project-url-key.js +39 -0
  33. package/dist/project-url-key.js.map +1 -0
  34. package/dist/routine-variables.d.ts +7 -0
  35. package/dist/routine-variables.d.ts.map +1 -0
  36. package/dist/routine-variables.js +57 -0
  37. package/dist/routine-variables.js.map +1 -0
  38. package/dist/routine-variables.test.d.ts +2 -0
  39. package/dist/routine-variables.test.d.ts.map +1 -0
  40. package/dist/routine-variables.test.js +22 -0
  41. package/dist/routine-variables.test.js.map +1 -0
  42. package/dist/telemetry/client.d.ts +17 -0
  43. package/dist/telemetry/client.d.ts.map +1 -0
  44. package/dist/telemetry/client.js +91 -0
  45. package/dist/telemetry/client.js.map +1 -0
  46. package/dist/telemetry/config.d.ts +5 -0
  47. package/dist/telemetry/config.d.ts.map +1 -0
  48. package/dist/telemetry/config.js +21 -0
  49. package/dist/telemetry/config.js.map +1 -0
  50. package/dist/telemetry/events.d.ts +20 -0
  51. package/dist/telemetry/events.d.ts.map +1 -0
  52. package/dist/telemetry/events.js +24 -0
  53. package/dist/telemetry/events.js.map +1 -0
  54. package/dist/telemetry/index.d.ts +6 -0
  55. package/dist/telemetry/index.d.ts.map +1 -0
  56. package/dist/telemetry/index.js +5 -0
  57. package/dist/telemetry/index.js.map +1 -0
  58. package/dist/telemetry/state.d.ts +3 -0
  59. package/dist/telemetry/state.d.ts.map +1 -0
  60. package/dist/telemetry/state.js +28 -0
  61. package/dist/telemetry/state.js.map +1 -0
  62. package/dist/telemetry/types.d.ts +27 -0
  63. package/dist/telemetry/types.d.ts.map +1 -0
  64. package/dist/telemetry/types.js +2 -0
  65. package/dist/telemetry/types.js.map +1 -0
  66. package/dist/types/access.d.ts +67 -0
  67. package/dist/types/access.d.ts.map +1 -0
  68. package/dist/types/access.js +2 -0
  69. package/dist/types/access.js.map +1 -0
  70. package/dist/types/activity.d.ts +14 -0
  71. package/dist/types/activity.d.ts.map +1 -0
  72. package/dist/types/activity.js +2 -0
  73. package/dist/types/activity.js.map +1 -0
  74. package/dist/types/adapter-skills.d.ts +31 -0
  75. package/dist/types/adapter-skills.d.ts.map +1 -0
  76. package/dist/types/adapter-skills.js +2 -0
  77. package/dist/types/adapter-skills.js.map +1 -0
  78. package/dist/types/agent.d.ts +108 -0
  79. package/dist/types/agent.d.ts.map +1 -0
  80. package/dist/types/agent.js +2 -0
  81. package/dist/types/agent.js.map +1 -0
  82. package/dist/types/approval.d.ts +26 -0
  83. package/dist/types/approval.d.ts.map +1 -0
  84. package/dist/types/approval.js +2 -0
  85. package/dist/types/approval.js.map +1 -0
  86. package/dist/types/asset.d.ts +16 -0
  87. package/dist/types/asset.d.ts.map +1 -0
  88. package/dist/types/asset.js +2 -0
  89. package/dist/types/asset.js.map +1 -0
  90. package/dist/types/budget.d.ts +86 -0
  91. package/dist/types/budget.d.ts.map +1 -0
  92. package/dist/types/budget.js +2 -0
  93. package/dist/types/budget.js.map +1 -0
  94. package/dist/types/company-portability.d.ts +282 -0
  95. package/dist/types/company-portability.d.ts.map +1 -0
  96. package/dist/types/company-portability.js +2 -0
  97. package/dist/types/company-portability.js.map +1 -0
  98. package/dist/types/company-skill.d.ts +135 -0
  99. package/dist/types/company-skill.d.ts.map +1 -0
  100. package/dist/types/company-skill.js +2 -0
  101. package/dist/types/company-skill.js.map +1 -0
  102. package/dist/types/company.d.ts +24 -0
  103. package/dist/types/company.d.ts.map +1 -0
  104. package/dist/types/company.js +2 -0
  105. package/dist/types/company.js.map +1 -0
  106. package/dist/types/cost.d.ts +106 -0
  107. package/dist/types/cost.d.ts.map +1 -0
  108. package/dist/types/cost.js +2 -0
  109. package/dist/types/cost.js.map +1 -0
  110. package/dist/types/dashboard.d.ts +28 -0
  111. package/dist/types/dashboard.d.ts.map +1 -0
  112. package/dist/types/dashboard.js +2 -0
  113. package/dist/types/dashboard.js.map +1 -0
  114. package/dist/types/feedback.d.ts +95 -0
  115. package/dist/types/feedback.d.ts.map +1 -0
  116. package/dist/types/feedback.js +7 -0
  117. package/dist/types/feedback.js.map +1 -0
  118. package/dist/types/finance.d.ts +57 -0
  119. package/dist/types/finance.d.ts.map +1 -0
  120. package/dist/types/finance.js +2 -0
  121. package/dist/types/finance.js.map +1 -0
  122. package/dist/types/goal.d.ts +14 -0
  123. package/dist/types/goal.d.ts.map +1 -0
  124. package/dist/types/goal.js +2 -0
  125. package/dist/types/goal.js.map +1 -0
  126. package/dist/types/heartbeat.d.ts +128 -0
  127. package/dist/types/heartbeat.d.ts.map +1 -0
  128. package/dist/types/heartbeat.js +2 -0
  129. package/dist/types/heartbeat.js.map +1 -0
  130. package/dist/types/index.d.ts +29 -0
  131. package/dist/types/index.d.ts.map +1 -0
  132. package/dist/types/index.js +2 -0
  133. package/dist/types/index.js.map +1 -0
  134. package/dist/types/instance.d.ts +18 -0
  135. package/dist/types/instance.d.ts.map +1 -0
  136. package/dist/types/instance.js +2 -0
  137. package/dist/types/instance.js.map +1 -0
  138. package/dist/types/issue.d.ts +168 -0
  139. package/dist/types/issue.d.ts.map +1 -0
  140. package/dist/types/issue.js +2 -0
  141. package/dist/types/issue.js.map +1 -0
  142. package/dist/types/live.d.ts +9 -0
  143. package/dist/types/live.d.ts.map +1 -0
  144. package/dist/types/live.js +2 -0
  145. package/dist/types/live.js.map +1 -0
  146. package/dist/types/plugin.d.ts +419 -0
  147. package/dist/types/plugin.d.ts.map +1 -0
  148. package/dist/types/plugin.js +2 -0
  149. package/dist/types/plugin.js.map +1 -0
  150. package/dist/types/project.d.ts +68 -0
  151. package/dist/types/project.d.ts.map +1 -0
  152. package/dist/types/project.js +2 -0
  153. package/dist/types/project.js.map +1 -0
  154. package/dist/types/quota.d.ts +26 -0
  155. package/dist/types/quota.d.ts.map +1 -0
  156. package/dist/types/quota.js +2 -0
  157. package/dist/types/quota.js.map +1 -0
  158. package/dist/types/routine.d.ts +123 -0
  159. package/dist/types/routine.d.ts.map +1 -0
  160. package/dist/types/routine.js +2 -0
  161. package/dist/types/routine.js.map +1 -0
  162. package/dist/types/secrets.d.ts +32 -0
  163. package/dist/types/secrets.d.ts.map +1 -0
  164. package/dist/types/secrets.js +2 -0
  165. package/dist/types/secrets.js.map +1 -0
  166. package/dist/types/sidebar-badges.d.ts +7 -0
  167. package/dist/types/sidebar-badges.d.ts.map +1 -0
  168. package/dist/types/sidebar-badges.js +2 -0
  169. package/dist/types/sidebar-badges.js.map +1 -0
  170. package/dist/types/work-product.d.ts +27 -0
  171. package/dist/types/work-product.d.ts.map +1 -0
  172. package/dist/types/work-product.js +2 -0
  173. package/dist/types/work-product.js.map +1 -0
  174. package/dist/types/workspace-operation.d.ts +26 -0
  175. package/dist/types/workspace-operation.d.ts.map +1 -0
  176. package/dist/types/workspace-operation.js +2 -0
  177. package/dist/types/workspace-operation.js.map +1 -0
  178. package/dist/types/workspace-runtime.d.ts +142 -0
  179. package/dist/types/workspace-runtime.d.ts.map +1 -0
  180. package/dist/types/workspace-runtime.js +2 -0
  181. package/dist/types/workspace-runtime.js.map +1 -0
  182. package/dist/validators/access.d.ts +136 -0
  183. package/dist/validators/access.d.ts.map +1 -0
  184. package/dist/validators/access.js +53 -0
  185. package/dist/validators/access.js.map +1 -0
  186. package/dist/validators/adapter-skills.d.ts +156 -0
  187. package/dist/validators/adapter-skills.d.ts.map +1 -0
  188. package/dist/validators/adapter-skills.js +48 -0
  189. package/dist/validators/adapter-skills.js.map +1 -0
  190. package/dist/validators/agent.d.ts +290 -0
  191. package/dist/validators/agent.d.ts.map +1 -0
  192. package/dist/validators/agent.js +89 -0
  193. package/dist/validators/agent.js.map +1 -0
  194. package/dist/validators/approval.d.ts +57 -0
  195. package/dist/validators/approval.d.ts.map +1 -0
  196. package/dist/validators/approval.js +23 -0
  197. package/dist/validators/approval.js.map +1 -0
  198. package/dist/validators/asset.d.ts +10 -0
  199. package/dist/validators/asset.d.ts.map +1 -0
  200. package/dist/validators/asset.js +11 -0
  201. package/dist/validators/asset.js.map +1 -0
  202. package/dist/validators/budget.d.ts +56 -0
  203. package/dist/validators/budget.d.ts.map +1 -0
  204. package/dist/validators/budget.js +27 -0
  205. package/dist/validators/budget.js.map +1 -0
  206. package/dist/validators/company-portability.d.ts +1892 -0
  207. package/dist/validators/company-portability.d.ts.map +1 -0
  208. package/dist/validators/company-portability.js +217 -0
  209. package/dist/validators/company-portability.js.map +1 -0
  210. package/dist/validators/company-skill.d.ts +797 -0
  211. package/dist/validators/company-skill.d.ts.map +1 -0
  212. package/dist/validators/company-skill.js +116 -0
  213. package/dist/validators/company-skill.js.map +1 -0
  214. package/dist/validators/company.d.ts +85 -0
  215. package/dist/validators/company.d.ts.map +1 -0
  216. package/dist/validators/company.js +36 -0
  217. package/dist/validators/company.js.map +1 -0
  218. package/dist/validators/cost.d.ts +92 -0
  219. package/dist/validators/cost.d.ts.map +1 -0
  220. package/dist/validators/cost.js +26 -0
  221. package/dist/validators/cost.js.map +1 -0
  222. package/dist/validators/execution-workspace.d.ts +549 -0
  223. package/dist/validators/execution-workspace.d.ts.map +1 -0
  224. package/dist/validators/execution-workspace.js +112 -0
  225. package/dist/validators/execution-workspace.js.map +1 -0
  226. package/dist/validators/feedback.d.ts +26 -0
  227. package/dist/validators/feedback.d.ts.map +1 -0
  228. package/dist/validators/feedback.js +14 -0
  229. package/dist/validators/feedback.js.map +1 -0
  230. package/dist/validators/finance.d.ts +129 -0
  231. package/dist/validators/finance.d.ts.map +1 -0
  232. package/dist/validators/finance.js +32 -0
  233. package/dist/validators/finance.js.map +1 -0
  234. package/dist/validators/goal.d.ts +48 -0
  235. package/dist/validators/goal.d.ts.map +1 -0
  236. package/dist/validators/goal.js +12 -0
  237. package/dist/validators/goal.js.map +1 -0
  238. package/dist/validators/index.d.ts +22 -0
  239. package/dist/validators/index.d.ts.map +1 -0
  240. package/dist/validators/index.js +22 -0
  241. package/dist/validators/index.js.map +1 -0
  242. package/dist/validators/instance.d.ts +52 -0
  243. package/dist/validators/instance.d.ts.map +1 -0
  244. package/dist/validators/instance.js +15 -0
  245. package/dist/validators/instance.js.map +1 -0
  246. package/dist/validators/issue.d.ts +439 -0
  247. package/dist/validators/issue.d.ts.map +1 -0
  248. package/dist/validators/issue.js +95 -0
  249. package/dist/validators/issue.js.map +1 -0
  250. package/dist/validators/plugin.d.ts +1173 -0
  251. package/dist/validators/plugin.d.ts.map +1 -0
  252. package/dist/validators/plugin.js +547 -0
  253. package/dist/validators/plugin.js.map +1 -0
  254. package/dist/validators/project.d.ts +671 -0
  255. package/dist/validators/project.d.ts.map +1 -0
  256. package/dist/validators/project.js +98 -0
  257. package/dist/validators/project.js.map +1 -0
  258. package/dist/validators/routine.d.ts +388 -0
  259. package/dist/validators/routine.d.ts.map +1 -0
  260. package/dist/validators/routine.js +89 -0
  261. package/dist/validators/routine.js.map +1 -0
  262. package/dist/validators/secret.d.ts +114 -0
  263. package/dist/validators/secret.d.ts.map +1 -0
  264. package/dist/validators/secret.js +35 -0
  265. package/dist/validators/secret.js.map +1 -0
  266. package/dist/validators/work-product.d.ts +105 -0
  267. package/dist/validators/work-product.d.ts.map +1 -0
  268. package/dist/validators/work-product.js +46 -0
  269. package/dist/validators/work-product.js.map +1 -0
  270. package/package.json +48 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/validators/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAavC,CAAC;AAEZ,eAAO,MAAM,mCAAmC;;;;;;;;;EAGrC,CAAC;AAgDZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGD,CAAC;AAEzC,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAC;AAEb,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAgBlF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAb9B,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBtC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoC,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC"}
@@ -0,0 +1,98 @@
1
+ import { z } from "zod";
2
+ import { PROJECT_STATUSES } from "../constants.js";
3
+ const executionWorkspaceStrategySchema = z
4
+ .object({
5
+ type: z.enum(["project_primary", "git_worktree", "adapter_managed", "cloud_sandbox"]).optional(),
6
+ baseRef: z.string().optional().nullable(),
7
+ branchTemplate: z.string().optional().nullable(),
8
+ worktreeParentDir: z.string().optional().nullable(),
9
+ provisionCommand: z.string().optional().nullable(),
10
+ teardownCommand: z.string().optional().nullable(),
11
+ })
12
+ .strict();
13
+ export const projectExecutionWorkspacePolicySchema = z
14
+ .object({
15
+ enabled: z.boolean(),
16
+ defaultMode: z.enum(["shared_workspace", "isolated_workspace", "operator_branch", "adapter_default"]).optional(),
17
+ allowIssueOverride: z.boolean().optional(),
18
+ defaultProjectWorkspaceId: z.string().uuid().optional().nullable(),
19
+ workspaceStrategy: executionWorkspaceStrategySchema.optional().nullable(),
20
+ workspaceRuntime: z.record(z.unknown()).optional().nullable(),
21
+ branchPolicy: z.record(z.unknown()).optional().nullable(),
22
+ pullRequestPolicy: z.record(z.unknown()).optional().nullable(),
23
+ runtimePolicy: z.record(z.unknown()).optional().nullable(),
24
+ cleanupPolicy: z.record(z.unknown()).optional().nullable(),
25
+ })
26
+ .strict();
27
+ export const projectWorkspaceRuntimeConfigSchema = z.object({
28
+ workspaceRuntime: z.record(z.unknown()).optional().nullable(),
29
+ desiredState: z.enum(["running", "stopped"]).optional().nullable(),
30
+ }).strict();
31
+ const projectWorkspaceSourceTypeSchema = z.enum(["local_path", "git_repo", "remote_managed", "non_git_path"]);
32
+ const projectWorkspaceVisibilitySchema = z.enum(["default", "advanced"]);
33
+ const projectWorkspaceFields = {
34
+ name: z.string().min(1).optional(),
35
+ sourceType: projectWorkspaceSourceTypeSchema.optional(),
36
+ cwd: z.string().min(1).optional().nullable(),
37
+ repoUrl: z.string().url().optional().nullable(),
38
+ repoRef: z.string().optional().nullable(),
39
+ defaultRef: z.string().optional().nullable(),
40
+ visibility: projectWorkspaceVisibilitySchema.optional(),
41
+ setupCommand: z.string().optional().nullable(),
42
+ cleanupCommand: z.string().optional().nullable(),
43
+ remoteProvider: z.string().optional().nullable(),
44
+ remoteWorkspaceRef: z.string().optional().nullable(),
45
+ sharedWorkspaceKey: z.string().optional().nullable(),
46
+ metadata: z.record(z.unknown()).optional().nullable(),
47
+ runtimeConfig: projectWorkspaceRuntimeConfigSchema.optional().nullable(),
48
+ };
49
+ function validateProjectWorkspace(value, ctx) {
50
+ const sourceType = value.sourceType ?? "local_path";
51
+ const hasCwd = typeof value.cwd === "string" && value.cwd.trim().length > 0;
52
+ const hasRepo = typeof value.repoUrl === "string" && value.repoUrl.trim().length > 0;
53
+ const hasRemoteRef = typeof value.remoteWorkspaceRef === "string" && value.remoteWorkspaceRef.trim().length > 0;
54
+ if (sourceType === "remote_managed") {
55
+ if (!hasRemoteRef && !hasRepo) {
56
+ ctx.addIssue({
57
+ code: z.ZodIssueCode.custom,
58
+ message: "Remote-managed workspace requires remoteWorkspaceRef or repoUrl.",
59
+ path: ["remoteWorkspaceRef"],
60
+ });
61
+ }
62
+ return;
63
+ }
64
+ if (!hasCwd && !hasRepo) {
65
+ ctx.addIssue({
66
+ code: z.ZodIssueCode.custom,
67
+ message: "Workspace requires at least one of cwd or repoUrl.",
68
+ path: ["cwd"],
69
+ });
70
+ }
71
+ }
72
+ export const createProjectWorkspaceSchema = z.object({
73
+ ...projectWorkspaceFields,
74
+ isPrimary: z.boolean().optional().default(false),
75
+ }).superRefine(validateProjectWorkspace);
76
+ export const updateProjectWorkspaceSchema = z.object({
77
+ ...projectWorkspaceFields,
78
+ isPrimary: z.boolean().optional(),
79
+ }).partial();
80
+ const projectFields = {
81
+ /** @deprecated Use goalIds instead */
82
+ goalId: z.string().uuid().optional().nullable(),
83
+ goalIds: z.array(z.string().uuid()).optional(),
84
+ name: z.string().min(1),
85
+ description: z.string().optional().nullable(),
86
+ status: z.enum(PROJECT_STATUSES).optional().default("backlog"),
87
+ leadAgentId: z.string().uuid().optional().nullable(),
88
+ targetDate: z.string().optional().nullable(),
89
+ color: z.string().optional().nullable(),
90
+ executionWorkspacePolicy: projectExecutionWorkspacePolicySchema.optional().nullable(),
91
+ archivedAt: z.string().datetime().optional().nullable(),
92
+ };
93
+ export const createProjectSchema = z.object({
94
+ ...projectFields,
95
+ workspace: createProjectWorkspaceSchema.optional(),
96
+ });
97
+ export const updateProjectSchema = z.object(projectFields).partial();
98
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/validators/project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,388 @@
1
+ import { z } from "zod";
2
+ export declare const routineVariableSchema: z.ZodEffects<z.ZodObject<{
3
+ name: z.ZodString;
4
+ label: z.ZodNullable<z.ZodOptional<z.ZodString>>;
5
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["text", "textarea", "number", "boolean", "select"]>>>;
6
+ defaultValue: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
7
+ required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8
+ options: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ options: string[];
11
+ type: "number" | "boolean" | "text" | "textarea" | "select";
12
+ required: boolean;
13
+ name: string;
14
+ label?: string | null | undefined;
15
+ defaultValue?: string | number | boolean | null | undefined;
16
+ }, {
17
+ name: string;
18
+ options?: string[] | undefined;
19
+ type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined;
20
+ label?: string | null | undefined;
21
+ required?: boolean | undefined;
22
+ defaultValue?: string | number | boolean | null | undefined;
23
+ }>, {
24
+ options: string[];
25
+ type: "number" | "boolean" | "text" | "textarea" | "select";
26
+ required: boolean;
27
+ name: string;
28
+ label?: string | null | undefined;
29
+ defaultValue?: string | number | boolean | null | undefined;
30
+ }, {
31
+ name: string;
32
+ options?: string[] | undefined;
33
+ type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined;
34
+ label?: string | null | undefined;
35
+ required?: boolean | undefined;
36
+ defaultValue?: string | number | boolean | null | undefined;
37
+ }>;
38
+ export declare const createRoutineSchema: z.ZodObject<{
39
+ projectId: z.ZodString;
40
+ goalId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
41
+ parentIssueId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
42
+ title: z.ZodString;
43
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
44
+ assigneeAgentId: z.ZodString;
45
+ priority: z.ZodDefault<z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>>;
46
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["active", "paused", "archived"]>>>;
47
+ concurrencyPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<["coalesce_if_active", "always_enqueue", "skip_if_active"]>>>;
48
+ catchUpPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<["skip_missed", "enqueue_missed_with_cap"]>>>;
49
+ variables: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
50
+ name: z.ZodString;
51
+ label: z.ZodNullable<z.ZodOptional<z.ZodString>>;
52
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["text", "textarea", "number", "boolean", "select"]>>>;
53
+ defaultValue: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
54
+ required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
55
+ options: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
56
+ }, "strip", z.ZodTypeAny, {
57
+ options: string[];
58
+ type: "number" | "boolean" | "text" | "textarea" | "select";
59
+ required: boolean;
60
+ name: string;
61
+ label?: string | null | undefined;
62
+ defaultValue?: string | number | boolean | null | undefined;
63
+ }, {
64
+ name: string;
65
+ options?: string[] | undefined;
66
+ type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined;
67
+ label?: string | null | undefined;
68
+ required?: boolean | undefined;
69
+ defaultValue?: string | number | boolean | null | undefined;
70
+ }>, {
71
+ options: string[];
72
+ type: "number" | "boolean" | "text" | "textarea" | "select";
73
+ required: boolean;
74
+ name: string;
75
+ label?: string | null | undefined;
76
+ defaultValue?: string | number | boolean | null | undefined;
77
+ }, {
78
+ name: string;
79
+ options?: string[] | undefined;
80
+ type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined;
81
+ label?: string | null | undefined;
82
+ required?: boolean | undefined;
83
+ defaultValue?: string | number | boolean | null | undefined;
84
+ }>, "many">>>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ status: "active" | "paused" | "archived";
87
+ projectId: string;
88
+ title: string;
89
+ priority: "critical" | "high" | "medium" | "low";
90
+ assigneeAgentId: string;
91
+ concurrencyPolicy: "coalesce_if_active" | "always_enqueue" | "skip_if_active";
92
+ catchUpPolicy: "skip_missed" | "enqueue_missed_with_cap";
93
+ variables: {
94
+ options: string[];
95
+ type: "number" | "boolean" | "text" | "textarea" | "select";
96
+ required: boolean;
97
+ name: string;
98
+ label?: string | null | undefined;
99
+ defaultValue?: string | number | boolean | null | undefined;
100
+ }[];
101
+ description?: string | null | undefined;
102
+ goalId?: string | null | undefined;
103
+ parentIssueId?: string | null | undefined;
104
+ }, {
105
+ projectId: string;
106
+ title: string;
107
+ assigneeAgentId: string;
108
+ status?: "active" | "paused" | "archived" | undefined;
109
+ description?: string | null | undefined;
110
+ goalId?: string | null | undefined;
111
+ priority?: "critical" | "high" | "medium" | "low" | undefined;
112
+ parentIssueId?: string | null | undefined;
113
+ concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined;
114
+ catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined;
115
+ variables?: {
116
+ name: string;
117
+ options?: string[] | undefined;
118
+ type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined;
119
+ label?: string | null | undefined;
120
+ required?: boolean | undefined;
121
+ defaultValue?: string | number | boolean | null | undefined;
122
+ }[] | undefined;
123
+ }>;
124
+ export type CreateRoutine = z.infer<typeof createRoutineSchema>;
125
+ export declare const updateRoutineSchema: z.ZodObject<{
126
+ projectId: z.ZodOptional<z.ZodString>;
127
+ goalId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
128
+ parentIssueId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
129
+ title: z.ZodOptional<z.ZodString>;
130
+ description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
131
+ assigneeAgentId: z.ZodOptional<z.ZodString>;
132
+ priority: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>>>;
133
+ status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodEnum<["active", "paused", "archived"]>>>>;
134
+ concurrencyPolicy: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodEnum<["coalesce_if_active", "always_enqueue", "skip_if_active"]>>>>;
135
+ catchUpPolicy: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodEnum<["skip_missed", "enqueue_missed_with_cap"]>>>>;
136
+ variables: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
137
+ name: z.ZodString;
138
+ label: z.ZodNullable<z.ZodOptional<z.ZodString>>;
139
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["text", "textarea", "number", "boolean", "select"]>>>;
140
+ defaultValue: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
141
+ required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
142
+ options: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
143
+ }, "strip", z.ZodTypeAny, {
144
+ options: string[];
145
+ type: "number" | "boolean" | "text" | "textarea" | "select";
146
+ required: boolean;
147
+ name: string;
148
+ label?: string | null | undefined;
149
+ defaultValue?: string | number | boolean | null | undefined;
150
+ }, {
151
+ name: string;
152
+ options?: string[] | undefined;
153
+ type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined;
154
+ label?: string | null | undefined;
155
+ required?: boolean | undefined;
156
+ defaultValue?: string | number | boolean | null | undefined;
157
+ }>, {
158
+ options: string[];
159
+ type: "number" | "boolean" | "text" | "textarea" | "select";
160
+ required: boolean;
161
+ name: string;
162
+ label?: string | null | undefined;
163
+ defaultValue?: string | number | boolean | null | undefined;
164
+ }, {
165
+ name: string;
166
+ options?: string[] | undefined;
167
+ type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined;
168
+ label?: string | null | undefined;
169
+ required?: boolean | undefined;
170
+ defaultValue?: string | number | boolean | null | undefined;
171
+ }>, "many">>>>;
172
+ }, "strip", z.ZodTypeAny, {
173
+ status?: "active" | "paused" | "archived" | undefined;
174
+ description?: string | null | undefined;
175
+ projectId?: string | undefined;
176
+ goalId?: string | null | undefined;
177
+ title?: string | undefined;
178
+ priority?: "critical" | "high" | "medium" | "low" | undefined;
179
+ assigneeAgentId?: string | undefined;
180
+ parentIssueId?: string | null | undefined;
181
+ concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined;
182
+ catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined;
183
+ variables?: {
184
+ options: string[];
185
+ type: "number" | "boolean" | "text" | "textarea" | "select";
186
+ required: boolean;
187
+ name: string;
188
+ label?: string | null | undefined;
189
+ defaultValue?: string | number | boolean | null | undefined;
190
+ }[] | undefined;
191
+ }, {
192
+ status?: "active" | "paused" | "archived" | undefined;
193
+ description?: string | null | undefined;
194
+ projectId?: string | undefined;
195
+ goalId?: string | null | undefined;
196
+ title?: string | undefined;
197
+ priority?: "critical" | "high" | "medium" | "low" | undefined;
198
+ assigneeAgentId?: string | undefined;
199
+ parentIssueId?: string | null | undefined;
200
+ concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined;
201
+ catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined;
202
+ variables?: {
203
+ name: string;
204
+ options?: string[] | undefined;
205
+ type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined;
206
+ label?: string | null | undefined;
207
+ required?: boolean | undefined;
208
+ defaultValue?: string | number | boolean | null | undefined;
209
+ }[] | undefined;
210
+ }>;
211
+ export type UpdateRoutine = z.infer<typeof updateRoutineSchema>;
212
+ export declare const createRoutineTriggerSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
213
+ label: z.ZodNullable<z.ZodOptional<z.ZodString>>;
214
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
215
+ } & {
216
+ kind: z.ZodLiteral<"schedule">;
217
+ cronExpression: z.ZodString;
218
+ timezone: z.ZodDefault<z.ZodString>;
219
+ }, "strip", z.ZodTypeAny, {
220
+ enabled: boolean;
221
+ kind: "schedule";
222
+ cronExpression: string;
223
+ timezone: string;
224
+ label?: string | null | undefined;
225
+ }, {
226
+ kind: "schedule";
227
+ cronExpression: string;
228
+ enabled?: boolean | undefined;
229
+ label?: string | null | undefined;
230
+ timezone?: string | undefined;
231
+ }>, z.ZodObject<{
232
+ label: z.ZodNullable<z.ZodOptional<z.ZodString>>;
233
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
234
+ } & {
235
+ kind: z.ZodLiteral<"webhook">;
236
+ signingMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["bearer", "hmac_sha256"]>>>;
237
+ replayWindowSec: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
238
+ }, "strip", z.ZodTypeAny, {
239
+ enabled: boolean;
240
+ kind: "webhook";
241
+ signingMode: "bearer" | "hmac_sha256";
242
+ replayWindowSec: number;
243
+ label?: string | null | undefined;
244
+ }, {
245
+ kind: "webhook";
246
+ enabled?: boolean | undefined;
247
+ label?: string | null | undefined;
248
+ signingMode?: "bearer" | "hmac_sha256" | undefined;
249
+ replayWindowSec?: number | undefined;
250
+ }>, z.ZodObject<{
251
+ label: z.ZodNullable<z.ZodOptional<z.ZodString>>;
252
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
253
+ } & {
254
+ kind: z.ZodLiteral<"api">;
255
+ }, "strip", z.ZodTypeAny, {
256
+ enabled: boolean;
257
+ kind: "api";
258
+ label?: string | null | undefined;
259
+ }, {
260
+ kind: "api";
261
+ enabled?: boolean | undefined;
262
+ label?: string | null | undefined;
263
+ }>]>;
264
+ export type CreateRoutineTrigger = z.infer<typeof createRoutineTriggerSchema>;
265
+ export declare const updateRoutineTriggerSchema: z.ZodObject<{
266
+ label: z.ZodNullable<z.ZodOptional<z.ZodString>>;
267
+ enabled: z.ZodOptional<z.ZodBoolean>;
268
+ cronExpression: z.ZodNullable<z.ZodOptional<z.ZodString>>;
269
+ timezone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
270
+ signingMode: z.ZodNullable<z.ZodOptional<z.ZodEnum<["bearer", "hmac_sha256"]>>>;
271
+ replayWindowSec: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
272
+ }, "strip", z.ZodTypeAny, {
273
+ enabled?: boolean | undefined;
274
+ label?: string | null | undefined;
275
+ cronExpression?: string | null | undefined;
276
+ timezone?: string | null | undefined;
277
+ signingMode?: "bearer" | "hmac_sha256" | null | undefined;
278
+ replayWindowSec?: number | null | undefined;
279
+ }, {
280
+ enabled?: boolean | undefined;
281
+ label?: string | null | undefined;
282
+ cronExpression?: string | null | undefined;
283
+ timezone?: string | null | undefined;
284
+ signingMode?: "bearer" | "hmac_sha256" | null | undefined;
285
+ replayWindowSec?: number | null | undefined;
286
+ }>;
287
+ export type UpdateRoutineTrigger = z.infer<typeof updateRoutineTriggerSchema>;
288
+ export declare const runRoutineSchema: z.ZodObject<{
289
+ triggerId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
290
+ payload: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
291
+ variables: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
292
+ idempotencyKey: z.ZodNullable<z.ZodOptional<z.ZodString>>;
293
+ source: z.ZodDefault<z.ZodOptional<z.ZodEnum<["manual", "api"]>>>;
294
+ executionWorkspaceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
295
+ executionWorkspacePreference: z.ZodNullable<z.ZodOptional<z.ZodEnum<["inherit", "shared_workspace", "isolated_workspace", "operator_branch", "reuse_existing", "agent_default"]>>>;
296
+ executionWorkspaceSettings: z.ZodNullable<z.ZodOptional<z.ZodObject<{
297
+ mode: z.ZodOptional<z.ZodEnum<["inherit", "shared_workspace", "isolated_workspace", "operator_branch", "reuse_existing", "agent_default"]>>;
298
+ workspaceStrategy: z.ZodNullable<z.ZodOptional<z.ZodObject<{
299
+ type: z.ZodOptional<z.ZodEnum<["project_primary", "git_worktree", "adapter_managed", "cloud_sandbox"]>>;
300
+ baseRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
301
+ branchTemplate: z.ZodNullable<z.ZodOptional<z.ZodString>>;
302
+ worktreeParentDir: z.ZodNullable<z.ZodOptional<z.ZodString>>;
303
+ provisionCommand: z.ZodNullable<z.ZodOptional<z.ZodString>>;
304
+ teardownCommand: z.ZodNullable<z.ZodOptional<z.ZodString>>;
305
+ }, "strict", z.ZodTypeAny, {
306
+ type?: "project_primary" | "git_worktree" | "adapter_managed" | "cloud_sandbox" | undefined;
307
+ baseRef?: string | null | undefined;
308
+ branchTemplate?: string | null | undefined;
309
+ worktreeParentDir?: string | null | undefined;
310
+ provisionCommand?: string | null | undefined;
311
+ teardownCommand?: string | null | undefined;
312
+ }, {
313
+ type?: "project_primary" | "git_worktree" | "adapter_managed" | "cloud_sandbox" | undefined;
314
+ baseRef?: string | null | undefined;
315
+ branchTemplate?: string | null | undefined;
316
+ worktreeParentDir?: string | null | undefined;
317
+ provisionCommand?: string | null | undefined;
318
+ teardownCommand?: string | null | undefined;
319
+ }>>>;
320
+ workspaceRuntime: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
321
+ }, "strict", z.ZodTypeAny, {
322
+ mode?: "shared_workspace" | "isolated_workspace" | "operator_branch" | "inherit" | "reuse_existing" | "agent_default" | undefined;
323
+ workspaceStrategy?: {
324
+ type?: "project_primary" | "git_worktree" | "adapter_managed" | "cloud_sandbox" | undefined;
325
+ baseRef?: string | null | undefined;
326
+ branchTemplate?: string | null | undefined;
327
+ worktreeParentDir?: string | null | undefined;
328
+ provisionCommand?: string | null | undefined;
329
+ teardownCommand?: string | null | undefined;
330
+ } | null | undefined;
331
+ workspaceRuntime?: Record<string, unknown> | null | undefined;
332
+ }, {
333
+ mode?: "shared_workspace" | "isolated_workspace" | "operator_branch" | "inherit" | "reuse_existing" | "agent_default" | undefined;
334
+ workspaceStrategy?: {
335
+ type?: "project_primary" | "git_worktree" | "adapter_managed" | "cloud_sandbox" | undefined;
336
+ baseRef?: string | null | undefined;
337
+ branchTemplate?: string | null | undefined;
338
+ worktreeParentDir?: string | null | undefined;
339
+ provisionCommand?: string | null | undefined;
340
+ teardownCommand?: string | null | undefined;
341
+ } | null | undefined;
342
+ workspaceRuntime?: Record<string, unknown> | null | undefined;
343
+ }>>>;
344
+ }, "strip", z.ZodTypeAny, {
345
+ source: "manual" | "api";
346
+ executionWorkspaceId?: string | null | undefined;
347
+ executionWorkspacePreference?: "shared_workspace" | "isolated_workspace" | "operator_branch" | "inherit" | "reuse_existing" | "agent_default" | null | undefined;
348
+ executionWorkspaceSettings?: {
349
+ mode?: "shared_workspace" | "isolated_workspace" | "operator_branch" | "inherit" | "reuse_existing" | "agent_default" | undefined;
350
+ workspaceStrategy?: {
351
+ type?: "project_primary" | "git_worktree" | "adapter_managed" | "cloud_sandbox" | undefined;
352
+ baseRef?: string | null | undefined;
353
+ branchTemplate?: string | null | undefined;
354
+ worktreeParentDir?: string | null | undefined;
355
+ provisionCommand?: string | null | undefined;
356
+ teardownCommand?: string | null | undefined;
357
+ } | null | undefined;
358
+ workspaceRuntime?: Record<string, unknown> | null | undefined;
359
+ } | null | undefined;
360
+ variables?: Record<string, string | number | boolean> | null | undefined;
361
+ triggerId?: string | null | undefined;
362
+ payload?: Record<string, unknown> | null | undefined;
363
+ idempotencyKey?: string | null | undefined;
364
+ }, {
365
+ source?: "manual" | "api" | undefined;
366
+ executionWorkspaceId?: string | null | undefined;
367
+ executionWorkspacePreference?: "shared_workspace" | "isolated_workspace" | "operator_branch" | "inherit" | "reuse_existing" | "agent_default" | null | undefined;
368
+ executionWorkspaceSettings?: {
369
+ mode?: "shared_workspace" | "isolated_workspace" | "operator_branch" | "inherit" | "reuse_existing" | "agent_default" | undefined;
370
+ workspaceStrategy?: {
371
+ type?: "project_primary" | "git_worktree" | "adapter_managed" | "cloud_sandbox" | undefined;
372
+ baseRef?: string | null | undefined;
373
+ branchTemplate?: string | null | undefined;
374
+ worktreeParentDir?: string | null | undefined;
375
+ provisionCommand?: string | null | undefined;
376
+ teardownCommand?: string | null | undefined;
377
+ } | null | undefined;
378
+ workspaceRuntime?: Record<string, unknown> | null | undefined;
379
+ } | null | undefined;
380
+ variables?: Record<string, string | number | boolean> | null | undefined;
381
+ triggerId?: string | null | undefined;
382
+ payload?: Record<string, unknown> | null | undefined;
383
+ idempotencyKey?: string | null | undefined;
384
+ }>;
385
+ export type RunRoutine = z.infer<typeof runRoutineSchema>;
386
+ export declare const rotateRoutineTriggerSecretSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
387
+ export type RotateRoutineTriggerSecret = z.infer<typeof rotateRoutineTriggerSecretSchema>;
388
+ //# sourceMappingURL=routine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routine.d.ts","sourceRoot":"","sources":["../../src/validators/routine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BhC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAgC,CAAC;AACjE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAOhE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAcrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;EAOrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,gCAAgC,gDAAe,CAAC;AAC7D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { z } from "zod";
2
+ import { ISSUE_PRIORITIES, ROUTINE_CATCH_UP_POLICIES, ROUTINE_CONCURRENCY_POLICIES, ROUTINE_STATUSES, ROUTINE_TRIGGER_SIGNING_MODES, ROUTINE_VARIABLE_TYPES, } from "../constants.js";
3
+ import { ISSUE_EXECUTION_WORKSPACE_PREFERENCES, issueExecutionWorkspaceSettingsSchema, } from "./issue.js";
4
+ const routineVariableValueSchema = z.union([z.string(), z.number().finite(), z.boolean()]);
5
+ export const routineVariableSchema = z.object({
6
+ name: z.string().trim().regex(/^[A-Za-z][A-Za-z0-9_]*$/),
7
+ label: z.string().trim().max(120).optional().nullable(),
8
+ type: z.enum(ROUTINE_VARIABLE_TYPES).optional().default("text"),
9
+ defaultValue: routineVariableValueSchema.optional().nullable(),
10
+ required: z.boolean().optional().default(true),
11
+ options: z.array(z.string().trim().min(1).max(120)).max(50).optional().default([]),
12
+ }).superRefine((value, ctx) => {
13
+ if (value.type === "select" && value.options.length === 0) {
14
+ ctx.addIssue({
15
+ code: z.ZodIssueCode.custom,
16
+ path: ["options"],
17
+ message: "Select variables require at least one option",
18
+ });
19
+ }
20
+ if (value.type !== "select" && value.options.length > 0) {
21
+ ctx.addIssue({
22
+ code: z.ZodIssueCode.custom,
23
+ path: ["options"],
24
+ message: "Only select variables can define options",
25
+ });
26
+ }
27
+ if (value.type === "select" && value.defaultValue != null) {
28
+ if (typeof value.defaultValue !== "string" || !value.options.includes(value.defaultValue)) {
29
+ ctx.addIssue({
30
+ code: z.ZodIssueCode.custom,
31
+ path: ["defaultValue"],
32
+ message: "Select variable defaults must match one of the allowed options",
33
+ });
34
+ }
35
+ }
36
+ });
37
+ export const createRoutineSchema = z.object({
38
+ projectId: z.string().uuid(),
39
+ goalId: z.string().uuid().optional().nullable(),
40
+ parentIssueId: z.string().uuid().optional().nullable(),
41
+ title: z.string().trim().min(1).max(200),
42
+ description: z.string().optional().nullable(),
43
+ assigneeAgentId: z.string().uuid(),
44
+ priority: z.enum(ISSUE_PRIORITIES).optional().default("medium"),
45
+ status: z.enum(ROUTINE_STATUSES).optional().default("active"),
46
+ concurrencyPolicy: z.enum(ROUTINE_CONCURRENCY_POLICIES).optional().default("coalesce_if_active"),
47
+ catchUpPolicy: z.enum(ROUTINE_CATCH_UP_POLICIES).optional().default("skip_missed"),
48
+ variables: z.array(routineVariableSchema).optional().default([]),
49
+ });
50
+ export const updateRoutineSchema = createRoutineSchema.partial();
51
+ const baseTriggerSchema = z.object({
52
+ label: z.string().trim().max(120).optional().nullable(),
53
+ enabled: z.boolean().optional().default(true),
54
+ });
55
+ export const createRoutineTriggerSchema = z.discriminatedUnion("kind", [
56
+ baseTriggerSchema.extend({
57
+ kind: z.literal("schedule"),
58
+ cronExpression: z.string().trim().min(1),
59
+ timezone: z.string().trim().min(1).default("UTC"),
60
+ }),
61
+ baseTriggerSchema.extend({
62
+ kind: z.literal("webhook"),
63
+ signingMode: z.enum(ROUTINE_TRIGGER_SIGNING_MODES).optional().default("bearer"),
64
+ replayWindowSec: z.number().int().min(30).max(86_400).optional().default(300),
65
+ }),
66
+ baseTriggerSchema.extend({
67
+ kind: z.literal("api"),
68
+ }),
69
+ ]);
70
+ export const updateRoutineTriggerSchema = z.object({
71
+ label: z.string().trim().max(120).optional().nullable(),
72
+ enabled: z.boolean().optional(),
73
+ cronExpression: z.string().trim().min(1).optional().nullable(),
74
+ timezone: z.string().trim().min(1).optional().nullable(),
75
+ signingMode: z.enum(ROUTINE_TRIGGER_SIGNING_MODES).optional().nullable(),
76
+ replayWindowSec: z.number().int().min(30).max(86_400).optional().nullable(),
77
+ });
78
+ export const runRoutineSchema = z.object({
79
+ triggerId: z.string().uuid().optional().nullable(),
80
+ payload: z.record(z.unknown()).optional().nullable(),
81
+ variables: z.record(routineVariableValueSchema).optional().nullable(),
82
+ idempotencyKey: z.string().trim().max(255).optional().nullable(),
83
+ source: z.enum(["manual", "api"]).optional().default("manual"),
84
+ executionWorkspaceId: z.string().uuid().optional().nullable(),
85
+ executionWorkspacePreference: z.enum(ISSUE_EXECUTION_WORKSPACE_PREFERENCES).optional().nullable(),
86
+ executionWorkspaceSettings: issueExecutionWorkspaceSettingsSchema.optional().nullable(),
87
+ });
88
+ export const rotateRoutineTriggerSecretSchema = z.object({});
89
+ //# sourceMappingURL=routine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routine.js","sourceRoot":"","sources":["../../src/validators/routine.ts"],"names":[],"mappings":"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"}