@lssm/example.service-business-os 0.0.0-canary-20251215234340 → 0.0.0-canary-20251216023757
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.
- package/dist/client/client.contracts.js +1 -0
- package/dist/client/client.schema.js +1 -0
- package/dist/client/index.js +1 -0
- package/dist/contracts/index.js +1 -1
- package/dist/index.js +1 -1
- package/dist/invoice/index.js +1 -0
- package/dist/invoice/invoice.contracts.js +1 -0
- package/dist/invoice/invoice.schema.js +1 -0
- package/dist/job/index.js +1 -0
- package/dist/job/job.contracts.js +1 -0
- package/dist/job/job.schema.js +1 -0
- package/dist/payment/index.js +1 -0
- package/dist/payment/payment.contracts.js +1 -0
- package/dist/payment/payment.schema.js +1 -0
- package/dist/quote/index.js +1 -0
- package/dist/quote/quote.contracts.js +1 -0
- package/dist/quote/quote.schema.js +1 -0
- package/package.json +31 -1
|
@@ -0,0 +1 @@
|
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
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};
|
package/dist/contracts/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
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};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{CompleteJobInputModel as e,JobModel as t,ScheduleJobInputModel as n}from"./job.schema.js";import{CompleteJobContract as r,ScheduleJobContract as i}from"./job.contracts.js";export{r as CompleteJobContract,e as CompleteJobInputModel,t as JobModel,i as ScheduleJobContract,n as ScheduleJobInputModel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{CompleteJobInputModel as e,JobModel as t,ScheduleJobInputModel as n}from"./job.schema.js";import{defineCommand as r}from"@lssm/lib.contracts";const i=[`@examples.service-business-os`],a=r({meta:{name:`service.job.schedule`,version:1,stability:`stable`,owners:[...i],tags:[`service-business-os`,`job`,`schedule`],description:`Schedule a job.`,goal:`Schedule work.`,context:`Job scheduling.`},io:{input:n,output:t},policy:{auth:`user`}}),o=r({meta:{name:`service.job.complete`,version:1,stability:`stable`,owners:[...i],tags:[`service-business-os`,`job`,`complete`],description:`Mark a job as complete.`,goal:`Record job completion.`,context:`Job management.`},io:{input:e,output:t},policy:{auth:`user`}});export{o as CompleteJobContract,a as ScheduleJobContract};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ScalarTypeEnum as e,defineSchemaModel as t}from"@lssm/lib.schema";const n=t({name:`Job`,description:`Scheduled job`,fields:{id:{type:e.String_unsecure(),isOptional:!1},quoteId:{type:e.String_unsecure(),isOptional:!1},clientId:{type:e.String_unsecure(),isOptional:!1},title:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},scheduledAt:{type:e.DateTime(),isOptional:!0},completedAt:{type:e.DateTime(),isOptional:!0},assignedTo:{type:e.String_unsecure(),isOptional:!0}}}),r=t({name:`ScheduleJobInput`,description:`Input for scheduling a job`,fields:{quoteId:{type:e.String_unsecure(),isOptional:!1},scheduledAt:{type:e.DateTime(),isOptional:!1},assignedTo:{type:e.String_unsecure(),isOptional:!0},location:{type:e.JSON(),isOptional:!0},title:{type:e.String_unsecure(),isOptional:!0}}}),i=t({name:`CompleteJobInput`,description:`Input for completing a job`,fields:{jobId:{type:e.String_unsecure(),isOptional:!1},completedAt:{type:e.DateTime(),isOptional:!0},notes:{type:e.String_unsecure(),isOptional:!0}}});export{i as CompleteJobInputModel,n as JobModel,r as ScheduleJobInputModel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{PaymentModel as e,RecordPaymentInputModel as t}from"./payment.schema.js";import{RecordPaymentContract as n}from"./payment.contracts.js";export{e as PaymentModel,n as RecordPaymentContract,t as RecordPaymentInputModel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{PaymentModel as e,RecordPaymentInputModel as t}from"./payment.schema.js";import{defineCommand as n}from"@lssm/lib.contracts";const r=n({meta:{name:`service.payment.record`,version:1,stability:`stable`,owners:[...[`@examples.service-business-os`]],tags:[`service-business-os`,`payment`,`record`],description:`Record a payment.`,goal:`Track payments.`,context:`Billing.`},io:{input:t,output:e},policy:{auth:`user`}});export{r as RecordPaymentContract};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ScalarTypeEnum as e,defineSchemaModel as t}from"@lssm/lib.schema";const n=t({name:`Payment`,description:`Payment applied to invoice`,fields:{id:{type:e.String_unsecure(),isOptional:!1},invoiceId:{type:e.String_unsecure(),isOptional:!1},amount:{type:e.Float_unsecure(),isOptional:!1},currency:{type:e.String_unsecure(),isOptional:!1},method:{type:e.String_unsecure(),isOptional:!1},reference:{type:e.String_unsecure(),isOptional:!0},receivedAt:{type:e.DateTime(),isOptional:!1}}}),r=t({name:`RecordPaymentInput`,description:`Input for recording a payment`,fields:{invoiceId:{type:e.String_unsecure(),isOptional:!1},amount:{type:e.Float_unsecure(),isOptional:!1},method:{type:e.String_unsecure(),isOptional:!1},reference:{type:e.String_unsecure(),isOptional:!0},receivedAt:{type:e.DateTime(),isOptional:!0}}});export{n as PaymentModel,r as RecordPaymentInputModel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{AcceptQuoteInputModel as e,CreateQuoteInputModel as t,QuoteModel as n}from"./quote.schema.js";import{AcceptQuoteContract as r,CreateQuoteContract as i}from"./quote.contracts.js";export{r as AcceptQuoteContract,e as AcceptQuoteInputModel,i as CreateQuoteContract,t as CreateQuoteInputModel,n as QuoteModel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{AcceptQuoteInputModel as e,CreateQuoteInputModel as t,QuoteModel as n}from"./quote.schema.js";import{defineCommand as r}from"@lssm/lib.contracts";const i=[`@examples.service-business-os`],a=r({meta:{name:`service.quote.create`,version:1,stability:`stable`,owners:[...i],tags:[`service-business-os`,`quote`,`create`],description:`Create a quote/proposal.`,goal:`Quote clients.`,context:`Quote creation.`},io:{input:t,output:n},policy:{auth:`user`}}),o=r({meta:{name:`service.quote.accept`,version:1,stability:`stable`,owners:[...i],tags:[`service-business-os`,`quote`,`accept`],description:`Accept a quote.`,goal:`Confirm quote.`,context:`Quote acceptance.`},io:{input:e,output:n},policy:{auth:`user`}});export{o as AcceptQuoteContract,a as CreateQuoteContract};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ScalarTypeEnum as e,defineSchemaModel as t}from"@lssm/lib.schema";const n=t({name:`Quote`,description:`Quote/proposal`,fields:{id:{type:e.String_unsecure(),isOptional:!1},clientId:{type:e.String_unsecure(),isOptional:!1},title:{type:e.String_unsecure(),isOptional:!1},description:{type:e.String_unsecure(),isOptional:!0},amount:{type:e.Float_unsecure(),isOptional:!1},currency:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},validUntil:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),r=t({name:`CreateQuoteInput`,description:`Input for creating a quote`,fields:{clientId:{type:e.String_unsecure(),isOptional:!1},title:{type:e.String_unsecure(),isOptional:!1},description:{type:e.String_unsecure(),isOptional:!0},amount:{type:e.Float_unsecure(),isOptional:!1},currency:{type:e.String_unsecure(),isOptional:!0},validUntil:{type:e.DateTime(),isOptional:!0},orgId:{type:e.String_unsecure(),isOptional:!1},ownerId:{type:e.String_unsecure(),isOptional:!1}}}),i=t({name:`AcceptQuoteInput`,description:`Input for accepting a quote`,fields:{quoteId:{type:e.String_unsecure(),isOptional:!1},acceptedBy:{type:e.String_unsecure(),isOptional:!1},notes:{type:e.String_unsecure(),isOptional:!0}}});export{i as AcceptQuoteInputModel,r as CreateQuoteInputModel,n as QuoteModel};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lssm/example.service-business-os",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-20251216023757",
|
|
4
4
|
"description": "Service Business OS example (clients, quotes, jobs, invoices) for ContractSpec",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -34,6 +34,9 @@
|
|
|
34
34
|
},
|
|
35
35
|
"exports": {
|
|
36
36
|
".": "./src/index.ts",
|
|
37
|
+
"./client": "./src/client/index.ts",
|
|
38
|
+
"./client/client.contracts": "./src/client/client.contracts.ts",
|
|
39
|
+
"./client/client.schema": "./src/client/client.schema.ts",
|
|
37
40
|
"./contracts": "./src/contracts/index.ts",
|
|
38
41
|
"./docs": "./src/docs/index.ts",
|
|
39
42
|
"./docs/service-business-os.docblock": "./src/docs/service-business-os.docblock.ts",
|
|
@@ -42,7 +45,19 @@
|
|
|
42
45
|
"./example": "./src/example.ts",
|
|
43
46
|
"./feature": "./src/feature.ts",
|
|
44
47
|
"./handlers": "./src/handlers/index.ts",
|
|
48
|
+
"./invoice": "./src/invoice/index.ts",
|
|
49
|
+
"./invoice/invoice.contracts": "./src/invoice/invoice.contracts.ts",
|
|
50
|
+
"./invoice/invoice.schema": "./src/invoice/invoice.schema.ts",
|
|
51
|
+
"./job": "./src/job/index.ts",
|
|
52
|
+
"./job/job.contracts": "./src/job/job.contracts.ts",
|
|
53
|
+
"./job/job.schema": "./src/job/job.schema.ts",
|
|
54
|
+
"./payment": "./src/payment/index.ts",
|
|
55
|
+
"./payment/payment.contracts": "./src/payment/payment.contracts.ts",
|
|
56
|
+
"./payment/payment.schema": "./src/payment/payment.schema.ts",
|
|
45
57
|
"./presentations": "./src/presentations/index.ts",
|
|
58
|
+
"./quote": "./src/quote/index.ts",
|
|
59
|
+
"./quote/quote.contracts": "./src/quote/quote.contracts.ts",
|
|
60
|
+
"./quote/quote.schema": "./src/quote/quote.schema.ts",
|
|
46
61
|
"./*": "./*"
|
|
47
62
|
},
|
|
48
63
|
"module": "./dist/index.js",
|
|
@@ -54,6 +69,9 @@
|
|
|
54
69
|
"access": "public",
|
|
55
70
|
"exports": {
|
|
56
71
|
".": "./dist/index.js",
|
|
72
|
+
"./client": "./dist/client/index.js",
|
|
73
|
+
"./client/client.contracts": "./dist/client/client.contracts.js",
|
|
74
|
+
"./client/client.schema": "./dist/client/client.schema.js",
|
|
57
75
|
"./contracts": "./dist/contracts/index.js",
|
|
58
76
|
"./docs": "./dist/docs/index.js",
|
|
59
77
|
"./docs/service-business-os.docblock": "./dist/docs/service-business-os.docblock.js",
|
|
@@ -62,7 +80,19 @@
|
|
|
62
80
|
"./example": "./dist/example.js",
|
|
63
81
|
"./feature": "./dist/feature.js",
|
|
64
82
|
"./handlers": "./dist/handlers/index.js",
|
|
83
|
+
"./invoice": "./dist/invoice/index.js",
|
|
84
|
+
"./invoice/invoice.contracts": "./dist/invoice/invoice.contracts.js",
|
|
85
|
+
"./invoice/invoice.schema": "./dist/invoice/invoice.schema.js",
|
|
86
|
+
"./job": "./dist/job/index.js",
|
|
87
|
+
"./job/job.contracts": "./dist/job/job.contracts.js",
|
|
88
|
+
"./job/job.schema": "./dist/job/job.schema.js",
|
|
89
|
+
"./payment": "./dist/payment/index.js",
|
|
90
|
+
"./payment/payment.contracts": "./dist/payment/payment.contracts.js",
|
|
91
|
+
"./payment/payment.schema": "./dist/payment/payment.schema.js",
|
|
65
92
|
"./presentations": "./dist/presentations/index.js",
|
|
93
|
+
"./quote": "./dist/quote/index.js",
|
|
94
|
+
"./quote/quote.contracts": "./dist/quote/quote.contracts.js",
|
|
95
|
+
"./quote/quote.schema": "./dist/quote/quote.schema.js",
|
|
66
96
|
"./*": "./*"
|
|
67
97
|
}
|
|
68
98
|
}
|