@contractspec/example.learning-journey-platform-tour 3.7.6 → 3.7.10

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.
@@ -3,7 +3,7 @@ $ bun run prebuild && bun run build:bundle && bun run build:types
3
3
  $ contractspec-bun-build prebuild
4
4
  $ contractspec-bun-build transpile
5
5
  [contractspec-bun-build] transpile target=bun root=src entries=10 noBundle=false
6
- Bundled 10 modules in 40ms
6
+ Bundled 10 modules in 20ms
7
7
 
8
8
  docs/index.js 1.61 KB (entry point)
9
9
  tests/operations.test-spec.js 0.91 KB (entry point)
@@ -17,7 +17,7 @@ Bundled 10 modules in 40ms
17
17
  ./track.js 3.1 KB (entry point)
18
18
 
19
19
  [contractspec-bun-build] transpile target=node root=src entries=10 noBundle=false
20
- Bundled 10 modules in 44ms
20
+ Bundled 10 modules in 34ms
21
21
 
22
22
  docs/index.js 1.58 KB (entry point)
23
23
  tests/operations.test-spec.js 0.90 KB (entry point)
@@ -31,7 +31,7 @@ Bundled 10 modules in 44ms
31
31
  ./track.js 3.1 KB (entry point)
32
32
 
33
33
  [contractspec-bun-build] transpile target=browser root=src entries=10 noBundle=false
34
- Bundled 10 modules in 42ms
34
+ Bundled 10 modules in 12ms
35
35
 
36
36
  docs/index.js 1.58 KB (entry point)
37
37
  tests/operations.test-spec.js 0.90 KB (entry point)
package/AGENTS.md CHANGED
@@ -1,35 +1,57 @@
1
- # AI Agent Guide -- `@contractspec/example.learning-journey-platform-tour`
1
+ # AI Agent Guide `@contractspec/example.learning-journey-platform-tour`
2
2
 
3
3
  Scope: `packages/examples/learning-journey-platform-tour/*`
4
4
 
5
- Demonstrates a guided tour of ContractSpec platform primitives as a learning journey track.
5
+ Learning journey track covering ContractSpec platform primitives.
6
6
 
7
7
  ## Quick Context
8
8
 
9
- - **Layer**: example
10
- - **Related Packages**: `module.learning-journey`, `lib.contracts-spec`, `lib.schema`
11
-
12
- ## What This Demonstrates
13
-
14
- - Platform primitives tour with step-by-step guidance
15
- - Feature definition with operations, presentations, and test-specs
16
- - Demo handlers for simulated tour flow
17
- - Interactive exploration of ContractSpec concepts
18
-
19
- ## Public Exports
20
-
21
- - `.` -- root barrel
22
- - `./learning-journey-platform-tour.feature` -- feature definition
23
- - `./operations` -- tour operations
24
- - `./presentations` -- step presentations
25
- - `./handlers/demo.handlers` -- demo handlers
26
- - `./tests/operations.test-spec` -- operation test specifications
27
- - `./track` -- platform tour track definition
28
- - `./docs` -- DocBlock documentation
29
- - `./example` -- runnable example entry point
9
+ - Layer: `example`.
10
+ - Package visibility: published package.
11
+ - Primary consumers are example explorers, template authors, and documentation readers.
12
+ - Related packages: `@contractspec/lib.contracts-spec`, `@contractspec/lib.schema`, `@contractspec/module.learning-journey`, `@contractspec/tool.bun`, `@contractspec/tool.typescript`.
13
+
14
+ ## Architecture
15
+
16
+ - `src/docs/` contains docblocks and documentation-facing exports.
17
+ - `src/example.ts` is the runnable example entrypoint.
18
+ - `src/handlers/` contains handlers or demo adapters wired to contract surfaces.
19
+ - `src/index.ts` is the root public barrel and package entrypoint.
20
+ - `src/learning-journey-platform-tour.feature.ts` defines a feature entrypoint.
21
+ - `src/operations` is part of the package's public or composition surface.
22
+ - `src/presentations` is part of the package's public or composition surface.
23
+
24
+ ## Public Surface
25
+
26
+ - Export `.` resolves through `./src/index.ts`.
27
+ - Export `./docs` resolves through `./src/docs/index.ts`.
28
+ - Export `./docs/platform-tour.docblock` resolves through `./src/docs/platform-tour.docblock.ts`.
29
+ - Export `./example` resolves through `./src/example.ts`.
30
+ - Export `./handlers/demo.handlers` resolves through `./src/handlers/demo.handlers.ts`.
31
+ - Export `./learning-journey-platform-tour.feature` resolves through `./src/learning-journey-platform-tour.feature.ts`.
32
+ - Export `./operations` resolves through `./src/operations/index.ts`.
33
+ - Export `./presentations` resolves through `./src/presentations/index.ts`.
34
+ - Export `./tests/operations.test-spec` resolves through `./src/tests/operations.test-spec.ts`.
35
+ - Export `./track` resolves through `./src/track.ts`.
36
+
37
+ ## Guardrails
38
+
39
+ - Keep the example package demonstrative, buildable, and aligned with the exported feature surface.
40
+ - Do not add hidden production assumptions that are not actually implemented in the example.
41
+ - Changes here can affect downstream packages such as `@contractspec/lib.contracts-spec`, `@contractspec/lib.schema`, `@contractspec/module.learning-journey`, `@contractspec/tool.bun`, `@contractspec/tool.typescript`.
42
+ - Changes here can affect downstream packages such as `@contractspec/lib.contracts-spec`, `@contractspec/lib.schema`, `@contractspec/module.learning-journey`, `@contractspec/tool.bun`, `@contractspec/tool.typescript`.
30
43
 
