@pie-players/pie-assessment-toolkit 0.3.37 → 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 (57) hide show
  1. package/dist/components/ItemToolBar.custom-element.js +6 -4
  2. package/dist/components/PieAssessmentToolkit.custom-element.js +34 -39
  3. package/dist/policy/core/PolicySource.d.ts +2 -2
  4. package/dist/policy/core/PolicySource.js +1 -1
  5. package/dist/policy/core/ToolPolicyEngine.d.ts +15 -17
  6. package/dist/policy/core/ToolPolicyEngine.d.ts.map +1 -1
  7. package/dist/policy/core/ToolPolicyEngine.js +21 -21
  8. package/dist/policy/core/ToolPolicyEngine.js.map +1 -1
  9. package/dist/policy/core/compose-decision.d.ts +5 -5
  10. package/dist/policy/core/compose-decision.d.ts.map +1 -1
  11. package/dist/policy/core/compose-decision.js +40 -38
  12. package/dist/policy/core/compose-decision.js.map +1 -1
  13. package/dist/policy/core/decision-types.d.ts +10 -10
  14. package/dist/policy/core/decision-types.d.ts.map +1 -1
  15. package/dist/policy/core/{qti-inputs.d.ts → pnp-policy-inputs.d.ts} +23 -23
  16. package/dist/policy/core/pnp-policy-inputs.d.ts.map +1 -0
  17. package/dist/policy/core/{qti-inputs.js → pnp-policy-inputs.js} +25 -25
  18. package/dist/policy/core/pnp-policy-inputs.js.map +1 -0
  19. package/dist/policy/core/policy-source-tag.d.ts +6 -6
  20. package/dist/policy/core/policy-source-tag.js +3 -3
  21. package/dist/policy/core/provenance.d.ts +11 -11
  22. package/dist/policy/core/provenance.d.ts.map +1 -1
  23. package/dist/policy/core/provenance.js +4 -4
  24. package/dist/policy/engine.d.ts +5 -5
  25. package/dist/policy/engine.d.ts.map +1 -1
  26. package/dist/policy/engine.js +2 -2
  27. package/dist/policy/internal.d.ts +4 -4
  28. package/dist/policy/internal.d.ts.map +1 -1
  29. package/dist/policy/internal.js +4 -4
  30. package/dist/policy/internal.js.map +1 -1
  31. package/dist/policy/sources/{QtiPolicySource.d.ts → PnpPolicySource.d.ts} +25 -25
  32. package/dist/policy/sources/PnpPolicySource.d.ts.map +1 -0
  33. package/dist/policy/sources/{QtiPolicySource.js → PnpPolicySource.js} +28 -27
  34. package/dist/policy/sources/PnpPolicySource.js.map +1 -0
  35. package/dist/services/PNPToolResolver.d.ts.map +1 -1
  36. package/dist/services/PNPToolResolver.js +14 -15
  37. package/dist/services/PNPToolResolver.js.map +1 -1
  38. package/dist/services/ToolkitCoordinator.d.ts +55 -50
  39. package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
  40. package/dist/services/ToolkitCoordinator.js +92 -72
  41. package/dist/services/ToolkitCoordinator.js.map +1 -1
  42. package/dist/services/interfaces.d.ts +24 -16
  43. package/dist/services/interfaces.d.ts.map +1 -1
  44. package/dist/services/interfaces.js.map +1 -1
  45. package/dist/services/pnp-provenance.d.ts +1 -1
  46. package/dist/services/pnp-provenance.d.ts.map +1 -1
  47. package/dist/services/pnp-provenance.js +1 -0
  48. package/dist/services/pnp-provenance.js.map +1 -1
  49. package/dist/services/tools-config-normalizer.d.ts +14 -15
  50. package/dist/services/tools-config-normalizer.d.ts.map +1 -1
  51. package/dist/services/tools-config-normalizer.js +5 -5
  52. package/dist/services/tools-config-normalizer.js.map +1 -1
  53. package/package.json +7 -7
  54. package/dist/policy/core/qti-inputs.d.ts.map +0 -1
  55. package/dist/policy/core/qti-inputs.js.map +0 -1
  56. package/dist/policy/sources/QtiPolicySource.d.ts.map +0 -1
  57. package/dist/policy/sources/QtiPolicySource.js.map +0 -1
@@ -14,7 +14,7 @@
14
14
  * Part of PIE Assessment Toolkit.
15
15
  */
16
16
  import type { AccessibilityCatalog, AssessmentEntity, AssessmentItemRef } from "@pie-players/pie-players-shared/types";
