@contractspec/example.crm-pipeline 1.52.0 → 1.54.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.
@@ -1,7 +1,7 @@
1
1
  $ tsdown
2
2
  ℹ tsdown v0.19.0 powered by rolldown v1.0.0-beta.59
3
3
  ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/crm-pipeline/tsdown.config.js
4
- ℹ entry: src/crm-pipeline.feature.ts, src/example.ts, src/index.ts, src/deal/deal.enum.ts, src/deal/deal.operation.ts, src/deal/deal.schema.ts, src/deal/deal.test-spec.ts, src/deal/index.ts, src/docs/crm-pipeline.docblock.ts, src/docs/index.ts, src/entities/company.entity.ts, src/entities/contact.entity.ts, src/entities/deal.entity.ts, src/entities/index.ts, src/entities/task.entity.ts, src/events/contact.event.ts, src/events/deal.event.ts, src/events/index.ts, src/events/task.event.ts, src/handlers/crm.handlers.ts, src/handlers/deal.handlers.ts, src/handlers/index.ts, src/handlers/mock-data.ts, src/operations/index.ts, src/presentations/dashboard.presentation.ts, src/presentations/index.ts, src/presentations/pipeline.presentation.ts, src/seeders/index.ts, src/shared/overlay-types.ts, src/ui/CrmDashboard.tsx, src/ui/CrmDealCard.tsx, src/ui/CrmPipelineBoard.tsx, src/ui/index.ts, src/ui/hooks/index.ts, src/ui/hooks/useDealList.ts, src/ui/hooks/useDealMutations.ts, src/ui/modals/CreateDealModal.tsx, src/ui/modals/DealActionsModal.tsx, src/ui/modals/index.ts, src/ui/overlays/demo-overlays.ts, src/ui/overlays/index.ts, src/ui/renderers/index.ts, src/ui/renderers/pipeline.markdown.ts, src/ui/renderers/pipeline.renderer.tsx
4
+ ℹ entry: src/crm-pipeline.feature.ts, src/example.ts, src/index.ts, src/docs/crm-pipeline.docblock.ts, src/docs/index.ts, src/deal/deal.enum.ts, src/deal/deal.operation.ts, src/deal/deal.schema.ts, src/deal/deal.test-spec.ts, src/deal/index.ts, src/entities/company.entity.ts, src/entities/contact.entity.ts, src/entities/deal.entity.ts, src/entities/index.ts, src/entities/task.entity.ts, src/events/contact.event.ts, src/events/deal.event.ts, src/events/index.ts, src/events/task.event.ts, src/handlers/crm.handlers.ts, src/handlers/deal.handlers.ts, src/handlers/index.ts, src/handlers/mock-data.ts, src/operations/index.ts, src/presentations/dashboard.presentation.ts, src/presentations/index.ts, src/presentations/pipeline.presentation.ts, src/seeders/index.ts, src/shared/overlay-types.ts, src/ui/CrmDashboard.tsx, src/ui/CrmDealCard.tsx, src/ui/CrmPipelineBoard.tsx, src/ui/index.ts, src/ui/hooks/index.ts, src/ui/hooks/useDealList.ts, src/ui/hooks/useDealMutations.ts, src/ui/modals/CreateDealModal.tsx, src/ui/modals/DealActionsModal.tsx, src/ui/modals/index.ts, src/ui/overlays/demo-overlays.ts, src/ui/overlays/index.ts, src/ui/renderers/index.ts, src/ui/renderers/pipeline.markdown.ts, src/ui/renderers/pipeline.renderer.tsx
5
5
  ℹ target: esnext
6
6
  ℹ tsconfig: tsconfig.json
7
7
  ℹ Build start
@@ -67,7 +67,7 @@ $ tsdown
67
67
  ℹ dist/docs/crm-pipeline.docblock.js.map  5.26 kB │ gzip: 1.97 kB
68
68
  ℹ dist/ui/hooks/useDealList.js.map  4.93 kB │ gzip: 1.83 kB
69
69
  ℹ dist/presentations/pipeline.presentation.js.map  4.69 kB │ gzip: 1.22 kB
70
- ℹ dist/crm-pipeline.feature.js.map  4.43 kB │ gzip: 1.20 kB
70
+ ℹ dist/crm-pipeline.feature.js.map  4.44 kB │ gzip: 1.21 kB
71
71
  ℹ dist/entities/contact.entity.js.map  4.32 kB │ gzip: 1.37 kB
72
72
  ℹ dist/entities/company.entity.js.map  3.58 kB │ gzip: 1.17 kB
73
73
  ℹ dist/ui/CrmDealCard.js.map  3.37 kB │ gzip: 1.49 kB
@@ -102,7 +102,7 @@ $ tsdown
102
102
  ℹ dist/entities/company.entity.d.ts.map  0.26 kB │ gzip: 0.19 kB
103
103
  ℹ dist/deal/deal.enum.d.ts.map  0.25 kB │ gzip: 0.17 kB
104
104
  ℹ dist/events/contact.event.d.ts.map  0.24 kB │ gzip: 0.18 kB
105
- ℹ dist/presentations/dashboard.presentation.d.ts.map  0.24 kB │ gzip: 0.17 kB
105
+ ℹ dist/presentations/dashboard.presentation.d.ts.map  0.24 kB │ gzip: 0.18 kB
106
106
  ℹ dist/events/task.event.d.ts.map  0.24 kB │ gzip: 0.18 kB
107
107
  ℹ dist/ui/overlays/demo-overlays.d.ts.map  0.19 kB │ gzip: 0.15 kB
108
108
  ℹ dist/ui/renderers/pipeline.markdown.d.ts.map  0.19 kB │ gzip: 0.15 kB
@@ -118,7 +118,7 @@ $ tsdown
118
118
  ℹ dist/deal/deal.schema.d.ts  8.27 kB │ gzip: 0.84 kB
119
119
  ℹ dist/index.d.ts  4.79 kB │ gzip: 1.16 kB
120
120
  ℹ dist/entities/deal.entity.d.ts  3.54 kB │ gzip: 0.56 kB
121
- ℹ dist/events/deal.event.d.ts  3.31 kB │ gzip: 0.43 kB
121
+ ℹ dist/events/deal.event.d.ts  3.32 kB │ gzip: 0.43 kB
122
122
  ℹ dist/entities/task.entity.d.ts  2.99 kB │ gzip: 0.51 kB
