@promptbook/core 0.114.0-41 → 0.114.0-47

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 (103) hide show
  1. package/esm/index.es.js +43 -9
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/src/book-2.0/agent-source/CreateAgentModelRequirementsOptions.d.ts +2 -0
  4. package/esm/src/cli/cli-commands/coder/add.d.ts +16 -0
  5. package/esm/src/cli/cli-commands/coder/agentCliOptions.d.ts +3 -2
  6. package/esm/src/cli/cli-commands/coder/augmentCoderAgentTeam.d.ts +7 -0
  7. package/esm/src/cli/cli-commands/coder/coderAgentRole.d.ts +16 -0
  8. package/esm/src/cli/cli-commands/coder/coderReferencedArtifacts.d.ts +8 -7
  9. package/esm/src/cli/cli-commands/coder/ensureCoderDefaultAgentFiles.d.ts +8 -0
  10. package/esm/src/cli/cli-commands/coder/ensureCoderDefaultAgentFiles.test.d.ts +1 -0
  11. package/esm/src/cli/cli-commands/coder/ensureCoderRoleAgentFile.d.ts +12 -0
  12. package/esm/src/cli/cli-commands/coder/generate-boilerplates.d.ts +1 -1
  13. package/esm/src/cli/cli-commands/coder/getCoderInitializationCommitPaths.d.ts +9 -0
  14. package/esm/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +7 -5
  15. package/esm/src/cli/cli-commands/coder/plan.d.ts +7 -0
  16. package/esm/src/cli/cli-commands/coder/planning/assertPlanningCommitSafe.d.ts +6 -0
  17. package/esm/src/cli/cli-commands/coder/planning/assertPlanningPrdCommitScope.d.ts +7 -0
  18. package/esm/src/cli/cli-commands/coder/planning/assertPlanningRuntimePath.d.ts +6 -0
  19. package/esm/src/cli/cli-commands/coder/planning/createPlanningTerminal.d.ts +8 -0
  20. package/esm/src/cli/cli-commands/coder/planning/createPlanningTerminal.test.d.ts +1 -0
  21. package/esm/src/cli/cli-commands/coder/planning/createPlanningWorkspace.d.ts +11 -0
  22. package/esm/src/cli/cli-commands/coder/planning/discussPlanningTurn.d.ts +15 -0
  23. package/esm/src/cli/cli-commands/coder/planning/fixtures/snapshotPlanningProject.d.ts +5 -0
  24. package/esm/src/cli/cli-commands/coder/planning/planningGitSync.test.d.ts +1 -0
  25. package/esm/src/cli/cli-commands/coder/planning/planningPackagedCli.test.d.ts +1 -0
  26. package/esm/src/cli/cli-commands/coder/planning/planningProtocol.d.ts +152 -0
  27. package/esm/src/cli/cli-commands/coder/planning/planningTeam.test.d.ts +1 -0
  28. package/esm/src/cli/cli-commands/coder/planning/preparePlanningChanges.d.ts +16 -0
  29. package/esm/src/cli/cli-commands/coder/planning/readPlanningContext.d.ts +6 -0
  30. package/esm/src/cli/cli-commands/coder/planning/resolvePlanningPath.d.ts +7 -0
  31. package/esm/src/cli/cli-commands/coder/planning/runPlanningHarness.d.ts +30 -0
  32. package/esm/src/cli/cli-commands/coder/planning/runPlanningHarness.test.d.ts +1 -0
  33. package/esm/src/cli/cli-commands/coder/planning/runPlanningSession.d.ts +21 -0
  34. package/esm/src/cli/cli-commands/coder/planning/runPlanningSession.test.d.ts +1 -0
  35. package/esm/src/cli/cli-commands/coder/planning/savePlanningChanges.d.ts +7 -0
  36. package/esm/src/cli/cli-commands/coder/printInitializationSummary.d.ts +2 -1
  37. package/esm/src/cli/cli-commands/coder/promptsReadmeTemplate.d.ts +13 -0
  38. package/esm/src/cli/cli-commands/coder/promptsReadmeTemplate.test.d.ts +1 -0
  39. package/esm/src/cli/cli-commands/coder/readCoderAgentBook.d.ts +8 -0
  40. package/esm/src/cli/cli-commands/coder/workspacePreflight.test.d.ts +1 -0
  41. package/esm/src/cli/cli-commands/coder.d.ts +1 -0
  42. package/esm/src/cli/cli-commands/common/LocalAgentBookCollection.d.ts +4 -2
  43. package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +1 -1
  44. package/esm/src/cli/cli-commands/common/resolveLocalAgentSource.d.ts +8 -1
  45. package/esm/src/cli/cli-commands/common/validateCoderRunOptions.d.ts +6 -0
  46. package/esm/src/cli/cli-commands/common/workspaceRepository.d.ts +36 -0
  47. package/esm/src/cli/cli-commands/common/workspaceRepository.test.d.ts +1 -0
  48. package/esm/src/cli/cli-commands/common/workspaceRepositoryCliOptions.d.ts +11 -0
  49. package/esm/src/commitments/TEAM/TEAM.test.d.ts +1 -0
  50. package/esm/src/conversion/archive/loadJsZipModule.d.ts +10 -0
  51. package/esm/src/version.d.ts +1 -1
  52. package/package.json +1 -1
  53. package/umd/index.umd.js +43 -9
  54. package/umd/index.umd.js.map +1 -1
  55. package/umd/src/book-2.0/agent-source/CreateAgentModelRequirementsOptions.d.ts +2 -0
  56. package/umd/src/cli/cli-commands/coder/add.d.ts +16 -0
  57. package/umd/src/cli/cli-commands/coder/agentCliOptions.d.ts +3 -2
  58. package/umd/src/cli/cli-commands/coder/augmentCoderAgentTeam.d.ts +7 -0
  59. package/umd/src/cli/cli-commands/coder/coderAgentRole.d.ts +16 -0
  60. package/umd/src/cli/cli-commands/coder/coderReferencedArtifacts.d.ts +8 -7
  61. package/umd/src/cli/cli-commands/coder/ensureCoderDefaultAgentFiles.d.ts +8 -0
  62. package/umd/src/cli/cli-commands/coder/ensureCoderDefaultAgentFiles.test.d.ts +1 -0
  63. package/umd/src/cli/cli-commands/coder/ensureCoderRoleAgentFile.d.ts +12 -0
  64. package/umd/src/cli/cli-commands/coder/generate-boilerplates.d.ts +1 -1
  65. package/umd/src/cli/cli-commands/coder/getCoderInitializationCommitPaths.d.ts +9 -0
  66. package/umd/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +7 -5
  67. package/umd/src/cli/cli-commands/coder/plan.d.ts +7 -0
  68. package/umd/src/cli/cli-commands/coder/planning/assertPlanningCommitSafe.d.ts +6 -0
  69. package/umd/src/cli/cli-commands/coder/planning/assertPlanningPrdCommitScope.d.ts +7 -0
  70. package/umd/src/cli/cli-commands/coder/planning/assertPlanningRuntimePath.d.ts +6 -0
  71. package/umd/src/cli/cli-commands/coder/planning/createPlanningTerminal.d.ts +8 -0
  72. package/umd/src/cli/cli-commands/coder/planning/createPlanningTerminal.test.d.ts +1 -0
  73. package/umd/src/cli/cli-commands/coder/planning/createPlanningWorkspace.d.ts +11 -0
  74. package/umd/src/cli/cli-commands/coder/planning/discussPlanningTurn.d.ts +15 -0
  75. package/umd/src/cli/cli-commands/coder/planning/fixtures/snapshotPlanningProject.d.ts +5 -0
  76. package/umd/src/cli/cli-commands/coder/planning/planningGitSync.test.d.ts +1 -0
  77. package/umd/src/cli/cli-commands/coder/planning/planningPackagedCli.test.d.ts +1 -0
  78. package/umd/src/cli/cli-commands/coder/planning/planningProtocol.d.ts +152 -0
  79. package/umd/src/cli/cli-commands/coder/planning/planningTeam.test.d.ts +1 -0
  80. package/umd/src/cli/cli-commands/coder/planning/preparePlanningChanges.d.ts +16 -0
  81. package/umd/src/cli/cli-commands/coder/planning/readPlanningContext.d.ts +6 -0
  82. package/umd/src/cli/cli-commands/coder/planning/resolvePlanningPath.d.ts +7 -0
  83. package/umd/src/cli/cli-commands/coder/planning/runPlanningHarness.d.ts +30 -0
  84. package/umd/src/cli/cli-commands/coder/planning/runPlanningHarness.test.d.ts +1 -0
  85. package/umd/src/cli/cli-commands/coder/planning/runPlanningSession.d.ts +21 -0
  86. package/umd/src/cli/cli-commands/coder/planning/runPlanningSession.test.d.ts +1 -0
  87. package/umd/src/cli/cli-commands/coder/planning/savePlanningChanges.d.ts +7 -0
  88. package/umd/src/cli/cli-commands/coder/printInitializationSummary.d.ts +2 -1
  89. package/umd/src/cli/cli-commands/coder/promptsReadmeTemplate.d.ts +13 -0
  90. package/umd/src/cli/cli-commands/coder/promptsReadmeTemplate.test.d.ts +1 -0
  91. package/umd/src/cli/cli-commands/coder/readCoderAgentBook.d.ts +8 -0
  92. package/umd/src/cli/cli-commands/coder/workspacePreflight.test.d.ts +1 -0
  93. package/umd/src/cli/cli-commands/coder.d.ts +1 -0
  94. package/umd/src/cli/cli-commands/common/LocalAgentBookCollection.d.ts +4 -2
  95. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +1 -1
  96. package/umd/src/cli/cli-commands/common/resolveLocalAgentSource.d.ts +8 -1
  97. package/umd/src/cli/cli-commands/common/validateCoderRunOptions.d.ts +6 -0
  98. package/umd/src/cli/cli-commands/common/workspaceRepository.d.ts +36 -0
  99. package/umd/src/cli/cli-commands/common/workspaceRepository.test.d.ts +1 -0
  100. package/umd/src/cli/cli-commands/common/workspaceRepositoryCliOptions.d.ts +11 -0
  101. package/umd/src/commitments/TEAM/TEAM.test.d.ts +1 -0
  102. package/umd/src/conversion/archive/loadJsZipModule.d.ts +10 -0
  103. package/umd/src/version.d.ts +1 -1
