@voyantjs/legal 0.45.0 → 0.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.
- package/README.md +38 -1
- package/dist/contracts/index.d.ts +1 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +1 -1
- package/dist/contracts/routes.d.ts +548 -52
- package/dist/contracts/routes.d.ts.map +1 -1
- package/dist/contracts/routes.js +101 -71
- package/dist/contracts/schema.d.ts +34 -0
- package/dist/contracts/schema.d.ts.map +1 -1
- package/dist/contracts/schema.js +10 -0
- package/dist/contracts/service-contracts.d.ts +1 -1
- package/dist/contracts/service-shared.d.ts +2 -1
- package/dist/contracts/service-shared.d.ts.map +1 -1
- package/dist/contracts/service-templates.d.ts +21 -13
- package/dist/contracts/service-templates.d.ts.map +1 -1
- package/dist/contracts/service-templates.js +56 -10
- package/dist/contracts/service.d.ts +21 -13
- package/dist/contracts/service.d.ts.map +1 -1
- package/dist/contracts/validation.d.ts +6 -0
- package/dist/contracts/validation.d.ts.map +1 -1
- package/dist/contracts/validation.js +4 -0
- package/dist/policies/routes.d.ts +1 -1
- package/dist/policies/service-core.d.ts +1 -1
- package/dist/policies/service.d.ts +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -25,12 +25,49 @@ const app = createApp({
|
|
|
25
25
|
### Contracts
|
|
26
26
|
|
|
27
27
|
- **Contracts** (`cont`) — legal document instances with status lifecycle
|
|
28
|
-
- **Contract templates** (`ctpl`) — reusable templates with variable schemas
|
|
28
|
+
- **Contract templates** (`ctpl`) — reusable templates with variable schemas,
|
|
29
|
+
optional channel scope, and explicit storefront defaults
|
|
29
30
|
- **Contract template versions** (`ctpv`) — immutable version snapshots
|
|
30
31
|
- **Contract signatures** (`ctsi`) — signing records (who/when/method/ip)
|
|
31
32
|
- **Contract number series** (`ctns`) — series definitions with auto-increment
|
|
32
33
|
- **Contract attachments** (`ctat`) — rendered PDFs and appendices
|
|
33
34
|
|
|
35
|
+
## Default Storefront Contract Templates
|
|
36
|
+
|
|
37
|
+
Contract templates can be marked with `isDefault: true`. At most one default
|
|
38
|
+
template can exist for a given `(scope, channelId, language)` selector. A
|
|
39
|
+
default with `channelId: null` is the global fallback for that scope/language;
|
|
40
|
+
a channel-specific default wins when callers pass `channelId`.
|
|
41
|
+
|
|
42
|
+
Storefronts can resolve the active customer-safe template through:
|
|
43
|
+
|
|
44
|
+
- `GET /v1/public/legal/contracts/templates/default`
|
|
45
|
+
- `GET /v1/admin/legal/contracts/templates/default`
|
|
46
|
+
|
|
47
|
+
Supported query parameters are `scope` (defaults to `customer`), `channelId`,
|
|
48
|
+
`language`, and comma-separated `fallbackLanguages`. Selection checks requested
|
|
49
|
+
and fallback languages in order, prefers channel-specific defaults over global
|
|
50
|
+
defaults, ignores inactive templates, and falls back to the newest active
|
|
51
|
+
matching template only when no explicit default exists for that selector.
|
|
52
|
+
|
|
53
|
+
## Contract Document Operations
|
|
54
|
+
|
|
55
|
+
The contracts route surface exposes stable operations for storefront previews
|
|
56
|
+
and stored document handling:
|
|
57
|
+
|
|
58
|
+
- `POST /v1/public/legal/contracts/templates/:id/render-preview`
|
|
59
|
+
- `POST /v1/public/legal/contracts/templates/by-slug/:slug/render-preview`
|
|
60
|
+
- `POST /v1/admin/legal/contracts/templates/:id/render-preview`
|
|
61
|
+
- `POST /v1/admin/legal/contracts/:id/attach-document`
|
|
62
|
+
- `POST /v1/admin/legal/contracts/:id/regenerate-pdf`
|
|
63
|
+
|
|
64
|
+
Preview routes accept `{ variables }` and return only the rendered text. Public
|
|
65
|
+
preview routes require the template to be active. `attach-document` expects a
|
|
66
|
+
multipart `file` field plus optional `name` and `kind`, uploads through the
|
|
67
|
+
configured `documentStorage`, and persists a contract attachment. `regenerate-pdf`
|
|
68
|
+
uses the configured contract document generator and replaces the canonical
|
|
69
|
+
generated document artifact.
|
|
70
|
+
|
|
34
71
|
### Policies
|
|
35
72
|
|
|
36
73
|
- **Policies** (`pol`) — policy definitions by kind (cancellation, payment, T&C, etc.)
|
|
@@ -16,5 +16,5 @@ export type { CloudBrowserGoToOptions, CloudBrowserPdfInput, CloudBrowserPdfOpti
|
|
|
16
16
|
export { createBrowserRenderedPdfContractDocumentSerializer, defaultContractHtmlWrapper, } from "./service-documents-browser.js";
|
|
17
17
|
export type { ContractTemplateLiquidSnippet, ContractTemplateVariableCategory, ContractTemplateVariableDefinition, ContractTemplateVariableType, } from "./template-authoring.js";
|
|
18
18
|
export { contractTemplateLiquidSnippets, contractTemplateVariableCatalog, } from "./template-authoring.js";
|
|
19
|
-
export { contractBodyFormatSchema, contractListQuerySchema, contractNumberResetStrategySchema, contractScopeSchema, contractSignatureMethodSchema, contractStatusSchema, contractTemplateListQuerySchema, generateContractDocumentInputSchema, generatedContractDocumentAttachmentSchema, generatedContractDocumentResultSchema, insertContractAttachmentSchema, insertContractNumberSeriesSchema, insertContractSchema, insertContractSignatureSchema, insertContractTemplateSchema, insertContractTemplateVersionSchema, renderTemplateInputSchema, updateContractAttachmentSchema, updateContractNumberSeriesSchema, updateContractSchema, updateContractTemplateSchema, } from "./validation.js";
|
|
19
|
+
export { contractBodyFormatSchema, contractListQuerySchema, contractNumberResetStrategySchema, contractScopeSchema, contractSignatureMethodSchema, contractStatusSchema, contractTemplateDefaultQuerySchema, contractTemplateListQuerySchema, generateContractDocumentInputSchema, generatedContractDocumentAttachmentSchema, generatedContractDocumentResultSchema, insertContractAttachmentSchema, insertContractNumberSeriesSchema, insertContractSchema, insertContractSignatureSchema, insertContractTemplateSchema, insertContractTemplateVersionSchema, renderTemplateInputSchema, updateContractAttachmentSchema, updateContractNumberSeriesSchema, updateContractSchema, updateContractTemplateSchema, } from "./validation.js";
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,YAAY,EACV,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAErF,eAAO,MAAM,gBAAgB,EAAE,kBAK9B,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,kBAKtC,CAAA;AAED,eAAO,MAAM,iBAAiB;;;CAG7B,CAAA;AAED,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,6BAA6B,EAC7B,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,6CAA6C,EAC7C,uCAAuC,EACvC,mCAAmC,GACpC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,kCAAkC,EAClC,4CAA4C,EAC5C,oCAAoC,EACpC,8CAA8C,GAC/C,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yDAAyD,GAC1D,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,kDAAkD,EAClD,0BAA0B,GAC3B,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,EACpB,+BAA+B,EAC/B,mCAAmC,EACnC,yCAAyC,EACzC,qCAAqC,EACrC,8BAA8B,EAC9B,gCAAgC,EAChC,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,8BAA8B,EAC9B,gCAAgC,EAChC,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,YAAY,EACV,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAErF,eAAO,MAAM,gBAAgB,EAAE,kBAK9B,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,kBAKtC,CAAA;AAED,eAAO,MAAM,iBAAiB;;;CAG7B,CAAA;AAED,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,6BAA6B,EAC7B,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,6CAA6C,EAC7C,uCAAuC,EACvC,mCAAmC,GACpC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,kCAAkC,EAClC,4CAA4C,EAC5C,oCAAoC,EACpC,8CAA8C,GAC/C,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yDAAyD,GAC1D,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,kDAAkD,EAClD,0BAA0B,GAC3B,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,EACpB,kCAAkC,EAClC,+BAA+B,EAC/B,mCAAmC,EACnC,yCAAyC,EACzC,qCAAqC,EACrC,8BAA8B,EAC9B,gCAAgC,EAChC,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,8BAA8B,EAC9B,gCAAgC,EAChC,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA"}
|
package/dist/contracts/index.js
CHANGED
|
@@ -20,4 +20,4 @@ export { allocateContractNumber, ContractTemplateSyntaxError, contractsService,
|
|
|
20
20
|
export { createPdfContractDocumentGenerator, createStorageBackedContractDocumentGenerator, defaultPdfContractDocumentSerializer, defaultStorageBackedContractDocumentSerializer, } from "./service-documents.js";
|
|
21
21
|
export { createBrowserRenderedPdfContractDocumentSerializer, defaultContractHtmlWrapper, } from "./service-documents-browser.js";
|
|
22
22
|
export { contractTemplateLiquidSnippets, contractTemplateVariableCatalog, } from "./template-authoring.js";
|
|
23
|
-
export { contractBodyFormatSchema, contractListQuerySchema, contractNumberResetStrategySchema, contractScopeSchema, contractSignatureMethodSchema, contractStatusSchema, contractTemplateListQuerySchema, generateContractDocumentInputSchema, generatedContractDocumentAttachmentSchema, generatedContractDocumentResultSchema, insertContractAttachmentSchema, insertContractNumberSeriesSchema, insertContractSchema, insertContractSignatureSchema, insertContractTemplateSchema, insertContractTemplateVersionSchema, renderTemplateInputSchema, updateContractAttachmentSchema, updateContractNumberSeriesSchema, updateContractSchema, updateContractTemplateSchema, } from "./validation.js";
|
|
23
|
+
export { contractBodyFormatSchema, contractListQuerySchema, contractNumberResetStrategySchema, contractScopeSchema, contractSignatureMethodSchema, contractStatusSchema, contractTemplateDefaultQuerySchema, contractTemplateListQuerySchema, generateContractDocumentInputSchema, generatedContractDocumentAttachmentSchema, generatedContractDocumentResultSchema, insertContractAttachmentSchema, insertContractNumberSeriesSchema, insertContractSchema, insertContractSignatureSchema, insertContractTemplateSchema, insertContractTemplateVersionSchema, renderTemplateInputSchema, updateContractAttachmentSchema, updateContractNumberSeriesSchema, updateContractSchema, updateContractTemplateSchema, } from "./validation.js";
|