@lssm/example.learning-journey-platform-tour 0.0.0-canary-20251217080011 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/.turbo/turbo-build.log +20 -11
  2. package/dist/contracts/index.js +1 -178
  3. package/dist/docs/index.js +1 -1
  4. package/dist/docs/platform-tour.docblock.js +1 -42
  5. package/dist/example.js +1 -38
  6. package/dist/handlers/demo.handlers.js +1 -26
  7. package/dist/index.js +1 -9
  8. package/dist/learning-journey-platform-tour.feature.js +1 -66
  9. package/dist/presentations/index.js +1 -49
  10. package/dist/track.js +1 -105
  11. package/package.json +15 -17
  12. package/tsconfig.tsbuildinfo +1 -1
  13. package/.turbo/turbo-build$colon$bundle.log +0 -220
  14. package/CHANGELOG.md +0 -14
  15. package/dist/contracts/index.d.ts +0 -270
  16. package/dist/docs/index.d.ts +0 -1
  17. package/dist/docs/platform-tour.docblock.d.ts +0 -1
  18. package/dist/example.d.ts +0 -34
  19. package/dist/handlers/demo.handlers.d.ts +0 -24
  20. package/dist/index.d.ts +0 -7
  21. package/dist/learning-journey-platform-tour.feature.d.ts +0 -11
  22. package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -88
  23. package/dist/libs/contracts/dist/client/index.js +0 -5
  24. package/dist/libs/contracts/dist/client/react/feature-render.js +0 -2
  25. package/dist/libs/contracts/dist/client/react/form-render.js +0 -4
  26. package/dist/libs/contracts/dist/client/react/index.js +0 -4
  27. package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
  28. package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -60
  29. package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
  30. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
  31. package/dist/libs/contracts/dist/docs/index.js +0 -29
  32. package/dist/libs/contracts/dist/docs/presentations.js +0 -71
  33. package/dist/libs/contracts/dist/docs/registry.js +0 -44
  34. package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
  35. package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
  36. package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
  37. package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
  38. package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
  39. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
  40. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
  41. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
  42. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
  43. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
  44. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
  45. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
  46. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
  47. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
  48. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
  49. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
  50. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
  51. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
  52. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
  53. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
  54. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
  55. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
  56. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
  57. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
  58. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
  59. package/dist/libs/contracts/dist/events.js +0 -1
  60. package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
  61. package/dist/libs/contracts/dist/index.js +0 -71
  62. package/dist/libs/contracts/dist/install.js +0 -2
  63. package/dist/libs/contracts/dist/integrations/contracts.js +0 -377
  64. package/dist/libs/contracts/dist/integrations/index.js +0 -18
  65. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
  66. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
  67. package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
  68. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
  69. package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -242
  70. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -13
  71. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
  72. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
  73. package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
  74. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
  75. package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
  76. package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
  77. package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
  78. package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
  79. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
  80. package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
  81. package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
  82. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
  83. package/dist/libs/contracts/dist/jsonschema.js +0 -1
  84. package/dist/libs/contracts/dist/knowledge/contracts.js +0 -306
  85. package/dist/libs/contracts/dist/knowledge/index.js +0 -7
  86. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
  87. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
  88. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
  89. package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
  90. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
  91. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
  92. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
  93. package/dist/libs/contracts/dist/llm/exporters.js +0 -19
  94. package/dist/libs/contracts/dist/llm/index.js +0 -2
  95. package/dist/libs/contracts/dist/llm/prompts.js +0 -1
  96. package/dist/libs/contracts/dist/onboarding-base.js +0 -196
  97. package/dist/libs/contracts/dist/openapi.js +0 -1
  98. package/dist/libs/contracts/dist/ownership.js +0 -21
  99. package/dist/libs/contracts/dist/presentations.js +0 -1
  100. package/dist/libs/contracts/dist/presentations.v2.js +0 -11
  101. package/dist/libs/contracts/dist/prompt.js +0 -1
  102. package/dist/libs/contracts/dist/promptRegistry.js +0 -1
  103. package/dist/libs/contracts/dist/regenerator/index.js +0 -1
  104. package/dist/libs/contracts/dist/regenerator/service.js +0 -6
  105. package/dist/libs/contracts/dist/registry.js +0 -2
  106. package/dist/libs/contracts/dist/resources.js +0 -1
  107. package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
  108. package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
  109. package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
  110. package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -34
  111. package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
  112. package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
  113. package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
  114. package/dist/libs/contracts/dist/schema/dist/index.js +0 -6
  115. package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
  116. package/dist/libs/contracts/dist/server/index.js +0 -8
  117. package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
  118. package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
  119. package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
  120. package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
  121. package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
  122. package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
  123. package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
  124. package/dist/libs/contracts/dist/server/rest-express.js +0 -1
  125. package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
  126. package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
  127. package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
  128. package/dist/libs/contracts/dist/spec.js +0 -34
  129. package/dist/libs/contracts/dist/telemetry/index.js +0 -1
  130. package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
  131. package/dist/libs/contracts/dist/tests/index.js +0 -1
  132. package/dist/libs/contracts/dist/tests/runner.js +0 -2
  133. package/dist/libs/contracts/dist/workflow/index.js +0 -1
  134. package/dist/libs/contracts/dist/workflow/runner.js +0 -1
  135. package/dist/libs/schema/dist/EnumType.js +0 -2
  136. package/dist/libs/schema/dist/FieldType.js +0 -49
  137. package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
  138. package/dist/libs/schema/dist/SchemaModel.js +0 -39
  139. package/dist/libs/schema/dist/entity/defineEntity.js +0 -1
  140. package/dist/libs/schema/dist/entity/index.js +0 -2
  141. package/dist/libs/schema/dist/entity/types.js +0 -1
  142. package/dist/libs/schema/dist/index.js +0 -6
  143. package/dist/presentations/index.d.ts +0 -8
  144. package/dist/track.d.ts +0 -7
