@kindgi/api 0.1.4-rc.5 → 0.1.5-rc.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 (507) hide show
  1. package/dist/agent-binding.d.ts +13 -0
  2. package/dist/agent-binding.d.ts.map +1 -1
  3. package/dist/agent-pins.d.ts.map +1 -1
  4. package/dist/agent-pins.js +18 -2
  5. package/dist/agent-pins.js.map +1 -1
  6. package/dist/app.d.ts +110 -17
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +163 -35
  9. package/dist/app.js.map +1 -1
  10. package/dist/block-publish.d.ts +56 -0
  11. package/dist/block-publish.d.ts.map +1 -0
  12. package/dist/block-publish.js +132 -0
  13. package/dist/block-publish.js.map +1 -0
  14. package/dist/caller.d.ts +24 -0
  15. package/dist/caller.d.ts.map +1 -0
  16. package/dist/caller.js +47 -0
  17. package/dist/caller.js.map +1 -0
  18. package/dist/capability-binding.d.ts +11 -0
  19. package/dist/capability-binding.d.ts.map +1 -1
  20. package/dist/derive-agent-version.d.ts +7 -0
  21. package/dist/derive-agent-version.d.ts.map +1 -1
  22. package/dist/derive-agent-version.js +4 -0
  23. package/dist/derive-agent-version.js.map +1 -1
  24. package/dist/errors.d.ts.map +1 -1
  25. package/dist/errors.js +73 -7
  26. package/dist/errors.js.map +1 -1
  27. package/dist/eval-case-binding.d.ts +16 -4
  28. package/dist/eval-case-binding.d.ts.map +1 -1
  29. package/dist/eval-run-binding.d.ts +31 -0
  30. package/dist/eval-run-binding.d.ts.map +1 -1
  31. package/dist/eval-run-dispatcher.d.ts +7 -0
  32. package/dist/eval-run-dispatcher.d.ts.map +1 -1
  33. package/dist/eval-run-dispatcher.js.map +1 -1
  34. package/dist/eval-sample.d.ts +11 -0
  35. package/dist/eval-sample.d.ts.map +1 -0
  36. package/dist/eval-sample.js +34 -0
  37. package/dist/eval-sample.js.map +1 -0
  38. package/dist/eval-suite-binding.d.ts +13 -0
  39. package/dist/eval-suite-binding.d.ts.map +1 -1
  40. package/dist/eval-suite-binding.js.map +1 -1
  41. package/dist/flow-binding.d.ts +18 -0
  42. package/dist/flow-binding.d.ts.map +1 -1
  43. package/dist/flow-pins.d.ts.map +1 -1
  44. package/dist/flow-pins.js +18 -2
  45. package/dist/flow-pins.js.map +1 -1
  46. package/dist/gate.d.ts.map +1 -1
  47. package/dist/gate.js +25 -0
  48. package/dist/gate.js.map +1 -1
  49. package/dist/handler-binding.d.ts +32 -0
  50. package/dist/handler-binding.d.ts.map +1 -1
  51. package/dist/hitl-binding.d.ts +23 -0
  52. package/dist/hitl-binding.d.ts.map +1 -1
  53. package/dist/identity-directory-binding.d.ts +82 -4
  54. package/dist/identity-directory-binding.d.ts.map +1 -1
  55. package/dist/identity-provider-binding.d.ts +197 -17
  56. package/dist/identity-provider-binding.d.ts.map +1 -1
  57. package/dist/improvement-pass-binding.d.ts +196 -0
  58. package/dist/improvement-pass-binding.d.ts.map +1 -0
  59. package/dist/improvement-pass-binding.js +9 -0
  60. package/dist/improvement-pass-binding.js.map +1 -0
  61. package/dist/index.d.ts +35 -17
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +11 -3
  64. package/dist/index.js.map +1 -1
  65. package/dist/judged-dispatcher.d.ts +25 -4
  66. package/dist/judged-dispatcher.d.ts.map +1 -1
  67. package/dist/judged-dispatcher.js +43 -6
  68. package/dist/judged-dispatcher.js.map +1 -1
  69. package/dist/judgment-binding.d.ts +25 -1
  70. package/dist/judgment-binding.d.ts.map +1 -1
  71. package/dist/mcp-endpoint-binding.d.ts +7 -0
  72. package/dist/mcp-endpoint-binding.d.ts.map +1 -1
  73. package/dist/memory-binding.d.ts +124 -17
  74. package/dist/memory-binding.d.ts.map +1 -1
  75. package/dist/memory-erasure-binding.d.ts +145 -0
  76. package/dist/memory-erasure-binding.d.ts.map +1 -0
  77. package/dist/memory-erasure-binding.js +4 -0
  78. package/dist/memory-erasure-binding.js.map +1 -0
  79. package/dist/middleware/auth.d.ts +66 -13
  80. package/dist/middleware/auth.d.ts.map +1 -1
  81. package/dist/middleware/auth.js +150 -50
  82. package/dist/middleware/auth.js.map +1 -1
  83. package/dist/middleware/authorize.d.ts +6 -0
  84. package/dist/middleware/authorize.d.ts.map +1 -1
  85. package/dist/middleware/authorize.js +113 -4
  86. package/dist/middleware/authorize.js.map +1 -1
  87. package/dist/middleware/error-mapper.d.ts +5 -0
  88. package/dist/middleware/error-mapper.d.ts.map +1 -1
  89. package/dist/middleware/error-mapper.js +14 -1
  90. package/dist/middleware/error-mapper.js.map +1 -1
  91. package/dist/middleware/idempotency.d.ts +70 -5
  92. package/dist/middleware/idempotency.d.ts.map +1 -1
  93. package/dist/middleware/idempotency.js +174 -41
  94. package/dist/middleware/idempotency.js.map +1 -1
  95. package/dist/middleware/key-project.d.ts +17 -0
  96. package/dist/middleware/key-project.d.ts.map +1 -0
  97. package/dist/middleware/key-project.js +75 -0
  98. package/dist/middleware/key-project.js.map +1 -0
  99. package/dist/middleware/principal.d.ts.map +1 -1
  100. package/dist/middleware/principal.js +9 -5
  101. package/dist/middleware/principal.js.map +1 -1
  102. package/dist/middleware/project-ref.d.ts.map +1 -1
  103. package/dist/middleware/project-ref.js +3 -0
  104. package/dist/middleware/project-ref.js.map +1 -1
  105. package/dist/openapi/generate.d.ts.map +1 -1
  106. package/dist/openapi/generate.js +5 -2
  107. package/dist/openapi/generate.js.map +1 -1
  108. package/dist/openapi/operations.d.ts.map +1 -1
  109. package/dist/openapi/operations.js +918 -139
  110. package/dist/openapi/operations.js.map +1 -1
  111. package/dist/openapi/schemas.d.ts +92 -13
  112. package/dist/openapi/schemas.d.ts.map +1 -1
  113. package/dist/openapi/schemas.js +2122 -370
  114. package/dist/openapi/schemas.js.map +1 -1
  115. package/dist/person-grants-binding.d.ts +77 -0
  116. package/dist/person-grants-binding.d.ts.map +1 -0
  117. package/dist/person-grants-binding.js +4 -0
  118. package/dist/person-grants-binding.js.map +1 -0
  119. package/dist/proposal-service.d.ts +121 -0
  120. package/dist/proposal-service.d.ts.map +1 -0
  121. package/dist/proposal-service.js +447 -0
  122. package/dist/proposal-service.js.map +1 -0
  123. package/dist/proposal-status.d.ts +60 -0
  124. package/dist/proposal-status.d.ts.map +1 -0
  125. package/dist/proposal-status.js +109 -0
  126. package/dist/proposal-status.js.map +1 -0
  127. package/dist/provider-binding.d.ts +10 -0
  128. package/dist/provider-binding.d.ts.map +1 -1
  129. package/dist/publish-refused.d.ts +18 -3
  130. package/dist/publish-refused.d.ts.map +1 -1
  131. package/dist/publish-refused.js +18 -3
  132. package/dist/publish-refused.js.map +1 -1
  133. package/dist/routes/adapters.d.ts +2 -1
  134. package/dist/routes/adapters.d.ts.map +1 -1
  135. package/dist/routes/adapters.js +3 -1
  136. package/dist/routes/adapters.js.map +1 -1
  137. package/dist/routes/agent-releases.d.ts +55 -3
  138. package/dist/routes/agent-releases.d.ts.map +1 -1
  139. package/dist/routes/agent-releases.js +85 -55
  140. package/dist/routes/agent-releases.js.map +1 -1
  141. package/dist/routes/agents.d.ts +12 -1
  142. package/dist/routes/agents.d.ts.map +1 -1
  143. package/dist/routes/agents.js +100 -2
  144. package/dist/routes/agents.js.map +1 -1
  145. package/dist/routes/approvals.d.ts +15 -3
  146. package/dist/routes/approvals.d.ts.map +1 -1
  147. package/dist/routes/approvals.js +133 -122
  148. package/dist/routes/approvals.js.map +1 -1
  149. package/dist/routes/artifacts.d.ts +25 -3
  150. package/dist/routes/artifacts.d.ts.map +1 -1
  151. package/dist/routes/artifacts.js +116 -7
  152. package/dist/routes/artifacts.js.map +1 -1
  153. package/dist/routes/auth.d.ts +25 -1
  154. package/dist/routes/auth.d.ts.map +1 -1
  155. package/dist/routes/auth.js +655 -281
  156. package/dist/routes/auth.js.map +1 -1
  157. package/dist/routes/blocks.d.ts.map +1 -1
  158. package/dist/routes/blocks.js +2 -42
  159. package/dist/routes/blocks.js.map +1 -1
  160. package/dist/routes/capabilities.d.ts +2 -1
  161. package/dist/routes/capabilities.d.ts.map +1 -1
  162. package/dist/routes/capabilities.js +6 -1
  163. package/dist/routes/capabilities.js.map +1 -1
  164. package/dist/routes/compliance.d.ts +9 -10
  165. package/dist/routes/compliance.d.ts.map +1 -1
  166. package/dist/routes/compliance.js +42 -61
  167. package/dist/routes/compliance.js.map +1 -1
  168. package/dist/routes/conversations.d.ts +8 -1
  169. package/dist/routes/conversations.d.ts.map +1 -1
  170. package/dist/routes/conversations.js +87 -8
  171. package/dist/routes/conversations.js.map +1 -1
  172. package/dist/routes/cost.d.ts +7 -1
  173. package/dist/routes/cost.d.ts.map +1 -1
  174. package/dist/routes/cost.js +22 -3
  175. package/dist/routes/cost.js.map +1 -1
  176. package/dist/routes/denied.d.ts +11 -0
  177. package/dist/routes/denied.d.ts.map +1 -0
  178. package/dist/routes/denied.js +17 -0
  179. package/dist/routes/denied.js.map +1 -0
  180. package/dist/routes/deployments.d.ts +2 -1
  181. package/dist/routes/deployments.d.ts.map +1 -1
  182. package/dist/routes/deployments.js +44 -12
  183. package/dist/routes/deployments.js.map +1 -1
  184. package/dist/routes/eval-comparison.d.ts.map +1 -1
  185. package/dist/routes/eval-comparison.js +69 -1
  186. package/dist/routes/eval-comparison.js.map +1 -1
  187. package/dist/routes/eval-overrides.d.ts +18 -0
  188. package/dist/routes/eval-overrides.d.ts.map +1 -0
  189. package/dist/routes/eval-overrides.js +81 -0
  190. package/dist/routes/eval-overrides.js.map +1 -0
  191. package/dist/routes/eval-runs.d.ts +10 -1
  192. package/dist/routes/eval-runs.d.ts.map +1 -1
  193. package/dist/routes/eval-runs.js +63 -7
  194. package/dist/routes/eval-runs.js.map +1 -1
  195. package/dist/routes/eval-suites.d.ts.map +1 -1
  196. package/dist/routes/eval-suites.js +20 -1
  197. package/dist/routes/eval-suites.js.map +1 -1
  198. package/dist/routes/event-triggers.d.ts +5 -1
  199. package/dist/routes/event-triggers.d.ts.map +1 -1
  200. package/dist/routes/event-triggers.js +26 -3
  201. package/dist/routes/event-triggers.js.map +1 -1
  202. package/dist/routes/export-signing-keys.d.ts +12 -0
  203. package/dist/routes/export-signing-keys.d.ts.map +1 -0
  204. package/dist/routes/export-signing-keys.js +24 -0
  205. package/dist/routes/export-signing-keys.js.map +1 -0
  206. package/dist/routes/flows.d.ts.map +1 -1
  207. package/dist/routes/flows.js +9 -1
  208. package/dist/routes/flows.js.map +1 -1
  209. package/dist/routes/gate-policies.d.ts +4 -1
  210. package/dist/routes/gate-policies.d.ts.map +1 -1
  211. package/dist/routes/gate-policies.js +29 -5
  212. package/dist/routes/gate-policies.js.map +1 -1
  213. package/dist/routes/guardrails.d.ts +16 -14
  214. package/dist/routes/guardrails.d.ts.map +1 -1
  215. package/dist/routes/guardrails.js +39 -3
  216. package/dist/routes/guardrails.js.map +1 -1
  217. package/dist/routes/identity.d.ts +20 -4
  218. package/dist/routes/identity.d.ts.map +1 -1
  219. package/dist/routes/identity.js +246 -6
  220. package/dist/routes/identity.js.map +1 -1
  221. package/dist/routes/improvement-passes.d.ts +52 -0
  222. package/dist/routes/improvement-passes.d.ts.map +1 -0
  223. package/dist/routes/improvement-passes.js +449 -0
  224. package/dist/routes/improvement-passes.js.map +1 -0
  225. package/dist/routes/judged-suites.d.ts +50 -0
  226. package/dist/routes/judged-suites.d.ts.map +1 -1
  227. package/dist/routes/judged-suites.js +66 -27
  228. package/dist/routes/judged-suites.js.map +1 -1
  229. package/dist/routes/judgment-context.d.ts +18 -2
  230. package/dist/routes/judgment-context.d.ts.map +1 -1
  231. package/dist/routes/judgment-context.js +63 -5
  232. package/dist/routes/judgment-context.js.map +1 -1
  233. package/dist/routes/judgment-flow-context.d.ts.map +1 -1
  234. package/dist/routes/judgment-flow-context.js +14 -2
  235. package/dist/routes/judgment-flow-context.js.map +1 -1
  236. package/dist/routes/judgments.d.ts.map +1 -1
  237. package/dist/routes/judgments.js +8 -1
  238. package/dist/routes/judgments.js.map +1 -1
  239. package/dist/routes/mcp.d.ts.map +1 -1
  240. package/dist/routes/mcp.js +26 -1
  241. package/dist/routes/mcp.js.map +1 -1
  242. package/dist/routes/memory-access.d.ts +43 -0
  243. package/dist/routes/memory-access.d.ts.map +1 -0
  244. package/dist/routes/memory-access.js +129 -0
  245. package/dist/routes/memory-access.js.map +1 -0
  246. package/dist/routes/memory-erasures.d.ts +25 -0
  247. package/dist/routes/memory-erasures.d.ts.map +1 -0
  248. package/dist/routes/memory-erasures.js +214 -0
  249. package/dist/routes/memory-erasures.js.map +1 -0
  250. package/dist/routes/memory-parse.d.ts +38 -0
  251. package/dist/routes/memory-parse.d.ts.map +1 -0
  252. package/dist/routes/memory-parse.js +199 -0
  253. package/dist/routes/memory-parse.js.map +1 -0
  254. package/dist/routes/memory.d.ts +9 -4
  255. package/dist/routes/memory.d.ts.map +1 -1
  256. package/dist/routes/memory.js +226 -234
  257. package/dist/routes/memory.js.map +1 -1
  258. package/dist/routes/observations.d.ts +4 -1
  259. package/dist/routes/observations.d.ts.map +1 -1
  260. package/dist/routes/observations.js +8 -2
  261. package/dist/routes/observations.js.map +1 -1
  262. package/dist/routes/pagination.d.ts +7 -0
  263. package/dist/routes/pagination.d.ts.map +1 -1
  264. package/dist/routes/pagination.js +10 -0
  265. package/dist/routes/pagination.js.map +1 -1
  266. package/dist/routes/policies.d.ts +2 -1
  267. package/dist/routes/policies.d.ts.map +1 -1
  268. package/dist/routes/policies.js +3 -1
  269. package/dist/routes/policies.js.map +1 -1
  270. package/dist/routes/project-mismatch.d.ts +22 -0
  271. package/dist/routes/project-mismatch.d.ts.map +1 -0
  272. package/dist/routes/project-mismatch.js +34 -0
  273. package/dist/routes/project-mismatch.js.map +1 -0
  274. package/dist/routes/projects.d.ts +15 -4
  275. package/dist/routes/projects.d.ts.map +1 -1
  276. package/dist/routes/projects.js +100 -9
  277. package/dist/routes/projects.js.map +1 -1
  278. package/dist/routes/proposals.d.ts +25 -17
  279. package/dist/routes/proposals.d.ts.map +1 -1
  280. package/dist/routes/proposals.js +340 -507
  281. package/dist/routes/proposals.js.map +1 -1
  282. package/dist/routes/provenance.d.ts +17 -3
  283. package/dist/routes/provenance.d.ts.map +1 -1
  284. package/dist/routes/provenance.js +79 -103
  285. package/dist/routes/provenance.js.map +1 -1
  286. package/dist/routes/providers.d.ts +17 -1
  287. package/dist/routes/providers.d.ts.map +1 -1
  288. package/dist/routes/providers.js +188 -8
  289. package/dist/routes/providers.js.map +1 -1
  290. package/dist/routes/public-run-tokens.d.ts.map +1 -1
  291. package/dist/routes/public-run-tokens.js +3 -0
  292. package/dist/routes/public-run-tokens.js.map +1 -1
  293. package/dist/routes/runs.d.ts +10 -0
  294. package/dist/routes/runs.d.ts.map +1 -1
  295. package/dist/routes/runs.js +92 -42
  296. package/dist/routes/runs.js.map +1 -1
  297. package/dist/routes/schedules.d.ts +21 -13
  298. package/dist/routes/schedules.d.ts.map +1 -1
  299. package/dist/routes/schedules.js +416 -55
  300. package/dist/routes/schedules.js.map +1 -1
  301. package/dist/routes/segments.d.ts +2 -0
  302. package/dist/routes/segments.d.ts.map +1 -1
  303. package/dist/routes/segments.js +5 -0
  304. package/dist/routes/segments.js.map +1 -1
  305. package/dist/routes/service-accounts.d.ts +17 -0
  306. package/dist/routes/service-accounts.d.ts.map +1 -0
  307. package/dist/routes/service-accounts.js +212 -0
  308. package/dist/routes/service-accounts.js.map +1 -0
  309. package/dist/routes/sign-in-options.d.ts +50 -0
  310. package/dist/routes/sign-in-options.d.ts.map +1 -0
  311. package/dist/routes/sign-in-options.js +98 -0
  312. package/dist/routes/sign-in-options.js.map +1 -0
  313. package/dist/routes/signing-keys.d.ts +2 -1
  314. package/dist/routes/signing-keys.d.ts.map +1 -1
  315. package/dist/routes/signing-keys.js +3 -1
  316. package/dist/routes/signing-keys.js.map +1 -1
  317. package/dist/routes/tenant-access.d.ts +13 -0
  318. package/dist/routes/tenant-access.d.ts.map +1 -0
  319. package/dist/routes/tenant-access.js +26 -0
  320. package/dist/routes/tenant-access.js.map +1 -0
  321. package/dist/routes/tenant.d.ts.map +1 -1
  322. package/dist/routes/tenant.js +4 -0
  323. package/dist/routes/tenant.js.map +1 -1
  324. package/dist/routes/token-sign-in.d.ts +36 -0
  325. package/dist/routes/token-sign-in.d.ts.map +1 -0
  326. package/dist/routes/token-sign-in.js +101 -0
  327. package/dist/routes/token-sign-in.js.map +1 -0
  328. package/dist/routes/tokens.d.ts +15 -5
  329. package/dist/routes/tokens.d.ts.map +1 -1
  330. package/dist/routes/tokens.js +162 -43
  331. package/dist/routes/tokens.js.map +1 -1
  332. package/dist/routes/tools.d.ts.map +1 -1
  333. package/dist/routes/tools.js +9 -1
  334. package/dist/routes/tools.js.map +1 -1
  335. package/dist/routes/trigger-access.d.ts +29 -0
  336. package/dist/routes/trigger-access.d.ts.map +1 -0
  337. package/dist/routes/trigger-access.js +33 -0
  338. package/dist/routes/trigger-access.js.map +1 -0
  339. package/dist/routes/webhook-endpoints.d.ts +2 -1
  340. package/dist/routes/webhook-endpoints.d.ts.map +1 -1
  341. package/dist/routes/webhook-endpoints.js +11 -3
  342. package/dist/routes/webhook-endpoints.js.map +1 -1
  343. package/dist/routes/webhooks.d.ts +5 -1
  344. package/dist/routes/webhooks.d.ts.map +1 -1
  345. package/dist/routes/webhooks.js +25 -2
  346. package/dist/routes/webhooks.js.map +1 -1
  347. package/dist/run-failure.d.ts +21 -0
  348. package/dist/run-failure.d.ts.map +1 -0
  349. package/dist/run-failure.js +29 -0
  350. package/dist/run-failure.js.map +1 -0
  351. package/dist/service-account-binding.d.ts +108 -0
  352. package/dist/service-account-binding.d.ts.map +1 -0
  353. package/dist/service-account-binding.js +4 -0
  354. package/dist/service-account-binding.js.map +1 -0
  355. package/dist/session-store-binding.d.ts +61 -13
  356. package/dist/session-store-binding.d.ts.map +1 -1
  357. package/dist/signed-export.d.ts +89 -0
  358. package/dist/signed-export.d.ts.map +1 -0
  359. package/dist/signed-export.js +149 -0
  360. package/dist/signed-export.js.map +1 -0
  361. package/dist/supervisor-binding.d.ts +186 -413
  362. package/dist/supervisor-binding.d.ts.map +1 -1
  363. package/dist/testing/app-bindings.d.ts +33 -0
  364. package/dist/testing/app-bindings.d.ts.map +1 -0
  365. package/dist/testing/app-bindings.js +112 -0
  366. package/dist/testing/app-bindings.js.map +1 -0
  367. package/dist/testing/index.d.ts +11 -0
  368. package/dist/testing/index.d.ts.map +1 -0
  369. package/dist/testing/index.js +13 -0
  370. package/dist/testing/index.js.map +1 -0
  371. package/dist/testing/stub-binding.d.ts +34 -0
  372. package/dist/testing/stub-binding.d.ts.map +1 -0
  373. package/dist/testing/stub-binding.js +42 -0
  374. package/dist/testing/stub-binding.js.map +1 -0
  375. package/dist/testing/trigger-registry.d.ts +21 -0
  376. package/dist/testing/trigger-registry.d.ts.map +1 -0
  377. package/dist/testing/trigger-registry.js +206 -0
  378. package/dist/testing/trigger-registry.js.map +1 -0
  379. package/dist/token-admin.d.ts +46 -8
  380. package/dist/token-admin.d.ts.map +1 -1
  381. package/dist/token-admin.js.map +1 -1
  382. package/dist/tool-binding.d.ts +13 -0
  383. package/dist/tool-binding.d.ts.map +1 -1
  384. package/dist/trigger-binding.d.ts +2 -2
  385. package/dist/trigger-binding.d.ts.map +1 -1
  386. package/dist/trigger-binding.js +1 -1
  387. package/dist/trigger-binding.js.map +1 -1
  388. package/dist/types.d.ts +16 -0
  389. package/dist/types.d.ts.map +1 -1
  390. package/dist/webhook-endpoint-binding.d.ts +19 -3
  391. package/dist/webhook-endpoint-binding.d.ts.map +1 -1
  392. package/dist/webhook-endpoint-binding.js +1 -1
  393. package/dist/webhook-endpoint-binding.js.map +1 -1
  394. package/openapi.json +15286 -8653
  395. package/package.json +26 -22
  396. package/src/agent-binding.ts +14 -0
  397. package/src/agent-pins.ts +18 -2
  398. package/src/app.ts +366 -80
  399. package/src/block-publish.ts +181 -0
  400. package/src/caller.ts +62 -0
  401. package/src/capability-binding.ts +12 -0
  402. package/src/derive-agent-version.ts +9 -1
  403. package/src/errors.ts +73 -7
  404. package/src/eval-case-binding.ts +17 -1
  405. package/src/eval-run-binding.ts +31 -0
  406. package/src/eval-run-dispatcher.ts +7 -0
  407. package/src/eval-sample.ts +42 -0
  408. package/src/eval-suite-binding.ts +14 -0
  409. package/src/flow-binding.ts +19 -0
  410. package/src/flow-pins.ts +18 -2
  411. package/src/gate.ts +26 -0
  412. package/src/handler-binding.ts +36 -1
  413. package/src/hitl-binding.ts +24 -0
  414. package/src/identity-directory-binding.ts +85 -4
  415. package/src/identity-provider-binding.ts +216 -21
  416. package/src/improvement-pass-binding.ts +193 -0
  417. package/src/index.ts +153 -31
  418. package/src/judged-dispatcher.ts +78 -11
  419. package/src/judgment-binding.ts +25 -1
  420. package/src/mcp-endpoint-binding.ts +7 -0
  421. package/src/memory-binding.ts +121 -17
  422. package/src/memory-erasure-binding.ts +156 -0
  423. package/src/middleware/auth.ts +228 -62
  424. package/src/middleware/authorize.ts +139 -3
  425. package/src/middleware/error-mapper.ts +15 -1
  426. package/src/middleware/idempotency.ts +230 -43
  427. package/src/middleware/key-project.ts +86 -0
  428. package/src/middleware/principal.ts +9 -5
  429. package/src/middleware/project-ref.ts +3 -0
  430. package/src/openapi/generate.ts +11 -2
  431. package/src/openapi/operations.ts +1059 -142
  432. package/src/openapi/schemas.ts +2438 -485
  433. package/src/person-grants-binding.ts +76 -0
  434. package/src/proposal-service.ts +640 -0
  435. package/src/proposal-status.ts +176 -0
  436. package/src/provider-binding.ts +10 -0
  437. package/src/publish-refused.ts +38 -9
  438. package/src/routes/adapters.ts +4 -0
  439. package/src/routes/agent-releases.ts +121 -69
  440. package/src/routes/agents.ts +128 -1
  441. package/src/routes/approvals.ts +164 -154
  442. package/src/routes/artifacts.ts +181 -11
  443. package/src/routes/auth.ts +804 -336
  444. package/src/routes/blocks.ts +2 -53
  445. package/src/routes/capabilities.ts +10 -1
  446. package/src/routes/compliance.ts +60 -99
  447. package/src/routes/conversations.ts +101 -7
  448. package/src/routes/cost.ts +32 -3
  449. package/src/routes/denied.ts +28 -0
  450. package/src/routes/deployments.ts +62 -16
  451. package/src/routes/eval-comparison.ts +81 -2
  452. package/src/routes/eval-overrides.ts +108 -0
  453. package/src/routes/eval-runs.ts +86 -6
  454. package/src/routes/eval-suites.ts +25 -1
  455. package/src/routes/event-triggers.ts +27 -3
  456. package/src/routes/export-signing-keys.ts +31 -0
  457. package/src/routes/flows.ts +12 -1
  458. package/src/routes/gate-policies.ts +37 -6
  459. package/src/routes/guardrails.ts +61 -2
  460. package/src/routes/identity.ts +328 -10
  461. package/src/routes/improvement-passes.ts +541 -0
  462. package/src/routes/judged-suites.ts +113 -43
  463. package/src/routes/judgment-context.ts +76 -5
  464. package/src/routes/judgment-flow-context.ts +16 -2
  465. package/src/routes/judgments.ts +17 -3
  466. package/src/routes/mcp.ts +29 -1
  467. package/src/routes/memory-access.ts +179 -0
  468. package/src/routes/memory-erasures.ts +240 -0
  469. package/src/routes/memory-parse.ts +250 -0
  470. package/src/routes/memory.ts +244 -286
  471. package/src/routes/observations.ts +15 -2
  472. package/src/routes/pagination.ts +12 -0
  473. package/src/routes/policies.ts +7 -1
  474. package/src/routes/project-mismatch.ts +56 -0
  475. package/src/routes/projects.ts +107 -13
  476. package/src/routes/proposals.ts +370 -611
  477. package/src/routes/provenance.ts +99 -133
  478. package/src/routes/providers.ts +223 -8
  479. package/src/routes/public-run-tokens.ts +3 -0
  480. package/src/routes/runs.ts +119 -39
  481. package/src/routes/schedules.ts +472 -60
  482. package/src/routes/segments.ts +11 -0
  483. package/src/routes/service-accounts.ts +262 -0
  484. package/src/routes/sign-in-options.ts +168 -0
  485. package/src/routes/signing-keys.ts +7 -1
  486. package/src/routes/tenant-access.ts +37 -0
  487. package/src/routes/tenant.ts +6 -0
  488. package/src/routes/token-sign-in.ts +161 -0
  489. package/src/routes/tokens.ts +172 -46
  490. package/src/routes/tools.ts +12 -1
  491. package/src/routes/trigger-access.ts +72 -0
  492. package/src/routes/webhook-endpoints.ts +15 -3
  493. package/src/routes/webhooks.ts +26 -2
  494. package/src/run-failure.ts +42 -0
  495. package/src/service-account-binding.ts +113 -0
  496. package/src/session-store-binding.ts +65 -13
  497. package/src/signed-export.ts +250 -0
  498. package/src/supervisor-binding.ts +169 -409
  499. package/src/testing/app-bindings.ts +142 -0
  500. package/src/testing/index.ts +21 -0
  501. package/src/testing/stub-binding.ts +53 -0
  502. package/src/testing/trigger-registry.ts +259 -0
  503. package/src/token-admin.ts +40 -8
  504. package/src/tool-binding.ts +14 -0
  505. package/src/trigger-binding.ts +8 -1
  506. package/src/types.ts +16 -0
  507. package/src/webhook-endpoint-binding.ts +18 -3
