@lssm/example.service-business-os 0.0.0-canary-20251217060834 → 0.0.0-canary-20251217072406

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 (160) hide show
  1. package/dist/client/client.contracts.d.ts +17 -17
  2. package/dist/client/client.contracts.js +33 -1
  3. package/dist/client/client.schema.d.ts +16 -16
  4. package/dist/client/client.schema.js +78 -1
  5. package/dist/client/index.js +4 -1
  6. package/dist/contracts/index.d.ts +0 -5
  7. package/dist/contracts/index.js +17 -1
  8. package/dist/docs/index.js +1 -1
  9. package/dist/docs/service-business-os.docblock.js +62 -5
  10. package/dist/entities/index.d.ts +155 -155
  11. package/dist/entities/index.js +289 -1
  12. package/dist/events.js +178 -1
  13. package/dist/example.js +45 -1
  14. package/dist/handlers/index.d.ts +1 -5
  15. package/dist/handlers/index.js +5 -1
  16. package/dist/index.d.ts +0 -5
  17. package/dist/index.js +17 -1
  18. package/dist/invoice/index.js +4 -1
  19. package/dist/invoice/invoice.contracts.d.ts +17 -17
  20. package/dist/invoice/invoice.contracts.js +33 -1
  21. package/dist/invoice/invoice.schema.d.ts +16 -16
  22. package/dist/invoice/invoice.schema.js +78 -1
  23. package/dist/job/index.js +4 -1
  24. package/dist/job/job.contracts.d.ts +62 -62
  25. package/dist/job/job.contracts.js +119 -1
  26. package/dist/job/job.schema.d.ts +20 -20
  27. package/dist/job/job.schema.js +99 -1
  28. package/dist/libs/contracts/dist/capabilities/openbanking.js +88 -0
  29. package/dist/libs/contracts/dist/client/index.js +5 -0
  30. package/dist/libs/contracts/dist/client/react/feature-render.js +2 -0
  31. package/dist/libs/contracts/dist/client/react/form-render.js +4 -0
  32. package/dist/libs/contracts/dist/client/react/index.js +4 -0
  33. package/dist/libs/contracts/dist/contract-registry/index.js +1 -0
  34. package/dist/libs/contracts/dist/contract-registry/schemas.js +60 -0
  35. package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +16 -0
  36. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +16 -0
  37. package/dist/libs/contracts/dist/docs/index.js +29 -0
  38. package/dist/libs/contracts/dist/docs/presentations.js +71 -0
  39. package/dist/libs/contracts/dist/docs/registry.js +44 -0
  40. package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +16 -0
  41. package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +16 -0
  42. package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +16 -0
  43. package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +16 -0
  44. package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +16 -0
  45. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +80 -0
  46. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +57 -0
  47. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +16 -0
  48. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +357 -0
  49. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +37 -0
  50. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +16 -0
  51. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +20 -0
  52. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +48 -0
  53. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +79 -0
  54. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +84 -0
  55. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +45 -0
  56. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +67 -0
  57. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +40 -0
  58. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +69 -0
  59. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +47 -0
  60. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +62 -0
  61. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +155 -0
  62. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +20 -0
  63. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +101 -0
  64. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +20 -0
  65. package/dist/libs/contracts/dist/events.js +10 -0
  66. package/dist/libs/contracts/dist/experiments/evaluator.js +1 -0
  67. package/dist/libs/contracts/dist/index.js +71 -0
  68. package/dist/libs/contracts/dist/install.js +2 -0
  69. package/dist/libs/contracts/dist/integrations/contracts.js +377 -0
  70. package/dist/libs/contracts/dist/integrations/index.js +18 -0
  71. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +228 -0
  72. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +159 -0
  73. package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +3 -0
  74. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +210 -0
  75. package/dist/libs/contracts/dist/integrations/openbanking/models.js +242 -0
  76. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +13 -0
  77. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +52 -0
  78. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +75 -0
  79. package/dist/libs/contracts/dist/integrations/providers/gmail.js +87 -0
  80. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +66 -0
  81. package/dist/libs/contracts/dist/integrations/providers/index.js +11 -0
  82. package/dist/libs/contracts/dist/integrations/providers/mistral.js +68 -0
  83. package/dist/libs/contracts/dist/integrations/providers/postmark.js +68 -0
  84. package/dist/libs/contracts/dist/integrations/providers/powens.js +116 -0
  85. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +73 -0
  86. package/dist/libs/contracts/dist/integrations/providers/registry.js +10 -0
  87. package/dist/libs/contracts/dist/integrations/providers/stripe.js +83 -0
  88. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +61 -0
  89. package/dist/libs/contracts/dist/jsonschema.js +1 -0
  90. package/dist/libs/contracts/dist/knowledge/contracts.js +306 -0
  91. package/dist/libs/contracts/dist/knowledge/index.js +7 -0
  92. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +34 -0
  93. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +34 -0
  94. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +38 -0
  95. package/dist/libs/contracts/dist/knowledge/spaces/index.js +6 -0
  96. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +34 -0
  97. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +37 -0
  98. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +34 -0
  99. package/dist/libs/contracts/dist/llm/exporters.js +19 -0
  100. package/dist/libs/contracts/dist/llm/index.js +2 -0
  101. package/dist/libs/contracts/dist/llm/prompts.js +1 -0
  102. package/dist/libs/contracts/dist/onboarding-base.js +196 -0
  103. package/dist/libs/contracts/dist/openapi.js +1 -0
  104. package/dist/libs/contracts/dist/ownership.js +21 -0
  105. package/dist/libs/contracts/dist/presentations.js +1 -0
  106. package/dist/libs/contracts/dist/presentations.v2.js +11 -0
  107. package/dist/libs/contracts/dist/prompt.js +1 -0
  108. package/dist/libs/contracts/dist/promptRegistry.js +1 -0
  109. package/dist/libs/contracts/dist/regenerator/index.js +1 -0
  110. package/dist/libs/contracts/dist/regenerator/service.js +6 -0
  111. package/dist/libs/contracts/dist/registry.js +2 -0
  112. package/dist/libs/contracts/dist/resources.js +1 -0
  113. package/dist/libs/contracts/dist/schema/dist/EnumType.js +2 -0
  114. package/dist/libs/contracts/dist/schema/dist/FieldType.js +49 -0
  115. package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +236 -0
  116. package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +34 -0
  117. package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +1 -0
  118. package/dist/libs/contracts/dist/schema/dist/entity/index.js +2 -0
  119. package/dist/libs/contracts/dist/schema/dist/entity/types.js +1 -0
  120. package/dist/libs/contracts/dist/schema/dist/index.js +6 -0
  121. package/dist/libs/contracts/dist/server/graphql-pothos.js +6 -0
  122. package/dist/libs/contracts/dist/server/index.js +8 -0
  123. package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +4 -0
  124. package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +2 -0
  125. package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +1 -0
  126. package/dist/libs/contracts/dist/server/mcp/registerResources.js +2 -0
  127. package/dist/libs/contracts/dist/server/mcp/registerTools.js +1 -0
  128. package/dist/libs/contracts/dist/server/provider-mcp.js +1 -0
  129. package/dist/libs/contracts/dist/server/rest-elysia.js +1 -0
  130. package/dist/libs/contracts/dist/server/rest-express.js +1 -0
  131. package/dist/libs/contracts/dist/server/rest-generic.js +1 -0
  132. package/dist/libs/contracts/dist/server/rest-next-app.js +1 -0
  133. package/dist/libs/contracts/dist/server/rest-next-pages.js +1 -0
  134. package/dist/libs/contracts/dist/spec.js +34 -0
  135. package/dist/libs/contracts/dist/telemetry/index.js +1 -0
  136. package/dist/libs/contracts/dist/telemetry/tracker.js +1 -0
  137. package/dist/libs/contracts/dist/tests/index.js +1 -0
  138. package/dist/libs/contracts/dist/tests/runner.js +2 -0
  139. package/dist/libs/contracts/dist/workflow/index.js +1 -0
  140. package/dist/libs/contracts/dist/workflow/runner.js +1 -0
  141. package/dist/libs/schema/dist/EnumType.js +2 -0
  142. package/dist/libs/schema/dist/FieldType.js +49 -0
  143. package/dist/libs/schema/dist/ScalarTypeEnum.js +236 -0
  144. package/dist/libs/schema/dist/SchemaModel.js +39 -0
  145. package/dist/libs/schema/dist/entity/defineEntity.js +236 -0
  146. package/dist/libs/schema/dist/entity/index.js +2 -0
  147. package/dist/libs/schema/dist/entity/types.js +1 -0
  148. package/dist/libs/schema/dist/index.js +6 -0
  149. package/dist/payment/index.js +4 -1
  150. package/dist/payment/payment.contracts.d.ts +16 -16
  151. package/dist/payment/payment.contracts.js +33 -1
  152. package/dist/payment/payment.schema.d.ts +15 -15
  153. package/dist/payment/payment.schema.js +74 -1
  154. package/dist/presentations/index.js +17 -1
  155. package/dist/presentations.js +148 -1
  156. package/dist/quote/index.js +4 -1
  157. package/dist/quote/quote.contracts.js +57 -1
  158. package/dist/quote/quote.schema.js +115 -1
  159. package/dist/service.feature.js +162 -1
  160. package/package.json +11 -11
