@lssm/example.service-business-os 0.0.0-canary-20251217083314 → 0.0.0-canary-20251219202229

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 (212) hide show
  1. package/LICENSE +21 -0
  2. package/dist/client/client.contracts.d.ts +19 -18
  3. package/dist/client/client.contracts.d.ts.map +1 -0
  4. package/dist/client/client.contracts.js +2 -1
  5. package/dist/client/client.contracts.js.map +1 -0
  6. package/dist/client/client.schema.d.ts +18 -17
  7. package/dist/client/client.schema.d.ts.map +1 -0
  8. package/dist/client/client.schema.js +18 -19
  9. package/dist/client/client.schema.js.map +1 -0
  10. package/dist/docs/service-business-os.docblock.js +2 -1
  11. package/dist/docs/service-business-os.docblock.js.map +1 -0
  12. package/dist/entities/index.d.ts +157 -156
  13. package/dist/entities/index.d.ts.map +1 -0
  14. package/dist/entities/index.js +98 -98
  15. package/dist/entities/index.js.map +1 -0
  16. package/dist/events.d.ts +91 -90
  17. package/dist/events.d.ts.map +1 -0
  18. package/dist/events.js +32 -33
  19. package/dist/events.js.map +1 -0
  20. package/dist/example.d.ts +2 -1
  21. package/dist/example.d.ts.map +1 -0
  22. package/dist/example.js +2 -1
  23. package/dist/example.js.map +1 -0
  24. package/dist/handlers/index.d.ts +2 -1
  25. package/dist/handlers/index.d.ts.map +1 -0
  26. package/dist/handlers/index.js +2 -1
  27. package/dist/handlers/index.js.map +1 -0
  28. package/dist/invoice/invoice.contracts.d.ts +19 -18
  29. package/dist/invoice/invoice.contracts.d.ts.map +1 -0
  30. package/dist/invoice/invoice.contracts.js +2 -1
  31. package/dist/invoice/invoice.contracts.js.map +1 -0
  32. package/dist/invoice/invoice.schema.d.ts +18 -17
  33. package/dist/invoice/invoice.schema.d.ts.map +1 -0
  34. package/dist/invoice/invoice.schema.js +18 -19
  35. package/dist/invoice/invoice.schema.js.map +1 -0
  36. package/dist/job/job.contracts.d.ts +64 -63
  37. package/dist/job/job.contracts.d.ts.map +1 -0
  38. package/dist/job/job.contracts.js +10 -11
  39. package/dist/job/job.contracts.js.map +1 -0
  40. package/dist/job/job.schema.d.ts +22 -21
  41. package/dist/job/job.schema.d.ts.map +1 -0
  42. package/dist/job/job.schema.js +22 -23
  43. package/dist/job/job.schema.js.map +1 -0
  44. package/dist/libs/contracts/dist/capabilities/openbanking.js +2 -1
  45. package/dist/libs/contracts/dist/capabilities/openbanking.js.map +1 -0
  46. package/dist/libs/contracts/dist/contract-registry/schemas.js +2 -1
  47. package/dist/libs/contracts/dist/contract-registry/schemas.js.map +1 -0
  48. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +2 -1
  49. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
  50. package/dist/libs/contracts/dist/docs/index.js +2 -6
  51. package/dist/libs/contracts/dist/docs/meta.docs.js +30 -0
  52. package/dist/libs/contracts/dist/docs/meta.docs.js.map +1 -0
  53. package/dist/libs/contracts/dist/docs/presentations.js +2 -1
  54. package/dist/libs/contracts/dist/docs/presentations.js.map +1 -0
  55. package/dist/libs/contracts/dist/docs/registry.js +2 -1
  56. package/dist/libs/contracts/dist/docs/registry.js.map +1 -0
  57. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +2 -1
  58. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
  59. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +2 -1
  60. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
  61. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +2 -1
  62. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
  63. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +2 -1
  64. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
  65. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +2 -1
  66. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
  67. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +2 -1
  68. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
  69. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +2 -1
  70. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -0
  71. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +2 -1
  72. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
  73. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +2 -1
  74. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
  75. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +2 -1
  76. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
  77. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +2 -1
  78. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
  79. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +2 -1
  80. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
  81. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +2 -1
  82. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
  83. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +2 -1
  84. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
  85. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +2 -1
  86. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
  87. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +2 -1
  88. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
  89. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +2 -1
  90. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
  91. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +2 -1
  92. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
  93. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +2 -1
  94. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
  95. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +2 -1
  96. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js.map +1 -0
  97. package/dist/libs/contracts/dist/docs/tech-contracts.docs.js +97 -0
  98. package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +1 -0
  99. package/dist/libs/contracts/dist/events.js +2 -1
  100. package/dist/libs/contracts/dist/events.js.map +1 -0
  101. package/dist/libs/contracts/dist/index.js +2 -1
  102. package/dist/libs/contracts/dist/integrations/contracts.js +65 -66
  103. package/dist/libs/contracts/dist/integrations/contracts.js.map +1 -0
  104. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +31 -32
  105. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -0
  106. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +18 -19
  107. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -0
  108. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +32 -33
  109. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -0
  110. package/dist/libs/contracts/dist/integrations/openbanking/models.js +60 -61
  111. package/dist/libs/contracts/dist/integrations/openbanking/models.js.map +1 -0
  112. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +2 -1
  113. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js.map +1 -0
  114. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +2 -1
  115. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js.map +1 -0
  116. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +2 -1
  117. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js.map +1 -0
  118. package/dist/libs/contracts/dist/integrations/providers/gmail.js +2 -1
  119. package/dist/libs/contracts/dist/integrations/providers/gmail.js.map +1 -0
  120. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +2 -1
  121. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js.map +1 -0
  122. package/dist/libs/contracts/dist/integrations/providers/mistral.js +2 -1
  123. package/dist/libs/contracts/dist/integrations/providers/mistral.js.map +1 -0
  124. package/dist/libs/contracts/dist/integrations/providers/postmark.js +2 -1
  125. package/dist/libs/contracts/dist/integrations/providers/postmark.js.map +1 -0
  126. package/dist/libs/contracts/dist/integrations/providers/powens.js +2 -1
  127. package/dist/libs/contracts/dist/integrations/providers/powens.js.map +1 -0
  128. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +2 -1
  129. package/dist/libs/contracts/dist/integrations/providers/qdrant.js.map +1 -0
  130. package/dist/libs/contracts/dist/integrations/providers/stripe.js +2 -1
  131. package/dist/libs/contracts/dist/integrations/providers/stripe.js.map +1 -0
  132. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +2 -1
  133. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js.map +1 -0
  134. package/dist/libs/contracts/dist/knowledge/contracts.js +44 -45
  135. package/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -0
  136. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +2 -1
  137. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js.map +1 -0
  138. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +2 -1
  139. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js.map +1 -0
  140. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +2 -1
  141. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js.map +1 -0
  142. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +2 -1
  143. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js.map +1 -0
  144. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +2 -1
  145. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js.map +1 -0
  146. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +2 -1
  147. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js.map +1 -0
  148. package/dist/libs/contracts/dist/llm/exporters.js +2 -1
  149. package/dist/libs/contracts/dist/llm/exporters.js.map +1 -0
  150. package/dist/libs/contracts/dist/onboarding-base.js +22 -23
  151. package/dist/libs/contracts/dist/onboarding-base.js.map +1 -0
  152. package/dist/libs/contracts/dist/ownership.js +4 -2
  153. package/dist/libs/contracts/dist/ownership.js.map +1 -0
  154. package/dist/libs/contracts/dist/presentations.v2.js +2 -1
  155. package/dist/libs/contracts/dist/presentations.v2.js.map +1 -0
  156. package/dist/libs/contracts/dist/regenerator/service.js +2 -1
  157. package/dist/libs/contracts/dist/regenerator/service.js.map +1 -0
  158. package/dist/libs/contracts/dist/schema/dist/index.js +3873 -6
  159. package/dist/libs/contracts/dist/schema/dist/index.js.map +1 -0
  160. package/dist/libs/contracts/dist/spec.js +2 -1
  161. package/dist/libs/contracts/dist/spec.js.map +1 -0
  162. package/dist/libs/schema/dist/index.js +4889 -6
  163. package/dist/libs/schema/dist/index.js.map +1 -0
  164. package/dist/payment/payment.contracts.d.ts +18 -17
  165. package/dist/payment/payment.contracts.d.ts.map +1 -0
  166. package/dist/payment/payment.contracts.js +2 -1
  167. package/dist/payment/payment.contracts.js.map +1 -0
  168. package/dist/payment/payment.schema.d.ts +17 -16
  169. package/dist/payment/payment.schema.d.ts.map +1 -0
  170. package/dist/payment/payment.schema.js +17 -18
  171. package/dist/payment/payment.schema.js.map +1 -0
  172. package/dist/presentations/index.d.ts +2 -1
  173. package/dist/presentations/index.d.ts.map +1 -0
  174. package/dist/presentations/index.js +2 -1
  175. package/dist/presentations/index.js.map +1 -0
  176. package/dist/presentations.d.ts +2 -1
  177. package/dist/presentations.d.ts.map +1 -0
  178. package/dist/presentations.js +2 -1
  179. package/dist/presentations.js.map +1 -0
  180. package/dist/quote/quote.contracts.d.ts +37 -36
  181. package/dist/quote/quote.contracts.d.ts.map +1 -0
  182. package/dist/quote/quote.contracts.js +2 -1
  183. package/dist/quote/quote.contracts.js.map +1 -0
  184. package/dist/quote/quote.schema.d.ts +26 -25
  185. package/dist/quote/quote.schema.d.ts.map +1 -0
  186. package/dist/quote/quote.schema.js +26 -27
  187. package/dist/quote/quote.schema.js.map +1 -0
  188. package/dist/service.feature.d.ts +2 -1
  189. package/dist/service.feature.d.ts.map +1 -0
  190. package/dist/service.feature.js +2 -1
  191. package/dist/service.feature.js.map +1 -0
  192. package/package.json +13 -12
  193. package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
  194. package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
  195. package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
  196. package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
  197. package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
  198. package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
  199. package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
  200. package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
  201. package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
  202. package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -34
  203. package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
  204. package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
  205. package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
  206. package/dist/libs/schema/dist/EnumType.js +0 -2
  207. package/dist/libs/schema/dist/FieldType.js +0 -49
  208. package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
  209. package/dist/libs/schema/dist/SchemaModel.js +0 -39
  210. package/dist/libs/schema/dist/entity/defineEntity.js +0 -236
  211. package/dist/libs/schema/dist/entity/index.js +0 -2
  212. package/dist/libs/schema/dist/entity/types.js +0 -1
