@dharta/cli 0.6.77 → 0.6.78

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 (293) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +215 -11
  3. package/dist/agent.js +3 -2
  4. package/dist/agent.js.map +1 -1
  5. package/dist/api-error.js +6 -6
  6. package/dist/api-error.js.map +1 -1
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.js +860 -149
  9. package/dist/cli.js.map +1 -1
  10. package/dist/command-tree.d.ts +3 -0
  11. package/dist/command-tree.js +10 -0
  12. package/dist/command-tree.js.map +1 -0
  13. package/dist/commands/agents.d.ts +54 -17
  14. package/dist/commands/agents.js +246 -136
  15. package/dist/commands/agents.js.map +1 -1
  16. package/dist/commands/analytics.js +6 -5
  17. package/dist/commands/analytics.js.map +1 -1
  18. package/dist/commands/api.js +71 -86
  19. package/dist/commands/api.js.map +1 -1
  20. package/dist/commands/appearance.js +5 -6
  21. package/dist/commands/appearance.js.map +1 -1
  22. package/dist/commands/artifact.js +7 -6
  23. package/dist/commands/artifact.js.map +1 -1
  24. package/dist/commands/audit-log.js +2 -1
  25. package/dist/commands/audit-log.js.map +1 -1
  26. package/dist/commands/auth.js +26 -6
  27. package/dist/commands/auth.js.map +1 -1
  28. package/dist/commands/caps.js +11 -15
  29. package/dist/commands/caps.js.map +1 -1
  30. package/dist/commands/deploy.js +25 -10
  31. package/dist/commands/deploy.js.map +1 -1
  32. package/dist/commands/dev.d.ts +10 -1
  33. package/dist/commands/dev.js +56 -25
  34. package/dist/commands/dev.js.map +1 -1
  35. package/dist/commands/doctor.d.ts +2 -0
  36. package/dist/commands/doctor.js +60 -0
  37. package/dist/commands/doctor.js.map +1 -1
  38. package/dist/commands/embed-keys.js +4 -13
  39. package/dist/commands/embed-keys.js.map +1 -1
  40. package/dist/commands/env.js +4 -7
  41. package/dist/commands/env.js.map +1 -1
  42. package/dist/commands/files.js +3 -4
  43. package/dist/commands/files.js.map +1 -1
  44. package/dist/commands/fleet.d.ts +129 -0
  45. package/dist/commands/fleet.js +408 -0
  46. package/dist/commands/fleet.js.map +1 -0
  47. package/dist/commands/genui.d.ts +2 -0
  48. package/dist/commands/genui.js +53 -0
  49. package/dist/commands/genui.js.map +1 -0
  50. package/dist/commands/git-credential.js +2 -3
  51. package/dist/commands/git-credential.js.map +1 -1
  52. package/dist/commands/kartas.d.ts +9 -0
  53. package/dist/commands/kartas.js +33 -11
  54. package/dist/commands/kartas.js.map +1 -1
  55. package/dist/commands/keys.d.ts +17 -18
  56. package/dist/commands/keys.js +108 -19
  57. package/dist/commands/keys.js.map +1 -1
  58. package/dist/commands/login.js +2 -1
  59. package/dist/commands/login.js.map +1 -1
  60. package/dist/commands/members.d.ts +10 -0
  61. package/dist/commands/members.js +20 -6
  62. package/dist/commands/members.js.map +1 -1
  63. package/dist/commands/model-connections.d.ts +44 -0
  64. package/dist/commands/model-connections.js +435 -0
  65. package/dist/commands/model-connections.js.map +1 -0
  66. package/dist/commands/open.d.ts +2 -2
  67. package/dist/commands/open.js +4 -3
  68. package/dist/commands/open.js.map +1 -1
  69. package/dist/commands/org.d.ts +9 -0
  70. package/dist/commands/org.js +42 -0
  71. package/dist/commands/org.js.map +1 -0
  72. package/dist/commands/organization.d.ts +16 -0
  73. package/dist/commands/organization.js +118 -0
  74. package/dist/commands/organization.js.map +1 -0
  75. package/dist/commands/parity.js +1 -3
  76. package/dist/commands/parity.js.map +1 -1
  77. package/dist/commands/repos.d.ts +4 -0
  78. package/dist/commands/repos.js +17 -0
  79. package/dist/commands/repos.js.map +1 -0
  80. package/dist/commands/rollback.js +2 -3
  81. package/dist/commands/rollback.js.map +1 -1
  82. package/dist/commands/schedules.js +26 -21
  83. package/dist/commands/schedules.js.map +1 -1
  84. package/dist/commands/scopes.js +8 -1
  85. package/dist/commands/scopes.js.map +1 -1
  86. package/dist/commands/sessions.js +9 -3
  87. package/dist/commands/sessions.js.map +1 -1
  88. package/dist/commands/setup.js +5 -4
  89. package/dist/commands/setup.js.map +1 -1
  90. package/dist/commands/update.d.ts +1 -0
  91. package/dist/commands/update.js +24 -11
  92. package/dist/commands/update.js.map +1 -1
  93. package/dist/commands/webhooks.d.ts +4 -1
  94. package/dist/commands/webhooks.js +21 -16
  95. package/dist/commands/webhooks.js.map +1 -1
  96. package/dist/completions.js +24 -13
  97. package/dist/completions.js.map +1 -1
  98. package/dist/config.d.ts +12 -0
  99. package/dist/config.js +121 -7
  100. package/dist/config.js.map +1 -1
  101. package/dist/context.d.ts +2 -0
  102. package/dist/context.js +23 -7
  103. package/dist/context.js.map +1 -1
  104. package/dist/docs/cli-reference.d.ts +2 -0
  105. package/dist/docs/cli-reference.js +191 -0
  106. package/dist/docs/cli-reference.js.map +1 -0
  107. package/dist/exit-codes.d.ts +25 -0
  108. package/dist/exit-codes.js +107 -0
  109. package/dist/exit-codes.js.map +1 -0
  110. package/dist/genui.d.ts +178 -0
  111. package/dist/genui.js +1130 -0
  112. package/dist/genui.js.map +1 -0
  113. package/dist/harnesses.js +2 -1
  114. package/dist/harnesses.js.map +1 -1
  115. package/dist/jq.d.ts +4 -0
  116. package/dist/jq.js +91 -0
  117. package/dist/jq.js.map +1 -0
  118. package/dist/login-offer.js +6 -2
  119. package/dist/login-offer.js.map +1 -1
  120. package/dist/manifest.d.ts +12 -0
  121. package/dist/manifest.js +126 -0
  122. package/dist/manifest.js.map +1 -1
  123. package/dist/model-auth.d.ts +29 -0
  124. package/dist/model-auth.js +117 -0
  125. package/dist/model-auth.js.map +1 -0
  126. package/dist/model-settings.d.ts +23 -0
  127. package/dist/model-settings.js +186 -0
  128. package/dist/model-settings.js.map +1 -0
  129. package/dist/money.js +2 -1
  130. package/dist/money.js.map +1 -1
  131. package/dist/output.d.ts +6 -0
  132. package/dist/output.js +54 -0
  133. package/dist/output.js.map +1 -1
  134. package/dist/runtime.d.ts +1 -1
  135. package/dist/runtime.js +1 -1
  136. package/dist/scaffold.js +2 -1
  137. package/dist/scaffold.js.map +1 -1
  138. package/dist/validators.js +17 -11
  139. package/dist/validators.js.map +1 -1
  140. package/dist/version-check.d.ts +1 -1
  141. package/dist/version-check.js +1 -1
  142. package/dist/version-check.js.map +1 -1
  143. package/node_modules/@dharta/contracts/LICENSE +21 -0
  144. package/node_modules/@dharta/contracts/README.md +45 -0
  145. package/node_modules/@dharta/contracts/artifact-runtime.json +750 -0
  146. package/node_modules/@dharta/contracts/dist/activity.d.ts +62 -0
  147. package/node_modules/@dharta/contracts/dist/activity.d.ts.map +1 -0
  148. package/node_modules/@dharta/contracts/dist/activity.js +178 -0
  149. package/node_modules/@dharta/contracts/dist/activity.js.map +1 -0
  150. package/node_modules/@dharta/contracts/dist/artifact-runtime-formats.d.ts +20 -0
  151. package/node_modules/@dharta/contracts/dist/artifact-runtime-formats.d.ts.map +1 -0
  152. package/node_modules/@dharta/contracts/dist/artifact-runtime-formats.js +53 -0
  153. package/node_modules/@dharta/contracts/dist/artifact-runtime-formats.js.map +1 -0
  154. package/node_modules/@dharta/contracts/dist/artifact-runtime-validators.generated.d.ts +37 -0
  155. package/node_modules/@dharta/contracts/dist/artifact-runtime-validators.generated.d.ts.map +1 -0
  156. package/node_modules/@dharta/contracts/dist/artifact-runtime-validators.generated.js +5107 -0
  157. package/node_modules/@dharta/contracts/dist/artifact-runtime-validators.generated.js.map +1 -0
  158. package/node_modules/@dharta/contracts/dist/artifact-runtime.d.ts +154 -0
  159. package/node_modules/@dharta/contracts/dist/artifact-runtime.d.ts.map +1 -0
  160. package/node_modules/@dharta/contracts/dist/artifact-runtime.generated.d.ts +1670 -0
  161. package/node_modules/@dharta/contracts/dist/artifact-runtime.generated.d.ts.map +1 -0
  162. package/node_modules/@dharta/contracts/dist/artifact-runtime.generated.js +1903 -0
  163. package/node_modules/@dharta/contracts/dist/artifact-runtime.generated.js.map +1 -0
  164. package/node_modules/@dharta/contracts/dist/artifact-runtime.js +377 -0
  165. package/node_modules/@dharta/contracts/dist/artifact-runtime.js.map +1 -0
  166. package/node_modules/@dharta/contracts/dist/index.d.ts +6 -0
  167. package/node_modules/@dharta/contracts/dist/index.d.ts.map +1 -0
  168. package/node_modules/@dharta/contracts/dist/index.js +6 -0
  169. package/node_modules/@dharta/contracts/dist/index.js.map +1 -0
  170. package/node_modules/@dharta/contracts/dist/model-auth.d.ts +31 -0
  171. package/node_modules/@dharta/contracts/dist/model-auth.d.ts.map +1 -0
  172. package/node_modules/@dharta/contracts/dist/model-auth.js +45 -0
  173. package/node_modules/@dharta/contracts/dist/model-auth.js.map +1 -0
  174. package/node_modules/@dharta/contracts/dist/tasks.d.ts +44 -0
  175. package/node_modules/@dharta/contracts/dist/tasks.d.ts.map +1 -0
  176. package/node_modules/@dharta/contracts/dist/tasks.js +127 -0
  177. package/node_modules/@dharta/contracts/dist/tasks.js.map +1 -0
  178. package/node_modules/@dharta/contracts/dist/wire-events.d.ts +71 -0
  179. package/node_modules/@dharta/contracts/dist/wire-events.d.ts.map +1 -0
  180. package/node_modules/@dharta/contracts/dist/wire-events.js +48 -0
  181. package/node_modules/@dharta/contracts/dist/wire-events.js.map +1 -0
  182. package/node_modules/@dharta/contracts/model-auth-capabilities-v1.json +168 -0
  183. package/node_modules/@dharta/contracts/model-auth-reasons-v1.json +38 -0
  184. package/node_modules/@dharta/contracts/package.json +44 -0
  185. package/node_modules/@dharta/contracts/src/activity.ts +215 -0
  186. package/node_modules/@dharta/contracts/src/artifact-runtime-formats.ts +54 -0
  187. package/node_modules/@dharta/contracts/src/artifact-runtime-validators.generated.ts +29 -0
  188. package/node_modules/@dharta/contracts/src/artifact-runtime.generated.ts +2093 -0
  189. package/node_modules/@dharta/contracts/src/artifact-runtime.ts +520 -0
  190. package/node_modules/@dharta/contracts/src/index.ts +5 -0
  191. package/node_modules/@dharta/contracts/src/model-auth.ts +82 -0
  192. package/node_modules/@dharta/contracts/src/tasks.ts +142 -0
  193. package/node_modules/@dharta/contracts/src/wire-events.ts +150 -0
  194. package/node_modules/@dharta/contracts/wire-events.json +29 -0
  195. package/node_modules/@dharta/sdk/LICENSE +1 -1
  196. package/node_modules/@dharta/sdk/README.md +22 -8
  197. package/node_modules/@dharta/sdk/dist/errors.d.ts +9 -7
  198. package/node_modules/@dharta/sdk/dist/errors.d.ts.map +1 -1
  199. package/node_modules/@dharta/sdk/dist/errors.js +36 -18
  200. package/node_modules/@dharta/sdk/dist/errors.js.map +1 -1
  201. package/node_modules/@dharta/sdk/dist/fleet.d.ts +69 -0
  202. package/node_modules/@dharta/sdk/dist/fleet.d.ts.map +1 -0
  203. package/node_modules/@dharta/sdk/dist/fleet.js +240 -0
  204. package/node_modules/@dharta/sdk/dist/fleet.js.map +1 -0
  205. package/node_modules/@dharta/sdk/dist/http.d.ts +6 -2
  206. package/node_modules/@dharta/sdk/dist/http.d.ts.map +1 -1
  207. package/node_modules/@dharta/sdk/dist/http.js +71 -12
  208. package/node_modules/@dharta/sdk/dist/http.js.map +1 -1
  209. package/node_modules/@dharta/sdk/dist/idempotency.d.ts +12 -0
  210. package/node_modules/@dharta/sdk/dist/idempotency.d.ts.map +1 -0
  211. package/node_modules/@dharta/sdk/dist/idempotency.js +72 -0
  212. package/node_modules/@dharta/sdk/dist/idempotency.js.map +1 -0
  213. package/node_modules/@dharta/sdk/dist/index.d.ts +20 -6
  214. package/node_modules/@dharta/sdk/dist/index.d.ts.map +1 -1
  215. package/node_modules/@dharta/sdk/dist/index.js +27 -4
  216. package/node_modules/@dharta/sdk/dist/index.js.map +1 -1
  217. package/node_modules/@dharta/sdk/dist/resources.d.ts +108 -13
  218. package/node_modules/@dharta/sdk/dist/resources.d.ts.map +1 -1
  219. package/node_modules/@dharta/sdk/dist/resources.js +403 -57
  220. package/node_modules/@dharta/sdk/dist/resources.js.map +1 -1
  221. package/node_modules/@dharta/sdk/dist/types.d.ts +436 -16
  222. package/node_modules/@dharta/sdk/dist/types.d.ts.map +1 -1
  223. package/node_modules/@dharta/sdk/dist/types.js +31 -2
  224. package/node_modules/@dharta/sdk/dist/types.js.map +1 -1
  225. package/node_modules/@dharta/sdk/package.json +9 -3
  226. package/node_modules/@dharta/sdk/src/errors.ts +41 -18
  227. package/node_modules/@dharta/sdk/src/fleet.ts +339 -0
  228. package/node_modules/@dharta/sdk/src/http.ts +110 -17
  229. package/node_modules/@dharta/sdk/src/idempotency.ts +101 -0
  230. package/node_modules/@dharta/sdk/src/index.ts +50 -11
  231. package/node_modules/@dharta/sdk/src/resources.ts +549 -68
  232. package/node_modules/@dharta/sdk/src/types.ts +629 -20
  233. package/package.json +16 -6
  234. package/src/agent.ts +3 -2
  235. package/src/api-error.ts +6 -5
  236. package/src/cli.ts +978 -163
  237. package/src/command-tree.ts +13 -0
  238. package/src/commands/agents.ts +365 -167
  239. package/src/commands/analytics.ts +6 -5
  240. package/src/commands/api.ts +73 -92
  241. package/src/commands/appearance.ts +5 -6
  242. package/src/commands/artifact.ts +7 -6
  243. package/src/commands/audit-log.ts +2 -1
  244. package/src/commands/auth.ts +25 -5
  245. package/src/commands/caps.ts +11 -15
  246. package/src/commands/deploy.ts +18 -4
  247. package/src/commands/dev.ts +86 -25
  248. package/src/commands/doctor.ts +69 -0
  249. package/src/commands/embed-keys.ts +4 -14
  250. package/src/commands/env.ts +4 -7
  251. package/src/commands/files.ts +3 -4
  252. package/src/commands/fleet.ts +672 -0
  253. package/src/commands/genui.ts +59 -0
  254. package/src/commands/git-credential.ts +2 -3
  255. package/src/commands/kartas.ts +45 -11
  256. package/src/commands/keys.ts +152 -35
  257. package/src/commands/login.ts +2 -1
  258. package/src/commands/members.ts +31 -6
  259. package/src/commands/model-connections.ts +547 -0
  260. package/src/commands/open.ts +5 -4
  261. package/src/commands/org.ts +57 -0
  262. package/src/commands/organization.ts +153 -0
  263. package/src/commands/parity.ts +1 -3
  264. package/src/commands/repos.ts +23 -0
  265. package/src/commands/rollback.ts +2 -3
  266. package/src/commands/schedules.ts +33 -22
  267. package/src/commands/scopes.ts +8 -1
  268. package/src/commands/sessions.ts +9 -3
  269. package/src/commands/setup.ts +5 -4
  270. package/src/commands/update.ts +28 -12
  271. package/src/commands/webhooks.ts +30 -19
  272. package/src/completions.ts +25 -13
  273. package/src/config.ts +141 -9
  274. package/src/context.ts +34 -7
  275. package/src/docs/cli-reference.ts +206 -0
  276. package/src/exit-codes.ts +122 -0
  277. package/src/genui.ts +1398 -0
  278. package/src/harnesses.ts +2 -1
  279. package/src/jq.ts +109 -0
  280. package/src/login-offer.ts +6 -2
  281. package/src/manifest.ts +134 -0
  282. package/src/model-auth.ts +173 -0
  283. package/src/model-settings.ts +222 -0
  284. package/src/money.ts +5 -1
  285. package/src/output.ts +60 -0
  286. package/src/runtime.ts +1 -1
  287. package/src/scaffold.ts +2 -1
  288. package/src/validators.ts +18 -11
  289. package/src/version-check.ts +1 -1
  290. package/dist/commands/model-keys.d.ts +0 -22
  291. package/dist/commands/model-keys.js +0 -222
  292. package/dist/commands/model-keys.js.map +0 -1
  293. package/src/commands/model-keys.ts +0 -278