package/dist/app.js CHANGED
@@ -3,10 +3,12 @@
3
3
  import { noopLogger } from '@kindgi/log';
4
4
  import { Scalar } from '@scalar/hono-api-reference';
5
5
  import { Hono } from 'hono';
6
- import { bearerAuthMiddleware } from './middleware/auth.js';
6
+ import { exportSignerFromSigningKeyBinding } from '@kindgi/crypto';
7
+ import { SESSION_COOKIE_NAME, bearerAuthMiddleware, } from './middleware/auth.js';
7
8
  import { createAuthorizer } from './middleware/authorize.js';
8
9
  import { mapThrownError } from './middleware/error-mapper.js';
9
10
  import { createInMemoryIdempotencyStore, idempotencyMiddleware, } from './middleware/idempotency.js';
11
+ import { refuseOtherProjectForKey } from './middleware/key-project.js';
10
12
  import { principalMiddleware } from './middleware/principal.js';
11
13
  import { PROJECT_REF_ROUTES, refuseBadProjectId } from './middleware/project-ref.js';
12
14
  import { publicRunCorsMiddleware, publicRunRouteMatcher } from './middleware/public-run-routes.js';
@@ -21,7 +23,7 @@ import { agentsRouter } from './routes/agents.js';
21
23
  import { approvalsRouter } from './routes/approvals.js';