@@ -1,9 +1,8 @@
1
- import { defineEntity, defineEntityEnum, field, index } from "../libs/schema/dist/entity/defineEntity.js";
2
- import "../libs/schema/dist/index.js";
1
+ import { L5, Z5, _5, b5 } from "../libs/schema/dist/index.js";
3
2
 
4
3
  //#region src/entities/index.ts
5
4
  const schema = "lssm_service_os";
6
- const QuoteStatusEnum = defineEntityEnum({
5
+ const QuoteStatusEnum = Z5({
7
6
  name: "QuoteStatus",
8
7
  schema,
9
8
  values: [
@@ -15,7 +14,7 @@ const QuoteStatusEnum = defineEntityEnum({
15
14
  ],
16
15
  description: "Lifecycle for quotes/proposals."
17
16
  });
18
- const JobStatusEnum = defineEntityEnum({
17
+ const JobStatusEnum = Z5({
19
18
  name: "JobStatus",
20
19
  schema,
21
20
  values: [
@@ -26,7 +25,7 @@ const JobStatusEnum = defineEntityEnum({
26
25
  ],
27
26
  description: "Lifecycle for service jobs/interventions."
28
27
  });
29
- const InvoiceStatusEnum = defineEntityEnum({
28
+ const InvoiceStatusEnum = Z5({
30
29
  name: "InvoiceStatus",
31
30
  schema,
32
31
  values: [
@@ -38,7 +37,7 @@ const InvoiceStatusEnum = defineEntityEnum({
38
37
  ],
39
38
  description: "Lifecycle for invoices."
40
39
  });
41
- const PaymentMethodEnum = defineEntityEnum({
40
+ const PaymentMethodEnum = Z5({
42
41
  name: "PaymentMethod",
43
42
  schema,
44
43
  values: [
@@ -49,222 +48,222 @@ const PaymentMethodEnum = defineEntityEnum({
49
48
  ],
50
49
  description: "Payment method used."
51
50
  });
52
- const ClientEntity = defineEntity({
51
+ const ClientEntity = L5({
53
52
  name: "Client",
54
53
  description: "Customer organization or individual.",
55
54
  schema,
56
55
  map: "client",
57
56
  fields: {
58
- id: field.id({ description: "Unique client identifier" }),
59
- name: field.string({ description: "Client display name" }),
60
- contactEmail: field.string({
57
+ id: _5.id({ description: "Unique client identifier" }),
58
+ name: _5.string({ description: "Client display name" }),
59
+ contactEmail: _5.string({
61
60
  description: "Primary contact email",
62
61
  isOptional: true
63
62
  }),
64
- phone: field.string({
63
+ phone: _5.string({
65
64
  description: "Primary phone",
66
65
  isOptional: true
67
66
  }),
68
- address: field.json({
67
+ address: _5.json({
69
68
  description: "Mailing address",
70
69
  isOptional: true
71
70
  }),
72
- industry: field.string({
71
+ industry: _5.string({
73
72
  description: "Industry/vertical",
74
73
  isOptional: true
75
74
  }),
76
- orgId: field.string({ description: "Owning organization" }),
77
- ownerId: field.string({ description: "Account owner" }),
78
- metadata: field.json({
75
+ orgId: _5.string({ description: "Owning organization" }),
76
+ ownerId: _5.string({ description: "Account owner" }),
77
+ metadata: _5.json({
79
78
  description: "Additional metadata",
80
79
  isOptional: true
81
80
  }),
82
- createdAt: field.createdAt(),
83
- updatedAt: field.updatedAt(),
84
- quotes: field.hasMany("Quote"),
85
- jobs: field.hasMany("Job")
81
+ createdAt: _5.createdAt(),
82
+ updatedAt: _5.updatedAt(),
83
+ quotes: _5.hasMany("Quote"),
84
+ jobs: _5.hasMany("Job")
86
85
  },
87
86
  indexes: [
88
- index.on(["orgId"]),
89
- index.on(["ownerId"]),
90
- index.on(["name"])
87
+ b5.on(["orgId"]),
88
+ b5.on(["ownerId"]),
89
+ b5.on(["name"])
91
90
  ]
92
91
  });
93
- const QuoteEntity = defineEntity({
92
+ const QuoteEntity = L5({
94
93
  name: "Quote",
95
94
  description: "Proposal/quote for a job.",
96
95
  schema,
97
96
  map: "quote",
98
97
  fields: {
99
- id: field.id({ description: "Unique quote identifier" }),
100
- clientId: field.foreignKey({ description: "Client receiving quote" }),
101
- title: field.string({ description: "Quote title" }),
102
- description: field.string({
98
+ id: _5.id({ description: "Unique quote identifier" }),
99
+ clientId: _5.foreignKey({ description: "Client receiving quote" }),
100
+ title: _5.string({ description: "Quote title" }),
101
+ description: _5.string({
103
102
  description: "Work summary",
104
103
  isOptional: true
105
104
  }),
106
- amount: field.float({ description: "Total quoted amount" }),
107
- currency: field.string({
105
+ amount: _5.float({ description: "Total quoted amount" }),
106
+ currency: _5.string({
108
107
  description: "Currency code",
109
108
  default: "\"USD\""
110
109
  }),
111
- status: field.enum("QuoteStatus", {
110
+ status: _5.enum("QuoteStatus", {
112
111
  description: "Quote status",
113
112
  default: "DRAFT"
114
113
  }),
115
- validUntil: field.dateTime({
114
+ validUntil: _5.dateTime({
116
115
  description: "Expiration date",
117
116
  isOptional: true
118
117
  }),
119
- terms: field.string({
118
+ terms: _5.string({
120
119
  description: "Payment/engagement terms",
121
120
  isOptional: true
122
121
  }),
123
- orgId: field.string({ description: "Owning organization" }),
124
- ownerId: field.string({ description: "Account owner" }),
125
- createdAt: field.createdAt(),
126
- updatedAt: field.updatedAt(),
127
- client: field.belongsTo("Client", ["clientId"], ["id"], { onDelete: "Cascade" }),
128
- jobs: field.hasMany("Job")
122
+ orgId: _5.string({ description: "Owning organization" }),
123
+ ownerId: _5.string({ description: "Account owner" }),
124
+ createdAt: _5.createdAt(),
125
+ updatedAt: _5.updatedAt(),
126
+ client: _5.belongsTo("Client", ["clientId"], ["id"], { onDelete: "Cascade" }),
127
+ jobs: _5.hasMany("Job")
129
128
  },
130
129
  enums: [QuoteStatusEnum],
131
130
  indexes: [
132
- index.on(["orgId", "status"]),
133
- index.on(["clientId"]),
134
- index.on(["validUntil"])
131
+ b5.on(["orgId", "status"]),
132
+ b5.on(["clientId"]),
133
+ b5.on(["validUntil"])
135
134
  ]
136
135
  });
137
- const JobEntity = defineEntity({
136
+ const JobEntity = L5({
138
137
  name: "Job",
139
138
  description: "Service job/intervention derived from an accepted quote.",
140
139
  schema,
141
140
  map: "job",
142
141
  fields: {
143
- id: field.id({ description: "Unique job identifier" }),
144
- quoteId: field.foreignKey({ description: "Source quote" }),
145
- clientId: field.foreignKey({ description: "Client receiving service" }),
146
- title: field.string({ description: "Job title" }),
147
- status: field.enum("JobStatus", {
142
+ id: _5.id({ description: "Unique job identifier" }),
143
+ quoteId: _5.foreignKey({ description: "Source quote" }),
144
+ clientId: _5.foreignKey({ description: "Client receiving service" }),
145
+ title: _5.string({ description: "Job title" }),
146
+ status: _5.enum("JobStatus", {
148
147
  description: "Job status",
149
148
  default: "SCHEDULED"
150
149
  }),
151
- scheduledAt: field.dateTime({
150
+ scheduledAt: _5.dateTime({
152
151
  description: "Scheduled start date/time",
153
152
  isOptional: true
154
153
  }),
155
- completedAt: field.dateTime({
154
+ completedAt: _5.dateTime({
156
155
  description: "Completion timestamp",
157
156
  isOptional: true
158
157
  }),
159
- assignedTo: field.string({
158
+ assignedTo: _5.string({
160
159
  description: "Assignee/technician user ID",
161
160
  isOptional: true
162
161
  }),
163
- location: field.json({
162
+ location: _5.json({
164
163
  description: "Location details",
165
164
  isOptional: true
166
165
  }),
167
- notes: field.string({
166
+ notes: _5.string({
168
167
  description: "Internal notes",
169
168
  isOptional: true
170
169
  }),
171
- orgId: field.string({ description: "Owning organization" }),
172
- createdAt: field.createdAt(),
173
- updatedAt: field.updatedAt(),
174
- quote: field.belongsTo("Quote", ["quoteId"], ["id"], { onDelete: "SetNull" }),
175
- client: field.belongsTo("Client", ["clientId"], ["id"], { onDelete: "Cascade" }),
176
- invoices: field.hasMany("Invoice")
170
+ orgId: _5.string({ description: "Owning organization" }),
171
+ createdAt: _5.createdAt(),
172
+ updatedAt: _5.updatedAt(),
173
+ quote: _5.belongsTo("Quote", ["quoteId"], ["id"], { onDelete: "SetNull" }),
174
+ client: _5.belongsTo("Client", ["clientId"], ["id"], { onDelete: "Cascade" }),
175
+ invoices: _5.hasMany("Invoice")
177
176
  },
178
177
  enums: [JobStatusEnum],
179
178
  indexes: [
180
- index.on(["orgId", "status"]),
181
- index.on(["clientId"]),
182
- index.on(["assignedTo", "status"]),
183
- index.on(["scheduledAt"])
179
+ b5.on(["orgId", "status"]),
180
+ b5.on(["clientId"]),
181
+ b5.on(["assignedTo", "status"]),
182
+ b5.on(["scheduledAt"])
184
183
  ]
185
184
  });
186
- const InvoiceEntity = defineEntity({
185
+ const InvoiceEntity = L5({
187
186
  name: "Invoice",
188
187
  description: "Invoice issued for a completed job.",
189
188
  schema,
190
189
  map: "invoice",
191
190
  fields: {
192
- id: field.id({ description: "Unique invoice identifier" }),
193
- jobId: field.foreignKey({ description: "Related job" }),
194
- invoiceNumber: field.string({
191
+ id: _5.id({ description: "Unique invoice identifier" }),
192
+ jobId: _5.foreignKey({ description: "Related job" }),
193
+ invoiceNumber: _5.string({
195
194
  description: "Invoice number",
196
195
  isUnique: true
197
196
  }),
198
- amount: field.decimal({ description: "Invoice amount" }),
199
- currency: field.string({
197
+ amount: _5.decimal({ description: "Invoice amount" }),
198
+ currency: _5.string({
200
199
  description: "Currency code",
201
200
  default: "\"USD\""
202
201
  }),
203
- status: field.enum("InvoiceStatus", {
202
+ status: _5.enum("InvoiceStatus", {
204
203
  description: "Invoice status",
205
204
  default: "DRAFT"
206
205
  }),
207
- dueDate: field.dateTime({
206
+ dueDate: _5.dateTime({
208
207
  description: "Due date",
209
208
  isOptional: true
210
209
  }),
211
- issuedAt: field.dateTime({
210
+ issuedAt: _5.dateTime({
212
211
  description: "Issued timestamp",
213
212
  isOptional: true
214
213
  }),
215
- paidAt: field.dateTime({
214
+ paidAt: _5.dateTime({
216
215
  description: "Paid timestamp",
217
216
  isOptional: true
218
217
  }),
219
- orgId: field.string({ description: "Owning organization" }),
220
- notes: field.string({
218
+ orgId: _5.string({ description: "Owning organization" }),
219
+ notes: _5.string({
221
220
  description: "Invoice notes",
222
221
  isOptional: true
223
222
  }),
224
- metadata: field.json({
223
+ metadata: _5.json({
225
224
  description: "Metadata",
226
225
  isOptional: true
227
226
  }),
228
- createdAt: field.createdAt(),
229
- updatedAt: field.updatedAt(),
230
- job: field.belongsTo("Job", ["jobId"], ["id"], { onDelete: "Cascade" }),
231
- payments: field.hasMany("Payment")
227
+ createdAt: _5.createdAt(),
228
+ updatedAt: _5.updatedAt(),
229
+ job: _5.belongsTo("Job", ["jobId"], ["id"], { onDelete: "Cascade" }),
230
+ payments: _5.hasMany("Payment")
232
231
  },
233
232
  enums: [InvoiceStatusEnum],
234
233
  indexes: [
235
- index.on(["invoiceNumber"]),
236
- index.on(["orgId", "status"]),
237
- index.on(["dueDate"])
234
+ b5.on(["invoiceNumber"]),
235
+ b5.on(["orgId", "status"]),
236
+ b5.on(["dueDate"])
238
237
  ]
239
238
  });
240
- const PaymentEntity = defineEntity({
239
+ const PaymentEntity = L5({
241
240
  name: "Payment",
242
241
  description: "Payment received for an invoice.",
243
242
  schema,
244
243
  map: "payment",
245
244
  fields: {
246
- id: field.id({ description: "Unique payment identifier" }),
247
- invoiceId: field.foreignKey({ description: "Invoice being paid" }),
248
- amount: field.decimal({ description: "Payment amount" }),
249
- currency: field.string({
245
+ id: _5.id({ description: "Unique payment identifier" }),
246
+ invoiceId: _5.foreignKey({ description: "Invoice being paid" }),
247
+ amount: _5.decimal({ description: "Payment amount" }),
248
+ currency: _5.string({
250
249
  description: "Currency code",
251
250
  default: "\"USD\""
252
251
  }),
253
- method: field.enum("PaymentMethod", { description: "Payment method" }),
254
- reference: field.string({
252
+ method: _5.enum("PaymentMethod", { description: "Payment method" }),
253
+ reference: _5.string({
255
254
  description: "Payment reference/transaction ID",
256
255
  isOptional: true
257
256
  }),
258
- receivedAt: field.dateTime({ description: "When payment was received" }),
259
- orgId: field.string({ description: "Owning organization" }),
260
- createdAt: field.createdAt(),
261
- invoice: field.belongsTo("Invoice", ["invoiceId"], ["id"], { onDelete: "Cascade" })
257
+ receivedAt: _5.dateTime({ description: "When payment was received" }),
258
+ orgId: _5.string({ description: "Owning organization" }),
259
+ createdAt: _5.createdAt(),
260
+ invoice: _5.belongsTo("Invoice", ["invoiceId"], ["id"], { onDelete: "Cascade" })
262
261
  },
263
262
  enums: [PaymentMethodEnum],
264
263
  indexes: [
265
- index.on(["invoiceId"]),
266
- index.on(["orgId"]),
267
- index.on(["receivedAt"])
264
+ b5.on(["invoiceId"]),
265
+ b5.on(["orgId"]),
266
+ b5.on(["receivedAt"])
268
267
  ]
269
268
  });
270
269
  const serviceBusinessEntities = [
@@ -286,4 +285,5 @@ const serviceBusinessSchemaContribution = {
286
285
  };
287
286
 
288
287
  //#endregion
289
- export { ClientEntity, InvoiceEntity, InvoiceStatusEnum, JobEntity, JobStatusEnum, PaymentEntity, PaymentMethodEnum, QuoteEntity, QuoteStatusEnum, serviceBusinessEntities, serviceBusinessSchemaContribution };
288
+ export { ClientEntity, InvoiceEntity, InvoiceStatusEnum, JobEntity, JobStatusEnum, PaymentEntity, PaymentMethodEnum, QuoteEntity, QuoteStatusEnum, serviceBusinessEntities, serviceBusinessSchemaContribution };
289
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["defineEntityEnum","defineEntity","field","index","serviceBusinessSchemaContribution: ModuleSchemaContribution"],"sources":["../../src/entities/index.ts"],"sourcesContent":["import { defineEntity, defineEntityEnum, field, index } from '@lssm/lib.schema';\nimport type { ModuleSchemaContribution } from '@lssm/lib.schema';\n\nconst schema = 'lssm_service_os';\n\nexport const QuoteStatusEnum = defineEntityEnum({\n name: 'QuoteStatus',\n schema,\n values: ['DRAFT', 'SENT', 'ACCEPTED', 'REJECTED', 'EXPIRED'] as const,\n description: 'Lifecycle for quotes/proposals.',\n});\n\nexport const JobStatusEnum = defineEntityEnum({\n name: 'JobStatus',\n schema,\n values: ['SCHEDULED', 'IN_PROGRESS', 'COMPLETED', 'CANCELLED'] as const,\n description: 'Lifecycle for service jobs/interventions.',\n});\n\nexport const InvoiceStatusEnum = defineEntityEnum({\n name: 'InvoiceStatus',\n schema,\n values: ['DRAFT', 'SENT', 'PAID', 'OVERDUE', 'CANCELLED'] as const,\n description: 'Lifecycle for invoices.',\n});\n\nexport const PaymentMethodEnum = defineEntityEnum({\n name: 'PaymentMethod',\n schema,\n values: ['CARD', 'BANK_TRANSFER', 'CASH', 'CHECK'] as const,\n description: 'Payment method used.',\n});\n\nexport const ClientEntity = defineEntity({\n name: 'Client',\n description: 'Customer organization or individual.',\n schema,\n map: 'client',\n fields: {\n id: field.id({ description: 'Unique client identifier' }),\n name: field.string({ description: 'Client display name' }),\n contactEmail: field.string({\n description: 'Primary contact email',\n isOptional: true,\n }),\n phone: field.string({ description: 'Primary phone', isOptional: true }),\n address: field.json({ description: 'Mailing address', isOptional: true }),\n industry: field.string({\n description: 'Industry/vertical',\n isOptional: true,\n }),\n orgId: field.string({ description: 'Owning organization' }),\n ownerId: field.string({ description: 'Account owner' }),\n metadata: field.json({\n description: 'Additional metadata',\n isOptional: true,\n }),\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n quotes: field.hasMany('Quote'),\n jobs: field.hasMany('Job'),\n },\n indexes: [index.on(['orgId']), index.on(['ownerId']), index.on(['name'])],\n});\n\nexport const QuoteEntity = defineEntity({\n name: 'Quote',\n description: 'Proposal/quote for a job.',\n schema,\n map: 'quote',\n fields: {\n id: field.id({ description: 'Unique quote identifier' }),\n clientId: field.foreignKey({ description: 'Client receiving quote' }),\n title: field.string({ description: 'Quote title' }),\n description: field.string({\n description: 'Work summary',\n isOptional: true,\n }),\n amount: field.float({ description: 'Total quoted amount' }),\n currency: field.string({ description: 'Currency code', default: '\"USD\"' }),\n status: field.enum('QuoteStatus', {\n description: 'Quote status',\n default: 'DRAFT',\n }),\n validUntil: field.dateTime({\n description: 'Expiration date',\n isOptional: true,\n }),\n terms: field.string({\n description: 'Payment/engagement terms',\n isOptional: true,\n }),\n orgId: field.string({ description: 'Owning organization' }),\n ownerId: field.string({ description: 'Account owner' }),\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n client: field.belongsTo('Client', ['clientId'], ['id'], {\n onDelete: 'Cascade',\n }),\n jobs: field.hasMany('Job'),\n },\n enums: [QuoteStatusEnum],\n indexes: [\n index.on(['orgId', 'status']),\n index.on(['clientId']),\n index.on(['validUntil']),\n ],\n});\n\nexport const JobEntity = defineEntity({\n name: 'Job',\n description: 'Service job/intervention derived from an accepted quote.',\n schema,\n map: 'job',\n fields: {\n id: field.id({ description: 'Unique job identifier' }),\n quoteId: field.foreignKey({ description: 'Source quote' }),\n clientId: field.foreignKey({ description: 'Client receiving service' }),\n title: field.string({ description: 'Job title' }),\n status: field.enum('JobStatus', {\n description: 'Job status',\n default: 'SCHEDULED',\n }),\n scheduledAt: field.dateTime({\n description: 'Scheduled start date/time',\n isOptional: true,\n }),\n completedAt: field.dateTime({\n description: 'Completion timestamp',\n isOptional: true,\n }),\n assignedTo: field.string({\n description: 'Assignee/technician user ID',\n isOptional: true,\n }),\n location: field.json({ description: 'Location details', isOptional: true }),\n notes: field.string({ description: 'Internal notes', isOptional: true }),\n orgId: field.string({ description: 'Owning organization' }),\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n quote: field.belongsTo('Quote', ['quoteId'], ['id'], {\n onDelete: 'SetNull',\n }),\n client: field.belongsTo('Client', ['clientId'], ['id'], {\n onDelete: 'Cascade',\n }),\n invoices: field.hasMany('Invoice'),\n },\n enums: [JobStatusEnum],\n indexes: [\n index.on(['orgId', 'status']),\n index.on(['clientId']),\n index.on(['assignedTo', 'status']),\n index.on(['scheduledAt']),\n ],\n});\n\nexport const InvoiceEntity = defineEntity({\n name: 'Invoice',\n description: 'Invoice issued for a completed job.',\n schema,\n map: 'invoice',\n fields: {\n id: field.id({ description: 'Unique invoice identifier' }),\n jobId: field.foreignKey({ description: 'Related job' }),\n invoiceNumber: field.string({\n description: 'Invoice number',\n isUnique: true,\n }),\n amount: field.decimal({ description: 'Invoice amount' }),\n currency: field.string({ description: 'Currency code', default: '\"USD\"' }),\n status: field.enum('InvoiceStatus', {\n description: 'Invoice status',\n default: 'DRAFT',\n }),\n dueDate: field.dateTime({ description: 'Due date', isOptional: true }),\n issuedAt: field.dateTime({\n description: 'Issued timestamp',\n isOptional: true,\n }),\n paidAt: field.dateTime({ description: 'Paid timestamp', isOptional: true }),\n orgId: field.string({ description: 'Owning organization' }),\n notes: field.string({ description: 'Invoice notes', isOptional: true }),\n metadata: field.json({ description: 'Metadata', isOptional: true }),\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n job: field.belongsTo('Job', ['jobId'], ['id'], { onDelete: 'Cascade' }),\n payments: field.hasMany('Payment'),\n },\n enums: [InvoiceStatusEnum],\n indexes: [\n index.on(['invoiceNumber']),\n index.on(['orgId', 'status']),\n index.on(['dueDate']),\n ],\n});\n\nexport const PaymentEntity = defineEntity({\n name: 'Payment',\n description: 'Payment received for an invoice.',\n schema,\n map: 'payment',\n fields: {\n id: field.id({ description: 'Unique payment identifier' }),\n invoiceId: field.foreignKey({ description: 'Invoice being paid' }),\n amount: field.decimal({ description: 'Payment amount' }),\n currency: field.string({ description: 'Currency code', default: '\"USD\"' }),\n method: field.enum('PaymentMethod', { description: 'Payment method' }),\n reference: field.string({\n description: 'Payment reference/transaction ID',\n isOptional: true,\n }),\n receivedAt: field.dateTime({ description: 'When payment was received' }),\n orgId: field.string({ description: 'Owning organization' }),\n createdAt: field.createdAt(),\n invoice: field.belongsTo('Invoice', ['invoiceId'], ['id'], {\n onDelete: 'Cascade',\n }),\n },\n enums: [PaymentMethodEnum],\n indexes: [\n index.on(['invoiceId']),\n index.on(['orgId']),\n index.on(['receivedAt']),\n ],\n});\n\nexport const serviceBusinessEntities = [\n ClientEntity,\n QuoteEntity,\n JobEntity,\n InvoiceEntity,\n PaymentEntity,\n];\n\nexport const serviceBusinessSchemaContribution: ModuleSchemaContribution = {\n moduleId: '@lssm/example.service-business-os',\n // schema,\n entities: serviceBusinessEntities,\n enums: [QuoteStatusEnum, JobStatusEnum, InvoiceStatusEnum, PaymentMethodEnum],\n};\n"],"mappings":"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"}