@contractspec/example.learning-journey-ambient-coach 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,34 +1,35 @@
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=6 noBundle=false
5
- Bundled 6 modules in 23ms
6
-
7
- docs/ambient-coach.docblock.js 1.13 KB (entry point)
8
- ./index.js 3.68 KB (entry point)
9
- docs/index.js 1.13 KB (entry point)
10
- ./example.js 0.72 KB (entry point)
11
- ./learning-journey-ambient-coach.feature.js 479 bytes (entry point)
12
- ./track.js 1.39 KB (entry point)
13
-
14
- [contractspec-bun-build] transpile target=node root=src entries=6 noBundle=false
15
- Bundled 6 modules in 56ms
16
-
17
- docs/ambient-coach.docblock.js 1.12 KB (entry point)
18
- ./index.js 3.66 KB (entry point)
19
- docs/index.js 1.12 KB (entry point)
20
- ./example.js 0.71 KB (entry point)
21
- ./learning-journey-ambient-coach.feature.js 471 bytes (entry point)
22
- ./track.js 1.38 KB (entry point)
23
-
24
- [contractspec-bun-build] transpile target=browser root=src entries=6 noBundle=false
25
- Bundled 6 modules in 28ms
26
-
27
- docs/ambient-coach.docblock.js 1.12 KB (entry point)
28
- ./index.js 3.66 KB (entry point)
29
- docs/index.js 1.12 KB (entry point)
30
- ./example.js 0.71 KB (entry point)
31
- ./learning-journey-ambient-coach.feature.js 471 bytes (entry point)
32
- ./track.js 1.38 KB (entry point)
33
-
34
- $ 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=6 noBundle=false
6
+ Bundled 6 modules in 39ms
7
+
8
+ docs/ambient-coach.docblock.js 1.13 KB (entry point)
9
+ ./index.js 3.71 KB (entry point)
10
+ docs/index.js 1.13 KB (entry point)
11
+ ./example.js 0.74 KB (entry point)
12
+ ./learning-journey-ambient-coach.feature.js 488 bytes (entry point)
13
+ ./track.js 1.39 KB (entry point)
14
+
15
+ [contractspec-bun-build] transpile target=node root=src entries=6 noBundle=false
16
+ Bundled 6 modules in 10ms
17
+
18
+ docs/ambient-coach.docblock.js 1.12 KB (entry point)
19
+ ./index.js 3.69 KB (entry point)
20
+ docs/index.js 1.12 KB (entry point)
21
+ ./example.js 0.73 KB (entry point)
22
+ ./learning-journey-ambient-coach.feature.js 480 bytes (entry point)
23
+ ./track.js 1.38 KB (entry point)
24
+
25
+ [contractspec-bun-build] transpile target=browser root=src entries=6 noBundle=false
26
+ Bundled 6 modules in 19ms
27
+
28
+ docs/ambient-coach.docblock.js 1.12 KB (entry point)
29
+ ./index.js 3.69 KB (entry point)
30
+ docs/index.js 1.12 KB (entry point)
31
+ ./example.js 0.73 KB (entry point)
32
+ ./learning-journey-ambient-coach.feature.js 480 bytes (entry point)
33
+ ./track.js 1.38 KB (entry point)
34
+
35
+ $ contractspec-bun-build types
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @contractspec/example.learning-journey-ambient-coach
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
+
3
15
  ## 4.0.0
4
16
 
5
17
  ### Major Changes
