@contractspec/example.learning-journey-platform-tour 1.46.2 → 1.47.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.
@@ -1,41 +1,45 @@
1
1
  $ tsdown
2
- ℹ tsdown v0.18.4 powered by rolldown v1.0.0-beta.57
2
+ ℹ tsdown v0.19.0 powered by rolldown v1.0.0-beta.59
3
3
  ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/learning-journey-platform-tour/tsdown.config.js
4
- ℹ entry: src/example.ts, src/index.ts, src/learning-journey-platform-tour.feature.ts, src/track.ts, src/docs/index.ts, src/docs/platform-tour.docblock.ts, src/handlers/demo.handlers.ts, src/operations/index.ts, src/presentations/index.ts
4
+ ℹ entry: src/example.ts, src/index.ts, src/learning-journey-platform-tour.feature.ts, src/track.ts, src/docs/index.ts, src/docs/platform-tour.docblock.ts, src/handlers/demo.handlers.ts, src/operations/index.ts, src/presentations/index.ts, src/tests/operations.test-spec.ts
5
5
  ℹ target: esnext
6
6
  ℹ tsconfig: tsconfig.json
7
7
  ℹ Build start
8
- ℹ Cleaning 35 files
8
+ ℹ Cleaning 40 files
9
9
  ℹ dist/operations/index.js 4.26 kB │ gzip: 1.08 kB
10
10
  ℹ dist/track.js 2.85 kB │ gzip: 0.91 kB
11
- ℹ dist/learning-journey-platform-tour.feature.js 1.59 kB │ gzip: 0.56 kB
11
+ ℹ dist/learning-journey-platform-tour.feature.js 1.81 kB │ gzip: 0.62 kB
12
12
  ℹ dist/docs/platform-tour.docblock.js 1.57 kB │ gzip: 0.81 kB
13
- ℹ dist/presentations/index.js 1.43 kB │ gzip: 0.56 kB
13
+ ℹ dist/presentations/index.js 1.49 kB │ gzip: 0.58 kB
14
+ ℹ dist/example.js 1.07 kB │ gzip: 0.52 kB
14
15
  ℹ dist/index.js 1.01 kB │ gzip: 0.31 kB
15
- ℹ dist/example.js 0.99 kB │ gzip: 0.49 kB
16
+ ℹ dist/tests/operations.test-spec.js 0.90 kB │ gzip: 0.42 kB
16
17
  ℹ dist/handlers/demo.handlers.js 0.83 kB │ gzip: 0.42 kB
17
18
  ℹ dist/docs/index.js 0.04 kB │ gzip: 0.06 kB
18
19
  ℹ dist/operations/index.js.map 6.35 kB │ gzip: 1.59 kB
19
- ℹ dist/track.js.map 4.58 kB │ gzip: 1.25 kB
20
- ℹ dist/learning-journey-platform-tour.feature.js.map 2.91 kB │ gzip: 1.03 kB
21
- ℹ dist/presentations/index.js.map 2.42 kB │ gzip: 0.87 kB
20
+ ℹ dist/track.js.map 4.47 kB │ gzip: 1.24 kB
21
+ ℹ dist/learning-journey-platform-tour.feature.js.map 2.86 kB │ gzip: 1.02 kB
22
+ ℹ dist/presentations/index.js.map 2.17 kB │ gzip: 0.86 kB
22
23
  ℹ dist/docs/platform-tour.docblock.js.map 2.01 kB │ gzip: 0.97 kB
23
- ℹ dist/handlers/demo.handlers.js.map 1.68 kB │ gzip: 0.73 kB
24
- ℹ dist/example.js.map 1.54 kB │ gzip: 0.71 kB
24
+ ℹ dist/handlers/demo.handlers.js.map 1.65 kB │ gzip: 0.72 kB
25
+ ℹ dist/example.js.map 1.52 kB │ gzip: 0.72 kB
26
+ ℹ dist/tests/operations.test-spec.js.map 1.44 kB │ gzip: 0.61 kB
25
27
  ℹ dist/operations/index.d.ts.map 0.84 kB │ gzip: 0.32 kB
26
28
  ℹ dist/handlers/demo.handlers.d.ts.map 0.68 kB │ gzip: 0.35 kB
27
- ℹ dist/presentations/index.d.ts.map 0.19 kB │ gzip: 0.16 kB
28
- ℹ dist/learning-journey-platform-tour.feature.d.ts.map 0.19 kB │ gzip: 0.14 kB
29
+ ℹ dist/learning-journey-platform-tour.feature.d.ts.map 0.21 kB │ gzip: 0.16 kB
30
+ ℹ dist/presentations/index.d.ts.map 0.21 kB │ gzip: 0.17 kB
31
+ ℹ dist/tests/operations.test-spec.d.ts.map 0.17 kB │ gzip: 0.14 kB
32
+ ℹ dist/example.d.ts.map 0.14 kB │ gzip: 0.13 kB
29
33
  ℹ dist/track.d.ts.map 0.14 kB │ gzip: 0.13 kB
30
- ℹ dist/example.d.ts.map 0.12 kB │ gzip: 0.12 kB
31
34
  ℹ dist/operations/index.d.ts 8.79 kB │ gzip: 0.93 kB
32
35
  ℹ dist/handlers/demo.handlers.d.ts 1.00 kB │ gzip: 0.43 kB
33
36
  ℹ dist/index.d.ts 0.99 kB │ gzip: 0.29 kB
34
- ℹ dist/learning-journey-platform-tour.feature.d.ts 0.45 kB │ gzip: 0.25 kB
35
- ℹ dist/presentations/index.d.ts 0.44 kB │ gzip: 0.20 kB
37
+ ℹ dist/presentations/index.d.ts 0.54 kB │ gzip: 0.22 kB
38
+ ℹ dist/learning-journey-platform-tour.feature.d.ts 0.49 kB │ gzip: 0.26 kB
36
39
  ℹ dist/track.d.ts 0.37 kB │ gzip: 0.20 kB
37
- ℹ dist/example.d.ts 0.20 kB │ gzip: 0.16 kB
40
+ ℹ dist/tests/operations.test-spec.d.ts 0.28 kB │ gzip: 0.18 kB
41
+ ℹ dist/example.d.ts 0.25 kB │ gzip: 0.17 kB
38
42
  ℹ dist/docs/index.d.ts 0.01 kB │ gzip: 0.03 kB
39
43
  ℹ dist/docs/platform-tour.docblock.d.ts 0.01 kB │ gzip: 0.03 kB
40
- ℹ 31 files, total: 50.49 kB
41
- ✔ Build complete in 21946ms
44
+ ℹ 35 files, total: 53.40 kB
45
+ ✔ Build complete in 25384ms
@@ -1,42 +1,46 @@
1
1
  $ bun build:types && bun build:bundle
2
2
  $ tsc --noEmit
3
3
  $ tsdown
4
- ℹ tsdown v0.18.4 powered by rolldown v1.0.0-beta.57
4
+ ℹ tsdown v0.19.0 powered by rolldown v1.0.0-beta.59
5
5
  ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/learning-journey-platform-tour/tsdown.config.js
6
- ℹ entry: src/example.ts, src/index.ts, src/learning-journey-platform-tour.feature.ts, src/track.ts, src/docs/index.ts, src/docs/platform-tour.docblock.ts, src/handlers/demo.handlers.ts, src/operations/index.ts, src/presentations/index.ts
6
+ ℹ entry: src/example.ts, src/index.ts, src/learning-journey-platform-tour.feature.ts, src/track.ts, src/docs/index.ts, src/docs/platform-tour.docblock.ts, src/handlers/demo.handlers.ts, src/operations/index.ts, src/presentations/index.ts, src/tests/operations.test-spec.ts
7
7
  ℹ target: esnext
