@promptbook/types 0.112.0-73 → 0.112.0-79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +9 -9
  2. package/esm/src/avatars/types/AvatarVisualDefinition.d.ts +1 -1
  3. package/esm/src/avatars/visuals/octopus3d2AvatarVisual.d.ts +7 -0
  4. package/esm/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +37 -0
  5. package/esm/src/book-components/Chat/save/_common/chatExportRendering.d.ts +47 -0
  6. package/esm/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +12 -0
  7. package/esm/src/book-components/Chat/save/index.d.ts +2 -2
  8. package/esm/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.d.ts +5 -3
  9. package/esm/src/book-components/Chat/save/pdf/buildChatPdf.d.ts +3 -3
  10. package/esm/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +1 -1
  11. package/esm/src/cli/cli-commands/agent/agentProjectPaths.d.ts +8 -8
  12. package/esm/src/cli/cli-commands/agent/initializeAgentRunnerCommand.d.ts +1 -1
  13. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +56 -0
  14. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.test.d.ts +1 -0
  15. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +7 -0
  16. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +7 -0
  17. package/esm/src/cli/cli-commands/agents-server/init.d.ts +9 -0
  18. package/esm/src/cli/cli-commands/agents-server/init.test.d.ts +1 -0
  19. package/esm/src/cli/cli-commands/agents-server/initializeAgentsServerProjectConfiguration.d.ts +17 -0
  20. package/esm/src/cli/cli-commands/agents-server/printAgentsServerInitializationSummary.d.ts +7 -0
  21. package/esm/src/cli/cli-commands/agents-server/run.d.ts +14 -0
  22. package/esm/src/cli/cli-commands/agents-server/run.test.d.ts +1 -0
  23. package/esm/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +23 -0
  24. package/esm/src/cli/cli-commands/agents-server.d.ts +8 -0
  25. package/esm/src/cli/cli-commands/common/projectInitialization.d.ts +65 -0
  26. package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +44 -0
  27. package/esm/src/cli/common/$deprecateCliCommand.d.ts +8 -0
  28. package/esm/src/cli/common/$deprecateCliCommand.test.d.ts +1 -0
  29. package/esm/src/utils/color/Color.d.ts +4 -44
  30. package/esm/src/utils/color/ColorValue.d.ts +55 -0
  31. package/esm/src/utils/color/isHexColorString.d.ts +10 -0
  32. package/esm/src/utils/color/parseColorString.d.ts +11 -0
  33. package/esm/src/version.d.ts +1 -1
  34. package/package.json +2 -2
  35. package/umd/src/avatars/types/AvatarVisualDefinition.d.ts +1 -1
  36. package/umd/src/avatars/visuals/octopus3d2AvatarVisual.d.ts +7 -0
  37. package/umd/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +37 -0
  38. package/umd/src/book-components/Chat/save/_common/chatExportRendering.d.ts +47 -0
  39. package/umd/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +12 -0
  40. package/umd/src/book-components/Chat/save/index.d.ts +2 -2
  41. package/umd/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.d.ts +5 -3
  42. package/umd/src/book-components/Chat/save/pdf/buildChatPdf.d.ts +3 -3
  43. package/umd/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +1 -1
  44. package/umd/src/cli/cli-commands/agent/agentProjectPaths.d.ts +8 -8
  45. package/umd/src/cli/cli-commands/agent/initializeAgentRunnerCommand.d.ts +1 -1
  46. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +56 -0
  47. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.test.d.ts +1 -0
  48. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +7 -0
  49. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +7 -0
  50. package/umd/src/cli/cli-commands/agents-server/init.d.ts +9 -0
  51. package/umd/src/cli/cli-commands/agents-server/init.test.d.ts +1 -0
  52. package/umd/src/cli/cli-commands/agents-server/initializeAgentsServerProjectConfiguration.d.ts +17 -0
  53. package/umd/src/cli/cli-commands/agents-server/printAgentsServerInitializationSummary.d.ts +7 -0
  54. package/umd/src/cli/cli-commands/agents-server/run.d.ts +14 -0
  55. package/umd/src/cli/cli-commands/agents-server/run.test.d.ts +1 -0
  56. package/umd/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +23 -0
  57. package/umd/src/cli/cli-commands/agents-server.d.ts +8 -0
  58. package/umd/src/cli/cli-commands/common/projectInitialization.d.ts +65 -0
  59. package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +44 -0
  60. package/umd/src/cli/common/$deprecateCliCommand.d.ts +8 -0
  61. package/umd/src/cli/common/$deprecateCliCommand.test.d.ts +1 -0
  62. package/umd/src/utils/color/Color.d.ts +4 -44
  63. package/umd/src/utils/color/ColorValue.d.ts +55 -0
  64. package/umd/src/utils/color/isHexColorString.d.ts +10 -0
  65. package/umd/src/utils/color/parseColorString.d.ts +11 -0
  66. package/umd/src/version.d.ts +1 -1
  67. package/esm/src/cli/cli-commands/coder/appendBlock.d.ts +0 -6
  68. package/esm/src/cli/cli-commands/coder/readTextFileIfExists.d.ts +0 -6
  69. package/umd/src/cli/cli-commands/coder/appendBlock.d.ts +0 -6
  70. package/umd/src/cli/cli-commands/coder/readTextFileIfExists.d.ts +0 -6
