@stigmer/sdk 3.35.0 → 3.36.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 (342) hide show
  1. package/activity.d.ts.map +1 -1
  2. package/activity.js.map +1 -1
  3. package/artifact-routing.d.ts.map +1 -1
  4. package/artifact-routing.js.map +1 -1
  5. package/authorization-config.d.ts.map +1 -1
  6. package/authorization-config.js.map +1 -1
  7. package/billing.d.ts.map +1 -1
  8. package/billing.js.map +1 -1
  9. package/config.d.ts.map +1 -1
  10. package/config.js.map +1 -1
  11. package/cursor-accounts.d.ts.map +1 -1
  12. package/cursor-accounts.js.map +1 -1
  13. package/ensure-identity-account.d.ts.map +1 -1
  14. package/ensure-identity-account.js.map +1 -1
  15. package/errors.d.ts.map +1 -1
  16. package/errors.js.map +1 -1
  17. package/execution/approval-provenance.d.ts.map +1 -1
  18. package/execution/approval-provenance.js.map +1 -1
  19. package/execution/conversation-rules.d.ts.map +1 -1
  20. package/execution/conversation-rules.js.map +1 -1
  21. package/execution/execution-phases.d.ts.map +1 -1
  22. package/execution/execution-phases.js.map +1 -1
  23. package/execution/file-review-fold.d.ts.map +1 -1
  24. package/execution/file-review-fold.js.map +1 -1
  25. package/execution/to-display-file-change.d.ts.map +1 -1
  26. package/execution/to-display-file-change.js.map +1 -1
  27. package/execution/tool-view.d.ts.map +1 -1
  28. package/execution/tool-view.js.map +1 -1
  29. package/execution/transcript.d.ts.map +1 -1
  30. package/execution/transcript.js.map +1 -1
  31. package/gen/agent.d.ts.map +1 -1
  32. package/gen/agent.js.map +1 -1
  33. package/gen/agentchannel.d.ts.map +1 -1
  34. package/gen/agentchannel.js.map +1 -1
  35. package/gen/agentexecution.d.ts.map +1 -1
  36. package/gen/agentexecution.js.map +1 -1
  37. package/gen/agentinstance.d.ts.map +1 -1
  38. package/gen/agentinstance.js.map +1 -1
  39. package/gen/agentshare.d.ts.map +1 -1
  40. package/gen/agentshare.js.map +1 -1
  41. package/gen/apikey.d.ts.map +1 -1
  42. package/gen/apikey.js.map +1 -1
  43. package/gen/artifact.d.ts.map +1 -1
  44. package/gen/artifact.js.map +1 -1
  45. package/gen/authorization-config.d.ts.map +1 -1
  46. package/gen/authorization-config.js +2 -2
  47. package/gen/authorization-config.js.map +1 -1
  48. package/gen/bidi-stream.d.ts.map +1 -1
  49. package/gen/bidi-stream.js.map +1 -1
  50. package/gen/channelapp.d.ts.map +1 -1
  51. package/gen/channelapp.js.map +1 -1
  52. package/gen/client.d.ts.map +1 -1
  53. package/gen/client.js.map +1 -1
  54. package/gen/environment.d.ts.map +1 -1
  55. package/gen/environment.js.map +1 -1
  56. package/gen/errors.d.ts.map +1 -1
  57. package/gen/errors.js.map +1 -1
  58. package/gen/executioncontext.d.ts.map +1 -1
  59. package/gen/executioncontext.js.map +1 -1
  60. package/gen/iampolicy.d.ts.map +1 -1
  61. package/gen/iampolicy.js.map +1 -1
  62. package/gen/identityaccount.d.ts.map +1 -1
  63. package/gen/identityaccount.js.map +1 -1
  64. package/gen/identityprovider.d.ts.map +1 -1
  65. package/gen/identityprovider.js.map +1 -1
  66. package/gen/invitation.d.ts.map +1 -1
  67. package/gen/invitation.js.map +1 -1
  68. package/gen/license.d.ts.map +1 -1
  69. package/gen/license.js.map +1 -1
  70. package/gen/mcpserver.d.ts.map +1 -1
  71. package/gen/mcpserver.js.map +1 -1
  72. package/gen/memory.d.ts.map +1 -1
  73. package/gen/memory.js.map +1 -1
  74. package/gen/oauthapp.d.ts.map +1 -1
  75. package/gen/oauthapp.js.map +1 -1
  76. package/gen/organization.d.ts.map +1 -1
  77. package/gen/organization.js.map +1 -1
  78. package/gen/plan.d.ts.map +1 -1
  79. package/gen/plan.js.map +1 -1
  80. package/gen/platformclient.d.ts.map +1 -1
  81. package/gen/platformclient.js.map +1 -1
  82. package/gen/plugin.d.ts.map +1 -1
  83. package/gen/plugin.js.map +1 -1
  84. package/gen/proto-utils.d.ts.map +1 -1
  85. package/gen/proto-utils.js.map +1 -1
  86. package/gen/resource-availability.d.ts.map +1 -1
  87. package/gen/resource-availability.js.map +1 -1
  88. package/gen/schedule.d.ts.map +1 -1
  89. package/gen/schedule.js.map +1 -1
  90. package/gen/session.d.ts.map +1 -1
  91. package/gen/session.js.map +1 -1
  92. package/gen/skill.d.ts.map +1 -1
  93. package/gen/skill.js.map +1 -1
  94. package/gen/subscription.d.ts.map +1 -1
  95. package/gen/subscription.js.map +1 -1
  96. package/gen/team.d.ts.map +1 -1
  97. package/gen/team.js.map +1 -1
  98. package/gen/types.d.ts.map +1 -1
  99. package/gen/types.js.map +1 -1
  100. package/gen/workflow.d.ts.map +1 -1
  101. package/gen/workflow.js.map +1 -1
  102. package/gen/workflowexecution.d.ts.map +1 -1
  103. package/gen/workflowexecution.js.map +1 -1
  104. package/gen/workflowinstance.d.ts.map +1 -1
  105. package/gen/workflowinstance.js.map +1 -1
  106. package/github.d.ts.map +1 -1
  107. package/github.js.map +1 -1
  108. package/guest-auth.d.ts.map +1 -1
  109. package/guest-auth.js.map +1 -1
  110. package/iam-principal.d.ts.map +1 -1
  111. package/iam-principal.js.map +1 -1
  112. package/iam-role.d.ts.map +1 -1
  113. package/iam-role.js.map +1 -1
  114. package/index.d.ts.map +1 -1
  115. package/index.js.map +1 -1
  116. package/internal/interceptors.d.ts.map +1 -1
  117. package/internal/interceptors.js.map +1 -1
  118. package/manifest/client.d.ts.map +1 -1
  119. package/manifest/client.js.map +1 -1
  120. package/manifest/document.d.ts.map +1 -1
  121. package/manifest/document.js.map +1 -1
  122. package/manifest/index.d.ts.map +1 -1
  123. package/manifest/index.js.map +1 -1
  124. package/manifest/parse.d.ts.map +1 -1
  125. package/manifest/parse.js.map +1 -1
  126. package/manifest/redaction.d.ts.map +1 -1
  127. package/manifest/redaction.js.map +1 -1
  128. package/manifest/registry.d.ts.map +1 -1
  129. package/manifest/registry.js.map +1 -1
  130. package/manifest/serialize.d.ts.map +1 -1
  131. package/manifest/serialize.js.map +1 -1
  132. package/mcpserver-connect.d.ts.map +1 -1
  133. package/mcpserver-connect.js.map +1 -1
  134. package/node.d.ts.map +1 -1
  135. package/node.js.map +1 -1
  136. package/package.json +2 -2
  137. package/platform-client-auth.d.ts.map +1 -1
  138. package/platform-client-auth.js.map +1 -1
  139. package/platform.d.ts.map +1 -1
  140. package/platform.js.map +1 -1
  141. package/plugin.d.ts.map +1 -1
  142. package/plugin.js.map +1 -1
  143. package/provider-standing.d.ts.map +1 -1
  144. package/provider-standing.js.map +1 -1
  145. package/resource-availability.d.ts.map +1 -1
  146. package/resource-availability.js.map +1 -1
  147. package/runner-adapter.d.ts.map +1 -1
  148. package/runner-adapter.js.map +1 -1
  149. package/search.d.ts.map +1 -1
  150. package/search.js.map +1 -1
  151. package/session.d.ts.map +1 -1
  152. package/session.js.map +1 -1
  153. package/sharing.d.ts.map +1 -1
  154. package/sharing.js.map +1 -1
  155. package/skill.d.ts.map +1 -1
  156. package/skill.js.map +1 -1
  157. package/src/gen/authorization-config.ts +2 -2
  158. package/stigmer.d.ts.map +1 -1
  159. package/stigmer.js.map +1 -1
  160. package/transport.d.ts.map +1 -1
  161. package/transport.js.map +1 -1
  162. package/__tests__/billing.test.d.ts +0 -2
  163. package/__tests__/billing.test.d.ts.map +0 -1
  164. package/__tests__/billing.test.js +0 -120
  165. package/__tests__/billing.test.js.map +0 -1
  166. package/__tests__/config.test.d.ts +0 -2
  167. package/__tests__/config.test.d.ts.map +0 -1
  168. package/__tests__/config.test.js +0 -35
  169. package/__tests__/config.test.js.map +0 -1
  170. package/__tests__/ensure-identity-account.test.d.ts +0 -2
  171. package/__tests__/ensure-identity-account.test.d.ts.map +0 -1
  172. package/__tests__/ensure-identity-account.test.js +0 -108
  173. package/__tests__/ensure-identity-account.test.js.map +0 -1
  174. package/__tests__/errors.test.d.ts +0 -2
  175. package/__tests__/errors.test.d.ts.map +0 -1
  176. package/__tests__/errors.test.js +0 -228
  177. package/__tests__/errors.test.js.map +0 -1
  178. package/__tests__/gen/errors.test.d.ts +0 -2
  179. package/__tests__/gen/errors.test.d.ts.map +0 -1
  180. package/__tests__/gen/errors.test.js +0 -97
  181. package/__tests__/gen/errors.test.js.map +0 -1
  182. package/__tests__/gen/invitation-client.test.d.ts +0 -2
  183. package/__tests__/gen/invitation-client.test.d.ts.map +0 -1
  184. package/__tests__/gen/invitation-client.test.js +0 -106
  185. package/__tests__/gen/invitation-client.test.js.map +0 -1
  186. package/__tests__/gen/proto-utils.test.d.ts +0 -2
  187. package/__tests__/gen/proto-utils.test.d.ts.map +0 -1
  188. package/__tests__/gen/proto-utils.test.js +0 -85
  189. package/__tests__/gen/proto-utils.test.js.map +0 -1
  190. package/__tests__/gen/session-client.test.d.ts +0 -2
  191. package/__tests__/gen/session-client.test.d.ts.map +0 -1
  192. package/__tests__/gen/session-client.test.js +0 -152
  193. package/__tests__/gen/session-client.test.js.map +0 -1
  194. package/__tests__/guest-auth.test.d.ts +0 -2
  195. package/__tests__/guest-auth.test.d.ts.map +0 -1
  196. package/__tests__/guest-auth.test.js +0 -223
  197. package/__tests__/guest-auth.test.js.map +0 -1
  198. package/__tests__/iam-principal.test.d.ts +0 -2
  199. package/__tests__/iam-principal.test.d.ts.map +0 -1
  200. package/__tests__/iam-principal.test.js +0 -65
  201. package/__tests__/iam-principal.test.js.map +0 -1
  202. package/__tests__/manifest.test.d.ts +0 -2
  203. package/__tests__/manifest.test.d.ts.map +0 -1
  204. package/__tests__/manifest.test.js +0 -306
  205. package/__tests__/manifest.test.js.map +0 -1
  206. package/__tests__/mcpserver-connect.test.d.ts +0 -2
  207. package/__tests__/mcpserver-connect.test.d.ts.map +0 -1
  208. package/__tests__/mcpserver-connect.test.js +0 -146
  209. package/__tests__/mcpserver-connect.test.js.map +0 -1
  210. package/__tests__/node.test.d.ts +0 -2
  211. package/__tests__/node.test.d.ts.map +0 -1
  212. package/__tests__/node.test.js +0 -67
  213. package/__tests__/node.test.js.map +0 -1
  214. package/__tests__/platform-client-auth.test.d.ts +0 -2
  215. package/__tests__/platform-client-auth.test.d.ts.map +0 -1
  216. package/__tests__/platform-client-auth.test.js +0 -59
  217. package/__tests__/platform-client-auth.test.js.map +0 -1
  218. package/__tests__/platform.test.d.ts +0 -2
  219. package/__tests__/platform.test.d.ts.map +0 -1
  220. package/__tests__/platform.test.js +0 -52
  221. package/__tests__/platform.test.js.map +0 -1
  222. package/__tests__/plugin.test.d.ts +0 -2
  223. package/__tests__/plugin.test.d.ts.map +0 -1
  224. package/__tests__/plugin.test.js +0 -74
  225. package/__tests__/plugin.test.js.map +0 -1
  226. package/__tests__/resource-availability.test.d.ts +0 -2
  227. package/__tests__/resource-availability.test.d.ts.map +0 -1
  228. package/__tests__/resource-availability.test.js +0 -80
  229. package/__tests__/resource-availability.test.js.map +0 -1
  230. package/__tests__/runner-adapter.test.d.ts +0 -2
  231. package/__tests__/runner-adapter.test.d.ts.map +0 -1
  232. package/__tests__/runner-adapter.test.js +0 -88
  233. package/__tests__/runner-adapter.test.js.map +0 -1
  234. package/__tests__/session.test.d.ts +0 -6
  235. package/__tests__/session.test.d.ts.map +0 -1
  236. package/__tests__/session.test.js +0 -50
  237. package/__tests__/session.test.js.map +0 -1
  238. package/__tests__/sharing.test.d.ts +0 -2
  239. package/__tests__/sharing.test.d.ts.map +0 -1
  240. package/__tests__/sharing.test.js +0 -106
  241. package/__tests__/sharing.test.js.map +0 -1
  242. package/__tests__/skill.test.d.ts +0 -2
  243. package/__tests__/skill.test.d.ts.map +0 -1
  244. package/__tests__/skill.test.js +0 -117
  245. package/__tests__/skill.test.js.map +0 -1
  246. package/__tests__/stigmer.test.d.ts +0 -2
  247. package/__tests__/stigmer.test.d.ts.map +0 -1
  248. package/__tests__/stigmer.test.js +0 -127
  249. package/__tests__/stigmer.test.js.map +0 -1
  250. package/__tests__/update-input-roundtrip.test.d.ts +0 -2
  251. package/__tests__/update-input-roundtrip.test.d.ts.map +0 -1
  252. package/__tests__/update-input-roundtrip.test.js +0 -775
  253. package/__tests__/update-input-roundtrip.test.js.map +0 -1
  254. package/__tests__/update-input.test.d.ts +0 -2
  255. package/__tests__/update-input.test.d.ts.map +0 -1
  256. package/__tests__/update-input.test.js +0 -188
  257. package/__tests__/update-input.test.js.map +0 -1
  258. package/execution/__tests__/approval-provenance.test.d.ts +0 -2
  259. package/execution/__tests__/approval-provenance.test.d.ts.map +0 -1
  260. package/execution/__tests__/approval-provenance.test.js +0 -42
  261. package/execution/__tests__/approval-provenance.test.js.map +0 -1
  262. package/execution/__tests__/file-review-fold.corpus.test.d.ts +0 -2
  263. package/execution/__tests__/file-review-fold.corpus.test.d.ts.map +0 -1
  264. package/execution/__tests__/file-review-fold.corpus.test.js +0 -82
  265. package/execution/__tests__/file-review-fold.corpus.test.js.map +0 -1
  266. package/execution/__tests__/file-review-fold.test.d.ts +0 -2
  267. package/execution/__tests__/file-review-fold.test.d.ts.map +0 -1
  268. package/execution/__tests__/file-review-fold.test.js +0 -184
  269. package/execution/__tests__/file-review-fold.test.js.map +0 -1
  270. package/execution/__tests__/to-display-file-change.test.d.ts +0 -2
  271. package/execution/__tests__/to-display-file-change.test.d.ts.map +0 -1
  272. package/execution/__tests__/to-display-file-change.test.js +0 -81
  273. package/execution/__tests__/to-display-file-change.test.js.map +0 -1
  274. package/execution/__tests__/tool-view.file-changes.test.d.ts +0 -2
  275. package/execution/__tests__/tool-view.file-changes.test.d.ts.map +0 -1
  276. package/execution/__tests__/tool-view.file-changes.test.js +0 -86
  277. package/execution/__tests__/tool-view.file-changes.test.js.map +0 -1
  278. package/execution/__tests__/tool-view.fixtures.test.d.ts +0 -2
  279. package/execution/__tests__/tool-view.fixtures.test.d.ts.map +0 -1
  280. package/execution/__tests__/tool-view.fixtures.test.js +0 -152
  281. package/execution/__tests__/tool-view.fixtures.test.js.map +0 -1
  282. package/execution/__tests__/tool-view.output-ref.test.d.ts +0 -2
  283. package/execution/__tests__/tool-view.output-ref.test.d.ts.map +0 -1
  284. package/execution/__tests__/tool-view.output-ref.test.js +0 -64
  285. package/execution/__tests__/tool-view.output-ref.test.js.map +0 -1
  286. package/execution/__tests__/tool-view.read.test.d.ts +0 -2
  287. package/execution/__tests__/tool-view.read.test.d.ts.map +0 -1
  288. package/execution/__tests__/tool-view.read.test.js +0 -56
  289. package/execution/__tests__/tool-view.read.test.js.map +0 -1
  290. package/execution/__tests__/tool-view.search.test.d.ts +0 -2
  291. package/execution/__tests__/tool-view.search.test.d.ts.map +0 -1
  292. package/execution/__tests__/tool-view.search.test.js +0 -200
  293. package/execution/__tests__/tool-view.search.test.js.map +0 -1
  294. package/execution/__tests__/tool-view.shell.test.d.ts +0 -2
  295. package/execution/__tests__/tool-view.shell.test.d.ts.map +0 -1
  296. package/execution/__tests__/tool-view.shell.test.js +0 -104
  297. package/execution/__tests__/tool-view.shell.test.js.map +0 -1
  298. package/execution/__tests__/transcript.test.d.ts +0 -2
  299. package/execution/__tests__/transcript.test.d.ts.map +0 -1
  300. package/execution/__tests__/transcript.test.js +0 -591
  301. package/execution/__tests__/transcript.test.js.map +0 -1
  302. package/node.test.d.ts +0 -2
  303. package/node.test.d.ts.map +0 -1
  304. package/node.test.js +0 -35
  305. package/node.test.js.map +0 -1
  306. package/src/__tests__/billing.test.ts +0 -146
  307. package/src/__tests__/config.test.ts +0 -52
  308. package/src/__tests__/ensure-identity-account.test.ts +0 -146
  309. package/src/__tests__/errors.test.ts +0 -349
  310. package/src/__tests__/gen/errors.test.ts +0 -138
  311. package/src/__tests__/gen/invitation-client.test.ts +0 -132
  312. package/src/__tests__/gen/proto-utils.test.ts +0 -99
  313. package/src/__tests__/gen/session-client.test.ts +0 -208
  314. package/src/__tests__/guest-auth.test.ts +0 -287
  315. package/src/__tests__/iam-principal.test.ts +0 -82
  316. package/src/__tests__/manifest.test.ts +0 -362
  317. package/src/__tests__/mcpserver-connect.test.ts +0 -181
  318. package/src/__tests__/node.test.ts +0 -74
  319. package/src/__tests__/platform-client-auth.test.ts +0 -76
  320. package/src/__tests__/platform.test.ts +0 -74
  321. package/src/__tests__/plugin.test.ts +0 -92
  322. package/src/__tests__/resource-availability.test.ts +0 -118
  323. package/src/__tests__/runner-adapter.test.ts +0 -122
  324. package/src/__tests__/session.test.ts +0 -66
  325. package/src/__tests__/sharing.test.ts +0 -159
  326. package/src/__tests__/skill.test.ts +0 -150
  327. package/src/__tests__/stigmer.test.ts +0 -170
  328. package/src/__tests__/update-input-roundtrip.test.ts +0 -1007
  329. package/src/__tests__/update-input.test.ts +0 -250
  330. package/src/execution/__tests__/approval-provenance.test.ts +0 -60
  331. package/src/execution/__tests__/file-review-fold.corpus.test.ts +0 -127
  332. package/src/execution/__tests__/file-review-fold.test.ts +0 -281
  333. package/src/execution/__tests__/to-display-file-change.test.ts +0 -106
  334. package/src/execution/__tests__/tool-view.file-changes.test.ts +0 -100
  335. package/src/execution/__tests__/tool-view.fixtures.test.ts +0 -225
  336. package/src/execution/__tests__/tool-view.output-ref.test.ts +0 -76
  337. package/src/execution/__tests__/tool-view.read.test.ts +0 -71
  338. package/src/execution/__tests__/tool-view.search.test.ts +0 -264
  339. package/src/execution/__tests__/tool-view.shell.test.ts +0 -127
  340. package/src/execution/__tests__/transcript.golden.md +0 -100
  341. package/src/execution/__tests__/transcript.test.ts +0 -697
  342. package/src/node.test.ts +0 -38
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-input-roundtrip.test.js","sourceRoot":"","sources":["../../src/__tests__/update-input-roundtrip.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=update-input.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-input.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/update-input.test.ts"],"names":[],"mappings":""}
@@ -1,188 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { create, toJson } from "@bufbuild/protobuf";
3
- import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
4
- import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
5
- import { OrganizationSchema, } from "@stigmer/protos/ai/stigmer/tenancy/organization/v1/api_pb";
6
- import { OrganizationSpecSchema } from "@stigmer/protos/ai/stigmer/tenancy/organization/v1/spec_pb";
7
- import { ManagementMode } from "@stigmer/protos/ai/stigmer/tenancy/organization/v1/enum_pb";
8
- import { IdentityAccountSchema, } from "@stigmer/protos/ai/stigmer/iam/identityaccount/v1/api_pb";
9
- import { IdentityAccountSpecSchema } from "@stigmer/protos/ai/stigmer/iam/identityaccount/v1/spec_pb";
10
- import { IdentityAccountProvisioningMode } from "@stigmer/protos/ai/stigmer/iam/identityaccount/v1/enum_pb";
11
- import { buildOrganizationProto, toOrganizationUpdateInput, } from "../gen/organization";
12
- import { buildIdentityAccountProto, toIdentityAccountUpdateInput, } from "../gen/identityaccount";
13
- /**
14
- * Update RPCs are full-spec replacements, so a complete mapper must
15
- * round-trip EVERY mutable field of a loaded resource through the generated
16
- * builder without loss. These tests pin that contract: fully-populated
17
- * resource → mapper → builder → spec (as JSON, defaults omitted) deep-equals
18
- * the original. If a mapper drops a field, the wipe-bug class is back.
19
- */
20
- function fullOrganization() {
21
- return create(OrganizationSchema, {
22
- apiVersion: "tenancy.stigmer.ai/v1",
23
- kind: "Organization",
24
- metadata: {
25
- id: "acme",
26
- name: "Acme Corp",
27
- slug: "acme",
28
- org: "acme",
29
- labels: { tier: "gold" },
30
- visibility: ApiResourceVisibility.visibility_private,
31
- },
32
- spec: {
33
- description: "We make everything.",
34
- logoUrl: "https://acme.example/logo.png",
35
- managementMode: ManagementMode.self_managed,
36
- identityProviderRef: {
37
- org: "acme",
38
- slug: "acme-okta",
39
- kind: ApiResourceKind.identity_provider,
40
- },
41
- externalOrgId: "ext-org-1",
42
- isPersonal: true,
43
- preferences: { standingContext: "We deploy to us-east-1." },
44
- },
45
- });
46
- }
47
- function fullIdentityAccount() {
48
- return create(IdentityAccountSchema, {
49
- apiVersion: "iam.stigmer.ai/v1",
50
- kind: "IdentityAccount",
51
- metadata: {
52
- id: "ia-123",
53
- name: "Ada Lovelace",
54
- slug: "ada-lovelace",
55
- org: "acme",
56
- labels: { team: "platform" },
57
- visibility: ApiResourceVisibility.visibility_private,
58
- },
59
- spec: {
60
- idpId: "auth0|abc123",
61
- email: "ada@acme.example",
62
- firstName: "Ada",
63
- lastName: "Lovelace",
64
- pictureUrl: "https://acme.example/ada.png",
65
- isMachineAccount: true,
66
- provisioningMode: IdentityAccountProvisioningMode.federated,
67
- identityProviderRef: { org: "acme", slug: "acme-okta" },
68
- preferences: {
69
- standingContext: "Keep answers terse.",
70
- defaultHarness: "cursor",
71
- defaultNativeModel: "claude-sonnet-4.6",
72
- defaultCursorModel: "composer-2.5",
73
- },
74
- },
75
- });
76
- }
77
- describe("toOrganizationUpdateInput", () => {
78
- it("round-trips a fully-populated organization spec through the builder", () => {
79
- const org = fullOrganization();
80
- const built = buildOrganizationProto(toOrganizationUpdateInput(org));
81
- expect(toJson(OrganizationSpecSchema, built.spec)).toEqual(toJson(OrganizationSpecSchema, org.spec));
82
- expect(built.metadata?.name).toBe("Acme Corp");
83
- expect(built.metadata?.slug).toBe("acme");
84
- expect(built.metadata?.org).toBe("acme");
85
- expect(built.metadata?.labels).toEqual({ tier: "gold" });
86
- expect(built.metadata?.visibility).toBe(ApiResourceVisibility.visibility_private);
87
- });
88
- it("preserves preferences when a caller overrides only profile fields (the wipe-bug class)", () => {
89
- const org = fullOrganization();
90
- const built = buildOrganizationProto({
91
- ...toOrganizationUpdateInput(org),
92
- description: "New description",
93
- });
94
- expect(built.spec?.preferences?.standingContext).toBe("We deploy to us-east-1.");
95
- expect(built.spec?.description).toBe("New description");
96
- expect(built.spec?.logoUrl).toBe("https://acme.example/logo.png");
97
- });
98
- it("maps an empty spec without inventing values", () => {
99
- const org = create(OrganizationSchema, {
100
- metadata: { name: "Bare", slug: "bare", org: "bare" },
101
- spec: {},
102
- });
103
- const built = buildOrganizationProto(toOrganizationUpdateInput(org));
104
- expect(toJson(OrganizationSpecSchema, built.spec)).toEqual({});
105
- });
106
- it("falls back to the slug when metadata.org is empty", () => {
107
- const org = create(OrganizationSchema, {
108
- metadata: { name: "Bare", slug: "bare" },
109
- });
110
- expect(toOrganizationUpdateInput(org).org).toBe("bare");
111
- });
112
- it("carries metadata.id for exact update addressing", () => {
113
- const built = buildOrganizationProto(toOrganizationUpdateInput(fullOrganization()));
114
- expect(built.metadata?.id).toBe("acme");
115
- });
116
- });
117
- describe("toIdentityAccountUpdateInput", () => {
118
- it("round-trips a fully-populated identity account spec through the builder", () => {
119
- const account = fullIdentityAccount();
120
- const built = buildIdentityAccountProto(toIdentityAccountUpdateInput(account));
121
- expect(toJson(IdentityAccountSpecSchema, built.spec)).toEqual(toJson(IdentityAccountSpecSchema, account.spec));
122
- expect(built.metadata?.name).toBe("Ada Lovelace");
123
- expect(built.metadata?.labels).toEqual({ team: "platform" });
124
- });
125
- it("carries org and slug — the update pipeline's fallback address", () => {
126
- const input = toIdentityAccountUpdateInput(fullIdentityAccount());
127
- expect(input.org).toBe("acme");
128
- expect(input.slug).toBe("ada-lovelace");
129
- });
130
- it("carries metadata.id — the ONLY address that works for a real (org-less) account", () => {
131
- // Identity accounts are platform-scoped: metadata.org is never set in
132
- // production, so the pipeline's org+slug fallback structurally cannot
133
- // match one. Without the id, this update is NOT_FOUND by construction.
134
- const account = create(IdentityAccountSchema, {
135
- metadata: {
136
- id: "ida_01JEXAMPLE",
137
- name: "ada@acme.example",
138
- slug: "ada-acme-example",
139
- },
140
- spec: { idpId: "auth0|abc123" },
141
- });
142
- const built = buildIdentityAccountProto(toIdentityAccountUpdateInput(account));
143
- expect(built.metadata?.id).toBe("ida_01JEXAMPLE");
144
- expect(built.metadata?.slug).toBe("ada-acme-example");
145
- });
146
- it("preserves the rest of the spec when a caller overrides only preferences", () => {
147
- const account = fullIdentityAccount();
148
- const mapped = toIdentityAccountUpdateInput(account);
149
- const built = buildIdentityAccountProto({
150
- ...mapped,
151
- preferences: { ...mapped.preferences, standingContext: "Prefer bullet points." },
152
- });
153
- expect(built.spec?.preferences?.standingContext).toBe("Prefer bullet points.");
154
- expect(built.spec?.email).toBe("ada@acme.example");
155
- expect(built.spec?.idpId).toBe("auth0|abc123");
156
- expect(built.spec?.provisioningMode).toBe(IdentityAccountProvisioningMode.federated);
157
- });
158
- it("preserves structured defaults when only standing context is edited (nested wipe-bug class)", () => {
159
- const account = fullIdentityAccount();
160
- const mapped = toIdentityAccountUpdateInput(account);
161
- // The correct editor pattern for a nested message: spread the mapper's
162
- // COMPLETE preferences and override only the edited field. A bare
163
- // `preferences: { standingContext }` literal would wipe the structured
164
- // defaults — the session-4 wipe bug recurring one level down.
165
- const built = buildIdentityAccountProto({
166
- ...mapped,
167
- preferences: { ...mapped.preferences, standingContext: "Terser still." },
168
- });
169
- expect(built.spec?.preferences?.standingContext).toBe("Terser still.");
170
- expect(built.spec?.preferences?.defaultHarness).toBe("cursor");
171
- expect(built.spec?.preferences?.defaultNativeModel).toBe("claude-sonnet-4.6");
172
- expect(built.spec?.preferences?.defaultCursorModel).toBe("composer-2.5");
173
- });
174
- it("clears standing context to wire-absent when the text is emptied", () => {
175
- const account = fullIdentityAccount();
176
- const mapped = toIdentityAccountUpdateInput(account);
177
- const built = buildIdentityAccountProto({
178
- ...mapped,
179
- preferences: { ...mapped.preferences, standingContext: "" },
180
- });
181
- // Proto3 empty string is the field default — wire-identical to absent,
182
- // which the server compose steps treat as "no preference declared".
183
- expect(built.spec?.preferences?.standingContext ?? "").toBe("");
184
- // Clearing one field never disturbs its siblings.
185
- expect(built.spec?.preferences?.defaultHarness).toBe("cursor");
186
- });
187
- });
188
- //# sourceMappingURL=update-input.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-input.test.js","sourceRoot":"","sources":["../../src/__tests__/update-input.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=approval-provenance.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"approval-provenance.test.d.ts","sourceRoot":"","sources":["../../../src/execution/__tests__/approval-provenance.test.ts"],"names":[],"mappings":""}
@@ -1,42 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { ApprovalPolicySource, describeApprovalPolicySource, isInformativePolicySource, } from "../approval-provenance";
3
- describe("describeApprovalPolicySource", () => {
4
- it("maps each known source to a stable human phrase", () => {
5
- expect(describeApprovalPolicySource(ApprovalPolicySource.CLASSIFIER_DEFAULT)).toBe("required by the tool's default policy");
6
- expect(describeApprovalPolicySource(ApprovalPolicySource.BUILTIN_CATEGORY)).toBe("required by built-in tool policy");
7
- expect(describeApprovalPolicySource(ApprovalPolicySource.AGENT_OVERRIDE)).toBe("required by agent override");
8
- expect(describeApprovalPolicySource(ApprovalPolicySource.ANNOTATION_DESTRUCTIVE_TIGHTEN)).toBe("required: marked destructive by the server");
9
- });
10
- it("returns null for UNSPECIFIED (legacy / ungated)", () => {
11
- expect(describeApprovalPolicySource(ApprovalPolicySource.UNSPECIFIED)).toBeNull();
12
- });
13
- });
14
- describe("isInformativePolicySource", () => {
15
- it("suppresses the everyday default gating reasons", () => {
16
- // These add nothing beyond "this tool needs approval" — noise at the gate.
17
- expect(isInformativePolicySource(ApprovalPolicySource.CLASSIFIER_DEFAULT)).toBe(false);
18
- expect(isInformativePolicySource(ApprovalPolicySource.BUILTIN_CATEGORY)).toBe(false);
19
- expect(isInformativePolicySource(ApprovalPolicySource.UNSPECIFIED)).toBe(false);
20
- });
21
- it("surfaces reasons that change the user's understanding of the gate", () => {
22
- expect(isInformativePolicySource(ApprovalPolicySource.PINNED_OVERRIDE)).toBe(true);
23
- expect(isInformativePolicySource(ApprovalPolicySource.AGENT_OVERRIDE)).toBe(true);
24
- expect(isInformativePolicySource(ApprovalPolicySource.ANNOTATION_DESTRUCTIVE_TIGHTEN)).toBe(true);
25
- expect(isInformativePolicySource(ApprovalPolicySource.AUTO_APPROVE_ALL)).toBe(true);
26
- expect(isInformativePolicySource(ApprovalPolicySource.APPROVAL_LEASE)).toBe(true);
27
- });
28
- it("only surfaces a reason that also has a phrase to show", () => {
29
- // The card renders `isInformative(source) && describe(source) != null`; the
30
- // two must never disagree for a surfaced source.
31
- for (const source of [
32
- ApprovalPolicySource.PINNED_OVERRIDE,
33
- ApprovalPolicySource.AGENT_OVERRIDE,
34
- ApprovalPolicySource.ANNOTATION_DESTRUCTIVE_TIGHTEN,
35
- ApprovalPolicySource.AUTO_APPROVE_ALL,
36
- ApprovalPolicySource.APPROVAL_LEASE,
37
- ]) {
38
- expect(describeApprovalPolicySource(source)).not.toBeNull();
39
- }
40
- });
41
- });
42
- //# sourceMappingURL=approval-provenance.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"approval-provenance.test.js","sourceRoot":"","sources":["../../../src/execution/__tests__/approval-provenance.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAChF,uCAAuC,CACxC,CAAC;QACF,MAAM,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAC9E,kCAAkC,CACnC,CAAC;QACF,MAAM,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAC5E,4BAA4B,CAC7B,CAAC;QACF,MAAM,CACJ,4BAA4B,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAClF,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,2EAA2E;QAC3E,MAAM,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvF,MAAM,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrF,MAAM,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,MAAM,CACJ,yBAAyB,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,MAAM,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,4EAA4E;QAC5E,iDAAiD;QACjD,KAAK,MAAM,MAAM,IAAI;YACnB,oBAAoB,CAAC,eAAe;YACpC,oBAAoB,CAAC,cAAc;YACnC,oBAAoB,CAAC,8BAA8B;YACnD,oBAAoB,CAAC,gBAAgB;YACrC,oBAAoB,CAAC,cAAc;SACpC,EAAE,CAAC;YACF,MAAM,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=file-review-fold.corpus.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-review-fold.corpus.test.d.ts","sourceRoot":"","sources":["../../../src/execution/__tests__/file-review-fold.corpus.test.ts"],"names":[],"mappings":""}
@@ -1,82 +0,0 @@
1
- // Cross-edition parity lock for the file-review projection.
2
- //
3
- // The Go (`FileChangeSetProjector` / project.go) and Java (`FileChangeSetProjector`)
4
- // projectors replay the shared corpus at apis/testdata/hitl/file-review/*.json.
5
- // This test replays the SAME corpus against the TypeScript fold, so a drift
6
- // between the SDK and either backend fails here rather than shipping.
7
- //
8
- // The corpus `expected` is the server (actionable) projection, which is empty
9
- // for a terminal execution. The SDK's display fold intentionally has no terminal
10
- // gate, so to reproduce the server contract exactly this test applies the phase
11
- // gate the accessor's callers apply: isTerminalPhase(phase) ? [] : fold(stream).
12
- // That both proves parity for non-terminal vectors AND pins the terminal-empty
13
- // vector — the one place the SDK deliberately differs is covered by the accessor
14
- // test in file-review-fold.test.ts, not here.
15
- import { readFileSync, readdirSync } from "node:fs";
16
- import { fileURLToPath } from "node:url";
17
- import { dirname, resolve } from "node:path";
18
- import { describe, it, expect } from "vitest";
19
- import { create, fromJson } from "@bufbuild/protobuf";
20
- import { FileReviewEventSchema, FileReviewEventStreamSchema, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/filereview_pb";
21
- import { ExecutionPhase, FileChangeSetStatus, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
22
- import { foldFileReviewEventStream } from "../file-review-fold";
23
- import { isTerminalPhase } from "../execution-phases";
24
- const here = dirname(fileURLToPath(import.meta.url));
25
- // sdk/typescript/src/execution/__tests__ -> repo root is five levels up.
26
- const corpusDir = resolve(here, "../../../../../apis/testdata/hitl/file-review");
27
- function statusFromName(name) {
28
- const key = name.replace(/^FILE_CHANGE_SET_STATUS_/, "");
29
- const value = FileChangeSetStatus[key];
30
- if (typeof value !== "number") {
31
- throw new Error(`unknown FileChangeSetStatus in corpus: ${name}`);
32
- }
33
- return value;
34
- }
35
- function phaseFromName(name) {
36
- const value = ExecutionPhase[name];
37
- if (typeof value !== "number") {
38
- throw new Error(`unknown ExecutionPhase in corpus: ${name}`);
39
- }
40
- return value;
41
- }
42
- const vectorFiles = readdirSync(corpusDir).filter((f) => f.endsWith(".json") && f !== "schema.json");
43
- describe("file-review fold — cross-edition corpus parity", () => {
44
- it("finds the corpus vectors", () => {
45
- expect(vectorFiles.length).toBeGreaterThan(0);
46
- });
47
- for (const file of vectorFiles) {
48
- const vector = JSON.parse(readFileSync(resolve(corpusDir, file), "utf8"));
49
- it(`${file}: ${vector.name}`, () => {
50
- // Decode each event with the generated schema so a malformed fixture fails
51
- // loudly (matching the backend corpus drivers), then build the stream.
52
- const events = vector.events.map((ev) => fromJson(FileReviewEventSchema, ev));
53
- const stream = create(FileReviewEventStreamSchema, {
54
- executionId: vector.execution_id,
55
- events,
56
- });
57
- const phase = phaseFromName(vector.phase);
58
- // Reproduce the server's actionable projection: phase-gated fold.
59
- const projected = isTerminalPhase(phase)
60
- ? []
61
- : foldFileReviewEventStream(stream);
62
- const actual = projected.map((set) => ({
63
- id: set.id,
64
- status: set.status,
65
- change_ids: set.changes.map((c) => c.id),
66
- decision_count: set.decisions.length,
67
- aggregate_digest: set.aggregateDigest,
68
- has_approved_snapshot: set.approvedSnapshot !== undefined,
69
- }));
70
- const expected = vector.expected.map((e) => ({
71
- id: e.id,
72
- status: statusFromName(e.status),
73
- change_ids: e.change_ids ?? [],
74
- decision_count: e.decision_count ?? 0,
75
- aggregate_digest: e.aggregate_digest ?? "",
76
- has_approved_snapshot: e.has_approved_snapshot ?? false,
77
- }));
78
- expect(actual).toEqual(expected);
79
- });
80
- }
81
- });
82
- //# sourceMappingURL=file-review-fold.corpus.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-review-fold.corpus.test.js","sourceRoot":"","sources":["../../../src/execution/__tests__/file-review-fold.corpus.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=file-review-fold.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-review-fold.test.d.ts","sourceRoot":"","sources":["../../../src/execution/__tests__/file-review-fold.test.ts"],"names":[],"mappings":""}
@@ -1,184 +0,0 @@
1
- // Unit tests for the file-review fold and its display read-seam. The
2
- // cross-edition parity with the Go/Java projectors is locked separately by
3
- // file-review-fold.corpus.test.ts; these cover the TS-specific edges and the
4
- // deliberate terminal divergence of displayFileChangeSets.
5
- import { describe, it, expect } from "vitest";
6
- import { create } from "@bufbuild/protobuf";
7
- import { FileChangeSetSchema, CapturedFileChangeSchema, FileDecisionSchema, FileReviewEventSchema, FileReviewEventStreamSchema, FileReviewBaselineCapturedSchema, FileReviewCandidateCapturedSchema, FileReviewReconciledSchema, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/filereview_pb";
8
- import { AgentExecutionStatusSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
9
- import { FileChangeKind, FileChangeSetStatus, FileDecisionAction, FileDecisionScope, FileReviewEventType, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
10
- import { displayFileChangeSets, foldFileReviewEventStream, } from "../file-review-fold";
11
- // ---------------------------------------------------------------------------
12
- // Event builders (keep the tests readable)
13
- // ---------------------------------------------------------------------------
14
- function change(id, path = `src/${id}.ts`) {
15
- return create(CapturedFileChangeSchema, {
16
- id,
17
- pathAfter: path,
18
- kind: FileChangeKind.MODIFY,
19
- diffComplete: true,
20
- });
21
- }
22
- function baseline(changeSetId) {
23
- return create(FileReviewEventSchema, {
24
- changeSetId,
25
- eventType: FileReviewEventType.BASELINE_CAPTURED,
26
- payload: {
27
- case: "baselineCaptured",
28
- value: create(FileReviewBaselineCapturedSchema, {
29
- changeSetId,
30
- turnId: "t1",
31
- harnessId: "deep-agent",
32
- }),
33
- },
34
- });
35
- }
36
- function candidate(changeSetId, changes, agg = "agg") {
37
- return create(FileReviewEventSchema, {
38
- changeSetId,
39
- eventType: FileReviewEventType.CANDIDATE_CAPTURED,
40
- payload: {
41
- case: "candidateCaptured",
42
- value: create(FileReviewCandidateCapturedSchema, {
43
- changeSetId,
44
- changes,
45
- aggregateDigest: agg,
46
- }),
47
- },
48
- });
49
- }
50
- function fileDecision(changeSetId, fileChangeId, action = FileDecisionAction.APPROVE) {
51
- return create(FileReviewEventSchema, {
52
- changeSetId,
53
- eventType: FileReviewEventType.FILE_DECIDED,
54
- payload: {
55
- case: "fileDecided",
56
- value: create(FileDecisionSchema, {
57
- changeSetId,
58
- fileChangeId,
59
- scope: FileDecisionScope.FILE,
60
- action,
61
- }),
62
- },
63
- });
64
- }
65
- function changeSetDecision(changeSetId) {
66
- return create(FileReviewEventSchema, {
67
- changeSetId,
68
- eventType: FileReviewEventType.FILE_DECIDED,
69
- payload: {
70
- case: "fileDecided",
71
- value: create(FileDecisionSchema, {
72
- changeSetId,
73
- scope: FileDecisionScope.CHANGE_SET,
74
- action: FileDecisionAction.APPROVE,
75
- }),
76
- },
77
- });
78
- }
79
- function reconciled(changeSetId) {
80
- return create(FileReviewEventSchema, {
81
- changeSetId,
82
- eventType: FileReviewEventType.RECONCILED,
83
- payload: {
84
- case: "reconciled",
85
- value: create(FileReviewReconciledSchema, { changeSetId }),
86
- },
87
- });
88
- }
89
- function failed(changeSetId) {
90
- return create(FileReviewEventSchema, {
91
- changeSetId,
92
- eventType: FileReviewEventType.FAILED,
93
- payload: { case: undefined },
94
- });
95
- }
96
- function stream(...events) {
97
- return create(FileReviewEventStreamSchema, { executionId: "aex_1", events });
98
- }
99
- // ---------------------------------------------------------------------------
100
- // foldFileReviewEventStream
101
- // ---------------------------------------------------------------------------
102
- describe("foldFileReviewEventStream", () => {
103
- it("returns [] for undefined / empty streams", () => {
104
- expect(foldFileReviewEventStream(undefined)).toEqual([]);
105
- expect(foldFileReviewEventStream(stream())).toEqual([]);
106
- });
107
- it("opens a set as CAPTURING on baseline, before any candidate", () => {
108
- const [set] = foldFileReviewEventStream(stream(baseline("cs1")));
109
- expect(set.status).toBe(FileChangeSetStatus.CAPTURING);
110
- expect(set.turnId).toBe("t1");
111
- expect(set.harnessId).toBe("deep-agent");
112
- expect(set.changes).toHaveLength(0);
113
- });
114
- it("moves to AWAITING_REVIEW once a candidate carries changes", () => {
115
- const [set] = foldFileReviewEventStream(stream(baseline("cs1"), candidate("cs1", [change("fc1")], "agg1")));
116
- expect(set.status).toBe(FileChangeSetStatus.AWAITING_REVIEW);
117
- expect(set.changes.map((c) => c.id)).toEqual(["fc1"]);
118
- expect(set.aggregateDigest).toBe("agg1");
119
- });
120
- it("replaces the change list wholesale on a later candidate", () => {
121
- const [set] = foldFileReviewEventStream(stream(baseline("cs1"), candidate("cs1", [change("fc1"), change("fc2")]), candidate("cs1", [change("fc3")])));
122
- expect(set.changes.map((c) => c.id)).toEqual(["fc3"]);
123
- });
124
- it("marks DECIDED only when every file has a verdict", () => {
125
- const partial = foldFileReviewEventStream(stream(baseline("cs1"), candidate("cs1", [change("fc1"), change("fc2")]), fileDecision("cs1", "fc1")))[0];
126
- expect(partial.status).toBe(FileChangeSetStatus.AWAITING_REVIEW);
127
- expect(partial.decisions).toHaveLength(1);
128
- const full = foldFileReviewEventStream(stream(baseline("cs1"), candidate("cs1", [change("fc1"), change("fc2")]), fileDecision("cs1", "fc1"), fileDecision("cs1", "fc2")))[0];
129
- expect(full.status).toBe(FileChangeSetStatus.DECIDED);
130
- });
131
- it("treats a CHANGE_SET decision as covering every file", () => {
132
- const [set] = foldFileReviewEventStream(stream(baseline("cs1"), candidate("cs1", [change("fc1"), change("fc2")]), changeSetDecision("cs1")));
133
- expect(set.status).toBe(FileChangeSetStatus.DECIDED);
134
- });
135
- it("keeps terminal RECONCILED/FAILED sticky against a later decision", () => {
136
- const reconciledSet = foldFileReviewEventStream(stream(baseline("cs1"), candidate("cs1", [change("fc1")]), reconciled("cs1"), fileDecision("cs1", "fc1")))[0];
137
- expect(reconciledSet.status).toBe(FileChangeSetStatus.RECONCILED);
138
- const failedSet = foldFileReviewEventStream(stream(baseline("cs1"), candidate("cs1", [change("fc1")]), failed("cs1")))[0];
139
- expect(failedSet.status).toBe(FileChangeSetStatus.FAILED);
140
- });
141
- it("groups multiple change sets in first-seen order", () => {
142
- const sets = foldFileReviewEventStream(stream(baseline("cs2"), candidate("cs2", [change("fc-a")]), baseline("cs1"), candidate("cs1", [change("fc-b")])));
143
- expect(sets.map((s) => s.id)).toEqual(["cs2", "cs1"]);
144
- });
145
- it("skips events with no change_set_id", () => {
146
- const orphan = create(FileReviewEventSchema, {
147
- changeSetId: "",
148
- eventType: FileReviewEventType.BASELINE_CAPTURED,
149
- });
150
- expect(foldFileReviewEventStream(stream(orphan))).toEqual([]);
151
- });
152
- });
153
- // ---------------------------------------------------------------------------
154
- // displayFileChangeSets — projection-first, fold-on-terminal
155
- // ---------------------------------------------------------------------------
156
- describe("displayFileChangeSets", () => {
157
- it("returns [] for undefined status", () => {
158
- expect(displayFileChangeSets(undefined)).toEqual([]);
159
- });
160
- it("prefers the server projection when present (preserving its reference)", () => {
161
- const projected = [create(FileChangeSetSchema, { id: "cs1" })];
162
- const status = create(AgentExecutionStatusSchema, {
163
- fileChangeSets: projected,
164
- // A ledger is also present, but the projection wins for a live execution.
165
- fileReviewEventStream: stream(baseline("cs1")),
166
- });
167
- const result = displayFileChangeSets(status);
168
- expect(result).toBe(status.fileChangeSets); // same ref — no re-fold, memo-safe
169
- });
170
- it("folds the ledger when the projection is empty (terminal execution)", () => {
171
- const status = create(AgentExecutionStatusSchema, {
172
- fileChangeSets: [], // terminal: server projects nil
173
- fileReviewEventStream: stream(baseline("cs1"), candidate("cs1", [change("fc1")]), changeSetDecision("cs1"), reconciled("cs1")),
174
- });
175
- const result = displayFileChangeSets(status);
176
- expect(result.map((s) => s.id)).toEqual(["cs1"]);
177
- expect(result[0].status).toBe(FileChangeSetStatus.RECONCILED);
178
- });
179
- it("returns [] when neither projection nor ledger has content", () => {
180
- const status = create(AgentExecutionStatusSchema, {});
181
- expect(displayFileChangeSets(status)).toEqual([]);
182
- });
183
- });
184
- //# sourceMappingURL=file-review-fold.test.js.map