@contractspec/example.learning-journey-platform-tour 3.7.16 → 3.7.18
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.
- package/.turbo/turbo-build.log +31 -31
- package/CHANGELOG.md +25 -0
- package/dist/browser/docs/index.js +1 -37
- package/dist/browser/docs/platform-tour.docblock.js +1 -37
- package/dist/browser/example.js +1 -34
- package/dist/browser/handlers/demo.handlers.js +1 -130
- package/dist/browser/index.js +1 -416
- package/dist/browser/learning-journey-platform-tour.feature.js +1 -48
- package/dist/browser/operations/index.js +1 -221
- package/dist/browser/presentations/index.js +1 -268
- package/dist/browser/tests/operations.test-spec.js +1 -34
- package/dist/browser/track.js +1 -107
- package/dist/docs/index.js +1 -37
- package/dist/docs/platform-tour.docblock.js +1 -37
- package/dist/example.js +1 -34
- package/dist/handlers/demo.handlers.js +1 -130
- package/dist/index.js +1 -416
- package/dist/learning-journey-platform-tour.feature.js +1 -48
- package/dist/node/docs/index.js +1 -37
- package/dist/node/docs/platform-tour.docblock.js +1 -37
- package/dist/node/example.js +1 -34
- package/dist/node/handlers/demo.handlers.js +1 -130
- package/dist/node/index.js +1 -416
- package/dist/node/learning-journey-platform-tour.feature.js +1 -48
- package/dist/node/operations/index.js +1 -221
- package/dist/node/presentations/index.js +1 -268
- package/dist/node/tests/operations.test-spec.js +1 -34
- package/dist/node/track.js +1 -107
- package/dist/operations/index.js +1 -221
- package/dist/presentations/index.js +1 -268
- package/dist/tests/operations.test-spec.js +1 -34
- package/dist/track.js +1 -107
- package/package.json +8 -8
package/.turbo/turbo-build.log
CHANGED
|
@@ -4,43 +4,43 @@ $ contractspec-bun-build transpile
|
|
|
4
4
|
[contractspec-bun-build] transpile target=bun root=src entries=10 noBundle=false
|
|
5
5
|
Bundled 10 modules in 29ms
|
|
6
6
|
|
|
7
|
-
docs/index.js 1.
|
|
8
|
-
tests/operations.test-spec.js 0.
|
|
9
|
-
./index.js
|
|
10
|
-
docs/platform-tour.docblock.js 1.
|
|
11
|
-
./example.js
|
|
12
|
-
handlers/demo.handlers.js
|
|
13
|
-
./learning-journey-platform-tour.feature.js 1.
|
|
14
|
-
presentations/index.js
|
|
15
|
-
operations/index.js
|
|
16
|
-
./track.js
|
|
7
|
+
docs/index.js 1.44 KB (entry point)
|
|
8
|
+
tests/operations.test-spec.js 0.66 KB (entry point)
|
|
9
|
+
./index.js 9.75 KB (entry point)
|
|
10
|
+
docs/platform-tour.docblock.js 1.44 KB (entry point)
|
|
11
|
+
./example.js 0.80 KB (entry point)
|
|
12
|
+
handlers/demo.handlers.js 2.57 KB (entry point)
|
|
13
|
+
./learning-journey-platform-tour.feature.js 1.20 KB (entry point)
|
|
14
|
+
presentations/index.js 5.80 KB (entry point)
|
|
15
|
+
operations/index.js 4.96 KB (entry point)
|
|
16
|
+
./track.js 2.24 KB (entry point)
|
|
17
17
|
|
|
18
18
|
[contractspec-bun-build] transpile target=node root=src entries=10 noBundle=false
|
|
19
|
-
Bundled 10 modules in
|
|
19
|
+
Bundled 10 modules in 37ms
|
|
20
20
|
|
|
21
|
-
docs/index.js 1.
|
|
22
|
-
tests/operations.test-spec.js 0.
|
|
23
|
-
./index.js
|
|
24
|
-
docs/platform-tour.docblock.js 1.
|
|
25
|
-
./example.js
|
|
26
|
-
handlers/demo.handlers.js
|
|
27
|
-
./learning-journey-platform-tour.feature.js 1.
|
|
28
|
-
presentations/index.js
|
|
29
|
-
operations/index.js
|
|
30
|
-
./track.js
|
|
21
|
+
docs/index.js 1.41 KB (entry point)
|
|
22
|
+
tests/operations.test-spec.js 0.66 KB (entry point)
|
|
23
|
+
./index.js 9.72 KB (entry point)
|
|
24
|
+
docs/platform-tour.docblock.js 1.41 KB (entry point)
|
|
25
|
+
./example.js 0.79 KB (entry point)
|
|
26
|
+
handlers/demo.handlers.js 2.56 KB (entry point)
|
|
27
|
+
./learning-journey-platform-tour.feature.js 1.19 KB (entry point)
|
|
28
|
+
presentations/index.js 5.79 KB (entry point)
|
|
29
|
+
operations/index.js 4.95 KB (entry point)
|
|
30
|
+
./track.js 2.24 KB (entry point)
|
|
31
31
|
|
|
32
32
|
[contractspec-bun-build] transpile target=browser root=src entries=10 noBundle=false
|
|
33
33
|
Bundled 10 modules in 25ms
|
|
34
34
|
|
|
35
|
-
docs/index.js 1.
|
|
36
|
-
tests/operations.test-spec.js 0.
|
|
37
|
-
./index.js
|
|
38
|
-
docs/platform-tour.docblock.js 1.
|
|
39
|
-
./example.js
|
|
40
|
-
handlers/demo.handlers.js
|
|
41
|
-
./learning-journey-platform-tour.feature.js 1.
|
|
42
|
-
presentations/index.js
|
|
43
|
-
operations/index.js
|
|
44
|
-
./track.js
|
|
35
|
+
docs/index.js 1.41 KB (entry point)
|
|
36
|
+
tests/operations.test-spec.js 0.66 KB (entry point)
|
|
37
|
+
./index.js 9.72 KB (entry point)
|
|
38
|
+
docs/platform-tour.docblock.js 1.41 KB (entry point)
|
|
39
|
+
./example.js 0.79 KB (entry point)
|
|
40
|
+
handlers/demo.handlers.js 2.56 KB (entry point)
|
|
41
|
+
./learning-journey-platform-tour.feature.js 1.19 KB (entry point)
|
|
42
|
+
presentations/index.js 5.79 KB (entry point)
|
|
43
|
+
operations/index.js 4.95 KB (entry point)
|
|
44
|
+
./track.js 2.24 KB (entry point)
|
|
45
45
|
|
|
46
46
|
$ contractspec-bun-build types
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @contractspec/example.learning-journey-platform-tour
|
|
2
2
|
|
|
3
|
+
## 3.7.18
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- chore: auto-bump internal dependents
|
|
8
|
+
- Updated dependencies because of chore: auto-bump internal dependents
|
|
9
|
+
- Updated dependencies because of Introduce the Builder v3 control plane as a governed authoring layer over external execution providers.
|
|
10
|
+
- Updated dependencies because of Implement ContractSpec Connect as a first-class spec, runtime, and CLI workflow.
|
|
11
|
+
- @contractspec/module.learning-journey@3.7.17
|
|
12
|
+
- @contractspec/lib.contracts-spec@5.2.0
|
|
13
|
+
- @contractspec/lib.schema@3.7.14
|
|
14
|
+
|
|
15
|
+
## 3.7.17
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Fix workflow runtime imports for sandboxed workflow execution and keep workflow authoring on safe subpaths.
|
|
20
|
+
- Migration: Keep Node-only workflow runner code out of "use workflow" entrypoints.
|
|
21
|
+
- Deprecations: Importing the broad `@contractspec/lib.contracts-spec/workflow` barrel from sandboxed workflow entrypoints is discouraged.
|
|
22
|
+
- Updated dependencies because of Fix workflow runtime imports for sandboxed workflow execution and keep workflow authoring on safe subpaths.
|
|
23
|
+
- Updated dependencies because of Add versioning-backed release capsules, generated patch notes, and guided upgrade flows.
|
|
24
|
+
- @contractspec/module.learning-journey@3.7.16
|
|
25
|
+
- @contractspec/lib.contracts-spec@5.1.0
|
|
26
|
+
- @contractspec/lib.schema@3.7.14
|
|
27
|
+
|
|
3
28
|
## 3.7.16
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
|
@@ -1,37 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { registerDocBlocks } from "@contractspec/lib.contracts-spec/docs";
|
|
3
|
-
var platformTourDocBlocks = [
|
|
4
|
-
{
|
|
5
|
-
id: "docs.learning-journey.platform-tour",
|
|
6
|
-
title: "Learning Journey — Platform Primitives Tour",
|
|
7
|
-
summary: "Cross-module tour that touches identity, audit, notifications, jobs, feature flags, files, and metering.",
|
|
8
|
-
kind: "reference",
|
|
9
|
-
visibility: "public",
|
|
10
|
-
route: "/docs/learning-journey/platform-tour",
|
|
11
|
-
tags: ["learning", "platform", "onboarding"],
|
|
12
|
-
body: `## Track
|
|
13
|
-
- **Key**: \`platform_primitives_tour\`
|
|
14
|
-
- **Persona**: platform developer exploring primitives
|
|
15
|
-
- **Goal**: Touch each cross-cutting module once, event-driven completion
|
|
16
|
-
|
|
17
|
-
## Steps & Events
|
|
18
|
-
1) \`identity_rbac\` → \`org.member.added\`
|
|
19
|
-
2) \`event_bus_audit\` → \`audit_log.created\`
|
|
20
|
-
3) \`notifications\` → \`notification.sent\`
|
|
21
|
-
4) \`jobs_scheduler\` → \`job.completed\`
|
|
22
|
-
5) \`feature_flags\` → \`flag.toggled\`
|
|
23
|
-
6) \`files_attachments\` → \`attachment.attached\`
|
|
24
|
-
7) \`usage_metering\` → \`usage.recorded\`
|
|
25
|
-
|
|
26
|
-
XP: 20 per step, 20 bonus XP upon completion.
|
|
27
|
-
|
|
28
|
-
## Wiring
|
|
29
|
-
- Tracks export from \`@contractspec/example.learning-journey-platform-tour/track\`.
|
|
30
|
-
- Use onboarding API to surface progress:
|
|
31
|
-
- \`learning.onboarding.listTracks\`
|
|
32
|
-
- \`learning.onboarding.getProgress\`
|
|
33
|
-
- \`learning.onboarding.recordEvent\` wired from each module's event bus handlers.
|
|
34
|
-
- Align event payloads with modules: identity-rbac, audit-trail, notifications, jobs, feature-flags, files, metering.`
|
|
35
|
-
}
|
|
36
|
-
];
|
|
37
|
-
registerDocBlocks(platformTourDocBlocks);
|
|
1
|
+
import{registerDocBlocks as h}from"@contractspec/lib.contracts-spec/docs";var j=[{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 `@contractspec/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."}];h(j);
|
|
@@ -1,37 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { registerDocBlocks } from "@contractspec/lib.contracts-spec/docs";
|
|
3
|
-
var platformTourDocBlocks = [
|
|
4
|
-
{
|
|
5
|
-
id: "docs.learning-journey.platform-tour",
|
|
6
|
-
title: "Learning Journey — Platform Primitives Tour",
|
|
7
|
-
summary: "Cross-module tour that touches identity, audit, notifications, jobs, feature flags, files, and metering.",
|
|
8
|
-
kind: "reference",
|
|
9
|
-
visibility: "public",
|
|
10
|
-
route: "/docs/learning-journey/platform-tour",
|
|
11
|
-
tags: ["learning", "platform", "onboarding"],
|
|
12
|
-
body: `## Track
|
|
13
|
-
- **Key**: \`platform_primitives_tour\`
|
|
14
|
-
- **Persona**: platform developer exploring primitives
|
|
15
|
-
- **Goal**: Touch each cross-cutting module once, event-driven completion
|
|
16
|
-
|
|
17
|
-
## Steps & Events
|
|
18
|
-
1) \`identity_rbac\` → \`org.member.added\`
|
|
19
|
-
2) \`event_bus_audit\` → \`audit_log.created\`
|
|
20
|
-
3) \`notifications\` → \`notification.sent\`
|
|
21
|
-
4) \`jobs_scheduler\` → \`job.completed\`
|
|
22
|
-
5) \`feature_flags\` → \`flag.toggled\`
|
|
23
|
-
6) \`files_attachments\` → \`attachment.attached\`
|
|
24
|
-
7) \`usage_metering\` → \`usage.recorded\`
|
|
25
|
-
|
|
26
|
-
XP: 20 per step, 20 bonus XP upon completion.
|
|
27
|
-
|
|
28
|
-
## Wiring
|
|
29
|
-
- Tracks export from \`@contractspec/example.learning-journey-platform-tour/track\`.
|
|
30
|
-
- Use onboarding API to surface progress:
|
|
31
|
-
- \`learning.onboarding.listTracks\`
|
|
32
|
-
- \`learning.onboarding.getProgress\`
|
|
33
|
-
- \`learning.onboarding.recordEvent\` wired from each module's event bus handlers.
|
|
34
|
-
- Align event payloads with modules: identity-rbac, audit-trail, notifications, jobs, feature-flags, files, metering.`
|
|
35
|
-
}
|
|
36
|
-
];
|
|
37
|
-
registerDocBlocks(platformTourDocBlocks);
|
|
1
|
+
import{registerDocBlocks as h}from"@contractspec/lib.contracts-spec/docs";var j=[{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 `@contractspec/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."}];h(j);
|
package/dist/browser/example.js
CHANGED
|
@@ -1,34 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { defineExample } from "@contractspec/lib.contracts-spec";
|
|
3
|
-
var example = defineExample({
|
|
4
|
-
meta: {
|
|
5
|
-
key: "learning-journey-platform-tour",
|
|
6
|
-
version: "1.0.0",
|
|
7
|
-
title: "Learning Journey — Platform Tour",
|
|
8
|
-
description: "Learning journey track + contracts + presentations for a platform tour.",
|
|
9
|
-
kind: "template",
|
|
10
|
-
visibility: "public",
|
|
11
|
-
stability: "experimental",
|
|
12
|
-
owners: ["@platform.core"],
|
|
13
|
-
tags: ["learning", "journey", "platform-tour"]
|
|
14
|
-
},
|
|
15
|
-
docs: {
|
|
16
|
-
rootDocId: "docs.examples.platform-tour",
|
|
17
|
-
goalDocId: "docs.examples.platform-tour.goal",
|
|
18
|
-
usageDocId: "docs.examples.platform-tour.usage"
|
|
19
|
-
},
|
|
20
|
-
entrypoints: {
|
|
21
|
-
packageName: "@contractspec/example.learning-journey-platform-tour",
|
|
22
|
-
docs: "./docs"
|
|
23
|
-
},
|
|
24
|
-
surfaces: {
|
|
25
|
-
templates: true,
|
|
26
|
-
sandbox: { enabled: true, modes: ["markdown", "playground"] },
|
|
27
|
-
studio: { enabled: true, installable: true },
|
|
28
|
-
mcp: { enabled: true }
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
var example_default = example;
|
|
32
|
-
export {
|
|
33
|
-
example_default as default
|
|
34
|
-
};
|
|
1
|
+
import{defineExample as g}from"@contractspec/lib.contracts-spec";var h=g({meta:{key:"learning-journey-platform-tour",version:"1.0.0",title:"Learning Journey — Platform Tour",description:"Learning journey track + contracts + presentations for a platform tour.",kind:"template",visibility:"public",stability:"experimental",owners:["@platform.core"],tags:["learning","journey","platform-tour"]},docs:{rootDocId:"docs.examples.platform-tour",goalDocId:"docs.examples.platform-tour.goal",usageDocId:"docs.examples.platform-tour.usage"},entrypoints:{packageName:"@contractspec/example.learning-journey-platform-tour",docs:"./docs"},surfaces:{templates:!0,sandbox:{enabled:!0,modes:["markdown","playground"]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}}),q=h;export{q as default};
|
|
@@ -1,130 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var 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: { xpBonus: 20, badgeKey: "platform_primitives" },
|
|
11
|
-
steps: [
|
|
12
|
-
{
|
|
13
|
-
id: "identity_rbac",
|
|
14
|
-
title: "Create org and member",
|
|
15
|
-
description: "Create an org and add at least one member.",
|
|
16
|
-
order: 1,
|
|
17
|
-
completion: {
|
|
18
|
-
eventName: "org.member.added",
|
|
19
|
-
sourceModule: "@contractspec/lib.identity-rbac"
|
|
20
|
-
},
|
|
21
|
-
xpReward: 20,
|
|
22
|
-
metadata: { surface: "identity" }
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
id: "event_bus_audit",
|
|
26
|
-
title: "Emit an auditable event",
|
|
27
|
-
description: "Emit an event that lands in the audit log.",
|
|
28
|
-
order: 2,
|
|
29
|
-
completion: {
|
|
30
|
-
eventName: "audit_log.created",
|
|
31
|
-
sourceModule: "@contractspec/module.audit-trail"
|
|
32
|
-
},
|
|
33
|
-
xpReward: 20,
|
|
34
|
-
metadata: { surface: "bus+audit" }
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
id: "notifications",
|
|
38
|
-
title: "Send a notification",
|
|
39
|
-
description: "Send yourself a notification and verify delivery.",
|
|
40
|
-
order: 3,
|
|
41
|
-
completion: {
|
|
42
|
-
eventName: "notification.sent",
|
|
43
|
-
sourceModule: "@contractspec/module.notifications"
|
|
44
|
-
},
|
|
45
|
-
xpReward: 20,
|
|
46
|
-
metadata: { surface: "notifications" }
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
id: "jobs_scheduler",
|
|
50
|
-
title: "Schedule and run a job",
|
|
51
|
-
description: "Schedule a background job and let it run once.",
|
|
52
|
-
order: 4,
|
|
53
|
-
completion: {
|
|
54
|
-
eventName: "job.completed",
|
|
55
|
-
sourceModule: "@contractspec/lib.jobs"
|
|
56
|
-
},
|
|
57
|
-
xpReward: 20,
|
|
58
|
-
metadata: { surface: "jobs" }
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
id: "feature_flags",
|
|
62
|
-
title: "Create and toggle a feature flag",
|
|
63
|
-
description: "Create a feature flag and toggle it at least once.",
|
|
64
|
-
order: 5,
|
|
65
|
-
completion: {
|
|
66
|
-
eventName: "flag.toggled",
|
|
67
|
-
sourceModule: "@contractspec/lib.feature-flags"
|
|
68
|
-
},
|
|
69
|
-
xpReward: 20,
|
|
70
|
-
metadata: { surface: "feature-flags" }
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
id: "files_attachments",
|
|
74
|
-
title: "Attach a file",
|
|
75
|
-
description: "Upload and attach a file to any entity.",
|
|
76
|
-
order: 6,
|
|
77
|
-
completion: {
|
|
78
|
-
eventName: "attachment.attached",
|
|
79
|
-
sourceModule: "@contractspec/lib.files"
|
|
80
|
-
},
|
|
81
|
-
xpReward: 20,
|
|
82
|
-
metadata: { surface: "files" }
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
id: "usage_metering",
|
|
86
|
-
title: "Record usage",
|
|
87
|
-
description: "Emit a usage metric (regeneration, agent run, or similar).",
|
|
88
|
-
order: 7,
|
|
89
|
-
completion: {
|
|
90
|
-
eventName: "usage.recorded",
|
|
91
|
-
sourceModule: "@contractspec/lib.metering"
|
|
92
|
-
},
|
|
93
|
-
xpReward: 20,
|
|
94
|
-
metadata: { surface: "metering" }
|
|
95
|
-
}
|
|
96
|
-
],
|
|
97
|
-
metadata: {
|
|
98
|
-
surfacedIn: ["studio/learning", "platform/dev-center"]
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
var platformLearningTracks = [
|
|
102
|
-
platformPrimitivesTourTrack
|
|
103
|
-
];
|
|
104
|
-
|
|
105
|
-
// src/handlers/demo.handlers.ts
|
|
106
|
-
var platformTourEvents = [
|
|
107
|
-
"org.member.added",
|
|
108
|
-
"audit_log.created",
|
|
109
|
-
"notification.sent",
|
|
110
|
-
"job.completed",
|
|
111
|
-
"flag.toggled",
|
|
112
|
-
"attachment.attached",
|
|
113
|
-
"usage.recorded"
|
|
114
|
-
];
|
|
115
|
-
var emitPlatformTourEvent = (eventName, { learnerId, occurredAt = new Date, payload }, record) => {
|
|
116
|
-
const event = {
|
|
117
|
-
learnerId,
|
|
118
|
-
name: eventName,
|
|
119
|
-
occurredAt,
|
|
120
|
-
payload,
|
|
121
|
-
trackId: platformPrimitivesTourTrack.id
|
|
122
|
-
};
|
|
123
|
-
return record ? record(event) : event;
|
|
124
|
-
};
|
|
125
|
-
var emitAllPlatformTourEvents = (params, record) => platformTourEvents.map((name) => emitPlatformTourEvent(name, params, record));
|
|
126
|
-
export {
|
|
127
|
-
platformTourEvents,
|
|
128
|
-
emitPlatformTourEvent,
|
|
129
|
-
emitAllPlatformTourEvents
|
|
130
|
-
};
|
|
1
|
+
var r={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:"@contractspec/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:"@contractspec/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:"@contractspec/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:"@contractspec/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:"@contractspec/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:"@contractspec/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:"@contractspec/lib.metering"},xpReward:20,metadata:{surface:"metering"}}],metadata:{surfacedIn:["studio/learning","platform/dev-center"]}},s=[r];var c=["org.member.added","audit_log.created","notification.sent","job.completed","flag.toggled","attachment.attached","usage.recorded"],d=(e,{learnerId:t,occurredAt:a=new Date,payload:i},o)=>{let n={learnerId:t,name:e,occurredAt:a,payload:i,trackId:r.id};return o?o(n):n},u=(e,t)=>c.map((a)=>d(a,e,t));export{c as platformTourEvents,d as emitPlatformTourEvent,u as emitAllPlatformTourEvents};
|