@contractspec/example.crm-pipeline 0.0.0-canary-20260114030712 → 0.0.0-canary-20260119224109

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.
@@ -15,10 +15,10 @@ $ tsdown
15
15
  ℹ dist/index.js  4.75 kB │ gzip: 1.15 kB
16
16
  ℹ dist/handlers/mock-data.js  4.50 kB │ gzip: 1.09 kB
17
17
  ℹ dist/ui/renderers/pipeline.markdown.js  4.48 kB │ gzip: 1.34 kB
18
+ ℹ dist/docs/crm-pipeline.docblock.js  4.36 kB │ gzip: 1.75 kB
18
19
  ℹ dist/ui/CrmPipelineBoard.js  3.88 kB │ gzip: 1.39 kB
19
20
  ℹ dist/events/deal.event.js  3.77 kB │ gzip: 0.67 kB
20
21
  ℹ dist/handlers/deal.handlers.js  3.73 kB │ gzip: 1.06 kB
21
- ℹ dist/docs/crm-pipeline.docblock.js  3.60 kB │ gzip: 1.44 kB
22
22
  ℹ dist/entities/deal.entity.js  3.56 kB │ gzip: 1.05 kB
23
23
  ℹ dist/ui/hooks/useDealMutations.js  3.49 kB │ gzip: 0.80 kB
24
24
  ℹ dist/entities/task.entity.js  3.41 kB │ gzip: 0.98 kB
@@ -64,9 +64,9 @@ $ tsdown
64
64
  ℹ dist/entities/deal.entity.js.map  6.68 kB │ gzip: 1.76 kB
65
65
  ℹ dist/entities/task.entity.js.map  6.10 kB │ gzip: 1.56 kB
66
66
  ℹ dist/events/deal.event.js.map  5.88 kB │ gzip: 1.02 kB
67
+ ℹ dist/docs/crm-pipeline.docblock.js.map  5.26 kB │ gzip: 1.97 kB
67
68
  ℹ dist/ui/hooks/useDealList.js.map  4.93 kB │ gzip: 1.83 kB
68
69
  ℹ dist/presentations/pipeline.presentation.js.map  4.69 kB │ gzip: 1.22 kB
69
- ℹ dist/docs/crm-pipeline.docblock.js.map  4.46 kB │ gzip: 1.65 kB
70
70
  ℹ dist/crm-pipeline.feature.js.map  4.43 kB │ gzip: 1.20 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
@@ -114,15 +114,15 @@ $ tsdown
114
114
  ℹ dist/seeders/index.d.ts.map  0.16 kB │ gzip: 0.14 kB
115
115
  ℹ dist/entities/index.d.ts.map  0.15 kB │ gzip: 0.13 kB
116
116
  ℹ dist/example.d.ts.map  0.14 kB │ gzip: 0.13 kB
117
- ℹ dist/deal/deal.operation.d.ts 14.13 kB │ gzip: 0.97 kB
117
+ ℹ dist/deal/deal.operation.d.ts 14.01 kB │ gzip: 0.97 kB
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
- ℹ dist/entities/deal.entity.d.ts  3.49 kB │ gzip: 0.55 kB
120
+ ℹ dist/entities/deal.entity.d.ts  3.54 kB │ gzip: 0.56 kB
121
121
  ℹ dist/events/deal.event.d.ts  3.31 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
125
- ℹ dist/entities/contact.entity.d.ts  2.10 kB │ gzip: 0.45 kB
125
+ ℹ dist/entities/contact.entity.d.ts  2.16 kB │ gzip: 0.45 kB
126
126
  ℹ dist/entities/company.entity.d.ts  1.91 kB │ gzip: 0.42 kB
127
127
  ℹ dist/ui/modals/DealActionsModal.d.ts  1.14 kB │ gzip: 0.48 kB
128
128
  ℹ dist/ui/index.d.ts  1.11 kB │ gzip: 0.31 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: 371.64 kB
161
+ ℹ 152 files, total: 373.18 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 35746ms
172
+ ✔ Build complete in 34218ms
@@ -16,10 +16,10 @@ $ tsdown
16
16
  ℹ dist/index.js  4.75 kB │ gzip: 1.15 kB
17
17
  ℹ dist/handlers/mock-data.js  4.50 kB │ gzip: 1.09 kB
18
18
  ℹ dist/ui/renderers/pipeline.markdown.js  4.48 kB │ gzip: 1.34 kB