package/README.md CHANGED
@@ -701,28 +701,28 @@ npx ts-node ./src/cli/test/ptbk.ts coder verify
701
701
 
702
702
  #### Using `ptbk coder` in an external project
703
703
 
704
- If you want to use the workflow in another repository, install the package and invoke the `ptbk` binary. After local installation, `npx ptbk ...` is the most portable form; plain `ptbk ...` also works when your environment exposes the local binary on `PATH`.
704
+ If you want to use the workflow in another repository, install the package and invoke the `ptbk` binary directly.
705
705
 
706
706
  ```bash
707
707
  npm install ptbk
708
708
 
709
709
  ptbk coder init
710
710
 
711
- npx ptbk coder generate-boilerplates
711
+ ptbk coder generate-boilerplates
712
712
 
713
- npx ptbk coder generate-boilerplates --template prompts/templates/common.md
713
+ ptbk coder generate-boilerplates --template prompts/templates/common.md
714
714
 
715
- npx ptbk coder run --agent github-copilot --model gpt-5.4 --thinking-level xhigh --context AGENTS.md --test npm run test
715
+ ptbk coder run --agent github-copilot --model gpt-5.4 --thinking-level xhigh --context AGENTS.md --test npm run test
716
716
 
717
- npx ptbk coder run --agent github-copilot --model gpt-5.4 --thinking-level xhigh --context AGENTS.md --auto-push
717
+ ptbk coder run --agent github-copilot --model gpt-5.4 --thinking-level xhigh --context AGENTS.md --auto-push
718
718
 
719
- npx ptbk coder run --agent github-copilot --model gpt-5.4 --thinking-level xhigh --context AGENTS.md --test npm run test --ignore-git-changes --no-wait
719
+ ptbk coder run --agent github-copilot --model gpt-5.4 --thinking-level xhigh --context AGENTS.md --test npm run test --ignore-git-changes --no-wait
720
720
 
721
- npx ptbk coder find-refactor-candidates
721
+ ptbk coder find-refactor-candidates
722
722
 
723
- npx ptbk coder find-refactor-candidates --level xhigh
723
+ ptbk coder find-refactor-candidates --level xhigh
724
724
 
725
- npx ptbk coder verify
725
+ ptbk coder verify
726
726
  ```
727
727
 
728
728
  `ptbk coder init` also bootstraps a starter `AGENTS.md`, adds `package.json` scripts for the four main coder commands, adds the shared `/.promptbook` temp ignore to `.gitignore`, and configures `.vscode/settings.json` so pasted images from `prompts/*.md` land in `prompts/screenshots/`.
@@ -7,7 +7,7 @@ import type { AvatarDefinition } from './AvatarDefinition';
7
7
  *
8
8
  * @private shared contract for the avatar rendering system
9
9
  */
