@promptbook/types 0.114.0-47 → 0.114.0-49
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/README.md +44 -25
- package/esm/src/cli/cli-commands/coder/agentCliOptions.d.ts +5 -0
- package/esm/src/cli/cli-commands/coder/coderAgentRole.d.ts +5 -0
- package/esm/src/cli/cli-commands/coder/coderReferencedArtifacts.d.ts +2 -2
- package/esm/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.d.ts +3 -2
- package/esm/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.test.d.ts +1 -0
- package/esm/src/cli/cli-commands/coder/findLegacyCoderCheckCallers.d.ts +5 -0
- package/esm/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +6 -0
- package/esm/src/cli/cli-commands/coder/mergeStringRecordJsonFile.d.ts +5 -3
- package/esm/src/cli/cli-commands/coder/planning/runPlanningSession.d.ts +3 -0
- package/esm/src/cli/cli-commands/coder/prepareCoderPackageJsonScripts.d.ts +12 -0
- package/esm/src/cli/cli-commands/coder.d.ts +1 -1
- package/esm/src/cli/cli-commands/common/coderCheckCliOptions.d.ts +21 -0
- package/esm/src/cli/cli-commands/common/coderCheckCliOptions.test.d.ts +1 -0
- package/esm/src/cli/cli-commands/common/projectCliOptions.d.ts +30 -0
- package/esm/src/cli/cli-commands/common/projectCliOptions.test.d.ts +1 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +1 -1
- package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +1 -1
- package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +1 -1
- package/esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +1 -1
- package/esm/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/src/cli/cli-commands/coder/agentCliOptions.d.ts +5 -0
- package/umd/src/cli/cli-commands/coder/coderAgentRole.d.ts +5 -0
- package/umd/src/cli/cli-commands/coder/coderReferencedArtifacts.d.ts +2 -2
- package/umd/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.d.ts +3 -2
- package/umd/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/coder/findLegacyCoderCheckCallers.d.ts +5 -0
- package/umd/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +6 -0
- package/umd/src/cli/cli-commands/coder/mergeStringRecordJsonFile.d.ts +5 -3
- package/umd/src/cli/cli-commands/coder/planning/runPlanningSession.d.ts +3 -0
- package/umd/src/cli/cli-commands/coder/prepareCoderPackageJsonScripts.d.ts +12 -0
- package/umd/src/cli/cli-commands/coder.d.ts +1 -1
- package/umd/src/cli/cli-commands/common/coderCheckCliOptions.d.ts +21 -0
- package/umd/src/cli/cli-commands/common/coderCheckCliOptions.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/projectCliOptions.d.ts +30 -0
- package/umd/src/cli/cli-commands/common/projectCliOptions.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +1 -1
- package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +1 -1
- package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +1 -1
- package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +1 -1
- package/umd/src/version.d.ts +1 -1
package/README.md
CHANGED
|
@@ -653,7 +653,7 @@ Promptbook Coder is **not another standalone coding model**. It is an orchestrat
|
|
|
653
653
|
|
|
654
654
|
- prompt files with explicit statuses like `[ ]`, `[^]`, `[x]`, and `[-]`
|
|
655
655
|
- automatic selection of the next runnable task, including priority support
|
|
656
|
-
-
|
|
656
|
+
- shared project context loaded from `AGENTS.md` by default
|
|
657
657
|
- automatic `git add`, commit, and push after each successful prompt
|
|
658
658
|
- dedicated coding-agent Git identity and optional GPG signing
|
|
659
659
|
- verification and repair flow for work that is done, partial, or broken
|
|
@@ -675,7 +675,7 @@ Prompts marked with `[-]` are not ready yet, prompts containing `@@@` are treate
|
|
|
675
675
|
#### Features
|
|
676
676
|
|
|
677
677
|
- **Multi-runner execution:** `openai-codex`, `github-copilot`, `cline`, `claude-code`, `opencode`, `gemini`, `qwen-code`
|
|
678
|
-
- **
|
|
678
|
+
- **Project defaults:** Developer, invocation cwd, and project `AGENTS.md`; `--agent`, `--path`, and `--context` independently override them
|
|
679
679
|
- **Reasoning control:** `--thinking-level low|medium|high|xhigh` for supported runners
|
|
680
680
|
- **Unattended or interactive runs:** default auto mode, or `--no-auto` to wait for user confirmation before each prompt
|
|
681
681
|
- **Git safety:** clean working tree check by default, or `--git-changes ignore` to keep the changes and `--git-changes continue` to resume an interrupted prompt
|
|
@@ -695,11 +695,11 @@ npx ts-node ./src/cli/test/ptbk.ts coder generate-boilerplates --template prompt
|
|
|
695
695
|
|
|
696
696
|
npx ts-node ./src/cli/test/ptbk.ts coder generate-boilerplates --template prompts/templates/agents-server.md
|
|
697
697
|
|
|
698
|
-
npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book
|
|
698
|
+
npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book
|
|
699
699
|
|
|
700
|
-
npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --
|
|
700
|
+
npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --auto-push
|
|
701
701
|
|
|
702
|
-
npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --
|
|
702
|
+
npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --git-changes ignore
|
|
703
703
|
|
|
704
704
|
npx ts-node ./src/cli/test/ptbk.ts coder find-refactor-candidates
|
|
705
705
|
|
|
@@ -721,11 +721,11 @@ ptbk coder generate-boilerplates
|
|
|
721
721
|
|
|
722
722
|
ptbk coder generate-boilerplates --template prompts/templates/common.md
|
|
723
723
|
|
|
724
|
-
ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --
|
|
724
|
+
ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --check "npm run check"
|
|
725
725
|
|
|
726
|
-
ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --
|
|
726
|
+
ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --auto-push
|
|
727
727
|
|
|
728
|
-
ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --
|
|
728
|
+
ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --check "npm run check" --git-changes ignore
|
|
729
729
|
|
|
730
730
|
ptbk coder find-refactor-candidates
|
|
731
731
|
|
|
@@ -742,33 +742,52 @@ ptbk coder verify
|
|
|
742
742
|
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------ | ---- | ----- | ------------------------------------------------------------------------ |
|
|
743
743
|
| `ptbk coder init` | Creates `prompts/`, `prompts/done/`, the project-generic template files materialized in `prompts/templates/` (currently `common.md`), and a starter `AGENTS.md`; ensures `.env` contains `CODING_AGENT_GIT_NAME`, `CODING_AGENT_GIT_EMAIL`, and `CODING_AGENT_GIT_SIGNING_KEY`; adds helper coder scripts to `package.json`; ensures `.gitignore` contains `/.promptbook`; and configures `.vscode/settings.json` to save pasted prompt images into `prompts/screenshots/`. |
|
|
744
744
|
| `ptbk coder generate-boilerplates` | Creates new prompt markdown files with fresh emoji tags so you can quickly fill in coding tasks; `--template` accepts either a built-in alias or a markdown file path relative to the project root. |
|
|
745
|
-
| `ptbk coder run` | Picks the next ready prompt, can run
|
|
745
|
+
| `ptbk coder run` | Picks the next ready prompt, can run project checks before coding to stop or repair pre-existing failures, appends optional context, runs it through the selected coding agent, can optionally check each attempt with the project command and feed failing output back for retries, then marks success or failure, commits the result, and pushes only when `--auto-push` is enabled. |
|
|
746
746
|
| `ptbk coder find-refactor-candidates` | Scans the repository for oversized or overpacked files and writes prompt files for likely refactors; `--level <xlow | low | medium | high | xhigh | extreme>` ranges from a very benevolent scan to a very aggressive sweep. |
|
|
747
747
|
| `ptbk coder verify` | Walks through completed prompts, archives truly finished work, and adds follow-up repair prompts for unfinished results. |
|
|
748
748
|
|
|
749
749
|
#### Most useful `ptbk coder run` flags
|
|
750
750
|
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
751
|
+
A **check** is the project's aggregate validation: tests, linting, typechecking, builds, generated-code consistency,
|
|
752
|
+
and other quality checks. `ptbk init` and `ptbk coder init` preserve an existing `scripts.check`, or compose available
|
|
753
|
+
validation scripts and report their scope. Configure the failing setup placeholder if the project has none.
|
|
754
|
+
|
|
755
|
+
```bash
|
|
756
|
+
ptbk coder run --harness openai-codex --check "npm run check" --check-before yes-and-fix
|
|
757
|
+
ptbk coder run --harness openai-codex --check "npm run lint && npm run build && npm test"
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
The default preflight mode remains `no`. Enabled preflight uses `npm run check` when no command is supplied;
|
|
761
|
+
post-prompt verification remains opt-in. Initial checks and repairs use the same command and actual process result.
|
|
762
|
+
Replace retired `--test` and `--test-before` with `--check` and `--check-before`. Init migrates recognized generated
|
|
763
|
+
scripts while preserving custom validation. For conflicts or custom callers, it reports the exact entries/files to
|
|
764
|
+
review: preserve the required validation in `check`, update references, then remove the unused legacy entry.
|
|
765
|
+
Automation that invokes `npm run test-for-ptbk-coder` must switch to `npm run check`. Restart an already-running
|
|
766
|
+
Coder invocation with the new flags to release its captured legacy command; initialization creates no compatibility alias.
|
|
767
|
+
|
|
768
|
+
| Flag | Purpose |
|
|
769
|
+
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
770
|
+
| `--harness <name>` | Selects the coding harness. |
|
|
771
|
+
| `--agent <book>` | Selects the primary Book; defaults to the selected project's `agents/developer.book`. |
|
|
772
|
+
| `--path <directory>` | Selects the project; defaults to invocation cwd. Relative paths start there, not at the CLI installation or enclosing Git root. |
|
|
773
|
+
| `--model <model>` | Chooses the runner model; required for `openai-codex`, `gemini` and `qwen-code`, optional for `github-copilot`. |
|
|
774
|
+
| `--context <text-or-file>` | Replaces the default project `AGENTS.md` with inline instructions or a project-relative file; an empty value disables context. |
|
|
775
|
+
| `--check <command>` | Runs a verification command after each prompt attempt and feeds failing output back for retries. |
|
|
776
|
+
| `--check-before <mode>` | Runs project checks before coding: `no` (default), `yes-and-fail` (stop with results), or `yes-and-fix` (create one repair prompt first); defaults to `npm run check` when enabled without `--check`. |
|
|
777
|
+
| `--thinking-level <level>` | Sets reasoning effort for supported runners. |
|
|
778
|
+
| `--no-auto` | Waits for user confirmation before each prompt instead of running automatically through the queue. |
|
|
779
|
+
| `--git-changes <mode>` | Decides what happens with a dirty working tree: `fail` (default), `ignore` to keep the changes, or `continue` to resume the single interrupted `[^]` prompt with them. |
|
|
780
|
+
| `--priority <n>` | Runs only prompts at or above the given priority. |
|
|
781
|
+
| `--dry-run` | Prints which prompts are ready instead of executing them. |
|
|
782
|
+
| `--allow-credits` | Lets OpenAI Codex spend credits when required. |
|
|
783
|
+
| `--auto-push` | Pushes each successful coding-agent commit to the configured remote. |
|
|
784
|
+
| `--auto-migrate` | Runs testing-server database migrations after each successful prompt. |
|
|
766
785
|
|
|
767
786
|
#### Typical usage pattern
|
|
768
787
|
|
|
769
788
|
1. Initialize once with `ptbk coder init`.
|
|
770
789
|
2. Customize `prompts/templates/*.md` if needed, then create or write prompt files in `prompts/`.
|
|
771
|
-
3. Customize
|
|
790
|
+
3. Customize `agents/developer.book` and `AGENTS.md`; the runner selects both automatically. Use `--path` for another project or `--agent` and `--context` for explicit overrides.
|
|
772
791
|
4. Run unattended batches by default, or pass `--no-auto` to confirm each prompt interactively.
|
|
773
792
|
5. Finish with `ptbk coder verify` so resolved prompts are archived and broken ones get explicit repair follow-ups.
|
|
774
793
|
|
|
@@ -20,3 +20,8 @@ export declare const CODER_AGENT_OPTION_DESCRIPTION = "Book agent providing pers
|
|
|
20
20
|
* @private internal utility of `ptbk coder`
|
|
21
21
|
*/
|
|
22
22
|
export declare function addCoderAgentOption(command: Program, defaultRole?: CoderAgentRole): void;
|
|
23
|
+
/**
|
|
24
|
+
* Registers the shared optional persona and context for single-agent execution or authoring.
|
|
25
|
+
* @private internal CLI registration helper
|
|
26
|
+
*/
|
|
27
|
+
export declare function addCoderExecutionOptions(command: Program): void;
|
|
@@ -14,3 +14,8 @@ export declare const CODER_DEFAULT_AGENT_BOOK_PATHS: {
|
|
|
14
14
|
* @private internal type of `ptbk coder`
|
|
15
15
|
*/
|
|
16
16
|
export type CoderAgentRole = keyof typeof CODER_DEFAULT_AGENT_BOOK_PATHS;
|
|
17
|
+
/**
|
|
18
|
+
* Shared persona for optional single-agent execution and authoring; capabilities belong to the command.
|
|
19
|
+
* @private internal constant of project CLI commands
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_CODER_AGENT_ROLE: CoderAgentRole;
|
|
@@ -25,9 +25,9 @@ export type EnsuredCoderReferencedArtifact = {
|
|
|
25
25
|
readonly diagnostic?: string;
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
|
-
* Initializes artifacts referenced by freshly added scripts.
|
|
28
|
+
* Initializes essential context and artifacts referenced by freshly added scripts. Books are ensured separately.
|
|
29
29
|
*
|
|
30
|
-
*
|
|
30
|
+
* AGENTS.md is essential even when every script already exists or uses implicit defaults.
|
|
31
31
|
*
|
|
32
32
|
* @private function of `initializeCoderProjectConfiguration`
|
|
33
33
|
*/
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { MergedStringRecordJsonFile } from './mergeStringRecordJsonFile';
|
|
2
|
+
import { type PreparedCoderPackageJsonScripts } from './prepareCoderPackageJsonScripts';
|
|
2
3
|
/**
|
|
3
4
|
* Ensures `package.json` contains the standalone Promptbook coder helper scripts.
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
+
* Project definitions are preserved; missing scripts and narrowly recognized generated migrations are applied.
|
|
6
7
|
*
|
|
7
8
|
* @private function of `initializeCoderProjectConfiguration`
|
|
8
9
|
*/
|
|
9
|
-
export declare function ensureCoderPackageJsonFile(projectPath: string): Promise<MergedStringRecordJsonFile
|
|
10
|
+
export declare function ensureCoderPackageJsonFile(projectPath: string): Promise<MergedStringRecordJsonFile & Omit<PreparedCoderPackageJsonScripts, 'scripts'>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds external project callers conservatively; it never rewrites their shell expressions.
|
|
3
|
+
* @private migration safety check for the Coder initializer
|
|
4
|
+
*/
|
|
5
|
+
export declare function findLegacyCoderCheckCallers(projectPath: string, legacyNames: ReadonlyArray<string>): Promise<Readonly<Record<string, ReadonlyArray<string>>>>;
|
|
@@ -20,6 +20,12 @@ export type CoderInitializationSummary = {
|
|
|
20
20
|
readonly addedPackageJsonScriptNames: ReadonlyArray<string>;
|
|
21
21
|
readonly referencedArtifactStatuses: ReadonlyArray<EnsuredCoderReferencedArtifact>;
|
|
22
22
|
readonly initializedEnvVariableNames: ReadonlyArray<string>;
|
|
23
|
+
/** Actual preserved or generated scope of the project check. */
|
|
24
|
+
readonly checkScriptSummary: string;
|
|
25
|
+
/** Manual steps needed for custom or conflicting legacy entries. */
|
|
26
|
+
readonly migrationInstructions: ReadonlyArray<string>;
|
|
27
|
+
/** Whether validation is configured rather than still requiring setup. */
|
|
28
|
+
readonly isCheckConfigured: boolean;
|
|
23
29
|
};
|
|
24
30
|
/**
|
|
25
31
|
* Creates or updates all coder configuration artifacts required in the current project.
|
|
@@ -8,6 +8,8 @@ type MergeStringRecordJsonFileOptions = {
|
|
|
8
8
|
readonly fieldPath: string;
|
|
9
9
|
readonly nextEntries: Readonly<Record<string, string>>;
|
|
10
10
|
readonly ensureParentDirectoryPath?: string;
|
|
11
|
+
/** Optional narrowly scoped migration of existing entries before missing defaults are added. */
|
|
12
|
+
readonly transformExistingEntries?: (entries: Readonly<Record<string, string>>) => Readonly<Record<string, string>> | Promise<Readonly<Record<string, string>>>;
|
|
11
13
|
};
|
|
12
14
|
/**
|
|
13
15
|
* Result of one additive string-record merge into a JSON file.
|
|
@@ -27,10 +29,10 @@ export type MergedStringRecordJsonFile = {
|
|
|
27
29
|
/**
|
|
28
30
|
* Ensures one JSON object field contains the provided string-record entries.
|
|
29
31
|
*
|
|
30
|
-
* Entries
|
|
31
|
-
*
|
|
32
|
+
* Entries are additive unless a caller explicitly supplies a scoped migration callback.
|
|
33
|
+
* Hand-tuned scripts and settings survive repeated `ptbk coder init`; migrations recognize generated entries only.
|
|
32
34
|
*
|
|
33
35
|
* @private function of `initializeCoderProjectConfiguration`
|
|
34
36
|
*/
|
|
35
|
-
export declare function mergeStringRecordJsonFile({ projectPath, relativeFilePath, fieldPath, nextEntries, ensureParentDirectoryPath, }: MergeStringRecordJsonFileOptions): Promise<MergedStringRecordJsonFile>;
|
|
37
|
+
export declare function mergeStringRecordJsonFile({ projectPath, relativeFilePath, fieldPath, nextEntries, ensureParentDirectoryPath, transformExistingEntries, }: MergeStringRecordJsonFileOptions): Promise<MergedStringRecordJsonFile>;
|
|
36
38
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ResolvedCoderProjectContext } from '../../../../../scripts/run-codex-prompts/common/resolveCoderProjectContext';
|
|
1
2
|
import type { NormalizedPromptRunnerSelectionCliOptions } from '../../common/promptRunnerCliOptions';
|
|
2
3
|
import { runPlanningHarness } from './runPlanningHarness';
|
|
3
4
|
/**
|
|
@@ -16,6 +17,8 @@ export type PlanningSessionIo = {
|
|
|
16
17
|
export declare function runPlanningSession(options: NormalizedPromptRunnerSelectionCliOptions & {
|
|
17
18
|
readonly projectPath: string;
|
|
18
19
|
readonly agent?: string;
|
|
20
|
+
readonly context?: string;
|
|
21
|
+
readonly projectContext?: ResolvedCoderProjectContext;
|
|
19
22
|
readonly template?: string;
|
|
20
23
|
readonly preexistingChangedPaths?: ReadonlySet<string>;
|
|
21
24
|
}, io: PlanningSessionIo, harness?: typeof runPlanningHarness): Promise<ReadonlyMap<string, string>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Result of preparing project-owned checks and migrating recognized generated callers. @private internal initializer result */
|
|
2
|
+
export type PreparedCoderPackageJsonScripts = {
|
|
3
|
+
readonly scripts: Readonly<Record<string, string>>;
|
|
4
|
+
readonly checkScriptSummary: string;
|
|
5
|
+
readonly migrationInstructions: ReadonlyArray<string>;
|
|
6
|
+
readonly isCheckConfigured: boolean;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Preserves project scripts, creates one canonical check, and migrates only exact generated caller forms.
|
|
10
|
+
* @private shared package-script preparation for Coder initialization
|
|
11
|
+
*/
|
|
12
|
+
export declare function prepareCoderPackageJsonScripts(existing: Readonly<Record<string, string>>, externalCallers?: Readonly<Record<string, ReadonlyArray<string>>>): PreparedCoderPackageJsonScripts;
|
|
@@ -6,7 +6,7 @@ import type { $side_effect } from '../../utils/organization/$side_effect';
|
|
|
6
6
|
* The coder command provides utilities for automated coding:
|
|
7
7
|
* - init: Initialize coder configuration in current project
|
|
8
8
|
* - add: Add one ready-to-run prompt file to the queue
|
|
9
|
-
* - plan: Discuss features with
|
|
9
|
+
* - plan: Discuss features with Developer and author reviewed PRDs
|
|
10
10
|
* - generate-boilerplates: Generate prompt boilerplate files
|
|
11
11
|
* - find-refactor-candidates: Find files that need refactoring
|
|
12
12
|
* - list: List ready prompts in priority order without running them
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Retired aggregate option spellings and their canonical replacements, used only for migration diagnostics.
|
|
4
|
+
* @private shared CLI migration definitions for Coder execution
|
|
5
|
+
*/
|
|
6
|
+
export declare const LEGACY_CODER_CHECK_OPTIONS: readonly [readonly ["--test", "--check"], readonly ["--test-before", "--check-before"]];
|
|
7
|
+
/**
|
|
8
|
+
* Registers the shared project check command and rejects retired aggregate-test spellings.
|
|
9
|
+
* @private shared CLI registration for Coder execution
|
|
10
|
+
*/
|
|
11
|
+
export declare function addCoderCheckOptions(command: Command, isCheckBeforeSupported: boolean): void;
|
|
12
|
+
/**
|
|
13
|
+
* Builds the same actionable migration diagnostic for registered and direct-script entrypoints.
|
|
14
|
+
* @private shared CLI diagnostic for Coder execution
|
|
15
|
+
*/
|
|
16
|
+
export declare function formatLegacyCoderCheckOptionError(legacyFlag: string, replacementFlag: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Normalizes shell command tokens without parsing a quoted command again or losing spaced argument boundaries.
|
|
19
|
+
* @private shared command normalization for Coder execution
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizeCheckCommandOption(value: string | ReadonlyArray<string> | undefined): string | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Optional project selection shared by workspace actions, independently of Book and harness selection.
|
|
4
|
+
* @private internal CLI options
|
|
5
|
+
*/
|
|
6
|
+
export type ProjectCliOptions = {
|
|
7
|
+
readonly path?: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Registers project selection without capturing a directory during command registration.
|
|
11
|
+
* @private internal CLI registration helper
|
|
12
|
+
*/
|
|
13
|
+
export declare function addProjectPathOption(command: Command): void;
|
|
14
|
+
/**
|
|
15
|
+
* Registers additional context independently of primary-agent selection.
|
|
16
|
+
* @private internal CLI registration helper
|
|
17
|
+
*/
|
|
18
|
+
export declare function addProjectContextOption(command: Command): void;
|
|
19
|
+
/**
|
|
20
|
+
* Captures an invocation's directory at action time. No process-global state is changed.
|
|
21
|
+
* @private internal CLI normalization helper
|
|
22
|
+
*/
|
|
23
|
+
export declare function normalizeProjectCliOptions(options: ProjectCliOptions, invocationDirectory?: string): {
|
|
24
|
+
readonly projectDirectory: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Validates the selected directory before any setup writes, without selecting an enclosing Git root.
|
|
28
|
+
* @private shared project resolution for CLI services
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveProjectDirectory(projectDirectory: string): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts
CHANGED
|
@@ -6,4 +6,4 @@ import type { PromptbookCliInstallationStatus } from './PromptbookCliInstallatio
|
|
|
6
6
|
*
|
|
7
7
|
* @private internal utility of `promptbookCli`
|
|
8
8
|
*/
|
|
9
|
-
export declare function $checkPromptbookCliInstallations(): Promise<ReadonlyArray<PromptbookCliInstallationStatus>>;
|
|
9
|
+
export declare function $checkPromptbookCliInstallations(projectPath?: string): Promise<ReadonlyArray<PromptbookCliInstallationStatus>>;
|
package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts
CHANGED
|
@@ -12,4 +12,4 @@ import type { NormalizedQuestionsCliOptions } from '../questionsCliOptions';
|
|
|
12
12
|
* @returns `true` when at least one installation was updated and the current coder run should stop
|
|
13
13
|
* @private internal utility of `promptbookCli`
|
|
14
14
|
*/
|
|
15
|
-
export declare function $ensurePromptbookCliInstallations(questionsOptions: NormalizedQuestionsCliOptions): Promise<boolean>;
|
|
15
|
+
export declare function $ensurePromptbookCliInstallations(questionsOptions: NormalizedQuestionsCliOptions, projectPath?: string): Promise<boolean>;
|
package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts
CHANGED
|
@@ -9,4 +9,4 @@ import { type PromptbookCliInstallation } from './PromptbookCliInstallation';
|
|
|
9
9
|
*
|
|
10
10
|
* @private internal utility of `promptbookCli`
|
|
11
11
|
*/
|
|
12
|
-
export declare function $resolvePromptbookCliInstallations(): Promise<ReadonlyArray<PromptbookCliInstallation>>;
|
|
12
|
+
export declare function $resolvePromptbookCliInstallations(projectPath?: string): Promise<ReadonlyArray<PromptbookCliInstallation>>;
|
package/esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ import type { PromptbookCliInstallationStatus } from './PromptbookCliInstallatio
|
|
|
7
7
|
* @returns `true` when the package update succeeds, `false` when it fails
|
|
8
8
|
* @private internal utility of `promptbookCli`
|
|
9
9
|
*/
|
|
10
|
-
export declare function $updatePromptbookCliInstallation(status: PromptbookCliInstallationStatus): Promise<boolean>;
|
|
10
|
+
export declare function $updatePromptbookCliInstallation(status: PromptbookCliInstallationStatus, projectPath?: string): Promise<boolean>;
|
package/esm/src/version.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
|
|
|
15
15
|
export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
|
|
16
16
|
/**
|
|
17
17
|
* Represents the version string of the Promptbook engine.
|
|
18
|
-
* It follows semantic versioning (e.g., `0.114.0-
|
|
18
|
+
* It follows semantic versioning (e.g., `0.114.0-48`).
|
|
19
19
|
*
|
|
20
20
|
* @generated
|
|
21
21
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptbook/types",
|
|
3
|
-
"version": "0.114.0-
|
|
3
|
+
"version": "0.114.0-49",
|
|
4
4
|
"description": "Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": false,
|
|
@@ -93,6 +93,6 @@
|
|
|
93
93
|
"types": "./esm/src/_packages/types.index.d.ts",
|
|
94
94
|
"typings": "./esm/src/_packages/types.index.d.ts",
|
|
95
95
|
"peerDependencies": {
|
|
96
|
-
"@promptbook/core": "0.114.0-
|
|
96
|
+
"@promptbook/core": "0.114.0-49"
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -20,3 +20,8 @@ export declare const CODER_AGENT_OPTION_DESCRIPTION = "Book agent providing pers
|
|
|
20
20
|
* @private internal utility of `ptbk coder`
|
|
21
21
|
*/
|
|
22
22
|
export declare function addCoderAgentOption(command: Program, defaultRole?: CoderAgentRole): void;
|
|
23
|
+
/**
|
|
24
|
+
* Registers the shared optional persona and context for single-agent execution or authoring.
|
|
25
|
+
* @private internal CLI registration helper
|
|
26
|
+
*/
|
|
27
|
+
export declare function addCoderExecutionOptions(command: Program): void;
|
|
@@ -14,3 +14,8 @@ export declare const CODER_DEFAULT_AGENT_BOOK_PATHS: {
|
|
|
14
14
|
* @private internal type of `ptbk coder`
|
|
15
15
|
*/
|
|
16
16
|
export type CoderAgentRole = keyof typeof CODER_DEFAULT_AGENT_BOOK_PATHS;
|
|
17
|
+
/**
|
|
18
|
+
* Shared persona for optional single-agent execution and authoring; capabilities belong to the command.
|
|
19
|
+
* @private internal constant of project CLI commands
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_CODER_AGENT_ROLE: CoderAgentRole;
|
|
@@ -25,9 +25,9 @@ export type EnsuredCoderReferencedArtifact = {
|
|
|
25
25
|
readonly diagnostic?: string;
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
|
-
* Initializes artifacts referenced by freshly added scripts.
|
|
28
|
+
* Initializes essential context and artifacts referenced by freshly added scripts. Books are ensured separately.
|
|
29
29
|
*
|
|
30
|
-
*
|
|
30
|
+
* AGENTS.md is essential even when every script already exists or uses implicit defaults.
|
|
31
31
|
*
|
|
32
32
|
* @private function of `initializeCoderProjectConfiguration`
|
|
33
33
|
*/
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { MergedStringRecordJsonFile } from './mergeStringRecordJsonFile';
|
|
2
|
+
import { type PreparedCoderPackageJsonScripts } from './prepareCoderPackageJsonScripts';
|
|
2
3
|
/**
|
|
3
4
|
* Ensures `package.json` contains the standalone Promptbook coder helper scripts.
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
+
* Project definitions are preserved; missing scripts and narrowly recognized generated migrations are applied.
|
|
6
7
|
*
|
|
7
8
|
* @private function of `initializeCoderProjectConfiguration`
|
|
8
9
|
*/
|
|
9
|
-
export declare function ensureCoderPackageJsonFile(projectPath: string): Promise<MergedStringRecordJsonFile
|
|
10
|
+
export declare function ensureCoderPackageJsonFile(projectPath: string): Promise<MergedStringRecordJsonFile & Omit<PreparedCoderPackageJsonScripts, 'scripts'>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds external project callers conservatively; it never rewrites their shell expressions.
|
|
3
|
+
* @private migration safety check for the Coder initializer
|
|
4
|
+
*/
|
|
5
|
+
export declare function findLegacyCoderCheckCallers(projectPath: string, legacyNames: ReadonlyArray<string>): Promise<Readonly<Record<string, ReadonlyArray<string>>>>;
|
|
@@ -20,6 +20,12 @@ export type CoderInitializationSummary = {
|
|
|
20
20
|
readonly addedPackageJsonScriptNames: ReadonlyArray<string>;
|
|
21
21
|
readonly referencedArtifactStatuses: ReadonlyArray<EnsuredCoderReferencedArtifact>;
|
|
22
22
|
readonly initializedEnvVariableNames: ReadonlyArray<string>;
|
|
23
|
+
/** Actual preserved or generated scope of the project check. */
|
|
24
|
+
readonly checkScriptSummary: string;
|
|
25
|
+
/** Manual steps needed for custom or conflicting legacy entries. */
|
|
26
|
+
readonly migrationInstructions: ReadonlyArray<string>;
|
|
27
|
+
/** Whether validation is configured rather than still requiring setup. */
|
|
28
|
+
readonly isCheckConfigured: boolean;
|
|
23
29
|
};
|
|
24
30
|
/**
|
|
25
31
|
* Creates or updates all coder configuration artifacts required in the current project.
|
|
@@ -8,6 +8,8 @@ type MergeStringRecordJsonFileOptions = {
|
|
|
8
8
|
readonly fieldPath: string;
|
|
9
9
|
readonly nextEntries: Readonly<Record<string, string>>;
|
|
10
10
|
readonly ensureParentDirectoryPath?: string;
|
|
11
|
+
/** Optional narrowly scoped migration of existing entries before missing defaults are added. */
|
|
12
|
+
readonly transformExistingEntries?: (entries: Readonly<Record<string, string>>) => Readonly<Record<string, string>> | Promise<Readonly<Record<string, string>>>;
|
|
11
13
|
};
|
|
12
14
|
/**
|
|
13
15
|
* Result of one additive string-record merge into a JSON file.
|
|
@@ -27,10 +29,10 @@ export type MergedStringRecordJsonFile = {
|
|
|
27
29
|
/**
|
|
28
30
|
* Ensures one JSON object field contains the provided string-record entries.
|
|
29
31
|
*
|
|
30
|
-
* Entries
|
|
31
|
-
*
|
|
32
|
+
* Entries are additive unless a caller explicitly supplies a scoped migration callback.
|
|
33
|
+
* Hand-tuned scripts and settings survive repeated `ptbk coder init`; migrations recognize generated entries only.
|
|
32
34
|
*
|
|
33
35
|
* @private function of `initializeCoderProjectConfiguration`
|
|
34
36
|
*/
|
|
35
|
-
export declare function mergeStringRecordJsonFile({ projectPath, relativeFilePath, fieldPath, nextEntries, ensureParentDirectoryPath, }: MergeStringRecordJsonFileOptions): Promise<MergedStringRecordJsonFile>;
|
|
37
|
+
export declare function mergeStringRecordJsonFile({ projectPath, relativeFilePath, fieldPath, nextEntries, ensureParentDirectoryPath, transformExistingEntries, }: MergeStringRecordJsonFileOptions): Promise<MergedStringRecordJsonFile>;
|
|
36
38
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ResolvedCoderProjectContext } from '../../../../../scripts/run-codex-prompts/common/resolveCoderProjectContext';
|
|
1
2
|
import type { NormalizedPromptRunnerSelectionCliOptions } from '../../common/promptRunnerCliOptions';
|
|
2
3
|
import { runPlanningHarness } from './runPlanningHarness';
|
|
3
4
|
/**
|
|
@@ -16,6 +17,8 @@ export type PlanningSessionIo = {
|
|
|
16
17
|
export declare function runPlanningSession(options: NormalizedPromptRunnerSelectionCliOptions & {
|
|
17
18
|
readonly projectPath: string;
|
|
18
19
|
readonly agent?: string;
|
|
20
|
+
readonly context?: string;
|
|
21
|
+
readonly projectContext?: ResolvedCoderProjectContext;
|
|
19
22
|
readonly template?: string;
|
|
20
23
|
readonly preexistingChangedPaths?: ReadonlySet<string>;
|
|
21
24
|
}, io: PlanningSessionIo, harness?: typeof runPlanningHarness): Promise<ReadonlyMap<string, string>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Result of preparing project-owned checks and migrating recognized generated callers. @private internal initializer result */
|
|
2
|
+
export type PreparedCoderPackageJsonScripts = {
|
|
3
|
+
readonly scripts: Readonly<Record<string, string>>;
|
|
4
|
+
readonly checkScriptSummary: string;
|
|
5
|
+
readonly migrationInstructions: ReadonlyArray<string>;
|
|
6
|
+
readonly isCheckConfigured: boolean;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Preserves project scripts, creates one canonical check, and migrates only exact generated caller forms.
|
|
10
|
+
* @private shared package-script preparation for Coder initialization
|
|
11
|
+
*/
|
|
12
|
+
export declare function prepareCoderPackageJsonScripts(existing: Readonly<Record<string, string>>, externalCallers?: Readonly<Record<string, ReadonlyArray<string>>>): PreparedCoderPackageJsonScripts;
|
|
@@ -6,7 +6,7 @@ import type { $side_effect } from '../../utils/organization/$side_effect';
|
|
|
6
6
|
* The coder command provides utilities for automated coding:
|
|
7
7
|
* - init: Initialize coder configuration in current project
|
|
8
8
|
* - add: Add one ready-to-run prompt file to the queue
|
|
9
|
-
* - plan: Discuss features with
|
|
9
|
+
* - plan: Discuss features with Developer and author reviewed PRDs
|
|
10
10
|
* - generate-boilerplates: Generate prompt boilerplate files
|
|
11
11
|
* - find-refactor-candidates: Find files that need refactoring
|
|
12
12
|
* - list: List ready prompts in priority order without running them
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Retired aggregate option spellings and their canonical replacements, used only for migration diagnostics.
|
|
4
|
+
* @private shared CLI migration definitions for Coder execution
|
|
5
|
+
*/
|
|
6
|
+
export declare const LEGACY_CODER_CHECK_OPTIONS: readonly [readonly ["--test", "--check"], readonly ["--test-before", "--check-before"]];
|
|
7
|
+
/**
|
|
8
|
+
* Registers the shared project check command and rejects retired aggregate-test spellings.
|
|
9
|
+
* @private shared CLI registration for Coder execution
|
|
10
|
+
*/
|
|
11
|
+
export declare function addCoderCheckOptions(command: Command, isCheckBeforeSupported: boolean): void;
|
|
12
|
+
/**
|
|
13
|
+
* Builds the same actionable migration diagnostic for registered and direct-script entrypoints.
|
|
14
|
+
* @private shared CLI diagnostic for Coder execution
|
|
15
|
+
*/
|
|
16
|
+
export declare function formatLegacyCoderCheckOptionError(legacyFlag: string, replacementFlag: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Normalizes shell command tokens without parsing a quoted command again or losing spaced argument boundaries.
|
|
19
|
+
* @private shared command normalization for Coder execution
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizeCheckCommandOption(value: string | ReadonlyArray<string> | undefined): string | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Optional project selection shared by workspace actions, independently of Book and harness selection.
|
|
4
|
+
* @private internal CLI options
|
|
5
|
+
*/
|
|
6
|
+
export type ProjectCliOptions = {
|
|
7
|
+
readonly path?: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Registers project selection without capturing a directory during command registration.
|
|
11
|
+
* @private internal CLI registration helper
|
|
12
|
+
*/
|
|
13
|
+
export declare function addProjectPathOption(command: Command): void;
|
|
14
|
+
/**
|
|
15
|
+
* Registers additional context independently of primary-agent selection.
|
|
16
|
+
* @private internal CLI registration helper
|
|
17
|
+
*/
|
|
18
|
+
export declare function addProjectContextOption(command: Command): void;
|
|
19
|
+
/**
|
|
20
|
+
* Captures an invocation's directory at action time. No process-global state is changed.
|
|
21
|
+
* @private internal CLI normalization helper
|
|
22
|
+
*/
|
|
23
|
+
export declare function normalizeProjectCliOptions(options: ProjectCliOptions, invocationDirectory?: string): {
|
|
24
|
+
readonly projectDirectory: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Validates the selected directory before any setup writes, without selecting an enclosing Git root.
|
|
28
|
+
* @private shared project resolution for CLI services
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveProjectDirectory(projectDirectory: string): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts
CHANGED
|
@@ -6,4 +6,4 @@ import type { PromptbookCliInstallationStatus } from './PromptbookCliInstallatio
|
|
|
6
6
|
*
|
|
7
7
|
* @private internal utility of `promptbookCli`
|
|
8
8
|
*/
|
|
9
|
-
export declare function $checkPromptbookCliInstallations(): Promise<ReadonlyArray<PromptbookCliInstallationStatus>>;
|
|
9
|
+
export declare function $checkPromptbookCliInstallations(projectPath?: string): Promise<ReadonlyArray<PromptbookCliInstallationStatus>>;
|
package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts
CHANGED
|
@@ -12,4 +12,4 @@ import type { NormalizedQuestionsCliOptions } from '../questionsCliOptions';
|
|
|
12
12
|
* @returns `true` when at least one installation was updated and the current coder run should stop
|
|
13
13
|
* @private internal utility of `promptbookCli`
|
|
14
14
|
*/
|
|
15
|
-
export declare function $ensurePromptbookCliInstallations(questionsOptions: NormalizedQuestionsCliOptions): Promise<boolean>;
|
|
15
|
+
export declare function $ensurePromptbookCliInstallations(questionsOptions: NormalizedQuestionsCliOptions, projectPath?: string): Promise<boolean>;
|
package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts
CHANGED
|
@@ -9,4 +9,4 @@ import { type PromptbookCliInstallation } from './PromptbookCliInstallation';
|
|
|
9
9
|
*
|
|
10
10
|
* @private internal utility of `promptbookCli`
|
|
11
11
|
*/
|
|
12
|
-
export declare function $resolvePromptbookCliInstallations(): Promise<ReadonlyArray<PromptbookCliInstallation>>;
|
|
12
|
+
export declare function $resolvePromptbookCliInstallations(projectPath?: string): Promise<ReadonlyArray<PromptbookCliInstallation>>;
|
package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ import type { PromptbookCliInstallationStatus } from './PromptbookCliInstallatio
|
|
|
7
7
|
* @returns `true` when the package update succeeds, `false` when it fails
|
|
8
8
|
* @private internal utility of `promptbookCli`
|
|
9
9
|
*/
|
|
10
|
-
export declare function $updatePromptbookCliInstallation(status: PromptbookCliInstallationStatus): Promise<boolean>;
|
|
10
|
+
export declare function $updatePromptbookCliInstallation(status: PromptbookCliInstallationStatus, projectPath?: string): Promise<boolean>;
|
package/umd/src/version.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
|
|
|
15
15
|
export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
|
|
16
16
|
/**
|
|
17
17
|
* Represents the version string of the Promptbook engine.
|
|
18
|
-
* It follows semantic versioning (e.g., `0.114.0-
|
|
18
|
+
* It follows semantic versioning (e.g., `0.114.0-48`).
|
|
19
19
|
*
|
|
20
20
|
* @generated
|
|
21
21
|
*/
|