@@ -21,7 +21,7 @@ export declare const CODER_GIT_SYNC_DESCRIPTION: string;
21
21
  * Registers the shared `--commit`, `--auto-push` and `--auto-pull` flags on a `ptbk coder` command.
22
22
  *
23
23
  * Note: Unlike `ptbk coder run`, which commits by default and opts out through `--no-commit`,
24
- * these commands never touch git unless the flags are used explicitly.
24
+ * these commands only mutate Git when the flags are used explicitly. Workspace detection always runs.
25
25
  *
26
26
  * @private internal utility of `promptbookCli`
27
27
  */
@@ -6,8 +6,12 @@ import type { string_book } from '../../../book-2.0/agent-source/string_book';
6
6
  * @private internal type of CLI agent resolution
7
7
  */
8
8
  export type ResolvedLocalAgentSource = {
9
+ /** Canonical identity used to bound recursive TEAM consultations. */
10
+ readonly agentUrl: string;
9
11
  readonly agentSource: string_book;
10
12
  readonly agentReferenceResolver: AgentReferenceResolver;
13
+ /** Resolves another Book in this collection, retaining its own inheritance and reference locations. */
14
+ readonly resolveAgentSource: (url: string, signal?: AbortSignal) => Promise<ResolvedLocalAgentSource>;
11
15
  /** Newly created books which the coder may include in its initialization commit. */
12
16
  readonly createdAgentBookPaths: ReadonlyArray<string>;
13
17
  };