10
- export type AvatarVisualId = 'pixel-art' | 'octopus' | 'octopus2' | 'octopus3' | 'octopus3d' | 'ascii-octopus' | 'minecraft' | 'minecraft2' | 'fractal' | 'orb';
10
+ export type AvatarVisualId = 'pixel-art' | 'octopus' | 'octopus2' | 'octopus3' | 'octopus3d' | 'octopus3d2' | 'ascii-octopus' | 'minecraft' | 'minecraft2' | 'fractal' | 'orb';
11
11
  /**
12
12
  * Derived color palette used by avatar visuals.
13
13
  *
@@ -0,0 +1,7 @@
1
+ import type { AvatarVisualDefinition } from '../types/AvatarVisualDefinition';
2
+ /**
3
+ * Octopus 3D 2 avatar visual.
4
+ *
5
+ * @private built-in avatar visual
6
+ */
7
+ export declare const octopus3d2AvatarVisual: AvatarVisualDefinition;
@@ -0,0 +1,37 @@
1
+ import type { AvatarPalette } from '../types/AvatarVisualDefinition';
2
+ import { type Point3D, type ProjectedPoint } from './avatar3dProjectionShared';
3
+ /**
4
+ * Eye-style knobs shared by the proper-3D octopus visuals.
5
+ *
6
+ * @private helper of the 3D octopus avatar visuals
7
+ */
8
+ export type OctopusProjectedEyeStyle = {
9
+ readonly irisScale: number;
10
+ readonly pupilWidthScale: number;
11
+ readonly pupilHeightScale: number;
12
+ readonly upperLidArchRatio: number;
13
+ readonly upperLidInsetRatio: number;
14
+ readonly lowerLidOpacity: number;
15
+ };
16
+ /**
17
+ * Draws one projected eye on a rotated octopus surface.
18
+ *
19
+ * @private helper of the 3D octopus avatar visuals
20
+ */
21
+ export declare function drawProjectedOrganicEye(context: CanvasRenderingContext2D, localCenter: Point3D, radiusX: number, radiusY: number, center: Point3D, rotationX: number, rotationY: number, sceneCenterX: number, sceneCenterY: number, size: number, palette: AvatarPalette, timeMs: number, phase: number, interaction: {
22
+ readonly gazeX: number;
23
+ readonly gazeY: number;
24
+ readonly intensity: number;
25
+ }, eyeStyle: OctopusProjectedEyeStyle): void;
26
+ /**
27
+ * Draws a subtle projected mouth arc across the front of a rotated octopus surface.
28
+ *
29
+ * @private helper of the 3D octopus avatar visuals
30
+ */
31
+ export declare function drawProjectedOrganicMouth(context: CanvasRenderingContext2D, localPoints: readonly [Point3D, Point3D, Point3D], center: Point3D, rotationX: number, rotationY: number, sceneCenterX: number, sceneCenterY: number, palette: AvatarPalette, size: number): void;
32
+ /**
33
+ * Draws one filled projected quad.
34
+ *
35
+ * @private helper of the 3D octopus avatar visuals
36
+ */
37
+ export declare function drawProjectedQuad(context: CanvasRenderingContext2D, corners: readonly [ProjectedPoint, ProjectedPoint, ProjectedPoint, ProjectedPoint], fillStyle: string): void;
@@ -1,4 +1,6 @@
1
+ import type { ChatMessage } from '../../types/ChatMessage';
1
2
  import type { ChatParticipant } from '../../types/ChatParticipant';
3
+ import type { ParsedCitation } from '../../utils/parseCitationsFromContent';
2
4
  /**
3
5
  * Minimal participant visuals needed by chat exports.
4
6
  *
@@ -8,6 +10,33 @@ export type ChatExportParticipantVisuals = {
8
10
  readonly displayName: string;
9
11
  readonly accentColor: string;
10
12
  };
13
+ /**
14
+ * One numbered source collected from rendered chat message citations.
15
+ *
16
+ * @private internal utility of chat save format definitions
17
+ */
18
+ export type ChatExportCitationFootnote = {
19
+ readonly number: number;
20
+ readonly citation: ParsedCitation;
21
+ };
22
+ /**
23
+ * Document-wide citation footnotes collected while rendering chat exports.
24
+ *
25
+ * @private internal utility of chat save format definitions
26
+ */
27
+ export type ChatExportCitationFootnoteRegistry = {
28
+ readonly footnotes: Array<ChatExportCitationFootnote>;
29
+ readonly footnoteBySourceKey: Map<string, ChatExportCitationFootnote>;
30
+ };
31
+ /**
32
+ * Render-ready chat message citation payload using document-wide footnote numbers.
33
+ *
34
+ * @private internal utility of chat save format definitions
35
+ */
36
+ export type ChatExportCitationRenderModel = {
37
+ readonly content: ChatMessage['content'];
38
+ readonly footnotes: ReadonlyArray<ChatExportCitationFootnote>;
39
+ };
11
40
  /**
12
41
  * Formats exported timestamps into a compact human-readable label.
13
42
  *
@@ -26,3 +55,21 @@ export declare function buildChatExportParticipantMap(participants: ReadonlyArra
26
55
  * @private internal utility of chat save format definitions
27
56
  */
28
57
  export declare function resolveChatExportParticipantVisuals(participants: ReadonlyMap<string, ChatParticipant>, sender: string): ChatExportParticipantVisuals;