31
44
  ## Local Commands
32
45
 
33
- - Build: `bun run build`
34
- - Dev: `bun run dev`
35
- - Typecheck: `bun run typecheck`
46
+ - `bun run dev` — contractspec-bun-build dev
47
+ - `bun run build`bun run prebuild && bun run build:bundle && bun run build:types
48
+ - `bun run lint` — bun lint:fix
49
+ - `bun run lint:check` — biome check .
50
+ - `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .
51
+ - `bun run typecheck` — tsc --noEmit
52
+ - `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose
53
+ - `bun run publish:pkg:canary` — bun publish:pkg --tag canary
54
+ - `bun run clean` — rimraf dist .turbo
55
+ - `bun run build:bundle` — contractspec-bun-build transpile
56
+ - `bun run build:types` — contractspec-bun-build types
57
+ - `bun run prebuild` — contractspec-bun-build prebuild
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @contractspec/example.learning-journey-platform-tour
2
2
 
3
+ ## 3.7.10
4
+
5
+ ### Patch Changes
6
+
7
+ - 1a44cb6: feat: improve examples to increase coverage of Contracts type
8
+ - Updated dependencies [1a44cb6]
9
+ - @contractspec/module.learning-journey@3.7.10
10
+ - @contractspec/lib.contracts-spec@4.1.2
11
+ - @contractspec/lib.schema@3.7.8
12
+
13
+ ## 3.7.9
14
+
15
+ ### Patch Changes
16
+
17
+ - fix: release
18
+ - Updated dependencies
19
+ - @contractspec/module.learning-journey@3.7.9
20
+ - @contractspec/lib.contracts-spec@4.1.1
21
+ - @contractspec/lib.schema@3.7.7
22
+
3
23
  ## 3.7.6
4
24
 
5
25
  ### Patch Changes
@@ -765,14 +785,17 @@
765
785
  feat: Contract layers support (features, examples, app-configs)
766
786
 
767
787
  ### New CLI Commands
788
+
768
789
  - `contractspec list layers` - List all contract layers with filtering
769
790
 
770
791
  ### Enhanced Commands
792
+
771
793
  - `contractspec ci` - New `layers` check category validates features/examples/config
772
794
  - `contractspec doctor` - New `layers` health checks
773
795
  - `contractspec integrity` - Now shows layer statistics
774
796
 
775
797
  ### New APIs
798
+
776
799
  - `discoverLayers()` - Scan workspace for all layer files
777
800
  - `scanExampleSource()` - Parse ExampleSpec from source code
778
801
  - `isExampleFile()` - Check if file is an example spec
package/README.md CHANGED
@@ -1,43 +1,72 @@
1
1
  # @contractspec/example.learning-journey-platform-tour
2
2
 
3
- Website: https://contractspec.io/
3
+ Website: https://contractspec.io
4
4
 
5
+ **Learning journey track covering ContractSpec platform primitives.**
5
6
 
6
- Learning Journey example that tours platform primitives.
7
+ ## What This Demonstrates
7
8
 