@@ -16,4 +20,7 @@ export type ResolvedLocalAgentSource = {
16
20
  *
17
21
  * @private internal utility of CLI agent resolution
18
22
  */
19
- export declare function resolveLocalAgentSource(agentBookPath: string, currentWorkingDirectory: string): Promise<ResolvedLocalAgentSource>;
23
+ export declare function resolveLocalAgentSource(agentBookPath: string, currentWorkingDirectory: string, options?: {
24
+ readonly isInitializationAllowed?: boolean;
25
+ readonly signal?: AbortSignal;
26
+ }): Promise<ResolvedLocalAgentSource>;
@@ -0,0 +1,6 @@
1
+ import type { RunOptions } from '../../../../scripts/run-codex-prompts/cli/RunOptions';
2
+ /**
3
+ * Validates cross-flag constraints before workspace setup or the run starts.
4
+ * @private shared validation for Coder execution commands
5
+ */
6
+ export declare function validateCoderRunOptions(options: RunOptions): void;
@@ -0,0 +1,36 @@
1
+ import type { NormalizedQuestionsCliOptions } from './questionsCliOptions';
2
+ /**
3
+ * Resolved project directory and its enclosing working tree. Project artifacts belong to `projectPath`;
4
+ * Git paths and synchronization belong to `repositoryRoot`, which may be an enclosing monorepo.
5
+ *
6
+ * @private shared workspace context for Coder and workspace server commands
7
+ */
8
+ export type WorkspaceRepositoryContext = {
9
+ readonly projectPath: string;
10
+ readonly repositoryRoot?: string;
11
+ readonly gitDirectory?: string;
12
+ readonly repositoryStatus: 'missing' | 'reused' | 'initialized';
13
+ };
14
+ /**
15
+ * Command policy is separate from discovery: previews never initialize; explicit init needs no confirmation.
16
+ *
17
+ * @private shared workspace policy for Coder and workspace server commands
18
+ */
19
+ export type WorkspaceRepositoryPolicy = 'initialize' | 'mutate' | 'read-only';
20
+ /**
21
+ * Resolves the requested project once and discovers Git using Git itself, without requiring `HEAD`.
22
+ * Broken metadata, bare repositories, ownership errors and unavailable Git are failures, not missing repositories.
23
+ *
24
+ * @private shared workspace discovery for CLI commands
25
+ */
26
+ export declare function $resolveWorkspaceRepository(projectDirectory?: string): Promise<WorkspaceRepositoryContext>;
27
+ /**
28
+ * Checks the shared prerequisite before any project writes, Git synchronization, installation or startup.
29
+ * Only an affirmative interactive answer or an explicit initializer authorizes `git init`.
30
+ *
31
+ * @private shared workspace preflight for Coder and workspace server commands
32
+ */
33
+ export declare function $preflightWorkspaceRepository(options: {
34
+ readonly projectDirectory?: string;
35
+ readonly policy: WorkspaceRepositoryPolicy;
36
+ } & Partial<NormalizedQuestionsCliOptions>): Promise<WorkspaceRepositoryContext>;
@@ -0,0 +1,11 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Shared explanation of the workspace prerequisite, independent of commit and synchronization settings.
4
+ * @private internal CLI help text
5
+ */
6
+ export declare const WORKSPACE_REPOSITORY_DESCRIPTION: string;
7
+ /**
8
+ * Adds shared Git help and the questions switch to every workspace command without duplicating existing options.
9
+ * @private internal registration helper for workspace CLI commands
10
+ */
11
+ export declare function addWorkspaceRepositoryOptions(command: Command): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Loads the ZIP archive library (`jszip`) on demand
3
+ *
4
+ * Note: [🐌] Loaded lazily to keep the startup of the `ptbk` CLI utility fast
5
+ *
6
+ * @private internal utility of `loadArchive` and `saveArchive`
7
+ */
8
+ export declare const loadJsZipModule: () => Promise<{
9
+ default: typeof import('jszip');
10
+ }>;
@@ -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-40`).
18
+ * It follows semantic versioning (e.g., `0.114.0-47`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/core",
3
- "version": "0.114.0-41",
3
+ "version": "0.114.0-47",
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,
package/umd/index.umd.js CHANGED
@@ -28,7 +28,7 @@
28
28
  * @generated
29
29
  * @see https://github.com/webgptorg/promptbook
30
30
  */
31
- const PROMPTBOOK_ENGINE_VERSION = '0.114.0-41';
31
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-47';
32
32
  /**
33
33
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
34
34
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -19674,6 +19674,18 @@
19674
19674
 
19675
19675
  Registers teammate agents that the current agent can consult via tools.
19676
19676
 
19677
+ The primary agent sends a question and relevant context to a teammate and receives an attributed answer.
19678
+ Each teammate uses its own Book. Declaring a team makes advisers available when relevant; it does not
19679
+ merge their rules into the primary agent or start every teammate automatically.
19680
+
19681
+ In \`ptbk coder run\` and \`ptbk coder plan\`, TEAM entries in the selected Book, its ancestors and imports
19682
+ use the existing reference rules: \`@Name\`, \`{Agent Name}\`, \`{./lawyer.book}\`, project paths such as
19683
+ \`{agents/lawyer.book}\`, and HTTP(S) Book URLs. Local advisers require no Agents Server. A remote Book
19684
+ must be readable through its normal endpoint; private or inaccessible sources return errors.
19685
+ Coding harnesses expose scoped command tools; planning uses restricted host tools and currently requires
19686
+ OpenAI Codex. Planning restrictions apply to every adviser, including custom Developer Books.
19687
+ The primary agent retains responsibility for the task, PRD proposals and final output.
19688
+
19677
19689
  ## Examples
19678
19690
 
19679
19691
  \`\`\`book
@@ -19685,7 +19697,7 @@
19685
19697
  `);
