@lssm/example.learning-journey-ambient-coach 0.0.0-canary-20251217080011 → 0.0.0-canary-20251219202229

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 (78) hide show
  1. package/.turbo/turbo-build$colon$bundle.log +76 -23
  2. package/.turbo/turbo-build.log +77 -25
  3. package/CHANGELOG.md +4 -4
  4. package/LICENSE +21 -0
  5. package/dist/{ambient-coach.docblock-DmwFWfX9.mjs → docs/ambient-coach.docblock.js} +3 -2
  6. package/dist/docs/ambient-coach.docblock.js.map +1 -0
  7. package/dist/docs/index.js +1 -0
  8. package/dist/{index.d.mts → example.d.ts} +2 -4
  9. package/dist/example.d.ts.map +1 -0
  10. package/dist/{index.mjs → example.js} +2 -5
  11. package/dist/example.js.map +1 -0
  12. package/dist/index.d.ts +3 -0
  13. package/dist/index.js +5 -0
  14. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +17 -0
  15. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
  16. package/dist/libs/contracts/dist/docs/index.js +25 -0
  17. package/dist/libs/contracts/dist/docs/meta.docs.js +30 -0
  18. package/dist/libs/contracts/dist/docs/meta.docs.js.map +1 -0
  19. package/dist/libs/contracts/dist/docs/presentations.js +72 -0
  20. package/dist/libs/contracts/dist/docs/presentations.js.map +1 -0
  21. package/dist/libs/contracts/dist/docs/registry.js +45 -0
  22. package/dist/libs/contracts/dist/docs/registry.js.map +1 -0
  23. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +81 -0
  24. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
  25. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +58 -0
  26. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
  27. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +17 -0
  28. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
  29. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +358 -0
  30. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
  31. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +38 -0
  32. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
  33. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +17 -0
  34. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
  35. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +21 -0
  36. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -0
  37. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +49 -0
  38. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
  39. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +80 -0
  40. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
  41. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +85 -0
  42. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
  43. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +46 -0
  44. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
  45. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +68 -0
  46. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
  47. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +41 -0
  48. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
  49. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +70 -0
  50. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
  51. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +48 -0
  52. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
  53. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +63 -0
  54. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
  55. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +156 -0
  56. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
  57. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +21 -0
  58. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
  59. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +102 -0
  60. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
  61. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +21 -0
  62. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js.map +1 -0
  63. package/dist/libs/contracts/dist/docs/tech-contracts.docs.js +97 -0
  64. package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +1 -0
  65. package/dist/{track-CUfQ_9U0.d.mts → track.d.ts} +2 -1
  66. package/dist/track.d.ts.map +1 -0
  67. package/dist/{track-DXPNrORQ.mjs → track.js} +2 -1
  68. package/dist/track.js.map +1 -0
  69. package/package.json +14 -13
  70. package/tsconfig.tsbuildinfo +1 -1
  71. package/tsdown.config.js +15 -11
  72. package/dist/docs/ambient-coach.docblock.mjs +0 -3
  73. package/dist/docs/index.d.mts +0 -1
  74. package/dist/docs/index.mjs +0 -3
  75. package/dist/track.d.mts +0 -2
  76. package/dist/track.mjs +0 -3
  77. /package/dist/{ambient-coach.docblock-aAZZ2R4Y.d.mts → docs/ambient-coach.docblock.d.ts} +0 -0
  78. /package/dist/docs/{ambient-coach.docblock.d.mts → index.d.ts} +0 -0
