devchain-cli 0.19.1 → 0.20.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 (213) hide show
  1. package/dist/drizzle/0069_fluffy_exodus.sql +2 -0
  2. package/dist/drizzle/0070_lyrical_tombstone.sql +1 -0
  3. package/dist/drizzle/0071_special_avengers.sql +22 -0
  4. package/dist/drizzle/meta/0069_snapshot.json +5767 -0
  5. package/dist/drizzle/meta/0070_snapshot.json +5774 -0
  6. package/dist/drizzle/meta/0071_snapshot.json +5931 -0
  7. package/dist/drizzle/meta/_journal.json +22 -1
  8. package/dist/node_modules/@devchain/shared/e2ee/base64.js +1 -1
  9. package/dist/node_modules/@devchain/shared/e2ee/base64.js.map +1 -1
  10. package/dist/node_modules/@devchain/shared/host-resolver.d.ts.map +1 -1
  11. package/dist/node_modules/@devchain/shared/host-resolver.js.map +1 -1
  12. package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.d.ts.map +1 -1
  13. package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.js +23 -0
  14. package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.js.map +1 -1
  15. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +363 -6
  16. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
  17. package/dist/node_modules/@devchain/shared/schemas/export-schema.js +11 -1
  18. package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
  19. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  20. package/dist/server/common/config/container-scope.d.ts +4 -0
  21. package/dist/server/common/config/container-scope.js +11 -0
  22. package/dist/server/common/config/container-scope.js.map +1 -0
  23. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +12 -0
  24. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
  25. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.d.ts +1 -0
  26. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +18 -4
  27. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
  28. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +16 -3
  29. package/dist/server/modules/agents/controllers/agents.controller.d.ts +1 -0
  30. package/dist/server/modules/agents/controllers/agents.controller.js +3 -0
  31. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  32. package/dist/server/modules/epics/services/epics.service.d.ts +2 -0
  33. package/dist/server/modules/epics/services/epics.service.js +17 -3
  34. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  35. package/dist/server/modules/events/catalog/agent.message.sent.d.ts +89 -0
  36. package/dist/server/modules/events/catalog/agent.message.sent.js +16 -0
  37. package/dist/server/modules/events/catalog/agent.message.sent.js.map +1 -1
  38. package/dist/server/modules/events/catalog/broadcast-registry.js +1 -0
  39. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  40. package/dist/server/modules/events/catalog/index.d.ts +97 -6
  41. package/dist/server/modules/events/catalog/index.js +9 -1
  42. package/dist/server/modules/events/catalog/index.js.map +1 -1
  43. package/dist/server/modules/events/catalog/review.created.d.ts +4 -4
  44. package/dist/server/modules/events/catalog/session.recommendation.d.ts +2 -2
  45. package/dist/server/modules/events/services/event-log.service.d.ts +3 -3
  46. package/dist/server/modules/events/services/event-log.service.js +58 -26
  47. package/dist/server/modules/events/services/event-log.service.js.map +1 -1
  48. package/dist/server/modules/events/services/events.service.d.ts +1 -1
  49. package/dist/server/modules/events/services/events.service.js +5 -0
  50. package/dist/server/modules/events/services/events.service.js.map +1 -1
  51. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +45 -0
  52. package/dist/server/modules/mcp/dtos/mcp.dto.js +29 -2
  53. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  54. package/dist/server/modules/mcp/mcp-full.module.js +2 -0
  55. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  56. package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +2 -0
  57. package/dist/server/modules/mcp/services/handlers/chat-tools.js +10 -0
  58. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
  59. package/dist/server/modules/mcp/services/handlers/epic-tools.js +7 -3
  60. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  61. package/dist/server/modules/mcp/services/handlers/project-context.d.ts +6 -0
  62. package/dist/server/modules/mcp/services/handlers/project-context.js +3 -0
  63. package/dist/server/modules/mcp/services/handlers/project-context.js.map +1 -0
  64. package/dist/server/modules/mcp/services/handlers/project-tools.d.ts +3 -0
  65. package/dist/server/modules/mcp/services/handlers/project-tools.js +32 -0
  66. package/dist/server/modules/mcp/services/handlers/project-tools.js.map +1 -0
  67. package/dist/server/modules/mcp/services/mappers/dto-mappers.js +1 -0
  68. package/dist/server/modules/mcp/services/mappers/dto-mappers.js.map +1 -1
  69. package/dist/server/modules/mcp/services/mcp.service.d.ts +4 -1
  70. package/dist/server/modules/mcp/services/mcp.service.js +46 -29
  71. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  72. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js +6 -1
  73. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js.map +1 -1
  74. package/dist/server/modules/mcp/tool-descriptors/index.js +4 -0
  75. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
  76. package/dist/server/modules/mcp/tool-descriptors/project.bindings.d.ts +2 -0
  77. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js +8 -0
  78. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js.map +1 -0
  79. package/dist/server/modules/mcp/tool-descriptors/project.metadata.d.ts +2 -0
  80. package/dist/server/modules/mcp/tool-descriptors/project.metadata.js +37 -0
  81. package/dist/server/modules/mcp/tool-descriptors/project.metadata.js.map +1 -0
  82. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +0 -2
  83. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +1 -1
  84. package/dist/server/modules/profiles/dto.d.ts +4 -4
  85. package/dist/server/modules/project-communication/dtos/project-communication.types.d.ts +44 -0
  86. package/dist/server/modules/project-communication/dtos/project-communication.types.js +3 -0
  87. package/dist/server/modules/project-communication/dtos/project-communication.types.js.map +1 -0
  88. package/dist/server/modules/project-communication/project-communication.module.d.ts +2 -0
  89. package/dist/server/modules/project-communication/project-communication.module.js +24 -0
  90. package/dist/server/modules/project-communication/project-communication.module.js.map +1 -0
  91. package/dist/server/modules/project-communication/project-communication.service.d.ts +16 -0
  92. package/dist/server/modules/project-communication/project-communication.service.js +224 -0
  93. package/dist/server/modules/project-communication/project-communication.service.js.map +1 -0
  94. package/dist/server/modules/projects/controllers/projects.controller.d.ts +2 -1
  95. package/dist/server/modules/projects/controllers/projects.controller.js +3 -10
  96. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  97. package/dist/server/modules/projects/helpers/project-export.d.ts +1 -0
  98. package/dist/server/modules/projects/services/projects.service.d.ts +1 -0
  99. package/dist/server/modules/projects/template-codec/codecs/agents.codec.d.ts +2 -0
  100. package/dist/server/modules/projects/template-codec/codecs/agents.codec.js +2 -0
  101. package/dist/server/modules/projects/template-codec/codecs/agents.codec.js.map +1 -1
  102. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
  103. package/dist/server/modules/providers/adapters/capabilities/index.js +2 -1
  104. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
  105. package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.d.ts +6 -0
  106. package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.js +3 -0
  107. package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.js.map +1 -0
  108. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +3 -0
  109. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +6 -0
  110. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  111. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +6 -2
  112. package/dist/server/modules/providers/adapters/claude.adapter.js +53 -0
  113. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  114. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +7 -2
  115. package/dist/server/modules/providers/adapters/codex.adapter.js +46 -0
  116. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  117. package/dist/server/modules/providers/adapters/plugin-catalog.utils.d.ts +15 -0
  118. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js +62 -0
  119. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js.map +1 -0
  120. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.d.ts +18 -0
  121. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.js +149 -0
  122. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.js.map +1 -0
  123. package/dist/server/modules/providers/controllers/provider-plugins.controller.d.ts +8 -0
  124. package/dist/server/modules/providers/controllers/provider-plugins.controller.js +78 -0
  125. package/dist/server/modules/providers/controllers/provider-plugins.controller.js.map +1 -0
  126. package/dist/server/modules/providers/dtos/provider-plugin.dto.d.ts +28 -0
  127. package/dist/server/modules/providers/dtos/provider-plugin.dto.js +3 -0
  128. package/dist/server/modules/providers/dtos/provider-plugin.dto.js.map +1 -0
  129. package/dist/server/modules/providers/providers.module.js +15 -1
  130. package/dist/server/modules/providers/providers.module.js.map +1 -1
  131. package/dist/server/modules/providers/services/provider-plugin-policy.service.d.ts +20 -0
  132. package/dist/server/modules/providers/services/provider-plugin-policy.service.js +146 -0
  133. package/dist/server/modules/providers/services/provider-plugin-policy.service.js.map +1 -0
  134. package/dist/server/modules/providers/services/provider-plugins.service.d.ts +21 -0
  135. package/dist/server/modules/providers/services/provider-plugins.service.js +169 -0
  136. package/dist/server/modules/providers/services/provider-plugins.service.js.map +1 -0
  137. package/dist/server/modules/registry/controllers/templates.controller.d.ts +2 -1
  138. package/dist/server/modules/reviews/dtos/review.dto.d.ts +2 -2
  139. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.d.ts +9 -1
  140. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js +102 -16
  141. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js.map +1 -1
  142. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.d.ts +53 -0
  143. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +842 -0
  144. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -0
  145. package/dist/server/modules/runtime-context-capture/index.d.ts +2 -1
  146. package/dist/server/modules/runtime-context-capture/index.js +5 -1
  147. package/dist/server/modules/runtime-context-capture/index.js.map +1 -1
  148. package/dist/server/modules/runtime-context-capture/runtime-context-capture.module.js +11 -2
  149. package/dist/server/modules/runtime-context-capture/runtime-context-capture.module.js.map +1 -1
  150. package/dist/server/modules/scheduled-epics/dtos/scheduled-epic.dto.d.ts +1 -1
  151. package/dist/server/modules/session-reader/data/pricing.json +31 -18
  152. package/dist/server/modules/sessions/services/delivery-failure-disclosure.d.ts +12 -0
  153. package/dist/server/modules/sessions/services/delivery-failure-disclosure.js +25 -0
  154. package/dist/server/modules/sessions/services/delivery-failure-disclosure.js.map +1 -0
  155. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js +7 -3
  156. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js.map +1 -1
  157. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +2 -1
  158. package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
  159. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  160. package/dist/server/modules/sessions/services/message-pool.types.d.ts +4 -1
  161. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +18 -0
  162. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +24 -2
  163. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  164. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +5 -1
  165. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +67 -7
  166. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  167. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +5 -1
  168. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +65 -5
  169. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  170. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +2 -1
  171. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +63 -28
  172. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  173. package/dist/server/modules/sessions/services/sessions.service.d.ts +4 -1
  174. package/dist/server/modules/sessions/services/sessions.service.js +19 -2
  175. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  176. package/dist/server/modules/sessions/utils/profile-options.d.ts +1 -0
  177. package/dist/server/modules/sessions/utils/profile-options.js +7 -0
  178. package/dist/server/modules/sessions/utils/profile-options.js.map +1 -1
  179. package/dist/server/modules/storage/db/schema.d.ts +255 -0
  180. package/dist/server/modules/storage/db/schema.js +34 -3
  181. package/dist/server/modules/storage/db/schema.js.map +1 -1
  182. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +15 -2
  183. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  184. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +1 -0
  185. package/dist/server/modules/storage/local/delegates/agent.delegate.js +43 -1
  186. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
  187. package/dist/server/modules/storage/local/delegates/epic.delegate.js +6 -0
  188. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  189. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +1 -0
  190. package/dist/server/modules/storage/local/delegates/project.delegate.js +21 -0
  191. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  192. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.d.ts +13 -0
  193. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.js +90 -0
  194. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.js.map +1 -0
  195. package/dist/server/modules/storage/local/local-storage.service.d.ts +12 -1
  196. package/dist/server/modules/storage/local/local-storage.service.js +33 -0
  197. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  198. package/dist/server/modules/storage/models/domain.models.d.ts +19 -3
  199. package/dist/server/modules/subscribers/actions/send-message.action.js +47 -12
  200. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  201. package/dist/server/modules/subscribers/dtos/subscriber.dto.d.ts +4 -4
  202. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +8 -5
  203. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
  204. package/dist/server/modules/watchers/dtos/watcher.dto.d.ts +2 -2
  205. package/dist/server/tsconfig.tsbuildinfo +1 -1
  206. package/dist/server/ui/assets/{ReviewDetailPage-yOe1a_fn.js → ReviewDetailPage-Cf5ED0R0.js} +1 -1
  207. package/dist/server/ui/assets/{ReviewsPage-Bib-IgPo.js → ReviewsPage-BfP9P3QO.js} +1 -1
  208. package/dist/server/ui/assets/index-B5ZC_DQU.css +32 -0
  209. package/dist/server/ui/assets/{index-B2TO-QTO.js → index-DptgqA22.js} +241 -241
  210. package/dist/server/ui/assets/{useReviewSubscription-BmU3yczR.js → useReviewSubscription-QJSfZ3FX.js} +1 -1
  211. package/dist/server/ui/index.html +2 -2
  212. package/package.json +9 -2
  213. package/dist/server/ui/assets/index-DowJ3ZtQ.css +0 -32
