@wildo-ai/saas-backend-lib 1.1.8 → 1.1.9

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 (174) hide show
  1. package/dist/esm/data-seeding/models/data-seed.shared.schemas.d.ts +8 -0
  2. package/dist/esm/data-seeding/models/data-seed.shared.schemas.d.ts.map +1 -1
  3. package/dist/esm/data-seeding/models/data-seed.shared.schemas.js +17 -0
  4. package/dist/esm/data-seeding/models/data-seed.shared.schemas.js.map +1 -1
  5. package/dist/esm/data-seeding/services/data-seed-application-bootstrap.backend.d.ts.map +1 -1
  6. package/dist/esm/data-seeding/services/data-seed-application-bootstrap.backend.js +9 -1
  7. package/dist/esm/data-seeding/services/data-seed-application-bootstrap.backend.js.map +1 -1
  8. package/dist/esm/data-seeding/services/data-seed-environment-admission.backend.d.ts +23 -0
  9. package/dist/esm/data-seeding/services/data-seed-environment-admission.backend.d.ts.map +1 -0
  10. package/dist/esm/data-seeding/services/data-seed-environment-admission.backend.js +25 -0
  11. package/dist/esm/data-seeding/services/data-seed-environment-admission.backend.js.map +1 -0
  12. package/dist/esm/databases/services/postgresql-migration-runner.backend.d.ts +6 -0
  13. package/dist/esm/databases/services/postgresql-migration-runner.backend.d.ts.map +1 -1
  14. package/dist/esm/databases/services/postgresql-migration-runner.backend.js +8 -1
  15. package/dist/esm/databases/services/postgresql-migration-runner.backend.js.map +1 -1
  16. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +0 -1
  17. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
  18. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +4 -39
  19. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
  20. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +15 -4
  21. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
  22. package/dist/esm/flows-actors/services/agents.backend.service.js +21 -11
  23. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
  24. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts +47 -2
  25. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
  26. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +56 -8
  27. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
  28. package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
  29. package/dist/esm/queue/job-consumer.backend.service.js +21 -8
  30. package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
  31. package/dist/esm/queue/job-status-tracking.backend.service.d.ts.map +1 -1
  32. package/dist/esm/queue/job-status-tracking.backend.service.js +4 -1
  33. package/dist/esm/queue/job-status-tracking.backend.service.js.map +1 -1
  34. package/dist/esm/queue/queue.backend.service.d.ts +14 -0
  35. package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
  36. package/dist/esm/queue/queue.backend.service.js +68 -12
  37. package/dist/esm/queue/queue.backend.service.js.map +1 -1
  38. package/dist/esm/queue/scheduled-evidence-coverage.backend.d.ts +8 -0
  39. package/dist/esm/queue/scheduled-evidence-coverage.backend.d.ts.map +1 -1
  40. package/dist/esm/queue/scheduled-evidence-coverage.backend.js +20 -2
  41. package/dist/esm/queue/scheduled-evidence-coverage.backend.js.map +1 -1
  42. package/dist/esm/queue/scheduled-execution.backend.service.d.ts +44 -1
  43. package/dist/esm/queue/scheduled-execution.backend.service.d.ts.map +1 -1
  44. package/dist/esm/queue/scheduled-execution.backend.service.js +180 -10
  45. package/dist/esm/queue/scheduled-execution.backend.service.js.map +1 -1
  46. package/dist/esm/queue/scheduled-message-verifier.backend.service.d.ts +73 -21
  47. package/dist/esm/queue/scheduled-message-verifier.backend.service.d.ts.map +1 -1
  48. package/dist/esm/queue/scheduled-message-verifier.backend.service.js +162 -88
  49. package/dist/esm/queue/scheduled-message-verifier.backend.service.js.map +1 -1
  50. package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
  51. package/dist/esm/runtime/services/start-application.backend.service.js +16 -1
  52. package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
  53. package/package.json +10 -10
  54. package/dist/esm/__tests__/fixture-deep-partial.d.ts +0 -18
  55. package/dist/esm/__tests__/fixture-deep-partial.d.ts.map +0 -1
  56. package/dist/esm/__tests__/fixture-deep-partial.js +0 -1
  57. package/dist/esm/__tests__/fixture-deep-partial.js.map +0 -1
  58. package/dist/esm/__tests__/integration/redis-integration-gate.d.ts +0 -26
  59. package/dist/esm/__tests__/integration/redis-integration-gate.d.ts.map +0 -1
  60. package/dist/esm/__tests__/integration/redis-integration-gate.js +0 -105
  61. package/dist/esm/__tests__/integration/redis-integration-gate.js.map +0 -1
  62. package/dist/esm/__tests__/setup.d.ts +0 -7
  63. package/dist/esm/__tests__/setup.d.ts.map +0 -1
  64. package/dist/esm/__tests__/setup.js +0 -14
  65. package/dist/esm/__tests__/setup.js.map +0 -1
  66. package/dist/esm/__tests__/test-container.d.ts +0 -41
  67. package/dist/esm/__tests__/test-container.d.ts.map +0 -1
  68. package/dist/esm/__tests__/test-container.js +0 -98
  69. package/dist/esm/__tests__/test-container.js.map +0 -1
  70. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts +0 -47
  71. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts.map +0 -1
  72. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.js +0 -82
  73. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.js.map +0 -1
  74. package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.d.ts +0 -57
  75. package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.d.ts.map +0 -1
  76. package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.js +0 -172
  77. package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.js.map +0 -1
  78. package/dist/esm/base-classes/services/repositories/__tests__/repositories-registry-infrastructure-read.double.d.ts +0 -41
  79. package/dist/esm/base-classes/services/repositories/__tests__/repositories-registry-infrastructure-read.double.d.ts.map +0 -1
  80. package/dist/esm/base-classes/services/repositories/__tests__/repositories-registry-infrastructure-read.double.js +0 -54
  81. package/dist/esm/base-classes/services/repositories/__tests__/repositories-registry-infrastructure-read.double.js.map +0 -1
  82. package/dist/esm/billing/services/__tests__/subscription-provider-projection.test-double.d.ts +0 -20
  83. package/dist/esm/billing/services/__tests__/subscription-provider-projection.test-double.d.ts.map +0 -1
  84. package/dist/esm/billing/services/__tests__/subscription-provider-projection.test-double.js +0 -33
  85. package/dist/esm/billing/services/__tests__/subscription-provider-projection.test-double.js.map +0 -1
  86. package/dist/esm/billing/services/custom-impl/__tests__/plan-change-confirmation.fixture.d.ts +0 -22
  87. package/dist/esm/billing/services/custom-impl/__tests__/plan-change-confirmation.fixture.d.ts.map +0 -1
  88. package/dist/esm/billing/services/custom-impl/__tests__/plan-change-confirmation.fixture.js +0 -92
  89. package/dist/esm/billing/services/custom-impl/__tests__/plan-change-confirmation.fixture.js.map +0 -1
  90. package/dist/esm/billing/services/custom-impl/__tests__/subscription-keyed-mutation.fixture.d.ts +0 -15
  91. package/dist/esm/billing/services/custom-impl/__tests__/subscription-keyed-mutation.fixture.d.ts.map +0 -1
  92. package/dist/esm/billing/services/custom-impl/__tests__/subscription-keyed-mutation.fixture.js +0 -61
  93. package/dist/esm/billing/services/custom-impl/__tests__/subscription-keyed-mutation.fixture.js.map +0 -1
  94. package/dist/esm/billing/services/webhooks/__tests__/billing-event-authority.test-double.d.ts +0 -21
  95. package/dist/esm/billing/services/webhooks/__tests__/billing-event-authority.test-double.d.ts.map +0 -1
  96. package/dist/esm/billing/services/webhooks/__tests__/billing-event-authority.test-double.js +0 -32
  97. package/dist/esm/billing/services/webhooks/__tests__/billing-event-authority.test-double.js.map +0 -1
  98. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +0 -52
  99. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +0 -1
  100. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +0 -74
  101. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +0 -1
  102. package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts +0 -60
  103. package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts.map +0 -1
  104. package/dist/esm/config/services/__tests__/mock-app-configuration.service.js +0 -156
  105. package/dist/esm/config/services/__tests__/mock-app-configuration.service.js.map +0 -1
  106. package/dist/esm/config/services/__tests__/startup-validator-resources-registry.double.d.ts +0 -31
  107. package/dist/esm/config/services/__tests__/startup-validator-resources-registry.double.d.ts.map +0 -1
  108. package/dist/esm/config/services/__tests__/startup-validator-resources-registry.double.js +0 -47
  109. package/dist/esm/config/services/__tests__/startup-validator-resources-registry.double.js.map +0 -1
  110. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts +0 -20
  111. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts.map +0 -1
  112. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.js +0 -424
  113. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.js.map +0 -1
  114. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts +0 -19
  115. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts.map +0 -1
  116. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.js +0 -49
  117. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.js.map +0 -1
  118. package/dist/esm/flows-actors/services/__tests__/pending-decision.fixtures.d.ts +0 -43
  119. package/dist/esm/flows-actors/services/__tests__/pending-decision.fixtures.d.ts.map +0 -1
  120. package/dist/esm/flows-actors/services/__tests__/pending-decision.fixtures.js +0 -61
  121. package/dist/esm/flows-actors/services/__tests__/pending-decision.fixtures.js.map +0 -1
  122. package/dist/esm/inbound/services/__tests__/support/in-memory-infrastructure-repositories.d.ts +0 -25
  123. package/dist/esm/inbound/services/__tests__/support/in-memory-infrastructure-repositories.d.ts.map +0 -1
  124. package/dist/esm/inbound/services/__tests__/support/in-memory-infrastructure-repositories.js +0 -92
  125. package/dist/esm/inbound/services/__tests__/support/in-memory-infrastructure-repositories.js.map +0 -1
  126. package/dist/esm/meta-workflows/services/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.d.ts +0 -7
  127. package/dist/esm/meta-workflows/services/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.d.ts.map +0 -1
  128. package/dist/esm/meta-workflows/services/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.js +0 -194
  129. package/dist/esm/meta-workflows/services/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.js.map +0 -1
  130. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.d.ts +0 -34
  131. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.d.ts.map +0 -1
  132. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.js +0 -59
  133. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.js.map +0 -1
  134. package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.d.ts +0 -48
  135. package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.d.ts.map +0 -1
  136. package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.js +0 -53
  137. package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.js.map +0 -1
  138. package/dist/esm/notifications/services/__tests__/fixtures/personal-notification-browser/bundle.d.ts +0 -3
  139. package/dist/esm/notifications/services/__tests__/fixtures/personal-notification-browser/bundle.d.ts.map +0 -1
  140. package/dist/esm/notifications/services/__tests__/fixtures/personal-notification-browser/bundle.js +0 -19
  141. package/dist/esm/notifications/services/__tests__/fixtures/personal-notification-browser/bundle.js.map +0 -1
  142. package/dist/esm/notifications/services/__tests__/fixtures/personal-notification-browser/host.d.ts +0 -51
  143. package/dist/esm/notifications/services/__tests__/fixtures/personal-notification-browser/host.d.ts.map +0 -1
  144. package/dist/esm/notifications/services/__tests__/fixtures/personal-notification-browser/host.js +0 -24
  145. package/dist/esm/notifications/services/__tests__/fixtures/personal-notification-browser/host.js.map +0 -1
  146. package/dist/esm/notifications/services/__tests__/recipient-language.test-double.d.ts +0 -8
  147. package/dist/esm/notifications/services/__tests__/recipient-language.test-double.d.ts.map +0 -1
  148. package/dist/esm/notifications/services/__tests__/recipient-language.test-double.js +0 -9
  149. package/dist/esm/notifications/services/__tests__/recipient-language.test-double.js.map +0 -1
  150. package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.d.ts +0 -10
  151. package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.d.ts.map +0 -1
  152. package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.js +0 -18
  153. package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.js.map +0 -1
  154. package/dist/esm/security/api-keys/__tests__/api-key-usage-redis.double.d.ts +0 -11
  155. package/dist/esm/security/api-keys/__tests__/api-key-usage-redis.double.d.ts.map +0 -1
  156. package/dist/esm/security/api-keys/__tests__/api-key-usage-redis.double.js +0 -34
  157. package/dist/esm/security/api-keys/__tests__/api-key-usage-redis.double.js.map +0 -1
  158. package/dist/esm/security/authentications/__tests__/registration-onboarding.harness.d.ts +0 -105
  159. package/dist/esm/security/authentications/__tests__/registration-onboarding.harness.d.ts.map +0 -1
  160. package/dist/esm/security/authentications/__tests__/registration-onboarding.harness.js +0 -140
  161. package/dist/esm/security/authentications/__tests__/registration-onboarding.harness.js.map +0 -1
  162. package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.d.ts +0 -35
  163. package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.d.ts.map +0 -1
  164. package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.js +0 -46
  165. package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.js.map +0 -1
  166. package/dist/esm/security/connected-accounts/__tests__/support/real-connection-client-methods.d.ts +0 -2
  167. package/dist/esm/security/connected-accounts/__tests__/support/real-connection-client-methods.d.ts.map +0 -1
  168. package/dist/esm/security/connected-accounts/__tests__/support/real-connection-client-methods.js +0 -18
  169. package/dist/esm/security/connected-accounts/__tests__/support/real-connection-client-methods.js.map +0 -1
  170. package/dist/esm/systems-of-record/credentials/__tests__/certificate-fixtures.d.ts +0 -20
  171. package/dist/esm/systems-of-record/credentials/__tests__/certificate-fixtures.d.ts.map +0 -1
  172. package/dist/esm/systems-of-record/credentials/__tests__/certificate-fixtures.js +0 -56
  173. package/dist/esm/systems-of-record/credentials/__tests__/certificate-fixtures.js.map +0 -1
  174. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -1,59 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- /**
8
- * Vitest-oriented mock logger for integration tests (`vi.fn` on methods).
9
- *
10
- * **Naming**: `mock-*.service.ts` — canonical mock module, not a test suite.
11
- * Plain `.ts` keeps it barrel-compilable, and Vitest also excludes these files
12
- * explicitly as a defensive guard.
13
- */
14
- import 'reflect-metadata';
15
- import { injectable } from 'inversify';
16
- import { vi } from 'vitest';
17
- let MockLoggerServiceImpl = class MockLoggerServiceImpl {
18
- debugTypes = new Map();
19
- info = vi.fn((..._args) => { });
20
- warn = vi.fn((..._args) => { });
21
- error = vi.fn((..._args) => { });
22
- debug = vi.fn((..._args) => { });
23
- trace = vi.fn((..._args) => { });
24
- fatal = vi.fn((..._args) => { });
25
- child = vi.fn(() => this);
26
- debugByType = vi.fn((type) => {
27
- return (message, context) => {
28
- if (this.debugTypes.get(type)) {
29
- this.debug(`[${type}] ${message}`, context);
30
- }
31
- };
32
- });
33
- setDebugTypeLogging = vi.fn((type, enabled) => {
34
- this.debugTypes.set(type, enabled);
35
- });
36
- reset() {
37
- this.info.mockClear();
38
- this.warn.mockClear();
39
- this.error.mockClear();
40
- this.debug.mockClear();
41
- this.trace.mockClear();
42
- this.fatal.mockClear();
43
- this.child.mockClear();
44
- this.debugByType.mockClear();
45
- this.setDebugTypeLogging.mockClear();
46
- this.debugTypes.clear();
47
- }
48
- };
49
- MockLoggerServiceImpl = __decorate([
50
- injectable()
51
- ], MockLoggerServiceImpl);
52
- /**
53
- * Re-typed constructor — same reason as the error-builder doubles: the production class this is
54
- * handed to declares `private` members, which TypeScript matches by DECLARATION SITE, so a
55
- * structural double can never be assignable to it. The intersection preserves the mock surface
56
- * (`.mock.calls` and friends) that a plain assertion would erase.
57
- */
58
- export const MockLoggerService = MockLoggerServiceImpl;
59
- //# sourceMappingURL=mock-logger.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-logger.service.js","sourceRoot":"","sources":["../../../../../../../src/monitoring/logger/services/__tests__/mock-logger.service.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;GAMG;AACH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAI5B,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACjB,UAAU,GAAyB,IAAI,GAAG,EAAE,CAAC;IAErD,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAY,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;IACtC,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAY,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;IACtC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAY,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAY,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAY,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAY,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;IAEvC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,GAA0B,EAAE,CAAC,IAAI,CAAC,CAAC;IAEjD,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;QACnC,OAAO,CAAC,OAAe,EAAE,OAAiC,EAAE,EAAE;YAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,OAAgB,EAAE,EAAE;QAC7D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AApCK,qBAAqB;IAD1B,UAAU,EAAE;GACP,qBAAqB,CAoC1B;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAEhC,CAAC","sourcesContent":["/**\n * Vitest-oriented mock logger for integration tests (`vi.fn` on methods).\n *\n * **Naming**: `mock-*.service.ts` — canonical mock module, not a test suite.\n * Plain `.ts` keeps it barrel-compilable, and Vitest also excludes these files\n * explicitly as a defensive guard.\n */\nimport 'reflect-metadata';\nimport { injectable } from 'inversify';\nimport { vi } from 'vitest';\nimport type { LoggerService } from '../logger.service';\n\n@injectable()\nclass MockLoggerServiceImpl {\n private debugTypes: Map<string, boolean> = new Map();\n\n info = vi.fn((..._args: any[]) => {});\n warn = vi.fn((..._args: any[]) => {});\n error = vi.fn((..._args: any[]) => {});\n debug = vi.fn((..._args: any[]) => {});\n trace = vi.fn((..._args: any[]) => {});\n fatal = vi.fn((..._args: any[]) => {});\n\n child = vi.fn((): MockLoggerServiceImpl => this);\n\n debugByType = vi.fn((type: string) => {\n return (message: string, context?: Record<string, unknown>) => {\n if (this.debugTypes.get(type)) {\n this.debug(`[${type}] ${message}`, context);\n }\n };\n });\n\n setDebugTypeLogging = vi.fn((type: string, enabled: boolean) => {\n this.debugTypes.set(type, enabled);\n });\n\n reset() {\n this.info.mockClear();\n this.warn.mockClear();\n this.error.mockClear();\n this.debug.mockClear();\n this.trace.mockClear();\n this.fatal.mockClear();\n this.child.mockClear();\n this.debugByType.mockClear();\n this.setDebugTypeLogging.mockClear();\n this.debugTypes.clear();\n }\n}\n\n/**\n * Re-typed constructor — same reason as the error-builder doubles: the production class this is\n * handed to declares `private` members, which TypeScript matches by DECLARATION SITE, so a\n * structural double can never be assignable to it. The intersection preserves the mock surface\n * (`.mock.calls` and friends) that a plain assertion would erase.\n */\nexport const MockLoggerService = MockLoggerServiceImpl as unknown as {\n new (...args: ConstructorParameters<typeof MockLoggerServiceImpl>): LoggerService & MockLoggerServiceImpl;\n};\nexport type MockLoggerService = LoggerService & MockLoggerServiceImpl;\n"]}
@@ -1,48 +0,0 @@
1
- /**
2
- * Vitest-oriented mock metrics service for integration tests
3
- * (`vi.fn` on every `record*` method so call sites are fully assertable).
4
- *
5
- * **Naming**: `mock-*.service.ts` — canonical mock module, not a test
6
- * suite. Plain `.ts` keeps it barrel-compilable, and Vitest also
7
- * excludes these files explicitly as a defensive guard.
8
- *
9
- * The mock implements the methods the dispatcher (and the shared
10
- * data-seed ledger writers) actually call — the real
11
- * `MetricsService` exposes many more `record*` helpers but we only
12
- * stub what the data-seeding code path needs. Adding a stub for a
13
- * future call site is a one-line `vi.fn()` addition.
14
- */
15
- import 'reflect-metadata';
16
- export declare class MockMetricsService {
17
- recordDataSeedingLazyCacheHit: import("vitest").Mock<[_params: {
18
- seedKey: string;
19
- scopeKind: string;
20
- }], void>;
21
- recordDataSeedingLazyCacheMiss: import("vitest").Mock<[_params: {
22
- seedKey: string;
23
- scopeKind: string;
24
- }], void>;
25
- recordDataSeedingThunderHerdBowout: import("vitest").Mock<[_params: {
26
- seedKey: string;
27
- scopeKind: string;
28
- reason: "concurrent-completed" | "concurrent-running";
29
- }], void>;
30
- recordDataSeedingRun: import("vitest").Mock<[_params: {
31
- seedKey: string;
32
- mode: string;
33
- status: string;
34
- triggerOrigin: string;
35
- scopeKind: string;
36
- }], void>;
37
- recordDataSeedingAdminListSeedsDuration: import("vitest").Mock<[_params: {
38
- durationMs: number;
39
- seedCount: number;
40
- }], void>;
41
- /**
42
- * Reset every counter mock between tests. Mirrors the
43
- * `MockLoggerService.reset()` pattern so suites can call
44
- * `metrics.reset()` in `beforeEach` without iterating over keys.
45
- */
46
- reset(): void;
47
- }
48
- //# sourceMappingURL=mock-metrics.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-metrics.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/monitoring/observability/services/__tests__/mock-metrics.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,kBAAkB,CAAC;AAI1B,qBACa,kBAAkB;IAM7B,6BAA6B;iBACN,MAAM;mBAAa,MAAM;cAC9C;IACF,8BAA8B;iBACP,MAAM;mBAAa,MAAM;cAC9C;IACF,kCAAkC;iBAErB,MAAM;mBACJ,MAAM;gBACT,sBAAsB,GAAG,oBAAoB;cAEvD;IACF,oBAAoB;iBAEP,MAAM;cACT,MAAM;gBACJ,MAAM;uBACC,MAAM;mBAKV,MAAM;cAEnB;IAEF,uCAAuC;oBACb,MAAM;mBAAa,MAAM;cACjD;IAEF;;;;OAIG;IACH,KAAK;CAON"}
@@ -1,53 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- /**
8
- * Vitest-oriented mock metrics service for integration tests
9
- * (`vi.fn` on every `record*` method so call sites are fully assertable).
10
- *
11
- * **Naming**: `mock-*.service.ts` — canonical mock module, not a test
12
- * suite. Plain `.ts` keeps it barrel-compilable, and Vitest also
13
- * excludes these files explicitly as a defensive guard.
14
- *
15
- * The mock implements the methods the dispatcher (and the shared
16
- * data-seed ledger writers) actually call — the real
17
- * `MetricsService` exposes many more `record*` helpers but we only
18
- * stub what the data-seeding code path needs. Adding a stub for a
19
- * future call site is a one-line `vi.fn()` addition.
20
- */
21
- import 'reflect-metadata';
22
- import { injectable } from 'inversify';
23
- import { vi } from 'vitest';
24
- let MockMetricsService = class MockMetricsService {
25
- // Phase 6.D / F-17 — Data Seeding counters (4 typed methods on the
26
- // real MetricsService). Each `record*` method must accept the same
27
- // parameter shape the production code passes; `vi.fn` records every
28
- // call so test assertions can verify both invocation count and
29
- // exact label payload.
30
- recordDataSeedingLazyCacheHit = vi.fn((_params) => { });
31
- recordDataSeedingLazyCacheMiss = vi.fn((_params) => { });
32
- recordDataSeedingThunderHerdBowout = vi.fn((_params) => { });
33
- recordDataSeedingRun = vi.fn((_params) => { });
34
- // Phase 5/6 audit L-4 — admin `GET /seeds` duration histogram.
35
- recordDataSeedingAdminListSeedsDuration = vi.fn((_params) => { });
36
- /**
37
- * Reset every counter mock between tests. Mirrors the
38
- * `MockLoggerService.reset()` pattern so suites can call
39
- * `metrics.reset()` in `beforeEach` without iterating over keys.
40
- */
41
- reset() {
42
- this.recordDataSeedingLazyCacheHit.mockClear();
43
- this.recordDataSeedingLazyCacheMiss.mockClear();
44
- this.recordDataSeedingThunderHerdBowout.mockClear();
45
- this.recordDataSeedingRun.mockClear();
46
- this.recordDataSeedingAdminListSeedsDuration.mockClear();
47
- }
48
- };
49
- MockMetricsService = __decorate([
50
- injectable()
51
- ], MockMetricsService);
52
- export { MockMetricsService };
53
- //# sourceMappingURL=mock-metrics.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-metrics.service.js","sourceRoot":"","sources":["../../../../../../../src/monitoring/observability/services/__tests__/mock-metrics.service.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAGrB,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,mEAAmE;IACnE,mEAAmE;IACnE,oEAAoE;IACpE,+DAA+D;IAC/D,uBAAuB;IACvB,6BAA6B,GAAG,EAAE,CAAC,EAAE,CACnC,CAAC,OAA+C,EAAE,EAAE,GAAE,CAAC,CACxD,CAAC;IACF,8BAA8B,GAAG,EAAE,CAAC,EAAE,CACpC,CAAC,OAA+C,EAAE,EAAE,GAAE,CAAC,CACxD,CAAC;IACF,kCAAkC,GAAG,EAAE,CAAC,EAAE,CACxC,CAAC,OAIA,EAAE,EAAE,GAAE,CAAC,CACT,CAAC;IACF,oBAAoB,GAAG,EAAE,CAAC,EAAE,CAC1B,CAAC,OAUA,EAAE,EAAE,GAAE,CAAC,CACT,CAAC;IACF,+DAA+D;IAC/D,uCAAuC,GAAG,EAAE,CAAC,EAAE,CAC7C,CAAC,OAAkD,EAAE,EAAE,GAAE,CAAC,CAC3D,CAAC;IAEF;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,CAAC;QAC/C,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC,kCAAkC,CAAC,SAAS,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,uCAAuC,CAAC,SAAS,EAAE,CAAC;IAC3D,CAAC;CACF,CAAA;AAjDY,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAiD9B","sourcesContent":["/**\n * Vitest-oriented mock metrics service for integration tests\n * (`vi.fn` on every `record*` method so call sites are fully assertable).\n *\n * **Naming**: `mock-*.service.ts` — canonical mock module, not a test\n * suite. Plain `.ts` keeps it barrel-compilable, and Vitest also\n * excludes these files explicitly as a defensive guard.\n *\n * The mock implements the methods the dispatcher (and the shared\n * data-seed ledger writers) actually call — the real\n * `MetricsService` exposes many more `record*` helpers but we only\n * stub what the data-seeding code path needs. Adding a stub for a\n * future call site is a one-line `vi.fn()` addition.\n */\nimport 'reflect-metadata';\nimport { injectable } from 'inversify';\nimport { vi } from 'vitest';\n\n@injectable()\nexport class MockMetricsService {\n // Phase 6.D / F-17 — Data Seeding counters (4 typed methods on the\n // real MetricsService). Each `record*` method must accept the same\n // parameter shape the production code passes; `vi.fn` records every\n // call so test assertions can verify both invocation count and\n // exact label payload.\n recordDataSeedingLazyCacheHit = vi.fn(\n (_params: { seedKey: string; scopeKind: string }) => {},\n );\n recordDataSeedingLazyCacheMiss = vi.fn(\n (_params: { seedKey: string; scopeKind: string }) => {},\n );\n recordDataSeedingThunderHerdBowout = vi.fn(\n (_params: {\n seedKey: string;\n scopeKind: string;\n reason: 'concurrent-completed' | 'concurrent-running';\n }) => {},\n );\n recordDataSeedingRun = vi.fn(\n (_params: {\n seedKey: string;\n mode: string;\n status: string;\n triggerOrigin: string;\n // Phase 5/6 audit H-2 — added so the mock matches the production\n // signature; tests asserting on the terminal-counter label set\n // (e.g. dispatcher backend tests, data-seed-run-ledger tests)\n // now see `scope_kind` in their captured `vi.fn` calls.\n scopeKind: string;\n }) => {},\n );\n // Phase 5/6 audit L-4 — admin `GET /seeds` duration histogram.\n recordDataSeedingAdminListSeedsDuration = vi.fn(\n (_params: { durationMs: number; seedCount: number }) => {},\n );\n\n /**\n * Reset every counter mock between tests. Mirrors the\n * `MockLoggerService.reset()` pattern so suites can call\n * `metrics.reset()` in `beforeEach` without iterating over keys.\n */\n reset() {\n this.recordDataSeedingLazyCacheHit.mockClear();\n this.recordDataSeedingLazyCacheMiss.mockClear();\n this.recordDataSeedingThunderHerdBowout.mockClear();\n this.recordDataSeedingRun.mockClear();\n this.recordDataSeedingAdminListSeedsDuration.mockClear();\n }\n}\n"]}
@@ -1,3 +0,0 @@
1
- /** Bundle production bridge/provider with explicit host fixtures, without changing application output. */
2
- export declare function notificationBrowserBundle(root: string): Promise<string>;
3
- //# sourceMappingURL=bundle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../../../../src/notifications/services/__tests__/fixtures/personal-notification-browser/bundle.ts"],"names":[],"mappings":"AAGA,0GAA0G;AAC1G,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa7E"}
@@ -1,19 +0,0 @@
1
- import { createRequire } from 'node:module';
2
- import { resolve } from 'node:path';
3
- import { fileURLToPath } from 'node:url';
4
- /** Bundle production bridge/provider with explicit host fixtures, without changing application output. */
5
- export async function notificationBrowserBundle(root) {
6
- const require = createRequire(resolve(root, 'engine/saas-frontend-lib/package.json'));
7
- const { build } = createRequire(require.resolve('vite'))('esbuild');
8
- const fixture = fileURLToPath(new URL('./host.ts', import.meta.url));
9
- const result = await build({ entryPoints: [fileURLToPath(new URL('./entry.tsx', import.meta.url))], write: false,
10
- bundle: true, platform: 'browser', format: 'iife', tsconfig: resolve(root, 'engine/saas-frontend-lib/tsconfig.json'),
11
- nodePaths: [resolve(root, 'engine/saas-frontend-lib/node_modules')], define: { 'process.env.NODE_ENV': '"development"' },
12
- plugins: [{ name: 'notification-host-fixtures', setup(b) {
13
- b.onResolve({ filter: /(?:useEventBus|useWebSocket|useI18n|useResourceRegistry|logger.frontend.service|frontend-resource.utils|websocket-resource-validation.frontend.service)$/ }, () => ({ path: fixture }));
14
- b.onResolve({ filter: /^@wildo-ai\/saas-models$/ }, () => ({ path: resolve(root, 'engine/saas-models/src/index.ts') }));
15
- } }],
16
- });
17
- return result.outputFiles[0].text;
18
- }
19
- //# sourceMappingURL=bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../../../../../../src/notifications/services/__tests__/fixtures/personal-notification-browser/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,0GAA0G;AAC1G,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAY;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC,CAAC;IACtF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK;QAC9G,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,wCAAwC,CAAC;QACpH,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,EAAE,eAAe,EAAE;QACxH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAyF;oBAC7I,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,0JAA0J,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC/M,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,iCAAiC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1H,CAAC,EAAE,CAAC;KACL,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,CAAC","sourcesContent":["import { createRequire } from 'node:module';\nimport { resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n/** Bundle production bridge/provider with explicit host fixtures, without changing application output. */\nexport async function notificationBrowserBundle(root: string): Promise<string> {\n const require = createRequire(resolve(root, 'engine/saas-frontend-lib/package.json'));\n const { build } = createRequire(require.resolve('vite'))('esbuild');\n const fixture = fileURLToPath(new URL('./host.ts', import.meta.url));\n const result = await build({ entryPoints: [fileURLToPath(new URL('./entry.tsx', import.meta.url))], write: false,\n bundle: true, platform: 'browser', format: 'iife', tsconfig: resolve(root, 'engine/saas-frontend-lib/tsconfig.json'),\n nodePaths: [resolve(root, 'engine/saas-frontend-lib/node_modules')], define: { 'process.env.NODE_ENV': '\"development\"' },\n plugins: [{ name: 'notification-host-fixtures', setup(b: { onResolve: (options: { filter: RegExp }, callback: () => { path: string }) => void }) {\n b.onResolve({ filter: /(?:useEventBus|useWebSocket|useI18n|useResourceRegistry|logger.frontend.service|frontend-resource.utils|websocket-resource-validation.frontend.service)$/ }, () => ({ path: fixture }));\n b.onResolve({ filter: /^@wildo-ai\\/saas-models$/ }, () => ({ path: resolve(root, 'engine/saas-models/src/index.ts') }));\n } }],\n });\n return result.outputFiles[0].text;\n}\n"]}
@@ -1,51 +0,0 @@
1
- export declare const wsHandlers: Map<string, (payload: any) => void>;
2
- export declare const bus: {
3
- on(name: string, fn: (p: any) => void): () => boolean;
4
- emit(name: string, payload: any): void;
5
- };
6
- export declare const useEventBus: () => {
7
- on(name: string, fn: (p: any) => void): () => boolean;
8
- emit(name: string, payload: any): void;
9
- };
10
- export declare const useWebSocket: () => {
11
- isConnected: boolean;
12
- on(name: string, fn: (p: any) => void): () => boolean;
13
- };
14
- export declare const useResourceRegistry: () => {
15
- getResourcesRegistry: () => {
16
- resourceConfigurations: {
17
- documents: {
18
- resourceIdentifier: string;
19
- operations: any[];
20
- resourceRelationships: {
21
- parentRelationships: any[];
22
- childRelationships: any[];
23
- selfRelationships: any[];
24
- };
25
- };
26
- };
27
- fieldIdentifierToResourceType: {};
28
- };
29
- };
30
- export declare const useI18n: () => {
31
- tNotificationCustom: (key: string) => string;
32
- tResourceOperation: (key: string) => string;
33
- tComponent: (key: string) => string;
34
- tErrorMessage: (key: string) => string;
35
- t: (key: string) => string;
36
- isReady: boolean;
37
- };
38
- export declare const LoggerFrontendService: {
39
- getLogger: () => {};
40
- };
41
- export declare const FrontendResourceUtils: {
42
- flattenContextIdentifiers: (x: unknown) => unknown;
43
- buildContextualParameters: () => {};
44
- };
45
- export declare const frontendResourceUtils: {
46
- buildParentResourcesRequirements: () => any[];
47
- };
48
- export declare class WebSocketResourceValidationService {
49
- validateWebSocketResourceData(data: unknown): unknown;
50
- }
51
- //# sourceMappingURL=host.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../../../../../../src/notifications/services/__tests__/fixtures/personal-notification-browser/host.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,wBAA6B,GAAG,KAAK,IAAI,CAAG,CAAC;AACpE,eAAO,MAAM,GAAG;aACL,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI;eAC1B,MAAM,WAAW,GAAG;CAChC,CAAC;AACF,eAAO,MAAM,WAAW;aAHb,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI;eAC1B,MAAM,WAAW,GAAG;CAEG,CAAC;AACrC,eAAO,MAAM,YAAY;;aAAwC,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI;CAAwE,CAAC;AAEtK,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;CAAmD,CAAC;AAEpF,eAAO,MAAM,OAAO;+BADI,MAAM;8BAAN,MAAM;sBAAN,MAAM;yBAAN,MAAM;aAAN,MAAM;;CACgJ,CAAC;AAE/K,eAAO,MAAM,qBAAqB;;CAA8B,CAAC;AACjE,eAAO,MAAM,qBAAqB;mCAAoC,OAAO;;CAA+C,CAAC;AAC7H,eAAO,MAAM,qBAAqB;;CAAiD,CAAC;AACpF,qBAAa,kCAAkC;IAAG,6BAA6B,CAAC,IAAI,EAAE,OAAO;CAAoB"}
@@ -1,24 +0,0 @@
1
- // Host-only fixture adapters: event transport, registry, translations and diagnostic logger.
2
- // Notification policy and WebSocketEventBridge run from their production source files.
3
- const handlers = new Map();
4
- export const wsHandlers = new Map();
5
- export const bus = {
6
- on(name, fn) { if (!handlers.has(name))
7
- handlers.set(name, new Set()); handlers.get(name).add(fn); return () => handlers.get(name).delete(fn); },
8
- emit(name, payload) { globalThis.eventLog ??= []; globalThis.eventLog.push({ name, payload }); for (const fn of handlers.get(name) ?? [])
9
- fn(payload); },
10
- };
11
- export const useEventBus = () => bus;
12
- export const useWebSocket = () => ({ isConnected: true, on(name, fn) { wsHandlers.set(name, fn); return () => wsHandlers.delete(name); } });
13
- const registry = { resourceConfigurations: { documents: { resourceIdentifier: 'documents', operations: [], resourceRelationships: { parentRelationships: [], childRelationships: [], selfRelationships: [] } } }, fieldIdentifierToResourceType: {} };
14
- export const useResourceRegistry = () => ({ getResourcesRegistry: () => registry });
15
- const translate = (key) => key;
16
- export const useI18n = () => ({ tNotificationCustom: translate, tResourceOperation: translate, tComponent: translate, tErrorMessage: translate, t: translate, isReady: true });
17
- const logger = new Proxy({}, { get: (_, key) => key === 'debugByType' ? () => () => { } : () => { } });
18
- export const LoggerFrontendService = { getLogger: () => logger };
19
- export const FrontendResourceUtils = { flattenContextIdentifiers: (x) => x, buildContextualParameters: () => ({}) };
20
- export const frontendResourceUtils = { buildParentResourcesRequirements: () => [] };
21
- export class WebSocketResourceValidationService {
22
- validateWebSocketResourceData(data) { return data; }
23
- }
24
- //# sourceMappingURL=host.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../../../../src/notifications/services/__tests__/fixtures/personal-notification-browser/host.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,uFAAuF;AACvF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuC,CAAC;AAChE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;AACpE,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,EAAE,CAAC,IAAY,EAAE,EAAoB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5K,IAAI,CAAC,IAAY,EAAE,OAAY,IAAK,UAAkB,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAE,UAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACxL,CAAC;AACF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,IAAY,EAAE,EAAoB,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACtK,MAAM,QAAQ,GAAG,EAAE,sBAAsB,EAAE,EAAE,SAAS,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,6BAA6B,EAAE,EAAE,EAAE,CAAC;AACtP,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AACpF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/K,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,yBAAyB,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,EAAE,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7H,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,gCAAgC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AACpF,MAAM,OAAO,kCAAkC;IAAG,6BAA6B,CAAC,IAAa,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC;CAAE","sourcesContent":["// Host-only fixture adapters: event transport, registry, translations and diagnostic logger.\n// Notification policy and WebSocketEventBridge run from their production source files.\nconst handlers = new Map<string, Set<(payload: any) => void>>();\nexport const wsHandlers = new Map<string, (payload: any) => void>();\nexport const bus = {\n on(name: string, fn: (p: any) => void) { if (!handlers.has(name)) handlers.set(name, new Set()); handlers.get(name)!.add(fn); return () => handlers.get(name)!.delete(fn); },\n emit(name: string, payload: any) { (globalThis as any).eventLog ??= []; (globalThis as any).eventLog.push({ name, payload }); for (const fn of handlers.get(name) ?? []) fn(payload); },\n};\nexport const useEventBus = () => bus;\nexport const useWebSocket = () => ({ isConnected: true, on(name: string, fn: (p: any) => void) { wsHandlers.set(name, fn); return () => wsHandlers.delete(name); } });\nconst registry = { resourceConfigurations: { documents: { resourceIdentifier: 'documents', operations: [], resourceRelationships: { parentRelationships: [], childRelationships: [], selfRelationships: [] } } }, fieldIdentifierToResourceType: {} };\nexport const useResourceRegistry = () => ({ getResourcesRegistry: () => registry });\nconst translate = (key: string) => key;\nexport const useI18n = () => ({ tNotificationCustom: translate, tResourceOperation: translate, tComponent: translate, tErrorMessage: translate, t: translate, isReady: true });\nconst logger = new Proxy({}, { get: (_, key) => key === 'debugByType' ? () => () => {} : () => {} });\nexport const LoggerFrontendService = { getLogger: () => logger };\nexport const FrontendResourceUtils = { flattenContextIdentifiers: (x: unknown) => x, buildContextualParameters: () => ({}) };\nexport const frontendResourceUtils = { buildParentResourcesRequirements: () => [] };\nexport class WebSocketResourceValidationService { validateWebSocketResourceData(data: unknown) { return data; } }\n"]}
@@ -1,8 +0,0 @@
1
- import { AvailableLanguage } from '@wildo-ai/presets-components-models';
2
- import type { RecipientLanguageBackendService } from '../recipient-language.backend.service';
3
- /**
4
- * A `RecipientLanguageBackendService` that answers one fixed language for everyone — for tests of classes
5
- * that send a per-person email but are not about which language it is written in.
6
- */
7
- export declare function fixedRecipientLanguage(language?: AvailableLanguage): RecipientLanguageBackendService;
8
- //# sourceMappingURL=recipient-language.test-double.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recipient-language.test-double.d.ts","sourceRoot":"","sources":["../../../../../../src/notifications/services/__tests__/recipient-language.test-double.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AAE7F;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,GAAE,iBAAwC,GAAG,+BAA+B,CAE1H"}
@@ -1,9 +0,0 @@
1
- import { AvailableLanguage } from '@wildo-ai/presets-components-models';
2
- /**
3
- * A `RecipientLanguageBackendService` that answers one fixed language for everyone — for tests of classes
4
- * that send a per-person email but are not about which language it is written in.
5
- */
6
- export function fixedRecipientLanguage(language = AvailableLanguage.EN) {
7
- return { forUser: async () => language };
8
- }
9
- //# sourceMappingURL=recipient-language.test-double.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recipient-language.test-double.js","sourceRoot":"","sources":["../../../../../../src/notifications/services/__tests__/recipient-language.test-double.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAGxE;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAA8B,iBAAiB,CAAC,EAAE;IACvF,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAgD,CAAC;AACzF,CAAC","sourcesContent":["import { AvailableLanguage } from '@wildo-ai/presets-components-models';\nimport type { RecipientLanguageBackendService } from '../recipient-language.backend.service';\n\n/**\n * A `RecipientLanguageBackendService` that answers one fixed language for everyone — for tests of classes\n * that send a per-person email but are not about which language it is written in.\n */\nexport function fixedRecipientLanguage(language: AvailableLanguage = AvailableLanguage.EN): RecipientLanguageBackendService {\n return { forUser: async () => language } as unknown as RecipientLanguageBackendService;\n}\n"]}
@@ -1,10 +0,0 @@
1
- import type { PdfTemplateDefinition } from '../../models/pdf-template-definition';
2
- export interface TinyPdfTemplateRecord {
3
- id: string;
4
- title: string;
5
- }
6
- export interface TinyPdfTemplateContext {
7
- title: string;
8
- }
9
- export declare const tinyPdfTemplateFixture: PdfTemplateDefinition<TinyPdfTemplateRecord, TinyPdfTemplateContext>;
10
- //# sourceMappingURL=tiny-pdf-template.fixture.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiny-pdf-template.fixture.d.ts","sourceRoot":"","sources":["../../../../../../src/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAElF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,CACxD,qBAAqB,EACrB,sBAAsB,CAgBvB,CAAC"}
@@ -1,18 +0,0 @@
1
- import { createElement } from 'react';
2
- export const tinyPdfTemplateFixture = {
3
- id: 'test.tiny-pdf.v1',
4
- labels: {
5
- en: {
6
- title: 'Tiny PDF',
7
- },
8
- },
9
- async buildContext(input) {
10
- return {
11
- title: input.currentObject.title,
12
- };
13
- },
14
- body({ context }) {
15
- return createElement('div', null, context.title);
16
- },
17
- };
18
- //# sourceMappingURL=tiny-pdf-template.fixture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiny-pdf-template.fixture.js","sourceRoot":"","sources":["../../../../../../src/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAatC,MAAM,CAAC,MAAM,sBAAsB,GAG/B;IACF,EAAE,EAAE,kBAAkB;IACtB,MAAM,EAAE;QACN,EAAE,EAAE;YACF,KAAK,EAAE,UAAU;SAClB;KACF;IACD,KAAK,CAAC,YAAY,CAAC,KAAK;QACtB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK;SACjC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,EAAE,OAAO,EAAE;QACd,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;CACF,CAAC","sourcesContent":["import { createElement } from 'react';\n\nimport type { PdfTemplateDefinition } from '../../models/pdf-template-definition';\n\nexport interface TinyPdfTemplateRecord {\n id: string;\n title: string;\n}\n\nexport interface TinyPdfTemplateContext {\n title: string;\n}\n\nexport const tinyPdfTemplateFixture: PdfTemplateDefinition<\n TinyPdfTemplateRecord,\n TinyPdfTemplateContext\n> = {\n id: 'test.tiny-pdf.v1',\n labels: {\n en: {\n title: 'Tiny PDF',\n },\n },\n async buildContext(input) {\n return {\n title: input.currentObject.title,\n };\n },\n body({ context }) {\n return createElement('div', null, context.title);\n },\n};\n"]}
@@ -1,11 +0,0 @@
1
- /**
2
- * An in-memory stand-in for the two Redis scripts the API-key usage recorder runs: the per-request
3
- * HINCRBY/EXPIRE write and the HGETALL read. It models the scripts' EFFECT, not Lua — enough to prove
4
- * the recorder and the statistics agree about keys, fields and windows.
5
- */
6
- export declare function createApiKeyUsageRedisDouble(): {
7
- hashes: Map<string, Map<string, number>>;
8
- buildKey: (key: string) => string;
9
- eval: import("vitest").Mock<[script: string, keys: string[], args: string[]], Promise<string[] | 1>>;
10
- };
11
- //# sourceMappingURL=api-key-usage-redis.double.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-key-usage-redis.double.d.ts","sourceRoot":"","sources":["../../../../../../src/security/api-keys/__tests__/api-key-usage-redis.double.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,4BAA4B;;oBASxB,MAAM;;EAezB"}
@@ -1,34 +0,0 @@
1
- import { vi } from 'vitest';
2
- /**
3
- * An in-memory stand-in for the two Redis scripts the API-key usage recorder runs: the per-request
4
- * HINCRBY/EXPIRE write and the HGETALL read. It models the scripts' EFFECT, not Lua — enough to prove
5
- * the recorder and the statistics agree about keys, fields and windows.
6
- */
7
- export function createApiKeyUsageRedisDouble() {
8
- const hashes = new Map();
9
- const bump = (key, field) => {
10
- const hash = hashes.get(key) ?? new Map();
11
- hash.set(field, (hash.get(field) ?? 0) + 1);
12
- hashes.set(key, hash);
13
- };
14
- return {
15
- hashes,
16
- buildKey: (key) => `app:${key}`,
17
- eval: vi.fn(async (script, keys, args) => {
18
- if (script.includes('HGETALL')) {
19
- return keys.flatMap((key) => [...(hashes.get(key) ?? new Map())].flatMap(([field, value]) => [field, String(value)]));
20
- }
21
- const [minuteKey, hourKey] = keys;
22
- const [failed, endpointField] = args;
23
- for (const key of [minuteKey, hourKey]) {
24
- bump(key, 'requests');
25
- if (failed === '1')
26
- bump(key, 'errors');
27
- }
28
- if (endpointField)
29
- bump(hourKey, endpointField);
30
- return 1;
31
- }),
32
- };
33
- }
34
- //# sourceMappingURL=api-key-usage-redis.double.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-key-usage-redis.double.js","sourceRoot":"","sources":["../../../../../../src/security/api-keys/__tests__/api-key-usage-redis.double.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IACF,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE;QACvC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAc,EAAE,IAAc,EAAE,IAAc,EAAE,EAAE;YACnE,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxI,CAAC;YACD,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;YAClC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,CAAC,SAAU,EAAE,OAAQ,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBACtB,IAAI,MAAM,KAAK,GAAG;oBAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,aAAa;gBAAE,IAAI,CAAC,OAAQ,EAAE,aAAa,CAAC,CAAC;YACjD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;KACH,CAAC;AACJ,CAAC","sourcesContent":["import { vi } from 'vitest';\n\n/**\n * An in-memory stand-in for the two Redis scripts the API-key usage recorder runs: the per-request\n * HINCRBY/EXPIRE write and the HGETALL read. It models the scripts' EFFECT, not Lua — enough to prove\n * the recorder and the statistics agree about keys, fields and windows.\n */\nexport function createApiKeyUsageRedisDouble() {\n const hashes = new Map<string, Map<string, number>>();\n const bump = (key: string, field: string) => {\n const hash = hashes.get(key) ?? new Map<string, number>();\n hash.set(field, (hash.get(field) ?? 0) + 1);\n hashes.set(key, hash);\n };\n return {\n hashes,\n buildKey: (key: string) => `app:${key}`,\n eval: vi.fn(async (script: string, keys: string[], args: string[]) => {\n if (script.includes('HGETALL')) {\n return keys.flatMap((key) => [...(hashes.get(key) ?? new Map<string, number>())].flatMap(([field, value]) => [field, String(value)]));\n }\n const [minuteKey, hourKey] = keys;\n const [failed, endpointField] = args;\n for (const key of [minuteKey!, hourKey!]) {\n bump(key, 'requests');\n if (failed === '1') bump(key, 'errors');\n }\n if (endpointField) bump(hourKey!, endpointField);\n return 1;\n }),\n };\n}\n"]}
@@ -1,105 +0,0 @@
1
- /**
2
- * A REAL `AuthenticationOrchestratorBackendService` for the registration → onboarding journey (#1011,
3
- * #1008), with only its collaborators replaced.
4
- *
5
- * The pins that use it exist because the defect lived INSIDE the orchestrator's own session handling —
6
- * `processEmailVerification` created a fresh session that no pending organization type reached, and
7
- * `completeOrgOnboarding` wrote `COMPLETED` for any number of concurrent callers. A unit double of the
8
- * orchestrator answers whatever the test tells it to, so it can only ever reproduce the drop that the
9
- * test author already knows about. So the orchestrator's real `createSession` / `getSession` /
10
- * `updateSession` / `consumeSession`, its real registration pipeline, its real enrollment settlement and
11
- * its real `completeOrgOnboarding` (including the real durable-onboarding ledger code) run here against:
12
- *
13
- * - an in-memory session store with the production store's contracts: `atomicUpdate` lands only on the
14
- * version the caller read, and `consume` reports `true` to exactly the caller whose delete removed the
15
- * key (Redis `DEL`'s count) — the same double `login-completion-single-mint.test.ts` uses;
16
- * - an in-memory `organizationOnboardingOperations` ledger behind the three repository doors the
17
- * production ledger uses (#1131): a filtered read, an insert whose `_id` is unique (a second insert is
18
- * refused with the classified CONFLICT both adapters raise), and a compare-and-set update.
19
- *
20
- * What is stubbed is policy RESOLUTION (which MFA posture a user type has) and credential storage —
21
- * inputs to the journey, not the journey.
22
- */
23
- /** The onboarding ledger's repository doors, in memory, with the store contracts the ledger relies on (#1131). */
24
- export declare function createInMemoryOnboardingLedger(): {
25
- rows: Map<string, Record<string, unknown>>;
26
- repositoriesRegistry: {
27
- readUnscopedByKey: import("vitest").Mock<[_resourceType: unknown, filter: Record<string, unknown>], Promise<{
28
- [x: string]: unknown;
29
- }>>;
30
- insertDocumentForInfrastructure: import("vitest").Mock<[_resourceType: unknown, doc: Record<string, unknown>], Promise<{
31
- [x: string]: unknown;
32
- }>>;
33
- atomicGuardedMutation: import("vitest").Mock<[_resourceType: unknown, filter: Record<string, unknown>, mutation: {
34
- set?: Record<string, unknown>;
35
- }], Promise<{
36
- [x: string]: unknown;
37
- }>>;
38
- };
39
- };
40
- /** The production session store's contracts, in memory. Session ids are `S-1`, `S-2`, … in creation order. */
41
- export declare function createInMemoryAuthSessionStore(): {
42
- sessions: Map<string, Record<string, unknown>>;
43
- store: {
44
- generateSessionId: import("vitest").Mock<[], string>;
45
- set: import("vitest").Mock<[id: string, session: Record<string, unknown>], Promise<void>>;
46
- get: import("vitest").Mock<[id: string], Promise<{
47
- [x: string]: unknown;
48
- }>>;
49
- atomicUpdate: import("vitest").Mock<[id: string, updated: Record<string, unknown>, expectedVersion: number], Promise<{
50
- [x: string]: unknown;
51
- }>>;
52
- delete: import("vitest").Mock<[id: string], Promise<void>>;
53
- consume: import("vitest").Mock<[id: string], Promise<boolean>>;
54
- };
55
- };
56
- export interface RegistrationOrchestratorHarnessDependencies {
57
- appConfigService: unknown;
58
- servicesRegistryHandler: unknown;
59
- systemAccessService: unknown;
60
- resourcePersistenceUnitOfWork: unknown;
61
- errorBuilder: unknown;
62
- /** The account the enrollment settlement re-checks before completing a registration. */
63
- findUserById?: (userId: string) => Promise<unknown>;
64
- }
65
- export interface RegistrationPolicyPosture {
66
- /** The user type requires a second factor. */
67
- requireMFA?: boolean;
68
- /** Days a registrant may defer the enrollment `requireMFA` demands. */
69
- enrollmentGracePeriodDays?: number;
70
- }
71
- export declare function buildRealRegistrationOrchestrator(deps: RegistrationOrchestratorHarnessDependencies): {
72
- orchestrator: Record<string, any>;
73
- sessions: Map<string, Record<string, unknown>>;
74
- store: {
75
- generateSessionId: import("vitest").Mock<[], string>;
76
- set: import("vitest").Mock<[id: string, session: Record<string, unknown>], Promise<void>>;
77
- get: import("vitest").Mock<[id: string], Promise<{
78
- [x: string]: unknown;
79
- }>>;
80
- atomicUpdate: import("vitest").Mock<[id: string, updated: Record<string, unknown>, expectedVersion: number], Promise<{
81
- [x: string]: unknown;
82
- }>>;
83
- delete: import("vitest").Mock<[id: string], Promise<void>>;
84
- consume: import("vitest").Mock<[id: string], Promise<boolean>>;
85
- };
86
- ledger: {
87
- rows: Map<string, Record<string, unknown>>;
88
- repositoriesRegistry: {
89
- readUnscopedByKey: import("vitest").Mock<[_resourceType: unknown, filter: Record<string, unknown>], Promise<{
90
- [x: string]: unknown;
91
- }>>;
92
- insertDocumentForInfrastructure: import("vitest").Mock<[_resourceType: unknown, doc: Record<string, unknown>], Promise<{
93
- [x: string]: unknown;
94
- }>>;
95
- atomicGuardedMutation: import("vitest").Mock<[_resourceType: unknown, filter: Record<string, unknown>, mutation: {
96
- set?: Record<string, unknown>;
97
- }], Promise<{
98
- [x: string]: unknown;
99
- }>>;
100
- };
101
- };
102
- /** Set the user type's MFA posture before driving the pipeline. */
103
- setPosture: (next: RegistrationPolicyPosture) => RegistrationPolicyPosture;
104
- };
105
- //# sourceMappingURL=registration-onboarding.harness.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registration-onboarding.harness.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/__tests__/registration-onboarding.harness.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,kHAAkH;AAClH,wBAAgB,8BAA8B;;;;;;;;;;kBAkBqE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;EASzI;AAED,8GAA8G;AAC9G,wBAAgB,8BAA8B;;;;;;;;;;;;;;EAoB7C;AAED,MAAM,WAAW,2CAA2C;IAC1D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,6BAA6B,EAAE,OAAO,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,yBAAyB;IACxC,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,2CAA2C;kBA2DtE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;sBA9GmE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;IAkHtI,mEAAmE;uBAChD,yBAAyB;EAE/C"}