@@ -0,0 +1,97 @@
1
+ import { registerDocBlocks } from "./registry.js";
2
+
3
+ //#region ../../libs/contracts/dist/docs/tech-contracts.docs.js
4
+ const techContractsDocs = [{
5
+ id: "docs.tech.contracts.presentations-v2",
6
+ title: "Presentations V2 — Unified Descriptor & Transform Engine",
7
+ summary: "How PresentationDescriptorV2 and TransformEngine keep docs/renderers consistent.",
8
+ visibility: "public",
9
+ route: "/docs/tech/contracts/presentations-v2",
10
+ kind: "reference",
11
+ tags: [
12
+ "presentations",
13
+ "docs",
14
+ "mcp"
15
+ ],
16
+ body: `## Presentations V2 — Unified Descriptor & Transform Engine
17
+
18
+ ### Purpose
19
+
20
+ Unify presentations into one descriptor (\`PresentationDescriptorV2\`) that declares a single source (React component key or BlockNote doc) and a list of output targets (react, markdown, application/json, application/xml). A pluggable \`TransformEngine\` renders any target and applies PII redaction.
21
+
22
+ ### Types
23
+
24
+ \`\`\`ts
25
+ type PresentationTarget =
26
+ | 'react'
27
+ | 'markdown'
28
+ | 'application/json'
29
+ | 'application/xml';
30
+
31
+ type PresentationSource =
32
+ | {
33
+ type: 'component';
34
+ framework: 'react';
35
+ componentKey: string;
36
+ props?: AnySchemaModel;
37
+ }
38
+ | { type: 'blocknotejs'; docJson: unknown; blockConfig?: unknown };
39
+
40
+ interface PresentationDescriptorV2 {
41
+ meta: PresentationV2Meta; // includes partial OwnerShipMeta + description
42
+ policy?: { flags?: string[]; pii?: string[] };
43
+ source: PresentationSource;
44
+ targets: PresentationTarget[];
45
+ }
46
+
47
+ // Shared ownership schema (source of truth in @lssm/lib.contracts/src/ownership.ts)
48
+ interface OwnerShipMeta {
49
+ title: string;
50
+ description: string;
51
+ domain: string;
52
+ owners: Owner[];
53
+ tags: Tag[];
54
+ stability: Stability;
55
+ }
56
+
57
+ type Stability = 'experimental' | 'beta' | 'stable' | 'deprecated';
58
+ type Owner = string; // curated list available in code (e.g., '@sigil-team', 'team-strit')
59
+ type Tag = string; // curated list available in code (e.g., 'auth', 'spots')
60
+
61
+ // For V2 presentations, meta is a Partial<OwnerShipMeta> plus description, name, version
62
+ interface PresentationV2Meta extends Partial<OwnerShipMeta> {
63
+ name: string;
64
+ version: number;
65
+ description?: string;
66
+ }
67
+ \`\`\`
68
+
69
+ ### Engine
70
+
71
+ Use \`createDefaultTransformEngine()\` and register custom renderers as needed (e.g., high-fidelity BlockNote → Markdown). The default engine supports markdown/json/xml; a React renderer returns a serializable descriptor the host app renders via a \`componentMap\` or a BlockNote renderer. The canonical source type string is \`blocknotejs\` (not \`blocknote\`).
72
+
73
+ PII paths (JSON-like) are redacted from rendered outputs.
74
+
75
+ ### MCP Integration
76
+
77
+ \`createMcpServer\` accepts \`presentationsV2\`. Each descriptor is exposed under \`presentation://<name>/v<version>\` and negotiated variants (\`.md/.json/.xml\`) are rendered by the engine.
78
+
79
+ ### Migration
80
+
81
+ - V1 \`PresentationSpec\` remains supported; a back-compat helper converts V1 → V2 when convenient.
82
+ - Prefer V2 for new work.
83
+
84
+ ### Examples (Sigil)
85
+
86
+ - \`sigil.auth.webauth_tabs_v2\`: component source (\`componentKey: 'sigil.webauth.tabs'\`), targets \`react/json/xml\`.
87
+ - \`sigil.signup.guide_v2\`: BlockNote doc source, targets \`react/markdown/json/xml\`.
88
+
89
+ ### React Rendering
90
+
91
+ Host apps use a \`componentMap\` (e.g., \`'sigil.webauth.tabs' → WebAuthTabs\`) and a BlockNote renderer to turn the React render descriptor into elements.`
92
+ }];
93
+ registerDocBlocks(techContractsDocs);
94
+
95
+ //#endregion
96
+ export { techContractsDocs };
97
+ //# sourceMappingURL=tech-contracts.docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tech-contracts.docs.js","names":[],"sources":["../../../../../../../libs/contracts/dist/docs/tech-contracts.docs.js"],"sourcesContent":["import { registerDocBlocks } from \"./registry.js\";\n\n//#region src/docs/tech-contracts.docs.ts\nconst techContractsDocs = [{\n\tid: \"docs.tech.contracts.presentations-v2\",\n\ttitle: \"Presentations V2 — Unified Descriptor & Transform Engine\",\n\tsummary: \"How PresentationDescriptorV2 and TransformEngine keep docs/renderers consistent.\",\n\tvisibility: \"public\",\n\troute: \"/docs/tech/contracts/presentations-v2\",\n\tkind: \"reference\",\n\ttags: [\n\t\t\"presentations\",\n\t\t\"docs\",\n\t\t\"mcp\"\n\t],\n\tbody: `## Presentations V2 — Unified Descriptor & Transform Engine\n\n### Purpose\n\nUnify presentations into one descriptor (\\`PresentationDescriptorV2\\`) that declares a single source (React component key or BlockNote doc) and a list of output targets (react, markdown, application/json, application/xml). A pluggable \\`TransformEngine\\` renders any target and applies PII redaction.\n\n### Types\n\n\\`\\`\\`ts\ntype PresentationTarget =\n | 'react'\n | 'markdown'\n | 'application/json'\n | 'application/xml';\n\ntype PresentationSource =\n | {\n type: 'component';\n framework: 'react';\n componentKey: string;\n props?: AnySchemaModel;\n }\n | { type: 'blocknotejs'; docJson: unknown; blockConfig?: unknown };\n\ninterface PresentationDescriptorV2 {\n meta: PresentationV2Meta; // includes partial OwnerShipMeta + description\n policy?: { flags?: string[]; pii?: string[] };\n source: PresentationSource;\n targets: PresentationTarget[];\n}\n\n// Shared ownership schema (source of truth in @lssm/lib.contracts/src/ownership.ts)\ninterface OwnerShipMeta {\n title: string;\n description: string;\n domain: string;\n owners: Owner[];\n tags: Tag[];\n stability: Stability;\n}\n\ntype Stability = 'experimental' | 'beta' | 'stable' | 'deprecated';\ntype Owner = string; // curated list available in code (e.g., '@sigil-team', 'team-strit')\ntype Tag = string; // curated list available in code (e.g., 'auth', 'spots')\n\n// For V2 presentations, meta is a Partial<OwnerShipMeta> plus description, name, version\ninterface PresentationV2Meta extends Partial<OwnerShipMeta> {\n name: string;\n version: number;\n description?: string;\n}\n\\`\\`\\`\n\n### Engine\n\nUse \\`createDefaultTransformEngine()\\` and register custom renderers as needed (e.g., high-fidelity BlockNote → Markdown). The default engine supports markdown/json/xml; a React renderer returns a serializable descriptor the host app renders via a \\`componentMap\\` or a BlockNote renderer. The canonical source type string is \\`blocknotejs\\` (not \\`blocknote\\`).\n\nPII paths (JSON-like) are redacted from rendered outputs.\n\n### MCP Integration\n\n\\`createMcpServer\\` accepts \\`presentationsV2\\`. Each descriptor is exposed under \\`presentation://<name>/v<version>\\` and negotiated variants (\\`.md/.json/.xml\\`) are rendered by the engine.\n\n### Migration\n\n- V1 \\`PresentationSpec\\` remains supported; a back-compat helper converts V1 → V2 when convenient.\n- Prefer V2 for new work.\n\n### Examples (Sigil)\n\n- \\`sigil.auth.webauth_tabs_v2\\`: component source (\\`componentKey: 'sigil.webauth.tabs'\\`), targets \\`react/json/xml\\`.\n- \\`sigil.signup.guide_v2\\`: BlockNote doc source, targets \\`react/markdown/json/xml\\`.\n\n### React Rendering\n\nHost apps use a \\`componentMap\\` (e.g., \\`'sigil.webauth.tabs' → WebAuthTabs\\`) and a BlockNote renderer to turn the React render descriptor into elements.`\n}];\nregisterDocBlocks(techContractsDocs);\n\n//#endregion\nexport { techContractsDocs };\n//# sourceMappingURL=tech-contracts.docs.js.map"],"mappings":";;;AAGA,MAAM,oBAAoB,CAAC;CAC1B,IAAI;CACJ,OAAO;CACP,SAAS;CACT,YAAY;CACZ,OAAO;CACP,MAAM;CACN,MAAM;EACL;EACA;EACA;EACA;CACD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EN,CAAC;AACF,kBAAkB,kBAAkB"}
@@ -5,4 +5,5 @@ declare const moneyAmbientCoachTrack: LearningJourneyTrackSpec;
5
5
  declare const colivingAmbientCoachTrack: LearningJourneyTrackSpec;
