devchain-cli 0.10.5 → 0.11.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 (354) hide show
  1. package/README.md +13 -7
  2. package/dist/cli.js +32 -28
  3. package/dist/drizzle/0048_sessions_transcript_fields.sql +6 -0
  4. package/dist/drizzle/0049_provider_models_and_agent_model_override.sql +24 -0
  5. package/dist/drizzle/meta/_journal.json +14 -0
  6. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +25 -0
  7. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
  8. package/dist/node_modules/@devchain/shared/schemas/export-schema.js +9 -3
  9. package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
  10. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  11. package/dist/server/app.main.module.js +2 -0
  12. package/dist/server/app.main.module.js.map +1 -1
  13. package/dist/server/app.normal.module.js +2 -0
  14. package/dist/server/app.normal.module.js.map +1 -1
  15. package/dist/server/modules/agents/controllers/agents.controller.d.ts +1 -0
  16. package/dist/server/modules/agents/controllers/agents.controller.js +3 -0
  17. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  18. package/dist/server/modules/chat/dtos/chat.dto.d.ts +4 -4
  19. package/dist/server/modules/core/services/preflight.service.js +7 -0
  20. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  21. package/dist/server/modules/core/services/provider-mcp-ensure.service.js +8 -0
  22. package/dist/server/modules/core/services/provider-mcp-ensure.service.js.map +1 -1
  23. package/dist/server/modules/documents/controllers/documents.controller.d.ts +2 -2
  24. package/dist/server/modules/documents/controllers/documents.controller.js.map +1 -1
  25. package/dist/server/modules/epics/controllers/epic-comments.controller.d.ts +2 -2
  26. package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -1
  27. package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +4 -4
  28. package/dist/server/modules/events/catalog/index.d.ts +115 -4
  29. package/dist/server/modules/events/catalog/index.js +6 -0
  30. package/dist/server/modules/events/catalog/index.js.map +1 -1
  31. package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +24 -0
  32. package/dist/server/modules/events/catalog/session.transcript.discovered.js +15 -0
  33. package/dist/server/modules/events/catalog/session.transcript.discovered.js.map +1 -0
  34. package/dist/server/modules/events/catalog/session.transcript.ended.d.ts +51 -0
  35. package/dist/server/modules/events/catalog/session.transcript.ended.js +20 -0
  36. package/dist/server/modules/events/catalog/session.transcript.ended.js.map +1 -0
  37. package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +51 -0
  38. package/dist/server/modules/events/catalog/session.transcript.updated.js +20 -0
  39. package/dist/server/modules/events/catalog/session.transcript.updated.js.map +1 -0
  40. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.d.ts +2 -2
  41. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +1 -1
  42. package/dist/server/modules/events/subscribers/index.js +2 -0
  43. package/dist/server/modules/events/subscribers/index.js.map +1 -1
  44. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.d.ts +2 -2
  45. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +1 -1
  46. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.d.ts +12 -0
  47. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js +88 -0
  48. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js.map +1 -0
  49. package/dist/server/modules/guests/services/guest-health.service.d.ts +2 -2
  50. package/dist/server/modules/guests/services/guest-health.service.js.map +1 -1
  51. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +4 -4
  52. package/dist/server/modules/hooks/services/hooks.service.d.ts +2 -2
  53. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  54. package/dist/server/modules/mcp/dtos/mcp.dto.js +8 -3
  55. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  56. package/dist/server/modules/mcp/services/handlers/activity-tools.d.ts +4 -0
  57. package/dist/server/modules/mcp/services/handlers/activity-tools.js +193 -0
  58. package/dist/server/modules/mcp/services/handlers/activity-tools.js.map +1 -0
  59. package/dist/server/modules/mcp/services/handlers/chat-tools.d.ts +6 -0
  60. package/dist/server/modules/mcp/services/handlers/chat-tools.js +605 -0
  61. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -0
  62. package/dist/server/modules/mcp/services/handlers/document-tools.d.ts +6 -0
  63. package/dist/server/modules/mcp/services/handlers/document-tools.js +141 -0
  64. package/dist/server/modules/mcp/services/handlers/document-tools.js.map +1 -0
  65. package/dist/server/modules/mcp/services/handlers/epic-tools.d.ts +11 -0
  66. package/dist/server/modules/mcp/services/handlers/epic-tools.js +913 -0
  67. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -0
  68. package/dist/server/modules/mcp/services/handlers/prompt-tools.d.ts +4 -0
  69. package/dist/server/modules/mcp/services/handlers/prompt-tools.js +109 -0
  70. package/dist/server/modules/mcp/services/handlers/prompt-tools.js.map +1 -0
  71. package/dist/server/modules/mcp/services/handlers/record-tools.d.ts +8 -0
  72. package/dist/server/modules/mcp/services/handlers/record-tools.js +114 -0
  73. package/dist/server/modules/mcp/services/handlers/record-tools.js.map +1 -0
  74. package/dist/server/modules/mcp/services/handlers/review-tools.d.ts +8 -0
  75. package/dist/server/modules/mcp/services/handlers/review-tools.js +672 -0
  76. package/dist/server/modules/mcp/services/handlers/review-tools.js.map +1 -0
  77. package/dist/server/modules/mcp/services/handlers/session-tools.d.ts +4 -0
  78. package/dist/server/modules/mcp/services/handlers/session-tools.js +114 -0
  79. package/dist/server/modules/mcp/services/handlers/session-tools.js.map +1 -0
  80. package/dist/server/modules/mcp/services/handlers/skill-tools.d.ts +4 -0
  81. package/dist/server/modules/mcp/services/handlers/skill-tools.js +124 -0
  82. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -0
  83. package/dist/server/modules/mcp/services/handlers/types.d.ts +33 -0
  84. package/dist/server/modules/mcp/services/handlers/types.js +3 -0
  85. package/dist/server/modules/mcp/services/handlers/types.js.map +1 -0
  86. package/dist/server/modules/mcp/services/mappers/dto-mappers.d.ts +14 -0
  87. package/dist/server/modules/mcp/services/mappers/dto-mappers.js +138 -0
  88. package/dist/server/modules/mcp/services/mappers/dto-mappers.js.map +1 -0
  89. package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +8 -0
  90. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +258 -51
  91. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +1 -1
  92. package/dist/server/modules/mcp/services/mcp.service.d.ts +6 -66
  93. package/dist/server/modules/mcp/services/mcp.service.js +97 -3329
  94. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  95. package/dist/server/modules/mcp/services/utils/document-link-resolver.d.ts +10 -0
  96. package/dist/server/modules/mcp/services/utils/document-link-resolver.js +124 -0
  97. package/dist/server/modules/mcp/services/utils/document-link-resolver.js.map +1 -0
  98. package/dist/server/modules/mcp/services/utils/resolve-epic-id.d.ts +3 -0
  99. package/dist/server/modules/mcp/services/utils/resolve-epic-id.js +40 -0
  100. package/dist/server/modules/mcp/services/utils/resolve-epic-id.js.map +1 -0
  101. package/dist/server/modules/mcp/services/utils/resource-resolver.d.ts +10 -0
  102. package/dist/server/modules/mcp/services/utils/resource-resolver.js +124 -0
  103. package/dist/server/modules/mcp/services/utils/resource-resolver.js.map +1 -0
  104. package/dist/server/modules/mcp/services/utils/session-context-resolver.d.ts +14 -0
  105. package/dist/server/modules/mcp/services/utils/session-context-resolver.js +169 -0
  106. package/dist/server/modules/mcp/services/utils/session-context-resolver.js.map +1 -0
  107. package/dist/server/modules/mcp/tool-definitions.js +12 -3
  108. package/dist/server/modules/mcp/tool-definitions.js.map +1 -1
  109. package/dist/server/modules/profiles/controllers/provider-configs.controller.d.ts +2 -2
  110. package/dist/server/modules/profiles/controllers/provider-configs.controller.js.map +1 -1
  111. package/dist/server/modules/profiles/dto.d.ts +2 -2
  112. package/dist/server/modules/projects/controllers/projects.controller.d.ts +32 -28
  113. package/dist/server/modules/projects/controllers/projects.controller.js +12 -7
  114. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  115. package/dist/server/modules/projects/dtos/export.dto.d.ts +7 -0
  116. package/dist/server/modules/projects/dtos/export.dto.js +1 -0
  117. package/dist/server/modules/projects/dtos/export.dto.js.map +1 -1
  118. package/dist/server/modules/projects/helpers/profile-mapping.helpers.d.ts +102 -0
  119. package/dist/server/modules/projects/helpers/profile-mapping.helpers.js +369 -0
  120. package/dist/server/modules/projects/helpers/profile-mapping.helpers.js.map +1 -0
  121. package/dist/server/modules/projects/helpers/project-export.d.ts +141 -0
  122. package/dist/server/modules/projects/helpers/project-export.js +314 -0
  123. package/dist/server/modules/projects/helpers/project-export.js.map +1 -0
  124. package/dist/server/modules/projects/helpers/project-import.d.ts +132 -0
  125. package/dist/server/modules/projects/helpers/project-import.js +600 -0
  126. package/dist/server/modules/projects/helpers/project-import.js.map +1 -0
  127. package/dist/server/modules/projects/helpers/project-presets.helpers.d.ts +26 -0
  128. package/dist/server/modules/projects/helpers/project-presets.helpers.js +110 -0
  129. package/dist/server/modules/projects/helpers/project-presets.helpers.js.map +1 -0
  130. package/dist/server/modules/projects/helpers/project-runtime.helpers.d.ts +69 -0
  131. package/dist/server/modules/projects/helpers/project-runtime.helpers.js +201 -0
  132. package/dist/server/modules/projects/helpers/project-runtime.helpers.js.map +1 -0
  133. package/dist/server/modules/projects/helpers/project-template-manifest.helpers.d.ts +16 -0
  134. package/dist/server/modules/projects/helpers/project-template-manifest.helpers.js +107 -0
  135. package/dist/server/modules/projects/helpers/project-template-manifest.helpers.js.map +1 -0
  136. package/dist/server/modules/projects/helpers/template-file.helpers.d.ts +9 -0
  137. package/dist/server/modules/projects/helpers/template-file.helpers.js +92 -0
  138. package/dist/server/modules/projects/helpers/template-file.helpers.js.map +1 -0
  139. package/dist/server/modules/projects/helpers/template-loader.d.ts +85 -0
  140. package/dist/server/modules/projects/helpers/template-loader.js +406 -0
  141. package/dist/server/modules/projects/helpers/template-loader.js.map +1 -0
  142. package/dist/server/modules/projects/services/main-project-bootstrap.service.js +4 -0
  143. package/dist/server/modules/projects/services/main-project-bootstrap.service.js.map +1 -1
  144. package/dist/server/modules/projects/services/projects.service.d.ts +23 -49
  145. package/dist/server/modules/projects/services/projects.service.js +46 -1848
  146. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  147. package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +2 -2
  148. package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -1
  149. package/dist/server/modules/providers/adapters/index.d.ts +1 -0
  150. package/dist/server/modules/providers/adapters/index.js +1 -0
  151. package/dist/server/modules/providers/adapters/index.js.map +1 -1
  152. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +16 -0
  153. package/dist/server/modules/providers/adapters/opencode.adapter.js +64 -0
  154. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -0
  155. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -1
  156. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +5 -2
  157. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  158. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +1 -0
  159. package/dist/server/modules/providers/adapters/provider-adapters.module.js +2 -1
  160. package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
  161. package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +22 -0
  162. package/dist/server/modules/providers/controllers/provider-models.controller.js +173 -0
  163. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -0
  164. package/dist/server/modules/providers/providers.module.js +2 -1
  165. package/dist/server/modules/providers/providers.module.js.map +1 -1
  166. package/dist/server/modules/records/controllers/records.controller.d.ts +2 -2
  167. package/dist/server/modules/records/controllers/records.controller.js.map +1 -1
  168. package/dist/server/modules/registry/services/template-upgrade.service.js +1 -9
  169. package/dist/server/modules/registry/services/template-upgrade.service.js.map +1 -1
  170. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +21 -0
  171. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +207 -0
  172. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -0
  173. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +22 -0
  174. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +214 -0
  175. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -0
  176. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.d.ts +23 -0
  177. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js +224 -0
  178. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js.map +1 -0
  179. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.d.ts +9 -0
  180. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js +40 -0
  181. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js.map +1 -0
  182. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +37 -0
  183. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js +3 -0
  184. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -0
  185. package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.d.ts +11 -0
  186. package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.js +77 -0
  187. package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.js.map +1 -0
  188. package/dist/server/modules/session-reader/adapters/utils/file-search.util.d.ts +1 -0
  189. package/dist/server/modules/session-reader/adapters/utils/file-search.util.js +22 -0
  190. package/dist/server/modules/session-reader/adapters/utils/file-search.util.js.map +1 -0
  191. package/dist/server/modules/session-reader/builders/chunk-builder.d.ts +5 -0
  192. package/dist/server/modules/session-reader/builders/chunk-builder.js +131 -0
  193. package/dist/server/modules/session-reader/builders/chunk-builder.js.map +1 -0
  194. package/dist/server/modules/session-reader/builders/semantic-step-extractor.d.ts +3 -0
  195. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +93 -0
  196. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -0
  197. package/dist/server/modules/session-reader/builders/turn-builder.d.ts +3 -0
  198. package/dist/server/modules/session-reader/builders/turn-builder.js +102 -0
  199. package/dist/server/modules/session-reader/builders/turn-builder.js.map +1 -0
  200. package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +430 -0
  201. package/dist/server/modules/session-reader/controllers/session-reader.controller.js +252 -0
  202. package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -0
  203. package/dist/server/modules/session-reader/data/pricing.json +5001 -0
  204. package/dist/server/modules/session-reader/dtos/index.d.ts +2 -0
  205. package/dist/server/modules/session-reader/dtos/index.js +10 -0
  206. package/dist/server/modules/session-reader/dtos/index.js.map +1 -0
  207. package/dist/server/modules/session-reader/dtos/unified-chunk.types.d.ts +92 -0
  208. package/dist/server/modules/session-reader/dtos/unified-chunk.types.js +19 -0
  209. package/dist/server/modules/session-reader/dtos/unified-chunk.types.js.map +1 -0
  210. package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +118 -0
  211. package/dist/server/modules/session-reader/dtos/unified-session.types.js +23 -0
  212. package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -0
  213. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +15 -0
  214. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +363 -0
  215. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -0
  216. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.d.ts +16 -0
  217. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +622 -0
  218. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -0
  219. package/dist/server/modules/session-reader/parsers/gemini-json.parser.d.ts +15 -0
  220. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js +380 -0
  221. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js.map +1 -0
  222. package/dist/server/modules/session-reader/services/pricing.interface.d.ts +9 -0
  223. package/dist/server/modules/session-reader/services/pricing.interface.js +24 -0
  224. package/dist/server/modules/session-reader/services/pricing.interface.js.map +1 -0
  225. package/dist/server/modules/session-reader/services/pricing.service.d.ts +21 -0
  226. package/dist/server/modules/session-reader/services/pricing.service.js +106 -0
  227. package/dist/server/modules/session-reader/services/pricing.service.js.map +1 -0
  228. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +24 -0
  229. package/dist/server/modules/session-reader/services/session-cache.service.js +203 -0
  230. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -0
  231. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +56 -0
  232. package/dist/server/modules/session-reader/services/session-reader.service.js +305 -0
  233. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -0
  234. package/dist/server/modules/session-reader/services/subagent-locator.service.d.ts +10 -0
  235. package/dist/server/modules/session-reader/services/subagent-locator.service.js +102 -0
  236. package/dist/server/modules/session-reader/services/subagent-locator.service.js.map +1 -0
  237. package/dist/server/modules/session-reader/services/subagent-resolver.service.d.ts +22 -0
  238. package/dist/server/modules/session-reader/services/subagent-resolver.service.js +211 -0
  239. package/dist/server/modules/session-reader/services/subagent-resolver.service.js.map +1 -0
  240. package/dist/server/modules/session-reader/services/transcript-path-validator.service.d.ts +7 -0
  241. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +150 -0
  242. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -0
  243. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +30 -0
  244. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +336 -0
  245. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -0
  246. package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +28 -0
  247. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +325 -0
  248. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -0
  249. package/dist/server/modules/session-reader/session-reader.module.d.ts +13 -0
  250. package/dist/server/modules/session-reader/session-reader.module.js +82 -0
  251. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -0
  252. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +2 -0
  253. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
  254. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +2 -2
  255. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  256. package/dist/server/modules/sessions/services/sessions.service.js +19 -4
  257. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  258. package/dist/server/modules/sessions/utils/profile-options.d.ts +1 -0
  259. package/dist/server/modules/sessions/utils/profile-options.js +18 -0
  260. package/dist/server/modules/sessions/utils/profile-options.js.map +1 -1
  261. package/dist/server/modules/settings/controllers/settings.controller.d.ts +2 -2
  262. package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
  263. package/dist/server/modules/settings/dtos/settings.dto.d.ts +14 -2
  264. package/dist/server/modules/settings/dtos/settings.dto.js +1 -0
  265. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  266. package/dist/server/modules/skills/services/skill-source-registry.service.d.ts +2 -2
  267. package/dist/server/modules/skills/services/skill-source-registry.service.js.map +1 -1
  268. package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +2 -2
  269. package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -1
  270. package/dist/server/modules/storage/db/schema.d.ts +176 -0
  271. package/dist/server/modules/storage/db/schema.js +17 -1
  272. package/dist/server/modules/storage/db/schema.js.map +1 -1
  273. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +53 -9
  274. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  275. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.d.ts +39 -0
  276. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js +286 -0
  277. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js.map +1 -0
  278. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +21 -0
  279. package/dist/server/modules/storage/local/delegates/agent.delegate.js +210 -0
  280. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -0
  281. package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +12 -0
  282. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +19 -0
  283. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -0
  284. package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +20 -0
  285. package/dist/server/modules/storage/local/delegates/document.delegate.js +267 -0
  286. package/dist/server/modules/storage/local/delegates/document.delegate.js.map +1 -0
  287. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +38 -0
  288. package/dist/server/modules/storage/local/delegates/epic.delegate.js +686 -0
  289. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -0
  290. package/dist/server/modules/storage/local/delegates/guest.delegate.d.ts +14 -0
  291. package/dist/server/modules/storage/local/delegates/guest.delegate.js +172 -0
  292. package/dist/server/modules/storage/local/delegates/guest.delegate.js.map +1 -0
  293. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.d.ts +17 -0
  294. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js +249 -0
  295. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js.map +1 -0
  296. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +16 -0
  297. package/dist/server/modules/storage/local/delegates/project.delegate.js +630 -0
  298. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -0
  299. package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +17 -0
  300. package/dist/server/modules/storage/local/delegates/prompt.delegate.js +318 -0
  301. package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -0
  302. package/dist/server/modules/storage/local/delegates/provider-model.delegate.d.ts +15 -0
  303. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js +210 -0
  304. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js.map +1 -0
  305. package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +18 -0
  306. package/dist/server/modules/storage/local/delegates/provider.delegate.js +151 -0
  307. package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -0
  308. package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +16 -0
  309. package/dist/server/modules/storage/local/delegates/record.delegate.js +190 -0
  310. package/dist/server/modules/storage/local/delegates/record.delegate.js.map +1 -0
  311. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +25 -0
  312. package/dist/server/modules/storage/local/delegates/review.delegate.js +426 -0
  313. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -0
  314. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +28 -0
  315. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +347 -0
  316. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -0
  317. package/dist/server/modules/storage/local/delegates/status.delegate.d.ts +12 -0
  318. package/dist/server/modules/storage/local/delegates/status.delegate.js +130 -0
  319. package/dist/server/modules/storage/local/delegates/status.delegate.js.map +1 -0
  320. package/dist/server/modules/storage/local/delegates/subscriber.delegate.d.ts +11 -0
  321. package/dist/server/modules/storage/local/delegates/subscriber.delegate.js +144 -0
  322. package/dist/server/modules/storage/local/delegates/subscriber.delegate.js.map +1 -0
  323. package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +11 -0
  324. package/dist/server/modules/storage/local/delegates/tag.delegate.js +102 -0
  325. package/dist/server/modules/storage/local/delegates/tag.delegate.js.map +1 -0
  326. package/dist/server/modules/storage/local/delegates/watcher.delegate.d.ts +12 -0
  327. package/dist/server/modules/storage/local/delegates/watcher.delegate.js +183 -0
  328. package/dist/server/modules/storage/local/delegates/watcher.delegate.js.map +1 -0
  329. package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +32 -0
  330. package/dist/server/modules/storage/local/helpers/storage-helpers.js +276 -0
  331. package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -0
  332. package/dist/server/modules/storage/local/local-storage.service.d.ts +30 -22
  333. package/dist/server/modules/storage/local/local-storage.service.js +227 -3627
  334. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  335. package/dist/server/modules/storage/models/domain.models.d.ts +14 -1
  336. package/dist/server/modules/subscribers/services/subscribers.service.d.ts +2 -2
  337. package/dist/server/modules/subscribers/services/subscribers.service.js.map +1 -1
  338. package/dist/server/modules/watchers/services/watchers.service.d.ts +2 -2
  339. package/dist/server/templates/3-agents-dev.json +209 -191
  340. package/dist/server/templates/5-agents-dev.json +243 -198
  341. package/dist/server/test-setup.js +14 -12
  342. package/dist/server/test-setup.js.map +1 -1
  343. package/dist/server/tsconfig.tsbuildinfo +1 -1
  344. package/dist/server/ui/assets/{ReviewDetailPage-DNFeBzB6.js → ReviewDetailPage-DJyH8bKk.js} +1 -1
  345. package/dist/server/ui/assets/{ReviewsPage-DCM_dJlA.js → ReviewsPage-DHvmyjjG.js} +1 -1
  346. package/dist/server/ui/assets/index-cHqKW6LQ.css +32 -0
  347. package/dist/server/ui/assets/index-f0KXZKs1.js +1011 -0
  348. package/dist/server/ui/assets/{useReviewSubscription-Bx6D-cpf.js → useReviewSubscription-CUbCp0An.js} +32 -35
  349. package/dist/server/ui/index.html +2 -2
  350. package/dist/templates/3-agents-dev.json +209 -191
  351. package/dist/templates/5-agents-dev.json +243 -198
  352. package/package.json +15 -2
  353. package/dist/server/ui/assets/index-BgvrDIBb.js +0 -972
  354. package/dist/server/ui/assets/index-CzjcxP26.css +0 -32
