@contractspec/example.learning-journey-platform-tour 4.0.0 → 4.0.1

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,46 +1,47 @@
1
- $ contractspec-bun-build prebuild
2
- $ bun run build:bundle && bun run build:types
3
- $ contractspec-bun-build transpile
4
- [contractspec-bun-build] transpile target=bun root=src entries=10 noBundle=false
5
- Bundled 10 modules in 23ms
6
-
7
- docs/index.js 1.43 KB (entry point)
8
- tests/operations.test-spec.js 0.66 KB (entry point)
9
- ./index.js 9.23 KB (entry point)
10
- docs/platform-tour.docblock.js 1.43 KB (entry point)
11
- ./example.js 0.80 KB (entry point)
12
- handlers/demo.handlers.js 2.95 KB (entry point)
13
- ./learning-journey-platform-tour.feature.js 1.20 KB (entry point)
14
- presentations/index.js 5.29 KB (entry point)
15
- operations/index.js 4.44 KB (entry point)
16
- ./track.js 2.62 KB (entry point)
17
-
18
- [contractspec-bun-build] transpile target=node root=src entries=10 noBundle=false
19
- Bundled 10 modules in 26ms
20
-
21
- docs/index.js 1.40 KB (entry point)
22
- tests/operations.test-spec.js 0.66 KB (entry point)
23
- ./index.js 9.20 KB (entry point)
24
- docs/platform-tour.docblock.js 1.40 KB (entry point)
25
- ./example.js 0.79 KB (entry point)
26
- handlers/demo.handlers.js 2.94 KB (entry point)
27
- ./learning-journey-platform-tour.feature.js 1.19 KB (entry point)
28
- presentations/index.js 5.28 KB (entry point)
29
- operations/index.js 4.43 KB (entry point)
30
- ./track.js 2.62 KB (entry point)
31
-
32
- [contractspec-bun-build] transpile target=browser root=src entries=10 noBundle=false
33
- Bundled 10 modules in 50ms
34
-
35
- docs/index.js 1.40 KB (entry point)
36
- tests/operations.test-spec.js 0.66 KB (entry point)
37
- ./index.js 9.20 KB (entry point)
38
- docs/platform-tour.docblock.js 1.40 KB (entry point)
39
- ./example.js 0.79 KB (entry point)
40
- handlers/demo.handlers.js 2.94 KB (entry point)
41
- ./learning-journey-platform-tour.feature.js 1.19 KB (entry point)
42
- presentations/index.js 5.28 KB (entry point)
43
- operations/index.js 4.43 KB (entry point)
44
- ./track.js 2.62 KB (entry point)
45
-
46
- $ contractspec-bun-build types
1
+
2
+ $ contractspec-bun-build prebuild
3
+ $ bun run build:bundle && bun run build:types
4
+ $ contractspec-bun-build transpile
5
+ [contractspec-bun-build] transpile target=bun root=src entries=10 noBundle=false
6
+ Bundled 10 modules in 29ms
7
+
8
+ docs/index.js 1.43 KB (entry point)
9
+ tests/operations.test-spec.js 0.66 KB (entry point)
10
+ ./index.js 9.17 KB (entry point)
11
+ docs/platform-tour.docblock.js 1.43 KB (entry point)
12
+ ./example.js 0.72 KB (entry point)
13
+ handlers/demo.handlers.js 2.95 KB (entry point)
14
+ ./learning-journey-platform-tour.feature.js 1.21 KB (entry point)
15
+ presentations/index.js 5.29 KB (entry point)
16
+ operations/index.js 4.44 KB (entry point)
17
+ ./track.js 2.62 KB (entry point)
18
+
19
+ [contractspec-bun-build] transpile target=node root=src entries=10 noBundle=false
20
+ Bundled 10 modules in 19ms
21
+
22
+ docs/index.js 1.40 KB (entry point)
23
+ tests/operations.test-spec.js 0.66 KB (entry point)
24
+ ./index.js 9.13 KB (entry point)
25
+ docs/platform-tour.docblock.js 1.40 KB (entry point)
26
+ ./example.js 0.71 KB (entry point)
27
+ handlers/demo.handlers.js 2.94 KB (entry point)
28
+ ./learning-journey-platform-tour.feature.js 1.20 KB (entry point)
29
+ presentations/index.js 5.28 KB (entry point)
30
+ operations/index.js 4.43 KB (entry point)
31
+ ./track.js 2.62 KB (entry point)
32
+
33
+ [contractspec-bun-build] transpile target=browser root=src entries=10 noBundle=false
34
+ Bundled 10 modules in 15ms
35
+
36
+ docs/index.js 1.40 KB (entry point)
37
+ tests/operations.test-spec.js 0.66 KB (entry point)
38
+ ./index.js 9.13 KB (entry point)
39
+ docs/platform-tour.docblock.js 1.40 KB (entry point)
40
+ ./example.js 0.71 KB (entry point)
41
+ handlers/demo.handlers.js 2.94 KB (entry point)
42
+ ./learning-journey-platform-tour.feature.js 1.20 KB (entry point)
43
+ presentations/index.js 5.28 KB (entry point)
44
+ operations/index.js 4.43 KB (entry point)
45
+ ./track.js 2.62 KB (entry point)
46
+
47
+ $ contractspec-bun-build types
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @contractspec/example.learning-journey-platform-tour
2
2
 
3
+ ## 4.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - chore: auto-bump internal dependents
8
+ - Updated dependencies because of chore: auto-bump internal dependents
9
+ - Updated dependencies because of Add FormSpec layout hints, semantic field rendering, and portable text/textarea input-group addons.
10
+ - Updated dependencies because of Add ThemeSpec light/dark modes and a design-system Tailwind bridge for CSS variables, presets, CSS text, and OKLCH color pass-through.
11
+ - Updated dependencies because of Add a canonical typed result system for ContractSpec success and failure propagation across operations, workflows, jobs, server adapters, MCP, GraphQL, and React clients.
12
+ - @contractspec/module.learning-journey@4.0.1
13
+ - @contractspec/lib.contracts-spec@5.5.0
14
+ - @contractspec/lib.schema@3.7.14
15
+
3
16
  ## 4.0.0
4
17
 
5
18
  ### Major Changes