58
+ /**
59
+ * Creates an empty document-wide citation footnote registry.
60
+ *
61
+ * @private internal utility of chat save format definitions
62
+ */
63
+ export declare function createChatExportCitationFootnoteRegistry(): ChatExportCitationFootnoteRegistry;
64
+ /**
65
+ * Converts one message to markdown content with document-wide numbered citation references.
66
+ *
67
+ * @private internal utility of chat save format definitions
68
+ */
69
+ export declare function createChatExportCitationRenderModel(citationFootnotes: ChatExportCitationFootnoteRegistry, message: Pick<ChatMessage, 'content' | 'citations'>): ChatExportCitationRenderModel;
70
+ /**
71
+ * Creates a readable source label for one citation footnote.
72
+ *
73
+ * @private internal utility of chat save format definitions
74
+ */
75
+ export declare function formatChatExportCitationFootnoteLabel(footnote: ChatExportCitationFootnote, href?: string): string;
@@ -1,5 +1,17 @@
1
1
  import type { ChatMessage } from '../../types/ChatMessage';
2
2
  import type { ChatParticipant } from '../../types/ChatParticipant';
3
+ /**
4
+ * Class name that gives the PDF renderer the same root styles as the standalone HTML document body.
5
+ *
6
+ * @private Internal helper shared by HTML and PDF chat exports.
7
+ */
8
+ export declare const CHAT_HTML_EXPORT_RENDER_ROOT_CLASS_NAME = "chat-html-export-render-root";
9
+ /**
10
+ * Builds the standalone HTML chat export document shared by HTML downloads and PDF rendering.
11
+ *
12
+ * @private Internal helper shared by HTML and PDF chat exports.
13
+ */
14
+ export declare function buildChatHtml(title: string, messages: ReadonlyArray<ChatMessage>, participants: ReadonlyArray<ChatParticipant>): string;
3
15
  /**
4
16
  * HTML export plugin
5
17
  *
@@ -26,7 +26,7 @@ export declare const CHAT_SAVE_FORMATS: readonly [{
26
26
  }, {
27
27
  readonly formatName: "md";
28
28
  readonly label: "Markdown";
29
- readonly getContent: ({ messages, participants }: {
29
+ readonly getContent: ({ title, messages, participants }: {
30
30
  readonly title: string;
31
31
  readonly messages: readonly import("../types/ChatMessage").ChatMessage[];
32
32
  readonly participants: readonly import("../types/ChatParticipant").ChatParticipant[];
@@ -60,7 +60,7 @@ export declare const CHAT_SAVE_FORMATS: readonly [{
60
60
  readonly title: string;
61
61
  readonly messages: readonly import("../types/ChatMessage").ChatMessage[];
62
62
  readonly participants: readonly import("../types/ChatParticipant").ChatParticipant[];
63
- }) => Uint8Array;
63
+ }) => Promise<Uint8Array>;
64
64
  readonly mimeType: "application/pdf";
65
65
  readonly fileExtension: "pdf";
66
66
  }];
@@ -1,3 +1,5 @@
1
+ import type { ChatMessage } from '../../types/ChatMessage';
2
+ import type { ChatParticipant } from '../../types/ChatParticipant';
1
3
  /**
2
4
  * Markdown export plugin
3
5
  *
@@ -6,10 +8,10 @@
6
8
  export declare const mdSaveFormatDefinition: {
7
9
  readonly formatName: "md";
8
10
  readonly label: "Markdown";
9
- readonly getContent: ({ messages, participants }: {
11
+ readonly getContent: ({ title, messages, participants }: {
10
12
  readonly title: string;
11
- readonly messages: readonly import("../../types/ChatMessage").ChatMessage[];
12
- readonly participants: readonly import("../../types/ChatParticipant").ChatParticipant[];
13
+ readonly messages: readonly ChatMessage[];
14
+ readonly participants: readonly ChatParticipant[];
13
15
  }) => string;
14
16
  readonly mimeType: "text/markdown";
15
17
  readonly fileExtension: "md";
@@ -1,13 +1,13 @@
1
1
  import type { ChatMessage } from '../../types/ChatMessage';
2
2
  import type { ChatParticipant } from '../../types/ChatParticipant';
3
3
  /**
4
- * Builds a polished PDF representation of the provided chat.
4
+ * Builds a PDF from the same standalone HTML document used by the HTML chat download.
5
5
  *
6
6
  * @param title - Title used in the PDF heading and metadata.
7
7
  * @param messages - Messages that should be included in the PDF export.
8
- * @param participants - Optional participant metadata to resolve sender names.
8
+ * @param participants - Participant metadata used by the HTML chat export.
9
9
  * @returns Binary data for the generated PDF file.
10
10
  *
11
11
  * @private Internal helper used by `pdfSaveFormatDefinition`.
12
12
  */
