@lssm/example.learning-journey-quest-challenges 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 -10
  3. package/CHANGELOG.md +4 -4
  4. package/LICENSE +21 -0
  5. package/dist/docs/index.js +1 -0
  6. package/dist/{quest-challenges.docblock-dlZBb7sW.mjs → docs/quest-challenges.docblock.js} +3 -2
  7. package/dist/docs/quest-challenges.docblock.js.map +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-B4IVSL73.d.mts → track.d.ts} +2 -1
  66. package/dist/track.d.ts.map +1 -0
  67. package/dist/{track-UnyS-rkK.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/index.mjs +0 -3
  73. package/dist/docs/quest-challenges.docblock.mjs +0 -3
  74. package/dist/quest-challenges.docblock-D0rnszAi.d.mts +0 -1
  75. package/dist/track.d.mts +0 -2
  76. package/dist/track.mjs +0 -3
  77. /package/dist/docs/{index.d.mts → index.d.ts} +0 -0
  78. /package/dist/docs/{quest-challenges.docblock.d.mts → quest-challenges.docblock.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"}
@@ -4,4 +4,5 @@ import { LearningJourneyTrackSpec } from "@lssm/module.learning-journey/track-sp
4
4
  declare const moneyResetQuestTrack: LearningJourneyTrackSpec;
5
5
  declare const questTracks: LearningJourneyTrackSpec[];
6
6
  //#endregion
7
- export { questTracks as n, moneyResetQuestTrack as t };
7
+ export { moneyResetQuestTrack, questTracks };
8
+ //# sourceMappingURL=track.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track.d.ts","names":[],"sources":["../src/track.ts"],"sourcesContent":[],"mappings":";;;cAqBa,sBAAsB;cAsDtB,aAAa"}
@@ -32,4 +32,5 @@ const moneyResetQuestTrack = {
32
32
  const questTracks = [moneyResetQuestTrack];
33
33
 
34
34
  //#endregion
35
- export { questTracks as n, moneyResetQuestTrack as t };
35
+ export { moneyResetQuestTrack, questTracks };
36
+ //# sourceMappingURL=track.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track.js","names":["moneyResetQuestTrack: LearningJourneyTrackSpec","questTracks: LearningJourneyTrackSpec[]"],"sources":["../src/track.ts"],"sourcesContent":["import type { LearningJourneyTrackSpec } from '@lssm/module.learning-journey/track-spec';\n\nconst dayStep = (\n id: string,\n day: number,\n eventName: string,\n description: string\n): LearningJourneyTrackSpec['steps'][number] => ({\n id,\n title: `Day ${day}`,\n description,\n availability: { unlockOnDay: day },\n completion: {\n kind: 'time_window',\n eventName,\n withinHoursOfStart: (day + 1) * 24, // allow grace through next day\n },\n xpReward: 15,\n metadata: { day },\n});\n\nexport const moneyResetQuestTrack: LearningJourneyTrackSpec = {\n id: 'money_reset_7day',\n name: '7-day Money Reset',\n description:\n 'Time-bound quest to reset personal finances over a focused week.',\n targetUserSegment: 'money_user',\n totalXp: 105,\n completionRewards: { xpBonus: 30 },\n steps: [\n dayStep(\n 'day1_map_accounts',\n 1,\n 'accounts.mapped',\n 'Map bank and card accounts.'\n ),\n dayStep(\n 'day2_categorize_transactions',\n 2,\n 'transactions.categorized',\n 'Categorize recent transactions.'\n ),\n dayStep(\n 'day3_define_goals',\n 3,\n 'goals.created',\n 'Define at least one savings goal.'\n ),\n dayStep(\n 'day4_setup_recurring_savings',\n 4,\n 'recurring_rule.created',\n 'Set a recurring savings rule.'\n ),\n dayStep(\n 'day5_review_subscriptions',\n 5,\n 'subscription.flagged_or_cancelled',\n 'Review subscriptions and flag or cancel wasteful ones.'\n ),\n dayStep(\n 'day6_plan_emergency',\n 6,\n 'emergency_plan.completed',\n 'Draft an emergency plan and target buffer.'\n ),\n dayStep(\n 'day7_review_commit',\n 7,\n 'quest.review.completed',\n 'Review week outcomes and commit to the next month.'\n ),\n ],\n};\n\nexport const questTracks: LearningJourneyTrackSpec[] = [moneyResetQuestTrack];\n"],"mappings":";AAEA,MAAM,WACJ,IACA,KACA,WACA,iBAC+C;CAC/C;CACA,OAAO,OAAO;CACd;CACA,cAAc,EAAE,aAAa,KAAK;CAClC,YAAY;EACV,MAAM;EACN;EACA,qBAAqB,MAAM,KAAK;EACjC;CACD,UAAU;CACV,UAAU,EAAE,KAAK;CAClB;AAED,MAAaA,uBAAiD;CAC5D,IAAI;CACJ,MAAM;CACN,aACE;CACF,mBAAmB;CACnB,SAAS;CACT,mBAAmB,EAAE,SAAS,IAAI;CAClC,OAAO;EACL,QACE,qBACA,GACA,mBACA,8BACD;EACD,QACE,gCACA,GACA,4BACA,kCACD;EACD,QACE,qBACA,GACA,iBACA,oCACD;EACD,QACE,gCACA,GACA,0BACA,gCACD;EACD,QACE,6BACA,GACA,qCACA,yDACD;EACD,QACE,uBACA,GACA,4BACA,6CACD;EACD,QACE,sBACA,GACA,0BACA,qDACD;EACF;CACF;AAED,MAAaC,cAA0C,CAAC,qBAAqB"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@lssm/example.learning-journey-quest-challenges",
3
- "version": "0.0.0-canary-20251217080011",
3
+ "version": "0.0.0-canary-20251219202229",
4
4
  "description": "Time-bound quest/challenge learning journey example.",
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/quest-challenges.docblock": "./src/docs/quest-challenges.docblock.ts",
9
+ ".": "./dist/index.js",
10
+ "./docs": "./dist/docs/index.js",
11
+ "./docs/quest-challenges.docblock": "./dist/docs/quest-challenges.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/quest-challenges.docblock": "./dist/docs/quest-challenges.docblock.js",
48
48
  "./*": "./*"
49
49
  }
50
- }
50
+ },
51
+ "license": "MIT"
51
52
  }