pi-usereq 0.40.0 → 0.41.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/CHANGELOG.md +39 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/pi-usereq/docs/REFERENCES.md +184 -184
- package/pi-usereq/docs/REQUIREMENTS.md +5 -3
- package/pi-usereq/docs/WORKFLOW.md +4 -4
- package/src/core/config.ts +3 -3
- package/src/core/prompt-command-runtime.ts +6 -6
- package/src/core/prompts.ts +6 -6
- package/src/core/req-references-command.ts +3 -3
- package/src/core/req-reset-command.ts +3 -3
- package/src/core/runtime-project-paths.ts +3 -3
- package/src/index.ts +24 -9
- package/tests/extension-registration.test.ts +290 -0
- package/tests/prompt-command-summary.test.ts +36 -0
|
@@ -633,7 +633,7 @@ import { makeRelativeIfContainsProject } from "./utils.js";
|
|
|
633
633
|
|
|
634
634
|
### fn `export function normalizeContextFilesFlag(value: unknown): boolean` (L229-231)
|
|
635
635
|
- @brief Normalizes one persisted context-file injection flag.
|
|
636
|
-
- @details Returns the documented default (`
|
|
636
|
+
- @details Returns the documented default (`false`) for missing or non-boolean values and preserves only explicit boolean input, so any malformed persisted entry keeps context-file injection disabled. Runtime is O(1). No external state is mutated.
|
|
637
637
|
- @param[in] value {unknown} Candidate persisted context-file flag.
|
|
638
638
|
- @return {boolean} Normalized context-file injection flag.
|
|
639
639
|
- @satisfies REQ-328
|
|
@@ -2763,7 +2763,7 @@ import type { UseReqConfig } from "./config.js";
|
|
|
2763
2763
|
```
|
|
2764
2764
|
import fs from "node:fs";
|
|
2765
2765
|
import path from "node:path";
|
|
2766
|
-
import { spawnSync } from "node:child_process";
|
|
2766
|
+
import { spawnSync, type SpawnSyncReturns } from "node:child_process";
|
|
2767
2767
|
import { ReqError } from "./errors.js";
|
|
2768
2768
|
import { classifyPiNotifyOutcome, type PiNotifyOutcome } from "./pi-notify.js";
|
|
2769
2769
|
import {
|
|
@@ -2777,40 +2777,40 @@ import {
|
|
|
2777
2777
|
|
|
2778
2778
|
## Definitions
|
|
2779
2779
|
|
|
2780
|
-
### iface `export interface PromptRequiredDocSpec` (
|
|
2780
|
+
### iface `export interface PromptRequiredDocSpec` (L43-46)
|
|
2781
2781
|
- @brief Describes one canonical required-document probe.
|
|
2782
2782
|
- @details Binds a canonical doc filename to the remediation prompt command surfaced on failure so prompt-specific doc validation can stay deterministic. The interface is compile-time only and introduces no runtime cost.
|
|
2783
2783
|
|
|
2784
|
-
### iface `export interface PromptCommandExecutionPlan` (
|
|
2784
|
+
### iface `export interface PromptCommandExecutionPlan` (L52-66)
|
|
2785
2785
|
- @brief Describes one prompt-command execution plan tracked across lifecycle hooks.
|
|
2786
2786
|
- @details Stores the prompt identity, runtime git root, associated branch name, original project base, execution context path, persisted origin and execution session files, and optional worktree metadata so the extension can switch all cwd surfaces before prompt dispatch and finalize worktree lifecycle after agent end. The interface is compile-time only and introduces no runtime cost.
|
|
2787
2787
|
|
|
2788
|
-
### iface `interface PromptCommandPostCreateHookContext` (
|
|
2788
|
+
### iface `interface PromptCommandPostCreateHookContext` (L72-77)
|
|
2789
2789
|
- @brief Describes one post-create test hook payload for prompt-command worktrees.
|
|
2790
2790
|
- @details Exposes the git root, generated worktree name, sibling worktree path, and effective execution base so tests can simulate post-create verification failures deterministically. The interface is compile-time only and introduces no runtime cost.
|
|
2791
2791
|
|
|
2792
|
-
- type `type PromptCommandPostCreateHook = (context: PromptCommandPostCreateHookContext) => void;` (
|
|
2792
|
+
- type `type PromptCommandPostCreateHook = (context: PromptCommandPostCreateHookContext) => void;` (L83)
|
|
2793
2793
|
- @brief Represents one synchronous test hook invoked after prompt worktree creation.
|
|
2794
2794
|
- @details Allows tests to mutate or remove newly created worktree artifacts before verification executes. The alias is compile-time only and introduces no runtime cost.
|
|
2795
|
-
### iface `interface PromptCommandDebugOptions` (
|
|
2795
|
+
### iface `interface PromptCommandDebugOptions` (L89-92)
|
|
2796
2796
|
- @brief Describes optional debug logging context for prompt orchestration helpers.
|
|
2797
2797
|
- @details Carries the effective project configuration and current workflow state so prompt-runtime helpers can append selected debug entries without depending on extension UI types. The interface is compile-time only and introduces no runtime cost.
|
|
2798
2798
|
|
|
2799
|
-
### iface `interface PromptCommandSessionMessageOptions` (
|
|
2799
|
+
### iface `interface PromptCommandSessionMessageOptions` (L98-100)
|
|
2800
2800
|
- @brief Describes prompt-delivery options supported by replacement-session callbacks.
|
|
2801
2801
|
- @details Mirrors the documented `sendUserMessage(...)` delivery modes needed when prompt orchestration targets a replacement session after a slash-command-owned session switch. The interface is compile-time only and introduces no runtime cost.
|
|
2802
2802
|
|
|
2803
|
-
### iface `interface PromptCommandSessionSwitchOptions` (
|
|
2803
|
+
### iface `interface PromptCommandSessionSwitchOptions` (L106-108)
|
|
2804
2804
|
- @brief Describes the replacement-session callback options accepted by session switching.
|
|
2805
2805
|
- @details Mirrors the documented pi runtime `withSession(...)` hook so prompt-command orchestration can continue work against the replacement session after the old command context becomes stale. The interface is compile-time only and introduces no runtime cost.
|
|
2806
2806
|
|
|
2807
|
-
### iface `interface PromptCommandActiveContext extends PromptCommandSessionContext` : PromptCommandSessionContext (
|
|
2807
|
+
### iface `interface PromptCommandActiveContext extends PromptCommandSessionContext` : PromptCommandSessionContext (L114-119)
|
|
2808
2808
|
- @brief Describes the minimal session-bound surface available after session replacement.
|
|
2809
2809
|
- @details Extends the shared prompt-command context with `sendUserMessage(...)` so prompt dispatch can target the replacement session without reusing stale pre-switch runtime objects. The interface is compile-time only and introduces no runtime cost.
|
|
2810
2810
|
|
|
2811
|
-
### iface `interface PromptCommandSessionEntry` (
|
|
2811
|
+
### iface `interface PromptCommandSessionEntry` (L125-130)
|
|
2812
2812
|
- @brief Describes one serializable session entry copied into a materialized execution-session file.
|
|
2813
|
-
- @details Captures the stable tree-entry fields needed to write a JSONL session snapshot for cross-cwd session replacement when the origin session file has not been flushed yet. The interface is compile-time only and introduces no runtime cost.
|
|
2813
|
+
- @details Captures the stable tree-entry fields needed to write a JSONL session snapshot for cross-cwd session replacement when the origin session file has not been flushed yet. Mirrors the SDK `SessionEntryBase` shape without an index signature so the SDK `SessionEntry` union remains structurally assignable for passthrough serialization. The interface is compile-time only and introduces no runtime cost.
|
|
2814
2814
|
|
|
2815
2815
|
### iface `interface PromptCommandSessionContext` (L136-148)
|
|
2816
2816
|
- @brief Describes the minimal command-context session surface used by prompt orchestration.
|
|
@@ -2962,12 +2962,12 @@ import {
|
|
|
2962
2962
|
- @param[in] error {unknown} Thrown value.
|
|
2963
2963
|
- @return {PromptCommandSessionContext | undefined} Attached prompt-command context when available.
|
|
2964
2964
|
|
|
2965
|
-
### fn `function runCapture(command: string[], cwd: string):
|
|
2965
|
+
### fn `function runCapture(command: string[], cwd: string): SpawnSyncReturns<string>` (L845-850)
|
|
2966
2966
|
- @brief Executes one git subprocess synchronously and captures UTF-8 output.
|
|
2967
2967
|
- @details Delegates to `spawnSync`, preserves the supplied working directory, and returns the raw subprocess result used by prompt-command orchestration. Runtime is dominated by external process execution. Side effects include process spawning.
|
|
2968
2968
|
- @param[in] command {string[]} Executable plus argument vector.
|
|
2969
2969
|
- @param[in] cwd {string} Working directory for the subprocess.
|
|
2970
|
-
- @return {
|
|
2970
|
+
- @return {SpawnSyncReturns<string>} Captured subprocess result with UTF-8 decoded stdout and stderr.
|
|
2971
2971
|
|
|
2972
2972
|
### fn `function listPromptTrackedBasePathChanges(basePath: string): string[]` (L860-878)
|
|
2973
2973
|
- @brief Lists tracked `base-path` status rows that require stash-assisted merge handling.
|
|
@@ -3183,15 +3183,15 @@ import {
|
|
|
3183
3183
|
## Symbol Index
|
|
3184
3184
|
|Symbol|Kind|Vis|Lines|Sig|
|
|
3185
3185
|
|---|---|---|---|---|
|
|
3186
|
-
|`PromptRequiredDocSpec`|iface||
|
|
3187
|
-
|`PromptCommandExecutionPlan`|iface||
|
|
3188
|
-
|`PromptCommandPostCreateHookContext`|iface||
|
|
3189
|
-
|`PromptCommandPostCreateHook`|type||
|
|
3190
|
-
|`PromptCommandDebugOptions`|iface||
|
|
3191
|
-
|`PromptCommandSessionMessageOptions`|iface||
|
|
3192
|
-
|`PromptCommandSessionSwitchOptions`|iface||
|
|
3193
|
-
|`PromptCommandActiveContext`|iface||
|
|
3194
|
-
|`PromptCommandSessionEntry`|iface||
|
|
3186
|
+
|`PromptRequiredDocSpec`|iface||43-46|export interface PromptRequiredDocSpec|
|
|
3187
|
+
|`PromptCommandExecutionPlan`|iface||52-66|export interface PromptCommandExecutionPlan|
|
|
3188
|
+
|`PromptCommandPostCreateHookContext`|iface||72-77|interface PromptCommandPostCreateHookContext|
|
|
3189
|
+
|`PromptCommandPostCreateHook`|type||83||
|
|
3190
|
+
|`PromptCommandDebugOptions`|iface||89-92|interface PromptCommandDebugOptions|
|
|
3191
|
+
|`PromptCommandSessionMessageOptions`|iface||98-100|interface PromptCommandSessionMessageOptions|
|
|
3192
|
+
|`PromptCommandSessionSwitchOptions`|iface||106-108|interface PromptCommandSessionSwitchOptions|
|
|
3193
|
+
|`PromptCommandActiveContext`|iface||114-119|interface PromptCommandActiveContext extends PromptComman...|
|
|
3194
|
+
|`PromptCommandSessionEntry`|iface||125-130|interface PromptCommandSessionEntry|
|
|
3195
3195
|
|`PromptCommandSessionContext`|iface||136-148|interface PromptCommandSessionContext|
|
|
3196
3196
|
|`PromptCommandContextError`|iface||154-156|interface PromptCommandContextError extends Error|
|
|
3197
3197
|
|`isUsablePromptSessionFile`|fn||171-189|function isUsablePromptSessionFile(|
|
|
@@ -3212,7 +3212,7 @@ import {
|
|
|
3212
3212
|
|`isPromptCommandStaleContextError`|fn||733-736|function isPromptCommandStaleContextError(error: unknown)...|
|
|
3213
3213
|
|`attachPromptCommandErrorContext`|fn||745-753|function attachPromptCommandErrorContext(|
|
|
3214
3214
|
|`getPromptCommandErrorContext`|fn||761-767|export function getPromptCommandErrorContext(|
|
|
3215
|
-
|`runCapture`|fn||845-850|function runCapture(command: string[], cwd: string):
|
|
3215
|
+
|`runCapture`|fn||845-850|function runCapture(command: string[], cwd: string): Spaw...|
|
|
3216
3216
|
|`listPromptTrackedBasePathChanges`|fn||860-878|function listPromptTrackedBasePathChanges(basePath: strin...|
|
|
3217
3217
|
|`finalizePromptCommandMerge`|fn||888-1010|function finalizePromptCommandMerge(|
|
|
3218
3218
|
|`setPromptCommandPostCreateHookForTests`|fn||1018-1022|export function setPromptCommandPostCreateHookForTests(|
|
|
@@ -3444,12 +3444,12 @@ import { readBundledInstruction, readBundledPrompt } from "./resources.js";
|
|
|
3444
3444
|
|
|
3445
3445
|
### fn `export function renderPromptCommandSummary(` (L385-425)
|
|
3446
3446
|
- @brief Builds the on-screen command invocation summary for one bundled prompt-backed `req-<prompt>` command.
|
|
3447
|
-
- @details Renders the command name without the `req-` prefix in uppercase, the user request arguments, and the active configuration fields (`docs-dir`, `src-dir`, `tests-dir`, enabled context files, `AUTO_GIT_COMMIT`, effective `GIT_WORKTREE_ENABLED`, `GIT_WORKTREE_PREFIX`, enabled static-check languages, and `enabled-tools`) so the TUI shows only a compact summary while the full rendered prompt is delivered hidden to the LLM agent. Static-check languages are emitted in canonical `DEFAULT_STATIC_CHECK_LANGUAGES` order; enabled tools are emitted in documented menu order via `comparePiUsereqStartupToolNames`. Runtime is O(l + t log t) where l is language count and t is enabled-tool count. No external state is mutated.
|
|
3447
|
+
- @details Renders the command name without the `req-` prefix in uppercase, the user request arguments, and the active configuration fields (`docs-dir`, `src-dir`, `tests-dir`, enabled context files, `AUTO_GIT_COMMIT`, effective `GIT_WORKTREE_ENABLED`, `GIT_WORKTREE_PREFIX`, enabled static-check languages, and `enabled-tools`) so the TUI shows only a compact summary while the full rendered prompt is delivered hidden to the LLM agent. Static-check languages are emitted in canonical `DEFAULT_STATIC_CHECK_LANGUAGES` order; enabled tools are emitted in documented menu order via `comparePiUsereqStartupToolNames`. The `context files`, `static code checks`, and `enabled tools` fields render the literal `none` placeholder whenever their respective enabled-item list is empty so the summary never shows a blank value. Runtime is O(l + t log t) where l is language count and t is enabled-tool count. No external state is mutated.
|
|
3448
3448
|
- @param[in] promptName {string} Bundled prompt name without the `req-` prefix.
|
|
3449
3449
|
- @param[in] args {string} User request arguments passed to the slash command.
|
|
3450
3450
|
- @param[in] config {UseReqConfig} Effective project configuration supplying directory, git, static-check, and tool fields.
|
|
3451
3451
|
- @return {string} Multi-line command invocation summary text.
|
|
3452
|
-
- @satisfies REQ-335, REQ-336, REQ-337
|
|
3452
|
+
- @satisfies REQ-335, REQ-336, REQ-337, REQ-338
|
|
3453
3453
|
|
|
3454
3454
|
## Symbol Index
|
|
3455
3455
|
|Symbol|Kind|Vis|Lines|Sig|
|
|
@@ -3476,7 +3476,7 @@ import { readBundledInstruction, readBundledPrompt } from "./resources.js";
|
|
|
3476
3476
|
|
|
3477
3477
|
## Imports
|
|
3478
3478
|
```
|
|
3479
|
-
import { spawnSync } from "node:child_process";
|
|
3479
|
+
import { spawnSync, type SpawnSyncReturns } from "node:child_process";
|
|
3480
3480
|
import path from "node:path";
|
|
3481
3481
|
import type { UseReqConfig } from "./config.js";
|
|
3482
3482
|
import { ReqError } from "./errors.js";
|
|
@@ -3490,12 +3490,12 @@ import { runReferences } from "./tool-runner.js";
|
|
|
3490
3490
|
- @brief Describes the prepared execution facts for one `req-references` run.
|
|
3491
3491
|
- @details Stores the validated project base, resolved git root, target references path, and fixed commit message needed by the specialized direct-write workflow. The interface is compile-time only and introduces no runtime cost.
|
|
3492
3492
|
|
|
3493
|
-
### fn `function runCapture(command: string[], cwd: string):
|
|
3493
|
+
### fn `function runCapture(command: string[], cwd: string): SpawnSyncReturns<string>` (L44-49)
|
|
3494
3494
|
- @brief Executes one synchronous subprocess and captures UTF-8 output.
|
|
3495
3495
|
- @details Delegates to `spawnSync(...)`, preserves the supplied working directory, and returns the raw result so callers can interpret git exit status plus diagnostics deterministically. Runtime is dominated by external process execution. Side effects include subprocess creation.
|
|
3496
3496
|
- @param[in] command {string[]} Executable plus argument vector.
|
|
3497
3497
|
- @param[in] cwd {string} Working directory for the subprocess.
|
|
3498
|
-
- @return {
|
|
3498
|
+
- @return {SpawnSyncReturns<string>} Captured subprocess result with UTF-8 stdout and stderr.
|
|
3499
3499
|
|
|
3500
3500
|
### fn `function buildIgnoredGitStatusPaths(` (L59-73)
|
|
3501
3501
|
- @brief Builds the set of git-status paths ignored for cleanliness checks.
|
|
@@ -3543,7 +3543,7 @@ import { runReferences } from "./tool-runner.js";
|
|
|
3543
3543
|
|Symbol|Kind|Vis|Lines|Sig|
|
|
3544
3544
|
|---|---|---|---|---|
|
|
3545
3545
|
|`ReqReferencesCommandPlan`|iface||30-35|export interface ReqReferencesCommandPlan|
|
|
3546
|
-
|`runCapture`|fn||44-49|function runCapture(command: string[], cwd: string):
|
|
3546
|
+
|`runCapture`|fn||44-49|function runCapture(command: string[], cwd: string): Spaw...|
|
|
3547
3547
|
|`buildIgnoredGitStatusPaths`|fn||59-73|function buildIgnoredGitStatusPaths(|
|
|
3548
3548
|
|`listResidualGitStatusLines`|fn||84-102|function listResidualGitStatusLines(|
|
|
3549
3549
|
|`getGitAddTargetPath`|fn||111-117|function getGitAddTargetPath(gitRoot: string, absolutePat...|
|
|
@@ -3562,7 +3562,7 @@ import { runReferences } from "./tool-runner.js";
|
|
|
3562
3562
|
```
|
|
3563
3563
|
import fs from "node:fs";
|
|
3564
3564
|
import path from "node:path";
|
|
3565
|
-
import { spawnSync } from "node:child_process";
|
|
3565
|
+
import { spawnSync, type SpawnSyncReturns } from "node:child_process";
|
|
3566
3566
|
import {
|
|
3567
3567
|
import { ReqError } from "./errors.js";
|
|
3568
3568
|
import {
|
|
@@ -3582,12 +3582,12 @@ import { resolveRuntimeGitPath } from "./runtime-project-paths.js";
|
|
|
3582
3582
|
- type `type ReqResetCommandContext = Parameters<typeof restorePromptCommandExecution>[1];` (L59)
|
|
3583
3583
|
- @brief Describes the session-bound context surface reused during `req-reset` recovery.
|
|
3584
3584
|
- @details Reuses the session-switching contract already accepted by `restorePromptCommandExecution(...)` so the dedicated reset command can restore the original session without depending on concrete pi runtime classes. The alias is compile-time only and introduces no runtime cost.
|
|
3585
|
-
### fn `function runCapture(command: string[], cwd: string):
|
|
3585
|
+
### fn `function runCapture(command: string[], cwd: string): SpawnSyncReturns<string>` (L68-73)
|
|
3586
3586
|
- @brief Executes one synchronous subprocess and captures UTF-8 output.
|
|
3587
3587
|
- @details Delegates to `spawnSync(...)`, preserves the supplied working directory, and returns the raw result so callers can interpret git exit status plus diagnostics deterministically. Runtime is dominated by external process execution. Side effects include subprocess creation.
|
|
3588
3588
|
- @param[in] command {string[]} Executable plus argument vector.
|
|
3589
3589
|
- @param[in] cwd {string} Working directory for the subprocess.
|
|
3590
|
-
- @return {
|
|
3590
|
+
- @return {SpawnSyncReturns<string>} Captured subprocess result with UTF-8 stdout and stderr.
|
|
3591
3591
|
|
|
3592
3592
|
### fn `function escapeReqResetRegExpLiteral(text: string): string` (L81-83)
|
|
3593
3593
|
- @brief Escapes one literal string for safe JavaScript regular-expression reuse.
|
|
@@ -3659,7 +3659,7 @@ import { resolveRuntimeGitPath } from "./runtime-project-paths.js";
|
|
|
3659
3659
|
|`ReqResetCommandPlan`|iface||34-40|export interface ReqResetCommandPlan|
|
|
3660
3660
|
|`ReqResetCommandExecutionResult`|iface||46-53|export interface ReqResetCommandExecutionResult|
|
|
3661
3661
|
|`ReqResetCommandContext`|type||59||
|
|
3662
|
-
|`runCapture`|fn||68-73|function runCapture(command: string[], cwd: string):
|
|
3662
|
+
|`runCapture`|fn||68-73|function runCapture(command: string[], cwd: string): Spaw...|
|
|
3663
3663
|
|`escapeReqResetRegExpLiteral`|fn||81-83|function escapeReqResetRegExpLiteral(text: string): string|
|
|
3664
3664
|
|`buildReqResetWorktreeNamePattern`|fn||93-100|function buildReqResetWorktreeNamePattern(gitRoot: string...|
|
|
3665
3665
|
|`listReqResetRegisteredWorktreeRoots`|fn||109-118|function listReqResetRegisteredWorktreeRoots(gitRoot: str...|
|
|
@@ -3752,19 +3752,19 @@ import { getInstallationPath, RESOURCE_ROOT_DIRNAME } from "./path-context.js";
|
|
|
3752
3752
|
## Imports
|
|
3753
3753
|
```
|
|
3754
3754
|
import path from "node:path";
|
|
3755
|
-
import { spawnSync } from "node:child_process";
|
|
3755
|
+
import { spawnSync, type SpawnSyncReturns } from "node:child_process";
|
|
3756
3756
|
import { ReqError } from "./errors.js";
|
|
3757
3757
|
import { isSameOrAncestorPath } from "./path-context.js";
|
|
3758
3758
|
```
|
|
3759
3759
|
|
|
3760
3760
|
## Definitions
|
|
3761
3761
|
|
|
3762
|
-
### fn `function runGitCapture(command: string[], cwd?: string):
|
|
3762
|
+
### fn `function runGitCapture(command: string[], cwd?: string): SpawnSyncReturns<string>` (L19-24)
|
|
3763
3763
|
- @brief Executes one git subprocess and captures UTF-8 output.
|
|
3764
3764
|
- @details Delegates to `spawnSync`, keeps execution synchronous for deterministic command flows, and supports an optional working directory. Runtime is dominated by the spawned git process. Side effects include subprocess creation.
|
|
3765
3765
|
- @param[in] command {string[]} Git executable plus argument vector.
|
|
3766
3766
|
- @param[in] cwd {string | undefined} Optional working directory.
|
|
3767
|
-
- @return {
|
|
3767
|
+
- @return {SpawnSyncReturns<string>} Captured subprocess result with UTF-8 stdout and stderr.
|
|
3768
3768
|
|
|
3769
3769
|
### fn `export function isInsideGitRepo(targetPath: string): boolean` (L33-36)
|
|
3770
3770
|
- @brief Tests whether one path is inside a git work tree.
|
|
@@ -4752,7 +4752,7 @@ import path from "node:path";
|
|
|
4752
4752
|
|
|
4753
4753
|
---
|
|
4754
4754
|
|
|
4755
|
-
# index.ts | TypeScript |
|
|
4755
|
+
# index.ts | TypeScript | 4597L | 106 symbols | 27 imports | 118 comments
|
|
4756
4756
|
> Path: `src/index.ts`
|
|
4757
4757
|
- @brief Registers the pi-usereq extension commands, tools, and configuration UI.
|
|
4758
4758
|
- @details Bridges the standalone tool-runner layer into the pi extension API by registering prompt commands, agent tools, and interactive configuration menus. Runtime at module load is O(1); later behavior depends on the selected command or tool. Side effects include extension registration, UI updates, filesystem reads/writes, and delegated tool execution.
|
|
@@ -5015,9 +5015,9 @@ cost.
|
|
|
5015
5015
|
- @return {ReturnType<typeof buildMonolithicToolExecuteResult>} Status-only tool execute result.
|
|
5016
5016
|
- @satisfies REQ-294, REQ-295, REQ-296
|
|
5017
5017
|
|
|
5018
|
-
### fn `function deliverPromptCommand(` (L921-
|
|
5018
|
+
### fn `function deliverPromptCommand(` (L921-985)
|
|
5019
5019
|
- @brief Starts delivery of one rendered prompt into the current active session.
|
|
5020
|
-
- @details Prefers the replacement-session `sendMessage(...)` helper exposed by `withSession(...)` callbacks after session replacement so post-switch prompt delivery never reuses stale pre-switch session-bound extension objects. Delivers the rendered prompt as a `display:false` custom message with `triggerTurn:true` so the full content reaches the LLM agent without appearing on screen, and emits a `display:true` command invocation summary so the TUI shows only the compact summary. Returns the underlying hidden-delivery promise without awaiting
|
|
5020
|
+
- @details Prefers the replacement-session `sendMessage(...)` helper exposed by `withSession(...)` callbacks after session replacement so post-switch prompt delivery never reuses stale pre-switch session-bound extension objects. Delivers the rendered prompt as a `display:false` custom message with `triggerTurn:true` so the full content reaches the LLM agent without appearing on screen, and emits a `display:true` command invocation summary so the TUI shows only the compact summary. Awaits the non-critical summary delivery and suppresses its failures before dispatching the authoritative hidden prompt turn so a rejecting summary never surfaces as an unhandled rejection that could terminate the process before prompt-end closure runs the worktree merge. Returns the underlying hidden-delivery promise without awaiting the full agent turn so callers can record the `running` workflow transition as soon as prompt handoff is accepted; the returned promise resolves after the hidden prompt message is accepted, which on runtimes whose async replacement-session helpers resolve only after `agent_end` lets prompt-end closure finalize the worktree merge during the awaited delivery. When pi later invalidates that replacement-session context during successful prompt-end restoration, the helper suppresses the documented stale-extension-context rejection because the prompt was already accepted and late rethrow would surface a false orchestration failure. Falls back to `sendUserMessage(...)` only for non-replacement flows or runtimes that do not expose `sendMessage`. Runtime is O(n) in prompt length. Side effects are limited to hidden prompt delivery plus on-screen summary display.
|
|
5021
5021
|
- @param[in] pi {ExtensionAPI} Handler-scoped extension API instance retained as the fallback dispatcher.
|
|
5022
5022
|
- @param[in] content {string} Rendered prompt markdown.
|
|
5023
5023
|
- @param[in] summary {string} Command invocation summary text displayed on screen.
|
|
@@ -5025,7 +5025,7 @@ cost.
|
|
|
5025
5025
|
- @return {Promise<void>} Promise representing eventual prompt-delivery completion.
|
|
5026
5026
|
- @satisfies REQ-004, REQ-067, REQ-068, REQ-227, REQ-281, REQ-334, REQ-335, DES-016
|
|
5027
5027
|
|
|
5028
|
-
### fn `function shouldIgnoreLatePromptDeliveryFailure(` (
|
|
5028
|
+
### fn `function shouldIgnoreLatePromptDeliveryFailure(` (L996-1012)
|
|
5029
5029
|
- @brief Detects prompt-delivery failures that can be ignored after prompt ownership has moved past the command handler.
|
|
5030
5030
|
- @details Matches the documented stale-extension-context runtime error once prompt ownership has already moved beyond command-side preflight. The helper treats the failure as ignorable when the persisted prompt runtime state shows the same execution session as the active prompt run or when the persisted workflow state has already advanced beyond `checking|running`, because rethrowing at that point would incorrectly re-enter command-side abort logic after the prompt was already accepted. Runtime is O(n) in error-message length plus path length. No external state is mutated.
|
|
5031
5031
|
- @param[in] error {unknown} Candidate prompt-delivery failure.
|
|
@@ -5034,7 +5034,7 @@ cost.
|
|
|
5034
5034
|
- @return {boolean} `true` when the failure is a late stale-context delivery rejection that MUST be ignored.
|
|
5035
5035
|
- @satisfies REQ-208, REQ-280, REQ-281, REQ-282
|
|
5036
5036
|
|
|
5037
|
-
### fn `function logPromptWorkflowStateChange(` (
|
|
5037
|
+
### fn `function logPromptWorkflowStateChange(` (L1025-1044)
|
|
5038
5038
|
- @brief Appends one workflow-state debug entry for a bundled prompt when selected.
|
|
5039
5039
|
- @details Reuses the shared debug logger so `req-*` command handlers and prompt-end orchestration can record deterministic workflow transitions without duplicating JSON payload shaping. Runtime is O(n) in serialized payload size only when logging is enabled and O(1) otherwise. Side effects include debug-log file writes for matching enabled prompts.
|
|
5040
5040
|
- @param[in] projectBase {string} Absolute original project base path.
|
|
@@ -5045,7 +5045,7 @@ cost.
|
|
|
5045
5045
|
- @return {void} No return value.
|
|
5046
5046
|
- @satisfies REQ-245, REQ-246, REQ-247
|
|
5047
5047
|
|
|
5048
|
-
### fn `function logPromptWorkflowEvent(` (
|
|
5048
|
+
### fn `function logPromptWorkflowEvent(` (L1060-1080)
|
|
5049
5049
|
- @brief Appends one dedicated prompt workflow debug entry when selected.
|
|
5050
5050
|
- @details Reuses the shared workflow-event logger so prompt activation, restoration, closure, and session-shutdown paths can emit higher-granularity orchestration diagnostics without duplicating JSON payload shaping. Runtime is O(n) in serialized payload size only when logging is enabled and O(1) otherwise. Side effects include debug-log file writes for matching enabled prompts.
|
|
5051
5051
|
- @param[in] projectBase {string} Absolute original project base path.
|
|
@@ -5059,31 +5059,31 @@ cost.
|
|
|
5059
5059
|
- @return {void} No return value.
|
|
5060
5060
|
- @satisfies REQ-245, REQ-246, REQ-247, REQ-277
|
|
5061
5061
|
|
|
5062
|
-
### fn `function transitionPromptWorkflowState(` (
|
|
5062
|
+
### fn `function transitionPromptWorkflowState(` (L1093-1106)
|
|
5063
5063
|
- @brief Transitions one prompt workflow state and logs the transition immediately after the state update.
|
|
5064
5064
|
- @details Captures the previous workflow state, applies the new state through the shared status helper, and appends the gated `workflow_state` debug entry only after the transition has completed. Runtime is O(1). Side effects include status mutation, status-bar rendering, and optional debug-log writes.
|
|
5065
5065
|
- @param[in] ctx {ExtensionContext | ExtensionCommandContext} Active extension context.
|
|
5066
5066
|
- @param[in] projectBase {string} Absolute original project base path.
|
|
5067
5067
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5068
5068
|
- @param[in] promptName {import("./core/prompt-command-catalog.js").PromptCommandName} Bundled prompt name.
|
|
5069
|
-
- @param[in] nextState {
|
|
5069
|
+
- @param[in] nextState {import("./core/extension-status.js").PiUsereqWorkflowState} Next workflow state.
|
|
5070
5070
|
- @param[in,out] statusController {PiUsereqStatusController} Mutable status controller.
|
|
5071
5071
|
- @return {void} No return value.
|
|
5072
5072
|
|
|
5073
|
-
### fn `function resolvePromptCommandDescription(` (
|
|
5073
|
+
### fn `function resolvePromptCommandDescription(` (L1114-1118)
|
|
5074
5074
|
- @brief Resolves the runtime slash-command description for one bundled prompt.
|
|
5075
5075
|
- @details Reads the bundled prompt markdown, extracts the first `# ` heading payload, and falls back to the historical generated label when the prompt omits a level-one heading. Runtime is O(n) in prompt length. Side effects are limited to filesystem reads.
|
|
5076
5076
|
- @param[in] promptName {import("./core/prompt-command-catalog.js").PromptCommandName} Bundled prompt name.
|
|
5077
5077
|
- @return {string} Runtime command description.
|
|
5078
5078
|
|
|
5079
|
-
### fn `function resolveDebugProjectBase(cwd: string, statusController: PiUsereqStatusController): string` (
|
|
5079
|
+
### fn `function resolveDebugProjectBase(cwd: string, statusController: PiUsereqStatusController): string` (L1127-1131)
|
|
5080
5080
|
- @brief Resolves the original project base used for debug-log file writes.
|
|
5081
5081
|
- @details Prefers the active or pending prompt execution plan so tool-result logging during worktree-backed prompt runs persists into the original repository path instead of transient worktree directories. Runtime is O(1). No external state is mutated.
|
|
5082
5082
|
- @param[in] cwd {string} Current extension working directory.
|
|
5083
5083
|
- @param[in] statusController {PiUsereqStatusController} Mutable status controller.
|
|
5084
5084
|
- @return {string} Absolute original project base path for debug logging.
|
|
5085
5085
|
|
|
5086
|
-
### fn `function notifyContextSafely(` (
|
|
5086
|
+
### fn `function notifyContextSafely(` (L1142-1159)
|
|
5087
5087
|
- @brief Delivers one best-effort UI notification without failing on stale replacement contexts.
|
|
5088
5088
|
- @details Attempts to use the supplied extension context for UI notification delivery and suppresses the documented stale-extension-context runtime error raised after session replacement, because prompt-orchestration closure can outlive the context that initiated the switch. Runtime is O(n) in message length. Side effects are limited to user notification delivery when the context is still active.
|
|
5089
5089
|
- @param[in] ctx {ExtensionContext | ExtensionCommandContext | undefined} Candidate UI context.
|
|
@@ -5092,7 +5092,7 @@ cost.
|
|
|
5092
5092
|
- @return {boolean} `true` when the notification was delivered and `false` when the context was already stale.
|
|
5093
5093
|
- @satisfies REQ-280
|
|
5094
5094
|
|
|
5095
|
-
### fn `function rejectNonIdleReqCommand(` (
|
|
5095
|
+
### fn `function rejectNonIdleReqCommand(` (L1171-1191)
|
|
5096
5096
|
- @brief Rejects one non-`idle` req-command invocation and records the workflow error state.
|
|
5097
5097
|
- @details Builds a deterministic busy-state diagnostic from the current workflow state, transitions the shared workflow state to `error`, preserves any pending or active prompt execution metadata for later closure handling, emits an error notification, and throws `ReqError`. Bundled prompt commands reuse `transitionPromptWorkflowState(...)` when cached configuration is available so prompt debug logging captures the actual state transition; specialized non-prompt commands fall back to direct status mutation. Runtime is O(1). Side effects include workflow-state mutation, status-bar rendering, optional debug-log writes, and user notification delivery.
|
|
5098
5098
|
- @param[in] ctx {ExtensionContext | ExtensionCommandContext} Active extension context.
|
|
@@ -5102,20 +5102,20 @@ cost.
|
|
|
5102
5102
|
- @throws {ReqError} Always throws because non-`idle` req commands are rejected.
|
|
5103
5103
|
- @satisfies REQ-224
|
|
5104
5104
|
|
|
5105
|
-
### fn `function getPiUsereqStartupTools(pi: ExtensionAPI): ToolInfo[]` (
|
|
5105
|
+
### fn `function getPiUsereqStartupTools(pi: ExtensionAPI): ToolInfo[]` (L1200-1208)
|
|
5106
5106
|
- @brief Returns the configurable active-tool inventory visible to the extension.
|
|
5107
5107
|
- @details Filters runtime tools against the canonical configurable-tool set, keeps only builtin-backed embedded tools, and orders the result by the documented custom/files/embedded/default-disabled grouping. Runtime is O(t log t). No external state is mutated.
|
|
5108
5108
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
5109
5109
|
- @return {ToolInfo[]} Sorted configurable tool descriptors.
|
|
5110
5110
|
- @satisfies REQ-007, REQ-063, REQ-231, REQ-232
|
|
5111
5111
|
|
|
5112
|
-
### fn `function getConfiguredEnabledPiUsereqTools(config: UseReqConfig): string[]` (
|
|
5112
|
+
### fn `function getConfiguredEnabledPiUsereqTools(config: UseReqConfig): string[]` (L1216-1220)
|
|
5113
5113
|
- @brief Normalizes and returns the configured enabled active tools.
|
|
5114
5114
|
- @details Reuses repository normalization rules, updates the config object in place, and returns the normalized array. Runtime is O(n) in configured tool count. Side effect: mutates `config["enabled-tools"]`.
|
|
5115
5115
|
- @param[in,out] config {UseReqConfig} Mutable configuration object.
|
|
5116
5116
|
- @return {string[]} Normalized enabled tool names.
|
|
5117
5117
|
|
|
5118
|
-
### fn `function applyConfiguredPiUsereqTools(pi: ExtensionAPI, config: UseReqConfig): void` (
|
|
5118
|
+
### fn `function applyConfiguredPiUsereqTools(pi: ExtensionAPI, config: UseReqConfig): void` (L1230-1247)
|
|
5119
5119
|
- @brief Applies the configured active-tool enablement to the current session.
|
|
5120
5120
|
- @details Preserves non-configurable active tools, removes every configurable tool from the active set, then re-adds only configured tools that exist in the current runtime inventory. Runtime is O(t). Side effects include `pi.setActiveTools(...)`.
|
|
5121
5121
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5123,7 +5123,7 @@ cost.
|
|
|
5123
5123
|
- @return {void} No return value.
|
|
5124
5124
|
- @satisfies REQ-009, REQ-064
|
|
5125
5125
|
|
|
5126
|
-
### fn `async function handleExtensionStatusEvent(` (
|
|
5126
|
+
### fn `async function handleExtensionStatusEvent(` (L1260-1531)
|
|
5127
5127
|
- @brief Handles one intercepted pi lifecycle hook for pi-usereq status updates.
|
|
5128
5128
|
- @details Applies session-start-specific resource validation, project-config refresh, startup-tool enablement, and selected debug-tool logging before forwarding the originating hook name and payload into the shared `updateExtensionStatus(...)` pipeline. Before `agent_start`, re-verifies any prepared prompt execution session switch. On `agent_end`, dispatches configured command-notify, sound, and prompt-specific Pushover effects, logs dedicated workflow-closure diagnostics, restores the original session-backed `base-path` for every matched worktree-backed completion by reusing persisted replacement-session command contexts when event contexts omit `switchSession()`, executes the stash-assisted merge-and-delete finalization path for every matched successful worktree-backed completion even when a later busy-command rejection already moved workflow state to `error`, emits a warning-only notification when restored `base-path` changes are reapplied after merge, tolerates stale replacement-session notification contexts after session replacement, retains the worktree plus notifies closure failure for interrupted or failed outcomes, logs selected prompt workflow transitions, and transitions workflow state through `merging`, `error`, and `idle` as required. On `session_shutdown`, captures pre-update prompt snapshots so workflow-shutdown diagnostics and same-runtime command continuation preserve the active prompt workflow state across switch-triggered rebinding, then disposes the shared controller. Runtime is dominated by configuration loading during `session_start` and git finalization during matched successful `agent_end` handling; all other hooks are O(1). Side effects include resource checks, active-tool mutation, active-session replacement, status updates, live-ticker disposal on shutdown, optional child-process spawning, outbound HTTPS requests, branch merges, worktree deletion, and optional debug-log writes.
|
|
5129
5129
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5134,7 +5134,7 @@ cost.
|
|
|
5134
5134
|
- @return {Promise<void>} Promise resolved when hook processing completes.
|
|
5135
5135
|
- @satisfies REQ-117, REQ-118, REQ-119, REQ-131, REQ-132, REQ-133, REQ-166, REQ-167, REQ-168, REQ-169, REQ-172, REQ-176, REQ-178, REQ-184, REQ-185, REQ-186, REQ-187, REQ-208, REQ-209, REQ-221, REQ-228, REQ-229, REQ-230, REQ-244, REQ-245, REQ-246, REQ-247, REQ-276, REQ-277, REQ-278, REQ-279, REQ-280, REQ-291, REQ-292
|
|
5136
5136
|
|
|
5137
|
-
### fn `function registerExtensionStatusHooks(` (
|
|
5137
|
+
### fn `function registerExtensionStatusHooks(` (L1547-1566)
|
|
5138
5138
|
- @brief Registers shared wrappers for every supported pi lifecycle hook.
|
|
5139
5139
|
- @details Installs one generic wrapper per intercepted hook so every resource,
|
|
5140
5140
|
session, agent, model, tool, bash, and input event is routed through the
|
|
@@ -5148,7 +5148,7 @@ registered hook count. Side effects include hook registration.
|
|
|
5148
5148
|
- @return {void} No return value.
|
|
5149
5149
|
- @satisfies DES-002, REQ-113, REQ-114, REQ-115, REQ-116, REQ-117
|
|
5150
5150
|
|
|
5151
|
-
### fn `function setConfiguredPiUsereqTools(pi: ExtensionAPI, config: UseReqConfig, enabledTools: string[]): void` (
|
|
5151
|
+
### fn `function setConfiguredPiUsereqTools(pi: ExtensionAPI, config: UseReqConfig, enabledTools: string[]): void` (L1576-1579)
|
|
5152
5152
|
- @brief Replaces the configured active-tool selection and applies it immediately.
|
|
5153
5153
|
- @details Normalizes the requested tool names, stores them in config, and synchronizes the active tool set with runtime registration state. Runtime is O(n + t). Side effect: mutates config and active tools.
|
|
5154
5154
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5156,26 +5156,26 @@ registered hook count. Side effects include hook registration.
|
|
|
5156
5156
|
- @param[in,out] config {UseReqConfig} Mutable configuration object.
|
|
5157
5157
|
- @return {void} No return value.
|
|
5158
5158
|
|
|
5159
|
-
### fn `function getDebugToolToggleNames(): PiUsereqStartupToolName[]` (
|
|
5159
|
+
### fn `function getDebugToolToggleNames(): PiUsereqStartupToolName[]` (L1587-1589)
|
|
5160
5160
|
- @brief Returns the canonical debug-tool toggle order.
|
|
5161
5161
|
- @details Reuses the documented configurable-tool ordering so debug toggles list extension-owned tools before embedded tools and remain deterministic across sessions. Runtime is O(t log t). No external state is mutated.
|
|
5162
5162
|
- @return {PiUsereqStartupToolName[]} Ordered debug-tool toggle names.
|
|
5163
5163
|
- @satisfies REQ-242
|
|
5164
5164
|
|
|
5165
|
-
### fn `function resetDebugConfigToDefaults(config: UseReqConfig): void` (
|
|
5165
|
+
### fn `function resetDebugConfigToDefaults(config: UseReqConfig): void` (L1598-1607)
|
|
5166
5166
|
- @brief Restores the debug configuration subtree to its documented defaults.
|
|
5167
5167
|
- @details Resets global debug enablement, log path, tool-wrapper command registration, workflow-state filter, dedicated workflow-event logging, and selected tool plus prompt debug toggles without mutating unrelated settings. Runtime is O(1). Side effect: mutates `config`.
|
|
5168
5168
|
- @param[in,out] config {UseReqConfig} Mutable configuration object.
|
|
5169
5169
|
- @return {void} No return value.
|
|
5170
5170
|
- @satisfies REQ-236, REQ-237, REQ-238, REQ-239, REQ-195, REQ-277, REQ-322
|
|
5171
5171
|
|
|
5172
|
-
### fn `function formatDebugMenuSummary(config: UseReqConfig): string` (
|
|
5172
|
+
### fn `function formatDebugMenuSummary(config: UseReqConfig): string` (L1615-1621)
|
|
5173
5173
|
- @brief Formats the top-level Debug summary value.
|
|
5174
5174
|
- @details Emits the current global debug mode plus compact selected-tool and selected-prompt counts for right-aligned menu display. Runtime is O(n) in configured selector count. No external state is mutated.
|
|
5175
5175
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5176
5176
|
- @return {string} Compact debug summary string.
|
|
5177
5177
|
|
|
5178
|
-
### fn `function buildDebugMenuChoice(` (
|
|
5178
|
+
### fn `function buildDebugMenuChoice(` (L1631-1644)
|
|
5179
5179
|
- @brief Builds one debug-menu row with optional disabled styling.
|
|
5180
5180
|
- @details Applies dim styling and disables selection whenever global debug is off for all rows except the global `Debug` toggle row. Runtime is O(1). No external state is mutated.
|
|
5181
5181
|
- @param[in] choice {PiUsereqSettingsMenuChoice} Base debug-menu row.
|
|
@@ -5183,21 +5183,21 @@ registered hook count. Side effects include hook registration.
|
|
|
5183
5183
|
- @return {PiUsereqSettingsMenuChoice} Styled debug-menu row.
|
|
5184
5184
|
- @satisfies REQ-241
|
|
5185
5185
|
|
|
5186
|
-
### fn `async function selectDebugLogOnStatus(` (
|
|
5186
|
+
### fn `async function selectDebugLogOnStatus(` (L1653-1681)
|
|
5187
5187
|
- @brief Opens the workflow-state filter selector used by the Debug submenu.
|
|
5188
5188
|
- @details Exposes `any` plus each canonical workflow state through the shared settings-menu renderer and returns the selected normalized filter or `undefined` when the user cancels the submenu. Runtime depends on user interaction count. Side effects are limited to transient custom-UI rendering.
|
|
5189
5189
|
- @param[in] ctx {ExtensionCommandContext} Active command context.
|
|
5190
5190
|
- @param[in] currentValue {DebugLogOnStatus} Current persisted workflow-state filter.
|
|
5191
5191
|
- @return {Promise<DebugLogOnStatus | undefined>} Selected workflow-state filter or `undefined` when cancelled.
|
|
5192
5192
|
|
|
5193
|
-
### fn `function buildDebugMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5193
|
+
### fn `function buildDebugMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L1690-1776)
|
|
5194
5194
|
- @brief Builds the shared settings-menu choices for debug logging configuration.
|
|
5195
5195
|
- @details Serializes global debug controls plus tool-wrapper command registration, workflow-state, dedicated workflow-event, per-tool, and per-prompt toggles into one submenu, deriving inventories from the canonical tool and prompt lists and dimming locked rows while debug is disabled. Runtime is O(t + p). No external state is mutated.
|
|
5196
5196
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5197
5197
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered debug-menu choices.
|
|
5198
5198
|
- @satisfies REQ-240, REQ-241, REQ-242, REQ-243, REQ-193, REQ-277, REQ-321, REQ-322
|
|
5199
5199
|
|
|
5200
|
-
### fn `async function configureDebugMenu(` (
|
|
5200
|
+
### fn `async function configureDebugMenu(` (L1787-1977)
|
|
5201
5201
|
- @brief Runs the interactive Debug submenu.
|
|
5202
5202
|
- @details Lets the user toggle global debug enablement, tool-wrapper command registration, debug file and workflow filters, dedicated workflow-event logging, per-tool selectors, and per-prompt selectors while preserving row focus across re-renders. Runtime depends on user interaction count. Side effects include UI updates, config mutation, and optional debug command registration.
|
|
5203
5203
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5206,47 +5206,47 @@ registered hook count. Side effects include hook registration.
|
|
|
5206
5206
|
- @return {Promise<void>} Promise resolved when the submenu closes.
|
|
5207
5207
|
- @satisfies REQ-236, REQ-237, REQ-238, REQ-239, REQ-240, REQ-241, REQ-242, REQ-243, REQ-192, REQ-193, REQ-195, REQ-277, REQ-321, REQ-322, REQ-323
|
|
5208
5208
|
|
|
5209
|
-
### fn `const updateDebugToolCommandsEnabled = (nextValue: unknown): void =>` (
|
|
5209
|
+
### fn `const updateDebugToolCommandsEnabled = (nextValue: unknown): void =>` (L1793-1800)
|
|
5210
5210
|
|
|
5211
|
-
- type `type PiNotifyBooleanConfigKey =` (
|
|
5211
|
+
- type `type PiNotifyBooleanConfigKey =` (L1983)
|
|
5212
5212
|
- @brief Represents one persisted boolean notification-setting key.
|
|
5213
5213
|
- @details Restricts menu toggles to the global enable flags and completed/interrupted/failed event toggles used by command-notify, sound, and Pushover configuration. Compile-time only and introduces no runtime cost.
|
|
5214
|
-
- type `type PiNotifyEventBooleanConfigKey = Exclude<` (
|
|
5214
|
+
- type `type PiNotifyEventBooleanConfigKey = Exclude<` (L2000)
|
|
5215
5215
|
- @brief Represents one persisted boolean notification event-toggle key.
|
|
5216
5216
|
- @details Restricts shared event-submenu mutation helpers to completed/interrupted/failed toggles and excludes global enable flags. Compile-time only and introduces no runtime cost.
|
|
5217
|
-
- type `type PiNotifyEventId = "completed" | "interrupted" | "failed";` (
|
|
5217
|
+
- type `type PiNotifyEventId = "completed" | "interrupted" | "failed";` (L2009)
|
|
5218
5218
|
- @brief Represents one shared prompt-end event identifier used by notification menus.
|
|
5219
5219
|
- @details Restricts event-submenu rendering to the canonical completed/interrupted/failed domain shared by command-notify, sound, and Pushover routing. Compile-time only and introduces no runtime cost.
|
|
5220
|
-
### iface `interface PiNotifyEventRowDefinition` (
|
|
5220
|
+
### iface `interface PiNotifyEventRowDefinition` (L2015-2019)
|
|
5221
5221
|
- @brief Describes one shared prompt-end event row rendered inside notification event submenus.
|
|
5222
5222
|
- @details Binds one canonical event identifier to the human-readable label and terminal-outcome description reused across command-notify, sound, and Pushover event menus. The interface is compile-time only and introduces no runtime cost.
|
|
5223
5223
|
|
|
5224
|
-
### iface `interface PiNotifyEventMenuDefinition` (
|
|
5224
|
+
### iface `interface PiNotifyEventMenuDefinition` (L2025-2031)
|
|
5225
5225
|
- @brief Describes one notification-system event submenu contract.
|
|
5226
5226
|
- @details Binds the top-level launcher row, submenu title, toast prefix, and completed/interrupted/failed config keys for one notification transport. The interface is compile-time only and introduces no runtime cost.
|
|
5227
5227
|
|
|
5228
|
-
### fn `function togglePiNotifyFlag(config: UseReqConfig, key: PiNotifyBooleanConfigKey): boolean` (
|
|
5228
|
+
### fn `function togglePiNotifyFlag(config: UseReqConfig, key: PiNotifyBooleanConfigKey): boolean` (L2040-2043)
|
|
5229
5229
|
- @brief Flips one persisted boolean notification setting.
|
|
5230
5230
|
- @details Negates the selected configuration flag in place and returns the resulting boolean value so callers can emit deterministic UI feedback. Runtime is O(1). Side effect: mutates `config`.
|
|
5231
5231
|
- @param[in] key {PiNotifyBooleanConfigKey} Boolean configuration key to toggle.
|
|
5232
5232
|
- @param[in,out] config {UseReqConfig} Mutable configuration object.
|
|
5233
5233
|
- @return {boolean} Next enabled state.
|
|
5234
5234
|
|
|
5235
|
-
### fn `function resetPiNotifyConfigToDefaults(config: UseReqConfig): void` (
|
|
5235
|
+
### fn `function resetPiNotifyConfigToDefaults(config: UseReqConfig): void` (L2052-2076)
|
|
5236
5236
|
- @brief Restores notification-related settings to their documented defaults.
|
|
5237
5237
|
- @details Copies the command-notify, sound, and Pushover configuration subtree from a fresh default config into the supplied mutable project config. Runtime is O(1). Side effect: mutates `config`.
|
|
5238
5238
|
- @param[in,out] config {UseReqConfig} Mutable configuration object.
|
|
5239
5239
|
- @return {void} No return value.
|
|
5240
5240
|
- @satisfies REQ-174, REQ-178, REQ-184, REQ-195, REQ-196
|
|
5241
5241
|
|
|
5242
|
-
### fn `function formatPiNotifyPushoverPriority(priority: PiNotifyPushoverPriority): string` (
|
|
5242
|
+
### fn `function formatPiNotifyPushoverPriority(priority: PiNotifyPushoverPriority): string` (L2085-2087)
|
|
5243
5243
|
- @brief Formats one persisted Pushover priority for menu display.
|
|
5244
5244
|
- @details Maps the canonical `0|1` priority domain to deterministic `Normal|High` labels reused by the Pushover configuration UI. Runtime is O(1). No external state is mutated.
|
|
5245
5245
|
- @param[in] priority {PiNotifyPushoverPriority} Persisted Pushover priority.
|
|
5246
5246
|
- @return {string} Menu-display label.
|
|
5247
5247
|
- @satisfies REQ-172
|
|
5248
5248
|
|
|
5249
|
-
### fn `function formatPiNotifyEventMenuSummary(` (
|
|
5249
|
+
### fn `function formatPiNotifyEventMenuSummary(` (L2171-2179)
|
|
5250
5250
|
- @brief Formats the top-level summary value for one notification event submenu.
|
|
5251
5251
|
- @details Counts enabled completed/interrupted/failed toggles for the selected transport and renders the result as `n/3 on` for right-aligned menu display. Runtime is O(1). No external state is mutated.
|
|
5252
5252
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
@@ -5254,7 +5254,7 @@ registered hook count. Side effects include hook registration.
|
|
|
5254
5254
|
- @return {string} Compact enabled-toggle summary.
|
|
5255
5255
|
- @satisfies REQ-198
|
|
5256
5256
|
|
|
5257
|
-
### fn `function buildPiNotifyEventLauncherChoice(` (
|
|
5257
|
+
### fn `function buildPiNotifyEventLauncherChoice(` (L2189-2199)
|
|
5258
5258
|
- @brief Builds the top-level launcher row for one notification event submenu.
|
|
5259
5259
|
- @details Reuses the shared completed/interrupted/failed summary renderer so the `Notifications` menu can expose dedicated event editors for command-notify, sound, and Pushover in a uniform shape. Runtime is O(1). No external state is mutated.
|
|
5260
5260
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
@@ -5262,7 +5262,7 @@ registered hook count. Side effects include hook registration.
|
|
|
5262
5262
|
- @return {PiUsereqSettingsMenuChoice} Launcher row for the selected event submenu.
|
|
5263
5263
|
- @satisfies REQ-181, REQ-183, REQ-165, REQ-198
|
|
5264
5264
|
|
|
5265
|
-
### fn `function buildPiNotifyEventMenuChoices(` (
|
|
5265
|
+
### fn `function buildPiNotifyEventMenuChoices(` (L2209-2225)
|
|
5266
5266
|
- @brief Builds the shared settings-menu choices for one notification event submenu.
|
|
5267
5267
|
- @details Serializes completed/interrupted/failed rows with right-aligned `on|off` values, then appends a value-less `Reset defaults` row for submenu-scoped mutation control. Runtime is O(1). No external state is mutated.
|
|
5268
5268
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
@@ -5270,7 +5270,7 @@ registered hook count. Side effects include hook registration.
|
|
|
5270
5270
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered event-submenu choice vector.
|
|
5271
5271
|
- @satisfies REQ-188, REQ-193, REQ-198
|
|
5272
5272
|
|
|
5273
|
-
### fn `function resetPiNotifyEventMenuToDefaults(` (
|
|
5273
|
+
### fn `function resetPiNotifyEventMenuToDefaults(` (L2235-2243)
|
|
5274
5274
|
- @brief Restores one notification event submenu to its documented defaults.
|
|
5275
5275
|
- @details Copies only the completed/interrupted/failed toggles referenced by the supplied submenu contract from a fresh default config into the mutable project config. Runtime is O(1). Side effect: mutates `config`.
|
|
5276
5276
|
- @param[in] eventMenu {PiNotifyEventMenuDefinition} Notification-system event submenu contract.
|
|
@@ -5278,7 +5278,7 @@ registered hook count. Side effects include hook registration.
|
|
|
5278
5278
|
- @return {void} No return value.
|
|
5279
5279
|
- @satisfies REQ-174, REQ-178, REQ-184, REQ-195
|
|
5280
5280
|
|
|
5281
|
-
### fn `function resolvePiNotifyEventLabel(` (
|
|
5281
|
+
### fn `function resolvePiNotifyEventLabel(` (L2253-2260)
|
|
5282
5282
|
- @brief Resolves the human-readable event label for one event-toggle config key.
|
|
5283
5283
|
- @details Matches the supplied config key against the submenu contract and returns the corresponding completed/interrupted/failed menu label for deterministic notification toasts. Runtime is O(1). No external state is mutated.
|
|
5284
5284
|
- @param[in] key {PiNotifyEventBooleanConfigKey} Event-toggle configuration key.
|
|
@@ -5286,7 +5286,7 @@ registered hook count. Side effects include hook registration.
|
|
|
5286
5286
|
- @return {string} Human-readable event label.
|
|
5287
5287
|
- @satisfies REQ-188, REQ-198
|
|
5288
5288
|
|
|
5289
|
-
### fn `async function configurePiNotifyEventMenu(` (
|
|
5289
|
+
### fn `async function configurePiNotifyEventMenu(` (L2271-2347)
|
|
5290
5290
|
- @brief Runs one dedicated notification event submenu.
|
|
5291
5291
|
- @details Reuses the shared settings-menu renderer to toggle completed/interrupted/failed delivery flags, preserve row focus, and apply submenu-scoped reset semantics for command-notify, sound, or Pushover events. Runtime depends on user interaction count. Side effects include UI updates and config mutation.
|
|
5292
5292
|
- @param[in] ctx {ExtensionCommandContext} Active command context.
|
|
@@ -5295,14 +5295,14 @@ registered hook count. Side effects include hook registration.
|
|
|
5295
5295
|
- @return {Promise<void>} Promise resolved when the submenu closes.
|
|
5296
5296
|
- @satisfies REQ-188, REQ-192, REQ-193, REQ-195, REQ-198
|
|
5297
5297
|
|
|
5298
|
-
### fn `function buildPiNotifyPushoverRows(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5298
|
+
### fn `function buildPiNotifyPushoverRows(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L2356-2406)
|
|
5299
5299
|
- @brief Builds the direct Pushover rows rendered inside `Notifications`.
|
|
5300
5300
|
- @details Serializes the global enable flag, shared-event submenu launcher, priority, title, text, and credential rows into right-valued menu items appended after the sound-command rows, dims and disables the enable row until both credentials are populated, renders the locked value as `configure user/token keys first`, and escapes control characters for the single-line `Pushover text` value. Runtime is O(n) in the rendered text-template length. No external state is mutated.
|
|
5301
5301
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5302
5302
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered direct Pushover rows.
|
|
5303
5303
|
- @satisfies REQ-163, REQ-165, REQ-172, REQ-184, REQ-185, REQ-198, REQ-234, REQ-235
|
|
5304
5304
|
|
|
5305
|
-
### fn `async function selectPiNotifyPushoverPriority(` (
|
|
5305
|
+
### fn `async function selectPiNotifyPushoverPriority(` (L2416-2444)
|
|
5306
5306
|
- @brief Opens the shared settings-menu selector for Pushover priority.
|
|
5307
5307
|
- @details Reuses the pi-usereq settings-menu renderer so Pushover priority selection remains stylistically aligned with the notification menus and appends a value-less subtree-local `Reset defaults` row. Runtime depends on user interaction count. Side effects are limited to transient custom-UI rendering.
|
|
5308
5308
|
- @param[in] ctx {ExtensionCommandContext} Active command context.
|
|
@@ -5310,14 +5310,14 @@ registered hook count. Side effects include hook registration.
|
|
|
5310
5310
|
- @return {Promise<PiNotifyPushoverPriority | "reset-defaults" | undefined>} Selected priority, reset action, or `undefined` when cancelled.
|
|
5311
5311
|
- @satisfies REQ-172, REQ-192
|
|
5312
5312
|
|
|
5313
|
-
### fn `function buildPiNotifyMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5313
|
+
### fn `function buildPiNotifyMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L2453-2511)
|
|
5314
5314
|
- @brief Builds the shared settings-menu choices for notification configuration.
|
|
5315
5315
|
- @details Serializes command-notify, sound, and Pushover blocks with dedicated shared-event submenu launchers so the settings-menu renderer can expose one unified but modular configuration surface, including locked Pushover enablement, persisted boot-sound rows that stay decoupled from the active runtime sound level, and escaped single-line rendering for `Pushover text`. Runtime is O(n) in the longest rendered command or text field. No external state is mutated.
|
|
5316
5316
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5317
5317
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered notification-menu choice vector.
|
|
5318
5318
|
- @satisfies REQ-137, REQ-149, REQ-150, REQ-151, REQ-152, REQ-163, REQ-164, REQ-165, REQ-172, REQ-179, REQ-181, REQ-183, REQ-188, REQ-193, REQ-198, REQ-234, REQ-235, REQ-289
|
|
5319
5319
|
|
|
5320
|
-
### fn `async function selectPiNotifySoundLevel(` (
|
|
5320
|
+
### fn `async function selectPiNotifySoundLevel(` (L2521-2561)
|
|
5321
5321
|
- @brief Opens the shared settings-menu selector for the persisted boot sound level.
|
|
5322
5322
|
- @details Reuses the pi-usereq settings-menu renderer so boot-sound selection remains stylistically aligned with the notification menu, keeps the active runtime sound level unchanged, and appends a value-less subtree-local `Reset defaults` row. Runtime depends on user interaction count. Side effects are limited to transient custom-UI rendering.
|
|
5323
5323
|
- @param[in] ctx {ExtensionCommandContext} Active command context.
|
|
@@ -5325,7 +5325,7 @@ registered hook count. Side effects include hook registration.
|
|
|
5325
5325
|
- @return {Promise<PiNotifySoundLevel | "reset-defaults" | undefined>} Selected boot sound level, reset action, or `undefined` when cancelled.
|
|
5326
5326
|
- @satisfies REQ-131, REQ-179, REQ-192, REQ-289
|
|
5327
5327
|
|
|
5328
|
-
### fn `async function configurePiNotifyMenu(` (
|
|
5328
|
+
### fn `async function configurePiNotifyMenu(` (L2571-2857)
|
|
5329
5329
|
- @brief Runs the interactive notification-configuration menu.
|
|
5330
5330
|
- @details Exposes command-notify, sound, and Pushover controls through the shared settings-menu renderer, persists every notification subtree mutation into global configuration, delegates completed/interrupted/failed toggles to dedicated event submenus, preserves boot-sound edits without altering the active runtime sound level, keeps `Enable pushover` locked until both credentials are populated, decodes escaped control-sequence input for `Pushover text`, and preserves row focus across menu re-renders. Runtime depends on user interaction count. Side effects include UI updates and config mutation.
|
|
5331
5331
|
- @param[in] ctx {ExtensionCommandContext} Active command context.
|
|
@@ -5333,7 +5333,7 @@ registered hook count. Side effects include hook registration.
|
|
|
5333
5333
|
- @return {Promise<boolean>} `true` when the sound-toggle shortcut changed.
|
|
5334
5334
|
- @satisfies REQ-131, REQ-133, REQ-134, REQ-137, REQ-163, REQ-164, REQ-165, REQ-172, REQ-179, REQ-181, REQ-183, REQ-184, REQ-188, REQ-192, REQ-193, REQ-195, REQ-196, REQ-198, REQ-234, REQ-235, REQ-288, REQ-289
|
|
5335
5335
|
|
|
5336
|
-
### fn `function registerPiNotifyShortcut(` (
|
|
5336
|
+
### fn `function registerPiNotifyShortcut(` (L2872-2895)
|
|
5337
5337
|
- @brief Registers the configurable notification-sound shortcut when supported.
|
|
5338
5338
|
- @details Loads the current effective config, registers one raw pi shortcut when
|
|
5339
5339
|
the runtime exposes `registerShortcut(...)`, cycles only the active runtime
|
|
@@ -5346,15 +5346,15 @@ registration and status updates.
|
|
|
5346
5346
|
- @return {void} No return value.
|
|
5347
5347
|
- @satisfies REQ-134, REQ-180, REQ-286, REQ-287
|
|
5348
5348
|
|
|
5349
|
-
### fn `function resolveReqResetPromptRequest(` (
|
|
5349
|
+
### fn `function resolveReqResetPromptRequest(` (L2903-2929)
|
|
5350
5350
|
- @brief Resolves the prompt execution plan targeted by `req-reset` recovery.
|
|
5351
5351
|
- @details Prefers the current in-memory active request, then the current in-memory pending request, then the process-scoped persisted prompt runtime state so the dedicated reset command can recover from same-host unclean prompt termination after session replacement. Runtime is O(1). No external state is mutated.
|
|
5352
5352
|
- @param[in] statusController {PiUsereqStatusController} Mutable status controller.
|
|
5353
5353
|
- @return {PromptCommandExecutionPlan | undefined} Recoverable prompt execution plan when one remains available.
|
|
5354
5354
|
|
|
5355
|
-
### fn `const isWorktreeBacked = (request: PromptCommandExecutionPlan | undefined): request is PromptCommandExecutionPlan =>` (
|
|
5355
|
+
### fn `const isWorktreeBacked = (request: PromptCommandExecutionPlan | undefined): request is PromptCommandExecutionPlan =>` (L2906-2913)
|
|
5356
5356
|
|
|
5357
|
-
### fn `function registerReqResetCommand(` (
|
|
5357
|
+
### fn `function registerReqResetCommand(` (L2939-2993)
|
|
5358
5358
|
- @brief Registers the specialized `req-reset` slash command.
|
|
5359
5359
|
- @details Registers the non-agentic prompt-recovery command that accepts any current workflow state, reuses persisted prompt runtime state when available, restores the original session-backed `base-path`, force-removes matching generated worktrees plus branches, clears recoverable prompt state when restoration succeeds, and notifies pi without starting an LLM session or creating a worktree. Runtime is dominated by session restoration plus git cleanup. Side effects include command registration, status-controller mutation, active-session replacement, worktree deletion, branch deletion, and user notifications.
|
|
5360
5360
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5362,7 +5362,7 @@ registration and status updates.
|
|
|
5362
5362
|
- @return {void} No return value.
|
|
5363
5363
|
- @satisfies REQ-304, REQ-305, REQ-306, REQ-307, REQ-308, REQ-309, REQ-310, REQ-311, REQ-312, REQ-313
|
|
5364
5364
|
|
|
5365
|
-
### fn `function registerReqReferencesCommand(` (
|
|
5365
|
+
### fn `function registerReqReferencesCommand(` (L3003-3043)
|
|
5366
5366
|
- @brief Registers the specialized `req-references` slash command.
|
|
5367
5367
|
- @details Registers the non-agentic references-maintenance command that rejects non-`idle` invocations by transitioning workflow state to `error` before direct execution, otherwise reuses slash-command-owned git validation, transitions workflow state through `checking|running|idle`, regenerates `REFERENCES.md` directly from configured source directories, stages only the generated file, creates the fixed-message git commit, verifies repository cleanliness, and notifies pi without starting an LLM session or creating a worktree. Runtime is dominated by git subprocess execution plus source-summary generation. Side effects include command registration, status-controller mutation, filesystem writes, git index/history mutation, and user notifications.
|
|
5368
5368
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5370,7 +5370,7 @@ registration and status updates.
|
|
|
5370
5370
|
- @return {void} No return value.
|
|
5371
5371
|
- @satisfies REQ-200, REQ-221, REQ-224, REQ-298, REQ-299, REQ-300, REQ-301, REQ-302, REQ-303
|
|
5372
5372
|
|
|
5373
|
-
### fn `function registerPromptCommands(` (
|
|
5373
|
+
### fn `function registerPromptCommands(` (L3053-3174)
|
|
5374
5374
|
- @brief Registers bundled prompt-backed commands with the extension.
|
|
5375
5375
|
- @details Creates one prompt-template-backed `req-<prompt>` command per bundled prompt name. Each handler rejects non-`idle` workflow state by transitioning the shared workflow state to `error` before command-side preflight, otherwise transitions the shared workflow state through `checking`, `error`, and `running`, runs dedicated prompt-command git and required-doc preflight checks, optionally prepares a dedicated worktree execution plan using the active session directory, persists the prompt metadata needed for switch-triggered rebinding, switches the active session to the verified execution cwd before prompt handoff, logs dedicated workflow-activation diagnostics, renders the prompt, starts prompt delivery into the forked active session, records `running` immediately after delivery handoff begins, and then awaits the wrapped prompt-delivery promise whose stale post-restore rejections are suppressed. Runtime is O(p) for registration; handler cost depends on prompt preflight, worktree preparation, session switching, prompt rendering, prompt dispatch, and optional debug logging. Side effects include command registration, status-controller mutation, worktree creation, active-session replacement, optional worktree rollback, user-message delivery during execution, and optional debug-log writes.
|
|
5376
5376
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5378,14 +5378,14 @@ registration and status updates.
|
|
|
5378
5378
|
- @return {void} No return value.
|
|
5379
5379
|
- @satisfies REQ-004, REQ-067, REQ-068, REQ-169, REQ-200, REQ-201, REQ-202, REQ-203, REQ-206, REQ-207, REQ-219, REQ-220, REQ-221, REQ-224, REQ-225, REQ-226, REQ-227, REQ-245, REQ-246, REQ-247, REQ-277, REQ-281
|
|
5380
5380
|
|
|
5381
|
-
### fn `function registerAgentTools(pi: ExtensionAPI): void` (
|
|
5381
|
+
### fn `function registerAgentTools(pi: ExtensionAPI): void` (L3184-3483)
|
|
5382
5382
|
- @brief Registers pi-usereq agent tools exposed to the model.
|
|
5383
5383
|
- @details Defines the tool schemas, prompt metadata, and execution handlers that bridge extension tool calls into tool-runner operations without registering duplicate custom slash commands for the same capabilities. Runtime is O(t) for registration; execution cost depends on the selected tool. Side effects include tool registration.
|
|
5384
5384
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
5385
5385
|
- @return {void} No return value.
|
|
5386
5386
|
- @satisfies REQ-005, REQ-010, REQ-011, REQ-014, REQ-017, REQ-044, REQ-069, REQ-070, REQ-071, REQ-072, REQ-073, REQ-074, REQ-075, REQ-076, REQ-077, REQ-078, REQ-079, REQ-080, REQ-089, REQ-090, REQ-091, REQ-092, REQ-093, REQ-094, REQ-095, REQ-096, REQ-097, REQ-098, REQ-099, REQ-100, REQ-101, REQ-102, REQ-293, REQ-294, REQ-295, REQ-296, REQ-297
|
|
5387
5387
|
|
|
5388
|
-
### fn `function buildPiUsereqToolsMenuChoices(pi: ExtensionAPI, config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5388
|
+
### fn `function buildPiUsereqToolsMenuChoices(pi: ExtensionAPI, config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L3528-3553)
|
|
5389
5389
|
- @brief Builds the shared settings-menu choices for startup-tool management.
|
|
5390
5390
|
- @details Serializes startup-tool actions into right-valued menu rows consumed by the shared settings-menu renderer while omitting the removed status-reference action. Runtime is O(t) in configurable-tool count. No external state is mutated.
|
|
5391
5391
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5393,7 +5393,7 @@ registration and status updates.
|
|
|
5393
5393
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered startup-tool menu choices.
|
|
5394
5394
|
- @satisfies REQ-007, REQ-150, REQ-151, REQ-152, REQ-153, REQ-154, REQ-193
|
|
5395
5395
|
|
|
5396
|
-
### fn `function buildPiUsereqToolToggleChoices(pi: ExtensionAPI, config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5396
|
+
### fn `function buildPiUsereqToolToggleChoices(pi: ExtensionAPI, config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L3563-3577)
|
|
5397
5397
|
- @brief Builds the shared settings-menu choices for per-tool startup toggles.
|
|
5398
5398
|
- @details Exposes every configurable startup tool as one row whose right-side value reports the current enabled state, preserves the documented custom/files/embedded/default-disabled ordering, and appends a value-less subtree-local `Reset defaults` row. Runtime is O(t) in configurable-tool count. No external state is mutated.
|
|
5399
5399
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5401,7 +5401,7 @@ registration and status updates.
|
|
|
5401
5401
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered per-tool toggle choices.
|
|
5402
5402
|
- @satisfies REQ-007, REQ-151, REQ-152, REQ-153, REQ-154, REQ-231, REQ-232
|
|
5403
5403
|
|
|
5404
|
-
### fn `async function configurePiUsereqToolsMenu(` (
|
|
5404
|
+
### fn `async function configurePiUsereqToolsMenu(` (L3588-3705)
|
|
5405
5405
|
- @brief Runs the interactive active-tool configuration menu.
|
|
5406
5406
|
- @details Synchronizes runtime active tools with the effective config, renders startup-tool actions through the shared settings-menu UI, persists enablement changes into global configuration, preserves the documented per-tool ordering, and updates configuration state in response to selections until the user exits. Runtime depends on user interaction count. Side effects include UI updates, active-tool changes, and config mutation.
|
|
5407
5407
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5410,58 +5410,58 @@ registration and status updates.
|
|
|
5410
5410
|
- @return {Promise<void>} Promise resolved when the menu closes.
|
|
5411
5411
|
- @satisfies REQ-007, REQ-063, REQ-064, REQ-150, REQ-151, REQ-152, REQ-153, REQ-154, REQ-193, REQ-231, REQ-232
|
|
5412
5412
|
|
|
5413
|
-
### fn `function getStaticCheckLanguageConfigForMenu(` (
|
|
5413
|
+
### fn `function getStaticCheckLanguageConfigForMenu(` (L3714-3719)
|
|
5414
5414
|
- @brief Resolves one static-check language config for menu rendering.
|
|
5415
5415
|
- @details Returns the configured per-language static-check object when present and otherwise synthesizes a disabled empty-language object so menu code can render all supported languages deterministically. Runtime is O(1). No external state is mutated.
|
|
5416
5416
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5417
5417
|
- @param[in] language {string} Canonical language name.
|
|
5418
5418
|
- @return {StaticCheckLanguageConfig} Resolved per-language config object.
|
|
5419
5419
|
|
|
5420
|
-
### fn `function countConfiguredStaticCheckLanguages(config: UseReqConfig): number` (
|
|
5420
|
+
### fn `function countConfiguredStaticCheckLanguages(config: UseReqConfig): number` (L3727-3729)
|
|
5421
5421
|
- @brief Counts languages that currently expose at least one configured checker.
|
|
5422
5422
|
- @details Treats configured-but-disabled languages as configured when their checker list is non-empty so removal actions remain deterministic. Runtime is O(l). No external state is mutated.
|
|
5423
5423
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5424
5424
|
- @return {number} Number of languages with at least one configured checker.
|
|
5425
5425
|
|
|
5426
|
-
### fn `function countEnabledStaticCheckLanguages(config: UseReqConfig): number` (
|
|
5426
|
+
### fn `function countEnabledStaticCheckLanguages(config: UseReqConfig): number` (L3737-3739)
|
|
5427
5427
|
- @brief Counts languages whose static-check enable flag is on.
|
|
5428
5428
|
- @details Counts only languages whose persisted per-language config explicitly sets `enabled=enable`, regardless of checker count. Runtime is O(l). No external state is mutated.
|
|
5429
5429
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5430
5430
|
- @return {number} Number of enabled languages.
|
|
5431
5431
|
|
|
5432
|
-
### fn `function resetStaticCheckConfig(config: UseReqConfig): void` (
|
|
5432
|
+
### fn `function resetStaticCheckConfig(config: UseReqConfig): void` (L3748-3750)
|
|
5433
5433
|
- @brief Restores the documented static-check default configuration.
|
|
5434
5434
|
- @details Replaces the mutable config subtree with a fresh clone of the documented per-language defaults so menu reset actions restore both enable flags and checker lists in one step. Runtime is O(l + c). Side effect: mutates `config`.
|
|
5435
5435
|
- @param[in,out] config {UseReqConfig} Mutable configuration object.
|
|
5436
5436
|
- @return {void} No return value.
|
|
5437
5437
|
- @satisfies REQ-250, REQ-251, REQ-252
|
|
5438
5438
|
|
|
5439
|
-
### fn `function formatStaticCheckLanguagesSummary(config: UseReqConfig): string` (
|
|
5439
|
+
### fn `function formatStaticCheckLanguagesSummary(config: UseReqConfig): string` (L3758-3760)
|
|
5440
5440
|
- @brief Summarizes enabled and configured static-check languages.
|
|
5441
5441
|
- @details Counts enabled languages and languages with at least one checker, then emits one compact summary string suitable for the top-level configuration menu. Runtime is O(l). No external state is mutated.
|
|
5442
5442
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5443
5443
|
- @return {string} Compact summary string.
|
|
5444
5444
|
|
|
5445
|
-
### fn `function buildStaticCheckMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5445
|
+
### fn `function buildStaticCheckMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L3769-3801)
|
|
5446
5446
|
- @brief Builds the shared settings-menu choices for static-check management.
|
|
5447
5447
|
- @details Serializes guided Command-oriented add and remove actions, renders one direct on/off toggle row for every supported language, and appends canonical terminal rows while omitting raw-spec and reference-only actions. Runtime is O(l). No external state is mutated.
|
|
5448
5448
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5449
5449
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered static-check menu choices.
|
|
5450
5450
|
- @satisfies REQ-008, REQ-150, REQ-151, REQ-152, REQ-153, REQ-154, REQ-160, REQ-161, REQ-193, REQ-248
|
|
5451
5451
|
|
|
5452
|
-
### fn `function buildSupportedStaticCheckLanguageChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5452
|
+
### fn `function buildSupportedStaticCheckLanguageChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L3809-3826)
|
|
5453
5453
|
- @brief Builds the shared settings-menu choices for supported static-check languages.
|
|
5454
5454
|
- @details Exposes every supported language as one row whose right-side value reports extensions, enablement, and configured checker count for guided Command configuration flows, then appends subtree-local terminal rows. Runtime is O(l). No external state is mutated.
|
|
5455
5455
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5456
5456
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered language-choice vector.
|
|
5457
5457
|
|
|
5458
|
-
### fn `function buildConfiguredStaticCheckLanguageChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5458
|
+
### fn `function buildConfiguredStaticCheckLanguageChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L3834-3851)
|
|
5459
5459
|
- @brief Builds the shared settings-menu choices for configured static-check languages.
|
|
5460
5460
|
- @details Exposes only languages whose checker lists are non-empty so removal remains deterministic, then appends subtree-local terminal rows. Runtime is O(l). No external state is mutated.
|
|
5461
5461
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5462
5462
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered configured-language vector.
|
|
5463
5463
|
|
|
5464
|
-
### fn `async function configureStaticCheckMenu(` (
|
|
5464
|
+
### fn `async function configureStaticCheckMenu(` (L3861-4007)
|
|
5465
5465
|
- @brief Runs the interactive static-check configuration menu.
|
|
5466
5466
|
- @details Lets the user add and remove global Command entries, toggle direct local per-language enable flags, and reset the subtree to documented defaults through the shared settings-menu renderer until the user exits. Runtime depends on user interaction count. Side effects include UI updates and config mutation.
|
|
5467
5467
|
- @param[in] ctx {ExtensionCommandContext} Active command context.
|
|
@@ -5469,21 +5469,21 @@ registration and status updates.
|
|
|
5469
5469
|
- @return {Promise<void>} Promise resolved when the menu closes.
|
|
5470
5470
|
- @satisfies REQ-008, REQ-151, REQ-152, REQ-153, REQ-154, REQ-160, REQ-161, REQ-193, REQ-195, REQ-248, REQ-253
|
|
5471
5471
|
|
|
5472
|
-
### fn `function formatContextFilesSummary(config: UseReqConfig): string` (
|
|
5472
|
+
### fn `function formatContextFilesSummary(config: UseReqConfig): string` (L4016-4018)
|
|
5473
5473
|
- @brief Summarizes the `Context Files` flag state for the top-level menu value column.
|
|
5474
5474
|
- @details Renders the three context-file flags as compact `name:on|off` segments in the documented order so the top-level row reflects the current injection configuration. Runtime is O(1). No external state is mutated.
|
|
5475
5475
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5476
5476
|
- @return {string} Compact `Context Files` summary string.
|
|
5477
5477
|
- @satisfies REQ-327
|
|
5478
5478
|
|
|
5479
|
-
### fn `function buildContextFilesMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5479
|
+
### fn `function buildContextFilesMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L4027-4054)
|
|
5480
5480
|
- @brief Builds the shared settings-menu choices for the `Context Files` submenu.
|
|
5481
5481
|
- @details Exposes one inline on|off toggle row per context file in the documented `REQUIREMENTS.md`, `REFERENCES.md`, `WORKFLOW.md` order plus a value-less subtree-local `Reset defaults` row. Runtime is O(1). No external state is mutated.
|
|
5482
5482
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5483
5483
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered `Context Files` submenu choices.
|
|
5484
5484
|
- @satisfies REQ-327, REQ-328, REQ-333
|
|
5485
5485
|
|
|
5486
|
-
### fn `async function configureContextFilesMenu(` (
|
|
5486
|
+
### fn `async function configureContextFilesMenu(` (L4065-4123)
|
|
5487
5487
|
- @brief Runs the `Context Files` configuration submenu.
|
|
5488
5488
|
- @details Loads the shared settings menu with the three context-file toggle rows, persists each inline toggle immediately through the shared change callback, restores all three flags to enabled on approved subtree reset, preserves focus on the toggled row, and returns to the top-level menu on cancel. Runtime depends on user interaction count. Side effects include config writes and UI notifications.
|
|
5489
5489
|
- @param[in] ctx {ExtensionCommandContext} Active command context.
|
|
@@ -5492,9 +5492,9 @@ registration and status updates.
|
|
|
5492
5492
|
- @return {Promise<void>} Promise resolved when the submenu closes.
|
|
5493
5493
|
- @satisfies REQ-327, REQ-328, REQ-333
|
|
5494
5494
|
|
|
5495
|
-
### fn `const setFlag = (flagKey: "context-files-requirements" | "context-files-references" | "context-files-workflow", enabled: boolean): void =>` (
|
|
5495
|
+
### fn `const setFlag = (flagKey: "context-files-requirements" | "context-files-references" | "context-files-workflow", enabled: boolean): void =>` (L4070-4074)
|
|
5496
5496
|
|
|
5497
|
-
### fn `function buildPiUsereqMenuChoices(` (
|
|
5497
|
+
### fn `function buildPiUsereqMenuChoices(` (L4133-4238)
|
|
5498
5498
|
- @brief Builds the shared settings-menu choices for the top-level pi-usereq configuration UI.
|
|
5499
5499
|
- @details Serializes primary configuration actions into right-valued menu rows consumed by the shared settings-menu renderer, including the `Context Files` injection toggles, automatic git-commit mode, effective prompt-command worktree state, notification summary, debug summary, locked worktree rows when automatic git commit is disabled, and display-only local plus global config paths. Runtime is O(s) in source-directory count. No external state is mutated.
|
|
5500
5500
|
- @param[in] cwd {string} Current working directory.
|
|
@@ -5502,21 +5502,21 @@ registration and status updates.
|
|
|
5502
5502
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered top-level menu choices.
|
|
5503
5503
|
- @satisfies REQ-006, REQ-031, REQ-137, REQ-150, REQ-151, REQ-152, REQ-162, REQ-190, REQ-191, REQ-197, REQ-204, REQ-205, REQ-212, REQ-215, REQ-216, REQ-236, REQ-237, REQ-238, REQ-239, REQ-240, REQ-314, REQ-318, REQ-319, REQ-320, REQ-326
|
|
5504
5504
|
|
|
5505
|
-
### fn `function buildSrcDirMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5505
|
+
### fn `function buildSrcDirMenuChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L4247-4265)
|
|
5506
5506
|
- @brief Builds the shared settings-menu choices for source-directory management.
|
|
5507
5507
|
- @details Exposes add and remove actions for `src-dir` entries through right-valued menu rows consumed by the shared settings-menu renderer. Runtime is O(s) in source-directory count. No external state is mutated.
|
|
5508
5508
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5509
5509
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered source-directory management choices.
|
|
5510
5510
|
- @satisfies REQ-006, REQ-151, REQ-152, REQ-153, REQ-154, REQ-193
|
|
5511
5511
|
|
|
5512
|
-
### fn `function buildSrcDirRemovalChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (
|
|
5512
|
+
### fn `function buildSrcDirRemovalChoices(config: UseReqConfig): PiUsereqSettingsMenuChoice[]` (L4274-4286)
|
|
5513
5513
|
- @brief Builds the shared settings-menu choices for removing one source-directory entry.
|
|
5514
5514
|
- @details Exposes every configured `src-dir` entry as one removable row and appends a value-less subtree-local `Reset defaults` row. Runtime is O(s) in source-directory count. No external state is mutated.
|
|
5515
5515
|
- @param[in] config {UseReqConfig} Effective project configuration.
|
|
5516
5516
|
- @return {PiUsereqSettingsMenuChoice[]} Ordered removable source-directory choices.
|
|
5517
5517
|
- @satisfies REQ-006, REQ-151, REQ-152, REQ-153, REQ-154
|
|
5518
5518
|
|
|
5519
|
-
### fn `async function configurePiUsereq(` (
|
|
5519
|
+
### fn `async function configurePiUsereq(` (L4297-4555)
|
|
5520
5520
|
- @brief Runs the top-level pi-usereq configuration menu.
|
|
5521
5521
|
- @details Loads the effective merged config, exposes docs/test/source/automatic-commit/worktree/static-check/startup-tool/notification/debug actions through the shared settings-menu renderer, forces worktree disablement when automatic git commit is disabled, prevents locked row edits, persists changes on exit, closes immediately after `Show local configuration` or `Show global configuration`, and refreshes the single-line status bar. Runtime depends on user interaction count. Side effects include UI updates, config writes, active-tool changes, and editor text updates.
|
|
5522
5522
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5525,9 +5525,9 @@ registration and status updates.
|
|
|
5525
5525
|
- @return {Promise<void>} Promise resolved when configuration is saved and the menu closes.
|
|
5526
5526
|
- @satisfies REQ-006, REQ-031, REQ-137, REQ-150, REQ-151, REQ-152, REQ-153, REQ-154, REQ-162, REQ-190, REQ-191, REQ-192, REQ-194, REQ-195, REQ-204, REQ-205, REQ-212, REQ-215, REQ-216, REQ-236, REQ-237, REQ-238, REQ-239, REQ-240, REQ-241, REQ-242, REQ-243, REQ-314, REQ-318, REQ-319, REQ-320, REQ-326, REQ-327, REQ-328, REQ-333
|
|
5527
5527
|
|
|
5528
|
-
### fn `const persistConfigChange = () =>` (
|
|
5528
|
+
### fn `const persistConfigChange = () =>` (L4308-4313)
|
|
5529
5529
|
|
|
5530
|
-
### fn `function registerConfigCommands(` (
|
|
5530
|
+
### fn `function registerConfigCommands(` (L4565-4575)
|
|
5531
5531
|
- @brief Registers configuration-management commands.
|
|
5532
5532
|
- @details Adds the interactive `pi-usereq` configuration command only; the config-viewer action is now exposed exclusively inside that menu. Runtime is O(1) for registration. Side effects include command registration.
|
|
5533
5533
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5535,7 +5535,7 @@ registration and status updates.
|
|
|
5535
5535
|
- @return {void} No return value.
|
|
5536
5536
|
- @satisfies REQ-006, REQ-031
|
|
5537
5537
|
|
|
5538
|
-
### fn `export default function piUsereqExtension(pi: ExtensionAPI): void` (
|
|
5538
|
+
### fn `export default function piUsereqExtension(pi: ExtensionAPI): void` (L4584-4597)
|
|
5539
5539
|
- @brief Registers the complete pi-usereq extension.
|
|
5540
5540
|
- @details Validates installation-owned bundled resources, registers the specialized `req-reset` and `req-references` commands plus bundled prompt-backed commands and agent tools, conditionally registers config-gated debug tool wrapper commands when the current project enables them, registers configuration commands, registers the configurable notification-sound shortcut when the runtime supports shortcuts, and installs shared wrappers for all supported pi lifecycle hooks so status telemetry, context usage, prompt timing, cumulative runtime, prompt-specific Pushover metadata, tool-result debug logging, and prompt-orchestration effects remain synchronized with runtime events. Runtime is O(h) in hook count during registration. Side effects include filesystem reads, command/tool/shortcut registration, UI updates, active-tool changes, optional debug-log writes, and timer scheduling.
|
|
5541
5541
|
- @param[in] pi {ExtensionAPI} Active extension API instance.
|
|
@@ -5579,76 +5579,76 @@ registration and status updates.
|
|
|
5579
5579
|
|`buildStructuredToolRenderResult`|fn||838-857|function buildStructuredToolRenderResult(toolName: string)|
|
|
5580
5580
|
|`executeMonolithicTool`|fn||865-871|function executeMonolithicTool(operation: () => ToolResul...|
|
|
5581
5581
|
|`executeStatusTool`|fn||880-909|function executeStatusTool(operation: () => ToolResult): ...|
|
|
5582
|
-
|`deliverPromptCommand`|fn||921-
|
|
5583
|
-
|`shouldIgnoreLatePromptDeliveryFailure`|fn||
|
|
5584
|
-
|`logPromptWorkflowStateChange`|fn||
|
|
5585
|
-
|`logPromptWorkflowEvent`|fn||
|
|
5586
|
-
|`transitionPromptWorkflowState`|fn||
|
|
5587
|
-
|`resolvePromptCommandDescription`|fn||
|
|
5588
|
-
|`resolveDebugProjectBase`|fn||
|
|
5589
|
-
|`notifyContextSafely`|fn||
|
|
5590
|
-
|`rejectNonIdleReqCommand`|fn||
|
|
5591
|
-
|`getPiUsereqStartupTools`|fn||
|
|
5592
|
-
|`getConfiguredEnabledPiUsereqTools`|fn||
|
|
5593
|
-
|`applyConfiguredPiUsereqTools`|fn||
|
|
5594
|
-
|`handleExtensionStatusEvent`|fn||
|
|
5595
|
-
|`registerExtensionStatusHooks`|fn||
|
|
5596
|
-
|`setConfiguredPiUsereqTools`|fn||
|
|
5597
|
-
|`getDebugToolToggleNames`|fn||
|
|
5598
|
-
|`resetDebugConfigToDefaults`|fn||
|
|
5599
|
-
|`formatDebugMenuSummary`|fn||
|
|
5600
|
-
|`buildDebugMenuChoice`|fn||
|
|
5601
|
-
|`selectDebugLogOnStatus`|fn||
|
|
5602
|
-
|`buildDebugMenuChoices`|fn||
|
|
5603
|
-
|`configureDebugMenu`|fn||
|
|
5604
|
-
|`updateDebugToolCommandsEnabled`|fn||
|
|
5605
|
-
|`PiNotifyBooleanConfigKey`|type||
|
|
5606
|
-
|`PiNotifyEventBooleanConfigKey`|type||
|
|
5607
|
-
|`PiNotifyEventId`|type||
|
|
5608
|
-
|`PiNotifyEventRowDefinition`|iface||
|
|
5609
|
-
|`PiNotifyEventMenuDefinition`|iface||
|
|
5610
|
-
|`togglePiNotifyFlag`|fn||
|
|
5611
|
-
|`resetPiNotifyConfigToDefaults`|fn||
|
|
5612
|
-
|`formatPiNotifyPushoverPriority`|fn||
|
|
5613
|
-
|`formatPiNotifyEventMenuSummary`|fn||
|
|
5614
|
-
|`buildPiNotifyEventLauncherChoice`|fn||
|
|
5615
|
-
|`buildPiNotifyEventMenuChoices`|fn||
|
|
5616
|
-
|`resetPiNotifyEventMenuToDefaults`|fn||
|
|
5617
|
-
|`resolvePiNotifyEventLabel`|fn||
|
|
5618
|
-
|`configurePiNotifyEventMenu`|fn||
|
|
5619
|
-
|`buildPiNotifyPushoverRows`|fn||
|
|
5620
|
-
|`selectPiNotifyPushoverPriority`|fn||
|
|
5621
|
-
|`buildPiNotifyMenuChoices`|fn||
|
|
5622
|
-
|`selectPiNotifySoundLevel`|fn||
|
|
5623
|
-
|`configurePiNotifyMenu`|fn||
|
|
5624
|
-
|`registerPiNotifyShortcut`|fn||
|
|
5625
|
-
|`resolveReqResetPromptRequest`|fn||
|
|
5626
|
-
|`isWorktreeBacked`|fn||
|
|
5627
|
-
|`registerReqResetCommand`|fn||
|
|
5628
|
-
|`registerReqReferencesCommand`|fn||
|
|
5629
|
-
|`registerPromptCommands`|fn||
|
|
5630
|
-
|`registerAgentTools`|fn||
|
|
5631
|
-
|`buildPiUsereqToolsMenuChoices`|fn||
|
|
5632
|
-
|`buildPiUsereqToolToggleChoices`|fn||
|
|
5633
|
-
|`configurePiUsereqToolsMenu`|fn||
|
|
5634
|
-
|`getStaticCheckLanguageConfigForMenu`|fn||
|
|
5635
|
-
|`countConfiguredStaticCheckLanguages`|fn||
|
|
5636
|
-
|`countEnabledStaticCheckLanguages`|fn||
|
|
5637
|
-
|`resetStaticCheckConfig`|fn||
|
|
5638
|
-
|`formatStaticCheckLanguagesSummary`|fn||
|
|
5639
|
-
|`buildStaticCheckMenuChoices`|fn||
|
|
5640
|
-
|`buildSupportedStaticCheckLanguageChoices`|fn||
|
|
5641
|
-
|`buildConfiguredStaticCheckLanguageChoices`|fn||
|
|
5642
|
-
|`configureStaticCheckMenu`|fn||
|
|
5643
|
-
|`formatContextFilesSummary`|fn||
|
|
5644
|
-
|`buildContextFilesMenuChoices`|fn||
|
|
5645
|
-
|`configureContextFilesMenu`|fn||
|
|
5646
|
-
|`setFlag`|fn||
|
|
5647
|
-
|`buildPiUsereqMenuChoices`|fn||
|
|
5648
|
-
|`buildSrcDirMenuChoices`|fn||
|
|
5649
|
-
|`buildSrcDirRemovalChoices`|fn||
|
|
5650
|
-
|`configurePiUsereq`|fn||
|
|
5651
|
-
|`persistConfigChange`|fn||
|
|
5652
|
-
|`registerConfigCommands`|fn||
|
|
5653
|
-
|`piUsereqExtension`|fn||
|
|
5582
|
+
|`deliverPromptCommand`|fn||921-985|function deliverPromptCommand(|
|
|
5583
|
+
|`shouldIgnoreLatePromptDeliveryFailure`|fn||996-1012|function shouldIgnoreLatePromptDeliveryFailure(|
|
|
5584
|
+
|`logPromptWorkflowStateChange`|fn||1025-1044|function logPromptWorkflowStateChange(|
|
|
5585
|
+
|`logPromptWorkflowEvent`|fn||1060-1080|function logPromptWorkflowEvent(|
|
|
5586
|
+
|`transitionPromptWorkflowState`|fn||1093-1106|function transitionPromptWorkflowState(|
|
|
5587
|
+
|`resolvePromptCommandDescription`|fn||1114-1118|function resolvePromptCommandDescription(|
|
|
5588
|
+
|`resolveDebugProjectBase`|fn||1127-1131|function resolveDebugProjectBase(cwd: string, statusContr...|
|
|
5589
|
+
|`notifyContextSafely`|fn||1142-1159|function notifyContextSafely(|
|
|
5590
|
+
|`rejectNonIdleReqCommand`|fn||1171-1191|function rejectNonIdleReqCommand(|
|
|
5591
|
+
|`getPiUsereqStartupTools`|fn||1200-1208|function getPiUsereqStartupTools(pi: ExtensionAPI): ToolI...|
|
|
5592
|
+
|`getConfiguredEnabledPiUsereqTools`|fn||1216-1220|function getConfiguredEnabledPiUsereqTools(config: UseReq...|
|
|
5593
|
+
|`applyConfiguredPiUsereqTools`|fn||1230-1247|function applyConfiguredPiUsereqTools(pi: ExtensionAPI, c...|
|
|
5594
|
+
|`handleExtensionStatusEvent`|fn||1260-1531|async function handleExtensionStatusEvent(|
|
|
5595
|
+
|`registerExtensionStatusHooks`|fn||1547-1566|function registerExtensionStatusHooks(|
|
|
5596
|
+
|`setConfiguredPiUsereqTools`|fn||1576-1579|function setConfiguredPiUsereqTools(pi: ExtensionAPI, con...|
|
|
5597
|
+
|`getDebugToolToggleNames`|fn||1587-1589|function getDebugToolToggleNames(): PiUsereqStartupToolNa...|
|
|
5598
|
+
|`resetDebugConfigToDefaults`|fn||1598-1607|function resetDebugConfigToDefaults(config: UseReqConfig)...|
|
|
5599
|
+
|`formatDebugMenuSummary`|fn||1615-1621|function formatDebugMenuSummary(config: UseReqConfig): st...|
|
|
5600
|
+
|`buildDebugMenuChoice`|fn||1631-1644|function buildDebugMenuChoice(|
|
|
5601
|
+
|`selectDebugLogOnStatus`|fn||1653-1681|async function selectDebugLogOnStatus(|
|
|
5602
|
+
|`buildDebugMenuChoices`|fn||1690-1776|function buildDebugMenuChoices(config: UseReqConfig): PiU...|
|
|
5603
|
+
|`configureDebugMenu`|fn||1787-1977|async function configureDebugMenu(|
|
|
5604
|
+
|`updateDebugToolCommandsEnabled`|fn||1793-1800|const updateDebugToolCommandsEnabled = (nextValue: unknow...|
|
|
5605
|
+
|`PiNotifyBooleanConfigKey`|type||1983||
|
|
5606
|
+
|`PiNotifyEventBooleanConfigKey`|type||2000||
|
|
5607
|
+
|`PiNotifyEventId`|type||2009||
|
|
5608
|
+
|`PiNotifyEventRowDefinition`|iface||2015-2019|interface PiNotifyEventRowDefinition|
|
|
5609
|
+
|`PiNotifyEventMenuDefinition`|iface||2025-2031|interface PiNotifyEventMenuDefinition|
|
|
5610
|
+
|`togglePiNotifyFlag`|fn||2040-2043|function togglePiNotifyFlag(config: UseReqConfig, key: Pi...|
|
|
5611
|
+
|`resetPiNotifyConfigToDefaults`|fn||2052-2076|function resetPiNotifyConfigToDefaults(config: UseReqConf...|
|
|
5612
|
+
|`formatPiNotifyPushoverPriority`|fn||2085-2087|function formatPiNotifyPushoverPriority(priority: PiNotif...|
|
|
5613
|
+
|`formatPiNotifyEventMenuSummary`|fn||2171-2179|function formatPiNotifyEventMenuSummary(|
|
|
5614
|
+
|`buildPiNotifyEventLauncherChoice`|fn||2189-2199|function buildPiNotifyEventLauncherChoice(|
|
|
5615
|
+
|`buildPiNotifyEventMenuChoices`|fn||2209-2225|function buildPiNotifyEventMenuChoices(|
|
|
5616
|
+
|`resetPiNotifyEventMenuToDefaults`|fn||2235-2243|function resetPiNotifyEventMenuToDefaults(|
|
|
5617
|
+
|`resolvePiNotifyEventLabel`|fn||2253-2260|function resolvePiNotifyEventLabel(|
|
|
5618
|
+
|`configurePiNotifyEventMenu`|fn||2271-2347|async function configurePiNotifyEventMenu(|
|
|
5619
|
+
|`buildPiNotifyPushoverRows`|fn||2356-2406|function buildPiNotifyPushoverRows(config: UseReqConfig):...|
|
|
5620
|
+
|`selectPiNotifyPushoverPriority`|fn||2416-2444|async function selectPiNotifyPushoverPriority(|
|
|
5621
|
+
|`buildPiNotifyMenuChoices`|fn||2453-2511|function buildPiNotifyMenuChoices(config: UseReqConfig): ...|
|
|
5622
|
+
|`selectPiNotifySoundLevel`|fn||2521-2561|async function selectPiNotifySoundLevel(|
|
|
5623
|
+
|`configurePiNotifyMenu`|fn||2571-2857|async function configurePiNotifyMenu(|
|
|
5624
|
+
|`registerPiNotifyShortcut`|fn||2872-2895|function registerPiNotifyShortcut(|
|
|
5625
|
+
|`resolveReqResetPromptRequest`|fn||2903-2929|function resolveReqResetPromptRequest(|
|
|
5626
|
+
|`isWorktreeBacked`|fn||2906-2913|const isWorktreeBacked = (request: PromptCommandExecution...|
|
|
5627
|
+
|`registerReqResetCommand`|fn||2939-2993|function registerReqResetCommand(|
|
|
5628
|
+
|`registerReqReferencesCommand`|fn||3003-3043|function registerReqReferencesCommand(|
|
|
5629
|
+
|`registerPromptCommands`|fn||3053-3174|function registerPromptCommands(|
|
|
5630
|
+
|`registerAgentTools`|fn||3184-3483|function registerAgentTools(pi: ExtensionAPI): void|
|
|
5631
|
+
|`buildPiUsereqToolsMenuChoices`|fn||3528-3553|function buildPiUsereqToolsMenuChoices(pi: ExtensionAPI, ...|
|
|
5632
|
+
|`buildPiUsereqToolToggleChoices`|fn||3563-3577|function buildPiUsereqToolToggleChoices(pi: ExtensionAPI,...|
|
|
5633
|
+
|`configurePiUsereqToolsMenu`|fn||3588-3705|async function configurePiUsereqToolsMenu(|
|
|
5634
|
+
|`getStaticCheckLanguageConfigForMenu`|fn||3714-3719|function getStaticCheckLanguageConfigForMenu(|
|
|
5635
|
+
|`countConfiguredStaticCheckLanguages`|fn||3727-3729|function countConfiguredStaticCheckLanguages(config: UseR...|
|
|
5636
|
+
|`countEnabledStaticCheckLanguages`|fn||3737-3739|function countEnabledStaticCheckLanguages(config: UseReqC...|
|
|
5637
|
+
|`resetStaticCheckConfig`|fn||3748-3750|function resetStaticCheckConfig(config: UseReqConfig): void|
|
|
5638
|
+
|`formatStaticCheckLanguagesSummary`|fn||3758-3760|function formatStaticCheckLanguagesSummary(config: UseReq...|
|
|
5639
|
+
|`buildStaticCheckMenuChoices`|fn||3769-3801|function buildStaticCheckMenuChoices(config: UseReqConfig...|
|
|
5640
|
+
|`buildSupportedStaticCheckLanguageChoices`|fn||3809-3826|function buildSupportedStaticCheckLanguageChoices(config:...|
|
|
5641
|
+
|`buildConfiguredStaticCheckLanguageChoices`|fn||3834-3851|function buildConfiguredStaticCheckLanguageChoices(config...|
|
|
5642
|
+
|`configureStaticCheckMenu`|fn||3861-4007|async function configureStaticCheckMenu(|
|
|
5643
|
+
|`formatContextFilesSummary`|fn||4016-4018|function formatContextFilesSummary(config: UseReqConfig):...|
|
|
5644
|
+
|`buildContextFilesMenuChoices`|fn||4027-4054|function buildContextFilesMenuChoices(config: UseReqConfi...|
|
|
5645
|
+
|`configureContextFilesMenu`|fn||4065-4123|async function configureContextFilesMenu(|
|
|
5646
|
+
|`setFlag`|fn||4070-4074|const setFlag = (flagKey: "context-files-requirements" | ...|
|
|
5647
|
+
|`buildPiUsereqMenuChoices`|fn||4133-4238|function buildPiUsereqMenuChoices(|
|
|
5648
|
+
|`buildSrcDirMenuChoices`|fn||4247-4265|function buildSrcDirMenuChoices(config: UseReqConfig): Pi...|
|
|
5649
|
+
|`buildSrcDirRemovalChoices`|fn||4274-4286|function buildSrcDirRemovalChoices(config: UseReqConfig):...|
|
|
5650
|
+
|`configurePiUsereq`|fn||4297-4555|async function configurePiUsereq(|
|
|
5651
|
+
|`persistConfigChange`|fn||4308-4313|const persistConfigChange = () =>|
|
|
5652
|
+
|`registerConfigCommands`|fn||4565-4575|function registerConfigCommands(|
|
|
5653
|
+
|`piUsereqExtension`|fn||4584-4597|export default function piUsereqExtension(pi: ExtensionAP...|
|
|
5654
5654
|
|