@lssm/example.crm-pipeline 0.0.0-canary-20251219202229 → 0.0.0-canary-20251220015515

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 (81) hide show
  1. package/.turbo/turbo-build$colon$bundle.log +150 -150
  2. package/.turbo/turbo-build.log +173 -173
  3. package/CHANGELOG.md +8 -8
  4. package/dist/entities/company.entity.d.ts +28 -28
  5. package/dist/entities/contact.entity.d.ts +32 -32
  6. package/dist/entities/task.entity.d.ts +43 -43
  7. package/dist/events/contact.event.d.ts +7 -7
  8. package/dist/events/deal.event.d.ts +29 -29
  9. package/dist/handlers/deal.handlers.d.ts.map +1 -1
  10. package/dist/handlers/deal.handlers.js +4 -1
  11. package/dist/handlers/deal.handlers.js.map +1 -1
  12. package/dist/index.d.ts +2 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/libs/contracts/dist/capabilities/openbanking.js.map +1 -1
  15. package/dist/libs/contracts/dist/contract-registry/schemas.js.map +1 -1
  16. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -1
  17. package/dist/libs/contracts/dist/docs/meta.docs.js.map +1 -1
  18. package/dist/libs/contracts/dist/docs/presentations.js.map +1 -1
  19. package/dist/libs/contracts/dist/docs/registry.js.map +1 -1
  20. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -1
  21. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -1
  22. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -1
  23. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -1
  24. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -1
  25. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -1
  26. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -1
  27. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -1
  28. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -1
  29. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -1
  30. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -1
  31. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -1
  32. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -1
  33. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -1
  34. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -1
  35. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -1
  36. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -1
  37. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -1
  38. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -1
  39. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js.map +1 -1
  40. package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +1 -1
  41. package/dist/libs/contracts/dist/events.js.map +1 -1
  42. package/dist/libs/contracts/dist/integrations/contracts.js.map +1 -1
  43. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -1
  44. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -1
  45. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -1
  46. package/dist/libs/contracts/dist/integrations/openbanking/models.js.map +1 -1
  47. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js.map +1 -1
  48. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js.map +1 -1
  49. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js.map +1 -1
  50. package/dist/libs/contracts/dist/integrations/providers/gmail.js.map +1 -1
  51. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js.map +1 -1
  52. package/dist/libs/contracts/dist/integrations/providers/mistral.js.map +1 -1
  53. package/dist/libs/contracts/dist/integrations/providers/postmark.js.map +1 -1
  54. package/dist/libs/contracts/dist/integrations/providers/powens.js.map +1 -1
  55. package/dist/libs/contracts/dist/integrations/providers/qdrant.js.map +1 -1
  56. package/dist/libs/contracts/dist/integrations/providers/stripe.js.map +1 -1
  57. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js.map +1 -1
  58. package/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -1
  59. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js.map +1 -1
  60. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js.map +1 -1
  61. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js.map +1 -1
  62. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js.map +1 -1
  63. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js.map +1 -1
  64. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js.map +1 -1
  65. package/dist/libs/contracts/dist/llm/exporters.js.map +1 -1
  66. package/dist/libs/contracts/dist/onboarding-base.js.map +1 -1
  67. package/dist/libs/contracts/dist/ownership.js +1 -0
  68. package/dist/libs/contracts/dist/ownership.js.map +1 -1
  69. package/dist/libs/contracts/dist/presentations.v2.js.map +1 -1
  70. package/dist/libs/contracts/dist/regenerator/service.js.map +1 -1
  71. package/dist/libs/contracts/dist/schema/dist/index.js.map +1 -1
  72. package/dist/libs/contracts/dist/spec.js.map +1 -1
  73. package/dist/libs/identity-rbac/dist/contracts/dist/ownership.js +1 -0
  74. package/dist/libs/identity-rbac/dist/contracts/dist/ownership.js.map +1 -1
  75. package/dist/modules/audit-trail/dist/libs/contracts/dist/ownership.js +1 -0
  76. package/dist/modules/audit-trail/dist/libs/contracts/dist/ownership.js.map +1 -1
  77. package/dist/modules/notifications/dist/libs/contracts/dist/ownership.js +1 -0
  78. package/dist/modules/notifications/dist/libs/contracts/dist/ownership.js.map +1 -1
  79. package/package.json +19 -12
  80. package/src/handlers/deal.handlers.ts +9 -3
  81. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @lssm/example.crm-pipeline
2
2
 
3
- ## 0.0.0-canary-20251219202229
3
+ ## 0.0.0-canary-20251220015515
4
4
 
5
5
  ### Minor Changes
6
6
 
@@ -9,10 +9,10 @@
9
9
  ### Patch Changes
10
10
 
11
11
  - Updated dependencies [66a5dfd]
12
- - @lssm/lib.bus@0.0.0-canary-20251219202229
13
- - @lssm/lib.contracts@0.0.0-canary-20251219202229
14
- - @lssm/lib.identity-rbac@0.0.0-canary-20251219202229
15
- - @lssm/lib.jobs@0.0.0-canary-20251219202229
16
- - @lssm/lib.schema@0.0.0-canary-20251219202229
17
- - @lssm/module.audit-trail@0.0.0-canary-20251219202229
18
- - @lssm/module.notifications@0.0.0-canary-20251219202229
12
+ - @lssm/lib.bus@0.0.0-canary-20251220015515
13
+ - @lssm/lib.contracts@0.0.0-canary-20251220015515
14
+ - @lssm/lib.identity-rbac@0.0.0-canary-20251220015515
15
+ - @lssm/lib.jobs@0.0.0-canary-20251220015515
16
+ - @lssm/lib.schema@0.0.0-canary-20251220015515
17
+ - @lssm/module.audit-trail@0.0.0-canary-20251220015515
18
+ - @lssm/module.notifications@0.0.0-canary-20251220015515
@@ -1,39 +1,39 @@
1
- import * as _lssm_lib_schema250 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema326 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/entities/company.entity.d.ts
4
4
  /**
5
5
  * Company size enum.
6
6
  */
7
- declare const CompanySizeEnum: _lssm_lib_schema250.EntityEnumDef;
7
+ declare const CompanySizeEnum: _lssm_lib_schema326.EntityEnumDef;
8
8
  /**
9
9
  * Company entity - organization/account.
10
10
  */
