devchain-cli 0.4.6 → 0.5.1

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 (97) hide show
  1. package/dist/cli.js +7 -4
  2. package/dist/drizzle/0021_agent_profiles_family_slug.sql +3 -0
  3. package/dist/drizzle/meta/0021_snapshot.json +2968 -0
  4. package/dist/drizzle/meta/_journal.json +8 -1
  5. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +5 -0
  6. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
  7. package/dist/node_modules/@devchain/shared/schemas/export-schema.js +1 -0
  8. package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
  9. package/dist/node_modules/@devchain/shared/schemas/export-schema.spec.d.ts +2 -0
  10. package/dist/node_modules/@devchain/shared/schemas/export-schema.spec.d.ts.map +1 -0
  11. package/dist/node_modules/@devchain/shared/schemas/export-schema.spec.js +88 -0
  12. package/dist/node_modules/@devchain/shared/schemas/export-schema.spec.js.map +1 -0
  13. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  14. package/dist/server/common/errors/error-types.d.ts +4 -0
  15. package/dist/server/common/errors/error-types.js +8 -1
  16. package/dist/server/common/errors/error-types.js.map +1 -1
  17. package/dist/server/modules/core/core.module.js +2 -1
  18. package/dist/server/modules/core/core.module.js.map +1 -1
  19. package/dist/server/modules/core/services/preflight.service.d.ts +4 -1
  20. package/dist/server/modules/core/services/preflight.service.js +8 -3
  21. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  22. package/dist/server/modules/epics/services/epics.service.js +0 -51
  23. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  24. package/dist/server/modules/events/catalog/epic.created.d.ts +2 -2
  25. package/dist/server/modules/events/catalog/index.d.ts +2 -27
  26. package/dist/server/modules/events/catalog/index.js +0 -2
  27. package/dist/server/modules/events/catalog/index.js.map +1 -1
  28. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.d.ts +3 -0
  29. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js +87 -0
  30. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
  31. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +2 -2
  32. package/dist/server/modules/mcp/mcp.module.js +2 -34
  33. package/dist/server/modules/mcp/mcp.module.js.map +1 -1
  34. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +75 -31
  35. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +1 -1
  36. package/dist/server/modules/profiles/controllers/profiles.controller.d.ts +1 -0
  37. package/dist/server/modules/profiles/controllers/profiles.controller.js +13 -0
  38. package/dist/server/modules/profiles/controllers/profiles.controller.js.map +1 -1
  39. package/dist/server/modules/profiles/dto.d.ts +3 -0
  40. package/dist/server/modules/profiles/dto.js +1 -0
  41. package/dist/server/modules/profiles/dto.js.map +1 -1
  42. package/dist/server/modules/projects/controllers/projects.controller.d.ts +61 -11
  43. package/dist/server/modules/projects/controllers/projects.controller.js +81 -2
  44. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  45. package/dist/server/modules/projects/services/projects.service.d.ts +70 -10
  46. package/dist/server/modules/projects/services/projects.service.js +380 -22
  47. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  48. package/dist/server/modules/providers/adapters/claude.adapter.js +12 -2
  49. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  50. package/dist/server/modules/providers/adapters/codex.adapter.js +12 -2
  51. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  52. package/dist/server/modules/providers/adapters/gemini.adapter.d.ts +9 -0
  53. package/dist/server/modules/providers/adapters/gemini.adapter.js +56 -0
  54. package/dist/server/modules/providers/adapters/gemini.adapter.js.map +1 -0
  55. package/dist/server/modules/providers/adapters/index.d.ts +2 -0
  56. package/dist/server/modules/providers/adapters/index.js +2 -0
  57. package/dist/server/modules/providers/adapters/index.js.map +1 -1
  58. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +4 -1
  59. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +13 -7
  60. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  61. package/dist/server/modules/providers/adapters/provider-adapters.module.d.ts +2 -0
  62. package/dist/server/modules/providers/adapters/provider-adapters.module.js +24 -0
  63. package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -0
  64. package/dist/server/modules/providers/controllers/providers.controller.js +3 -4
  65. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  66. package/dist/server/modules/providers/providers.module.js +1 -3
  67. package/dist/server/modules/providers/providers.module.js.map +1 -1
  68. package/dist/server/modules/registry/services/template-upgrade.service.d.ts +3 -1
  69. package/dist/server/modules/registry/services/template-upgrade.service.js +66 -17
  70. package/dist/server/modules/registry/services/template-upgrade.service.js.map +1 -1
  71. package/dist/server/modules/registry/services/unified-template.service.d.ts +1 -1
  72. package/dist/server/modules/registry/services/unified-template.service.js +17 -2
  73. package/dist/server/modules/registry/services/unified-template.service.js.map +1 -1
  74. package/dist/server/modules/sessions/services/sessions.service.js +1 -1
  75. package/dist/server/modules/storage/db/schema.d.ts +19 -0
  76. package/dist/server/modules/storage/db/schema.js +1 -0
  77. package/dist/server/modules/storage/db/schema.js.map +1 -1
  78. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +1 -0
  79. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  80. package/dist/server/modules/storage/local/local-storage.service.js +10 -4
  81. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  82. package/dist/server/modules/storage/models/domain.models.d.ts +3 -1
  83. package/dist/server/templates/claude-codex-advanced.json +150 -120
  84. package/dist/server/templates/claude-opus.json +182 -79
  85. package/dist/server/templates/simple-codex.json +288 -74
  86. package/dist/server/tsconfig.tsbuildinfo +1 -1
  87. package/dist/server/ui/assets/index-Bgulh8ua.js +735 -0
  88. package/dist/server/ui/assets/{index-BkGGbapJ.css → index-BoDZOB7c.css} +1 -1
  89. package/dist/server/ui/index.html +2 -2
  90. package/dist/templates/claude-codex-advanced.json +150 -120
  91. package/dist/templates/claude-opus.json +182 -79
  92. package/dist/templates/simple-codex.json +288 -74
  93. package/package.json +10 -1
  94. package/dist/server/modules/events/catalog/epic.assigned.d.ts +0 -32
  95. package/dist/server/modules/events/catalog/epic.assigned.js +0 -19
  96. package/dist/server/modules/events/catalog/epic.assigned.js.map +0 -1
  97. package/dist/server/ui/assets/index-DLpDwHdv.js +0 -733
