@contractspec/example.service-business-os 1.46.2 → 1.47.0

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 (38) hide show
  1. package/dist/client/client.operations.d.ts +17 -17
  2. package/dist/client/client.operations.d.ts.map +1 -1
  3. package/dist/client/client.schema.d.ts +16 -16
  4. package/dist/entities/index.d.ts +155 -155
  5. package/dist/entities/index.js.map +1 -1
  6. package/dist/events.d.ts +90 -90
  7. package/dist/events.d.ts.map +1 -1
  8. package/dist/example.d.ts +2 -2
  9. package/dist/example.d.ts.map +1 -1
  10. package/dist/example.js +4 -2
  11. package/dist/example.js.map +1 -1
  12. package/dist/invoice/invoice.operations.d.ts +17 -17
  13. package/dist/invoice/invoice.schema.d.ts +16 -16
  14. package/dist/job/job.operations.d.ts +62 -62
  15. package/dist/job/job.operations.d.ts.map +1 -1
  16. package/dist/job/job.schema.d.ts +20 -20
  17. package/dist/job/job.schema.d.ts.map +1 -1
  18. package/dist/payment/payment.operations.d.ts +16 -16
  19. package/dist/payment/payment.operations.d.ts.map +1 -1
  20. package/dist/payment/payment.schema.d.ts +15 -15
  21. package/dist/payment/payment.schema.d.ts.map +1 -1
  22. package/dist/presentations.d.ts +8 -8
  23. package/dist/presentations.d.ts.map +1 -1
  24. package/dist/presentations.js +15 -15
  25. package/dist/presentations.js.map +1 -1
  26. package/dist/quote/quote.operations.d.ts +35 -35
  27. package/dist/quote/quote.operations.d.ts.map +1 -1
  28. package/dist/quote/quote.schema.d.ts +24 -24
  29. package/dist/quote/quote.schema.d.ts.map +1 -1
  30. package/dist/service-business-os.capability.d.ts +8 -0
  31. package/dist/service-business-os.capability.d.ts.map +1 -0
  32. package/dist/service-business-os.capability.js +29 -0
  33. package/dist/service-business-os.capability.js.map +1 -0
  34. package/dist/service.feature.d.ts +2 -2
  35. package/dist/service.feature.d.ts.map +1 -1
  36. package/dist/service.feature.js +4 -2
  37. package/dist/service.feature.js.map +1 -1
  38. package/package.json +6 -7
@@ -1,7 +1,7 @@
1
- import { StabilityEnum } from "@contractspec/lib.contracts";
1
+ import { StabilityEnum, definePresentation } from "@contractspec/lib.contracts";
2
2
 
3
3
  //#region src/presentations.ts
