devchain-cli 0.12.1 → 0.12.3

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 (106) hide show
  1. package/README.md +4 -0
  2. package/dist/cli.js +154 -33
  3. package/dist/drizzle/0060_huge_proemial_gods.sql +12 -0
  4. package/dist/drizzle/0061_easy_silver_surfer.sql +2 -0
  5. package/dist/drizzle/meta/0060_snapshot.json +5170 -0
  6. package/dist/drizzle/meta/0061_snapshot.json +5163 -0
  7. package/dist/drizzle/meta/_journal.json +14 -0
  8. package/dist/server/common/config/env.config.d.ts +1 -1
  9. package/dist/server/common/config/env.config.js +9 -1
  10. package/dist/server/common/config/env.config.js.map +1 -1
  11. package/dist/server/common/config/host-helpers.d.ts +7 -0
  12. package/dist/server/common/config/host-helpers.js +34 -0
  13. package/dist/server/common/config/host-helpers.js.map +1 -0
  14. package/dist/server/main.js +5 -3
  15. package/dist/server/main.js.map +1 -1
  16. package/dist/server/modules/core/core-normal.module.js +3 -2
  17. package/dist/server/modules/core/core-normal.module.js.map +1 -1
  18. package/dist/server/modules/core/services/gemini-trusted-folders.service.d.ts +26 -0
  19. package/dist/server/modules/core/services/gemini-trusted-folders.service.js +181 -0
  20. package/dist/server/modules/core/services/gemini-trusted-folders.service.js.map +1 -0
  21. package/dist/server/modules/core/services/preflight.service.js +2 -1
  22. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  23. package/dist/server/modules/core/services/provider-mcp-ensure.service.d.ts +10 -1
  24. package/dist/server/modules/core/services/provider-mcp-ensure.service.js +86 -19
  25. package/dist/server/modules/core/services/provider-mcp-ensure.service.js.map +1 -1
  26. package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +2 -2
  27. package/dist/server/modules/events/catalog/index.d.ts +20 -2
  28. package/dist/server/modules/events/catalog/index.js +5 -1
  29. package/dist/server/modules/events/catalog/index.js.map +1 -1
  30. package/dist/server/modules/events/catalog/session.restored.d.ts +21 -0
  31. package/dist/server/modules/events/catalog/session.restored.js +14 -0
  32. package/dist/server/modules/events/catalog/session.restored.js.map +1 -0
  33. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +2 -2
  34. package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +1 -0
  35. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +91 -4
  36. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +1 -1
  37. package/dist/server/modules/projects/controllers/projects.controller.d.ts +4 -1
  38. package/dist/server/modules/projects/controllers/projects.controller.js +1 -1
  39. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  40. package/dist/server/modules/projects/projects.module.js +11 -2
  41. package/dist/server/modules/projects/projects.module.js.map +1 -1
  42. package/dist/server/modules/projects/services/project-provider-provisioning.service.d.ts +18 -0
  43. package/dist/server/modules/projects/services/project-provider-provisioning.service.js +92 -0
  44. package/dist/server/modules/projects/services/project-provider-provisioning.service.js.map +1 -0
  45. package/dist/server/modules/projects/services/projects.service.d.ts +9 -2
  46. package/dist/server/modules/projects/services/projects.service.js +31 -4
  47. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  48. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +4 -1
  49. package/dist/server/modules/providers/adapters/claude.adapter.js +6 -0
  50. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  51. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +4 -1
  52. package/dist/server/modules/providers/adapters/codex.adapter.js +6 -0
  53. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  54. package/dist/server/modules/providers/adapters/gemini.adapter.d.ts +6 -1
  55. package/dist/server/modules/providers/adapters/gemini.adapter.js +14 -3
  56. package/dist/server/modules/providers/adapters/gemini.adapter.js.map +1 -1
  57. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +4 -1
  58. package/dist/server/modules/providers/adapters/opencode.adapter.js +6 -0
  59. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  60. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +10 -0
  61. package/dist/server/modules/providers/controllers/providers.controller.d.ts +1 -0
  62. package/dist/server/modules/providers/controllers/providers.controller.js +1 -0
  63. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  64. package/dist/server/modules/reviews/dtos/review.dto.d.ts +2 -2
  65. package/dist/server/modules/session-reader/data/pricing.json +20 -0
  66. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +3 -3
  67. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
  68. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +3 -1
  69. package/dist/server/modules/sessions/controllers/sessions.controller.js +57 -0
  70. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  71. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +25 -1
  72. package/dist/server/modules/sessions/dtos/sessions.dto.js +4 -1
  73. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
  74. package/dist/server/modules/sessions/services/sessions.service.d.ts +35 -1
  75. package/dist/server/modules/sessions/services/sessions.service.js +480 -118
  76. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  77. package/dist/server/modules/sessions/utils/env-builder.d.ts +1 -1
  78. package/dist/server/modules/sessions/utils/env-builder.js +3 -3
  79. package/dist/server/modules/sessions/utils/env-builder.js.map +1 -1
  80. package/dist/server/modules/storage/db/schema.d.ts +38 -2
  81. package/dist/server/modules/storage/db/schema.js +4 -1
  82. package/dist/server/modules/storage/db/schema.js.map +1 -1
  83. package/dist/server/modules/subscribers/events/event-fields-catalog.js +12 -0
  84. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  85. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +6 -0
  86. package/dist/server/modules/terminal/gateways/terminal.gateway.js +17 -0
  87. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  88. package/dist/server/templates/3-agents-dev.json +111 -64
  89. package/dist/server/templates/5-agents-dev.json +153 -106
  90. package/dist/server/templates/teams-dev.json +160 -112
  91. package/dist/server/test-setup-node.js +7 -1
  92. package/dist/server/test-setup-node.js.map +1 -1
  93. package/dist/server/test-setup.js +7 -1
  94. package/dist/server/test-setup.js.map +1 -1
  95. package/dist/server/tsconfig.tsbuildinfo +1 -1
  96. package/dist/server/ui/assets/{ReviewDetailPage-CEMxN6RQ.js → ReviewDetailPage-Dy3PfRrg.js} +1 -1
  97. package/dist/server/ui/assets/{ReviewsPage-BzMksnGd.js → ReviewsPage-DUPZ_NtL.js} +1 -1
  98. package/dist/server/ui/assets/index-BzphIngp.css +32 -0
  99. package/dist/server/ui/assets/{index-Csagg3g2.js → index-CIlp3VXc.js} +219 -219
  100. package/dist/server/ui/assets/{useReviewSubscription-B2ejeWE4.js → useReviewSubscription-jEyfNAEJ.js} +1 -1
  101. package/dist/server/ui/index.html +2 -2
  102. package/dist/templates/3-agents-dev.json +111 -64
  103. package/dist/templates/5-agents-dev.json +153 -106
  104. package/dist/templates/teams-dev.json +160 -112
  105. package/package.json +18 -3
  106. package/dist/server/ui/assets/index-ChJ1IUMI.css +0 -32