22
24
  import { artifactsRouter } from './routes/artifacts.js';
23
25
  import { auditRouter } from './routes/audit.js';
24
- import { authRouters } from './routes/auth.js';
26
+ import { authRouters, logoutHandler } from './routes/auth.js';
25
27
  import { blocksRouter } from './routes/blocks.js';
26
28
  import { capabilitiesRouter } from './routes/capabilities.js';
27
29
  import { complianceRouter } from './routes/compliance.js';
@@ -32,13 +34,16 @@ import { envRouter } from './routes/env.js';
32
34
  import { evalRunsRouters } from './routes/eval-runs.js';
33
35
  import { evalSuitesRouter } from './routes/eval-suites.js';
34
36
  import { eventTriggersRouter } from './routes/event-triggers.js';
37
+ import { exportSigningKeysRouter } from './routes/export-signing-keys.js';
35
38
  import { flowsRouter } from './routes/flows.js';
36
39
  import { gatePoliciesRouter } from './routes/gate-policies.js';
37
40
  import { guardrailsRouter } from './routes/guardrails.js';
38
41
  import { identityRouter } from './routes/identity.js';
42
+ import { improvementPassesRouter, mountImproveRoute } from './routes/improvement-passes.js';
39
43
  import { judgedSuitesRouter } from './routes/judged-suites.js';
