@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":"company-skill.d.ts","sourceRoot":"","sources":["../../src/validators/company-skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,4BAA4B,oEAAkE,CAAC;AAC5G,eAAO,MAAM,4BAA4B,+DAA6D,CAAC;AACvG,eAAO,MAAM,+BAA+B,iDAA+C,CAAC;AAC5F,eAAO,MAAM,6BAA6B,wEAAsE,CAAC;AAEjH,eAAO,MAAM,oCAAoC;;;;;;;;;EAG/C,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB7B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMrC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;EAOvC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOnC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;EAOzC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;EAEnC,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;;;;EAG/C,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;EAO/C,CAAC;AAEH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYhD,CAAC;AAEH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS9C,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;EAQvC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;EAGvC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAC3F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { z } from "zod";
2
+ export const companySkillSourceTypeSchema = z.enum(["local_path", "github", "url", "catalog", "skills_sh"]);
3
+ export const companySkillTrustLevelSchema = z.enum(["markdown_only", "assets", "scripts_executables"]);
4
+ export const companySkillCompatibilitySchema = z.enum(["compatible", "unknown", "invalid"]);
5
+ export const companySkillSourceBadgeSchema = z.enum(["zmeel", "github", "local", "url", "catalog", "skills_sh"]);
6
+ export const companySkillFileInventoryEntrySchema = z.object({
7
+ path: z.string().min(1),
8
+ kind: z.enum(["skill", "markdown", "reference", "script", "asset", "other"]),
9
+ });
10
+ export const companySkillSchema = z.object({
11
+ id: z.string().uuid(),
12
+ companyId: z.string().uuid(),
13
+ key: z.string().min(1),
14
+ slug: z.string().min(1),
15
+ name: z.string().min(1),
16
+ description: z.string().nullable(),
17
+ markdown: z.string(),
18
+ sourceType: companySkillSourceTypeSchema,
19
+ sourceLocator: z.string().nullable(),
20
+ sourceRef: z.string().nullable(),
21
+ trustLevel: companySkillTrustLevelSchema,
22
+ compatibility: companySkillCompatibilitySchema,
23
+ fileInventory: z.array(companySkillFileInventoryEntrySchema).default([]),
24
+ metadata: z.record(z.unknown()).nullable(),
25
+ createdAt: z.coerce.date(),
26
+ updatedAt: z.coerce.date(),
27
+ });
28
+ export const companySkillListItemSchema = companySkillSchema.extend({
29
+ attachedAgentCount: z.number().int().nonnegative(),
30
+ editable: z.boolean(),
31
+ editableReason: z.string().nullable(),
32
+ sourceLabel: z.string().nullable(),
33
+ sourceBadge: companySkillSourceBadgeSchema,
34
+ });
35
+ export const companySkillUsageAgentSchema = z.object({
36
+ id: z.string().uuid(),
37
+ name: z.string().min(1),
38
+ urlKey: z.string().min(1),
39
+ adapterType: z.string().min(1),
40
+ desired: z.boolean(),
41
+ actualState: z.string().nullable(),
42
+ });
43
+ export const companySkillDetailSchema = companySkillSchema.extend({
44
+ attachedAgentCount: z.number().int().nonnegative(),
45
+ usedByAgents: z.array(companySkillUsageAgentSchema).default([]),
46
+ editable: z.boolean(),
47
+ editableReason: z.string().nullable(),
48
+ sourceLabel: z.string().nullable(),
49
+ sourceBadge: companySkillSourceBadgeSchema,
50
+ });
51
+ export const companySkillUpdateStatusSchema = z.object({
52
+ supported: z.boolean(),
53
+ reason: z.string().nullable(),
54
+ trackingRef: z.string().nullable(),
55
+ currentRef: z.string().nullable(),
56
+ latestRef: z.string().nullable(),
57
+ hasUpdate: z.boolean(),
58
+ });
59
+ export const companySkillImportSchema = z.object({
60
+ source: z.string().min(1),
61
+ });
62
+ export const companySkillProjectScanRequestSchema = z.object({
63
+ projectIds: z.array(z.string().uuid()).optional(),
64
+ workspaceIds: z.array(z.string().uuid()).optional(),
65
+ });
66
+ export const companySkillProjectScanSkippedSchema = z.object({
67
+ projectId: z.string().uuid(),
68
+ projectName: z.string().min(1),
69
+ workspaceId: z.string().uuid().nullable(),
70
+ workspaceName: z.string().nullable(),
71
+ path: z.string().nullable(),
72
+ reason: z.string().min(1),
73
+ });
74
+ export const companySkillProjectScanConflictSchema = z.object({
75
+ slug: z.string().min(1),
76
+ key: z.string().min(1),
77
+ projectId: z.string().uuid(),
78
+ projectName: z.string().min(1),
79
+ workspaceId: z.string().uuid(),
80
+ workspaceName: z.string().min(1),
81
+ path: z.string().min(1),
82
+ existingSkillId: z.string().uuid(),
83
+ existingSkillKey: z.string().min(1),
84
+ existingSourceLocator: z.string().nullable(),
85
+ reason: z.string().min(1),
86
+ });
87
+ export const companySkillProjectScanResultSchema = z.object({
88
+ scannedProjects: z.number().int().nonnegative(),
89
+ scannedWorkspaces: z.number().int().nonnegative(),
90
+ discovered: z.number().int().nonnegative(),
91
+ imported: z.array(companySkillSchema),
92
+ updated: z.array(companySkillSchema),
93
+ skipped: z.array(companySkillProjectScanSkippedSchema),
94
+ conflicts: z.array(companySkillProjectScanConflictSchema),
95
+ warnings: z.array(z.string()),
96
+ });
97
+ export const companySkillCreateSchema = z.object({
98
+ name: z.string().min(1),
99
+ slug: z.string().min(1).nullable().optional(),
100
+ description: z.string().nullable().optional(),
101
+ markdown: z.string().nullable().optional(),
102
+ });
103
+ export const companySkillFileDetailSchema = z.object({
104
+ skillId: z.string().uuid(),
105
+ path: z.string().min(1),
106
+ kind: z.enum(["skill", "markdown", "reference", "script", "asset", "other"]),
107
+ content: z.string(),
108
+ language: z.string().nullable(),
109
+ markdown: z.boolean(),
110
+ editable: z.boolean(),
111
+ });
112
+ export const companySkillFileUpdateSchema = z.object({
113
+ path: z.string().min(1),
114
+ content: z.string(),
115
+ });
116
+ //# sourceMappingURL=company-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-skill.js","sourceRoot":"","sources":["../../src/validators/company-skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { z } from "zod";
2
+ export declare const createCompanySchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
5
+ budgetMonthlyCents: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ name: string;
8
+ budgetMonthlyCents: number;
9
+ description?: string | null | undefined;
10
+ }, {
11
+ name: string;
12
+ description?: string | null | undefined;
13
+ budgetMonthlyCents?: number | undefined;
14
+ }>;
15
+ export type CreateCompany = z.infer<typeof createCompanySchema>;
16
+ export declare const updateCompanySchema: z.ZodObject<{
17
+ name: z.ZodOptional<z.ZodString>;
18
+ description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
19
+ budgetMonthlyCents: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
20
+ } & {
21
+ status: z.ZodOptional<z.ZodEnum<["active", "paused", "archived"]>>;
22
+ spentMonthlyCents: z.ZodOptional<z.ZodNumber>;
23
+ requireBoardApprovalForNewAgents: z.ZodOptional<z.ZodBoolean>;
24
+ feedbackDataSharingEnabled: z.ZodOptional<z.ZodBoolean>;
25
+ feedbackDataSharingConsentAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
26
+ feedbackDataSharingConsentByUserId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ feedbackDataSharingTermsVersion: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ brandColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ logoAssetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ status?: "active" | "paused" | "archived" | undefined;
32
+ name?: string | undefined;
33
+ description?: string | null | undefined;
34
+ budgetMonthlyCents?: number | undefined;
35
+ spentMonthlyCents?: number | undefined;
36
+ requireBoardApprovalForNewAgents?: boolean | undefined;
37
+ feedbackDataSharingEnabled?: boolean | undefined;
38
+ feedbackDataSharingConsentAt?: Date | null | undefined;
39
+ feedbackDataSharingConsentByUserId?: string | null | undefined;
40
+ feedbackDataSharingTermsVersion?: string | null | undefined;
41
+ brandColor?: string | null | undefined;
42
+ logoAssetId?: string | null | undefined;
43
+ }, {
44
+ status?: "active" | "paused" | "archived" | undefined;
45
+ name?: string | undefined;
46
+ description?: string | null | undefined;
47
+ budgetMonthlyCents?: number | undefined;
48
+ spentMonthlyCents?: number | undefined;
49
+ requireBoardApprovalForNewAgents?: boolean | undefined;
50
+ feedbackDataSharingEnabled?: boolean | undefined;
51
+ feedbackDataSharingConsentAt?: Date | null | undefined;
52
+ feedbackDataSharingConsentByUserId?: string | null | undefined;
53
+ feedbackDataSharingTermsVersion?: string | null | undefined;
54
+ brandColor?: string | null | undefined;
55
+ logoAssetId?: string | null | undefined;
56
+ }>;
57
+ export type UpdateCompany = z.infer<typeof updateCompanySchema>;
58
+ export declare const updateCompanyBrandingSchema: z.ZodEffects<z.ZodObject<{
59
+ name: z.ZodOptional<z.ZodString>;
60
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
+ brandColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ logoAssetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
+ }, "strict", z.ZodTypeAny, {
64
+ name?: string | undefined;
65
+ description?: string | null | undefined;
66
+ brandColor?: string | null | undefined;
67
+ logoAssetId?: string | null | undefined;
68
+ }, {
69
+ name?: string | undefined;
70
+ description?: string | null | undefined;
71
+ brandColor?: string | null | undefined;
72
+ logoAssetId?: string | null | undefined;
73
+ }>, {
74
+ name?: string | undefined;
75
+ description?: string | null | undefined;
76
+ brandColor?: string | null | undefined;
77
+ logoAssetId?: string | null | undefined;
78
+ }, {
79
+ name?: string | undefined;
80
+ description?: string | null | undefined;
81
+ brandColor?: string | null | undefined;
82
+ logoAssetId?: string | null | undefined;
83
+ }>;
84
+ export type UpdateCompanyBranding = z.infer<typeof updateCompanyBrandingSchema>;
85
+ //# sourceMappingURL=company.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company.d.ts","sourceRoot":"","sources":["../../src/validators/company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5B,CAAC;AAEL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;EAerC,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { z } from "zod";
2
+ import { COMPANY_STATUSES } from "../constants.js";
3
+ const logoAssetIdSchema = z.string().uuid().nullable().optional();
4
+ const brandColorSchema = z.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional();
5
+ const feedbackDataSharingTermsVersionSchema = z.string().min(1).nullable().optional();
6
+ export const createCompanySchema = z.object({
7
+ name: z.string().min(1),
8
+ description: z.string().optional().nullable(),
9
+ budgetMonthlyCents: z.number().int().nonnegative().optional().default(0),
10
+ });
11
+ export const updateCompanySchema = createCompanySchema
12
+ .partial()
13
+ .extend({
14
+ status: z.enum(COMPANY_STATUSES).optional(),
15
+ spentMonthlyCents: z.number().int().nonnegative().optional(),
16
+ requireBoardApprovalForNewAgents: z.boolean().optional(),
17
+ feedbackDataSharingEnabled: z.boolean().optional(),
18
+ feedbackDataSharingConsentAt: z.coerce.date().nullable().optional(),
19
+ feedbackDataSharingConsentByUserId: z.string().min(1).nullable().optional(),
20
+ feedbackDataSharingTermsVersion: feedbackDataSharingTermsVersionSchema,
21
+ brandColor: brandColorSchema,
22
+ logoAssetId: logoAssetIdSchema,
23
+ });
24
+ export const updateCompanyBrandingSchema = z
25
+ .object({
26
+ name: z.string().min(1).optional(),
27
+ description: z.string().nullable().optional(),
28
+ brandColor: brandColorSchema,
29
+ logoAssetId: logoAssetIdSchema,
30
+ })
31
+ .strict()
32
+ .refine((value) => value.name !== undefined
33
+ || value.description !== undefined
34
+ || value.brandColor !== undefined
35
+ || value.logoAssetId !== undefined, "At least one branding field must be provided");
36
+ //# sourceMappingURL=company.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company.js","sourceRoot":"","sources":["../../src/validators/company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AAClE,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AACrF,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AAEtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACzE,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB;KACnD,OAAO,EAAE;KACT,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;IAC3C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC5D,gCAAgC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxD,0BAA0B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClD,4BAA4B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnE,kCAAkC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3E,+BAA+B,EAAE,qCAAqC;IACtE,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAC;AAIL,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,iBAAiB;CAC/B,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;OACrB,KAAK,CAAC,WAAW,KAAK,SAAS;OAC/B,KAAK,CAAC,UAAU,KAAK,SAAS;OAC9B,KAAK,CAAC,WAAW,KAAK,SAAS,EACpC,8CAA8C,CAC/C,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { z } from "zod";
2
+ export declare const createCostEventSchema: z.ZodEffects<z.ZodObject<{
3
+ agentId: z.ZodString;
4
+ issueId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
5
+ projectId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
6
+ goalId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
7
+ heartbeatRunId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
8
+ billingCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
9
+ provider: z.ZodString;
10
+ biller: z.ZodOptional<z.ZodString>;
11
+ billingType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["metered_api", "subscription_included", "subscription_overage", "credits", "fixed", "unknown"]>>>;
12
+ model: z.ZodString;
13
+ inputTokens: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
14
+ cachedInputTokens: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
15
+ outputTokens: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
16
+ costCents: z.ZodNumber;
17
+ occurredAt: z.ZodString;
18
+ }, "strip", z.ZodTypeAny, {
19
+ provider: string;
20
+ agentId: string;
21
+ billingType: "metered_api" | "subscription_included" | "subscription_overage" | "credits" | "fixed" | "unknown";
22
+ model: string;
23
+ inputTokens: number;
24
+ cachedInputTokens: number;
25
+ outputTokens: number;
26
+ costCents: number;
27
+ occurredAt: string;
28
+ projectId?: string | null | undefined;
29
+ goalId?: string | null | undefined;
30
+ billingCode?: string | null | undefined;
31
+ issueId?: string | null | undefined;
32
+ heartbeatRunId?: string | null | undefined;
33
+ biller?: string | undefined;
34
+ }, {
35
+ provider: string;
36
+ agentId: string;
37
+ model: string;
38
+ costCents: number;
39
+ occurredAt: string;
40
+ projectId?: string | null | undefined;
41
+ goalId?: string | null | undefined;
42
+ billingCode?: string | null | undefined;
43
+ issueId?: string | null | undefined;
44
+ heartbeatRunId?: string | null | undefined;
45
+ biller?: string | undefined;
46
+ billingType?: "metered_api" | "subscription_included" | "subscription_overage" | "credits" | "fixed" | "unknown" | undefined;
47
+ inputTokens?: number | undefined;
48
+ cachedInputTokens?: number | undefined;
49
+ outputTokens?: number | undefined;
50
+ }>, {
51
+ biller: string;
52
+ provider: string;
53
+ agentId: string;
54
+ billingType: "metered_api" | "subscription_included" | "subscription_overage" | "credits" | "fixed" | "unknown";
55
+ model: string;
56
+ inputTokens: number;
57
+ cachedInputTokens: number;
58
+ outputTokens: number;
59
+ costCents: number;
60
+ occurredAt: string;
61
+ projectId?: string | null | undefined;
62
+ goalId?: string | null | undefined;
63
+ billingCode?: string | null | undefined;
64
+ issueId?: string | null | undefined;
65
+ heartbeatRunId?: string | null | undefined;
66
+ }, {
67
+ provider: string;
68
+ agentId: string;
69
+ model: string;
70
+ costCents: number;
71
+ occurredAt: string;
72
+ projectId?: string | null | undefined;
73
+ goalId?: string | null | undefined;
74
+ billingCode?: string | null | undefined;
75
+ issueId?: string | null | undefined;
76
+ heartbeatRunId?: string | null | undefined;
77
+ biller?: string | undefined;
78
+ billingType?: "metered_api" | "subscription_included" | "subscription_overage" | "credits" | "fixed" | "unknown" | undefined;
79
+ inputTokens?: number | undefined;
80
+ cachedInputTokens?: number | undefined;
81
+ outputTokens?: number | undefined;
82
+ }>;
83
+ export type CreateCostEvent = z.infer<typeof createCostEventSchema>;
84
+ export declare const updateBudgetSchema: z.ZodObject<{
85
+ budgetMonthlyCents: z.ZodNumber;
86
+ }, "strip", z.ZodTypeAny, {
87
+ budgetMonthlyCents: number;
88
+ }, {
89
+ budgetMonthlyCents: number;
90
+ }>;
91
+ export type UpdateBudget = z.infer<typeof updateBudgetSchema>;
92
+ //# sourceMappingURL=cost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/validators/cost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB/B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;EAE7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from "zod";
2
+ import { BILLING_TYPES } from "../constants.js";
3
+ export const createCostEventSchema = z.object({
4
+ agentId: z.string().uuid(),
5
+ issueId: z.string().uuid().optional().nullable(),
6
+ projectId: z.string().uuid().optional().nullable(),
7
+ goalId: z.string().uuid().optional().nullable(),
8
+ heartbeatRunId: z.string().uuid().optional().nullable(),
9
+ billingCode: z.string().optional().nullable(),
10
+ provider: z.string().min(1),
11
+ biller: z.string().min(1).optional(),
12
+ billingType: z.enum(BILLING_TYPES).optional().default("unknown"),
13
+ model: z.string().min(1),
14
+ inputTokens: z.number().int().nonnegative().optional().default(0),
15
+ cachedInputTokens: z.number().int().nonnegative().optional().default(0),
16
+ outputTokens: z.number().int().nonnegative().optional().default(0),
17
+ costCents: z.number().int().nonnegative(),
18
+ occurredAt: z.string().datetime(),
19
+ }).transform((value) => ({
20
+ ...value,
21
+ biller: value.biller ?? value.provider,
22
+ }));
23
+ export const updateBudgetSchema = z.object({
24
+ budgetMonthlyCents: z.number().int().nonnegative(),
25
+ });
26
+ //# sourceMappingURL=cost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/validators/cost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvB,GAAG,KAAK;IACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ;CACvC,CAAC,CAAC,CAAC;AAIJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACnD,CAAC,CAAC"}