123
123
  ℹ dist/handlers/deal.handlers.d.ts  2.40 kB │ gzip: 0.69 kB
124
124
  ℹ dist/handlers/crm.handlers.d.ts  2.18 kB │ gzip: 0.69 kB
@@ -158,7 +158,7 @@ $ tsdown
158
158
  ℹ dist/ui/overlays/index.d.ts  0.14 kB │ gzip: 0.09 kB
159
159
  ℹ dist/docs/crm-pipeline.docblock.d.ts  0.01 kB │ gzip: 0.03 kB
160
160
  ℹ dist/docs/index.d.ts  0.01 kB │ gzip: 0.03 kB
161
- ℹ 152 files, total: 373.18 kB
161
+ ℹ 152 files, total: 373.21 kB
162
162
  src/ui/renderers/pipeline.markdown.ts (10:7) [UNRESOLVED_IMPORT] Warning: Could not resolve '@contractspec/example.crm-pipeline/handlers' in src/ui/renderers/pipeline.markdown.ts
163
163
  ╭─[ src/ui/renderers/pipeline.markdown.ts:10:8 ]
164
164
  │
@@ -169,4 +169,4 @@ src/ui/renderers/pipeline.markdown.ts (10:7) [UNRESOLVED_IMPORT] Warning:[
169
169
   │ Help: The "main" field here was ignored. Main fields must be configured explicitly when using the "neutral" platform.
170
170
  ────╯
171
171
 
172
- ✔ Build complete in 34873ms
172
+ ✔ Build complete in 35629ms
@@ -68,7 +68,7 @@ $ tsdown
68
68
  ℹ dist/docs/crm-pipeline.docblock.js.map  5.26 kB │ gzip: 1.97 kB
69
69
  ℹ dist/ui/hooks/useDealList.js.map  4.93 kB │ gzip: 1.83 kB
70
70
  ℹ dist/presentations/pipeline.presentation.js.map  4.69 kB │ gzip: 1.22 kB
71
- ℹ dist/crm-pipeline.feature.js.map  4.43 kB │ gzip: 1.20 kB
71
+ ℹ dist/crm-pipeline.feature.js.map  4.44 kB │ gzip: 1.21 kB
72
72
  ℹ dist/entities/contact.entity.js.map  4.32 kB │ gzip: 1.37 kB
73
73
  ℹ dist/entities/company.entity.js.map  3.58 kB │ gzip: 1.17 kB
74
74
  ℹ dist/ui/CrmDealCard.js.map  3.37 kB │ gzip: 1.49 kB
@@ -115,16 +115,16 @@ $ tsdown
115
115
  ℹ dist/seeders/index.d.ts.map  0.16 kB │ gzip: 0.14 kB
116
116
  ℹ dist/entities/index.d.ts.map  0.15 kB │ gzip: 0.13 kB
117
117
  ℹ dist/example.d.ts.map  0.14 kB │ gzip: 0.13 kB
118
- ℹ dist/deal/deal.operation.d.ts 14.26 kB │ gzip: 0.97 kB
119
- ℹ dist/deal/deal.schema.d.ts  8.12 kB │ gzip: 0.84 kB
118
+ ℹ dist/deal/deal.operation.d.ts 14.01 kB │ gzip: 0.97 kB
119
+ ℹ dist/deal/deal.schema.d.ts  8.27 kB │ gzip: 0.84 kB
120
120
  ℹ dist/index.d.ts  4.79 kB │ gzip: 1.16 kB
121
- ℹ dist/entities/deal.entity.d.ts  3.49 kB │ gzip: 0.55 kB
121
+ ℹ dist/entities/deal.entity.d.ts  3.54 kB │ gzip: 0.56 kB
122
122
  ℹ dist/events/deal.event.d.ts  3.31 kB │ gzip: 0.43 kB
123
123
  ℹ dist/entities/task.entity.d.ts  2.99 kB │ gzip: 0.51 kB
124
124
  ℹ dist/handlers/deal.handlers.d.ts  2.40 kB │ gzip: 0.69 kB
125
125
  ℹ dist/handlers/crm.handlers.d.ts  2.18 kB │ gzip: 0.69 kB
126
126
  ℹ dist/entities/contact.entity.d.ts  2.16 kB │ gzip: 0.45 kB
127
- ℹ dist/entities/company.entity.d.ts  1.88 kB │ gzip: 0.42 kB
127
+ ℹ dist/entities/company.entity.d.ts  1.91 kB │ gzip: 0.42 kB
128
128
  ℹ dist/ui/modals/DealActionsModal.d.ts  1.14 kB │ gzip: 0.48 kB
129
129
  ℹ dist/ui/index.d.ts  1.11 kB │ gzip: 0.31 kB
130
130
  ℹ dist/handlers/mock-data.d.ts  1.04 kB │ gzip: 0.43 kB
@@ -146,7 +146,7 @@ $ tsdown
146
146
  ℹ dist/deal/deal.enum.d.ts  0.48 kB │ gzip: 0.23 kB
147
147
  ℹ dist/crm-pipeline.feature.d.ts  0.44 kB │ gzip: 0.26 kB
148
148
  ℹ dist/presentations/index.d.ts  0.40 kB │ gzip: 0.15 kB
149
- ℹ dist/ui/CrmDealCard.d.ts  0.39 kB │ gzip: 0.26 kB
149
+ ℹ dist/ui/CrmDealCard.d.ts  0.39 kB │ gzip: 0.25 kB
150
150
  ℹ dist/deal/deal.test-spec.d.ts  0.35 kB │ gzip: 0.19 kB
151
151
  ℹ dist/ui/renderers/pipeline.renderer.d.ts  0.33 kB │ gzip: 0.20 kB
152
152
  ℹ dist/events/index.d.ts  0.32 kB │ gzip: 0.14 kB
@@ -159,7 +159,7 @@ $ tsdown
159
159
  ℹ dist/ui/overlays/index.d.ts  0.14 kB │ gzip: 0.09 kB
160
160
  ℹ dist/docs/crm-pipeline.docblock.d.ts  0.01 kB │ gzip: 0.03 kB
161
161
  ℹ dist/docs/index.d.ts  0.01 kB │ gzip: 0.03 kB
162
- ℹ 152 files, total: 373.22 kB
162
+ ℹ 152 files, total: 373.21 kB
163
163
  src/ui/renderers/pipeline.markdown.ts (10:7) [UNRESOLVED_IMPORT] Warning: Could not resolve '@contractspec/example.crm-pipeline/handlers' in src/ui/renderers/pipeline.markdown.ts
164
164
  ╭─[ src/ui/renderers/pipeline.markdown.ts:10:8 ]
165
165
  │
@@ -170,4 +170,4 @@ src/ui/renderers/pipeline.markdown.ts (10:7) [UNRESOLVED_IMPORT] Warning:[
170
170
   │ Help: The "main" field here was ignored. Main fields must be configured explicitly when using the "neutral" platform.
171
171
  ────╯
172
172
 
173
- ✔ Build complete in 37416ms
173
+ ✔ Build complete in 28642ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,46 @@
1
1
  # @contractspec/example.crm-pipeline
2
2
 
3
+ ## 1.54.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ec5e95c: chore: upgrade dependencies
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [ec5e95c]
12
+ - @contractspec/lib.example-shared-ui@1.8.0
13
+ - @contractspec/lib.design-system@1.54.0
14
+ - @contractspec/lib.ui-kit-web@1.54.0
15
+ - @contractspec/lib.contracts@1.54.0
16
+ - @contractspec/lib.identity-rbac@1.54.0
17
+ - @contractspec/lib.runtime-sandbox@0.9.0
18
+ - @contractspec/lib.schema@1.54.0
19
+ - @contractspec/module.audit-trail@1.54.0
20
+ - @contractspec/module.notifications@1.54.0
21
+
22
+ ## 1.53.0
23
+
24
+ ### Minor Changes
25
+
26
+ - f4180d4: fix: performance improvement
27
+
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies [eefeb1b]
31
+ - Updated dependencies [5b371b1]
32
+ - Updated dependencies [f4180d4]
33
+ - Updated dependencies [64d84e1]
34
+ - @contractspec/lib.design-system@1.53.0
35
+ - @contractspec/lib.contracts@1.53.0
36
+ - @contractspec/lib.schema@1.53.0
37
+ - @contractspec/lib.example-shared-ui@1.7.0
38
+ - @contractspec/lib.identity-rbac@1.53.0
39
+ - @contractspec/lib.runtime-sandbox@0.8.0
40
+ - @contractspec/lib.ui-kit-web@1.53.0
41
+ - @contractspec/module.audit-trail@1.53.0
42
+ - @contractspec/module.notifications@1.53.0
43
+
3
44
  ## 1.52.0
4
45
 
5
46
  ### Minor Changes
@@ -84,7 +84,7 @@ const CrmPipelineFeature = defineFeature({
84
84
  version: "1.0.0"
85
85
  },
86
86
  {
87
- key: "crm.deal.list",
87
+ key: "crm.deal.viewList",
88
88
  version: "1.0.0"
89
89
  },
90
90
  {
@@ -131,7 +131,7 @@ const CrmPipelineFeature = defineFeature({
131
131
  targets: ["react", "markdown"]
132
132
  },
133
133
  {
134
- key: "crm.deal.list",
134
+ key: "crm.deal.viewList",
135
135
  version: "1.0.0",
136
136
  targets: [
137
137
  "react",
@@ -1 +1 @@
1
- {"version":3,"file":"crm-pipeline.feature.js","names":[],"sources":["../src/crm-pipeline.feature.ts"],"sourcesContent":["/**\n * CRM Pipeline Feature Module Specification\n *\n * Defines the feature module for CRM and sales pipeline capabilities.\n */\nimport { defineFeature } from '@contractspec/lib.contracts';\n\n/**\n * CRM Pipeline feature module that bundles deal management,\n * pipeline operations, and contact management into an installable feature.\n */\nexport const CrmPipelineFeature = defineFeature({\n meta: {\n key: 'crm-pipeline',\n title: 'CRM Pipeline',\n description:\n 'CRM and sales pipeline management with deals, contacts, and companies',\n domain: 'crm',\n owners: ['@crm-team'],\n tags: ['crm', 'sales', 'pipeline', 'deals'],\n stability: 'experimental',\n version: '1.0.0',\n },\n\n // All contract operations included in this feature\n operations: [\n // Deal operations\n { key: 'crm.deal.create', version: '1.0.0' },\n { key: 'crm.deal.move', version: '1.0.0' },\n { key: 'crm.deal.win', version: '1.0.0' },\n { key: 'crm.deal.lose', version: '1.0.0' },\n { key: 'crm.deal.list', version: '1.0.0' },\n ],\n\n // Events emitted by this feature\n events: [\n // Deal events\n { key: 'deal.created', version: '1.0.0' },\n { key: 'deal.moved', version: '1.0.0' },\n { key: 'deal.won', version: '1.0.0' },\n { key: 'deal.lost', version: '1.0.0' },\n\n // Contact events\n { key: 'contact.created', version: '1.0.0' },\n\n // Task events\n { key: 'task.completed', version: '1.0.0' },\n ],\n\n // Presentations associated with this feature\n presentations: [\n { key: 'crm.dashboard', version: '1.0.0' },\n { key: 'crm.pipeline.kanban', version: '1.0.0' },\n { key: 'crm.deal.list', version: '1.0.0' },\n { key: 'crm.deal.detail', version: '1.0.0' },\n { key: 'crm.deal.card', version: '1.0.0' },\n { key: 'crm.pipeline.metrics', version: '1.0.0' },\n ],\n\n // Link operations to their primary presentations\n opToPresentation: [\n {\n op: { key: 'crm.deal.list', version: '1.0.0' },\n pres: { key: 'crm.pipeline.kanban', version: '1.0.0' },\n },\n {\n op: { key: 'crm.deal.move', version: '1.0.0' },\n pres: { key: 'crm.pipeline.kanban', version: '1.0.0' },\n },\n ],\n\n // Target requirements for multi-surface rendering\n presentationsTargets: [\n { key: 'crm.dashboard', version: '1.0.0', targets: ['react', 'markdown'] },\n {\n key: 'crm.pipeline.kanban',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'crm.deal.list',\n version: '1.0.0',\n targets: ['react', 'markdown', 'application/json'],\n },\n {\n key: 'crm.pipeline.metrics',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n ],\n\n // Capability requirements\n capabilities: {\n requires: [\n { key: 'identity', version: '1.0.0' },\n { key: 'audit-trail', version: '1.0.0' },\n { key: 'notifications', version: '1.0.0' },\n ],\n },\n});\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,qBAAqB,cAAc;CAC9C,MAAM;EACJ,KAAK;EACL,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAO;GAAS;GAAY;GAAQ;EAC3C,WAAW;EACX,SAAS;EACV;CAGD,YAAY;EAEV;GAAE,KAAK;GAAmB,SAAS;GAAS;EAC5C;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAgB,SAAS;GAAS;EACzC;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC3C;CAGD,QAAQ;EAEN;GAAE,KAAK;GAAgB,SAAS;GAAS;EACzC;GAAE,KAAK;GAAc,SAAS;GAAS;EACvC;GAAE,KAAK;GAAY,SAAS;GAAS;EACrC;GAAE,KAAK;GAAa,SAAS;GAAS;EAGtC;GAAE,KAAK;GAAmB,SAAS;GAAS;EAG5C;GAAE,KAAK;GAAkB,SAAS;GAAS;EAC5C;CAGD,eAAe;EACb;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAuB,SAAS;GAAS;EAChD;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAmB,SAAS;GAAS;EAC5C;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAwB,SAAS;GAAS;EAClD;CAGD,kBAAkB,CAChB;EACE,IAAI;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC9C,MAAM;GAAE,KAAK;GAAuB,SAAS;GAAS;EACvD,EACD;EACE,IAAI;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC9C,MAAM;GAAE,KAAK;GAAuB,SAAS;GAAS;EACvD,CACF;CAGD,sBAAsB;EACpB;GAAE,KAAK;GAAiB,SAAS;GAAS,SAAS,CAAC,SAAS,WAAW;GAAE;EAC1E;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS;IAAC;IAAS;IAAY;IAAmB;GACnD;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACF;CAGD,cAAc,EACZ,UAAU;EACR;GAAE,KAAK;GAAY,SAAS;GAAS;EACrC;GAAE,KAAK;GAAe,SAAS;GAAS;EACxC;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC3C,EACF;CACF,CAAC"}
1
+ {"version":3,"file":"crm-pipeline.feature.js","names":[],"sources":["../src/crm-pipeline.feature.ts"],"sourcesContent":["/**\n * CRM Pipeline Feature Module Specification\n *\n * Defines the feature module for CRM and sales pipeline capabilities.\n */\nimport { defineFeature } from '@contractspec/lib.contracts';\n\n/**\n * CRM Pipeline feature module that bundles deal management,\n * pipeline operations, and contact management into an installable feature.\n */\nexport const CrmPipelineFeature = defineFeature({\n meta: {\n key: 'crm-pipeline',\n title: 'CRM Pipeline',\n description:\n 'CRM and sales pipeline management with deals, contacts, and companies',\n domain: 'crm',\n owners: ['@crm-team'],\n tags: ['crm', 'sales', 'pipeline', 'deals'],\n stability: 'experimental',\n version: '1.0.0',\n },\n\n // All contract operations included in this feature\n operations: [\n // Deal operations\n { key: 'crm.deal.create', version: '1.0.0' },\n { key: 'crm.deal.move', version: '1.0.0' },\n { key: 'crm.deal.win', version: '1.0.0' },\n { key: 'crm.deal.lose', version: '1.0.0' },\n { key: 'crm.deal.list', version: '1.0.0' },\n ],\n\n // Events emitted by this feature\n events: [\n // Deal events\n { key: 'deal.created', version: '1.0.0' },\n { key: 'deal.moved', version: '1.0.0' },\n { key: 'deal.won', version: '1.0.0' },\n { key: 'deal.lost', version: '1.0.0' },\n\n // Contact events\n { key: 'contact.created', version: '1.0.0' },\n\n // Task events\n { key: 'task.completed', version: '1.0.0' },\n ],\n\n // Presentations associated with this feature\n presentations: [\n { key: 'crm.dashboard', version: '1.0.0' },\n { key: 'crm.pipeline.kanban', version: '1.0.0' },\n { key: 'crm.deal.viewList', version: '1.0.0' },\n { key: 'crm.deal.detail', version: '1.0.0' },\n { key: 'crm.deal.card', version: '1.0.0' },\n { key: 'crm.pipeline.metrics', version: '1.0.0' },\n ],\n\n // Link operations to their primary presentations\n opToPresentation: [\n {\n op: { key: 'crm.deal.list', version: '1.0.0' },\n pres: { key: 'crm.pipeline.kanban', version: '1.0.0' },\n },\n {\n op: { key: 'crm.deal.move', version: '1.0.0' },\n pres: { key: 'crm.pipeline.kanban', version: '1.0.0' },\n },\n ],\n\n // Target requirements for multi-surface rendering\n presentationsTargets: [\n { key: 'crm.dashboard', version: '1.0.0', targets: ['react', 'markdown'] },\n {\n key: 'crm.pipeline.kanban',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'crm.deal.viewList',\n version: '1.0.0',\n targets: ['react', 'markdown', 'application/json'],\n },\n {\n key: 'crm.pipeline.metrics',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n ],\n\n // Capability requirements\n capabilities: {\n requires: [\n { key: 'identity', version: '1.0.0' },\n { key: 'audit-trail', version: '1.0.0' },\n { key: 'notifications', version: '1.0.0' },\n ],\n },\n});\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,qBAAqB,cAAc;CAC9C,MAAM;EACJ,KAAK;EACL,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAO;GAAS;GAAY;GAAQ;EAC3C,WAAW;EACX,SAAS;EACV;CAGD,YAAY;EAEV;GAAE,KAAK;GAAmB,SAAS;GAAS;EAC5C;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAgB,SAAS;GAAS;EACzC;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC3C;CAGD,QAAQ;EAEN;GAAE,KAAK;GAAgB,SAAS;GAAS;EACzC;GAAE,KAAK;GAAc,SAAS;GAAS;EACvC;GAAE,KAAK;GAAY,SAAS;GAAS;EACrC;GAAE,KAAK;GAAa,SAAS;GAAS;EAGtC;GAAE,KAAK;GAAmB,SAAS;GAAS;EAG5C;GAAE,KAAK;GAAkB,SAAS;GAAS;EAC5C;CAGD,eAAe;EACb;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAuB,SAAS;GAAS;EAChD;GAAE,KAAK;GAAqB,SAAS;GAAS;EAC9C;GAAE,KAAK;GAAmB,SAAS;GAAS;EAC5C;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAwB,SAAS;GAAS;EAClD;CAGD,kBAAkB,CAChB;EACE,IAAI;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC9C,MAAM;GAAE,KAAK;GAAuB,SAAS;GAAS;EACvD,EACD;EACE,IAAI;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC9C,MAAM;GAAE,KAAK;GAAuB,SAAS;GAAS;EACvD,CACF;CAGD,sBAAsB;EACpB;GAAE,KAAK;GAAiB,SAAS;GAAS,SAAS,CAAC,SAAS,WAAW;GAAE;EAC1E;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS;IAAC;IAAS;IAAY;IAAmB;GACnD;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACF;CAGD,cAAc,EACZ,UAAU;EACR;GAAE,KAAK;GAAY,SAAS;GAAS;EACrC;GAAE,KAAK;GAAe,SAAS;GAAS;EACxC;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC3C,EACF;CACF,CAAC"}
@@ -1,8 +1,8 @@
1
- import * as _contractspec_lib_contracts8 from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts10 from "@contractspec/lib.contracts";
2
2
  import * as _contractspec_lib_schema350 from "@contractspec/lib.schema";
3
3
 
4
4
  //#region src/events/contact.event.d.ts
5
- declare const ContactCreatedEvent: _contractspec_lib_contracts8.EventSpec<_contractspec_lib_schema350.SchemaModel<{
5
+ declare const ContactCreatedEvent: _contractspec_lib_contracts10.EventSpec<_contractspec_lib_schema350.SchemaModel<{
6
6
  contactId: {
7
7
  type: _contractspec_lib_schema350.FieldType<string, string>;
8
8
  isOptional: false;
@@ -1 +1 @@
1
- {"version":3,"file":"contact.event.d.ts","names":[],"sources":["../../src/events/contact.event.ts"],"sourcesContent":[],"mappings":";;;;cAoBa,qBAAmB,4BAAA,CAAA,sCAAA;;UAU9B,2BAAA,CAAA;;EAVW,CAAA;EAUX,KAAA,EAAA;;;;;;;EAV8B,CAAA;EAAA,OAAA,EAAA"}
1
+ {"version":3,"file":"contact.event.d.ts","names":[],"sources":["../../src/events/contact.event.ts"],"sourcesContent":[],"mappings":";;;;cAoBa,qBAAmB,6BAAA,CAAA,sCAAA;;UAU9B,2BAAA,CAAA;;EAVW,CAAA;EAUX,KAAA,EAAA;;;;;;;EAV8B,CAAA;EAAA,OAAA,EAAA"}
@@ -1,8 +1,8 @@
1
- import * as _contractspec_lib_contracts9 from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts11 from "@contractspec/lib.contracts";
2
2
  import * as _contractspec_lib_schema356 from "@contractspec/lib.schema";
3
3
 
4
4
  //#region src/events/deal.event.d.ts
5
- declare const DealCreatedEvent: _contractspec_lib_contracts9.EventSpec<_contractspec_lib_schema356.SchemaModel<{
5
+ declare const DealCreatedEvent: _contractspec_lib_contracts11.EventSpec<_contractspec_lib_schema356.SchemaModel<{
6
6
  dealId: {
7
7
  type: _contractspec_lib_schema356.FieldType<string, string>;
8
8
  isOptional: false;
@@ -32,7 +32,7 @@ declare const DealCreatedEvent: _contractspec_lib_contracts9.EventSpec<_contract
32
32
  isOptional: false;
33
33
  };
34
34
  }>>;
35
- declare const DealMovedEvent: _contractspec_lib_contracts9.EventSpec<_contractspec_lib_schema356.SchemaModel<{
35
+ declare const DealMovedEvent: _contractspec_lib_contracts11.EventSpec<_contractspec_lib_schema356.SchemaModel<{
36
36
  dealId: {
37
37
  type: _contractspec_lib_schema356.FieldType<string, string>;
38
38
  isOptional: false;
@@ -54,7 +54,7 @@ declare const DealMovedEvent: _contractspec_lib_contracts9.EventSpec<_contractsp
54
54
  isOptional: false;
55
55
  };
56
56
  }>>;
57
- declare const DealWonEvent: _contractspec_lib_contracts9.EventSpec<_contractspec_lib_schema356.SchemaModel<{
57
+ declare const DealWonEvent: _contractspec_lib_contracts11.EventSpec<_contractspec_lib_schema356.SchemaModel<{
58
58
  dealId: {
59
59
  type: _contractspec_lib_schema356.FieldType<string, string>;
60
60
  isOptional: false;
@@ -84,7 +84,7 @@ declare const DealWonEvent: _contractspec_lib_contracts9.EventSpec<_contractspec
84
84
  isOptional: false;
85
85
  };
86
86
  }>>;
87
- declare const DealLostEvent: _contractspec_lib_contracts9.EventSpec<_contractspec_lib_schema356.SchemaModel<{
87
+ declare const DealLostEvent: _contractspec_lib_contracts11.EventSpec<_contractspec_lib_schema356.SchemaModel<{
88
88
  dealId: {
89
89
  type: _contractspec_lib_schema356.FieldType<string, string>;
90
90
  isOptional: false;
@@ -1 +1 @@
1
- {"version":3,"file":"deal.event.d.ts","names":[],"sources":["../../src/events/deal.event.ts"],"sourcesContent":[],"mappings":";;;;cAyDa,kBAAgB,4BAAA,CAAA,sCAAA;;UAU3B,2BAAA,CAAA;;EAVW,CAAA;EAUX,IAAA,EAAA;;;;;;;;;IAV2B,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAYhB,CAAA;EAUX,OAAA,EAAA;;;;;;;EAVyB,CAAA;EAAA,SAAA,EAAA;IAYd,IAAA,uCAUX,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;cAtBW,gBAAc,4BAAA,CAAA,sCAAA;;UAUzB,2BAAA,CAAA;;;;IAEuB,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAYZ,CAAA;EAUX,SAAA,EAAA;;;;;;;EAVwB,CAAA;EAAA,OAAA,EAAA;;;;;cAZb,cAAY,4BAAA,CAAA,sCAAA;;UAUvB,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEW,eAAa,4BAAA,CAAA,sCAAA;;UAUxB,2BAAA,CAAA"}
1
+ {"version":3,"file":"deal.event.d.ts","names":[],"sources":["../../src/events/deal.event.ts"],"sourcesContent":[],"mappings":";;;;cAyDa,kBAAgB,6BAAA,CAAA,sCAAA;;UAU3B,2BAAA,CAAA;;EAVW,CAAA;EAUX,IAAA,EAAA;;;;;;;;;IAV2B,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAYhB,CAAA;EAUX,OAAA,EAAA;;;;;;;EAVyB,CAAA;EAAA,SAAA,EAAA;IAYd,IAAA,uCAUX,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;cAtBW,gBAAc,6BAAA,CAAA,sCAAA;;UAUzB,2BAAA,CAAA;;;;IAEuB,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAYZ,CAAA;EAUX,SAAA,EAAA;;;;;;;EAVwB,CAAA;EAAA,OAAA,EAAA;;;;;cAZb,cAAY,6BAAA,CAAA,sCAAA;;UAUvB,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEW,eAAa,6BAAA,CAAA,sCAAA;;UAUxB,2BAAA,CAAA"}
@@ -1,8 +1,8 @@
1
- import * as _contractspec_lib_contracts13 from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts19 from "@contractspec/lib.contracts";
2
2
  import * as _contractspec_lib_schema384 from "@contractspec/lib.schema";
3
3
 
4
4
  //#region src/events/task.event.d.ts
5
- declare const TaskCompletedEvent: _contractspec_lib_contracts13.EventSpec<_contractspec_lib_schema384.SchemaModel<{
5
+ declare const TaskCompletedEvent: _contractspec_lib_contracts19.EventSpec<_contractspec_lib_schema384.SchemaModel<{
6
6
  taskId: {
7
7
  type: _contractspec_lib_schema384.FieldType<string, string>;
8
8
  isOptional: false;
@@ -1,14 +1,14 @@
1
- import * as _contractspec_lib_contracts18 from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts8 from "@contractspec/lib.contracts";
2
2
 
3
3
  //#region src/presentations/dashboard.presentation.d.ts
4
4
  /**
5
5
  * Main CRM dashboard presentation.
6
6
  */
7
- declare const CrmDashboardPresentation: _contractspec_lib_contracts18.PresentationSpec;
7
+ declare const CrmDashboardPresentation: _contractspec_lib_contracts8.PresentationSpec;
8
8
  /**
9
9
  * Pipeline metrics presentation.
10
10
  */
11
- declare const PipelineMetricsPresentation: _contractspec_lib_contracts18.PresentationSpec;
11
+ declare const PipelineMetricsPresentation: _contractspec_lib_contracts8.PresentationSpec;
12
12
  //#endregion
13
13
  export { CrmDashboardPresentation, PipelineMetricsPresentation };
14
14
  //# sourceMappingURL=dashboard.presentation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.presentation.d.ts","names":[],"sources":["../../src/presentations/dashboard.presentation.ts"],"sourcesContent":[],"mappings":";;;;;;AAQa,cAAA,wBAuBX,EAAA,6BAAA,CAvBmC,gBAuBnC;AAKF;;;cAAa,6BAsBX,6BAAA,CAtBsC"}
1
+ {"version":3,"file":"dashboard.presentation.d.ts","names":[],"sources":["../../src/presentations/dashboard.presentation.ts"],"sourcesContent":[],"mappings":";;;;;;AAQa,cAAA,wBAuBX,EAAA,4BAAA,CAvBmC,gBAuBnC;AAKF;;;cAAa,6BAsBX,4BAAA,CAtBsC"}
@@ -1,22 +1,22 @@
1
- import * as _contractspec_lib_contracts14 from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts15 from "@contractspec/lib.contracts";
2
2
 
3
3
  //#region src/presentations/pipeline.presentation.d.ts
4
4
  /**
5
5
  * Kanban board presentation for the sales pipeline.
6
6
  */
7
- declare const PipelineKanbanPresentation: _contractspec_lib_contracts14.PresentationSpec;
7
+ declare const PipelineKanbanPresentation: _contractspec_lib_contracts15.PresentationSpec;
8
8
  /**
9
9
  * List view of deals with filtering.
10
10
  */
11
- declare const DealListPresentation: _contractspec_lib_contracts14.PresentationSpec;
11
+ declare const DealListPresentation: _contractspec_lib_contracts15.PresentationSpec;
12
12
  /**
13
13
  * Deal detail presentation.
14
14
  */
15
- declare const DealDetailPresentation: _contractspec_lib_contracts14.PresentationSpec;
15
+ declare const DealDetailPresentation: _contractspec_lib_contracts15.PresentationSpec;
16
16
  /**
17
17
  * Deal card for kanban board.
18
18
  */
19
- declare const DealCardPresentation: _contractspec_lib_contracts14.PresentationSpec;
19
+ declare const DealCardPresentation: _contractspec_lib_contracts15.PresentationSpec;
20
20
  //#endregion
21
21
  export { DealCardPresentation, DealDetailPresentation, DealListPresentation, PipelineKanbanPresentation };
22
22
  //# sourceMappingURL=pipeline.presentation.d.ts.map
@@ -39,7 +39,7 @@ const PipelineKanbanPresentation = definePresentation({
39
39
  */
40
40
  const DealListPresentation = definePresentation({
41
41
  meta: {
42
- key: "crm.deal.list",
42
+ key: "crm.deal.viewList",
43
43
  version: "1.0.0",
44
44
  title: "Deal List",
45
45
  description: "List view of deals with value, status, and owner info",
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.presentation.js","names":[],"sources":["../../src/presentations/pipeline.presentation.ts"],"sourcesContent":["/**\n * Pipeline Presentation Descriptors\n */\nimport { definePresentation, StabilityEnum } from '@contractspec/lib.contracts';\nimport { DealModel } from '../deal/deal.schema';\n\n/**\n * Kanban board presentation for the sales pipeline.\n */\nexport const PipelineKanbanPresentation = definePresentation({\n meta: {\n key: 'crm.pipeline.kanban',\n version: '1.0.0',\n title: 'Pipeline Kanban',\n description: 'Kanban board view of deals organized by stage',\n domain: 'crm-pipeline',\n owners: ['@crm-team'],\n tags: ['pipeline', 'kanban', 'deals'],\n stability: StabilityEnum.Experimental,\n goal: 'Visualize the sales pipeline status and deal distribution across stages.',\n context: 'Used in the sales dashboard and management reports.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'PipelineKanbanView',\n props: DealModel,\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['crm.pipeline.enabled'],\n },\n});\n\n/**\n * List view of deals with filtering.\n */\nexport const DealListPresentation = definePresentation({\n meta: {\n key: 'crm.deal.list',\n version: '1.0.0',\n title: 'Deal List',\n description: 'List view of deals with value, status, and owner info',\n domain: 'crm-pipeline',\n owners: ['@crm-team'],\n tags: ['deal', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Search, filter, and review deal lists.',\n context: 'Standard view for deal management and bulk actions.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'DealListView',\n props: DealModel,\n },\n targets: ['react', 'markdown', 'application/json'],\n policy: {\n flags: ['crm.deals.enabled'],\n },\n});\n\n/**\n * Deal detail presentation.\n */\nexport const DealDetailPresentation = definePresentation({\n meta: {\n key: 'crm.deal.detail',\n version: '1.0.0',\n title: 'Deal Details',\n description:\n 'Detailed view of a deal with activities, contacts, and history',\n domain: 'crm-pipeline',\n owners: ['@crm-team'],\n tags: ['deal', 'detail'],\n stability: StabilityEnum.Experimental,\n goal: 'Deep dive into deal details and historical activities.',\n context: 'The main workspace for managing a single deal execution.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'DealDetailView',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['crm.deals.enabled'],\n },\n});\n\n/**\n * Deal card for kanban board.\n */\nexport const DealCardPresentation = definePresentation({\n meta: {\n key: 'crm.deal.card',\n version: '1.0.0',\n title: 'Deal Card',\n description: 'Compact deal card for kanban board display',\n domain: 'crm-pipeline',\n owners: ['@crm-team'],\n tags: ['deal', 'card', 'kanban'],\n stability: StabilityEnum.Experimental,\n goal: 'Provide a quick overview of deal status in the pipeline view.',\n context: 'Condensed representation used within the Pipeline Kanban board.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'DealCard',\n props: DealModel,\n },\n targets: ['react'],\n policy: {\n flags: ['crm.deals.enabled'],\n },\n});\n"],"mappings":";;;;;;;;;;AASA,MAAa,6BAA6B,mBAAmB;CAC3D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAY;GAAU;GAAQ;EACrC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF,CAAC;;;;AAKF,MAAa,uBAAuB,mBAAmB;CACrD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM,CAAC,QAAQ,OAAO;EACtB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS;EAAC;EAAS;EAAY;EAAmB;CAClD,QAAQ,EACN,OAAO,CAAC,oBAAoB,EAC7B;CACF,CAAC;;;;AAKF,MAAa,yBAAyB,mBAAmB;CACvD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM,CAAC,QAAQ,SAAS;EACxB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,oBAAoB,EAC7B;CACF,CAAC;;;;AAKF,MAAa,uBAAuB,mBAAmB;CACrD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAQ;GAAQ;GAAS;EAChC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS,CAAC,QAAQ;CAClB,QAAQ,EACN,OAAO,CAAC,oBAAoB,EAC7B;CACF,CAAC"}
1
+ {"version":3,"file":"pipeline.presentation.js","names":[],"sources":["../../src/presentations/pipeline.presentation.ts"],"sourcesContent":["/**\n * Pipeline Presentation Descriptors\n */\nimport { definePresentation, StabilityEnum } from '@contractspec/lib.contracts';\nimport { DealModel } from '../deal/deal.schema';\n\n/**\n * Kanban board presentation for the sales pipeline.\n */\nexport const PipelineKanbanPresentation = definePresentation({\n meta: {\n key: 'crm.pipeline.kanban',\n version: '1.0.0',\n title: 'Pipeline Kanban',\n description: 'Kanban board view of deals organized by stage',\n domain: 'crm-pipeline',\n owners: ['@crm-team'],\n tags: ['pipeline', 'kanban', 'deals'],\n stability: StabilityEnum.Experimental,\n goal: 'Visualize the sales pipeline status and deal distribution across stages.',\n context: 'Used in the sales dashboard and management reports.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'PipelineKanbanView',\n props: DealModel,\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['crm.pipeline.enabled'],\n },\n});\n\n/**\n * List view of deals with filtering.\n */\nexport const DealListPresentation = definePresentation({\n meta: {\n key: 'crm.deal.viewList',\n version: '1.0.0',\n title: 'Deal List',\n description: 'List view of deals with value, status, and owner info',\n domain: 'crm-pipeline',\n owners: ['@crm-team'],\n tags: ['deal', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Search, filter, and review deal lists.',\n context: 'Standard view for deal management and bulk actions.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'DealListView',\n props: DealModel,\n },\n targets: ['react', 'markdown', 'application/json'],\n policy: {\n flags: ['crm.deals.enabled'],\n },\n});\n\n/**\n * Deal detail presentation.\n */\nexport const DealDetailPresentation = definePresentation({\n meta: {\n key: 'crm.deal.detail',\n version: '1.0.0',\n title: 'Deal Details',\n description:\n 'Detailed view of a deal with activities, contacts, and history',\n domain: 'crm-pipeline',\n owners: ['@crm-team'],\n tags: ['deal', 'detail'],\n stability: StabilityEnum.Experimental,\n goal: 'Deep dive into deal details and historical activities.',\n context: 'The main workspace for managing a single deal execution.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'DealDetailView',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['crm.deals.enabled'],\n },\n});\n\n/**\n * Deal card for kanban board.\n */\nexport const DealCardPresentation = definePresentation({\n meta: {\n key: 'crm.deal.card',\n version: '1.0.0',\n title: 'Deal Card',\n description: 'Compact deal card for kanban board display',\n domain: 'crm-pipeline',\n owners: ['@crm-team'],\n tags: ['deal', 'card', 'kanban'],\n stability: StabilityEnum.Experimental,\n goal: 'Provide a quick overview of deal status in the pipeline view.',\n context: 'Condensed representation used within the Pipeline Kanban board.',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'DealCard',\n props: DealModel,\n },\n targets: ['react'],\n policy: {\n flags: ['crm.deals.enabled'],\n },\n});\n"],"mappings":";;;;;;;;;;AASA,MAAa,6BAA6B,mBAAmB;CAC3D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAY;GAAU;GAAQ;EACrC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF,CAAC;;;;AAKF,MAAa,uBAAuB,mBAAmB;CACrD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM,CAAC,QAAQ,OAAO;EACtB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS;EAAC;EAAS;EAAY;EAAmB;CAClD,QAAQ,EACN,OAAO,CAAC,oBAAoB,EAC7B;CACF,CAAC;;;;AAKF,MAAa,yBAAyB,mBAAmB;CACvD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM,CAAC,QAAQ,SAAS;EACxB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,oBAAoB,EAC7B;CACF,CAAC;;;;AAKF,MAAa,uBAAuB,mBAAmB;CACrD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAQ;GAAQ;GAAS;EAChC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS,CAAC,QAAQ;CAClB,QAAQ,EACN,OAAO,CAAC,oBAAoB,EAC7B;CACF,CAAC"}
@@ -1,7 +1,7 @@
1
- import * as react_jsx_runtime3 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/ui/CrmDashboard.d.ts
4
- declare function CrmDashboard(): react_jsx_runtime3.JSX.Element;
4
+ declare function CrmDashboard(): react_jsx_runtime0.JSX.Element;
5
5
  //#endregion
6
6
  export { CrmDashboard };
7
7
  //# sourceMappingURL=CrmDashboard.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { Deal } from "./hooks/useDealList.js";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/ui/CrmPipelineBoard.d.ts
5
5
  interface CrmPipelineBoardProps {
@@ -17,7 +17,7 @@ declare function CrmPipelineBoard({
17
17
  stages,
18
18
  onDealClick,
19
19
  onDealMove
20
- }: CrmPipelineBoardProps): react_jsx_runtime0.JSX.Element;
20
+ }: CrmPipelineBoardProps): react_jsx_runtime1.JSX.Element;
21
21
  //#endregion
22
22
  export { CrmPipelineBoard };
23
23
  //# sourceMappingURL=CrmPipelineBoard.d.ts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime1 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/ui/modals/CreateDealModal.d.ts
4
4
  interface CreateDealInput {
@@ -27,7 +27,7 @@ declare function CreateDealModal({
27
27
  onSubmit,
28
28
  stages,
29
29
  isLoading
30
- }: CreateDealModalProps): react_jsx_runtime1.JSX.Element | null;
30
+ }: CreateDealModalProps): react_jsx_runtime2.JSX.Element | null;
31
31
  //#endregion
32
32
  export { CreateDealInput, CreateDealModal };
33
33
  //# sourceMappingURL=CreateDealModal.d.ts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime2 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/ui/modals/DealActionsModal.d.ts
4
4
  interface Deal {
@@ -45,7 +45,7 @@ declare function DealActionsModal({
45
45
  onLose,
46
46
  onMove,
47
47
  isLoading
48
- }: DealActionsModalProps): react_jsx_runtime2.JSX.Element | null;
48
+ }: DealActionsModalProps): react_jsx_runtime3.JSX.Element | null;
49
49
  //#endregion
50
50
  export { Deal, DealActionsModal, LoseDealInput, MoveDealInput, WinDealInput };
51
51
  //# sourceMappingURL=DealActionsModal.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/example.crm-pipeline",
3
- "version": "1.52.0",
3
+ "version": "1.54.0",
4
4
  "description": "CRM Pipeline - Contacts, Companies, Deals, Tasks",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -63,24 +63,24 @@
63
63
  "lint:fix": "eslint src --fix",
64
64
  "lint:check": "eslint src",
65
65
  "test": "bun test",
66
- "validate": "contractspec validate"
66
+ "validate": "contractspec validate \"src/**/*\""
67
67
  },
68
68
  "dependencies": {
69
- "@contractspec/lib.contracts": "1.52.0",
70
- "@contractspec/lib.design-system": "1.52.0",
71
- "@contractspec/lib.example-shared-ui": "1.6.0",
72
- "@contractspec/lib.identity-rbac": "1.52.0",
73
- "@contractspec/lib.runtime-sandbox": "0.7.0",
74
- "@contractspec/lib.schema": "1.52.0",
75
- "@contractspec/lib.ui-kit-web": "1.52.0",
76
- "@contractspec/module.audit-trail": "1.52.0",
77
- "@contractspec/module.notifications": "1.52.0",
78
- "react": "19.2.3",
79
- "react-dom": "19.2.3"
69
+ "@contractspec/lib.contracts": "1.54.0",
70
+ "@contractspec/lib.design-system": "1.54.0",
71
+ "@contractspec/lib.example-shared-ui": "1.8.0",
72
+ "@contractspec/lib.identity-rbac": "1.54.0",
73
+ "@contractspec/lib.runtime-sandbox": "0.9.0",
74
+ "@contractspec/lib.schema": "1.54.0",
75
+ "@contractspec/lib.ui-kit-web": "1.54.0",
76
+ "@contractspec/module.audit-trail": "1.54.0",
77
+ "@contractspec/module.notifications": "1.54.0",
78
+ "react": "19.2.4",
79
+ "react-dom": "19.2.4"
80
80
  },
81
81
  "devDependencies": {
82
- "@contractspec/tool.tsdown": "1.52.0",
83
- "@contractspec/tool.typescript": "1.52.0",
82
+ "@contractspec/tool.tsdown": "1.54.0",
83
+ "@contractspec/tool.typescript": "1.54.0",
84
84
  "tsdown": "^0.19.0",
85
85
  "typescript": "^5.9.3",
86
86
  "@types/react": "^19.2.8",
@@ -51,7 +51,7 @@ export const CrmPipelineFeature = defineFeature({
51
51
  presentations: [
52
52
  { key: 'crm.dashboard', version: '1.0.0' },
53
53
  { key: 'crm.pipeline.kanban', version: '1.0.0' },
54
- { key: 'crm.deal.list', version: '1.0.0' },
54
+ { key: 'crm.deal.viewList', version: '1.0.0' },
55
55
  { key: 'crm.deal.detail', version: '1.0.0' },
56
56
  { key: 'crm.deal.card', version: '1.0.0' },
57
57
  { key: 'crm.pipeline.metrics', version: '1.0.0' },
@@ -78,7 +78,7 @@ export const CrmPipelineFeature = defineFeature({
78
78
  targets: ['react', 'markdown'],
79
79
  },
80
80
  {
81
- key: 'crm.deal.list',
81
+ key: 'crm.deal.viewList',
82
82
  version: '1.0.0',
83
83
  targets: ['react', 'markdown', 'application/json'],
84
84
  },
@@ -37,7 +37,7 @@ export const PipelineKanbanPresentation = definePresentation({
37
37
  */
38
38
  export const DealListPresentation = definePresentation({
39
39
  meta: {
40
- key: 'crm.deal.list',
40
+ key: 'crm.deal.viewList',
41
41
  version: '1.0.0',
42
42
  title: 'Deal List',
43
43
  description: 'List view of deals with value, status, and owner info',