bkper 5.1.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +16 -0
  2. package/lib/agent/extensions/bkper-ai-provider.d.ts.map +1 -1
  3. package/lib/agent/extensions/bkper-ai-provider.js +47 -16
  4. package/lib/agent/extensions/bkper-ai-provider.js.map +1 -1
  5. package/lib/agent/extensions/builtins.d.ts.map +1 -1
  6. package/lib/agent/extensions/builtins.js +10 -2
  7. package/lib/agent/extensions/builtins.js.map +1 -1
  8. package/lib/agent/extensions/startup-logo.d.ts +9 -0
  9. package/lib/agent/extensions/startup-logo.d.ts.map +1 -0
  10. package/lib/agent/extensions/startup-logo.js +96 -0
  11. package/lib/agent/extensions/startup-logo.js.map +1 -0
  12. package/lib/agent/extensions/startup.d.ts.map +1 -1
  13. package/lib/agent/extensions/startup.js +63 -33
  14. package/lib/agent/extensions/startup.js.map +1 -1
  15. package/lib/agent/interactive/prompt-history-store.d.ts +1 -0
  16. package/lib/agent/interactive/prompt-history-store.d.ts.map +1 -1
  17. package/lib/agent/interactive/prompt-history-store.js +19 -5
  18. package/lib/agent/interactive/prompt-history-store.js.map +1 -1
  19. package/lib/agent/interactive/run-agent-mode.d.ts.map +1 -1
  20. package/lib/agent/interactive/run-agent-mode.js +5 -2
  21. package/lib/agent/interactive/run-agent-mode.js.map +1 -1
  22. package/lib/agent/interactive/settings.d.ts +26 -4
  23. package/lib/agent/interactive/settings.d.ts.map +1 -1
  24. package/lib/agent/interactive/settings.js +106 -16
  25. package/lib/agent/interactive/settings.js.map +1 -1
  26. package/lib/agent/interactive/themes.d.ts +13 -0
  27. package/lib/agent/interactive/themes.d.ts.map +1 -0
  28. package/lib/agent/interactive/themes.js +36 -0
  29. package/lib/agent/interactive/themes.js.map +1 -0
  30. package/lib/agent/system-prompt.d.ts.map +1 -1
  31. package/lib/agent/system-prompt.js +19 -7
  32. package/lib/agent/system-prompt.js.map +1 -1
  33. package/lib/agent/themes/bkper-dark.json +80 -0
  34. package/lib/agent/themes/bkper-light.json +80 -0
  35. package/lib/cli.js +1 -1
  36. package/lib/cli.js.map +1 -1
  37. package/lib/commands/agent-command.d.ts.map +1 -1
  38. package/lib/commands/agent-command.js +2 -1
  39. package/lib/commands/agent-command.js.map +1 -1
  40. package/lib/docs/ai/decision-models.md +316 -0
  41. package/lib/docs/apps/ai.md +120 -88
  42. package/lib/docs/apps/overview.md +1 -1
  43. package/lib/docs/index.md +2 -1
  44. package/package.json +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent-mode.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/run-agent-mode.ts"],"names":[],"mappings":"AACA,OAAO,EAQH,KAAK,6BAA6B,EAGrC,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,uBAAuB,CAAC;AAS/B,MAAM,WAAW,qBAAqB;IAClC,aAAa,EAAE,MAAM,OAAO,CAAC;QACzB,OAAO,EAAE,sBAAsB,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,WAAW,CAAC,EAAE,6BAA6B,EAAE,CAAC;KACjD,CAAC,CAAC;IACH,qBAAqB,EAAE,CACnB,OAAO,EAAE,sBAAsB,EAC/B,oBAAoB,CAAC,EAAE,MAAM,KAC5B;QACD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACxB,CAAC;CACL;AAcD,MAAM,WAAW,cAAc;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,2BAA2B,CACvC,cAAc,GAAE,cAAmB,GACpC,qBAAqB,CA6HvB;AAED,wBAAsB,YAAY,CAC9B,YAAY,GAAE,qBAAqD,GACpE,OAAO,CAAC,IAAI,CAAC,CAUf"}
1
+ {"version":3,"file":"run-agent-mode.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/run-agent-mode.ts"],"names":[],"mappings":"AACA,OAAO,EAQH,KAAK,6BAA6B,EAGrC,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,uBAAuB,CAAC;AAW/B,MAAM,WAAW,qBAAqB;IAClC,aAAa,EAAE,MAAM,OAAO,CAAC;QACzB,OAAO,EAAE,sBAAsB,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,WAAW,CAAC,EAAE,6BAA6B,EAAE,CAAC;KACjD,CAAC,CAAC;IACH,qBAAqB,EAAE,CACnB,OAAO,EAAE,sBAAsB,EAC/B,oBAAoB,CAAC,EAAE,MAAM,KAC5B;QACD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACxB,CAAC;CACL;AAcD,MAAM,WAAW,cAAc;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,2BAA2B,CACvC,cAAc,GAAE,cAAmB,GACpC,qBAAqB,CAiIvB;AAED,wBAAsB,YAAY,CAC9B,YAAY,GAAE,qBAAqD,GACpE,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -15,7 +15,8 @@ import { runStartupMaintenance } from '../startup-maintenance.js';
15
15
  import { getBkperAgentSystemPrompt } from '../system-prompt.js';