4
- const ServiceDashboardPresentation = {
4
+ const ServiceDashboardPresentation = definePresentation({
5
5
  meta: {
6
6
  key: "service-business-os.dashboard",
7
7
  version: "1.0.0",
@@ -21,8 +21,8 @@ const ServiceDashboardPresentation = {
21
21
  },
22
22
  targets: ["react", "markdown"],
23
23
  policy: { flags: ["service.dashboard.enabled"] }
24
- };
25
- const ClientListPresentation = {
24
+ });
25
+ const ClientListPresentation = definePresentation({
26
26
  meta: {
27
27
  key: "service-business-os.client.list",
28
28
  version: "1.0.0",
@@ -46,8 +46,8 @@ const ClientListPresentation = {
46
46
  },
47
47
  targets: ["react", "markdown"],
48
48
  policy: { flags: ["service.clients.enabled"] }
49
- };
50
- const QuoteListPresentation = {
49
+ });
50
+ const QuoteListPresentation = definePresentation({
51
51
  meta: {
52
52
  key: "service-business-os.quote.list",
53
53
  version: "1.0.0",
@@ -71,8 +71,8 @@ const QuoteListPresentation = {
71
71
  },
72
72
  targets: ["react", "markdown"],
73
73
  policy: { flags: ["service.quotes.enabled"] }
74
- };
75
- const QuoteDetailPresentation = {
74
+ });
75
+ const QuoteDetailPresentation = definePresentation({
76
76
  meta: {
77
77
  key: "service-business-os.quote.detail",
78
78
  version: "1.0.0",
@@ -96,8 +96,8 @@ const QuoteDetailPresentation = {
96
96
  },
97
97
  targets: ["react", "markdown"],
98
98
  policy: { flags: ["service.quotes.enabled"] }
99
- };
100
- const JobBoardPresentation = {
99
+ });
100
+ const JobBoardPresentation = definePresentation({
101
101
  meta: {
102
102
  key: "service-business-os.job.board",
103
103
  version: "1.0.0",
@@ -122,8 +122,8 @@ const JobBoardPresentation = {
122
122
  },
123
123
  targets: ["react"],
124
124
  policy: { flags: ["service.jobs.enabled"] }
125
- };
126
- const InvoiceListPresentation = {
125
+ });
126
+ const InvoiceListPresentation = definePresentation({
127
127
  meta: {
128
128
  key: "service-business-os.invoice.list",
129
129
  version: "1.0.0",
@@ -147,8 +147,8 @@ const InvoiceListPresentation = {
147
147
  },
148
148
  targets: ["react", "markdown"],
149
149
  policy: { flags: ["service.invoices.enabled"] }
150
- };
151
- const PaymentListPresentation = {
150
+ });
151
+ const PaymentListPresentation = definePresentation({
152
152
  meta: {
153
153
  key: "service-business-os.payment.list",
154
154
  version: "1.0.0",
@@ -172,7 +172,7 @@ const PaymentListPresentation = {
172
172
  },
173
173
  targets: ["react", "markdown"],
174
174
  policy: { flags: ["service.payments.enabled"] }
175
- };
175
+ });
176
176
 
177
177
  //#endregion
178
178
  export { ClientListPresentation, InvoiceListPresentation, JobBoardPresentation, PaymentListPresentation, QuoteDetailPresentation, QuoteListPresentation, ServiceDashboardPresentation };
@@ -1 +1 @@
1
- {"version":3,"file":"presentations.js","names":["ServiceDashboardPresentation: PresentationSpec","ClientListPresentation: PresentationSpec","QuoteListPresentation: PresentationSpec","QuoteDetailPresentation: PresentationSpec","JobBoardPresentation: PresentationSpec","InvoiceListPresentation: PresentationSpec","PaymentListPresentation: PresentationSpec"],"sources":["../src/presentations.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\n\nexport const ServiceDashboardPresentation: PresentationSpec = {\n meta: {\n key: 'service-business-os.dashboard',\n version: '1.0.0',\n title: 'Service Dashboard',\n description: 'Service business dashboard with overview metrics',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'dashboard'],\n stability: StabilityEnum.Experimental,\n goal: 'Overview of service business metrics',\n context: 'Service home page',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'ServiceDashboard',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.dashboard.enabled'],\n },\n};\n\nexport const ClientListPresentation: PresentationSpec = {\n meta: {\n key: 'service-business-os.client.list',\n version: '1.0.0',\n title: 'Client List',\n description: 'List of service clients',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'clients', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Browse and manage service clients',\n context: 'Client management',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'ClientList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.clients.enabled'],\n },\n};\n\nexport const QuoteListPresentation: PresentationSpec = {\n meta: {\n key: 'service-business-os.quote.list',\n version: '1.0.0',\n title: 'Quote List',\n description: 'List of quotes with status',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'quotes', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Track and manage quotes',\n context: 'Quote management',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'QuoteList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.quotes.enabled'],\n },\n};\n\nexport const QuoteDetailPresentation: PresentationSpec = {\n meta: {\n key: 'service-business-os.quote.detail',\n version: '1.0.0',\n title: 'Quote Details',\n description: 'Quote detail with line items',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'quote', 'detail'],\n stability: StabilityEnum.Experimental,\n goal: 'View and edit quote details',\n context: 'Quote inspection',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'QuoteDetail',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.quotes.enabled'],\n },\n};\n\nexport const JobBoardPresentation: PresentationSpec = {\n meta: {\n key: 'service-business-os.job.board',\n version: '1.0.0',\n title: 'Job Board',\n description: 'Job board with kanban view',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'jobs', 'board', 'kanban'],\n stability: StabilityEnum.Experimental,\n goal: 'Visual job management',\n context: 'Field service scheduling',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'JobBoard',\n },\n targets: ['react'],\n policy: {\n flags: ['service.jobs.enabled'],\n },\n};\n\nexport const InvoiceListPresentation: PresentationSpec = {\n meta: {\n key: 'service-business-os.invoice.list',\n version: '1.0.0',\n title: 'Invoice List',\n description: 'List of invoices with payment status',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'invoices', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Track invoices and payments',\n context: 'Billing management',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'InvoiceList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.invoices.enabled'],\n },\n};\n\nexport const PaymentListPresentation: PresentationSpec = {\n meta: {\n key: 'service-business-os.payment.list',\n version: '1.0.0',\n title: 'Payment List',\n description: 'List of payments received',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'payments', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Track received payments',\n context: 'Payment reconciliation',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'PaymentList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.payments.enabled'],\n },\n};\n"],"mappings":";;;AAGA,MAAaA,+BAAiD;CAC5D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM,CAAC,YAAY,YAAY;EAC/B,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,4BAA4B,EACrC;CACF;AAED,MAAaC,yBAA2C;CACtD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM;GAAC;GAAY;GAAW;GAAO;EACrC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,0BAA0B,EACnC;CACF;AAED,MAAaC,wBAA0C;CACrD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM;GAAC;GAAY;GAAU;GAAO;EACpC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,yBAAyB,EAClC;CACF;AAED,MAAaC,0BAA4C;CACvD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM;GAAC;GAAY;GAAS;GAAS;EACrC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,yBAAyB,EAClC;CACF;AAED,MAAaC,uBAAyC;CACpD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM;GAAC;GAAY;GAAQ;GAAS;GAAS;EAC7C,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CAClB,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF;AAED,MAAaC,0BAA4C;CACvD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM;GAAC;GAAY;GAAY;GAAO;EACtC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,2BAA2B,EACpC;CACF;AAED,MAAaC,0BAA4C;CACvD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM;GAAC;GAAY;GAAY;GAAO;EACtC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,2BAA2B,EACpC;CACF"}
1
+ {"version":3,"file":"presentations.js","names":[],"sources":["../src/presentations.ts"],"sourcesContent":["import { definePresentation, StabilityEnum } from '@contractspec/lib.contracts';\n\nexport const ServiceDashboardPresentation = definePresentation({\n meta: {\n key: 'service-business-os.dashboard',\n version: '1.0.0',\n title: 'Service Dashboard',\n description: 'Service business dashboard with overview metrics',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'dashboard'],\n stability: StabilityEnum.Experimental,\n goal: 'Overview of service business metrics',\n context: 'Service home page',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'ServiceDashboard',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.dashboard.enabled'],\n },\n});\n\nexport const ClientListPresentation = definePresentation({\n meta: {\n key: 'service-business-os.client.list',\n version: '1.0.0',\n title: 'Client List',\n description: 'List of service clients',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'clients', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Browse and manage service clients',\n context: 'Client management',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'ClientList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.clients.enabled'],\n },\n});\n\nexport const QuoteListPresentation = definePresentation({\n meta: {\n key: 'service-business-os.quote.list',\n version: '1.0.0',\n title: 'Quote List',\n description: 'List of quotes with status',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'quotes', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Track and manage quotes',\n context: 'Quote management',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'QuoteList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.quotes.enabled'],\n },\n});\n\nexport const QuoteDetailPresentation = definePresentation({\n meta: {\n key: 'service-business-os.quote.detail',\n version: '1.0.0',\n title: 'Quote Details',\n description: 'Quote detail with line items',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'quote', 'detail'],\n stability: StabilityEnum.Experimental,\n goal: 'View and edit quote details',\n context: 'Quote inspection',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'QuoteDetail',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.quotes.enabled'],\n },\n});\n\nexport const JobBoardPresentation = definePresentation({\n meta: {\n key: 'service-business-os.job.board',\n version: '1.0.0',\n title: 'Job Board',\n description: 'Job board with kanban view',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'jobs', 'board', 'kanban'],\n stability: StabilityEnum.Experimental,\n goal: 'Visual job management',\n context: 'Field service scheduling',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'JobBoard',\n },\n targets: ['react'],\n policy: {\n flags: ['service.jobs.enabled'],\n },\n});\n\nexport const InvoiceListPresentation = definePresentation({\n meta: {\n key: 'service-business-os.invoice.list',\n version: '1.0.0',\n title: 'Invoice List',\n description: 'List of invoices with payment status',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'invoices', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Track invoices and payments',\n context: 'Billing management',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'InvoiceList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.invoices.enabled'],\n },\n});\n\nexport const PaymentListPresentation = definePresentation({\n meta: {\n key: 'service-business-os.payment.list',\n version: '1.0.0',\n title: 'Payment List',\n description: 'List of payments received',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'payments', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Track received payments',\n context: 'Payment reconciliation',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'PaymentList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['service.payments.enabled'],\n },\n});\n"],"mappings":"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"}
@@ -1,132 +1,132 @@
1
- import * as _contractspec_lib_schema403 from "@contractspec/lib.schema";
2
- import * as _contractspec_lib_contracts16 from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_schema106 from "@contractspec/lib.schema";
2
+ import * as _contractspec_lib_contracts3 from "@contractspec/lib.contracts";
3
3
 
4
4
  //#region src/quote/quote.operations.d.ts
5
5
  /**
6
6
  * Create a new quote.
7
7
  */
8
- declare const CreateQuoteContract: _contractspec_lib_contracts16.OperationSpec<_contractspec_lib_schema403.SchemaModel<{
8
+ declare const CreateQuoteContract: _contractspec_lib_contracts3.OperationSpec<_contractspec_lib_schema106.SchemaModel<{
9
9
  clientId: {
10
- type: _contractspec_lib_schema403.FieldType<string, string>;
10
+ type: _contractspec_lib_schema106.FieldType<string, string>;
11
11
  isOptional: false;
12
12
  };
13
13
  title: {
14
- type: _contractspec_lib_schema403.FieldType<string, string>;
14
+ type: _contractspec_lib_schema106.FieldType<string, string>;
15
15
  isOptional: false;
16
16
  };
17
17
  description: {
18
- type: _contractspec_lib_schema403.FieldType<string, string>;
18
+ type: _contractspec_lib_schema106.FieldType<string, string>;
19
19
  isOptional: true;
20
20
  };
21
21
  amount: {
22
- type: _contractspec_lib_schema403.FieldType<number, number>;
22
+ type: _contractspec_lib_schema106.FieldType<number, number>;
23
23
  isOptional: false;
24
24
  };
25
25
  currency: {
26
- type: _contractspec_lib_schema403.FieldType<string, string>;
26
+ type: _contractspec_lib_schema106.FieldType<string, string>;
27
27
  isOptional: true;
28
28
  };
29
29
  validUntil: {
30
- type: _contractspec_lib_schema403.FieldType<Date, string>;
30
+ type: _contractspec_lib_schema106.FieldType<Date, string>;
31
31
  isOptional: true;
32
32
  };
33
33
  orgId: {
34
- type: _contractspec_lib_schema403.FieldType<string, string>;
34
+ type: _contractspec_lib_schema106.FieldType<string, string>;
35
35
  isOptional: false;
36
36
  };
37
37
  ownerId: {
38
- type: _contractspec_lib_schema403.FieldType<string, string>;
38
+ type: _contractspec_lib_schema106.FieldType<string, string>;
39
39
  isOptional: false;
40
40
  };
41
- }>, _contractspec_lib_schema403.SchemaModel<{
41
+ }>, _contractspec_lib_schema106.SchemaModel<{
42
42
  id: {
43
- type: _contractspec_lib_schema403.FieldType<string, string>;
43
+ type: _contractspec_lib_schema106.FieldType<string, string>;
44
44
  isOptional: false;
45
45
  };
46
46
  clientId: {
47
- type: _contractspec_lib_schema403.FieldType<string, string>;
47
+ type: _contractspec_lib_schema106.FieldType<string, string>;
48
48
  isOptional: false;
49
49
  };
50
50
  title: {
51
- type: _contractspec_lib_schema403.FieldType<string, string>;
51
+ type: _contractspec_lib_schema106.FieldType<string, string>;
52
52
  isOptional: false;
53
53
  };
54
54
  description: {
55
- type: _contractspec_lib_schema403.FieldType<string, string>;
55
+ type: _contractspec_lib_schema106.FieldType<string, string>;
56
56
  isOptional: true;
57
57
  };
58
58
  amount: {
59
- type: _contractspec_lib_schema403.FieldType<number, number>;
59
+ type: _contractspec_lib_schema106.FieldType<number, number>;
60
60
  isOptional: false;
61
61
  };
62
62
  currency: {
63
- type: _contractspec_lib_schema403.FieldType<string, string>;
63
+ type: _contractspec_lib_schema106.FieldType<string, string>;
64
64
  isOptional: false;
65
65
  };
66
66
  status: {
67
- type: _contractspec_lib_schema403.FieldType<string, string>;
67
+ type: _contractspec_lib_schema106.FieldType<string, string>;
68
68
  isOptional: false;
69
69
  };
70
70
  validUntil: {
71
- type: _contractspec_lib_schema403.FieldType<Date, string>;
71
+ type: _contractspec_lib_schema106.FieldType<Date, string>;
72
72
  isOptional: true;
73
73
  };
74
74
  createdAt: {
75
- type: _contractspec_lib_schema403.FieldType<Date, string>;
75
+ type: _contractspec_lib_schema106.FieldType<Date, string>;
76
76
  isOptional: false;
77
77
  };
78
78
  }>, undefined>;
79
79
  /**
80
80
  * Accept a quote.
81
81
  */
82
- declare const AcceptQuoteContract: _contractspec_lib_contracts16.OperationSpec<_contractspec_lib_schema403.SchemaModel<{
82
+ declare const AcceptQuoteContract: _contractspec_lib_contracts3.OperationSpec<_contractspec_lib_schema106.SchemaModel<{
83
83
  quoteId: {
84
- type: _contractspec_lib_schema403.FieldType<string, string>;
84
+ type: _contractspec_lib_schema106.FieldType<string, string>;
85
85
  isOptional: false;
86
86
  };
87
87
  acceptedBy: {
88
- type: _contractspec_lib_schema403.FieldType<string, string>;
88
+ type: _contractspec_lib_schema106.FieldType<string, string>;
89
89
  isOptional: false;
90
90
  };
91
91
  notes: {
92
- type: _contractspec_lib_schema403.FieldType<string, string>;
92
+ type: _contractspec_lib_schema106.FieldType<string, string>;
93
93
  isOptional: true;
94
94
  };
95
- }>, _contractspec_lib_schema403.SchemaModel<{
95
+ }>, _contractspec_lib_schema106.SchemaModel<{
96
96
  id: {
97
- type: _contractspec_lib_schema403.FieldType<string, string>;
97
+ type: _contractspec_lib_schema106.FieldType<string, string>;
98
98
  isOptional: false;
99
99
  };
100
100
  clientId: {
101
- type: _contractspec_lib_schema403.FieldType<string, string>;
101
+ type: _contractspec_lib_schema106.FieldType<string, string>;
102
102
  isOptional: false;
103
103
  };
104
104
  title: {
105
- type: _contractspec_lib_schema403.FieldType<string, string>;
105
+ type: _contractspec_lib_schema106.FieldType<string, string>;
106
106
  isOptional: false;
107
107
  };
108
108
  description: {
109
- type: _contractspec_lib_schema403.FieldType<string, string>;
109
+ type: _contractspec_lib_schema106.FieldType<string, string>;
110
110
  isOptional: true;
111
111
  };
112
112
  amount: {
113
- type: _contractspec_lib_schema403.FieldType<number, number>;
113
+ type: _contractspec_lib_schema106.FieldType<number, number>;
114
114
  isOptional: false;
115
115
  };
116
116
  currency: {
117
- type: _contractspec_lib_schema403.FieldType<string, string>;
117
+ type: _contractspec_lib_schema106.FieldType<string, string>;
118
118
  isOptional: false;
119
119
  };
120
120
  status: {
121
- type: _contractspec_lib_schema403.FieldType<string, string>;
121
+ type: _contractspec_lib_schema106.FieldType<string, string>;
122
122
  isOptional: false;
123
123
  };
124
124
  validUntil: {
125
- type: _contractspec_lib_schema403.FieldType<Date, string>;
125
+ type: _contractspec_lib_schema106.FieldType<Date, string>;
126
126
  isOptional: true;
127
127
  };
128
128
  createdAt: {
129
- type: _contractspec_lib_schema403.FieldType<Date, string>;
129
+ type: _contractspec_lib_schema106.FieldType<Date, string>;
130
130
  isOptional: false;
131
131
  };
132
132
  }>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"quote.operations.d.ts","names":[],"sources":["../../src/quote/quote.operations.ts"],"sourcesContent":[],"mappings":";;;;;;;cAYa,mDAAmB,0CAAA;EAAnB,QAAA,EAAA;IAoCX,IAAA,EAAA,2BAAA,CAAA,SAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;EApC8B,CAAA;;;;;;;;;;;;;EAAA,KAAA,EAAA;IAyCnB,IAAA,uCAiCX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;+CAjC8B,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;UAzCA,2BAAA,CAAA;;;;;;;;+CAyCA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAnB,mDAAmB,0CAAA;;UAiC9B,2BAAA,CAAA;;;;;;;;;;;;;UAjC8B,2BAAA,CAAA"}
1
+ {"version":3,"file":"quote.operations.d.ts","names":[],"sources":["../../src/quote/quote.operations.ts"],"sourcesContent":[],"mappings":";;;;;;;cAYa,kDAAmB,0CAAA;EAAnB,QAAA,EAAA;IAoCX,IAAA,EAAA,2BAAA,CAAA,SAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;EApC8B,CAAA;;;;;;;;;;;;;EAAA,KAAA,EAAA;IAyCnB,IAAA,uCAiCX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;+CAjC8B,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;UAzCA,2BAAA,CAAA;;;;;;;;+CAyCA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAnB,kDAAmB,0CAAA;;UAiC9B,2BAAA,CAAA;;;;;;;;;;;;;UAjC8B,2BAAA,CAAA"}
@@ -1,98 +1,98 @@
1
- import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
1
+ import * as _contractspec_lib_schema154 from "@contractspec/lib.schema";
2
2
 
3
3
  //#region src/quote/quote.schema.d.ts
4
4
  /**
5
5
  * Quote/proposal.
6
6
  */
7
- declare const QuoteModel: _contractspec_lib_schema0.SchemaModel<{
7
+ declare const QuoteModel: _contractspec_lib_schema154.SchemaModel<{
8
8
  id: {
9
- type: _contractspec_lib_schema0.FieldType<string, string>;
9
+ type: _contractspec_lib_schema154.FieldType<string, string>;
10
10
  isOptional: false;
11
11
  };
12
12
  clientId: {
13
- type: _contractspec_lib_schema0.FieldType<string, string>;
13
+ type: _contractspec_lib_schema154.FieldType<string, string>;
14
14
  isOptional: false;
15
15
  };
16
16
  title: {
17
- type: _contractspec_lib_schema0.FieldType<string, string>;
17
+ type: _contractspec_lib_schema154.FieldType<string, string>;
18
18
  isOptional: false;
19
19
  };
20
20
  description: {
21
- type: _contractspec_lib_schema0.FieldType<string, string>;
21
+ type: _contractspec_lib_schema154.FieldType<string, string>;
22
22
  isOptional: true;
23
23
  };
24
24
  amount: {
25
- type: _contractspec_lib_schema0.FieldType<number, number>;
25
+ type: _contractspec_lib_schema154.FieldType<number, number>;
26
26
  isOptional: false;
27
27
  };
28
28
  currency: {
29
- type: _contractspec_lib_schema0.FieldType<string, string>;
29
+ type: _contractspec_lib_schema154.FieldType<string, string>;
30
30
  isOptional: false;
31
31
  };
32
32
  status: {
33
- type: _contractspec_lib_schema0.FieldType<string, string>;
33
+ type: _contractspec_lib_schema154.FieldType<string, string>;
34
34
  isOptional: false;
35
35
  };
36
36
  validUntil: {
37
- type: _contractspec_lib_schema0.FieldType<Date, string>;
37
+ type: _contractspec_lib_schema154.FieldType<Date, string>;
38
38
  isOptional: true;
39
39
  };
40
40
  createdAt: {
41
- type: _contractspec_lib_schema0.FieldType<Date, string>;
41
+ type: _contractspec_lib_schema154.FieldType<Date, string>;
42
42
  isOptional: false;
43
43
  };
44
44
  }>;
45
45
  /**
46
46
  * Input for creating a quote.
47
47
  */
48
- declare const CreateQuoteInputModel: _contractspec_lib_schema0.SchemaModel<{
48
+ declare const CreateQuoteInputModel: _contractspec_lib_schema154.SchemaModel<{
49
49
  clientId: {
50
- type: _contractspec_lib_schema0.FieldType<string, string>;
50
+ type: _contractspec_lib_schema154.FieldType<string, string>;
51
51
  isOptional: false;
52
52
  };
53
53
  title: {
54
- type: _contractspec_lib_schema0.FieldType<string, string>;
54
+ type: _contractspec_lib_schema154.FieldType<string, string>;
55
55
  isOptional: false;
56
56
  };
57
57
  description: {
58
- type: _contractspec_lib_schema0.FieldType<string, string>;
58
+ type: _contractspec_lib_schema154.FieldType<string, string>;
59
59
  isOptional: true;
60
60
  };
61
61
  amount: {
62
- type: _contractspec_lib_schema0.FieldType<number, number>;
62
+ type: _contractspec_lib_schema154.FieldType<number, number>;
63
63
  isOptional: false;
64
64
  };
65
65
  currency: {
66
- type: _contractspec_lib_schema0.FieldType<string, string>;
66
+ type: _contractspec_lib_schema154.FieldType<string, string>;
67
67
  isOptional: true;
68
68
  };
69
69
  validUntil: {
70
- type: _contractspec_lib_schema0.FieldType<Date, string>;
70
+ type: _contractspec_lib_schema154.FieldType<Date, string>;
71
71
  isOptional: true;
72
72
  };
73
73
  orgId: {
74
- type: _contractspec_lib_schema0.FieldType<string, string>;
74
+ type: _contractspec_lib_schema154.FieldType<string, string>;
75
75
  isOptional: false;
76
76
  };
77
77
  ownerId: {
78
- type: _contractspec_lib_schema0.FieldType<string, string>;
78
+ type: _contractspec_lib_schema154.FieldType<string, string>;
79
79
  isOptional: false;
80
80
  };
81
81
  }>;
82
82
  /**
83
83
  * Input for accepting a quote.
84
84
  */
85
- declare const AcceptQuoteInputModel: _contractspec_lib_schema0.SchemaModel<{
85
+ declare const AcceptQuoteInputModel: _contractspec_lib_schema154.SchemaModel<{
86
86
  quoteId: {
87
- type: _contractspec_lib_schema0.FieldType<string, string>;
87
+ type: _contractspec_lib_schema154.FieldType<string, string>;
88
88
  isOptional: false;
89
89
  };
90
90
  acceptedBy: {
91
- type: _contractspec_lib_schema0.FieldType<string, string>;
91
+ type: _contractspec_lib_schema154.FieldType<string, string>;
92
92
  isOptional: false;
93
93
  };
94
94
  notes: {
95
- type: _contractspec_lib_schema0.FieldType<string, string>;
95
+ type: _contractspec_lib_schema154.FieldType<string, string>;
96
96
  isOptional: true;
97
97
  };
98
98
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"quote.schema.d.ts","names":[],"sources":["../../src/quote/quote.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,UAcX,4BAdqB,WAcrB,CAAA;EAAA,EAAA,EAAA;UAAA,yBAAA,CAAA;;;;;;;;;;;EAdqB,WAAA,EAAA;IAmBV,IAAA,qCAaX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;;;;EAbgC,MAAA,EAAA;IAkBrB,IAAA,qCAQX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;6CARgC,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;;;;cAlBrB,iDAAqB;;UAahC,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKW,iDAAqB;;UAQhC,yBAAA,CAAA"}
1
+ {"version":3,"file":"quote.schema.d.ts","names":[],"sources":["../../src/quote/quote.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,UAcX,8BAdqB,WAcrB,CAAA;EAAA,EAAA,EAAA;UAAA,2BAAA,CAAA;;;;;;;;;;;EAdqB,WAAA,EAAA;IAmBV,IAAA,uCAaX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;;;;EAbgC,MAAA,EAAA;IAkBrB,IAAA,uCAQX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;+CARgC,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;;;;cAlBrB,mDAAqB;;UAahC,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKW,mDAAqB;;UAQhC,2BAAA,CAAA"}
@@ -0,0 +1,8 @@
1
+ import * as _contractspec_lib_contracts27 from "@contractspec/lib.contracts";
2
+
3
+ //#region src/service-business-os.capability.d.ts
4
+ declare const QuotesCapability: _contractspec_lib_contracts27.CapabilitySpec;
5
+ declare const InvoicesCapability: _contractspec_lib_contracts27.CapabilitySpec;
6
+ //#endregion
7
+ export { InvoicesCapability, QuotesCapability };
8
+ //# sourceMappingURL=service-business-os.capability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-business-os.capability.d.ts","names":[],"sources":["../src/service-business-os.capability.ts"],"sourcesContent":[],"mappings":";;;cAEa,kBAUX,6BAAA,CAV2B;cAYhB,oBAUX,6BAAA,CAV6B"}
@@ -0,0 +1,29 @@
1
+ import { StabilityEnum, defineCapability } from "@contractspec/lib.contracts";
2
+
3
+ //#region src/service-business-os.capability.ts
4
+ const QuotesCapability = defineCapability({ meta: {
5
+ key: "quotes",
6
+ version: "1.0.0",
7
+ kind: "api",
8
+ stability: StabilityEnum.Experimental,
9
+ description: "Quote generation and management for service businesses",
10
+ owners: ["platform.core"],
11
+ tags: [
12
+ "quotes",
13
+ "service",
14
+ "business"
15
+ ]
16
+ } });
17
+ const InvoicesCapability = defineCapability({ meta: {
18
+ key: "invoices",
19
+ version: "1.0.0",
20
+ kind: "api",
21
+ stability: StabilityEnum.Experimental,
22
+ description: "Invoice creation and payment tracking",
23
+ owners: ["platform.finance"],
24
+ tags: ["invoices", "billing"]
25
+ } });
26
+
27
+ //#endregion
28
+ export { InvoicesCapability, QuotesCapability };
29
+ //# sourceMappingURL=service-business-os.capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-business-os.capability.js","names":[],"sources":["../src/service-business-os.capability.ts"],"sourcesContent":["import { defineCapability, StabilityEnum } from '@contractspec/lib.contracts';\n\nexport const QuotesCapability = defineCapability({\n meta: {\n key: 'quotes',\n version: '1.0.0',\n kind: 'api',\n stability: StabilityEnum.Experimental,\n description: 'Quote generation and management for service businesses',\n owners: ['platform.core'],\n tags: ['quotes', 'service', 'business'],\n },\n});\n\nexport const InvoicesCapability = defineCapability({\n meta: {\n key: 'invoices',\n version: '1.0.0',\n kind: 'api',\n stability: StabilityEnum.Experimental,\n description: 'Invoice creation and payment tracking',\n owners: ['platform.finance'],\n tags: ['invoices', 'billing'],\n },\n});\n"],"mappings":";;;AAEA,MAAa,mBAAmB,iBAAiB,EAC/C,MAAM;CACJ,KAAK;CACL,SAAS;CACT,MAAM;CACN,WAAW,cAAc;CACzB,aAAa;CACb,QAAQ,CAAC,gBAAgB;CACzB,MAAM;EAAC;EAAU;EAAW;EAAW;CACxC,EACF,CAAC;AAEF,MAAa,qBAAqB,iBAAiB,EACjD,MAAM;CACJ,KAAK;CACL,SAAS;CACT,MAAM;CACN,WAAW,cAAc;CACzB,aAAa;CACb,QAAQ,CAAC,mBAAmB;CAC5B,MAAM,CAAC,YAAY,UAAU;CAC9B,EACF,CAAC"}
@@ -1,7 +1,7 @@
1
- import { FeatureModuleSpec } from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts5 from "@contractspec/lib.contracts";
2
2
 
3
3
  //#region src/service.feature.d.ts
4
- declare const ServiceBusinessFeature: FeatureModuleSpec;
4
+ declare const ServiceBusinessFeature: _contractspec_lib_contracts5.FeatureModuleSpec;
5
5
  //#endregion
6
6
  export { ServiceBusinessFeature };
7
7
  //# sourceMappingURL=service.feature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.feature.d.ts","names":[],"sources":["../src/service.feature.ts"],"sourcesContent":[],"mappings":";;;cAEa,wBAAwB"}
1
+ {"version":3,"file":"service.feature.d.ts","names":[],"sources":["../src/service.feature.ts"],"sourcesContent":[],"mappings":";;;cAEa,wBAqEX,4BAAA,CArEiC"}
@@ -1,5 +1,7 @@
1
+ import { defineFeature } from "@contractspec/lib.contracts";
2
+
1
3
  //#region src/service.feature.ts
2
- const ServiceBusinessFeature = {
4
+ const ServiceBusinessFeature = defineFeature({
3
5
  meta: {
4
6
  key: "service-business-os",
5
7
  title: "Service Business OS",
@@ -157,7 +159,7 @@ const ServiceBusinessFeature = {
157
159
  }
158
160
  ]
159
161
  }
160
- };
162
+ });
161
163
 
162
164
  //#endregion
163
165
  export { ServiceBusinessFeature };
@@ -1 +1 @@
1
- {"version":3,"file":"service.feature.js","names":["ServiceBusinessFeature: FeatureModuleSpec"],"sources":["../src/service.feature.ts"],"sourcesContent":["import type { FeatureModuleSpec } from '@contractspec/lib.contracts';\n\nexport const ServiceBusinessFeature: FeatureModuleSpec = {\n meta: {\n key: 'service-business-os',\n title: 'Service Business OS',\n description:\n 'Quotes → jobs → invoices → payments for field services and agencies.',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'quotes', 'jobs', 'invoices', 'payments'],\n stability: 'experimental',\n version: '1.0.0',\n },\n operations: [\n { key: 'service.client.create', version: '1.0.0' },\n { key: 'service.quote.create', version: '1.0.0' },\n { key: 'service.quote.accept', version: '1.0.0' },\n { key: 'service.job.schedule', version: '1.0.0' },\n { key: 'service.job.complete', version: '1.0.0' },\n { key: 'service.invoice.issue', version: '1.0.0' },\n { key: 'service.payment.record', version: '1.0.0' },\n { key: 'service.job.list', version: '1.0.0' },\n ],\n events: [\n { key: 'service.quote.sent', version: '1.0.0' },\n { key: 'service.quote.accepted', version: '1.0.0' },\n { key: 'service.job.scheduled', version: '1.0.0' },\n { key: 'service.job.completed', version: '1.0.0' },\n { key: 'service.invoice.issued', version: '1.0.0' },\n { key: 'service.payment.received', version: '1.0.0' },\n ],\n presentations: [\n { key: 'service-business-os.dashboard', version: '1.0.0' },\n { key: 'service-business-os.client.list', version: '1.0.0' },\n { key: 'service-business-os.quote.list', version: '1.0.0' },\n { key: 'service-business-os.quote.detail', version: '1.0.0' },\n { key: 'service-business-os.job.board', version: '1.0.0' },\n { key: 'service-business-os.invoice.list', version: '1.0.0' },\n { key: 'service-business-os.payment.list', version: '1.0.0' },\n ],\n presentationsTargets: [\n {\n key: 'service-business-os.dashboard',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'service-business-os.quote.list',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'service-business-os.invoice.list',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n ],\n capabilities: {\n requires: [\n { key: 'identity', version: '1.0.0' },\n { key: 'audit-trail', version: '1.0.0' },\n { key: 'notifications', version: '1.0.0' },\n { key: 'files', version: '1.0.0' },\n ],\n provides: [\n { key: 'quotes', version: '1.0.0' },\n { key: 'jobs', version: '1.0.0' },\n { key: 'invoices', version: '1.0.0' },\n ],\n },\n};\n"],"mappings":";AAEA,MAAaA,yBAA4C;CACvD,MAAM;EACJ,KAAK;EACL,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM;GAAC;GAAY;GAAU;GAAQ;GAAY;GAAW;EAC5D,WAAW;EACX,SAAS;EACV;CACD,YAAY;EACV;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAA0B,SAAS;GAAS;EACnD;GAAE,KAAK;GAAoB,SAAS;GAAS;EAC9C;CACD,QAAQ;EACN;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAA0B,SAAS;GAAS;EACnD;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAA0B,SAAS;GAAS;EACnD;GAAE,KAAK;GAA4B,SAAS;GAAS;EACtD;CACD,eAAe;EACb;GAAE,KAAK;GAAiC,SAAS;GAAS;EAC1D;GAAE,KAAK;GAAmC,SAAS;GAAS;EAC5D;GAAE,KAAK;GAAkC,SAAS;GAAS;EAC3D;GAAE,KAAK;GAAoC,SAAS;GAAS;EAC7D;GAAE,KAAK;GAAiC,SAAS;GAAS;EAC1D;GAAE,KAAK;GAAoC,SAAS;GAAS;EAC7D;GAAE,KAAK;GAAoC,SAAS;GAAS;EAC9D;CACD,sBAAsB;EACpB;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACF;CACD,cAAc;EACZ,UAAU;GACR;IAAE,KAAK;IAAY,SAAS;IAAS;GACrC;IAAE,KAAK;IAAe,SAAS;IAAS;GACxC;IAAE,KAAK;IAAiB,SAAS;IAAS;GAC1C;IAAE,KAAK;IAAS,SAAS;IAAS;GACnC;EACD,UAAU;GACR;IAAE,KAAK;IAAU,SAAS;IAAS;GACnC;IAAE,KAAK;IAAQ,SAAS;IAAS;GACjC;IAAE,KAAK;IAAY,SAAS;IAAS;GACtC;EACF;CACF"}
1
+ {"version":3,"file":"service.feature.js","names":[],"sources":["../src/service.feature.ts"],"sourcesContent":["import { defineFeature } from '@contractspec/lib.contracts';\n\nexport const ServiceBusinessFeature = defineFeature({\n meta: {\n key: 'service-business-os',\n title: 'Service Business OS',\n description:\n 'Quotes → jobs → invoices → payments for field services and agencies.',\n domain: 'services',\n owners: ['@service-os'],\n tags: ['services', 'quotes', 'jobs', 'invoices', 'payments'],\n stability: 'experimental',\n version: '1.0.0',\n },\n operations: [\n { key: 'service.client.create', version: '1.0.0' },\n { key: 'service.quote.create', version: '1.0.0' },\n { key: 'service.quote.accept', version: '1.0.0' },\n { key: 'service.job.schedule', version: '1.0.0' },\n { key: 'service.job.complete', version: '1.0.0' },\n { key: 'service.invoice.issue', version: '1.0.0' },\n { key: 'service.payment.record', version: '1.0.0' },\n { key: 'service.job.list', version: '1.0.0' },\n ],\n events: [\n { key: 'service.quote.sent', version: '1.0.0' },\n { key: 'service.quote.accepted', version: '1.0.0' },\n { key: 'service.job.scheduled', version: '1.0.0' },\n { key: 'service.job.completed', version: '1.0.0' },\n { key: 'service.invoice.issued', version: '1.0.0' },\n { key: 'service.payment.received', version: '1.0.0' },\n ],\n presentations: [\n { key: 'service-business-os.dashboard', version: '1.0.0' },\n { key: 'service-business-os.client.list', version: '1.0.0' },\n { key: 'service-business-os.quote.list', version: '1.0.0' },\n { key: 'service-business-os.quote.detail', version: '1.0.0' },\n { key: 'service-business-os.job.board', version: '1.0.0' },\n { key: 'service-business-os.invoice.list', version: '1.0.0' },\n { key: 'service-business-os.payment.list', version: '1.0.0' },\n ],\n presentationsTargets: [\n {\n key: 'service-business-os.dashboard',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'service-business-os.quote.list',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'service-business-os.invoice.list',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n ],\n capabilities: {\n requires: [\n { key: 'identity', version: '1.0.0' },\n { key: 'audit-trail', version: '1.0.0' },\n { key: 'notifications', version: '1.0.0' },\n { key: 'files', version: '1.0.0' },\n ],\n provides: [\n { key: 'quotes', version: '1.0.0' },\n { key: 'jobs', version: '1.0.0' },\n { key: 'invoices', version: '1.0.0' },\n ],\n },\n});\n"],"mappings":";;;AAEA,MAAa,yBAAyB,cAAc;CAClD,MAAM;EACJ,KAAK;EACL,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,cAAc;EACvB,MAAM;GAAC;GAAY;GAAU;GAAQ;GAAY;GAAW;EAC5D,WAAW;EACX,SAAS;EACV;CACD,YAAY;EACV;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAA0B,SAAS;GAAS;EACnD;GAAE,KAAK;GAAoB,SAAS;GAAS;EAC9C;CACD,QAAQ;EACN;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAA0B,SAAS;GAAS;EACnD;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAA0B,SAAS;GAAS;EACnD;GAAE,KAAK;GAA4B,SAAS;GAAS;EACtD;CACD,eAAe;EACb;GAAE,KAAK;GAAiC,SAAS;GAAS;EAC1D;GAAE,KAAK;GAAmC,SAAS;GAAS;EAC5D;GAAE,KAAK;GAAkC,SAAS;GAAS;EAC3D;GAAE,KAAK;GAAoC,SAAS;GAAS;EAC7D;GAAE,KAAK;GAAiC,SAAS;GAAS;EAC1D;GAAE,KAAK;GAAoC,SAAS;GAAS;EAC7D;GAAE,KAAK;GAAoC,SAAS;GAAS;EAC9D;CACD,sBAAsB;EACpB;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACF;CACD,cAAc;EACZ,UAAU;GACR;IAAE,KAAK;IAAY,SAAS;IAAS;GACrC;IAAE,KAAK;IAAe,SAAS;IAAS;GACxC;IAAE,KAAK;IAAiB,SAAS;IAAS;GAC1C;IAAE,KAAK;IAAS,SAAS;IAAS;GACnC;EACD,UAAU;GACR;IAAE,KAAK;IAAU,SAAS;IAAS;GACnC;IAAE,KAAK;IAAQ,SAAS;IAAS;GACjC;IAAE,KAAK;IAAY,SAAS;IAAS;GACtC;EACF;CACF,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "@contractspec/example.service-business-os",
3
- "version": "1.46.2",
3
+ "version": "1.47.0",
4
4
  "description": "Service Business OS example (clients, quotes, jobs, invoices) for ContractSpec",
5
- "main": "./dist/index.js",
6
5
  "types": "./dist/index.d.ts",
7
6
  "type": "module",
8
7
  "scripts": {
@@ -18,12 +17,12 @@
18
17
  "lint:check": "eslint src"
19
18
  },
20
19
  "dependencies": {
21
- "@contractspec/lib.schema": "1.46.2",
22
- "@contractspec/lib.contracts": "1.46.2"
20
+ "@contractspec/lib.schema": "1.47.0",
21
+ "@contractspec/lib.contracts": "1.47.0"
23
22
  },
24
23
  "devDependencies": {
25
- "@contractspec/tool.typescript": "1.46.2",
26
- "@contractspec/tool.tsdown": "1.46.2",
24
+ "@contractspec/tool.typescript": "1.47.0",
25
+ "@contractspec/tool.tsdown": "1.47.0",
27
26
  "typescript": "^5.9.3"
28
27
  },
29
28
  "exports": {
@@ -51,10 +50,10 @@
51
50
  "./quote": "./dist/quote/index.js",
52
51
  "./quote/quote.operations": "./dist/quote/quote.operations.js",
53
52
  "./quote/quote.schema": "./dist/quote/quote.schema.js",
53
+ "./service-business-os.capability": "./dist/service-business-os.capability.js",
54
54
  "./service.feature": "./dist/service.feature.js",
55
55
  "./*": "./*"
56
56
  },
57
- "module": "./dist/index.js",
58
57
  "files": [
59
58
  "dist",
60
59
  "README.md"