13
- export declare function buildChatPdf(title: string, messages: ReadonlyArray<ChatMessage>, participants?: ReadonlyArray<ChatParticipant>): Uint8Array;
13
+ export declare function buildChatPdf(title: string, messages: ReadonlyArray<ChatMessage>, participants: ReadonlyArray<ChatParticipant>): Promise<Uint8Array>;
@@ -10,7 +10,7 @@ export declare const pdfSaveFormatDefinition: {
10
10
  readonly title: string;
11
11
  readonly messages: readonly import("../../types/ChatMessage").ChatMessage[];
12
12
  readonly participants: readonly import("../../types/ChatParticipant").ChatParticipant[];
13
- }) => Uint8Array;
13
+ }) => Promise<Uint8Array>;
14
14
  readonly mimeType: "application/pdf";
15
15
  readonly fileExtension: "pdf";
16
16
  };
@@ -4,6 +4,12 @@
4
4
  * @private internal utility of `ptbk agent`
5
5
  */
6
6
  export declare const AGENT_BOOK_FILE_PATH = "agent.book";
7
+ /**
8
+ * Relative path to local knowledge files initialized by `ptbk agent init`.
9
+ *
10
+ * @private internal utility of `ptbk agent`
11
+ */
12
+ export declare const AGENT_KNOWLEDGE_DIRECTORY_PATH = "knowledge";
7
13
  /**
8
14
  * Relative path to the message queue root initialized by `ptbk agent init`.
9
15
  *
@@ -23,19 +29,13 @@ export declare const AGENT_QUEUED_MESSAGES_DIRECTORY_PATH: string;
23
29
  */
24
30
  export declare const AGENT_FINISHED_MESSAGES_DIRECTORY_PATH: string;
25
31
  /**
26
- * Relative path to local knowledge files referenced by the default agent prompt.
27
- *
28
- * @private internal utility of `ptbk agent`
29
- */
30
- export declare const AGENT_KNOWLEDGE_DIRECTORY_PATH = "knowledge";
31
- /**
32
- * Relative path to local agent documentation initialized by `ptbk agent init`.
32
+ * Relative path to generated local agent documentation initialized by `ptbk agent init`.
33
33
  *
34
34
  * @private internal utility of `ptbk agent`
35
35
  */
36
36
  export declare const AGENT_DOCS_DIRECTORY_PATH = "docs";
37
37
  /**
38
- * Relative path to the local Book language manual used by the coding runner prompt.
38
+ * Relative path to the local Book language manual initialized by `ptbk agent init`.
39
39
  *
40
40
  * @private internal utility of `ptbk agent`
41
41
  */
@@ -11,7 +11,7 @@ type InitializeAgentRunnerCommandOptions = {
11
11
  readonly aliases?: ReadonlyArray<string>;
12
12
  readonly summary: string;
13
13
  readonly featureLines: ReadonlyArray<string>;
14
- readonly isExitingOnSuccess?: boolean;
14
+ readonly executionMode: 'once' | 'watch';
15
15
  readonly configureCommand?: (command: Program) => void;
16
16
  readonly loadExecutor: () => Promise<(runOptions: ReturnType<typeof createAgentRunOptionsFromCliOptions>) => Promise<unknown>>;
17
17
  };