17
- import { type CanonicalToolsConfig, type ToolPlacementConfig, type ToolPolicyConfig, type ToolProviderConfig, type ToolProvidersConfig } from "./tools-config-normalizer.js";
17
+ import { type CanonicalToolsConfig, type ToolPlacementConfig, type ToolPlacementLevel, type ToolPolicyConfig, type ToolProviderConfig, type ToolProvidersConfig } from "./tools-config-normalizer.js";
18
18
  import { type ToolConfigStrictness } from "./tool-config-validation.js";
19
19
  import { AccessibilityCatalogResolver } from "./AccessibilityCatalogResolver.js";
20
20
  import { ElementToolStateStore } from "./ElementToolStateStore.js";
@@ -28,10 +28,10 @@ import { ToolProviderRegistry } from "./tool-providers/index.js";
28
28
  import type { ToolProviderApi } from "./tool-providers/ToolProviderApi.js";
29
29
  import type { TTSToolProviderConfig } from "./tool-providers/index.js";
30
30
  import type { ToolRegistry } from "./ToolRegistry.js";
31
- import { type PolicySource, type QtiEnforcementMode, type ResolvedEngineInputs, type ToolPolicyChangeListener, type ToolPolicyDecision, type ToolPolicyDecisionRequest } from "../policy/engine.js";
31
+ import { type PnpEnforcementMode, type PolicySource, type ResolvedEngineInputs, type ToolPolicyChangeListener, type ToolPolicyDecision, type ToolPolicyDecisionRequest } from "../policy/engine.js";
32
32
  import type { SectionControllerContext, SectionControllerEvent, SectionControllerEventType, SectionControllerFactoryDefaults, SectionControllerHandle, SectionControllerKey, SectionSessionPersistenceStrategy, SectionPersistenceFactoryDefaults } from "./section-controller-types.js";
33
33
  export type { SectionControllerContext, SectionControllerEvent, SectionControllerEventType, SectionControllerFactoryDefaults, SectionControllerHandle, SectionControllerKey, SectionControllerLoadedRenderable, SectionSessionPersistenceConfig, SectionSessionPersistenceStrategy, SectionControllerRuntimeState, SectionControllerSessionState, SectionPersistenceFactoryDefaults, } from "./section-controller-types.js";
34
- export type { QtiEnforcementMode, ResolvedEngineInputs, ToolPolicyChangeListener, ToolPolicyDecision, ToolPolicyDecisionRequest, } from "../policy/engine.js";
34
+ export type { PnpEnforcementMode, ResolvedEngineInputs, ToolPolicyChangeListener, ToolPolicyDecision, ToolPolicyDecisionRequest, } from "../policy/engine.js";
35
35
  /**
36
36
  * Generic tool configuration
37
37
  */
