@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
@@ -1,62 +1,62 @@
1
- import * as _lssm_lib_schema140 from "@lssm/lib.schema";
2
- import * as _lssm_lib_contracts12 from "@lssm/lib.contracts";
1
+ import * as _lssm_lib_schema110 from "@lssm/lib.schema";
2
+ import * as _lssm_lib_contracts11 from "@lssm/lib.contracts";
3
3
 
4
4
  //#region src/client/client.contracts.d.ts
5
5
  /**
6
6
  * Create a new client.
7
7
  */
8
- declare const CreateClientContract: _lssm_lib_contracts12.ContractSpec<_lssm_lib_schema140.SchemaModel<{
8
+ declare const CreateClientContract: _lssm_lib_contracts11.ContractSpec<_lssm_lib_schema110.SchemaModel<{
9
9
  name: {
10
- type: _lssm_lib_schema140.FieldType<string, string>;
10
+ type: _lssm_lib_schema110.FieldType<string, string>;
11
11
  isOptional: false;
12
12
  };
13
13
  contactEmail: {
14
- type: _lssm_lib_schema140.FieldType<string, string>;
14
+ type: _lssm_lib_schema110.FieldType<string, string>;
15
15
  isOptional: true;
16
16
  };
17
17
  phone: {
18
- type: _lssm_lib_schema140.FieldType<string, string>;
18
+ type: _lssm_lib_schema110.FieldType<string, string>;
19
19
  isOptional: true;
20
20
  };
21
21
  orgId: {
22
- type: _lssm_lib_schema140.FieldType<string, string>;
22
+ type: _lssm_lib_schema110.FieldType<string, string>;
23
23
  isOptional: false;
24
24
  };
25
25
  ownerId: {
26
- type: _lssm_lib_schema140.FieldType<string, string>;
26
+ type: _lssm_lib_schema110.FieldType<string, string>;
27
27
  isOptional: false;
28
28
  };
29
29
  metadata: {
30
- type: _lssm_lib_schema140.FieldType<unknown, unknown>;
30
+ type: _lssm_lib_schema110.FieldType<unknown, unknown>;
31
31
  isOptional: true;
32
32
  };
33
- }>, _lssm_lib_schema140.SchemaModel<{
33
+ }>, _lssm_lib_schema110.SchemaModel<{
34
34
  id: {
35
- type: _lssm_lib_schema140.FieldType<string, string>;
35
+ type: _lssm_lib_schema110.FieldType<string, string>;
36
36
  isOptional: false;
37
37
  };
38
38
  name: {
39
- type: _lssm_lib_schema140.FieldType<string, string>;
39
+ type: _lssm_lib_schema110.FieldType<string, string>;
40
40
  isOptional: false;
41
41
  };
42
42
  contactEmail: {
43
- type: _lssm_lib_schema140.FieldType<string, string>;
43
+ type: _lssm_lib_schema110.FieldType<string, string>;
44
44
  isOptional: true;
45
45
  };
46
46
  phone: {
47
- type: _lssm_lib_schema140.FieldType<string, string>;
47
+ type: _lssm_lib_schema110.FieldType<string, string>;
48
48
  isOptional: true;
49
49
  };
50
50
  orgId: {
51
- type: _lssm_lib_schema140.FieldType<string, string>;
51
+ type: _lssm_lib_schema110.FieldType<string, string>;
52
52
  isOptional: false;
53
53
  };
54
54
  ownerId: {
55
- type: _lssm_lib_schema140.FieldType<string, string>;
55
+ type: _lssm_lib_schema110.FieldType<string, string>;
56
56
  isOptional: false;
57
57
  };
58
58
  createdAt: {
59
- type: _lssm_lib_schema140.FieldType<Date, string>;
59
+ type: _lssm_lib_schema110.FieldType<Date, string>;
60
60
  isOptional: false;
61
61
  };
62
62
  }>, undefined>;
@@ -1 +1,33 @@
1
- import{ClientModel as e,CreateClientInputModel as t}from"./client.schema.js";import{defineCommand as n}from"@lssm/lib.contracts";const r=n({meta:{name:`service.client.create`,version:1,stability:`stable`,owners:[...[`@examples.service-business-os`]],tags:[`service-business-os`,`client`,`create`],description:`Create a new client.`,goal:`Onboard clients.`,context:`CRM.`},io:{input:t,output:e},policy:{auth:`user`}});export{r as CreateClientContract};
1
+ import { defineCommand } from "../libs/contracts/dist/spec.js";
2
+ import "../libs/contracts/dist/index.js";
3
+ import { ClientModel, CreateClientInputModel } from "./client.schema.js";
4
+
5
+ //#region src/client/client.contracts.ts
6
+ const OWNERS = ["@examples.service-business-os"];
7
+ /**
8
+ * Create a new client.
9
+ */
10
+ const CreateClientContract = defineCommand({
11
+ meta: {
12
+ name: "service.client.create",
13
+ version: 1,
14
+ stability: "stable",
15
+ owners: [...OWNERS],
16
+ tags: [
17
+ "service-business-os",
18
+ "client",
19
+ "create"
20
+ ],
21
+ description: "Create a new client.",
22
+ goal: "Onboard clients.",
23
+ context: "CRM."
24
+ },
25
+ io: {
26
+ input: CreateClientInputModel,
27
+ output: ClientModel
28
+ },
29
+ policy: { auth: "user" }
30
+ });
31
+
32
+ //#endregion
33
+ export { CreateClientContract };
@@ -1,65 +1,65 @@
1
- import * as _lssm_lib_schema155 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema125 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/client/client.schema.d.ts
4
4
  /**
5
5
  * Client profile.
6
6
  */
7
- declare const ClientModel: _lssm_lib_schema155.SchemaModel<{
7
+ declare const ClientModel: _lssm_lib_schema125.SchemaModel<{
8
8
  id: {
9
- type: _lssm_lib_schema155.FieldType<string, string>;
9
+ type: _lssm_lib_schema125.FieldType<string, string>;
10
10
  isOptional: false;
11
11
  };
12
12
  name: {
13
- type: _lssm_lib_schema155.FieldType<string, string>;
13
+ type: _lssm_lib_schema125.FieldType<string, string>;
14
14
  isOptional: false;
15
15
  };
16
16
  contactEmail: {
17
- type: _lssm_lib_schema155.FieldType<string, string>;
17
+ type: _lssm_lib_schema125.FieldType<string, string>;
18
18
  isOptional: true;
19
19
  };
20
20
  phone: {
21
- type: _lssm_lib_schema155.FieldType<string, string>;
21
+ type: _lssm_lib_schema125.FieldType<string, string>;
22
22
  isOptional: true;
23
23
  };
24
24
  orgId: {
25
- type: _lssm_lib_schema155.FieldType<string, string>;
25
+ type: _lssm_lib_schema125.FieldType<string, string>;
26
26
  isOptional: false;
27
27
  };
28
28
  ownerId: {
29
- type: _lssm_lib_schema155.FieldType<string, string>;
29
+ type: _lssm_lib_schema125.FieldType<string, string>;
30
30
  isOptional: false;
31
31
  };
32
32
  createdAt: {
33
- type: _lssm_lib_schema155.FieldType<Date, string>;
33
+ type: _lssm_lib_schema125.FieldType<Date, string>;
34
34
  isOptional: false;
35
35
  };
36
36
  }>;
37
37
  /**
38
38
  * Input for creating a client.
39
39
  */
40
- declare const CreateClientInputModel: _lssm_lib_schema155.SchemaModel<{
40
+ declare const CreateClientInputModel: _lssm_lib_schema125.SchemaModel<{
41
41
  name: {
42
- type: _lssm_lib_schema155.FieldType<string, string>;
42
+ type: _lssm_lib_schema125.FieldType<string, string>;
43
43
  isOptional: false;
44
44
  };
45
45
  contactEmail: {
46
- type: _lssm_lib_schema155.FieldType<string, string>;
46
+ type: _lssm_lib_schema125.FieldType<string, string>;
47
47
  isOptional: true;
48
48
  };
49
49
  phone: {
50
- type: _lssm_lib_schema155.FieldType<string, string>;
50
+ type: _lssm_lib_schema125.FieldType<string, string>;
51
51
  isOptional: true;
52
52
  };
53
53
  orgId: {
54
- type: _lssm_lib_schema155.FieldType<string, string>;
54
+ type: _lssm_lib_schema125.FieldType<string, string>;
55
55
  isOptional: false;
56
56
  };
57
57
  ownerId: {
58
- type: _lssm_lib_schema155.FieldType<string, string>;
58
+ type: _lssm_lib_schema125.FieldType<string, string>;
59
59
  isOptional: false;
60
60
  };
61
61
  metadata: {
62
- type: _lssm_lib_schema155.FieldType<unknown, unknown>;
62
+ type: _lssm_lib_schema125.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:`Client`,description:`Client profile`,fields:{id:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},contactEmail:{type:e.String_unsecure(),isOptional:!0},phone:{type:e.String_unsecure(),isOptional:!0},orgId:{type:e.String_unsecure(),isOptional:!1},ownerId:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),r=t({name:`CreateClientInput`,description:`Input for creating a client`,fields:{name:{type:e.String_unsecure(),isOptional:!1},contactEmail:{type:e.String_unsecure(),isOptional:!0},phone:{type:e.String_unsecure(),isOptional:!0},orgId:{type:e.String_unsecure(),isOptional:!1},ownerId:{type:e.String_unsecure(),isOptional:!1},metadata:{type:e.JSON(),isOptional:!0}}});export{n as ClientModel,r as CreateClientInputModel};
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/client/client.schema.ts
6
+ /**
7
+ * Client profile.
8
+ */
9
+ const ClientModel = defineSchemaModel({
10
+ name: "Client",
11
+ description: "Client profile",
12
+ fields: {
13
+ id: {
14
+ type: ScalarTypeEnum.String_unsecure(),
15
+ isOptional: false
16
+ },
17
+ name: {
18
+ type: ScalarTypeEnum.String_unsecure(),
19
+ isOptional: false
20
+ },
21
+ contactEmail: {
22
+ type: ScalarTypeEnum.String_unsecure(),
23
+ isOptional: true
24
+ },
25
+ phone: {
26
+ type: ScalarTypeEnum.String_unsecure(),
27
+ isOptional: true
28
+ },
29
+ orgId: {
30
+ type: ScalarTypeEnum.String_unsecure(),
31
+ isOptional: false
32
+ },
33
+ ownerId: {
34
+ type: ScalarTypeEnum.String_unsecure(),
35
+ isOptional: false
36
+ },
37
+ createdAt: {
38
+ type: ScalarTypeEnum.DateTime(),
39
+ isOptional: false
40
+ }
41
+ }
42
+ });
43
+ /**
44
+ * Input for creating a client.
45
+ */
46
+ const CreateClientInputModel = defineSchemaModel({
47
+ name: "CreateClientInput",
48
+ description: "Input for creating a client",
49
+ fields: {
50
+ name: {
51
+ type: ScalarTypeEnum.String_unsecure(),
52
+ isOptional: false
53
+ },
54
+ contactEmail: {
55
+ type: ScalarTypeEnum.String_unsecure(),
56
+ isOptional: true
57
+ },
58
+ phone: {
59
+ type: ScalarTypeEnum.String_unsecure(),
60
+ isOptional: true
61
+ },
62
+ orgId: {
63
+ type: ScalarTypeEnum.String_unsecure(),
64
+ isOptional: false
65
+ },
66
+ ownerId: {
67
+ type: ScalarTypeEnum.String_unsecure(),
68
+ isOptional: false
69
+ },
70
+ metadata: {
71
+ type: ScalarTypeEnum.JSON(),
72
+ isOptional: true
73
+ }
74
+ }
75
+ });
76
+
77
+ //#endregion
78
+ export { ClientModel, CreateClientInputModel };
@@ -1 +1,4 @@
1
- import{ClientModel as e,CreateClientInputModel as t}from"./client.schema.js";import{CreateClientContract as n}from"./client.contracts.js";export{e as ClientModel,n as CreateClientContract,t as CreateClientInputModel};
1
+ import { ClientModel, CreateClientInputModel } from "./client.schema.js";
2
+ import { CreateClientContract } from "./client.contracts.js";
3
+
4
+ export { ClientModel, CreateClientContract, CreateClientInputModel };
@@ -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, 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, PaymentModel, QuoteModel, RecordPaymentContract, RecordPaymentInputModel, ScheduleJobContract, ScheduleJobInputModel };
@@ -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,ScheduleJobContract as f}from"../job/job.contracts.js";import"../job/index.js";import{InvoiceModel as p,IssueInvoiceInputModel as m}from"../invoice/invoice.schema.js";import{IssueInvoiceContract as h}from"../invoice/invoice.contracts.js";import"../invoice/index.js";import{PaymentModel as g,RecordPaymentInputModel as _}from"../payment/payment.schema.js";import{RecordPaymentContract as v}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,p as InvoiceModel,h as IssueInvoiceContract,m as IssueInvoiceInputModel,l as JobModel,g as PaymentModel,a as QuoteModel,v as RecordPaymentContract,_ as RecordPaymentInputModel,f 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, 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, PaymentModel, QuoteModel, RecordPaymentContract, RecordPaymentInputModel, ScheduleJobContract, ScheduleJobInputModel };
@@ -1 +1 @@
1
- import"./service-business-os.docblock.js";
1
+ import "./service-business-os.docblock.js";
@@ -1,4 +1,23 @@
1
- import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{id:`docs.examples.service-business-os`,title:`Service Business OS`,summary:`Field/service business flow from client intake to quote, job scheduling, invoicing, and payments with notifications and audit trail.`,kind:`reference`,visibility:`public`,route:`/docs/examples/service-business-os`,tags:[`services`,`quotes`,`jobs`,`invoices`,`payments`],body:`## Flows
1
+ import { registerDocBlocks } from "../libs/contracts/dist/docs/registry.js";
2
+ import "../libs/contracts/dist/docs/index.js";
3
+
4
+ //#region src/docs/service-business-os.docblock.ts
5
+ registerDocBlocks([
6
+ {
7
+ id: "docs.examples.service-business-os",
8
+ title: "Service Business OS",
9
+ summary: "Field/service business flow from client intake to quote, job scheduling, invoicing, and payments with notifications and audit trail.",
10
+ kind: "reference",
11
+ visibility: "public",
12
+ route: "/docs/examples/service-business-os",
13
+ tags: [
14
+ "services",
15
+ "quotes",
16
+ "jobs",
17
+ "invoices",
18
+ "payments"
19
+ ],
20
+ body: `## Flows
2
21
 
3
22
  1) **Client intake** → create client, capture contact + owner.
4
23
  2) **Quote** → draft, send, accept/reject (events + notifications).
