@kindgi/api 0.0.0-bootstrap.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +216 -1
  3. package/dist/adapter-binding.d.ts +177 -0
  4. package/dist/adapter-binding.d.ts.map +1 -0
  5. package/dist/adapter-binding.js +12 -0
  6. package/dist/adapter-binding.js.map +1 -0
  7. package/dist/agent-binding.d.ts +207 -0
  8. package/dist/agent-binding.d.ts.map +1 -0
  9. package/dist/agent-binding.js +4 -0
  10. package/dist/agent-binding.js.map +1 -0
  11. package/dist/app.d.ts +770 -0
  12. package/dist/app.d.ts.map +1 -0
  13. package/dist/app.js +396 -0
  14. package/dist/app.js.map +1 -0
  15. package/dist/capability-binding.d.ts +76 -0
  16. package/dist/capability-binding.d.ts.map +1 -0
  17. package/dist/capability-binding.js +4 -0
  18. package/dist/capability-binding.js.map +1 -0
  19. package/dist/cost-binding.d.ts +175 -0
  20. package/dist/cost-binding.d.ts.map +1 -0
  21. package/dist/cost-binding.js +13 -0
  22. package/dist/cost-binding.js.map +1 -0
  23. package/dist/deployment-binding.d.ts +201 -0
  24. package/dist/deployment-binding.d.ts.map +1 -0
  25. package/dist/deployment-binding.js +4 -0
  26. package/dist/deployment-binding.js.map +1 -0
  27. package/dist/env-binding.d.ts +132 -0
  28. package/dist/env-binding.d.ts.map +1 -0
  29. package/dist/env-binding.js +4 -0
  30. package/dist/env-binding.js.map +1 -0
  31. package/dist/errors.d.ts +37 -0
  32. package/dist/errors.d.ts.map +1 -0
  33. package/dist/errors.js +264 -0
  34. package/dist/errors.js.map +1 -0
  35. package/dist/eval-run-binding.d.ts +196 -0
  36. package/dist/eval-run-binding.d.ts.map +1 -0
  37. package/dist/eval-run-binding.js +16 -0
  38. package/dist/eval-run-binding.js.map +1 -0
  39. package/dist/eval-run-dispatcher.d.ts +131 -0
  40. package/dist/eval-run-dispatcher.d.ts.map +1 -0
  41. package/dist/eval-run-dispatcher.js +368 -0
  42. package/dist/eval-run-dispatcher.js.map +1 -0
  43. package/dist/eval-suite-binding.d.ts +227 -0
  44. package/dist/eval-suite-binding.d.ts.map +1 -0
  45. package/dist/eval-suite-binding.js +24 -0
  46. package/dist/eval-suite-binding.js.map +1 -0
  47. package/dist/event-bus-binding.d.ts +107 -0
  48. package/dist/event-bus-binding.d.ts.map +1 -0
  49. package/dist/event-bus-binding.js +5 -0
  50. package/dist/event-bus-binding.js.map +1 -0
  51. package/dist/flow-binding.d.ts +194 -0
  52. package/dist/flow-binding.d.ts.map +1 -0
  53. package/dist/flow-binding.js +4 -0
  54. package/dist/flow-binding.js.map +1 -0
  55. package/dist/guardrail-binding.d.ts +138 -0
  56. package/dist/guardrail-binding.d.ts.map +1 -0
  57. package/dist/guardrail-binding.js +4 -0
  58. package/dist/guardrail-binding.js.map +1 -0
  59. package/dist/handler-binding.d.ts +126 -0
  60. package/dist/handler-binding.d.ts.map +1 -0
  61. package/dist/handler-binding.js +4 -0
  62. package/dist/handler-binding.js.map +1 -0
  63. package/dist/hitl-binding.d.ts +115 -0
  64. package/dist/hitl-binding.d.ts.map +1 -0
  65. package/dist/hitl-binding.js +4 -0
  66. package/dist/hitl-binding.js.map +1 -0
  67. package/dist/identity-directory-binding.d.ts +116 -0
  68. package/dist/identity-directory-binding.d.ts.map +1 -0
  69. package/dist/identity-directory-binding.js +4 -0
  70. package/dist/identity-directory-binding.js.map +1 -0
  71. package/dist/identity-provider-binding.d.ts +184 -0
  72. package/dist/identity-provider-binding.d.ts.map +1 -0
  73. package/dist/identity-provider-binding.js +4 -0
  74. package/dist/identity-provider-binding.js.map +1 -0
  75. package/dist/image-registry-binding.d.ts +165 -0
  76. package/dist/image-registry-binding.d.ts.map +1 -0
  77. package/dist/image-registry-binding.js +4 -0
  78. package/dist/image-registry-binding.js.map +1 -0
  79. package/dist/index.d.ts +72 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +26 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/key-management-binding.d.ts +101 -0
  84. package/dist/key-management-binding.d.ts.map +1 -0
  85. package/dist/key-management-binding.js +4 -0
  86. package/dist/key-management-binding.js.map +1 -0
  87. package/dist/mcp-endpoint-binding.d.ts +312 -0
  88. package/dist/mcp-endpoint-binding.d.ts.map +1 -0
  89. package/dist/mcp-endpoint-binding.js +12 -0
  90. package/dist/mcp-endpoint-binding.js.map +1 -0
  91. package/dist/memory-binding.d.ts +209 -0
  92. package/dist/memory-binding.d.ts.map +1 -0
  93. package/dist/memory-binding.js +4 -0
  94. package/dist/memory-binding.js.map +1 -0
  95. package/dist/middleware/auth.d.ts +168 -0
  96. package/dist/middleware/auth.d.ts.map +1 -0
  97. package/dist/middleware/auth.js +247 -0
  98. package/dist/middleware/auth.js.map +1 -0
  99. package/dist/middleware/authorize.d.ts +26 -0
  100. package/dist/middleware/authorize.d.ts.map +1 -0
  101. package/dist/middleware/authorize.js +65 -0
  102. package/dist/middleware/authorize.js.map +1 -0
  103. package/dist/middleware/error-mapper.d.ts +13 -0
  104. package/dist/middleware/error-mapper.d.ts.map +1 -0
  105. package/dist/middleware/error-mapper.js +32 -0
  106. package/dist/middleware/error-mapper.js.map +1 -0
  107. package/dist/middleware/idempotency.d.ts +43 -0
  108. package/dist/middleware/idempotency.d.ts.map +1 -0
  109. package/dist/middleware/idempotency.js +118 -0
  110. package/dist/middleware/idempotency.js.map +1 -0
  111. package/dist/middleware/principal.d.ts +4 -0
  112. package/dist/middleware/principal.d.ts.map +1 -0
  113. package/dist/middleware/principal.js +42 -0
  114. package/dist/middleware/principal.js.map +1 -0
  115. package/dist/middleware/public-run-routes.d.ts +16 -0
  116. package/dist/middleware/public-run-routes.d.ts.map +1 -0
  117. package/dist/middleware/public-run-routes.js +43 -0
  118. package/dist/middleware/public-run-routes.js.map +1 -0
  119. package/dist/middleware/request-id.d.ts +14 -0
  120. package/dist/middleware/request-id.d.ts.map +1 -0
  121. package/dist/middleware/request-id.js +24 -0
  122. package/dist/middleware/request-id.js.map +1 -0
  123. package/dist/middleware/sigv4-verify.d.ts +64 -0
  124. package/dist/middleware/sigv4-verify.d.ts.map +1 -0
  125. package/dist/middleware/sigv4-verify.js +286 -0
  126. package/dist/middleware/sigv4-verify.js.map +1 -0
  127. package/dist/middleware/sigv4.d.ts +25 -0
  128. package/dist/middleware/sigv4.d.ts.map +1 -0
  129. package/dist/middleware/sigv4.js +120 -0
  130. package/dist/middleware/sigv4.js.map +1 -0
  131. package/dist/openapi/generate.d.ts +15 -0
  132. package/dist/openapi/generate.d.ts.map +1 -0
  133. package/dist/openapi/generate.js +241 -0
  134. package/dist/openapi/generate.js.map +1 -0
  135. package/dist/openapi/operations.d.ts +70 -0
  136. package/dist/openapi/operations.d.ts.map +1 -0
  137. package/dist/openapi/operations.js +5051 -0
  138. package/dist/openapi/operations.js.map +1 -0
  139. package/dist/openapi/schemas.d.ts +590 -0
  140. package/dist/openapi/schemas.d.ts.map +1 -0
  141. package/dist/openapi/schemas.js +5820 -0
  142. package/dist/openapi/schemas.js.map +1 -0
  143. package/dist/provenance-binding.d.ts +116 -0
  144. package/dist/provenance-binding.d.ts.map +1 -0
  145. package/dist/provenance-binding.js +31 -0
  146. package/dist/provenance-binding.js.map +1 -0
  147. package/dist/provider-binding.d.ts +174 -0
  148. package/dist/provider-binding.d.ts.map +1 -0
  149. package/dist/provider-binding.js +4 -0
  150. package/dist/provider-binding.js.map +1 -0
  151. package/dist/public-run-token.d.ts +97 -0
  152. package/dist/public-run-token.d.ts.map +1 -0
  153. package/dist/public-run-token.js +167 -0
  154. package/dist/public-run-token.js.map +1 -0
  155. package/dist/retention-binding.d.ts +69 -0
  156. package/dist/retention-binding.d.ts.map +1 -0
  157. package/dist/retention-binding.js +4 -0
  158. package/dist/retention-binding.js.map +1 -0
  159. package/dist/reviewer-binding.d.ts +84 -0
  160. package/dist/reviewer-binding.d.ts.map +1 -0
  161. package/dist/reviewer-binding.js +4 -0
  162. package/dist/reviewer-binding.js.map +1 -0
  163. package/dist/rotation-status-store.d.ts +96 -0
  164. package/dist/rotation-status-store.d.ts.map +1 -0
  165. package/dist/rotation-status-store.js +106 -0
  166. package/dist/rotation-status-store.js.map +1 -0
  167. package/dist/routes/adapters.d.ts +29 -0
  168. package/dist/routes/adapters.d.ts.map +1 -0
  169. package/dist/routes/adapters.js +230 -0
  170. package/dist/routes/adapters.js.map +1 -0
  171. package/dist/routes/agents.d.ts +17 -0
  172. package/dist/routes/agents.d.ts.map +1 -0
  173. package/dist/routes/agents.js +342 -0
  174. package/dist/routes/agents.js.map +1 -0
  175. package/dist/routes/approvals.d.ts +37 -0
  176. package/dist/routes/approvals.d.ts.map +1 -0
  177. package/dist/routes/approvals.js +551 -0
  178. package/dist/routes/approvals.js.map +1 -0
  179. package/dist/routes/artifacts.d.ts +25 -0
  180. package/dist/routes/artifacts.d.ts.map +1 -0
  181. package/dist/routes/artifacts.js +265 -0
  182. package/dist/routes/artifacts.js.map +1 -0
  183. package/dist/routes/audit.d.ts +6 -0
  184. package/dist/routes/audit.d.ts.map +1 -0
  185. package/dist/routes/audit.js +162 -0
  186. package/dist/routes/audit.js.map +1 -0
  187. package/dist/routes/auth.d.ts +47 -0
  188. package/dist/routes/auth.d.ts.map +1 -0
  189. package/dist/routes/auth.js +630 -0
  190. package/dist/routes/auth.js.map +1 -0
  191. package/dist/routes/capabilities.d.ts +14 -0
  192. package/dist/routes/capabilities.d.ts.map +1 -0
  193. package/dist/routes/capabilities.js +62 -0
  194. package/dist/routes/capabilities.js.map +1 -0
  195. package/dist/routes/compliance.d.ts +37 -0
  196. package/dist/routes/compliance.d.ts.map +1 -0
  197. package/dist/routes/compliance.js +321 -0
  198. package/dist/routes/compliance.js.map +1 -0
  199. package/dist/routes/conversations.d.ts +13 -0
  200. package/dist/routes/conversations.d.ts.map +1 -0
  201. package/dist/routes/conversations.js +295 -0
  202. package/dist/routes/conversations.js.map +1 -0
  203. package/dist/routes/cost.d.ts +24 -0
  204. package/dist/routes/cost.d.ts.map +1 -0
  205. package/dist/routes/cost.js +243 -0
  206. package/dist/routes/cost.js.map +1 -0
  207. package/dist/routes/deployments.d.ts +122 -0
  208. package/dist/routes/deployments.d.ts.map +1 -0
  209. package/dist/routes/deployments.js +1036 -0
  210. package/dist/routes/deployments.js.map +1 -0
  211. package/dist/routes/env.d.ts +62 -0
  212. package/dist/routes/env.d.ts.map +1 -0
  213. package/dist/routes/env.js +311 -0
  214. package/dist/routes/env.js.map +1 -0
  215. package/dist/routes/eval-runs.d.ts +28 -0
  216. package/dist/routes/eval-runs.d.ts.map +1 -0
  217. package/dist/routes/eval-runs.js +479 -0
  218. package/dist/routes/eval-runs.js.map +1 -0
  219. package/dist/routes/eval-suites.d.ts +24 -0
  220. package/dist/routes/eval-suites.d.ts.map +1 -0
  221. package/dist/routes/eval-suites.js +381 -0
  222. package/dist/routes/eval-suites.js.map +1 -0
  223. package/dist/routes/event-triggers.d.ts +12 -0
  224. package/dist/routes/event-triggers.d.ts.map +1 -0
  225. package/dist/routes/event-triggers.js +218 -0
  226. package/dist/routes/event-triggers.js.map +1 -0
  227. package/dist/routes/flows.d.ts +23 -0
  228. package/dist/routes/flows.d.ts.map +1 -0
  229. package/dist/routes/flows.js +344 -0
  230. package/dist/routes/flows.js.map +1 -0
  231. package/dist/routes/guardrails.d.ts +33 -0
  232. package/dist/routes/guardrails.d.ts.map +1 -0
  233. package/dist/routes/guardrails.js +236 -0
  234. package/dist/routes/guardrails.js.map +1 -0
  235. package/dist/routes/identity.d.ts +39 -0
  236. package/dist/routes/identity.d.ts.map +1 -0
  237. package/dist/routes/identity.js +138 -0
  238. package/dist/routes/identity.js.map +1 -0
  239. package/dist/routes/mcp.d.ts +23 -0
  240. package/dist/routes/mcp.d.ts.map +1 -0
  241. package/dist/routes/mcp.js +727 -0
  242. package/dist/routes/mcp.js.map +1 -0
  243. package/dist/routes/memory.d.ts +16 -0
  244. package/dist/routes/memory.d.ts.map +1 -0
  245. package/dist/routes/memory.js +353 -0
  246. package/dist/routes/memory.js.map +1 -0
  247. package/dist/routes/observations.d.ts +19 -0
  248. package/dist/routes/observations.d.ts.map +1 -0
  249. package/dist/routes/observations.js +135 -0
  250. package/dist/routes/observations.js.map +1 -0
  251. package/dist/routes/orgs.d.ts +24 -0
  252. package/dist/routes/orgs.d.ts.map +1 -0
  253. package/dist/routes/orgs.js +208 -0
  254. package/dist/routes/orgs.js.map +1 -0
  255. package/dist/routes/pagination.d.ts +18 -0
  256. package/dist/routes/pagination.d.ts.map +1 -0
  257. package/dist/routes/pagination.js +35 -0
  258. package/dist/routes/pagination.js.map +1 -0
  259. package/dist/routes/policies.d.ts +23 -0
  260. package/dist/routes/policies.d.ts.map +1 -0
  261. package/dist/routes/policies.js +314 -0
  262. package/dist/routes/policies.js.map +1 -0
  263. package/dist/routes/projects.d.ts +45 -0
  264. package/dist/routes/projects.d.ts.map +1 -0
  265. package/dist/routes/projects.js +485 -0
  266. package/dist/routes/projects.js.map +1 -0
  267. package/dist/routes/proposals.d.ts +24 -0
  268. package/dist/routes/proposals.d.ts.map +1 -0
  269. package/dist/routes/proposals.js +581 -0
  270. package/dist/routes/proposals.js.map +1 -0
  271. package/dist/routes/provenance.d.ts +34 -0
  272. package/dist/routes/provenance.d.ts.map +1 -0
  273. package/dist/routes/provenance.js +274 -0
  274. package/dist/routes/provenance.js.map +1 -0
  275. package/dist/routes/providers.d.ts +32 -0
  276. package/dist/routes/providers.d.ts.map +1 -0
  277. package/dist/routes/providers.js +490 -0
  278. package/dist/routes/providers.js.map +1 -0
  279. package/dist/routes/public-run-tokens.d.ts +17 -0
  280. package/dist/routes/public-run-tokens.d.ts.map +1 -0
  281. package/dist/routes/public-run-tokens.js +69 -0
  282. package/dist/routes/public-run-tokens.js.map +1 -0
  283. package/dist/routes/retention.d.ts +19 -0
  284. package/dist/routes/retention.d.ts.map +1 -0
  285. package/dist/routes/retention.js +152 -0
  286. package/dist/routes/retention.js.map +1 -0
  287. package/dist/routes/reviewers.d.ts +5 -0
  288. package/dist/routes/reviewers.d.ts.map +1 -0
  289. package/dist/routes/reviewers.js +161 -0
  290. package/dist/routes/reviewers.js.map +1 -0
  291. package/dist/routes/runs.d.ts +34 -0
  292. package/dist/routes/runs.d.ts.map +1 -0
  293. package/dist/routes/runs.js +773 -0
  294. package/dist/routes/runs.js.map +1 -0
  295. package/dist/routes/s3.d.ts +31 -0
  296. package/dist/routes/s3.d.ts.map +1 -0
  297. package/dist/routes/s3.js +433 -0
  298. package/dist/routes/s3.js.map +1 -0
  299. package/dist/routes/schedules.d.ts +20 -0
  300. package/dist/routes/schedules.d.ts.map +1 -0
  301. package/dist/routes/schedules.js +234 -0
  302. package/dist/routes/schedules.js.map +1 -0
  303. package/dist/routes/scope-params.d.ts +57 -0
  304. package/dist/routes/scope-params.d.ts.map +1 -0
  305. package/dist/routes/scope-params.js +105 -0
  306. package/dist/routes/scope-params.js.map +1 -0
  307. package/dist/routes/secret-ref.d.ts +20 -0
  308. package/dist/routes/secret-ref.d.ts.map +1 -0
  309. package/dist/routes/secret-ref.js +42 -0
  310. package/dist/routes/secret-ref.js.map +1 -0
  311. package/dist/routes/secrets.d.ts +53 -0
  312. package/dist/routes/secrets.d.ts.map +1 -0
  313. package/dist/routes/secrets.js +715 -0
  314. package/dist/routes/secrets.js.map +1 -0
  315. package/dist/routes/signing-keys.d.ts +23 -0
  316. package/dist/routes/signing-keys.d.ts.map +1 -0
  317. package/dist/routes/signing-keys.js +212 -0
  318. package/dist/routes/signing-keys.js.map +1 -0
  319. package/dist/routes/sse.d.ts +58 -0
  320. package/dist/routes/sse.d.ts.map +1 -0
  321. package/dist/routes/sse.js +92 -0
  322. package/dist/routes/sse.js.map +1 -0
  323. package/dist/routes/teams.d.ts +30 -0
  324. package/dist/routes/teams.d.ts.map +1 -0
  325. package/dist/routes/teams.js +443 -0
  326. package/dist/routes/teams.js.map +1 -0
  327. package/dist/routes/tenant.d.ts +57 -0
  328. package/dist/routes/tenant.d.ts.map +1 -0
  329. package/dist/routes/tenant.js +352 -0
  330. package/dist/routes/tenant.js.map +1 -0
  331. package/dist/routes/tokens.d.ts +14 -0
  332. package/dist/routes/tokens.d.ts.map +1 -0
  333. package/dist/routes/tokens.js +231 -0
  334. package/dist/routes/tokens.js.map +1 -0
  335. package/dist/routes/tools.d.ts +33 -0
  336. package/dist/routes/tools.d.ts.map +1 -0
  337. package/dist/routes/tools.js +380 -0
  338. package/dist/routes/tools.js.map +1 -0
  339. package/dist/routes/webhook-endpoints.d.ts +10 -0
  340. package/dist/routes/webhook-endpoints.d.ts.map +1 -0
  341. package/dist/routes/webhook-endpoints.js +407 -0
  342. package/dist/routes/webhook-endpoints.js.map +1 -0
  343. package/dist/routes/webhooks.d.ts +21 -0
  344. package/dist/routes/webhooks.d.ts.map +1 -0
  345. package/dist/routes/webhooks.js +228 -0
  346. package/dist/routes/webhooks.js.map +1 -0
  347. package/dist/s3-credential-binding.d.ts +54 -0
  348. package/dist/s3-credential-binding.d.ts.map +1 -0
  349. package/dist/s3-credential-binding.js +4 -0
  350. package/dist/s3-credential-binding.js.map +1 -0
  351. package/dist/secrets-binding.d.ts +281 -0
  352. package/dist/secrets-binding.d.ts.map +1 -0
  353. package/dist/secrets-binding.js +10 -0
  354. package/dist/secrets-binding.js.map +1 -0
  355. package/dist/secrets-provider-binding.d.ts +164 -0
  356. package/dist/secrets-provider-binding.d.ts.map +1 -0
  357. package/dist/secrets-provider-binding.js +4 -0
  358. package/dist/secrets-provider-binding.js.map +1 -0
  359. package/dist/session-store-binding.d.ts +148 -0
  360. package/dist/session-store-binding.d.ts.map +1 -0
  361. package/dist/session-store-binding.js +4 -0
  362. package/dist/session-store-binding.js.map +1 -0
  363. package/dist/signing-key-binding.d.ts +210 -0
  364. package/dist/signing-key-binding.d.ts.map +1 -0
  365. package/dist/signing-key-binding.js +4 -0
  366. package/dist/signing-key-binding.js.map +1 -0
  367. package/dist/state-store-binding.d.ts +53 -0
  368. package/dist/state-store-binding.d.ts.map +1 -0
  369. package/dist/state-store-binding.js +38 -0
  370. package/dist/state-store-binding.js.map +1 -0
  371. package/dist/supervisor-binding.d.ts +526 -0
  372. package/dist/supervisor-binding.d.ts.map +1 -0
  373. package/dist/supervisor-binding.js +4 -0
  374. package/dist/supervisor-binding.js.map +1 -0
  375. package/dist/tenant-host-access.d.ts +41 -0
  376. package/dist/tenant-host-access.d.ts.map +1 -0
  377. package/dist/tenant-host-access.js +42 -0
  378. package/dist/tenant-host-access.js.map +1 -0
  379. package/dist/token-admin.d.ts +99 -0
  380. package/dist/token-admin.d.ts.map +1 -0
  381. package/dist/token-admin.js +4 -0
  382. package/dist/token-admin.js.map +1 -0
  383. package/dist/tool-binding.d.ts +247 -0
  384. package/dist/tool-binding.d.ts.map +1 -0
  385. package/dist/tool-binding.js +4 -0
  386. package/dist/tool-binding.js.map +1 -0
  387. package/dist/trigger-binding.d.ts +13 -0
  388. package/dist/trigger-binding.d.ts.map +1 -0
  389. package/dist/trigger-binding.js +4 -0
  390. package/dist/trigger-binding.js.map +1 -0
  391. package/dist/types.d.ts +71 -0
  392. package/dist/types.d.ts.map +1 -0
  393. package/dist/types.js +4 -0
  394. package/dist/types.js.map +1 -0
  395. package/dist/webhook-endpoint-binding.d.ts +230 -0
  396. package/dist/webhook-endpoint-binding.d.ts.map +1 -0
  397. package/dist/webhook-endpoint-binding.js +12 -0
  398. package/dist/webhook-endpoint-binding.js.map +1 -0
  399. package/dist/xml.d.ts +79 -0
  400. package/dist/xml.d.ts.map +1 -0
  401. package/dist/xml.js +115 -0
  402. package/dist/xml.js.map +1 -0
  403. package/openapi.json +29659 -0
  404. package/package.json +76 -4
  405. package/scripts/emit-openapi.mjs +44 -0
  406. package/src/adapter-binding.ts +204 -0
  407. package/src/agent-binding.ts +231 -0
  408. package/src/app.ts +1285 -0
  409. package/src/capability-binding.ts +83 -0
  410. package/src/cost-binding.ts +213 -0
  411. package/src/deployment-binding.ts +225 -0
  412. package/src/env-binding.ts +140 -0
  413. package/src/errors.ts +291 -0
  414. package/src/eval-run-binding.ts +209 -0
  415. package/src/eval-run-dispatcher.ts +497 -0
  416. package/src/eval-suite-binding.ts +257 -0
  417. package/src/event-bus-binding.ts +127 -0
  418. package/src/flow-binding.ts +213 -0
  419. package/src/guardrail-binding.ts +151 -0
  420. package/src/handler-binding.ts +132 -0
  421. package/src/hitl-binding.ts +172 -0
  422. package/src/identity-directory-binding.ts +128 -0
  423. package/src/identity-provider-binding.ts +203 -0
  424. package/src/image-registry-binding.ts +193 -0
  425. package/src/index.ts +606 -0
  426. package/src/key-management-binding.ts +91 -0
  427. package/src/mcp-endpoint-binding.ts +311 -0
  428. package/src/memory-binding.ts +239 -0
  429. package/src/middleware/auth.ts +437 -0
  430. package/src/middleware/authorize.ts +125 -0
  431. package/src/middleware/error-mapper.ts +37 -0
  432. package/src/middleware/idempotency.ts +160 -0
  433. package/src/middleware/principal.ts +64 -0
  434. package/src/middleware/public-run-routes.ts +50 -0
  435. package/src/middleware/request-id.ts +28 -0
  436. package/src/middleware/sigv4-verify.ts +374 -0
  437. package/src/middleware/sigv4.ts +165 -0
  438. package/src/openapi/generate.ts +307 -0
  439. package/src/openapi/operations.ts +5445 -0
  440. package/src/openapi/schemas.ts +6363 -0
  441. package/src/provenance-binding.ts +169 -0
  442. package/src/provider-binding.ts +196 -0
  443. package/src/public-run-token.ts +263 -0
  444. package/src/retention-binding.ts +78 -0
  445. package/src/reviewer-binding.ts +99 -0
  446. package/src/rotation-status-store.ts +209 -0
  447. package/src/routes/adapters.ts +319 -0
  448. package/src/routes/agents.ts +424 -0
  449. package/src/routes/approvals.ts +759 -0
  450. package/src/routes/artifacts.ts +317 -0
  451. package/src/routes/audit.ts +219 -0
  452. package/src/routes/auth.ts +806 -0
  453. package/src/routes/capabilities.ts +79 -0
  454. package/src/routes/compliance.ts +482 -0
  455. package/src/routes/conversations.ts +369 -0
  456. package/src/routes/cost.ts +327 -0
  457. package/src/routes/deployments.ts +1493 -0
  458. package/src/routes/env.ts +429 -0
  459. package/src/routes/eval-runs.ts +631 -0
  460. package/src/routes/eval-suites.ts +490 -0
  461. package/src/routes/event-triggers.ts +283 -0
  462. package/src/routes/flows.ts +423 -0
  463. package/src/routes/guardrails.ts +320 -0
  464. package/src/routes/identity.ts +203 -0
  465. package/src/routes/mcp.ts +940 -0
  466. package/src/routes/memory.ts +430 -0
  467. package/src/routes/observations.ts +175 -0
  468. package/src/routes/orgs.ts +273 -0
  469. package/src/routes/pagination.ts +51 -0
  470. package/src/routes/policies.ts +413 -0
  471. package/src/routes/projects.ts +634 -0
  472. package/src/routes/proposals.ts +719 -0
  473. package/src/routes/provenance.ts +406 -0
  474. package/src/routes/providers.ts +624 -0
  475. package/src/routes/public-run-tokens.ts +104 -0
  476. package/src/routes/retention.ts +193 -0
  477. package/src/routes/reviewers.ts +209 -0
  478. package/src/routes/runs.ts +981 -0
  479. package/src/routes/s3.ts +519 -0
  480. package/src/routes/schedules.ts +300 -0
  481. package/src/routes/scope-params.ts +133 -0
  482. package/src/routes/secret-ref.ts +52 -0
  483. package/src/routes/secrets.ts +975 -0
  484. package/src/routes/signing-keys.ts +259 -0
  485. package/src/routes/sse.ts +148 -0
  486. package/src/routes/teams.ts +584 -0
  487. package/src/routes/tenant.ts +530 -0
  488. package/src/routes/tokens.ts +285 -0
  489. package/src/routes/tools.ts +491 -0
  490. package/src/routes/webhook-endpoints.ts +534 -0
  491. package/src/routes/webhooks.ts +296 -0
  492. package/src/s3-credential-binding.ts +58 -0
  493. package/src/secrets-binding.ts +308 -0
  494. package/src/secrets-provider-binding.ts +167 -0
  495. package/src/session-store-binding.ts +163 -0
  496. package/src/signing-key-binding.ts +235 -0
  497. package/src/state-store-binding.ts +84 -0
  498. package/src/supervisor-binding.ts +554 -0
  499. package/src/tenant-host-access.ts +62 -0
  500. package/src/token-admin.ts +104 -0
  501. package/src/tool-binding.ts +274 -0
  502. package/src/trigger-binding.ts +38 -0
  503. package/src/types.ts +74 -0
  504. package/src/webhook-endpoint-binding.ts +246 -0
  505. package/src/xml.ts +196 -0
