@telora/daemon 0.22.293 → 0.23.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/build-info.json +13 -3
- package/dist/audit/audit-floor-policy.js +1 -1
- package/dist/audit/audit-floor-policy.js.map +1 -1
- package/dist/audit/audit-prompt.d.ts.map +1 -1
- package/dist/audit/audit-prompt.js +21 -14
- package/dist/audit/audit-prompt.js.map +1 -1
- package/dist/completion/completion-event/event.d.ts +7 -0
- package/dist/completion/completion-event/event.d.ts.map +1 -1
- package/dist/completion/completion-event/event.js.map +1 -1
- package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts +9 -1
- package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts.map +1 -1
- package/dist/completion/review-cycle-budget/review-cycle-cap.js +2 -1
- package/dist/completion/review-cycle-budget/review-cycle-cap.js.map +1 -1
- package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
- package/dist/completion/review-exit/review-census-record.js +1 -0
- package/dist/completion/review-exit/review-census-record.js.map +1 -1
- package/dist/completion/review-exit/review-exit-deps.d.ts +3 -0
- package/dist/completion/review-exit/review-exit-deps.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-deps.js +1 -1
- package/dist/completion/review-exit/review-exit-evidence.d.ts +10 -0
- package/dist/completion/review-exit/review-exit-evidence.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-evidence.js +12 -2
- package/dist/completion/review-exit/review-exit-evidence.js.map +1 -1
- package/dist/completion/review-exit/review-exit-falsifiers.d.ts +72 -0
- package/dist/completion/review-exit/review-exit-falsifiers.d.ts.map +1 -0
- package/dist/completion/review-exit/review-exit-falsifiers.js +84 -0
- package/dist/completion/review-exit/review-exit-falsifiers.js.map +1 -0
- package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-phase.js +15 -10
- package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +17 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +21 -0
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
- package/dist/completion/state-cascade/review-next-step.d.ts +11 -0
- package/dist/completion/state-cascade/review-next-step.d.ts.map +1 -1
- package/dist/completion/state-cascade/review-next-step.js +6 -3
- package/dist/completion/state-cascade/review-next-step.js.map +1 -1
- package/dist/completion/state-cascade/standing-approval-convergence.d.ts +10 -2
- package/dist/completion/state-cascade/standing-approval-convergence.d.ts.map +1 -1
- package/dist/completion/state-cascade/standing-approval-convergence.js +64 -34
- package/dist/completion/state-cascade/standing-approval-convergence.js.map +1 -1
- package/dist/completion/state-cascade/standing-approval-stranded.d.ts +39 -0
- package/dist/completion/state-cascade/standing-approval-stranded.d.ts.map +1 -0
- package/dist/completion/state-cascade/standing-approval-stranded.js +142 -0
- package/dist/completion/state-cascade/standing-approval-stranded.js.map +1 -0
- package/dist/completion/state-cascade/state-cascade.d.ts +8 -0
- package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade/state-cascade.js +2 -0
- package/dist/completion/state-cascade/state-cascade.js.map +1 -1
- package/dist/completion/team-exit/status-advance-phase.d.ts +6 -0
- package/dist/completion/team-exit/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/team-exit/status-advance-phase.js +12 -9
- package/dist/completion/team-exit/status-advance-phase.js.map +1 -1
- package/dist/completion/team-exit/team-completion.d.ts.map +1 -1
- package/dist/completion/team-exit/team-completion.js +1 -0
- package/dist/completion/team-exit/team-completion.js.map +1 -1
- package/dist/completion/team-exit/terminated-work-reconcile.d.ts +6 -0
- package/dist/completion/team-exit/terminated-work-reconcile.d.ts.map +1 -1
- package/dist/completion/team-exit/terminated-work-reconcile.js +5 -7
- package/dist/completion/team-exit/terminated-work-reconcile.js.map +1 -1
- package/dist/completion/team-outcome/apply-close.d.ts.map +1 -1
- package/dist/completion/team-outcome/apply-close.js +1 -0
- package/dist/completion/team-outcome/apply-close.js.map +1 -1
- package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
- package/dist/completion/team-outcome/apply-turn.js +13 -7
- package/dist/completion/team-outcome/apply-turn.js.map +1 -1
- package/dist/completion/team-outcome/decide-close-rows.d.ts.map +1 -1
- package/dist/completion/team-outcome/decide-close-rows.js +2 -7
- package/dist/completion/team-outcome/decide-close-rows.js.map +1 -1
- package/dist/completion/team-outcome/decide-turn-entry-rows.d.ts.map +1 -1
- package/dist/completion/team-outcome/decide-turn-entry-rows.js +5 -1
- package/dist/completion/team-outcome/decide-turn-entry-rows.js.map +1 -1
- package/dist/completion/team-outcome/exit-pipeline-state.d.ts +5 -0
- package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
- package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
- package/dist/completion/team-outcome/work-facts.d.ts +7 -1
- package/dist/completion/team-outcome/work-facts.d.ts.map +1 -1
- package/dist/completion/team-outcome/work-facts.js +9 -4
- package/dist/completion/team-outcome/work-facts.js.map +1 -1
- package/dist/composition/advance-precheck-context.d.ts.map +1 -1
- package/dist/composition/advance-precheck-context.js +1 -0
- package/dist/composition/advance-precheck-context.js.map +1 -1
- package/dist/composition/commit-gate-context.d.ts.map +1 -1
- package/dist/composition/commit-gate-context.js +2 -1
- package/dist/composition/commit-gate-context.js.map +1 -1
- package/dist/composition/completion-event-context.d.ts.map +1 -1
- package/dist/composition/completion-event-context.js +4 -0
- package/dist/composition/completion-event-context.js.map +1 -1
- package/dist/composition/daemon-contexts.js +1 -1
- package/dist/composition/execution-directive-context.d.ts.map +1 -1
- package/dist/composition/execution-directive-context.js +1 -0
- package/dist/composition/execution-directive-context.js.map +1 -1
- package/dist/composition/execution-resolver-context.d.ts.map +1 -1
- package/dist/composition/execution-resolver-context.js +2 -1
- package/dist/composition/execution-resolver-context.js.map +1 -1
- package/dist/composition/execution-spawn-context.d.ts +1 -1
- package/dist/composition/execution-spawn-context.d.ts.map +1 -1
- package/dist/composition/execution-spawn-context.js +6 -3
- package/dist/composition/execution-spawn-context.js.map +1 -1
- package/dist/composition/reopening-falsifier-context.d.ts +9 -0
- package/dist/composition/reopening-falsifier-context.d.ts.map +1 -0
- package/dist/composition/reopening-falsifier-context.js +82 -0
- package/dist/composition/reopening-falsifier-context.js.map +1 -0
- package/dist/composition/review-exit-context.d.ts.map +1 -1
- package/dist/composition/review-exit-context.js +5 -2
- package/dist/composition/review-exit-context.js.map +1 -1
- package/dist/composition/runtime-contexts.d.ts.map +1 -1
- package/dist/composition/runtime-contexts.js +4 -3
- package/dist/composition/runtime-contexts.js.map +1 -1
- package/dist/composition/runtime-delivery-advance-context.d.ts.map +1 -1
- package/dist/composition/runtime-delivery-advance-context.js +4 -0
- package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
- package/dist/composition/runtime-spawn-pass-context.d.ts.map +1 -1
- package/dist/composition/runtime-spawn-pass-context.js +5 -1
- package/dist/composition/runtime-spawn-pass-context.js.map +1 -1
- package/dist/composition/spawn-pass-deps.d.ts.map +1 -1
- package/dist/composition/spawn-pass-deps.js +4 -0
- package/dist/composition/spawn-pass-deps.js.map +1 -1
- package/dist/composition/standing-approval-context.d.ts.map +1 -1
- package/dist/composition/standing-approval-context.js +5 -0
- package/dist/composition/standing-approval-context.js.map +1 -1
- package/dist/composition/state-cascade-context.d.ts.map +1 -1
- package/dist/composition/state-cascade-context.js +7 -2
- package/dist/composition/state-cascade-context.js.map +1 -1
- package/dist/config/live-daemon-config.d.ts.map +1 -1
- package/dist/config/live-daemon-config.js +2 -0
- package/dist/config/live-daemon-config.js.map +1 -1
- package/dist/daemon-state/focus-team-state.js +1 -1
- package/dist/delivery/commit-verdict-hold.d.ts +12 -0
- package/dist/delivery/commit-verdict-hold.d.ts.map +1 -1
- package/dist/delivery/commit-verdict-hold.js +11 -0
- package/dist/delivery/commit-verdict-hold.js.map +1 -1
- package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery/delivery-lifecycle.js +1 -0
- package/dist/delivery/delivery-lifecycle.js.map +1 -1
- package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler-apply.js +10 -2
- package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
- package/dist/delivery/delivery-reconciler.d.ts +33 -18
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler.js +33 -23
- package/dist/delivery/delivery-reconciler.js.map +1 -1
- package/dist/delivery/recorded-concerns.d.ts +57 -0
- package/dist/delivery/recorded-concerns.d.ts.map +1 -0
- package/dist/delivery/recorded-concerns.js +45 -0
- package/dist/delivery/recorded-concerns.js.map +1 -0
- package/dist/directive/directive-queue.d.ts +13 -0
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/directive-queue.js +19 -1
- package/dist/directive/directive-queue.js.map +1 -1
- package/dist/directive/phase-sync.d.ts +10 -0
- package/dist/directive/phase-sync.d.ts.map +1 -1
- package/dist/directive/phase-sync.js +11 -0
- package/dist/directive/phase-sync.js.map +1 -1
- package/dist/focus/closed-review-window.d.ts +26 -0
- package/dist/focus/closed-review-window.d.ts.map +1 -0
- package/dist/focus/closed-review-window.js +62 -0
- package/dist/focus/closed-review-window.js.map +1 -0
- package/dist/focus/daemon-contexts.js +1 -1
- package/dist/focus/directive-executor.d.ts.map +1 -1
- package/dist/focus/directive-executor.js +3 -8
- package/dist/focus/directive-executor.js.map +1 -1
- package/dist/focus/focus-executor.js +2 -2
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/focus-poller-auto-advance.d.ts +7 -0
- package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
- package/dist/focus/focus-poller-auto-advance.js +8 -6
- package/dist/focus/focus-poller-auto-advance.js.map +1 -1
- package/dist/focus/focus-poller-spawn.d.ts.map +1 -1
- package/dist/focus/focus-poller-spawn.js +39 -28
- package/dist/focus/focus-poller-spawn.js.map +1 -1
- package/dist/focus/focus-poller-state.d.ts.map +1 -1
- package/dist/focus/focus-poller-state.js +2 -0
- package/dist/focus/focus-poller-state.js.map +1 -1
- package/dist/focus/pending-review-approved-head.d.ts.map +1 -1
- package/dist/focus/pending-review-approved-head.js +2 -0
- package/dist/focus/pending-review-approved-head.js.map +1 -1
- package/dist/focus/pending-spawn-pass-deps.d.ts +3 -0
- package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
- package/dist/focus/pending-spawn-pass-deps.js +1 -0
- package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.d.ts +3 -0
- package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.js +3 -0
- package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
- package/dist/focus/ready-focus-team-work.d.ts +8 -0
- package/dist/focus/ready-focus-team-work.d.ts.map +1 -1
- package/dist/focus/ready-focus-team-work.js +5 -1
- package/dist/focus/ready-focus-team-work.js.map +1 -1
- package/dist/focus/stranded-review-reroute.d.ts +32 -1
- package/dist/focus/stranded-review-reroute.d.ts.map +1 -1
- package/dist/focus/stranded-review-reroute.js +50 -1
- package/dist/focus/stranded-review-reroute.js.map +1 -1
- package/dist/focus/verify-open-issues.d.ts +7 -0
- package/dist/focus/verify-open-issues.d.ts.map +1 -1
- package/dist/focus/verify-open-issues.js +8 -4
- package/dist/focus/verify-open-issues.js.map +1 -1
- package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/ratify-bar-gate.js +4 -3
- package/dist/focus-stage-lifecycle/ratify-bar-gate.js.map +1 -1
- package/dist/nexus/intake-prompt-sections.js +3 -3
- package/dist/nexus/intake-prompt-sections.js.map +1 -1
- package/dist/prd/arm-readiness.d.ts +49 -74
- package/dist/prd/arm-readiness.d.ts.map +1 -1
- package/dist/prd/arm-readiness.js +48 -196
- package/dist/prd/arm-readiness.js.map +1 -1
- package/dist/prd/frontier-arming.d.ts.map +1 -1
- package/dist/prd/frontier-arming.js +0 -2
- package/dist/prd/frontier-arming.js.map +1 -1
- package/dist/prd/scoping-prompt.js +3 -3
- package/dist/prd/scoping-prompt.js.map +1 -1
- package/dist/prompt/focus-prompt-builder.d.ts +9 -2
- package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
- package/dist/prompt/focus-prompt-builder.js +19 -8
- package/dist/prompt/focus-prompt-builder.js.map +1 -1
- package/dist/prompt/team-prompt-base.d.ts.map +1 -1
- package/dist/prompt/team-prompt-base.js +2 -1
- package/dist/prompt/team-prompt-base.js.map +1 -1
- package/dist/prompt-sections/execution-sections.d.ts +7 -1
- package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.js +41 -22
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +6 -0
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +30 -1
- package/dist/prompt-sections/persona-sections.js.map +1 -1
- package/dist/prompt-sections/prompt-listing.d.ts +21 -0
- package/dist/prompt-sections/prompt-listing.d.ts.map +1 -1
- package/dist/prompt-sections/prompt-listing.js +35 -0
- package/dist/prompt-sections/prompt-listing.js.map +1 -1
- package/dist/prompt-sections/role-sections.d.ts.map +1 -1
- package/dist/prompt-sections/role-sections.js +9 -6
- package/dist/prompt-sections/role-sections.js.map +1 -1
- package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
- package/dist/prompt-sections/routing-decider-sections.js +2 -0
- package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
- package/dist/prompt-sections/shared.d.ts +7 -0
- package/dist/prompt-sections/shared.d.ts.map +1 -1
- package/dist/prompt-sections/shared.js +1 -1
- package/dist/prompt-sections/shared.js.map +1 -1
- package/dist/queries/api-client/shared.js +1 -1
- package/dist/queries/deliveries/issues.d.ts.map +1 -1
- package/dist/queries/deliveries/issues.js +1 -0
- package/dist/queries/deliveries/issues.js.map +1 -1
- package/dist/queries/escalations/cause-key.d.ts +11 -0
- package/dist/queries/escalations/cause-key.d.ts.map +1 -1
- package/dist/queries/escalations/cause-key.js +15 -0
- package/dist/queries/escalations/cause-key.js.map +1 -1
- package/dist/queries/escalations/escalation-consumption.d.ts.map +1 -1
- package/dist/queries/escalations/escalation-consumption.js +1 -0
- package/dist/queries/escalations/escalation-consumption.js.map +1 -1
- package/dist/queries/escalations/filing-observation.d.ts.map +1 -1
- package/dist/queries/escalations/filing-observation.js +1 -0
- package/dist/queries/escalations/filing-observation.js.map +1 -1
- package/dist/queries/focus-review/criterion-reopenings.d.ts +62 -0
- package/dist/queries/focus-review/criterion-reopenings.d.ts.map +1 -0
- package/dist/queries/focus-review/criterion-reopenings.js +67 -0
- package/dist/queries/focus-review/criterion-reopenings.js.map +1 -0
- package/dist/queries/focus-review/recorded-concern-ids.d.ts +47 -0
- package/dist/queries/focus-review/recorded-concern-ids.d.ts.map +1 -0
- package/dist/queries/focus-review/recorded-concern-ids.js +33 -0
- package/dist/queries/focus-review/recorded-concern-ids.js.map +1 -0
- package/dist/queries/focus-review/review-finding-facts.d.ts.map +1 -1
- package/dist/queries/focus-review/review-finding-facts.js +5 -1
- package/dist/queries/focus-review/review-finding-facts.js.map +1 -1
- package/dist/queries/focuses/arm-covered-targets.d.ts +10 -1
- package/dist/queries/focuses/arm-covered-targets.d.ts.map +1 -1
- package/dist/queries/focuses/arm-covered-targets.js +9 -0
- package/dist/queries/focuses/arm-covered-targets.js.map +1 -1
- package/dist/queries/focuses/ended-arm.d.ts +12 -0
- package/dist/queries/focuses/ended-arm.d.ts.map +1 -1
- package/dist/queries/focuses/focus-criteria-standing.d.ts +17 -0
- package/dist/queries/focuses/focus-criteria-standing.d.ts.map +1 -1
- package/dist/queries/focuses/focus-criteria-standing.js +29 -1
- package/dist/queries/focuses/focus-criteria-standing.js.map +1 -1
- package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
- package/dist/queries/focuses/focus-discovery.js +2 -1
- package/dist/queries/focuses/focus-discovery.js.map +1 -1
- package/dist/queries/verification/verification.js +1 -1
- package/dist/reality/injection-writeback.d.ts +5 -4
- package/dist/reality/injection-writeback.d.ts.map +1 -1
- package/dist/reality/injection-writeback.js +3 -2
- package/dist/reality/injection-writeback.js.map +1 -1
- package/dist/reality/reality-writeback.d.ts +13 -12
- package/dist/reality/reality-writeback.d.ts.map +1 -1
- package/dist/reality/reality-writeback.js +5 -5
- package/dist/reality/reality-writeback.js.map +1 -1
- package/dist/resolvers/assembly-engine.js +1 -1
- package/dist/resolvers/compose/focus-injections-compose.d.ts.map +1 -1
- package/dist/resolvers/compose/focus-injections-compose.js +3 -2
- package/dist/resolvers/compose/focus-injections-compose.js.map +1 -1
- package/dist/resolvers/compose/loop-delivery-index-compose.d.ts +10 -0
- package/dist/resolvers/compose/loop-delivery-index-compose.d.ts.map +1 -1
- package/dist/resolvers/compose/loop-delivery-index-compose.js +15 -3
- package/dist/resolvers/compose/loop-delivery-index-compose.js.map +1 -1
- package/dist/resolvers/delivery-listing.d.ts +7 -0
- package/dist/resolvers/delivery-listing.d.ts.map +1 -1
- package/dist/resolvers/delivery-listing.js +26 -4
- package/dist/resolvers/delivery-listing.js.map +1 -1
- package/dist/resolvers/focus-anchoring-injections.d.ts +0 -24
- package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
- package/dist/resolvers/focus-anchoring-injections.js +38 -28
- package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
- package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
- package/dist/resolvers/focus-criteria-standing.js +19 -8
- package/dist/resolvers/focus-criteria-standing.js.map +1 -1
- package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
- package/dist/resolvers/loop-delivery-index.js +9 -1
- package/dist/resolvers/loop-delivery-index.js.map +1 -1
- package/dist/resolvers/shared/loop.d.ts +17 -0
- package/dist/resolvers/shared/loop.d.ts.map +1 -1
- package/dist/resolvers/shared/loop.js.map +1 -1
- package/dist/security/security-auto-inject.d.ts +19 -5
- package/dist/security/security-auto-inject.d.ts.map +1 -1
- package/dist/security/security-auto-inject.js +21 -6
- package/dist/security/security-auto-inject.js.map +1 -1
- package/dist/session/session-lineage.d.ts +29 -9
- package/dist/session/session-lineage.d.ts.map +1 -1
- package/dist/session/session-lineage.js +33 -8
- package/dist/session/session-lineage.js.map +1 -1
- package/dist/spawn/directive-dispatch.d.ts.map +1 -1
- package/dist/spawn/directive-dispatch.js +1 -0
- package/dist/spawn/directive-dispatch.js.map +1 -1
- package/dist/spawn/idle-work-stamp.d.ts +7 -0
- package/dist/spawn/idle-work-stamp.d.ts.map +1 -1
- package/dist/spawn/idle-work-stamp.js +2 -1
- package/dist/spawn/idle-work-stamp.js.map +1 -1
- package/dist/spawn/lead-continuation.d.ts +7 -0
- package/dist/spawn/lead-continuation.d.ts.map +1 -1
- package/dist/spawn/lead-continuation.js +5 -2
- package/dist/spawn/lead-continuation.js.map +1 -1
- package/dist/spawn/loop-llm-client.d.ts +10 -1
- package/dist/spawn/loop-llm-client.d.ts.map +1 -1
- package/dist/spawn/loop-llm-client.js +15 -7
- package/dist/spawn/loop-llm-client.js.map +1 -1
- package/dist/spawn/model-id-guards.d.ts +9 -4
- package/dist/spawn/model-id-guards.d.ts.map +1 -1
- package/dist/spawn/model-id-guards.js +11 -4
- package/dist/spawn/model-id-guards.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts +2 -0
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +3 -1
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/review-hold-park.d.ts +4 -2
- package/dist/spawn/review-hold-park.d.ts.map +1 -1
- package/dist/spawn/review-hold-park.js +9 -5
- package/dist/spawn/review-hold-park.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +14 -3
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +13 -3
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/supervision/agent-resolvable-promotion.d.ts +14 -2
- package/dist/supervision/agent-resolvable-promotion.d.ts.map +1 -1
- package/dist/supervision/agent-resolvable-promotion.js +24 -3
- package/dist/supervision/agent-resolvable-promotion.js.map +1 -1
- package/dist/supervision/escalation-filing.js +1 -1
- package/dist/supervision/escalation-suppression.js +1 -1
- package/dist/supervision/focus-delivery-aggregate-phase.d.ts.map +1 -1
- package/dist/supervision/focus-delivery-aggregate-phase.js +1 -0
- package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
- package/dist/supervision/spawn-cooldown.js +1 -1
- package/dist/supervision/stop-registry.d.ts +1 -0
- package/dist/supervision/stop-registry.d.ts.map +1 -1
- package/dist/supervision/stop-rows-delivery.d.ts +6 -0
- package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
- package/dist/supervision/stop-rows-delivery.js +20 -0
- package/dist/supervision/stop-rows-delivery.js.map +1 -1
- package/dist/supervision/team-work.d.ts +15 -1
- package/dist/supervision/team-work.d.ts.map +1 -1
- package/dist/supervision/team-work.js +7 -2
- package/dist/supervision/team-work.js.map +1 -1
- package/dist/templates/agents-md.d.ts.map +1 -1
- package/dist/templates/agents-md.js +1 -0
- package/dist/templates/agents-md.js.map +1 -1
- package/dist/templates/claude-md.d.ts +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +12 -0
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/testing/arm-coverage-model.d.ts +13 -0
- package/dist/testing/arm-coverage-model.d.ts.map +1 -1
- package/dist/testing/arm-coverage-model.js +118 -9
- package/dist/testing/arm-coverage-model.js.map +1 -1
- package/dist/testing/fixtures/api-client.js +1 -1
- package/dist/testing/fixtures/approved-head-inert-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/approved-head-inert-deps.js +1 -0
- package/dist/testing/fixtures/approved-head-inert-deps.js.map +1 -1
- package/dist/testing/fixtures/completion-event-deps.d.ts +1 -1
- package/dist/testing/fixtures/completion-event-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/completion-event-deps.js +1 -0
- package/dist/testing/fixtures/completion-event-deps.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.js +3 -0
- package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
- package/dist/testing/fixtures/process-close-context.d.ts.map +1 -1
- package/dist/testing/fixtures/process-close-context.js +1 -0
- package/dist/testing/fixtures/process-close-context.js.map +1 -1
- package/dist/testing/fixtures/recording-api-client.js +1 -1
- package/dist/testing/fixtures/review-exit-deps.js +1 -1
- package/dist/testing/fixtures/session-wire.d.ts.map +1 -1
- package/dist/testing/fixtures/session-wire.js +2 -1
- package/dist/testing/fixtures/session-wire.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
- package/dist/verify/attribution/verification-baseline-run.js +2 -1
- package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
- package/dist/verify/effect-reconciliation/recorded-targets.d.ts +14 -0
- package/dist/verify/effect-reconciliation/recorded-targets.d.ts.map +1 -1
- package/dist/verify/effect-reconciliation/recorded-targets.js +20 -0
- package/dist/verify/effect-reconciliation/recorded-targets.js.map +1 -1
- package/dist/verify/effect-reconciliation/verify-restatement.d.ts +15 -1
- package/dist/verify/effect-reconciliation/verify-restatement.d.ts.map +1 -1
- package/dist/verify/effect-reconciliation/verify-restatement.js +93 -59
- package/dist/verify/effect-reconciliation/verify-restatement.js.map +1 -1
- package/dist/verify/engine/reconciliation-step.d.ts.map +1 -1
- package/dist/verify/engine/reconciliation-step.js +4 -1
- package/dist/verify/engine/reconciliation-step.js.map +1 -1
- package/dist/verify/falsifier/falsifier-command.d.ts +37 -0
- package/dist/verify/falsifier/falsifier-command.d.ts.map +1 -0
- package/dist/verify/falsifier/falsifier-command.js +40 -0
- package/dist/verify/falsifier/falsifier-command.js.map +1 -0
- package/dist/verify/falsifier/falsifier-run.d.ts +47 -0
- package/dist/verify/falsifier/falsifier-run.d.ts.map +1 -0
- package/dist/verify/falsifier/falsifier-run.js +117 -0
- package/dist/verify/falsifier/falsifier-run.js.map +1 -0
- package/dist/verify/falsifier/falsifier-verdict.d.ts +52 -0
- package/dist/verify/falsifier/falsifier-verdict.d.ts.map +1 -0
- package/dist/verify/falsifier/falsifier-verdict.js +61 -0
- package/dist/verify/falsifier/falsifier-verdict.js.map +1 -0
- package/dist/verify/gate-config/commit-gate-configured.d.ts +2 -0
- package/dist/verify/gate-config/commit-gate-configured.d.ts.map +1 -1
- package/dist/verify/gate-config/commit-gate-configured.js.map +1 -1
- package/dist/verify/shortfalls/each-table.d.ts +45 -0
- package/dist/verify/shortfalls/each-table.d.ts.map +1 -0
- package/dist/verify/shortfalls/each-table.js +219 -0
- package/dist/verify/shortfalls/each-table.js.map +1 -0
- package/dist/verify/shortfalls/each-title-render.d.ts +67 -0
- package/dist/verify/shortfalls/each-title-render.d.ts.map +1 -0
- package/dist/verify/shortfalls/each-title-render.js +473 -0
- package/dist/verify/shortfalls/each-title-render.js.map +1 -0
- package/dist/verify/shortfalls/generated-test-titles.d.ts +18 -0
- package/dist/verify/shortfalls/generated-test-titles.d.ts.map +1 -0
- package/dist/verify/shortfalls/generated-test-titles.js +232 -0
- package/dist/verify/shortfalls/generated-test-titles.js.map +1 -0
- package/dist/verify/shortfalls/pre-judge-rulings.d.ts.map +1 -1
- package/dist/verify/shortfalls/pre-judge-rulings.js +2 -1
- package/dist/verify/shortfalls/pre-judge-rulings.js.map +1 -1
- package/dist/verify/shortfalls/ruling-evidence-resolution.d.ts.map +1 -1
- package/dist/verify/shortfalls/ruling-evidence-resolution.js +6 -2
- package/dist/verify/shortfalls/ruling-evidence-resolution.js.map +1 -1
- package/dist/worktree/verify-hold-facts.d.ts +2 -0
- package/dist/worktree/verify-hold-facts.d.ts.map +1 -1
- package/dist/worktree/verify-hold-facts.js +1 -0
- package/dist/worktree/verify-hold-facts.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/verify/shortfalls/each-title-render.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/shortfalls/generated-test-titles.test.ts
|
|
4
|
+
// PINNED-BY-END
|
|
5
|
+
/**
|
|
6
|
+
* The rows of a `.each` table the source writes out LITERALLY, and the text a
|
|
7
|
+
* title placeholder renders each row value as.
|
|
8
|
+
*
|
|
9
|
+
* verify/shortfalls/generated-test-titles.ts expands an each-style title against
|
|
10
|
+
* its table so a cited name resolves only when a row the table really holds
|
|
11
|
+
* produces it: `it.each(['a', 'b'])('case %s')` generates `case a` and `case b`,
|
|
12
|
+
* never `case z`. This module reads the table: an array literal (`[...]`,
|
|
13
|
+
* optionally `as const`) of string / number / boolean / null / undefined values,
|
|
14
|
+
* arrays and plain objects, or a tagged-template table whose cells are each one
|
|
15
|
+
* `${literal}`. Anything else a table holds -- an identifier, a call, an arrow, a
|
|
16
|
+
* spread, a template with a substitution -- is UNKNOWN: a row value the title
|
|
17
|
+
* never renders costs nothing, and a placeholder that WOULD render one produces
|
|
18
|
+
* no pattern for that row (fail closed). A table that is not a literal at all
|
|
19
|
+
* (`it.each(CASES)`) yields no rows.
|
|
20
|
+
* Rendering a row into a title is verify/shortfalls/each-title-render.ts.
|
|
21
|
+
* Pure; nothing is evaluated.
|
|
22
|
+
*
|
|
23
|
+
* @module verify/shortfalls/each-table
|
|
24
|
+
*/
|
|
25
|
+
/** A value that is not a literal the table spells out. */
|
|
26
|
+
export const UNKNOWN = Symbol('unknown-each-value');
|
|
27
|
+
const CLOSERS = new Set([',', ']', '}', ')']);
|
|
28
|
+
/** Skip whitespace and comments from `i`. */
|
|
29
|
+
function skipSpace(s, i) {
|
|
30
|
+
for (;;) {
|
|
31
|
+
while (i < s.length && /\s/.test(s[i] ?? ''))
|
|
32
|
+
i++;
|
|
33
|
+
if (s.startsWith('//', i)) {
|
|
34
|
+
const nl = s.indexOf('\n', i);
|
|
35
|
+
i = nl === -1 ? s.length : nl + 1;
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (s.startsWith('/*', i)) {
|
|
39
|
+
const close = s.indexOf('*/', i + 2);
|
|
40
|
+
i = close === -1 ? s.length : close + 2;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
return i;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** The index just past a quoted or template string opening at `i` (substitutions included). */
|
|
47
|
+
function skipString(s, i) {
|
|
48
|
+
const quote = s[i];
|
|
49
|
+
let j = i + 1;
|
|
50
|
+
while (j < s.length && s[j] !== quote) {
|
|
51
|
+
if (s[j] === '\\') {
|
|
52
|
+
j += 2;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (quote === '`' && s[j] === '$' && s[j + 1] === '{') {
|
|
56
|
+
j = skipBalanced(s, j + 1);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
j++;
|
|
60
|
+
}
|
|
61
|
+
return j + 1;
|
|
62
|
+
}
|
|
63
|
+
/** The index just past the bracket group opening at `i`. */
|
|
64
|
+
function skipBalanced(s, i) {
|
|
65
|
+
let depth = 0;
|
|
66
|
+
let j = i;
|
|
67
|
+
while (j < s.length) {
|
|
68
|
+
const c = s[j] ?? '';
|
|
69
|
+
if (c === '"' || c === "'" || c === '`') {
|
|
70
|
+
j = skipString(s, j);
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (c === '(' || c === '[' || c === '{')
|
|
74
|
+
depth++;
|
|
75
|
+
else if (c === ')' || c === ']' || c === '}') {
|
|
76
|
+
depth--;
|
|
77
|
+
if (depth === 0)
|
|
78
|
+
return j + 1;
|
|
79
|
+
}
|
|
80
|
+
j++;
|
|
81
|
+
}
|
|
82
|
+
return s.length;
|
|
83
|
+
}
|
|
84
|
+
/** The index of the next top-level `,` / closer from `i`: an expression this reader does not evaluate. */
|
|
85
|
+
function skipExpression(s, i) {
|
|
86
|
+
let j = i;
|
|
87
|
+
while (j < s.length && !CLOSERS.has(s[j] ?? '')) {
|
|
88
|
+
const c = s[j] ?? '';
|
|
89
|
+
if (c === '"' || c === "'" || c === '`') {
|
|
90
|
+
j = skipString(s, j);
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (c === '(' || c === '[' || c === '{') {
|
|
94
|
+
j = skipBalanced(s, j);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
j++;
|
|
98
|
+
}
|
|
99
|
+
return j;
|
|
100
|
+
}
|
|
101
|
+
const ESCAPES = { n: '\n', t: '\t', r: '\r', b: '\b', f: '\f', v: '\v', 0: '\0' };
|
|
102
|
+
/** A string literal's value; null when it is a template with a substitution. */
|
|
103
|
+
function stringValue(raw, quote) {
|
|
104
|
+
if (quote === '`' && /(^|[^\\])\$\{/.test(raw))
|
|
105
|
+
return null;
|
|
106
|
+
return raw.replace(/\\(.)/gs, (_m, c) => ESCAPES[c] ?? c);
|
|
107
|
+
}
|
|
108
|
+
/** A comma-separated group closing on `close`, each item read by `item`. Null when malformed. */
|
|
109
|
+
function parseGroup(s, i, close, item) {
|
|
110
|
+
let j = skipSpace(s, i);
|
|
111
|
+
while (s[j] !== close) {
|
|
112
|
+
if (j >= s.length)
|
|
113
|
+
return null;
|
|
114
|
+
const after = item(j);
|
|
115
|
+
if (after === null)
|
|
116
|
+
return null;
|
|
117
|
+
j = skipSpace(s, after);
|
|
118
|
+
if (s[j] === ',')
|
|
119
|
+
j = skipSpace(s, j + 1);
|
|
120
|
+
else if (s[j] !== close)
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
return j + 1;
|
|
124
|
+
}
|
|
125
|
+
function parseArray(s, i) {
|
|
126
|
+
const out = [];
|
|
127
|
+
const next = parseGroup(s, i + 1, ']', (at) => { const v = parseValue(s, at); out.push(v.value); return v.next; });
|
|
128
|
+
return next === null ? { value: UNKNOWN, next: skipBalanced(s, i) } : { value: out, next };
|
|
129
|
+
}
|
|
130
|
+
function parseObject(s, i) {
|
|
131
|
+
const out = {};
|
|
132
|
+
const next = parseGroup(s, i + 1, '}', (at) => {
|
|
133
|
+
const key = /^(?:([A-Za-z_$][\w$]*)|'((?:\\.|[^'\\])*)'|"((?:\\.|[^"\\])*)"|(\d+))\s*:/.exec(s.slice(at));
|
|
134
|
+
if (key === null)
|
|
135
|
+
return null; // a spread, a shorthand or a method: the row's keys are not all spelled out
|
|
136
|
+
const v = parseValue(s, at + key[0].length);
|
|
137
|
+
out[key[1] ?? key[2] ?? key[3] ?? key[4] ?? ''] = v.value;
|
|
138
|
+
return v.next;
|
|
139
|
+
});
|
|
140
|
+
return next === null ? { value: UNKNOWN, next: skipBalanced(s, i) } : { value: out, next };
|
|
141
|
+
}
|
|
142
|
+
/** One value from `i`; an expression that is not a plain literal reads as UNKNOWN, consumed to its end. */
|
|
143
|
+
export function parseValue(s, i) {
|
|
144
|
+
const at = skipSpace(s, i);
|
|
145
|
+
const c = s[at] ?? '';
|
|
146
|
+
let parsed = null;
|
|
147
|
+
if (c === '[')
|
|
148
|
+
parsed = parseArray(s, at);
|
|
149
|
+
else if (c === '{')
|
|
150
|
+
parsed = parseObject(s, at);
|
|
151
|
+
else if (c === '"' || c === "'" || c === '`') {
|
|
152
|
+
const end = skipString(s, at);
|
|
153
|
+
const value = stringValue(s.slice(at + 1, end - 1), c);
|
|
154
|
+
parsed = { value: value ?? UNKNOWN, next: end };
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
const word = /^(?:-?(?:\d[\d_]*(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?|true|false|null|undefined)(?![\w$.])/i.exec(s.slice(at));
|
|
158
|
+
if (word !== null) {
|
|
159
|
+
const w = word[0];
|
|
160
|
+
const value = w === 'true' ? true : w === 'false' ? false : w === 'null' ? null : w === 'undefined' ? undefined : Number(w.replace(/_/g, ''));
|
|
161
|
+
parsed = { value, next: at + w.length };
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (parsed === null)
|
|
165
|
+
return { value: UNKNOWN, next: skipExpression(s, at) };
|
|
166
|
+
const after = skipSpace(s, parsed.next);
|
|
167
|
+
if (after < s.length && !CLOSERS.has(s[after] ?? ''))
|
|
168
|
+
return { value: UNKNOWN, next: skipExpression(s, after) };
|
|
169
|
+
return { ...parsed, next: after };
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* The elements of an array-literal table (the text between `.each(` and its `)`),
|
|
173
|
+
* as written -- each runner turns them into rows its own way; null when it is not one.
|
|
174
|
+
*/
|
|
175
|
+
export function parseArrayTableItems(text) {
|
|
176
|
+
const trimmed = text.replace(/\s+as\s+const\s*,?\s*$/, '').replace(/,\s*$/, '');
|
|
177
|
+
const at = skipSpace(trimmed, 0);
|
|
178
|
+
if (trimmed[at] !== '[')
|
|
179
|
+
return null;
|
|
180
|
+
const table = parseArray(trimmed, at);
|
|
181
|
+
if (!Array.isArray(table.value) || skipSpace(trimmed, table.next) < trimmed.length)
|
|
182
|
+
return null;
|
|
183
|
+
return table.value;
|
|
184
|
+
}
|
|
185
|
+
/** The rows of an array-literal table, one per element (an element that is not an array is one argument); null when it is not one. */
|
|
186
|
+
export function parseArrayTable(text) {
|
|
187
|
+
return parseArrayTableItems(text)?.map((row) => (Array.isArray(row) ? row : [row])) ?? null;
|
|
188
|
+
}
|
|
189
|
+
/** The rows of a tagged-template table (its raw body); null unless every cell is one `${literal}`. */
|
|
190
|
+
export function parseTemplateTable(body) {
|
|
191
|
+
const lines = body.split('\n').map((l) => l.trim()).filter((l) => l.length > 0);
|
|
192
|
+
const header = lines.shift()?.split('|').map((h) => h.trim()) ?? [];
|
|
193
|
+
if (header.length === 0 || header.some((h) => !/^[A-Za-z_$][\w$]*$/.test(h)))
|
|
194
|
+
return null;
|
|
195
|
+
const rows = [];
|
|
196
|
+
for (const line of lines) {
|
|
197
|
+
const cells = [];
|
|
198
|
+
let i = 0;
|
|
199
|
+
while (i < line.length) {
|
|
200
|
+
i = skipSpace(line, i);
|
|
201
|
+
if (!line.startsWith('${', i))
|
|
202
|
+
return null;
|
|
203
|
+
const end = skipBalanced(line, i + 1);
|
|
204
|
+
const inner = line.slice(i + 2, end - 1);
|
|
205
|
+
const v = parseValue(inner, 0);
|
|
206
|
+
cells.push(skipSpace(inner, v.next) < inner.length ? UNKNOWN : v.value);
|
|
207
|
+
i = skipSpace(line, end);
|
|
208
|
+
if (line[i] === '|')
|
|
209
|
+
i++;
|
|
210
|
+
else if (i < line.length)
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
if (cells.length !== header.length)
|
|
214
|
+
return null;
|
|
215
|
+
rows.push([Object.fromEntries(header.map((h, k) => [h, cells[k]]))]);
|
|
216
|
+
}
|
|
217
|
+
return rows;
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=each-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"each-table.js","sourceRoot":"","sources":["../../../src/verify/shortfalls/each-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The titles a test runner gives the rows of a `.each` table: the exact text of
|
|
3
|
+
* each, or null for a row this reader cannot reproduce.
|
|
4
|
+
*
|
|
5
|
+
* verify/shortfalls/generated-test-titles.ts resolves a cited test name only when
|
|
6
|
+
* it IS a title the source generates, so each row's title must be the one the
|
|
7
|
+
* runner prints. Each runner's title algorithm is PORTED here from its source and
|
|
8
|
+
* replayed on the table's literal values (property walks, Number / parseInt run
|
|
9
|
+
* natively on those values); only the value printers are reproduced by hand:
|
|
10
|
+
*
|
|
11
|
+
* jest-each 30 (its table array, template and interpolation modules): an array
|
|
12
|
+
* table whose title has no `%[#Odfijops]` once `%%` is protected, whose
|
|
13
|
+
* elements are all objects and not all arrays, interpolates `$key` (keys
|
|
14
|
+
* longest-first, getPath, `$#` the index); every other array table formats
|
|
15
|
+
* row by row -- `%#` / `%$` first, then per argument `%p` (pretty-format min,
|
|
16
|
+
* depth 1), `%j` (JSON) or Node util.format (whose `%s` of an object is
|
|
17
|
+
* util.inspect at depth 0, compact 3). A tagged-template row interpolates
|
|
18
|
+
* `$key` only.
|
|
19
|
+
* vitest 4 (@vitest/runner formatTitle): `%#` / `%$` first, then printf over the
|
|
20
|
+
* row (format from @vitest/utils) and `$key` via objectAttr + objDisplay.
|
|
21
|
+
*
|
|
22
|
+
* The printers reproduced: pretty-format min; Node util.inspect of literal
|
|
23
|
+
* values that fit one line (depth 0, compact 3, breakLength 80, strEscape
|
|
24
|
+
* quoting); loupe's single-line inspect (vitest `%s` of an object, an array's own
|
|
25
|
+
* toString) and objDisplay below its truncation (40). What they would print
|
|
26
|
+
* otherwise -- a multi-line inspect, a truncated objDisplay, a value the source
|
|
27
|
+
* does not spell out (UNKNOWN), `%o` / `%O` -- makes that row null: no pattern,
|
|
28
|
+
* fail closed. `unknown` (a file naming neither runner) keeps a row only when
|
|
29
|
+
* both runners give it the identical title.
|
|
30
|
+
*
|
|
31
|
+
* A template-literal title's `${...}` parts carry scope values this reader cannot
|
|
32
|
+
* see; they are assumed to hold no placeholder and match any text.
|
|
33
|
+
*
|
|
34
|
+
* Pinned by titles the real runners printed (each-title-render.test.ts). Pure.
|
|
35
|
+
*
|
|
36
|
+
* @module verify/shortfalls/each-title-render
|
|
37
|
+
*/
|
|
38
|
+
import { type EachValue } from './each-table.js';
|
|
39
|
+
/** The runner that generates the file's titles (eachRunnerOf). */
|
|
40
|
+
export type EachRunner = 'vitest' | 'jest' | 'unknown';
|
|
41
|
+
/** One run of a title: literal text, or a `${...}` substitution whose value lives in scope. */
|
|
42
|
+
export interface TitlePart {
|
|
43
|
+
text: string;
|
|
44
|
+
wildcard: boolean;
|
|
45
|
+
}
|
|
46
|
+
/** A `.each` table as the source wrote it: an array literal's elements, or a tagged template's rows. */
|
|
47
|
+
export type EachTableInput = {
|
|
48
|
+
kind: 'array';
|
|
49
|
+
items: readonly EachValue[];
|
|
50
|
+
} | {
|
|
51
|
+
kind: 'template';
|
|
52
|
+
rows: readonly {
|
|
53
|
+
[key: string]: EachValue;
|
|
54
|
+
}[];
|
|
55
|
+
};
|
|
56
|
+
/** The runner a test file's own imports / globals name, or unknown when they name neither or both. */
|
|
57
|
+
export declare function eachRunnerOf(source: string): EachRunner;
|
|
58
|
+
/** pretty-format `{ min: true, maxDepth: 1 }`: strings double-quoted (only `"` and `\` escaped), keys sorted. */
|
|
59
|
+
export declare function prettyMin(v: unknown, depth?: number): string;
|
|
60
|
+
/**
|
|
61
|
+
* Each row's title exactly as `runner` names the test, as the literal segments
|
|
62
|
+
* between the title's `${...}` parts (one segment when it has none), or null for
|
|
63
|
+
* a row not reproduced. An unknown runner keeps a row only when vitest and jest
|
|
64
|
+
* give it the identical title.
|
|
65
|
+
*/
|
|
66
|
+
export declare function renderTableTitles(parts: readonly TitlePart[], table: EachTableInput, runner: EachRunner): (string[] | null)[];
|
|
67
|
+
//# sourceMappingURL=each-title-render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"each-title-render.d.ts","sourceRoot":"","sources":["../../../src/verify/shortfalls/each-title-render.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE1D,kEAAkE;AAClE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAEvD,+FAA+F;AAC/F,MAAM,WAAW,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE;AAE9D,wGAAwG;AACxG,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC;AAExE,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAIvD;AAwBD,iHAAiH;AACjH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,MAAM,CAWvD;AAsUD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAa7H"}
|