@lssm/example.service-business-os 0.0.0-canary-20251217080011 → 1.41.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.
- package/dist/client/client.contracts.js +1 -33
- package/dist/client/client.schema.js +1 -78
- package/dist/client/index.js +1 -4
- package/dist/contracts/index.js +1 -17
- package/dist/docs/index.js +1 -1
- package/dist/docs/service-business-os.docblock.js +5 -62
- package/dist/entities/index.js +1 -289
- package/dist/events.js +1 -178
- package/dist/example.js +1 -45
- package/dist/handlers/index.js +1 -5
- package/dist/index.js +1 -17
- package/dist/invoice/index.js +1 -4
- package/dist/invoice/invoice.contracts.js +1 -33
- package/dist/invoice/invoice.schema.js +1 -78
- package/dist/job/index.js +1 -4
- package/dist/job/job.contracts.js +1 -119
- package/dist/job/job.schema.js +1 -99
- package/dist/payment/index.js +1 -4
- package/dist/payment/payment.contracts.js +1 -33
- package/dist/payment/payment.schema.js +1 -74
- package/dist/presentations/index.js +1 -17
- package/dist/presentations.js +1 -148
- package/dist/quote/index.js +1 -4
- package/dist/quote/quote.contracts.js +1 -57
- package/dist/quote/quote.schema.js +1 -115
- package/dist/service.feature.js +1 -162
- package/package.json +36 -37
- package/dist/client/client.contracts.d.ts +0 -64
- package/dist/client/client.schema.d.ts +0 -67
- package/dist/client/index.d.ts +0 -3
- package/dist/contracts/index.d.ts +0 -11
- package/dist/docs/index.d.ts +0 -1
- package/dist/docs/service-business-os.docblock.d.ts +0 -1
- package/dist/entities/index.d.ts +0 -167
- package/dist/events.d.ts +0 -336
- package/dist/example.d.ts +0 -36
- package/dist/handlers/index.d.ts +0 -12
- package/dist/index.d.ts +0 -11
- package/dist/invoice/index.d.ts +0 -3
- package/dist/invoice/invoice.contracts.d.ts +0 -64
- package/dist/invoice/invoice.schema.d.ts +0 -67
- package/dist/job/index.d.ts +0 -3
- package/dist/job/job.contracts.d.ts +0 -237
- package/dist/job/job.schema.d.ts +0 -84
- package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -88
- package/dist/libs/contracts/dist/client/index.js +0 -5
- package/dist/libs/contracts/dist/client/react/feature-render.js +0 -2
- package/dist/libs/contracts/dist/client/react/form-render.js +0 -4
- package/dist/libs/contracts/dist/client/react/index.js +0 -4
- package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -60
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/index.js +0 -29
- package/dist/libs/contracts/dist/docs/presentations.js +0 -71
- package/dist/libs/contracts/dist/docs/registry.js +0 -44
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
- package/dist/libs/contracts/dist/events.js +0 -10
- package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
- package/dist/libs/contracts/dist/index.js +0 -71
- package/dist/libs/contracts/dist/install.js +0 -2
- package/dist/libs/contracts/dist/integrations/contracts.js +0 -377
- package/dist/libs/contracts/dist/integrations/index.js +0 -18
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -242
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -13
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
- package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
- package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
- package/dist/libs/contracts/dist/jsonschema.js +0 -1
- package/dist/libs/contracts/dist/knowledge/contracts.js +0 -306
- package/dist/libs/contracts/dist/knowledge/index.js +0 -7
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
- package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
- package/dist/libs/contracts/dist/llm/exporters.js +0 -19
- package/dist/libs/contracts/dist/llm/index.js +0 -2
- package/dist/libs/contracts/dist/llm/prompts.js +0 -1
- package/dist/libs/contracts/dist/onboarding-base.js +0 -196
- package/dist/libs/contracts/dist/openapi.js +0 -1
- package/dist/libs/contracts/dist/ownership.js +0 -21
- package/dist/libs/contracts/dist/presentations.js +0 -1
- package/dist/libs/contracts/dist/presentations.v2.js +0 -11
- package/dist/libs/contracts/dist/prompt.js +0 -1
- package/dist/libs/contracts/dist/promptRegistry.js +0 -1
- package/dist/libs/contracts/dist/regenerator/index.js +0 -1
- package/dist/libs/contracts/dist/regenerator/service.js +0 -6
- package/dist/libs/contracts/dist/registry.js +0 -2
- package/dist/libs/contracts/dist/resources.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -34
- package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/index.js +0 -6
- package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
- package/dist/libs/contracts/dist/server/index.js +0 -8
- package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
- package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
- package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
- package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
- package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
- package/dist/libs/contracts/dist/server/rest-express.js +0 -1
- package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
- package/dist/libs/contracts/dist/spec.js +0 -34
- package/dist/libs/contracts/dist/telemetry/index.js +0 -1
- package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
- package/dist/libs/contracts/dist/tests/index.js +0 -1
- package/dist/libs/contracts/dist/tests/runner.js +0 -2
- package/dist/libs/contracts/dist/workflow/index.js +0 -1
- package/dist/libs/contracts/dist/workflow/runner.js +0 -1
- package/dist/libs/schema/dist/EnumType.js +0 -2
- package/dist/libs/schema/dist/FieldType.js +0 -49
- package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/schema/dist/entity/defineEntity.js +0 -236
- package/dist/libs/schema/dist/entity/index.js +0 -2
- package/dist/libs/schema/dist/entity/types.js +0 -1
- package/dist/libs/schema/dist/index.js +0 -6
- package/dist/payment/index.d.ts +0 -3
- package/dist/payment/payment.contracts.d.ts +0 -60
- package/dist/payment/payment.schema.d.ts +0 -63
- package/dist/presentations/index.d.ts +0 -8
- package/dist/presentations.d.ts +0 -12
- package/dist/quote/index.d.ts +0 -3
- package/dist/quote/quote.contracts.d.ts +0 -134
- package/dist/quote/quote.schema.d.ts +0 -100
- package/dist/service.feature.d.ts +0 -6
|
@@ -1,74 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
|
|
3
|
-
import "../libs/schema/dist/index.js";
|
|
4
|
-
|
|
5
|
-
//#region src/payment/payment.schema.ts
|
|
6
|
-
/**
|
|
7
|
-
* Payment applied to invoice.
|
|
8
|
-
*/
|
|
9
|
-
const PaymentModel = defineSchemaModel({
|
|
10
|
-
name: "Payment",
|
|
11
|
-
description: "Payment applied to invoice",
|
|
12
|
-
fields: {
|
|
13
|
-
id: {
|
|
14
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
15
|
-
isOptional: false
|
|
16
|
-
},
|
|
17
|
-
invoiceId: {
|
|
18
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
19
|
-
isOptional: false
|
|
20
|
-
},
|
|
21
|
-
amount: {
|
|
22
|
-
type: ScalarTypeEnum.Float_unsecure(),
|
|
23
|
-
isOptional: false
|
|
24
|
-
},
|
|
25
|
-
currency: {
|
|
26
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
27
|
-
isOptional: false
|
|
28
|
-
},
|
|
29
|
-
method: {
|
|
30
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
31
|
-
isOptional: false
|
|
32
|
-
},
|
|
33
|
-
reference: {
|
|
34
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
35
|
-
isOptional: true
|
|
36
|
-
},
|
|
37
|
-
receivedAt: {
|
|
38
|
-
type: ScalarTypeEnum.DateTime(),
|
|
39
|
-
isOptional: false
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
/**
|
|
44
|
-
* Input for recording a payment.
|
|
45
|
-
*/
|
|
46
|
-
const RecordPaymentInputModel = defineSchemaModel({
|
|
47
|
-
name: "RecordPaymentInput",
|
|
48
|
-
description: "Input for recording a payment",
|
|
49
|
-
fields: {
|
|
50
|
-
invoiceId: {
|
|
51
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
52
|
-
isOptional: false
|
|
53
|
-
},
|
|
54
|
-
amount: {
|
|
55
|
-
type: ScalarTypeEnum.Float_unsecure(),
|
|
56
|
-
isOptional: false
|
|
57
|
-
},
|
|
58
|
-
method: {
|
|
59
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
60
|
-
isOptional: false
|
|
61
|
-
},
|
|
62
|
-
reference: {
|
|
63
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
64
|
-
isOptional: true
|
|
65
|
-
},
|
|
66
|
-
receivedAt: {
|
|
67
|
-
type: ScalarTypeEnum.DateTime(),
|
|
68
|
-
isOptional: true
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
//#endregion
|
|
74
|
-
export { PaymentModel, RecordPaymentInputModel };
|
|
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};
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Presentation descriptors for Service Business OS.
|
|
4
|
-
* These names map to renderers in Studio (react/markdown) to keep specs multi-surface.
|
|
5
|
-
*/
|
|
6
|
-
const ServiceBusinessPresentations = [
|
|
7
|
-
"service-business-os.dashboard",
|
|
8
|
-
"service-business-os.client.list",
|
|
9
|
-
"service-business-os.quote.list",
|
|
10
|
-
"service-business-os.quote.detail",
|
|
11
|
-
"service-business-os.job.board",
|
|
12
|
-
"service-business-os.invoice.list",
|
|
13
|
-
"service-business-os.payment.list"
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
export { ServiceBusinessPresentations };
|
|
1
|
+
const e=[`service-business-os.dashboard`,`service-business-os.client.list`,`service-business-os.quote.list`,`service-business-os.quote.detail`,`service-business-os.job.board`,`service-business-os.invoice.list`,`service-business-os.payment.list`];export{e as ServiceBusinessPresentations};
|
package/dist/presentations.js
CHANGED
|
@@ -1,148 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const ServiceDashboardPresentation = {
|
|
3
|
-
meta: {
|
|
4
|
-
name: "service-business-os.dashboard",
|
|
5
|
-
version: 1,
|
|
6
|
-
description: "Service business dashboard with overview metrics",
|
|
7
|
-
domain: "services",
|
|
8
|
-
owners: ["@service-os"],
|
|
9
|
-
tags: ["services", "dashboard"]
|
|
10
|
-
},
|
|
11
|
-
source: {
|
|
12
|
-
type: "component",
|
|
13
|
-
framework: "react",
|
|
14
|
-
componentKey: "ServiceDashboard"
|
|
15
|
-
},
|
|
16
|
-
targets: ["react", "markdown"],
|
|
17
|
-
policy: { flags: ["service.dashboard.enabled"] }
|
|
18
|
-
};
|
|
19
|
-
const ClientListPresentation = {
|
|
20
|
-
meta: {
|
|
21
|
-
name: "service-business-os.client.list",
|
|
22
|
-
version: 1,
|
|
23
|
-
description: "List of service clients",
|
|
24
|
-
domain: "services",
|
|
25
|
-
owners: ["@service-os"],
|
|
26
|
-
tags: [
|
|
27
|
-
"services",
|
|
28
|
-
"clients",
|
|
29
|
-
"list"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
source: {
|
|
33
|
-
type: "component",
|
|
34
|
-
framework: "react",
|
|
35
|
-
componentKey: "ClientList"
|
|
36
|
-
},
|
|
37
|
-
targets: ["react", "markdown"],
|
|
38
|
-
policy: { flags: ["service.clients.enabled"] }
|
|
39
|
-
};
|
|
40
|
-
const QuoteListPresentation = {
|
|
41
|
-
meta: {
|
|
42
|
-
name: "service-business-os.quote.list",
|
|
43
|
-
version: 1,
|
|
44
|
-
description: "List of quotes with status",
|
|
45
|
-
domain: "services",
|
|
46
|
-
owners: ["@service-os"],
|
|
47
|
-
tags: [
|
|
48
|
-
"services",
|
|
49
|
-
"quotes",
|
|
50
|
-
"list"
|
|
51
|
-
]
|
|
52
|
-
},
|
|
53
|
-
source: {
|
|
54
|
-
type: "component",
|
|
55
|
-
framework: "react",
|
|
56
|
-
componentKey: "QuoteList"
|
|
57
|
-
},
|
|
58
|
-
targets: ["react", "markdown"],
|
|
59
|
-
policy: { flags: ["service.quotes.enabled"] }
|
|
60
|
-
};
|
|
61
|
-
const QuoteDetailPresentation = {
|
|
62
|
-
meta: {
|
|
63
|
-
name: "service-business-os.quote.detail",
|
|
64
|
-
version: 1,
|
|
65
|
-
description: "Quote detail with line items",
|
|
66
|
-
domain: "services",
|
|
67
|
-
owners: ["@service-os"],
|
|
68
|
-
tags: [
|
|
69
|
-
"services",
|
|
70
|
-
"quote",
|
|
71
|
-
"detail"
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
|
-
source: {
|
|
75
|
-
type: "component",
|
|
76
|
-
framework: "react",
|
|
77
|
-
componentKey: "QuoteDetail"
|
|
78
|
-
},
|
|
79
|
-
targets: ["react", "markdown"],
|
|
80
|
-
policy: { flags: ["service.quotes.enabled"] }
|
|
81
|
-
};
|
|
82
|
-
const JobBoardPresentation = {
|
|
83
|
-
meta: {
|
|
84
|
-
name: "service-business-os.job.board",
|
|
85
|
-
version: 1,
|
|
86
|
-
description: "Job board with kanban view",
|
|
87
|
-
domain: "services",
|
|
88
|
-
owners: ["@service-os"],
|
|
89
|
-
tags: [
|
|
90
|
-
"services",
|
|
91
|
-
"jobs",
|
|
92
|
-
"board",
|
|
93
|
-
"kanban"
|
|
94
|
-
]
|
|
95
|
-
},
|
|
96
|
-
source: {
|
|
97
|
-
type: "component",
|
|
98
|
-
framework: "react",
|
|
99
|
-
componentKey: "JobBoard"
|
|
100
|
-
},
|
|
101
|
-
targets: ["react"],
|
|
102
|
-
policy: { flags: ["service.jobs.enabled"] }
|
|
103
|
-
};
|
|
104
|
-
const InvoiceListPresentation = {
|
|
105
|
-
meta: {
|
|
106
|
-
name: "service-business-os.invoice.list",
|
|
107
|
-
version: 1,
|
|
108
|
-
description: "List of invoices with payment status",
|
|
109
|
-
domain: "services",
|
|
110
|
-
owners: ["@service-os"],
|
|
111
|
-
tags: [
|
|
112
|
-
"services",
|
|
113
|
-
"invoices",
|
|
114
|
-
"list"
|
|
115
|
-
]
|
|
116
|
-
},
|
|
117
|
-
source: {
|
|
118
|
-
type: "component",
|
|
119
|
-
framework: "react",
|
|
120
|
-
componentKey: "InvoiceList"
|
|
121
|
-
},
|
|
122
|
-
targets: ["react", "markdown"],
|
|
123
|
-
policy: { flags: ["service.invoices.enabled"] }
|
|
124
|
-
};
|
|
125
|
-
const PaymentListPresentation = {
|
|
126
|
-
meta: {
|
|
127
|
-
name: "service-business-os.payment.list",
|
|
128
|
-
version: 1,
|
|
129
|
-
description: "List of payments received",
|
|
130
|
-
domain: "services",
|
|
131
|
-
owners: ["@service-os"],
|
|
132
|
-
tags: [
|
|
133
|
-
"services",
|
|
134
|
-
"payments",
|
|
135
|
-
"list"
|
|
136
|
-
]
|
|
137
|
-
},
|
|
138
|
-
source: {
|
|
139
|
-
type: "component",
|
|
140
|
-
framework: "react",
|
|
141
|
-
componentKey: "PaymentList"
|
|
142
|
-
},
|
|
143
|
-
targets: ["react", "markdown"],
|
|
144
|
-
policy: { flags: ["service.payments.enabled"] }
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
//#endregion
|
|
148
|
-
export { ClientListPresentation, InvoiceListPresentation, JobBoardPresentation, PaymentListPresentation, QuoteDetailPresentation, QuoteListPresentation, ServiceDashboardPresentation };
|
|
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};
|
package/dist/quote/index.js
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { AcceptQuoteContract, CreateQuoteContract } from "./quote.contracts.js";
|
|
3
|
-
|
|
4
|
-
export { AcceptQuoteContract, AcceptQuoteInputModel, CreateQuoteContract, CreateQuoteInputModel, QuoteModel };
|
|
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};
|
|
@@ -1,57 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../libs/contracts/dist/index.js";
|
|
3
|
-
import { AcceptQuoteInputModel, CreateQuoteInputModel, QuoteModel } from "./quote.schema.js";
|
|
4
|
-
|
|
5
|
-
//#region src/quote/quote.contracts.ts
|
|
6
|
-
const OWNERS = ["@examples.service-business-os"];
|
|
7
|
-
/**
|
|
8
|
-
* Create a new quote.
|
|
9
|
-
*/
|
|
10
|
-
const CreateQuoteContract = defineCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: "service.quote.create",
|
|
13
|
-
version: 1,
|
|
14
|
-
stability: "stable",
|
|
15
|
-
owners: [...OWNERS],
|
|
16
|
-
tags: [
|
|
17
|
-
"service-business-os",
|
|
18
|
-
"quote",
|
|
19
|
-
"create"
|
|
20
|
-
],
|
|
21
|
-
description: "Create a quote/proposal.",
|
|
22
|
-
goal: "Quote clients.",
|
|
23
|
-
context: "Quote creation."
|
|
24
|
-
},
|
|
25
|
-
io: {
|
|
26
|
-
input: CreateQuoteInputModel,
|
|
27
|
-
output: QuoteModel
|
|
28
|
-
},
|
|
29
|
-
policy: { auth: "user" }
|
|
30
|
-
});
|
|
31
|
-
/**
|
|
32
|
-
* Accept a quote.
|
|
33
|
-
*/
|
|
34
|
-
const AcceptQuoteContract = defineCommand({
|
|
35
|
-
meta: {
|
|
36
|
-
name: "service.quote.accept",
|
|
37
|
-
version: 1,
|
|
38
|
-
stability: "stable",
|
|
39
|
-
owners: [...OWNERS],
|
|
40
|
-
tags: [
|
|
41
|
-
"service-business-os",
|
|
42
|
-
"quote",
|
|
43
|
-
"accept"
|
|
44
|
-
],
|
|
45
|
-
description: "Accept a quote.",
|
|
46
|
-
goal: "Confirm quote.",
|
|
47
|
-
context: "Quote acceptance."
|
|
48
|
-
},
|
|
49
|
-
io: {
|
|
50
|
-
input: AcceptQuoteInputModel,
|
|
51
|
-
output: QuoteModel
|
|
52
|
-
},
|
|
53
|
-
policy: { auth: "user" }
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
//#endregion
|
|
57
|
-
export { AcceptQuoteContract, CreateQuoteContract };
|
|
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};
|
|
@@ -1,115 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
|
|
3
|
-
import "../libs/schema/dist/index.js";
|
|
4
|
-
|
|
5
|
-
//#region src/quote/quote.schema.ts
|
|
6
|
-
/**
|
|
7
|
-
* Quote/proposal.
|
|
8
|
-
*/
|
|
9
|
-
const QuoteModel = defineSchemaModel({
|
|
10
|
-
name: "Quote",
|
|
11
|
-
description: "Quote/proposal",
|
|
12
|
-
fields: {
|
|
13
|
-
id: {
|
|
14
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
15
|
-
isOptional: false
|
|
16
|
-
},
|
|
17
|
-
clientId: {
|
|
18
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
19
|
-
isOptional: false
|
|
20
|
-
},
|
|
21
|
-
title: {
|
|
22
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
23
|
-
isOptional: false
|
|
24
|
-
},
|
|
25
|
-
description: {
|
|
26
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
27
|
-
isOptional: true
|
|
28
|
-
},
|
|
29
|
-
amount: {
|
|
30
|
-
type: ScalarTypeEnum.Float_unsecure(),
|
|
31
|
-
isOptional: false
|
|
32
|
-
},
|
|
33
|
-
currency: {
|
|
34
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
35
|
-
isOptional: false
|
|
36
|
-
},
|
|
37
|
-
status: {
|
|
38
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
39
|
-
isOptional: false
|
|
40
|
-
},
|
|
41
|
-
validUntil: {
|
|
42
|
-
type: ScalarTypeEnum.DateTime(),
|
|
43
|
-
isOptional: true
|
|
44
|
-
},
|
|
45
|
-
createdAt: {
|
|
46
|
-
type: ScalarTypeEnum.DateTime(),
|
|
47
|
-
isOptional: false
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
/**
|
|
52
|
-
* Input for creating a quote.
|
|
53
|
-
*/
|
|
54
|
-
const CreateQuoteInputModel = defineSchemaModel({
|
|
55
|
-
name: "CreateQuoteInput",
|
|
56
|
-
description: "Input for creating a quote",
|
|
57
|
-
fields: {
|
|
58
|
-
clientId: {
|
|
59
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
60
|
-
isOptional: false
|
|
61
|
-
},
|
|
62
|
-
title: {
|
|
63
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
64
|
-
isOptional: false
|
|
65
|
-
},
|
|
66
|
-
description: {
|
|
67
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
68
|
-
isOptional: true
|
|
69
|
-
},
|
|
70
|
-
amount: {
|
|
71
|
-
type: ScalarTypeEnum.Float_unsecure(),
|
|
72
|
-
isOptional: false
|
|
73
|
-
},
|
|
74
|
-
currency: {
|
|
75
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
76
|
-
isOptional: true
|
|
77
|
-
},
|
|
78
|
-
validUntil: {
|
|
79
|
-
type: ScalarTypeEnum.DateTime(),
|
|
80
|
-
isOptional: true
|
|
81
|
-
},
|
|
82
|
-
orgId: {
|
|
83
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
84
|
-
isOptional: false
|
|
85
|
-
},
|
|
86
|
-
ownerId: {
|
|
87
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
88
|
-
isOptional: false
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
/**
|
|
93
|
-
* Input for accepting a quote.
|
|
94
|
-
*/
|
|
95
|
-
const AcceptQuoteInputModel = defineSchemaModel({
|
|
96
|
-
name: "AcceptQuoteInput",
|
|
97
|
-
description: "Input for accepting a quote",
|
|
98
|
-
fields: {
|
|
99
|
-
quoteId: {
|
|
100
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
101
|
-
isOptional: false
|
|
102
|
-
},
|
|
103
|
-
acceptedBy: {
|
|
104
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
105
|
-
isOptional: false
|
|
106
|
-
},
|
|
107
|
-
notes: {
|
|
108
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
109
|
-
isOptional: true
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
//#endregion
|
|
115
|
-
export { AcceptQuoteInputModel, CreateQuoteInputModel, QuoteModel };
|
|
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/dist/service.feature.js
CHANGED
|
@@ -1,162 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const ServiceBusinessFeature = {
|
|
3
|
-
meta: {
|
|
4
|
-
key: "service-business-os",
|
|
5
|
-
title: "Service Business OS",
|
|
6
|
-
description: "Quotes → jobs → invoices → payments for field services and agencies.",
|
|
7
|
-
domain: "services",
|
|
8
|
-
owners: ["@service-os"],
|
|
9
|
-
tags: [
|
|
10
|
-
"services",
|
|
11
|
-
"quotes",
|
|
12
|
-
"jobs",
|
|
13
|
-
"invoices",
|
|
14
|
-
"payments"
|
|
15
|
-
],
|
|
16
|
-
stability: "experimental"
|
|
17
|
-
},
|
|
18
|
-
operations: [
|
|
19
|
-
{
|
|
20
|
-
name: "service.client.create",
|
|
21
|
-
version: 1
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
name: "service.quote.create",
|
|
25
|
-
version: 1
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "service.quote.accept",
|
|
29
|
-
version: 1
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
name: "service.job.schedule",
|
|
33
|
-
version: 1
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: "service.job.complete",
|
|
37
|
-
version: 1
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: "service.invoice.issue",
|
|
41
|
-
version: 1
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: "service.payment.record",
|
|
45
|
-
version: 1
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: "service.job.list",
|
|
49
|
-
version: 1
|
|
50
|
-
}
|
|
51
|
-
],
|
|
52
|
-
events: [
|
|
53
|
-
{
|
|
54
|
-
name: "service.quote.sent",
|
|
55
|
-
version: 1
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: "service.quote.accepted",
|
|
59
|
-
version: 1
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
name: "service.job.scheduled",
|
|
63
|
-
version: 1
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
name: "service.job.completed",
|
|
67
|
-
version: 1
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
name: "service.invoice.issued",
|
|
71
|
-
version: 1
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
name: "service.payment.received",
|
|
75
|
-
version: 1
|
|
76
|
-
}
|
|
77
|
-
],
|
|
78
|
-
presentations: [
|
|
79
|
-
{
|
|
80
|
-
name: "service-business-os.dashboard",
|
|
81
|
-
version: 1
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
name: "service-business-os.client.list",
|
|
85
|
-
version: 1
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: "service-business-os.quote.list",
|
|
89
|
-
version: 1
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
name: "service-business-os.quote.detail",
|
|
93
|
-
version: 1
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
name: "service-business-os.job.board",
|
|
97
|
-
version: 1
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
name: "service-business-os.invoice.list",
|
|
101
|
-
version: 1
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: "service-business-os.payment.list",
|
|
105
|
-
version: 1
|
|
106
|
-
}
|
|
107
|
-
],
|
|
108
|
-
presentationsTargets: [
|
|
109
|
-
{
|
|
110
|
-
name: "service-business-os.dashboard",
|
|
111
|
-
version: 1,
|
|
112
|
-
targets: ["react", "markdown"]
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
name: "service-business-os.quote.list",
|
|
116
|
-
version: 1,
|
|
117
|
-
targets: ["react", "markdown"]
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: "service-business-os.invoice.list",
|
|
121
|
-
version: 1,
|
|
122
|
-
targets: ["react", "markdown"]
|
|
123
|
-
}
|
|
124
|
-
],
|
|
125
|
-
capabilities: {
|
|
126
|
-
requires: [
|
|
127
|
-
{
|
|
128
|
-
key: "identity",
|
|
129
|
-
version: 1
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
key: "audit-trail",
|
|
133
|
-
version: 1
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
key: "notifications",
|
|
137
|
-
version: 1
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
key: "files",
|
|
141
|
-
version: 1
|
|
142
|
-
}
|
|
143
|
-
],
|
|
144
|
-
provides: [
|
|
145
|
-
{
|
|
146
|
-
key: "quotes",
|
|
147
|
-
version: 1
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
key: "jobs",
|
|
151
|
-
version: 1
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
key: "invoices",
|
|
155
|
-
version: 1
|
|
156
|
-
}
|
|
157
|
-
]
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
//#endregion
|
|
162
|
-
export { 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};
|