6
6
  declare const ambientCoachTracks: LearningJourneyTrackSpec[];
7
7
  //#endregion
8
- export { colivingAmbientCoachTrack as n, moneyAmbientCoachTrack as r, ambientCoachTracks as t };
8
+ export { ambientCoachTracks, colivingAmbientCoachTrack, moneyAmbientCoachTrack };
9
+ //# sourceMappingURL=track.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track.d.ts","names":[],"sources":["../src/track.ts"],"sourcesContent":[],"mappings":";;;cAmBa,wBAAwB;cA0BxB,2BAA2B;AA1B3B,cAmDA,kBA3BZ,EA2BgC,wBA3BhC,EAAA"}
@@ -38,4 +38,5 @@ const colivingAmbientCoachTrack = {
38
38
  const ambientCoachTracks = [moneyAmbientCoachTrack, colivingAmbientCoachTrack];
39
39
 
40
40
  //#endregion
41
- export { colivingAmbientCoachTrack as n, moneyAmbientCoachTrack as r, ambientCoachTracks as t };
41
+ export { ambientCoachTracks, colivingAmbientCoachTrack, moneyAmbientCoachTrack };
42
+ //# sourceMappingURL=track.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track.js","names":["moneyAmbientCoachTrack: LearningJourneyTrackSpec","colivingAmbientCoachTrack: LearningJourneyTrackSpec","ambientCoachTracks: LearningJourneyTrackSpec[]"],"sources":["../src/track.ts"],"sourcesContent":["import type { LearningJourneyTrackSpec } from '@lssm/module.learning-journey/track-spec';\n\nconst makeTipStep = (\n id: string,\n tipId: string,\n description: string\n): LearningJourneyTrackSpec['steps'][number] => ({\n id,\n title: `Resolve tip: ${tipId}`,\n description,\n completion: {\n kind: 'event',\n eventName: 'coach.tip.follow_up_action_taken',\n payloadFilter: { tipId },\n },\n xpReward: 20,\n metadata: { tipId },\n});\n\nexport const moneyAmbientCoachTrack: LearningJourneyTrackSpec = {\n id: 'money_ambient_coach',\n name: 'Ambient Coach — Money',\n description:\n 'Subtle coaching for money patterns (cash buffer, goals, saving rhythm).',\n targetUserSegment: 'money_user',\n totalXp: 60,\n steps: [\n makeTipStep(\n 'cash_buffer_too_high',\n 'cash_buffer_too_high',\n 'Suggest sweeping excess cash into goals.'\n ),\n makeTipStep(\n 'no_savings_goal',\n 'no_savings_goal',\n 'Prompt setting a first savings goal.'\n ),\n makeTipStep(\n 'irregular_savings',\n 'irregular_savings',\n 'Recommend recurring saves after irregular deposits.'\n ),\n ],\n};\n\nexport const colivingAmbientCoachTrack: LearningJourneyTrackSpec = {\n id: 'coliving_ambient_coach',\n name: 'Ambient Coach — Coliving',\n description: 'Contextual tips for healthy coliving habits.',\n targetUserSegment: 'coliving',\n totalXp: 60,\n steps: [\n makeTipStep(\n 'noise_late_evening',\n 'noise_late_evening',\n 'Suggest updating quiet hours to reduce evening noise.'\n ),\n makeTipStep(\n 'guest_frequency_high',\n 'guest_frequency_high',\n 'Set guest frequency expectations for the house.'\n ),\n makeTipStep(\n 'shared_space_conflicts',\n 'shared_space_conflicts',\n 'Offer a shared-space checklist to reduce conflicts.'\n ),\n ],\n};\n\nexport const ambientCoachTracks: LearningJourneyTrackSpec[] = [\n moneyAmbientCoachTrack,\n colivingAmbientCoachTrack,\n];\n"],"mappings":";AAEA,MAAM,eACJ,IACA,OACA,iBAC+C;CAC/C;CACA,OAAO,gBAAgB;CACvB;CACA,YAAY;EACV,MAAM;EACN,WAAW;EACX,eAAe,EAAE,OAAO;EACzB;CACD,UAAU;CACV,UAAU,EAAE,OAAO;CACpB;AAED,MAAaA,yBAAmD;CAC9D,IAAI;CACJ,MAAM;CACN,aACE;CACF,mBAAmB;CACnB,SAAS;CACT,OAAO;EACL,YACE,wBACA,wBACA,2CACD;EACD,YACE,mBACA,mBACA,uCACD;EACD,YACE,qBACA,qBACA,sDACD;EACF;CACF;AAED,MAAaC,4BAAsD;CACjE,IAAI;CACJ,MAAM;CACN,aAAa;CACb,mBAAmB;CACnB,SAAS;CACT,OAAO;EACL,YACE,sBACA,sBACA,wDACD;EACD,YACE,wBACA,wBACA,kDACD;EACD,YACE,0BACA,0BACA,sDACD;EACF;CACF;AAED,MAAaC,qBAAiD,CAC5D,wBACA,0BACD"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@lssm/example.learning-journey-ambient-coach",
3
- "version": "0.0.0-canary-20251217080011",
3
+ "version": "0.0.0-canary-20251219202229",
4
4
  "description": "Ambient coach learning journey example with contextual tips and follow-up actions.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "exports": {
9
- ".": "./src/index.ts",
10
- "./example": "./src/example.ts",
11
- "./track": "./src/track.ts",
12
- "./docs": "./src/docs/index.ts",
13
- "./docs/ambient-coach.docblock": "./src/docs/ambient-coach.docblock.ts",
9
+ ".": "./dist/index.js",
10
+ "./docs": "./dist/docs/index.js",
11
+ "./docs/ambient-coach.docblock": "./dist/docs/ambient-coach.docblock.js",
12
+ "./example": "./dist/example.js",
13
+ "./track": "./dist/track.js",
14
14
  "./*": "./*"
15
15
  },
