@contractspec/example.personalization 1.46.2 → 1.48.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/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @contractspec/example.personalization
2
2
 
3
+ ## 1.48.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b0444a4: feat: reduce adoption's friction by allowing generation of contracts from an analyse of the codebase
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [b0444a4]
12
+ - @contractspec/lib.workflow-composer@1.48.0
13
+ - @contractspec/lib.personalization@1.48.0
14
+ - @contractspec/lib.overlay-engine@1.48.0
15
+ - @contractspec/lib.contracts@1.48.0
16
+ - @contractspec/lib.logger@1.48.0
17
+
18
+ ## 1.47.0
19
+
20
+ ### Minor Changes
21
+
22
+ - caf8701: feat: add cli vibe command to run workflow
23
+ - c69b849: feat: add api web services (mcp & website)
24
+ - 42b8d78: feat: add cli `contractspec vibe` workflow to simplify usage
25
+ - fd38e85: feat: auto-fix contractspec issues
26
+
27
+ ### Patch Changes
28
+
29
+ - e7ded36: feat: improve stability (adding ts-morph)
30
+ - c231a8b: test: improve workspace stability
31
+ - Updated dependencies [e7ded36]
32
+ - Updated dependencies [caf8701]
33
+ - Updated dependencies [c69b849]
34
+ - Updated dependencies [c231a8b]
35
+ - Updated dependencies [42b8d78]
36
+ - Updated dependencies [fd38e85]
37
+ - @contractspec/lib.workflow-composer@1.47.0
38
+ - @contractspec/lib.personalization@1.47.0
39
+ - @contractspec/lib.overlay-engine@1.47.0
40
+ - @contractspec/lib.contracts@1.47.0
41
+ - @contractspec/lib.logger@1.47.0
42
+
3
43
  ## 1.46.2
4
44
 
5
45
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;;cAEM,SAAS"}
1
+ {"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;;cAEM,SA2BJ"}
package/dist/example.js CHANGED
@@ -1,5 +1,7 @@
1
+ import { defineExample } from "@contractspec/lib.contracts";
2
+
1
3
  //#region src/example.ts
2
- const example = {
4
+ const example = defineExample({
3
5
  meta: {
4
6
  key: "personalization",
5
7
  version: "1.0.0",
@@ -36,7 +38,7 @@ const example = {
36
38
  },
37
39
  mcp: { enabled: true }
38
40
  }
39
- };
41
+ });
40
42
  var example_default = example;
41
43
 