@@ -0,0 +1,21 @@
1
+ import { type StorageService } from '../../storage/interfaces/storage.interface';
2
+ import { ProcessExecutor } from '../../terminal/services/process-executor/process-executor.port';
3
+ import { ProviderAdapterFactory } from '../adapters/provider-adapter.factory';
4
+ import type { ProviderPluginCatalogDto, ProviderPluginInstallDto } from '../dtos/provider-plugin.dto';
5
+ export declare class ProviderPluginsService {
6
+ private readonly storage;
7
+ private readonly adapterFactory;
8
+ private readonly executor;
9
+ private readonly catalogCache;
10
+ constructor(storage: StorageService, adapterFactory: ProviderAdapterFactory, executor: ProcessExecutor);
11
+ listCatalog(options?: {
12
+ refresh?: boolean;
13
+ }): Promise<ProviderPluginCatalogDto>;
14
+ refreshCatalog(): Promise<ProviderPluginCatalogDto>;
15
+ install(providerId: string, pluginId: string): Promise<ProviderPluginInstallDto>;
16
+ private listProviderCatalog;
17
+ private hasProviderPluginCapability;
18
+ private resolveProviderBinary;
19
+ private assertCommandSucceeded;
20
+ private normalizePluginId;
21
+ }
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ProviderPluginsService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const error_types_1 = require("../../../common/errors/error-types");
18
+ const resolve_binary_1 = require("../../../common/resolve-binary");
19
+ const storage_interface_1 = require("../../storage/interfaces/storage.interface");
20
+ const process_executor_port_1 = require("../../terminal/services/process-executor/process-executor.port");
21
+ const provider_adapter_factory_1 = require("../adapters/provider-adapter.factory");
22
+ const type_guards_1 = require("../adapters/capabilities/type-guards");
23
+ const CATALOG_TTL_MS = 10_000;
24
+ const PLUGIN_COMMAND_TIMEOUT_MS = 60_000;
25
+ const PLUGIN_COMMAND_MAX_BYTES = 2 * 1024 * 1024;
26
+ const MAX_PLUGIN_ID_LENGTH = 512;
27
+ const ASCII_CONTROL_PATTERN = /[\u0000-\u001f\u007f]/;
28
+ let ProviderPluginsService = class ProviderPluginsService {
29
+ storage;
30
+ adapterFactory;
31
+ executor;
32
+ catalogCache = new Map();
33
+ constructor(storage, adapterFactory, executor) {
34
+ this.storage = storage;
35
+ this.adapterFactory = adapterFactory;
36
+ this.executor = executor;
37
+ }
38
+ async listCatalog(options = {}) {
39
+ const providers = await this.storage.listProviders({ limit: 1_000, offset: 0 });
40
+ const pluginProviders = providers.items.filter((provider) => this.hasProviderPluginCapability(provider));
41
+ const entries = await Promise.all(pluginProviders.map((provider) => this.listProviderCatalog(provider, options.refresh === true)));
42
+ const items = entries
43
+ .flat()
44
+ .sort((left, right) => left.providerName.localeCompare(right.providerName) ||
45
+ (left.marketplaceName ?? '').localeCompare(right.marketplaceName ?? '') ||
46
+ left.name.localeCompare(right.name));
47
+ return { items, total: items.length };
48
+ }
49
+ async refreshCatalog() {
50
+ this.catalogCache.clear();
51
+ return this.listCatalog({ refresh: true });
52
+ }
53
+ async install(providerId, pluginId) {
54
+ const normalizedPluginId = this.normalizePluginId(pluginId);
55
+ const provider = await this.storage.getProvider(providerId);
56
+ const adapter = this.adapterFactory.getAdapter(provider.name);
57
+ if (!(0, type_guards_1.isProviderPluginCapable)(adapter)) {
58
+ throw new error_types_1.ValidationError(`Provider ${provider.name} does not support plugin installation`, {
59
+ providerId,
60
+ });
61
+ }
62
+ const binaryPath = await this.resolveProviderBinary(provider);
63
+ const result = await this.executor.run({
64
+ argv: [binaryPath, ...adapter.installProviderPlugin(normalizedPluginId)],
65
+ mode: 'pipe',
66
+ timeout: PLUGIN_COMMAND_TIMEOUT_MS,
67
+ outputLimits: { maxBytes: PLUGIN_COMMAND_MAX_BYTES },
68
+ });
69
+ this.assertCommandSucceeded(result, provider, 'installation');
70
+ this.catalogCache.delete(provider.id);
71
+ return {
72
+ success: true,
73
+ providerId: provider.id,
74
+ providerName: provider.name,
75
+ pluginId: normalizedPluginId,
76
+ };
77
+ }
78
+ async listProviderCatalog(provider, refresh) {
79
+ const cached = this.catalogCache.get(provider.id);
80
+ if (!refresh && cached && cached.expiresAt > Date.now()) {
81
+ return cached.items;
82
+ }
83
+ const adapter = this.adapterFactory.getAdapter(provider.name);
84
+ if (!(0, type_guards_1.isProviderPluginCapable)(adapter)) {
85
+ throw new error_types_1.ValidationError(`Provider ${provider.name} does not support plugin catalogs`, {
86
+ providerId: provider.id,
87
+ });
88
+ }
89
+ const binaryPath = await this.resolveProviderBinary(provider);
90
+ const result = await this.executor.run({
91
+ argv: [binaryPath, ...adapter.listProviderPlugins()],
92
+ mode: 'pipe',
93
+ timeout: PLUGIN_COMMAND_TIMEOUT_MS,
94
+ outputLimits: { maxBytes: PLUGIN_COMMAND_MAX_BYTES },
95
+ });
96
+ this.assertCommandSucceeded(result, provider, 'catalog');
97
+ let parsed;
98
+ try {
99
+ parsed = adapter.parseProviderPluginCatalog(result.stdout);
100
+ }
101
+ catch (error) {
102
+ throw new error_types_1.IOError(`Unable to parse ${provider.name} plugin catalog`, {
103
+ providerId: provider.id,
104
+ cause: error instanceof Error ? error.message : 'Unknown parser error',
105
+ });
106
+ }
107
+ const items = parsed.map((entry) => ({
108
+ ...entry,
109
+ providerId: provider.id,
110
+ providerName: provider.name,
111
+ }));
112
+ this.catalogCache.set(provider.id, {
113
+ expiresAt: Date.now() + CATALOG_TTL_MS,
114
+ items,
115
+ });
116
+ return items;
117
+ }
118
+ hasProviderPluginCapability(provider) {
119
+ if (!this.adapterFactory.isSupported(provider.name)) {
120
+ return false;
121
+ }
122
+ return (0, type_guards_1.isProviderPluginCapable)(this.adapterFactory.getAdapter(provider.name));
123
+ }
124
+ async resolveProviderBinary(provider) {
125
+ const candidate = provider.binPath ?? provider.name;
126
+ const binaryPath = await (0, resolve_binary_1.resolveBinary)(candidate, this.executor);
127
+ if (!binaryPath) {
128
+ throw new error_types_1.IOError(`Unable to resolve plugin provider binary for ${provider.name}`, {
129
+ providerId: provider.id,
130
+ });
131
+ }
132
+ return binaryPath;
133
+ }
134
+ assertCommandSucceeded(result, provider, operation) {
135
+ if (result.timedOut) {
136
+ throw new error_types_1.TimeoutError(`${provider.name} plugin ${operation} timed out`, {
137
+ providerId: provider.id,
138
+ });
139
+ }
140
+ if (operation === 'catalog' && result.truncated) {
141
+ throw new error_types_1.IOError(`${provider.name} plugin ${operation} output exceeded the size limit`, {
142
+ providerId: provider.id,
143
+ });
144
+ }
145
+ if (!result.success) {
146
+ throw new error_types_1.IOError(`${provider.name} plugin ${operation} failed`, {
147
+ providerId: provider.id,
148
+ exitCode: result.exitCode,
149
+ });
150
+ }
151
+ }
152
+ normalizePluginId(pluginId) {
153
+ const normalized = pluginId.trim();
154
+ if (normalized.length === 0 ||
155
+ normalized.length > MAX_PLUGIN_ID_LENGTH ||
156
+ ASCII_CONTROL_PATTERN.test(normalized)) {
157
+ throw new error_types_1.ValidationError('Plugin ID must contain 1 to 512 characters and no ASCII control characters.', { field: 'pluginId' });
158
+ }
159
+ return normalized;
160
+ }
161
+ };
162
+ exports.ProviderPluginsService = ProviderPluginsService;
163
+ exports.ProviderPluginsService = ProviderPluginsService = __decorate([
164
+ (0, common_1.Injectable)(),
165
+ __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
166
+ __metadata("design:paramtypes", [Object, provider_adapter_factory_1.ProviderAdapterFactory,
167
+ process_executor_port_1.ProcessExecutor])
168
+ ], ProviderPluginsService);
169
+ //# sourceMappingURL=provider-plugins.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-plugins.service.js","sourceRoot":"","sources":["../../../../src/modules/providers/services/provider-plugins.service.ts"],"names":[],"mappings":"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"}
@@ -52,9 +52,9 @@ export declare class TemplatesController {
52
52
  providerConfigs?: {
53
53
  name: string;
54
54
  providerName: string;
55
+ description?: string | null | undefined;
55
56
  options?: string | null | undefined;
56
57
  env?: Record<string, string> | null | undefined;
57
- description?: string | null | undefined;
58
58
  model?: string | null | undefined;
59
59
  effort?: string | null | undefined;
60
60
  position?: number | undefined;
@@ -62,6 +62,7 @@ export declare class TemplatesController {
62
62
  }[];
63
63
  agents: {
64
64
  name: string;
65
+ isProjectOwner: boolean;
65
66
  description?: string | null | undefined;
66
67
  id?: string | undefined;
67
68
  profileId?: string | undefined;
@@ -29,11 +29,11 @@ export declare const CreateReviewSchema: z.ZodObject<{
29
29
  }, "strip", z.ZodTypeAny, {
30
30
  status: "draft" | "pending" | "changes_requested" | "approved" | "closed";
31
31
  projectId: string;
32
+ createdBy: "agent" | "user";
32
33
  title: string;
33
34
  mode: "working_tree" | "commit";
34
35
  baseRef: string;
35
36
  headRef: string;
36
- createdBy: "agent" | "user";
37
37
  description?: string | null | undefined;
38
38
  epicId?: string | null | undefined;
39
39
  baseSha?: string | null | undefined;
@@ -46,11 +46,11 @@ export declare const CreateReviewSchema: z.ZodObject<{
46
46
  headRef: string;
47
47
  status?: "draft" | "pending" | "changes_requested" | "approved" | "closed" | undefined;
48
48
  description?: string | null | undefined;
49
+ createdBy?: "agent" | "user" | undefined;
49
50
  epicId?: string | null | undefined;
50
51
  mode?: "working_tree" | "commit" | undefined;
51
52
  baseSha?: string | null | undefined;
52
53
  headSha?: string | null | undefined;
53
- createdBy?: "agent" | "user" | undefined;
54
54
  createdByAgentId?: string | null | undefined;
55
55
  }>;
56
56
  export type CreateReviewDto = z.infer<typeof CreateReviewSchema>;
@@ -9,6 +9,12 @@ export interface PrepareClaudeLaunchSettingsInput {
9
9
  sessionId: string;
10
10
  epoch: string;
11
11
  projectRootPath: string;
12
+ pluginPolicy?: ReadonlyArray<ClaudePluginPolicyEntry>;
13
+ policyRequired?: boolean;
14
+ }
15
+ export interface ClaudePluginPolicyEntry {
16
+ pluginId: string;
17
+ enabled: boolean;
12
18
  }
13
19
  export interface PreparedClaudeLaunchSettings {
14
20
  optionArgs: string[];
@@ -20,9 +26,11 @@ export declare class ClaudeLaunchSettingsMaterializerService {
20
26
  private readonly rootPath;
21
27
  constructor(rootPath?: string);
22
28
  prepare(input: PrepareClaudeLaunchSettingsInput): Promise<PreparedClaudeLaunchSettings>;
29
+ private logFailOpen;
23
30
  cleanupSession(sessionId: string): Promise<void>;
24
31
  cleanupSessionSync(sessionId: string): void;
25
- private validateEligibility;
32
+ private prepareSettings;
33
+ private toPolicyValidationError;
26
34
  private hasCanonicalStatusLine;
27
35
  private materializeSettingsRevision;
28
36
  private materializeStatusLineScript;
@@ -19,6 +19,7 @@ const fs_1 = require("fs");
19
19
  const promises_1 = require("fs/promises");
20
20
  const path_1 = require("path");
21
21
  const shared_1 = require("@devchain/shared");
22
+ const error_types_1 = require("../../common/errors/error-types");
22
23
  const logger_1 = require("../../common/logging/logger");
23
24
  const profile_options_1 = require("../sessions/utils/profile-options");
24
25
  const runtime_context_capture_files_1 = require("./runtime-context-capture-files");
@@ -189,15 +190,32 @@ let ClaudeLaunchSettingsMaterializerService = class ClaudeLaunchSettingsMaterial
189
190
  this.rootPath = rootPath ?? (0, runtime_context_capture_files_1.getRuntimeContextCaptureRoot)();
190
191
  }
191
192
  async prepare(input) {
192
- const validation = this.validateEligibility(input);
193
- if (!validation)
193
+ const prepared = this.prepareSettings(input);
194
+ if (!prepared)
194
195
  return INACTIVE_RESULT;
196
+ let settingsPath;
195
197
  try {
196
- const settingsPath = await this.materializeSettingsRevision(input.settingsJson);
197
- const captureEnabled = this.hasCanonicalStatusLine(validation.parsed);
198
- if (!captureEnabled) {
199
- return { optionArgs: [SETTINGS_FLAG, settingsPath], runtimeEnv: {}, captureEnabled: false };
198
+ settingsPath = await this.materializeSettingsRevision(prepared.settingsJson);
199
+ }
200
+ catch {
201
+ await this.cleanupSession(input.sessionId);
202
+ if (prepared.policyRequired) {
203
+ throw new error_types_1.IOError('Failed to materialize required Claude plugin policy settings.', {
204
+ stage: 'settings_revision',
205
+ });
200
206
  }
207
+ this.logFailOpen(input.sessionId);
208
+ return INACTIVE_RESULT;
209
+ }
210
+ const settingsOnlyResult = {
211
+ optionArgs: [SETTINGS_FLAG, settingsPath],
212
+ runtimeEnv: {},
213
+ captureEnabled: false,
214
+ };
215
+ if (!this.hasCanonicalStatusLine(prepared.parsed)) {
216
+ return settingsOnlyResult;
217
+ }
218
+ try {
201
219
  await this.materializeStatusLineScript(input.projectRootPath);
202
220
  const locatorPath = await this.materializeSessionLocator(input.sessionId, input.epoch);
203
221
  return {
@@ -208,10 +226,17 @@ let ClaudeLaunchSettingsMaterializerService = class ClaudeLaunchSettingsMaterial
208
226
  }
209
227
  catch {
210
228
  await this.cleanupSession(input.sessionId);
211
- logger.warn({ sessionId: input.sessionId }, 'Claude launch settings materialization failed; launching without provider settings');
229
+ if (prepared.policyRequired) {
230
+ logger.warn({ sessionId: input.sessionId }, 'Claude status capture materialization failed; required plugin policy remains active');
231
+ return settingsOnlyResult;
232
+ }
233
+ this.logFailOpen(input.sessionId);
212
234
  return INACTIVE_RESULT;
213
235
  }
214
236
  }
237
+ logFailOpen(sessionId) {
238
+ logger.warn({ sessionId }, 'Claude launch settings materialization failed; launching without provider settings');
239
+ }
215
240
  async cleanupSession(sessionId) {
216
241
  const paths = this.getSessionPaths(sessionId);
217
242
  await Promise.all([
@@ -234,18 +259,79 @@ let ClaudeLaunchSettingsMaterializerService = class ClaudeLaunchSettingsMaterial
234
259
  }
235
260
  }
236
261
  }
237
- validateEligibility(input) {
238
- if (input.providerName.toLowerCase() !== 'claude')
262
+ prepareSettings(input) {
263
+ const pluginPolicy = input.pluginPolicy ?? [];
264
+ const policyRequired = input.policyRequired === true || pluginPolicy.length > 0;
265
+ if (input.providerName.toLowerCase() !== 'claude') {
266
+ if (policyRequired) {
267
+ throw new error_types_1.ValidationError('Required Claude plugin policy cannot target a non-Claude provider.');
268
+ }
239
269
  return null;
240
- if ((0, profile_options_1.hasFlagOccurrence)(input.profileOptionArgs, SETTINGS_FLAG))
270
+ }
271
+ if ((0, profile_options_1.hasFlagOccurrence)(input.profileOptionArgs, SETTINGS_FLAG)) {
272
+ if (policyRequired) {
273
+ throw new error_types_1.ConflictError('Profile-supplied --settings conflicts with required DevChain Claude plugin policy.', { field: 'profileOptions', flag: SETTINGS_FLAG });
274
+ }
241
275
  return null;
276
+ }
242
277
  const effectiveBaseUrl = input.configEnv?.ANTHROPIC_BASE_URL ?? input.providerEnv?.ANTHROPIC_BASE_URL;
243
- if (typeof effectiveBaseUrl === 'string' && effectiveBaseUrl.trim().length > 0)
244
- return null;
245
- const validation = (0, shared_1.validateClaudeLaunchSettingsJson)(input.settingsJson);
246
- if (!validation.valid || validation.parsed === null)
247
- return null;
248
- return { valid: true, parsed: validation.parsed };
278
+ const usesAlternateBase = typeof effectiveBaseUrl === 'string' && effectiveBaseUrl.trim().length > 0;
279
+ if (!policyRequired) {
280
+ if (usesAlternateBase)
281
+ return null;
282
+ const validation = (0, shared_1.validateClaudeLaunchSettingsJson)(input.settingsJson);
283
+ if (!validation.valid || validation.parsed === null)
284
+ return null;
285
+ return {
286
+ settingsJson: input.settingsJson,
287
+ parsed: validation.parsed,
288
+ policyRequired: false,
289
+ };
290
+ }
291
+ let base = {};
292
+ if (!usesAlternateBase && input.settingsJson !== null) {
293
+ const baseValidation = (0, shared_1.validateClaudeLaunchSettingsJson)(input.settingsJson);
294
+ if (!baseValidation.valid) {
295
+ throw this.toPolicyValidationError(baseValidation);
296
+ }
297
+ if (baseValidation.parsed === null) {
298
+ throw new error_types_1.ValidationError('Required Claude plugin policy settings have no merge base.', {
299
+ field: 'pluginPolicy',
300
+ });
301
+ }
302
+ base = baseValidation.parsed;
303
+ }
304
+ const existingEnabledPlugins = base.enabledPlugins;
305
+ const enabledPlugins = Object.assign(Object.create(null), existingEnabledPlugins ?? {});
306
+ for (const entry of pluginPolicy) {
307
+ if (typeof entry.pluginId !== 'string' || typeof entry.enabled !== 'boolean') {
308
+ throw new error_types_1.ValidationError('Resolved Claude plugin policy entries are invalid.', {
309
+ field: 'pluginPolicy',
310
+ });
311
+ }
312
+ enabledPlugins[entry.pluginId] = entry.enabled;
313
+ }
314
+ const settingsJson = JSON.stringify({ ...base, enabledPlugins }, null, 2);
315
+ const finalValidation = (0, shared_1.validateClaudeLaunchSettingsJson)(settingsJson);
316
+ if (!finalValidation.valid) {
317
+ throw this.toPolicyValidationError(finalValidation);
318
+ }
319
+ if (finalValidation.parsed === null) {
320
+ throw new error_types_1.ValidationError('Required Claude plugin policy settings did not compose.', {
321
+ field: 'pluginPolicy',
322
+ });
323
+ }
324
+ return {
325
+ settingsJson,
326
+ parsed: finalValidation.parsed,
327
+ policyRequired: true,
328
+ };
329
+ }
330
+ toPolicyValidationError(validation) {
331
+ return new error_types_1.ValidationError(`Required Claude plugin policy settings are invalid: ${validation.message}`, {
332
+ field: 'pluginPolicy',
333
+ ...(validation.path ? { path: validation.path } : {}),
334
+ });
249
335
  }
250
336
  hasCanonicalStatusLine(parsed) {
251
337
  const statusLine = parsed.statusLine;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-launch-settings-materializer.service.js","sourceRoot":"","sources":["../../../src/modules/runtime-context-capture/claude-launch-settings-materializer.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-launch-settings-materializer.service.js","sourceRoot":"","sources":["../../../src/modules/runtime-context-capture/claude-launch-settings-materializer.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ export declare const CODEX_PLUGIN_PROFILE_ROOT: unique symbol;
2
+ export interface CodexPluginPolicyEntry {
3
+ pluginId: string;
4
+ enabled: boolean;
5
+ }
6
+ export interface PrepareCodexPluginProfileInput {
7
+ projectId: string;
8
+ projectName: string;
9
+ sessionId: string;
10
+ pluginPolicy: ReadonlyArray<CodexPluginPolicyEntry>;
11
+ attemptNonce: string;
12
+ }
13
+ export interface PreparedCodexPluginProfile {
14
+ profileName: string;
15
+ projectDigest: string;
16
+ policyHash: string;
17
+ sourceRevisionPath: string;
18
+ helperPath: string;
19
+ sessionId: string;
20
+ attemptNonce: string;
21
+ referencePath: string;
22
+ locatorPath: string;
23
+ acknowledgementPath: string;
24
+ providerOptionArgs: string[];
25
+ }
26
+ declare const CODEX_PROFILE_HELPER_SOURCE: string;
27
+ export declare class CodexPluginProfileMaterializerService {
28
+ private readonly rootPath;
29
+ constructor(rootPath?: string);
30
+ prepare(input: PrepareCodexPluginProfileInput): Promise<PreparedCodexPluginProfile | null>;
31
+ buildHelperArgv(prepared: PreparedCodexPluginProfile, codexBinary: string, codexArgv: readonly string[], input: Pick<PrepareCodexPluginProfileInput, 'projectId' | 'attemptNonce'>): string[];
32
+ awaitAcknowledgement(prepared: PreparedCodexPluginProfile, input: Pick<PrepareCodexPluginProfileInput, 'projectId' | 'attemptNonce'>, timeoutMs?: number): Promise<string>;
33
+ cleanupPrepared(prepared: PreparedCodexPluginProfile): Promise<void>;
34
+ cleanupSession(sessionId: string): Promise<void>;
35
+ reconcileStartup(nonLiveSessionIds: ReadonlySet<string>): Promise<void>;
36
+ serializePolicy(policy: ReadonlyArray<CodexPluginPolicyEntry>): string;
37
+ private cleanupLifecycleLocators;
38
+ private cleanupLocator;
39
+ private hasLiveReference;
40
+ private acquireTargetLock;
41
+ private readProcessStartIdentity;
42
+ private readJsonFile;
43
+ private hashRegularFile;
44
+ private assertAcknowledgement;
45
+ private validateIdentity;
46
+ private validatePolicyEntry;
47
+ private validateCodexBinary;
48
+ private toProjectSlug;
49
+ private sha256;
50
+ private ensurePrivateDirectory;
51
+ private materializeImmutable;
52
+ }
53
+ export { CODEX_PROFILE_HELPER_SOURCE };