19686
19698
  }
19687
19699
  applyToAgentModelRequirements(requirements, content) {
19688
- var _a, _b, _c;
19700
+ var _a, _b, _c, _d;
19689
19701
  const trimmedContent = content.trim();
19690
19702
  if (!trimmedContent) {
19691
19703
  return requirements;
@@ -19699,20 +19711,30 @@
19699
19711
  const existingTeammates = ((_b = requirements._metadata) === null || _b === void 0 ? void 0 : _b.teammates) || [];
19700
19712
  const preResolvedProfiles = (((_c = requirements._metadata) === null || _c === void 0 ? void 0 : _c.preResolvedTeammateProfiles) || {});
19701
19713
  const resolvedTeammates = resolveTeamTeammateLabels(trimmedContent, teammates);
19714
+ const toolUrls = new Map(existingTeammates.map((teammate) => [teammate.toolName, teammate.url]));
19702
19715
  const teamEntries = resolvedTeammates.map((teammate) => {
19703
19716
  const profile = preResolvedProfiles[teammate.url];
19704
19717
  const resolvedLabel = (profile === null || profile === void 0 ? void 0 : profile.agentName) || teammate.label;
19705
19718
  const existingTeammate = existingTeammates.find((entry) => entry.url === teammate.url);
19719
+ const baseToolName = (existingTeammate === null || existingTeammate === void 0 ? void 0 : existingTeammate.toolName) || createTeamToolName(teammate.url, resolvedLabel);
19720
+ let toolName = baseToolName;
19721
+ let suffix = 1;
19722
+ // Explicit paths can identify distinct Books with the same display name or normalized label.
19723
+ while (toolUrls.has(toolName) && toolUrls.get(toolName) !== teammate.url) {
19724
+ toolName = `${baseToolName}_${++suffix}`;
19725
+ }
19726
+ toolUrls.set(toolName, teammate.url);
19706
19727
  return {
19707
- toolName: ((existingTeammate === null || existingTeammate === void 0 ? void 0 : existingTeammate.toolName) ||
19708
- createTeamToolName(teammate.url, resolvedLabel)),
19728
+ toolName: toolName,
19709
19729
  teammate: { ...teammate, label: resolvedLabel },
19710
19730
  agentName,
19711
19731
  description: (profile === null || profile === void 0 ? void 0 : profile.personaDescription) || null,
19712
19732
  };
19713
19733
  });
19714
- for (const entry of teamEntries) {
19715
- registerTeamTool(entry);
19734
+ if (!((_d = requirements._metadata) === null || _d === void 0 ? void 0 : _d.isTeamToolRegistrationDisabled)) {
19735
+ for (const entry of teamEntries) {
19736
+ registerTeamTool(entry);
19737
+ }
19716
19738
  }
19717
19739
  const existingTools = requirements.tools || [];
19718
19740
  const updatedTools = [...existingTools];
@@ -24302,9 +24324,15 @@
24302
24324
  if (preResolvedTeammateProfiles[teammate.url]) {
24303
24325
  continue;
24304
24326
  }
24305
- const profile = await profileResolver.resolveTeammateProfile(teammate.url);
24306
- if (profile) {
24307
- preResolvedTeammateProfiles[teammate.url] = profile;
24327
+ try {
24328
+ const profile = await profileResolver.resolveTeammateProfile(teammate.url);
24329
+ if (profile) {
24330
+ preResolvedTeammateProfiles[teammate.url] = profile;
24331
+ }
24332
+ }
24333
+ catch (error) {
24334
+ // One inaccessible adviser must not erase the names and roles of other callable teammates.
24335
+ console.warn(`Failed to resolve TEAM profile for ${teammate.url}:`, error);
24308
24336
  }
24309
24337
  }
24310
24338
  return {
@@ -25528,6 +25556,12 @@
25528
25556
  const parseResult = parseAgentSourceWithCommitments(agentSource);
25529
25557
  const filteredCommitments = filterCommitmentsForAgentModelRequirements(parseResult.commitments);
25530
25558
  let requirements = createInitialAgentModelRequirements(parseResult.agentName, modelName);
25559
+ if (options === null || options === void 0 ? void 0 : options.isTeamToolRegistrationDisabled) {
25560
+ requirements = {
25561
+ ...requirements,
25562
+ _metadata: { ...requirements._metadata, isTeamToolRegistrationDisabled: true },
25563
+ };
25564
+ }
25531
25565
  requirements = await applyCommitmentsToAgentModelRequirements(requirements, filteredCommitments, options);
25532
25566
  requirements = await augmentAgentModelRequirementsFromSource(requirements, parseResult, agentSource);
25533
25567
  requirements = await materializeInlineKnowledgeSources(requirements, options === null || options === void 0 ? void 0 : options.inlineKnowledgeSourceUploader);