8
8
  ℹ tsconfig: tsconfig.json
9
9
  ℹ Build start
10
10
  ℹ dist/operations/index.js 4.26 kB │ gzip: 1.08 kB
11
11
  ℹ dist/track.js 2.85 kB │ gzip: 0.91 kB
12
- ℹ dist/learning-journey-platform-tour.feature.js 1.59 kB │ gzip: 0.56 kB
12
+ ℹ dist/learning-journey-platform-tour.feature.js 1.81 kB │ gzip: 0.62 kB
13
13
  ℹ dist/docs/platform-tour.docblock.js 1.57 kB │ gzip: 0.81 kB
14
- ℹ dist/presentations/index.js 1.43 kB │ gzip: 0.56 kB
14
+ ℹ dist/presentations/index.js 1.49 kB │ gzip: 0.58 kB
15
+ ℹ dist/example.js 1.07 kB │ gzip: 0.52 kB
15
16
  ℹ dist/index.js 1.01 kB │ gzip: 0.31 kB
16
- ℹ dist/example.js 0.99 kB │ gzip: 0.49 kB
17
+ ℹ dist/tests/operations.test-spec.js 0.90 kB │ gzip: 0.42 kB
17
18
  ℹ dist/handlers/demo.handlers.js 0.83 kB │ gzip: 0.42 kB
18
19
  ℹ dist/docs/index.js 0.04 kB │ gzip: 0.06 kB
19
20
  ℹ dist/operations/index.js.map 6.35 kB │ gzip: 1.59 kB
20
- ℹ dist/track.js.map 4.58 kB │ gzip: 1.25 kB
21
- ℹ dist/learning-journey-platform-tour.feature.js.map 2.91 kB │ gzip: 1.03 kB
22
- ℹ dist/presentations/index.js.map 2.42 kB │ gzip: 0.87 kB
21
+ ℹ dist/track.js.map 4.47 kB │ gzip: 1.24 kB
22
+ ℹ dist/learning-journey-platform-tour.feature.js.map 2.86 kB │ gzip: 1.02 kB
23
+ ℹ dist/presentations/index.js.map 2.17 kB │ gzip: 0.86 kB
23
24
  ℹ dist/docs/platform-tour.docblock.js.map 2.01 kB │ gzip: 0.97 kB
24
- ℹ dist/handlers/demo.handlers.js.map 1.68 kB │ gzip: 0.73 kB
25
- ℹ dist/example.js.map 1.54 kB │ gzip: 0.71 kB
25
+ ℹ dist/handlers/demo.handlers.js.map 1.65 kB │ gzip: 0.72 kB
26
+ ℹ dist/example.js.map 1.52 kB │ gzip: 0.72 kB
27
+ ℹ dist/tests/operations.test-spec.js.map 1.44 kB │ gzip: 0.61 kB
26
28
  ℹ dist/operations/index.d.ts.map 0.84 kB │ gzip: 0.32 kB
27
29
  ℹ dist/handlers/demo.handlers.d.ts.map 0.68 kB │ gzip: 0.35 kB
28
- ℹ dist/presentations/index.d.ts.map 0.19 kB │ gzip: 0.16 kB
29
- ℹ dist/learning-journey-platform-tour.feature.d.ts.map 0.19 kB │ gzip: 0.14 kB
30
+ ℹ dist/learning-journey-platform-tour.feature.d.ts.map 0.21 kB │ gzip: 0.16 kB
31
+ ℹ dist/presentations/index.d.ts.map 0.21 kB │ gzip: 0.17 kB
32
+ ℹ dist/tests/operations.test-spec.d.ts.map 0.17 kB │ gzip: 0.14 kB
33
+ ℹ dist/example.d.ts.map 0.14 kB │ gzip: 0.13 kB
30
34
  ℹ dist/track.d.ts.map 0.14 kB │ gzip: 0.13 kB
31
- ℹ dist/example.d.ts.map 0.12 kB │ gzip: 0.12 kB
32
35
  ℹ dist/operations/index.d.ts 8.79 kB │ gzip: 0.93 kB
33
36
  ℹ dist/handlers/demo.handlers.d.ts 1.00 kB │ gzip: 0.43 kB
34
37
  ℹ dist/index.d.ts 0.99 kB │ gzip: 0.29 kB
35
- ℹ dist/learning-journey-platform-tour.feature.d.ts 0.45 kB │ gzip: 0.25 kB
36
- ℹ dist/presentations/index.d.ts 0.44 kB │ gzip: 0.20 kB
38
+ ℹ dist/presentations/index.d.ts 0.54 kB │ gzip: 0.22 kB
39
+ ℹ dist/learning-journey-platform-tour.feature.d.ts 0.49 kB │ gzip: 0.26 kB
37
40
  ℹ dist/track.d.ts 0.37 kB │ gzip: 0.20 kB
38
- ℹ dist/example.d.ts 0.20 kB │ gzip: 0.16 kB
41
+ ℹ dist/tests/operations.test-spec.d.ts 0.28 kB │ gzip: 0.18 kB
42
+ ℹ dist/example.d.ts 0.25 kB │ gzip: 0.17 kB
39
43
  ℹ dist/docs/index.d.ts 0.01 kB │ gzip: 0.03 kB
40
44
  ℹ dist/docs/platform-tour.docblock.d.ts 0.01 kB │ gzip: 0.03 kB
41
- ℹ 31 files, total: 50.49 kB
42
- ✔ Build complete in 23770ms
45
+ ℹ 35 files, total: 53.40 kB
46
+ ✔ Build complete in 25374ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @contractspec/example.learning-journey-platform-tour
2
2
 
3
+ ## 1.47.0
4
+
5
+ ### Minor Changes
6
+
7
+ - caf8701: feat: add cli vibe command to run workflow
8
+ - c69b849: feat: add api web services (mcp & website)
9
+ - 42b8d78: feat: add cli `contractspec vibe` workflow to simplify usage
10
+ - fd38e85: feat: auto-fix contractspec issues
11
+
12
+ ### Patch Changes
13
+
14
+ - e7ded36: feat: improve stability (adding ts-morph)
15
+ - c231a8b: test: improve workspace stability
16
+ - Updated dependencies [e7ded36]
17
+ - Updated dependencies [caf8701]
18
+ - Updated dependencies [c69b849]
19
+ - Updated dependencies [c231a8b]
20
+ - Updated dependencies [42b8d78]
21
+ - Updated dependencies [fd38e85]
22
+ - @contractspec/module.learning-journey@1.47.0
23
+ - @contractspec/lib.contracts@1.47.0
24
+ - @contractspec/lib.schema@1.47.0
25
+
3
26
  ## 1.46.2
4
27
 
5
28
  ### Patch Changes
package/dist/example.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { ExampleSpec } from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts0 from "@contractspec/lib.contracts";
2
2
 
3
3
  //#region src/example.d.ts
4
- declare const example: ExampleSpec;
4
+ declare const example: _contractspec_lib_contracts0.ExampleSpec;
5
5
  //#endregion
6
6
  export { example as default };
7
7
  //# sourceMappingURL=example.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,SAAS"}
1
+ {"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,SA4BJ,4BAAA,CA5BW"}
package/dist/example.js CHANGED
@@ -1,5 +1,7 @@
1
+ import { defineExample } from "@contractspec/lib.contracts";
2
+
1
3
  //#region src/example.ts
2
- const example = {
4
+ const example = defineExample({
3
5
  meta: {
4
6
  key: "learning-journey-platform-tour",
5
7
  version: "1.0.0",
@@ -36,7 +38,7 @@ const example = {
36
38
  },
37
39
  mcp: { enabled: true }
38
40
  }
39
- };
41
+ });
40
42
  var example_default = example;
