@cleocode/core 2026.6.13 → 2026.6.14

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 (392) hide show
  1. package/dist/admin/ops.d.ts +4 -0
  2. package/dist/admin/ops.d.ts.map +1 -1
  3. package/dist/check/index.d.ts +12 -0
  4. package/dist/check/index.d.ts.map +1 -0
  5. package/dist/check/index.js +12 -0
  6. package/dist/check/index.js.map +1 -0
  7. package/dist/check/pr-gate.d.ts +179 -0
  8. package/dist/check/pr-gate.d.ts.map +1 -0
  9. package/dist/check/pr-gate.js +366 -0
  10. package/dist/check/pr-gate.js.map +1 -0
  11. package/dist/conduit/delivery-router.d.ts +134 -0
  12. package/dist/conduit/delivery-router.d.ts.map +1 -0
  13. package/dist/conduit/delivery-router.js +0 -0
  14. package/dist/conduit/delivery-router.js.map +1 -0
  15. package/dist/conduit/index.d.ts +5 -2
  16. package/dist/conduit/index.d.ts.map +1 -1
  17. package/dist/conduit/index.js +5 -2
  18. package/dist/conduit/index.js.map +1 -1
  19. package/dist/conduit/local-tui-adapter.d.ts +89 -0
  20. package/dist/conduit/local-tui-adapter.d.ts.map +1 -0
  21. package/dist/conduit/local-tui-adapter.js +225 -0
  22. package/dist/conduit/local-tui-adapter.js.map +1 -0
  23. package/dist/config/registry.d.ts +54 -0
  24. package/dist/config/registry.d.ts.map +1 -1
  25. package/dist/config/registry.js +94 -2
  26. package/dist/config/registry.js.map +1 -1
  27. package/dist/deriver/queue-manager.d.ts +30 -2
  28. package/dist/deriver/queue-manager.d.ts.map +1 -1
  29. package/dist/deriver/queue-manager.js +54 -9
  30. package/dist/deriver/queue-manager.js.map +1 -1
  31. package/dist/dispatch/config-domain-handler.d.ts +125 -0
  32. package/dist/dispatch/config-domain-handler.d.ts.map +1 -0
  33. package/dist/dispatch/config-domain-handler.js +160 -0
  34. package/dist/dispatch/config-domain-handler.js.map +1 -0
  35. package/dist/dispatch/contracts/input-contracts.d.ts.map +1 -1
  36. package/dist/dispatch/contracts/input-contracts.js +19 -1
  37. package/dist/dispatch/contracts/input-contracts.js.map +1 -1
  38. package/dist/docs/export-document.js +3704 -680
  39. package/dist/docs/export-document.js.map +3 -3
  40. package/dist/gateway-client/client.d.ts +123 -0
  41. package/dist/gateway-client/client.d.ts.map +1 -0
  42. package/dist/gateway-client/client.js +93 -0
  43. package/dist/gateway-client/client.js.map +1 -0
  44. package/dist/gateway-client/generated/client/client.gen.d.ts +3 -0
  45. package/dist/gateway-client/generated/client/client.gen.d.ts.map +1 -0
  46. package/dist/gateway-client/generated/client/client.gen.js +217 -0
  47. package/dist/gateway-client/generated/client/client.gen.js.map +1 -0
  48. package/dist/gateway-client/generated/client/index.d.ts +11 -0
  49. package/dist/gateway-client/generated/client/index.d.ts.map +1 -0
  50. package/dist/gateway-client/generated/client/index.js +7 -0
  51. package/dist/gateway-client/generated/client/index.js.map +1 -0
  52. package/dist/gateway-client/generated/client/types.gen.d.ts +121 -0
  53. package/dist/gateway-client/generated/client/types.gen.d.ts.map +1 -0
  54. package/dist/gateway-client/generated/client/types.gen.js +3 -0
  55. package/dist/gateway-client/generated/client/types.gen.js.map +1 -0
  56. package/dist/gateway-client/generated/client/utils.gen.d.ts +38 -0
  57. package/dist/gateway-client/generated/client/utils.gen.d.ts.map +1 -0
  58. package/dist/gateway-client/generated/client/utils.gen.js +229 -0
  59. package/dist/gateway-client/generated/client/utils.gen.js.map +1 -0
  60. package/dist/gateway-client/generated/client.gen.d.ts +13 -0
  61. package/dist/gateway-client/generated/client.gen.d.ts.map +1 -0
  62. package/dist/gateway-client/generated/client.gen.js +4 -0
  63. package/dist/gateway-client/generated/client.gen.js.map +1 -0
  64. package/dist/gateway-client/generated/core/auth.gen.d.ts +26 -0
  65. package/dist/gateway-client/generated/core/auth.gen.d.ts.map +1 -0
  66. package/dist/gateway-client/generated/core/auth.gen.js +15 -0
  67. package/dist/gateway-client/generated/core/auth.gen.js.map +1 -0
  68. package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts +26 -0
  69. package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts.map +1 -0
  70. package/dist/gateway-client/generated/core/bodySerializer.gen.js +58 -0
  71. package/dist/gateway-client/generated/core/bodySerializer.gen.js.map +1 -0
  72. package/dist/gateway-client/generated/core/params.gen.d.ts +44 -0
  73. package/dist/gateway-client/generated/core/params.gen.d.ts.map +1 -0
  74. package/dist/gateway-client/generated/core/params.gen.js +101 -0
  75. package/dist/gateway-client/generated/core/params.gen.js.map +1 -0
  76. package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts +34 -0
  77. package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts.map +1 -0
  78. package/dist/gateway-client/generated/core/pathSerializer.gen.js +107 -0
  79. package/dist/gateway-client/generated/core/pathSerializer.gen.js.map +1 -0
  80. package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts +19 -0
  81. package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
  82. package/dist/gateway-client/generated/core/queryKeySerializer.gen.js +93 -0
  83. package/dist/gateway-client/generated/core/queryKeySerializer.gen.js.map +1 -0
  84. package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts +72 -0
  85. package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  86. package/dist/gateway-client/generated/core/serverSentEvents.gen.js +133 -0
  87. package/dist/gateway-client/generated/core/serverSentEvents.gen.js.map +1 -0
  88. package/dist/gateway-client/generated/core/types.gen.d.ts +84 -0
  89. package/dist/gateway-client/generated/core/types.gen.d.ts.map +1 -0
  90. package/dist/gateway-client/generated/core/types.gen.js +3 -0
  91. package/dist/gateway-client/generated/core/types.gen.js.map +1 -0
  92. package/dist/gateway-client/generated/core/utils.gen.d.ts +20 -0
  93. package/dist/gateway-client/generated/core/utils.gen.d.ts.map +1 -0
  94. package/dist/gateway-client/generated/core/utils.gen.js +88 -0
  95. package/dist/gateway-client/generated/core/utils.gen.js.map +1 -0
  96. package/dist/gateway-client/generated/index.d.ts +3 -0
  97. package/dist/gateway-client/generated/index.d.ts.map +1 -0
  98. package/dist/gateway-client/generated/index.js +3 -0
  99. package/dist/gateway-client/generated/index.js.map +1 -0
  100. package/dist/gateway-client/generated/namespaces.gen.d.ts +512 -0
  101. package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -0
  102. package/dist/gateway-client/generated/namespaces.gen.js +521 -0
  103. package/dist/gateway-client/generated/namespaces.gen.js.map +1 -0
  104. package/dist/gateway-client/generated/sdk.gen.d.ts +1780 -0
  105. package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -0
  106. package/dist/gateway-client/generated/sdk.gen.js +3811 -0
  107. package/dist/gateway-client/generated/sdk.gen.js.map +1 -0
  108. package/dist/gateway-client/generated/types.gen.d.ts +14681 -0
  109. package/dist/gateway-client/generated/types.gen.d.ts.map +1 -0
  110. package/dist/gateway-client/generated/types.gen.js +3 -0
  111. package/dist/gateway-client/generated/types.gen.js.map +1 -0
  112. package/dist/gateway-client/index.d.ts +27 -0
  113. package/dist/gateway-client/index.d.ts.map +1 -0
  114. package/dist/gateway-client/index.js +25 -0
  115. package/dist/gateway-client/index.js.map +1 -0
  116. package/dist/index.d.ts +10 -0
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +20 -0
  119. package/dist/index.js.map +1 -1
  120. package/dist/init.d.ts.map +1 -1
  121. package/dist/init.js +28 -0
  122. package/dist/init.js.map +1 -1
  123. package/dist/internal.d.ts +10 -1
  124. package/dist/internal.d.ts.map +1 -1
  125. package/dist/internal.js +18 -1
  126. package/dist/internal.js.map +1 -1
  127. package/dist/llm/catalog-model-resolver.d.ts +19 -0
  128. package/dist/llm/catalog-model-resolver.d.ts.map +1 -1
  129. package/dist/llm/catalog-model-resolver.js +36 -0
  130. package/dist/llm/catalog-model-resolver.js.map +1 -1
  131. package/dist/llm/catalog-resolver.d.ts +112 -0
  132. package/dist/llm/catalog-resolver.d.ts.map +1 -0
  133. package/dist/llm/catalog-resolver.js +207 -0
  134. package/dist/llm/catalog-resolver.js.map +1 -0
  135. package/dist/llm/catalog-seeder.d.ts +96 -0
  136. package/dist/llm/catalog-seeder.d.ts.map +1 -0
  137. package/dist/llm/catalog-seeder.js +189 -0
  138. package/dist/llm/catalog-seeder.js.map +1 -0
  139. package/dist/llm/cli-ops.js +5 -5
  140. package/dist/llm/cli-ops.js.map +1 -1
  141. package/dist/llm/complexity-classifier.d.ts +208 -0
  142. package/dist/llm/complexity-classifier.d.ts.map +1 -0
  143. package/dist/llm/complexity-classifier.js +359 -0
  144. package/dist/llm/complexity-classifier.js.map +1 -0
  145. package/dist/llm/credential-pool.d.ts +2 -0
  146. package/dist/llm/credential-pool.d.ts.map +1 -1
  147. package/dist/llm/credential-pool.js +5 -2
  148. package/dist/llm/credential-pool.js.map +1 -1
  149. package/dist/llm/credentials-store.d.ts +10 -14
  150. package/dist/llm/credentials-store.d.ts.map +1 -1
  151. package/dist/llm/credentials-store.js.map +1 -1
  152. package/dist/llm/entity-ops.d.ts +299 -0
  153. package/dist/llm/entity-ops.d.ts.map +1 -0
  154. package/dist/llm/entity-ops.js +441 -0
  155. package/dist/llm/entity-ops.js.map +1 -0
  156. package/dist/llm/index.d.ts +15 -0
  157. package/dist/llm/index.d.ts.map +1 -1
  158. package/dist/llm/index.js +8 -0
  159. package/dist/llm/index.js.map +1 -1
  160. package/dist/llm/llm-queue-admit.d.ts +118 -0
  161. package/dist/llm/llm-queue-admit.d.ts.map +1 -0
  162. package/dist/llm/llm-queue-admit.js +275 -0
  163. package/dist/llm/llm-queue-admit.js.map +1 -0
  164. package/dist/llm/oauth/device-code.d.ts.map +1 -1
  165. package/dist/llm/oauth/device-code.js +2 -8
  166. package/dist/llm/oauth/device-code.js.map +1 -1
  167. package/dist/llm/oauth/google-pkce.d.ts.map +1 -1
  168. package/dist/llm/oauth/google-pkce.js +2 -18
  169. package/dist/llm/oauth/google-pkce.js.map +1 -1
  170. package/dist/llm/oauth/pkce.d.ts +70 -0
  171. package/dist/llm/oauth/pkce.d.ts.map +1 -1
  172. package/dist/llm/oauth/pkce.js +106 -29
  173. package/dist/llm/oauth/pkce.js.map +1 -1
  174. package/dist/llm/onboarding/front-door.d.ts +146 -0
  175. package/dist/llm/onboarding/front-door.d.ts.map +1 -0
  176. package/dist/llm/onboarding/front-door.js +153 -0
  177. package/dist/llm/onboarding/front-door.js.map +1 -0
  178. package/dist/llm/onboarding/login-engine.d.ts +175 -0
  179. package/dist/llm/onboarding/login-engine.d.ts.map +1 -0
  180. package/dist/llm/onboarding/login-engine.js +286 -0
  181. package/dist/llm/onboarding/login-engine.js.map +1 -0
  182. package/dist/llm/pi/pi-gondolin-env.d.ts +23 -0
  183. package/dist/llm/pi/pi-gondolin-env.d.ts.map +1 -1
  184. package/dist/llm/pi/pi-gondolin-env.js +2 -2
  185. package/dist/llm/pi/pi-gondolin-env.js.map +1 -1
  186. package/dist/llm/plugin-facade.js +3853 -814
  187. package/dist/llm/plugin-facade.js.map +3 -3
  188. package/dist/llm/provider-registry/builtin/anthropic.d.ts.map +1 -1
  189. package/dist/llm/provider-registry/builtin/anthropic.js +23 -10
  190. package/dist/llm/provider-registry/builtin/anthropic.js.map +1 -1
  191. package/dist/llm/provider-registry/provider-alias.d.ts +62 -0
  192. package/dist/llm/provider-registry/provider-alias.d.ts.map +1 -0
  193. package/dist/llm/provider-registry/provider-alias.js +85 -0
  194. package/dist/llm/provider-registry/provider-alias.js.map +1 -0
  195. package/dist/llm/provider-registry/provider-defs.d.ts +45 -0
  196. package/dist/llm/provider-registry/provider-defs.d.ts.map +1 -0
  197. package/dist/llm/provider-registry/provider-defs.js +145 -0
  198. package/dist/llm/provider-registry/provider-defs.js.map +1 -0
  199. package/dist/llm/provider-registry/provider-seed.d.ts +78 -0
  200. package/dist/llm/provider-registry/provider-seed.d.ts.map +1 -0
  201. package/dist/llm/provider-registry/provider-seed.js +113 -0
  202. package/dist/llm/provider-registry/provider-seed.js.map +1 -0
  203. package/dist/llm/role-executor.d.ts.map +1 -1
  204. package/dist/llm/role-executor.js +36 -0
  205. package/dist/llm/role-executor.js.map +1 -1
  206. package/dist/llm/role-resolver.d.ts.map +1 -1
  207. package/dist/llm/role-resolver.js +9 -2
  208. package/dist/llm/role-resolver.js.map +1 -1
  209. package/dist/llm/system-resolver.d.ts.map +1 -1
  210. package/dist/llm/system-resolver.js +73 -22
  211. package/dist/llm/system-resolver.js.map +1 -1
  212. package/dist/memory/learnings.d.ts +4 -0
  213. package/dist/memory/learnings.d.ts.map +1 -1
  214. package/dist/memory/patterns.d.ts +4 -0
  215. package/dist/memory/patterns.d.ts.map +1 -1
  216. package/dist/metrics/index.d.ts +2 -0
  217. package/dist/metrics/index.d.ts.map +1 -1
  218. package/dist/metrics/index.js +1 -0
  219. package/dist/metrics/index.js.map +1 -1
  220. package/dist/orchestration/spawn.d.ts +89 -0
  221. package/dist/orchestration/spawn.d.ts.map +1 -1
  222. package/dist/orchestration/spawn.js +68 -0
  223. package/dist/orchestration/spawn.js.map +1 -1
  224. package/dist/playbooks/cantbook-profile.d.ts +96 -0
  225. package/dist/playbooks/cantbook-profile.d.ts.map +1 -0
  226. package/dist/playbooks/cantbook-profile.js +97 -0
  227. package/dist/playbooks/cantbook-profile.js.map +1 -0
  228. package/dist/playbooks/guarded-deterministic-runner.d.ts +153 -0
  229. package/dist/playbooks/guarded-deterministic-runner.d.ts.map +1 -0
  230. package/dist/playbooks/guarded-deterministic-runner.js +155 -0
  231. package/dist/playbooks/guarded-deterministic-runner.js.map +1 -0
  232. package/dist/playbooks/index.d.ts +2 -0
  233. package/dist/playbooks/index.d.ts.map +1 -1
  234. package/dist/playbooks/index.js +10 -0
  235. package/dist/playbooks/index.js.map +1 -1
  236. package/dist/playbooks/pi-runner-wiring.d.ts +75 -0
  237. package/dist/playbooks/pi-runner-wiring.d.ts.map +1 -0
  238. package/dist/playbooks/pi-runner-wiring.js +82 -0
  239. package/dist/playbooks/pi-runner-wiring.js.map +1 -0
  240. package/dist/runtime/openapi/generate-openapi.d.ts +211 -0
  241. package/dist/runtime/openapi/generate-openapi.d.ts.map +1 -0
  242. package/dist/runtime/openapi/generate-openapi.js +300 -0
  243. package/dist/runtime/openapi/generate-openapi.js.map +1 -0
  244. package/dist/runtime/openapi/index.d.ts +16 -0
  245. package/dist/runtime/openapi/index.d.ts.map +1 -0
  246. package/dist/runtime/openapi/index.js +16 -0
  247. package/dist/runtime/openapi/index.js.map +1 -0
  248. package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +32 -0
  249. package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +18 -0
  250. package/dist/setup/config-json-merge.d.ts.map +1 -1
  251. package/dist/setup/config-json-merge.js +14 -0
  252. package/dist/setup/config-json-merge.js.map +1 -1
  253. package/dist/setup/index.d.ts +23 -11
  254. package/dist/setup/index.d.ts.map +1 -1
  255. package/dist/setup/index.js +25 -12
  256. package/dist/setup/index.js.map +1 -1
  257. package/dist/setup/sections/llm.d.ts +28 -1
  258. package/dist/setup/sections/llm.d.ts.map +1 -1
  259. package/dist/setup/sections/llm.js +27 -6
  260. package/dist/setup/sections/llm.js.map +1 -1
  261. package/dist/setup/sections/models-roles.d.ts +40 -0
  262. package/dist/setup/sections/models-roles.d.ts.map +1 -0
  263. package/dist/setup/sections/models-roles.js +219 -0
  264. package/dist/setup/sections/models-roles.js.map +1 -0
  265. package/dist/setup/wizard.d.ts +19 -1
  266. package/dist/setup/wizard.d.ts.map +1 -1
  267. package/dist/setup/wizard.js.map +1 -1
  268. package/dist/store/schedule-schema.d.ts +195 -0
  269. package/dist/store/schedule-schema.d.ts.map +1 -0
  270. package/dist/store/schedule-schema.js +84 -0
  271. package/dist/store/schedule-schema.js.map +1 -0
  272. package/dist/store/schedule-store.d.ts +144 -0
  273. package/dist/store/schedule-store.d.ts.map +1 -0
  274. package/dist/store/schedule-store.js +162 -0
  275. package/dist/store/schedule-store.js.map +1 -0
  276. package/dist/store/schema/attachments.d.ts +1 -1
  277. package/dist/store/schema/cleo-global/index.d.ts +3 -0
  278. package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
  279. package/dist/store/schema/cleo-global/index.js +5 -0
  280. package/dist/store/schema/cleo-global/index.js.map +1 -1
  281. package/dist/store/schema/cleo-global/models-catalog.d.ts +359 -0
  282. package/dist/store/schema/cleo-global/models-catalog.d.ts.map +1 -0
  283. package/dist/store/schema/cleo-global/models-catalog.js +114 -0
  284. package/dist/store/schema/cleo-global/models-catalog.js.map +1 -0
  285. package/dist/store/schema/cleo-global/providers.d.ts +279 -0
  286. package/dist/store/schema/cleo-global/providers.d.ts.map +1 -0
  287. package/dist/store/schema/cleo-global/providers.js +94 -0
  288. package/dist/store/schema/cleo-global/providers.js.map +1 -0
  289. package/dist/store/schema/cleo-global/services.d.ts +493 -0
  290. package/dist/store/schema/cleo-global/services.d.ts.map +1 -0
  291. package/dist/store/schema/cleo-global/services.js +200 -0
  292. package/dist/store/schema/cleo-global/services.js.map +1 -0
  293. package/dist/store/schema/cleo-project/docs.d.ts +1 -1
  294. package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
  295. package/dist/store/schema/cleo-shared/brain.d.ts +2 -2
  296. package/dist/store/schema/memory-schema.d.ts +182 -2
  297. package/dist/store/schema/memory-schema.d.ts.map +1 -1
  298. package/dist/store/schema/memory-schema.js +111 -2
  299. package/dist/store/schema/memory-schema.js.map +1 -1
  300. package/dist/store/schema/provenance/releases.d.ts +1 -1
  301. package/dist/store/service-connections-accessor.d.ts +313 -0
  302. package/dist/store/service-connections-accessor.d.ts.map +1 -0
  303. package/dist/store/service-connections-accessor.js +464 -0
  304. package/dist/store/service-connections-accessor.js.map +1 -0
  305. package/dist/store/service-host-matcher.d.ts +70 -0
  306. package/dist/store/service-host-matcher.d.ts.map +1 -0
  307. package/dist/store/service-host-matcher.js +127 -0
  308. package/dist/store/service-host-matcher.js.map +1 -0
  309. package/dist/store/service-injection.d.ts +152 -0
  310. package/dist/store/service-injection.d.ts.map +1 -0
  311. package/dist/store/service-injection.js +225 -0
  312. package/dist/store/service-injection.js.map +1 -0
  313. package/dist/store/service-oauth.d.ts +287 -0
  314. package/dist/store/service-oauth.d.ts.map +1 -0
  315. package/dist/store/service-oauth.js +524 -0
  316. package/dist/store/service-oauth.js.map +1 -0
  317. package/dist/store/service-trust-gate.d.ts +164 -0
  318. package/dist/store/service-trust-gate.d.ts.map +1 -0
  319. package/dist/store/service-trust-gate.js +122 -0
  320. package/dist/store/service-trust-gate.js.map +1 -0
  321. package/dist/store/validation-schemas.d.ts +4 -4
  322. package/dist/tasks/agent-lifecycle-lane.d.ts +175 -0
  323. package/dist/tasks/agent-lifecycle-lane.d.ts.map +1 -0
  324. package/dist/tasks/agent-lifecycle-lane.js +176 -0
  325. package/dist/tasks/agent-lifecycle-lane.js.map +1 -0
  326. package/dist/tasks/complete.d.ts +17 -0
  327. package/dist/tasks/complete.d.ts.map +1 -1
  328. package/dist/tasks/complete.js +53 -10
  329. package/dist/tasks/complete.js.map +1 -1
  330. package/dist/tasks/depends-waiver-audit.d.ts +52 -0
  331. package/dist/tasks/depends-waiver-audit.d.ts.map +1 -0
  332. package/dist/tasks/depends-waiver-audit.js +36 -0
  333. package/dist/tasks/depends-waiver-audit.js.map +1 -0
  334. package/dist/tasks/engine-wrap.d.ts +36 -2
  335. package/dist/tasks/engine-wrap.d.ts.map +1 -1
  336. package/dist/tasks/engine-wrap.js +44 -2
  337. package/dist/tasks/engine-wrap.js.map +1 -1
  338. package/dist/tasks/index.d.ts +1 -0
  339. package/dist/tasks/index.d.ts.map +1 -1
  340. package/dist/tasks/index.js +1 -0
  341. package/dist/tasks/index.js.map +1 -1
  342. package/dist/tasks/ops.d.ts +3 -0
  343. package/dist/tasks/ops.d.ts.map +1 -1
  344. package/dist/tasks/task-ops.d.ts +1 -1
  345. package/dist/tasks/task-ops.d.ts.map +1 -1
  346. package/dist/tasks/task-ops.js +3 -1
  347. package/dist/tasks/task-ops.js.map +1 -1
  348. package/dist/tasks/task-reparent.d.ts +90 -0
  349. package/dist/tasks/task-reparent.d.ts.map +1 -1
  350. package/dist/tasks/task-reparent.js +171 -0
  351. package/dist/tasks/task-reparent.js.map +1 -1
  352. package/dist/tools/builtin-agent-tools.d.ts.map +1 -1
  353. package/dist/tools/builtin-agent-tools.js +41 -0
  354. package/dist/tools/builtin-agent-tools.js.map +1 -1
  355. package/dist/tools/exec-code-agent-tool.d.ts +179 -0
  356. package/dist/tools/exec-code-agent-tool.d.ts.map +1 -0
  357. package/dist/tools/exec-code-agent-tool.js +239 -0
  358. package/dist/tools/exec-code-agent-tool.js.map +1 -0
  359. package/dist/tools/index.d.ts +6 -0
  360. package/dist/tools/index.d.ts.map +1 -1
  361. package/dist/tools/index.js +15 -0
  362. package/dist/tools/index.js.map +1 -1
  363. package/dist/tools/mcp-agent-tool.d.ts +189 -0
  364. package/dist/tools/mcp-agent-tool.d.ts.map +1 -0
  365. package/dist/tools/mcp-agent-tool.js +243 -0
  366. package/dist/tools/mcp-agent-tool.js.map +1 -0
  367. package/dist/tools/media-agent-tools.d.ts +105 -0
  368. package/dist/tools/media-agent-tools.d.ts.map +1 -0
  369. package/dist/tools/media-agent-tools.js +255 -0
  370. package/dist/tools/media-agent-tools.js.map +1 -0
  371. package/dist/tools/memory-agent-tools.d.ts +99 -0
  372. package/dist/tools/memory-agent-tools.d.ts.map +1 -0
  373. package/dist/tools/memory-agent-tools.js +190 -0
  374. package/dist/tools/memory-agent-tools.js.map +1 -0
  375. package/dist/tools/schedule-agent-tools.d.ts +151 -0
  376. package/dist/tools/schedule-agent-tools.d.ts.map +1 -0
  377. package/dist/tools/schedule-agent-tools.js +238 -0
  378. package/dist/tools/schedule-agent-tools.js.map +1 -0
  379. package/dist/tools/skill-agent-tool.d.ts +108 -0
  380. package/dist/tools/skill-agent-tool.d.ts.map +1 -0
  381. package/dist/tools/skill-agent-tool.js +135 -0
  382. package/dist/tools/skill-agent-tool.js.map +1 -0
  383. package/dist/validation/engine-ops.d.ts.map +1 -1
  384. package/dist/validation/engine-ops.js +17 -1
  385. package/dist/validation/engine-ops.js.map +1 -1
  386. package/migrations/drizzle-brain/20260610000001_t10405-bitemporal-network-columns/migration.sql +71 -0
  387. package/migrations/drizzle-cleo-global/20260609000000_t11937-service-vault/migration.sql +93 -0
  388. package/migrations/drizzle-cleo-global/20260609010000_t11733-models-catalog/migration.sql +65 -0
  389. package/migrations/drizzle-cleo-global/20260609020000_t11703-providers/migration.sql +52 -0
  390. package/migrations/drizzle-cleo-global/20260610000000_t11962-schedules/migration.sql +48 -0
  391. package/migrations/drizzle-cleo-project/20260610000000_t11962-schedules/migration.sql +48 -0
  392. package/package.json +23 -13