@@ -2,7 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const common_1 = require("@nestjs/common");
4
4
  const env_config_1 = require("./common/config/env.config");
5
- common_1.Logger.overrideLogger(false);
5
+ let loggerErrorSpy;
6
+ beforeEach(() => {
7
+ loggerErrorSpy = jest.spyOn(common_1.Logger.prototype, 'error').mockImplementation();
8
+ });
9
+ afterEach(() => {
10
+ loggerErrorSpy.mockRestore();
11
+ });
6
12
  function applyBackendTestEnvIsolation() {
7
13
  process.env.PORT = '3000';
8
14
  delete process.env.REPO_ROOT;
@@ -1 +1 @@
1
- {"version":3,"file":"test-setup-node.js","sourceRoot":"","sources":["../src/test-setup-node.ts"],"names":[],"mappings":";;AAIA,2CAAwC;AACxC,2DAA4D;AAG5D,eAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE7B,SAAS,4BAA4B;IAEnC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7B,IAAA,2BAAc,GAAE,CAAC;AACnB,CAAC;AAED,4BAA4B,EAAE,CAAC;AAE/B,UAAU,CAAC,GAAG,EAAE;IACd,4BAA4B,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,4BAA4B,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAIH,IAAI,CAAE,MAAc,CAAC,YAAY,EAAE,CAAC;IAEjC,MAAc,CAAC,YAAY,GAAG,CAAC,EAA4B,EAAE,GAAG,IAAW,EAAE,EAAE,CAC9E,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"test-setup-node.js","sourceRoot":"","sources":["../src/test-setup-node.ts"],"names":[],"mappings":";;AAIA,2CAAwC;AACxC,2DAA4D;AAI5D,IAAI,cAAgC,CAAC;AACrC,UAAU,CAAC,GAAG,EAAE;IACd,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,eAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;AAC9E,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,GAAG,EAAE;IACb,cAAc,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,SAAS,4BAA4B;IAEnC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7B,IAAA,2BAAc,GAAE,CAAC;AACnB,CAAC;AAED,4BAA4B,EAAE,CAAC;AAE/B,UAAU,CAAC,GAAG,EAAE;IACd,4BAA4B,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,4BAA4B,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAIH,IAAI,CAAE,MAAc,CAAC,YAAY,EAAE,CAAC;IAEjC,MAAc,CAAC,YAAY,GAAG,CAAC,EAA4B,EAAE,GAAG,IAAW,EAAE,EAAE,CAC9E,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/B,CAAC"}
@@ -50,7 +50,13 @@ HTMLCanvasElement.prototype.getContext = jest.fn(function (contextId) {
50
50
  });
51
51
  expect.extend(jest_axe_1.toHaveNoViolations);
52
52
  globalThis.IS_REACT_ACT_ENVIRONMENT = true;
53
- common_1.Logger.overrideLogger(false);
53
+ let loggerErrorSpy;
54
+ beforeEach(() => {
55
+ loggerErrorSpy = jest.spyOn(common_1.Logger.prototype, 'error').mockImplementation();
56
+ });
57
+ afterEach(() => {
58
+ loggerErrorSpy.mockRestore();
59
+ });
54
60
  if (!global.TextEncoder) {
55
61
  global.TextEncoder = util_1.TextEncoder;
56
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"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"}