42
44
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","names":["example: ExampleSpec"],"sources":["../src/example.ts"],"sourcesContent":["import type { ExampleSpec } from '@contractspec/lib.contracts';\n\nconst example: ExampleSpec = {\n meta: {\n key: 'personalization',\n version: '1.0.0',\n title: 'Personalization Patterns',\n description:\n 'Small examples for behavior tracking, overlay-based UI customization, and tenant workflow extension.',\n kind: 'library',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['personalization', 'overlays', 'behavior', 'workflows'],\n },\n docs: {\n rootDocId: 'docs.examples.personalization',\n usageDocId: 'docs.examples.personalization.usage',\n },\n entrypoints: {\n packageName: '@contractspec/example.personalization',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: { enabled: true, modes: ['markdown', 'specs'] },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n};\n\nexport default example;\n"],"mappings":";AAEA,MAAMA,UAAuB;CAC3B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAmB;GAAY;GAAY;GAAY;EAC/D;CACD,MAAM;EACJ,WAAW;EACX,YAAY;EACb;CACD,aAAa;EACX,aAAa;EACb,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GAAE,SAAS;GAAM,OAAO,CAAC,YAAY,QAAQ;GAAE;EACxD,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF;AAED,sBAAe"}
1
+ {"version":3,"file":"example.js","names":[],"sources":["../src/example.ts"],"sourcesContent":["import { defineExample } from '@contractspec/lib.contracts';\n\nconst example = defineExample({\n meta: {\n key: 'personalization',\n version: '1.0.0',\n title: 'Personalization Patterns',\n description:\n 'Small examples for behavior tracking, overlay-based UI customization, and tenant workflow extension.',\n kind: 'library',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['personalization', 'overlays', 'behavior', 'workflows'],\n },\n docs: {\n rootDocId: 'docs.examples.personalization',\n usageDocId: 'docs.examples.personalization.usage',\n },\n entrypoints: {\n packageName: '@contractspec/example.personalization',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: { enabled: true, modes: ['markdown', 'specs'] },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n});\n\nexport default example;\n"],"mappings":";;;AAEA,MAAM,UAAU,cAAc;CAC5B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAmB;GAAY;GAAY;GAAY;EAC/D;CACD,MAAM;EACJ,WAAW;EACX,YAAY;EACb;CACD,aAAa;EACX,aAAa;EACb,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GAAE,SAAS;GAAM,OAAO,CAAC,YAAY,QAAQ;GAAE;EACxD,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF,CAAC;AAEF,sBAAe"}
@@ -1 +1,2 @@
1
+ import "../registry.js";
1
2
  import "./types.js";
@@ -1 +1 @@
1
- import "../../features/index.js";
1
+ import "../../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1,2 @@
1
- import "../spec.js";
1
+ import "../spec.js";
2
+ import "../index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-extension.js","names":["BaseWorkflow: WorkflowSpec"],"sources":["../src/workflow-extension.ts"],"sourcesContent":["import { StabilityEnum } from '@contractspec/lib.contracts';\nimport type { WorkflowSpec } from '@contractspec/lib.contracts/workflow/spec';\nimport { WorkflowComposer } from '@contractspec/lib.workflow-composer';\nimport { Logger, LogLevel } from '@contractspec/lib.logger';\n\nconst logger = new Logger({\n level: process.env.NODE_ENV === 'production' ? LogLevel.INFO : LogLevel.DEBUG,\n environment:\n (process.env.NODE_ENV as 'production' | 'development' | 'test') ||\n 'development',\n enableColors: process.env.NODE_ENV !== 'production',\n});\n\nconst BaseWorkflow: WorkflowSpec = {\n meta: {\n key: 'billing.invoiceApproval',\n version: '1.0.0',\n title: 'Invoice Approval',\n owners: [],\n tags: [],\n description: '',\n domain: 'billing',\n stability: StabilityEnum.Stable,\n },\n definition: {\n steps: [\n { id: 'validate-invoice', type: 'automation', label: 'Validate Invoice' },\n { id: 'final-approval', type: 'human', label: 'Final Approval' },\n ],\n transitions: [{ from: 'validate-invoice', to: 'final-approval' }],\n },\n};\n\nexport function composeTenantWorkflowExample(): WorkflowSpec {\n const composer = new WorkflowComposer();\n composer.register({\n workflow: 'billing.invoiceApproval',\n tenantId: 'acme',\n customSteps: [\n {\n after: 'validate-invoice',\n inject: {\n id: 'acme-legal',\n type: 'human',\n label: 'ACME Legal Review',\n },\n transitionTo: 'final-approval',\n },\n ],\n });\n\n return composer.compose({\n base: BaseWorkflow,\n tenantId: 'acme',\n });\n}\n\nexport function logTenantWorkflowSteps(workflow: WorkflowSpec): void {\n logger.info('Tenant workflow composed', {\n workflow: workflow.meta.key,\n steps: workflow.definition.steps.map((step) => step.id),\n });\n}\n"],"mappings":";;;;;AAKA,MAAM,SAAS,IAAI,OAAO;CACxB,OAAO,QAAQ,IAAI,aAAa,eAAe,SAAS,OAAO,SAAS;CACxE,aACG,QAAQ,IAAI,YACb;CACF,cAAc,QAAQ,IAAI,aAAa;CACxC,CAAC;AAEF,MAAMA,eAA6B;CACjC,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,QAAQ,EAAE;EACV,MAAM,EAAE;EACR,aAAa;EACb,QAAQ;EACR,WAAW,cAAc;EAC1B;CACD,YAAY;EACV,OAAO,CACL;GAAE,IAAI;GAAoB,MAAM;GAAc,OAAO;GAAoB,EACzE;GAAE,IAAI;GAAkB,MAAM;GAAS,OAAO;GAAkB,CACjE;EACD,aAAa,CAAC;GAAE,MAAM;GAAoB,IAAI;GAAkB,CAAC;EAClE;CACF;AAED,SAAgB,+BAA6C;CAC3D,MAAM,WAAW,IAAI,kBAAkB;AACvC,UAAS,SAAS;EAChB,UAAU;EACV,UAAU;EACV,aAAa,CACX;GACE,OAAO;GACP,QAAQ;IACN,IAAI;IACJ,MAAM;IACN,OAAO;IACR;GACD,cAAc;GACf,CACF;EACF,CAAC;AAEF,QAAO,SAAS,QAAQ;EACtB,MAAM;EACN,UAAU;EACX,CAAC;;AAGJ,SAAgB,uBAAuB,UAA8B;AACnE,QAAO,KAAK,4BAA4B;EACtC,UAAU,SAAS,KAAK;EACxB,OAAO,SAAS,WAAW,MAAM,KAAK,SAAS,KAAK,GAAG;EACxD,CAAC"}
1
+ {"version":3,"file":"workflow-extension.js","names":[],"sources":["../src/workflow-extension.ts"],"sourcesContent":["import { StabilityEnum } from '@contractspec/lib.contracts';\nimport type { WorkflowSpec } from '@contractspec/lib.contracts/workflow/spec';\nimport { WorkflowComposer } from '@contractspec/lib.workflow-composer';\nimport { Logger, LogLevel } from '@contractspec/lib.logger';\n\nconst logger = new Logger({\n level: process.env.NODE_ENV === 'production' ? LogLevel.INFO : LogLevel.DEBUG,\n environment:\n (process.env.NODE_ENV as 'production' | 'development' | 'test') ||\n 'development',\n enableColors: process.env.NODE_ENV !== 'production',\n});\n\nconst BaseWorkflow: WorkflowSpec = {\n meta: {\n key: 'billing.invoiceApproval',\n version: '1.0.0',\n title: 'Invoice Approval',\n owners: [],\n tags: [],\n description: '',\n domain: 'billing',\n stability: StabilityEnum.Stable,\n },\n definition: {\n steps: [\n { id: 'validate-invoice', type: 'automation', label: 'Validate Invoice' },\n { id: 'final-approval', type: 'human', label: 'Final Approval' },\n ],\n transitions: [{ from: 'validate-invoice', to: 'final-approval' }],\n },\n};\n\nexport function composeTenantWorkflowExample(): WorkflowSpec {\n const composer = new WorkflowComposer();\n composer.register({\n workflow: 'billing.invoiceApproval',\n tenantId: 'acme',\n customSteps: [\n {\n after: 'validate-invoice',\n inject: {\n id: 'acme-legal',\n type: 'human',\n label: 'ACME Legal Review',\n },\n transitionTo: 'final-approval',\n },\n ],\n });\n\n return composer.compose({\n base: BaseWorkflow,\n tenantId: 'acme',\n });\n}\n\nexport function logTenantWorkflowSteps(workflow: WorkflowSpec): void {\n logger.info('Tenant workflow composed', {\n workflow: workflow.meta.key,\n steps: workflow.definition.steps.map((step) => step.id),\n });\n}\n"],"mappings":";;;;;AAKA,MAAM,SAAS,IAAI,OAAO;CACxB,OAAO,QAAQ,IAAI,aAAa,eAAe,SAAS,OAAO,SAAS;CACxE,aACG,QAAQ,IAAI,YACb;CACF,cAAc,QAAQ,IAAI,aAAa;CACxC,CAAC;AAEF,MAAM,eAA6B;CACjC,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,QAAQ,EAAE;EACV,MAAM,EAAE;EACR,aAAa;EACb,QAAQ;EACR,WAAW,cAAc;EAC1B;CACD,YAAY;EACV,OAAO,CACL;GAAE,IAAI;GAAoB,MAAM;GAAc,OAAO;GAAoB,EACzE;GAAE,IAAI;GAAkB,MAAM;GAAS,OAAO;GAAkB,CACjE;EACD,aAAa,CAAC;GAAE,MAAM;GAAoB,IAAI;GAAkB,CAAC;EAClE;CACF;AAED,SAAgB,+BAA6C;CAC3D,MAAM,WAAW,IAAI,kBAAkB;AACvC,UAAS,SAAS;EAChB,UAAU;EACV,UAAU;EACV,aAAa,CACX;GACE,OAAO;GACP,QAAQ;IACN,IAAI;IACJ,MAAM;IACN,OAAO;IACR;GACD,cAAc;GACf,CACF;EACF,CAAC;AAEF,QAAO,SAAS,QAAQ;EACtB,MAAM;EACN,UAAU;EACX,CAAC;;AAGJ,SAAgB,uBAAuB,UAA8B;AACnE,QAAO,KAAK,4BAA4B;EACtC,UAAU,SAAS,KAAK;EACxB,OAAO,SAAS,WAAW,MAAM,KAAK,SAAS,KAAK,GAAG;EACxD,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "@contractspec/example.personalization",
3
- "version": "1.46.2",
3
+ "version": "1.48.0",
4
4
  "description": "Personalization examples: behavior tracking, overlay customization, workflow extension.",
5
5
  "type": "module",
6
- "main": "./dist/index.js",
7
6
  "types": "./dist/index.d.ts",
8
7
  "exports": {
9
8
  ".": "./dist/index.js",
@@ -29,16 +28,16 @@
29
28
  "test": "bun test"
30
29
  },
31
30
  "dependencies": {
32
- "@contractspec/lib.personalization": "1.46.2",
33
- "@contractspec/lib.overlay-engine": "1.46.2",
34
- "@contractspec/lib.workflow-composer": "1.46.2",
35
- "@contractspec/lib.contracts": "1.46.2",
36
- "@contractspec/lib.logger": "1.46.2"
31
+ "@contractspec/lib.personalization": "1.48.0",
32
+ "@contractspec/lib.overlay-engine": "1.48.0",
33
+ "@contractspec/lib.workflow-composer": "1.48.0",
34
+ "@contractspec/lib.contracts": "1.48.0",
35
+ "@contractspec/lib.logger": "1.48.0"
37
36
  },
38
37
  "devDependencies": {
39
- "@contractspec/tool.tsdown": "1.46.2",
40
- "@contractspec/tool.typescript": "1.46.2",
41
- "tsdown": "^0.18.3",
38
+ "@contractspec/tool.tsdown": "1.48.0",
39
+ "@contractspec/tool.typescript": "1.48.0",
40
+ "tsdown": "^0.19.0",
42
41
  "typescript": "^5.9.3"
43
42
  },
44
43
  "publishConfig": {
@@ -55,7 +54,6 @@
55
54
  },
56
55
  "registry": "https://registry.npmjs.org/"
57
56
  },
58
- "module": "./dist/index.js",
59
57
  "license": "MIT",
60
58
  "repository": {
61
59
  "type": "git",
package/src/example.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { ExampleSpec } from '@contractspec/lib.contracts';
1
+ import { defineExample } from '@contractspec/lib.contracts';
2
2
 
3
- const example: ExampleSpec = {
3
+ const example = defineExample({
4
4
  meta: {
5
5
  key: 'personalization',
6
6
  version: '1.0.0',
@@ -27,6 +27,6 @@ const example: ExampleSpec = {
27
27
  studio: { enabled: true, installable: true },
28
28
  mcp: { enabled: true },
29
29
  },
30
- };
30
+ });
31
31
 
32
32
  export default example;