16
16
  "scripts": {
@@ -27,14 +27,14 @@
27
27
  "test": "bun test"
28
28
  },
29
29
  "dependencies": {
30
- "@lssm/module.learning-journey": "0.0.0-canary-20251217080011",
31
- "@lssm/lib.schema": "0.0.0-canary-20251217080011",
32
- "@lssm/lib.contracts": "0.0.0-canary-20251217080011"
30
+ "@lssm/module.learning-journey": "0.0.0-canary-20251219202229",
31
+ "@lssm/lib.schema": "0.0.0-canary-20251219202229",
32
+ "@lssm/lib.contracts": "0.0.0-canary-20251219202229"
33
33
  },
34
34
  "devDependencies": {
35
- "@lssm/tool.tsdown": "0.0.0-canary-20251217080011",
36
- "@lssm/tool.typescript": "0.0.0-canary-20251217080011",
37
- "tsdown": "^0.17.4",
35
+ "@lssm/tool.tsdown": "0.0.0-canary-20251219202229",
36
+ "@lssm/tool.typescript": "0.0.0-canary-20251219202229",
37
+ "tsdown": "^0.18.1",
38
38
  "typescript": "^5.9.3"
39
39
  },
40
40
  "module": "./dist/index.js",
@@ -47,5 +47,6 @@
47
47
  "./docs/ambient-coach.docblock": "./dist/docs/ambient-coach.docblock.js",
48
48
  "./*": "./*"
49
49
  }
50
- }
50
+ },
51
+ "license": "MIT"
51
52
  }