@@ -15,12 +15,31 @@ export interface CreateFromTemplateInput {
15
15
  rootPath: string;
16
16
  slug: string;
17
17
  version?: string | null;
18
+ familyProviderMappings?: Record<string, string>;
19
+ }
20
+ export interface ProviderMappingRequired {
21
+ missingProviders: string[];
22
+ familyAlternatives: FamilyAlternative[];
23
+ canImport: boolean;
18
24
  }
19
25
  export interface ImportProjectInput {
20
26
  projectId: string;
21
27
  payload: unknown;
22
28
  dryRun?: boolean;
23
29
  statusMappings?: Record<string, string>;
30
+ familyProviderMappings?: Record<string, string>;
31
+ }
32
+ export interface FamilyAlternative {
33
+ familySlug: string;
34
+ defaultProvider: string;
35
+ defaultProviderAvailable: boolean;
36
+ availableProviders: string[];
37
+ hasAlternatives: boolean;
38
+ }
39
+ export interface FamilyAlternativesResult {
40
+ alternatives: FamilyAlternative[];
41
+ missingProviders: string[];
42
+ canImport: boolean;
24
43
  }
25
44
  export declare class ProjectsService {
26
45
  private readonly storage;
@@ -34,6 +53,18 @@ export declare class ProjectsService {
34
53
  listTemplates(): Promise<TemplateInfo[]>;
35
54
  getTemplateContent(templateId: string): Promise<unknown>;
36
55
  createFromTemplate(input: CreateFromTemplateInput): Promise<{
56
+ success: boolean;
57
+ providerMappingRequired: {
58
+ missingProviders: string[];
59
+ familyAlternatives: FamilyAlternative[];
60
+ canImport: boolean;
61
+ };
62
+ project?: undefined;
63
+ imported?: undefined;
64
+ mappings?: undefined;
65
+ initialPromptSet?: undefined;
66
+ message?: undefined;
67
+ } | {
37
68
  success: boolean;
38
69
  project: import("../../storage/models/domain.models").Project;
39
70
  imported: {
@@ -52,6 +83,7 @@ export declare class ProjectsService {
52
83
  };
53
84
  initialPromptSet: boolean;
54
85
  message: string;
86
+ providerMappingRequired?: undefined;
55
87
  }>;
56
88
  exportProject(projectId: string, opts?: {
57
89
  manifestOverrides?: Partial<ManifestData>;
@@ -128,6 +160,7 @@ export declare class ProjectsService {
128
160
  id: string;
129
161
  name: string;
130
162
  };
163
+ familySlug: string | null;
131
164
  options: string | null;
132
165
  instructions: string | null;
133
166
  temperature: number | null;
@@ -152,7 +185,7 @@ export declare class ProjectsService {
152
185
  } | null;
153
186
  }>;
154
187
  importProject(input: ImportProjectInput): Promise<{
155
- dryRun: boolean;
188
+ dryRun: true;
156
189
  missingProviders: string[];
157
190
  unmatchedStatuses: {
158
191
  id: string;
@@ -164,6 +197,11 @@ export declare class ProjectsService {
164
197
  label: string;
165
198
  color: string;
166
199
  }[];
200
+ providerMappingRequired?: {
201
+ missingProviders: string[];
202
+ familyAlternatives: FamilyAlternative[];
203
+ canImport: boolean;
204
+ };
167
205
  counts: {
168
206
  toImport: {
169
207
  prompts: number;
@@ -181,13 +219,18 @@ export declare class ProjectsService {
181
219
  watchers: number;
182
220
  subscribers: number;
183
221
  };
184
- imported?: undefined;
185
- deleted?: undefined;
186
- epics?: undefined;
187
222
  };
188
- success?: undefined;
223
+ } | {
224
+ success: boolean;
225
+ providerMappingRequired: {
226
+ missingProviders: string[];
227
+ familyAlternatives: FamilyAlternative[];
228
+ canImport: boolean;
229
+ };
189
230
  mode?: undefined;
190
231
  replaced?: undefined;
232
+ missingProviders?: undefined;
233
+ counts?: undefined;
191
234
  mappings?: undefined;
192
235
  initialPromptSet?: undefined;
193
236
  message?: undefined;
@@ -218,8 +261,6 @@ export declare class ProjectsService {
218
261
  agentRemapped: number;
219
262
  agentCleared: number;
220
263
  };
221
- toImport?: undefined;
222
- toDelete?: undefined;
223
264
  };
224
265
  mappings: {
225
266
  promptIdMap: Record<string, string>;
@@ -231,11 +272,22 @@ export declare class ProjectsService {
231
272
  };
232
273
  initialPromptSet: boolean;
233
274
  message: string;
234
- dryRun?: undefined;
235
- unmatchedStatuses?: undefined;
236
- templateStatuses?: undefined;
275
+ providerMappingRequired?: undefined;
237
276
  }>;
238
277
  private resolveProviders;
278
+ computeFamilyAlternatives(templateProfiles: Array<{
279
+ id?: string;
280
+ name: string;
281
+ provider: {
282
+ name: string;
283
+ };
284
+ familySlug?: string | null;
285
+ }>, templateAgents: Array<{
286
+ id?: string;
287
+ name: string;
288
+ profileId?: string;
289
+ }>): Promise<FamilyAlternativesResult>;
290
+ private selectProfilesForFamilies;
239
291
  private buildNameToIdMaps;
240
292
  private createWatchersFromPayload;
241
293
  private createSubscribersFromPayload;
@@ -243,4 +295,12 @@ export declare class ProjectsService {
243
295
  private normalizeProfileOptions;
244
296
  private getImportErrorMessage;
245
297
  private slugify;
298
+ getTemplateManifestForProject(projectId: string): Promise<ManifestData | null>;
299
+ getBundledUpgradeVersion(templateSlug: string, installedVersion: string | null): string | null;
300
+ getBundledUpgradesForProjects(projects: Array<{
301
+ projectId: string;
302
+ templateSlug: string | null;
303
+ installedVersion: string | null;
304
+ source: 'bundled' | 'registry' | null;
305
+ }>): Map<string, string | null>;
246
306
  }