@@ -15,7 +34,17 @@ import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{id:`docs.exampl
15
34
 
16
35
  ## Presentations
17
36
  - Dashboard, client list, quote list/detail, job board, invoice list, payment list (React + Markdown targets).
18
- `},{id:`docs.examples.service-business-os.goal`,title:`Service Business OS — Goal`,summary:`Why this field-service OS exists and outcomes it targets.`,kind:`goal`,visibility:`public`,route:`/docs/examples/service-business-os/goal`,tags:[`services`,`goal`],body:`## Why it matters
37
+ `
38
+ },
39
+ {
40
+ id: "docs.examples.service-business-os.goal",
41
+ title: "Service Business OS — Goal",
42
+ summary: "Why this field-service OS exists and outcomes it targets.",
43
+ kind: "goal",
44
+ visibility: "public",
45
+ route: "/docs/examples/service-business-os/goal",
46
+ tags: ["services", "goal"],
47
+ body: `## Why it matters
19
48
  - Provides a regenerable, end-to-end service lifecycle (client → quote → job → invoice → payment).
20
49
  - Keeps pricing, scheduling, invoicing, and payments consistent across surfaces.
21
50
 
@@ -25,7 +54,17 @@ import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{id:`docs.exampl
25
54
 
26
55
  ## Success criteria
27
56
  - Spec changes regenerate UI/API/events cleanly across lifecycle steps.
28
- - Audit/Notifications/Jobs remain wired for every mutation.`},{id:`docs.examples.service-business-os.usage`,title:`Service Business OS — Usage`,summary:`How to operate, extend, and regenerate the service OS safely.`,kind:`usage`,visibility:`public`,route:`/docs/examples/service-business-os/usage`,tags:[`services`,`usage`],body:`## Setup
57
+ - Audit/Notifications/Jobs remain wired for every mutation.`
58
+ },
59
+ {
60
+ id: "docs.examples.service-business-os.usage",
61
+ title: "Service Business OS — Usage",
62
+ summary: "How to operate, extend, and regenerate the service OS safely.",
63
+ kind: "usage",
64
+ visibility: "public",
65
+ route: "/docs/examples/service-business-os/usage",
66
+ tags: ["services", "usage"],
67
+ body: `## Setup
29
68
  1) Seed (if provided) or create client → quote → job → invoice → payment via UI.