8
- ## Track
9
+ - Platform primitives tour with step-by-step guidance.
10
+ - Feature definition with operations, presentations, and test-specs.
11
+ - Demo handlers for simulated tour flow.
12
+ - Interactive exploration of ContractSpec concepts.
13
+ - `src/docs/` contains docblocks and documentation-facing exports.
14
+ - `src/handlers/` contains handlers or demo adapters wired to contract surfaces.
9
15
 
10
- - **Key**: `platform_primitives_tour`
11
- - **Persona**: platform developer
12
- - **XP**: 7 steps × 20 XP + 20 bonus
13
- - **Badge**: `platform_primitives`
16
+ ## Running Locally
14
17
 
15
- ## Steps & Events
16
-
17
- 1. `identity_rbac` `org.member.added`
18
- 2. `event_bus_audit` `audit_log.created`
19
- 3. `notifications` → `notification.sent`
20
- 4. `jobs_scheduler` → `job.completed`
21
- 5. `feature_flags` → `flag.toggled`
22
- 6. `files_attachments` → `attachment.attached`
23
- 7. `usage_metering` → `usage.recorded`
18
+ From `packages/examples/learning-journey-platform-tour`:
19
+ - `bun run dev`
20
+ - `bun run build`
21
+ - `bun run typecheck`
24
22
 
25
23
  ## Usage
26
24
 