@@ -1,11 +1,20 @@
1
-
2
- $ bun build:bundle && bun build:types
3
- $ tsdown
4
- ℹ tsdown v0.17.4 powered by rolldown v1.0.0-beta.53
5
- ℹ config file: /Users/tboutron/Documents/clients/lssm/monorepo-lssm/packages/contractspec/packages/examples/learning-journey-platform-tour/tsdown.config.js (unrun)
6
- ℹ entry: src/example.ts, src/index.ts, src/learning-journey-platform-tour.feature.ts, src/track.ts, src/contracts/index.ts, src/docs/index.ts, src/docs/platform-tour.docblock.ts, src/handlers/demo.handlers.ts, src/presentations/index.ts
7
- ℹ target: esnext
8
- ℹ tsconfig: tsconfig.json
9
- ℹ Build start
10
- ℹ Cleaning 13 files
11
- error: script "build" was terminated by signal SIGHUP (Terminal hung up)
1
+ $ bun build:bundle && bun build:types
2
+ $ tsdown
3
+ ℹ tsdown v0.17.4 powered by rolldown v1.0.0-beta.53
4
+ ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/learning-journey-platform-tour/tsdown.config.js
5
+ ℹ entry: src/example.ts, src/index.ts, src/learning-journey-platform-tour.feature.ts, src/track.ts, src/contracts/index.ts, src/docs/index.ts, src/docs/platform-tour.docblock.ts, src/handlers/demo.handlers.ts, src/presentations/index.ts
6
+ ℹ target: esnext
7
+ ℹ tsconfig: tsconfig.json
8
+ ℹ Build start
9
+ ℹ dist/contracts/index.js 2.81 kB │ gzip: 0.91 kB
10
+ ℹ dist/track.js 2.18 kB │ gzip: 0.80 kB
11
+ ℹ dist/docs/platform-tour.docblock.js 1.38 kB  gzip: 0.73 kB
12
+ ℹ dist/index.js 1.06 kB │ gzip: 0.35 kB
13
+ ℹ dist/learning-journey-platform-tour.feature.js 1.02 kB │ gzip: 0.40 kB
14
+ ℹ dist/presentations/index.js 0.78 kB │ gzip: 0.37 kB
15
+ ℹ dist/example.js 0.63 kB │ gzip: 0.35 kB
16
+ ℹ dist/handlers/demo.handlers.js 0.45 kB │ gzip: 0.30 kB
17
+ ℹ dist/docs/index.js 0.04 kB │ gzip: 0.06 kB
18
+ ℹ 9 files, total: 10.34 kB
19
+ ✔ Build complete in 67ms
20
+ $ tsc --noEmit
@@ -1,178 +1 @@
1
- import { platformPrimitivesTourTrack } from "../track.js";
2
- import { ScalarTypeEnum } from "../libs/schema/dist/ScalarTypeEnum.js";
3
- import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
4
- import "../libs/schema/dist/index.js";
5
- import { defineCommand, defineQuery } from "../libs/contracts/dist/spec.js";
6
- import "../libs/contracts/dist/index.js";
7
-
8
- //#region src/contracts/index.ts
9
- const OWNERS = ["examples.learning-journey.platform-tour"];
10
- const StepModel = defineSchemaModel({
11
- name: "PlatformTourStep",
12
- description: "Step metadata for platform primitives tour",
13
- fields: {
14
- id: {
15
- type: ScalarTypeEnum.String_unsecure(),
16
- isOptional: false
17
- },
18
- title: {
19
- type: ScalarTypeEnum.String_unsecure(),
20
- isOptional: false
21
- },
22
- description: {
23
- type: ScalarTypeEnum.String_unsecure(),
24
- isOptional: true
25
- },
26
- completionEvent: {
27
- type: ScalarTypeEnum.String_unsecure(),
28
- isOptional: false
29
- },
30
- sourceModule: {
31
- type: ScalarTypeEnum.String_unsecure(),
32
- isOptional: true
33
- },
34
- xpReward: {
35
- type: ScalarTypeEnum.Int_unsecure(),
36
- isOptional: true
37
- },
38
- order: {
39
- type: ScalarTypeEnum.Int_unsecure(),
40
- isOptional: true
41
- }
42
- }
43
- });
44
- const PlatformTourTrackModel = defineSchemaModel({
45
- name: "PlatformTourTrack",
46
- description: "Platform primitives tour track definition",
47
- fields: {
48
- id: {
49
- type: ScalarTypeEnum.String_unsecure(),
50
- isOptional: false
51
- },
52
- name: {
53
- type: ScalarTypeEnum.String_unsecure(),
54
- isOptional: false
55
- },
56
- description: {
57
- type: ScalarTypeEnum.String_unsecure(),
58
- isOptional: true
59
- },
60
- totalXp: {
61
- type: ScalarTypeEnum.Int_unsecure(),
62
- isOptional: true
63
- },
64
- completionXpBonus: {
65
- type: ScalarTypeEnum.Int_unsecure(),
66
- isOptional: true
67
- },
68
- completionBadgeKey: {
69
- type: ScalarTypeEnum.String_unsecure(),
70
- isOptional: true
71
- },
72
- streakHoursWindow: {
73
- type: ScalarTypeEnum.Int_unsecure(),
74
- isOptional: true
75
- },
76
- streakBonusXp: {
77
- type: ScalarTypeEnum.Int_unsecure(),
78
- isOptional: true
79
- },
80
- steps: {
81
- type: StepModel,
82
- isArray: true,
83
- isOptional: false
84
- }
85
- }
86
- });
87
- const TrackResponseModel = defineSchemaModel({
88
- name: "PlatformTourTrackResponse",
89
- description: "Response wrapper for platform tour track",
90
- fields: { track: {
91
- type: PlatformTourTrackModel,
92
- isOptional: false
93
- } }
94
- });
95
- const RecordDemoEventInput = defineSchemaModel({
96
- name: "PlatformTourRecordEventInput",
97
- description: "Emit a demo event to advance platform tour steps",
98
- fields: {
99
- learnerId: {
100
- type: ScalarTypeEnum.String_unsecure(),
101
- isOptional: false
102
- },
103
- eventName: {
104
- type: ScalarTypeEnum.String_unsecure(),
105
- isOptional: false
106
- },
107
- payload: {
108
- type: ScalarTypeEnum.JSON(),
109
- isOptional: true
110
- },
111
- occurredAt: {
112
- type: ScalarTypeEnum.DateTime(),
113
- isOptional: true
114
- }
115
- }
116
- });
117
- const SuccessModel = defineSchemaModel({
118
- name: "PlatformTourSuccess",
119
- description: "Generic success response",
120
- fields: { success: {
121
- type: ScalarTypeEnum.Boolean(),
122
- isOptional: false
123
- } }
124
- });
125
- const GetPlatformTourTrack = defineQuery({
126
- meta: {
127
- name: "learningJourney.platformTour.getTrack",
128
- version: 1,
129
- stability: "experimental",
130
- owners: [...OWNERS],
131
- tags: [
132
- "learning",
133
- "platform",
134
- "tour"
135
- ],
136
- description: "Fetch platform primitives tour track definition.",
137
- goal: "Expose track metadata to UIs and templates.",
138
- context: "Called by Studio/Playground to render journey steps."
139
- },
140
- io: {
141
- input: defineSchemaModel({
142
- name: "PlatformTourTrackInput",
143
- description: "Track input",
144
- fields: {}
145
- }),
146
- output: TrackResponseModel
147
- },
148
- policy: { auth: "user" }
149
- });
150
- const RecordPlatformTourEvent = defineCommand({
151
- meta: {
152
- name: "learningJourney.platformTour.recordEvent",
153
- version: 1,
154
- stability: "experimental",
155
- owners: [...OWNERS],
156
- tags: [
157
- "learning",
158
- "platform",
159
- "tour"
160
- ],
161
- description: "Record an event to advance platform tour progress.",
162
- goal: "Advance steps via domain events in demo/sandbox contexts.",
163
- context: "Called by handlers or demo scripts to emit step completion events."
164
- },
165
- io: {
166
- input: RecordDemoEventInput,
167
- output: SuccessModel
168
- },
169
- policy: { auth: "user" }
170
- });
171
- const platformTourContracts = {
172
- GetPlatformTourTrack,
173
- RecordPlatformTourEvent,
174
- track: platformPrimitivesTourTrack
175
- };
176
-
177
- //#endregion
178
- export { GetPlatformTourTrack, PlatformTourTrackModel, RecordPlatformTourEvent, platformTourContracts };
1
+ import{platformPrimitivesTourTrack as e}from"../track.js";import{ScalarTypeEnum as t,defineSchemaModel as n}from"@lssm/lib.schema";import{defineCommand as r,defineQuery as i}from"@lssm/lib.contracts";const a=[`examples.learning-journey.platform-tour`],o=n({name:`PlatformTourStep`,description:`Step metadata for platform primitives tour`,fields:{id:{type:t.String_unsecure(),isOptional:!1},title:{type:t.String_unsecure(),isOptional:!1},description:{type:t.String_unsecure(),isOptional:!0},completionEvent:{type:t.String_unsecure(),isOptional:!1},sourceModule:{type:t.String_unsecure(),isOptional:!0},xpReward:{type:t.Int_unsecure(),isOptional:!0},order:{type:t.Int_unsecure(),isOptional:!0}}}),s=n({name:`PlatformTourTrack`,description:`Platform primitives tour track definition`,fields:{id:{type:t.String_unsecure(),isOptional:!1},name:{type:t.String_unsecure(),isOptional:!1},description:{type:t.String_unsecure(),isOptional:!0},totalXp:{type:t.Int_unsecure(),isOptional:!0},completionXpBonus:{type:t.Int_unsecure(),isOptional:!0},completionBadgeKey:{type:t.String_unsecure(),isOptional:!0},streakHoursWindow:{type:t.Int_unsecure(),isOptional:!0},streakBonusXp:{type:t.Int_unsecure(),isOptional:!0},steps:{type:o,isArray:!0,isOptional:!1}}}),c=n({name:`PlatformTourTrackResponse`,description:`Response wrapper for platform tour track`,fields:{track:{type:s,isOptional:!1}}}),l=n({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}}}),u=n({name:`PlatformTourSuccess`,description:`Generic success response`,fields:{success:{type:t.Boolean(),isOptional:!1}}}),d=i({meta:{name:`learningJourney.platformTour.getTrack`,version:1,stability:`experimental`,owners:[...a],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:n({name:`PlatformTourTrackInput`,description:`Track input`,fields:{}}),output:c},policy:{auth:`user`}}),f=r({meta:{name:`learningJourney.platformTour.recordEvent`,version:1,stability:`experimental`,owners:[...a],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:l,output:u},policy:{auth:`user`}}),p={GetPlatformTourTrack:d,RecordPlatformTourEvent:f,track:e};export{d as GetPlatformTourTrack,s as PlatformTourTrackModel,f as RecordPlatformTourEvent,p as platformTourContracts};
@@ -1 +1 @@
1
- import "./platform-tour.docblock.js";
1
+ import"./platform-tour.docblock.js";
@@ -1,42 +1 @@
1
- import { registerDocBlocks } from "../libs/contracts/dist/docs/registry.js";
2
- import "../libs/contracts/dist/docs/index.js";
3
-
4
- //#region src/docs/platform-tour.docblock.ts
5
- registerDocBlocks([{
6
- id: "docs.learning-journey.platform-tour",
7
- title: "Learning Journey — Platform Primitives Tour",
8
- summary: "Cross-module tour that touches identity, audit, notifications, jobs, feature flags, files, and metering.",
9
- kind: "reference",
10
- visibility: "public",
11
- route: "/docs/learning-journey/platform-tour",
12
- tags: [
13
- "learning",
14
- "platform",
15
- "onboarding"
16
- ],
17
- body: `## Track
18
- - **Key**: \`platform_primitives_tour\`
19
- - **Persona**: platform developer exploring primitives
20
- - **Goal**: Touch each cross-cutting module once, event-driven completion
21
-
22
- ## Steps & Events
23
- 1) \`identity_rbac\` → \`org.member.added\`
24
- 2) \`event_bus_audit\` → \`audit_log.created\`
25
- 3) \`notifications\` → \`notification.sent\`
26
- 4) \`jobs_scheduler\` → \`job.completed\`
27
- 5) \`feature_flags\` → \`flag.toggled\`
28
- 6) \`files_attachments\` → \`attachment.attached\`
29
- 7) \`usage_metering\` → \`usage.recorded\`
30
-
31
- XP: 20 per step, 20 bonus XP upon completion.
32
-
33
- ## Wiring
34
- - Tracks export from \`@lssm/example.learning-journey-platform-tour/track\`.
35
- - Use onboarding API to surface progress:
36
- - \`learning.onboarding.listTracks\`
37
- - \`learning.onboarding.getProgress\`
38
- - \`learning.onboarding.recordEvent\` wired from each module's event bus handlers.
39
- - Align event payloads with modules: identity-rbac, audit-trail, notifications, jobs, feature-flags, files, metering.`
40
- }]);
41
-
42
- //#endregion
1
+ import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{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 `@lssm/example.learning-journey-platform-tour/track`.\n- Use onboarding API to surface progress:\n - `learning.onboarding.listTracks`\n - `learning.onboarding.getProgress`\n - `learning.onboarding.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."}]);
package/dist/example.js CHANGED
@@ -1,38 +1 @@
1
- //#region src/example.ts
2
- const example = {
3
- id: "learning-journey-platform-tour",
4
- title: "Learning Journey — Platform Tour",
5
- summary: "Learning journey track + contracts + presentations for a platform tour.",
6
- tags: [
7
- "learning",
8
- "journey",
9
- "platform-tour"
10
- ],
11
- kind: "template",
12
- visibility: "public",
13
- docs: {
14
- rootDocId: "docs.examples.platform-tour",
15
- goalDocId: "docs.examples.platform-tour.goal",
16
- usageDocId: "docs.examples.platform-tour.usage"
17
- },
18
- entrypoints: {
19
- packageName: "@lssm/example.learning-journey-platform-tour",
20
- docs: "./docs"
21
- },
22
- surfaces: {
23
- templates: true,
24
- sandbox: {
25
- enabled: true,
26
- modes: ["markdown", "playground"]
27
- },
28
- studio: {
29
- enabled: true,
30
- installable: true
31
- },
32
- mcp: { enabled: true }
33
- }
34
- };
35
- var example_default = example;
36
-
37
- //#endregion
38
- export { example_default as default };
1
+ var e={id:`learning-journey-platform-tour`,title:`Learning Journey — Platform Tour`,summary:`Learning journey track + contracts + presentations for a platform tour.`,tags:[`learning`,`journey`,`platform-tour`],kind:`template`,visibility:`public`,docs:{rootDocId:`docs.examples.platform-tour`,goalDocId:`docs.examples.platform-tour.goal`,usageDocId:`docs.examples.platform-tour.usage`},entrypoints:{packageName:`@lssm/example.learning-journey-platform-tour`,docs:`./docs`},surfaces:{templates:!0,sandbox:{enabled:!0,modes:[`markdown`,`playground`]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}};export{e as default};
@@ -1,26 +1 @@
1
- import { platformPrimitivesTourTrack } from "../track.js";
2
-
3
- //#region src/handlers/demo.handlers.ts
4
- const platformTourEvents = [
5
- "org.member.added",
6
- "audit_log.created",
7
- "notification.sent",
8
- "job.completed",
9
- "flag.toggled",
10
- "attachment.attached",
11
- "usage.recorded"
12
- ];
13
- const emitPlatformTourEvent = (eventName, { learnerId, occurredAt = /* @__PURE__ */ new Date(), payload }, record) => {
14
- const event = {
15
- learnerId,
16
- name: eventName,
17
- occurredAt,
18
- payload,
19
- trackId: platformPrimitivesTourTrack.id
20
- };
21
- return record ? record(event) : event;
22
- };
23
- const emitAllPlatformTourEvents = (params, record) => platformTourEvents.map((name) => emitPlatformTourEvent(name, params, record));
24
-
25
- //#endregion
26
- export { emitAllPlatformTourEvents, emitPlatformTourEvent, platformTourEvents };
1
+ import{platformPrimitivesTourTrack as e}from"../track.js";const t=[`org.member.added`,`audit_log.created`,`notification.sent`,`job.completed`,`flag.toggled`,`attachment.attached`,`usage.recorded`],n=(t,{learnerId:n,occurredAt:r=new Date,payload:i},a)=>{let o={learnerId:n,name:t,occurredAt:r,payload:i,trackId:e.id};return a?a(o):o},r=(e,r)=>t.map(t=>n(t,e,r));export{r as emitAllPlatformTourEvents,n as emitPlatformTourEvent,t as platformTourEvents};
package/dist/index.js CHANGED
@@ -1,9 +1 @@
1
- import example_default from "./example.js";
2
- import { platformLearningTracks, platformPrimitivesTourTrack } from "./track.js";
3
- import "./docs/index.js";
4
- import { GetPlatformTourTrack, PlatformTourTrackModel, RecordPlatformTourEvent, platformTourContracts } from "./contracts/index.js";
5
- import { emitAllPlatformTourEvents, emitPlatformTourEvent, platformTourEvents } from "./handlers/demo.handlers.js";
6
- import { PlatformTourTrackPresentation, PlatformTourWidgetPresentation, platformTourPresentations } from "./presentations/index.js";
7
- import { LearningJourneyPlatformTourFeature } from "./learning-journey-platform-tour.feature.js";
8
-
9
- export { GetPlatformTourTrack, LearningJourneyPlatformTourFeature, PlatformTourTrackModel, PlatformTourTrackPresentation, PlatformTourWidgetPresentation, RecordPlatformTourEvent, emitAllPlatformTourEvents, emitPlatformTourEvent, example_default as example, platformLearningTracks, platformPrimitivesTourTrack, platformTourContracts, platformTourEvents, platformTourPresentations };
1
+ import e from"./example.js";import{platformLearningTracks as t,platformPrimitivesTourTrack as n}from"./track.js";import"./docs/index.js";import{GetPlatformTourTrack as r,PlatformTourTrackModel as i,RecordPlatformTourEvent as a,platformTourContracts as o}from"./contracts/index.js";import{emitAllPlatformTourEvents as s,emitPlatformTourEvent as c,platformTourEvents as l}from"./handlers/demo.handlers.js";import{PlatformTourTrackPresentation as u,PlatformTourWidgetPresentation as d,platformTourPresentations as f}from"./presentations/index.js";import{LearningJourneyPlatformTourFeature as p}from"./learning-journey-platform-tour.feature.js";export{r as GetPlatformTourTrack,p as LearningJourneyPlatformTourFeature,i as PlatformTourTrackModel,u as PlatformTourTrackPresentation,d as PlatformTourWidgetPresentation,a as RecordPlatformTourEvent,s as emitAllPlatformTourEvents,c as emitPlatformTourEvent,e as example,t as platformLearningTracks,n as platformPrimitivesTourTrack,o as platformTourContracts,l as platformTourEvents,f as platformTourPresentations};
@@ -1,66 +1 @@
1
- //#region src/learning-journey-platform-tour.feature.ts
2
- /**
3
- * Learning Journey Platform Tour feature module that bundles
4
- * platform-specific tour track operations and presentations.
5
- */
6
- const LearningJourneyPlatformTourFeature = {
7
- meta: {
8
- key: "learning-journey-platform-tour",
9
- title: "Learning Journey: Platform Tour",
10
- description: "Platform primitives tour journey for exploring ContractSpec core features",
11
- domain: "learning-journey",
12
- owners: ["@examples.learning-journey.platform-tour"],
13
- tags: [
14
- "learning",
15
- "platform",
16
- "tour",
17
- "journey"
18
- ],
19
- stability: "experimental"
20
- },
21
- operations: [{
22
- name: "learningJourney.platformTour.recordEvent",
23
- version: 1
24
- }, {
25
- name: "learningJourney.platformTour.getTrack",
26
- version: 1
27
- }],
28
- events: [],
29
- presentations: [{
30
- name: "learning.journey.platform.track",
31
- version: 1
32
- }, {
33
- name: "learning.journey.platform.widget",
34
- version: 1
35
- }],
36
- opToPresentation: [{
37
- op: {
38
- name: "learningJourney.platformTour.getTrack",
39
- version: 1
40
- },
41
- pres: {
42
- name: "learning.journey.platform.track",
43
- version: 1
44
- }
45
- }],
46
- presentationsTargets: [{
47
- name: "learning.journey.platform.track",
48
- version: 1,
49
- targets: [
50
- "react",
51
- "markdown",
52
- "application/json"
53
- ]
54
- }, {
55
- name: "learning.journey.platform.widget",
56
- version: 1,
57
- targets: ["react"]
58
- }],
59
- capabilities: { requires: [{
60
- key: "identity",
61
- version: 1
62
- }] }
63
- };
64
-
65
- //#endregion
66
- export { LearningJourneyPlatformTourFeature };
1
+ const e={meta:{key:`learning-journey-platform-tour`,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:[{name:`learningJourney.platformTour.recordEvent`,version:1},{name:`learningJourney.platformTour.getTrack`,version:1}],events:[],presentations:[{name:`learning.journey.platform.track`,version:1},{name:`learning.journey.platform.widget`,version:1}],opToPresentation:[{op:{name:`learningJourney.platformTour.getTrack`,version:1},pres:{name:`learning.journey.platform.track`,version:1}}],presentationsTargets:[{name:`learning.journey.platform.track`,version:1,targets:[`react`,`markdown`,`application/json`]},{name:`learning.journey.platform.widget`,version:1,targets:[`react`]}],capabilities:{requires:[{key:`identity`,version:1}]}};export{e as LearningJourneyPlatformTourFeature};
@@ -1,49 +1 @@
1
- import { PlatformTourTrackModel } from "../contracts/index.js";
2
-
3
- //#region src/presentations/index.ts
4
- const baseMeta = {
5
- domain: "learning-journey",
6
- owners: ["examples.learning-journey.platform-tour"],
7
- tags: [
8
- "learning",
9
- "platform",
10
- "tour"
11
- ]
12
- };
13
- const PlatformTourTrackPresentation = {
14
- meta: {
15
- name: "learning.journey.platform.track",
16
- version: 1,
17
- description: "Platform primitives tour track detail",
18
- ...baseMeta
19
- },
20
- source: {
21
- type: "component",
22
- framework: "react",
23
- componentKey: "LearningTrackDetail",
24
- props: PlatformTourTrackModel
25
- },
26
- targets: [
27
- "react",
28
- "markdown",
29
- "application/json"
30
- ]
31
- };
32
- const PlatformTourWidgetPresentation = {
33
- meta: {
34
- name: "learning.journey.platform.widget",
35
- version: 1,
36
- description: "Compact widget for platform tour progress",
37
- ...baseMeta
38
- },
39
- source: {
40
- type: "component",
41
- framework: "react",
42
- componentKey: "LearningTrackProgressWidget"
43
- },
44
- targets: ["react"]
45
- };
46
- const platformTourPresentations = [PlatformTourTrackPresentation, PlatformTourWidgetPresentation];
47
-
48
- //#endregion
49
- export { PlatformTourTrackPresentation, PlatformTourWidgetPresentation, platformTourPresentations };
1
+ import{PlatformTourTrackModel as e}from"../contracts/index.js";const t={domain:`learning-journey`,owners:[`examples.learning-journey.platform-tour`],tags:[`learning`,`platform`,`tour`]},n={meta:{name:`learning.journey.platform.track`,version:1,description:`Platform primitives tour track detail`,...t},source:{type:`component`,framework:`react`,componentKey:`LearningTrackDetail`,props:e},targets:[`react`,`markdown`,`application/json`]},r={meta:{name:`learning.journey.platform.widget`,version:1,description:`Compact widget for platform tour progress`,...t},source:{type:`component`,framework:`react`,componentKey:`LearningTrackProgressWidget`},targets:[`react`]},i=[n,r];export{n as PlatformTourTrackPresentation,r as PlatformTourWidgetPresentation,i as platformTourPresentations};
package/dist/track.js CHANGED
@@ -1,105 +1 @@
1
- //#region src/track.ts
2
- const platformPrimitivesTourTrack = {
3
- id: "platform_primitives_tour",
4
- productId: "contractspec-platform",
5
- name: "Platform Primitives Tour",
6
- description: "Hands-on tour across identity, audit, notifications, jobs, flags, files, and metering.",
7
- targetUserSegment: "platform_developer",
8
- targetRole: "developer",
9
- totalXp: 140,
10
- completionRewards: {
11
- xpBonus: 20,
12
- badgeKey: "platform_primitives"
13
- },
14
- steps: [
15
- {
16
- id: "identity_rbac",
17
- title: "Create org and member",
18
- description: "Create an org and add at least one member.",
19
- order: 1,
20
- completion: {
21
- eventName: "org.member.added",
22
- sourceModule: "@lssm/lib.identity-rbac"
23
- },
24
- xpReward: 20,
25
- metadata: { surface: "identity" }
26
- },
27
- {
28
- id: "event_bus_audit",
29
- title: "Emit an auditable event",
30
- description: "Emit an event that lands in the audit log.",
31
- order: 2,
32
- completion: {
33
- eventName: "audit_log.created",
34
- sourceModule: "@lssm/module.audit-trail"
35
- },
36
- xpReward: 20,
37
- metadata: { surface: "bus+audit" }
38
- },
39
- {
40
- id: "notifications",
41
- title: "Send a notification",
42
- description: "Send yourself a notification and verify delivery.",
43
- order: 3,
44
- completion: {
45
- eventName: "notification.sent",
46
- sourceModule: "@lssm/module.notifications"
47
- },
48
- xpReward: 20,
49
- metadata: { surface: "notifications" }
50
- },
51
- {
52
- id: "jobs_scheduler",
53
- title: "Schedule and run a job",
54
- description: "Schedule a background job and let it run once.",
55
- order: 4,
56
- completion: {
57
- eventName: "job.completed",
58
- sourceModule: "@lssm/lib.jobs"
59
- },
60
- xpReward: 20,
61
- metadata: { surface: "jobs" }
62
- },
63
- {
64
- id: "feature_flags",
65
- title: "Create and toggle a feature flag",
66
- description: "Create a feature flag and toggle it at least once.",
67
- order: 5,
68
- completion: {
69
- eventName: "flag.toggled",
70
- sourceModule: "@lssm/lib.feature-flags"
71
- },
72
- xpReward: 20,
73
- metadata: { surface: "feature-flags" }
74
- },
75
- {
76
- id: "files_attachments",
77
- title: "Attach a file",
78
- description: "Upload and attach a file to any entity.",
79
- order: 6,
80
- completion: {
81
- eventName: "attachment.attached",
82
- sourceModule: "@lssm/lib.files"
83
- },
84
- xpReward: 20,
85
- metadata: { surface: "files" }
86
- },
87
- {
88
- id: "usage_metering",
89
- title: "Record usage",
90
- description: "Emit a usage metric (regeneration, agent run, or similar).",
91
- order: 7,
92
- completion: {
93
- eventName: "usage.recorded",
94
- sourceModule: "@lssm/lib.metering"
95
- },
96
- xpReward: 20,
97
- metadata: { surface: "metering" }
98
- }
99
- ],
100
- metadata: { surfacedIn: ["studio/learning", "platform/dev-center"] }
101
- };
102
- const platformLearningTracks = [platformPrimitivesTourTrack];
103
-
104
- //#endregion
105
- export { platformLearningTracks, platformPrimitivesTourTrack };
1
+ const 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:{xpBonus: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:`@lssm/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,completion:{eventName:`audit_log.created`,sourceModule:`@lssm/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,completion:{eventName:`notification.sent`,sourceModule:`@lssm/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,completion:{eventName:`job.completed`,sourceModule:`@lssm/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,completion:{eventName:`flag.toggled`,sourceModule:`@lssm/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,completion:{eventName:`attachment.attached`,sourceModule:`@lssm/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,completion:{eventName:`usage.recorded`,sourceModule:`@lssm/lib.metering`},xpReward:20,metadata:{surface:`metering`}}],metadata:{surfacedIn:[`studio/learning`,`platform/dev-center`]}},t=[e];export{t as platformLearningTracks,e as platformPrimitivesTourTrack};
package/package.json CHANGED
@@ -1,25 +1,23 @@
1
1
  {
2
2
  "name": "@lssm/example.learning-journey-platform-tour",
3
- "version": "0.0.0-canary-20251217080011",
3
+ "version": "1.41.0",
4
4
  "description": "Learning journey track covering ContractSpec platform primitives.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "exports": {
9
- ".": "./dist/index.js",
10
- "./contracts": "./dist/contracts/index.js",
11
- "./docs": "./dist/docs/index.js",
12
- "./docs/platform-tour.docblock": "./dist/docs/platform-tour.docblock.js",
13
- "./example": "./dist/example.js",
14
- "./handlers/demo.handlers": "./dist/handlers/demo.handlers.js",
15
- "./learning-journey-platform-tour.feature": "./dist/learning-journey-platform-tour.feature.js",
16
- "./presentations": "./dist/presentations/index.js",
17
- "./track": "./dist/track.js",
9
+ ".": "./src/index.ts",
10
+ "./contracts": "./src/contracts/index.ts",
11
+ "./docs": "./src/docs/index.ts",
12
+ "./docs/platform-tour.docblock": "./src/docs/platform-tour.docblock.ts",
13
+ "./example": "./src/example.ts",
14
+ "./handlers/demo.handlers": "./src/handlers/demo.handlers.ts",
15
+ "./learning-journey-platform-tour.feature": "./src/learning-journey-platform-tour.feature.ts",
16
+ "./presentations": "./src/presentations/index.ts",
17
+ "./track": "./src/track.ts",
18
18
  "./*": "./*"
19
19
  },
20
20
  "scripts": {
21
- "publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
22
- "publish:pkg:canary": "bun publish:pkg --tag canary",
23
21
  "build": "bun build:bundle && bun build:types",
24
22
  "build:bundle": "tsdown",
25
23
  "build:types": "tsc --noEmit",
@@ -30,13 +28,13 @@
30
28
  "lint:check": "eslint src"
31
29
  },
32
30
  "dependencies": {
33
- "@lssm/lib.contracts": "0.0.0-canary-20251217080011",
34
- "@lssm/lib.schema": "0.0.0-canary-20251217080011",
35
- "@lssm/module.learning-journey": "0.0.0-canary-20251217080011"
31
+ "@lssm/lib.contracts": "workspace:*",
32
+ "@lssm/lib.schema": "workspace:*",
33
+ "@lssm/module.learning-journey": "workspace:*"
36
34
  },
37
35
  "devDependencies": {
38
- "@lssm/tool.tsdown": "0.0.0-canary-20251217080011",
39
- "@lssm/tool.typescript": "0.0.0-canary-20251217080011",
36
+ "@lssm/tool.tsdown": "workspace:*",
37
+ "@lssm/tool.typescript": "workspace:*",
40
38
  "tsdown": "^0.17.4",
41
39
  "typescript": "^5.9.3"
42
40
  },