@@ -1 +1 @@
1
- import{defineExample as g}from"@contractspec/lib.contracts-spec";var h=g({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coaching pattern: lightweight nudges driven by context and recent progress.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","coaching","ambient"]},docs:{rootDocId:"docs.learning-journey.ambient-coach"},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","markdown"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),q=h;export{q as default};
1
+ import{defineExample as j}from"@contractspec/lib.contracts-spec/examples";var k=j({meta:{key:"examples.learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coach learning journey example with contextual tips and follow-up actions.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-ambient-coach"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach"}}),w=k;export{w as default,k as ExamplesLearningJourneyAmbientCoachExample};
@@ -1 +1 @@
1
- import{registerDocBlocks as s}from"@contractspec/lib.contracts-spec/docs";var a=[{id:"docs.learning-journey.ambient-coach",title:"Learning Journey — Ambient Coach",summary:"Context-aware coaching pattern that triggers tips, shows them, and marks completion when users act or acknowledge.",kind:"reference",visibility:"public",route:"/docs/learning-journey/ambient-coach",tags:["learning","coach","tips"],body:"## Tracks\n- `money_ambient_coach`: cash buffer too high, no savings goal, irregular savings\n- `coliving_ambient_coach`: noise late evening, guest frequency high, shared space conflicts\n\n## Steps & Events\n- Trigger tip: `coach.tip.triggered` (payload includes `tipId`)\n- Show tip (optional UI emission): `coach.tip.shown`\n- Complete when acknowledged or follow-up action taken:\n - `coach.tip.acknowledged`\n - `coach.tip.follow_up_action_taken`\n\n## Usage\n- Tracks export from `@contractspec/example.learning-journey-ambient-coach/track`.\n- Registry progression is event-driven; payload filters can scope tips per category.\n- XP/engagement can be awarded on completion of each tip step."}];s(a);import{defineExample as r}from"@contractspec/lib.contracts-spec";var g=r({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coaching pattern: lightweight nudges driven by context and recent progress.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","coaching","ambient"]},docs:{rootDocId:"docs.learning-journey.ambient-coach"},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","markdown"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),c=g;import{defineFeature as _}from"@contractspec/lib.contracts-spec";var y=_({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});var e=(i,n,o,t)=>({id:i,title:`Resolve tip: ${n}`,description:o,completion:{kind:"event",eventName:"coach.tip.follow_up_action_taken",payloadFilter:{tipId:n}},prerequisites:t?[{kind:"step_completed",stepId:t}]:void 0,xpReward:20,metadata:{tipId:n}}),h={id:"money_ambient_coach",name:"Ambient Coach — Money",description:"Subtle coaching for money patterns (cash buffer, goals, saving rhythm).",targetUserSegment:"money_user",totalXp:60,steps:[e("cash_buffer_too_high","cash_buffer_too_high","Suggest sweeping excess cash into goals."),e("no_savings_goal","no_savings_goal","Prompt setting a first savings goal.","cash_buffer_too_high"),e("irregular_savings","irregular_savings","Recommend recurring saves after irregular deposits.","no_savings_goal")]},u={id:"coliving_ambient_coach",name:"Ambient Coach — Coliving",description:"Contextual tips for healthy coliving habits.",targetUserSegment:"coliving",totalXp:60,steps:[e("noise_late_evening","noise_late_evening","Suggest updating quiet hours to reduce evening noise."),e("guest_frequency_high","guest_frequency_high","Set guest frequency expectations for the house.","noise_late_evening"),e("shared_space_conflicts","shared_space_conflicts","Offer a shared-space checklist to reduce conflicts.","guest_frequency_high")]},k=[h,u];export{h as moneyAmbientCoachTrack,c as example,u as colivingAmbientCoachTrack,k as ambientCoachTracks,y as LearningJourneyAmbientCoachFeature};
1
+ import{registerDocBlocks as o}from"@contractspec/lib.contracts-spec/docs";var r=[{id:"docs.learning-journey.ambient-coach",title:"Learning Journey — Ambient Coach",summary:"Context-aware coaching pattern that triggers tips, shows them, and marks completion when users act or acknowledge.",kind:"reference",visibility:"public",route:"/docs/learning-journey/ambient-coach",tags:["learning","coach","tips"],body:"## Tracks\n- `money_ambient_coach`: cash buffer too high, no savings goal, irregular savings\n- `coliving_ambient_coach`: noise late evening, guest frequency high, shared space conflicts\n\n## Steps & Events\n- Trigger tip: `coach.tip.triggered` (payload includes `tipId`)\n- Show tip (optional UI emission): `coach.tip.shown`\n- Complete when acknowledged or follow-up action taken:\n - `coach.tip.acknowledged`\n - `coach.tip.follow_up_action_taken`\n\n## Usage\n- Tracks export from `@contractspec/example.learning-journey-ambient-coach/track`.\n- Registry progression is event-driven; payload filters can scope tips per category.\n- XP/engagement can be awarded on completion of each tip step."}];o(r);import{defineExample as a}from"@contractspec/lib.contracts-spec/examples";var g=a({meta:{key:"examples.learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coach learning journey example with contextual tips and follow-up actions.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-ambient-coach"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach"}}),c=g;import{defineFeature as _}from"@contractspec/lib.contracts-spec/features";var y=_({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});var e=(i,t,s,n)=>({id:i,title:`Resolve tip: ${t}`,description:s,completion:{kind:"event",eventName:"coach.tip.follow_up_action_taken",payloadFilter:{tipId:t}},prerequisites:n?[{kind:"step_completed",stepId:n}]:void 0,xpReward:20,metadata:{tipId:t}}),h={id:"money_ambient_coach",name:"Ambient Coach — Money",description:"Subtle coaching for money patterns (cash buffer, goals, saving rhythm).",targetUserSegment:"money_user",totalXp:60,steps:[e("cash_buffer_too_high","cash_buffer_too_high","Suggest sweeping excess cash into goals."),e("no_savings_goal","no_savings_goal","Prompt setting a first savings goal.","cash_buffer_too_high"),e("irregular_savings","irregular_savings","Recommend recurring saves after irregular deposits.","no_savings_goal")]},u={id:"coliving_ambient_coach",name:"Ambient Coach — Coliving",description:"Contextual tips for healthy coliving habits.",targetUserSegment:"coliving",totalXp:60,steps:[e("noise_late_evening","noise_late_evening","Suggest updating quiet hours to reduce evening noise."),e("guest_frequency_high","guest_frequency_high","Set guest frequency expectations for the house.","noise_late_evening"),e("shared_space_conflicts","shared_space_conflicts","Offer a shared-space checklist to reduce conflicts.","guest_frequency_high")]},k=[h,u];export{h as moneyAmbientCoachTrack,c as example,u as colivingAmbientCoachTrack,k as ambientCoachTracks,y as LearningJourneyAmbientCoachFeature,g as ExamplesLearningJourneyAmbientCoachExample};
@@ -1 +1 @@
1
- import{defineFeature as g}from"@contractspec/lib.contracts-spec";var j=g({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});export{j as LearningJourneyAmbientCoachFeature};
1
+ import{defineFeature as g}from"@contractspec/lib.contracts-spec/features";var j=g({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});export{j as LearningJourneyAmbientCoachFeature};
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 ExamplesLearningJourneyAmbientCoachExample: import("@contractspec/lib.contracts-spec").ExampleSpec;
2
+ export default ExamplesLearningJourneyAmbientCoachExample;
3
+ export { ExamplesLearningJourneyAmbientCoachExample };
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-ambient-coach",version:"1.0.0",title:"Learning Journey \u2014 Ambient Coach",description:"Ambient coaching pattern: lightweight nudges driven by context and recent progress.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","coaching","ambient"]},docs:{rootDocId:"docs.learning-journey.ambient-coach"},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","markdown"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),q=h;export{q as default};
2
+ import{defineExample as j}from"@contractspec/lib.contracts-spec/examples";var k=j({meta:{key:"examples.learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coach learning journey example with contextual tips and follow-up actions.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-ambient-coach"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach"}}),w=k;export{w as default,k as ExamplesLearningJourneyAmbientCoachExample};
package/dist/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export { default as example } from './example';
2
2
  export * from './learning-journey-ambient-coach.feature';
3
3
  export * from './track';
4
4
  import './docs';
5
+ export * from './example';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{registerDocBlocks as s}from"@contractspec/lib.contracts-spec/docs";var a=[{id:"docs.learning-journey.ambient-coach",title:"Learning Journey \u2014 Ambient Coach",summary:"Context-aware coaching pattern that triggers tips, shows them, and marks completion when users act or acknowledge.",kind:"reference",visibility:"public",route:"/docs/learning-journey/ambient-coach",tags:["learning","coach","tips"],body:"## Tracks\n- `money_ambient_coach`: cash buffer too high, no savings goal, irregular savings\n- `coliving_ambient_coach`: noise late evening, guest frequency high, shared space conflicts\n\n## Steps & Events\n- Trigger tip: `coach.tip.triggered` (payload includes `tipId`)\n- Show tip (optional UI emission): `coach.tip.shown`\n- Complete when acknowledged or follow-up action taken:\n - `coach.tip.acknowledged`\n - `coach.tip.follow_up_action_taken`\n\n## Usage\n- Tracks export from `@contractspec/example.learning-journey-ambient-coach/track`.\n- Registry progression is event-driven; payload filters can scope tips per category.\n- XP/engagement can be awarded on completion of each tip step."}];s(a);import{defineExample as r}from"@contractspec/lib.contracts-spec";var g=r({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey \u2014 Ambient Coach",description:"Ambient coaching pattern: lightweight nudges driven by context and recent progress.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","coaching","ambient"]},docs:{rootDocId:"docs.learning-journey.ambient-coach"},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","markdown"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),c=g;import{defineFeature as _}from"@contractspec/lib.contracts-spec";var y=_({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});var e=(i,n,o,t)=>({id:i,title:`Resolve tip: ${n}`,description:o,completion:{kind:"event",eventName:"coach.tip.follow_up_action_taken",payloadFilter:{tipId:n}},prerequisites:t?[{kind:"step_completed",stepId:t}]:void 0,xpReward:20,metadata:{tipId:n}}),h={id:"money_ambient_coach",name:"Ambient Coach \u2014 Money",description:"Subtle coaching for money patterns (cash buffer, goals, saving rhythm).",targetUserSegment:"money_user",totalXp:60,steps:[e("cash_buffer_too_high","cash_buffer_too_high","Suggest sweeping excess cash into goals."),e("no_savings_goal","no_savings_goal","Prompt setting a first savings goal.","cash_buffer_too_high"),e("irregular_savings","irregular_savings","Recommend recurring saves after irregular deposits.","no_savings_goal")]},u={id:"coliving_ambient_coach",name:"Ambient Coach \u2014 Coliving",description:"Contextual tips for healthy coliving habits.",targetUserSegment:"coliving",totalXp:60,steps:[e("noise_late_evening","noise_late_evening","Suggest updating quiet hours to reduce evening noise."),e("guest_frequency_high","guest_frequency_high","Set guest frequency expectations for the house.","noise_late_evening"),e("shared_space_conflicts","shared_space_conflicts","Offer a shared-space checklist to reduce conflicts.","guest_frequency_high")]},k=[h,u];export{h as moneyAmbientCoachTrack,c as example,u as colivingAmbientCoachTrack,k as ambientCoachTracks,y as LearningJourneyAmbientCoachFeature};
2
+ import{registerDocBlocks as o}from"@contractspec/lib.contracts-spec/docs";var r=[{id:"docs.learning-journey.ambient-coach",title:"Learning Journey \u2014 Ambient Coach",summary:"Context-aware coaching pattern that triggers tips, shows them, and marks completion when users act or acknowledge.",kind:"reference",visibility:"public",route:"/docs/learning-journey/ambient-coach",tags:["learning","coach","tips"],body:"## Tracks\n- `money_ambient_coach`: cash buffer too high, no savings goal, irregular savings\n- `coliving_ambient_coach`: noise late evening, guest frequency high, shared space conflicts\n\n## Steps & Events\n- Trigger tip: `coach.tip.triggered` (payload includes `tipId`)\n- Show tip (optional UI emission): `coach.tip.shown`\n- Complete when acknowledged or follow-up action taken:\n - `coach.tip.acknowledged`\n - `coach.tip.follow_up_action_taken`\n\n## Usage\n- Tracks export from `@contractspec/example.learning-journey-ambient-coach/track`.\n- Registry progression is event-driven; payload filters can scope tips per category.\n- XP/engagement can be awarded on completion of each tip step."}];o(r);import{defineExample as a}from"@contractspec/lib.contracts-spec/examples";var g=a({meta:{key:"examples.learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coach learning journey example with contextual tips and follow-up actions.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-ambient-coach"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach"}}),c=g;import{defineFeature as _}from"@contractspec/lib.contracts-spec/features";var y=_({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});var e=(i,t,s,n)=>({id:i,title:`Resolve tip: ${t}`,description:s,completion:{kind:"event",eventName:"coach.tip.follow_up_action_taken",payloadFilter:{tipId:t}},prerequisites:n?[{kind:"step_completed",stepId:n}]:void 0,xpReward:20,metadata:{tipId:t}}),h={id:"money_ambient_coach",name:"Ambient Coach \u2014 Money",description:"Subtle coaching for money patterns (cash buffer, goals, saving rhythm).",targetUserSegment:"money_user",totalXp:60,steps:[e("cash_buffer_too_high","cash_buffer_too_high","Suggest sweeping excess cash into goals."),e("no_savings_goal","no_savings_goal","Prompt setting a first savings goal.","cash_buffer_too_high"),e("irregular_savings","irregular_savings","Recommend recurring saves after irregular deposits.","no_savings_goal")]},u={id:"coliving_ambient_coach",name:"Ambient Coach \u2014 Coliving",description:"Contextual tips for healthy coliving habits.",targetUserSegment:"coliving",totalXp:60,steps:[e("noise_late_evening","noise_late_evening","Suggest updating quiet hours to reduce evening noise."),e("guest_frequency_high","guest_frequency_high","Set guest frequency expectations for the house.","noise_late_evening"),e("shared_space_conflicts","shared_space_conflicts","Offer a shared-space checklist to reduce conflicts.","guest_frequency_high")]},k=[h,u];export{h as moneyAmbientCoachTrack,c as example,u as colivingAmbientCoachTrack,k as ambientCoachTracks,y as LearningJourneyAmbientCoachFeature,g as ExamplesLearningJourneyAmbientCoachExample};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{defineFeature as g}from"@contractspec/lib.contracts-spec";var j=g({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});export{j as LearningJourneyAmbientCoachFeature};
2
+ import{defineFeature as g}from"@contractspec/lib.contracts-spec/features";var j=g({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});export{j as LearningJourneyAmbientCoachFeature};
@@ -1 +1 @@
1
- import{defineExample as g}from"@contractspec/lib.contracts-spec";var h=g({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coaching pattern: lightweight nudges driven by context and recent progress.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","coaching","ambient"]},docs:{rootDocId:"docs.learning-journey.ambient-coach"},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","markdown"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),q=h;export{q as default};
1
+ import{defineExample as j}from"@contractspec/lib.contracts-spec/examples";var k=j({meta:{key:"examples.learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coach learning journey example with contextual tips and follow-up actions.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-ambient-coach"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach"}}),w=k;export{w as default,k as ExamplesLearningJourneyAmbientCoachExample};
@@ -1 +1 @@
1
- import{registerDocBlocks as s}from"@contractspec/lib.contracts-spec/docs";var a=[{id:"docs.learning-journey.ambient-coach",title:"Learning Journey — Ambient Coach",summary:"Context-aware coaching pattern that triggers tips, shows them, and marks completion when users act or acknowledge.",kind:"reference",visibility:"public",route:"/docs/learning-journey/ambient-coach",tags:["learning","coach","tips"],body:"## Tracks\n- `money_ambient_coach`: cash buffer too high, no savings goal, irregular savings\n- `coliving_ambient_coach`: noise late evening, guest frequency high, shared space conflicts\n\n## Steps & Events\n- Trigger tip: `coach.tip.triggered` (payload includes `tipId`)\n- Show tip (optional UI emission): `coach.tip.shown`\n- Complete when acknowledged or follow-up action taken:\n - `coach.tip.acknowledged`\n - `coach.tip.follow_up_action_taken`\n\n## Usage\n- Tracks export from `@contractspec/example.learning-journey-ambient-coach/track`.\n- Registry progression is event-driven; payload filters can scope tips per category.\n- XP/engagement can be awarded on completion of each tip step."}];s(a);import{defineExample as r}from"@contractspec/lib.contracts-spec";var g=r({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coaching pattern: lightweight nudges driven by context and recent progress.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","coaching","ambient"]},docs:{rootDocId:"docs.learning-journey.ambient-coach"},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","markdown"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),c=g;import{defineFeature as _}from"@contractspec/lib.contracts-spec";var y=_({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});var e=(i,n,o,t)=>({id:i,title:`Resolve tip: ${n}`,description:o,completion:{kind:"event",eventName:"coach.tip.follow_up_action_taken",payloadFilter:{tipId:n}},prerequisites:t?[{kind:"step_completed",stepId:t}]:void 0,xpReward:20,metadata:{tipId:n}}),h={id:"money_ambient_coach",name:"Ambient Coach — Money",description:"Subtle coaching for money patterns (cash buffer, goals, saving rhythm).",targetUserSegment:"money_user",totalXp:60,steps:[e("cash_buffer_too_high","cash_buffer_too_high","Suggest sweeping excess cash into goals."),e("no_savings_goal","no_savings_goal","Prompt setting a first savings goal.","cash_buffer_too_high"),e("irregular_savings","irregular_savings","Recommend recurring saves after irregular deposits.","no_savings_goal")]},u={id:"coliving_ambient_coach",name:"Ambient Coach — Coliving",description:"Contextual tips for healthy coliving habits.",targetUserSegment:"coliving",totalXp:60,steps:[e("noise_late_evening","noise_late_evening","Suggest updating quiet hours to reduce evening noise."),e("guest_frequency_high","guest_frequency_high","Set guest frequency expectations for the house.","noise_late_evening"),e("shared_space_conflicts","shared_space_conflicts","Offer a shared-space checklist to reduce conflicts.","guest_frequency_high")]},k=[h,u];export{h as moneyAmbientCoachTrack,c as example,u as colivingAmbientCoachTrack,k as ambientCoachTracks,y as LearningJourneyAmbientCoachFeature};
1
+ import{registerDocBlocks as o}from"@contractspec/lib.contracts-spec/docs";var r=[{id:"docs.learning-journey.ambient-coach",title:"Learning Journey — Ambient Coach",summary:"Context-aware coaching pattern that triggers tips, shows them, and marks completion when users act or acknowledge.",kind:"reference",visibility:"public",route:"/docs/learning-journey/ambient-coach",tags:["learning","coach","tips"],body:"## Tracks\n- `money_ambient_coach`: cash buffer too high, no savings goal, irregular savings\n- `coliving_ambient_coach`: noise late evening, guest frequency high, shared space conflicts\n\n## Steps & Events\n- Trigger tip: `coach.tip.triggered` (payload includes `tipId`)\n- Show tip (optional UI emission): `coach.tip.shown`\n- Complete when acknowledged or follow-up action taken:\n - `coach.tip.acknowledged`\n - `coach.tip.follow_up_action_taken`\n\n## Usage\n- Tracks export from `@contractspec/example.learning-journey-ambient-coach/track`.\n- Registry progression is event-driven; payload filters can scope tips per category.\n- XP/engagement can be awarded on completion of each tip step."}];o(r);import{defineExample as a}from"@contractspec/lib.contracts-spec/examples";var g=a({meta:{key:"examples.learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey Ambient Coach",description:"Ambient coach learning journey example with contextual tips and follow-up actions.",kind:"template",visibility:"experimental",stability:"experimental",owners:["@contractspec-core"],tags:["package","examples","learning-journey-ambient-coach"]},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["playground","specs"]},studio:{enabled:!1,installable:!1},mcp:{enabled:!1}},entrypoints:{packageName:"@contractspec/example.learning-journey-ambient-coach"}}),c=g;import{defineFeature as _}from"@contractspec/lib.contracts-spec/features";var y=_({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});var e=(i,t,s,n)=>({id:i,title:`Resolve tip: ${t}`,description:s,completion:{kind:"event",eventName:"coach.tip.follow_up_action_taken",payloadFilter:{tipId:t}},prerequisites:n?[{kind:"step_completed",stepId:n}]:void 0,xpReward:20,metadata:{tipId:t}}),h={id:"money_ambient_coach",name:"Ambient Coach — Money",description:"Subtle coaching for money patterns (cash buffer, goals, saving rhythm).",targetUserSegment:"money_user",totalXp:60,steps:[e("cash_buffer_too_high","cash_buffer_too_high","Suggest sweeping excess cash into goals."),e("no_savings_goal","no_savings_goal","Prompt setting a first savings goal.","cash_buffer_too_high"),e("irregular_savings","irregular_savings","Recommend recurring saves after irregular deposits.","no_savings_goal")]},u={id:"coliving_ambient_coach",name:"Ambient Coach — Coliving",description:"Contextual tips for healthy coliving habits.",targetUserSegment:"coliving",totalXp:60,steps:[e("noise_late_evening","noise_late_evening","Suggest updating quiet hours to reduce evening noise."),e("guest_frequency_high","guest_frequency_high","Set guest frequency expectations for the house.","noise_late_evening"),e("shared_space_conflicts","shared_space_conflicts","Offer a shared-space checklist to reduce conflicts.","guest_frequency_high")]},k=[h,u];export{h as moneyAmbientCoachTrack,c as example,u as colivingAmbientCoachTrack,k as ambientCoachTracks,y as LearningJourneyAmbientCoachFeature,g as ExamplesLearningJourneyAmbientCoachExample};
@@ -1 +1 @@
1
- import{defineFeature as g}from"@contractspec/lib.contracts-spec";var j=g({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});export{j as LearningJourneyAmbientCoachFeature};
1
+ import{defineFeature as g}from"@contractspec/lib.contracts-spec/features";var j=g({meta:{key:"learning-journey-ambient-coach",version:"1.0.0",title:"Learning Journey: Ambient Coach",description:"Contextual coaching track with ambient tips and follow-up actions",domain:"learning-journey",owners:["@examples"],tags:["learning","coaching","ambient","journey"],stability:"experimental"},docs:["docs.learning-journey.ambient-coach"]});export{j as LearningJourneyAmbientCoachFeature};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/example.learning-journey-ambient-coach",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "Ambient coach learning journey example with contextual tips and follow-up actions.",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -64,13 +64,13 @@
64
64
  "typecheck": "tsc --noEmit"
65
65
  },
66
66
  "dependencies": {
67
- "@contractspec/module.learning-journey": "4.0.0",
68
- "@contractspec/lib.contracts-spec": "5.4.0"
67
+ "@contractspec/module.learning-journey": "4.0.1",
68
+ "@contractspec/lib.contracts-spec": "5.5.0"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@contractspec/tool.typescript": "3.7.13",
72
72
  "typescript": "^5.9.3",
73
- "@contractspec/tool.bun": "3.7.14"
73
+ "@contractspec/tool.bun": "3.7.15"
74
74
  },
75
75
  "publishConfig": {
76
76
  "exports": {
package/src/example.ts CHANGED
@@ -1,31 +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 ExamplesLearningJourneyAmbientCoachExample = defineExample({
4
4
  meta: {
5
- key: 'learning-journey-ambient-coach',
5
+ key: 'examples.learning-journey-ambient-coach',
6
6
  version: '1.0.0',
7
- title: 'Learning Journey Ambient Coach',
7
+ title: 'Learning Journey Ambient Coach',
8
8
  description:
9
- 'Ambient coaching pattern: lightweight nudges driven by context and recent progress.',
9
+ 'Ambient coach learning journey example with contextual tips and follow-up actions.',
10
10
  kind: 'template',
11
- visibility: 'public',
11
+ visibility: 'experimental',
12
12
  stability: 'experimental',
13
- owners: ['@platform.core'],
14
- tags: ['learning', 'coaching', 'ambient'],
13
+ owners: ['@contractspec-core'],
14
+ tags: ['package', 'examples', 'learning-journey-ambient-coach'],
15
15
  },
16
- docs: {
17
- rootDocId: 'docs.learning-journey.ambient-coach',
16
+ surfaces: {
17
+ templates: true,
18
+ sandbox: { enabled: true, modes: ['playground', 'specs'] },
19
+ studio: { enabled: false, installable: false },
20
+ mcp: { enabled: false },
18
21
  },
19
22
  entrypoints: {
20
23
  packageName: '@contractspec/example.learning-journey-ambient-coach',
21
- docs: './docs',
22
- },
23
- surfaces: {
24
- templates: true,
25
- sandbox: { enabled: true, modes: ['playground', 'markdown'] },
26
- studio: { enabled: true, installable: true },
27
- mcp: { enabled: true },
28
24
  },
29
25
  });
30
26
 
31
- export default example;
27
+ export default ExamplesLearningJourneyAmbientCoachExample;
28
+ export { ExamplesLearningJourneyAmbientCoachExample };
package/src/index.ts CHANGED
@@ -2,3 +2,5 @@ export { default as example } from './example';
2
2
  export * from './learning-journey-ambient-coach.feature';
3
3
  export * from './track';
4
4
  import './docs';
5
+
6
+ export * from './example';
@@ -1,4 +1,4 @@
1
- import { defineFeature } from '@contractspec/lib.contracts-spec';
1
+ import { defineFeature } from '@contractspec/lib.contracts-spec/features';
2
2
 
3
3
  export const LearningJourneyAmbientCoachFeature = defineFeature({
4
4
  meta: {