19
+ ℹ dist/docs/crm-pipeline.docblock.js  4.36 kB │ gzip: 1.75 kB
19
20
  ℹ dist/ui/CrmPipelineBoard.js  3.88 kB │ gzip: 1.39 kB
20
21
  ℹ dist/events/deal.event.js  3.77 kB │ gzip: 0.67 kB
21
22
  ℹ dist/handlers/deal.handlers.js  3.73 kB │ gzip: 1.06 kB
22
- ℹ dist/docs/crm-pipeline.docblock.js  3.60 kB │ gzip: 1.44 kB
23
23
  ℹ dist/entities/deal.entity.js  3.56 kB │ gzip: 1.05 kB
24
24
  ℹ dist/ui/hooks/useDealMutations.js  3.49 kB │ gzip: 0.80 kB
25
25
  ℹ dist/entities/task.entity.js  3.41 kB │ gzip: 0.98 kB
@@ -65,9 +65,9 @@ $ tsdown
65
65
  ℹ dist/entities/deal.entity.js.map  6.68 kB │ gzip: 1.76 kB
66
66
  ℹ dist/entities/task.entity.js.map  6.10 kB │ gzip: 1.56 kB
67
67
  ℹ dist/events/deal.event.js.map  5.88 kB │ gzip: 1.02 kB
68
+ ℹ dist/docs/crm-pipeline.docblock.js.map  5.26 kB │ gzip: 1.97 kB
68
69
  ℹ dist/ui/hooks/useDealList.js.map  4.93 kB │ gzip: 1.83 kB
69
70
  ℹ dist/presentations/pipeline.presentation.js.map  4.69 kB │ gzip: 1.22 kB
70
- ℹ dist/docs/crm-pipeline.docblock.js.map  4.46 kB │ gzip: 1.65 kB
71
71
  ℹ dist/crm-pipeline.feature.js.map  4.43 kB │ gzip: 1.20 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
@@ -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: 371.63 kB
162
+ ℹ 152 files, total: 373.18 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 35905ms
173
+ ✔ Build complete in 27937ms
package/CHANGELOG.md CHANGED
@@ -1,6 +1,38 @@
1
1
  # @contractspec/example.crm-pipeline
2
2
 
3
- ## 0.0.0-canary-20260114030712
3
+ ## 0.0.0-canary-20260119224109
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [c560ee7]
8
+ - Updated dependencies [1536bf3]
9
+ - @contractspec/lib.design-system@0.0.0-canary-20260119224109
10
+ - @contractspec/lib.contracts@0.0.0-canary-20260119224109
11
+ - @contractspec/lib.example-shared-ui@0.0.0-canary-20260119224109
12
+ - @contractspec/lib.identity-rbac@0.0.0-canary-20260119224109
13
+ - @contractspec/module.audit-trail@0.0.0-canary-20260119224109
14
+ - @contractspec/module.notifications@0.0.0-canary-20260119224109
15
+
16
+ ## 1.48.0
17
+
18
+ ### Minor Changes
19
+
20
+ - b0444a4: feat: reduce adoption's friction by allowing generation of contracts from an analyse of the codebase
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [b0444a4]
25
+ - @contractspec/lib.example-shared-ui@1.2.0
26
+ - @contractspec/module.notifications@1.48.0
27
+ - @contractspec/lib.runtime-sandbox@0.3.0
28
+ - @contractspec/module.audit-trail@1.48.0
29
+ - @contractspec/lib.design-system@1.48.0
30
+ - @contractspec/lib.identity-rbac@1.48.0
31
+ - @contractspec/lib.ui-kit-web@1.48.0
32
+ - @contractspec/lib.contracts@1.48.0
33
+ - @contractspec/lib.schema@1.48.0
34
+
35
+ ## 1.47.0
4
36
 
5
37
  ### Minor Changes
6
38
 
@@ -19,15 +51,15 @@
19
51
  - Updated dependencies [c231a8b]
20
52
  - Updated dependencies [42b8d78]
21
53
  - Updated dependencies [fd38e85]
