devchain-cli 0.10.4 → 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 (363) hide show
  1. package/README.md +13 -7
  2. package/dist/cli.js +55 -63
  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/common/config/env.config.js +1 -10
  16. package/dist/server/common/config/env.config.js.map +1 -1
  17. package/dist/server/modules/agents/controllers/agents.controller.d.ts +1 -0
  18. package/dist/server/modules/agents/controllers/agents.controller.js +3 -0
  19. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  20. package/dist/server/modules/chat/dtos/chat.dto.d.ts +4 -4
  21. package/dist/server/modules/core/services/preflight.service.js +7 -0
  22. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  23. package/dist/server/modules/core/services/provider-mcp-ensure.service.js +8 -0
  24. package/dist/server/modules/core/services/provider-mcp-ensure.service.js.map +1 -1
  25. package/dist/server/modules/documents/controllers/documents.controller.d.ts +2 -2
  26. package/dist/server/modules/documents/controllers/documents.controller.js.map +1 -1
  27. package/dist/server/modules/epics/controllers/epic-comments.controller.d.ts +2 -2
  28. package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -1
  29. package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +4 -4
  30. package/dist/server/modules/events/catalog/index.d.ts +115 -4
  31. package/dist/server/modules/events/catalog/index.js +6 -0
  32. package/dist/server/modules/events/catalog/index.js.map +1 -1
  33. package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +24 -0
  34. package/dist/server/modules/events/catalog/session.transcript.discovered.js +15 -0
  35. package/dist/server/modules/events/catalog/session.transcript.discovered.js.map +1 -0
  36. package/dist/server/modules/events/catalog/session.transcript.ended.d.ts +51 -0
  37. package/dist/server/modules/events/catalog/session.transcript.ended.js +20 -0
  38. package/dist/server/modules/events/catalog/session.transcript.ended.js.map +1 -0
  39. package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +51 -0
  40. package/dist/server/modules/events/catalog/session.transcript.updated.js +20 -0
  41. package/dist/server/modules/events/catalog/session.transcript.updated.js.map +1 -0
  42. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.d.ts +2 -2
  43. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +1 -1
  44. package/dist/server/modules/events/subscribers/index.js +2 -0
  45. package/dist/server/modules/events/subscribers/index.js.map +1 -1
  46. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.d.ts +2 -2
  47. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +1 -1
  48. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.d.ts +12 -0
  49. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js +88 -0
  50. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js.map +1 -0
  51. package/dist/server/modules/guests/services/guest-health.service.d.ts +2 -2
  52. package/dist/server/modules/guests/services/guest-health.service.js.map +1 -1
  53. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +4 -4
  54. package/dist/server/modules/hooks/services/hooks.service.d.ts +2 -2
  55. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  56. package/dist/server/modules/mcp/dtos/mcp.dto.js +8 -3
  57. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  58. package/dist/server/modules/mcp/services/handlers/activity-tools.d.ts +4 -0
  59. package/dist/server/modules/mcp/services/handlers/activity-tools.js +193 -0
  60. package/dist/server/modules/mcp/services/handlers/activity-tools.js.map +1 -0
  61. package/dist/server/modules/mcp/services/handlers/chat-tools.d.ts +6 -0
  62. package/dist/server/modules/mcp/services/handlers/chat-tools.js +605 -0
  63. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -0
  64. package/dist/server/modules/mcp/services/handlers/document-tools.d.ts +6 -0
  65. package/dist/server/modules/mcp/services/handlers/document-tools.js +141 -0
  66. package/dist/server/modules/mcp/services/handlers/document-tools.js.map +1 -0
  67. package/dist/server/modules/mcp/services/handlers/epic-tools.d.ts +11 -0
  68. package/dist/server/modules/mcp/services/handlers/epic-tools.js +913 -0
  69. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -0
  70. package/dist/server/modules/mcp/services/handlers/prompt-tools.d.ts +4 -0
  71. package/dist/server/modules/mcp/services/handlers/prompt-tools.js +109 -0
  72. package/dist/server/modules/mcp/services/handlers/prompt-tools.js.map +1 -0
  73. package/dist/server/modules/mcp/services/handlers/record-tools.d.ts +8 -0
  74. package/dist/server/modules/mcp/services/handlers/record-tools.js +114 -0
  75. package/dist/server/modules/mcp/services/handlers/record-tools.js.map +1 -0
  76. package/dist/server/modules/mcp/services/handlers/review-tools.d.ts +8 -0
  77. package/dist/server/modules/mcp/services/handlers/review-tools.js +672 -0
  78. package/dist/server/modules/mcp/services/handlers/review-tools.js.map +1 -0
  79. package/dist/server/modules/mcp/services/handlers/session-tools.d.ts +4 -0
  80. package/dist/server/modules/mcp/services/handlers/session-tools.js +114 -0
  81. package/dist/server/modules/mcp/services/handlers/session-tools.js.map +1 -0
  82. package/dist/server/modules/mcp/services/handlers/skill-tools.d.ts +4 -0
  83. package/dist/server/modules/mcp/services/handlers/skill-tools.js +124 -0
  84. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -0
  85. package/dist/server/modules/mcp/services/handlers/types.d.ts +33 -0
  86. package/dist/server/modules/mcp/services/handlers/types.js +3 -0
  87. package/dist/server/modules/mcp/services/handlers/types.js.map +1 -0
  88. package/dist/server/modules/mcp/services/mappers/dto-mappers.d.ts +14 -0
  89. package/dist/server/modules/mcp/services/mappers/dto-mappers.js +138 -0
  90. package/dist/server/modules/mcp/services/mappers/dto-mappers.js.map +1 -0
  91. package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +8 -0
  92. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +258 -51
  93. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +1 -1
  94. package/dist/server/modules/mcp/services/mcp.service.d.ts +6 -66
  95. package/dist/server/modules/mcp/services/mcp.service.js +97 -3329
  96. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  97. package/dist/server/modules/mcp/services/utils/document-link-resolver.d.ts +10 -0
  98. package/dist/server/modules/mcp/services/utils/document-link-resolver.js +124 -0
  99. package/dist/server/modules/mcp/services/utils/document-link-resolver.js.map +1 -0
  100. package/dist/server/modules/mcp/services/utils/resolve-epic-id.d.ts +3 -0
  101. package/dist/server/modules/mcp/services/utils/resolve-epic-id.js +40 -0
  102. package/dist/server/modules/mcp/services/utils/resolve-epic-id.js.map +1 -0
  103. package/dist/server/modules/mcp/services/utils/resource-resolver.d.ts +10 -0
  104. package/dist/server/modules/mcp/services/utils/resource-resolver.js +124 -0
  105. package/dist/server/modules/mcp/services/utils/resource-resolver.js.map +1 -0
  106. package/dist/server/modules/mcp/services/utils/session-context-resolver.d.ts +14 -0
  107. package/dist/server/modules/mcp/services/utils/session-context-resolver.js +169 -0
  108. package/dist/server/modules/mcp/services/utils/session-context-resolver.js.map +1 -0
  109. package/dist/server/modules/mcp/tool-definitions.js +12 -3
  110. package/dist/server/modules/mcp/tool-definitions.js.map +1 -1
  111. package/dist/server/modules/orchestrator/docker/services/docker.service.js +16 -2
  112. package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +1 -1
  113. package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js +9 -0
  114. package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js.map +1 -1
  115. package/dist/server/modules/profiles/controllers/provider-configs.controller.d.ts +2 -2
  116. package/dist/server/modules/profiles/controllers/provider-configs.controller.js.map +1 -1
  117. package/dist/server/modules/profiles/dto.d.ts +2 -2
  118. package/dist/server/modules/projects/controllers/projects.controller.d.ts +38 -33
  119. package/dist/server/modules/projects/controllers/projects.controller.js +12 -7
  120. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  121. package/dist/server/modules/projects/dtos/export.dto.d.ts +7 -0
  122. package/dist/server/modules/projects/dtos/export.dto.js +1 -0
  123. package/dist/server/modules/projects/dtos/export.dto.js.map +1 -1
  124. package/dist/server/modules/projects/helpers/profile-mapping.helpers.d.ts +102 -0
  125. package/dist/server/modules/projects/helpers/profile-mapping.helpers.js +369 -0
  126. package/dist/server/modules/projects/helpers/profile-mapping.helpers.js.map +1 -0
  127. package/dist/server/modules/projects/helpers/project-export.d.ts +141 -0
  128. package/dist/server/modules/projects/helpers/project-export.js +314 -0
  129. package/dist/server/modules/projects/helpers/project-export.js.map +1 -0
  130. package/dist/server/modules/projects/helpers/project-import.d.ts +132 -0
  131. package/dist/server/modules/projects/helpers/project-import.js +600 -0
  132. package/dist/server/modules/projects/helpers/project-import.js.map +1 -0
  133. package/dist/server/modules/projects/helpers/project-presets.helpers.d.ts +26 -0
  134. package/dist/server/modules/projects/helpers/project-presets.helpers.js +110 -0
  135. package/dist/server/modules/projects/helpers/project-presets.helpers.js.map +1 -0
  136. package/dist/server/modules/projects/helpers/project-runtime.helpers.d.ts +69 -0
  137. package/dist/server/modules/projects/helpers/project-runtime.helpers.js +201 -0
  138. package/dist/server/modules/projects/helpers/project-runtime.helpers.js.map +1 -0
  139. package/dist/server/modules/projects/helpers/project-template-manifest.helpers.d.ts +16 -0
  140. package/dist/server/modules/projects/helpers/project-template-manifest.helpers.js +107 -0
  141. package/dist/server/modules/projects/helpers/project-template-manifest.helpers.js.map +1 -0
  142. package/dist/server/modules/projects/helpers/template-file.helpers.d.ts +9 -0
  143. package/dist/server/modules/projects/helpers/template-file.helpers.js +92 -0
  144. package/dist/server/modules/projects/helpers/template-file.helpers.js.map +1 -0
  145. package/dist/server/modules/projects/helpers/template-loader.d.ts +85 -0
  146. package/dist/server/modules/projects/helpers/template-loader.js +406 -0
  147. package/dist/server/modules/projects/helpers/template-loader.js.map +1 -0
  148. package/dist/server/modules/projects/services/main-project-bootstrap.service.js +4 -0
  149. package/dist/server/modules/projects/services/main-project-bootstrap.service.js.map +1 -1
  150. package/dist/server/modules/projects/services/projects.service.d.ts +29 -54
  151. package/dist/server/modules/projects/services/projects.service.js +46 -1704
  152. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  153. package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +2 -2
  154. package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -1
  155. package/dist/server/modules/providers/adapters/index.d.ts +1 -0
  156. package/dist/server/modules/providers/adapters/index.js +1 -0
  157. package/dist/server/modules/providers/adapters/index.js.map +1 -1
  158. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +16 -0
  159. package/dist/server/modules/providers/adapters/opencode.adapter.js +64 -0
  160. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -0
  161. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -1
  162. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +5 -2
  163. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  164. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +1 -0
  165. package/dist/server/modules/providers/adapters/provider-adapters.module.js +2 -1
  166. package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
  167. package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +22 -0
  168. package/dist/server/modules/providers/controllers/provider-models.controller.js +173 -0
  169. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -0
  170. package/dist/server/modules/providers/providers.module.js +2 -1
  171. package/dist/server/modules/providers/providers.module.js.map +1 -1
  172. package/dist/server/modules/records/controllers/records.controller.d.ts +2 -2
  173. package/dist/server/modules/records/controllers/records.controller.js.map +1 -1
  174. package/dist/server/modules/registry/services/template-upgrade.service.js +1 -9
  175. package/dist/server/modules/registry/services/template-upgrade.service.js.map +1 -1
  176. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +21 -0
  177. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +207 -0
  178. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -0
  179. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +22 -0
  180. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +214 -0
  181. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -0
  182. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.d.ts +23 -0
  183. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js +224 -0
  184. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js.map +1 -0
  185. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.d.ts +9 -0
  186. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js +40 -0
  187. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js.map +1 -0
  188. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +37 -0
  189. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js +3 -0
  190. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -0
  191. package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.d.ts +11 -0
  192. package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.js +77 -0
  193. package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.js.map +1 -0
  194. package/dist/server/modules/session-reader/adapters/utils/file-search.util.d.ts +1 -0
  195. package/dist/server/modules/session-reader/adapters/utils/file-search.util.js +22 -0
  196. package/dist/server/modules/session-reader/adapters/utils/file-search.util.js.map +1 -0
  197. package/dist/server/modules/session-reader/builders/chunk-builder.d.ts +5 -0
  198. package/dist/server/modules/session-reader/builders/chunk-builder.js +131 -0
  199. package/dist/server/modules/session-reader/builders/chunk-builder.js.map +1 -0
  200. package/dist/server/modules/session-reader/builders/semantic-step-extractor.d.ts +3 -0
  201. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +93 -0
  202. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -0
  203. package/dist/server/modules/session-reader/builders/turn-builder.d.ts +3 -0
  204. package/dist/server/modules/session-reader/builders/turn-builder.js +102 -0
  205. package/dist/server/modules/session-reader/builders/turn-builder.js.map +1 -0
  206. package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +430 -0
  207. package/dist/server/modules/session-reader/controllers/session-reader.controller.js +252 -0
  208. package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -0
  209. package/dist/server/modules/session-reader/data/pricing.json +5001 -0
  210. package/dist/server/modules/session-reader/dtos/index.d.ts +2 -0
  211. package/dist/server/modules/session-reader/dtos/index.js +10 -0
  212. package/dist/server/modules/session-reader/dtos/index.js.map +1 -0
  213. package/dist/server/modules/session-reader/dtos/unified-chunk.types.d.ts +92 -0
  214. package/dist/server/modules/session-reader/dtos/unified-chunk.types.js +19 -0
  215. package/dist/server/modules/session-reader/dtos/unified-chunk.types.js.map +1 -0
  216. package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +118 -0
  217. package/dist/server/modules/session-reader/dtos/unified-session.types.js +23 -0
  218. package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -0
  219. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +15 -0
  220. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +363 -0
  221. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -0
  222. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.d.ts +16 -0
  223. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +622 -0
  224. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -0
  225. package/dist/server/modules/session-reader/parsers/gemini-json.parser.d.ts +15 -0
  226. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js +380 -0
  227. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js.map +1 -0
  228. package/dist/server/modules/session-reader/services/pricing.interface.d.ts +9 -0
  229. package/dist/server/modules/session-reader/services/pricing.interface.js +24 -0
  230. package/dist/server/modules/session-reader/services/pricing.interface.js.map +1 -0
  231. package/dist/server/modules/session-reader/services/pricing.service.d.ts +21 -0
  232. package/dist/server/modules/session-reader/services/pricing.service.js +106 -0
  233. package/dist/server/modules/session-reader/services/pricing.service.js.map +1 -0
  234. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +24 -0
  235. package/dist/server/modules/session-reader/services/session-cache.service.js +203 -0
  236. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -0
  237. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +56 -0
  238. package/dist/server/modules/session-reader/services/session-reader.service.js +305 -0
  239. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -0
  240. package/dist/server/modules/session-reader/services/subagent-locator.service.d.ts +10 -0
  241. package/dist/server/modules/session-reader/services/subagent-locator.service.js +102 -0
  242. package/dist/server/modules/session-reader/services/subagent-locator.service.js.map +1 -0
  243. package/dist/server/modules/session-reader/services/subagent-resolver.service.d.ts +22 -0
  244. package/dist/server/modules/session-reader/services/subagent-resolver.service.js +211 -0
  245. package/dist/server/modules/session-reader/services/subagent-resolver.service.js.map +1 -0
  246. package/dist/server/modules/session-reader/services/transcript-path-validator.service.d.ts +7 -0
  247. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +150 -0
  248. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -0
  249. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +30 -0
  250. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +336 -0
  251. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -0
  252. package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +28 -0
  253. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +325 -0
  254. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -0
  255. package/dist/server/modules/session-reader/session-reader.module.d.ts +13 -0
  256. package/dist/server/modules/session-reader/session-reader.module.js +82 -0
  257. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -0
  258. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +2 -0
  259. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
  260. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +2 -2
  261. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  262. package/dist/server/modules/sessions/services/sessions.service.js +19 -4
  263. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  264. package/dist/server/modules/sessions/utils/profile-options.d.ts +1 -0
  265. package/dist/server/modules/sessions/utils/profile-options.js +18 -0
  266. package/dist/server/modules/sessions/utils/profile-options.js.map +1 -1
  267. package/dist/server/modules/settings/controllers/settings.controller.d.ts +2 -2
  268. package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
  269. package/dist/server/modules/settings/dtos/settings.dto.d.ts +14 -2
  270. package/dist/server/modules/settings/dtos/settings.dto.js +1 -0
  271. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  272. package/dist/server/modules/skills/services/skill-source-registry.service.d.ts +2 -2
  273. package/dist/server/modules/skills/services/skill-source-registry.service.js.map +1 -1
  274. package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +2 -2
  275. package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -1
  276. package/dist/server/modules/storage/db/schema.d.ts +176 -0
  277. package/dist/server/modules/storage/db/schema.js +17 -1
  278. package/dist/server/modules/storage/db/schema.js.map +1 -1
  279. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +53 -9
  280. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  281. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.d.ts +39 -0
  282. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js +286 -0
  283. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js.map +1 -0
  284. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +21 -0
  285. package/dist/server/modules/storage/local/delegates/agent.delegate.js +210 -0
  286. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -0
  287. package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +12 -0
  288. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +19 -0
  289. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -0
  290. package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +20 -0
  291. package/dist/server/modules/storage/local/delegates/document.delegate.js +267 -0
  292. package/dist/server/modules/storage/local/delegates/document.delegate.js.map +1 -0
  293. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +38 -0
  294. package/dist/server/modules/storage/local/delegates/epic.delegate.js +686 -0
  295. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -0
  296. package/dist/server/modules/storage/local/delegates/guest.delegate.d.ts +14 -0
  297. package/dist/server/modules/storage/local/delegates/guest.delegate.js +172 -0
  298. package/dist/server/modules/storage/local/delegates/guest.delegate.js.map +1 -0
  299. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.d.ts +17 -0
  300. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js +249 -0
  301. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js.map +1 -0
  302. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +16 -0
  303. package/dist/server/modules/storage/local/delegates/project.delegate.js +630 -0
  304. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -0
  305. package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +17 -0
  306. package/dist/server/modules/storage/local/delegates/prompt.delegate.js +318 -0
  307. package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -0
  308. package/dist/server/modules/storage/local/delegates/provider-model.delegate.d.ts +15 -0
  309. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js +210 -0
  310. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js.map +1 -0
  311. package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +18 -0
  312. package/dist/server/modules/storage/local/delegates/provider.delegate.js +151 -0
  313. package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -0
  314. package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +16 -0
  315. package/dist/server/modules/storage/local/delegates/record.delegate.js +190 -0
  316. package/dist/server/modules/storage/local/delegates/record.delegate.js.map +1 -0
  317. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +25 -0
  318. package/dist/server/modules/storage/local/delegates/review.delegate.js +426 -0
  319. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -0
  320. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +28 -0
  321. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +347 -0
  322. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -0
  323. package/dist/server/modules/storage/local/delegates/status.delegate.d.ts +12 -0
  324. package/dist/server/modules/storage/local/delegates/status.delegate.js +130 -0
  325. package/dist/server/modules/storage/local/delegates/status.delegate.js.map +1 -0
  326. package/dist/server/modules/storage/local/delegates/subscriber.delegate.d.ts +11 -0
  327. package/dist/server/modules/storage/local/delegates/subscriber.delegate.js +144 -0
  328. package/dist/server/modules/storage/local/delegates/subscriber.delegate.js.map +1 -0
  329. package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +11 -0
  330. package/dist/server/modules/storage/local/delegates/tag.delegate.js +102 -0
  331. package/dist/server/modules/storage/local/delegates/tag.delegate.js.map +1 -0
  332. package/dist/server/modules/storage/local/delegates/watcher.delegate.d.ts +12 -0
  333. package/dist/server/modules/storage/local/delegates/watcher.delegate.js +183 -0
  334. package/dist/server/modules/storage/local/delegates/watcher.delegate.js.map +1 -0
  335. package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +32 -0
  336. package/dist/server/modules/storage/local/helpers/storage-helpers.js +276 -0
  337. package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -0
  338. package/dist/server/modules/storage/local/local-storage.service.d.ts +30 -22
  339. package/dist/server/modules/storage/local/local-storage.service.js +227 -3627
  340. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  341. package/dist/server/modules/storage/models/domain.models.d.ts +14 -1
  342. package/dist/server/modules/subscribers/services/subscribers.service.d.ts +2 -2
  343. package/dist/server/modules/subscribers/services/subscribers.service.js.map +1 -1
  344. package/dist/server/modules/ui/ui.controller.d.ts +2 -2
  345. package/dist/server/modules/ui/ui.controller.js +9 -3
  346. package/dist/server/modules/ui/ui.controller.js.map +1 -1
  347. package/dist/server/modules/watchers/services/watchers.service.d.ts +2 -2
  348. package/dist/server/templates/3-agents-dev.json +209 -191
  349. package/dist/server/templates/5-agents-dev.json +243 -198
  350. package/dist/server/test-setup.js +14 -0
  351. package/dist/server/test-setup.js.map +1 -1
  352. package/dist/server/tsconfig.tsbuildinfo +1 -1
  353. package/dist/server/ui/assets/{ReviewDetailPage-CvHhaFJw.js → ReviewDetailPage-DJyH8bKk.js} +1 -1
  354. package/dist/server/ui/assets/{ReviewsPage-DCDiMjwZ.js → ReviewsPage-DHvmyjjG.js} +1 -1
  355. package/dist/server/ui/assets/index-cHqKW6LQ.css +32 -0
  356. package/dist/server/ui/assets/index-f0KXZKs1.js +1011 -0
  357. package/dist/server/ui/assets/{useReviewSubscription-D_vmMkNu.js → useReviewSubscription-CUbCp0An.js} +32 -35
  358. package/dist/server/ui/index.html +2 -2
  359. package/dist/templates/3-agents-dev.json +209 -191
  360. package/dist/templates/5-agents-dev.json +243 -198
  361. package/package.json +18 -1
  362. package/dist/server/ui/assets/index-CWqSXDUZ.js +0 -977
  363. package/dist/server/ui/assets/index-DvRuLfpZ.css +0 -32
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exportProjectWithHelper = exportProjectWithHelper;
4
+ const logger_1 = require("../../../common/logging/logger");
5
+ const profile_mapping_helpers_1 = require("./profile-mapping.helpers");
6
+ const logger = (0, logger_1.createLogger)('ProjectExport');
7
+ async function exportProjectWithHelper(projectId, opts, deps) {
8
+ logger.info({ projectId }, 'exportProject');
9
+ const { manifestOverrides, presets: presetsOverride } = opts ?? {};
10
+ const state = await loadExportState(projectId, deps);
11
+ const _sanitize = createSecretSanitizer();
12
+ const prompts = await loadExportPrompts(state.promptsRes, deps.storage);
13
+ const profileContext = await loadProfileExportContext(state.profilesRes, deps.storage);
14
+ const profiles = buildExportProfiles(state.profilesRes, profileContext);
15
+ const agents = buildExportAgents(state.agentsRes, profileContext.configIdToInfo);
16
+ const statuses = buildExportStatuses(state.statusesRes);
17
+ const projectSettings = buildProjectSettings(state, projectId);
18
+ const watchers = await buildExportWatchers(state, deps.storage);
19
+ const subscribers = buildExportSubscribers(state.subscribersRes);
20
+ const providerSettings = buildProviderSettings(profileContext.providersMap);
21
+ const providerModels = await buildProviderModels(profileContext.providersMap, deps.storage);
22
+ const manifest = buildManifest(state.project, deps.settings.getProjectTemplateMetadata(projectId), deps.slugify, manifestOverrides);
23
+ const exportPresets = (0, profile_mapping_helpers_1.resolveExportPresets)(presetsOverride, deps.settings.getProjectPresets(projectId));
24
+ return {
25
+ _manifest: manifest,
26
+ version: 1,
27
+ exportedAt: new Date().toISOString(),
28
+ prompts,
29
+ profiles,
30
+ agents,
31
+ statuses,
32
+ initialPrompt: state.initialPrompt
33
+ ? { promptId: state.initialPrompt.id, title: state.initialPrompt.title }
34
+ : null,
35
+ ...(Object.keys(projectSettings).length > 0 && { projectSettings }),
36
+ ...(providerSettings.length > 0 && { providerSettings }),
37
+ providerModels,
38
+ watchers,
39
+ subscribers,
40
+ ...(exportPresets !== undefined ? { presets: exportPresets } : {}),
41
+ };
42
+ }
43
+ async function loadExportState(projectId, deps) {
44
+ const [project, promptsRes, profilesRes, agentsRes, statusesRes, initialPrompt, settings, watchersRes, subscribersRes,] = await Promise.all([
45
+ deps.storage.getProject(projectId),
46
+ deps.storage.listPrompts({ projectId, limit: 1000, offset: 0 }),
47
+ deps.storage.listAgentProfiles({ projectId, limit: 1000, offset: 0 }),
48
+ deps.storage.listAgents(projectId, { limit: 1000, offset: 0 }),
49
+ deps.storage.listStatuses(projectId, { limit: 1000, offset: 0 }),
50
+ deps.storage.getInitialSessionPrompt(projectId),
51
+ Promise.resolve(deps.settings.getSettings()),
52
+ deps.storage.listWatchers(projectId),
53
+ deps.storage.listSubscribers(projectId),
54
+ ]);
55
+ return {
56
+ project,
57
+ promptsRes,
58
+ profilesRes,
59
+ agentsRes,
60
+ statusesRes,
61
+ initialPrompt,
62
+ settings,
63
+ watchersRes,
64
+ subscribersRes,
65
+ };
66
+ }
67
+ function createSecretSanitizer() {
68
+ const secretKeys = new Set([
69
+ 'apikey',
70
+ 'api_key',
71
+ 'api-key',
72
+ 'api_key_id',
73
+ 'api-secret',
74
+ 'api_secret',
75
+ 'token',
76
+ 'access_token',
77
+ 'access-token',
78
+ 'refresh_token',
79
+ 'refresh-token',
80
+ 'secret',
81
+ 'client_secret',
82
+ 'clientsecret',
83
+ 'password',
84
+ 'openaiapikey',
85
+ 'anthropicapikey',
86
+ 'azureapikey',
87
+ 'googleapikey',
88
+ 'geminiapikey',
89
+ ]);
90
+ const sanitize = (value) => {
91
+ if (Array.isArray(value)) {
92
+ return value.map((entry) => sanitize(entry));
93
+ }
94
+ if (value && typeof value === 'object') {
95
+ const out = {};
96
+ for (const [key, entry] of Object.entries(value)) {
97
+ out[key] = secretKeys.has(key.toLowerCase()) ? '***' : sanitize(entry);
98
+ }
99
+ return out;
100
+ }
101
+ return value;
102
+ };
103
+ return sanitize;
104
+ }
105
+ async function loadExportPrompts(promptsRes, storage) {
106
+ const fullPrompts = await Promise.all(promptsRes.items.map((prompt) => storage.getPrompt(prompt.id)));
107
+ return fullPrompts.map((prompt) => ({
108
+ id: prompt.id,
109
+ title: prompt.title,
110
+ content: prompt.content,
111
+ version: prompt.version,
112
+ tags: prompt.tags,
113
+ }));
114
+ }
115
+ async function loadProfileExportContext(profilesRes, storage) {
116
+ const configIdToInfo = new Map();
117
+ const allConfigsByProfile = new Map();
118
+ await Promise.all(profilesRes.items.map(async (profile) => {
119
+ const configs = await storage.listProfileProviderConfigsByProfile(profile.id);
120
+ allConfigsByProfile.set(profile.id, configs);
121
+ }));
122
+ const providerIds = new Set();
123
+ for (const configs of allConfigsByProfile.values()) {
124
+ for (const config of configs) {
125
+ providerIds.add(config.providerId);
126
+ }
127
+ }
128
+ const providers = await storage.listProvidersByIds([...providerIds]);
129
+ const providersMap = new Map(providers.map((provider) => [provider.id, provider]));
130
+ return { configIdToInfo, allConfigsByProfile, providersMap };
131
+ }
132
+ function buildExportProfiles(profilesRes, context) {
133
+ return profilesRes.items.map((profile) => {
134
+ const configs = context.allConfigsByProfile.get(profile.id) || [];
135
+ let primaryProvider = null;
136
+ const providerConfigs = configs.map((config) => {
137
+ const provider = context.providersMap.get(config.providerId);
138
+ if (!primaryProvider && provider) {
139
+ primaryProvider = { id: provider.id, name: provider.name };
140
+ }
141
+ context.configIdToInfo.set(config.id, { name: config.name, profileId: profile.id });
142
+ return {
143
+ name: config.name,
144
+ providerName: provider?.name || 'unknown',
145
+ options: config.options,
146
+ env: config.env,
147
+ position: config.position,
148
+ };
149
+ });
150
+ return {
151
+ id: profile.id,
152
+ name: profile.name,
153
+ provider: primaryProvider,
154
+ familySlug: profile.familySlug,
155
+ instructions: profile.instructions,
156
+ temperature: profile.temperature,
157
+ maxTokens: profile.maxTokens,
158
+ ...(providerConfigs.length > 0 && { providerConfigs }),
159
+ };
160
+ });
161
+ }
162
+ function buildExportAgents(agentsRes, configIdToInfo) {
163
+ return agentsRes.items.map((agent) => {
164
+ let providerConfigName = null;
165
+ if (agent.providerConfigId) {
166
+ providerConfigName = configIdToInfo.get(agent.providerConfigId)?.name ?? null;
167
+ }
168
+ return {
169
+ id: agent.id,
170
+ name: agent.name,
171
+ profileId: agent.profileId,
172
+ description: agent.description,
173
+ ...(providerConfigName && { providerConfigName }),
174
+ };
175
+ });
176
+ }
177
+ function buildExportStatuses(statusesRes) {
178
+ return statusesRes.items.map((status) => ({
179
+ id: status.id,
180
+ label: status.label,
181
+ color: status.color,
182
+ position: status.position,
183
+ mcpHidden: status.mcpHidden,
184
+ }));
185
+ }
186
+ function buildProjectSettings(state, projectId) {
187
+ const projectSettings = {};
188
+ if (state.initialPrompt?.title) {
189
+ projectSettings.initialPromptTitle = state.initialPrompt.title;
190
+ }
191
+ const autoCleanStatusIds = state.settings.autoClean?.statusIds?.[projectId] ?? [];
192
+ if (autoCleanStatusIds.length > 0) {
193
+ const statusMap = new Map(state.statusesRes.items.map((status) => [status.id, status.label]));
194
+ const autoCleanLabels = autoCleanStatusIds
195
+ .map((statusId) => statusMap.get(statusId))
196
+ .filter((label) => Boolean(label));
197
+ if (autoCleanLabels.length > 0) {
198
+ projectSettings.autoCleanStatusLabels = autoCleanLabels;
199
+ }
200
+ }
201
+ const epicAssignedTemplate = state.settings.events?.epicAssigned?.template;
202
+ if (epicAssignedTemplate) {
203
+ projectSettings.epicAssignedTemplate = epicAssignedTemplate;
204
+ }
205
+ const poolSettings = state.settings.messagePool?.projects?.[projectId];
206
+ if (poolSettings && Object.keys(poolSettings).length > 0) {
207
+ projectSettings.messagePoolSettings = poolSettings;
208
+ }
209
+ return projectSettings;
210
+ }
211
+ async function buildExportWatchers(state, storage) {
212
+ return Promise.all(state.watchersRes.map(async (watcher) => {
213
+ let scopeFilterName = null;
214
+ if (watcher.scopeFilterId) {
215
+ switch (watcher.scope) {
216
+ case 'agent':
217
+ scopeFilterName =
218
+ state.agentsRes.items.find((agent) => agent.id === watcher.scopeFilterId)?.name ??
219
+ null;
220
+ break;
221
+ case 'profile':
222
+ scopeFilterName =
223
+ state.profilesRes.items.find((profile) => profile.id === watcher.scopeFilterId)
224
+ ?.name ?? null;
225
+ break;
226
+ case 'provider':
227
+ try {
228
+ scopeFilterName = (await storage.getProvider(watcher.scopeFilterId))?.name ?? null;
229
+ }
230
+ catch {
231
+ scopeFilterName = null;
232
+ }
233
+ break;
234
+ }
235
+ }
236
+ return {
237
+ id: watcher.id,
238
+ name: watcher.name,
239
+ description: watcher.description,
240
+ enabled: watcher.enabled,
241
+ scope: watcher.scope,
242
+ scopeFilterName,
243
+ pollIntervalMs: watcher.pollIntervalMs,
244
+ viewportLines: watcher.viewportLines,
245
+ idleAfterSeconds: watcher.idleAfterSeconds,
246
+ condition: watcher.condition,
247
+ cooldownMs: watcher.cooldownMs,
248
+ cooldownMode: watcher.cooldownMode,
249
+ eventName: watcher.eventName,
250
+ };
251
+ }));
252
+ }
253
+ function buildExportSubscribers(subscribersRes) {
254
+ return subscribersRes.map((subscriber) => ({
255
+ id: subscriber.id,
256
+ name: subscriber.name,
257
+ description: subscriber.description,
258
+ enabled: subscriber.enabled,
259
+ eventName: subscriber.eventName,
260
+ eventFilter: subscriber.eventFilter,
261
+ actionType: subscriber.actionType,
262
+ actionInputs: subscriber.actionInputs,
263
+ delayMs: subscriber.delayMs,
264
+ cooldownMs: subscriber.cooldownMs,
265
+ retryOnError: subscriber.retryOnError,
266
+ groupName: subscriber.groupName,
267
+ position: subscriber.position,
268
+ priority: subscriber.priority,
269
+ }));
270
+ }
271
+ function buildProviderSettings(providersMap) {
272
+ const providerSettings = [];
273
+ for (const provider of providersMap.values()) {
274
+ if (provider.autoCompactThreshold != null) {
275
+ providerSettings.push({
276
+ name: provider.name,
277
+ autoCompactThreshold: provider.autoCompactThreshold,
278
+ });
279
+ }
280
+ }
281
+ return providerSettings;
282
+ }
283
+ async function buildProviderModels(providersMap, storage) {
284
+ const providerIds = [...providersMap.keys()];
285
+ if (providerIds.length === 0) {
286
+ return [];
287
+ }
288
+ const allModels = await storage.listProviderModelsByProviderIds(providerIds);
289
+ const modelsByProviderId = new Map();
290
+ for (const model of allModels) {
291
+ const models = modelsByProviderId.get(model.providerId) ?? [];
292
+ models.push(model.name);
293
+ modelsByProviderId.set(model.providerId, models);
294
+ }
295
+ const result = [];
296
+ for (const [providerId, provider] of providersMap.entries()) {
297
+ const models = modelsByProviderId.get(providerId);
298
+ if (models && models.length > 0) {
299
+ result.push({ providerName: provider.name, models });
300
+ }
301
+ }
302
+ return result;
303
+ }
304
+ function buildManifest(project, existingMetadata, slugify, manifestOverrides) {
305
+ return {
306
+ slug: existingMetadata?.templateSlug || slugify(project.name),
307
+ name: project.name,
308
+ description: project.description || null,
309
+ version: existingMetadata?.installedVersion || '1.0.0',
310
+ ...manifestOverrides,
311
+ publishedAt: new Date().toISOString(),
312
+ };
313
+ }
314
+ //# sourceMappingURL=project-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-export.js","sourceRoot":"","sources":["../../../../src/modules/projects/helpers/project-export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import { ExportSchema } from '@devchain/shared';
2
+ import type { SettingsService } from '../../settings/services/settings.service';
3
+ import type { StorageService } from '../../storage/interfaces/storage.interface';
4
+ import type { UnifiedTemplateService } from '../../registry/services/unified-template.service';
5
+ import { type FamilyAlternative, type FamilyAlternativesResult, type ProjectSettingsTemplateInput } from './profile-mapping.helpers';
6
+ type ParsedTemplatePayload = ReturnType<typeof ExportSchema.parse>;
7
+ type UnmatchedStatus = {
8
+ id: string;
9
+ label: string;
10
+ color: string;
11
+ epicCount: number;
12
+ };
13
+ export interface ImportProjectInputLike {
14
+ projectId: string;
15
+ payload: unknown;
16
+ dryRun?: boolean;
17
+ statusMappings?: Record<string, string>;
18
+ familyProviderMappings?: Record<string, string>;
19
+ }
20
+ interface ImportProjectDeps {
21
+ storage: StorageService;
22
+ settings: SettingsService;
23
+ watchersService: {
24
+ deleteWatcher: (watcherId: string) => Promise<void>;
25
+ };
26
+ sessions: {
27
+ getActiveSessionsForProject: (projectId: string) => Array<{
28
+ id: string;
29
+ agentId: string | null;
30
+ }>;
31
+ };
32
+ unifiedTemplateService: Pick<UnifiedTemplateService, 'getBundledTemplate'>;
33
+ computeFamilyAlternatives: (templateProfiles: ParsedTemplatePayload['profiles'], templateAgents: ParsedTemplatePayload['agents']) => Promise<FamilyAlternativesResult>;
34
+ createWatchersFromPayload: (projectId: string, watchers: ParsedTemplatePayload['watchers'], maps: {
35
+ agentNameToId: Map<string, string>;
36
+ profileNameToId: Map<string, string>;
37
+ providerNameToId: Map<string, string>;
38
+ profileNameRemapMap?: Map<string, string>;
39
+ }) => Promise<{
40
+ created: number;
41
+ watcherIdMap: Record<string, string>;
42
+ }>;
43
+ createSubscribersFromPayload: (projectId: string, subscribers: ParsedTemplatePayload['subscribers']) => Promise<{
44
+ created: number;
45
+ subscriberIdMap: Record<string, string>;
46
+ }>;
47
+ applyProjectSettings: (projectId: string, projectSettings: ProjectSettingsTemplateInput | undefined, maps: {
48
+ promptTitleToId: Map<string, string>;
49
+ statusLabelToId: Map<string, string>;
50
+ }, archiveStatusId: string | null) => Promise<{
51
+ initialPromptSet: boolean;
52
+ }>;
53
+ getImportErrorMessage: (error: unknown) => string;
54
+ }
55
+ export declare function importProjectWithHelper(input: ImportProjectInputLike, deps: ImportProjectDeps): Promise<{
56
+ dryRun: true;
57
+ missingProviders: string[];
58
+ unmatchedStatuses: UnmatchedStatus[];
59
+ templateStatuses: {
60
+ label: string;
61
+ color: string;
62
+ }[];
63
+ providerMappingRequired?: {
64
+ missingProviders: string[];
65
+ familyAlternatives: FamilyAlternative[];
66
+ canImport: boolean;
67
+ };
68
+ counts: {
69
+ toImport: {
70
+ prompts: number;
71
+ profiles: number;
72
+ agents: number;
73
+ statuses: number;
74
+ watchers: number;
75
+ subscribers: number;
76
+ };
77
+ toDelete: {
78
+ prompts: number;
79
+ profiles: number;
80
+ agents: number;
81
+ statuses: number;
82
+ watchers: number;
83
+ subscribers: number;
84
+ };
85
+ };
86
+ } | {
87
+ success: boolean;
88
+ mode: string;
89
+ replaced: boolean;
90
+ missingProviders: never[];
91
+ counts: {
92
+ imported: {
93
+ prompts: number;
94
+ profiles: number;
95
+ agents: number;
96
+ statuses: number;
97
+ watchers: number;
98
+ subscribers: number;
99
+ };
100
+ deleted: {
101
+ prompts: number;
102
+ profiles: number;
103
+ agents: number;
104
+ statuses: number;
105
+ watchers: number;
106
+ subscribers: number;
107
+ };
108
+ epics: {
109
+ preserved: number;
110
+ agentRemapped: number;
111
+ agentCleared: number;
112
+ };
113
+ };
114
+ mappings: {
115
+ promptIdMap: Record<string, string>;
116
+ profileIdMap: Record<string, string>;
117
+ agentIdMap: Record<string, string>;
118
+ statusIdMap: Record<string, string>;
119
+ watcherIdMap: Record<string, string>;
120
+ subscriberIdMap: Record<string, string>;
121
+ };
122
+ initialPromptSet: boolean;
123
+ message: string;
124
+ } | {
125
+ success: boolean;
126
+ providerMappingRequired: {
127
+ missingProviders: string[];
128
+ familyAlternatives: FamilyAlternative[];
129
+ canImport: boolean;
130
+ };
131
+ }>;
132
+ export {};