@lssm/example.service-business-os 0.0.0-canary-20251216033905 → 0.0.0-canary-20251216062412

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/index.js CHANGED
@@ -1 +1 @@
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 as e,CreateClientInputModel as t}from"./client/client.schema.js";import{CreateClientContract as n}from"./client/client.contracts.js";import"./client/index.js";import{AcceptQuoteInputModel as r,CreateQuoteInputModel as i,QuoteModel as a}from"./quote/quote.schema.js";import{AcceptQuoteContract as o,CreateQuoteContract as s}from"./quote/quote.contracts.js";import"./quote/index.js";import{CompleteJobInputModel as c,JobModel as l,ScheduleJobInputModel as u}from"./job/job.schema.js";import{CompleteJobContract as d,ListJobsInputModel as f,ListJobsOperation as p,ListJobsOutputModel as m,ScheduleJobContract as h}from"./job/job.contracts.js";import"./job/index.js";import{InvoiceModel as g,IssueInvoiceInputModel as _}from"./invoice/invoice.schema.js";import{IssueInvoiceContract as v}from"./invoice/invoice.contracts.js";import"./invoice/index.js";import{PaymentModel as y,RecordPaymentInputModel as b}from"./payment/payment.schema.js";import{RecordPaymentContract as x}from"./payment/payment.contracts.js";import"./payment/index.js";export{o as AcceptQuoteContract,r as AcceptQuoteInputModel,e as ClientModel,d as CompleteJobContract,c as CompleteJobInputModel,n as CreateClientContract,t as CreateClientInputModel,s as CreateQuoteContract,i as CreateQuoteInputModel,g as InvoiceModel,v as IssueInvoiceContract,_ as IssueInvoiceInputModel,l as JobModel,f as ListJobsInputModel,p as ListJobsOperation,m as ListJobsOutputModel,y as PaymentModel,a as QuoteModel,x as RecordPaymentContract,b as RecordPaymentInputModel,h as ScheduleJobContract,u as ScheduleJobInputModel};
package/dist/job/index.js CHANGED
@@ -1 +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};
1
+ import{CompleteJobInputModel as e,JobModel as t,ScheduleJobInputModel as n}from"./job.schema.js";import{CompleteJobContract as r,ListJobsInputModel as i,ListJobsOperation as a,ListJobsOutputModel as o,ScheduleJobContract as s}from"./job.contracts.js";export{r as CompleteJobContract,e as CompleteJobInputModel,t as JobModel,i as ListJobsInputModel,a as ListJobsOperation,o as ListJobsOutputModel,s as ScheduleJobContract,n as ScheduleJobInputModel};
@@ -1 +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};
1
+ import{CompleteJobInputModel as e,JobModel as t,ScheduleJobInputModel as n}from"./job.schema.js";import{ScalarTypeEnum as r,defineSchemaModel as i}from"@lssm/lib.schema";import{defineCommand as a,defineQuery as o}from"@lssm/lib.contracts";const s=[`@examples.service-business-os`],c=i({name:`ListJobsInput`,description:`Input for listing jobs`,fields:{status:{type:r.String_unsecure(),isOptional:!0},clientId:{type:r.String_unsecure(),isOptional:!0},limit:{type:r.Int_unsecure(),isOptional:!0},offset:{type:r.Int_unsecure(),isOptional:!0}}}),l=i({name:`ListJobsOutput`,description:`Output for listing jobs`,fields:{jobs:{type:t,isOptional:!1,isList:!0},total:{type:r.Int_unsecure(),isOptional:!1}}}),u=o({meta:{name:`service.job.list`,version:1,stability:`stable`,owners:[...s],tags:[`service-business-os`,`job`,`list`,`query`],description:`List all jobs with filtering`,goal:`Retrieve list of jobs`,context:`Job management`},io:{input:c,output:l},policy:{auth:`user`}}),d=a({meta:{name:`service.job.schedule`,version:1,stability:`stable`,owners:[...s],tags:[`service-business-os`,`job`,`schedule`],description:`Schedule a job.`,goal:`Schedule work.`,context:`Job scheduling.`},io:{input:n,output:t},policy:{auth:`user`}}),f=a({meta:{name:`service.job.complete`,version:1,stability:`stable`,owners:[...s],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{f as CompleteJobContract,c as ListJobsInputModel,u as ListJobsOperation,l as ListJobsOutputModel,d as ScheduleJobContract};
@@ -0,0 +1 @@
1
+ const e={meta:{name:`service-business-os.dashboard`,version:1,description:`Service business dashboard with overview metrics`,domain:`services`,owners:[`@service-os`],tags:[`services`,`dashboard`]},source:{type:`component`,framework:`react`,componentKey:`ServiceDashboard`},targets:[`react`,`markdown`],policy:{flags:[`service.dashboard.enabled`]}},t={meta:{name:`service-business-os.client.list`,version:1,description:`List of service clients`,domain:`services`,owners:[`@service-os`],tags:[`services`,`clients`,`list`]},source:{type:`component`,framework:`react`,componentKey:`ClientList`},targets:[`react`,`markdown`],policy:{flags:[`service.clients.enabled`]}},n={meta:{name:`service-business-os.quote.list`,version:1,description:`List of quotes with status`,domain:`services`,owners:[`@service-os`],tags:[`services`,`quotes`,`list`]},source:{type:`component`,framework:`react`,componentKey:`QuoteList`},targets:[`react`,`markdown`],policy:{flags:[`service.quotes.enabled`]}},r={meta:{name:`service-business-os.quote.detail`,version:1,description:`Quote detail with line items`,domain:`services`,owners:[`@service-os`],tags:[`services`,`quote`,`detail`]},source:{type:`component`,framework:`react`,componentKey:`QuoteDetail`},targets:[`react`,`markdown`],policy:{flags:[`service.quotes.enabled`]}},i={meta:{name:`service-business-os.job.board`,version:1,description:`Job board with kanban view`,domain:`services`,owners:[`@service-os`],tags:[`services`,`jobs`,`board`,`kanban`]},source:{type:`component`,framework:`react`,componentKey:`JobBoard`},targets:[`react`],policy:{flags:[`service.jobs.enabled`]}},a={meta:{name:`service-business-os.invoice.list`,version:1,description:`List of invoices with payment status`,domain:`services`,owners:[`@service-os`],tags:[`services`,`invoices`,`list`]},source:{type:`component`,framework:`react`,componentKey:`InvoiceList`},targets:[`react`,`markdown`],policy:{flags:[`service.invoices.enabled`]}},o={meta:{name:`service-business-os.payment.list`,version:1,description:`List of payments received`,domain:`services`,owners:[`@service-os`],tags:[`services`,`payments`,`list`]},source:{type:`component`,framework:`react`,componentKey:`PaymentList`},targets:[`react`,`markdown`],policy:{flags:[`service.payments.enabled`]}};export{t as ClientListPresentation,a as InvoiceListPresentation,i as JobBoardPresentation,o as PaymentListPresentation,r as QuoteDetailPresentation,n as QuoteListPresentation,e as ServiceDashboardPresentation};
@@ -1 +1 @@
1
- const e={meta:{key:`service-business-os`,title:`Service Business OS`,description:`Quotes → jobs → invoices → payments for field services and agencies.`,domain:`services`,owners:[`service-os`],tags:[`services`,`quotes`,`jobs`,`invoices`,`payments`],stability:`experimental`},operations:[{name:`service.client.create`,version:1},{name:`service.quote.create`,version:1},{name:`service.quote.accept`,version:1},{name:`service.job.schedule`,version:1},{name:`service.job.complete`,version:1},{name:`service.invoice.issue`,version:1},{name:`service.payment.record`,version:1},{name:`service.job.list`,version:1}],events:[{name:`service.quote.sent`,version:1},{name:`service.quote.accepted`,version:1},{name:`service.job.scheduled`,version:1},{name:`service.job.completed`,version:1},{name:`service.invoice.issued`,version:1},{name:`service.payment.received`,version:1}],presentations:[{name:`service-business-os.dashboard`,version:1},{name:`service-business-os.client.list`,version:1},{name:`service-business-os.quote.list`,version:1},{name:`service-business-os.quote.detail`,version:1},{name:`service-business-os.job.board`,version:1},{name:`service-business-os.invoice.list`,version:1},{name:`service-business-os.payment.list`,version:1}],presentationsTargets:[{name:`service-business-os.dashboard`,version:1,targets:[`react`,`markdown`]},{name:`service-business-os.quote.list`,version:1,targets:[`react`,`markdown`]},{name:`service-business-os.invoice.list`,version:1,targets:[`react`,`markdown`]}],capabilities:{requires:[{key:`identity`,version:1},{key:`audit-trail`,version:1},{key:`notifications`,version:1},{key:`files`,version:1}],provides:[{key:`quotes`,version:1},{key:`jobs`,version:1},{key:`invoices`,version:1}]}};export{e as ServiceBusinessFeature};
1
+ const e={meta:{key:`service-business-os`,title:`Service Business OS`,description:`Quotes → jobs → invoices → payments for field services and agencies.`,domain:`services`,owners:[`@service-os`],tags:[`services`,`quotes`,`jobs`,`invoices`,`payments`],stability:`experimental`},operations:[{name:`service.client.create`,version:1},{name:`service.quote.create`,version:1},{name:`service.quote.accept`,version:1},{name:`service.job.schedule`,version:1},{name:`service.job.complete`,version:1},{name:`service.invoice.issue`,version:1},{name:`service.payment.record`,version:1},{name:`service.job.list`,version:1}],events:[{name:`service.quote.sent`,version:1},{name:`service.quote.accepted`,version:1},{name:`service.job.scheduled`,version:1},{name:`service.job.completed`,version:1},{name:`service.invoice.issued`,version:1},{name:`service.payment.received`,version:1}],presentations:[{name:`service-business-os.dashboard`,version:1},{name:`service-business-os.client.list`,version:1},{name:`service-business-os.quote.list`,version:1},{name:`service-business-os.quote.detail`,version:1},{name:`service-business-os.job.board`,version:1},{name:`service-business-os.invoice.list`,version:1},{name:`service-business-os.payment.list`,version:1}],presentationsTargets:[{name:`service-business-os.dashboard`,version:1,targets:[`react`,`markdown`]},{name:`service-business-os.quote.list`,version:1,targets:[`react`,`markdown`]},{name:`service-business-os.invoice.list`,version:1,targets:[`react`,`markdown`]}],capabilities:{requires:[{key:`identity`,version:1},{key:`audit-trail`,version:1},{key:`notifications`,version:1},{key:`files`,version:1}],provides:[{key:`quotes`,version:1},{key:`jobs`,version:1},{key:`invoices`,version:1}]}};export{e as ServiceBusinessFeature};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lssm/example.service-business-os",
3
- "version": "0.0.0-canary-20251216033905",
3
+ "version": "0.0.0-canary-20251216062412",
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",
@@ -53,7 +53,7 @@
53
53
  "./payment": "./src/payment/index.ts",
54
54
  "./payment/payment.contracts": "./src/payment/payment.contracts.ts",
55
55
  "./payment/payment.schema": "./src/payment/payment.schema.ts",
56
- "./presentations": "./src/presentations/index.ts",
56
+ "./presentations": "./src/presentations.ts",
57
57
  "./quote": "./src/quote/index.ts",
58
58
  "./quote/quote.contracts": "./src/quote/quote.contracts.ts",
59
59
  "./quote/quote.schema": "./src/quote/quote.schema.ts",