@@ -1 +1 @@
1
- import{defineExample as g}from"@contractspec/lib.contracts-spec";var h=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track + contracts + presentations for a platform tour.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","journey","platform-tour"]},docs:{rootDocId:"docs.examples.platform-tour",goalDocId:"docs.examples.platform-tour.goal",usageDocId:"docs.examples.platform-tour.usage"},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["markdown","playground"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),q=h;export{q as default};
1
+ import{defineExample as b}from"@contractspec/lib.contracts-spec/examples";var c=b({meta:{key:"examples.learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track covering ContractSpec platform primitives.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-platform-tour"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour"}}),j=c;export{j as default,c as ExamplesLearningJourneyPlatformTourExample};
@@ -1 +1 @@
1
- import{registerDocBlocks as u}from"@contractspec/lib.contracts-spec/docs";var g=[{id:"docs.learning-journey.platform-tour",title:"Learning Journey — Platform Primitives Tour",summary:"Cross-module tour that touches identity, audit, notifications, jobs, feature flags, files, and metering.",kind:"reference",visibility:"public",route:"/docs/learning-journey/platform-tour",tags:["learning","platform","onboarding"],body:"## Track\n- **Key**: `platform_primitives_tour`\n- **Persona**: platform developer exploring primitives\n- **Goal**: Touch each cross-cutting module once, event-driven completion\n\n## Steps & Events\n1) `identity_rbac` → `org.member.added`\n2) `event_bus_audit` → `audit_log.created`\n3) `notifications` → `notification.sent`\n4) `jobs_scheduler` → `job.completed`\n5) `feature_flags` → `flag.toggled`\n6) `files_attachments` → `attachment.attached`\n7) `usage_metering` → `usage.recorded`\n\nXP: 20 per step, 20 bonus XP upon completion.\n\n## Wiring\n- Tracks export from `@contractspec/example.learning-journey-platform-tour/track`.\n- Use adaptive journey API to surface progress:\n - `learning.journey.listTracks`\n - `learning.journey.getProgress`\n - `learning.journey.recordEvent` wired from each module's event bus handlers.\n- Align event payloads with modules: identity-rbac, audit-trail, notifications, jobs, feature-flags, files, metering."}];u(g);import{defineExample as f}from"@contractspec/lib.contracts-spec";var v=f({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track + contracts + presentations for a platform tour.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","journey","platform-tour"]},docs:{rootDocId:"docs.examples.platform-tour",goalDocId:"docs.examples.platform-tour.goal",usageDocId:"docs.examples.platform-tour.usage"},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["markdown","playground"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),_=v;var e={id:"platform_primitives_tour",productId:"contractspec-platform",name:"Platform Primitives Tour",description:"Hands-on tour across identity, audit, notifications, jobs, flags, files, and metering.",targetUserSegment:"platform_developer",targetRole:"developer",totalXp:140,completionRewards:{xp:20,badgeKey:"platform_primitives"},steps:[{id:"identity_rbac",title:"Create org and member",description:"Create an org and add at least one member.",order:1,completion:{eventName:"org.member.added",sourceModule:"@contractspec/lib.identity-rbac"},xpReward:20,metadata:{surface:"identity"}},{id:"event_bus_audit",title:"Emit an auditable event",description:"Emit an event that lands in the audit log.",order:2,prerequisites:[{kind:"step_completed",stepId:"identity_rbac"}],completion:{eventName:"audit_log.created",sourceModule:"@contractspec/module.audit-trail"},xpReward:20,metadata:{surface:"bus+audit"}},{id:"notifications",title:"Send a notification",description:"Send yourself a notification and verify delivery.",order:3,prerequisites:[{kind:"step_completed",stepId:"event_bus_audit"}],completion:{eventName:"notification.sent",sourceModule:"@contractspec/module.notifications"},xpReward:20,metadata:{surface:"notifications"}},{id:"jobs_scheduler",title:"Schedule and run a job",description:"Schedule a background job and let it run once.",order:4,prerequisites:[{kind:"step_completed",stepId:"notifications"}],completion:{eventName:"job.completed",sourceModule:"@contractspec/lib.jobs"},xpReward:20,metadata:{surface:"jobs"}},{id:"feature_flags",title:"Create and toggle a feature flag",description:"Create a feature flag and toggle it at least once.",order:5,prerequisites:[{kind:"step_completed",stepId:"jobs_scheduler"}],completion:{eventName:"flag.toggled",sourceModule:"@contractspec/lib.feature-flags"},xpReward:20,metadata:{surface:"feature-flags"}},{id:"files_attachments",title:"Attach a file",description:"Upload and attach a file to any entity.",order:6,prerequisites:[{kind:"step_completed",stepId:"feature_flags"}],completion:{eventName:"attachment.attached",sourceModule:"@contractspec/lib.files"},xpReward:20,metadata:{surface:"files"}},{id:"usage_metering",title:"Record usage",description:"Emit a usage metric (regeneration, agent run, or similar).",order:7,prerequisites:[{kind:"step_completed",stepId:"files_attachments"}],completion:{eventName:"usage.recorded",sourceModule:"@contractspec/lib.metering"},xpReward:20,metadata:{surface:"metering"}}],metadata:{surfacedIn:["studio/learning","platform/dev-center"]}},K=[e];var b=["org.member.added","audit_log.created","notification.sent","job.completed","flag.toggled","attachment.attached","usage.recorded"],w=(r,{learnerId:i,occurredAt:o=new Date,payload:l},d)=>{let s={learnerId:i,name:r,occurredAt:o,payload:l,trackId:e.id};return d?d(s):s},D=(r,i)=>b.map((o)=>w(o,r,i));import{defineFeature as x}from"@contractspec/lib.contracts-spec";var Y=x({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});import{defineCommand as y,defineQuery as I}from"@contractspec/lib.contracts-spec";import{defineSchemaModel as a,ScalarTypeEnum as t}from"@contractspec/lib.schema";import{JourneyTrackModel as h}from"@contractspec/module.learning-journey/contracts/journey";var c=["examples.learning-journey.platform-tour"],n=h,R=a({name:"PlatformTourTrackResponse",description:"Response wrapper for platform tour track",fields:{track:{type:n,isOptional:!1}}}),k=a({name:"PlatformTourRecordEventInput",description:"Emit a demo event to advance platform tour steps",fields:{learnerId:{type:t.String_unsecure(),isOptional:!1},eventName:{type:t.String_unsecure(),isOptional:!1},payload:{type:t.JSON(),isOptional:!0},occurredAt:{type:t.DateTime(),isOptional:!0}}}),j=a({name:"PlatformTourSuccess",description:"Generic success response",fields:{success:{type:t.Boolean(),isOptional:!1}}}),E=I({meta:{key:"learningJourney.platformTour.getTrack",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Fetch platform primitives tour track definition.",goal:"Expose track metadata to UIs and templates.",context:"Called by Studio/Playground to render journey steps."},io:{input:a({name:"PlatformTourTrackInput",description:"Track input",fields:{}}),output:R},policy:{auth:"user"}}),q=y({meta:{key:"learningJourney.platformTour.recordEvent",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Record an event to advance platform tour progress.",goal:"Advance steps via domain events in demo/sandbox contexts.",context:"Called by handlers or demo scripts to emit step completion events."},io:{input:k,output:j},policy:{auth:"user"}}),B={GetPlatformTourTrack:E,RecordPlatformTourEvent:q,track:e};import{definePresentation as p,StabilityEnum as N}from"@contractspec/lib.contracts-spec";var m={domain:"learning-journey",title:"Platform Tour",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour"],stability:N.Experimental,goal:"Visualize platform tour progress",context:"Used in platform tour dashboard and widgets"},A=p({meta:{key:"learning.journey.platform.track",version:"1.0.0",description:"Platform primitives tour track detail",...m},source:{type:"component",framework:"react",componentKey:"LearningTrackDetail",props:n},targets:["react","markdown","application/json"]}),L=p({meta:{key:"learning.journey.platform.widget",version:"1.0.0",description:"Compact widget for platform tour progress",...m},source:{type:"component",framework:"react",componentKey:"LearningTrackProgressWidget"},targets:["react"]}),S=[A,L];export{S as platformTourPresentations,b as platformTourEvents,B as platformTourContracts,e as platformPrimitivesTourTrack,K as platformLearningTracks,_ as example,w as emitPlatformTourEvent,D as emitAllPlatformTourEvents,q as RecordPlatformTourEvent,L as PlatformTourWidgetPresentation,A as PlatformTourTrackPresentation,n as PlatformJourneyTrackModel,Y as LearningJourneyPlatformTourFeature,E as GetPlatformTourTrack};
1
+ import{registerDocBlocks as u}from"@contractspec/lib.contracts-spec/docs";var g=[{id:"docs.learning-journey.platform-tour",title:"Learning Journey — Platform Primitives Tour",summary:"Cross-module tour that touches identity, audit, notifications, jobs, feature flags, files, and metering.",kind:"reference",visibility:"public",route:"/docs/learning-journey/platform-tour",tags:["learning","platform","onboarding"],body:"## Track\n- **Key**: `platform_primitives_tour`\n- **Persona**: platform developer exploring primitives\n- **Goal**: Touch each cross-cutting module once, event-driven completion\n\n## Steps & Events\n1) `identity_rbac` → `org.member.added`\n2) `event_bus_audit` → `audit_log.created`\n3) `notifications` → `notification.sent`\n4) `jobs_scheduler` → `job.completed`\n5) `feature_flags` → `flag.toggled`\n6) `files_attachments` → `attachment.attached`\n7) `usage_metering` → `usage.recorded`\n\nXP: 20 per step, 20 bonus XP upon completion.\n\n## Wiring\n- Tracks export from `@contractspec/example.learning-journey-platform-tour/track`.\n- Use adaptive journey API to surface progress:\n - `learning.journey.listTracks`\n - `learning.journey.getProgress`\n - `learning.journey.recordEvent` wired from each module's event bus handlers.\n- Align event payloads with modules: identity-rbac, audit-trail, notifications, jobs, feature-flags, files, metering."}];u(g);import{defineExample as f}from"@contractspec/lib.contracts-spec/examples";var v=f({meta:{key:"examples.learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track covering ContractSpec platform primitives.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-platform-tour"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour"}}),_=v;var e={id:"platform_primitives_tour",productId:"contractspec-platform",name:"Platform Primitives Tour",description:"Hands-on tour across identity, audit, notifications, jobs, flags, files, and metering.",targetUserSegment:"platform_developer",targetRole:"developer",totalXp:140,completionRewards:{xp:20,badgeKey:"platform_primitives"},steps:[{id:"identity_rbac",title:"Create org and member",description:"Create an org and add at least one member.",order:1,completion:{eventName:"org.member.added",sourceModule:"@contractspec/lib.identity-rbac"},xpReward:20,metadata:{surface:"identity"}},{id:"event_bus_audit",title:"Emit an auditable event",description:"Emit an event that lands in the audit log.",order:2,prerequisites:[{kind:"step_completed",stepId:"identity_rbac"}],completion:{eventName:"audit_log.created",sourceModule:"@contractspec/module.audit-trail"},xpReward:20,metadata:{surface:"bus+audit"}},{id:"notifications",title:"Send a notification",description:"Send yourself a notification and verify delivery.",order:3,prerequisites:[{kind:"step_completed",stepId:"event_bus_audit"}],completion:{eventName:"notification.sent",sourceModule:"@contractspec/module.notifications"},xpReward:20,metadata:{surface:"notifications"}},{id:"jobs_scheduler",title:"Schedule and run a job",description:"Schedule a background job and let it run once.",order:4,prerequisites:[{kind:"step_completed",stepId:"notifications"}],completion:{eventName:"job.completed",sourceModule:"@contractspec/lib.jobs"},xpReward:20,metadata:{surface:"jobs"}},{id:"feature_flags",title:"Create and toggle a feature flag",description:"Create a feature flag and toggle it at least once.",order:5,prerequisites:[{kind:"step_completed",stepId:"jobs_scheduler"}],completion:{eventName:"flag.toggled",sourceModule:"@contractspec/lib.feature-flags"},xpReward:20,metadata:{surface:"feature-flags"}},{id:"files_attachments",title:"Attach a file",description:"Upload and attach a file to any entity.",order:6,prerequisites:[{kind:"step_completed",stepId:"feature_flags"}],completion:{eventName:"attachment.attached",sourceModule:"@contractspec/lib.files"},xpReward:20,metadata:{surface:"files"}},{id:"usage_metering",title:"Record usage",description:"Emit a usage metric (regeneration, agent run, or similar).",order:7,prerequisites:[{kind:"step_completed",stepId:"files_attachments"}],completion:{eventName:"usage.recorded",sourceModule:"@contractspec/lib.metering"},xpReward:20,metadata:{surface:"metering"}}],metadata:{surfacedIn:["studio/learning","platform/dev-center"]}},K=[e];var b=["org.member.added","audit_log.created","notification.sent","job.completed","flag.toggled","attachment.attached","usage.recorded"],w=(i,{learnerId:r,occurredAt:d=new Date,payload:m},n)=>{let s={learnerId:r,name:i,occurredAt:d,payload:m,trackId:e.id};return n?n(s):s},D=(i,r)=>b.map((d)=>w(d,i,r));import{defineFeature as I}from"@contractspec/lib.contracts-spec/features";var Z=I({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});import{defineCommand as h,defineQuery as x}from"@contractspec/lib.contracts-spec";import{defineSchemaModel as a,ScalarTypeEnum as t}from"@contractspec/lib.schema";import{JourneyTrackModel as R}from"@contractspec/module.learning-journey/contracts/journey";var c=["examples.learning-journey.platform-tour"],o=R,y=a({name:"PlatformTourTrackResponse",description:"Response wrapper for platform tour track",fields:{track:{type:o,isOptional:!1}}}),k=a({name:"PlatformTourRecordEventInput",description:"Emit a demo event to advance platform tour steps",fields:{learnerId:{type:t.String_unsecure(),isOptional:!1},eventName:{type:t.String_unsecure(),isOptional:!1},payload:{type:t.JSON(),isOptional:!0},occurredAt:{type:t.DateTime(),isOptional:!0}}}),j=a({name:"PlatformTourSuccess",description:"Generic success response",fields:{success:{type:t.Boolean(),isOptional:!1}}}),q=x({meta:{key:"learningJourney.platformTour.getTrack",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Fetch platform primitives tour track definition.",goal:"Expose track metadata to UIs and templates.",context:"Called by Studio/Playground to render journey steps."},io:{input:a({name:"PlatformTourTrackInput",description:"Track input",fields:{}}),output:y},policy:{auth:"user"}}),N=h({meta:{key:"learningJourney.platformTour.recordEvent",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Record an event to advance platform tour progress.",goal:"Advance steps via domain events in demo/sandbox contexts.",context:"Called by handlers or demo scripts to emit step completion events."},io:{input:k,output:j},policy:{auth:"user"}}),O={GetPlatformTourTrack:q,RecordPlatformTourEvent:N,track:e};import{definePresentation as p,StabilityEnum as A}from"@contractspec/lib.contracts-spec";var l={domain:"learning-journey",title:"Platform Tour",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour"],stability:A.Experimental,goal:"Visualize platform tour progress",context:"Used in platform tour dashboard and widgets"},E=p({meta:{key:"learning.journey.platform.track",version:"1.0.0",description:"Platform primitives tour track detail",...l},source:{type:"component",framework:"react",componentKey:"LearningTrackDetail",props:o},targets:["react","markdown","application/json"]}),C=p({meta:{key:"learning.journey.platform.widget",version:"1.0.0",description:"Compact widget for platform tour progress",...l},source:{type:"component",framework:"react",componentKey:"LearningTrackProgressWidget"},targets:["react"]}),S=[E,C];export{S as platformTourPresentations,b as platformTourEvents,O as platformTourContracts,e as platformPrimitivesTourTrack,K as platformLearningTracks,_ as example,w as emitPlatformTourEvent,D as emitAllPlatformTourEvents,N as RecordPlatformTourEvent,C as PlatformTourWidgetPresentation,E as PlatformTourTrackPresentation,o as PlatformJourneyTrackModel,Z as LearningJourneyPlatformTourFeature,q as GetPlatformTourTrack,v as ExamplesLearningJourneyPlatformTourExample};
@@ -1 +1 @@
1
- import{defineFeature as g}from"@contractspec/lib.contracts-spec";var j=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});export{j as LearningJourneyPlatformTourFeature};
1
+ import{defineFeature as g}from"@contractspec/lib.contracts-spec/features";var j=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});export{j as LearningJourneyPlatformTourFeature};
package/dist/example.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- declare const example: import("@contractspec/lib.contracts-spec").ExampleSpec;
2
- export default example;
1
+ declare const ExamplesLearningJourneyPlatformTourExample: import("@contractspec/lib.contracts-spec").ExampleSpec;
2
+ export default ExamplesLearningJourneyPlatformTourExample;
3
+ export { ExamplesLearningJourneyPlatformTourExample };
package/dist/example.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{defineExample as g}from"@contractspec/lib.contracts-spec";var h=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey \u2014 Platform Tour",description:"Learning journey track + contracts + presentations for a platform tour.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","journey","platform-tour"]},docs:{rootDocId:"docs.examples.platform-tour",goalDocId:"docs.examples.platform-tour.goal",usageDocId:"docs.examples.platform-tour.usage"},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["markdown","playground"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),q=h;export{q as default};
2
+ import{defineExample as b}from"@contractspec/lib.contracts-spec/examples";var c=b({meta:{key:"examples.learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track covering ContractSpec platform primitives.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-platform-tour"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour"}}),j=c;export{j as default,c as ExamplesLearningJourneyPlatformTourExample};
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './docs';
2
+ export * from './example';
2
3
  export { default as example } from './example';
3
4
  export * from './handlers/demo.handlers';
4
5
  export * from './learning-journey-platform-tour.feature';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{registerDocBlocks as u}from"@contractspec/lib.contracts-spec/docs";var g=[{id:"docs.learning-journey.platform-tour",title:"Learning Journey \u2014 Platform Primitives Tour",summary:"Cross-module tour that touches identity, audit, notifications, jobs, feature flags, files, and metering.",kind:"reference",visibility:"public",route:"/docs/learning-journey/platform-tour",tags:["learning","platform","onboarding"],body:"## Track\n- **Key**: `platform_primitives_tour`\n- **Persona**: platform developer exploring primitives\n- **Goal**: Touch each cross-cutting module once, event-driven completion\n\n## Steps & Events\n1) `identity_rbac` \u2192 `org.member.added`\n2) `event_bus_audit` \u2192 `audit_log.created`\n3) `notifications` \u2192 `notification.sent`\n4) `jobs_scheduler` \u2192 `job.completed`\n5) `feature_flags` \u2192 `flag.toggled`\n6) `files_attachments` \u2192 `attachment.attached`\n7) `usage_metering` \u2192 `usage.recorded`\n\nXP: 20 per step, 20 bonus XP upon completion.\n\n## Wiring\n- Tracks export from `@contractspec/example.learning-journey-platform-tour/track`.\n- Use adaptive journey API to surface progress:\n - `learning.journey.listTracks`\n - `learning.journey.getProgress`\n - `learning.journey.recordEvent` wired from each module's event bus handlers.\n- Align event payloads with modules: identity-rbac, audit-trail, notifications, jobs, feature-flags, files, metering."}];u(g);import{defineExample as f}from"@contractspec/lib.contracts-spec";var v=f({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey \u2014 Platform Tour",description:"Learning journey track + contracts + presentations for a platform tour.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","journey","platform-tour"]},docs:{rootDocId:"docs.examples.platform-tour",goalDocId:"docs.examples.platform-tour.goal",usageDocId:"docs.examples.platform-tour.usage"},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["markdown","playground"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),_=v;var e={id:"platform_primitives_tour",productId:"contractspec-platform",name:"Platform Primitives Tour",description:"Hands-on tour across identity, audit, notifications, jobs, flags, files, and metering.",targetUserSegment:"platform_developer",targetRole:"developer",totalXp:140,completionRewards:{xp:20,badgeKey:"platform_primitives"},steps:[{id:"identity_rbac",title:"Create org and member",description:"Create an org and add at least one member.",order:1,completion:{eventName:"org.member.added",sourceModule:"@contractspec/lib.identity-rbac"},xpReward:20,metadata:{surface:"identity"}},{id:"event_bus_audit",title:"Emit an auditable event",description:"Emit an event that lands in the audit log.",order:2,prerequisites:[{kind:"step_completed",stepId:"identity_rbac"}],completion:{eventName:"audit_log.created",sourceModule:"@contractspec/module.audit-trail"},xpReward:20,metadata:{surface:"bus+audit"}},{id:"notifications",title:"Send a notification",description:"Send yourself a notification and verify delivery.",order:3,prerequisites:[{kind:"step_completed",stepId:"event_bus_audit"}],completion:{eventName:"notification.sent",sourceModule:"@contractspec/module.notifications"},xpReward:20,metadata:{surface:"notifications"}},{id:"jobs_scheduler",title:"Schedule and run a job",description:"Schedule a background job and let it run once.",order:4,prerequisites:[{kind:"step_completed",stepId:"notifications"}],completion:{eventName:"job.completed",sourceModule:"@contractspec/lib.jobs"},xpReward:20,metadata:{surface:"jobs"}},{id:"feature_flags",title:"Create and toggle a feature flag",description:"Create a feature flag and toggle it at least once.",order:5,prerequisites:[{kind:"step_completed",stepId:"jobs_scheduler"}],completion:{eventName:"flag.toggled",sourceModule:"@contractspec/lib.feature-flags"},xpReward:20,metadata:{surface:"feature-flags"}},{id:"files_attachments",title:"Attach a file",description:"Upload and attach a file to any entity.",order:6,prerequisites:[{kind:"step_completed",stepId:"feature_flags"}],completion:{eventName:"attachment.attached",sourceModule:"@contractspec/lib.files"},xpReward:20,metadata:{surface:"files"}},{id:"usage_metering",title:"Record usage",description:"Emit a usage metric (regeneration, agent run, or similar).",order:7,prerequisites:[{kind:"step_completed",stepId:"files_attachments"}],completion:{eventName:"usage.recorded",sourceModule:"@contractspec/lib.metering"},xpReward:20,metadata:{surface:"metering"}}],metadata:{surfacedIn:["studio/learning","platform/dev-center"]}},K=[e];var b=["org.member.added","audit_log.created","notification.sent","job.completed","flag.toggled","attachment.attached","usage.recorded"],w=(r,{learnerId:i,occurredAt:o=new Date,payload:l},d)=>{let s={learnerId:i,name:r,occurredAt:o,payload:l,trackId:e.id};return d?d(s):s},D=(r,i)=>b.map((o)=>w(o,r,i));import{defineFeature as x}from"@contractspec/lib.contracts-spec";var Y=x({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});import{defineCommand as y,defineQuery as I}from"@contractspec/lib.contracts-spec";import{defineSchemaModel as a,ScalarTypeEnum as t}from"@contractspec/lib.schema";import{JourneyTrackModel as h}from"@contractspec/module.learning-journey/contracts/journey";var c=["examples.learning-journey.platform-tour"],n=h,R=a({name:"PlatformTourTrackResponse",description:"Response wrapper for platform tour track",fields:{track:{type:n,isOptional:!1}}}),k=a({name:"PlatformTourRecordEventInput",description:"Emit a demo event to advance platform tour steps",fields:{learnerId:{type:t.String_unsecure(),isOptional:!1},eventName:{type:t.String_unsecure(),isOptional:!1},payload:{type:t.JSON(),isOptional:!0},occurredAt:{type:t.DateTime(),isOptional:!0}}}),j=a({name:"PlatformTourSuccess",description:"Generic success response",fields:{success:{type:t.Boolean(),isOptional:!1}}}),E=I({meta:{key:"learningJourney.platformTour.getTrack",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Fetch platform primitives tour track definition.",goal:"Expose track metadata to UIs and templates.",context:"Called by Studio/Playground to render journey steps."},io:{input:a({name:"PlatformTourTrackInput",description:"Track input",fields:{}}),output:R},policy:{auth:"user"}}),q=y({meta:{key:"learningJourney.platformTour.recordEvent",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Record an event to advance platform tour progress.",goal:"Advance steps via domain events in demo/sandbox contexts.",context:"Called by handlers or demo scripts to emit step completion events."},io:{input:k,output:j},policy:{auth:"user"}}),B={GetPlatformTourTrack:E,RecordPlatformTourEvent:q,track:e};import{definePresentation as p,StabilityEnum as N}from"@contractspec/lib.contracts-spec";var m={domain:"learning-journey",title:"Platform Tour",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour"],stability:N.Experimental,goal:"Visualize platform tour progress",context:"Used in platform tour dashboard and widgets"},A=p({meta:{key:"learning.journey.platform.track",version:"1.0.0",description:"Platform primitives tour track detail",...m},source:{type:"component",framework:"react",componentKey:"LearningTrackDetail",props:n},targets:["react","markdown","application/json"]}),L=p({meta:{key:"learning.journey.platform.widget",version:"1.0.0",description:"Compact widget for platform tour progress",...m},source:{type:"component",framework:"react",componentKey:"LearningTrackProgressWidget"},targets:["react"]}),S=[A,L];export{S as platformTourPresentations,b as platformTourEvents,B as platformTourContracts,e as platformPrimitivesTourTrack,K as platformLearningTracks,_ as example,w as emitPlatformTourEvent,D as emitAllPlatformTourEvents,q as RecordPlatformTourEvent,L as PlatformTourWidgetPresentation,A as PlatformTourTrackPresentation,n as PlatformJourneyTrackModel,Y as LearningJourneyPlatformTourFeature,E as GetPlatformTourTrack};
2
+ import{registerDocBlocks as u}from"@contractspec/lib.contracts-spec/docs";var g=[{id:"docs.learning-journey.platform-tour",title:"Learning Journey \u2014 Platform Primitives Tour",summary:"Cross-module tour that touches identity, audit, notifications, jobs, feature flags, files, and metering.",kind:"reference",visibility:"public",route:"/docs/learning-journey/platform-tour",tags:["learning","platform","onboarding"],body:"## Track\n- **Key**: `platform_primitives_tour`\n- **Persona**: platform developer exploring primitives\n- **Goal**: Touch each cross-cutting module once, event-driven completion\n\n## Steps & Events\n1) `identity_rbac` \u2192 `org.member.added`\n2) `event_bus_audit` \u2192 `audit_log.created`\n3) `notifications` \u2192 `notification.sent`\n4) `jobs_scheduler` \u2192 `job.completed`\n5) `feature_flags` \u2192 `flag.toggled`\n6) `files_attachments` \u2192 `attachment.attached`\n7) `usage_metering` \u2192 `usage.recorded`\n\nXP: 20 per step, 20 bonus XP upon completion.\n\n## Wiring\n- Tracks export from `@contractspec/example.learning-journey-platform-tour/track`.\n- Use adaptive journey API to surface progress:\n - `learning.journey.listTracks`\n - `learning.journey.getProgress`\n - `learning.journey.recordEvent` wired from each module's event bus handlers.\n- Align event payloads with modules: identity-rbac, audit-trail, notifications, jobs, feature-flags, files, metering."}];u(g);import{defineExample as f}from"@contractspec/lib.contracts-spec/examples";var v=f({meta:{key:"examples.learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track covering ContractSpec platform primitives.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-platform-tour"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour"}}),_=v;var e={id:"platform_primitives_tour",productId:"contractspec-platform",name:"Platform Primitives Tour",description:"Hands-on tour across identity, audit, notifications, jobs, flags, files, and metering.",targetUserSegment:"platform_developer",targetRole:"developer",totalXp:140,completionRewards:{xp:20,badgeKey:"platform_primitives"},steps:[{id:"identity_rbac",title:"Create org and member",description:"Create an org and add at least one member.",order:1,completion:{eventName:"org.member.added",sourceModule:"@contractspec/lib.identity-rbac"},xpReward:20,metadata:{surface:"identity"}},{id:"event_bus_audit",title:"Emit an auditable event",description:"Emit an event that lands in the audit log.",order:2,prerequisites:[{kind:"step_completed",stepId:"identity_rbac"}],completion:{eventName:"audit_log.created",sourceModule:"@contractspec/module.audit-trail"},xpReward:20,metadata:{surface:"bus+audit"}},{id:"notifications",title:"Send a notification",description:"Send yourself a notification and verify delivery.",order:3,prerequisites:[{kind:"step_completed",stepId:"event_bus_audit"}],completion:{eventName:"notification.sent",sourceModule:"@contractspec/module.notifications"},xpReward:20,metadata:{surface:"notifications"}},{id:"jobs_scheduler",title:"Schedule and run a job",description:"Schedule a background job and let it run once.",order:4,prerequisites:[{kind:"step_completed",stepId:"notifications"}],completion:{eventName:"job.completed",sourceModule:"@contractspec/lib.jobs"},xpReward:20,metadata:{surface:"jobs"}},{id:"feature_flags",title:"Create and toggle a feature flag",description:"Create a feature flag and toggle it at least once.",order:5,prerequisites:[{kind:"step_completed",stepId:"jobs_scheduler"}],completion:{eventName:"flag.toggled",sourceModule:"@contractspec/lib.feature-flags"},xpReward:20,metadata:{surface:"feature-flags"}},{id:"files_attachments",title:"Attach a file",description:"Upload and attach a file to any entity.",order:6,prerequisites:[{kind:"step_completed",stepId:"feature_flags"}],completion:{eventName:"attachment.attached",sourceModule:"@contractspec/lib.files"},xpReward:20,metadata:{surface:"files"}},{id:"usage_metering",title:"Record usage",description:"Emit a usage metric (regeneration, agent run, or similar).",order:7,prerequisites:[{kind:"step_completed",stepId:"files_attachments"}],completion:{eventName:"usage.recorded",sourceModule:"@contractspec/lib.metering"},xpReward:20,metadata:{surface:"metering"}}],metadata:{surfacedIn:["studio/learning","platform/dev-center"]}},K=[e];var b=["org.member.added","audit_log.created","notification.sent","job.completed","flag.toggled","attachment.attached","usage.recorded"],w=(i,{learnerId:r,occurredAt:d=new Date,payload:m},n)=>{let s={learnerId:r,name:i,occurredAt:d,payload:m,trackId:e.id};return n?n(s):s},D=(i,r)=>b.map((d)=>w(d,i,r));import{defineFeature as I}from"@contractspec/lib.contracts-spec/features";var Z=I({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});import{defineCommand as h,defineQuery as x}from"@contractspec/lib.contracts-spec";import{defineSchemaModel as a,ScalarTypeEnum as t}from"@contractspec/lib.schema";import{JourneyTrackModel as R}from"@contractspec/module.learning-journey/contracts/journey";var c=["examples.learning-journey.platform-tour"],o=R,y=a({name:"PlatformTourTrackResponse",description:"Response wrapper for platform tour track",fields:{track:{type:o,isOptional:!1}}}),k=a({name:"PlatformTourRecordEventInput",description:"Emit a demo event to advance platform tour steps",fields:{learnerId:{type:t.String_unsecure(),isOptional:!1},eventName:{type:t.String_unsecure(),isOptional:!1},payload:{type:t.JSON(),isOptional:!0},occurredAt:{type:t.DateTime(),isOptional:!0}}}),j=a({name:"PlatformTourSuccess",description:"Generic success response",fields:{success:{type:t.Boolean(),isOptional:!1}}}),q=x({meta:{key:"learningJourney.platformTour.getTrack",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Fetch platform primitives tour track definition.",goal:"Expose track metadata to UIs and templates.",context:"Called by Studio/Playground to render journey steps."},io:{input:a({name:"PlatformTourTrackInput",description:"Track input",fields:{}}),output:y},policy:{auth:"user"}}),N=h({meta:{key:"learningJourney.platformTour.recordEvent",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Record an event to advance platform tour progress.",goal:"Advance steps via domain events in demo/sandbox contexts.",context:"Called by handlers or demo scripts to emit step completion events."},io:{input:k,output:j},policy:{auth:"user"}}),O={GetPlatformTourTrack:q,RecordPlatformTourEvent:N,track:e};import{definePresentation as p,StabilityEnum as A}from"@contractspec/lib.contracts-spec";var l={domain:"learning-journey",title:"Platform Tour",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour"],stability:A.Experimental,goal:"Visualize platform tour progress",context:"Used in platform tour dashboard and widgets"},E=p({meta:{key:"learning.journey.platform.track",version:"1.0.0",description:"Platform primitives tour track detail",...l},source:{type:"component",framework:"react",componentKey:"LearningTrackDetail",props:o},targets:["react","markdown","application/json"]}),C=p({meta:{key:"learning.journey.platform.widget",version:"1.0.0",description:"Compact widget for platform tour progress",...l},source:{type:"component",framework:"react",componentKey:"LearningTrackProgressWidget"},targets:["react"]}),S=[E,C];export{S as platformTourPresentations,b as platformTourEvents,O as platformTourContracts,e as platformPrimitivesTourTrack,K as platformLearningTracks,_ as example,w as emitPlatformTourEvent,D as emitAllPlatformTourEvents,N as RecordPlatformTourEvent,C as PlatformTourWidgetPresentation,E as PlatformTourTrackPresentation,o as PlatformJourneyTrackModel,Z as LearningJourneyPlatformTourFeature,q as GetPlatformTourTrack,v as ExamplesLearningJourneyPlatformTourExample};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{defineFeature as g}from"@contractspec/lib.contracts-spec";var j=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});export{j as LearningJourneyPlatformTourFeature};
2
+ import{defineFeature as g}from"@contractspec/lib.contracts-spec/features";var j=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});export{j as LearningJourneyPlatformTourFeature};
@@ -1 +1 @@
1
- import{defineExample as g}from"@contractspec/lib.contracts-spec";var h=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track + contracts + presentations for a platform tour.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","journey","platform-tour"]},docs:{rootDocId:"docs.examples.platform-tour",goalDocId:"docs.examples.platform-tour.goal",usageDocId:"docs.examples.platform-tour.usage"},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["markdown","playground"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),q=h;export{q as default};
1
+ import{defineExample as b}from"@contractspec/lib.contracts-spec/examples";var c=b({meta:{key:"examples.learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track covering ContractSpec platform primitives.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-platform-tour"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour"}}),j=c;export{j as default,c as ExamplesLearningJourneyPlatformTourExample};
@@ -1 +1 @@
1
- import{registerDocBlocks as u}from"@contractspec/lib.contracts-spec/docs";var g=[{id:"docs.learning-journey.platform-tour",title:"Learning Journey — Platform Primitives Tour",summary:"Cross-module tour that touches identity, audit, notifications, jobs, feature flags, files, and metering.",kind:"reference",visibility:"public",route:"/docs/learning-journey/platform-tour",tags:["learning","platform","onboarding"],body:"## Track\n- **Key**: `platform_primitives_tour`\n- **Persona**: platform developer exploring primitives\n- **Goal**: Touch each cross-cutting module once, event-driven completion\n\n## Steps & Events\n1) `identity_rbac` → `org.member.added`\n2) `event_bus_audit` → `audit_log.created`\n3) `notifications` → `notification.sent`\n4) `jobs_scheduler` → `job.completed`\n5) `feature_flags` → `flag.toggled`\n6) `files_attachments` → `attachment.attached`\n7) `usage_metering` → `usage.recorded`\n\nXP: 20 per step, 20 bonus XP upon completion.\n\n## Wiring\n- Tracks export from `@contractspec/example.learning-journey-platform-tour/track`.\n- Use adaptive journey API to surface progress:\n - `learning.journey.listTracks`\n - `learning.journey.getProgress`\n - `learning.journey.recordEvent` wired from each module's event bus handlers.\n- Align event payloads with modules: identity-rbac, audit-trail, notifications, jobs, feature-flags, files, metering."}];u(g);import{defineExample as f}from"@contractspec/lib.contracts-spec";var v=f({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track + contracts + presentations for a platform tour.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","journey","platform-tour"]},docs:{rootDocId:"docs.examples.platform-tour",goalDocId:"docs.examples.platform-tour.goal",usageDocId:"docs.examples.platform-tour.usage"},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["markdown","playground"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),_=v;var e={id:"platform_primitives_tour",productId:"contractspec-platform",name:"Platform Primitives Tour",description:"Hands-on tour across identity, audit, notifications, jobs, flags, files, and metering.",targetUserSegment:"platform_developer",targetRole:"developer",totalXp:140,completionRewards:{xp:20,badgeKey:"platform_primitives"},steps:[{id:"identity_rbac",title:"Create org and member",description:"Create an org and add at least one member.",order:1,completion:{eventName:"org.member.added",sourceModule:"@contractspec/lib.identity-rbac"},xpReward:20,metadata:{surface:"identity"}},{id:"event_bus_audit",title:"Emit an auditable event",description:"Emit an event that lands in the audit log.",order:2,prerequisites:[{kind:"step_completed",stepId:"identity_rbac"}],completion:{eventName:"audit_log.created",sourceModule:"@contractspec/module.audit-trail"},xpReward:20,metadata:{surface:"bus+audit"}},{id:"notifications",title:"Send a notification",description:"Send yourself a notification and verify delivery.",order:3,prerequisites:[{kind:"step_completed",stepId:"event_bus_audit"}],completion:{eventName:"notification.sent",sourceModule:"@contractspec/module.notifications"},xpReward:20,metadata:{surface:"notifications"}},{id:"jobs_scheduler",title:"Schedule and run a job",description:"Schedule a background job and let it run once.",order:4,prerequisites:[{kind:"step_completed",stepId:"notifications"}],completion:{eventName:"job.completed",sourceModule:"@contractspec/lib.jobs"},xpReward:20,metadata:{surface:"jobs"}},{id:"feature_flags",title:"Create and toggle a feature flag",description:"Create a feature flag and toggle it at least once.",order:5,prerequisites:[{kind:"step_completed",stepId:"jobs_scheduler"}],completion:{eventName:"flag.toggled",sourceModule:"@contractspec/lib.feature-flags"},xpReward:20,metadata:{surface:"feature-flags"}},{id:"files_attachments",title:"Attach a file",description:"Upload and attach a file to any entity.",order:6,prerequisites:[{kind:"step_completed",stepId:"feature_flags"}],completion:{eventName:"attachment.attached",sourceModule:"@contractspec/lib.files"},xpReward:20,metadata:{surface:"files"}},{id:"usage_metering",title:"Record usage",description:"Emit a usage metric (regeneration, agent run, or similar).",order:7,prerequisites:[{kind:"step_completed",stepId:"files_attachments"}],completion:{eventName:"usage.recorded",sourceModule:"@contractspec/lib.metering"},xpReward:20,metadata:{surface:"metering"}}],metadata:{surfacedIn:["studio/learning","platform/dev-center"]}},K=[e];var b=["org.member.added","audit_log.created","notification.sent","job.completed","flag.toggled","attachment.attached","usage.recorded"],w=(r,{learnerId:i,occurredAt:o=new Date,payload:l},d)=>{let s={learnerId:i,name:r,occurredAt:o,payload:l,trackId:e.id};return d?d(s):s},D=(r,i)=>b.map((o)=>w(o,r,i));import{defineFeature as x}from"@contractspec/lib.contracts-spec";var Y=x({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});import{defineCommand as y,defineQuery as I}from"@contractspec/lib.contracts-spec";import{defineSchemaModel as a,ScalarTypeEnum as t}from"@contractspec/lib.schema";import{JourneyTrackModel as h}from"@contractspec/module.learning-journey/contracts/journey";var c=["examples.learning-journey.platform-tour"],n=h,R=a({name:"PlatformTourTrackResponse",description:"Response wrapper for platform tour track",fields:{track:{type:n,isOptional:!1}}}),k=a({name:"PlatformTourRecordEventInput",description:"Emit a demo event to advance platform tour steps",fields:{learnerId:{type:t.String_unsecure(),isOptional:!1},eventName:{type:t.String_unsecure(),isOptional:!1},payload:{type:t.JSON(),isOptional:!0},occurredAt:{type:t.DateTime(),isOptional:!0}}}),j=a({name:"PlatformTourSuccess",description:"Generic success response",fields:{success:{type:t.Boolean(),isOptional:!1}}}),E=I({meta:{key:"learningJourney.platformTour.getTrack",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Fetch platform primitives tour track definition.",goal:"Expose track metadata to UIs and templates.",context:"Called by Studio/Playground to render journey steps."},io:{input:a({name:"PlatformTourTrackInput",description:"Track input",fields:{}}),output:R},policy:{auth:"user"}}),q=y({meta:{key:"learningJourney.platformTour.recordEvent",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Record an event to advance platform tour progress.",goal:"Advance steps via domain events in demo/sandbox contexts.",context:"Called by handlers or demo scripts to emit step completion events."},io:{input:k,output:j},policy:{auth:"user"}}),B={GetPlatformTourTrack:E,RecordPlatformTourEvent:q,track:e};import{definePresentation as p,StabilityEnum as N}from"@contractspec/lib.contracts-spec";var m={domain:"learning-journey",title:"Platform Tour",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour"],stability:N.Experimental,goal:"Visualize platform tour progress",context:"Used in platform tour dashboard and widgets"},A=p({meta:{key:"learning.journey.platform.track",version:"1.0.0",description:"Platform primitives tour track detail",...m},source:{type:"component",framework:"react",componentKey:"LearningTrackDetail",props:n},targets:["react","markdown","application/json"]}),L=p({meta:{key:"learning.journey.platform.widget",version:"1.0.0",description:"Compact widget for platform tour progress",...m},source:{type:"component",framework:"react",componentKey:"LearningTrackProgressWidget"},targets:["react"]}),S=[A,L];export{S as platformTourPresentations,b as platformTourEvents,B as platformTourContracts,e as platformPrimitivesTourTrack,K as platformLearningTracks,_ as example,w as emitPlatformTourEvent,D as emitAllPlatformTourEvents,q as RecordPlatformTourEvent,L as PlatformTourWidgetPresentation,A as PlatformTourTrackPresentation,n as PlatformJourneyTrackModel,Y as LearningJourneyPlatformTourFeature,E as GetPlatformTourTrack};
1
+ import{registerDocBlocks as u}from"@contractspec/lib.contracts-spec/docs";var g=[{id:"docs.learning-journey.platform-tour",title:"Learning Journey — Platform Primitives Tour",summary:"Cross-module tour that touches identity, audit, notifications, jobs, feature flags, files, and metering.",kind:"reference",visibility:"public",route:"/docs/learning-journey/platform-tour",tags:["learning","platform","onboarding"],body:"## Track\n- **Key**: `platform_primitives_tour`\n- **Persona**: platform developer exploring primitives\n- **Goal**: Touch each cross-cutting module once, event-driven completion\n\n## Steps & Events\n1) `identity_rbac` → `org.member.added`\n2) `event_bus_audit` → `audit_log.created`\n3) `notifications` → `notification.sent`\n4) `jobs_scheduler` → `job.completed`\n5) `feature_flags` → `flag.toggled`\n6) `files_attachments` → `attachment.attached`\n7) `usage_metering` → `usage.recorded`\n\nXP: 20 per step, 20 bonus XP upon completion.\n\n## Wiring\n- Tracks export from `@contractspec/example.learning-journey-platform-tour/track`.\n- Use adaptive journey API to surface progress:\n - `learning.journey.listTracks`\n - `learning.journey.getProgress`\n - `learning.journey.recordEvent` wired from each module's event bus handlers.\n- Align event payloads with modules: identity-rbac, audit-trail, notifications, jobs, feature-flags, files, metering."}];u(g);import{defineExample as f}from"@contractspec/lib.contracts-spec/examples";var v=f({meta:{key:"examples.learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey Platform Tour",description:"Learning journey track covering ContractSpec platform primitives.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-platform-tour"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour"}}),_=v;var e={id:"platform_primitives_tour",productId:"contractspec-platform",name:"Platform Primitives Tour",description:"Hands-on tour across identity, audit, notifications, jobs, flags, files, and metering.",targetUserSegment:"platform_developer",targetRole:"developer",totalXp:140,completionRewards:{xp:20,badgeKey:"platform_primitives"},steps:[{id:"identity_rbac",title:"Create org and member",description:"Create an org and add at least one member.",order:1,completion:{eventName:"org.member.added",sourceModule:"@contractspec/lib.identity-rbac"},xpReward:20,metadata:{surface:"identity"}},{id:"event_bus_audit",title:"Emit an auditable event",description:"Emit an event that lands in the audit log.",order:2,prerequisites:[{kind:"step_completed",stepId:"identity_rbac"}],completion:{eventName:"audit_log.created",sourceModule:"@contractspec/module.audit-trail"},xpReward:20,metadata:{surface:"bus+audit"}},{id:"notifications",title:"Send a notification",description:"Send yourself a notification and verify delivery.",order:3,prerequisites:[{kind:"step_completed",stepId:"event_bus_audit"}],completion:{eventName:"notification.sent",sourceModule:"@contractspec/module.notifications"},xpReward:20,metadata:{surface:"notifications"}},{id:"jobs_scheduler",title:"Schedule and run a job",description:"Schedule a background job and let it run once.",order:4,prerequisites:[{kind:"step_completed",stepId:"notifications"}],completion:{eventName:"job.completed",sourceModule:"@contractspec/lib.jobs"},xpReward:20,metadata:{surface:"jobs"}},{id:"feature_flags",title:"Create and toggle a feature flag",description:"Create a feature flag and toggle it at least once.",order:5,prerequisites:[{kind:"step_completed",stepId:"jobs_scheduler"}],completion:{eventName:"flag.toggled",sourceModule:"@contractspec/lib.feature-flags"},xpReward:20,metadata:{surface:"feature-flags"}},{id:"files_attachments",title:"Attach a file",description:"Upload and attach a file to any entity.",order:6,prerequisites:[{kind:"step_completed",stepId:"feature_flags"}],completion:{eventName:"attachment.attached",sourceModule:"@contractspec/lib.files"},xpReward:20,metadata:{surface:"files"}},{id:"usage_metering",title:"Record usage",description:"Emit a usage metric (regeneration, agent run, or similar).",order:7,prerequisites:[{kind:"step_completed",stepId:"files_attachments"}],completion:{eventName:"usage.recorded",sourceModule:"@contractspec/lib.metering"},xpReward:20,metadata:{surface:"metering"}}],metadata:{surfacedIn:["studio/learning","platform/dev-center"]}},K=[e];var b=["org.member.added","audit_log.created","notification.sent","job.completed","flag.toggled","attachment.attached","usage.recorded"],w=(i,{learnerId:r,occurredAt:d=new Date,payload:m},n)=>{let s={learnerId:r,name:i,occurredAt:d,payload:m,trackId:e.id};return n?n(s):s},D=(i,r)=>b.map((d)=>w(d,i,r));import{defineFeature as I}from"@contractspec/lib.contracts-spec/features";var Z=I({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});import{defineCommand as h,defineQuery as x}from"@contractspec/lib.contracts-spec";import{defineSchemaModel as a,ScalarTypeEnum as t}from"@contractspec/lib.schema";import{JourneyTrackModel as R}from"@contractspec/module.learning-journey/contracts/journey";var c=["examples.learning-journey.platform-tour"],o=R,y=a({name:"PlatformTourTrackResponse",description:"Response wrapper for platform tour track",fields:{track:{type:o,isOptional:!1}}}),k=a({name:"PlatformTourRecordEventInput",description:"Emit a demo event to advance platform tour steps",fields:{learnerId:{type:t.String_unsecure(),isOptional:!1},eventName:{type:t.String_unsecure(),isOptional:!1},payload:{type:t.JSON(),isOptional:!0},occurredAt:{type:t.DateTime(),isOptional:!0}}}),j=a({name:"PlatformTourSuccess",description:"Generic success response",fields:{success:{type:t.Boolean(),isOptional:!1}}}),q=x({meta:{key:"learningJourney.platformTour.getTrack",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Fetch platform primitives tour track definition.",goal:"Expose track metadata to UIs and templates.",context:"Called by Studio/Playground to render journey steps."},io:{input:a({name:"PlatformTourTrackInput",description:"Track input",fields:{}}),output:y},policy:{auth:"user"}}),N=h({meta:{key:"learningJourney.platformTour.recordEvent",version:"1.0.0",stability:"experimental",owners:[...c],tags:["learning","platform","tour"],description:"Record an event to advance platform tour progress.",goal:"Advance steps via domain events in demo/sandbox contexts.",context:"Called by handlers or demo scripts to emit step completion events."},io:{input:k,output:j},policy:{auth:"user"}}),O={GetPlatformTourTrack:q,RecordPlatformTourEvent:N,track:e};import{definePresentation as p,StabilityEnum as A}from"@contractspec/lib.contracts-spec";var l={domain:"learning-journey",title:"Platform Tour",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour"],stability:A.Experimental,goal:"Visualize platform tour progress",context:"Used in platform tour dashboard and widgets"},E=p({meta:{key:"learning.journey.platform.track",version:"1.0.0",description:"Platform primitives tour track detail",...l},source:{type:"component",framework:"react",componentKey:"LearningTrackDetail",props:o},targets:["react","markdown","application/json"]}),C=p({meta:{key:"learning.journey.platform.widget",version:"1.0.0",description:"Compact widget for platform tour progress",...l},source:{type:"component",framework:"react",componentKey:"LearningTrackProgressWidget"},targets:["react"]}),S=[E,C];export{S as platformTourPresentations,b as platformTourEvents,O as platformTourContracts,e as platformPrimitivesTourTrack,K as platformLearningTracks,_ as example,w as emitPlatformTourEvent,D as emitAllPlatformTourEvents,N as RecordPlatformTourEvent,C as PlatformTourWidgetPresentation,E as PlatformTourTrackPresentation,o as PlatformJourneyTrackModel,Z as LearningJourneyPlatformTourFeature,q as GetPlatformTourTrack,v as ExamplesLearningJourneyPlatformTourExample};
@@ -1 +1 @@
1
- import{defineFeature as g}from"@contractspec/lib.contracts-spec";var j=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});export{j as LearningJourneyPlatformTourFeature};
1
+ import{defineFeature as g}from"@contractspec/lib.contracts-spec/features";var j=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey: Platform Tour",description:"Platform primitives tour journey for exploring ContractSpec core features",domain:"learning-journey",owners:["@examples.learning-journey.platform-tour"],tags:["learning","platform","tour","journey"],stability:"experimental"},operations:[{key:"learningJourney.platformTour.recordEvent",version:"1.0.0"},{key:"learningJourney.platformTour.getTrack",version:"1.0.0"}],events:[],presentations:[{key:"learning.journey.platform.track",version:"1.0.0"},{key:"learning.journey.platform.widget",version:"1.0.0"}],opToPresentation:[{op:{key:"learningJourney.platformTour.getTrack",version:"1.0.0"},pres:{key:"learning.journey.platform.track",version:"1.0.0"}}],presentationsTargets:[{key:"learning.journey.platform.track",version:"1.0.0",targets:["react","markdown","application/json"]},{key:"learning.journey.platform.widget",version:"1.0.0",targets:["react"]}],capabilities:{requires:[{key:"identity",version:"1.0.0"}]},docs:["docs.learning-journey.platform-tour"]});export{j as LearningJourneyPlatformTourFeature};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/example.learning-journey-platform-tour",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "Learning journey track covering ContractSpec platform primitives.",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -91,14 +91,14 @@
91
91
  "typecheck": "tsc --noEmit"
92
92
  },
93
93
  "dependencies": {
94
- "@contractspec/lib.contracts-spec": "5.4.0",
94
+ "@contractspec/lib.contracts-spec": "5.5.0",
95
95
  "@contractspec/lib.schema": "3.7.14",
96
- "@contractspec/module.learning-journey": "4.0.0"
96
+ "@contractspec/module.learning-journey": "4.0.1"
97
97
  },
98
98
  "devDependencies": {
99
99
  "@contractspec/tool.typescript": "3.7.13",
100
100
  "typescript": "^5.9.3",
101
- "@contractspec/tool.bun": "3.7.14"
101
+ "@contractspec/tool.bun": "3.7.15"
102
102
  },
103
103
  "publishConfig": {
104
104
  "exports": {
package/src/example.ts CHANGED
@@ -1,33 +1,28 @@
1
- import { defineExample } from '@contractspec/lib.contracts-spec';
1
+ import { defineExample } from '@contractspec/lib.contracts-spec/examples';
2
2
 
3
- const example = defineExample({
3
+ const ExamplesLearningJourneyPlatformTourExample = defineExample({
4
4
  meta: {
5
- key: 'learning-journey-platform-tour',
5
+ key: 'examples.learning-journey-platform-tour',
6
6
  version: '1.0.0',
7
- title: 'Learning Journey Platform Tour',
7
+ title: 'Learning Journey Platform Tour',
8
8
  description:
9
- 'Learning journey track + contracts + presentations for a platform tour.',
9
+ 'Learning journey track covering ContractSpec platform primitives.',
10
10
  kind: 'template',
11
- visibility: 'public',
11
+ visibility: 'experimental',
12
12
  stability: 'experimental',
13
- owners: ['@platform.core'],
14
- tags: ['learning', 'journey', 'platform-tour'],
13
+ owners: ['@contractspec-core'],
14
+ tags: ['package', 'examples', 'learning-journey-platform-tour'],
15
15
  },
16
- docs: {
17
- rootDocId: 'docs.examples.platform-tour',
18
- goalDocId: 'docs.examples.platform-tour.goal',
19
- usageDocId: 'docs.examples.platform-tour.usage',
16
+ surfaces: {
17
+ templates: true,
18
+ sandbox: { enabled: true, modes: ['playground', 'specs'] },
19
+ studio: { enabled: false, installable: false },
20
+ mcp: { enabled: false },
20
21
  },
21
22
  entrypoints: {
22
23
  packageName: '@contractspec/example.learning-journey-platform-tour',
23
- docs: './docs',
24
- },
25
- surfaces: {
26
- templates: true,
27
- sandbox: { enabled: true, modes: ['markdown', 'playground'] },
28
- studio: { enabled: true, installable: true },
29
- mcp: { enabled: true },
30
24
  },
31
25
  });
32
26
 
33
- export default example;
27
+ export default ExamplesLearningJourneyPlatformTourExample;
28
+ export { ExamplesLearningJourneyPlatformTourExample };
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './docs';
2
+ export * from './example';
2
3
  export { default as example } from './example';
3
4
  export * from './handlers/demo.handlers';
4
5
  export * from './learning-journey-platform-tour.feature';
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Defines the feature module for platform primitives tour journey.
5
5
  */
6
- import { defineFeature } from '@contractspec/lib.contracts-spec';
6
+ import { defineFeature } from '@contractspec/lib.contracts-spec/features';
7
7
 
8
8
  /**
9
9
  * Learning Journey Platform Tour feature module that bundles