@pie-players/pie-assessment-toolkit 0.3.36 → 0.3.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +0 -4
  2. package/dist/components/ItemToolBar.custom-element.js +6 -4
  3. package/dist/components/PieAssessmentToolkit.custom-element.js +34 -39
  4. package/dist/index.d.ts +0 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +0 -4
  7. package/dist/index.js.map +1 -1
  8. package/dist/policy/core/PolicySource.d.ts +2 -2
  9. package/dist/policy/core/PolicySource.js +1 -1
  10. package/dist/policy/core/ToolPolicyEngine.d.ts +15 -17
  11. package/dist/policy/core/ToolPolicyEngine.d.ts.map +1 -1
  12. package/dist/policy/core/ToolPolicyEngine.js +21 -21
  13. package/dist/policy/core/ToolPolicyEngine.js.map +1 -1
  14. package/dist/policy/core/compose-decision.d.ts +5 -5
  15. package/dist/policy/core/compose-decision.d.ts.map +1 -1
  16. package/dist/policy/core/compose-decision.js +40 -38
  17. package/dist/policy/core/compose-decision.js.map +1 -1
  18. package/dist/policy/core/decision-types.d.ts +10 -10
  19. package/dist/policy/core/decision-types.d.ts.map +1 -1
  20. package/dist/policy/core/{qti-inputs.d.ts → pnp-policy-inputs.d.ts} +23 -23
  21. package/dist/policy/core/pnp-policy-inputs.d.ts.map +1 -0
  22. package/dist/policy/core/{qti-inputs.js → pnp-policy-inputs.js} +25 -25
  23. package/dist/policy/core/pnp-policy-inputs.js.map +1 -0
  24. package/dist/policy/core/policy-source-tag.d.ts +6 -6
  25. package/dist/policy/core/policy-source-tag.js +3 -3
  26. package/dist/policy/core/provenance.d.ts +11 -11
  27. package/dist/policy/core/provenance.d.ts.map +1 -1
  28. package/dist/policy/core/provenance.js +4 -4
  29. package/dist/policy/engine.d.ts +5 -5
  30. package/dist/policy/engine.d.ts.map +1 -1
  31. package/dist/policy/engine.js +2 -2
  32. package/dist/policy/internal.d.ts +4 -4
  33. package/dist/policy/internal.d.ts.map +1 -1
  34. package/dist/policy/internal.js +4 -4
  35. package/dist/policy/internal.js.map +1 -1
  36. package/dist/policy/sources/{QtiPolicySource.d.ts → PnpPolicySource.d.ts} +25 -25
  37. package/dist/policy/sources/PnpPolicySource.d.ts.map +1 -0
  38. package/dist/policy/sources/{QtiPolicySource.js → PnpPolicySource.js} +28 -27
  39. package/dist/policy/sources/PnpPolicySource.js.map +1 -0
  40. package/dist/services/I18nService.d.ts +0 -1
  41. package/dist/services/I18nService.d.ts.map +1 -1
  42. package/dist/services/I18nService.js +0 -1
  43. package/dist/services/I18nService.js.map +1 -1
  44. package/dist/services/PNPToolResolver.d.ts.map +1 -1
  45. package/dist/services/PNPToolResolver.js +14 -15
  46. package/dist/services/PNPToolResolver.js.map +1 -1
  47. package/dist/services/ToolkitCoordinator.d.ts +63 -50
  48. package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
  49. package/dist/services/ToolkitCoordinator.js +118 -74
  50. package/dist/services/ToolkitCoordinator.js.map +1 -1
  51. package/dist/services/interfaces.d.ts +24 -16
  52. package/dist/services/interfaces.d.ts.map +1 -1
  53. package/dist/services/interfaces.js.map +1 -1
  54. package/dist/services/pnp-provenance.d.ts +1 -1
  55. package/dist/services/pnp-provenance.d.ts.map +1 -1
  56. package/dist/services/pnp-provenance.js +1 -0
  57. package/dist/services/pnp-provenance.js.map +1 -1
  58. package/dist/services/section-controller-types.d.ts +125 -0
  59. package/dist/services/section-controller-types.d.ts.map +1 -1
  60. package/dist/services/tools-config-normalizer.d.ts +14 -15
  61. package/dist/services/tools-config-normalizer.d.ts.map +1 -1
  62. package/dist/services/tools-config-normalizer.js +5 -5
  63. package/dist/services/tools-config-normalizer.js.map +1 -1
  64. package/package.json +7 -7
  65. package/dist/core/TypedEventBus.d.ts +0 -48
  66. package/dist/core/TypedEventBus.d.ts.map +0 -1
  67. package/dist/core/TypedEventBus.js +0 -63
  68. package/dist/core/TypedEventBus.js.map +0 -1
  69. package/dist/policy/core/qti-inputs.d.ts.map +0 -1
  70. package/dist/policy/core/qti-inputs.js.map +0 -1
  71. package/dist/policy/sources/QtiPolicySource.d.ts.map +0 -1
  72. package/dist/policy/sources/QtiPolicySource.js.map +0 -1
