@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,28 @@
1
+ import { randomUUID, randomBytes } from "node:crypto";
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
+ import path from "node:path";
4
+ export function loadOrCreateState(stateDir, version) {
5
+ const filePath = path.join(stateDir, "state.json");
6
+ if (existsSync(filePath)) {
7
+ try {
8
+ const raw = readFileSync(filePath, "utf-8");
9
+ const parsed = JSON.parse(raw);
10
+ if (parsed.installId && parsed.salt) {
11
+ return parsed;
12
+ }
13
+ }
14
+ catch {
15
+ // Corrupted state file — recreate
16
+ }
17
+ }
18
+ const state = {
19
+ installId: randomUUID(),
20
+ salt: randomBytes(32).toString("hex"),
21
+ createdAt: new Date().toISOString(),
22
+ firstSeenVersion: version,
23
+ };
24
+ mkdirSync(stateDir, { recursive: true });
25
+ writeFileSync(filePath, JSON.stringify(state, null, 2) + "\n", "utf-8");
26
+ return state;
27
+ }
28
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/telemetry/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,OAAe;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEnD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;YACjD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAmB;QAC5B,SAAS,EAAE,UAAU,EAAE;QACvB,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,gBAAgB,EAAE,OAAO;KAC1B,CAAC;IAEF,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,27 @@
1
+ export interface TelemetryState {
2
+ installId: string;
3
+ salt: string;
4
+ createdAt: string;
5
+ firstSeenVersion: string;
6
+ }
7
+ export interface TelemetryConfig {
8
+ enabled: boolean;
9
+ endpoint?: string;
10
+ app?: string;
11
+ schemaVersion?: string;
12
+ }
13
+ /** Per-event object inside the backend envelope */
14
+ export interface TelemetryEvent {
15
+ name: string;
16
+ occurredAt: string;
17
+ dimensions: Record<string, string | number | boolean>;
18
+ }
19
+ /** Full payload sent to the backend ingest endpoint */
20
+ export interface TelemetryEventEnvelope {
21
+ app: string;
22
+ schemaVersion: string;
23
+ installId: string;
24
+ events: TelemetryEvent[];
25
+ }
26
+ export type TelemetryEventName = "install.started" | "install.completed" | "company.imported" | "agent.first_heartbeat" | "agent.task_completed" | "error.handler_crash" | `plugin.${string}`;
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/telemetry/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACvD;AAED,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAC1B,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,uBAAuB,GACvB,sBAAsB,GACtB,qBAAqB,GACrB,UAAU,MAAM,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/telemetry/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import type { AgentAdapterType, InstanceUserRole, InviteJoinType, InviteType, JoinRequestStatus, JoinRequestType, MembershipStatus, PermissionKey, PrincipalType } from "../constants.js";
2
+ export interface CompanyMembership {
3
+ id: string;
4
+ companyId: string;
5
+ principalType: PrincipalType;
6
+ principalId: string;
7
+ status: MembershipStatus;
8
+ membershipRole: string | null;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ }
12
+ export interface PrincipalPermissionGrant {
13
+ id: string;
14
+ companyId: string;
15
+ principalType: PrincipalType;
16
+ principalId: string;
17
+ permissionKey: PermissionKey;
18
+ scope: Record<string, unknown> | null;
19
+ grantedByUserId: string | null;
20
+ createdAt: Date;
21
+ updatedAt: Date;
22
+ }
23
+ export interface Invite {
24
+ id: string;
25
+ companyId: string | null;
26
+ inviteType: InviteType;
27
+ tokenHash: string;
28
+ allowedJoinTypes: InviteJoinType;
29
+ defaultsPayload: Record<string, unknown> | null;
30
+ expiresAt: Date;
31
+ invitedByUserId: string | null;
32
+ revokedAt: Date | null;
33
+ acceptedAt: Date | null;
34
+ createdAt: Date;
35
+ updatedAt: Date;
36
+ }
37
+ export interface JoinRequest {
38
+ id: string;
39
+ inviteId: string;
40
+ companyId: string;
41
+ requestType: JoinRequestType;
42
+ status: JoinRequestStatus;
43
+ requestIp: string;
44
+ requestingUserId: string | null;
45
+ requestEmailSnapshot: string | null;
46
+ agentName: string | null;
47
+ adapterType: AgentAdapterType | null;
48
+ capabilities: string | null;
49
+ agentDefaultsPayload: Record<string, unknown> | null;
50
+ claimSecretExpiresAt: Date | null;
51
+ claimSecretConsumedAt: Date | null;
52
+ createdAgentId: string | null;
53
+ approvedByUserId: string | null;
54
+ approvedAt: Date | null;
55
+ rejectedByUserId: string | null;
56
+ rejectedAt: Date | null;
57
+ createdAt: Date;
58
+ updatedAt: Date;
59
+ }
60
+ export interface InstanceUserRoleGrant {
61
+ id: string;
62
+ userId: string;
63
+ role: InstanceUserRole;
64
+ createdAt: Date;
65
+ updatedAt: Date;
66
+ }
67
+ //# sourceMappingURL=access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/types/access.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/types/access.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export interface ActivityEvent {
2
+ id: string;
3
+ companyId: string;
4
+ actorType: "agent" | "user" | "system";
5
+ actorId: string;
6
+ action: string;
7
+ entityType: string;
8
+ entityId: string;
9
+ agentId: string | null;
10
+ runId: string | null;
11
+ details: Record<string, unknown> | null;
12
+ createdAt: Date;
13
+ }
14
+ //# sourceMappingURL=activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/types/activity.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/types/activity.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ export type AgentSkillSyncMode = "unsupported" | "persistent" | "ephemeral";
2
+ export type AgentSkillState = "available" | "configured" | "installed" | "missing" | "stale" | "external";
3
+ export type AgentSkillOrigin = "company_managed" | "zmeel_required" | "user_installed" | "external_unknown";
4
+ export interface AgentSkillEntry {
5
+ key: string;
6
+ runtimeName: string | null;
7
+ desired: boolean;
8
+ managed: boolean;
9
+ required?: boolean;
10
+ requiredReason?: string | null;
11
+ state: AgentSkillState;
12
+ origin?: AgentSkillOrigin;
13
+ originLabel?: string | null;
14
+ locationLabel?: string | null;
15
+ readOnly?: boolean;
16
+ sourcePath?: string | null;
17
+ targetPath?: string | null;
18
+ detail?: string | null;
19
+ }
20
+ export interface AgentSkillSnapshot {
21
+ adapterType: string;
22
+ supported: boolean;
23
+ mode: AgentSkillSyncMode;
24
+ desiredSkills: string[];
25
+ entries: AgentSkillEntry[];
26
+ warnings: string[];
27
+ }
28
+ export interface AgentSkillSyncRequest {
29
+ desiredSkills: string[];
30
+ }
31
+ //# sourceMappingURL=adapter-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-skills.d.ts","sourceRoot":"","sources":["../../src/types/adapter-skills.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;AAE5E,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,YAAY,GACZ,WAAW,GACX,SAAS,GACT,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,kBAAkB,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=adapter-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-skills.js","sourceRoot":"","sources":["../../src/types/adapter-skills.ts"],"names":[],"mappings":""}
@@ -0,0 +1,108 @@
1
+ import type { AgentAdapterType, PauseReason, AgentRole, AgentStatus } from "../constants.js";
2
+ import type { CompanyMembership, PrincipalPermissionGrant } from "./access.js";
3
+ export interface AgentPermissions {
4
+ canCreateAgents: boolean;
5
+ }
6
+ export type AgentInstructionsBundleMode = "managed" | "external";
7
+ export interface AgentInstructionsFileSummary {
8
+ path: string;
9
+ size: number;
10
+ language: string;
11
+ markdown: boolean;
12
+ isEntryFile: boolean;
13
+ editable: boolean;
14
+ deprecated: boolean;
15
+ virtual: boolean;
16
+ }
17
+ export interface AgentInstructionsFileDetail extends AgentInstructionsFileSummary {
18
+ content: string;
19
+ }
20
+ export interface AgentInstructionsBundle {
21
+ agentId: string;
22
+ companyId: string;
23
+ mode: AgentInstructionsBundleMode | null;
24
+ rootPath: string | null;
25
+ managedRootPath: string;
26
+ entryFile: string;
27
+ resolvedEntryPath: string | null;
28
+ editable: boolean;
29
+ warnings: string[];
30
+ legacyPromptTemplateActive: boolean;
31
+ legacyBootstrapPromptTemplateActive: boolean;
32
+ files: AgentInstructionsFileSummary[];
33
+ }
34
+ export interface AgentAccessState {
35
+ canAssignTasks: boolean;
36
+ taskAssignSource: "explicit_grant" | "agent_creator" | "ceo_role" | "none";
37
+ membership: CompanyMembership | null;
38
+ grants: PrincipalPermissionGrant[];
39
+ }
40
+ export interface AgentChainOfCommandEntry {
41
+ id: string;
42
+ name: string;
43
+ role: AgentRole;
44
+ title: string | null;
45
+ }
46
+ export interface Agent {
47
+ id: string;
48
+ companyId: string;
49
+ name: string;
50
+ urlKey: string;
51
+ role: AgentRole;
52
+ title: string | null;
53
+ icon: string | null;
54
+ status: AgentStatus;
55
+ reportsTo: string | null;
56
+ capabilities: string | null;
57
+ adapterType: AgentAdapterType;
58
+ adapterConfig: Record<string, unknown>;
59
+ runtimeConfig: Record<string, unknown>;
60
+ budgetMonthlyCents: number;
61
+ spentMonthlyCents: number;
62
+ pauseReason: PauseReason | null;
63
+ pausedAt: Date | null;
64
+ permissions: AgentPermissions;
65
+ lastHeartbeatAt: Date | null;
66
+ metadata: Record<string, unknown> | null;
67
+ createdAt: Date;
68
+ updatedAt: Date;
69
+ }
70
+ export interface AgentDetail extends Agent {
71
+ chainOfCommand: AgentChainOfCommandEntry[];
72
+ access: AgentAccessState;
73
+ }
74
+ export interface AgentKeyCreated {
75
+ id: string;
76
+ name: string;
77
+ token: string;
78
+ createdAt: Date;
79
+ }
80
+ export interface AgentConfigRevision {
81
+ id: string;
82
+ companyId: string;
83
+ agentId: string;
84
+ createdByAgentId: string | null;
85
+ createdByUserId: string | null;
86
+ source: string;
87
+ rolledBackFromRevisionId: string | null;
88
+ changedKeys: string[];
89
+ beforeConfig: Record<string, unknown>;
90
+ afterConfig: Record<string, unknown>;
91
+ createdAt: Date;
92
+ }
93
+ export type AdapterEnvironmentCheckLevel = "info" | "warn" | "error";
94
+ export type AdapterEnvironmentTestStatus = "pass" | "warn" | "fail";
95
+ export interface AdapterEnvironmentCheck {
96
+ code: string;
97
+ level: AdapterEnvironmentCheckLevel;
98
+ message: string;
99
+ detail?: string | null;
100
+ hint?: string | null;
101
+ }
102
+ export interface AdapterEnvironmentTestResult {
103
+ adapterType: string;
104
+ status: AdapterEnvironmentTestStatus;
105
+ checks: AdapterEnvironmentCheck[];
106
+ testedAt: string;
107
+ }
108
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import type { ApprovalStatus, ApprovalType } from "../constants.js";
2
+ export interface Approval {
3
+ id: string;
4
+ companyId: string;
5
+ type: ApprovalType;
6
+ requestedByAgentId: string | null;
7
+ requestedByUserId: string | null;
8
+ status: ApprovalStatus;
9
+ payload: Record<string, unknown>;
10
+ decisionNote: string | null;
11
+ decidedByUserId: string | null;
12
+ decidedAt: Date | null;
13
+ createdAt: Date;
14
+ updatedAt: Date;
15
+ }
16
+ export interface ApprovalComment {
17
+ id: string;
18
+ companyId: string;
19
+ approvalId: string;
20
+ authorAgentId: string | null;
21
+ authorUserId: string | null;
22
+ body: string;
23
+ createdAt: Date;
24
+ updatedAt: Date;
25
+ }
26
+ //# sourceMappingURL=approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../src/types/approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/types/approval.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export interface AssetImage {
2
+ assetId: string;
3
+ companyId: string;
4
+ provider: string;
5
+ objectKey: string;
6
+ contentType: string;
7
+ byteSize: number;
8
+ sha256: string;
9
+ originalFilename: string | null;
10
+ createdByAgentId: string | null;
11
+ createdByUserId: string | null;
12
+ createdAt: Date;
13
+ updatedAt: Date;
14
+ contentPath: string;
15
+ }
16
+ //# sourceMappingURL=asset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/types/asset.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/types/asset.ts"],"names":[],"mappings":""}
@@ -0,0 +1,86 @@
1
+ import type { BudgetIncidentResolutionAction, BudgetIncidentStatus, BudgetMetric, BudgetScopeType, BudgetThresholdType, BudgetWindowKind, PauseReason } from "../constants.js";
2
+ export interface BudgetPolicy {
3
+ id: string;
4
+ companyId: string;
5
+ scopeType: BudgetScopeType;
6
+ scopeId: string;
7
+ metric: BudgetMetric;
8
+ windowKind: BudgetWindowKind;
9
+ amount: number;
10
+ warnPercent: number;
11
+ hardStopEnabled: boolean;
12
+ notifyEnabled: boolean;
13
+ isActive: boolean;
14
+ createdByUserId: string | null;
15
+ updatedByUserId: string | null;
16
+ createdAt: Date;
17
+ updatedAt: Date;
18
+ }
19
+ export interface BudgetPolicySummary {
20
+ policyId: string;
21
+ companyId: string;
22
+ scopeType: BudgetScopeType;
23
+ scopeId: string;
24
+ scopeName: string;
25
+ metric: BudgetMetric;
26
+ windowKind: BudgetWindowKind;
27
+ amount: number;
28
+ observedAmount: number;
29
+ remainingAmount: number;
30
+ utilizationPercent: number;
31
+ warnPercent: number;
32
+ hardStopEnabled: boolean;
33
+ notifyEnabled: boolean;
34
+ isActive: boolean;
35
+ status: "ok" | "warning" | "hard_stop";
36
+ paused: boolean;
37
+ pauseReason: PauseReason | null;
38
+ windowStart: Date;
39
+ windowEnd: Date;
40
+ }
41
+ export interface BudgetIncident {
42
+ id: string;
43
+ companyId: string;
44
+ policyId: string;
45
+ scopeType: BudgetScopeType;
46
+ scopeId: string;
47
+ scopeName: string;
48
+ metric: BudgetMetric;
49
+ windowKind: BudgetWindowKind;
50
+ windowStart: Date;
51
+ windowEnd: Date;
52
+ thresholdType: BudgetThresholdType;
53
+ amountLimit: number;
54
+ amountObserved: number;
55
+ status: BudgetIncidentStatus;
56
+ approvalId: string | null;
57
+ approvalStatus: string | null;
58
+ resolvedAt: Date | null;
59
+ createdAt: Date;
60
+ updatedAt: Date;
61
+ }
62
+ export interface BudgetOverview {
63
+ companyId: string;
64
+ policies: BudgetPolicySummary[];
65
+ activeIncidents: BudgetIncident[];
66
+ pausedAgentCount: number;
67
+ pausedProjectCount: number;
68
+ pendingApprovalCount: number;
69
+ }
70
+ export interface BudgetPolicyUpsertInput {
71
+ scopeType: BudgetScopeType;
72
+ scopeId: string;
73
+ metric?: BudgetMetric;
74
+ windowKind?: BudgetWindowKind;
75
+ amount: number;
76
+ warnPercent?: number;
77
+ hardStopEnabled?: boolean;
78
+ notifyEnabled?: boolean;
79
+ isActive?: boolean;
80
+ }
81
+ export interface BudgetIncidentResolutionInput {
82
+ action: BudgetIncidentResolutionAction;
83
+ amount?: number;
84
+ decisionNote?: string | null;
85
+ }
86
+ //# sourceMappingURL=budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/types/budget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/types/budget.ts"],"names":[],"mappings":""}