27
- - Import track specs:
28
- `import { platformLearningTracks } from '@contractspec/example.learning-journey-platform-tour/track'`
29
- - Contracts/handlers for demos:
30
- `import { GetPlatformTourTrack, RecordPlatformTourEvent } from '@contractspec/example.learning-journey-platform-tour/contracts'`
31
- `import { emitPlatformTourEvent } from '@contractspec/example.learning-journey-platform-tour/handlers/demo.handlers'`
32
- - Presentations (react/markdown/json targets):
33
- `import { platformTourPresentations } from '@contractspec/example.learning-journey-platform-tour/presentations'`
34
- - Register via onboarding API:
35
- - `learning.onboarding.listTracks`
36
- - `learning.onboarding.getProgress`
37
- - `learning.onboarding.recordEvent` wired from each module’s events
38
- - Map module events (identity, audit-trail, notifications, jobs, feature-flags, files, metering) into `recordEvent`.
39
-
40
- ## Docs
41
-
42
- - Docblock: `src/docs/platform-tour.docblock.ts`
43
- - Route suggestion: `/docs/learning-journey/platform-tour`
25
+ Use `@contractspec/example.learning-journey-platform-tour` as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.
26
+
27
+ ## Architecture
28
+
29
+ - `src/docs/` contains docblocks and documentation-facing exports.
30
+ - `src/example.ts` is the runnable example entrypoint.
31
+ - `src/handlers/` contains handlers or demo adapters wired to contract surfaces.
32
+ - `src/index.ts` is the root public barrel and package entrypoint.
33
+ - `src/learning-journey-platform-tour.feature.ts` defines a feature entrypoint.
34
+ - `src/operations` is part of the package's public or composition surface.
35
+ - `src/presentations` is part of the package's public or composition surface.
36
+
37
+ ## Public Entry Points
38
+
39
+ - Export `.` resolves through `./src/index.ts`.
40
+ - Export `./docs` resolves through `./src/docs/index.ts`.
41
+ - Export `./docs/platform-tour.docblock` resolves through `./src/docs/platform-tour.docblock.ts`.
42
+ - Export `./example` resolves through `./src/example.ts`.
43
+ - Export `./handlers/demo.handlers` resolves through `./src/handlers/demo.handlers.ts`.
44
+ - Export `./learning-journey-platform-tour.feature` resolves through `./src/learning-journey-platform-tour.feature.ts`.
45
+ - Export `./operations` resolves through `./src/operations/index.ts`.
46
+ - Export `./presentations` resolves through `./src/presentations/index.ts`.
47
+ - Export `./tests/operations.test-spec` resolves through `./src/tests/operations.test-spec.ts`.
48
+ - Export `./track` resolves through `./src/track.ts`.
49
+
50
+ ## Local Commands
51
+
52
+ - `bun run dev` — contractspec-bun-build dev
53
+ - `bun run build` — bun run prebuild && bun run build:bundle && bun run build:types
54
+ - `bun run lint` — bun lint:fix
55
+ - `bun run lint:check` — biome check .
56
+ - `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .
57
+ - `bun run typecheck` — tsc --noEmit
58
+ - `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose
59
+ - `bun run publish:pkg:canary` — bun publish:pkg --tag canary
60
+ - `bun run clean` — rimraf dist .turbo
61
+ - `bun run build:bundle` — contractspec-bun-build transpile
62
+ - `bun run build:types` — contractspec-bun-build types
63
+ - `bun run prebuild` — contractspec-bun-build prebuild
64
+
65
+ ## Recent Updates
66
+
67
+ - Replace eslint+prettier by biomejs to optimize speed.
68
+ - Missing contract layers.
69
+
70
+ ## Notes
71
+
72
+ - Works alongside `@contractspec/lib.contracts-spec`, `@contractspec/lib.schema`, `@contractspec/module.learning-journey`, `@contractspec/tool.bun`, `@contractspec/tool.typescript`.
@@ -193,9 +193,55 @@ var emitPlatformTourEvent = (eventName, { learnerId, occurredAt = new Date, payl
193
193
  };
194
194
  var emitAllPlatformTourEvents = (params, record) => platformTourEvents.map((name) => emitPlatformTourEvent(name, params, record));
195
195
 
196
+ // src/learning-journey-platform-tour.feature.ts
197
+ import { defineFeature } from "@contractspec/lib.contracts-spec";
198
+ var LearningJourneyPlatformTourFeature = defineFeature({
199
+ meta: {
200
+ key: "learning-journey-platform-tour",
201
+ version: "1.0.0",
202
+ title: "Learning Journey: Platform Tour",
203
+ description: "Platform primitives tour journey for exploring ContractSpec core features",
204
+ domain: "learning-journey",
205
+ owners: ["@examples.learning-journey.platform-tour"],
206
+ tags: ["learning", "platform", "tour", "journey"],
207
+ stability: "experimental"
208
+ },
209
+ operations: [
210
+ { key: "learningJourney.platformTour.recordEvent", version: "1.0.0" },
211
+ { key: "learningJourney.platformTour.getTrack", version: "1.0.0" }
212
+ ],
213
+ events: [],
214
+ presentations: [
215
+ { key: "learning.journey.platform.track", version: "1.0.0" },
216
+ { key: "learning.journey.platform.widget", version: "1.0.0" }
217
+ ],
218
+ opToPresentation: [
219
+ {
220
+ op: { key: "learningJourney.platformTour.getTrack", version: "1.0.0" },
221
+ pres: { key: "learning.journey.platform.track", version: "1.0.0" }
222
+ }
223
+ ],
224
+ presentationsTargets: [
225
+ {
226
+ key: "learning.journey.platform.track",
227
+ version: "1.0.0",
228
+ targets: ["react", "markdown", "application/json"]
229
+ },
230
+ {
231
+ key: "learning.journey.platform.widget",
232
+ version: "1.0.0",
233
+ targets: ["react"]
234
+ }
235
+ ],
236
+ capabilities: {
237
+ requires: [{ key: "identity", version: "1.0.0" }]
238
+ },
239
+ docs: ["docs.learning-journey.platform-tour"]
240
+ });
241
+
196
242
  // src/operations/index.ts
197
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
198
243
  import { defineCommand, defineQuery } from "@contractspec/lib.contracts-spec";
244
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
199
245
  var OWNERS = ["examples.learning-journey.platform-tour"];
200
246
  var StepModel = defineSchemaModel({
201
247
  name: "PlatformTourStep",
@@ -352,52 +398,6 @@ var platformTourPresentations = [
352
398
  PlatformTourTrackPresentation,
353
399
  PlatformTourWidgetPresentation
354
400
  ];
355
-
356
- // src/learning-journey-platform-tour.feature.ts
357
- import { defineFeature } from "@contractspec/lib.contracts-spec";
358
- var LearningJourneyPlatformTourFeature = defineFeature({
359
- meta: {
360
- key: "learning-journey-platform-tour",
361
- version: "1.0.0",
362
- title: "Learning Journey: Platform Tour",
363
- description: "Platform primitives tour journey for exploring ContractSpec core features",
364
- domain: "learning-journey",
365
- owners: ["@examples.learning-journey.platform-tour"],
366
- tags: ["learning", "platform", "tour", "journey"],
367
- stability: "experimental"
368
- },
369
- operations: [
370
- { key: "learningJourney.platformTour.recordEvent", version: "1.0.0" },
371
- { key: "learningJourney.platformTour.getTrack", version: "1.0.0" }
372
- ],
373
- events: [],
374
- presentations: [
375
- { key: "learning.journey.platform.track", version: "1.0.0" },
376
- { key: "learning.journey.platform.widget", version: "1.0.0" }
377
- ],
378
- opToPresentation: [
379
- {
380
- op: { key: "learningJourney.platformTour.getTrack", version: "1.0.0" },
381
- pres: { key: "learning.journey.platform.track", version: "1.0.0" }
382
- }
383
- ],
384
- presentationsTargets: [
385
- {
386
- key: "learning.journey.platform.track",
387
- version: "1.0.0",
388
- targets: ["react", "markdown", "application/json"]
389
- },
390
- {
391
- key: "learning.journey.platform.widget",
392
- version: "1.0.0",
393
- targets: ["react"]
394
- }
395
- ],
396
- capabilities: {
397
- requires: [{ key: "identity", version: "1.0.0" }]
398
- },
399
- docs: ["docs.learning-journey.platform-tour"]
400
- });
401
401
  export {
402
402
  platformTourPresentations,
403
403
  platformTourEvents,
@@ -103,8 +103,8 @@ var platformLearningTracks = [
103
103
  ];
104
104
 
105
105
  // src/operations/index.ts
106
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
107
106
  import { defineCommand, defineQuery } from "@contractspec/lib.contracts-spec";
107
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
108
108
  var OWNERS = ["examples.learning-journey.platform-tour"];
109
109
  var StepModel = defineSchemaModel({
110
110
  name: "PlatformTourStep",
@@ -103,8 +103,8 @@ var platformLearningTracks = [
103
103
  ];
104
104
 
105
105
  // src/operations/index.ts
106
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
107
106
  import { defineCommand, defineQuery } from "@contractspec/lib.contracts-spec";
107
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
108
108
  var OWNERS = ["examples.learning-journey.platform-tour"];
109
109
  var StepModel = defineSchemaModel({
110
110
  name: "PlatformTourStep",
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export * from './track';
2
1
  export * from './docs';
3
- export * from './operations';
2
+ export { default as example } from './example';
4
3
  export * from './handlers/demo.handlers';
5
- export * from './presentations';
6
4
  export * from './learning-journey-platform-tour.feature';
7
- export { default as example } from './example';
5
+ export * from './operations';
6
+ export * from './presentations';
7
+ export * from './track';
package/dist/index.js CHANGED
@@ -194,9 +194,55 @@ var emitPlatformTourEvent = (eventName, { learnerId, occurredAt = new Date, payl
194
194
  };
195
195
  var emitAllPlatformTourEvents = (params, record) => platformTourEvents.map((name) => emitPlatformTourEvent(name, params, record));
196
196
 
197
+ // src/learning-journey-platform-tour.feature.ts
198
+ import { defineFeature } from "@contractspec/lib.contracts-spec";
199
+ var LearningJourneyPlatformTourFeature = defineFeature({
200
+ meta: {
201
+ key: "learning-journey-platform-tour",
202
+ version: "1.0.0",
203
+ title: "Learning Journey: Platform Tour",
204
+ description: "Platform primitives tour journey for exploring ContractSpec core features",
205
+ domain: "learning-journey",
206
+ owners: ["@examples.learning-journey.platform-tour"],
207
+ tags: ["learning", "platform", "tour", "journey"],
208
+ stability: "experimental"
209
+ },
210
+ operations: [
211
+ { key: "learningJourney.platformTour.recordEvent", version: "1.0.0" },
212
+ { key: "learningJourney.platformTour.getTrack", version: "1.0.0" }
213
+ ],
214
+ events: [],
215
+ presentations: [
216
+ { key: "learning.journey.platform.track", version: "1.0.0" },
217
+ { key: "learning.journey.platform.widget", version: "1.0.0" }
218
+ ],
219
+ opToPresentation: [
220
+ {
221
+ op: { key: "learningJourney.platformTour.getTrack", version: "1.0.0" },
222
+ pres: { key: "learning.journey.platform.track", version: "1.0.0" }
223
+ }
224
+ ],
225
+ presentationsTargets: [
226
+ {
227
+ key: "learning.journey.platform.track",
228
+ version: "1.0.0",
229
+ targets: ["react", "markdown", "application/json"]
230
+ },
231
+ {
232
+ key: "learning.journey.platform.widget",
233
+ version: "1.0.0",
234
+ targets: ["react"]
235
+ }
236
+ ],
237
+ capabilities: {
238
+ requires: [{ key: "identity", version: "1.0.0" }]
239
+ },
240
+ docs: ["docs.learning-journey.platform-tour"]
241
+ });
242
+
197
243
  // src/operations/index.ts
198
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
199
244
  import { defineCommand, defineQuery } from "@contractspec/lib.contracts-spec";
245
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
200
246
  var OWNERS = ["examples.learning-journey.platform-tour"];
201
247
  var StepModel = defineSchemaModel({
202
248
  name: "PlatformTourStep",
@@ -353,52 +399,6 @@ var platformTourPresentations = [
353
399
  PlatformTourTrackPresentation,
354
400
  PlatformTourWidgetPresentation
355
401
  ];
356
-
357
- // src/learning-journey-platform-tour.feature.ts
358
- import { defineFeature } from "@contractspec/lib.contracts-spec";
359
- var LearningJourneyPlatformTourFeature = defineFeature({
360
- meta: {
361
- key: "learning-journey-platform-tour",
362
- version: "1.0.0",
363
- title: "Learning Journey: Platform Tour",
364
- description: "Platform primitives tour journey for exploring ContractSpec core features",
365
- domain: "learning-journey",
366
- owners: ["@examples.learning-journey.platform-tour"],
367
- tags: ["learning", "platform", "tour", "journey"],
368
- stability: "experimental"
369
- },
370
- operations: [
371
- { key: "learningJourney.platformTour.recordEvent", version: "1.0.0" },
372
- { key: "learningJourney.platformTour.getTrack", version: "1.0.0" }
373
- ],
374
- events: [],
375
- presentations: [
376
- { key: "learning.journey.platform.track", version: "1.0.0" },
377
- { key: "learning.journey.platform.widget", version: "1.0.0" }
378
- ],
379
- opToPresentation: [
380
- {
381
- op: { key: "learningJourney.platformTour.getTrack", version: "1.0.0" },
382
- pres: { key: "learning.journey.platform.track", version: "1.0.0" }
383
- }
384
- ],
385
- presentationsTargets: [
386
- {
387
- key: "learning.journey.platform.track",
388
- version: "1.0.0",
389
- targets: ["react", "markdown", "application/json"]
390
- },
391
- {
392
- key: "learning.journey.platform.widget",
393
- version: "1.0.0",
394
- targets: ["react"]
395
- }
396
- ],
397
- capabilities: {
398
- requires: [{ key: "identity", version: "1.0.0" }]
399
- },
400
- docs: ["docs.learning-journey.platform-tour"]
401
- });
402
402
  export {
403
403
  platformTourPresentations,
404
404
  platformTourEvents,
@@ -193,9 +193,55 @@ var emitPlatformTourEvent = (eventName, { learnerId, occurredAt = new Date, payl
193
193
  };
194
194
  var emitAllPlatformTourEvents = (params, record) => platformTourEvents.map((name) => emitPlatformTourEvent(name, params, record));
195
195
 
196
+ // src/learning-journey-platform-tour.feature.ts
197
+ import { defineFeature } from "@contractspec/lib.contracts-spec";
198
+ var LearningJourneyPlatformTourFeature = defineFeature({
199
+ meta: {
200
+ key: "learning-journey-platform-tour",
201
+ version: "1.0.0",
202
+ title: "Learning Journey: Platform Tour",
203
+ description: "Platform primitives tour journey for exploring ContractSpec core features",
204
+ domain: "learning-journey",
205
+ owners: ["@examples.learning-journey.platform-tour"],
206
+ tags: ["learning", "platform", "tour", "journey"],
207
+ stability: "experimental"
208
+ },
209
+ operations: [
210
+ { key: "learningJourney.platformTour.recordEvent", version: "1.0.0" },
211
+ { key: "learningJourney.platformTour.getTrack", version: "1.0.0" }
212
+ ],
213
+ events: [],
214
+ presentations: [
215
+ { key: "learning.journey.platform.track", version: "1.0.0" },
216
+ { key: "learning.journey.platform.widget", version: "1.0.0" }
217
+ ],
218
+ opToPresentation: [
219
+ {
220
+ op: { key: "learningJourney.platformTour.getTrack", version: "1.0.0" },
221
+ pres: { key: "learning.journey.platform.track", version: "1.0.0" }
222
+ }
223
+ ],
224
+ presentationsTargets: [
225
+ {
226
+ key: "learning.journey.platform.track",
227
+ version: "1.0.0",
228
+ targets: ["react", "markdown", "application/json"]
229
+ },
230
+ {
231
+ key: "learning.journey.platform.widget",
232
+ version: "1.0.0",
233
+ targets: ["react"]
234
+ }
235
+ ],
236
+ capabilities: {
237
+ requires: [{ key: "identity", version: "1.0.0" }]
238
+ },
239
+ docs: ["docs.learning-journey.platform-tour"]
240
+ });
241
+
196
242
  // src/operations/index.ts
197
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
198
243
  import { defineCommand, defineQuery } from "@contractspec/lib.contracts-spec";
244
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
199
245
  var OWNERS = ["examples.learning-journey.platform-tour"];
200
246
  var StepModel = defineSchemaModel({
201
247
  name: "PlatformTourStep",
@@ -352,52 +398,6 @@ var platformTourPresentations = [
352
398
  PlatformTourTrackPresentation,
353
399
  PlatformTourWidgetPresentation
354
400
  ];
355
-
356
- // src/learning-journey-platform-tour.feature.ts
357
- import { defineFeature } from "@contractspec/lib.contracts-spec";
358
- var LearningJourneyPlatformTourFeature = defineFeature({
359
- meta: {
360
- key: "learning-journey-platform-tour",
361
- version: "1.0.0",
362
- title: "Learning Journey: Platform Tour",
363
- description: "Platform primitives tour journey for exploring ContractSpec core features",
364
- domain: "learning-journey",
365
- owners: ["@examples.learning-journey.platform-tour"],
366
- tags: ["learning", "platform", "tour", "journey"],
367
- stability: "experimental"
368
- },
369
- operations: [
370
- { key: "learningJourney.platformTour.recordEvent", version: "1.0.0" },
371
- { key: "learningJourney.platformTour.getTrack", version: "1.0.0" }
372
- ],
373
- events: [],
374
- presentations: [
375
- { key: "learning.journey.platform.track", version: "1.0.0" },
376
- { key: "learning.journey.platform.widget", version: "1.0.0" }
377
- ],
378
- opToPresentation: [
379
- {
380
- op: { key: "learningJourney.platformTour.getTrack", version: "1.0.0" },
381
- pres: { key: "learning.journey.platform.track", version: "1.0.0" }
382
- }
383
- ],
384
- presentationsTargets: [
385
- {
386
- key: "learning.journey.platform.track",
387
- version: "1.0.0",
388
- targets: ["react", "markdown", "application/json"]
389
- },
390
- {
391
- key: "learning.journey.platform.widget",
392
- version: "1.0.0",
393
- targets: ["react"]
394
- }
395
- ],
396
- capabilities: {
397
- requires: [{ key: "identity", version: "1.0.0" }]
398
- },
399
- docs: ["docs.learning-journey.platform-tour"]
400
- });
401
401
  export {
402
402
  platformTourPresentations,
403
403
  platformTourEvents,
@@ -103,8 +103,8 @@ var platformLearningTracks = [
103
103
  ];
104
104
 
105
105
  // src/operations/index.ts
106
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
107
106
  import { defineCommand, defineQuery } from "@contractspec/lib.contracts-spec";
107
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
108
108
  var OWNERS = ["examples.learning-journey.platform-tour"];
109
109
  var StepModel = defineSchemaModel({
110
110
  name: "PlatformTourStep",
@@ -103,8 +103,8 @@ var platformLearningTracks = [
103
103
  ];
104
104
 
105
105
  // src/operations/index.ts
106
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
107
106
  import { defineCommand, defineQuery } from "@contractspec/lib.contracts-spec";
107
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
108
108
  var OWNERS = ["examples.learning-journey.platform-tour"];
109
109
  var StepModel = defineSchemaModel({
110
110
  name: "PlatformTourStep",
@@ -104,8 +104,8 @@ var platformLearningTracks = [
104
104
  ];
105
105
 
106
106
  // src/operations/index.ts
107
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
108
107
  import { defineCommand, defineQuery } from "@contractspec/lib.contracts-spec";
108
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
109
109
  var OWNERS = ["examples.learning-journey.platform-tour"];
110
110
  var StepModel = defineSchemaModel({
111
111
  name: "PlatformTourStep",