22
- - @contractspec/lib.example-shared-ui@0.0.0-canary-20260114030712
23
- - @contractspec/module.notifications@0.0.0-canary-20260114030712
24
- - @contractspec/lib.runtime-sandbox@0.0.0-canary-20260114030712
25
- - @contractspec/module.audit-trail@0.0.0-canary-20260114030712
26
- - @contractspec/lib.design-system@0.0.0-canary-20260114030712
27
- - @contractspec/lib.identity-rbac@0.0.0-canary-20260114030712
28
- - @contractspec/lib.ui-kit-web@0.0.0-canary-20260114030712
29
- - @contractspec/lib.contracts@0.0.0-canary-20260114030712
30
- - @contractspec/lib.schema@0.0.0-canary-20260114030712
54
+ - @contractspec/lib.example-shared-ui@1.1.0
55
+ - @contractspec/module.notifications@1.47.0
56
+ - @contractspec/lib.runtime-sandbox@0.2.0
57
+ - @contractspec/module.audit-trail@1.47.0
58
+ - @contractspec/lib.design-system@1.47.0
59
+ - @contractspec/lib.identity-rbac@1.47.0
60
+ - @contractspec/lib.ui-kit-web@1.47.0
61
+ - @contractspec/lib.contracts@1.47.0
62
+ - @contractspec/lib.schema@1.47.0
31
63
 
32
64
  ## 1.46.2
33
65
 
package/README.md CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  Website: https://contractspec.io/
4
4
 
5
-
6
5
  A complete CRM (Customer Relationship Management) application demonstrating ContractSpec principles.
7
6
 
8
7
  ## What's Included
@@ -116,14 +115,14 @@ const StageEntity = defineEntity({
116
115
 
117
116
  ## Events
118
117
 
119
- | Event | Description |
120
- |-------|-------------|
121
- | contact.created | New contact added |
122
- | deal.created | New deal created |
123
- | deal.moved | Deal moved to new stage |
124
- | deal.won | Deal marked as won |
125
- | deal.lost | Deal marked as lost |
126
- | task.completed | Task marked complete |
118
+ | Event | Description |
119
+ | --------------- | ----------------------- |
120
+ | contact.created | New contact added |
121
+ | deal.created | New deal created |
122
+ | deal.moved | Deal moved to new stage |
123
+ | deal.won | Deal marked as won |
124
+ | deal.lost | Deal marked as lost |
125
+ | task.completed | Task marked complete |
127
126
 
128
127
  ## Usage
129
128
 
@@ -137,3 +136,24 @@ This example is registered as `crm-pipeline` in the ContractSpec Studio.
137
136
  npx degit lssm/contractspec/packages/examples/crm-pipeline my-crm-app
138
137
  ```
139
138
 
139
+ ## Adoption narrative
140
+
141
+ ### Before
142
+
143
+ - A CRM app with hand-written data models and handler logic.
144
+ - Pipeline stage rules live in code and drift across UI/API/events.
145
+ - Regeneration is risky because specs and implementations are not aligned.
146
+
147
+ ### After
148
+
149
+ - Contracts define deals, stages, and tasks as the source of truth.
150
+ - Regeneration keeps UI/API/events in sync when stages change.
151
+ - Compliance surfaces (audits, notifications) stay consistent with specs.
152
+
153
+ ### Minimal adoption steps
154
+
155
+ 1. Add ContractSpec CLI and core libraries.
156
+ 2. Define one operation (for example, `deal/create`).
157
+ 3. Run `contractspec build` to generate handlers and types.
158
+ 4. Wire the generated handler into your existing router.
159
+ 5. Expand to events and presentations as you add surface areas.
@@ -1,14 +1,14 @@
1
- import * as _contractspec_lib_schema31 from "@contractspec/lib.schema";
1
+ import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
2
2
 
3
3
  //#region src/deal/deal.enum.d.ts
4
4
  /**
5
5
  * Deal status enum.
6
6
  */
7
- declare const DealStatusEnum: _contractspec_lib_schema31.EnumType<[string, string, string, string]>;
7
+ declare const DealStatusEnum: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
8
8
  /**
9
9
  * Deal status filter enum.
10
10
  */
11
- declare const DealStatusFilterEnum: _contractspec_lib_schema31.EnumType<[string, string, string, string]>;
11
+ declare const DealStatusFilterEnum: _contractspec_lib_schema0.EnumType<[string, string, string, string]>;
12
12
  //#endregion
13
13
  export { DealStatusEnum, DealStatusFilterEnum };
14
14
  //# sourceMappingURL=deal.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deal.enum.d.ts","names":[],"sources":["../../src/deal/deal.enum.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,cAKX,EAAA,0BAAA,CALyB,QAAA,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAU3B;;;cAAa,sBAKX,0BAAA,CAL+B"}
1
+ {"version":3,"file":"deal.enum.d.ts","names":[],"sources":["../../src/deal/deal.enum.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,cAKX,EAAA,yBAAA,CALyB,QAAA,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAU3B;;;cAAa,sBAKX,yBAAA,CAL+B"}