package/dist/events.js CHANGED
@@ -1 +1,178 @@
1
- import{ScalarTypeEnum as e,defineSchemaModel as t}from"@lssm/lib.schema";import{defineEvent as n}from"@lssm/lib.contracts";const r=t({name:`QuoteEventPayload`,description:`Event payload for quote lifecycle`,fields:{quoteId:{type:e.String_unsecure(),isOptional:!1},clientId:{type:e.String_unsecure(),isOptional:!1},amount:{type:e.Float_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},occurredAt:{type:e.DateTime(),isOptional:!1}}}),i=t({name:`JobEventPayload`,description:`Event payload for job lifecycle`,fields:{jobId:{type:e.String_unsecure(),isOptional:!1},quoteId:{type:e.String_unsecure(),isOptional:!0},clientId:{type:e.String_unsecure(),isOptional:!0},status:{type:e.String_unsecure(),isOptional:!1},scheduledAt:{type:e.DateTime(),isOptional:!0},orgId:{type:e.String_unsecure(),isOptional:!1},occurredAt:{type:e.DateTime(),isOptional:!1}}}),a=t({name:`InvoiceEventPayload`,description:`Event payload for invoices`,fields:{invoiceId:{type:e.String_unsecure(),isOptional:!1},jobId:{type:e.String_unsecure(),isOptional:!1},amount:{type:e.Float_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},occurredAt:{type:e.DateTime(),isOptional:!1}}}),o=t({name:`PaymentEventPayload`,description:`Event payload for payments`,fields:{paymentId:{type:e.String_unsecure(),isOptional:!1},invoiceId:{type:e.String_unsecure(),isOptional:!1},amount:{type:e.Float_unsecure(),isOptional:!1},method:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},receivedAt:{type:e.DateTime(),isOptional:!1}}}),s=n({name:`service.quote.sent`,version:1,description:`A quote was sent to the client.`,payload:r}),c=n({name:`service.quote.accepted`,version:1,description:`A quote was accepted.`,payload:r}),l=n({name:`service.job.scheduled`,version:1,description:`A job was scheduled.`,payload:i}),u=n({name:`service.job.completed`,version:1,description:`A job was completed.`,payload:i}),d=n({name:`service.invoice.issued`,version:1,description:`An invoice was issued.`,payload:a}),f=n({name:`service.payment.received`,version:1,description:`A payment was recorded.`,payload:o}),p={QuoteSentEvent:s,QuoteAcceptedEvent:c,JobScheduledEvent:l,JobCompletedEvent:u,InvoiceIssuedEvent:d,PaymentReceivedEvent:f};export{d as InvoiceIssuedEvent,u as JobCompletedEvent,l as JobScheduledEvent,f as PaymentReceivedEvent,c as QuoteAcceptedEvent,s as QuoteSentEvent,p as ServiceBusinessEvents};
1
+ import { ScalarTypeEnum } from "./libs/schema/dist/ScalarTypeEnum.js";
2
+ import { defineSchemaModel } from "./libs/schema/dist/SchemaModel.js";
3
+ import "./libs/schema/dist/index.js";
4
+ import { defineEvent } from "./libs/contracts/dist/events.js";
5
+ import "./libs/contracts/dist/index.js";
6
+
7
+ //#region src/events.ts
8
+ const QuoteEventPayload = defineSchemaModel({
9
+ name: "QuoteEventPayload",
10
+ description: "Event payload for quote lifecycle",
11
+ fields: {
12
+ quoteId: {
13
+ type: ScalarTypeEnum.String_unsecure(),
14
+ isOptional: false
15
+ },
16
+ clientId: {
17
+ type: ScalarTypeEnum.String_unsecure(),
18
+ isOptional: false
19
+ },
20
+ amount: {
21
+ type: ScalarTypeEnum.Float_unsecure(),
22
+ isOptional: false
23
+ },
24
+ status: {
25
+ type: ScalarTypeEnum.String_unsecure(),
26
+ isOptional: false
27
+ },
28
+ orgId: {
29
+ type: ScalarTypeEnum.String_unsecure(),
30
+ isOptional: false
31
+ },
32
+ occurredAt: {
33
+ type: ScalarTypeEnum.DateTime(),
34
+ isOptional: false
35
+ }
36
+ }
37
+ });
38
+ const JobEventPayload = defineSchemaModel({
39
+ name: "JobEventPayload",
40
+ description: "Event payload for job lifecycle",
41
+ fields: {
42
+ jobId: {
43
+ type: ScalarTypeEnum.String_unsecure(),
44
+ isOptional: false
45
+ },
46
+ quoteId: {
47
+ type: ScalarTypeEnum.String_unsecure(),
48
+ isOptional: true
49
+ },
50
+ clientId: {
51
+ type: ScalarTypeEnum.String_unsecure(),
52
+ isOptional: true
53
+ },
54
+ status: {
55
+ type: ScalarTypeEnum.String_unsecure(),
56
+ isOptional: false
57
+ },
58
+ scheduledAt: {
59
+ type: ScalarTypeEnum.DateTime(),
60
+ isOptional: true
61
+ },
62
+ orgId: {
63
+ type: ScalarTypeEnum.String_unsecure(),
64
+ isOptional: false
65
+ },
66
+ occurredAt: {
67
+ type: ScalarTypeEnum.DateTime(),
68
+ isOptional: false
69
+ }
70
+ }
71
+ });
72
+ const InvoiceEventPayload = defineSchemaModel({
73
+ name: "InvoiceEventPayload",
74
+ description: "Event payload for invoices",
75
+ fields: {
76
+ invoiceId: {
77
+ type: ScalarTypeEnum.String_unsecure(),
78
+ isOptional: false
79
+ },
80
+ jobId: {
81
+ type: ScalarTypeEnum.String_unsecure(),
82
+ isOptional: false
83
+ },
84
+ amount: {
85
+ type: ScalarTypeEnum.Float_unsecure(),
86
+ isOptional: false
87
+ },
88
+ status: {
89
+ type: ScalarTypeEnum.String_unsecure(),
90
+ isOptional: false
91
+ },
92
+ orgId: {
93
+ type: ScalarTypeEnum.String_unsecure(),
94
+ isOptional: false
95
+ },
96
+ occurredAt: {
97
+ type: ScalarTypeEnum.DateTime(),
98
+ isOptional: false
99
+ }
100
+ }
101
+ });
102
+ const PaymentEventPayload = defineSchemaModel({
103
+ name: "PaymentEventPayload",
104
+ description: "Event payload for payments",
105
+ fields: {
106
+ paymentId: {
107
+ type: ScalarTypeEnum.String_unsecure(),
108
+ isOptional: false
109
+ },
110
+ invoiceId: {
111
+ type: ScalarTypeEnum.String_unsecure(),
112
+ isOptional: false
113
+ },
114
+ amount: {
115
+ type: ScalarTypeEnum.Float_unsecure(),
116
+ isOptional: false
117
+ },
118
+ method: {
119
+ type: ScalarTypeEnum.String_unsecure(),
120
+ isOptional: false
121
+ },
122
+ orgId: {
123
+ type: ScalarTypeEnum.String_unsecure(),
124
+ isOptional: false
125
+ },
126
+ receivedAt: {
127
+ type: ScalarTypeEnum.DateTime(),
128
+ isOptional: false
129
+ }
130
+ }
131
+ });
132
+ const QuoteSentEvent = defineEvent({
133
+ name: "service.quote.sent",
134
+ version: 1,
135
+ description: "A quote was sent to the client.",
136
+ payload: QuoteEventPayload
137
+ });
138
+ const QuoteAcceptedEvent = defineEvent({
139
+ name: "service.quote.accepted",
140
+ version: 1,
141
+ description: "A quote was accepted.",
142
+ payload: QuoteEventPayload
143
+ });
144
+ const JobScheduledEvent = defineEvent({
145
+ name: "service.job.scheduled",
146
+ version: 1,
147
+ description: "A job was scheduled.",
148
+ payload: JobEventPayload
149
+ });
150
+ const JobCompletedEvent = defineEvent({
151
+ name: "service.job.completed",
152
+ version: 1,
153
+ description: "A job was completed.",
154
+ payload: JobEventPayload
155
+ });
156
+ const InvoiceIssuedEvent = defineEvent({
157
+ name: "service.invoice.issued",
158
+ version: 1,
159
+ description: "An invoice was issued.",
160
+ payload: InvoiceEventPayload
161
+ });
162
+ const PaymentReceivedEvent = defineEvent({
163
+ name: "service.payment.received",
164
+ version: 1,
165
+ description: "A payment was recorded.",
166
+ payload: PaymentEventPayload
167
+ });
168
+ const ServiceBusinessEvents = {
169
+ QuoteSentEvent,
170
+ QuoteAcceptedEvent,
171
+ JobScheduledEvent,
172
+ JobCompletedEvent,
173
+ InvoiceIssuedEvent,
174
+ PaymentReceivedEvent
175
+ };
176
+
177
+ //#endregion
178
+ export { InvoiceIssuedEvent, JobCompletedEvent, JobScheduledEvent, PaymentReceivedEvent, QuoteAcceptedEvent, QuoteSentEvent, ServiceBusinessEvents };
package/dist/example.js CHANGED
@@ -1 +1,45 @@
1
- var e={id:`service-business-os`,title:`Service Business OS`,summary:`Service business operating system: jobs, clients, scheduling, invoicing, and ops dashboards.`,tags:[`service-business`,`jobs`,`scheduling`,`invoicing`],kind:`template`,visibility:`public`,docs:{rootDocId:`docs.examples.service-business-os`},entrypoints:{packageName:`@lssm/example.service-business-os`,feature:`./feature`,contracts:`./contracts`,presentations:`./presentations`,handlers:`./handlers`,docs:`./docs`},surfaces:{templates:!0,sandbox:{enabled:!0,modes:[`playground`,`specs`,`builder`,`markdown`,`evolution`]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}};export{e as default};
1
+ //#region src/example.ts
2
+ const example = {
3
+ id: "service-business-os",
4
+ title: "Service Business OS",
5
+ summary: "Service business operating system: jobs, clients, scheduling, invoicing, and ops dashboards.",
6
+ tags: [
7
+ "service-business",
8
+ "jobs",
9
+ "scheduling",
10
+ "invoicing"
11
+ ],
12
+ kind: "template",
13
+ visibility: "public",
14
+ docs: { rootDocId: "docs.examples.service-business-os" },
15
+ entrypoints: {
16
+ packageName: "@lssm/example.service-business-os",
17
+ feature: "./feature",
18
+ contracts: "./contracts",
19
+ presentations: "./presentations",
20
+ handlers: "./handlers",
21
+ docs: "./docs"
22
+ },
23
+ surfaces: {
24
+ templates: true,
25
+ sandbox: {
26
+ enabled: true,
27
+ modes: [
28
+ "playground",
29
+ "specs",
30
+ "builder",
31
+ "markdown",
32
+ "evolution"
33
+ ]
34
+ },
35
+ studio: {
36
+ enabled: true,
37
+ installable: true
38
+ },
39
+ mcp: { enabled: true }
40
+ }
41
+ };
42
+ var example_default = example;
43
+
44
+ //#endregion
45
+ export { example_default as default };
@@ -1,15 +1,11 @@
1
1
  import { CreateClientContract } from "../client/client.contracts.js";
2
- import "../client/index.js";
3
2
  import { AcceptQuoteContract, CreateQuoteContract } from "../quote/quote.contracts.js";
4
- import "../quote/index.js";
5
3
  import { CompleteJobContract, ScheduleJobContract } from "../job/job.contracts.js";
6
- import "../job/index.js";
7
4
  import { IssueInvoiceContract } from "../invoice/invoice.contracts.js";
8
- import "../invoice/index.js";
9
5
  import { RecordPaymentContract } from "../payment/payment.contracts.js";
10
- import "../payment/index.js";
11
6
 
12
7
  //#region src/handlers/index.d.ts
8
+
13
9
  declare function registerServiceBusinessHandlers(): void;
14
10
  type ServiceBusinessHandlers = typeof AcceptQuoteContract | typeof CreateClientContract | typeof CreateQuoteContract | typeof ScheduleJobContract | typeof CompleteJobContract | typeof IssueInvoiceContract | typeof RecordPaymentContract;
15
11
  //#endregion
@@ -1 +1,5 @@
1
- function e(){}export{e as registerServiceBusinessHandlers};
1
+ //#region src/handlers/index.ts
2
+ function registerServiceBusinessHandlers() {}
3
+
4
+ //#endregion
5
+ export { registerServiceBusinessHandlers };
package/dist/index.d.ts CHANGED
@@ -1,16 +1,11 @@
1
1
  import { CreateClientContract } from "./client/client.contracts.js";
2
2
  import { ClientModel, CreateClientInputModel } from "./client/client.schema.js";
3
- import "./client/index.js";
4
3
  import { AcceptQuoteInputModel, CreateQuoteInputModel, QuoteModel } from "./quote/quote.schema.js";
5
4
  import { AcceptQuoteContract, CreateQuoteContract } from "./quote/quote.contracts.js";
6
- import "./quote/index.js";
7
5
  import { CompleteJobInputModel, JobModel, ScheduleJobInputModel } from "./job/job.schema.js";
8
6
  import { CompleteJobContract, ListJobsInputModel, ListJobsOperation, ListJobsOutputModel, ScheduleJobContract } from "./job/job.contracts.js";
9
- import "./job/index.js";
10
7
  import { InvoiceModel, IssueInvoiceInputModel } from "./invoice/invoice.schema.js";
11
8
  import { IssueInvoiceContract } from "./invoice/invoice.contracts.js";
12
- import "./invoice/index.js";
13
9
  import { PaymentModel, RecordPaymentInputModel } from "./payment/payment.schema.js";
14
10
  import { RecordPaymentContract } from "./payment/payment.contracts.js";
15
- import "./payment/index.js";
16
11
  export { AcceptQuoteContract, AcceptQuoteInputModel, ClientModel, CompleteJobContract, CompleteJobInputModel, CreateClientContract, CreateClientInputModel, CreateQuoteContract, CreateQuoteInputModel, InvoiceModel, IssueInvoiceContract, IssueInvoiceInputModel, JobModel, ListJobsInputModel, ListJobsOperation, ListJobsOutputModel, PaymentModel, QuoteModel, RecordPaymentContract, RecordPaymentInputModel, ScheduleJobContract, ScheduleJobInputModel };
package/dist/index.js CHANGED
@@ -1 +1,17 @@
1
- import{ClientModel as e,CreateClientInputModel as t}from"./client/client.schema.js";import{CreateClientContract as n}from"./client/client.contracts.js";import"./client/index.js";import{AcceptQuoteInputModel as r,CreateQuoteInputModel as i,QuoteModel as a}from"./quote/quote.schema.js";import{AcceptQuoteContract as o,CreateQuoteContract as s}from"./quote/quote.contracts.js";import"./quote/index.js";import{CompleteJobInputModel as c,JobModel as l,ScheduleJobInputModel as u}from"./job/job.schema.js";import{CompleteJobContract as d,ListJobsInputModel as f,ListJobsOperation as p,ListJobsOutputModel as m,ScheduleJobContract as h}from"./job/job.contracts.js";import"./job/index.js";import{InvoiceModel as g,IssueInvoiceInputModel as _}from"./invoice/invoice.schema.js";import{IssueInvoiceContract as v}from"./invoice/invoice.contracts.js";import"./invoice/index.js";import{PaymentModel as y,RecordPaymentInputModel as b}from"./payment/payment.schema.js";import{RecordPaymentContract as x}from"./payment/payment.contracts.js";import"./payment/index.js";export{o as AcceptQuoteContract,r as AcceptQuoteInputModel,e as ClientModel,d as CompleteJobContract,c as CompleteJobInputModel,n as CreateClientContract,t as CreateClientInputModel,s as CreateQuoteContract,i as CreateQuoteInputModel,g as InvoiceModel,v as IssueInvoiceContract,_ as IssueInvoiceInputModel,l as JobModel,f as ListJobsInputModel,p as ListJobsOperation,m as ListJobsOutputModel,y as PaymentModel,a as QuoteModel,x as RecordPaymentContract,b as RecordPaymentInputModel,h as ScheduleJobContract,u as ScheduleJobInputModel};
1
+ import { ClientModel, CreateClientInputModel } from "./client/client.schema.js";
2
+ import { CreateClientContract } from "./client/client.contracts.js";
3
+ import "./client/index.js";
4
+ import { AcceptQuoteInputModel, CreateQuoteInputModel, QuoteModel } from "./quote/quote.schema.js";
5
+ import { AcceptQuoteContract, CreateQuoteContract } from "./quote/quote.contracts.js";
6
+ import "./quote/index.js";
7
+ import { CompleteJobInputModel, JobModel, ScheduleJobInputModel } from "./job/job.schema.js";
8
+ import { CompleteJobContract, ListJobsInputModel, ListJobsOperation, ListJobsOutputModel, ScheduleJobContract } from "./job/job.contracts.js";
9
+ import "./job/index.js";
10
+ import { InvoiceModel, IssueInvoiceInputModel } from "./invoice/invoice.schema.js";
11
+ import { IssueInvoiceContract } from "./invoice/invoice.contracts.js";
12
+ import "./invoice/index.js";
13
+ import { PaymentModel, RecordPaymentInputModel } from "./payment/payment.schema.js";
14
+ import { RecordPaymentContract } from "./payment/payment.contracts.js";
15
+ import "./payment/index.js";
16
+
17
+ export { AcceptQuoteContract, AcceptQuoteInputModel, ClientModel, CompleteJobContract, CompleteJobInputModel, CreateClientContract, CreateClientInputModel, CreateQuoteContract, CreateQuoteInputModel, InvoiceModel, IssueInvoiceContract, IssueInvoiceInputModel, JobModel, ListJobsInputModel, ListJobsOperation, ListJobsOutputModel, PaymentModel, QuoteModel, RecordPaymentContract, RecordPaymentInputModel, ScheduleJobContract, ScheduleJobInputModel };
@@ -1 +1,4 @@
1
- import{InvoiceModel as e,IssueInvoiceInputModel as t}from"./invoice.schema.js";import{IssueInvoiceContract as n}from"./invoice.contracts.js";export{e as InvoiceModel,n as IssueInvoiceContract,t as IssueInvoiceInputModel};
1
+ import { InvoiceModel, IssueInvoiceInputModel } from "./invoice.schema.js";
2
+ import { IssueInvoiceContract } from "./invoice.contracts.js";
3
+
4
+ export { InvoiceModel, IssueInvoiceContract, IssueInvoiceInputModel };
@@ -1,62 +1,62 @@
1
- import * as _lssm_lib_schema110 from "@lssm/lib.schema";
2
- import * as _lssm_lib_contracts11 from "@lssm/lib.contracts";
1
+ import * as _lssm_lib_schema354 from "@lssm/lib.schema";
2
+ import * as _lssm_lib_contracts15 from "@lssm/lib.contracts";
3
3
 
4
4
  //#region src/invoice/invoice.contracts.d.ts
5
5
  /**
6
6
  * Issue an invoice.
7
7
  */
8
- declare const IssueInvoiceContract: _lssm_lib_contracts11.ContractSpec<_lssm_lib_schema110.SchemaModel<{
8
+ declare const IssueInvoiceContract: _lssm_lib_contracts15.ContractSpec<_lssm_lib_schema354.SchemaModel<{
9
9
  jobId: {
10
- type: _lssm_lib_schema110.FieldType<string, string>;
10
+ type: _lssm_lib_schema354.FieldType<string, string>;
11
11
  isOptional: false;
12
12
  };
13
13
  dueDate: {
14
- type: _lssm_lib_schema110.FieldType<Date, string>;
14
+ type: _lssm_lib_schema354.FieldType<Date, string>;
15
15
  isOptional: true;
16
16
  };
17
17
  notes: {
18
- type: _lssm_lib_schema110.FieldType<string, string>;
18
+ type: _lssm_lib_schema354.FieldType<string, string>;
19
19
  isOptional: true;
20
20
  };
21
21
  lineItems: {
22
- type: _lssm_lib_schema110.FieldType<unknown, unknown>;
22
+ type: _lssm_lib_schema354.FieldType<unknown, unknown>;
23
23
  isOptional: true;
24
24
  };
25
- }>, _lssm_lib_schema110.SchemaModel<{
25
+ }>, _lssm_lib_schema354.SchemaModel<{
26
26
  id: {
27
- type: _lssm_lib_schema110.FieldType<string, string>;
27
+ type: _lssm_lib_schema354.FieldType<string, string>;
28
28
  isOptional: false;
29
29
  };
30
30
  jobId: {
31
- type: _lssm_lib_schema110.FieldType<string, string>;
31
+ type: _lssm_lib_schema354.FieldType<string, string>;
32
32
  isOptional: false;
33
33
  };
34
34
  invoiceNumber: {
35
- type: _lssm_lib_schema110.FieldType<string, string>;
35
+ type: _lssm_lib_schema354.FieldType<string, string>;
36
36
  isOptional: false;
37
37
  };
38
38
  amount: {
39
- type: _lssm_lib_schema110.FieldType<number, number>;
39
+ type: _lssm_lib_schema354.FieldType<number, number>;
40
40
  isOptional: false;
41
41
  };
42
42
  currency: {
43
- type: _lssm_lib_schema110.FieldType<string, string>;
43
+ type: _lssm_lib_schema354.FieldType<string, string>;
44
44
  isOptional: false;
45
45
  };
46
46
  status: {
47
- type: _lssm_lib_schema110.FieldType<string, string>;
47
+ type: _lssm_lib_schema354.FieldType<string, string>;
48
48
  isOptional: false;
49
49
  };
50
50
  dueDate: {
51
- type: _lssm_lib_schema110.FieldType<Date, string>;
51
+ type: _lssm_lib_schema354.FieldType<Date, string>;
52
52
  isOptional: true;
53
53
  };
54
54
  issuedAt: {
55
- type: _lssm_lib_schema110.FieldType<Date, string>;
55
+ type: _lssm_lib_schema354.FieldType<Date, string>;
56
56
  isOptional: true;
57
57
  };
58
58
  paidAt: {
59
- type: _lssm_lib_schema110.FieldType<Date, string>;
59
+ type: _lssm_lib_schema354.FieldType<Date, string>;
60
60
  isOptional: true;
61
61
  };
62
62
  }>, undefined>;
@@ -1 +1,33 @@
1
- import{InvoiceModel as e,IssueInvoiceInputModel as t}from"./invoice.schema.js";import{defineCommand as n}from"@lssm/lib.contracts";const r=n({meta:{name:`service.invoice.issue`,version:1,stability:`stable`,owners:[...[`@examples.service-business-os`]],tags:[`service-business-os`,`invoice`,`issue`],description:`Issue an invoice for a job.`,goal:`Bill clients.`,context:`Billing.`},io:{input:t,output:e},policy:{auth:`user`}});export{r as IssueInvoiceContract};
1
+ import { defineCommand } from "../libs/contracts/dist/spec.js";
2
+ import "../libs/contracts/dist/index.js";
3
+ import { InvoiceModel, IssueInvoiceInputModel } from "./invoice.schema.js";
4
+
5
+ //#region src/invoice/invoice.contracts.ts
6
+ const OWNERS = ["@examples.service-business-os"];
7
+ /**
8
+ * Issue an invoice.
9
+ */
10
+ const IssueInvoiceContract = defineCommand({
11
+ meta: {
12
+ name: "service.invoice.issue",
13
+ version: 1,
14
+ stability: "stable",
15
+ owners: [...OWNERS],
16
+ tags: [
17
+ "service-business-os",
18
+ "invoice",
19
+ "issue"
20
+ ],
21
+ description: "Issue an invoice for a job.",
22
+ goal: "Bill clients.",
23
+ context: "Billing."
24
+ },
25
+ io: {
26
+ input: IssueInvoiceInputModel,
27
+ output: InvoiceModel
28
+ },
29
+ policy: { auth: "user" }
30
+ });
31
+
32
+ //#endregion
33
+ export { IssueInvoiceContract };
@@ -1,65 +1,65 @@
1
- import * as _lssm_lib_schema125 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema369 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/invoice/invoice.schema.d.ts
4
4
  /**
5
5
  * Invoice issued for a job.
6
6
  */
7
- declare const InvoiceModel: _lssm_lib_schema125.SchemaModel<{
7
+ declare const InvoiceModel: _lssm_lib_schema369.SchemaModel<{
8
8
  id: {
9
- type: _lssm_lib_schema125.FieldType<string, string>;
9
+ type: _lssm_lib_schema369.FieldType<string, string>;
10
10
  isOptional: false;
11
11
  };
12
12
  jobId: {
13
- type: _lssm_lib_schema125.FieldType<string, string>;
13
+ type: _lssm_lib_schema369.FieldType<string, string>;
14
14
  isOptional: false;
15
15
  };
16
16
  invoiceNumber: {
17
- type: _lssm_lib_schema125.FieldType<string, string>;
17
+ type: _lssm_lib_schema369.FieldType<string, string>;
18
18
  isOptional: false;
19
19
  };
20
20
  amount: {
21
- type: _lssm_lib_schema125.FieldType<number, number>;
21
+ type: _lssm_lib_schema369.FieldType<number, number>;
22
22
  isOptional: false;
23
23
  };
24
24
  currency: {
25
- type: _lssm_lib_schema125.FieldType<string, string>;
25
+ type: _lssm_lib_schema369.FieldType<string, string>;
26
26
  isOptional: false;
27
27
  };
28
28
  status: {
29
- type: _lssm_lib_schema125.FieldType<string, string>;
29
+ type: _lssm_lib_schema369.FieldType<string, string>;
30
30
  isOptional: false;
31
31
  };
32
32
  dueDate: {
33
- type: _lssm_lib_schema125.FieldType<Date, string>;
33
+ type: _lssm_lib_schema369.FieldType<Date, string>;
34
34
  isOptional: true;
35
35
  };
36
36
  issuedAt: {
37
- type: _lssm_lib_schema125.FieldType<Date, string>;
37
+ type: _lssm_lib_schema369.FieldType<Date, string>;
38
38
  isOptional: true;
39
39
  };
40
40
  paidAt: {
41
- type: _lssm_lib_schema125.FieldType<Date, string>;
41
+ type: _lssm_lib_schema369.FieldType<Date, string>;
42
42
  isOptional: true;
43
43
  };
44
44
  }>;
45
45
  /**
46
46
  * Input for issuing an invoice.
47
47
  */
48
- declare const IssueInvoiceInputModel: _lssm_lib_schema125.SchemaModel<{
48
+ declare const IssueInvoiceInputModel: _lssm_lib_schema369.SchemaModel<{
49
49
  jobId: {
50
- type: _lssm_lib_schema125.FieldType<string, string>;
50
+ type: _lssm_lib_schema369.FieldType<string, string>;
51
51
  isOptional: false;
52
52
  };
53
53
  dueDate: {
54
- type: _lssm_lib_schema125.FieldType<Date, string>;
54
+ type: _lssm_lib_schema369.FieldType<Date, string>;
55
55
  isOptional: true;
56
56
  };
57
57
  notes: {
58
- type: _lssm_lib_schema125.FieldType<string, string>;
58
+ type: _lssm_lib_schema369.FieldType<string, string>;
59
59
  isOptional: true;
60
60
  };
61
61
  lineItems: {
62
- type: _lssm_lib_schema125.FieldType<unknown, unknown>;
62
+ type: _lssm_lib_schema369.FieldType<unknown, unknown>;
63
63
  isOptional: true;
64
64
  };
65
65
  }>;
@@ -1 +1,78 @@
1
- import{ScalarTypeEnum as e,defineSchemaModel as t}from"@lssm/lib.schema";const n=t({name:`Invoice`,description:`Invoice issued for a job`,fields:{id:{type:e.String_unsecure(),isOptional:!1},jobId:{type:e.String_unsecure(),isOptional:!1},invoiceNumber:{type:e.String_unsecure(),isOptional:!1},amount:{type:e.Float_unsecure(),isOptional:!1},currency:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},dueDate:{type:e.DateTime(),isOptional:!0},issuedAt:{type:e.DateTime(),isOptional:!0},paidAt:{type:e.DateTime(),isOptional:!0}}}),r=t({name:`IssueInvoiceInput`,description:`Input for issuing an invoice`,fields:{jobId:{type:e.String_unsecure(),isOptional:!1},dueDate:{type:e.DateTime(),isOptional:!0},notes:{type:e.String_unsecure(),isOptional:!0},lineItems:{type:e.JSON(),isOptional:!0}}});export{n as InvoiceModel,r as IssueInvoiceInputModel};
1
+ import { ScalarTypeEnum } from "../libs/schema/dist/ScalarTypeEnum.js";
2
+ import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
3
+ import "../libs/schema/dist/index.js";
4
+
5
+ //#region src/invoice/invoice.schema.ts
6
+ /**
7
+ * Invoice issued for a job.
8
+ */
9
+ const InvoiceModel = defineSchemaModel({
10
+ name: "Invoice",
11
+ description: "Invoice issued for a job",
12
+ fields: {
13
+ id: {
14
+ type: ScalarTypeEnum.String_unsecure(),
15
+ isOptional: false
16
+ },
17
+ jobId: {
18
+ type: ScalarTypeEnum.String_unsecure(),
19
+ isOptional: false
20
+ },
21
+ invoiceNumber: {
22
+ type: ScalarTypeEnum.String_unsecure(),
23
+ isOptional: false
24
+ },
25
+ amount: {
26
+ type: ScalarTypeEnum.Float_unsecure(),
27
+ isOptional: false
28
+ },
29
+ currency: {
30
+ type: ScalarTypeEnum.String_unsecure(),
31
+ isOptional: false
32
+ },
33
+ status: {
34
+ type: ScalarTypeEnum.String_unsecure(),
35
+ isOptional: false
36
+ },
37
+ dueDate: {
38
+ type: ScalarTypeEnum.DateTime(),
39
+ isOptional: true
40
+ },
41
+ issuedAt: {
42
+ type: ScalarTypeEnum.DateTime(),
43
+ isOptional: true
44
+ },
45
+ paidAt: {
46
+ type: ScalarTypeEnum.DateTime(),
47
+ isOptional: true
48
+ }
49
+ }
50
+ });
51
+ /**
52
+ * Input for issuing an invoice.
53
+ */
54
+ const IssueInvoiceInputModel = defineSchemaModel({
55
+ name: "IssueInvoiceInput",
56
+ description: "Input for issuing an invoice",
57
+ fields: {
58
+ jobId: {
59
+ type: ScalarTypeEnum.String_unsecure(),
60
+ isOptional: false
61
+ },
62
+ dueDate: {
63
+ type: ScalarTypeEnum.DateTime(),
64
+ isOptional: true
65
+ },
66
+ notes: {
67
+ type: ScalarTypeEnum.String_unsecure(),
68
+ isOptional: true
69
+ },
70
+ lineItems: {
71
+ type: ScalarTypeEnum.JSON(),
72
+ isOptional: true
73
+ }
74
+ }
75
+ });
76
+
77
+ //#endregion
78
+ export { InvoiceModel, IssueInvoiceInputModel };
package/dist/job/index.js CHANGED
@@ -1 +1,4 @@
1
- import{CompleteJobInputModel as e,JobModel as t,ScheduleJobInputModel as n}from"./job.schema.js";import{CompleteJobContract as r,ListJobsInputModel as i,ListJobsOperation as a,ListJobsOutputModel as o,ScheduleJobContract as s}from"./job.contracts.js";export{r as CompleteJobContract,e as CompleteJobInputModel,t as JobModel,i as ListJobsInputModel,a as ListJobsOperation,o as ListJobsOutputModel,s as ScheduleJobContract,n as ScheduleJobInputModel};
1
+ import { CompleteJobInputModel, JobModel, ScheduleJobInputModel } from "./job.schema.js";
2
+ import { CompleteJobContract, ListJobsInputModel, ListJobsOperation, ListJobsOutputModel, ScheduleJobContract } from "./job.contracts.js";
3
+
4
+ export { CompleteJobContract, CompleteJobInputModel, JobModel, ListJobsInputModel, ListJobsOperation, ListJobsOutputModel, ScheduleJobContract, ScheduleJobInputModel };