16
16
  import { BkperInteractiveMode, } from './interactive-mode.js';
17
17
  import { restorePersistedSessionOptions } from './session-restore.js';
18
- import { applyBkperAgentSettingsDefaults, applyBkperAgentToolSelection, collectSettingsDiagnostics, createStartupSessionManager, } from './settings.js';
18
+ import { applyBkperAgentSettingsDefaults, applyBkperAgentToolSelection, collectSettingsDiagnostics, createStartupSessionManager, overrideDefaultTools, } from './settings.js';
19
+ import { getBkperThemesDir, resolveBkperInitialThemeSetting } from './themes.js';
19
20
  function reportDiagnostics(diagnostics) {
20
21
  for (const diagnostic of diagnostics) {
21
22
  const prefix = diagnostic.type === 'error'
@@ -56,6 +57,7 @@ export function createAgentModeDependencies(sessionOptions = {}) {
56
57
  settingsManager,
57
58
  modelRuntime,
58
59
  resourceLoaderOptions: {
60
+ additionalThemePaths: [getBkperThemesDir()],
59
61
  systemPromptOverride: () => getBkperAgentSystemPrompt(selectedTools),
60
62
  extensionFactories: [
61
63
  (pi) => {
@@ -68,7 +70,7 @@ export function createAgentModeDependencies(sessionOptions = {}) {
68
70
  },
69
71
  });
70
72
  applyBkperAgentSettingsDefaults(settingsManager);
71
- settingsManager.applyOverrides({ defaultTools: selectedTools });
73
+ overrideDefaultTools(settingsManager, selectedTools);
72
74
  const restoredSessionOptions = restorePersistedSessionOptions(settingsManager, {
73
75
  getAvailable: () => [...services.modelRuntime.getAvailableSnapshot()],
74
76
  find: (provider, modelId) => services.modelRuntime.getModel(provider, modelId),
@@ -113,6 +115,7 @@ export function createAgentModeDependencies(sessionOptions = {}) {
113
115
  }),
114
116
  createInteractiveMode: (runtime, modelFallbackMessage) => new BkperInteractiveMode(runtime, {
115
117
  modelFallbackMessage,
118
+ initialThemeSetting: resolveBkperInitialThemeSetting(runtime.services.settingsManager),
116
119
  }),
117
120
  };
118
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../../src/agent/interactive/run-agent-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../../src/agent/interactive/run-agent-mode.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type AgentSessionRuntimeDiagnostic, type TuiMode } from '@earendil-works/pi-coding-agent';
1
+ import { type AgentSessionRuntimeDiagnostic, type CacheWarmingMode, type TuiMode } from '@earendil-works/pi-coding-agent';
2
2
  type SettingsError = {
3
3
  scope: 'global' | 'project';
4
4
  error: Error;
@@ -11,26 +11,48 @@ export interface ResolvedBkperAgentTools {
11
11
  tools: string[];
12
12
  warning?: string;
13
13
  }
14
- export declare function resolveBkperAgentTools(configuredTools: string[] | undefined, platform: NodeJS.Platform, availability: ShellAvailability): ResolvedBkperAgentTools;
15
- type BkperAgentToolSettingsManager = {
14
+ export declare function resolveBkperAgentTools(configuredTools: string[] | undefined, platform: NodeJS.Platform, availability: ShellAvailability, toolModifiers?: string[]): ResolvedBkperAgentTools;
15
+ type DefaultToolsSettingsManager = {
16
16
  getDefaultTools(): string[] | undefined;
17
- getShellPath(): string | undefined;
18
17
  applyOverrides(overrides: {
19
18
  defaultTools: string[];
20
19
  }): void;
21
20
  };
21
+ type BkperAgentToolSettingsManager = DefaultToolsSettingsManager & {
22
+ getGlobalSettings(): {
23
+ defaultTools?: string[];
24
+ };
25
+ getProjectSettings(): {
26
+ defaultTools?: string[];
27
+ };
28
+ getShellPath(): string | undefined;
29
+ };
30
+ /**
31
+ * Replaces the effective `defaultTools` selection. Pi appends an override without plain tool
32
+ * names, including an empty list, to the inherited selection, so an empty selection is
33
+ * expressed as removal of every currently selected tool.
34
+ */
35
+ export declare function overrideDefaultTools(settingsManager: DefaultToolsSettingsManager, tools: string[]): void;
22
36
  export declare function applyBkperAgentToolSelection(settingsManager: BkperAgentToolSettingsManager, platform?: NodeJS.Platform): AgentSessionRuntimeDiagnostic[];
37
+ type WarningSettings = {
38
+ anthropicExtraUsage?: boolean;
39
+ };
23
40
  type BkperAgentSettingsDefaultsManager = {
24
41
  getGlobalSettings(): {
25
42
  showCacheMissNotices?: boolean;
26
43
  tuiMode?: TuiMode;
44
+ cacheWarming?: CacheWarmingMode;
45
+ warnings?: WarningSettings;
27
46
  };
28
47
  getProjectSettings(): {
29
48
  showCacheMissNotices?: boolean;
30
49
  tuiMode?: TuiMode;
50
+ warnings?: WarningSettings;
31
51
  };
32
52
  setShowCacheMissNotices(show: boolean): void;
33
53
  setTuiMode(mode: TuiMode): void;
54
+ setCacheWarmingMode(mode: CacheWarmingMode): void;
55
+ setWarnings(warnings: WarningSettings): void;
34
56
  };
35
57
  export declare function applyBkperAgentSettingsDefaults(settingsManager: BkperAgentSettingsDefaultsManager): void;
36
58
  export declare function collectSettingsDiagnostics(settingsManager: {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,6BAA6B,EAClC,KAAK,OAAO,EACf,MAAM,iCAAiC,CAAC;AAEzC,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CAClC,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS,EACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,YAAY,EAAE,iBAAiB,GAChC,uBAAuB,CAmCzB;AAED,KAAK,6BAA6B,GAAG;IACjC,eAAe,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,SAAS,EAAE;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAC,GAAG,IAAI,CAAC;CAC7D,CAAC;AAWF,wBAAgB,4BAA4B,CACxC,eAAe,EAAE,6BAA6B,EAC9C,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC7C,6BAA6B,EAAE,CAkBjC;AAED,KAAK,iCAAiC,GAAG;IACrC,iBAAiB,IAAI;QACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,kBAAkB,IAAI;QAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,+BAA+B,CAC3C,eAAe,EAAE,iCAAiC,GACnD,IAAI,CAkBN;AAED,wBAAgB,0BAA0B,CACtC,eAAe,EAAE;IAAC,WAAW,IAAI,aAAa,EAAE,CAAA;CAAC,EACjD,OAAO,EAAE,MAAM,GAChB,6BAA6B,EAAE,CAKjC;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EACvD,GAAG,EAAE,MAAM,EACX,eAAe,EAAE;IAAC,aAAa,IAAI,MAAM,GAAG,SAAS,CAAA;CAAC,EACtD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,eAAe,GAC5E,eAAe,CAEjB"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,6BAA6B,EAClC,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACf,MAAM,iCAAiC,CAAC;AAEzC,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAmED,wBAAgB,sBAAsB,CAClC,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS,EACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,YAAY,EAAE,iBAAiB,EAC/B,aAAa,GAAE,MAAM,EAAO,GAC7B,uBAAuB,CAmBzB;AAyBD,KAAK,2BAA2B,GAAG;IAC/B,eAAe,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,cAAc,CAAC,SAAS,EAAE;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAC,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,KAAK,6BAA6B,GAAG,2BAA2B,GAAG;IAC/D,iBAAiB,IAAI;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAC,CAAC;IAC/C,kBAAkB,IAAI;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAC,CAAC;IAChD,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,eAAe,EAAE,2BAA2B,EAC5C,KAAK,EAAE,MAAM,EAAE,GAChB,IAAI,CAON;AAWD,wBAAgB,4BAA4B,CACxC,eAAe,EAAE,6BAA6B,EAC9C,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC7C,6BAA6B,EAAE,CAwBjC;AAED,KAAK,eAAe,GAAG;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACrC,iBAAiB,IAAI;QACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,gBAAgB,CAAC;QAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;KAC9B,CAAC;IACF,kBAAkB,IAAI;QAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;KAC9B,CAAC;IACF,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClD,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,wBAAgB,+BAA+B,CAC3C,eAAe,EAAE,iCAAiC,GACnD,IAAI,CAoCN;AAED,wBAAgB,0BAA0B,CACtC,eAAe,EAAE;IAAC,WAAW,IAAI,aAAa,EAAE,CAAA;CAAC,EACjD,OAAO,EAAE,MAAM,GAChB,6BAA6B,EAAE,CAKjC;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EACvD,GAAG,EAAE,MAAM,EACX,eAAe,EAAE;IAAC,aAAa,IAAI,MAAM,GAAG,SAAS,CAAA;CAAC,EACtD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,eAAe,GAC5E,eAAe,CAEjB"}
@@ -1,32 +1,100 @@
1
1
  import { getPowerShellConfig, getShellConfig, } from '@earendil-works/pi-coding-agent';
2
- export function resolveBkperAgentTools(configuredTools, platform, availability) {
2
+ // Always selected so the tool set, and with it the prompt cache, stays stable across turns.
3
+ const CODEMODE_TOOL = 'codemode';
4
+ function isToolModifier(entry) {
5
+ return typeof entry === 'string' && (entry.startsWith('+') || entry.startsWith('-'));
6
+ }
7
+ /** Applies `+name`/`-name` entries in order, as Pi does for `defaultTools`. */
8
+ function applyToolModifiers(tools, modifiers) {
9
+ const result = [...tools];
10
+ for (const modifier of modifiers) {
11
+ const name = modifier.slice(1);
12
+ const index = result.indexOf(name);
13
+ if (modifier.startsWith('+') && index === -1 && name) {
14
+ result.push(name);
15
+ }
16
+ else if (modifier.startsWith('-') && index !== -1) {
17
+ result.splice(index, 1);
18
+ }
19
+ }
20
+ return result;
21
+ }
22
+ /**
23
+ * Pi resolves a `defaultTools` selection without plain tool names in any settings layer against
24
+ * its own defaults, which lack codemode and PowerShell. Returns those modifiers, global layer
25
+ * first, so they can be applied to the Bkper defaults instead.
26
+ */
27
+ function getModifierOnlyToolSelection(layers) {
28
+ const modifiers = [];
29
+ for (const layer of layers) {
30
+ if (layer === undefined) {
31
+ continue;
32
+ }
33
+ if (!isModifierList(layer)) {
34
+ return undefined;
35
+ }
36
+ modifiers.push(...layer);
37
+ }
38
+ return modifiers.length > 0 ? modifiers : undefined;
39
+ }
40
+ function isModifierList(layer) {
41
+ return Array.isArray(layer) && layer.every(isToolModifier);
42
+ }
43
+ function disableUnavailableShells(configuredTools, availability) {
44
+ const unavailableShells = configuredTools.filter(tool => (tool === 'bash' && !availability.bash) ||
45
+ (tool === 'powershell' && !availability.powershell));
46
+ const tools = configuredTools.filter(tool => !unavailableShells.includes(tool));
47
+ return unavailableShells.length > 0
48
+ ? {
49
+ tools,
50
+ warning: `Unavailable configured shell tools were disabled: ${unavailableShells.join(', ')}.`,
51
+ }
52
+ : { tools };
53
+ }
54
+ export function resolveBkperAgentTools(configuredTools, platform, availability, toolModifiers = []) {
3
55
  if (configuredTools) {
4
- const unavailableShells = configuredTools.filter(tool => (tool === 'bash' && !availability.bash) ||
5
- (tool === 'powershell' && !availability.powershell));
6
- const tools = configuredTools.filter(tool => !unavailableShells.includes(tool));
7
- return unavailableShells.length > 0
8
- ? {
9
- tools,
10
- warning: `Unavailable configured shell tools were disabled: ${unavailableShells.join(', ')}.`,
11
- }
12
- : { tools };
56
+ return disableUnavailableShells(configuredTools, availability);
57
+ }
58
+ const defaults = selectDefaultBkperAgentTools(platform, availability);
59
+ if (toolModifiers.length === 0) {
60
+ return defaults;
13
61
  }
62
+ const modified = disableUnavailableShells(applyToolModifiers(defaults.tools, toolModifiers), availability);
63
+ const warnings = [defaults.warning, modified.warning].filter((warning) => warning !== undefined);
64
+ return warnings.length > 0
65
+ ? { tools: modified.tools, warning: warnings.join(' ') }
66
+ : { tools: modified.tools };
67
+ }
68
+ function selectDefaultBkperAgentTools(platform, availability) {
14
69
  if (platform === 'win32' && availability.powershell) {
15
- return { tools: ['read', 'powershell', 'edit', 'write'] };
70
+ return { tools: ['read', 'powershell', 'edit', 'write', CODEMODE_TOOL] };
16
71
  }
17
72
  if (availability.bash) {
18
73
  return platform === 'win32'
19
74
  ? {
20
- tools: ['read', 'bash', 'edit', 'write'],
75
+ tools: ['read', 'bash', 'edit', 'write', CODEMODE_TOOL],
21
76
  warning: 'PowerShell is unavailable; using Bash instead.',
22
77
  }
23
- : { tools: ['read', 'bash', 'edit', 'write'] };
78
+ : { tools: ['read', 'bash', 'edit', 'write', CODEMODE_TOOL] };
24
79
  }
25
80
  return {
26
- tools: ['read', 'edit', 'write'],
81
+ tools: ['read', 'edit', 'write', CODEMODE_TOOL],
27
82
  warning: 'No supported shell is available; command execution is disabled.',
28
83
  };
29
84
  }
85
+ /**
86
+ * Replaces the effective `defaultTools` selection. Pi appends an override without plain tool
87
+ * names, including an empty list, to the inherited selection, so an empty selection is
88
+ * expressed as removal of every currently selected tool.
89
+ */
90
+ export function overrideDefaultTools(settingsManager, tools) {
91
+ var _a;
92
+ settingsManager.applyOverrides({
93
+ defaultTools: tools.length > 0
94
+ ? tools
95
+ : ((_a = settingsManager.getDefaultTools()) !== null && _a !== void 0 ? _a : []).map(tool => `-${tool}`),
96
+ });
97
+ }
30
98
  function canResolveShell(resolve) {
31
99
  try {
32
100
  resolve();
@@ -44,11 +112,18 @@ export function applyBkperAgentToolSelection(settingsManager, platform = process
44
112
  powershell: effectivePlatform === 'win32' &&
45
113
  (forceWindows || canResolveShell(() => getPowerShellConfig())),
46
114
  };
47
- const resolved = resolveBkperAgentTools(settingsManager.getDefaultTools(), effectivePlatform, availability);
48
- settingsManager.applyOverrides({ defaultTools: resolved.tools });
115
+ const toolModifiers = getModifierOnlyToolSelection([
116
+ settingsManager.getGlobalSettings().defaultTools,
117
+ settingsManager.getProjectSettings().defaultTools,
118
+ ]);
119
+ const resolved = toolModifiers
120
+ ? resolveBkperAgentTools(undefined, effectivePlatform, availability, toolModifiers)
121
+ : resolveBkperAgentTools(settingsManager.getDefaultTools(), effectivePlatform, availability);
122
+ overrideDefaultTools(settingsManager, resolved.tools);
49
123
  return resolved.warning ? [{ type: 'warning', message: resolved.warning }] : [];
50
124
  }
51
125
  export function applyBkperAgentSettingsDefaults(settingsManager) {
126
+ var _a, _b;
52
127
  const globalSettings = settingsManager.getGlobalSettings();
53
128
  const projectSettings = settingsManager.getProjectSettings();
54
129
  const hasExplicitCacheMissNotices = [
@@ -62,6 +137,21 @@ export function applyBkperAgentSettingsDefaults(settingsManager) {
62
137
  if (!hasExplicitTuiMode) {
63
138
  settingsManager.setTuiMode('fullscreen');
64
139
  }
140
+ const hasExplicitAnthropicExtraUsageWarning = [
141
+ (_a = globalSettings.warnings) === null || _a === void 0 ? void 0 : _a.anthropicExtraUsage,
142
+ (_b = projectSettings.warnings) === null || _b === void 0 ? void 0 : _b.anthropicExtraUsage,
143
+ ].some(value => value !== undefined);
144
+ // Pi warns about Anthropic subscription extra usage by default; the Bkper agent opts out.
145
+ // setWarnings replaces the global warnings object, so keep any other global warning keys.
146
+ if (!hasExplicitAnthropicExtraUsageWarning) {
147
+ settingsManager.setWarnings(Object.assign(Object.assign({}, globalSettings.warnings), { anthropicExtraUsage: false }));
148
+ }
149
+ // Pi reads cacheWarming from global settings only. Idle warming bridges the pauses
150
+ // between prompts; Pi warms only models with a known cache lifetime and only when
151
+ // the expected savings outweigh the refresh cost.
152
+ if (globalSettings.cacheWarming === undefined) {
153
+ settingsManager.setCacheWarmingMode('idle');
154
+ }
65
155
  }
66
156
  export function collectSettingsDiagnostics(settingsManager, context) {
67
157
  return settingsManager.drainErrors().map(({ scope, error }) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/agent/interactive/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/agent/interactive/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /** Pi theme setting that picks the Bkper light or dark theme from the terminal's appearance. */
2
+ export declare const BKPER_THEME_SETTING = "bkper-light/bkper-dark";
3
+ /** Directory of the bundled Bkper themes; `lib/agent/themes` in builds, `src/agent/themes` in sources. */
4
+ export declare function getBkperThemesDir(moduleDir?: string): string;
5
+ /**
6
+ * The theme setting for this invocation. Pi saves one of its built-in themes (system, dark, or
7
+ * light) at first run, so those are replaced by their Bkper counterparts; custom themes are kept.
8
+ * Nothing is saved, because Bkper shares its settings file with Pi, which does not load these themes.
9
+ */
10
+ export declare function resolveBkperInitialThemeSetting(settingsManager: {
11
+ getThemeSetting(): string | undefined;
12
+ }): string | undefined;
13
+ //# sourceMappingURL=themes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/themes.ts"],"names":[],"mappings":"AAGA,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAC7B,SAAS,GAAE,MAAqD,GACjE,MAAM,CAER;AAYD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,eAAe,EAAE;IAC7D,eAAe,IAAI,MAAM,GAAG,SAAS,CAAC;CACzC,GAAG,MAAM,GAAG,SAAS,CAYrB"}
@@ -0,0 +1,36 @@
1
+ import path from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
+ /** Pi theme setting that picks the Bkper light or dark theme from the terminal's appearance. */
4
+ export const BKPER_THEME_SETTING = 'bkper-light/bkper-dark';
5
+ /** Directory of the bundled Bkper themes; `lib/agent/themes` in builds, `src/agent/themes` in sources. */
6
+ export function getBkperThemesDir(moduleDir = path.dirname(fileURLToPath(import.meta.url))) {
7
+ return path.resolve(moduleDir, '..', 'themes');
8
+ }
9
+ const [BKPER_LIGHT_THEME, BKPER_DARK_THEME] = BKPER_THEME_SETTING.split('/');
10
+ /** Bkper's counterpart of a Pi built-in theme in a light or dark slot, or the theme itself. */
11
+ function toBkperTheme(theme, appearance) {
12
+ if (theme === 'light')
13
+ return BKPER_LIGHT_THEME;
14
+ if (theme === 'dark')
15
+ return BKPER_DARK_THEME;
16
+ if (theme === 'system')
17
+ return appearance === 'light' ? BKPER_LIGHT_THEME : BKPER_DARK_THEME;
18
+ return theme;
19
+ }
20
+ /**
21
+ * The theme setting for this invocation. Pi saves one of its built-in themes (system, dark, or
22
+ * light) at first run, so those are replaced by their Bkper counterparts; custom themes are kept.
23
+ * Nothing is saved, because Bkper shares its settings file with Pi, which does not load these themes.
24
+ */
25
+ export function resolveBkperInitialThemeSetting(settingsManager) {
26
+ const setting = settingsManager.getThemeSetting();
27
+ if (setting === undefined || setting === 'system') {
28
+ return BKPER_THEME_SETTING;
29
+ }
30
+ const slots = setting.split('/');
31
+ const resolved = slots.length === 2
32
+ ? `${toBkperTheme(slots[0], 'light')}/${toBkperTheme(slots[1], 'dark')}`
33
+ : toBkperTheme(setting, 'dark');
34
+ return resolved === setting ? undefined : resolved;
35
+ }
36
+ //# sourceMappingURL=themes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../src/agent/interactive/themes.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,gGAAgG;AAChG,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAE5D,0GAA0G;AAC1G,MAAM,UAAU,iBAAiB,CAC7B,YAAoB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE7E,+FAA+F;AAC/F,SAAS,YAAY,CAAC,KAAa,EAAE,UAA4B;IAC7D,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,iBAAiB,CAAC;IAChD,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,gBAAgB,CAAC;IAC9C,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC7F,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,eAE/C;IACG,MAAM,OAAO,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;IAClD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,QAAQ,GACV,KAAK,CAAC,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE;QACxE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AA6HA,wBAAgB,yBAAyB,CACrC,aAAa,GAAE,MAAM,EAAsC,GAC5D,MAAM,CAsDR;AA4BD,eAAO,MAAM,yBAAyB,QAKpC,CAAC"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AA2IA,wBAAgB,yBAAyB,CACrC,aAAa,GAAE,MAAM,EAAsC,GAC5D,MAAM,CAsDR;AA4BD,eAAO,MAAM,yBAAyB,QAKpC,CAAC"}
@@ -67,14 +67,23 @@ function getCodingToolDefinitions(selectedTools) {
67
67
  createWriteToolDefinition(process.cwd()),
68
68
  ].filter(definition => selectedTools.includes(definition.name));
69
69
  }
70
+ // Pi drops tool prompt snippets and guidelines when the system prompt is replaced, and does not
71
+ // export codemode's, so Bkper describes codemode itself.
72
+ const CODEMODE_PROMPT_SNIPPET = 'Run JavaScript that calls other tools (chains, loops, Promise.all, filtering large results)';
73
+ const CODEMODE_PROMPT_GUIDELINES = [
74
+ 'Use codemode, not shell loops or jq pipelines, to repeat commands across items, chain their output, or filter large results.',
75
+ 'Book writes in a codemode script need the same confirmation as single commands: resolve targets read-only, show the script and changes, run only after the user confirms, and report each item\'s result.',
76
+ ];
70
77
  function buildToolPromptSection(selectedTools) {
71
78
  const toolDefinitions = getCodingToolDefinitions(selectedTools);
72
- const toolLines = toolDefinitions
73
- .flatMap(definition => {
74
- const snippet = normalizePromptSnippet(definition.promptSnippet);
75
- return snippet ? [`- ${definition.name}: ${snippet}`] : [];
76
- })
77
- .join('\n');
79
+ const hasCodemode = selectedTools.includes('codemode');
80
+ const toolLines = [
81
+ ...toolDefinitions.flatMap(definition => {
82
+ const snippet = normalizePromptSnippet(definition.promptSnippet);
83
+ return snippet ? [`- ${definition.name}: ${snippet}`] : [];
84
+ }),
85
+ ...(hasCodemode ? [`- codemode: ${CODEMODE_PROMPT_SNIPPET}`] : []),
86
+ ].join('\n');
78
87
  const guidelineLines = [];
79
88
  const seenGuidelines = new Set();
80
89
  const addGuideline = (guideline) => {
@@ -96,6 +105,9 @@ function buildToolPromptSection(selectedTools) {
96
105
  addGuideline(guideline);
97
106
  }
98
107
  }
108
+ if (hasCodemode) {
109
+ CODEMODE_PROMPT_GUIDELINES.forEach(addGuideline);
110
+ }
99
111
  addGuideline('Do not claim builds, tests, or command results unless you actually ran them.');
100
112
  const toolsList = toolLines.length > 0 ? toolLines : '(none)';
101
113
  return `Available tools:\n${toolsList}\n\nIn addition to the tools above, you may have access to other custom tools depending on the project.\n\nGuidelines:\n${guidelineLines.join('\n')}`;
@@ -136,7 +148,7 @@ ${referenceDocsDir}
136
148
  - ALWAYS read index docs and follow references to specific docs before running any bkper CLI command.
137
149
  - For generic engineering work unrelated to Bkper, do not load Bkper reference docs unless directly relevant.
138
150
  - When scope is unclear, inspect local files and project instructions first; load reference docs only after identifying a concrete need.
139
- - If the task involves building or debugging pi extensions, custom tools, themes, or skills — read the pi docs directory and follow cross-references within:
151
+ - If the task involves building or debugging pi extensions, custom tools, themes, or skills — read the pi docs directory and follow cross-references within. Pi CLI commands in those docs run as \`bkper agent <command>\` (for example, \`pi mcp add\` is \`bkper agent mcp add\`):
140
152
 
141
153
  \`\`\`
142
154
  ${piDocsPath}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
3
+ "name": "bkper-dark",
4
+ "appearance": "dark",
5
+ "vars": {
6
+ "text": "okhsl(241 4% 89%)",
7
+ "muted": "okhsl(241 7% 67%)",
8
+ "blue": "okhsl(241 80% 68%)",
9
+ "sky": "okhsl(215 70% 76%)",
10
+ "teal": "okhsl(195 65% 74%)",
11
+ "green": "okhsl(149 68% 68%)",
12
+ "red": "okhsl(30 82% 67%)",
13
+ "yellow": "okhsl(81 96% 76%)",
14
+ "orange": "okhsl(55 92% 72%)",
15
+ "blueBg": "okhsl(241 45% 23%)"
16
+ },
17
+ "colors": {
18
+ "accent": "blue",
19
+ "border": "okhsl(241 60% 58%)",
20
+ "borderAccent": "okhsl(241 80% 66%)",
21
+ "borderMuted": "okhsl(241 8% 50%)",
22
+ "success": "green",
23
+ "error": "red",
24
+ "warning": "yellow",
25
+ "muted": "muted",
26
+ "dim": "okhsl(241 7% 55%)",
27
+ "text": "text",
28
+ "thinkingText": "okhsl(241 7% 65%)",
29
+ "selectedBg": "blueBg",
30
+ "scrollbarTrack": "okhsl(241 7% 33%)",
31
+ "scrollbarThumb": "okhsl(241 7% 65%)",
32
+ "searchMatchBg": "okhsl(81 55% 26%)",
33
+ "searchMatchText": "muted",
34
+ "userMessageBg": "okhsl(241 38% 21%)",
35
+ "userMessageText": "text",
36
+ "customMessageBg": "okhsl(81 35% 20%)",
37
+ "customMessageText": "muted",
38
+ "customMessageLabel": "yellow",
39
+ "toolPendingBg": "okhsl(241 6% 21%)",
40
+ "toolSuccessBg": "okhsl(149 30% 19%)",
41
+ "toolErrorBg": "okhsl(30 45% 21%)",
42
+ "toolTitle": "text",
43
+ "toolOutput": "muted",
44
+ "mdHeading": "yellow",
45
+ "mdLink": "blue",
46
+ "mdLinkUrl": "muted",
47
+ "mdCode": "teal",
48
+ "mdCodeBlock": "green",
49
+ "mdCodeBlockBorder": "muted",
50
+ "mdQuote": "muted",
51
+ "mdQuoteBorder": "muted",
52
+ "mdHr": "muted",
53
+ "mdListBullet": "blue",
54
+ "toolDiffAdded": "green",
55
+ "toolDiffRemoved": "red",
56
+ "toolDiffContext": "muted",
57
+ "syntaxComment": "muted",
58
+ "syntaxKeyword": "blue",
59
+ "syntaxFunction": "yellow",
60
+ "syntaxVariable": "sky",
61
+ "syntaxString": "orange",
62
+ "syntaxNumber": "green",
63
+ "syntaxType": "red",
64
+ "syntaxOperator": "muted",
65
+ "syntaxPunctuation": "muted",
66
+ "thinkingOff": "okhsl(241 6% 42%)",
67
+ "thinkingMinimal": "okhsl(241 18% 48%)",
68
+ "thinkingLow": "okhsl(241 35% 52%)",
69
+ "thinkingMedium": "okhsl(241 55% 57%)",
70
+ "thinkingHigh": "okhsl(241 72% 62%)",
71
+ "thinkingXhigh": "okhsl(236 92% 67%)",
72
+ "thinkingMax": "okhsl(30 92% 62%)",
73
+ "bashMode": "okhsl(149 70% 62%)"
74
+ },
75
+ "export": {
76
+ "pageBg": "okhsl(241 14% 15%)",
77
+ "cardBg": "okhsl(241 13% 18%)",
78
+ "infoBg": "okhsl(81 45% 22%)"
79
+ }
80
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
3
+ "name": "bkper-light",
4
+ "appearance": "light",
5
+ "vars": {
6
+ "text": "okhsl(241 6% 25%)",
7
+ "muted": "okhsl(241 8% 46%)",
8
+ "blue": "okhsl(241 85% 45%)",
9
+ "sky": "okhsl(215 80% 44%)",
10
+ "teal": "okhsl(195 90% 38%)",
11
+ "green": "okhsl(149 85% 42%)",
12
+ "red": "okhsl(30 90% 46%)",
13
+ "yellow": "okhsl(78 100% 47%)",
14
+ "orange": "okhsl(55 95% 48%)",
15
+ "blueBg": "okhsl(241 40% 91%)"
16
+ },
17
+ "colors": {
18
+ "accent": "blue",
19
+ "border": "okhsl(241 70% 55%)",
20
+ "borderAccent": "okhsl(241 85% 50%)",
21
+ "borderMuted": "okhsl(241 8% 70%)",
22
+ "success": "green",
23
+ "error": "red",
24
+ "warning": "yellow",
25
+ "muted": "muted",
26
+ "dim": "okhsl(241 7% 58%)",
27
+ "text": "text",
28
+ "thinkingText": "okhsl(241 8% 55%)",
29
+ "selectedBg": "blueBg",
30
+ "scrollbarTrack": "okhsl(241 4% 90%)",
31
+ "scrollbarThumb": "okhsl(241 7% 65%)",
32
+ "searchMatchBg": "okhsl(81 45% 88%)",
33
+ "searchMatchText": "muted",
34
+ "userMessageBg": "okhsl(241 45% 93%)",
35
+ "userMessageText": "text",
36
+ "customMessageBg": "okhsl(81 60% 92%)",
37
+ "customMessageText": "muted",
38
+ "customMessageLabel": "orange",
39
+ "toolPendingBg": "okhsl(241 5% 93%)",
40
+ "toolSuccessBg": "okhsl(149 35% 93%)",
41
+ "toolErrorBg": "okhsl(30 45% 93%)",
42
+ "toolTitle": "text",
43
+ "toolOutput": "muted",
44
+ "mdHeading": "yellow",
45
+ "mdLink": "blue",
46
+ "mdLinkUrl": "muted",
47
+ "mdCode": "teal",
48
+ "mdCodeBlock": "green",
49
+ "mdCodeBlockBorder": "muted",
50
+ "mdQuote": "muted",
51
+ "mdQuoteBorder": "muted",
52
+ "mdHr": "muted",
53
+ "mdListBullet": "blue",
54
+ "toolDiffAdded": "green",
55
+ "toolDiffRemoved": "red",
56
+ "toolDiffContext": "muted",
57
+ "syntaxComment": "muted",
58
+ "syntaxKeyword": "blue",
59
+ "syntaxFunction": "yellow",
60
+ "syntaxVariable": "sky",
61
+ "syntaxString": "orange",
62
+ "syntaxNumber": "green",
63
+ "syntaxType": "red",
64
+ "syntaxOperator": "muted",
65
+ "syntaxPunctuation": "muted",
66
+ "thinkingOff": "okhsl(241 5% 80%)",
67
+ "thinkingMinimal": "okhsl(241 15% 74%)",
68
+ "thinkingLow": "okhsl(241 35% 66%)",
69
+ "thinkingMedium": "okhsl(241 55% 58%)",
70
+ "thinkingHigh": "okhsl(241 75% 52%)",
71
+ "thinkingXhigh": "okhsl(236 92% 48%)",
72
+ "thinkingMax": "okhsl(30 92% 52%)",
73
+ "bashMode": "okhsl(149 75% 50%)"
74
+ },
75
+ "export": {
76
+ "pageBg": "okhsl(241 5% 95%)",
77
+ "cardBg": "okhsl(241 6% 98%)",
78
+ "infoBg": "okhsl(81 50% 92%)"
79
+ }
80
+ }
package/lib/cli.js CHANGED
@@ -29,7 +29,7 @@ import { getUnsupportedNodeVersionMessage } from './utils/node-version.js';
29
29
  function registerAgentCommands(command) {
30
30
  command
31
31
  .command('agent [piArgs...]')
32
- .description('Start Bkper Agent or run Pi CLI with Bkper defaults')
32
+ .description('Start Bkper Agent, or run Pi CLI commands as `bkper agent <command>` (e.g. `bkper agent mcp add`)')
33
33
  .allowUnknownOption(true)
34
34
  .allowExcessArguments(true);
35
35
  }