40
44
  import { judgeClassesRouter, judgmentsRouter } from './routes/judgments.js';
41
45
  import { mcpRouter } from './routes/mcp.js';
46
+ import { memoryErasuresRouter } from './routes/memory-erasures.js';
42
47
  import { memoryRouter } from './routes/memory.js';
43
48
  import { observationsRouter } from './routes/observations.js';
44
49
  import { orgsRouter } from './routes/orgs.js';
@@ -54,17 +59,39 @@ import { runsRouter } from './routes/runs.js';
54
59
  import { s3Router } from './routes/s3.js';
55
60
  import { schedulesRouter } from './routes/schedules.js';
56
61
  import { secretsRouter } from './routes/secrets.js';
62
+ import { serviceAccountsRouter } from './routes/service-accounts.js';
63
+ import { signInOptionsRouter } from './routes/sign-in-options.js';
57
64
  import { signingKeysRouter } from './routes/signing-keys.js';
58
65
  import { teamsRouter } from './routes/teams.js';
59
66
  import { tenantRouter } from './routes/tenant.js';
67
+ import { tokenSignInRouter } from './routes/token-sign-in.js';
60
68
  import { tokensRouter } from './routes/tokens.js';
61
69
  import { toolsRouter } from './routes/tools.js';
62
70
  import { webhookEndpointsRouter } from './routes/webhook-endpoints.js';
