@forwardimpact/pathway 0.18.0 → 0.20.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.
- package/package.json +2 -2
- package/src/commands/agent.js +1 -1
- package/src/commands/build.js +2 -2
- package/src/commands/dev.js +2 -2
- package/src/commands/job.js +3 -3
- package/src/commands/skill.js +1 -1
- package/src/components/comparison-radar.js +1 -1
- package/src/css/views/print.css +26 -0
- package/src/formatters/interview/shared.js +3 -3
- package/src/formatters/job/description.js +42 -47
- package/src/formatters/progress/shared.js +3 -3
- package/src/formatters/skill/shared.js +1 -1
- package/src/formatters/track/shared.js +1 -1
- package/src/handout.html +13 -13
- package/src/index.html +13 -13
- package/src/lib/job-cache.js +1 -1
- package/src/pages/agent-builder.js +1 -1
- package/src/pages/assessment-results.js +1 -1
- package/src/pages/job-builder.js +1 -1
- package/src/pages/job.js +1 -1
- package/src/pages/skill.js +1 -1
- package/src/slide-main.js +1 -1
- package/src/slides/index.js +1 -1
- package/src/slides/job.js +1 -1
- package/src/slides/overview.js +1 -1
- package/src/slides.html +13 -13
- package/templates/job.template.md +9 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forwardimpact/pathway",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Career progression web app and CLI for exploring roles and generating agent teams",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@forwardimpact/schema": "^0.10.0",
|
|
44
|
-
"@forwardimpact/
|
|
44
|
+
"@forwardimpact/libpathway": "^2.0.0",
|
|
45
45
|
"mustache": "^4.2.0",
|
|
46
46
|
"simple-icons": "^16.7.0",
|
|
47
47
|
"yaml": "^2.3.4"
|
package/src/commands/agent.js
CHANGED
package/src/commands/build.js
CHANGED
|
@@ -42,7 +42,7 @@ function resolvePackageLib(packageName) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
const schemaLibDir = resolvePackageLib("@forwardimpact/schema");
|
|
45
|
-
const modelLibDir = resolvePackageLib("@forwardimpact/
|
|
45
|
+
const modelLibDir = resolvePackageLib("@forwardimpact/libpathway");
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* Files and directories to copy from app/
|
|
@@ -141,7 +141,7 @@ ${framework.emojiIcon} Generating ${framework.title} static site...
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
// Copy @forwardimpact/schema and @forwardimpact/
|
|
144
|
+
// Copy @forwardimpact/schema and @forwardimpact/libpathway packages
|
|
145
145
|
// These are needed by the browser's import map
|
|
146
146
|
console.log("📚 Copying package dependencies...");
|
|
147
147
|
await cp(schemaLibDir, join(outputDir, "schema/lib"), { recursive: true });
|
package/src/commands/dev.js
CHANGED
|
@@ -31,7 +31,7 @@ function resolvePackageLib(packageName) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
const schemaLibDir = resolvePackageLib("@forwardimpact/schema");
|
|
34
|
-
const modelLibDir = resolvePackageLib("@forwardimpact/
|
|
34
|
+
const modelLibDir = resolvePackageLib("@forwardimpact/libpathway");
|
|
35
35
|
|
|
36
36
|
const MIME_TYPES = {
|
|
37
37
|
".html": "text/html; charset=utf-8",
|
|
@@ -138,7 +138,7 @@ export async function runDevCommand({ dataDir, options }) {
|
|
|
138
138
|
// Serve @forwardimpact/schema package files (resolved via Node module resolution)
|
|
139
139
|
filePath = join(schemaLibDir, pathname.slice(12));
|
|
140
140
|
} else if (pathname.startsWith("/model/lib/")) {
|
|
141
|
-
// Serve @forwardimpact/
|
|
141
|
+
// Serve @forwardimpact/libpathway package files (resolved via Node module resolution)
|
|
142
142
|
filePath = join(modelLibDir, pathname.slice(11));
|
|
143
143
|
} else if (pathname === "/" || pathname === "") {
|
|
144
144
|
// Serve index.html for root
|
package/src/commands/job.js
CHANGED
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
* npx pathway job --validate # Validation checks
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { prepareJobDetail } from "@forwardimpact/
|
|
17
|
+
import { prepareJobDetail } from "@forwardimpact/libpathway/job";
|
|
18
18
|
import { jobToMarkdown } from "../formatters/job/markdown.js";
|
|
19
|
-
import { generateAllJobs } from "@forwardimpact/
|
|
19
|
+
import { generateAllJobs } from "@forwardimpact/libpathway/derivation";
|
|
20
20
|
import { formatTable } from "../lib/cli-output.js";
|
|
21
21
|
import {
|
|
22
22
|
deriveChecklist,
|
|
23
23
|
formatChecklistMarkdown,
|
|
24
|
-
} from "@forwardimpact/
|
|
24
|
+
} from "@forwardimpact/libpathway/checklist";
|
|
25
25
|
import { loadJobTemplate } from "../lib/template-loader.js";
|
|
26
26
|
import { toolkitToPlainList } from "../formatters/toolkit/markdown.js";
|
|
27
27
|
|
package/src/commands/skill.js
CHANGED
|
@@ -16,7 +16,7 @@ import { skillToMarkdown } from "../formatters/skill/markdown.js";
|
|
|
16
16
|
import { prepareSkillsList } from "../formatters/skill/shared.js";
|
|
17
17
|
import { getConceptEmoji } from "@forwardimpact/schema/levels";
|
|
18
18
|
import { formatTable, formatError } from "../lib/cli-output.js";
|
|
19
|
-
import { generateSkillMarkdown } from "@forwardimpact/
|
|
19
|
+
import { generateSkillMarkdown } from "@forwardimpact/libpathway/agent";
|
|
20
20
|
import { formatAgentSkill } from "../formatters/agent/skill.js";
|
|
21
21
|
import { loadSkillTemplate } from "../lib/template-loader.js";
|
|
22
22
|
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
getBehaviourMaturityIndex,
|
|
14
14
|
formatLevel,
|
|
15
15
|
} from "../lib/render.js";
|
|
16
|
-
import { compareByCapability } from "@forwardimpact/
|
|
16
|
+
import { compareByCapability } from "@forwardimpact/libpathway/policies";
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Create a comparison skill radar chart
|
package/src/css/views/print.css
CHANGED
|
@@ -546,6 +546,15 @@
|
|
|
546
546
|
padding-top: 3rem;
|
|
547
547
|
}
|
|
548
548
|
|
|
549
|
+
/* Handout view: hide brand header — chapter covers provide branding */
|
|
550
|
+
.handout-view .page-brand-header {
|
|
551
|
+
display: none !important;
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
.handout-view main {
|
|
555
|
+
padding-top: 0;
|
|
556
|
+
}
|
|
557
|
+
|
|
549
558
|
/* Chapter cover print styles */
|
|
550
559
|
.chapter-cover {
|
|
551
560
|
page-break-after: always;
|
|
@@ -556,6 +565,23 @@
|
|
|
556
565
|
align-items: center;
|
|
557
566
|
}
|
|
558
567
|
|
|
568
|
+
/* Handout view: page breaks between chapters and sections */
|
|
569
|
+
.handout-view .chapter-cover {
|
|
570
|
+
page-break-before: always;
|
|
571
|
+
page-break-after: auto;
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
.handout-view .detail-page {
|
|
575
|
+
page-break-before: always;
|
|
576
|
+
border-bottom: none;
|
|
577
|
+
margin-bottom: 0;
|
|
578
|
+
padding-bottom: 0;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
.handout-view main > :first-child {
|
|
582
|
+
page-break-before: auto;
|
|
583
|
+
}
|
|
584
|
+
|
|
559
585
|
/* Checklist print styles */
|
|
560
586
|
.checklist-section {
|
|
561
587
|
page-break-inside: avoid;
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
isValidJobCombination,
|
|
9
9
|
generateJobTitle,
|
|
10
10
|
getDisciplineSkillIds,
|
|
11
|
-
} from "@forwardimpact/
|
|
11
|
+
} from "@forwardimpact/libpathway/derivation";
|
|
12
12
|
import {
|
|
13
13
|
deriveMissionFitInterview,
|
|
14
14
|
deriveDecompositionInterview,
|
|
15
15
|
deriveStakeholderInterview,
|
|
16
|
-
} from "@forwardimpact/
|
|
17
|
-
import { getOrCreateJob } from "@forwardimpact/
|
|
16
|
+
} from "@forwardimpact/libpathway/interview";
|
|
17
|
+
import { getOrCreateJob } from "@forwardimpact/libpathway/job-cache";
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Interview type configurations
|
|
@@ -10,10 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import Mustache from "mustache";
|
|
12
12
|
|
|
13
|
-
import {
|
|
14
|
-
SKILL_LEVEL_ORDER,
|
|
15
|
-
BEHAVIOUR_MATURITY_ORDER,
|
|
16
|
-
} from "@forwardimpact/schema/levels";
|
|
13
|
+
import { BEHAVIOUR_MATURITY_ORDER } from "@forwardimpact/schema/levels";
|
|
17
14
|
import { trimValue, trimFields } from "../shared.js";
|
|
18
15
|
|
|
19
16
|
/**
|
|
@@ -84,43 +81,45 @@ function prepareJobDescriptionData({ job, discipline, grade, track }) {
|
|
|
84
81
|
return indexB - indexA;
|
|
85
82
|
});
|
|
86
83
|
|
|
87
|
-
//
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
skillsByLevel[level].push(skill);
|
|
95
|
-
}
|
|
84
|
+
// Build capability skill sections at the highest skill level
|
|
85
|
+
let capabilitySkills = [];
|
|
86
|
+
const derivedResponsibilities = job.derivedResponsibilities || [];
|
|
87
|
+
if (derivedResponsibilities.length > 0) {
|
|
88
|
+
// derivedResponsibilities is sorted: highest level first, then by ordinalRank
|
|
89
|
+
const highestLevel = derivedResponsibilities[0].level;
|
|
96
90
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if (indexA === -1 && indexB === -1) return a.localeCompare(b);
|
|
102
|
-
if (indexA === -1) return 1;
|
|
103
|
-
if (indexB === -1) return -1;
|
|
104
|
-
return indexB - indexA;
|
|
105
|
-
});
|
|
91
|
+
// Filter responsibilities to only the highest level
|
|
92
|
+
const topResponsibilities = derivedResponsibilities.filter(
|
|
93
|
+
(r) => r.level === highestLevel,
|
|
94
|
+
);
|
|
106
95
|
|
|
107
|
-
|
|
108
|
-
|
|
96
|
+
// Group skill matrix entries by capability at the highest level
|
|
97
|
+
const skillsByCapability = {};
|
|
98
|
+
for (const skill of job.skillMatrix) {
|
|
99
|
+
if (skill.level !== highestLevel) continue;
|
|
100
|
+
if (!skillsByCapability[skill.capability]) {
|
|
101
|
+
skillsByCapability[skill.capability] = [];
|
|
102
|
+
}
|
|
103
|
+
skillsByCapability[skill.capability].push(skill);
|
|
104
|
+
}
|
|
109
105
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
106
|
+
// Build capability sections in ordinalRank order
|
|
107
|
+
capabilitySkills = topResponsibilities
|
|
108
|
+
.filter((r) => skillsByCapability[r.capability]?.length > 0)
|
|
109
|
+
.map((r) => {
|
|
110
|
+
const skills = [...skillsByCapability[r.capability]].sort((a, b) =>
|
|
111
|
+
(a.skillName || "").localeCompare(b.skillName || ""),
|
|
112
|
+
);
|
|
113
|
+
return {
|
|
114
|
+
capabilityHeading: r.capabilityName.toUpperCase(),
|
|
115
|
+
responsibilityDescription: r.responsibility,
|
|
116
|
+
skills: skills.map((s) => ({
|
|
117
|
+
skillName: s.skillName,
|
|
118
|
+
levelDescription: s.levelDescription || "",
|
|
119
|
+
})),
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
}
|
|
124
123
|
|
|
125
124
|
// Build qualification summary with placeholder replacement
|
|
126
125
|
const qualificationSummary =
|
|
@@ -129,9 +128,6 @@ function prepareJobDescriptionData({ job, discipline, grade, track }) {
|
|
|
129
128
|
grade.typicalExperienceRange || "",
|
|
130
129
|
) || null;
|
|
131
130
|
|
|
132
|
-
const responsibilities = trimFields(job.derivedResponsibilities, {
|
|
133
|
-
responsibility: "required",
|
|
134
|
-
});
|
|
135
131
|
const behaviours = trimFields(sortedBehaviours, {
|
|
136
132
|
maturityDescription: "optional",
|
|
137
133
|
});
|
|
@@ -150,15 +146,14 @@ function prepareJobDescriptionData({ job, discipline, grade, track }) {
|
|
|
150
146
|
hasTrackRoleContext: !!trimmedTrackRoleContext,
|
|
151
147
|
expectationsParagraph: trimmedExpectationsParagraph,
|
|
152
148
|
hasExpectationsParagraph: !!trimmedExpectationsParagraph,
|
|
153
|
-
responsibilities,
|
|
154
|
-
hasResponsibilities: responsibilities.length > 0,
|
|
155
149
|
behaviours,
|
|
156
150
|
hasBehaviours: behaviours.length > 0,
|
|
157
|
-
|
|
158
|
-
...
|
|
159
|
-
|
|
151
|
+
capabilitySkills: capabilitySkills.map((cap) => ({
|
|
152
|
+
...cap,
|
|
153
|
+
responsibilityDescription: trimValue(cap.responsibilityDescription),
|
|
154
|
+
skills: trimFields(cap.skills, { levelDescription: "optional" }),
|
|
160
155
|
})),
|
|
161
|
-
|
|
156
|
+
hasCapabilitySkills: capabilitySkills.length > 0,
|
|
162
157
|
qualificationSummary: trimmedQualificationSummary,
|
|
163
158
|
hasQualificationSummary: !!trimmedQualificationSummary,
|
|
164
159
|
};
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
import {
|
|
8
8
|
isValidJobCombination,
|
|
9
9
|
generateJobTitle,
|
|
10
|
-
} from "@forwardimpact/
|
|
10
|
+
} from "@forwardimpact/libpathway/derivation";
|
|
11
11
|
import {
|
|
12
12
|
analyzeProgression,
|
|
13
13
|
analyzeCustomProgression,
|
|
14
14
|
getNextGrade,
|
|
15
|
-
} from "@forwardimpact/
|
|
16
|
-
import { getOrCreateJob } from "@forwardimpact/
|
|
15
|
+
} from "@forwardimpact/libpathway/progression";
|
|
16
|
+
import { getOrCreateJob } from "@forwardimpact/libpathway/job-cache";
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Get the next grade for progression
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
groupSkillsByCapability,
|
|
9
9
|
getCapabilityEmoji,
|
|
10
10
|
} from "@forwardimpact/schema/levels";
|
|
11
|
-
import { getSkillTypeForDiscipline } from "@forwardimpact/
|
|
11
|
+
import { getSkillTypeForDiscipline } from "@forwardimpact/libpathway/derivation";
|
|
12
12
|
import { truncate } from "../shared.js";
|
|
13
13
|
|
|
14
14
|
/**
|
package/src/handout.html
CHANGED
|
@@ -13,19 +13,19 @@
|
|
|
13
13
|
"@forwardimpact/schema/levels": "/schema/lib/levels.js",
|
|
14
14
|
"@forwardimpact/schema/loader": "/schema/lib/loader.js",
|
|
15
15
|
"@forwardimpact/schema/validation": "/schema/lib/validation.js",
|
|
16
|
-
"@forwardimpact/
|
|
17
|
-
"@forwardimpact/
|
|
18
|
-
"@forwardimpact/
|
|
19
|
-
"@forwardimpact/
|
|
20
|
-
"@forwardimpact/
|
|
21
|
-
"@forwardimpact/
|
|
22
|
-
"@forwardimpact/
|
|
23
|
-
"@forwardimpact/
|
|
24
|
-
"@forwardimpact/
|
|
25
|
-
"@forwardimpact/
|
|
26
|
-
"@forwardimpact/
|
|
27
|
-
"@forwardimpact/
|
|
28
|
-
"@forwardimpact/
|
|
16
|
+
"@forwardimpact/libpathway": "/model/lib/index.js",
|
|
17
|
+
"@forwardimpact/libpathway/derivation": "/model/lib/derivation.js",
|
|
18
|
+
"@forwardimpact/libpathway/modifiers": "/model/lib/modifiers.js",
|
|
19
|
+
"@forwardimpact/libpathway/agent": "/model/lib/agent.js",
|
|
20
|
+
"@forwardimpact/libpathway/interview": "/model/lib/interview.js",
|
|
21
|
+
"@forwardimpact/libpathway/job": "/model/lib/job.js",
|
|
22
|
+
"@forwardimpact/libpathway/job-cache": "/model/lib/job-cache.js",
|
|
23
|
+
"@forwardimpact/libpathway/checklist": "/model/lib/checklist.js",
|
|
24
|
+
"@forwardimpact/libpathway/matching": "/model/lib/matching.js",
|
|
25
|
+
"@forwardimpact/libpathway/profile": "/model/lib/profile.js",
|
|
26
|
+
"@forwardimpact/libpathway/progression": "/model/lib/progression.js",
|
|
27
|
+
"@forwardimpact/libpathway/policies": "/model/lib/policies/index.js",
|
|
28
|
+
"@forwardimpact/libpathway/toolkit": "/model/lib/toolkit.js"
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
</script>
|
package/src/index.html
CHANGED
|
@@ -25,19 +25,19 @@
|
|
|
25
25
|
"@forwardimpact/schema/levels": "/schema/lib/levels.js",
|
|
26
26
|
"@forwardimpact/schema/loader": "/schema/lib/loader.js",
|
|
27
27
|
"@forwardimpact/schema/validation": "/schema/lib/validation.js",
|
|
28
|
-
"@forwardimpact/
|
|
29
|
-
"@forwardimpact/
|
|
30
|
-
"@forwardimpact/
|
|
31
|
-
"@forwardimpact/
|
|
32
|
-
"@forwardimpact/
|
|
33
|
-
"@forwardimpact/
|
|
34
|
-
"@forwardimpact/
|
|
35
|
-
"@forwardimpact/
|
|
36
|
-
"@forwardimpact/
|
|
37
|
-
"@forwardimpact/
|
|
38
|
-
"@forwardimpact/
|
|
39
|
-
"@forwardimpact/
|
|
40
|
-
"@forwardimpact/
|
|
28
|
+
"@forwardimpact/libpathway": "/model/lib/index.js",
|
|
29
|
+
"@forwardimpact/libpathway/derivation": "/model/lib/derivation.js",
|
|
30
|
+
"@forwardimpact/libpathway/modifiers": "/model/lib/modifiers.js",
|
|
31
|
+
"@forwardimpact/libpathway/agent": "/model/lib/agent.js",
|
|
32
|
+
"@forwardimpact/libpathway/interview": "/model/lib/interview.js",
|
|
33
|
+
"@forwardimpact/libpathway/job": "/model/lib/job.js",
|
|
34
|
+
"@forwardimpact/libpathway/job-cache": "/model/lib/job-cache.js",
|
|
35
|
+
"@forwardimpact/libpathway/checklist": "/model/lib/checklist.js",
|
|
36
|
+
"@forwardimpact/libpathway/matching": "/model/lib/matching.js",
|
|
37
|
+
"@forwardimpact/libpathway/profile": "/model/lib/profile.js",
|
|
38
|
+
"@forwardimpact/libpathway/progression": "/model/lib/progression.js",
|
|
39
|
+
"@forwardimpact/libpathway/policies": "/model/lib/policies/index.js",
|
|
40
|
+
"@forwardimpact/libpathway/toolkit": "/model/lib/toolkit.js"
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
</script>
|
package/src/lib/job-cache.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Provides consistent key generation and get-or-create pattern.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { deriveJob } from "@forwardimpact/
|
|
8
|
+
import { deriveJob } from "@forwardimpact/libpathway/derivation";
|
|
9
9
|
|
|
10
10
|
/** @type {Map<string, Object>} */
|
|
11
11
|
const cache = new Map();
|
|
@@ -19,7 +19,7 @@ import { getState } from "../lib/state.js";
|
|
|
19
19
|
import { createBadge } from "../components/card.js";
|
|
20
20
|
import { formatLevel } from "../lib/render.js";
|
|
21
21
|
import { getAssessmentState, resetAssessment } from "./self-assessment.js";
|
|
22
|
-
import { findRealisticMatches } from "@forwardimpact/
|
|
22
|
+
import { findRealisticMatches } from "@forwardimpact/libpathway/matching";
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* Render the assessment results page
|
package/src/pages/job-builder.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { render } from "../lib/render.js";
|
|
6
6
|
import { getState } from "../lib/state.js";
|
|
7
7
|
import { createBuilder, createStandardPreview } from "../components/builder.js";
|
|
8
|
-
import { prepareJobBuilderPreview } from "@forwardimpact/
|
|
8
|
+
import { prepareJobBuilderPreview } from "@forwardimpact/libpathway/job";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Render job builder page
|
package/src/pages/job.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { render, div, p } from "../lib/render.js";
|
|
6
6
|
import { getState } from "../lib/state.js";
|
|
7
7
|
import { renderError } from "../components/error-page.js";
|
|
8
|
-
import { prepareJobDetail } from "@forwardimpact/
|
|
8
|
+
import { prepareJobDetail } from "@forwardimpact/libpathway/job";
|
|
9
9
|
import { jobToDOM } from "../formatters/job/dom.js";
|
|
10
10
|
|
|
11
11
|
/** @type {string|null} Cached job template */
|
package/src/pages/skill.js
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
getCapabilityEmoji,
|
|
15
15
|
getConceptEmoji,
|
|
16
16
|
} from "@forwardimpact/schema/levels";
|
|
17
|
-
import { generateSkillMarkdown } from "@forwardimpact/
|
|
17
|
+
import { generateSkillMarkdown } from "@forwardimpact/libpathway";
|
|
18
18
|
import { formatAgentSkill } from "../formatters/agent/skill.js";
|
|
19
19
|
|
|
20
20
|
/** @type {string|null} Cached skill template */
|
package/src/slide-main.js
CHANGED
|
@@ -8,7 +8,7 @@ import { createSlideRouter } from "./lib/router-slides.js";
|
|
|
8
8
|
import { setData, getState } from "./lib/state.js";
|
|
9
9
|
import { loadAllData } from "./lib/yaml-loader.js";
|
|
10
10
|
import { span, a } from "./lib/render.js";
|
|
11
|
-
import { generateAllJobs } from "@forwardimpact/
|
|
11
|
+
import { generateAllJobs } from "@forwardimpact/libpathway/derivation";
|
|
12
12
|
import { sortTracksByName } from "./formatters/track/shared.js";
|
|
13
13
|
|
|
14
14
|
// Import slide renderers
|
package/src/slides/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { div, heading1, heading2, p, a, ul, li, span } from "../lib/render.js";
|
|
8
8
|
import { getConceptEmoji } from "@forwardimpact/schema/levels";
|
|
9
|
-
import { generateAllJobs } from "@forwardimpact/
|
|
9
|
+
import { generateAllJobs } from "@forwardimpact/libpathway/derivation";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Render the slide index
|
package/src/slides/job.js
CHANGED
package/src/slides/overview.js
CHANGED
|
@@ -22,7 +22,7 @@ import { prepareBehavioursList } from "../formatters/behaviour/shared.js";
|
|
|
22
22
|
import { prepareDriversList } from "../formatters/driver/shared.js";
|
|
23
23
|
import { prepareGradesList } from "../formatters/grade/shared.js";
|
|
24
24
|
import { prepareTracksList } from "../formatters/track/shared.js";
|
|
25
|
-
import { generateAllJobs } from "@forwardimpact/
|
|
25
|
+
import { generateAllJobs } from "@forwardimpact/libpathway/derivation";
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Format discipline group name for display
|
package/src/slides.html
CHANGED
|
@@ -13,19 +13,19 @@
|
|
|
13
13
|
"@forwardimpact/schema/levels": "/schema/lib/levels.js",
|
|
14
14
|
"@forwardimpact/schema/loader": "/schema/lib/loader.js",
|
|
15
15
|
"@forwardimpact/schema/validation": "/schema/lib/validation.js",
|
|
16
|
-
"@forwardimpact/
|
|
17
|
-
"@forwardimpact/
|
|
18
|
-
"@forwardimpact/
|
|
19
|
-
"@forwardimpact/
|
|
20
|
-
"@forwardimpact/
|
|
21
|
-
"@forwardimpact/
|
|
22
|
-
"@forwardimpact/
|
|
23
|
-
"@forwardimpact/
|
|
24
|
-
"@forwardimpact/
|
|
25
|
-
"@forwardimpact/
|
|
26
|
-
"@forwardimpact/
|
|
27
|
-
"@forwardimpact/
|
|
28
|
-
"@forwardimpact/
|
|
16
|
+
"@forwardimpact/libpathway": "/model/lib/index.js",
|
|
17
|
+
"@forwardimpact/libpathway/derivation": "/model/lib/derivation.js",
|
|
18
|
+
"@forwardimpact/libpathway/modifiers": "/model/lib/modifiers.js",
|
|
19
|
+
"@forwardimpact/libpathway/agent": "/model/lib/agent.js",
|
|
20
|
+
"@forwardimpact/libpathway/interview": "/model/lib/interview.js",
|
|
21
|
+
"@forwardimpact/libpathway/job": "/model/lib/job.js",
|
|
22
|
+
"@forwardimpact/libpathway/job-cache": "/model/lib/job-cache.js",
|
|
23
|
+
"@forwardimpact/libpathway/checklist": "/model/lib/checklist.js",
|
|
24
|
+
"@forwardimpact/libpathway/matching": "/model/lib/matching.js",
|
|
25
|
+
"@forwardimpact/libpathway/profile": "/model/lib/profile.js",
|
|
26
|
+
"@forwardimpact/libpathway/progression": "/model/lib/progression.js",
|
|
27
|
+
"@forwardimpact/libpathway/policies": "/model/lib/policies/index.js",
|
|
28
|
+
"@forwardimpact/libpathway/toolkit": "/model/lib/toolkit.js"
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
</script>
|
|
@@ -16,14 +16,6 @@
|
|
|
16
16
|
|
|
17
17
|
{{{expectationsParagraph}}}
|
|
18
18
|
{{/hasExpectationsParagraph}}
|
|
19
|
-
{{#hasResponsibilities}}
|
|
20
|
-
|
|
21
|
-
## ROLE RESPONSIBILITIES
|
|
22
|
-
|
|
23
|
-
{{#responsibilities}}
|
|
24
|
-
- **{{{capabilityName}}}:** {{{responsibility}}}
|
|
25
|
-
{{/responsibilities}}
|
|
26
|
-
{{/hasResponsibilities}}
|
|
27
19
|
{{#hasBehaviours}}
|
|
28
20
|
|
|
29
21
|
## ROLE BEHAVIOURS
|
|
@@ -32,16 +24,20 @@
|
|
|
32
24
|
- **{{{behaviourName}}}:** {{{maturityDescription}}}
|
|
33
25
|
{{/behaviours}}
|
|
34
26
|
{{/hasBehaviours}}
|
|
35
|
-
{{#
|
|
36
|
-
|
|
27
|
+
{{#hasCapabilitySkills}}
|
|
28
|
+
|
|
29
|
+
## ROLE RESPONSIBILITIES
|
|
30
|
+
{{#capabilitySkills}}
|
|
31
|
+
|
|
32
|
+
### {{{capabilityHeading}}}
|
|
37
33
|
|
|
38
|
-
|
|
34
|
+
{{{responsibilityDescription}}}:
|
|
39
35
|
|
|
40
36
|
{{#skills}}
|
|
41
37
|
- **{{{skillName}}}:** {{{levelDescription}}}
|
|
42
38
|
{{/skills}}
|
|
43
|
-
{{/
|
|
44
|
-
{{/
|
|
39
|
+
{{/capabilitySkills}}
|
|
40
|
+
{{/hasCapabilitySkills}}
|
|
45
41
|
{{#hasQualificationSummary}}
|
|
46
42
|
|
|
47
43
|
## QUALIFICATIONS
|