@@ -0,0 +1,62 @@
1
+ /** RFC 0065 semantic activity wire contract (snake_case, server -> consumer). */
2
+ export declare const ACTIVITY_KINDS: readonly ["read", "search", "create", "edit", "delete", "move", "command", "test", "request", "artifact", "task", "other"];
3
+ export declare const ACTIVITY_STATUSES: readonly ["queued", "running", "awaiting_approval", "succeeded", "failed", "denied", "cancelled", "interrupted"];
4
+ export declare const ACTIVITY_TARGET_KINDS: readonly ["file", "directory", "command", "url", "artifact", "task", "other"];
5
+ export declare const ACTIVITY_DETAIL_RENDERERS: readonly ["file_diff", "command", "search_results", "request", "artifact", "json"];
6
+ export declare const ACTIVITY_PRESENTATIONS: readonly ["row", "current", "badge"];
7
+ export declare const ACTIVITY_SOURCE_KINDS: readonly ["workspace", "web", "integration", "system", "subagent", "harness", "other"];
8
+ export declare const ACTIVITY_LIMITS: {
9
+ readonly idChars: 128;
10
+ readonly labelChars: 240;
11
+ readonly pathChars: 1024;
12
+ readonly detailBytes: 32768;
13
+ readonly detailLines: 400;
14
+ readonly detailItems: 200;
15
+ };
16
+ export type ActivityKindWire = (typeof ACTIVITY_KINDS)[number];
17
+ export type ActivityStatusWire = (typeof ACTIVITY_STATUSES)[number];
18
+ export type ActivityTargetKindWire = (typeof ACTIVITY_TARGET_KINDS)[number];
19
+ export type ActivityDetailRendererWire = (typeof ACTIVITY_DETAIL_RENDERERS)[number];
20
+ export type ActivityPresentationModeWire = (typeof ACTIVITY_PRESENTATIONS)[number];
21
+ export type ActivitySourceKindWire = (typeof ACTIVITY_SOURCE_KINDS)[number];
22
+ export interface ActivitySourceWire {
23
+ kind: ActivitySourceKindWire;
24
+ label?: string;
25
+ }
26
+ export interface ActivityTargetWire {
27
+ kind: ActivityTargetKindWire;
28
+ label: string;
29
+ path?: string;
30
+ }
31
+ export interface ActivityMetricsWire {
32
+ added_lines?: number;
33
+ removed_lines?: number;
34
+ item_count?: number;
35
+ exit_code?: number;
36
+ duration_ms?: number;
37
+ tool_uses?: number;
38
+ }
39
+ export interface ActivityDetailWire {
40
+ renderer: ActivityDetailRendererWire;
41
+ payload: unknown;
42
+ truncated?: boolean;
43
+ }
44
+ export interface ActivityPresentationWire {
45
+ schema_version: 1;
46
+ activity_id: string;
47
+ turn_id: string;
48
+ task_id?: string;
49
+ kind: ActivityKindWire;
50
+ status: ActivityStatusWire;
51
+ target?: ActivityTargetWire;
52
+ metrics?: ActivityMetricsWire;
53
+ detail?: ActivityDetailWire;
54
+ started_at?: string;
55
+ completed_at?: string;
56
+ fallback_label?: string;
57
+ presentation?: ActivityPresentationModeWire;
58
+ source?: ActivitySourceWire;
59
+ }
60
+ /** Validate an untrusted decoded value. Invalid metadata falls back to its legacy tool event. */
61
+ export declare function parseActivityPresentationWire(value: unknown): ActivityPresentationWire | null;
62
+ //# sourceMappingURL=activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ /** RFC 0065 semantic activity wire contract (snake_case, server -> consumer). */
2
+ export const ACTIVITY_KINDS = [
3
+ "read", "search", "create", "edit", "delete", "move", "command",
4
+ "test", "request", "artifact", "task", "other",
5
+ ];
6
+ export const ACTIVITY_STATUSES = [
7
+ "queued", "running", "awaiting_approval", "succeeded", "failed",
8
+ "denied", "cancelled", "interrupted",
9
+ ];
10
+ export const ACTIVITY_TARGET_KINDS = [
11
+ "file", "directory", "command", "url", "artifact", "task", "other",
12
+ ];
13
+ export const ACTIVITY_DETAIL_RENDERERS = [
14
+ "file_diff", "command", "search_results", "request", "artifact", "json",
15
+ ];
16
+ export const ACTIVITY_PRESENTATIONS = ["row", "current", "badge"];
17
+ export const ACTIVITY_SOURCE_KINDS = [
18
+ "workspace", "web", "integration", "system", "subagent", "harness", "other",
19
+ ];
20
+ export const ACTIVITY_LIMITS = {
21
+ idChars: 128,
22
+ labelChars: 240,
23
+ pathChars: 1024,
24
+ detailBytes: 32_768,
25
+ detailLines: 400,
26
+ detailItems: 200,
27
+ };
28
+ const KIND_SET = new Set(ACTIVITY_KINDS);
29
+ const STATUS_SET = new Set(ACTIVITY_STATUSES);
30
+ const TARGET_KIND_SET = new Set(ACTIVITY_TARGET_KINDS);
31
+ const DETAIL_RENDERER_SET = new Set(ACTIVITY_DETAIL_RENDERERS);
32
+ const PRESENTATION_SET = new Set(ACTIVITY_PRESENTATIONS);
33
+ const SOURCE_KIND_SET = new Set(ACTIVITY_SOURCE_KINDS);
34
+ const METRIC_KEYS = [
35
+ "added_lines", "removed_lines", "item_count", "exit_code", "duration_ms", "tool_uses",
36
+ ];
37
+ /** Validate an untrusted decoded value. Invalid metadata falls back to its legacy tool event. */
38
+ export function parseActivityPresentationWire(value) {
39
+ if (!isRecord(value) || value.schema_version !== 1)
40
+ return null;
41
+ if (!boundedString(value.activity_id, ACTIVITY_LIMITS.idChars))
42
+ return null;
43
+ if (!boundedString(value.turn_id, ACTIVITY_LIMITS.idChars))
44
+ return null;
45
+ if (!KIND_SET.has(String(value.kind)) || !STATUS_SET.has(String(value.status)))
46
+ return null;
47
+ if (value.task_id !== undefined && !boundedString(value.task_id, ACTIVITY_LIMITS.idChars))
48
+ return null;
49
+ if (value.started_at !== undefined && !validTimestamp(value.started_at))
50
+ return null;
51
+ if (value.completed_at !== undefined && !validTimestamp(value.completed_at))
52
+ return null;
53
+ if (value.presentation !== undefined && !PRESENTATION_SET.has(String(value.presentation)))
54
+ return null;
55
+ const kind = value.kind;
56
+ if (value.fallback_label !== undefined) {
57
+ if (kind !== "other" || !boundedString(value.fallback_label, ACTIVITY_LIMITS.labelChars))
58
+ return null;
59
+ }
60
+ const target = parseTarget(value.target);
61
+ if (value.target !== undefined && target === null)
62
+ return null;
63
+ const metrics = parseMetrics(value.metrics);
64
+ if (value.metrics !== undefined && metrics === null)
65
+ return null;
66
+ const detail = parseDetail(value.detail);
67
+ if (value.detail !== undefined && detail === null)
68
+ return null;
69
+ const source = parseSource(value.source);
70
+ if (value.source !== undefined && source === null)
71
+ return null;
72
+ return {
73
+ schema_version: 1,
74
+ activity_id: value.activity_id,
75
+ turn_id: value.turn_id,
76
+ ...(value.task_id !== undefined ? { task_id: value.task_id } : {}),
77
+ kind,
78
+ status: value.status,
79
+ ...(target ? { target } : {}),
80
+ ...(metrics ? { metrics } : {}),
81
+ ...(detail ? { detail } : {}),
82
+ ...(value.started_at !== undefined ? { started_at: value.started_at } : {}),
83
+ ...(value.completed_at !== undefined ? { completed_at: value.completed_at } : {}),
84
+ ...(value.fallback_label !== undefined ? { fallback_label: value.fallback_label } : {}),
85
+ ...(value.presentation !== undefined ? { presentation: value.presentation } : {}),
86
+ ...(source ? { source } : {}),
87
+ };
88
+ }
89
+ function parseSource(value) {
90
+ if (value === undefined)
91
+ return null;
92
+ if (!isRecord(value) || !SOURCE_KIND_SET.has(String(value.kind)))
93
+ return null;
94
+ if (value.label !== undefined && !boundedString(value.label, ACTIVITY_LIMITS.labelChars))
95
+ return null;
96
+ return {
97
+ kind: value.kind,
98
+ ...(value.label !== undefined ? { label: value.label } : {}),
99
+ };
100
+ }
101
+ function parseTarget(value) {
102
+ if (value === undefined)
103
+ return null;
104
+ if (!isRecord(value) || !TARGET_KIND_SET.has(String(value.kind)))
105
+ return null;
106
+ if (!boundedString(value.label, ACTIVITY_LIMITS.labelChars))
107
+ return null;
108
+ if (value.path !== undefined) {
109
+ if (!boundedString(value.path, ACTIVITY_LIMITS.pathChars) || !safeRelativePath(value.path))
110
+ return null;
111
+ }
112
+ return {
113
+ kind: value.kind,
114
+ label: value.label,
115
+ ...(value.path !== undefined ? { path: value.path } : {}),
116
+ };
117
+ }
118
+ function parseMetrics(value) {
119
+ if (value === undefined)
120
+ return null;
121
+ if (!isRecord(value))
122
+ return null;
123
+ const metrics = {};
124
+ for (const key of METRIC_KEYS) {
125
+ const metric = value[key];
126
+ if (metric === undefined)
127
+ continue;
128
+ if (!Number.isSafeInteger(metric))
129
+ return null;
130
+ if (key !== "exit_code" && metric < 0)
131
+ return null;
132
+ metrics[key] = metric;
133
+ }
134
+ return metrics;
135
+ }
136
+ function parseDetail(value) {
137
+ if (value === undefined)
138
+ return null;
139
+ if (!isRecord(value) || !DETAIL_RENDERER_SET.has(String(value.renderer)))
140
+ return null;
141
+ if (!("payload" in value))
142
+ return null;
143
+ if (value.truncated !== undefined && typeof value.truncated !== "boolean")
144
+ return null;
145
+ if (jsonByteLength(value.payload) > ACTIVITY_LIMITS.detailBytes)
146
+ return null;
147
+ return {
148
+ renderer: value.renderer,
149
+ payload: value.payload,
150
+ ...(value.truncated !== undefined ? { truncated: value.truncated } : {}),
151
+ };
152
+ }
153
+ function safeRelativePath(value) {
154
+ if (value.startsWith("/") || value.includes("\\"))
155
+ return false;
156
+ if (/^[A-Za-z]:[\\/]/.test(value))
157
+ return false;
158
+ return !value.split("/").some((part) => part === "" || part === "." || part === "..");
159
+ }
160
+ function jsonByteLength(value) {
161
+ try {
162
+ const encoded = JSON.stringify(value);
163
+ return encoded === undefined ? 0 : new TextEncoder().encode(encoded).byteLength;
164
+ }
165
+ catch {
166
+ return Number.POSITIVE_INFINITY;
167
+ }
168
+ }
169
+ function validTimestamp(value) {
170
+ return boundedString(value, 64) && Number.isFinite(Date.parse(value));
171
+ }
172
+ function boundedString(value, max) {
173
+ return typeof value === "string" && value.length > 0 && value.length <= max;
174
+ }
175
+ function isRecord(value) {
176
+ return typeof value === "object" && value !== null && !Array.isArray(value);
177
+ }
178
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare const RFC3339_DATE_TIME: RegExp;
2
+ export declare function isRfc3339DateTime(value: string): boolean;
3
+ declare function isAbsoluteUri(value: string): boolean;
4
+ /**
5
+ * The format table the standalone-compiled validators reference. Must match
6
+ * the definitions registered with Ajv in generate-artifact-runtime-bindings.mjs
7
+ * (same names, same `{ type, validate }` shape).
8
+ */
9
+ export declare const wireFormats: {
10
+ readonly "date-time": {
11
+ readonly type: "string";
12
+ readonly validate: typeof isRfc3339DateTime;
13
+ };
14
+ readonly uri: {
15
+ readonly type: "string";
16
+ readonly validate: typeof isAbsoluteUri;
17
+ };
18
+ };
19
+ export {};
20
+ //# sourceMappingURL=artifact-runtime-formats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-runtime-formats.d.ts","sourceRoot":"","sources":["../src/artifact-runtime-formats.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,iBAAiB,QAA0I,CAAC;AAEzK,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAcxD;AASD,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAM7C;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW;aACtB,WAAW;iBAAI,IAAI,EAAE,QAAQ;iBAAE,QAAQ;;aACvC,GAAG;iBAAI,IAAI,EAAE,QAAQ;iBAAE,QAAQ;;CACvB,CAAC"}
@@ -0,0 +1,53 @@
1
+ // Format validators for the Artifact runtime wire schemas.
2
+ //
3
+ // Ajv deliberately ships without format implementations. Keep these tiny
4
+ // validators local so the canonical runtime package enforces the same formats
5
+ // promised by its published JSON Schema without pulling browser-hostile
6
+ // transitive code into every widget bundle.
7
+ //
8
+ // They live in their own module because the standalone-compiled validators
9
+ // (artifact-runtime-validators.generated.ts) import `wireFormats` by name;
10
+ // the shape registered with Ajv at codegen time and the shape exported here
11
+ // must stay identical.
12
+ export const RFC3339_DATE_TIME = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T([01]\d|2[0-3]):([0-5]\d):([0-5]\d|60)(?:\.(\d+))?(Z|([+-])([01]\d|2[0-3]):([0-5]\d))$/;
13
+ export function isRfc3339DateTime(value) {
14
+ const fields = RFC3339_DATE_TIME.exec(value);
15
+ if (!fields)
16
+ return false;
17
+ const year = Number(fields[1]);
18
+ const month = Number(fields[2]);
19
+ const day = Number(fields[3]);
20
+ const hour = Number(fields[4]);
21
+ const minute = Number(fields[5]);
22
+ const second = Number(fields[6]);
23
+ if (day > daysInMonth(year, month))
24
+ return false;
25
+ // Dharta emitters never produce leap seconds. Rejecting `60` is deterministic
26
+ // across offsets and runtimes; accepting it correctly would require a
27
+ // maintained UTC leap-second table rather than local-clock heuristics.
28
+ return second !== 60 && hour <= 23 && minute <= 59;
29
+ }
30
+ function daysInMonth(year, month) {
31
+ if (month === 2) {
32
+ return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) ? 29 : 28;
33
+ }
34
+ return [4, 6, 9, 11].includes(month) ? 30 : 31;
35
+ }
36
+ function isAbsoluteUri(value) {
37
+ try {
38
+ return new URL(value).toString().length > 0;
39
+ }
40
+ catch {
41
+ return false;
42
+ }
43
+ }
44
+ /**
45
+ * The format table the standalone-compiled validators reference. Must match
46
+ * the definitions registered with Ajv in generate-artifact-runtime-bindings.mjs
47
+ * (same names, same `{ type, validate }` shape).
48
+ */
49
+ export const wireFormats = {
50
+ "date-time": { type: "string", validate: isRfc3339DateTime },
51
+ uri: { type: "string", validate: isAbsoluteUri },
52
+ };
53
+ //# sourceMappingURL=artifact-runtime-formats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-runtime-formats.js","sourceRoot":"","sources":["../src/artifact-runtime-formats.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,yEAAyE;AACzE,8EAA8E;AAC9E,wEAAwE;AACxE,4CAA4C;AAC5C,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,uBAAuB;AAEvB,MAAM,CAAC,MAAM,iBAAiB,GAAG,uIAAuI,CAAC;AAEzK,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,8EAA8E;IAC9E,sEAAsE;IACtE,uEAAuE;IACvE,OAAO,MAAM,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE;IAC5D,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE;CACxC,CAAC"}
@@ -0,0 +1,37 @@
1
+ export declare const validateArtifactV1: typeof validate10;
2
+ declare function validate10(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
3
+ instancePath?: string | undefined;
4
+ rootData?: any;
5
+ }): boolean;
6
+ export declare const validateArtifactV2: typeof validate12;
7
+ declare function validate12(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
8
+ instancePath?: string | undefined;
9
+ rootData?: any;
10
+ }): boolean;
11
+ export declare const validateArtifactManifestDocument: typeof validate15;
12
+ declare function validate15(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
13
+ instancePath?: string | undefined;
14
+ rootData?: any;
15
+ }): boolean;
16
+ export declare const validateArtifactSummaryV1: typeof validate20;
17
+ declare function validate20(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
18
+ instancePath?: string | undefined;
19
+ rootData?: any;
20
+ }): boolean;
21
+ export declare const validateArtifactSummaryV2: typeof validate21;
22
+ declare function validate21(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
23
+ instancePath?: string | undefined;
24
+ rootData?: any;
25
+ }): boolean;
26
+ export declare const validateArtifactExecutionSession: typeof validate24;
27
+ declare function validate24(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
28
+ instancePath?: string | undefined;
29
+ rootData?: any;
30
+ }): boolean;
31
+ export declare const validateArtifactExecutionRenewal: typeof validate25;
32
+ declare function validate25(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
33
+ instancePath?: string | undefined;
34
+ rootData?: any;
35
+ }): boolean;
36
+ export {};
37
+ //# sourceMappingURL=artifact-runtime-validators.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-runtime-validators.generated.d.ts","sourceRoot":"","sources":["../src/artifact-runtime-validators.generated.ts"],"names":[],"mappings":"AA4Ba,eAAO,MAAM,kBAAkB,mBAAa,CAAC;AAA0rB,iBAAS,UAAU,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAA+jM;AAAA,eAAO,MAAM,kBAAkB,mBAAa,CAAC;AAA412B,iBAAS,UAAU,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAAyU;AAAA,eAAO,MAAM,gCAAgC,mBAAa,CAAC;AAAqkhC,iBAAS,UAAU,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAA+U;AAAA,eAAO,MAAM,yBAAyB,mBAAa,CAAC;AAAwkC,iBAAS,UAAU,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAA68a;AAAA,eAAO,MAAM,yBAAyB,mBAAa,CAAC;AAAy6rC,iBAAS,UAAU,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAAiV;AAAA,eAAO,MAAM,gCAAgC,mBAAa,CAAC;AAAkrC,iBAAS,UAAU,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAAgvU;AAAA,eAAO,MAAM,gCAAgC,mBAAa,CAAC;AAAk1B,iBAAS,UAAU,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAA6rQ"}