63
71
  import { webhooksRouter } from './routes/webhooks.js';
64
72
  import { createInMemoryOauthStateStore } from './state-store-binding.js';
73
+ import { TRIGGER_KINDS } from './trigger-binding.js';
74
+ /** A token sign-in's session lifetime when `SessionConfig.ttl` is unset: 12 hours. */
75
+ const DEFAULT_TOKEN_SIGN_IN_TTL_MS = 12 * 60 * 60 * 1000;
65
76
  export function createApp(input) {
77
+ // A cookie session's value is the token the store minted. A store that
78
+ // can't resolve its own tokens would put the session id there instead,
79
+ // and the id is no secret (whoami and the audit trail show it).
80
+ if (input.session?.cookie !== undefined &&
81
+ input.sessionStore !== undefined &&
82
+ input.sessionStore.resolveToken === undefined) {
83
+ throw new Error('Cookie sessions need a session store that resolves its own tokens (`resolveToken`): without it, the session id would be the credential.');
84
+ }
66
85
  const app = new Hono();
67
86
  const runBinding = input.kernelBinding.run;
87
+ const exportSigning = input.exportSigning ??
88
+ (input.signingKey !== undefined
89
+ ? exportSignerFromSigningKeyBinding(input.signingKey)
90
+ : undefined);
91
+ const exportOptions = {
92
+ ...(exportSigning !== undefined && { exportSigning }),
93
+ ...(input.auditEvents !== undefined && { auditEvents: input.auditEvents }),
94
+ };
68
95
  // ---------- global middleware ----------
69
96
  app.use('*', requestIdMiddleware());
70
97
  // The request's trace context and logger, and its access line.
@@ -122,6 +149,7 @@ export function createApp(input) {
122
149
  ...(sessionCfg?.touchThrottle !== undefined && {
123
150
  touchThrottleMs: sessionCfg.touchThrottle,
124
151
  }),
152
+ ...(sessionCfg?.cookie !== undefined && { sessionCookie: sessionCfg.cookie }),
125
153
  }));
126
154
  // Principal construction — runs after bearer so it can read the
127
155
  // resolved tenantId/userId/sessionId. If `authz` is not configured,
@@ -135,6 +163,8 @@ export function createApp(input) {
135
163
  c.set('log', c.get('log').child({ tenantId }));
136
164
  await next();
137
165
  });