package/README.md CHANGED
@@ -755,10 +755,6 @@ The persistence strategy works with the same `SectionControllerSessionState` sha
755
755
 
756
756
  ## Implementation Status
757
757
 
758
- ### ✅ Core Infrastructure
759
-
760
- - **TypedEventBus**: Generic type-safe `EventTarget` wrapper exported as a building block. The toolkit's own production events are emitted via DOM `CustomEvent`s on `<pie-assessment-toolkit>` and via `ToolkitCoordinator.subscribe*` helpers, not through this bus. Hosts and downstream packages may still use it to compose their own typed event maps.
761
-
762
758
  ### ✅ Toolkit Services
763
759
 
764
760
  - **ToolkitCoordinator**: ⭐ NEW - Centralized service orchestration
@@ -92,7 +92,7 @@ export default function ItemToolBar($$anchor, $$props) {
92
92
 
93
93
  // Bumped from `coordinator.onPolicyChange(...)` so the engine-driven
94
94
  // `policyDecision` / `policyInputs` derivations rerun on input
95
- // changes (`updateAssessment`, `setQtiEnforcement`, custom source
95
+ // changes (`updateAssessment`, `setPnpEnforcement`, custom source
96
96
  // register / remove). The decision itself is computed by the
97
97
  // coordinator's policy engine — this counter is just the reactive
98
98
  // fanout that lets Svelte know the engine answer may have changed.
@@ -177,7 +177,7 @@ export default function ItemToolBar($$anchor, $$props) {
177
177
  // (M8 PR 3). When the toolbar is mounted under
178
178
  // `<pie-assessment-toolkit>` the coordinator owns the engine and
179
179
  // applies `placement → policy.allowed → policy.blocked →
180
- // providers → QTI` plus any custom `PolicySource`s the host has
180
+ // providers → PNP/profile policy` plus any custom `PolicySource`s the host has
181
181
  // registered. The toolbar trusts that decision verbatim — the
182
182
  // `tools=` prop is *not* applied as a downstream filter.
183
183
  //
@@ -191,7 +191,7 @@ export default function ItemToolBar($$anchor, $$props) {
191
191
  const policyDecision = $.derived(() => {
192
192
  // Read `policyChangeVersion` so we re-derive whenever the
193
193
  // coordinator emits a policy change (assessment binding,
194
- // QTI enforcement override, custom source registration).
194
+ // PNP enforcement override, custom source registration).
195
195
  void $.get(policyChangeVersion);
196
196
 
197
197
  const coord = $.get(runtimeContext)?.toolkitCoordinator;
@@ -235,7 +235,7 @@ export default function ItemToolBar($$anchor, $$props) {
235
235
  return !!($.get(effectiveItem) && config && typeof config === 'object');
236
236
  });
237
237
 
238
- // QTI inputs (`assessment`, `currentItemRef`) live on the
238
+ // PNP/profile inputs (`assessment`, `currentItemRef`) live on the
239
239
  // coordinator after M8 PR 2; the toolbar reads them through
240
240
  // `getPolicyInputs()` so it can build the correct Pass-2 context
241
241
  // without re-binding props. Standalone (no-coordinator) usage
@@ -1121,6 +1121,8 @@ export default function ItemToolBar($$anchor, $$props) {
1121
1121
  if (shellConfig?.draggable !== false) {
1122
1122
  controlsEl.appendChild(createShellControlButton('Move tool left', '←', () => moveBy(-24, 0)));
1123
1123
  controlsEl.appendChild(createShellControlButton('Move tool right', '→', () => moveBy(24, 0)));
1124
+ controlsEl.appendChild(createShellControlButton('Move tool up', '↑', () => moveBy(0, -24)));
1125
+ controlsEl.appendChild(createShellControlButton('Move tool down', '↓', () => moveBy(0, 24)));
1124
1126
  }
1125
1127
 
1126
1128
  if (shellConfig?.resizable !== false) {
@@ -128,16 +128,15 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
128
128
  onStageChange = $.prop($$props, 'onStageChange', 7, null),
129
129
  // M8 PR 2 — additive Tool Policy Engine inputs. See the
130
130
  // `<svelte:options>` props block above for the rationale.
131
- // `qtiEnforcement` accepts `"on"`, `"off"`, or `null` (auto —
132
- // the coordinator infers the effective mode from QTI material
131
+ // `pnpEnforcement` accepts `"on"`, `"off"`, or `null` (auto —
132
+ // the coordinator infers the effective mode from PNP/profile material
133
133
  // on the bound `assessment` / `currentItemRef`). Embedded
134
134
  // under `<pie-section-player-*>` the same override flows via
135
- // `runtime.tools.qtiEnforcement`; the effect below falls back
136
- // to `tools.qtiEnforcement` when the explicit prop is `null`
137
- // so both entry points converge on the same coordinator call.
135
+ // `runtime.tools.pnpEnforcement`; both entry points converge on
136
+ // the same coordinator call.
138
137
  assessment = $.prop($$props, 'assessment', 7, null),
139
138
  currentItemRef = $.prop($$props, 'currentItemRef', 7, null),
140
- qtiEnforcement = $.prop($$props, 'qtiEnforcement', 7, null),
139
+ pnpEnforcement = $.prop($$props, 'pnpEnforcement', 7, null),
141
140
  isolation = $.prop($$props, 'isolation', 7, "inherit");
142
141
 
143
142
  let anchor = $.state(null);
@@ -615,34 +614,32 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
615
614
  ].join("|");
616
615
  }
617
616
 
618
- // Coerce the public `qti-enforcement` CE attribute (string or null)
619
- // into the engine's `QtiEnforcementMode | null` contract. Anything
617
+ // Coerce the public PNP enforcement CE attribute (string or null)
618
+ // into the engine's `PnpEnforcementMode | null` contract. Anything
620
619
  // outside the canonical "on" / "off" set — typos like "ON",
621
620
  // missing-attribute artifacts like "" or "null" strings — collapses
622
621
  // to `null` (auto-mode) instead of silently degrading inside the
623
- // engine. This is the single canonical entry point for the prop;
624
- // keep all `setQtiEnforcement(...)` calls in this file routed
625
- // through it.
626
- function coerceQtiEnforcement(value) {
622
+ // engine. This is the single canonical entry point for the prop.
623
+ function coercePnpEnforcement(value) {
627
624
  return value === "on" || value === "off" ? value : null;
628
625
  }
629
626
 
630
627
  // Resolve the effective override that flows into the coordinator.
631
- // The explicit `qti-enforcement` attribute (standalone path) wins
632
- // over `tools.qtiEnforcement` (embedded path via
633
- // `runtime.tools.qtiEnforcement`); both fall back to `null`
634
- // (auto-mode) so the coordinator's
635
- // {@link resolveDefaultQtiEnforcement} helper runs on the bound
628
+ // The explicit `pnp-enforcement` attribute (standalone path) wins
629
+ // over `tools.pnpEnforcement` (embedded path via
630
+ // runtime tools config); all fall back to `null` (auto-mode) so the coordinator's
631
+ // {@link resolveDefaultPnpEnforcement} helper runs on the bound
636
632
  // assessment / item ref.
637
- function resolveQtiEnforcementInput(explicit, toolsConfig) {
638
- const explicitMode = coerceQtiEnforcement(explicit);
633
+ function resolvePnpEnforcementInput(explicitPnp, toolsConfig) {
634
+ const explicitMode = coercePnpEnforcement(explicitPnp);
639
635
 
640
636
  if (explicitMode) return explicitMode;
641
637
 
642
638
  if (toolsConfig && typeof toolsConfig === "object") {
643
- const candidate = toolsConfig.qtiEnforcement;
639
+ const toolConfig = toolsConfig;
640
+ const candidate = toolConfig.pnpEnforcement;
644
641
 
645
- return coerceQtiEnforcement(typeof candidate === "string" ? candidate : null);
642
+ return coercePnpEnforcement(typeof candidate === "string" ? candidate : null);
646
643
  }
647
644
 
648
645
  return null;
@@ -995,9 +992,9 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
995
992
  });
996
993
 
997
994
  // M8 — push Tool Policy Engine inputs (`assessment`,
998
- // `currentItemRef`, `qtiEnforcement`) into the toolkit-owned
995
+ // `currentItemRef`, `pnpEnforcement`) into the toolkit-owned
999
996
  // coordinator whenever they change. The coordinator's
1000
- // `updateAssessment` / `updateCurrentItemRef` / `setQtiEnforcement`
997
+ // `updateAssessment` / `updateCurrentItemRef` / `setPnpEnforcement`
1001
998
  // forwards land on `ToolPolicyEngine.updateInputs`, which value-
1002
999
  // diffs each key with `Object.is` and only emits an `inputs` event
1003
1000
  // on real changes — so re-running this effect on coordinator swap
@@ -1005,13 +1002,11 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
1005
1002
  // explicitly and then run the side effect inside `untrack(...)`
1006
1003
  // per `.cursor/rules/svelte-subscription-safety.mdc`.
1007
1004
  //
1008
- // `qtiEnforcement` resolves through {@link resolveQtiEnforcementInput}
1005
+ // `pnpEnforcement` resolves through {@link resolvePnpEnforcementInput}
1009
1006
  // so the embedded path (`<pie-section-player-*>` setting
1010
- // `runtime.tools.qtiEnforcement`) and the standalone path (the
1011
- // explicit `qti-enforcement` attribute on `<pie-assessment-toolkit>`)
1012
- // converge on a single coordinator call. The explicit prop wins
1013
- // over `tools.qtiEnforcement` so a host can pin a stricter mode
1014
- // without rewriting the runtime overlay.
1007
+ // `runtime.tools.pnpEnforcement`) and the standalone path (the
1008
+ // explicit `pnp-enforcement` attribute on `<pie-assessment-toolkit>`)
1009
+ // converge on a single coordinator call.
1015
1010
  //
1016
1011
  // CRITICAL: only push when the toolkit *owns* the coordinator
1017
1012
  // (i.e. `effectiveCoordinator === ownedCoordinator`). When the
@@ -1024,7 +1019,7 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
1024
1019
  $.user_effect(() => {
1025
1020
  void assessment();
1026
1021
  void currentItemRef();
1027
- void qtiEnforcement();
1022
+ void pnpEnforcement();
1028
1023
  void tools();
1029
1024
 
1030
1025
  const coord = $.get(effectiveCoordinator);
@@ -1035,15 +1030,15 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
1035
1030
  if (coord !== $.get(ownedCoordinator)) return;
1036
1031
 
1037
1032
  untrack(() => {
1038
- // Apply order matters: `setQtiEnforcement` lands the override
1033
+ // Apply order matters: `setPnpEnforcement` lands the override
1039
1034
  // (or clears it) FIRST so `updateAssessment(...)`'s
1040
1035
  // auto-promote path sees the final override and doesn't
1041
1036
  // briefly resolve to "on" (when binding an assessment with
1042
- // `qtiEnforcement="off"`) or "off" (when clearing an
1043
- // assessment with `qtiEnforcement="on"`). Without this
1037
+ // `pnpEnforcement="off"`) or "off" (when clearing an
1038
+ // assessment with `pnpEnforcement="on"`). Without this
1044
1039
  // ordering we would emit a transient wrong-state policy
1045
1040
  // event between the calls.
1046
- coord.setQtiEnforcement(resolveQtiEnforcementInput(qtiEnforcement(), tools()));
1041
+ coord.setPnpEnforcement(resolvePnpEnforcementInput(pnpEnforcement(), tools()));
1047
1042
 
1048
1043
  coord.updateAssessment(assessment());
1049
1044
  coord.updateCurrentItemRef(currentItemRef());
@@ -1643,12 +1638,12 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
1643
1638
  $.flush();
1644
1639
  },
1645
1640
 
1646
- get qtiEnforcement() {
1647
- return qtiEnforcement();
1641
+ get pnpEnforcement() {
1642
+ return pnpEnforcement();
1648
1643
  },
1649
1644
 
1650
- set qtiEnforcement($$value) {
1651
- qtiEnforcement($$value);
1645
+ set pnpEnforcement($$value) {
1646
+ pnpEnforcement($$value);
1652
1647
  $.flush();
1653
1648
  },
1654
1649
 
@@ -1741,7 +1736,7 @@ __pieDefineSafely('pie-assessment-toolkit', $.create_custom_element(
1741
1736
  onStageChange: { type: 'Object' },
1742
1737
  assessment: { type: 'Object' },
1743
1738
  currentItemRef: { type: 'Object' },
1744
- qtiEnforcement: { attribute: 'qti-enforcement', type: 'String' },
1739
+ pnpEnforcement: { attribute: 'pnp-enforcement', type: 'String' },
1745
1740
  isolation: { type: 'Object' }
1746
1741
  },
1747
1742
  ['default'],
package/dist/index.d.ts CHANGED
@@ -6,7 +6,6 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- export { TypedEventBus } from "./core/TypedEventBus.js";
10
9
  export type { AssessmentToolkitHostRuntimeContext, AssessmentToolkitRegionScopeContext, AssessmentToolkitRuntimeContext, AssessmentToolkitShellContext, ItemPlayerConfig, ItemPlayerType, ShellContextKind, } from "./context/assessment-toolkit-context.js";
11
10
  export { assessmentToolkitHostRuntimeContext, assessmentToolkitRegionScopeContext, assessmentToolkitRuntimeContext, assessmentToolkitShellContext, } from "./context/assessment-toolkit-context.js";
12
11
  export { connectAssessmentToolkitHostRuntimeContext, connectAssessmentToolkitRegionScopeContext, connectAssessmentToolkitRuntimeContext, connectAssessmentToolkitShellContext, } from "./context/runtime-context-consumer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,YAAY,EACX,mCAAmC,EACnC,mCAAmC,EACnC,+BAA+B,EAC/B,6BAA6B,EAC7B,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GAChB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,+BAA+B,EAC/B,6BAA6B,GAC7B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,0CAA0C,EAC1C,0CAA0C,EAC1C,sCAAsC,EACtC,oCAAoC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,iCAAiC,EACjC,uCAAuC,EACvC,oCAAoC,EACpC,8BAA8B,EAC9B,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,6BAA6B,EAC7B,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GACrB,MAAM,iCAAiC,CAAC;AAMzC,YAAY,EACX,+BAA+B,EAC/B,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,SAAS,GACT,MAAM,0BAA0B,CAAC;AAOlC,YAAY,EACX,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,eAAe,GACf,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAE1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,aAAa,GACb,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,YAAY,EACX,UAAU,EACV,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,YAAY,EACX,cAAc,EACd,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,gBAAgB,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EACX,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,SAAS,GACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,yCAAyC,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACN,8BAA8B,EAC9B,iCAAiC,GACjC,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACX,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,eAAe,GACf,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACX,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,YAAY,EACX,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACN,4BAA4B,EAC5B,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,GAC5B,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE7E,YAAY,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,gCAAgC,EAChC,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,gCAAgC,EAChC,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,iCAAiC,EACjC,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,YAAY,EACX,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACnB,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACX,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,GACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,8BAA8B,EAC9B,uCAAuC,EACvC,yBAAyB,EACzB,qBAAqB,GACrB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACX,sBAAsB,GACtB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACX,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,eAAe,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,GACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACN,sCAAsC,EACtC,+BAA+B,GAC/B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACX,oBAAoB,EACpB,cAAc,GACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GACf,MAAM,gCAAgC,CAAC;AAExC,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACN,6BAA6B,EAC7B,KAAK,uBAAuB,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,YAAY,EACX,oBAAoB,EACpB,aAAa,EACb,kBAAkB,GAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,GACzB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EACX,YAAY,EACZ,0BAA0B,EAC1B,gBAAgB,EAChB,UAAU,EACV,uBAAuB,GACvB,MAAM,sBAAsB,CAAC;AAM9B,YAAY,EACX,qBAAqB,EACrB,QAAQ,EACR,eAAe,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,aAAa,GACb,MAAM,kBAAkB,CAAC;AAM1B,YAAY,EACX,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,iCAAiC,EACjC,6BAA6B,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,mBAAmB,EACnB,kCAAkC,EAClC,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAC5B,+BAA+B,EAC/B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qCAAqC,EACrC,iBAAiB,GACjB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACX,iBAAiB,EACjB,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,GAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,GACpB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACX,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,GACzB,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACN,8BAA8B,EAC9B,+CAA+C,EAC/C,+BAA+B,EAC/B,oBAAoB,GACpB,MAAM,wDAAwD,CAAC"}
package/dist/index.js CHANGED
@@ -6,10 +6,6 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- // ============================================================================
10
- // Core Infrastructure
11
- // ============================================================================
12
- export { TypedEventBus } from "./core/TypedEventBus.js";
13
9
  export { assessmentToolkitHostRuntimeContext, assessmentToolkitRegionScopeContext, assessmentToolkitRuntimeContext, assessmentToolkitShellContext, } from "./context/assessment-toolkit-context.js";
14
10
  export { connectAssessmentToolkitHostRuntimeContext, connectAssessmentToolkitRegionScopeContext, connectAssessmentToolkitRuntimeContext, connectAssessmentToolkitShellContext, } from "./context/runtime-context-consumer.js";
15
11
  export { PIE_INTERNAL_CONTENT_LOADED_EVENT, PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT, PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT, PIE_ITEM_SESSION_CHANGED_EVENT, PIE_REGISTER_EVENT, PIE_UNREGISTER_EVENT, } from "./runtime/registration-events.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * `.cursor/plans/m8-design.md` § 5).
4
4
  *
5
5
  * Custom sources run in step 6 of the composition pipeline — *after*
6
- * placement membership, provider veto, host policy, and QTI gates.
6
+ * placement membership, provider veto, host policy, and PNP/profile gates.
7
7
  * That ordering is deliberate: custom rules can only further *narrow*
8
8
  * the candidate set or add advisory provenance entries; they cannot
9
9
  * promote a tool that the host already removed.
@@ -36,7 +36,7 @@ export interface PolicySourceProvenanceEntry {
36
36
  * Custom precedence value used for the decision log. Defaults to
37
37
  * `100 + sourceIndex` (engine-assigned) when `undefined`. Sources
38
38
  * MAY override only if they know what they are doing — overriding
39
- * to a value `<= 6` lets the source masquerade as a QTI rule and
39
+ * to a value `<= 6` lets the source masquerade as a PNP/profile rule and
40
40
  * is generally a bug.
41
41
  */
42
42
  precedence?: number;
@@ -3,7 +3,7 @@
3
3
  * `.cursor/plans/m8-design.md` § 5).
4
4
  *
5
5
  * Custom sources run in step 6 of the composition pipeline — *after*
6
- * placement membership, provider veto, host policy, and QTI gates.
6
+ * placement membership, provider veto, host policy, and PNP/profile gates.
7
7
  * That ordering is deliberate: custom rules can only further *narrow*
8
8
  * the candidate set or add advisory provenance entries; they cannot
9
9
  * promote a tool that the host already removed.
@@ -21,26 +21,24 @@ import type { CanonicalToolsConfig, ToolPlacementLevel } from "../../services/to
21
21
  import type { ToolRegistry } from "../../services/ToolRegistry.js";
22
22
  import type { ToolPolicyDecision, ToolPolicyDecisionRequest } from "./decision-types.js";
23
23
  import type { PolicySource } from "./PolicySource.js";
24
- export type QtiEnforcementMode = "on" | "off";
24
+ export type PnpEnforcementMode = "on" | "off";
25
25
  export interface ToolPolicyEngineInputs {
26
26
  tools?: CanonicalToolsConfig | null;
27
27
  assessment?: AssessmentEntity | null;
28
28
  currentItemRef?: AssessmentItemRef | null;
29
29
  /**
30
- * Explicit override. When omitted (or `undefined`), the engine
31
- * defaults to {@link resolveDefaultQtiEnforcement} over the bound
32
- * `assessment` and `currentItemRef`: `"on"` if they carry any QTI
33
- * 6-level precedence material (PNP, district policy, test
30
+ * Explicit PNP/profile override. When omitted (or `undefined`), the engine
31
+ * defaults to {@link resolveDefaultPnpEnforcement} over the bound
32
+ * `assessment` and `currentItemRef`: `"on"` if they carry any
33
+ * PNP/profile policy material (PNP, district policy, test
34
34
  * administration, item-level required/restricted/parameters),
35
35
  * `"off"` otherwise. See `.cursor/plans/m8-design.md` F2.
36
36
  *
37
- * Hosts that want to force a mode (test fixtures, demos that
38
- * intentionally bypass QTI gates) pass `"on"` or `"off"`
39
- * explicitly. Embedded under `<pie-section-player-*>` the same
40
- * override flows through `runtime.tools.qtiEnforcement` (see the
41
- * M5 mirror rule).
37
+ * Hosts that want to force a mode pass `"on"` or `"off"`
38
+ * explicitly. Embedded under `<pie-section-player-*>` the preferred
39
+ * override flows through `runtime.tools.pnpEnforcement`.
42
40
  */
43
- qtiEnforcement?: QtiEnforcementMode;
41
+ pnpEnforcement?: PnpEnforcementMode;
44
42
  }
45
43
  export interface ToolPolicyEngineArgs {
46
44
  toolRegistry: ToolRegistry;
@@ -51,7 +49,7 @@ export interface ToolPolicyEngineArgs {
51
49
  }
52
50
  export interface ToolPolicyChangeEvent {
53
51
  /** What changed in this update. */
54
- reason: "inputs" | "policy-source-added" | "policy-source-removed" | "qti-enforcement" | "disposed";
52
+ reason: "inputs" | "policy-source-added" | "policy-source-removed" | "pnp-enforcement" | "disposed";
55
53
  /** Snapshot of the engine's inputs after the change. */
56
54
  inputs: Readonly<ResolvedEngineInputs>;
57
55
  }
@@ -59,19 +57,19 @@ export interface ResolvedEngineInputs {
59
57
  tools: CanonicalToolsConfig;
60
58
  assessment: AssessmentEntity | null;
61
59
  currentItemRef: AssessmentItemRef | null;
62
- qtiEnforcement: QtiEnforcementMode;
60
+ pnpEnforcement: PnpEnforcementMode;
63
61
  }
64
62
  export type ToolPolicyChangeListener = (event: ToolPolicyChangeEvent) => void;
65
63
  export declare class ToolPolicyEngine {
66
64
  private readonly toolRegistry;
67
65
  private readonly contextId;
68
- private readonly qtiSource;
66
+ private readonly pnpPolicySource;
69
67
  private readonly customSources;
70
68
  private readonly listeners;
71
69
  private tools;
72
70
  private assessment;
73
71
  private currentItemRef;
74
- private qtiEnforcement;
72
+ private pnpEnforcement;
75
73
  private disposed;
76
74
  constructor(args: ToolPolicyEngineArgs);
77
75
  /**
@@ -106,8 +104,8 @@ export declare class ToolPolicyEngine {
106
104
  * coordinator's `getFloatingTools()` / `decideToolPolicy()` lockstep
107
105
  * tests.
108
106
  *
109
- * `qtiEnforcement` is stored on its own field and always emits with
110
- * a distinct `"qti-enforcement"` reason when no other key changed,
107
+ * `pnpEnforcement` is stored on its own field and always emits with
108
+ * a distinct `"pnp-enforcement"` reason when no other key changed,
111
109
  * so PR 4's auto-on flip can target that reason without a separate
112
110
  * event channel.
113
111
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ToolPolicyEngine.d.ts","sourceRoot":"","sources":["../../../src/policy/core/ToolPolicyEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EACX,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EACX,kBAAkB,EAClB,yBAAyB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,KAAK,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACtC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACpC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACrC,mCAAmC;IACnC,MAAM,EACH,QAAQ,GACR,qBAAqB,GACrB,uBAAuB,GACvB,iBAAiB,GACjB,UAAU,CAAC;IACd,wDAAwD;IACxD,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,cAAc,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAQ9E,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IAEjE,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,oBAAoB;IAkBtC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB;IAmB9D;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAOvE;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAuC1D,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI;IAqBtD,cAAc,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,IAAI;IAO9D,SAAS,IAAI,QAAQ,CAAC,oBAAoB,CAAC;IAI3C,OAAO,IAAI,IAAI;IAWf,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,iBAAiB;CAKzB"}
1
+ {"version":3,"file":"ToolPolicyEngine.d.ts","sourceRoot":"","sources":["../../../src/policy/core/ToolPolicyEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EACX,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EACX,kBAAkB,EAClB,yBAAyB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,KAAK,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACtC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACpC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACrC,mCAAmC;IACnC,MAAM,EACH,QAAQ,GACR,qBAAqB,GACrB,uBAAuB,GACvB,iBAAiB,GACjB,UAAU,CAAC;IACd,wDAAwD;IACxD,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,cAAc,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAQ9E,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IAEjE,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,oBAAoB;IAkBtC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB;IAmB9D;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAOvE;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAuC1D,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI;IAqBtD,cAAc,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,IAAI;IAO9D,SAAS,IAAI,QAAQ,CAAC,oBAAoB,CAAC;IAI3C,OAAO,IAAI,IAAI;IAWf,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,iBAAiB;CAKzB"}
@@ -18,8 +18,8 @@
18
18
  */
19
19
  import { normalizeToolsConfig } from "../../services/tools-config-normalizer.js";
20
20
  import { composeDecision } from "./compose-decision.js";
21
- import { resolveDefaultQtiEnforcement } from "./qti-inputs.js";
22
- import { QtiPolicySource } from "../sources/QtiPolicySource.js";
21
+ import { resolveDefaultPnpEnforcement } from "./pnp-policy-inputs.js";
22
+ import { PnpPolicySource } from "../sources/PnpPolicySource.js";
23
23
  const DEFAULT_TOOLS = normalizeToolsConfig({
24
24
  policy: { allowed: [], blocked: [] },
25
25
  placement: { section: [], item: [], passage: [] },
@@ -28,26 +28,26 @@ const DEFAULT_TOOLS = normalizeToolsConfig({
28
28
  export class ToolPolicyEngine {
29
29
  toolRegistry;
30
30
  contextId;
31
- qtiSource;
31
+ pnpPolicySource;
32
32
  customSources;
33
33
  listeners = new Set();
34
34
  tools;
35
35
  assessment;
36
36
  currentItemRef;
37
- qtiEnforcement;
37
+ pnpEnforcement;
38
38
  disposed = false;
39
39
  constructor(args) {
40
40
  this.toolRegistry = args.toolRegistry;
41
41
  this.contextId = args.contextId ?? "tool-policy";
42
- this.qtiSource = new QtiPolicySource(this.toolRegistry);
42
+ this.pnpPolicySource = new PnpPolicySource(this.toolRegistry);
43
43
  this.customSources = args.customSources ? [...args.customSources] : [];
44
44
  const inputs = args.inputs ?? {};
45
45
  this.tools = inputs.tools ?? DEFAULT_TOOLS;
46
46
  this.assessment = inputs.assessment ?? null;
47
47
  this.currentItemRef = inputs.currentItemRef ?? null;
48
- this.qtiEnforcement =
49
- inputs.qtiEnforcement ??
50
- resolveDefaultQtiEnforcement({
48
+ this.pnpEnforcement =
49
+ inputs.pnpEnforcement ??
50
+ resolveDefaultPnpEnforcement({
51
51
  assessment: this.assessment,
52
52
  currentItemRef: this.currentItemRef,
53
53
  });
@@ -75,11 +75,11 @@ export class ToolPolicyEngine {
75
75
  return composeDecision({
76
76
  request,
77
77
  tools: this.tools,
78
- qti: {
79
- source: this.qtiSource,
78
+ pnpPolicy: {
79
+ source: this.pnpPolicySource,
80
80
  assessment: this.assessment ?? undefined,
81
81
  currentItemRef: this.currentItemRef ?? undefined,
82
- enforcement: this.qtiEnforcement,
82
+ enforcement: this.pnpEnforcement,
83
83
  },
84
84
  customSources: this.customSources,
85
85
  contextId: requestContextId,
@@ -106,15 +106,15 @@ export class ToolPolicyEngine {
106
106
  * coordinator's `getFloatingTools()` / `decideToolPolicy()` lockstep
107
107
  * tests.
108
108
  *
109
- * `qtiEnforcement` is stored on its own field and always emits with
110
- * a distinct `"qti-enforcement"` reason when no other key changed,
109
+ * `pnpEnforcement` is stored on its own field and always emits with
110
+ * a distinct `"pnp-enforcement"` reason when no other key changed,
111
111
  * so PR 4's auto-on flip can target that reason without a separate
112
112
  * event channel.
113
113
  */
114
114
  updateInputs(patch) {
115
115
  this.assertNotDisposed();
116
116
  let changed = false;
117
- let qtiChanged = false;
117
+ let pnpChanged = false;
118
118
  if ("tools" in patch) {
119
119
  const next = patch.tools ?? DEFAULT_TOOLS;
120
120
  if (!Object.is(this.tools, next)) {
@@ -136,15 +136,15 @@ export class ToolPolicyEngine {
136
136
  changed = true;
137
137
  }
138
138
  }
139
- if ("qtiEnforcement" in patch && patch.qtiEnforcement) {
140
- if (this.qtiEnforcement !== patch.qtiEnforcement) {
141
- this.qtiEnforcement = patch.qtiEnforcement;
142
- qtiChanged = true;
139
+ if ("pnpEnforcement" in patch && patch.pnpEnforcement) {
140
+ if (this.pnpEnforcement !== patch.pnpEnforcement) {
141
+ this.pnpEnforcement = patch.pnpEnforcement;
142
+ pnpChanged = true;
143
143
  }
144
144
  }
145
- if (changed || qtiChanged) {
145
+ if (changed || pnpChanged) {
146
146
  this.emit({
147
- reason: qtiChanged && !changed ? "qti-enforcement" : "inputs",
147
+ reason: pnpChanged && !changed ? "pnp-enforcement" : "inputs",
148
148
  inputs: this.snapshotInputs(),
149
149
  });
150
150
  }
@@ -194,7 +194,7 @@ export class ToolPolicyEngine {
194
194
  tools: this.tools,
195
195
  assessment: this.assessment,
196
196
  currentItemRef: this.currentItemRef,
197
- qtiEnforcement: this.qtiEnforcement,
197
+ pnpEnforcement: this.pnpEnforcement,
198
198
  });
199
199
  }
200
200
  emit(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"ToolPolicyEngine.js","sourceRoot":"","sources":["../../../src/policy/core/ToolPolicyEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolPolicyEngine.js","sourceRoot":"","sources":["../../../src/policy/core/ToolPolicyEngine.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Compose-decision pipeline (M8 — see `.cursor/plans/m8-design.md` § 3).
3
3
  *
4
4
  * Pure function: given a decision request, the host's tools config,
5
- * an optional QTI source, and the registered custom sources, returns
5
+ * an optional PNP policy source, and the registered custom sources, returns
6
6
  * a `ToolPolicyDecision`. The function performs no I/O, holds no
7
7
  * mutable state, and never reaches into Svelte / DOM — that is the
8
8
  * `ToolPolicyEngine` class's job.
@@ -14,16 +14,16 @@ import type { AssessmentEntity, AssessmentItemRef } from "@pie-players/pie-playe
14
14
  import { type CanonicalToolsConfig } from "../../services/tools-config-normalizer.js";
15
15
  import type { ToolPolicyDecision, ToolPolicyDecisionRequest } from "./decision-types.js";
16
16
  import type { PolicySource } from "./PolicySource.js";
17
- import type { QtiPolicySource } from "../sources/QtiPolicySource.js";
17
+ import type { PnpPolicySource } from "../sources/PnpPolicySource.js";
18
18
  export interface ComposeDecisionInputs {
19
19
  request: ToolPolicyDecisionRequest;
20
20
  tools: CanonicalToolsConfig;
21
- qti: {
22
- source: QtiPolicySource | null;
21
+ pnpPolicy: {
22
+ source: PnpPolicySource | null;
23
23
  assessment?: AssessmentEntity;
24
24
  currentItemRef?: AssessmentItemRef;
25
25
  /**
26
- * "on" applies the QTI 6-level precedence; "off" skips step 5
26
+ * "on" applies the PNP/profile precedence rules; "off" skips step 5
27
27
  * entirely. Defaults to "on" when an assessment is present
28
28
  * and the source is non-null (see M8 design Q5).
29
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compose-decision.d.ts","sourceRoot":"","sources":["../../../src/policy/core/compose-decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACN,KAAK,oBAAoB,EAEzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAEX,kBAAkB,EAClB,yBAAyB,EAIzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,yBAAyB,CAAC;IACnC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,GAAG,EAAE;QACJ,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC,EAAE,gBAAgB,CAAC;QAC9B,cAAc,CAAC,EAAE,iBAAiB,CAAC;QACnC;;;;WAIG;QACH,WAAW,EAAE,IAAI,GAAG,KAAK,CAAC;KAC1B,CAAC;IACF,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAC9B,MAAM,EAAE,qBAAqB,GAC3B,kBAAkB,CAgTpB"}
1
+ {"version":3,"file":"compose-decision.d.ts","sourceRoot":"","sources":["../../../src/policy/core/compose-decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACN,KAAK,oBAAoB,EAEzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAEX,kBAAkB,EAClB,yBAAyB,EAIzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,yBAAyB,CAAC;IACnC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE;QACV,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC,EAAE,gBAAgB,CAAC;QAC9B,cAAc,CAAC,EAAE,iBAAiB,CAAC;QACnC;;;;WAIG;QACH,WAAW,EAAE,IAAI,GAAG,KAAK,CAAC;KAC1B,CAAC;IACF,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAC9B,MAAM,EAAE,qBAAqB,GAC3B,kBAAkB,CAoTpB"}