package/README.md CHANGED
@@ -5,14 +5,23 @@
5
5
  [![npm version](https://img.shields.io/npm/v/devchain-cli)](https://www.npmjs.com/package/devchain-cli)
6
6
  [![License: Elastic-2.0](https://img.shields.io/badge/license-Elastic--2.0-blue)](LICENSE)
7
7
 
8
- **[Homepage](https://devchain.twitechlab.com/)** · **[Quick Start Guide (PDF)](https://devchain.twitechlab.com/docs/devchain-quick-start-guide.pdf)** · **[What's New in v0.10.0](https://devchain.twitechlab.com/releases/0.10.0/)**
8
+ **[Homepage](https://devchain.twitechlab.com/)** · **[Quick Start Guide (PDF)](https://devchain.twitechlab.com/docs/devchain-quick-start-guide.pdf)** · **[What's New in v0.11.0](https://devchain.twitechlab.com/releases/0.11.0/)**
9
9
 
10
- Devchain runs your AI coding agents as a coordinated team — each with their own terminal session, task queue, and chat. Assign epics, track progress on a visual board, and let agents collaborate through a structured workflow. Supports Claude Code, Codex, and Gemini CLI out of the box.
10
+ Devchain runs your AI coding agents as a coordinated team — each with their own terminal session, task queue, and chat. Assign epics, track progress on a visual board, and let agents collaborate through a structured workflow. Supports Claude Code, Codex, Gemini CLI, and OpenCode out of the box.
11
11
 
12
12
  ---
13
13
 
14
14
  ## Features
15
15
 
16
+ ### Session Reader
17
+ Full transcript viewer for active agent sessions, built into the Chat page. See every tool call, thinking block, and response with real-time token usage, cost tracking, and compaction events. Supports Claude Code and Codex transcripts with AI turn grouping, collapsible cards, IQR-based token hotspot detection, and keyboard navigation.
18
+
19
+ ### Context Tracking
20
+ Visual progress bars show each agent's context window usage in real time. Hover for exact token counts (e.g. "49% used — 98k of 200k"). An inline session summary bar in each terminal shows the active model, running cost, context percentage, and compaction count at a glance.
21
+
22
+ ### Provider Model Override
23
+ Change any agent's provider and model on the fly from the context menu — no template editing required. Model overrides are per-agent and persist across restarts, layering on top of template defaults.
24
+
16
25
  ### Worktrees
17
26
  Spin up isolated agent environments on dedicated git branches. Each worktree gets its own agent team, terminals, and chat — run multiple features in parallel and merge when ready. Worktrees run as Docker containers or local processes with full branch isolation.
18
27
 
@@ -32,7 +41,7 @@ Real terminal streaming via tmux and WebSocket. Each agent gets its own session
32
41
  Live pre-commit diff viewer with agent integration, inline comments, `@mentions`, comment threading, and VS Code-style file navigation.
33
42
 
34
43
  ### Multi-Provider
35
- Works with Claude Code, OpenAI Codex, Google Gemini CLI, and GLM models. Switch providers per agent or switch the whole team preset with a single click.
44
+ Works with Claude Code, OpenAI Codex, Google Gemini CLI, GLM models, and OpenCode. Switch providers per agent or switch the whole team preset with a single click.
36
45
 
37
46
  ### MCP Integration
38
47
  Full Model Context Protocol support. Agents get access to epics, chat, skills, reviews, and more through MCP tools — auto-configured before each session.
@@ -53,6 +62,7 @@ All data stored in a local SQLite database. No cloud account required, no data l
53
62
  - [`claude`](https://claude.ai/claude-code) CLI
54
63
  - [`codex`](https://github.com/openai/codex) CLI
55
64
  - [`gemini`](https://github.com/google-gemini/gemini-cli) CLI
65
+ - [`opencode`](https://github.com/opencode-ai/opencode) CLI
56
66
 
57
67
  ---
58
68
 
@@ -62,10 +72,6 @@ All data stored in a local SQLite database. No cloud account required, no data l
62
72
  npm install -g devchain-cli
63
73
  ```
64
74
 
65
- ```bash
66
- pnpm add -g devchain-cli
67
- ```
68
-
69
75
  ---
70
76
 
71
77
  ## Quick Start
package/dist/cli.js CHANGED
@@ -294,9 +294,11 @@ function detectInstalledProviders() {
294
294
  const codexPath = isBinaryInstalled('codex');
295
295
  const claudePath = isBinaryInstalled('claude');
296
296
  const geminiPath = isBinaryInstalled('gemini');
297
+ const opencodePath = isBinaryInstalled('opencode');
297
298
  if (codexPath) detected.set('codex', codexPath);
298
299
  if (claudePath) detected.set('claude', claudePath);
299
300
  if (geminiPath) detected.set('gemini', geminiPath);
301
+ if (opencodePath) detected.set('opencode', opencodePath);
300
302
  return detected; // Map<name, absolutePath>
301
303
  }
302
304
 
@@ -409,8 +411,10 @@ function resolveRepoRootForDockerBuild(execSyncFn = execSync) {
409
411
  }
410
412
  }
411
413
 
412
- function shouldSkipHostPreflights(enableOrchestration) {
413
- return Boolean(enableOrchestration);
414
+ function shouldSkipHostPreflights() {
415
+ // Parent process always runs host preflights (tmux, providers).
416
+ // Worktree children bypass runHostPreflightChecks() entirely via worktreeRuntimeMode guard.
417
+ return false;
414
418
  }
415
419
 
416
420
  function resolveWorktreeImageFromPackageVersion() {
@@ -884,24 +888,21 @@ function askYesNo(question, defaultYes = false) {
884
888
  }
885
889
 
886
890
  async function ensureClaudeBypassPermissions(cli) {
887
- const claudeConfigPath = join(homedir(), '.claude.json');
891
+ const settingsPath = join(homedir(), '.claude', 'settings.json');
888
892
 
889
- // Skip if file doesn't exist
890
- if (!existsSync(claudeConfigPath)) {
891
- return;
892
- }
893
-
894
- // Try to read and parse config
895
- let config;
893
+ // Read existing settings if present
894
+ let settings = {};
896
895
  try {
897
- config = JSON.parse(readFileSync(claudeConfigPath, 'utf-8'));
896
+ if (existsSync(settingsPath)) {
897
+ settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
898
+ }
898
899
  } catch {
899
- // Invalid JSON - skip silently
900
- return;
900
+ // Invalid JSON start fresh
901
+ settings = {};
901
902
  }
902
903
 
903
904
  // Skip silently if already enabled
904
- if (config.bypassPermissionsModeAccepted === true) {
905
+ if (settings.skipDangerousModePermissionPrompt === true) {
905
906
  return;
906
907
  }
907
908
 
@@ -914,15 +915,19 @@ async function ensureClaudeBypassPermissions(cli) {
914
915
  cli.blank();
915
916
 
916
917
  if (confirmed) {
917
- config.bypassPermissionsModeAccepted = true;
918
+ settings.skipDangerousModePermissionPrompt = true;
918
919
  try {
919
- writeFileSync(claudeConfigPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
920
- cli.success('Bypass permissions mode enabled in ~/.claude.json');
920
+ const settingsDir = join(homedir(), '.claude');
921
+ if (!existsSync(settingsDir)) {
922
+ mkdirSync(settingsDir, { recursive: true });
923
+ }
924
+ writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
925
+ cli.success('Bypass permissions mode enabled in ~/.claude/settings.json');
921
926
  } catch (error) {
922
- cli.warn('Failed to update ~/.claude.json - you may need to enable manually');
927
+ cli.warn('Failed to update ~/.claude/settings.json - you may need to enable manually');
923
928
  }
924
929
  } else {
925
- cli.info('Skipped - you can enable this later in ~/.claude.json');
930
+ cli.info('Skipped - you can enable this later in ~/.claude/settings.json');
926
931
  }
927
932
  }
928
933
 
@@ -1174,16 +1179,17 @@ async function runHostPreflightChecks(
1174
1179
  if (providersDetected.size === 0) {
1175
1180
  const guide = [
1176
1181
  'No provider binaries detected on PATH. Install at least one provider and retry.',
1177
- 'Checked: "which codex", "which claude", and "which gemini"',
1182
+ 'Checked: "which codex", "which claude", "which gemini", and "which opencode"',
1178
1183
  'Examples:',
1179
- ' - Install Codex: npm i -g @openai/codex (example) or follow provider docs',
1180
- ' - Install Claude: npm i -g @anthropic-ai/claude-code (example) or follow provider docs',
1181
- ' - Install Gemini: npm i -g @google/gemini-cli (example) or follow provider docs',
1184
+ ' - Install Codex: npm i -g @openai/codex (example) or follow provider docs',
1185
+ ' - Install Claude: npm i -g @anthropic-ai/claude-code (example) or follow provider docs',
1186
+ ' - Install Gemini: npm i -g @google/gemini-cli (example) or follow provider docs',
1187
+ ' - Install OpenCode: go install github.com/opencode-ai/opencode@latest or follow provider docs',
1182
1188
  'Advanced: bypass with DEVCHAIN_SKIP_PROVIDER_CHECK=1',
1183
1189
  ].join('\n');
1184
1190
  if (opts.foreground) {
1185
1191
  log('error', 'No providers found; aborting startup', {
1186
- checked: ['which codex', 'which claude', 'which gemini'],
1192
+ checked: ['which codex', 'which claude', 'which gemini', 'which opencode'],
1187
1193
  });
1188
1194
  } else {
1189
1195
  cli.stepDone('✗ none found');
@@ -1545,7 +1551,6 @@ async function main(argv) {
1545
1551
  // Ensure provider rows exist
1546
1552
  if (
1547
1553
  !worktreeRuntimeMode
1548
- && !enableOrchestration
1549
1554
  && opts.__providersDetected
1550
1555
  && opts.__providersDetected.size > 0
1551
1556
  ) {
@@ -1558,7 +1563,7 @@ async function main(argv) {
1558
1563
  : process.cwd();
1559
1564
 
1560
1565
  // Validate MCP for all providers
1561
- if (!worktreeRuntimeMode && !enableOrchestration) {
1566
+ if (!worktreeRuntimeMode) {
1562
1567
  await validateMcpForProviders(baseUrl, cli, opts, log, startupPath);
1563
1568
  }
1564
1569
 
@@ -1665,7 +1670,6 @@ async function main(argv) {
1665
1670
  // Ensure provider rows exist (idempotent) before opening UI
1666
1671
  if (
1667
1672
  !worktreeRuntimeMode
1668
- && !enableOrchestration
1669
1673
  && opts.__providersDetected
1670
1674
  && opts.__providersDetected.size > 0
1671
1675
  ) {
@@ -1678,7 +1682,7 @@ async function main(argv) {
1678
1682
  : process.cwd();
1679
1683
 
1680
1684
  // Validate MCP for all providers (with project context)
1681
- if (!worktreeRuntimeMode && !enableOrchestration) {
1685
+ if (!worktreeRuntimeMode) {
1682
1686
  await validateMcpForProviders(baseUrl, cli, opts, log, startupPath);
1683
1687
  }
1684
1688
 
@@ -0,0 +1,6 @@
1
+ -- Migration: Add transcript_path and claude_session_id to sessions table
2
+ -- These nullable TEXT columns support session-reader transcript matching
3
+ -- and Claude subagent resolution. No backfill needed for existing rows.
4
+
5
+ ALTER TABLE sessions ADD COLUMN transcript_path TEXT;--> statement-breakpoint
6
+ ALTER TABLE sessions ADD COLUMN claude_session_id TEXT;
@@ -0,0 +1,24 @@
1
+ -- Migration: Add provider_models table and agents.model_override column
2
+ -- provider_models stores provider-specific model variants and ordering metadata.
3
+ -- agents.model_override stores the selected model override per agent.
4
+
5
+ ALTER TABLE agents ADD COLUMN model_override TEXT;
6
+ --> statement-breakpoint
7
+
8
+ CREATE TABLE provider_models (
9
+ id TEXT PRIMARY KEY NOT NULL,
10
+ provider_id TEXT NOT NULL,
11
+ name TEXT NOT NULL,
12
+ position INTEGER NOT NULL DEFAULT 0,
13
+ created_at TEXT NOT NULL,
14
+ updated_at TEXT NOT NULL,
15
+ FOREIGN KEY (provider_id) REFERENCES providers(id) ON DELETE cascade
16
+ );
17
+ --> statement-breakpoint
18
+
19
+ CREATE UNIQUE INDEX provider_models_provider_name_ci_idx
20
+ ON provider_models(provider_id, lower(name));
21
+ --> statement-breakpoint
22
+
23
+ CREATE INDEX provider_models_provider_position_idx
24
+ ON provider_models(provider_id, position);
@@ -337,6 +337,20 @@
337
337
  "when": 1771500000000,
338
338
  "tag": "0047_fix_claude_auto_compact_default",
339
339
  "breakpoints": true
340
+ },
341
+ {
342
+ "idx": 48,
343
+ "version": "6",
344
+ "when": 1771600000000,
345
+ "tag": "0048_sessions_transcript_fields",
346
+ "breakpoints": true
347
+ },
348
+ {
349
+ "idx": 49,
350
+ "version": "6",
351
+ "when": 1771700000000,
352
+ "tag": "0049_provider_models_and_agent_model_override",
353
+ "breakpoints": true
340
354
  }
341
355
  ]
342
356
  }
@@ -386,24 +386,38 @@ export declare const ExportSchema: z.ZodObject<{
386
386
  name: string;
387
387
  autoCompactThreshold?: number | null | undefined;
388
388
  }>, "many">>;
389
+ providerModels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
390
+ providerName: z.ZodString;
391
+ models: z.ZodArray<z.ZodString, "many">;
392
+ }, "strip", z.ZodTypeAny, {
393
+ providerName: string;
394
+ models: string[];
395
+ }, {
396
+ providerName: string;
397
+ models: string[];
398
+ }>, "many">>>;
389
399
  presets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
390
400
  name: z.ZodString;
391
401
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
392
402
  agentConfigs: z.ZodArray<z.ZodObject<{
393
403
  agentName: z.ZodString;
394
404
  providerConfigName: z.ZodString;
405
+ modelOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
395
406
  }, "strip", z.ZodTypeAny, {
396
407
  providerConfigName: string;
397
408
  agentName: string;
409
+ modelOverride?: string | null | undefined;
398
410
  }, {
399
411
  providerConfigName: string;
400
412
  agentName: string;
413
+ modelOverride?: string | null | undefined;
401
414
  }>, "many">;
402
415
  }, "strip", z.ZodTypeAny, {
403
416
  name: string;
404
417
  agentConfigs: {
405
418
  providerConfigName: string;
406
419
  agentName: string;
420
+ modelOverride?: string | null | undefined;
407
421
  }[];
408
422
  description?: string | null | undefined;
409
423
  }, {
@@ -411,6 +425,7 @@ export declare const ExportSchema: z.ZodObject<{
411
425
  agentConfigs: {
412
426
  providerConfigName: string;
413
427
  agentName: string;
428
+ modelOverride?: string | null | undefined;
414
429
  }[];
415
430
  description?: string | null | undefined;
416
431
  }>, "many">>>;
@@ -539,11 +554,16 @@ export declare const ExportSchema: z.ZodObject<{
539
554
  } | null | undefined;
540
555
  groupName?: string | null | undefined;
541
556
  }[];
557
+ providerModels: {
558
+ providerName: string;
559
+ models: string[];
560
+ }[];
542
561
  presets: {
543
562
  name: string;
544
563
  agentConfigs: {
545
564
  providerConfigName: string;
546
565
  agentName: string;
566
+ modelOverride?: string | null | undefined;
547
567
  }[];
548
568
  description?: string | null | undefined;
549
569
  }[];
@@ -688,11 +708,16 @@ export declare const ExportSchema: z.ZodObject<{
688
708
  name: string;
689
709
  autoCompactThreshold?: number | null | undefined;
690
710
  }[] | undefined;
711
+ providerModels?: {
712
+ providerName: string;
713
+ models: string[];
714
+ }[] | undefined;
691
715
  presets?: {
692
716
  name: string;
693
717
  agentConfigs: {
694
718
  providerConfigName: string;
695
719
  agentName: string;
720
+ modelOverride?: string | null | undefined;
696
721
  }[];
697
722
  description?: string | null | undefined;
698
723
  }[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"export-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAehB,CAAC;AAGZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsLd,CAAC;AAGZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAGtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"export-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4BxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAehB,CAAC;AAGZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgMd,CAAC;AAGZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAGtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { isValidSemVer } from '../utils/semver.js';
3
- const semverString = z
4
- .string()
5
- .refine((v) => isValidSemVer(v), {
3
+ const semverString = z.string().refine((v) => isValidSemVer(v), {
6
4
  message: 'Must be a valid semantic version (e.g., "1.0.0", "0.4.0-beta.1")',
7
5
  });
8
6
  export const ManifestSchema = z
@@ -154,6 +152,13 @@ export const ExportSchema = z
154
152
  autoCompactThreshold: z.number().int().min(1).max(100).nullable().optional(),
155
153
  }))
156
154
  .optional(),
155
+ providerModels: z
156
+ .array(z.object({
157
+ providerName: z.string().min(1),
158
+ models: z.array(z.string()),
159
+ }))
160
+ .optional()
161
+ .default([]),
157
162
  presets: z
158
163
  .array(z.object({
159
164
  name: z.string().min(1),
@@ -161,6 +166,7 @@ export const ExportSchema = z
161
166
  agentConfigs: z.array(z.object({
162
167
  agentName: z.string().min(1),
163
168
  providerConfigName: z.string().min(1),
169
+ modelOverride: z.string().nullable().optional(),
164
170
  })),
165
171
  }))
166
172
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"export-schema.js","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-schema.js","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"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"}