166
+ // A key limited to a project names no other one.
167
+ v1.use('*', refuseOtherProjectForKey());
138
168
  const authorizer = input.authz !== undefined ? createAuthorizer(input.authz.authzCheckBinding) : undefined;
139
169
  const tenantHierarchyBinding = input.tenantHierarchyBinding;
140
170
  v1.use('*', idempotencyMiddleware(input.idempotencyStore ?? createInMemoryIdempotencyStore()));
@@ -146,19 +176,30 @@ export function createApp(input) {
146
176
  v1.use(path, projectRef);
147
177
  v1.route('/runs', runsRouter(input.runHandler, runBinding, {
148
178
  ...(input.eventBus !== undefined && { eventBus: input.eventBus }),
179
+ ...(input.agentRegistry !== undefined &&
180
+ input.flowRegistry !== undefined && {
181
+ targetExists: async (tenantId, target) => target.kind === 'agent'
182
+ ? (await input.agentRegistry?.get({ tenantId, agentId: target.id })) !==
183
+ null
184
+ : (await input.flowRegistry?.get({ tenantId, flowId: target.id })) !==
185
+ null,
186
+ }),
149
187
  ...(publicRunTokenLimits !== undefined && {
150
188
  publicRunTokens: {
151
189
  mint: (tenantId, runIds) => mintPublicRunTokenFor(tenantId, runIds, publicRunTokenLimits.defaultTtlSeconds),
152
190
  },
153
191
  }),
154
192
  }, authorizer));
155
- v1.route('/conversations', conversationsRouter(input.conversationBinding, runBinding, input.projectBinding));
193
+ v1.route('/conversations', conversationsRouter(input.conversationBinding, runBinding, input.projectBinding, authorizer));
156
194
  if (publicRunTokenLimits !== undefined) {
157
195
  v1.route('/tokens/public', publicRunTokensRouter(runBinding, { mint: mintPublicRunTokenFor, ...publicRunTokenLimits }, authorizer));
158
196
  }
159
197
  if (input.tokenAdmin !== undefined) {
160
198
  v1.route('/tokens', tokensRouter(input.tokenAdmin, authorizer));
161
199
  }
200
+ if (input.serviceAccountBinding !== undefined) {
201
+ v1.route('/service-accounts', serviceAccountsRouter(input.serviceAccountBinding, authorizer));
202
+ }
162
203
  // Mount the reviewer roster sub-resource BEFORE the approvals router
163
204
  // so `/v1/approvals/reviewers/*` resolves here rather than being
164
205
  // captured by the `:approvalId` param on the approvals router.
@@ -167,22 +208,32 @@ export function createApp(input) {
167
208
  }
168
209
  if (input.reviewerBinding !== undefined && input.hitlBinding !== undefined) {
169
210
  v1.route('/approvals', approvalsRouter(input.conversationBinding, input.reviewerBinding, input.hitlBinding, runBinding, {
170
- ...(input.signingKey !== undefined && { signingKey: input.signingKey }),
211
+ ...exportOptions,
171
212
  // Inline resume after approval-complete drives
172
213
  // completeToken. Passing the runHandler here means the route
173
214
  // calls `runHandler.resumeRun(...)` synchronously in the same
174
215
  // request so the reviewer's response reflects the resumed run's
175
216
  // new state (running / completed / re-suspended).
176
217
  runHandler: input.runHandler,
177
- }));
218
+ }, authorizer));
178
219
  }
179
220
  if (input.enableObservations === true && input.supervisor !== undefined) {
180
- v1.route('/observations', observationsRouter(input.supervisor));
221
+ v1.route('/observations', observationsRouter(input.supervisor, authorizer));
181
222
  }
182
223
  if (input.agentRegistry !== undefined) {
183
224
  v1.route('/agents', agentsRouter(input.agentRegistry, authorizer, input.toolRegistry, input.blockRegistry, input.agentReleases, {
184
225
  ...(input.evalRunBinding !== undefined && { evalRuns: input.evalRunBinding }),
185
226
  ...(input.projectBinding !== undefined && { projects: input.projectBinding }),
227
+ }, {
228
+ ...(input.memory?.semanticSearch !== undefined && {
229
+ semanticSearch: input.memory.semanticSearch,
230
+ }),
231
+ ...(input.memory?.agentRemember !== undefined && {
232
+ remember: input.memory.agentRemember,
233
+ }),
234
+ ...(input.memory?.conversationRecall !== undefined && {
235
+ conversationRecall: input.memory.conversationRecall,
236
+ }),
186
237
  }));
187
238
  }
188
239
  if (input.agentReleases?.gatePolicies !== undefined) {
@@ -201,39 +252,69 @@ export function createApp(input) {
201
252
  v1.route('/tools', toolsRouter(input.toolRegistry, authorizer, input.onToolWrite));
202
253
  }
203
254
  if (input.guardrailRegistry !== undefined) {
204
- v1.route('/guardrails', guardrailsRouter(input.guardrailRegistry, authorizer, input.onGuardrailWrite));
255
+ v1.route('/guardrails', guardrailsRouter(input.guardrailRegistry, authorizer, input.onGuardrailWrite, input.checkGuardrailConfig));
205
256
  }
206
257
  if (input.retention !== undefined) {
207
258
  v1.route('/retention', retentionRouter(input.retention, authorizer));
208
259
  }
260
+ // Before `/memory`, so its routes answer first.
261
+ if (input.memoryErasures !== undefined) {
262
+ v1.route('/memory/erasures', memoryErasuresRouter(input.memoryErasures, authorizer));
263
+ }
209
264
  if (input.memory !== undefined) {
210
- v1.route('/memory', memoryRouter(input.memory));
265
+ v1.route('/memory', memoryRouter(input.memory, {
266
+ ...(authorizer !== undefined && { authorizer }),
267
+ ...(input.projectBinding !== undefined && { projects: input.projectBinding }),
268
+ }));
211
269
  }
212
- if (input.supervisor !== undefined) {
213
- v1.route('/proposals', proposalsRouter(input.supervisor));
270
+ if (input.supervisor !== undefined &&
271
+ input.agentRegistry !== undefined &&
272
+ input.blockRegistry !== undefined &&
273
+ input.evalRunBinding !== undefined &&
274
+ input.agentReleases !== undefined) {
275
+ const improveDeps = {
276
+ ...(input.improvementPasses !== undefined && { passes: input.improvementPasses }),
277
+ agents: input.agentRegistry,
278
+ blocks: input.blockRegistry,
279
+ releases: input.agentReleases,
280
+ };
281
+ v1.route('/proposals', proposalsRouter(input.supervisor, {
282
+ agents: input.agentRegistry,
283
+ blocks: input.blockRegistry,
284
+ evalRuns: input.evalRunBinding,
285
+ releases: input.agentReleases,
286
+ ...(input.projectBinding !== undefined && { projects: input.projectBinding }),
287
+ }, authorizer, (r) => mountImproveRoute(r, improveDeps, authorizer)));
288
+ v1.route('/improvement-passes', improvementPassesRouter(input.improvementPasses, authorizer));
214
289
  }
290
+ v1.route('/export-signing-keys', exportSigningKeysRouter(exportSigning));
215
291
  v1.route('/provenance', provenanceRouter(input.provenanceBinding, {
216
292
  conversationBinding: input.conversationBinding,
217
- ...(input.signingKey !== undefined && { signingKey: input.signingKey }),
218
- }));
293
+ runBinding,
294
+ ...exportOptions,
295
+ }, authorizer));
219
296
  if (input.auditEvents !== undefined &&
220
297
  input.complianceClassifier !== undefined &&
221
298
  input.complianceGenerator !== undefined) {
222
299
  v1.route('/compliance', complianceRouter({
223
300
  auditEvents: input.auditEvents,
224
301
  classifier: input.complianceClassifier,
225
- complianceGenerator: input.complianceGenerator,
226
- ...(input.signingKey !== undefined && { signingKey: input.signingKey }),
227
- }));
302
+ ...(exportSigning !== undefined && { exportSigning }),
303
+ }, authorizer));
228
304
  }
