@stigmer/sdk 3.35.0 → 3.37.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 (348) 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 +6 -0
  111. package/iam-principal.d.ts.map +1 -1
  112. package/iam-principal.js +19 -0
  113. package/iam-principal.js.map +1 -1
  114. package/iam-role.d.ts.map +1 -1
  115. package/iam-role.js.map +1 -1
  116. package/index.d.ts +1 -1
  117. package/index.d.ts.map +1 -1
  118. package/index.js +1 -1
  119. package/index.js.map +1 -1
  120. package/internal/interceptors.d.ts.map +1 -1
  121. package/internal/interceptors.js.map +1 -1
  122. package/manifest/client.d.ts.map +1 -1
  123. package/manifest/client.js.map +1 -1
  124. package/manifest/document.d.ts.map +1 -1
  125. package/manifest/document.js.map +1 -1
  126. package/manifest/index.d.ts.map +1 -1
  127. package/manifest/index.js.map +1 -1
  128. package/manifest/parse.d.ts.map +1 -1
  129. package/manifest/parse.js.map +1 -1
  130. package/manifest/redaction.d.ts.map +1 -1
  131. package/manifest/redaction.js.map +1 -1
  132. package/manifest/registry.d.ts.map +1 -1
  133. package/manifest/registry.js.map +1 -1
  134. package/manifest/serialize.d.ts.map +1 -1
  135. package/manifest/serialize.js.map +1 -1
  136. package/mcpserver-connect.d.ts.map +1 -1
  137. package/mcpserver-connect.js.map +1 -1
  138. package/node.d.ts.map +1 -1
  139. package/node.js.map +1 -1
  140. package/package.json +2 -2
  141. package/platform-client-auth.d.ts.map +1 -1
  142. package/platform-client-auth.js.map +1 -1
  143. package/platform.d.ts.map +1 -1
  144. package/platform.js.map +1 -1
  145. package/plugin.d.ts.map +1 -1
  146. package/plugin.js.map +1 -1
  147. package/provider-standing.d.ts.map +1 -1
  148. package/provider-standing.js.map +1 -1
  149. package/resource-availability.d.ts.map +1 -1
  150. package/resource-availability.js.map +1 -1
  151. package/runner-adapter.d.ts.map +1 -1
  152. package/runner-adapter.js.map +1 -1
  153. package/search.d.ts.map +1 -1
  154. package/search.js.map +1 -1
  155. package/session.d.ts.map +1 -1
  156. package/session.js.map +1 -1
  157. package/sharing.d.ts.map +1 -1
  158. package/sharing.js.map +1 -1
  159. package/skill.d.ts.map +1 -1
  160. package/skill.js.map +1 -1
  161. package/src/gen/authorization-config.ts +2 -2
  162. package/src/iam-principal.ts +24 -0
  163. package/src/index.ts +1 -0
  164. package/stigmer.d.ts.map +1 -1
  165. package/stigmer.js.map +1 -1
  166. package/transport.d.ts.map +1 -1
  167. package/transport.js.map +1 -1
  168. package/__tests__/billing.test.d.ts +0 -2
  169. package/__tests__/billing.test.d.ts.map +0 -1
  170. package/__tests__/billing.test.js +0 -120
  171. package/__tests__/billing.test.js.map +0 -1
  172. package/__tests__/config.test.d.ts +0 -2
  173. package/__tests__/config.test.d.ts.map +0 -1
  174. package/__tests__/config.test.js +0 -35
  175. package/__tests__/config.test.js.map +0 -1
  176. package/__tests__/ensure-identity-account.test.d.ts +0 -2
  177. package/__tests__/ensure-identity-account.test.d.ts.map +0 -1
  178. package/__tests__/ensure-identity-account.test.js +0 -108
  179. package/__tests__/ensure-identity-account.test.js.map +0 -1
  180. package/__tests__/errors.test.d.ts +0 -2
  181. package/__tests__/errors.test.d.ts.map +0 -1
  182. package/__tests__/errors.test.js +0 -228
  183. package/__tests__/errors.test.js.map +0 -1
  184. package/__tests__/gen/errors.test.d.ts +0 -2
  185. package/__tests__/gen/errors.test.d.ts.map +0 -1
  186. package/__tests__/gen/errors.test.js +0 -97
  187. package/__tests__/gen/errors.test.js.map +0 -1
  188. package/__tests__/gen/invitation-client.test.d.ts +0 -2
  189. package/__tests__/gen/invitation-client.test.d.ts.map +0 -1
  190. package/__tests__/gen/invitation-client.test.js +0 -106
  191. package/__tests__/gen/invitation-client.test.js.map +0 -1
  192. package/__tests__/gen/proto-utils.test.d.ts +0 -2
  193. package/__tests__/gen/proto-utils.test.d.ts.map +0 -1
  194. package/__tests__/gen/proto-utils.test.js +0 -85
  195. package/__tests__/gen/proto-utils.test.js.map +0 -1
  196. package/__tests__/gen/session-client.test.d.ts +0 -2
  197. package/__tests__/gen/session-client.test.d.ts.map +0 -1
  198. package/__tests__/gen/session-client.test.js +0 -152
  199. package/__tests__/gen/session-client.test.js.map +0 -1
  200. package/__tests__/guest-auth.test.d.ts +0 -2
  201. package/__tests__/guest-auth.test.d.ts.map +0 -1
  202. package/__tests__/guest-auth.test.js +0 -223
  203. package/__tests__/guest-auth.test.js.map +0 -1
  204. package/__tests__/iam-principal.test.d.ts +0 -2
  205. package/__tests__/iam-principal.test.d.ts.map +0 -1
  206. package/__tests__/iam-principal.test.js +0 -65
  207. package/__tests__/iam-principal.test.js.map +0 -1
  208. package/__tests__/manifest.test.d.ts +0 -2
  209. package/__tests__/manifest.test.d.ts.map +0 -1
  210. package/__tests__/manifest.test.js +0 -306
  211. package/__tests__/manifest.test.js.map +0 -1
  212. package/__tests__/mcpserver-connect.test.d.ts +0 -2
  213. package/__tests__/mcpserver-connect.test.d.ts.map +0 -1
  214. package/__tests__/mcpserver-connect.test.js +0 -146
  215. package/__tests__/mcpserver-connect.test.js.map +0 -1
  216. package/__tests__/node.test.d.ts +0 -2
  217. package/__tests__/node.test.d.ts.map +0 -1
  218. package/__tests__/node.test.js +0 -67
  219. package/__tests__/node.test.js.map +0 -1
  220. package/__tests__/platform-client-auth.test.d.ts +0 -2
  221. package/__tests__/platform-client-auth.test.d.ts.map +0 -1
  222. package/__tests__/platform-client-auth.test.js +0 -59
  223. package/__tests__/platform-client-auth.test.js.map +0 -1
  224. package/__tests__/platform.test.d.ts +0 -2
  225. package/__tests__/platform.test.d.ts.map +0 -1
  226. package/__tests__/platform.test.js +0 -52
  227. package/__tests__/platform.test.js.map +0 -1
  228. package/__tests__/plugin.test.d.ts +0 -2
  229. package/__tests__/plugin.test.d.ts.map +0 -1
  230. package/__tests__/plugin.test.js +0 -74
  231. package/__tests__/plugin.test.js.map +0 -1
  232. package/__tests__/resource-availability.test.d.ts +0 -2
  233. package/__tests__/resource-availability.test.d.ts.map +0 -1
  234. package/__tests__/resource-availability.test.js +0 -80
  235. package/__tests__/resource-availability.test.js.map +0 -1
  236. package/__tests__/runner-adapter.test.d.ts +0 -2
  237. package/__tests__/runner-adapter.test.d.ts.map +0 -1
  238. package/__tests__/runner-adapter.test.js +0 -88
  239. package/__tests__/runner-adapter.test.js.map +0 -1
  240. package/__tests__/session.test.d.ts +0 -6
  241. package/__tests__/session.test.d.ts.map +0 -1
  242. package/__tests__/session.test.js +0 -50
  243. package/__tests__/session.test.js.map +0 -1
  244. package/__tests__/sharing.test.d.ts +0 -2
  245. package/__tests__/sharing.test.d.ts.map +0 -1
  246. package/__tests__/sharing.test.js +0 -106
  247. package/__tests__/sharing.test.js.map +0 -1
  248. package/__tests__/skill.test.d.ts +0 -2
  249. package/__tests__/skill.test.d.ts.map +0 -1
  250. package/__tests__/skill.test.js +0 -117
  251. package/__tests__/skill.test.js.map +0 -1
  252. package/__tests__/stigmer.test.d.ts +0 -2
  253. package/__tests__/stigmer.test.d.ts.map +0 -1
  254. package/__tests__/stigmer.test.js +0 -127
  255. package/__tests__/stigmer.test.js.map +0 -1
  256. package/__tests__/update-input-roundtrip.test.d.ts +0 -2
  257. package/__tests__/update-input-roundtrip.test.d.ts.map +0 -1
  258. package/__tests__/update-input-roundtrip.test.js +0 -775
  259. package/__tests__/update-input-roundtrip.test.js.map +0 -1
  260. package/__tests__/update-input.test.d.ts +0 -2
  261. package/__tests__/update-input.test.d.ts.map +0 -1
  262. package/__tests__/update-input.test.js +0 -188
  263. package/__tests__/update-input.test.js.map +0 -1
  264. package/execution/__tests__/approval-provenance.test.d.ts +0 -2
  265. package/execution/__tests__/approval-provenance.test.d.ts.map +0 -1
  266. package/execution/__tests__/approval-provenance.test.js +0 -42
  267. package/execution/__tests__/approval-provenance.test.js.map +0 -1
  268. package/execution/__tests__/file-review-fold.corpus.test.d.ts +0 -2
  269. package/execution/__tests__/file-review-fold.corpus.test.d.ts.map +0 -1
  270. package/execution/__tests__/file-review-fold.corpus.test.js +0 -82
  271. package/execution/__tests__/file-review-fold.corpus.test.js.map +0 -1
  272. package/execution/__tests__/file-review-fold.test.d.ts +0 -2
  273. package/execution/__tests__/file-review-fold.test.d.ts.map +0 -1
  274. package/execution/__tests__/file-review-fold.test.js +0 -184
  275. package/execution/__tests__/file-review-fold.test.js.map +0 -1
  276. package/execution/__tests__/to-display-file-change.test.d.ts +0 -2
  277. package/execution/__tests__/to-display-file-change.test.d.ts.map +0 -1
  278. package/execution/__tests__/to-display-file-change.test.js +0 -81
  279. package/execution/__tests__/to-display-file-change.test.js.map +0 -1
  280. package/execution/__tests__/tool-view.file-changes.test.d.ts +0 -2
  281. package/execution/__tests__/tool-view.file-changes.test.d.ts.map +0 -1
  282. package/execution/__tests__/tool-view.file-changes.test.js +0 -86
  283. package/execution/__tests__/tool-view.file-changes.test.js.map +0 -1
  284. package/execution/__tests__/tool-view.fixtures.test.d.ts +0 -2
  285. package/execution/__tests__/tool-view.fixtures.test.d.ts.map +0 -1
  286. package/execution/__tests__/tool-view.fixtures.test.js +0 -152
  287. package/execution/__tests__/tool-view.fixtures.test.js.map +0 -1
  288. package/execution/__tests__/tool-view.output-ref.test.d.ts +0 -2
  289. package/execution/__tests__/tool-view.output-ref.test.d.ts.map +0 -1
  290. package/execution/__tests__/tool-view.output-ref.test.js +0 -64
  291. package/execution/__tests__/tool-view.output-ref.test.js.map +0 -1
  292. package/execution/__tests__/tool-view.read.test.d.ts +0 -2
  293. package/execution/__tests__/tool-view.read.test.d.ts.map +0 -1
  294. package/execution/__tests__/tool-view.read.test.js +0 -56
  295. package/execution/__tests__/tool-view.read.test.js.map +0 -1
  296. package/execution/__tests__/tool-view.search.test.d.ts +0 -2
  297. package/execution/__tests__/tool-view.search.test.d.ts.map +0 -1
  298. package/execution/__tests__/tool-view.search.test.js +0 -200
  299. package/execution/__tests__/tool-view.search.test.js.map +0 -1
  300. package/execution/__tests__/tool-view.shell.test.d.ts +0 -2
  301. package/execution/__tests__/tool-view.shell.test.d.ts.map +0 -1
  302. package/execution/__tests__/tool-view.shell.test.js +0 -104
  303. package/execution/__tests__/tool-view.shell.test.js.map +0 -1
  304. package/execution/__tests__/transcript.test.d.ts +0 -2
  305. package/execution/__tests__/transcript.test.d.ts.map +0 -1
  306. package/execution/__tests__/transcript.test.js +0 -591
  307. package/execution/__tests__/transcript.test.js.map +0 -1
  308. package/node.test.d.ts +0 -2
  309. package/node.test.d.ts.map +0 -1
  310. package/node.test.js +0 -35
  311. package/node.test.js.map +0 -1
  312. package/src/__tests__/billing.test.ts +0 -146
  313. package/src/__tests__/config.test.ts +0 -52
  314. package/src/__tests__/ensure-identity-account.test.ts +0 -146
  315. package/src/__tests__/errors.test.ts +0 -349
  316. package/src/__tests__/gen/errors.test.ts +0 -138
  317. package/src/__tests__/gen/invitation-client.test.ts +0 -132
  318. package/src/__tests__/gen/proto-utils.test.ts +0 -99
  319. package/src/__tests__/gen/session-client.test.ts +0 -208
  320. package/src/__tests__/guest-auth.test.ts +0 -287
  321. package/src/__tests__/iam-principal.test.ts +0 -82
  322. package/src/__tests__/manifest.test.ts +0 -362
  323. package/src/__tests__/mcpserver-connect.test.ts +0 -181
  324. package/src/__tests__/node.test.ts +0 -74
  325. package/src/__tests__/platform-client-auth.test.ts +0 -76
  326. package/src/__tests__/platform.test.ts +0 -74
  327. package/src/__tests__/plugin.test.ts +0 -92
  328. package/src/__tests__/resource-availability.test.ts +0 -118
  329. package/src/__tests__/runner-adapter.test.ts +0 -122
  330. package/src/__tests__/session.test.ts +0 -66
  331. package/src/__tests__/sharing.test.ts +0 -159
  332. package/src/__tests__/skill.test.ts +0 -150
  333. package/src/__tests__/stigmer.test.ts +0 -170
  334. package/src/__tests__/update-input-roundtrip.test.ts +0 -1007
  335. package/src/__tests__/update-input.test.ts +0 -250
  336. package/src/execution/__tests__/approval-provenance.test.ts +0 -60
  337. package/src/execution/__tests__/file-review-fold.corpus.test.ts +0 -127
  338. package/src/execution/__tests__/file-review-fold.test.ts +0 -281
  339. package/src/execution/__tests__/to-display-file-change.test.ts +0 -106
  340. package/src/execution/__tests__/tool-view.file-changes.test.ts +0 -100
  341. package/src/execution/__tests__/tool-view.fixtures.test.ts +0 -225
  342. package/src/execution/__tests__/tool-view.output-ref.test.ts +0 -76
  343. package/src/execution/__tests__/tool-view.read.test.ts +0 -71
  344. package/src/execution/__tests__/tool-view.search.test.ts +0 -264
  345. package/src/execution/__tests__/tool-view.shell.test.ts +0 -127
  346. package/src/execution/__tests__/transcript.golden.md +0 -100
  347. package/src/execution/__tests__/transcript.test.ts +0 -697
  348. package/src/node.test.ts +0 -38