@@ -0,0 +1,203 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+
4
+ import type { TenantId } from '@kindgi/types';
5
+
6
+ /**
7
+ * Caller-plugged catalog of OAuth 2.0 / OIDC identity providers the
8
+ * deployment offers to its tenants. Same pattern as
9
+ * `ProviderRegistryBinding` (model providers) — the API package does
10
+ * NOT own provider persistence, and secrets never cross the wire.
11
+ *
12
+ * A `ProviderConfig` carries ONLY a `clientSecretRef` — an opaque
13
+ * pointer that the deployment resolves server-side (env-var lookup,
14
+ * secrets-manager path, KMS handle, etc.). The plaintext client secret
15
+ * is exchanged with the identity provider inside the deployment's
16
+ * boundary during the code→token exchange in `/v1/auth/callback` and
17
+ * never surfaces on any HTTP response.
18
+ *
19
+ * PKCE is mandatory (S256). Providers that don't support PKCE are
20
+ * rejected at boot; the framework does NOT emit `code_challenge_method`
21
+ * negotiation.
22
+ */
23
+ export interface IdentityProviderBinding {
24
+ list(input: IdentityProviderListInput): Promise<IdentityProviderPage>;
25
+ get(input: IdentityProviderGetInput): Promise<ProviderConfig | null>;
26
+ register(input: IdentityProviderRegisterInput): Promise<IdentityProviderRegisterOutcome>;
27
+ unregister(input: IdentityProviderUnregisterInput): Promise<IdentityProviderUnregisterOutcome>;
28
+ }
29
+
30
+ export type IdentityProviderKind = 'oauth2' | 'oidc';
31
+
32
+ export interface ProviderConfig {
33
+ /** Stable string chosen by the deployment (e.g. `acme-sso`, `globex-oidc`). */
34
+ readonly providerId: string;
35
+ readonly kind: IdentityProviderKind;
36
+ readonly clientId: string;
37
+ /**
38
+ * Opaque pointer resolved server-side. Never a plaintext secret. The
39
+ * shape (env-var name / secrets-manager path / KMS handle) is a
40
+ * deployment convention, not a framework one.
41
+ */
42
+ readonly clientSecretRef: string;
43
+ readonly authorizationEndpoint: string;
44
+ readonly tokenEndpoint: string;
45
+ readonly userinfoEndpoint?: string;
46
+ readonly scopes: readonly string[];
47
+ /**
48
+ * OAuth 2.1 BCP redirect-URI allowlist. When present and non-empty,
49
+ * `POST /v1/auth/login/:providerId` rejects any `redirectUri` (whether
50
+ * supplied in the body or resolved from `metadata.defaultRedirectUri`)
51
+ * that is not an exact match to a list entry — 400
52
+ * `redirect-uri-not-allowed`. `POST /v1/auth/callback/:providerId`
53
+ * cross-checks the state row's stored `redirect_uri` against the same
54
+ * list — 400 `redirect-uri-mismatch` if the allowlist was tightened
55
+ * between login and callback. Absent or empty → any redirect_uri is
56
+ * accepted (pass-through; deployments MUST populate
57
+ * this to reach OAuth 2.1 BCP compliance).
58
+ *
59
+ * Exact-string match, not prefix or regex — the OAuth 2.1 BCP
60
+ * mandates literal comparison to prevent redirect-URI injection.
61
+ */
62
+ readonly allowedRedirectUris?: readonly string[];
63
+ /**
64
+ * Optional per-provider claim mapping. When present, the `ExchangeCodeFn`
65
+ * / `RefreshTokenFn` implementations translate provider claims into the
66
+ * Kindgi `Session` shape according to this spec. Absent → pass-
67
+ * through (provider `sub` → `userId`, `email` → `email`, `name` →
68
+ * `displayName`, scopes come from the token response). A deployment's
69
+ * own `ExchangeCodeFn` MAY honor this field the same way.
70
+ */
71
+ readonly claimMapping?: ClaimMappingSpec;
72
+ readonly metadata?: Record<string, unknown>;
73
+ }
74
+
75
+ /**
76
+ * How provider claims map into Kindgi's session shape. All fields
77
+ * are optional — the closer a provider's claim naming is to the OIDC
78
+ * defaults (`sub` / `email` / `name`), the fewer overrides the
79
+ * deployment needs. Field values are dot-path claim references
80
+ * relative to the provider's userinfo / id_token payload:
81
+ *
82
+ * - `"sub"` reads top-level `sub`.
83
+ * - `"profile.email"` reads `payload.profile.email` (dot-navigated).
84
+ * - `"https://acme.com/roles"` reads the raw claim under that URI-
85
+ * shaped key (namespaced custom claims — no dot navigation).
86
+ *
87
+ * The scopes case is a discriminated shape because scope claims in
88
+ * the wild come as either space-separated strings, comma-separated,
89
+ * or a JSON array — the `delimiter` field lets deployments say how to
90
+ * split. When omitted (or the resolved claim is already an array),
91
+ * splitting is skipped.
92
+ */
93
+ export interface ClaimMappingSpec {
94
+ /** Provider claim path for the Kindgi `userId`. Default: `sub`. */
95
+ readonly userId?: string;
96
+ /** Provider claim path for the caller's email. Default: `email`. */
97
+ readonly email?: string;
98
+ /** Provider claim path for the caller's display name. Default: `name`. */
99
+ readonly displayName?: string;
100
+ /**
101
+ * Provider claim path + optional delimiter for the Kindgi OAuth
102
+ * scopes list. When absent, scopes come from the OAuth token
103
+ * response `scope` field, not from claims.
104
+ */
105
+ readonly scopes?: ClaimMappingScopesSpec;
106
+ /**
107
+ * Extra claim paths to preserve verbatim on `Session.metadata`.
108
+ * Values are copied as-is. Absent → all claims flow through in
109
+ * `metadata`.
110
+ */
111
+ readonly metadata?: readonly string[];
112
+ }
113
+
114
+ export interface ClaimMappingScopesSpec {
115
+ /** Claim path for the raw scopes value. */
116
+ readonly claim: string;
117
+ /**
118
+ * When the resolved claim is a string, split on this delimiter to
119
+ * produce the scopes array. When absent, split on any whitespace.
120
+ * Ignored when the resolved claim is already an array.
121
+ */
122
+ readonly delimiter?: string;
123
+ }
124
+
125
+ export interface IdentityProviderListInput {
126
+ readonly tenantId: TenantId;
127
+ }
128
+
129
+ export interface IdentityProviderPage {
130
+ readonly data: readonly ProviderConfig[];
131
+ }
132
+
133
+ export interface IdentityProviderGetInput {
134
+ readonly tenantId: TenantId;
135
+ readonly providerId: string;
136
+ }
137
+
138
+ export interface IdentityProviderRegisterInput {
139
+ readonly tenantId: TenantId;
140
+ readonly config: ProviderConfig;
141
+ }
142
+
143
+ export type IdentityProviderRegisterOutcome = {
144
+ readonly kind: 'ok';
145
+ readonly providerId: string;
146
+ };
147
+
148
+ export interface IdentityProviderUnregisterInput {
149
+ readonly tenantId: TenantId;
150
+ readonly providerId: string;
151
+ }
152
+
153
+ export interface IdentityProviderUnregisterOutcome {
154
+ readonly unregistered: boolean;
155
+ }
156
+
157
+ /**
158
+ * Result of the OAuth code→session exchange the callback route delegates
159
+ * to the identity provider. Distinct from `SessionCreateInput` because
160
+ * the framework decides the `SessionId` (opaque), while the provider
161
+ * decides `userId` / `accessToken` / `scopes`.
162
+ */
163
+ export interface ExchangeCodeInput {
164
+ readonly tenantId: TenantId;
165
+ readonly providerId: string;
166
+ readonly code: string;
167
+ readonly codeVerifier: string;
168
+ readonly redirectUri: string;
169
+ }
170
+
171
+ export interface ExchangeCodeOutcome {
172
+ readonly userId: string;
173
+ readonly accessToken: string;
174
+ readonly refreshToken?: string;
175
+ readonly expiresAt: Date;
176
+ readonly scopes: readonly string[];
177
+ readonly claims?: Record<string, unknown>;
178
+ }
179
+
180
+ /**
181
+ * Optional companion binding used by `POST /v1/auth/callback` and
182
+ * `POST /v1/auth/refresh`. Deployments that only implement provider
183
+ * registry CRUD (and want to run the exchange themselves) can inline
184
+ * this closure via `CreateAppInput.exchangeCode`. A typical
185
+ * implementation calls the provider `tokenEndpoint` with PKCE +
186
+ * client-secret client authentication.
187
+ */
188
+ export type ExchangeCodeFn = (input: ExchangeCodeInput) => Promise<ExchangeCodeOutcome>;
189
+
190
+ /**
191
+ * Optional refresh-token exchange. When present, `POST /v1/auth/refresh`
192
+ * rotates the underlying provider tokens before minting a new session
193
+ * token. When absent, the refresh route simply revokes the old session
194
+ * and re-issues a session token with the same expiry (still useful for
195
+ * key rotation on the framework side even when the provider stays put).
196
+ */
197
+ export interface RefreshTokenInput {
198
+ readonly tenantId: TenantId;
199
+ readonly providerId: string;
200
+ readonly refreshToken: string;
201
+ }
202
+
203
+ export type RefreshTokenFn = (input: RefreshTokenInput) => Promise<ExchangeCodeOutcome>;
@@ -0,0 +1,193 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+
4
+ import type { Result, TenantId } from '@kindgi/types';
5
+
6
+ /**
7
+ * Caller-plugged surface for the OCI image registry — the "Docker
8
+ * Registry HTTP API v2 client" seam used by the deploy route's
9
+ * image-verifiability step. Mirrors the caller-plugged pattern of
10
+ * `BlobStorageBinding`: the API package does NOT own registry auth or
11
+ * connectivity. Deployments plug in an adapter that talks to whichever
12
+ * OCI registry they run — hosted or self-hosted — using the credentials
13
+ * they operate.
14
+ *
15
+ * Three ops per the OCI Distribution Spec:
16
+ * - `head` — read manifest metadata (digest, config, layer
17
+ * digests, size) without pulling bytes. Used at
18
+ * `POST /v1/deployments` to verify the pinned
19
+ * digest exists + matches what the deployer signed.
20
+ * - `extractFile` — pull the bytes of a single file inside the image
21
+ * (typically `/app/index.json`) without downloading
22
+ * every layer. Used by the deploy route to verify
23
+ * `indexHash` matches `sha256(image's index.json)`.
24
+ * - `push` — upload a locally-built image + tag. Used by an
25
+ * image build step; the API only reads.
26
+ *
27
+ * Each method is tenant-scoped so multi-tenant deployments can route
28
+ * different tenants at different registries (or the same registry with
29
+ * per-tenant credentials).
30
+ *
31
+ * ## Seam only
32
+ *
33
+ * No concrete implementation is bundled; the `POST /v1/deployments`
34
+ * route calls `head` + `extractFile` through this interface.
35
+ */
36
+ export interface ImageRegistryBinding {
37
+ /**
38
+ * Read the OCI image manifest for a digest-pinned reference. Returns
39
+ * `image-not-found` when the registry has no manifest at the given
40
+ * digest; `image-registry-unreachable` on transport / auth failure.
41
+ *
42
+ * The route MUST verify that `descriptor.digest` matches the digest
43
+ * inside `input.imageRef` — the binding is not responsible for that
44
+ * cross-check (defense-in-depth against a compromised registry).
45
+ */
46
+ head(input: ImageHeadInput): Promise<Result<ImageDescriptor, ImageRegistryError>>;
47
+ /**
48
+ * Fetch the bytes of a single file inside the image's layered
49
+ * filesystem. Implementations stream from the highest layer that
50
+ * contains the path — e.g. traverse layers top-down and return the
51
+ * first hit. `bytes` is streamed as a
52
+ * `Uint8Array` (small files only — `/app/index.json` is expected to
53
+ * be a few kilobytes to low megabytes).
54
+ *
55
+ * Returns `image-file-not-found` when no layer contains the path,
56
+ * `image-not-found` when the ref itself is unresolvable.
57
+ */
58
+ extractFile(input: ImageExtractFileInput): Promise<Result<ImageFile, ImageRegistryError>>;
59
+ /**
60
+ * Push a locally-built image + tag. Used by the build service, not by
61
+ * the API — but the interface exposes it so the same binding
62
+ * satisfies both consumers (a single deployment operator can wire one
63
+ * adapter across the whole framework).
64
+ *
65
+ * `bytes` is an OCI image archive (`docker save`-compatible tarball
66
+ * or a streaming OCI layout). The binding walks it, uploads each
67
+ * blob + manifest, and tags the final digest. Returns the resolved
68
+ * digest-pinned reference for the caller to sign over.
69
+ */
70
+ push(input: ImagePushInput): Promise<Result<ImagePushOutcome, ImageRegistryError>>;
71
+ }
72
+
73
+ // -------------------- descriptor --------------------
74
+
75
+ /**
76
+ * Slice of the OCI manifest the API layer + build service need. Keeps
77
+ * the interface stable against future spec revisions — bindings extract
78
+ * the parts every consumer cares about and hide the rest.
79
+ */
80
+ export interface ImageDescriptor {
81
+ /** `sha256:<hex>` — canonical image digest, matches `imageRef`. */
82
+ readonly digest: string;
83
+ /** OCI media type of the manifest (`application/vnd.oci.image.manifest.v1+json` etc.). */
84
+ readonly mediaType: string;
85
+ /** Total on-wire size in bytes across all layers + config. */
86
+ readonly size: number;
87
+ /** Layer descriptors, top-to-bottom (the order used at pull time). */
88
+ readonly layers: readonly ImageLayerDescriptor[];
89
+ /** Image config descriptor (histories, env, entrypoint, etc.). */
90
+ readonly config: ImageBlobDescriptor;
91
+ /** `platform` from the manifest (e.g. `linux/amd64`). */
92
+ readonly platform?: ImagePlatform;
93
+ }
94
+
95
+ export interface ImageLayerDescriptor {
96
+ readonly digest: string;
97
+ readonly mediaType: string;
98
+ readonly size: number;
99
+ }
100
+
101
+ export type ImageBlobDescriptor = ImageLayerDescriptor;
102
+
103
+ export interface ImagePlatform {
104
+ readonly os: string;
105
+ readonly architecture: string;
106
+ readonly variant?: string;
107
+ }
108
+
109
+ // -------------------- head --------------------
110
+
111
+ export interface ImageHeadInput {
112
+ readonly tenantId: TenantId;
113
+ /** Full digest-pinned reference: `<host>/<repo>@sha256:<hex>`. */
114
+ readonly imageRef: string;
115
+ }
116
+
117
+ // -------------------- extractFile --------------------
118
+
119
+ export interface ImageExtractFileInput {
120
+ readonly tenantId: TenantId;
121
+ readonly imageRef: string;
122
+ /**
123
+ * Absolute path inside the image's layered filesystem. Convention:
124
+ * leading slash + POSIX separators (`/app/index.json`).
125
+ */
126
+ readonly path: string;
127
+ }
128
+
129
+ export interface ImageFile {
130
+ readonly path: string;
131
+ readonly bytes: Uint8Array;
132
+ /** `sha256` hex, lowercase — computed over `bytes` by the binding. */
133
+ readonly sha256: string;
134
+ /** Layer digest the file was found in — useful for audit logs. */
135
+ readonly layerDigest: string;
136
+ }
137
+
138
+ // -------------------- push --------------------
139
+
140
+ export interface ImagePushInput {
141
+ readonly tenantId: TenantId;
142
+ /**
143
+ * Unresolved reference the pusher requests — usually
144
+ * `<host>/<repo>:<tag>`. The binding uploads the archive and returns
145
+ * the digest-pinned form on success.
146
+ */
147
+ readonly imageRef: string;
148
+ /** OCI image archive bytes. */
149
+ readonly bytes: ReadableStream<Uint8Array> | Uint8Array;
150
+ /** Optional annotations the binding forwards to the registry. */
151
+ readonly annotations?: Readonly<Record<string, string>>;
152
+ }
153
+
154
+ export interface ImagePushOutcome {
155
+ /** Digest-pinned reference the caller signs against. */
156
+ readonly imageRef: string;
157
+ readonly digest: string;
158
+ readonly size: number;
159
+ }
160
+
161
+ // -------------------- error --------------------
162
+
163
+ /**
164
+ * Discriminated error union. The deploy route reports any of these as
165
+ * `400 image-unverifiable` ("we could not verify this image"), carrying
166
+ * the binding's `code` as `cause`.
167
+ */
168
+ export type ImageRegistryError =
169
+ | {
170
+ readonly code: 'image-not-found';
171
+ readonly message: string;
172
+ readonly imageRef: string;
173
+ }
174
+ | {
175
+ readonly code: 'image-file-not-found';
176
+ readonly message: string;
177
+ readonly imageRef: string;
178
+ readonly path: string;
179
+ }
180
+ | {
181
+ readonly code: 'image-registry-unreachable';
182
+ readonly message: string;
183
+ readonly cause?: unknown;
184
+ }
185
+ | {
186
+ readonly code: 'image-registry-unauthorized';
187
+ readonly message: string;
188
+ }
189
+ | {
190
+ readonly code: 'image-push-failed';
191
+ readonly message: string;
192
+ readonly cause?: unknown;
193
+ };