229
305
  if (input.blobStorage !== undefined) {
230
- v1.route('/artifacts', artifactsRouter(input.blobStorage));
306
+ v1.route('/artifacts', artifactsRouter(input.blobStorage, {
307
+ runBinding,
308
+ ...(input.projectBinding !== undefined && { projectBinding: input.projectBinding }),
309
+ ...(authorizer !== undefined && { authorizer }),
310
+ ...(input.artifactMaxBytes !== undefined && { maxBytes: input.artifactMaxBytes }),
311
+ }));
231
312
  }
232
313
  if (input.capabilityRegistry !== undefined) {
233
- v1.route('/capabilities', capabilitiesRouter(input.capabilityRegistry));
314
+ v1.route('/capabilities', capabilitiesRouter(input.capabilityRegistry, authorizer));
234
315
  }
235
316
  if (input.providerRegistry !== undefined) {
236
- v1.route('/providers', providersRouter(input.providerRegistry, input.onProviderWrite));
317
+ v1.route('/providers', providersRouter(input.providerRegistry, input.onProviderWrite, input.adapterFactories, authorizer));
237
318
  }
238
319
  if (input.mcpEndpointRegistry !== undefined) {
239
320
  v1.route('/mcp', mcpRouter(input.mcpEndpointRegistry, input.mcpClientProbe, authorizer, {
@@ -248,27 +329,36 @@ export function createApp(input) {
248
329
  ...(input.identityDirectory !== undefined && { directory: input.identityDirectory }),
249
330
  ...(input.sessionStore !== undefined && { sessionStore: input.sessionStore }),
250
331
  ...(input.reviewerBinding !== undefined && { reviewerBinding: input.reviewerBinding }),
332
+ ...(authorizer !== undefined && { authorizer }),
333
+ ...(input.personGrants !== undefined && { personGrants: input.personGrants }),
251
334
  }));
252
335
  if (input.cost !== undefined) {
253
- v1.route('/cost', costRouter(input.cost));
336
+ v1.route('/cost', costRouter(input.cost, authorizer));
254
337
  }
255
338
  if (input.adapterRegistry !== undefined) {
256
- v1.route('/adapters', adaptersRouter(input.adapterRegistry, input.adapterFactories));
339
+ v1.route('/adapters', adaptersRouter(input.adapterRegistry, input.adapterFactories, authorizer));
257
340
  }
258
341
  // Trigger admin surfaces. Three sibling routers over the same
259
342
  // `TriggerRegistryBinding` — each pins its own kind. There is no
260
343
  // external webhook receiver route here (it would need
261
344
  // unauthenticated tenant resolution).
262
345
  if (input.triggerRegistry !== undefined) {
263
- v1.route('/schedules', schedulesRouter(input.triggerRegistry));
264
- v1.route('/event-triggers', eventTriggersRouter(input.triggerRegistry));
265
- v1.route('/webhooks', webhooksRouter(input.triggerRegistry));
346
+ const kinds = new Set(input.triggerKinds ?? TRIGGER_KINDS);
347
+ if (kinds.has('cron')) {
348
+ v1.route('/schedules', schedulesRouter(input.triggerRegistry, authorizer, input.projectBinding));
349
+ }
350
+ if (kinds.has('event')) {
351
+ v1.route('/event-triggers', eventTriggersRouter(input.triggerRegistry, authorizer));
352
+ }
353
+ if (kinds.has('webhook')) {
354
+ v1.route('/webhooks', webhooksRouter(input.triggerRegistry, authorizer));
355
+ }
266
356
  }
267
357
  if (input.webhookEndpoints !== undefined) {
268
- v1.route('/webhook-endpoints', webhookEndpointsRouter(input.webhookEndpoints));
358
+ v1.route('/webhook-endpoints', webhookEndpointsRouter(input.webhookEndpoints, authorizer));
269
359
  }
270
360
  if (input.policyRegistry !== undefined) {
271
- v1.route('/policies', policiesRouter(input.policyRegistry));
361
+ v1.route('/policies', policiesRouter(input.policyRegistry, authorizer));
272
362
  }
273
363
  if (input.evalSuiteRegistry !== undefined) {
274
364
  v1.route('/eval-suites', evalSuitesRouter(input.evalSuiteRegistry, authorizer));
@@ -296,7 +386,7 @@ export function createApp(input) {
296
386
  v1.route('/teams', teamsRouter(input.teamBinding, input.teamMembershipBinding, tenantHierarchyBinding, authorizer));
297
387
  }
298
388
  if (input.projectBinding !== undefined && input.projectMembershipBinding !== undefined) {
299
- v1.route('/projects', projectsRouter(input.projectBinding, input.projectMembershipBinding, tenantHierarchyBinding, authorizer));
389
+ v1.route('/projects', projectsRouter(input.projectBinding, input.projectMembershipBinding, tenantHierarchyBinding, authorizer, input.identityDirectory));
300
390
  }
301
391
  // `/v1/tenant` is always mounted (reads the tenant through the
302
392
  // tenant-hierarchy binding);
@@ -340,7 +430,7 @@ export function createApp(input) {
340
430
  // Mounted on its own: a deployment can trust keys before it accepts
341
431
  // deployments.
342
432
  if (input.signingKeyRegistry !== undefined) {
343
- v1.route('/signing-keys', signingKeysRouter(input.signingKeyRegistry));
433
+ v1.route('/signing-keys', signingKeysRouter(input.signingKeyRegistry, authorizer));
344
434
  }
345
435
  if (input.deploymentRegistry !== undefined &&
346
436
  input.signingKeyRegistry !== undefined &&
@@ -371,7 +461,7 @@ export function createApp(input) {
371
461
  // `POST /v1/tools` / `POST /v1/guardrails` call.
372
462
  ...(input.onToolWrite !== undefined && { onToolWrite: input.onToolWrite }),
373
463
  ...(input.onGuardrailWrite !== undefined && { onGuardrailWrite: input.onGuardrailWrite }),
374
- }));
464
+ }, authorizer));
375
465
  }
376
466
  if (input.evalRunBinding !== undefined) {
377
467
  // Mount the start route under `/v1/eval-suites/:suiteId/runs` and
@@ -386,7 +476,9 @@ export function createApp(input) {
386
476
  ...(input.agentRegistry !== undefined && { agents: input.agentRegistry }),
387
477
  ...(input.toolRegistry !== undefined && { tools: input.toolRegistry }),
388
478
  }
389
- : undefined);
479
+ : undefined, input.agentRegistry !== undefined && input.blockRegistry !== undefined
480
+ ? { agents: input.agentRegistry, blocks: input.blockRegistry }
481
+ : undefined, authorizer);
390
482
  v1.route('/eval-suites', evalRuns.start);
391
483
  v1.route('/eval-runs', evalRuns.readback);
392
484
  }