30
69
  2) Configure Files for attachments and Notifications for quote/job/invoice events.
31
70
 
@@ -37,7 +76,21 @@ import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{id:`docs.exampl
37
76
  ## Guardrails
38
77
  - Emit events for quote accepted/rejected, job scheduled/completed, invoice overdue, payment recorded.
39
78
  - Keep pricing/tax rules explicit in spec; avoid implicit handler math.
40
- - Use Audit Trail for lifecycle mutations; schedule reminders via Jobs.`},{id:`docs.examples.service-business-os.constraints`,title:`Service Business OS — Constraints & Safety`,summary:`Internal guardrails for quotes/jobs/invoices/payments and regeneration safety.`,kind:`reference`,visibility:`internal`,route:`/docs/examples/service-business-os/constraints`,tags:[`services`,`constraints`,`internal`],body:`## Constraints
79
+ - Use Audit Trail for lifecycle mutations; schedule reminders via Jobs.`
80
+ },
81
+ {
82
+ id: "docs.examples.service-business-os.constraints",
83
+ title: "Service Business OS — Constraints & Safety",
84
+ summary: "Internal guardrails for quotes/jobs/invoices/payments and regeneration safety.",
85
+ kind: "reference",
86
+ visibility: "internal",
87
+ route: "/docs/examples/service-business-os/constraints",
88
+ tags: [
89
+ "services",
90
+ "constraints",
91
+ "internal"
92
+ ],
93
+ body: `## Constraints
41
94
  - Commission/tax/payment rules must be explicit in spec; no hidden handler math.
42
95
  - Events to emit: quote.sent/accepted/rejected, job.scheduled/completed, invoice.issued/overdue, payment.recorded.
43
96
  - Regeneration must not alter payment semantics without reviewed spec changes.
@@ -49,4 +102,8 @@ import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{id:`docs.exampl
49
102
  ## Verification
50
103
  - Add fixtures for quote/job/invoice state transitions.
51
104
  - Ensure Notifications/Audit/Jobs wiring persists after regeneration.
52
- - Use Feature Flags to trial new payment rules/reminder cadences; default safe/off.`}]);
105
+ - Use Feature Flags to trial new payment rules/reminder cadences; default safe/off.`
106
+ }
107
+ ]);
108
+
109
+ //#endregion