@@ -0,0 +1,359 @@
1
+ /**
2
+ * Global-scope `cleo.db` — **models.dev catalog SSoT** (`models_catalog`, 1 table).
3
+ *
4
+ * E8-CATALOG-CURATION (epic T11694 · task T11733). This table is the queryable,
5
+ * `cleo health`-visible home for the **provider+model capability catalog** that
6
+ * today lives only as a disk JSON cache (`llm-catalog/`) and a tiny bundled
7
+ * `curated-models.json`. Each row is ONE model — its full models.dev wire
8
+ * capability set (modalities, cost, limits, reasoning/tool-call flags, status,
9
+ * release date) — so the catalog becomes the SSoT (DB table) with the disk cache
10
+ * demoted to an offline/degraded fallback MIRROR (T11737).
11
+ *
12
+ * It is the catalog half of the "catalog-driven models, NO hardcoded" North Star
13
+ * spine: the resolver default model derives from this table sorted by
14
+ * `release_date` DESC (T11944), killing the hardcoded `claude-haiku-4-5` literal —
15
+ * the static literal survives ONLY as the offline-only last-resort floor when this
16
+ * table is empty/unseeded.
17
+ *
18
+ * ## NOT the `accounts` credential pool — do not confuse the two
19
+ *
20
+ * `accounts` (T11709) holds machine-wide LLM CREDENTIALS (the pool the runner picks
21
+ * from). THIS table holds CATALOG DATA (model capabilities) — no secrets, no
22
+ * encryption. They share the cleo-global scope and the E10 typing conventions, but
23
+ * carry orthogonal data. The catalog is freely readable; credentials are sealed.
24
+ *
25
+ * ## E10 typing (mirrors sibling `accounts.ts` / `services.ts`)
26
+ *
27
+ * - Booleans (`attachment`/`reasoning`/`temperature`/`interleaved`/`tool_call`) use
28
+ * `integer({mode:'boolean'})` (CHECK `(0, 1)` in the migration).
29
+ * - `modalities` / `cost` are JSON blobs serialized to TEXT (documented json pattern).
30
+ * - `release_date` is TEXT `YYYY-MM-DD` with a GLOB date check; `seeded_at` is a TEXT
31
+ * ISO-8601 timestamp.
32
+ * - `status` is a named enum ({@link CATALOG_MODEL_STATUSES}, minted in contracts).
33
+ *
34
+ * ## Active selection — `release_date`-sorted, latest wins
35
+ *
36
+ * The resolver default and any "newest model for provider X" query reads this table
37
+ * ordered by `(provider_id, release_date DESC)` — the `idx_models_catalog_provider_release`
38
+ * index backs that scan. No raw partial unique index is required (unlike `accounts`'
39
+ * active-pointer); `id` is the natural PK and `(provider_id, models_dev_id)` is a
40
+ * natural unique key for the upsert.
41
+ *
42
+ * @task T11733
43
+ * @epic T11694
44
+ * @see ../../../../migrations/drizzle-cleo-global — the forward migration
45
+ * @see ../../../llm/catalog-seeder.ts — the seeder that populates this table (T11734)
46
+ * @see ../../../llm/catalog-resolver.ts — the table-first read chokepoint (T11737)
47
+ * @see ./accounts.ts — the sibling credential-pool table this directory mirrors
48
+ */
49
+ /**
50
+ * `models_catalog` — the machine-wide provider+model capability catalog table.
51
+ *
52
+ * One row per model. The catalog SSoT: seeded from the shipped offline
53
+ * `curated-catalog.json` (T11734), read table-first via `resolveCatalogEntry()`
54
+ * (T11737), and consulted by the resolver default (latest `release_date` wins —
55
+ * T11944). `id` is the model id (PK); `(provider_id, models_dev_id)` is the natural
56
+ * upsert key.
57
+ *
58
+ * @task T11733
59
+ */
60
+ export declare const modelsCatalog: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
61
+ name: "models_catalog";
62
+ schema: undefined;
63
+ columns: {
64
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
65
+ name: string;
66
+ tableName: "models_catalog";
67
+ dataType: "string";
68
+ data: string;
69
+ driverParam: string;
70
+ notNull: true;
71
+ hasDefault: false;
72
+ isPrimaryKey: true;
73
+ isAutoincrement: false;
74
+ hasRuntimeDefault: false;
75
+ enumValues: [string, ...string[]];
76
+ baseColumn: never;
77
+ identity: undefined;
78
+ generated: undefined;
79
+ }, {}>;
80
+ providerId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
81
+ name: string;
82
+ tableName: "models_catalog";
83
+ dataType: "string";
84
+ data: string;
85
+ driverParam: string;
86
+ notNull: true;
87
+ hasDefault: false;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: [string, ...string[]];
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}>;
96
+ name: import("drizzle-orm/sqlite-core").SQLiteColumn<{
97
+ name: string;
98
+ tableName: "models_catalog";
99
+ dataType: "string";
100
+ data: string;
101
+ driverParam: string;
102
+ notNull: true;
103
+ hasDefault: false;
104
+ isPrimaryKey: false;
105
+ isAutoincrement: false;
106
+ hasRuntimeDefault: false;
107
+ enumValues: [string, ...string[]];
108
+ baseColumn: never;
109
+ identity: undefined;
110
+ generated: undefined;
111
+ }, {}>;
112
+ family: import("drizzle-orm/sqlite-core").SQLiteColumn<{
113
+ name: string;
114
+ tableName: "models_catalog";
115
+ dataType: "string";
116
+ data: string;
117
+ driverParam: string;
118
+ notNull: true;
119
+ hasDefault: false;
120
+ isPrimaryKey: false;
121
+ isAutoincrement: false;
122
+ hasRuntimeDefault: false;
123
+ enumValues: [string, ...string[]];
124
+ baseColumn: never;
125
+ identity: undefined;
126
+ generated: undefined;
127
+ }, {}>;
128
+ attachment: import("drizzle-orm/sqlite-core").SQLiteColumn<{
129
+ name: string;
130
+ tableName: "models_catalog";
131
+ dataType: "boolean";
132
+ data: boolean;
133
+ driverParam: number;
134
+ notNull: true;
135
+ hasDefault: true;
136
+ isPrimaryKey: false;
137
+ isAutoincrement: false;
138
+ hasRuntimeDefault: false;
139
+ enumValues: undefined;
140
+ baseColumn: never;
141
+ identity: undefined;
142
+ generated: undefined;
143
+ }, {}>;
144
+ reasoning: import("drizzle-orm/sqlite-core").SQLiteColumn<{
145
+ name: string;
146
+ tableName: "models_catalog";
147
+ dataType: "boolean";
148
+ data: boolean;
149
+ driverParam: number;
150
+ notNull: true;
151
+ hasDefault: true;
152
+ isPrimaryKey: false;
153
+ isAutoincrement: false;
154
+ hasRuntimeDefault: false;
155
+ enumValues: undefined;
156
+ baseColumn: never;
157
+ identity: undefined;
158
+ generated: undefined;
159
+ }, {}>;
160
+ temperature: import("drizzle-orm/sqlite-core").SQLiteColumn<{
161
+ name: string;
162
+ tableName: "models_catalog";
163
+ dataType: "boolean";
164
+ data: boolean;
165
+ driverParam: number;
166
+ notNull: true;
167
+ hasDefault: true;
168
+ isPrimaryKey: false;
169
+ isAutoincrement: false;
170
+ hasRuntimeDefault: false;
171
+ enumValues: undefined;
172
+ baseColumn: never;
173
+ identity: undefined;
174
+ generated: undefined;
175
+ }, {}>;
176
+ interleaved: import("drizzle-orm/sqlite-core").SQLiteColumn<{
177
+ name: string;
178
+ tableName: "models_catalog";
179
+ dataType: "boolean";
180
+ data: boolean;
181
+ driverParam: number;
182
+ notNull: true;
183
+ hasDefault: true;
184
+ isPrimaryKey: false;
185
+ isAutoincrement: false;
186
+ hasRuntimeDefault: false;
187
+ enumValues: undefined;
188
+ baseColumn: never;
189
+ identity: undefined;
190
+ generated: undefined;
191
+ }, {}>;
192
+ toolCall: import("drizzle-orm/sqlite-core").SQLiteColumn<{
193
+ name: string;
194
+ tableName: "models_catalog";
195
+ dataType: "boolean";
196
+ data: boolean;
197
+ driverParam: number;
198
+ notNull: true;
199
+ hasDefault: true;
200
+ isPrimaryKey: false;
201
+ isAutoincrement: false;
202
+ hasRuntimeDefault: false;
203
+ enumValues: undefined;
204
+ baseColumn: never;
205
+ identity: undefined;
206
+ generated: undefined;
207
+ }, {}>;
208
+ modalities: import("drizzle-orm/sqlite-core").SQLiteColumn<{
209
+ name: string;
210
+ tableName: "models_catalog";
211
+ dataType: "string";
212
+ data: string;
213
+ driverParam: string;
214
+ notNull: true;
215
+ hasDefault: true;
216
+ isPrimaryKey: false;
217
+ isAutoincrement: false;
218
+ hasRuntimeDefault: false;
219
+ enumValues: [string, ...string[]];
220
+ baseColumn: never;
221
+ identity: undefined;
222
+ generated: undefined;
223
+ }, {}>;
224
+ cost: import("drizzle-orm/sqlite-core").SQLiteColumn<{
225
+ name: string;
226
+ tableName: "models_catalog";
227
+ dataType: "string";
228
+ data: string;
229
+ driverParam: string;
230
+ notNull: true;
231
+ hasDefault: true;
232
+ isPrimaryKey: false;
233
+ isAutoincrement: false;
234
+ hasRuntimeDefault: false;
235
+ enumValues: [string, ...string[]];
236
+ baseColumn: never;
237
+ identity: undefined;
238
+ generated: undefined;
239
+ }, {}>;
240
+ contextLimit: import("drizzle-orm/sqlite-core").SQLiteColumn<{
241
+ name: string;
242
+ tableName: "models_catalog";
243
+ dataType: "number int53";
244
+ data: number;
245
+ driverParam: number;
246
+ notNull: false;
247
+ hasDefault: false;
248
+ isPrimaryKey: false;
249
+ isAutoincrement: false;
250
+ hasRuntimeDefault: false;
251
+ enumValues: undefined;
252
+ baseColumn: never;
253
+ identity: undefined;
254
+ generated: undefined;
255
+ }, {}>;
256
+ outputLimit: import("drizzle-orm/sqlite-core").SQLiteColumn<{
257
+ name: string;
258
+ tableName: "models_catalog";
259
+ dataType: "number int53";
260
+ data: number;
261
+ driverParam: number;
262
+ notNull: false;
263
+ hasDefault: false;
264
+ isPrimaryKey: false;
265
+ isAutoincrement: false;
266
+ hasRuntimeDefault: false;
267
+ enumValues: undefined;
268
+ baseColumn: never;
269
+ identity: undefined;
270
+ generated: undefined;
271
+ }, {}>;
272
+ status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
273
+ name: string;
274
+ tableName: "models_catalog";
275
+ dataType: "string enum";
276
+ data: "stable" | "beta" | "preview" | "deprecated" | "retired";
277
+ driverParam: string;
278
+ notNull: true;
279
+ hasDefault: true;
280
+ isPrimaryKey: false;
281
+ isAutoincrement: false;
282
+ hasRuntimeDefault: false;
283
+ enumValues: ["stable", "beta", "preview", "deprecated", "retired"];
284
+ baseColumn: never;
285
+ identity: undefined;
286
+ generated: undefined;
287
+ }, {}>;
288
+ releaseDate: import("drizzle-orm/sqlite-core").SQLiteColumn<{
289
+ name: string;
290
+ tableName: "models_catalog";
291
+ dataType: "string";
292
+ data: string;
293
+ driverParam: string;
294
+ notNull: true;
295
+ hasDefault: false;
296
+ isPrimaryKey: false;
297
+ isAutoincrement: false;
298
+ hasRuntimeDefault: false;
299
+ enumValues: [string, ...string[]];
300
+ baseColumn: never;
301
+ identity: undefined;
302
+ generated: undefined;
303
+ }, {}>;
304
+ modelsDevId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
305
+ name: string;
306
+ tableName: "models_catalog";
307
+ dataType: "string";
308
+ data: string;
309
+ driverParam: string;
310
+ notNull: true;
311
+ hasDefault: false;
312
+ isPrimaryKey: false;
313
+ isAutoincrement: false;
314
+ hasRuntimeDefault: false;
315
+ enumValues: [string, ...string[]];
316
+ baseColumn: never;
317
+ identity: undefined;
318
+ generated: undefined;
319
+ }, {}>;
320
+ source: import("drizzle-orm/sqlite-core").SQLiteColumn<{
321
+ name: string;
322
+ tableName: "models_catalog";
323
+ dataType: "string";
324
+ data: string;
325
+ driverParam: string;
326
+ notNull: true;
327
+ hasDefault: true;
328
+ isPrimaryKey: false;
329
+ isAutoincrement: false;
330
+ hasRuntimeDefault: false;
331
+ enumValues: [string, ...string[]];
332
+ baseColumn: never;
333
+ identity: undefined;
334
+ generated: undefined;
335
+ }, {}>;
336
+ seededAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
337
+ name: string;
338
+ tableName: "models_catalog";
339
+ dataType: "string";
340
+ data: string;
341
+ driverParam: string;
342
+ notNull: true;
343
+ hasDefault: true;
344
+ isPrimaryKey: false;
345
+ isAutoincrement: false;
346
+ hasRuntimeDefault: false;
347
+ enumValues: [string, ...string[]];
348
+ baseColumn: never;
349
+ identity: undefined;
350
+ generated: undefined;
351
+ }, {}>;
352
+ };
353
+ dialect: "sqlite";
354
+ }>;
355
+ /** Row type for `models_catalog` SELECT queries. */
356
+ export type ModelsCatalogRow = typeof modelsCatalog.$inferSelect;
357
+ /** Row type for `models_catalog` INSERT/UPSERT operations. */
358
+ export type NewModelsCatalogRow = typeof modelsCatalog.$inferInsert;
359
+ //# sourceMappingURL=models-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-catalog.d.ts","sourceRoot":"","sources":["../../../../src/store/schema/cleo-global/models-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAMH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDzB,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,gBAAgB,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AACjE,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Global-scope `cleo.db` — **models.dev catalog SSoT** (`models_catalog`, 1 table).
3
+ *
4
+ * E8-CATALOG-CURATION (epic T11694 · task T11733). This table is the queryable,
5
+ * `cleo health`-visible home for the **provider+model capability catalog** that
6
+ * today lives only as a disk JSON cache (`llm-catalog/`) and a tiny bundled
7
+ * `curated-models.json`. Each row is ONE model — its full models.dev wire
8
+ * capability set (modalities, cost, limits, reasoning/tool-call flags, status,
9
+ * release date) — so the catalog becomes the SSoT (DB table) with the disk cache
10
+ * demoted to an offline/degraded fallback MIRROR (T11737).
11
+ *
12
+ * It is the catalog half of the "catalog-driven models, NO hardcoded" North Star
13
+ * spine: the resolver default model derives from this table sorted by
14
+ * `release_date` DESC (T11944), killing the hardcoded `claude-haiku-4-5` literal —
15
+ * the static literal survives ONLY as the offline-only last-resort floor when this
16
+ * table is empty/unseeded.
17
+ *
18
+ * ## NOT the `accounts` credential pool — do not confuse the two
19
+ *
20
+ * `accounts` (T11709) holds machine-wide LLM CREDENTIALS (the pool the runner picks
21
+ * from). THIS table holds CATALOG DATA (model capabilities) — no secrets, no
22
+ * encryption. They share the cleo-global scope and the E10 typing conventions, but
23
+ * carry orthogonal data. The catalog is freely readable; credentials are sealed.
24
+ *
25
+ * ## E10 typing (mirrors sibling `accounts.ts` / `services.ts`)
26
+ *
27
+ * - Booleans (`attachment`/`reasoning`/`temperature`/`interleaved`/`tool_call`) use
28
+ * `integer({mode:'boolean'})` (CHECK `(0, 1)` in the migration).
29
+ * - `modalities` / `cost` are JSON blobs serialized to TEXT (documented json pattern).
30
+ * - `release_date` is TEXT `YYYY-MM-DD` with a GLOB date check; `seeded_at` is a TEXT
31
+ * ISO-8601 timestamp.
32
+ * - `status` is a named enum ({@link CATALOG_MODEL_STATUSES}, minted in contracts).
33
+ *
34
+ * ## Active selection — `release_date`-sorted, latest wins
35
+ *
36
+ * The resolver default and any "newest model for provider X" query reads this table
37
+ * ordered by `(provider_id, release_date DESC)` — the `idx_models_catalog_provider_release`
38
+ * index backs that scan. No raw partial unique index is required (unlike `accounts`'
39
+ * active-pointer); `id` is the natural PK and `(provider_id, models_dev_id)` is a
40
+ * natural unique key for the upsert.
41
+ *
42
+ * @task T11733
43
+ * @epic T11694
44
+ * @see ../../../../migrations/drizzle-cleo-global — the forward migration
45
+ * @see ../../../llm/catalog-seeder.ts — the seeder that populates this table (T11734)
46
+ * @see ../../../llm/catalog-resolver.ts — the table-first read chokepoint (T11737)
47
+ * @see ./accounts.ts — the sibling credential-pool table this directory mirrors
48
+ */
49
+ import { CATALOG_MODEL_STATUSES } from '@cleocode/contracts';
50
+ import { sql } from 'drizzle-orm';
51
+ import { index, integer, sqliteTable, text, unique } from 'drizzle-orm/sqlite-core';
52
+ /**
53
+ * `models_catalog` — the machine-wide provider+model capability catalog table.
54
+ *
55
+ * One row per model. The catalog SSoT: seeded from the shipped offline
56
+ * `curated-catalog.json` (T11734), read table-first via `resolveCatalogEntry()`
57
+ * (T11737), and consulted by the resolver default (latest `release_date` wins —
58
+ * T11944). `id` is the model id (PK); `(provider_id, models_dev_id)` is the natural
59
+ * upsert key.
60
+ *
61
+ * @task T11733
62
+ */
63
+ export const modelsCatalog = sqliteTable('models_catalog', {
64
+ /** Model id — the catalog key (a models.dev id, e.g. `openai/gpt-5.5`). Natural PK. */
65
+ id: text('id').primaryKey(),
66
+ /** Provider key (models.dev id, e.g. `anthropic` | `openai` | `google`). */
67
+ providerId: text('provider_id').notNull(),
68
+ /** Human-readable display name (e.g. `Claude Haiku 4.5`). */
69
+ name: text('name').notNull(),
70
+ /** Model family (e.g. `claude` | `gpt` | `gemini`). */
71
+ family: text('family').notNull(),
72
+ /** Supports file/image attachments. */
73
+ attachment: integer('attachment', { mode: 'boolean' }).notNull().default(false),
74
+ /** Supports extended reasoning / thinking. */
75
+ reasoning: integer('reasoning', { mode: 'boolean' }).notNull().default(false),
76
+ /** Honours a temperature parameter. */
77
+ temperature: integer('temperature', { mode: 'boolean' }).notNull().default(true),
78
+ /** Supports interleaved thinking blocks. */
79
+ interleaved: integer('interleaved', { mode: 'boolean' }).notNull().default(false),
80
+ /** Supports tool / function calling. */
81
+ toolCall: integer('tool_call', { mode: 'boolean' }).notNull().default(false),
82
+ /** JSON blob: `{ input: string[]; output: string[] }` modalities (serialized TEXT). */
83
+ modalities: text('modalities').notNull().default('{"input":["text"],"output":["text"]}'),
84
+ /** JSON blob: per-1M-token cost facets `{ input?, output?, cache_read?, … }` (serialized TEXT). */
85
+ cost: text('cost').notNull().default('{}'),
86
+ /** Max context window (tokens); NULL when the catalog entry omits a limit. */
87
+ contextLimit: integer('context_limit'),
88
+ /** Max output tokens; NULL when the catalog entry omits a limit. */
89
+ outputLimit: integer('output_limit'),
90
+ /**
91
+ * Availability lifecycle — `stable` | `beta` | `preview` | `deprecated` | `retired`
92
+ * ({@link CATALOG_MODEL_STATUSES}, minted in contracts).
93
+ */
94
+ status: text('status', { enum: CATALOG_MODEL_STATUSES }).notNull().default('stable'),
95
+ /**
96
+ * ISO release date `YYYY-MM-DD` (GLOB-checked in the migration). The SSoT sort key —
97
+ * the resolver default picks the row with the LATEST `release_date` for a provider.
98
+ */
99
+ releaseDate: text('release_date').notNull(),
100
+ /** The models.dev entry id (mirrors `id`; kept distinct for the natural upsert key). */
101
+ modelsDevId: text('models_dev_id').notNull(),
102
+ /** Provenance — where this row came from (e.g. `seed` | `refresh` | `import`). */
103
+ source: text('source').notNull().default('seed'),
104
+ /** ISO-8601 UTC instant this row was seeded/last upserted. Defaults to write time. */
105
+ seededAt: text('seeded_at').notNull().default(sql `(datetime('now'))`),
106
+ }, (table) => [
107
+ // The natural upsert key — a models.dev id is unique within a provider.
108
+ unique('ux_models_catalog_provider_modeldev').on(table.providerId, table.modelsDevId),
109
+ // The default-resolution scan — newest model per provider (release_date DESC).
110
+ index('idx_models_catalog_provider_release').on(table.providerId, table.releaseDate),
111
+ // Lifecycle scans (e.g. exclude retired) per provider.
112
+ index('idx_models_catalog_provider_status').on(table.providerId, table.status),
113
+ ]);
114
+ //# sourceMappingURL=models-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-catalog.js","sourceRoot":"","sources":["../../../../src/store/schema/cleo-global/models-catalog.ts"],"names":[],"mappings":"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"}