@@ -0,0 +1,56 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * Inputs controlling one cached Agents Server production build.
4
+ *
5
+ * @private internal type of `ptbk agents-server`
6
+ */
7
+ type EnsureAgentsServerBuildOptions = {
8
+ readonly appPath?: string;
9
+ readonly environment?: NodeJS.ProcessEnv;
10
+ readonly isBuildForced?: boolean;
11
+ readonly onBuildEvent?: (event: string) => void;
12
+ readonly onBuildOutput?: (chunk: string) => void;
13
+ };
14
+ /**
15
+ * Paths needed after the Agents Server production build is ready.
16
+ *
17
+ * @private internal type of `ptbk agents-server`
18
+ */
19
+ export type AgentsServerBuildArtifacts = {
20
+ readonly appPath: string;
21
+ readonly nextCliPath: string;
22
+ };
23
+ /**
24
+ * Input paths required to validate or update the cached Agents Server build.
25
+ *
26
+ * @private internal type of `ptbk agents-server`
27
+ */
28
+ type AgentsServerBuildCacheOptions = {
29
+ readonly appPath: string;
30
+ readonly environment?: NodeJS.ProcessEnv;
31
+ };
32
+ /**
33
+ * Ensures that the local Agents Server production build exists and matches its source fingerprint.
34
+ *
35
+ * @private internal utility of `ptbk agents-server`
36
+ */
37
+ export declare function ensureAgentsServerBuild(options?: EnsureAgentsServerBuildOptions): Promise<AgentsServerBuildArtifacts>;
38
+ /**
39
+ * Returns true when the production build marker and source fingerprint still match.
40
+ *
41
+ * @private internal utility of `ptbk agents-server`
42
+ */
43
+ export declare function isAgentsServerBuildCacheCurrent(options: AgentsServerBuildCacheOptions): Promise<boolean>;
44
+ /**
45
+ * Persists the source fingerprint for the just-created production build.
46
+ *
47
+ * @private internal utility of `ptbk agents-server`
48
+ */
49
+ export declare function writeAgentsServerBuildCache(options: AgentsServerBuildCacheOptions): Promise<void>;
50
+ /**
51
+ * Finds the Agents Server app in a source checkout or generated CLI package.
52
+ *
53
+ * @private internal utility of `ptbk agents-server`
54
+ */
55
+ export declare function resolveAgentsServerAppPath(): Promise<string>;
56
+ export {};
@@ -0,0 +1,7 @@
1
+ import { type EnsureProjectEnvFileResult } from '../common/projectInitialization';
2
+ /**
3
+ * Ensures `.env` contains all required Agents Server configuration entries.
4
+ *
5
+ * @private internal utility of `ptbk agents-server init`
6
+ */
7
+ export declare function ensureAgentsServerEnvFile(projectPath: string): Promise<EnsureProjectEnvFileResult>;
@@ -0,0 +1,7 @@
1
+ import { type ProjectInitializationStatus } from '../common/projectInitialization';
2
+ /**
3
+ * Ensures `.gitignore` excludes local Agents Server runtime artifacts.
4
+ *
5
+ * @private internal utility of `ptbk agents-server init`
6
+ */
7
+ export declare function ensureAgentsServerGitignoreFile(projectPath: string): Promise<ProjectInitializationStatus>;
@@ -0,0 +1,9 @@
1
+ import type { Command as Program } from 'commander';
2
+ import type { $side_effect } from '../../../utils/organization/$side_effect';
3
+ export { initializeAgentsServerProjectConfiguration } from './initializeAgentsServerProjectConfiguration';
4
+ /**
5
+ * Initializes `agents-server init` command for Promptbook CLI utilities.
6
+ *
7
+ * @private internal function of `promptbookCli`
8
+ */
9
+ export declare function $initializeAgentsServerInitCommand(program: Program): $side_effect;
@@ -0,0 +1,17 @@
1
+ import type { ProjectInitializationStatus } from '../common/projectInitialization';
2
+ /**
3
+ * Result summary returned after Agents Server configuration initialization.
4
+ *
5
+ * @private internal utility of `ptbk agents-server init`
6
+ */
7
+ export type AgentsServerInitializationSummary = {
8
+ readonly envFileStatus: ProjectInitializationStatus;
9
+ readonly gitignoreFileStatus: ProjectInitializationStatus;
10
+ readonly initializedEnvVariableNames: ReadonlyArray<string>;
11
+ };
12
+ /**
13
+ * Creates or updates local Agents Server configuration files in the current project.
14
+ *
15
+ * @private internal utility of `ptbk agents-server init`
16
+ */
17
+ export declare function initializeAgentsServerProjectConfiguration(projectPath: string): Promise<AgentsServerInitializationSummary>;
@@ -0,0 +1,7 @@
1
+ import type { AgentsServerInitializationSummary } from './initializeAgentsServerProjectConfiguration';
2
+ /**
3
+ * Prints a readable summary of local Agents Server configuration initialization.
4
+ *
5
+ * @private internal utility of `ptbk agents-server init`
6
+ */
7
+ export declare function printAgentsServerInitializationSummary(summary: AgentsServerInitializationSummary): void;
@@ -0,0 +1,14 @@
1
+ import type { Command as Program } from 'commander';
2
+ import type { $side_effect } from '../../../utils/organization/$side_effect';
3
+ /**
4
+ * Initializes `agents-server start` command for Promptbook CLI utilities.
5
+ *
6
+ * @private internal function of `promptbookCli`
7
+ */
8
+ export declare function $initializeAgentsServerStartCommand(program: Program): $side_effect;
9
+ /**
10
+ * Initializes `agents-server build` command for Promptbook CLI utilities.
11
+ *
12
+ * @private internal function of `promptbookCli`
13
+ */
14
+ export declare function $initializeAgentsServerBuildCommand(program: Program): $side_effect;
@@ -0,0 +1,23 @@
1
+ import type { ThinkingLevel } from '../coder/ThinkingLevel';
2
+ import type { PromptRunnerAgentName } from '../common/promptRunnerCliOptions';
3
+ import type { number_port } from '../../../types/number_positive';
4
+ /**
5
+ * Options required to start the foreground Agents Server service group.
6
+ *
7
+ * @private internal type of `ptbk agents-server`
8
+ */
9
+ export type StartAgentsServerOptions = {
10
+ readonly port: number_port;
11
+ readonly agentName: PromptRunnerAgentName;
12
+ readonly model?: string;
13
+ readonly noUi: boolean;
14
+ readonly thinkingLevel?: ThinkingLevel;
15
+ readonly allowCredits: boolean;
16
+ readonly isBuildForced: boolean;
17
+ };
18
+ /**
19
+ * Starts the Agents Server web app and local coding-agent queue workers in the foreground.
20
+ *
21
+ * @private internal utility of `ptbk agents-server`
22
+ */
23
+ export declare function startAgentsServer(options: StartAgentsServerOptions): Promise<void>;
@@ -0,0 +1,8 @@
1
+ import type { Command as Program } from 'commander';
2
+ import type { $side_effect } from '../../utils/organization/$side_effect';
3
+ /**
4
+ * Initializes `agents-server` command with subcommands for Promptbook CLI utilities.
5
+ *
6
+ * @private internal function of `promptbookCli`
7
+ */
8
+ export declare function $initializeAgentsServerCommand(program: Program): $side_effect;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * File status returned by project configuration bootstrapping helpers.
3
+ *
4
+ * @private internal utility of Promptbook CLI project initialization
5
+ */
6
+ export type ProjectInitializationStatus = 'created' | 'updated' | 'unchanged';
7
+ /**
8
+ * Minimal environment variable descriptor used for additive `.env` initialization.
9
+ *
10
+ * @private internal utility of Promptbook CLI project initialization
11
+ */
12
+ export type ProjectEnvVariableDefinition = {
13
+ readonly name: string;
14
+ };
15
+ /**
16
+ * Result of one additive `.env` initialization attempt.
17
+ *
18
+ * @private internal utility of Promptbook CLI project initialization
19
+ */
20
+ export type EnsureProjectEnvFileResult = {
21
+ readonly envFileStatus: ProjectInitializationStatus;
22
+ readonly initializedEnvVariableNames: ReadonlyArray<string>;
23
+ };
24
+ /**
25
+ * Options required to append missing variables into a project `.env`.
26
+ */
27
+ type EnsureProjectEnvFileOptions<TEnvVariable extends ProjectEnvVariableDefinition> = {
28
+ readonly projectPath: string;
29
+ readonly emptyFileContent: string;
30
+ readonly envVariables: ReadonlyArray<TEnvVariable>;
31
+ readonly buildMissingEnvVariablesBlock: (envVariables: ReadonlyArray<TEnvVariable>) => string;
32
+ };
33
+ /**
34
+ * Options required to append missing rules into a project `.gitignore`.
35
+ */
36
+ type EnsureProjectGitignoreFileOptions = {
37
+ readonly projectPath: string;
38
+ readonly blockHeader: string;
39
+ readonly rules: ReadonlyArray<string>;
40
+ };
41
+ /**
42
+ * Ensures `.env` exists and appends only still-missing variable definitions.
43
+ *
44
+ * @private internal utility of Promptbook CLI project initialization
45
+ */
46
+ export declare function ensureProjectEnvFile<TEnvVariable extends ProjectEnvVariableDefinition>({ projectPath, emptyFileContent, envVariables, buildMissingEnvVariablesBlock, }: EnsureProjectEnvFileOptions<TEnvVariable>): Promise<EnsureProjectEnvFileResult>;
47
+ /**
48
+ * Ensures `.gitignore` contains all required project initialization rules.
49
+ *
50
+ * @private internal utility of Promptbook CLI project initialization
51
+ */
52
+ export declare function ensureProjectGitignoreFile({ projectPath, blockHeader, rules, }: EnsureProjectGitignoreFileOptions): Promise<ProjectInitializationStatus>;
53
+ /**
54
+ * Reads one text file when it exists, otherwise returns `undefined`.
55
+ *
56
+ * @private internal utility of Promptbook CLI project initialization
57
+ */
58
+ export declare function readTextFileIfExists(path: string): Promise<string | undefined>;
59
+ /**
60
+ * Appends one text block to existing file content while preserving readable newlines.
61
+ *
62
+ * @private internal utility of Promptbook CLI project initialization
63
+ */
64
+ export declare function appendBlock(currentContent: string, blockToAppend: string): string;
65
+ export {};
@@ -6,6 +6,24 @@ import type { ThinkingLevel } from '../coder/ThinkingLevel';
6
6
  * @private internal utility of `promptbookCli`