41
43
 
42
44
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","names":["example: ExampleSpec"],"sources":["../src/example.ts"],"sourcesContent":["import type { ExampleSpec } from '@contractspec/lib.contracts';\n\nconst example: ExampleSpec = {\n meta: {\n key: 'learning-journey-platform-tour',\n version: '1.0.0',\n title: 'Learning Journey — Platform Tour',\n description:\n 'Learning journey track + contracts + presentations for a platform tour.',\n kind: 'template',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['learning', 'journey', 'platform-tour'],\n },\n docs: {\n rootDocId: 'docs.examples.platform-tour',\n goalDocId: 'docs.examples.platform-tour.goal',\n usageDocId: 'docs.examples.platform-tour.usage',\n },\n entrypoints: {\n packageName: '@contractspec/example.learning-journey-platform-tour',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: { enabled: true, modes: ['markdown', 'playground'] },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n};\n\nexport default example;\n"],"mappings":";AAEA,MAAMA,UAAuB;CAC3B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAY;GAAW;GAAgB;EAC/C;CACD,MAAM;EACJ,WAAW;EACX,WAAW;EACX,YAAY;EACb;CACD,aAAa;EACX,aAAa;EACb,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GAAE,SAAS;GAAM,OAAO,CAAC,YAAY,aAAa;GAAE;EAC7D,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF;AAED,sBAAe"}
1
+ {"version":3,"file":"example.js","names":[],"sources":["../src/example.ts"],"sourcesContent":["import { defineExample } from '@contractspec/lib.contracts';\n\nconst example = defineExample({\n meta: {\n key: 'learning-journey-platform-tour',\n version: '1.0.0',\n title: 'Learning Journey — Platform Tour',\n description:\n 'Learning journey track + contracts + presentations for a platform tour.',\n kind: 'template',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['learning', 'journey', 'platform-tour'],\n },\n docs: {\n rootDocId: 'docs.examples.platform-tour',\n goalDocId: 'docs.examples.platform-tour.goal',\n usageDocId: 'docs.examples.platform-tour.usage',\n },\n entrypoints: {\n packageName: '@contractspec/example.learning-journey-platform-tour',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: { enabled: true, modes: ['markdown', 'playground'] },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n});\n\nexport default example;\n"],"mappings":";;;AAEA,MAAM,UAAU,cAAc;CAC5B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAY;GAAW;GAAgB;EAC/C;CACD,MAAM;EACJ,WAAW;EACX,WAAW;EACX,YAAY;EACb;CACD,aAAa;EACX,aAAa;EACb,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GAAE,SAAS;GAAM,OAAO,CAAC,YAAY,aAAa;GAAE;EAC7D,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF,CAAC;AAEF,sBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"demo.handlers.d.ts","names":[],"sources":["../../src/handlers/demo.handlers.ts"],"sourcesContent":[],"mappings":";UAEU,UAAA;EAAA,SAAA,EAAA,MAAU;EAMV,UAAA,CAAA,EAJK,IAIL;EAQL,OAAA,CAAA,EAXO,MAWI,CAAA,MAAA,EAAA,OAAW,CAAA;AAE3B;AAUA,UApBU,oBAAA,CAoBe;EAEZ,SAAA,EAAA,MAAA;EACA,IAAA,EAAA,MAAA;EACX,UAAA,EArBY,IAqBZ;EAAA,OAAA,EAAA,MAAA;EAAA,OAAA,CAAA,EAnBU,MAmBV,CAAA,MAAA,EAAA,OAAA,CAAA;;KAhBG,WAAA,GAiBM,CAAA,KAAA,EAjBgB,oBAiBhB,EAAA,GAAA,OAAA;AAAW,cAfT,kBAeS,EAAA,SAAA,CAAA,kBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,gBAAA,CAAA;AAYT,KAjBD,aAAA,GAiBC,CAAA,OAjBuB,kBAkB1B,CAAA,CACC,MAAA,CAAA;cAjBE,mCACA;;;;GACsC,qBACxC;cAYE,oCACH,qBACC"}
1
+ {"version":3,"file":"demo.handlers.d.ts","names":[],"sources":["../../src/handlers/demo.handlers.ts"],"sourcesContent":[],"mappings":";UAEU,UAAA;EAAA,SAAA,EAAA,MAAU;EAMV,UAAA,CAAA,EAJK,IAIL;EAQL,OAAA,CAAA,EAXO,MAWI,CAAA,MAAA,EAAW,OAAA,CAAA;AAE3B;AAUA,UApBU,oBAAA,CAoB0B;EAEvB,SAAA,EAAA,MAAA;EACA,IAAA,EAAA,MAAA;EACX,UAAA,EArBY,IAqBZ;EAAA,OAAA,EAAA,MAAA;EAAA,OAAA,CAAA,EAnBU,MAmBV,CAAA,MAAA,EAAA,OAAA,CAAA;;KAhBG,WAAA,GAiBM,CAAA,KAAA,EAjBgB,oBAiBhB,EAAA,GAAA,OAAA;AAAW,cAfT,kBAeS,EAAA,SAAA,CAAA,kBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,gBAAA,CAAA;AAYT,KAjBD,aAAA,GAiBC,CAAA,OAjBuB,kBAkB1B,CAAA,CACC,MAAA,CAAA;cAjBE,mCACA;;;;GACsC,qBACxC;cAYE,oCACH,qBACC"}
@@ -1 +1 @@
1
- {"version":3,"file":"demo.handlers.js","names":["event: LearningJourneyEvent"],"sources":["../../src/handlers/demo.handlers.ts"],"sourcesContent":["import { platformPrimitivesTourTrack } from '../track';\n\ninterface EmitParams {\n learnerId: string;\n occurredAt?: Date;\n payload?: Record<string, unknown>;\n}\n\ninterface LearningJourneyEvent {\n learnerId: string;\n name: string;\n occurredAt: Date;\n trackId: string;\n payload?: Record<string, unknown>;\n}\n\ntype RecordEvent = (event: LearningJourneyEvent) => unknown;\n\nexport const platformTourEvents = [\n 'org.member.added',\n 'audit_log.created',\n 'notification.sent',\n 'job.completed',\n 'flag.toggled',\n 'attachment.attached',\n 'usage.recorded',\n] as const;\n\nexport type PlatformEvent = (typeof platformTourEvents)[number];\n\nexport const emitPlatformTourEvent = (\n eventName: PlatformEvent,\n { learnerId, occurredAt = new Date(), payload }: EmitParams,\n record?: RecordEvent\n) => {\n const event: LearningJourneyEvent = {\n learnerId,\n name: eventName,\n occurredAt,\n payload,\n trackId: platformPrimitivesTourTrack.id,\n };\n return record ? record(event) : event;\n};\n\nexport const emitAllPlatformTourEvents = (\n params: EmitParams,\n record?: RecordEvent\n) =>\n platformTourEvents.map((name) => emitPlatformTourEvent(name, params, record));\n"],"mappings":";;;AAkBA,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAID,MAAa,yBACX,WACA,EAAE,WAAW,6BAAa,IAAI,MAAM,EAAE,WACtC,WACG;CACH,MAAMA,QAA8B;EAClC;EACA,MAAM;EACN;EACA;EACA,SAAS,4BAA4B;EACtC;AACD,QAAO,SAAS,OAAO,MAAM,GAAG;;AAGlC,MAAa,6BACX,QACA,WAEA,mBAAmB,KAAK,SAAS,sBAAsB,MAAM,QAAQ,OAAO,CAAC"}
1
+ {"version":3,"file":"demo.handlers.js","names":[],"sources":["../../src/handlers/demo.handlers.ts"],"sourcesContent":["import { platformPrimitivesTourTrack } from '../track';\n\ninterface EmitParams {\n learnerId: string;\n occurredAt?: Date;\n payload?: Record<string, unknown>;\n}\n\ninterface LearningJourneyEvent {\n learnerId: string;\n name: string;\n occurredAt: Date;\n trackId: string;\n payload?: Record<string, unknown>;\n}\n\ntype RecordEvent = (event: LearningJourneyEvent) => unknown;\n\nexport const platformTourEvents = [\n 'org.member.added',\n 'audit_log.created',\n 'notification.sent',\n 'job.completed',\n 'flag.toggled',\n 'attachment.attached',\n 'usage.recorded',\n] as const;\n\nexport type PlatformEvent = (typeof platformTourEvents)[number];\n\nexport const emitPlatformTourEvent = (\n eventName: PlatformEvent,\n { learnerId, occurredAt = new Date(), payload }: EmitParams,\n record?: RecordEvent\n) => {\n const event: LearningJourneyEvent = {\n learnerId,\n name: eventName,\n occurredAt,\n payload,\n trackId: platformPrimitivesTourTrack.id,\n };\n return record ? record(event) : event;\n};\n\nexport const emitAllPlatformTourEvents = (\n params: EmitParams,\n record?: RecordEvent\n) =>\n platformTourEvents.map((name) => emitPlatformTourEvent(name, params, record));\n"],"mappings":";;;AAkBA,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAID,MAAa,yBACX,WACA,EAAE,WAAW,6BAAa,IAAI,MAAM,EAAE,WACtC,WACG;CACH,MAAM,QAA8B;EAClC;EACA,MAAM;EACN;EACA;EACA,SAAS,4BAA4B;EACtC;AACD,QAAO,SAAS,OAAO,MAAM,GAAG;;AAGlC,MAAa,6BACX,QACA,WAEA,mBAAmB,KAAK,SAAS,sBAAsB,MAAM,QAAQ,OAAO,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FeatureModuleSpec } from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts1 from "@contractspec/lib.contracts";
2
2
 
3
3
  //#region src/learning-journey-platform-tour.feature.d.ts
4
4
 
@@ -6,7 +6,7 @@ import { FeatureModuleSpec } from "@contractspec/lib.contracts";
6
6
  * Learning Journey Platform Tour feature module that bundles
7
7
  * platform-specific tour track operations and presentations.
8
8
  */
9
- declare const LearningJourneyPlatformTourFeature: FeatureModuleSpec;
9
+ declare const LearningJourneyPlatformTourFeature: _contractspec_lib_contracts1.FeatureModuleSpec;
10
10
  //#endregion
11
11
  export { LearningJourneyPlatformTourFeature };
12
12
  //# sourceMappingURL=learning-journey-platform-tour.feature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"learning-journey-platform-tour.feature.d.ts","names":[],"sources":["../src/learning-journey-platform-tour.feature.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAWa,oCAAoC"}
1
+ {"version":3,"file":"learning-journey-platform-tour.feature.d.ts","names":[],"sources":["../src/learning-journey-platform-tour.feature.ts"],"sourcesContent":[],"mappings":";;;;;;;AAWA;cAAa,oCAsDX,4BAAA,CAtD6C"}
@@ -1,9 +1,16 @@
1
+ import { defineFeature } from "@contractspec/lib.contracts";
2
+
1
3
  //#region src/learning-journey-platform-tour.feature.ts
2
4
  /**
5
+ * Learning Journey Platform Tour Feature Module Specification
6
+ *
7
+ * Defines the feature module for platform primitives tour journey.
8
+ */
9
+ /**
3
10
  * Learning Journey Platform Tour feature module that bundles
4
11
  * platform-specific tour track operations and presentations.
5
12
  */
6
- const LearningJourneyPlatformTourFeature = {
13
+ const LearningJourneyPlatformTourFeature = defineFeature({
7
14
  meta: {
8
15
  key: "learning-journey-platform-tour",
9
16
  version: "1.0.0",
@@ -61,7 +68,7 @@ const LearningJourneyPlatformTourFeature = {
61
68
  key: "identity",
62
69
  version: "1.0.0"
63
70
  }] }
64
- };
71
+ });
65
72
 
66
73
  //#endregion
67
74
  export { LearningJourneyPlatformTourFeature };
@@ -1 +1 @@
1
- {"version":3,"file":"learning-journey-platform-tour.feature.js","names":["LearningJourneyPlatformTourFeature: FeatureModuleSpec"],"sources":["../src/learning-journey-platform-tour.feature.ts"],"sourcesContent":["/**\n * Learning Journey Platform Tour Feature Module Specification\n *\n * Defines the feature module for platform primitives tour journey.\n */\nimport type { FeatureModuleSpec } from '@contractspec/lib.contracts';\n\n/**\n * Learning Journey Platform Tour feature module that bundles\n * platform-specific tour track operations and presentations.\n */\nexport const LearningJourneyPlatformTourFeature: FeatureModuleSpec = {\n meta: {\n key: 'learning-journey-platform-tour',\n version: '1.0.0',\n title: 'Learning Journey: Platform Tour',\n description:\n 'Platform primitives tour journey for exploring ContractSpec core features',\n domain: 'learning-journey',\n owners: ['@examples.learning-journey.platform-tour'],\n tags: ['learning', 'platform', 'tour', 'journey'],\n stability: 'experimental',\n },\n\n // All contract operations included in this feature\n operations: [\n { key: 'learningJourney.platformTour.recordEvent', version: '1.0.0' },\n { key: 'learningJourney.platformTour.getTrack', version: '1.0.0' },\n ],\n\n // Events emitted by this feature\n events: [],\n\n // Presentations associated with this feature\n presentations: [\n { key: 'learning.journey.platform.track', version: '1.0.0' },\n { key: 'learning.journey.platform.widget', version: '1.0.0' },\n ],\n\n // Link operations to their primary presentations\n opToPresentation: [\n {\n op: { key: 'learningJourney.platformTour.getTrack', version: '1.0.0' },\n pres: { key: 'learning.journey.platform.track', version: '1.0.0' },\n },\n ],\n\n // Target requirements for multi-surface rendering\n presentationsTargets: [\n {\n key: 'learning.journey.platform.track',\n version: '1.0.0',\n targets: ['react', 'markdown', 'application/json'],\n },\n {\n key: 'learning.journey.platform.widget',\n version: '1.0.0',\n targets: ['react'],\n },\n ],\n\n // Capability requirements\n capabilities: {\n requires: [{ key: 'identity', version: '1.0.0' }],\n },\n};\n"],"mappings":";;;;;AAWA,MAAaA,qCAAwD;CACnE,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,2CAA2C;EACpD,MAAM;GAAC;GAAY;GAAY;GAAQ;GAAU;EACjD,WAAW;EACZ;CAGD,YAAY,CACV;EAAE,KAAK;EAA4C,SAAS;EAAS,EACrE;EAAE,KAAK;EAAyC,SAAS;EAAS,CACnE;CAGD,QAAQ,EAAE;CAGV,eAAe,CACb;EAAE,KAAK;EAAmC,SAAS;EAAS,EAC5D;EAAE,KAAK;EAAoC,SAAS;EAAS,CAC9D;CAGD,kBAAkB,CAChB;EACE,IAAI;GAAE,KAAK;GAAyC,SAAS;GAAS;EACtE,MAAM;GAAE,KAAK;GAAmC,SAAS;GAAS;EACnE,CACF;CAGD,sBAAsB,CACpB;EACE,KAAK;EACL,SAAS;EACT,SAAS;GAAC;GAAS;GAAY;GAAmB;EACnD,EACD;EACE,KAAK;EACL,SAAS;EACT,SAAS,CAAC,QAAQ;EACnB,CACF;CAGD,cAAc,EACZ,UAAU,CAAC;EAAE,KAAK;EAAY,SAAS;EAAS,CAAC,EAClD;CACF"}
1
+ {"version":3,"file":"learning-journey-platform-tour.feature.js","names":[],"sources":["../src/learning-journey-platform-tour.feature.ts"],"sourcesContent":["/**\n * Learning Journey Platform Tour Feature Module Specification\n *\n * Defines the feature module for platform primitives tour journey.\n */\nimport { defineFeature } from '@contractspec/lib.contracts';\n\n/**\n * Learning Journey Platform Tour feature module that bundles\n * platform-specific tour track operations and presentations.\n */\nexport const LearningJourneyPlatformTourFeature = defineFeature({\n meta: {\n key: 'learning-journey-platform-tour',\n version: '1.0.0',\n title: 'Learning Journey: Platform Tour',\n description:\n 'Platform primitives tour journey for exploring ContractSpec core features',\n domain: 'learning-journey',\n owners: ['@examples.learning-journey.platform-tour'],\n tags: ['learning', 'platform', 'tour', 'journey'],\n stability: 'experimental',\n },\n\n // All contract operations included in this feature\n operations: [\n { key: 'learningJourney.platformTour.recordEvent', version: '1.0.0' },\n { key: 'learningJourney.platformTour.getTrack', version: '1.0.0' },\n ],\n\n // Events emitted by this feature\n events: [],\n\n // Presentations associated with this feature\n presentations: [\n { key: 'learning.journey.platform.track', version: '1.0.0' },\n { key: 'learning.journey.platform.widget', version: '1.0.0' },\n ],\n\n // Link operations to their primary presentations\n opToPresentation: [\n {\n op: { key: 'learningJourney.platformTour.getTrack', version: '1.0.0' },\n pres: { key: 'learning.journey.platform.track', version: '1.0.0' },\n },\n ],\n\n // Target requirements for multi-surface rendering\n presentationsTargets: [\n {\n key: 'learning.journey.platform.track',\n version: '1.0.0',\n targets: ['react', 'markdown', 'application/json'],\n },\n {\n key: 'learning.journey.platform.widget',\n version: '1.0.0',\n targets: ['react'],\n },\n ],\n\n // Capability requirements\n capabilities: {\n requires: [{ key: 'identity', version: '1.0.0' }],\n },\n});\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,qCAAqC,cAAc;CAC9D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,2CAA2C;EACpD,MAAM;GAAC;GAAY;GAAY;GAAQ;GAAU;EACjD,WAAW;EACZ;CAGD,YAAY,CACV;EAAE,KAAK;EAA4C,SAAS;EAAS,EACrE;EAAE,KAAK;EAAyC,SAAS;EAAS,CACnE;CAGD,QAAQ,EAAE;CAGV,eAAe,CACb;EAAE,KAAK;EAAmC,SAAS;EAAS,EAC5D;EAAE,KAAK;EAAoC,SAAS;EAAS,CAC9D;CAGD,kBAAkB,CAChB;EACE,IAAI;GAAE,KAAK;GAAyC,SAAS;GAAS;EACtE,MAAM;GAAE,KAAK;GAAmC,SAAS;GAAS;EACnE,CACF;CAGD,sBAAsB,CACpB;EACE,KAAK;EACL,SAAS;EACT,SAAS;GAAC;GAAS;GAAY;GAAmB;EACnD,EACD;EACE,KAAK;EACL,SAAS;EACT,SAAS,CAAC,QAAQ;EACnB,CACF;CAGD,cAAc,EACZ,UAAU,CAAC;EAAE,KAAK;EAAY,SAAS;EAAS,CAAC,EAClD;CACF,CAAC"}
@@ -1,5 +1,5 @@
1
+ import * as _contractspec_lib_contracts2 from "@contractspec/lib.contracts";
1
2
  import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
2
- import * as _contractspec_lib_contracts0 from "@contractspec/lib.contracts";
3
3
  import * as _contractspec_module_learning_journey_track_spec0 from "@contractspec/module.learning-journey/track-spec";
4
4
 
5
5
  //#region src/operations/index.d.ts
@@ -71,7 +71,7 @@ declare const PlatformTourTrackModel: _contractspec_lib_schema0.SchemaModel<{
71
71
  isOptional: false;
72
72
  };
73
73
  }>;
74
- declare const GetPlatformTourTrack: _contractspec_lib_contracts0.OperationSpec<_contractspec_lib_schema0.SchemaModel<{}>, _contractspec_lib_schema0.SchemaModel<{
74
+ declare const GetPlatformTourTrack: _contractspec_lib_contracts2.OperationSpec<_contractspec_lib_schema0.SchemaModel<{}>, _contractspec_lib_schema0.SchemaModel<{
75
75
  track: {
76
76
  type: _contractspec_lib_schema0.SchemaModel<{
77
77
  id: {
@@ -144,7 +144,7 @@ declare const GetPlatformTourTrack: _contractspec_lib_contracts0.OperationSpec<_
144
144
  isOptional: false;
145
145
  };
146
146
  }>, undefined>;
147
- declare const RecordPlatformTourEvent: _contractspec_lib_contracts0.OperationSpec<_contractspec_lib_schema0.SchemaModel<{
147
+ declare const RecordPlatformTourEvent: _contractspec_lib_contracts2.OperationSpec<_contractspec_lib_schema0.SchemaModel<{
148
148
  learnerId: {
149
149
  type: _contractspec_lib_schema0.FieldType<string, string>;
150
150
  isOptional: false;
@@ -168,7 +168,7 @@ declare const RecordPlatformTourEvent: _contractspec_lib_contracts0.OperationSpe
168
168
  };
169
169
  }>, undefined>;
170
170
  declare const platformTourContracts: {
171
- GetPlatformTourTrack: _contractspec_lib_contracts0.OperationSpec<_contractspec_lib_schema0.SchemaModel<{}>, _contractspec_lib_schema0.SchemaModel<{
171
+ GetPlatformTourTrack: _contractspec_lib_contracts2.OperationSpec<_contractspec_lib_schema0.SchemaModel<{}>, _contractspec_lib_schema0.SchemaModel<{
172
172
  track: {
173
173
  type: _contractspec_lib_schema0.SchemaModel<{
174
174
  id: {
@@ -241,7 +241,7 @@ declare const platformTourContracts: {
241
241
  isOptional: false;
242
242
  };
243
243
  }>, undefined>;
244
- RecordPlatformTourEvent: _contractspec_lib_contracts0.OperationSpec<_contractspec_lib_schema0.SchemaModel<{
244
+ RecordPlatformTourEvent: _contractspec_lib_contracts2.OperationSpec<_contractspec_lib_schema0.SchemaModel<{
245
245
  learnerId: {
246
246
  type: _contractspec_lib_schema0.FieldType<string, string>;
247
247
  isOptional: false;
@@ -1,6 +1,6 @@
1
1
  import { platformPrimitivesTourTrack } from "../track.js";
2
- import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
3
2
  import { defineCommand, defineQuery } from "@contractspec/lib.contracts";
3
+ import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
4
4
 
5
5
  //#region src/operations/index.ts
6
6
  const OWNERS = ["examples.learning-journey.platform-tour"];
@@ -1,9 +1,9 @@
1
- import { PresentationSpec } from "@contractspec/lib.contracts";
1
+ import * as _contractspec_lib_contracts6 from "@contractspec/lib.contracts";
2
2
 
3
3
  //#region src/presentations/index.d.ts
4
- declare const PlatformTourTrackPresentation: PresentationSpec;
5
- declare const PlatformTourWidgetPresentation: PresentationSpec;
6
- declare const platformTourPresentations: PresentationSpec[];
4
+ declare const PlatformTourTrackPresentation: _contractspec_lib_contracts6.PresentationSpec;
5
+ declare const PlatformTourWidgetPresentation: _contractspec_lib_contracts6.PresentationSpec;
6
+ declare const platformTourPresentations: _contractspec_lib_contracts6.PresentationSpec[];
7
7
  //#endregion
8
8
  export { PlatformTourTrackPresentation, PlatformTourWidgetPresentation, platformTourPresentations };
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/presentations/index.ts"],"sourcesContent":[],"mappings":";;;cAoBa,+BAA+B;cAgB/B,gCAAgC;AAhBhC,cA+BA,yBAjBZ,EAiBqC,gBAjBrC,EAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/presentations/index.ts"],"sourcesContent":[],"mappings":";;;cAgBa,+BAcX,4BAAA,CAdwC;cAgB7B,gCAaX,4BAAA,CAbyC;cAe9B,2BAGZ,4BAAA,CAHqC,gBAAA"}
@@ -1,5 +1,5 @@
1
1
  import { PlatformTourTrackModel } from "../operations/index.js";
2
- import { StabilityEnum } from "@contractspec/lib.contracts";
2
+ import { StabilityEnum, definePresentation } from "@contractspec/lib.contracts";
3
3
 
4
4
  //#region src/presentations/index.ts
5
5
  const baseMeta = {
@@ -15,7 +15,7 @@ const baseMeta = {
15
15
  goal: "Visualize platform tour progress",
16
16
  context: "Used in platform tour dashboard and widgets"
17
17
  };
18
- const PlatformTourTrackPresentation = {
18
+ const PlatformTourTrackPresentation = definePresentation({
19
19
  meta: {
20
20
  key: "learning.journey.platform.track",
21
21
  version: "1.0.0",
@@ -33,8 +33,8 @@ const PlatformTourTrackPresentation = {
33
33
  "markdown",
34
34
  "application/json"
35
35
  ]
36
- };
37
- const PlatformTourWidgetPresentation = {
36
+ });
37
+ const PlatformTourWidgetPresentation = definePresentation({
38
38
  meta: {
39
39
  key: "learning.journey.platform.widget",
40
40
  version: "1.0.0",
@@ -47,7 +47,7 @@ const PlatformTourWidgetPresentation = {
47
47
  componentKey: "LearningTrackProgressWidget"
48
48
  },
49
49
  targets: ["react"]
50
- };
50
+ });
51
51
  const platformTourPresentations = [PlatformTourTrackPresentation, PlatformTourWidgetPresentation];
52
52
 
53
53
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["baseMeta: Pick<\n PresentationSpecMeta,\n 'domain' | 'owners' | 'tags' | 'title' | 'stability' | 'goal' | 'context'\n>","PlatformTourTrackPresentation: PresentationSpec","PlatformTourWidgetPresentation: PresentationSpec"],"sources":["../../src/presentations/index.ts"],"sourcesContent":["import type {\n PresentationSpecMeta,\n PresentationSpec,\n} from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\nimport { PlatformTourTrackModel } from '../operations';\n\nconst baseMeta: Pick<\n PresentationSpecMeta,\n 'domain' | 'owners' | 'tags' | 'title' | 'stability' | 'goal' | 'context'\n> = {\n domain: 'learning-journey',\n title: 'Platform Tour',\n owners: ['@examples.learning-journey.platform-tour'],\n tags: ['learning', 'platform', 'tour'],\n stability: StabilityEnum.Experimental,\n goal: 'Visualize platform tour progress',\n context: 'Used in platform tour dashboard and widgets',\n};\n\nexport const PlatformTourTrackPresentation: PresentationSpec = {\n meta: {\n key: 'learning.journey.platform.track',\n version: '1.0.0',\n description: 'Platform primitives tour track detail',\n ...baseMeta,\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'LearningTrackDetail',\n props: PlatformTourTrackModel,\n },\n targets: ['react', 'markdown', 'application/json'],\n};\n\nexport const PlatformTourWidgetPresentation: PresentationSpec = {\n meta: {\n key: 'learning.journey.platform.widget',\n version: '1.0.0',\n description: 'Compact widget for platform tour progress',\n ...baseMeta,\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'LearningTrackProgressWidget',\n },\n targets: ['react'],\n};\n\nexport const platformTourPresentations = [\n PlatformTourTrackPresentation,\n PlatformTourWidgetPresentation,\n];\n"],"mappings":";;;;AAOA,MAAMA,WAGF;CACF,QAAQ;CACR,OAAO;CACP,QAAQ,CAAC,2CAA2C;CACpD,MAAM;EAAC;EAAY;EAAY;EAAO;CACtC,WAAW,cAAc;CACzB,MAAM;CACN,SAAS;CACV;AAED,MAAaC,gCAAkD;CAC7D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,aAAa;EACb,GAAG;EACJ;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS;EAAC;EAAS;EAAY;EAAmB;CACnD;AAED,MAAaC,iCAAmD;CAC9D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,aAAa;EACb,GAAG;EACJ;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CACnB;AAED,MAAa,4BAA4B,CACvC,+BACA,+BACD"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/presentations/index.ts"],"sourcesContent":["import { definePresentation, StabilityEnum, type PresentationSpecMeta } from '@contractspec/lib.contracts';\nimport { PlatformTourTrackModel } from '../operations';\n\nconst baseMeta: Pick<\n PresentationSpecMeta,\n 'domain' | 'owners' | 'tags' | 'title' | 'stability' | 'goal' | 'context'\n> = {\n domain: 'learning-journey',\n title: 'Platform Tour',\n owners: ['@examples.learning-journey.platform-tour'],\n tags: ['learning', 'platform', 'tour'],\n stability: StabilityEnum.Experimental,\n goal: 'Visualize platform tour progress',\n context: 'Used in platform tour dashboard and widgets',\n};\n\nexport const PlatformTourTrackPresentation = definePresentation({\n meta: {\n key: 'learning.journey.platform.track',\n version: '1.0.0',\n description: 'Platform primitives tour track detail',\n ...baseMeta,\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'LearningTrackDetail',\n props: PlatformTourTrackModel,\n },\n targets: ['react', 'markdown', 'application/json'],\n});\n\nexport const PlatformTourWidgetPresentation = definePresentation({\n meta: {\n key: 'learning.journey.platform.widget',\n version: '1.0.0',\n description: 'Compact widget for platform tour progress',\n ...baseMeta,\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'LearningTrackProgressWidget',\n },\n targets: ['react'],\n});\n\nexport const platformTourPresentations = [\n PlatformTourTrackPresentation,\n PlatformTourWidgetPresentation,\n];\n"],"mappings":";;;;AAGA,MAAM,WAGF;CACF,QAAQ;CACR,OAAO;CACP,QAAQ,CAAC,2CAA2C;CACpD,MAAM;EAAC;EAAY;EAAY;EAAO;CACtC,WAAW,cAAc;CACzB,MAAM;CACN,SAAS;CACV;AAED,MAAa,gCAAgC,mBAAmB;CAC9D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,aAAa;EACb,GAAG;EACJ;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACd,OAAO;EACR;CACD,SAAS;EAAC;EAAS;EAAY;EAAmB;CACnD,CAAC;AAEF,MAAa,iCAAiC,mBAAmB;CAC/D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,aAAa;EACb,GAAG;EACJ;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CACnB,CAAC;AAEF,MAAa,4BAA4B,CACvC,+BACA,+BACD"}
@@ -0,0 +1,7 @@
1
+ import * as _contractspec_lib_contracts0 from "@contractspec/lib.contracts";
2
+
3
+ //#region src/tests/operations.test-spec.d.ts
4
+ declare const GetTrackTest: _contractspec_lib_contracts0.TestSpec;
5
+ //#endregion
6
+ export { GetTrackTest };
7
+ //# sourceMappingURL=operations.test-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.test-spec.d.ts","names":[],"sources":["../../src/tests/operations.test-spec.ts"],"sourcesContent":[],"mappings":";;;cAEa,cA4BX,4BAAA,CA5BuB"}
@@ -0,0 +1,36 @@
1
+ import { defineTestSpec } from "@contractspec/lib.contracts";
2
+
3
+ //#region src/tests/operations.test-spec.ts
4
+ const GetTrackTest = defineTestSpec({
5
+ meta: {
6
+ key: "learningJourney.platformTour.getTrack.test",
7
+ version: "1.0.0",
8
+ stability: "experimental",
9
+ owners: ["@example.learning-journey-platform-tour"],
10
+ description: "Test for getting platform tour track",
11
+ tags: ["test"]
12
+ },
13
+ target: {
14
+ type: "operation",
15
+ operation: {
16
+ key: "learningJourney.platformTour.getTrack",
17
+ version: "1.0.0"
18
+ }
19
+ },
20
+ scenarios: [{
21
+ key: "success",
22
+ when: { operation: { key: "learningJourney.platformTour.getTrack" } },
23
+ then: [{
24
+ type: "expectOutput",
25
+ match: {}
26
+ }]
27
+ }, {
28
+ key: "error",
29
+ when: { operation: { key: "learningJourney.platformTour.getTrack" } },
30
+ then: [{ type: "expectError" }]
31
+ }]
32
+ });
33
+
34
+ //#endregion
35
+ export { GetTrackTest };
36
+ //# sourceMappingURL=operations.test-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.test-spec.js","names":[],"sources":["../../src/tests/operations.test-spec.ts"],"sourcesContent":["import { defineTestSpec } from '@contractspec/lib.contracts';\n\nexport const GetTrackTest = defineTestSpec({\n meta: {\n key: 'learningJourney.platformTour.getTrack.test',\n version: '1.0.0',\n stability: 'experimental',\n owners: ['@example.learning-journey-platform-tour'],\n description: 'Test for getting platform tour track',\n tags: ['test'],\n },\n target: {\n type: 'operation',\n operation: {\n key: 'learningJourney.platformTour.getTrack',\n version: '1.0.0',\n },\n },\n scenarios: [\n {\n key: 'success',\n when: { operation: { key: 'learningJourney.platformTour.getTrack' } },\n then: [{ type: 'expectOutput', match: {} }],\n },\n {\n key: 'error',\n when: { operation: { key: 'learningJourney.platformTour.getTrack' } },\n then: [{ type: 'expectError' }],\n },\n ],\n});\n"],"mappings":";;;AAEA,MAAa,eAAe,eAAe;CACzC,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,0CAA0C;EACnD,aAAa;EACb,MAAM,CAAC,OAAO;EACf;CACD,QAAQ;EACN,MAAM;EACN,WAAW;GACT,KAAK;GACL,SAAS;GACV;EACF;CACD,WAAW,CACT;EACE,KAAK;EACL,MAAM,EAAE,WAAW,EAAE,KAAK,yCAAyC,EAAE;EACrE,MAAM,CAAC;GAAE,MAAM;GAAgB,OAAO,EAAE;GAAE,CAAC;EAC5C,EACD;EACE,KAAK;EACL,MAAM,EAAE,WAAW,EAAE,KAAK,yCAAyC,EAAE;EACrE,MAAM,CAAC,EAAE,MAAM,eAAe,CAAC;EAChC,CACF;CACF,CAAC"}
package/dist/track.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"track.js","names":["platformPrimitivesTourTrack: LearningJourneyTrackSpec","platformLearningTracks: LearningJourneyTrackSpec[]"],"sources":["../src/track.ts"],"sourcesContent":["import type { LearningJourneyTrackSpec } from '@contractspec/module.learning-journey/track-spec';\n\nexport const platformPrimitivesTourTrack: LearningJourneyTrackSpec = {\n id: 'platform_primitives_tour',\n productId: 'contractspec-platform',\n name: 'Platform Primitives Tour',\n description:\n 'Hands-on tour across identity, audit, notifications, jobs, flags, files, and metering.',\n targetUserSegment: 'platform_developer',\n targetRole: 'developer',\n totalXp: 140,\n completionRewards: { xpBonus: 20, badgeKey: 'platform_primitives' },\n steps: [\n {\n id: 'identity_rbac',\n title: 'Create org and member',\n description: 'Create an org and add at least one member.',\n order: 1,\n completion: {\n eventName: 'org.member.added',\n sourceModule: '@contractspec/lib.identity-rbac',\n },\n xpReward: 20,\n metadata: { surface: 'identity' },\n },\n {\n id: 'event_bus_audit',\n title: 'Emit an auditable event',\n description: 'Emit an event that lands in the audit log.',\n order: 2,\n completion: {\n eventName: 'audit_log.created',\n sourceModule: '@contractspec/module.audit-trail',\n },\n xpReward: 20,\n metadata: { surface: 'bus+audit' },\n },\n {\n id: 'notifications',\n title: 'Send a notification',\n description: 'Send yourself a notification and verify delivery.',\n order: 3,\n completion: {\n eventName: 'notification.sent',\n sourceModule: '@contractspec/module.notifications',\n },\n xpReward: 20,\n metadata: { surface: 'notifications' },\n },\n {\n id: 'jobs_scheduler',\n title: 'Schedule and run a job',\n description: 'Schedule a background job and let it run once.',\n order: 4,\n completion: {\n eventName: 'job.completed',\n sourceModule: '@contractspec/lib.jobs',\n },\n xpReward: 20,\n metadata: { surface: 'jobs' },\n },\n {\n id: 'feature_flags',\n title: 'Create and toggle a feature flag',\n description: 'Create a feature flag and toggle it at least once.',\n order: 5,\n completion: {\n eventName: 'flag.toggled',\n sourceModule: '@contractspec/lib.feature-flags',\n },\n xpReward: 20,\n metadata: { surface: 'feature-flags' },\n },\n {\n id: 'files_attachments',\n title: 'Attach a file',\n description: 'Upload and attach a file to any entity.',\n order: 6,\n completion: {\n eventName: 'attachment.attached',\n sourceModule: '@contractspec/lib.files',\n },\n xpReward: 20,\n metadata: { surface: 'files' },\n },\n {\n id: 'usage_metering',\n title: 'Record usage',\n description: 'Emit a usage metric (regeneration, agent run, or similar).',\n order: 7,\n completion: {\n eventName: 'usage.recorded',\n sourceModule: '@contractspec/lib.metering',\n },\n xpReward: 20,\n metadata: { surface: 'metering' },\n },\n ],\n metadata: {\n surfacedIn: ['studio/learning', 'platform/dev-center'],\n },\n};\n\nexport const platformLearningTracks: LearningJourneyTrackSpec[] = [\n platformPrimitivesTourTrack,\n];\n"],"mappings":";AAEA,MAAaA,8BAAwD;CACnE,IAAI;CACJ,WAAW;CACX,MAAM;CACN,aACE;CACF,mBAAmB;CACnB,YAAY;CACZ,SAAS;CACT,mBAAmB;EAAE,SAAS;EAAI,UAAU;EAAuB;CACnE,OAAO;EACL;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,YAAY;GAClC;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,aAAa;GACnC;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,iBAAiB;GACvC;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,QAAQ;GAC9B;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,iBAAiB;GACvC;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,SAAS;GAC/B;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,YAAY;GAClC;EACF;CACD,UAAU,EACR,YAAY,CAAC,mBAAmB,sBAAsB,EACvD;CACF;AAED,MAAaC,yBAAqD,CAChE,4BACD"}
1
+ {"version":3,"file":"track.js","names":[],"sources":["../src/track.ts"],"sourcesContent":["import type { LearningJourneyTrackSpec } from '@contractspec/module.learning-journey/track-spec';\n\nexport const platformPrimitivesTourTrack: LearningJourneyTrackSpec = {\n id: 'platform_primitives_tour',\n productId: 'contractspec-platform',\n name: 'Platform Primitives Tour',\n description:\n 'Hands-on tour across identity, audit, notifications, jobs, flags, files, and metering.',\n targetUserSegment: 'platform_developer',\n targetRole: 'developer',\n totalXp: 140,\n completionRewards: { xpBonus: 20, badgeKey: 'platform_primitives' },\n steps: [\n {\n id: 'identity_rbac',\n title: 'Create org and member',\n description: 'Create an org and add at least one member.',\n order: 1,\n completion: {\n eventName: 'org.member.added',\n sourceModule: '@contractspec/lib.identity-rbac',\n },\n xpReward: 20,\n metadata: { surface: 'identity' },\n },\n {\n id: 'event_bus_audit',\n title: 'Emit an auditable event',\n description: 'Emit an event that lands in the audit log.',\n order: 2,\n completion: {\n eventName: 'audit_log.created',\n sourceModule: '@contractspec/module.audit-trail',\n },\n xpReward: 20,\n metadata: { surface: 'bus+audit' },\n },\n {\n id: 'notifications',\n title: 'Send a notification',\n description: 'Send yourself a notification and verify delivery.',\n order: 3,\n completion: {\n eventName: 'notification.sent',\n sourceModule: '@contractspec/module.notifications',\n },\n xpReward: 20,\n metadata: { surface: 'notifications' },\n },\n {\n id: 'jobs_scheduler',\n title: 'Schedule and run a job',\n description: 'Schedule a background job and let it run once.',\n order: 4,\n completion: {\n eventName: 'job.completed',\n sourceModule: '@contractspec/lib.jobs',\n },\n xpReward: 20,\n metadata: { surface: 'jobs' },\n },\n {\n id: 'feature_flags',\n title: 'Create and toggle a feature flag',\n description: 'Create a feature flag and toggle it at least once.',\n order: 5,\n completion: {\n eventName: 'flag.toggled',\n sourceModule: '@contractspec/lib.feature-flags',\n },\n xpReward: 20,\n metadata: { surface: 'feature-flags' },\n },\n {\n id: 'files_attachments',\n title: 'Attach a file',\n description: 'Upload and attach a file to any entity.',\n order: 6,\n completion: {\n eventName: 'attachment.attached',\n sourceModule: '@contractspec/lib.files',\n },\n xpReward: 20,\n metadata: { surface: 'files' },\n },\n {\n id: 'usage_metering',\n title: 'Record usage',\n description: 'Emit a usage metric (regeneration, agent run, or similar).',\n order: 7,\n completion: {\n eventName: 'usage.recorded',\n sourceModule: '@contractspec/lib.metering',\n },\n xpReward: 20,\n metadata: { surface: 'metering' },\n },\n ],\n metadata: {\n surfacedIn: ['studio/learning', 'platform/dev-center'],\n },\n};\n\nexport const platformLearningTracks: LearningJourneyTrackSpec[] = [\n platformPrimitivesTourTrack,\n];\n"],"mappings":";AAEA,MAAa,8BAAwD;CACnE,IAAI;CACJ,WAAW;CACX,MAAM;CACN,aACE;CACF,mBAAmB;CACnB,YAAY;CACZ,SAAS;CACT,mBAAmB;EAAE,SAAS;EAAI,UAAU;EAAuB;CACnE,OAAO;EACL;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,YAAY;GAClC;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,aAAa;GACnC;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,iBAAiB;GACvC;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,QAAQ;GAC9B;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,iBAAiB;GACvC;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,SAAS;GAC/B;EACD;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,OAAO;GACP,YAAY;IACV,WAAW;IACX,cAAc;IACf;GACD,UAAU;GACV,UAAU,EAAE,SAAS,YAAY;GAClC;EACF;CACD,UAAU,EACR,YAAY,CAAC,mBAAmB,sBAAsB,EACvD;CACF;AAED,MAAa,yBAAqD,CAChE,4BACD"}
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "@contractspec/example.learning-journey-platform-tour",
3
- "version": "1.46.2",
3
+ "version": "1.47.0",
4
4
  "description": "Learning journey track covering ContractSpec platform primitives.",
5
5
  "type": "module",
6
- "main": "./dist/index.js",
7
6
  "types": "./dist/index.d.ts",
8
7
  "exports": {
9
8
  ".": "./dist/index.js",
@@ -14,6 +13,7 @@
14
13
  "./learning-journey-platform-tour.feature": "./dist/learning-journey-platform-tour.feature.js",
15
14
  "./operations": "./dist/operations/index.js",
16
15
  "./presentations": "./dist/presentations/index.js",
16
+ "./tests/operations.test-spec": "./dist/tests/operations.test-spec.js",
17
17
  "./track": "./dist/track.js",
18
18
  "./*": "./*"
19
19
  },
@@ -30,17 +30,16 @@
30
30
  "lint:check": "eslint src"
31
31
  },
32
32
  "dependencies": {
33
- "@contractspec/lib.contracts": "1.46.2",
34
- "@contractspec/lib.schema": "1.46.2",
35
- "@contractspec/module.learning-journey": "1.46.2"
33
+ "@contractspec/lib.contracts": "1.47.0",
34
+ "@contractspec/lib.schema": "1.47.0",
35
+ "@contractspec/module.learning-journey": "1.47.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@contractspec/tool.tsdown": "1.46.2",
39
- "@contractspec/tool.typescript": "1.46.2",
40
- "tsdown": "^0.18.3",
38
+ "@contractspec/tool.tsdown": "1.47.0",
39
+ "@contractspec/tool.typescript": "1.47.0",
40
+ "tsdown": "^0.19.0",
41
41
  "typescript": "^5.9.3"
42
42
  },
43
- "module": "./dist/index.js",
44
43
  "publishConfig": {
45
44
  "exports": {
46
45
  ".": "./dist/index.js",
package/src/example.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { ExampleSpec } from '@contractspec/lib.contracts';
1
+ import { defineExample } from '@contractspec/lib.contracts';
2
2
 
3
- const example: ExampleSpec = {
3
+ const example = defineExample({
4
4
  meta: {
5
5
  key: 'learning-journey-platform-tour',
6
6
  version: '1.0.0',
@@ -28,6 +28,6 @@ const example: ExampleSpec = {
28
28
  studio: { enabled: true, installable: true },
29
29
  mcp: { enabled: true },
30
30
  },
31
- };
31
+ });
32
32
 
33
33
  export default example;
@@ -3,13 +3,13 @@
3
3
  *
4
4
  * Defines the feature module for platform primitives tour journey.
5
5
  */
6
- import type { FeatureModuleSpec } from '@contractspec/lib.contracts';
6
+ import { defineFeature } from '@contractspec/lib.contracts';
7
7
 
8
8
  /**
9
9
  * Learning Journey Platform Tour feature module that bundles
10
10
  * platform-specific tour track operations and presentations.
11
11
  */
12
- export const LearningJourneyPlatformTourFeature: FeatureModuleSpec = {
12
+ export const LearningJourneyPlatformTourFeature = defineFeature({
13
13
  meta: {
14
14
  key: 'learning-journey-platform-tour',
15
15
  version: '1.0.0',
@@ -63,4 +63,4 @@ export const LearningJourneyPlatformTourFeature: FeatureModuleSpec = {
63
63
  capabilities: {
64
64
  requires: [{ key: 'identity', version: '1.0.0' }],
65
65
  },
66
- };
66
+ });