@@ -99,11 +99,7 @@ export interface ToolkitCoordinatorConfig {
99
99
  * Tool availability and configuration.
100
100
  * Defaults: all tools enabled with default settings.
101
101
  */
102
- tools?: {
103
- policy?: ToolPolicyConfig;
104
- placement?: ToolPlacementConfig;
105
- providers?: ToolProvidersConfig;
106
- };
102
+ tools?: Partial<CanonicalToolsConfig>;
107
103
  /**
108
104
  * Validation strictness for tool config contracts.
109
105
  * - off: keep diagnostics internal (no warnings or throws)
@@ -378,18 +374,18 @@ export declare class ToolkitCoordinator {
378
374
  */
379
375
  private readonly policyEngine;
380
376
  /**
381
- * Host-set override for QTI enforcement. `null` (the default) means
377
+ * Host-set override for PNP/profile enforcement. `null` (the default) means
382
378
  * "auto" — the coordinator infers the effective mode from the
383
- * QTI inputs the bound `AssessmentEntity` and `AssessmentItemRef`
384
- * actually carry (see {@link resolveEffectiveQtiEnforcement}).
379
+ * PNP/profile policy inputs the bound `AssessmentEntity` and `AssessmentItemRef`
380
+ * actually carry (see {@link resolveEffectivePnpEnforcement}).
385
381
  * `"on"` / `"off"` are explicit host opt-in / opt-out and stick
386
382
  * across subsequent assessment / item swaps until the host clears
387
- * the override by calling `setQtiEnforcement(null)`.
383
+ * the override by calling `setPnpEnforcement(null)`.
388
384
  */
389
- private qtiEnforcementOverride;
385
+ private pnpEnforcementOverride;
390
386
  /**
391
387
  * Last assessment passed to {@link updateAssessment}. Read by
392
- * {@link resolveEffectiveQtiEnforcement} to compute auto-mode.
388
+ * {@link resolveEffectivePnpEnforcement} to compute auto-mode.
393
389
  * The engine's own copy is the canonical record for decisions;
394
390
  * this mirror exists only so the auto-mode helper does not need
395
391
  * to round-trip through {@link policyEngine}'s frozen snapshot.
@@ -398,8 +394,8 @@ export declare class ToolkitCoordinator {
398
394
  /**
399
395
  * Last item reference passed to {@link updateCurrentItemRef}.
400
396
  * Mirrored alongside {@link boundAssessment} so
401
- * {@link resolveEffectiveQtiEnforcement} can detect item-level
402
- * QTI inputs (`requiredTools` / `restrictedTools` /
397
+ * {@link resolveEffectivePnpEnforcement} can detect item-level
398
+ * profile policy inputs (`requiredTools` / `restrictedTools` /
403
399
  * `toolParameters`) without round-tripping through the engine's
404
400
  * frozen snapshot.
405
401
  */
@@ -630,6 +626,21 @@ export declare class ToolkitCoordinator {
630
626
  * @param updates Partial configuration updates
631
627
  */
632
628
  updateToolConfig(toolId: string, updates: Partial<ToolProviderConfig>): void;
629
+ /**
630
+ * Update the enabled tool list for one placement level.
631
+ *
632
+ * This is the generic placement companion to {@link updateToolConfig}:
633
+ * it validates the next canonical tools config, keeps the policy
634
+ * engine in lockstep, and emits the same policy-change event used by
635
+ * live toolbars/debug panels. Section-level callers that still use
636
+ * the legacy "floating tools" name can continue calling
637
+ * {@link updateFloatingTools}.
638
+ */
639
+ updateToolPlacement(level: ToolPlacementLevel, toolIds: string[]): void;
640
+ /**
641
+ * Patch one or more placement levels in the canonical tools config.
642
+ */
643
+ updateToolsPlacement(partial: ToolPlacementConfig): void;
633
644
  /**
634
645
  * Update the enabled tools list for floating tools (calculator, graph, etc.).
635
646
  * Used for PNP profile changes or dynamic tool configuration.
@@ -651,16 +662,16 @@ export declare class ToolkitCoordinator {
651
662
  * - **Provider veto** — `tools.providers[id].enabled === false`
652
663
  * removes the tool from the visible set. The legacy resolver
653
664
  * ignored this flag for floating tools.
654
- * - **QTI gates** — when `qtiEnforcement` is `"on"` (set by host
655
- * via {@link setQtiEnforcement}, or auto-promoted when the
665
+ * - **PNP/profile gates** — when `pnpEnforcement` is `"on"` (set by host
666
+ * via {@link setPnpEnforcement}, or auto-promoted when the
656
667
  * bound `AssessmentEntity` / current `AssessmentItemRef`
657
- * carries QTI 6-level precedence material — see
658
- * {@link resolveEffectiveQtiEnforcement}) **and an assessment
659
- * is bound**, the QTI 6-level precedence (district block →
668
+ * carries profile precedence material — see
669
+ * {@link resolveEffectivePnpEnforcement}) **and an assessment
670
+ * is bound**, the profile precedence (district block →
660
671
  * test-admin override → item restriction/requirement →
661
672
  * district requirement → PNP supports / prohibitions) is
662
- * applied. `qtiEnforcement: "on"` without a bound assessment
663
- * is a no-op for QTI gating.
673
+ * applied. `pnpEnforcement: "on"` without a bound assessment
674
+ * is a no-op for profile gating.
664
675
  * - **Custom `PolicySource`s** registered via
665
676
  * {@link registerPolicySource}.
666
677
  *
@@ -694,7 +705,7 @@ export declare class ToolkitCoordinator {
694
705
  * Subscribe to policy-engine change events. Fires whenever the
695
706
  * coordinator's bound inputs change (`updateToolConfig`,
696
707
  * `updateFloatingTools`, `updateAssessment`, `updateCurrentItemRef`,
697
- * `setQtiEnforcement`) or a custom `PolicySource` is registered /
708
+ * `setPnpEnforcement`) or a custom `PolicySource` is registered /
698
709
  * removed via {@link registerPolicySource}.
699
710
  *
700
711
  * The listener receives a `ToolPolicyChangeEvent` with the event
@@ -710,17 +721,17 @@ export declare class ToolkitCoordinator {
710
721
  */
711
722
  onPolicyChange(listener: ToolPolicyChangeListener): () => void;
712
723
  /**
713
- * Bind (or clear) the active QTI assessment for policy decisions.
724
+ * Bind (or clear) the active assessment for PNP/profile policy decisions.
714
725
  *
715
- * Under auto-mode (no host override via {@link setQtiEnforcement}),
716
- * the coordinator promotes the engine to `qtiEnforcement: "on"`
717
- * iff the assessment carries any QTI 6-level precedence material
726
+ * Under auto-mode (no host override via {@link setPnpEnforcement}),
727
+ * the coordinator promotes the engine to `pnpEnforcement: "on"`
728
+ * iff the assessment carries any profile precedence material
718
729
  * (`personalNeedsProfile`, `settings.districtPolicy`,
719
730
  * `settings.testAdministration`) or the currently-bound item ref
720
- * carries item-level QTI inputs. A bare assessment record (just
731
+ * carries item-level profile policy inputs. A bare assessment record (just
721
732
  * `id` / `name`, no PNP, no settings) keeps `"off"`.
722
733
  *
723
- * The host override set via {@link setQtiEnforcement} is sticky
734
+ * The host override set via {@link setPnpEnforcement} is sticky
724
735
  * across assessment swaps; calling with `null` clears the binding
725
736
  * and re-runs the auto-mode helper.
726
737
  */
@@ -728,24 +739,17 @@ export declare class ToolkitCoordinator {
728
739
  /**
729
740
  * Bind (or clear) the current item reference for policy decisions.
730
741
  *
731
- * Used by item-level QTI gates (item `requiredTools` /
732
- * `restrictedTools` / `toolParameters`). Item-level QTI material
733
- * also feeds {@link resolveEffectiveQtiEnforcement} — navigating
734
- * to an item with QTI settings can flip auto-mode to `"on"` even
735
- * when the parent assessment carries no QTI block of its own.
742
+ * Used by item-level profile gates (item `requiredTools` /
743
+ * `restrictedTools` / `toolParameters`). Item-level profile material
744
+ * also feeds {@link resolveEffectivePnpEnforcement} — navigating
745
+ * to an item with profile settings can flip auto-mode to `"on"` even
746
+ * when the parent assessment carries no profile block of its own.
736
747
  */
737
748
  updateCurrentItemRef(itemRef: AssessmentItemRef | null): void;
738
749
  /**
739
- * Override the auto-mode QTI enforcement decision.
740
- *
741
- * Pass `"on"` to force QTI enforcement even when no QTI inputs
742
- * are bound (useful for tests / fixtures). Pass `"off"` to opt
743
- * out even when QTI inputs are present. Pass `null` to clear the
744
- * override and return to auto-mode — `"on"` iff
745
- * {@link resolveDefaultQtiEnforcement} reports any QTI material
746
- * on the bound assessment or current item, otherwise `"off"`.
750
+ * Override the auto-mode PNP/profile enforcement decision.
747
751
  */
748
- setQtiEnforcement(mode: QtiEnforcementMode | null): void;
752
+ setPnpEnforcement(mode: PnpEnforcementMode | null): void;
749
753
  /**
750
754
  * Get the policy engine inputs currently driving decisions. Useful
751
755
  * for debugging / instrumentation; do not mutate.
@@ -761,23 +765,24 @@ export declare class ToolkitCoordinator {
761
765
  * {@link ToolPolicyEngine.registerPolicySource} — see that
762
766
  * method for the full contract (event ordering, idempotency of
763
767
  * the returned dispose function, and how registered sources
764
- * compose with the built-in QTI source).
768
+ * compose with the built-in PNP policy source).
765
769
  */
766
770
  registerPolicySource(source: PolicySource): () => void;
767
771
  /**
768
- * Compute the effective `qtiEnforcement` mode given the explicit
772
+ * Compute the effective PNP/profile enforcement mode given the explicit
769
773
  * host override and the auto-mode helper.
770
774
  *
771
775
  * Auto-mode (no override) defers to
772
- * {@link resolveDefaultQtiEnforcement}, which returns `"on"`
776
+ * {@link resolveDefaultPnpEnforcement}, which returns `"on"`
773
777
  * exactly when the bound assessment or current item ref carries
774
- * QTI 6-level precedence material (PNP, district policy, test
778
+ * profile precedence material (PNP, district policy, test
775
779
  * administration, item-level required/restricted/parameters), and
776
780
  * `"off"` otherwise. Hosts that bind a bare assessment record
777
781
  * (just `id` / `name`) therefore keep the legacy floating-tools
778
- * behavior — QTI gates engage the moment QTI material is present.
782
+ * behavior — profile gates engage the moment profile material is present.
779
783
  */
780
- private resolveEffectiveQtiEnforcement;
784
+ private resolveEffectivePnpEnforcement;
785
+ private resolveConfiguredPnpEnforcement;
781
786
  /**
782
787
  * Apply tool configuration changes to underlying services.
783
788
  * Called after updateToolConfig().
@@ -1 +1 @@
1
- {"version":3,"file":"ToolkitCoordinator.d.ts","sourceRoot":"","sources":["../../src/services/ToolkitCoordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolkitCoordinator.d.ts","sourceRoot":"","sources":["../../src/services/ToolkitCoordinator.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ import { buildRuntimeTTSConfig, resolveTTSBackend, } from "./tts-runtime-config.
27
27
  import { ToolProviderRegistry } from "./tool-providers/index.js";
28
28
  import { createPackagedToolRegistry } from "./createDefaultToolRegistry.js";
29
29
  import { ToolPolicyEngine, } from "../policy/engine.js";
30
- import { resolveDefaultQtiEnforcement } from "../policy/internal.js";
30
+ import { resolveDefaultPnpEnforcement } from "../policy/internal.js";
31
31
  const SECTION_ITEM_EVENT_TYPES = [
32
32
  "item-selected",
33
33
  "item-session-data-changed",
@@ -145,18 +145,18 @@ export class ToolkitCoordinator {
145
145
  */
146
146
  policyEngine;
147
147
  /**
148
- * Host-set override for QTI enforcement. `null` (the default) means
148
+ * Host-set override for PNP/profile enforcement. `null` (the default) means
149
149
  * "auto" — the coordinator infers the effective mode from the
150
- * QTI inputs the bound `AssessmentEntity` and `AssessmentItemRef`
151
- * actually carry (see {@link resolveEffectiveQtiEnforcement}).
150
+ * PNP/profile policy inputs the bound `AssessmentEntity` and `AssessmentItemRef`
151
+ * actually carry (see {@link resolveEffectivePnpEnforcement}).
152
152
  * `"on"` / `"off"` are explicit host opt-in / opt-out and stick
153
153
  * across subsequent assessment / item swaps until the host clears
154
- * the override by calling `setQtiEnforcement(null)`.
154
+ * the override by calling `setPnpEnforcement(null)`.
155
155
  */
156
- qtiEnforcementOverride = null;
156
+ pnpEnforcementOverride = null;
157
157
  /**
158
158
  * Last assessment passed to {@link updateAssessment}. Read by
159
- * {@link resolveEffectiveQtiEnforcement} to compute auto-mode.
159
+ * {@link resolveEffectivePnpEnforcement} to compute auto-mode.
160
160
  * The engine's own copy is the canonical record for decisions;
161
161
  * this mirror exists only so the auto-mode helper does not need
162
162
  * to round-trip through {@link policyEngine}'s frozen snapshot.
@@ -165,8 +165,8 @@ export class ToolkitCoordinator {
165
165
  /**
166
166
  * Last item reference passed to {@link updateCurrentItemRef}.
167
167
  * Mirrored alongside {@link boundAssessment} so
168
- * {@link resolveEffectiveQtiEnforcement} can detect item-level
169
- * QTI inputs (`requiredTools` / `restrictedTools` /
168
+ * {@link resolveEffectivePnpEnforcement} can detect item-level
169
+ * profile policy inputs (`requiredTools` / `restrictedTools` /
170
170
  * `toolParameters`) without round-tripping through the engine's
171
171
  * frozen snapshot.
172
172
  */
@@ -220,6 +220,7 @@ export class ToolkitCoordinator {
220
220
  this.toolRegistry = resolvedConfig.toolRegistry ?? createPackagedToolRegistry();
221
221
  this.hooks = resolvedConfig.hooks ?? {};
222
222
  this.lazyInit = config.lazyInit === true;
223
+ this.pnpEnforcementOverride = this.resolveConfiguredPnpEnforcement();
223
224
  // Use the host-provided framework-error bus if one was passed
224
225
  // (typical when embedded inside <pie-assessment-toolkit>, so
225
226
  // pre-coordinator failures from the CE flow through the same
@@ -239,11 +240,11 @@ export class ToolkitCoordinator {
239
240
  this.ttsService = new TTSService();
240
241
  this.setupStatePersistenceHooks();
241
242
  // M8 PR 2 — construct the unified ToolPolicyEngine seeded with
242
- // the validated tools config. QTI inputs (`assessment`,
243
- // `currentItemRef`) start `null`; `qtiEnforcement` is resolved
244
- // through {@link resolveEffectiveQtiEnforcement}, which flips
243
+ // the validated tools config. PNP/profile inputs (`assessment`,
244
+ // `currentItemRef`) start `null`; `pnpEnforcement` is resolved
245
+ // through {@link resolveEffectivePnpEnforcement}, which flips
245
246
  // to `"on"` only once the bound assessment or item carries
246
- // actual QTI material (PR 4). Hosts that only consume the
247
+ // actual profile material. Hosts that only consume the
247
248
  // engine for placement/policy gating get the pre-PR-2 behavior
248
249
  // bit-for-bit.
249
250
  this.policyEngine = new ToolPolicyEngine({
@@ -253,7 +254,7 @@ export class ToolkitCoordinator {
253
254
  tools: this.config.tools,
254
255
  assessment: null,
255
256
  currentItemRef: null,
256
- qtiEnforcement: this.resolveEffectiveQtiEnforcement(),
257
+ pnpEnforcement: this.resolveEffectivePnpEnforcement(),
257
258
  },
258
259
  });
259
260
  if (!this.lazyInit) {
@@ -1414,43 +1415,65 @@ export class ToolkitCoordinator {
1414
1415
  this._applyToolConfigChange(toolId, updates);
1415
1416
  }
1416
1417
  /**
1417
- * Update the enabled tools list for floating tools (calculator, graph, etc.).
1418
- * Used for PNP profile changes or dynamic tool configuration.
1418
+ * Update the enabled tool list for one placement level.
1419
1419
  *
1420
- * @param toolIds Array of tool IDs to enable
1420
+ * This is the generic placement companion to {@link updateToolConfig}:
1421
+ * it validates the next canonical tools config, keeps the policy
1422
+ * engine in lockstep, and emits the same policy-change event used by
1423
+ * live toolbars/debug panels. Section-level callers that still use
1424
+ * the legacy "floating tools" name can continue calling
1425
+ * {@link updateFloatingTools}.
1421
1426
  */
1422
- updateFloatingTools(toolIds) {
1427
+ updateToolPlacement(level, toolIds) {
1428
+ this.updateToolsPlacement({ [level]: [...toolIds] });
1429
+ }
1430
+ /**
1431
+ * Patch one or more placement levels in the canonical tools config.
1432
+ */
1433
+ updateToolsPlacement(partial) {
1423
1434
  if (!this.config.tools) {
1424
1435
  this.config.tools = normalizeAndValidateToolsConfig(undefined, {
1425
1436
  strictness: this.config.toolConfigStrictness ?? "error",
1426
- source: "ToolkitCoordinator.updateFloatingTools",
1437
+ source: "ToolkitCoordinator.updateToolsPlacement",
1427
1438
  toolRegistry: this.toolRegistry,
1428
1439
  }).config;
1429
1440
  }
1441
+ const currentPlacement = this.config.tools?.placement ?? {
1442
+ section: [],
1443
+ item: [],
1444
+ passage: [],
1445
+ };
1446
+ const nextPlacement = {
1447
+ section: [...(partial.section ?? currentPlacement.section ?? [])],
1448
+ item: [...(partial.item ?? currentPlacement.item ?? [])],
1449
+ passage: [...(partial.passage ?? currentPlacement.passage ?? [])],
1450
+ };
1430
1451
  const validated = normalizeAndValidateToolsConfig({
1431
1452
  ...this.config.tools,
1432
- placement: {
1433
- section: [...toolIds],
1434
- item: [...(this.config.tools?.placement?.item || [])],
1435
- passage: [...(this.config.tools?.placement?.passage || [])],
1436
- },
1453
+ placement: nextPlacement,
1437
1454
  }, {
1438
1455
  strictness: this.config.toolConfigStrictness ?? "error",
1439
- source: "ToolkitCoordinator.updateFloatingTools",
1456
+ source: "ToolkitCoordinator.updateToolsPlacement",
1440
1457
  toolRegistry: this.toolRegistry,
1441
1458
  });
1459
+ validated.config.placement = nextPlacement;
1442
1460
  this.config.tools = validated.config;
1443
- // M8 PR 2 — keep the policy engine in lockstep with the
1444
- // floating-tools placement update. See `updateToolConfig` for
1445
- // the same pattern.
1446
1461
  this.policyEngine.updateInputs({
1447
1462
  tools: this.config.tools,
1448
1463
  });
1449
- // Notify listener of change
1450
- if (this.floatingToolsChangeCallback) {
1451
- this.floatingToolsChangeCallback(toolIds);
1464
+ if (partial.section && this.floatingToolsChangeCallback) {
1465
+ this.floatingToolsChangeCallback(this.getFloatingTools());
1452
1466
  }
1453
1467
  }
1468
+ /**
1469
+ * Update the enabled tools list for floating tools (calculator, graph, etc.).
1470
+ * Used for PNP profile changes or dynamic tool configuration.
1471
+ *
1472
+ * @param toolIds Array of tool IDs to enable
1473
+ */
1474
+ updateFloatingTools(toolIds) {
1475
+ this.updateToolPlacement("section", toolIds);
1476
+ }
1454
1477
  /**
1455
1478
  * Get currently enabled floating tools (section-level placement).
1456
1479
  *
@@ -1465,16 +1488,16 @@ export class ToolkitCoordinator {
1465
1488
  * - **Provider veto** — `tools.providers[id].enabled === false`
1466
1489
  * removes the tool from the visible set. The legacy resolver
1467
1490
  * ignored this flag for floating tools.
1468
- * - **QTI gates** — when `qtiEnforcement` is `"on"` (set by host
1469
- * via {@link setQtiEnforcement}, or auto-promoted when the
1491
+ * - **PNP/profile gates** — when `pnpEnforcement` is `"on"` (set by host
1492
+ * via {@link setPnpEnforcement}, or auto-promoted when the
1470
1493
  * bound `AssessmentEntity` / current `AssessmentItemRef`
1471
- * carries QTI 6-level precedence material — see
1472
- * {@link resolveEffectiveQtiEnforcement}) **and an assessment
1473
- * is bound**, the QTI 6-level precedence (district block →
1494
+ * carries profile precedence material — see
1495
+ * {@link resolveEffectivePnpEnforcement}) **and an assessment
1496
+ * is bound**, the profile precedence (district block →
1474
1497
  * test-admin override → item restriction/requirement →
1475
1498
  * district requirement → PNP supports / prohibitions) is
1476
- * applied. `qtiEnforcement: "on"` without a bound assessment
1477
- * is a no-op for QTI gating.
1499
+ * applied. `pnpEnforcement: "on"` without a bound assessment
1500
+ * is a no-op for profile gating.
1478
1501
  * - **Custom `PolicySource`s** registered via
1479
1502
  * {@link registerPolicySource}.
1480
1503
  *
@@ -1531,7 +1554,7 @@ export class ToolkitCoordinator {
1531
1554
  * Subscribe to policy-engine change events. Fires whenever the
1532
1555
  * coordinator's bound inputs change (`updateToolConfig`,
1533
1556
  * `updateFloatingTools`, `updateAssessment`, `updateCurrentItemRef`,
1534
- * `setQtiEnforcement`) or a custom `PolicySource` is registered /
1557
+ * `setPnpEnforcement`) or a custom `PolicySource` is registered /
1535
1558
  * removed via {@link registerPolicySource}.
1536
1559
  *
1537
1560
  * The listener receives a `ToolPolicyChangeEvent` with the event
@@ -1549,17 +1572,17 @@ export class ToolkitCoordinator {
1549
1572
  return this.policyEngine.onPolicyChange(listener);
1550
1573
  }
1551
1574
  /**
1552
- * Bind (or clear) the active QTI assessment for policy decisions.
1575
+ * Bind (or clear) the active assessment for PNP/profile policy decisions.
1553
1576
  *
1554
- * Under auto-mode (no host override via {@link setQtiEnforcement}),
1555
- * the coordinator promotes the engine to `qtiEnforcement: "on"`
1556
- * iff the assessment carries any QTI 6-level precedence material
1577
+ * Under auto-mode (no host override via {@link setPnpEnforcement}),
1578
+ * the coordinator promotes the engine to `pnpEnforcement: "on"`
1579
+ * iff the assessment carries any profile precedence material
1557
1580
  * (`personalNeedsProfile`, `settings.districtPolicy`,
1558
1581
  * `settings.testAdministration`) or the currently-bound item ref
1559
- * carries item-level QTI inputs. A bare assessment record (just
1582
+ * carries item-level profile policy inputs. A bare assessment record (just
1560
1583
  * `id` / `name`, no PNP, no settings) keeps `"off"`.
1561
1584
  *
1562
- * The host override set via {@link setQtiEnforcement} is sticky
1585
+ * The host override set via {@link setPnpEnforcement} is sticky
1563
1586
  * across assessment swaps; calling with `null` clears the binding
1564
1587
  * and re-runs the auto-mode helper.
1565
1588
  */
@@ -1567,39 +1590,32 @@ export class ToolkitCoordinator {
1567
1590
  this.boundAssessment = assessment;
1568
1591
  this.policyEngine.updateInputs({
1569
1592
  assessment,
1570
- qtiEnforcement: this.resolveEffectiveQtiEnforcement(),
1593
+ pnpEnforcement: this.resolveEffectivePnpEnforcement(),
1571
1594
  });
1572
1595
  }
1573
1596
  /**
1574
1597
  * Bind (or clear) the current item reference for policy decisions.
1575
1598
  *
1576
- * Used by item-level QTI gates (item `requiredTools` /
1577
- * `restrictedTools` / `toolParameters`). Item-level QTI material
1578
- * also feeds {@link resolveEffectiveQtiEnforcement} — navigating
1579
- * to an item with QTI settings can flip auto-mode to `"on"` even
1580
- * when the parent assessment carries no QTI block of its own.
1599
+ * Used by item-level profile gates (item `requiredTools` /
1600
+ * `restrictedTools` / `toolParameters`). Item-level profile material
1601
+ * also feeds {@link resolveEffectivePnpEnforcement} — navigating
1602
+ * to an item with profile settings can flip auto-mode to `"on"` even
1603
+ * when the parent assessment carries no profile block of its own.
1581
1604
  */
1582
1605
  updateCurrentItemRef(itemRef) {
1583
1606
  this.boundCurrentItemRef = itemRef;
1584
1607
  this.policyEngine.updateInputs({
1585
1608
  currentItemRef: itemRef,
1586
- qtiEnforcement: this.resolveEffectiveQtiEnforcement(),
1609
+ pnpEnforcement: this.resolveEffectivePnpEnforcement(),
1587
1610
  });
1588
1611
  }
1589
1612
  /**
1590
- * Override the auto-mode QTI enforcement decision.
1591
- *
1592
- * Pass `"on"` to force QTI enforcement even when no QTI inputs
1593
- * are bound (useful for tests / fixtures). Pass `"off"` to opt
1594
- * out even when QTI inputs are present. Pass `null` to clear the
1595
- * override and return to auto-mode — `"on"` iff
1596
- * {@link resolveDefaultQtiEnforcement} reports any QTI material
1597
- * on the bound assessment or current item, otherwise `"off"`.
1613
+ * Override the auto-mode PNP/profile enforcement decision.
1598
1614
  */
1599
- setQtiEnforcement(mode) {
1600
- this.qtiEnforcementOverride = mode;
1615
+ setPnpEnforcement(mode) {
1616
+ this.pnpEnforcementOverride = mode;
1601
1617
  this.policyEngine.updateInputs({
1602
- qtiEnforcement: this.resolveEffectiveQtiEnforcement(),
1618
+ pnpEnforcement: this.resolveEffectivePnpEnforcement(),
1603
1619
  });
1604
1620
  }
1605
1621
  /**
@@ -1619,33 +1635,37 @@ export class ToolkitCoordinator {
1619
1635
  * {@link ToolPolicyEngine.registerPolicySource} — see that
1620
1636
  * method for the full contract (event ordering, idempotency of
1621
1637
  * the returned dispose function, and how registered sources
1622
- * compose with the built-in QTI source).
1638
+ * compose with the built-in PNP policy source).
1623
1639
  */
1624
1640
  registerPolicySource(source) {
1625
1641
  return this.policyEngine.registerPolicySource(source);
1626
1642
  }
1627
1643
  /**
1628
- * Compute the effective `qtiEnforcement` mode given the explicit
1644
+ * Compute the effective PNP/profile enforcement mode given the explicit
1629
1645
  * host override and the auto-mode helper.
1630
1646
  *
1631
1647
  * Auto-mode (no override) defers to
1632
- * {@link resolveDefaultQtiEnforcement}, which returns `"on"`
1648
+ * {@link resolveDefaultPnpEnforcement}, which returns `"on"`
1633
1649
  * exactly when the bound assessment or current item ref carries
1634
- * QTI 6-level precedence material (PNP, district policy, test
1650
+ * profile precedence material (PNP, district policy, test
1635
1651
  * administration, item-level required/restricted/parameters), and
1636
1652
  * `"off"` otherwise. Hosts that bind a bare assessment record
1637
1653
  * (just `id` / `name`) therefore keep the legacy floating-tools
1638
- * behavior — QTI gates engage the moment QTI material is present.
1654
+ * behavior — profile gates engage the moment profile material is present.
1639
1655
  */
1640
- resolveEffectiveQtiEnforcement() {
1641
- if (this.qtiEnforcementOverride !== null) {
1642
- return this.qtiEnforcementOverride;
1656
+ resolveEffectivePnpEnforcement() {
1657
+ if (this.pnpEnforcementOverride !== null) {
1658
+ return this.pnpEnforcementOverride;
1643
1659
  }
1644
- return resolveDefaultQtiEnforcement({
1660
+ return resolveDefaultPnpEnforcement({
1645
1661
  assessment: this.boundAssessment,
1646
1662
  currentItemRef: this.boundCurrentItemRef,
1647
1663
  });
1648
1664
  }
1665
+ resolveConfiguredPnpEnforcement() {
1666
+ const tools = this.config.tools;
1667
+ return tools?.pnpEnforcement ?? null;
1668
+ }
1649
1669
  /**
1650
1670
  * Apply tool configuration changes to underlying services.
1651
1671
  * Called after updateToolConfig().