11
- declare const CompanyEntity: _lssm_lib_schema250.EntitySpec<{
12
- id: _lssm_lib_schema250.EntityScalarField;
13
- name: _lssm_lib_schema250.EntityScalarField;
14
- domain: _lssm_lib_schema250.EntityScalarField;
15
- website: _lssm_lib_schema250.EntityScalarField;
16
- industry: _lssm_lib_schema250.EntityScalarField;
17
- size: _lssm_lib_schema250.EntityEnumField;
18
- employeeCount: _lssm_lib_schema250.EntityScalarField;
19
- annualRevenue: _lssm_lib_schema250.EntityScalarField;
20
- organizationId: _lssm_lib_schema250.EntityScalarField;
21
- ownerId: _lssm_lib_schema250.EntityScalarField;
22
- phone: _lssm_lib_schema250.EntityScalarField;
23
- email: _lssm_lib_schema250.EntityScalarField;
24
- address: _lssm_lib_schema250.EntityScalarField;
25
- city: _lssm_lib_schema250.EntityScalarField;
26
- state: _lssm_lib_schema250.EntityScalarField;
27
- country: _lssm_lib_schema250.EntityScalarField;
28
- postalCode: _lssm_lib_schema250.EntityScalarField;
29
- linkedInUrl: _lssm_lib_schema250.EntityScalarField;
30
- description: _lssm_lib_schema250.EntityScalarField;
31
- tags: _lssm_lib_schema250.EntityScalarField;
32
- customFields: _lssm_lib_schema250.EntityScalarField;
33
- createdAt: _lssm_lib_schema250.EntityScalarField;
34
- updatedAt: _lssm_lib_schema250.EntityScalarField;
35
- contacts: _lssm_lib_schema250.EntityRelationField;
36
- deals: _lssm_lib_schema250.EntityRelationField;
11
+ declare const CompanyEntity: _lssm_lib_schema326.EntitySpec<{
12
+ id: _lssm_lib_schema326.EntityScalarField;
13
+ name: _lssm_lib_schema326.EntityScalarField;
14
+ domain: _lssm_lib_schema326.EntityScalarField;
15
+ website: _lssm_lib_schema326.EntityScalarField;
16
+ industry: _lssm_lib_schema326.EntityScalarField;
17
+ size: _lssm_lib_schema326.EntityEnumField;
18
+ employeeCount: _lssm_lib_schema326.EntityScalarField;
19
+ annualRevenue: _lssm_lib_schema326.EntityScalarField;
20
+ organizationId: _lssm_lib_schema326.EntityScalarField;
21
+ ownerId: _lssm_lib_schema326.EntityScalarField;
22
+ phone: _lssm_lib_schema326.EntityScalarField;
23
+ email: _lssm_lib_schema326.EntityScalarField;
24
+ address: _lssm_lib_schema326.EntityScalarField;
25
+ city: _lssm_lib_schema326.EntityScalarField;
26
+ state: _lssm_lib_schema326.EntityScalarField;
27
+ country: _lssm_lib_schema326.EntityScalarField;
28
+ postalCode: _lssm_lib_schema326.EntityScalarField;
29
+ linkedInUrl: _lssm_lib_schema326.EntityScalarField;
30
+ description: _lssm_lib_schema326.EntityScalarField;
31
+ tags: _lssm_lib_schema326.EntityScalarField;
32
+ customFields: _lssm_lib_schema326.EntityScalarField;
33
+ createdAt: _lssm_lib_schema326.EntityScalarField;
34
+ updatedAt: _lssm_lib_schema326.EntityScalarField;
35
+ contacts: _lssm_lib_schema326.EntityRelationField;
36
+ deals: _lssm_lib_schema326.EntityRelationField;
37
37
  }>;
38
38
  //#endregion
39
39
  export { CompanyEntity, CompanySizeEnum };
@@ -1,43 +1,43 @@
1
- import * as _lssm_lib_schema277 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema353 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/entities/contact.entity.d.ts
4
4
  /**
5
5
  * Contact status enum.
6
6
  */
7
- declare const ContactStatusEnum: _lssm_lib_schema277.EntityEnumDef;
7
+ declare const ContactStatusEnum: _lssm_lib_schema353.EntityEnumDef;
8
8
  /**
9
9
  * Contact entity - individual person.
10
10
  */
11
- declare const ContactEntity: _lssm_lib_schema277.EntitySpec<{
12
- id: _lssm_lib_schema277.EntityScalarField;
13
- firstName: _lssm_lib_schema277.EntityScalarField;
14
- lastName: _lssm_lib_schema277.EntityScalarField;
15
- email: _lssm_lib_schema277.EntityScalarField;
16
- phone: _lssm_lib_schema277.EntityScalarField;
17
- companyId: _lssm_lib_schema277.EntityScalarField;
18
- jobTitle: _lssm_lib_schema277.EntityScalarField;
19
- status: _lssm_lib_schema277.EntityEnumField;
20
- organizationId: _lssm_lib_schema277.EntityScalarField;
21
- ownerId: _lssm_lib_schema277.EntityScalarField;
22
- source: _lssm_lib_schema277.EntityScalarField;
23
- linkedInUrl: _lssm_lib_schema277.EntityScalarField;
24
- twitterHandle: _lssm_lib_schema277.EntityScalarField;
25
- address: _lssm_lib_schema277.EntityScalarField;
26
- city: _lssm_lib_schema277.EntityScalarField;
27
- state: _lssm_lib_schema277.EntityScalarField;
28
- country: _lssm_lib_schema277.EntityScalarField;
29
- postalCode: _lssm_lib_schema277.EntityScalarField;
30
- notes: _lssm_lib_schema277.EntityScalarField;
31
- tags: _lssm_lib_schema277.EntityScalarField;
32
- customFields: _lssm_lib_schema277.EntityScalarField;
33
- lastContactedAt: _lssm_lib_schema277.EntityScalarField;
34
- nextFollowUpAt: _lssm_lib_schema277.EntityScalarField;
35
- createdAt: _lssm_lib_schema277.EntityScalarField;
36
- updatedAt: _lssm_lib_schema277.EntityScalarField;
37
- company: _lssm_lib_schema277.EntityRelationField;
38
- deals: _lssm_lib_schema277.EntityRelationField;
39
- tasks: _lssm_lib_schema277.EntityRelationField;
40
- activities: _lssm_lib_schema277.EntityRelationField;
11
+ declare const ContactEntity: _lssm_lib_schema353.EntitySpec<{
12
+ id: _lssm_lib_schema353.EntityScalarField;
13
+ firstName: _lssm_lib_schema353.EntityScalarField;
14
+ lastName: _lssm_lib_schema353.EntityScalarField;
15
+ email: _lssm_lib_schema353.EntityScalarField;
16
+ phone: _lssm_lib_schema353.EntityScalarField;
17
+ companyId: _lssm_lib_schema353.EntityScalarField;
18
+ jobTitle: _lssm_lib_schema353.EntityScalarField;
19
+ status: _lssm_lib_schema353.EntityEnumField;
20
+ organizationId: _lssm_lib_schema353.EntityScalarField;
21
+ ownerId: _lssm_lib_schema353.EntityScalarField;
22
+ source: _lssm_lib_schema353.EntityScalarField;
23
+ linkedInUrl: _lssm_lib_schema353.EntityScalarField;
24
+ twitterHandle: _lssm_lib_schema353.EntityScalarField;
25
+ address: _lssm_lib_schema353.EntityScalarField;
26
+ city: _lssm_lib_schema353.EntityScalarField;
27
+ state: _lssm_lib_schema353.EntityScalarField;
28
+ country: _lssm_lib_schema353.EntityScalarField;
29
+ postalCode: _lssm_lib_schema353.EntityScalarField;
30
+ notes: _lssm_lib_schema353.EntityScalarField;
31
+ tags: _lssm_lib_schema353.EntityScalarField;
32
+ customFields: _lssm_lib_schema353.EntityScalarField;
33
+ lastContactedAt: _lssm_lib_schema353.EntityScalarField;
34
+ nextFollowUpAt: _lssm_lib_schema353.EntityScalarField;
35
+ createdAt: _lssm_lib_schema353.EntityScalarField;
36
+ updatedAt: _lssm_lib_schema353.EntityScalarField;
37
+ company: _lssm_lib_schema353.EntityRelationField;
38
+ deals: _lssm_lib_schema353.EntityRelationField;
39
+ tasks: _lssm_lib_schema353.EntityRelationField;
40
+ activities: _lssm_lib_schema353.EntityRelationField;
41
41
  }>;
42
42
  //#endregion
43
43
  export { ContactEntity, ContactStatusEnum };
@@ -1,64 +1,64 @@
1
- import * as _lssm_lib_schema308 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema256 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/entities/task.entity.d.ts
4
4
  /**
5
5
  * Task type enum.
6
6
  */
7
- declare const TaskTypeEnum: _lssm_lib_schema308.EntityEnumDef;
7
+ declare const TaskTypeEnum: _lssm_lib_schema256.EntityEnumDef;
8
8
  /**
9
9
  * Task priority enum.
10
10
  */
11
- declare const TaskPriorityEnum: _lssm_lib_schema308.EntityEnumDef;
11
+ declare const TaskPriorityEnum: _lssm_lib_schema256.EntityEnumDef;
12
12
  /**
13
13
  * Task status enum.
14
14
  */
15
- declare const TaskStatusEnum: _lssm_lib_schema308.EntityEnumDef;
15
+ declare const TaskStatusEnum: _lssm_lib_schema256.EntityEnumDef;
16
16
  /**
17
17
  * Task entity - follow-up activities.
18
18
  */
19
- declare const TaskEntity: _lssm_lib_schema308.EntitySpec<{
20
- id: _lssm_lib_schema308.EntityScalarField;
21
- title: _lssm_lib_schema308.EntityScalarField;
22
- description: _lssm_lib_schema308.EntityScalarField;
23
- type: _lssm_lib_schema308.EntityEnumField;
24
- priority: _lssm_lib_schema308.EntityEnumField;
25
- status: _lssm_lib_schema308.EntityEnumField;
26
- dueDate: _lssm_lib_schema308.EntityScalarField;
27
- reminderAt: _lssm_lib_schema308.EntityScalarField;
28
- contactId: _lssm_lib_schema308.EntityScalarField;
29
- dealId: _lssm_lib_schema308.EntityScalarField;
30
- companyId: _lssm_lib_schema308.EntityScalarField;
31
- organizationId: _lssm_lib_schema308.EntityScalarField;
32
- assignedTo: _lssm_lib_schema308.EntityScalarField;
33
- createdBy: _lssm_lib_schema308.EntityScalarField;
34
- completedAt: _lssm_lib_schema308.EntityScalarField;
35
- completedBy: _lssm_lib_schema308.EntityScalarField;
36
- createdAt: _lssm_lib_schema308.EntityScalarField;
37
- updatedAt: _lssm_lib_schema308.EntityScalarField;
38
- contact: _lssm_lib_schema308.EntityRelationField;
39
- deal: _lssm_lib_schema308.EntityRelationField;
40
- company: _lssm_lib_schema308.EntityRelationField;
19
+ declare const TaskEntity: _lssm_lib_schema256.EntitySpec<{
20
+ id: _lssm_lib_schema256.EntityScalarField;
21
+ title: _lssm_lib_schema256.EntityScalarField;
22
+ description: _lssm_lib_schema256.EntityScalarField;
23
+ type: _lssm_lib_schema256.EntityEnumField;
24
+ priority: _lssm_lib_schema256.EntityEnumField;
25
+ status: _lssm_lib_schema256.EntityEnumField;
26
+ dueDate: _lssm_lib_schema256.EntityScalarField;
27
+ reminderAt: _lssm_lib_schema256.EntityScalarField;
28
+ contactId: _lssm_lib_schema256.EntityScalarField;
29
+ dealId: _lssm_lib_schema256.EntityScalarField;
30
+ companyId: _lssm_lib_schema256.EntityScalarField;
31
+ organizationId: _lssm_lib_schema256.EntityScalarField;
32
+ assignedTo: _lssm_lib_schema256.EntityScalarField;
33
+ createdBy: _lssm_lib_schema256.EntityScalarField;
34
+ completedAt: _lssm_lib_schema256.EntityScalarField;
35
+ completedBy: _lssm_lib_schema256.EntityScalarField;
36
+ createdAt: _lssm_lib_schema256.EntityScalarField;
37
+ updatedAt: _lssm_lib_schema256.EntityScalarField;
38
+ contact: _lssm_lib_schema256.EntityRelationField;
39
+ deal: _lssm_lib_schema256.EntityRelationField;
40
+ company: _lssm_lib_schema256.EntityRelationField;
41
41
  }>;
42
42
  /**
43
43
  * Activity entity - interaction history.
44
44
  */
45
- declare const ActivityEntity: _lssm_lib_schema308.EntitySpec<{
46
- id: _lssm_lib_schema308.EntityScalarField;
47
- type: _lssm_lib_schema308.EntityEnumField;
48
- subject: _lssm_lib_schema308.EntityScalarField;
49
- description: _lssm_lib_schema308.EntityScalarField;
50
- contactId: _lssm_lib_schema308.EntityScalarField;
51
- dealId: _lssm_lib_schema308.EntityScalarField;
52
- companyId: _lssm_lib_schema308.EntityScalarField;
53
- organizationId: _lssm_lib_schema308.EntityScalarField;
54
- performedBy: _lssm_lib_schema308.EntityScalarField;
55
- outcome: _lssm_lib_schema308.EntityScalarField;
56
- occurredAt: _lssm_lib_schema308.EntityScalarField;
57
- duration: _lssm_lib_schema308.EntityScalarField;
58
- createdAt: _lssm_lib_schema308.EntityScalarField;
59
- contact: _lssm_lib_schema308.EntityRelationField;
60
- deal: _lssm_lib_schema308.EntityRelationField;
61
- company: _lssm_lib_schema308.EntityRelationField;
45
+ declare const ActivityEntity: _lssm_lib_schema256.EntitySpec<{
46
+ id: _lssm_lib_schema256.EntityScalarField;
47
+ type: _lssm_lib_schema256.EntityEnumField;
48
+ subject: _lssm_lib_schema256.EntityScalarField;
49
+ description: _lssm_lib_schema256.EntityScalarField;
50
+ contactId: _lssm_lib_schema256.EntityScalarField;
51
+ dealId: _lssm_lib_schema256.EntityScalarField;
52
+ companyId: _lssm_lib_schema256.EntityScalarField;
53
+ organizationId: _lssm_lib_schema256.EntityScalarField;
54
+ performedBy: _lssm_lib_schema256.EntityScalarField;
55
+ outcome: _lssm_lib_schema256.EntityScalarField;
56
+ occurredAt: _lssm_lib_schema256.EntityScalarField;
57
+ duration: _lssm_lib_schema256.EntityScalarField;
58
+ createdAt: _lssm_lib_schema256.EntityScalarField;
59
+ contact: _lssm_lib_schema256.EntityRelationField;
60
+ deal: _lssm_lib_schema256.EntityRelationField;
61
+ company: _lssm_lib_schema256.EntityRelationField;
62
62
  }>;
63
63
  //#endregion
64
64
  export { ActivityEntity, TaskEntity, TaskPriorityEnum, TaskStatusEnum, TaskTypeEnum };
@@ -1,26 +1,26 @@
1
- import * as _lssm_lib_schema350 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema250 from "@lssm/lib.schema";
2
2
  import * as _lssm_lib_contracts4 from "@lssm/lib.contracts";
3
3
 
4
4
  //#region src/events/contact.event.d.ts
5
- declare const ContactCreatedEvent: _lssm_lib_contracts4.EventSpec<_lssm_lib_schema350.SchemaModel<{
5
+ declare const ContactCreatedEvent: _lssm_lib_contracts4.EventSpec<_lssm_lib_schema250.SchemaModel<{
6
6
  contactId: {
7
- type: _lssm_lib_schema350.FieldType<string, string>;
7
+ type: _lssm_lib_schema250.FieldType<string, string>;
8
8
  isOptional: false;
9
9
  };
10
10
  email: {
11
- type: _lssm_lib_schema350.FieldType<string, string>;
11
+ type: _lssm_lib_schema250.FieldType<string, string>;
12
12
  isOptional: true;
13
13
  };
14
14
  organizationId: {
15
- type: _lssm_lib_schema350.FieldType<string, string>;
15
+ type: _lssm_lib_schema250.FieldType<string, string>;
16
16
  isOptional: false;
17
17
  };
18
18
  ownerId: {
19
- type: _lssm_lib_schema350.FieldType<string, string>;
19
+ type: _lssm_lib_schema250.FieldType<string, string>;
20
20
  isOptional: false;
21
21
  };
22
22
  createdAt: {
23
- type: _lssm_lib_schema350.FieldType<Date, string>;
23
+ type: _lssm_lib_schema250.FieldType<Date, string>;
24
24
  isOptional: false;
25
25
  };
26
26
  }>>;
@@ -1,108 +1,108 @@
1
- import * as _lssm_lib_schema356 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema298 from "@lssm/lib.schema";
2
2
  import * as _lssm_lib_contracts5 from "@lssm/lib.contracts";
3
3
 
4
4
  //#region src/events/deal.event.d.ts
5
- declare const DealCreatedEvent: _lssm_lib_contracts5.EventSpec<_lssm_lib_schema356.SchemaModel<{
5
+ declare const DealCreatedEvent: _lssm_lib_contracts5.EventSpec<_lssm_lib_schema298.SchemaModel<{
6
6
  dealId: {
7
- type: _lssm_lib_schema356.FieldType<string, string>;
7
+ type: _lssm_lib_schema298.FieldType<string, string>;
8
8
  isOptional: false;
9
9
  };
10
10
  name: {
11
- type: _lssm_lib_schema356.FieldType<string, string>;
11
+ type: _lssm_lib_schema298.FieldType<string, string>;
12
12
  isOptional: false;
13
13
  };
14
14
  value: {
15
- type: _lssm_lib_schema356.FieldType<number, number>;
15
+ type: _lssm_lib_schema298.FieldType<number, number>;
16
16
  isOptional: false;
17
17
  };
18
18
  pipelineId: {
19
- type: _lssm_lib_schema356.FieldType<string, string>;
19
+ type: _lssm_lib_schema298.FieldType<string, string>;
20
20
  isOptional: false;
21
21
  };
22
22
  stageId: {
23
- type: _lssm_lib_schema356.FieldType<string, string>;
23
+ type: _lssm_lib_schema298.FieldType<string, string>;
24
24
  isOptional: false;
25
25
  };
26
26
  ownerId: {
27
- type: _lssm_lib_schema356.FieldType<string, string>;
27
+ type: _lssm_lib_schema298.FieldType<string, string>;
28
28
  isOptional: false;
29
29
  };
30
30
  createdAt: {
31
- type: _lssm_lib_schema356.FieldType<Date, string>;
31
+ type: _lssm_lib_schema298.FieldType<Date, string>;
32
32
  isOptional: false;
33
33
  };
34
34
  }>>;
35
- declare const DealMovedEvent: _lssm_lib_contracts5.EventSpec<_lssm_lib_schema356.SchemaModel<{
35
+ declare const DealMovedEvent: _lssm_lib_contracts5.EventSpec<_lssm_lib_schema298.SchemaModel<{
36
36
  dealId: {
37
- type: _lssm_lib_schema356.FieldType<string, string>;
37
+ type: _lssm_lib_schema298.FieldType<string, string>;
38
38
  isOptional: false;
39
39
  };
40
40
  fromStageId: {
41
- type: _lssm_lib_schema356.FieldType<string, string>;
41
+ type: _lssm_lib_schema298.FieldType<string, string>;
42
42
  isOptional: false;
43
43
  };
44
44
  toStageId: {
45
- type: _lssm_lib_schema356.FieldType<string, string>;
45
+ type: _lssm_lib_schema298.FieldType<string, string>;
46
46
  isOptional: false;
47
47
  };
48
48
  movedBy: {
49
- type: _lssm_lib_schema356.FieldType<string, string>;
49
+ type: _lssm_lib_schema298.FieldType<string, string>;
50
50
  isOptional: false;
51
51
  };
52
52
  movedAt: {
53
- type: _lssm_lib_schema356.FieldType<Date, string>;
53
+ type: _lssm_lib_schema298.FieldType<Date, string>;
54
54
  isOptional: false;
55
55
  };
56
56
  }>>;
57
- declare const DealWonEvent: _lssm_lib_contracts5.EventSpec<_lssm_lib_schema356.SchemaModel<{
57
+ declare const DealWonEvent: _lssm_lib_contracts5.EventSpec<_lssm_lib_schema298.SchemaModel<{
58
58
  dealId: {
59
- type: _lssm_lib_schema356.FieldType<string, string>;
59
+ type: _lssm_lib_schema298.FieldType<string, string>;
60
60
  isOptional: false;
61
61
  };
62
62
  value: {
63
- type: _lssm_lib_schema356.FieldType<number, number>;
63
+ type: _lssm_lib_schema298.FieldType<number, number>;
64
64
  isOptional: false;
65
65
  };
66
66
  currency: {
67
- type: _lssm_lib_schema356.FieldType<string, string>;
67
+ type: _lssm_lib_schema298.FieldType<string, string>;
68
68
  isOptional: false;
69
69
  };
70
70
  contactId: {
71
- type: _lssm_lib_schema356.FieldType<string, string>;
71
+ type: _lssm_lib_schema298.FieldType<string, string>;
72
72
  isOptional: true;
73
73
  };
74
74
  companyId: {
75
- type: _lssm_lib_schema356.FieldType<string, string>;
75
+ type: _lssm_lib_schema298.FieldType<string, string>;
76
76
  isOptional: true;
77
77
  };
78
78
  ownerId: {
79
- type: _lssm_lib_schema356.FieldType<string, string>;
79
+ type: _lssm_lib_schema298.FieldType<string, string>;
80
80
  isOptional: false;
81
81
  };
82
82
  wonAt: {
83
- type: _lssm_lib_schema356.FieldType<Date, string>;
83
+ type: _lssm_lib_schema298.FieldType<Date, string>;
84
84
  isOptional: false;
85
85
  };
86
86
  }>>;
87
- declare const DealLostEvent: _lssm_lib_contracts5.EventSpec<_lssm_lib_schema356.SchemaModel<{
87
+ declare const DealLostEvent: _lssm_lib_contracts5.EventSpec<_lssm_lib_schema298.SchemaModel<{
88
88
  dealId: {
89
- type: _lssm_lib_schema356.FieldType<string, string>;
89
+ type: _lssm_lib_schema298.FieldType<string, string>;
90
90
  isOptional: false;
91
91
  };
92
92
  value: {
93
- type: _lssm_lib_schema356.FieldType<number, number>;
93
+ type: _lssm_lib_schema298.FieldType<number, number>;
94
94
  isOptional: false;
95
95
  };
96
96
  reason: {
97
- type: _lssm_lib_schema356.FieldType<string, string>;
97
+ type: _lssm_lib_schema298.FieldType<string, string>;
98
98
  isOptional: false;
99
99
  };
100
100
  ownerId: {
101
- type: _lssm_lib_schema356.FieldType<string, string>;
101
+ type: _lssm_lib_schema298.FieldType<string, string>;
102
102
  isOptional: false;
103
103
  };
104
104
  lostAt: {
105
- type: _lssm_lib_schema356.FieldType<Date, string>;
105
+ type: _lssm_lib_schema298.FieldType<Date, string>;
106
106
  isOptional: false;
107
107
  };
108
108
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"deal.handlers.d.ts","names":[],"sources":["../../src/handlers/deal.handlers.ts"],"sourcesContent":[],"mappings":";;;UAMiB,IAAA;;;EAAA,KAAA,EAAI,MAAA;EAWC,QAAA,EAAA,MAAA;EACT,UAAA,EAAA,MAAA;EACA,OAAA,EAAA,MAAA;EAAI,MAAA,EAAA,MAAA,GAAA,KAAA,GAAA,MAAA,GAAA,OAAA;EAGA,SAAA,CAAA,EAAA,MAAe;EAWf,SAAA,CAAA,EAAA,MAAa;EAMb,OAAA,EAAA,MAAY;EAMZ,iBAAa,CAAA,EA5BR,IA4BQ;EAMb,SAAA,EAjCJ,IAiCI;EAUA,SAAA,EA1CJ,IA0CI;AASjB;AACS,UAjDQ,eAAA,CAiDR;EACE,IAAA,EAAA,MAAA;EAAR,KAAA,EAAA,MAAA;EAAO,QAAA,CAAA,EAAA,MAAA;EAmDY,UAAA,EAAA,MAAA;EACb,OAAA,EAAA,MAAA;EAEE,SAAA,CAAA,EAAA,MAAA;EAAR,SAAA,CAAA,EAAA,MAAA;EAAO,iBAAA,CAAA,EAhGY,IAgGZ;AA2BV;AAAiD,UAxHhC,aAAA,CAwHgC;EAAwB,MAAA,EAAA,MAAA;EAAR,OAAA,EAAA,MAAA;EAAO,QAAA,CAAA,EAAA,MAAA;AA0BxE;AAAgD,UA5I/B,YAAA,CA4I+B;EAAuB,MAAA,EAAA,MAAA;EAAR,SAAA,CAAA,EAAA,MAAA;EAAO,KAAA,CAAA,EAAA,MAAA;AAwBtE;AAAiD,UA9JhC,aAAA,CA8JgC;EAAwB,MAAA,EAAA,MAAA;EAAR,UAAA,EAAA,MAAA;EAAO,KAAA,CAAA,EAAA,MAAA;AAqBxE;AAE2B,UA/KV,cAAA,CA+KU;EAAf,UAAA,CAAA,EAAA,MAAA;EAAR,OAAA,CAAA,EAAA,MAAA;EAAO,MAAA,CAAA,EAAA,MAAA,GAAA,KAAA,GAAA,MAAA,GAAA,KAAA;EAgBW,OAAA,CAAA,EAAA,MAAA;;;;;UArLL,eAAA;SACR;;;;;;;iBAQa,oBAAA,QACb,iBACN,QAAQ;;;;iBAmDW,qBAAA,QACb;;IAEN,QAAQ;;;;iBA2BW,mBAAA,QAA2B,gBAAgB,QAAQ;;;;iBA0BnD,kBAAA,QAA0B,eAAe,QAAQ;;;;iBAwBjD,mBAAA,QAA2B,gBAAgB,QAAQ;;;;iBAqBnD,0BAAA;;IAElB,QAAQ,eAAe;;;;iBAgBL,4BAAA;;IAErB,QAFiD,SAAA"}
1
+ {"version":3,"file":"deal.handlers.d.ts","names":[],"sources":["../../src/handlers/deal.handlers.ts"],"sourcesContent":[],"mappings":";;;UAMiB,IAAA;;;EAAA,KAAA,EAAI,MAAA;EAWC,QAAA,EAAA,MAAA;EACT,UAAA,EAAA,MAAA;EACA,OAAA,EAAA,MAAA;EAAI,MAAA,EAAA,MAAA,GAAA,KAAA,GAAA,MAAA,GAAA,OAAA;EAGA,SAAA,CAAA,EAAA,MAAe;EAWf,SAAA,CAAA,EAAA,MAAa;EAMb,OAAA,EAAA,MAAY;EAMZ,iBAAa,CAAA,EA5BR,IA4BQ;EAMb,SAAA,EAjCJ,IAiCI;EAUA,SAAA,EA1CJ,IA0CI;AASjB;AACS,UAjDQ,eAAA,CAiDR;EACE,IAAA,EAAA,MAAA;EAAR,KAAA,EAAA,MAAA;EAAO,QAAA,CAAA,EAAA,MAAA;EAmDY,UAAA,EAAA,MAAA;EACb,OAAA,EAAA,MAAA;EAEE,SAAA,CAAA,EAAA,MAAA;EAAR,SAAA,CAAA,EAAA,MAAA;EAAO,iBAAA,CAAA,EAhGY,IAgGZ;AA2BV;AAAiD,UAxHhC,aAAA,CAwHgC;EAAwB,MAAA,EAAA,MAAA;EAAR,OAAA,EAAA,MAAA;EAAO,QAAA,CAAA,EAAA,MAAA;AA6BxE;AAAgD,UA/I/B,YAAA,CA+I+B;EAAuB,MAAA,EAAA,MAAA;EAAR,SAAA,CAAA,EAAA,MAAA;EAAO,KAAA,CAAA,EAAA,MAAA;AAwBtE;AAAiD,UAjKhC,aAAA,CAiKgC;EAAwB,MAAA,EAAA,MAAA;EAAR,UAAA,EAAA,MAAA;EAAO,KAAA,CAAA,EAAA,MAAA;AAwBxE;AAE2B,UArLV,cAAA,CAqLU;EAAf,UAAA,CAAA,EAAA,MAAA;EAAR,OAAA,CAAA,EAAA,MAAA;EAAO,MAAA,CAAA,EAAA,MAAA,GAAA,KAAA,GAAA,MAAA,GAAA,KAAA;EAgBW,OAAA,CAAA,EAAA,MAAA;;;;;UA3LL,eAAA;SACR;;;;;;;iBAQa,oBAAA,QACb,iBACN,QAAQ;;;;iBAmDW,qBAAA,QACb;;IAEN,QAAQ;;;;iBA2BW,mBAAA,QAA2B,gBAAgB,QAAQ;;;;iBA6BnD,kBAAA,QAA0B,eAAe,QAAQ;;;;iBAwBjD,mBAAA,QAA2B,gBAAgB,QAAQ;;;;iBAwBnD,0BAAA;;IAElB,QAAQ,eAAe;;;;iBAgBL,4BAAA;;IAErB,QAFiD,SAAA"}
@@ -57,6 +57,7 @@ async function mockMoveDealHandler(input) {
57
57
  const dealIndex = MOCK_DEALS.findIndex((d) => d.id === input.dealId);
58
58
  if (dealIndex === -1) throw new Error("NOT_FOUND");
59
59
  const deal = MOCK_DEALS[dealIndex];
60
+ if (!deal) throw new Error("NOT_FOUND");
60
61
  if (!MOCK_STAGES.find((s) => s.id === input.stageId)) throw new Error("INVALID_STAGE");
61
62
  const updatedDeal = {
62
63
  ...deal,
@@ -88,8 +89,10 @@ async function mockWinDealHandler(input) {
88
89
  async function mockLoseDealHandler(input) {
89
90
  const dealIndex = MOCK_DEALS.findIndex((d) => d.id === input.dealId);
90
91
  if (dealIndex === -1) throw new Error("NOT_FOUND");
92
+ const deal = MOCK_DEALS[dealIndex];
93
+ if (!deal) throw new Error("NOT_FOUND");
91
94
  const updatedDeal = {
92
- ...MOCK_DEALS[dealIndex],
95
+ ...deal,
93
96
  status: "LOST",
94
97
  updatedAt: /* @__PURE__ */ new Date()
95
98
  };
@@ -1 +1 @@
1
- {"version":3,"file":"deal.handlers.js","names":["deal: Deal","updatedDeal: Deal","grouped: Record<string, Deal[]>"],"sources":["../../src/handlers/deal.handlers.ts"],"sourcesContent":["/**\n * Mock handlers for Deal contracts\n */\nimport { MOCK_DEALS, MOCK_STAGES } from './mock-data';\n\n// Types inferred from contract schemas\nexport interface Deal {\n id: string;\n name: string;\n value: number;\n currency: string;\n pipelineId: string;\n stageId: string;\n status: 'OPEN' | 'WON' | 'LOST' | 'STALE';\n contactId?: string;\n companyId?: string;\n ownerId: string;\n expectedCloseDate?: Date;\n createdAt: Date;\n updatedAt: Date;\n}\n\nexport interface CreateDealInput {\n name: string;\n value: number;\n currency?: string;\n pipelineId: string;\n stageId: string;\n contactId?: string;\n companyId?: string;\n expectedCloseDate?: Date;\n}\n\nexport interface MoveDealInput {\n dealId: string;\n stageId: string;\n position?: number;\n}\n\nexport interface WinDealInput {\n dealId: string;\n wonSource?: string;\n notes?: string;\n}\n\nexport interface LoseDealInput {\n dealId: string;\n lostReason: string;\n notes?: string;\n}\n\nexport interface ListDealsInput {\n pipelineId?: string;\n stageId?: string;\n status?: 'OPEN' | 'WON' | 'LOST' | 'all';\n ownerId?: string;\n search?: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface ListDealsOutput {\n deals: Deal[];\n total: number;\n totalValue: number;\n}\n\n/**\n * Mock handler for ListDealsContract\n */\nexport async function mockListDealsHandler(\n input: ListDealsInput\n): Promise<ListDealsOutput> {\n const {\n pipelineId,\n stageId,\n status,\n ownerId,\n search,\n limit = 20,\n offset = 0,\n } = input;\n\n let filtered = [...MOCK_DEALS];\n\n if (pipelineId) {\n filtered = filtered.filter((d) => d.pipelineId === pipelineId);\n }\n\n if (stageId) {\n filtered = filtered.filter((d) => d.stageId === stageId);\n }\n\n if (status && status !== 'all') {\n filtered = filtered.filter((d) => d.status === status);\n }\n\n if (ownerId) {\n filtered = filtered.filter((d) => d.ownerId === ownerId);\n }\n\n if (search) {\n const q = search.toLowerCase();\n filtered = filtered.filter((d) => d.name.toLowerCase().includes(q));\n }\n\n // Sort by value descending\n filtered.sort((a, b) => b.value - a.value);\n\n const total = filtered.length;\n const totalValue = filtered.reduce((sum, d) => sum + d.value, 0);\n const deals = filtered.slice(offset, offset + limit);\n\n return {\n deals,\n total,\n totalValue,\n };\n}\n\n/**\n * Mock handler for CreateDealContract\n */\nexport async function mockCreateDealHandler(\n input: CreateDealInput,\n context: { ownerId: string }\n): Promise<Deal> {\n const now = new Date();\n\n const deal: Deal = {\n id: `deal-${Date.now()}`,\n name: input.name,\n value: input.value,\n currency: input.currency ?? 'USD',\n pipelineId: input.pipelineId,\n stageId: input.stageId,\n status: 'OPEN',\n contactId: input.contactId,\n companyId: input.companyId,\n ownerId: context.ownerId,\n expectedCloseDate: input.expectedCloseDate,\n createdAt: now,\n updatedAt: now,\n };\n\n MOCK_DEALS.push(deal);\n\n return deal;\n}\n\n/**\n * Mock handler for MoveDealContract\n */\nexport async function mockMoveDealHandler(input: MoveDealInput): Promise<Deal> {\n const dealIndex = MOCK_DEALS.findIndex((d) => d.id === input.dealId);\n if (dealIndex === -1) {\n throw new Error('NOT_FOUND');\n }\n const deal = MOCK_DEALS[dealIndex]!;\n\n const stage = MOCK_STAGES.find((s) => s.id === input.stageId);\n if (!stage) {\n throw new Error('INVALID_STAGE');\n }\n\n const updatedDeal: Deal = {\n ...deal,\n stageId: input.stageId,\n updatedAt: new Date(),\n };\n\n MOCK_DEALS[dealIndex] = updatedDeal;\n\n return updatedDeal;\n}\n\n/**\n * Mock handler for WinDealContract\n */\nexport async function mockWinDealHandler(input: WinDealInput): Promise<Deal> {\n const dealIndex = MOCK_DEALS.findIndex((d) => d.id === input.dealId);\n if (dealIndex === -1) {\n throw new Error('NOT_FOUND');\n }\n const deal = MOCK_DEALS[dealIndex]!;\n if (!deal) {\n throw new Error('NOT_FOUND');\n }\n\n const updatedDeal: Deal = {\n ...deal,\n status: 'WON' as const,\n updatedAt: new Date(),\n };\n\n MOCK_DEALS[dealIndex] = updatedDeal;\n\n return updatedDeal;\n}\n\n/**\n * Mock handler for LoseDealContract\n */\nexport async function mockLoseDealHandler(input: LoseDealInput): Promise<Deal> {\n const dealIndex = MOCK_DEALS.findIndex((d) => d.id === input.dealId);\n if (dealIndex === -1) {\n throw new Error('NOT_FOUND');\n }\n const deal = MOCK_DEALS[dealIndex]!;\n\n const updatedDeal: Deal = {\n ...deal,\n status: 'LOST' as const,\n updatedAt: new Date(),\n };\n\n MOCK_DEALS[dealIndex] = updatedDeal;\n\n return updatedDeal;\n}\n\n/**\n * Get deals grouped by stage for Kanban view\n */\nexport async function mockGetDealsByStageHandler(input: {\n pipelineId: string;\n}): Promise<Record<string, Deal[]>> {\n const deals = MOCK_DEALS.filter(\n (d) => d.pipelineId === input.pipelineId && d.status === 'OPEN'\n );\n\n const grouped: Record<string, Deal[]> = {};\n for (const stage of MOCK_STAGES) {\n grouped[stage.id] = deals.filter((d) => d.stageId === stage.id);\n }\n\n return grouped;\n}\n\n/**\n * Get pipeline stages\n */\nexport async function mockGetPipelineStagesHandler(input: {\n pipelineId: string;\n}) {\n return MOCK_STAGES.filter((s) => s.pipelineId === input.pipelineId);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"deal.handlers.js","names":["deal: Deal","updatedDeal: Deal","grouped: Record<string, Deal[]>"],"sources":["../../src/handlers/deal.handlers.ts"],"sourcesContent":["/**\n * Mock handlers for Deal contracts\n */\nimport { MOCK_DEALS, MOCK_STAGES } from './mock-data';\n\n// Types inferred from contract schemas\nexport interface Deal {\n id: string;\n name: string;\n value: number;\n currency: string;\n pipelineId: string;\n stageId: string;\n status: 'OPEN' | 'WON' | 'LOST' | 'STALE';\n contactId?: string;\n companyId?: string;\n ownerId: string;\n expectedCloseDate?: Date;\n createdAt: Date;\n updatedAt: Date;\n}\n\nexport interface CreateDealInput {\n name: string;\n value: number;\n currency?: string;\n pipelineId: string;\n stageId: string;\n contactId?: string;\n companyId?: string;\n expectedCloseDate?: Date;\n}\n\nexport interface MoveDealInput {\n dealId: string;\n stageId: string;\n position?: number;\n}\n\nexport interface WinDealInput {\n dealId: string;\n wonSource?: string;\n notes?: string;\n}\n\nexport interface LoseDealInput {\n dealId: string;\n lostReason: string;\n notes?: string;\n}\n\nexport interface ListDealsInput {\n pipelineId?: string;\n stageId?: string;\n status?: 'OPEN' | 'WON' | 'LOST' | 'all';\n ownerId?: string;\n search?: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface ListDealsOutput {\n deals: Deal[];\n total: number;\n totalValue: number;\n}\n\n/**\n * Mock handler for ListDealsContract\n */\nexport async function mockListDealsHandler(\n input: ListDealsInput\n): Promise<ListDealsOutput> {\n const {\n pipelineId,\n stageId,\n status,\n ownerId,\n search,\n limit = 20,\n offset = 0,\n } = input;\n\n let filtered = [...MOCK_DEALS];\n\n if (pipelineId) {\n filtered = filtered.filter((d) => d.pipelineId === pipelineId);\n }\n\n if (stageId) {\n filtered = filtered.filter((d) => d.stageId === stageId);\n }\n\n if (status && status !== 'all') {\n filtered = filtered.filter((d) => d.status === status);\n }\n\n if (ownerId) {\n filtered = filtered.filter((d) => d.ownerId === ownerId);\n }\n\n if (search) {\n const q = search.toLowerCase();\n filtered = filtered.filter((d) => d.name.toLowerCase().includes(q));\n }\n\n // Sort by value descending\n filtered.sort((a, b) => b.value - a.value);\n\n const total = filtered.length;\n const totalValue = filtered.reduce((sum, d) => sum + d.value, 0);\n const deals = filtered.slice(offset, offset + limit);\n\n return {\n deals,\n total,\n totalValue,\n };\n}\n\n/**\n * Mock handler for CreateDealContract\n */\nexport async function mockCreateDealHandler(\n input: CreateDealInput,\n context: { ownerId: string }\n): Promise<Deal> {\n const now = new Date();\n\n const deal: Deal = {\n id: `deal-${Date.now()}`,\n name: input.name,\n value: input.value,\n currency: input.currency ?? 'USD',\n pipelineId: input.pipelineId,\n stageId: input.stageId,\n status: 'OPEN',\n contactId: input.contactId,\n companyId: input.companyId,\n ownerId: context.ownerId,\n expectedCloseDate: input.expectedCloseDate,\n createdAt: now,\n updatedAt: now,\n };\n\n MOCK_DEALS.push(deal);\n\n return deal;\n}\n\n/**\n * Mock handler for MoveDealContract\n */\nexport async function mockMoveDealHandler(input: MoveDealInput): Promise<Deal> {\n const dealIndex = MOCK_DEALS.findIndex((d) => d.id === input.dealId);\n if (dealIndex === -1) {\n throw new Error('NOT_FOUND');\n }\n const deal = MOCK_DEALS[dealIndex];\n if (!deal) {\n throw new Error('NOT_FOUND');\n }\n\n const stage = MOCK_STAGES.find((s) => s.id === input.stageId);\n if (!stage) {\n throw new Error('INVALID_STAGE');\n }\n\n const updatedDeal: Deal = {\n ...deal,\n stageId: input.stageId,\n updatedAt: new Date(),\n };\n\n MOCK_DEALS[dealIndex] = updatedDeal;\n\n return updatedDeal;\n}\n\n/**\n * Mock handler for WinDealContract\n */\nexport async function mockWinDealHandler(input: WinDealInput): Promise<Deal> {\n const dealIndex = MOCK_DEALS.findIndex((d) => d.id === input.dealId);\n if (dealIndex === -1) {\n throw new Error('NOT_FOUND');\n }\n const deal = MOCK_DEALS[dealIndex];\n if (!deal) {\n throw new Error('NOT_FOUND');\n }\n\n const updatedDeal: Deal = {\n ...deal,\n status: 'WON' as const,\n updatedAt: new Date(),\n };\n\n MOCK_DEALS[dealIndex] = updatedDeal;\n\n return updatedDeal;\n}\n\n/**\n * Mock handler for LoseDealContract\n */\nexport async function mockLoseDealHandler(input: LoseDealInput): Promise<Deal> {\n const dealIndex = MOCK_DEALS.findIndex((d) => d.id === input.dealId);\n if (dealIndex === -1) {\n throw new Error('NOT_FOUND');\n }\n const deal = MOCK_DEALS[dealIndex];\n if (!deal) {\n throw new Error('NOT_FOUND');\n }\n\n const updatedDeal: Deal = {\n ...deal,\n status: 'LOST' as const,\n updatedAt: new Date(),\n };\n\n MOCK_DEALS[dealIndex] = updatedDeal;\n\n return updatedDeal;\n}\n\n/**\n * Get deals grouped by stage for Kanban view\n */\nexport async function mockGetDealsByStageHandler(input: {\n pipelineId: string;\n}): Promise<Record<string, Deal[]>> {\n const deals = MOCK_DEALS.filter(\n (d) => d.pipelineId === input.pipelineId && d.status === 'OPEN'\n );\n\n const grouped: Record<string, Deal[]> = {};\n for (const stage of MOCK_STAGES) {\n grouped[stage.id] = deals.filter((d) => d.stageId === stage.id);\n }\n\n return grouped;\n}\n\n/**\n * Get pipeline stages\n */\nexport async function mockGetPipelineStagesHandler(input: {\n pipelineId: string;\n}) {\n return MOCK_STAGES.filter((s) => s.pipelineId === input.pipelineId);\n}\n"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,14 +15,14 @@ import { MOCK_COMPANIES, MOCK_CONTACTS, MOCK_DEALS, MOCK_STAGES, MockDeal, MockS
15
15
  import { CreateDealInput, Deal, ListDealsInput, ListDealsOutput, LoseDealInput, MoveDealInput, WinDealInput, mockCreateDealHandler, mockGetDealsByStageHandler, mockGetPipelineStagesHandler, mockListDealsHandler, mockLoseDealHandler, mockMoveDealHandler, mockWinDealHandler } from "./handlers/deal.handlers.js";
16
16
  import { CrmDashboardPresentation, PipelineMetricsPresentation } from "./presentations/dashboard.presentation.js";
17
17
  import { DealCardPresentation, DealDetailPresentation, DealListPresentation, PipelineKanbanPresentation } from "./presentations/pipeline.presentation.js";
18
- import * as _lssm_lib_schema0 from "@lssm/lib.schema";
18
+ import * as _lssm_lib_schema51 from "@lssm/lib.schema";
19
19
 
20
20
  //#region src/index.d.ts
21
21
  /**
22
22
  * Complete schema composition for CRM Pipeline.
23
23
  */
24
24
  declare const schemaComposition: {
25
- modules: _lssm_lib_schema0.ModuleSchemaContribution[];
25
+ modules: _lssm_lib_schema51.ModuleSchemaContribution[];
26
26
  provider: "postgresql";
27
27
  outputPath: string;
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;cAqBa;WASZ,iBAAA,CAAA,wBAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;cAqBa;WASZ,kBAAA,CAAA,wBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"openbanking.js","names":[],"sources":["../../../../../../../libs/contracts/dist/capabilities/openbanking.js"],"sourcesContent":["import { StabilityEnum } from \"../ownership.js\";\n\n//#region src/capabilities/openbanking.ts\nconst OWNERS = [\"platform.finance\"];\nconst TAGS = [\"open-banking\", \"finance\"];\nconst openBankingAccountsReadCapability = {\n\tmeta: {\n\t\tkey: \"openbanking.accounts.read\",\n\t\tversion: 1,\n\t\tkind: \"integration\",\n\t\ttitle: \"Open Banking Accounts (Read)\",\n\t\tdescription: \"Provides read-only access to linked bank accounts, including account summaries and metadata.\",\n\t\tdomain: \"finance\",\n\t\towners: [...OWNERS],\n\t\ttags: [...TAGS],\n\t\tstability: StabilityEnum.Experimental\n\t},\n\tprovides: [\n\t\t{\n\t\t\tsurface: \"operation\",\n\t\t\tname: \"openbanking.accounts.list\",\n\t\t\tversion: 1,\n\t\t\tdescription: \"List bank accounts linked to a Powens open banking connection.\"\n\t\t},\n\t\t{\n\t\t\tsurface: \"operation\",\n\t\t\tname: \"openbanking.accounts.get\",\n\t\t\tversion: 1,\n\t\t\tdescription: \"Retrieve the canonical bank account record for a specific account.\"\n\t\t},\n\t\t{\n\t\t\tsurface: \"operation\",\n\t\t\tname: \"openbanking.accounts.sync\",\n\t\t\tversion: 1,\n\t\t\tdescription: \"Trigger a refresh of bank account metadata from the open banking provider.\"\n\t\t}\n\t]\n};\nconst openBankingTransactionsReadCapability = {\n\tmeta: {\n\t\tkey: \"openbanking.transactions.read\",\n\t\tversion: 1,\n\t\tkind: \"integration\",\n\t\ttitle: \"Open Banking Transactions (Read)\",\n\t\tdescription: \"Enables retrieval of transaction history for linked bank accounts via open banking providers.\",\n\t\tdomain: \"finance\",\n\t\towners: [...OWNERS],\n\t\ttags: [...TAGS, \"transactions\"],\n\t\tstability: StabilityEnum.Experimental\n\t},\n\tprovides: [{\n\t\tsurface: \"operation\",\n\t\tname: \"openbanking.transactions.list\",\n\t\tversion: 1,\n\t\tdescription: \"List transactions for a given bank account with optional date filtering.\"\n\t}, {\n\t\tsurface: \"operation\",\n\t\tname: \"openbanking.transactions.sync\",\n\t\tversion: 1,\n\t\tdescription: \"Synchronise transactions from the open banking provider into the canonical ledger.\"\n\t}]\n};\nconst openBankingBalancesReadCapability = {\n\tmeta: {\n\t\tkey: \"openbanking.balances.read\",\n\t\tversion: 1,\n\t\tkind: \"integration\",\n\t\ttitle: \"Open Banking Balances (Read)\",\n\t\tdescription: \"Allows querying of current and available balances for linked bank accounts via open banking providers.\",\n\t\tdomain: \"finance\",\n\t\towners: [...OWNERS],\n\t\ttags: [...TAGS, \"balances\"],\n\t\tstability: StabilityEnum.Experimental\n\t},\n\tprovides: [{\n\t\tsurface: \"operation\",\n\t\tname: \"openbanking.balances.get\",\n\t\tversion: 1,\n\t\tdescription: \"Retrieve the latest known balances for a specified bank account.\"\n\t}, {\n\t\tsurface: \"operation\",\n\t\tname: \"openbanking.balances.refresh\",\n\t\tversion: 1,\n\t\tdescription: \"Force a balance refresh from the open banking provider.\"\n\t}]\n};\nfunction registerOpenBankingCapabilities(registry) {\n\treturn registry.register(openBankingAccountsReadCapability).register(openBankingTransactionsReadCapability).register(openBankingBalancesReadCapability);\n}\n\n//#endregion\nexport { openBankingAccountsReadCapability, openBankingBalancesReadCapability, openBankingTransactionsReadCapability, registerOpenBankingCapabilities };\n//# sourceMappingURL=openbanking.js.map"],"mappings":";;;AAGA,MAAM,SAAS,CAAC,mBAAmB;AACnC,MAAM,OAAO,CAAC,gBAAgB,UAAU;AACxC,MAAM,oCAAoC;CACzC,MAAM;EACL,KAAK;EACL,SAAS;EACT,MAAM;EACN,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM,CAAC,GAAG,KAAK;EACf,WAAW,cAAc;EACzB;CACD,UAAU;EACT;GACC,SAAS;GACT,MAAM;GACN,SAAS;GACT,aAAa;GACb;EACD;GACC,SAAS;GACT,MAAM;GACN,SAAS;GACT,aAAa;GACb;EACD;GACC,SAAS;GACT,MAAM;GACN,SAAS;GACT,aAAa;GACb;EACD;CACD;AACD,MAAM,wCAAwC;CAC7C,MAAM;EACL,KAAK;EACL,SAAS;EACT,MAAM;EACN,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM,CAAC,GAAG,MAAM,eAAe;EAC/B,WAAW,cAAc;EACzB;CACD,UAAU,CAAC;EACV,SAAS;EACT,MAAM;EACN,SAAS;EACT,aAAa;EACb,EAAE;EACF,SAAS;EACT,MAAM;EACN,SAAS;EACT,aAAa;EACb,CAAC;CACF;AACD,MAAM,oCAAoC;CACzC,MAAM;EACL,KAAK;EACL,SAAS;EACT,MAAM;EACN,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM,CAAC,GAAG,MAAM,WAAW;EAC3B,WAAW,cAAc;EACzB;CACD,UAAU,CAAC;EACV,SAAS;EACT,MAAM;EACN,SAAS;EACT,aAAa;EACb,EAAE;EACF,SAAS;EACT,MAAM;EACN,SAAS;EACT,aAAa;EACb,CAAC;CACF"}
1
+ {"version":3,"file":"openbanking.js","names":[],"sources":["../../../../../../../libs/contracts/dist/capabilities/openbanking.js"],"sourcesContent":["import { StabilityEnum } from \"../ownership.js\";\n\n//#region src/capabilities/openbanking.ts\nconst OWNERS = [\"platform.finance\"];\nconst TAGS = [\"open-banking\", \"finance\"];\nconst openBankingAccountsReadCapability = {\n\tmeta: {\n\t\tkey: \"openbanking.accounts.read\",\n\t\tversion: 1,\n\t\tkind: \"integration\",\n\t\ttitle: \"Open Banking Accounts (Read)\",\n\t\tdescription: \"Provides read-only access to linked bank accounts, including account summaries and metadata.\",\n\t\tdomain: \"finance\",\n\t\towners: [...OWNERS],\n\t\ttags: [...TAGS],\n\t\tstability: StabilityEnum.Experimental\n\t},\n\tprovides: [\n\t\t{\n\t\t\tsurface: \"operation\",\n\t\t\tname: \"openbanking.accounts.list\",\n\t\t\tversion: 1,\n\t\t\tdescription: \"List bank accounts linked to a Powens open banking connection.\"\n\t\t},\n\t\t{\n\t\t\tsurface: \"operation\",\n\t\t\tname: \"openbanking.accounts.get\",\n\t\t\tversion: 1,\n\t\t\tdescription: \"Retrieve the canonical bank account record for a specific account.\"\n\t\t},\n\t\t{\n\t\t\tsurface: \"operation\",\n\t\t\tname: \"openbanking.accounts.sync\",\n\t\t\tversion: 1,\n\t\t\tdescription: \"Trigger a refresh of bank account metadata from the open banking provider.\"\n\t\t}\n\t]\n};\nconst openBankingTransactionsReadCapability = {\n\tmeta: {\n\t\tkey: \"openbanking.transactions.read\",\n\t\tversion: 1,\n\t\tkind: \"integration\",\n\t\ttitle: \"Open Banking Transactions (Read)\",\n\t\tdescription: \"Enables retrieval of transaction history for linked bank accounts via open banking providers.\",\n\t\tdomain: \"finance\",\n\t\towners: [...OWNERS],\n\t\ttags: [...TAGS, \"transactions\"],\n\t\tstability: StabilityEnum.Experimental\n\t},\n\tprovides: [{\n\t\tsurface: \"operation\",\n\t\tname: \"openbanking.transactions.list\",\n\t\tversion: 1,\n\t\tdescription: \"List transactions for a given bank account with optional date filtering.\"\n\t}, {\n\t\tsurface: \"operation\",\n\t\tname: \"openbanking.transactions.sync\",\n\t\tversion: 1,\n\t\tdescription: \"Synchronise transactions from the open banking provider into the canonical ledger.\"\n\t}]\n};\nconst openBankingBalancesReadCapability = {\n\tmeta: {\n\t\tkey: \"openbanking.balances.read\",\n\t\tversion: 1,\n\t\tkind: \"integration\",\n\t\ttitle: \"Open Banking Balances (Read)\",\n\t\tdescription: \"Allows querying of current and available balances for linked bank accounts via open banking providers.\",\n\t\tdomain: \"finance\",\n\t\towners: [...OWNERS],\n\t\ttags: [...TAGS, \"balances\"],\n\t\tstability: StabilityEnum.Experimental\n\t},\n\tprovides: [{\n\t\tsurface: \"operation\",\n\t\tname: \"openbanking.balances.get\",\n\t\tversion: 1,\n\t\tdescription: \"Retrieve the latest known balances for a specified bank account.\"\n\t}, {\n\t\tsurface: \"operation\",\n\t\tname: \"openbanking.balances.refresh\",\n\t\tversion: 1,\n\t\tdescription: \"Force a balance refresh from the open banking provider.\"\n\t}]\n};\nfunction registerOpenBankingCapabilities(registry) {\n\treturn registry.register(openBankingAccountsReadCapability).register(openBankingTransactionsReadCapability).register(openBankingBalancesReadCapability);\n}\n\n//#endregion\nexport { openBankingAccountsReadCapability, openBankingBalancesReadCapability, openBankingTransactionsReadCapability, registerOpenBankingCapabilities };"],"mappings":";;;AAGA,MAAM,SAAS,CAAC,mBAAmB;AACnC,MAAM,OAAO,CAAC,gBAAgB,UAAU;AACxC,MAAM,oCAAoC;CACzC,MAAM;EACL,KAAK;EACL,SAAS;EACT,MAAM;EACN,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM,CAAC,GAAG,KAAK;EACf,WAAW,cAAc;EACzB;CACD,UAAU;EACT;GACC,SAAS;GACT,MAAM;GACN,SAAS;GACT,aAAa;GACb;EACD;GACC,SAAS;GACT,MAAM;GACN,SAAS;GACT,aAAa;GACb;EACD;GACC,SAAS;GACT,MAAM;GACN,SAAS;GACT,aAAa;GACb;EACD;CACD;AACD,MAAM,wCAAwC;CAC7C,MAAM;EACL,KAAK;EACL,SAAS;EACT,MAAM;EACN,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM,CAAC,GAAG,MAAM,eAAe;EAC/B,WAAW,cAAc;EACzB;CACD,UAAU,CAAC;EACV,SAAS;EACT,MAAM;EACN,SAAS;EACT,aAAa;EACb,EAAE;EACF,SAAS;EACT,MAAM;EACN,SAAS;EACT,aAAa;EACb,CAAC;CACF;AACD,MAAM,oCAAoC;CACzC,MAAM;EACL,KAAK;EACL,SAAS;EACT,MAAM;EACN,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM,CAAC,GAAG,MAAM,WAAW;EAC3B,WAAW,cAAc;EACzB;CACD,UAAU,CAAC;EACV,SAAS;EACT,MAAM;EACN,SAAS;EACT,aAAa;EACb,EAAE;EACF,SAAS;EACT,MAAM;EACN,SAAS;EACT,aAAa;EACb,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","names":[],"sources":["../../../../../../../libs/contracts/dist/contract-registry/schemas.js"],"sourcesContent":["import { StabilityEnum } from \"../ownership.js\";\nimport z from \"zod\";\n\n//#region src/contract-registry/schemas.ts\nconst ContractRegistryItemTypeValues = [\n\t\"contractspec:operation\",\n\t\"contractspec:event\",\n\t\"contractspec:presentation\",\n\t\"contractspec:form\",\n\t\"contractspec:feature\",\n\t\"contractspec:workflow\",\n\t\"contractspec:template\",\n\t\"contractspec:integration\",\n\t\"contractspec:data-view\",\n\t\"contractspec:migration\",\n\t\"contractspec:telemetry\",\n\t\"contractspec:experiment\",\n\t\"contractspec:app-config\",\n\t\"contractspec:knowledge\"\n];\nconst ContractRegistryItemTypeSchema = z.enum(ContractRegistryItemTypeValues);\nconst ContractRegistryFileSchema = z.object({\n\tpath: z.string().min(1),\n\ttype: z.string().min(1),\n\tcontent: z.string().optional()\n});\nconst ContractRegistryItemSchema = z.object({\n\tname: z.string().min(1),\n\ttype: ContractRegistryItemTypeSchema,\n\tversion: z.number().int().nonnegative(),\n\ttitle: z.string().min(1),\n\tdescription: z.string().min(1),\n\tmeta: z.object({\n\t\tstability: z.enum([\n\t\t\tStabilityEnum.Idea,\n\t\t\tStabilityEnum.InCreation,\n\t\t\tStabilityEnum.Experimental,\n\t\t\tStabilityEnum.Beta,\n\t\t\tStabilityEnum.Stable,\n\t\t\tStabilityEnum.Deprecated\n\t\t]),\n\t\towners: z.array(z.string().min(1)).default([]),\n\t\ttags: z.array(z.string().min(1)).default([])\n\t}),\n\tdependencies: z.array(z.string().min(1)).optional(),\n\tregistryDependencies: z.array(z.string().min(1)).optional(),\n\tfiles: z.array(ContractRegistryFileSchema).min(1),\n\tschema: z.object({\n\t\tinput: z.unknown().optional(),\n\t\toutput: z.unknown().optional()\n\t}).optional()\n});\nconst ContractRegistryManifestSchema = z.object({\n\t$schema: z.string().min(1).optional(),\n\tname: z.string().min(1),\n\thomepage: z.string().min(1).optional(),\n\titems: z.array(ContractRegistryItemSchema)\n});\n\n//#endregion\nexport { ContractRegistryFileSchema, ContractRegistryItemSchema, ContractRegistryItemTypeSchema, ContractRegistryManifestSchema };\n//# sourceMappingURL=schemas.js.map"],"mappings":";;;;AAoBA,MAAM,iCAAiC,EAAE,KAhBF;CACtC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,CAC4E;AAC7E,MAAM,6BAA6B,EAAE,OAAO;CAC3C,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;CACvB,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;CACvB,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC9B,CAAC;AACF,MAAM,6BAA6B,EAAE,OAAO;CAC3C,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;CACvB,MAAM;CACN,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;CACvC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE;CACxB,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE;CAC9B,MAAM,EAAE,OAAO;EACd,WAAW,EAAE,KAAK;GACjB,cAAc;GACd,cAAc;GACd,cAAc;GACd,cAAc;GACd,cAAc;GACd,cAAc;GACd,CAAC;EACF,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;EAC9C,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;EAC5C,CAAC;CACF,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU;CACnD,sBAAsB,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU;CAC3D,OAAO,EAAE,MAAM,2BAA2B,CAAC,IAAI,EAAE;CACjD,QAAQ,EAAE,OAAO;EAChB,OAAO,EAAE,SAAS,CAAC,UAAU;EAC7B,QAAQ,EAAE,SAAS,CAAC,UAAU;EAC9B,CAAC,CAAC,UAAU;CACb,CAAC;AACF,MAAM,iCAAiC,EAAE,OAAO;CAC/C,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CACrC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;CACvB,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CACtC,OAAO,EAAE,MAAM,2BAA2B;CAC1C,CAAC"}
1
+ {"version":3,"file":"schemas.js","names":[],"sources":["../../../../../../../libs/contracts/dist/contract-registry/schemas.js"],"sourcesContent":["import { StabilityEnum } from \"../ownership.js\";\nimport z from \"zod\";\n\n//#region src/contract-registry/schemas.ts\nconst ContractRegistryItemTypeValues = [\n\t\"contractspec:operation\",\n\t\"contractspec:event\",\n\t\"contractspec:presentation\",\n\t\"contractspec:form\",\n\t\"contractspec:feature\",\n\t\"contractspec:workflow\",\n\t\"contractspec:template\",\n\t\"contractspec:integration\",\n\t\"contractspec:data-view\",\n\t\"contractspec:migration\",\n\t\"contractspec:telemetry\",\n\t\"contractspec:experiment\",\n\t\"contractspec:app-config\",\n\t\"contractspec:knowledge\"\n];\nconst ContractRegistryItemTypeSchema = z.enum(ContractRegistryItemTypeValues);\nconst ContractRegistryFileSchema = z.object({\n\tpath: z.string().min(1),\n\ttype: z.string().min(1),\n\tcontent: z.string().optional()\n});\nconst ContractRegistryItemSchema = z.object({\n\tname: z.string().min(1),\n\ttype: ContractRegistryItemTypeSchema,\n\tversion: z.number().int().nonnegative(),\n\ttitle: z.string().min(1),\n\tdescription: z.string().min(1),\n\tmeta: z.object({\n\t\tstability: z.enum([\n\t\t\tStabilityEnum.Idea,\n\t\t\tStabilityEnum.InCreation,\n\t\t\tStabilityEnum.Experimental,\n\t\t\tStabilityEnum.Beta,\n\t\t\tStabilityEnum.Stable,\n\t\t\tStabilityEnum.Deprecated\n\t\t]),\n\t\towners: z.array(z.string().min(1)).default([]),\n\t\ttags: z.array(z.string().min(1)).default([])\n\t}),\n\tdependencies: z.array(z.string().min(1)).optional(),\n\tregistryDependencies: z.array(z.string().min(1)).optional(),\n\tfiles: z.array(ContractRegistryFileSchema).min(1),\n\tschema: z.object({\n\t\tinput: z.unknown().optional(),\n\t\toutput: z.unknown().optional()\n\t}).optional()\n});\nconst ContractRegistryManifestSchema = z.object({\n\t$schema: z.string().min(1).optional(),\n\tname: z.string().min(1),\n\thomepage: z.string().min(1).optional(),\n\titems: z.array(ContractRegistryItemSchema)\n});\n\n//#endregion\nexport { ContractRegistryFileSchema, ContractRegistryItemSchema, ContractRegistryItemTypeSchema, ContractRegistryManifestSchema };"],"mappings":";;;;AAoBA,MAAM,iCAAiC,EAAE,KAhBF;CACtC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,CAC4E;AAC7E,MAAM,6BAA6B,EAAE,OAAO;CAC3C,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;CACvB,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;CACvB,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC9B,CAAC;AACF,MAAM,6BAA6B,EAAE,OAAO;CAC3C,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;CACvB,MAAM;CACN,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;CACvC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE;CACxB,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE;CAC9B,MAAM,EAAE,OAAO;EACd,WAAW,EAAE,KAAK;GACjB,cAAc;GACd,cAAc;GACd,cAAc;GACd,cAAc;GACd,cAAc;GACd,cAAc;GACd,CAAC;EACF,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;EAC9C,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;EAC5C,CAAC;CACF,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU;CACnD,sBAAsB,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU;CAC3D,OAAO,EAAE,MAAM,2BAA2B,CAAC,IAAI,EAAE;CACjD,QAAQ,EAAE,OAAO;EAChB,OAAO,EAAE,SAAS,CAAC,UAAU;EAC7B,QAAQ,EAAE,SAAS,CAAC,UAAU;EAC9B,CAAC,CAAC,UAAU;CACb,CAAC;AACF,MAAM,iCAAiC,EAAE,OAAO;CAC/C,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CACrC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;CACvB,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CACtC,OAAO,EAAE,MAAM,2BAA2B;CAC1C,CAAC"}