@@ -398,22 +490,58 @@ export function createApp(input) {
398
490
  // reach it), and the callback sub-router mounts OUTSIDE the bearer
399
491
  // chain at `/v1/auth/callback/*` because the redirect from the
400
492
  // provider carries no framework token yet.
401
- if (input.sessionStore !== undefined &&
402
- input.identityProvider !== undefined &&
403
- input.exchangeCode !== undefined) {
493
+ if (input.sessionStore !== undefined && input.identityProvider !== undefined) {
404
494
  const routers = authRouters({
405
495
  sessionStore: input.sessionStore,
406
496
  identityProvider: input.identityProvider,
407
- exchangeCode: input.exchangeCode,
497
+ ...(input.exchangeCode !== undefined && { exchangeCode: input.exchangeCode }),
408
498
  ...(input.refreshToken !== undefined && { refreshToken: input.refreshToken }),
409
499
  stateStore: input.oauthStateStore ?? createInMemoryOauthStateStore(),
500
+ ...(authorizer !== undefined && { authorizer }),
501
+ ...(input.auditEvents !== undefined && { auditEvents: input.auditEvents }),
410
502
  });
411
503
  v1.route('/auth', routers.authed);
412
504
  // Callback mounts on the parent `app` under /v1/auth/callback so it
413
505
  // bypasses the bearer chain. The v1 router's use('*', bearer) has
414
506
  // already been installed above, so we mount at the parent scope.
415
- app.route('/v1/auth/callback', routers.callback);
416
- }
507
+ // Only the deployment's own code exchange serves it.
508
+ if (input.exchangeCode !== undefined)
509
+ app.route('/v1/auth/callback', routers.callback);
510
+ }
511
+ // How a person can sign in, before anyone is: outside the bearer chain
512
+ // too (mounted ahead of `/v1`, like the callback). Always mounted, so the
513
+ // console and `kindgi doctor` get a definite answer even when there is no
514
+ // way in at all: the case an operator most needs to hear about.
515
+ const cookieSessions = input.sessionStore !== undefined && input.session?.cookie !== undefined;
516
+ const tokenSignIn = cookieSessions && input.session?.tokenSignIn === true;
517
+ app.route('/v1/auth/sign-in-options', signInOptionsRouter({
518
+ ...(input.identityProvider !== undefined && { identityProvider: input.identityProvider }),
519
+ tokenSignIn,
520
+ ...(input.signInOptionsRateLimit !== undefined && {
521
+ rateLimit: input.signInOptionsRateLimit,
522
+ }),
523
+ ...(input.signInEmailLink !== undefined && { emailLink: input.signInEmailLink }),
524
+ }));
525
+ // Browser sessions need a way out even without identity providers
526
+ // (which bring their own `/auth` routes, logout included).
527
+ if (cookieSessions && input.identityProvider === undefined && input.sessionStore !== undefined) {
528
+ v1.post('/auth/logout', logoutHandler(input.sessionStore, input.auditEvents));
529
+ }
530
+ // A person signs in to the console with an API token: inside the bearer
531
+ // chain (the token arrives in `Authorization`). Always mounted: without
532
+ // browser sessions, or unless the deployment allows it, it refuses with
533
+ // 403 token-sign-in-off.
534
+ v1.route('/auth/token-sign-in', tokenSignInRouter(input.sessionStore !== undefined &&
535
+ input.session?.cookie !== undefined &&
536
+ input.session.tokenSignIn === true
537
+ ? {
538
+ enabled: true,
539
+ sessionStore: input.sessionStore,
540
+ ttlMs: input.session.ttl ?? DEFAULT_TOKEN_SIGN_IN_TTL_MS,
541
+ cookieName: input.session.cookie.name ?? SESSION_COOKIE_NAME,
542
+ ...(input.auditEvents !== undefined && { auditEvents: input.auditEvents }),
543
+ }
544
+ : { enabled: false }));
417
545
  app.route('/v1', v1);
418
546
  // ---------- S3-compat surface (/s3/*, SigV4 auth) ----------
419
547
  // Mounted OUTSIDE the /v1/* Bearer chain — S3 clients authenticate
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type BlockDefinition } from '@kindgi/agents';
2
+ import type { TenantId } from '@kindgi/types';
3
+ import type { BlockRecord, BlockRegistryBinding } from './block-binding.js';
4
+ /** One thing wrong with a block version, as `validation-failed` lists them. */
5
+ export interface BlockPublishIssue {
6
+ readonly path: string;
7
+ readonly message: string;
8
+ }
9
+ /**
10
+ * A new version against the block's latest: the same kind, and a
11
+ * settings version without a schema of its own satisfies the schema it
12
+ * keeps (`carriedSchema`).
13
+ */
14
+ export declare function continuityIssues(latest: BlockRecord | null, block: BlockDefinition): BlockPublishIssue[];
15
+ /** The version as stored: with the schema it keeps, if any. */
16
+ export declare function withCarriedSchema(latest: BlockRecord | null, block: BlockDefinition): BlockDefinition;
17
+ /** New content for a block: settings values, or a prompt template. */
18
+ export type BlockEdit = {
19
+ readonly kind: 'settings';
20
+ readonly values: Readonly<Record<string, unknown>>;
21
+ } | {
22
+ readonly kind: 'prompt';
23
+ readonly template: string;
24
+ };
25
+ export interface PublishBlockEditInput {
26
+ readonly blocks: BlockRegistryBinding;
27
+ readonly tenantId: TenantId;
28
+ /** The version the edit starts from: its schema or parameters and description carry over. */
29
+ readonly from: BlockRecord;
30
+ readonly edit: BlockEdit;
31
+ }
32
+ export type PublishBlockEditOutcome = {
33
+ readonly kind: 'ok';
34
+ readonly version: string;
35
+ } | {
36
+ readonly kind: 'invalid';
37
+ readonly issues: readonly BlockPublishIssue[];
38
+ };
39
+ /** The block version an edit would publish, numbered `version`; issues when it isn't valid. */
40
+ export declare function blockEditDefinition(input: PublishBlockEditInput, version: string): Promise<{
41
+ readonly kind: 'ok';
42
+ readonly block: BlockDefinition;
43
+ readonly latest: BlockRecord | null;
44
+ } | {
45
+ readonly kind: 'invalid';
46
+ readonly issues: readonly BlockPublishIssue[];
47
+ }>;
48
+ /**
49
+ * Publish an edit of a block as its next free version (the first patch
50
+ * after its highest, unregistered versions included, since versions
51
+ * never change), into the block's own project. The edit is checked as
52
+ * `POST /v1/blocks` checks a version: it must be a valid block of the
53
+ * same kind, and settings values must satisfy the schema they keep.
54
+ */
55
+ export declare function publishBlockEdit(input: PublishBlockEditInput): Promise<PublishBlockEditOutcome>;
56
+ //# sourceMappingURL=block-publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-publish.d.ts","sourceRoot":"","sources":["../src/block-publish.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAuC,MAAM,gBAAgB,CAAC;AAE3F,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,KAAK,EAAE,eAAe,GACrB,iBAAiB,EAAE,CAgBrB;AAeD,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,KAAK,EAAE,eAAe,GACrB,eAAe,CAIjB;AAED,sEAAsE;AACtE,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,GACjF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,CAAC;AAKhF,+FAA+F;AAC/F,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE,MAAM,GACd,OAAO,CACN;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GAC7F;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,CAC9E,CAkCA;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,uBAAuB,CAAC,CAsBlC"}