7
7
  */
8
8
  export declare const PROMPT_RUNNER_AGENT_NAMES: readonly ["openai-codex", "github-copilot", "cline", "claude-code", "opencode", "gemini"];
9
+ /**
10
+ * Environment variable used as the default runner identifier when `--agent` is omitted.
11
+ *
12
+ * @private internal utility of `promptbookCli`
13
+ */
14
+ export declare const PTBK_AGENT_ENV = "PTBK_AGENT";
15
+ /**
16
+ * Environment variable used as the default runner model when `--model` is omitted.
17
+ *
18
+ * @private internal utility of `promptbookCli`
19
+ */
20
+ export declare const PTBK_MODEL_ENV = "PTBK_MODEL";
21
+ /**
22
+ * Environment variable used as the default runner thinking level when `--thinking-level` is omitted.
23
+ *
24
+ * @private internal utility of `promptbookCli`
25
+ */
26
+ export declare const PTBK_THINKING_LEVEL_ENV = "PTBK_THINKING_LEVEL";
9
27
  /**
10
28
  * Runner identifier supported by Promptbook CLI agent orchestration commands.
11
29
  *
@@ -29,6 +47,12 @@ export type PromptRunnerCliOptions = {
29
47
  readonly autoPush: boolean;
30
48
  readonly autoPull: boolean;
31
49
  };
50
+ /**
51
+ * Commander option bag for runner selection plus terminal/runtime switches shared with server orchestration.
52
+ *
53
+ * @private internal utility of `promptbookCli`
54
+ */
55
+ export type PromptRunnerSelectionCliOptions = Pick<PromptRunnerCliOptions, 'agent' | 'model' | 'ui' | 'thinkingLevel' | 'allowCredits'>;
32
56
  /**
33
57
  * Normalized runner options used by runner-backed CLI commands.
34
58
  *
@@ -46,6 +70,12 @@ export type NormalizedPromptRunnerCliOptions = {
46
70
  readonly autoPush: boolean;
47
71
  readonly autoPull: boolean;
48
72
  };
73
+ /**
74
+ * Normalized runner selection plus terminal/runtime switches shared with server orchestration.
75
+ *
76
+ * @private internal utility of `promptbookCli`
77
+ */
78
+ export type NormalizedPromptRunnerSelectionCliOptions = Pick<NormalizedPromptRunnerCliOptions, 'agentName' | 'model' | 'noUi' | 'thinkingLevel' | 'allowCredits'>;
49
79
  /**
50
80
  * Description block shared by runner-backed CLI commands.
51
81
  *
@@ -70,6 +100,12 @@ export declare const PROMPT_RUNNER_MODEL_OPTION_DESCRIPTION: string;
70
100
  * @private internal utility of `promptbookCli`
71
101
  */