@@ -1,88 +0,0 @@
1
- import { describe, it, expect, vi } from "vitest";
2
- import { createRunnerAdapter, } from "../runner-adapter";
3
- function createMockHost() {
4
- return {
5
- addSession: vi.fn().mockResolvedValue(undefined),
6
- removeSession: vi.fn().mockResolvedValue(undefined),
7
- addWorkflowExecution: vi.fn().mockResolvedValue(undefined),
8
- removeWorkflowExecution: vi.fn().mockResolvedValue(undefined),
9
- };
10
- }
11
- describe("createRunnerAdapter", () => {
12
- it("returns an adapter with all four lifecycle methods", () => {
13
- const adapter = createRunnerAdapter(createMockHost());
14
- expect(adapter.onSessionOpened).toBeInstanceOf(Function);
15
- expect(adapter.onSessionClosed).toBeInstanceOf(Function);
16
- expect(adapter.onWorkflowExecutionCreated).toBeInstanceOf(Function);
17
- expect(adapter.onWorkflowExecutionTerminated).toBeInstanceOf(Function);
18
- });
19
- it("maps onSessionOpened to host.addSession with the session id", async () => {
20
- const host = createMockHost();
21
- const adapter = createRunnerAdapter(host);
22
- await adapter.onSessionOpened("ses-123");
23
- expect(host.addSession).toHaveBeenCalledTimes(1);
24
- expect(host.addSession).toHaveBeenCalledWith("ses-123");
25
- // The asymmetric mapping is the footgun this factory exists to prevent:
26
- // closing/removing must not fire on open.
27
- expect(host.removeSession).not.toHaveBeenCalled();
28
- });
29
- it("maps onSessionClosed to host.removeSession with the session id", async () => {
30
- const host = createMockHost();
31
- const adapter = createRunnerAdapter(host);
32
- await adapter.onSessionClosed("ses-123");
33
- expect(host.removeSession).toHaveBeenCalledTimes(1);
34
- expect(host.removeSession).toHaveBeenCalledWith("ses-123");
35
- expect(host.addSession).not.toHaveBeenCalled();
36
- });
37
- it("maps onWorkflowExecutionCreated to host.addWorkflowExecution with the execution id", async () => {
38
- const host = createMockHost();
39
- const adapter = createRunnerAdapter(host);
40
- await adapter.onWorkflowExecutionCreated("wfexec-456");
41
- expect(host.addWorkflowExecution).toHaveBeenCalledTimes(1);
42
- expect(host.addWorkflowExecution).toHaveBeenCalledWith("wfexec-456");
43
- expect(host.removeWorkflowExecution).not.toHaveBeenCalled();
44
- });
45
- it("maps onWorkflowExecutionTerminated to host.removeWorkflowExecution with the execution id", async () => {
46
- const host = createMockHost();
47
- const adapter = createRunnerAdapter(host);
48
- await adapter.onWorkflowExecutionTerminated("wfexec-456");
49
- expect(host.removeWorkflowExecution).toHaveBeenCalledTimes(1);
50
- expect(host.removeWorkflowExecution).toHaveBeenCalledWith("wfexec-456");
51
- expect(host.addWorkflowExecution).not.toHaveBeenCalled();
52
- });
53
- it("resolves to undefined regardless of the host's return value", async () => {
54
- // The host's add methods return a task queue string; the adapter contract
55
- // is Promise<void>, so the value must be swallowed.
56
- const host = createMockHost();
57
- host.addSession.mockResolvedValue("session:ses-123");
58
- host.addWorkflowExecution.mockResolvedValue("wfexec:wfexec-456");
59
- const adapter = createRunnerAdapter(host);
60
- await expect(adapter.onSessionOpened("ses-123")).resolves.toBeUndefined();
61
- await expect(adapter.onWorkflowExecutionCreated("wfexec-456")).resolves.toBeUndefined();
62
- });
63
- it("awaits the host: it does not resolve before the host settles", async () => {
64
- let release;
65
- const gate = new Promise((resolve) => {
66
- release = resolve;
67
- });
68
- const host = createMockHost();
69
- host.addSession.mockReturnValue(gate);
70
- const adapter = createRunnerAdapter(host);
71
- let settled = false;
72
- const pending = adapter.onSessionOpened("ses-123").then(() => {
73
- settled = true;
74
- });
75
- await Promise.resolve();
76
- expect(settled).toBe(false);
77
- release();
78
- await pending;
79
- expect(settled).toBe(true);
80
- });
81
- it("propagates a host rejection", async () => {
82
- const host = createMockHost();
83
- host.removeSession.mockRejectedValue(new Error("worker teardown failed"));
84
- const adapter = createRunnerAdapter(host);
85
- await expect(adapter.onSessionClosed("ses-123")).rejects.toThrow("worker teardown failed");
86
- });
87
- });
88
- //# sourceMappingURL=runner-adapter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner-adapter.test.js","sourceRoot":"","sources":["../../src/__tests__/runner-adapter.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Unit tests for the hand-written session utilities: the pinned
3
- * session-context metadata key and the typed-context merge semantics.
4
- */
5
- export {};
6
- //# sourceMappingURL=session.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/session.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Unit tests for the hand-written session utilities: the pinned
3
- * session-context metadata key and the typed-context merge semantics.
4
- */
5
- import { describe, it, expect } from "vitest";
6
- import { SESSION_CONTEXT_METADATA_KEY, mergeSessionContext, } from "../session.js";
7
- describe("SESSION_CONTEXT_METADATA_KEY", () => {
8
- it("is pinned verbatim to the runner's constant (mirror guard)", () => {
9
- // Pinned to SESSION_CONTEXT_METADATA_KEY in
10
- // backend/services/runner/src/shared/session-context.ts. Changing
11
- // either side alone silently blinds the agent to the embedder's
12
- // context; change BOTH together.
13
- expect(SESSION_CONTEXT_METADATA_KEY).toBe("stigmer.ai/session-context");
14
- });
15
- });
16
- describe("mergeSessionContext", () => {
17
- it("folds the context into the metadata map under the reserved key", () => {
18
- expect(mergeSessionContext({ "acme/tenant": "t-1" }, "Role: admin")).toEqual({
19
- "acme/tenant": "t-1",
20
- [SESSION_CONTEXT_METADATA_KEY]: "Role: admin",
21
- });
22
- });
23
- it("creates the map when metadata is undefined", () => {
24
- expect(mergeSessionContext(undefined, "Role: admin")).toEqual({
25
- [SESSION_CONTEXT_METADATA_KEY]: "Role: admin",
26
- });
27
- });
28
- it("lets the typed field win over a raw entry under the reserved key", () => {
29
- expect(mergeSessionContext({ [SESSION_CONTEXT_METADATA_KEY]: "stale raw value" }, "typed value")).toEqual({ [SESSION_CONTEXT_METADATA_KEY]: "typed value" });
30
- });
31
- it("returns metadata untouched when the context is undefined", () => {
32
- const metadata = { "acme/tenant": "t-1" };
33
- expect(mergeSessionContext(metadata, undefined)).toBe(metadata);
34
- });
35
- it("returns undefined when both inputs are absent — callers never send an empty map", () => {
36
- expect(mergeSessionContext(undefined, undefined)).toBeUndefined();
37
- expect(mergeSessionContext(undefined, " ")).toBeUndefined();
38
- });
39
- it("trims the context before storing (blank means absent)", () => {
40
- expect(mergeSessionContext(undefined, " Role: admin ")).toEqual({
41
- [SESSION_CONTEXT_METADATA_KEY]: "Role: admin",
42
- });
43
- });
44
- it("does not mutate the caller's metadata map", () => {
45
- const metadata = { "acme/tenant": "t-1" };
46
- mergeSessionContext(metadata, "Role: admin");
47
- expect(metadata).toEqual({ "acme/tenant": "t-1" });
48
- });
49
- });
50
- //# sourceMappingURL=session.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.test.js","sourceRoot":"","sources":["../../src/__tests__/session.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,4CAA4C;QAC5C,kEAAkE;QAClE,gEAAgE;QAChE,iCAAiC;QACjC,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,mBAAmB,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3E,aAAa,EAAE,KAAK;YACpB,CAAC,4BAA4B,CAAC,EAAE,aAAa;SAC9C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5D,CAAC,4BAA4B,CAAC,EAAE,aAAa;SAC9C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,CACJ,mBAAmB,CACjB,EAAE,CAAC,4BAA4B,CAAC,EAAE,iBAAiB,EAAE,EACrD,aAAa,CACd,CACF,CAAC,OAAO,CAAC,EAAE,CAAC,4BAA4B,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,QAAQ,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAC1C,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAClE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,CAAC,4BAA4B,CAAC,EAAE,aAAa;SAC9C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,QAAQ,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAC1C,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sharing.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sharing.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/sharing.test.ts"],"names":[],"mappings":""}
@@ -1,106 +0,0 @@
1
- // Unit tests for the framework-free agent-sharing helpers: origin
2
- // validation (mirror of the proto CEL rule) and the hosted-link / embed
3
- // snippet builders shared by the web console, desktop app, and CLI.
4
- import { describe, expect, it } from "vitest";
5
- import { LINK_TOKEN_PARAM, MAX_ALLOWED_ORIGINS, appendLinkToken, buildChatUrl, buildEmbedLoaderUrl, buildEmbedSnippet, chatPath, validateOrigin, } from "../sharing";
6
- describe("validateOrigin", () => {
7
- it("accepts exact web origins", () => {
8
- expect(validateOrigin("https://example.com")).toBeNull();
9
- expect(validateOrigin("http://example.com")).toBeNull();
10
- expect(validateOrigin("https://sub.example.com")).toBeNull();
11
- expect(validateOrigin("https://example.com:8443")).toBeNull();
12
- expect(validateOrigin("http://localhost:3000")).toBeNull();
13
- });
14
- it("trims surrounding whitespace before validating", () => {
15
- expect(validateOrigin(" https://example.com ")).toBeNull();
16
- });
17
- it("rejects empty input with guidance", () => {
18
- expect(validateOrigin("")).toMatch(/Enter an origin/);
19
- expect(validateOrigin(" ")).toMatch(/Enter an origin/);
20
- });
21
- it("rejects trailing slashes, paths, queries, and fragments", () => {
22
- for (const bad of [
23
- "https://example.com/",
24
- "https://example.com/path",
25
- "https://example.com?q=1",
26
- "https://example.com#top",
27
- ]) {
28
- expect(validateOrigin(bad)).toMatch(/exact web origin/);
29
- }
30
- });
31
- it("rejects non-http(s) schemes and bare hosts", () => {
32
- expect(validateOrigin("ftp://example.com")).toMatch(/exact web origin/);
33
- expect(validateOrigin("example.com")).toMatch(/exact web origin/);
34
- });
35
- it("rejects hostname labels with leading/trailing hyphens", () => {
36
- expect(validateOrigin("https://-bad.example.com")).toMatch(/exact web origin/);
37
- expect(validateOrigin("https://bad-.example.com")).toMatch(/exact web origin/);
38
- });
39
- it("exposes the proto max_items bound", () => {
40
- expect(MAX_ALLOWED_ORIGINS).toBe(32);
41
- });
42
- });
43
- describe("chatPath / buildChatUrl", () => {
44
- it("builds the canonical /chat/<org>/<slug> path", () => {
45
- expect(chatPath("acme", "support-agent")).toBe("/chat/acme/support-agent");
46
- });
47
- it("builds the absolute hosted chat URL", () => {
48
- expect(buildChatUrl("https://app.stigmer.ai", "acme", "support-agent")).toBe("https://app.stigmer.ai/chat/acme/support-agent");
49
- });
50
- it("tolerates a trailing slash on the origin", () => {
51
- expect(buildChatUrl("https://app.stigmer.ai/", "acme", "support-agent")).toBe("https://app.stigmer.ai/chat/acme/support-agent");
52
- });
53
- it("works with localhost origins (local backend)", () => {
54
- expect(buildChatUrl("http://localhost:8234", "stigmer", "helper")).toBe("http://localhost:8234/chat/stigmer/helper");
55
- });
56
- it("appends ?k= when the share link is locked with a token", () => {
57
- expect(chatPath("acme", "support-agent", "tok123")).toBe("/chat/acme/support-agent?k=tok123");
58
- expect(buildChatUrl("https://app.stigmer.ai", "acme", "support-agent", "tok123")).toBe("https://app.stigmer.ai/chat/acme/support-agent?k=tok123");
59
- });
60
- it("url-encodes the token (defense in depth; generated tokens are url-safe)", () => {
61
- expect(chatPath("acme", "bot", "a+b/c")).toBe("/chat/acme/bot?k=a%2Bb%2Fc");
62
- });
63
- it("omits ?k= for an empty/undefined token (plain link)", () => {
64
- expect(chatPath("acme", "bot", "")).toBe("/chat/acme/bot");
65
- expect(chatPath("acme", "bot", undefined)).toBe("/chat/acme/bot");
66
- });
67
- });
68
- describe("appendLinkToken", () => {
69
- it("appends the identical ?k= shape chatPath emits", () => {
70
- expect(appendLinkToken("https://app.stigmer.ai/chat/acme/bot", "tok123")).toBe(buildChatUrl("https://app.stigmer.ai", "acme", "bot", "tok123"));
71
- });
72
- it("uses & when the URL already carries a query", () => {
73
- expect(appendLinkToken("/chat/acme/bot?theme=dark", "tok123")).toBe(`/chat/acme/bot?theme=dark&${LINK_TOKEN_PARAM}=tok123`);
74
- });
75
- it("returns the URL unchanged for a null/empty token", () => {
76
- expect(appendLinkToken("/chat/acme/bot", null)).toBe("/chat/acme/bot");
77
- expect(appendLinkToken("/chat/acme/bot", undefined)).toBe("/chat/acme/bot");
78
- expect(appendLinkToken("/chat/acme/bot", "")).toBe("/chat/acme/bot");
79
- });
80
- });
81
- describe("buildEmbedLoaderUrl", () => {
82
- it("points at embed.js on the app origin root", () => {
83
- expect(buildEmbedLoaderUrl("https://app.stigmer.ai")).toBe("https://app.stigmer.ai/embed.js");
84
- });
85
- it("tolerates a trailing slash on the origin", () => {
86
- expect(buildEmbedLoaderUrl("https://app.stigmer.ai/")).toBe("https://app.stigmer.ai/embed.js");
87
- });
88
- });
89
- describe("buildEmbedSnippet", () => {
90
- it("emits exactly the two-line loader + element snippet", () => {
91
- expect(buildEmbedSnippet("https://app.stigmer.ai", "acme", "support-agent")).toBe([
92
- `<script src="https://app.stigmer.ai/embed.js" async></script>`,
93
- `<stigmer-agent org="acme" agent="support-agent"></stigmer-agent>`,
94
- ].join("\n"));
95
- });
96
- it("adds the token attribute when the share link is locked", () => {
97
- expect(buildEmbedSnippet("https://app.stigmer.ai", "acme", "support-agent", "tok123")).toBe([
98
- `<script src="https://app.stigmer.ai/embed.js" async></script>`,
99
- `<stigmer-agent org="acme" agent="support-agent" token="tok123"></stigmer-agent>`,
100
- ].join("\n"));
101
- });
102
- it("omits the token attribute for an empty token (plain link)", () => {
103
- expect(buildEmbedSnippet("https://app.stigmer.ai", "acme", "bot", "")).toBe(buildEmbedSnippet("https://app.stigmer.ai", "acme", "bot"));
104
- });
105
- });
106
- //# sourceMappingURL=sharing.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sharing.test.js","sourceRoot":"","sources":["../../src/__tests__/sharing.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=skill.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/skill.test.ts"],"names":[],"mappings":""}
@@ -1,117 +0,0 @@
1
- // Wire-shape tests for RoutedSkillClient's size-routed push (stigmer#701).
2
- // A router transport fakes the skill service in-process, so the routing is
3
- // exercised through the REAL generated client and its error wrapping — the
4
- // CLI's earlier copy of this logic keyed its fallback on `instanceof
5
- // ConnectError`, which the SDK's wrapError made unreachable; these pins run
6
- // the wrapped path. Mirrors sdk/go/skill_test.go's five routing pins.
7
- import { describe, expect, it, vi } from "vitest";
8
- import { Code, ConnectError, createRouterTransport } from "@connectrpc/connect";
9
- import { create } from "@bufbuild/protobuf";
10
- import { SkillCommandController } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/command_pb";
11
- import { SkillSchema } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/api_pb";
12
- import { PushSkillRequestSchema, SkillArtifactUploadUrlSchema, } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/io_pb";
13
- import { StigmerError } from "../gen/errors.js";
14
- import { MAX_INLINE_ARTIFACT_BYTES, RoutedSkillClient } from "../skill.js";
15
- const STAGING_URL = "http://stage.example/v1/skill-artifacts/uploads/sau_t";
16
- /**
17
- * In-process skill service. `withMint: false` leaves createArtifactUploadUrl
18
- * unregistered, so the router answers Unimplemented — the exact wire shape
19
- * of a pre-transfer-lane server.
20
- */
21
- function fakeTransport(captured, opts = { withMint: true }) {
22
- return createRouterTransport(({ service }) => {
23
- service(SkillCommandController, {
24
- push: (req) => {
25
- captured.pushes.push(req);
26
- return create(SkillSchema, {});
27
- },
28
- ...(opts.withMint
29
- ? {
30
- createArtifactUploadUrl: (req) => {
31
- captured.mints++;
32
- expect(req.sizeBytes).toBeGreaterThan(0n);
33
- return create(SkillArtifactUploadUrlSchema, {
34
- url: STAGING_URL,
35
- artifactUploadRef: "sau_t",
36
- ttlSeconds: 900,
37
- });
38
- },
39
- }
40
- : {}),
41
- });
42
- });
43
- }
44
- function okFetch(record) {
45
- return vi.fn(async (url, init) => {
46
- record.putUrl = String(url);
47
- record.putBytes = init.body instanceof Uint8Array ? init.body.byteLength : -1;
48
- record.contentType = init.headers["content-type"];
49
- return new Response(null, { status: 200 });
50
- });
51
- }
52
- describe("RoutedSkillClient.push size routing", () => {
53
- it("keeps small artifacts inline — no mint, bytes in the request", async () => {
54
- const captured = { pushes: [], mints: 0 };
55
- const client = new RoutedSkillClient(fakeTransport(captured));
56
- await client.push(create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(1024) }));
57
- expect(captured.mints).toBe(0);
58
- expect(captured.pushes).toHaveLength(1);
59
- expect(captured.pushes[0].artifact.length).toBe(1024);
60
- });
61
- it("stages large artifacts over HTTP and pushes by reference, preserving the envelope", async () => {
62
- const captured = { pushes: [], mints: 0 };
63
- const record = {};
64
- const client = new RoutedSkillClient(fakeTransport(captured), okFetch(record));
65
- const artifact = new Uint8Array(MAX_INLINE_ARTIFACT_BYTES + 1);
66
- await client.push(create(PushSkillRequestSchema, { org: "acme", artifact, tag: "stable", message: "big" }));
67
- expect(captured.mints).toBe(1);
68
- expect(record.putUrl).toBe(STAGING_URL);
69
- expect(record.putBytes).toBe(artifact.length);
70
- expect(record.contentType).toBe("application/zip");
71
- expect(captured.pushes).toHaveLength(1);
72
- expect(captured.pushes[0].artifact.length).toBe(0);
73
- expect(captured.pushes[0].artifactUploadRef).toBe("sau_t");
74
- // The by-ref rewrite must not lose the rest of the request.
75
- expect(captured.pushes[0].tag).toBe("stable");
76
- expect(captured.pushes[0].message).toBe("big");
77
- });
78
- it("passes an explicit upload ref through untouched — the caller staged it", async () => {
79
- const captured = { pushes: [], mints: 0 };
80
- const client = new RoutedSkillClient(fakeTransport(captured));
81
- await client.push(create(PushSkillRequestSchema, { org: "acme", artifactUploadRef: "sau_mine" }));
82
- expect(captured.mints).toBe(0);
83
- expect(captured.pushes).toHaveLength(1);
84
- expect(captured.pushes[0].artifactUploadRef).toBe("sau_mine");
85
- });
86
- it("fails loud against servers that predate the transfer lane (wrapped Unimplemented)", async () => {
87
- const captured = { pushes: [], mints: 0 };
88
- const client = new RoutedSkillClient(fakeTransport(captured, { withMint: false }));
89
- await expect(client.push(create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(MAX_INLINE_ARTIFACT_BYTES + 1) }))).rejects.toThrow(/upgrade stigmer-server/);
90
- expect(captured.pushes).toHaveLength(0);
91
- });
92
- it("surfaces the staging rejection body and never proceeds to push", async () => {
93
- const captured = { pushes: [], mints: 0 };
94
- const rejectingFetch = (async () => new Response("staging slot expired", { status: 404 }));
95
- const client = new RoutedSkillClient(fakeTransport(captured), rejectingFetch);
96
- await expect(client.push(create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(MAX_INLINE_ARTIFACT_BYTES + 1) }))).rejects.toThrow(/HTTP 404: staging slot expired/);
97
- expect(captured.pushes).toHaveLength(0);
98
- });
99
- it("propagates non-Unimplemented mint errors unmasked", async () => {
100
- const captured = { pushes: [], mints: 0 };
101
- const transport = createRouterTransport(({ service }) => {
102
- service(SkillCommandController, {
103
- push: (req) => {
104
- captured.pushes.push(req);
105
- return create(SkillSchema, {});
106
- },
107
- createArtifactUploadUrl: () => {
108
- throw new ConnectError("artifact too large", Code.InvalidArgument);
109
- },
110
- });
111
- });
112
- const client = new RoutedSkillClient(transport);
113
- await expect(client.push(create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(MAX_INLINE_ARTIFACT_BYTES + 1) }))).rejects.toSatisfy((err) => err instanceof StigmerError && err.code === "invalid-argument");
114
- expect(captured.pushes).toHaveLength(0);
115
- });
116
- });
117
- //# sourceMappingURL=skill.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill.test.js","sourceRoot":"","sources":["../../src/__tests__/skill.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=stigmer.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stigmer.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/stigmer.test.ts"],"names":[],"mappings":""}
@@ -1,127 +0,0 @@
1
- import { describe, it, expect, beforeEach } from "vitest";
2
- import { ExecutionTarget } from "@stigmer/protos/ai/stigmer/agentic/session/v1/enum_pb";
3
- import { Stigmer } from "../stigmer";
4
- function createCapturingTransport() {
5
- const captured = [];
6
- const transport = {
7
- unary: async (method, _signal, _timeout, _header, message) => ({
8
- header: new Headers(),
9
- trailer: new Headers(),
10
- message,
11
- }),
12
- stream: async () => {
13
- throw new Error("streaming not implemented in test transport");
14
- },
15
- };
16
- const originalUnary = transport.unary;
17
- transport.unary = async (method, signal, timeout, header, message, ...rest) => {
18
- captured.push({ methodName: method.name, message });
19
- return originalUnary(method, signal, timeout, header, message, ...rest);
20
- };
21
- return { transport, captured };
22
- }
23
- describe("Stigmer execution target defaults", () => {
24
- let captured;
25
- let stigmer;
26
- describe("with executionTarget: 'local'", () => {
27
- beforeEach(() => {
28
- const ctx = createCapturingTransport();
29
- captured = ctx.captured;
30
- stigmer = new Stigmer({
31
- baseUrl: "http://localhost:7234",
32
- apiKey: "test-key",
33
- executionTarget: "local",
34
- customTransport: ctx.transport,
35
- });
36
- });
37
- it("injects LOCAL into session.create when per-call input omits it", async () => {
38
- await stigmer.session.create({ name: "test", org: "test-org" });
39
- const proto = captured[0].message;
40
- expect(proto.spec?.executionTarget).toBe(ExecutionTarget.LOCAL);
41
- });
42
- it("preserves per-call override on session.create", async () => {
43
- await stigmer.session.create({
44
- name: "test",
45
- org: "test-org",
46
- executionTarget: ExecutionTarget.CLOUD,
47
- });
48
- const proto = captured[0].message;
49
- expect(proto.spec?.executionTarget).toBe(ExecutionTarget.CLOUD);
50
- });
51
- it("injects LOCAL into session.apply when per-call input omits it", async () => {
52
- await stigmer.session.apply({ name: "test", org: "test-org" });
53
- const proto = captured[0].message;
54
- expect(proto.spec?.executionTarget).toBe(ExecutionTarget.LOCAL);
55
- });
56
- it("injects LOCAL into agentExecution.create's sessionSpec (one-call bootstrap)", async () => {
57
- await stigmer.agentExecution.create({
58
- name: "test",
59
- org: "test-org",
60
- message: "hi",
61
- sessionSpec: { agentInstanceId: "ain_1" },
62
- });
63
- const proto = captured[0].message;
64
- expect(proto.spec?.sessionSpec?.executionTarget).toBe(ExecutionTarget.LOCAL);
65
- });
66
- it("preserves a per-call sessionSpec.executionTarget override", async () => {
67
- await stigmer.agentExecution.create({
68
- name: "test",
69
- org: "test-org",
70
- message: "hi",
71
- sessionSpec: {
72
- agentInstanceId: "ain_1",
73
- executionTarget: ExecutionTarget.CLOUD,
74
- },
75
- });
76
- const proto = captured[0].message;
77
- expect(proto.spec?.sessionSpec?.executionTarget).toBe(ExecutionTarget.CLOUD);
78
- });
79
- it("does not synthesize a sessionSpec on agentExecution.create without one", async () => {
80
- await stigmer.agentExecution.create({
81
- name: "test",
82
- org: "test-org",
83
- message: "hi",
84
- sessionId: "ses_1",
85
- });
86
- const proto = captured[0].message;
87
- expect(proto.spec?.sessionSpec).toBeUndefined();
88
- });
89
- });
90
- describe("with executionTarget: 'cloud'", () => {
91
- beforeEach(() => {
92
- const ctx = createCapturingTransport();
93
- captured = ctx.captured;
94
- stigmer = new Stigmer({
95
- baseUrl: "http://localhost:7234",
96
- apiKey: "test-key",
97
- executionTarget: "cloud",
98
- customTransport: ctx.transport,
99
- });
100
- });
101
- it("injects CLOUD into session.create", async () => {
102
- await stigmer.session.create({ name: "test", org: "test-org" });
103
- const proto = captured[0].message;
104
- expect(proto.spec?.executionTarget).toBe(ExecutionTarget.CLOUD);
105
- });
106
- });
107
- describe("without executionTarget config", () => {
108
- beforeEach(() => {
109
- const ctx = createCapturingTransport();
110
- captured = ctx.captured;
111
- stigmer = new Stigmer({
112
- baseUrl: "http://localhost:7234",
113
- apiKey: "test-key",
114
- customTransport: ctx.transport,
115
- });
116
- });
117
- it("does not inject executionTarget on session.create", async () => {
118
- await stigmer.session.create({ name: "test", org: "test-org" });
119
- const proto = captured[0].message;
120
- expect(proto.spec?.executionTarget).toBe(ExecutionTarget.UNSPECIFIED);
121
- });
122
- it("defaultExecutionTarget is undefined", () => {
123
- expect(stigmer.defaultExecutionTarget).toBeUndefined();
124
- });
125
- });
126
- });
127
- //# sourceMappingURL=stigmer.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stigmer.test.js","sourceRoot":"","sources":["../../src/__tests__/stigmer.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=update-input-roundtrip.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-input-roundtrip.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/update-input-roundtrip.test.ts"],"names":[],"mappings":""}