72
102
  export declare function addPromptRunnerSelectionOptions(command: Program): void;
103
+ /**
104
+ * Registers shared runner terminal/runtime flags on a command.
105
+ *
106
+ * @private internal utility of `promptbookCli`
107
+ */
108
+ export declare function addPromptRunnerRuntimeOptions(command: Program): void;
73
109
  /**
74
110
  * Registers shared runner execution flags on a command.
75
111
  *
@@ -84,3 +120,11 @@ export declare function addPromptRunnerExecutionOptions(command: Program): void;
84
120
  export declare function normalizePromptRunnerCliOptions(cliOptions: PromptRunnerCliOptions, options: {
85
121
  readonly isAgentRequired: boolean;
86
122
  }): NormalizedPromptRunnerCliOptions;
123
+ /**
124
+ * Converts Commander runner selection/runtime flags into the normalized runner shape.
125
+ *
126
+ * @private internal utility of `promptbookCli`
127
+ */
128
+ export declare function normalizePromptRunnerSelectionCliOptions(cliOptions: PromptRunnerSelectionCliOptions, options: {
129
+ readonly isAgentRequired: boolean;
130
+ }): NormalizedPromptRunnerSelectionCliOptions;
@@ -0,0 +1,8 @@
1
+ import { Command } from 'commander';
2
+ import type { $side_effect } from '../../utils/organization/$side_effect';
3
+ /**
4
+ * Marks one CLI command as deprecated while keeping it available for existing callers.
5
+ *
6
+ * @private utility of CLI
7
+ */
8
+ export declare function $deprecateCliCommand(command: Command, deprecationMessage: string): $side_effect;
@@ -0,0 +1 @@
1
+ export {};