codebuff 1.0.219 → 1.0.220

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 (121) hide show
  1. package/dist/checkpoints/checkpoint-manager.d.ts +1 -1
  2. package/dist/checkpoints/checkpoint-manager.js +8 -6
  3. package/dist/checkpoints/checkpoint-manager.js.map +1 -1
  4. package/dist/cli-handlers/api-key.d.ts +25 -0
  5. package/dist/cli-handlers/api-key.js +66 -0
  6. package/dist/cli-handlers/api-key.js.map +1 -0
  7. package/dist/cli-handlers/checkpoint.d.ts +18 -0
  8. package/dist/cli-handlers/checkpoint.js +195 -0
  9. package/dist/cli-handlers/checkpoint.js.map +1 -0
  10. package/dist/cli-handlers/diff.d.ts +2 -0
  11. package/dist/cli-handlers/diff.js +31 -0
  12. package/dist/cli-handlers/diff.js.map +1 -0
  13. package/dist/cli-handlers/easter-egg.d.ts +1 -0
  14. package/dist/cli-handlers/easter-egg.js +126 -0
  15. package/dist/cli-handlers/easter-egg.js.map +1 -0
  16. package/dist/cli.d.ts +0 -18
  17. package/dist/cli.js +70 -397
  18. package/dist/cli.js.map +1 -1
  19. package/dist/client.d.ts +11 -11
  20. package/dist/client.js +123 -45
  21. package/dist/client.js.map +1 -1
  22. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  23. package/dist/common/actions.d.ts +288 -264
  24. package/dist/common/actions.js +10 -4
  25. package/dist/common/actions.js.map +1 -1
  26. package/dist/common/advanced-analyzer.d.ts +19 -0
  27. package/dist/common/advanced-analyzer.js +140 -0
  28. package/dist/common/advanced-analyzer.js.map +1 -0
  29. package/dist/common/billing/auto-topup.d.ts +8 -0
  30. package/dist/common/billing/auto-topup.js +192 -0
  31. package/dist/common/billing/auto-topup.js.map +1 -0
  32. package/dist/common/billing/balance-calculator.d.ts +55 -0
  33. package/dist/common/billing/balance-calculator.js +207 -0
  34. package/dist/common/billing/balance-calculator.js.map +1 -0
  35. package/dist/common/billing/check-auto-topup.d.ts +12 -0
  36. package/dist/common/billing/check-auto-topup.js +50 -0
  37. package/dist/common/billing/check-auto-topup.js.map +1 -0
  38. package/dist/common/billing/conversion.d.ts +9 -0
  39. package/dist/common/billing/conversion.js +20 -0
  40. package/dist/common/billing/conversion.js.map +1 -0
  41. package/dist/common/billing/credit-check.d.ts +8 -0
  42. package/dist/common/billing/credit-check.js +45 -0
  43. package/dist/common/billing/credit-check.js.map +1 -0
  44. package/dist/common/billing/credit-conversion.d.ts +24 -0
  45. package/dist/common/billing/credit-conversion.js +48 -0
  46. package/dist/common/billing/credit-conversion.js.map +1 -0
  47. package/dist/common/billing/grant-credits.d.ts +28 -0
  48. package/dist/common/billing/grant-credits.js +201 -0
  49. package/dist/common/billing/grant-credits.js.map +1 -0
  50. package/dist/common/billing/plans.d.ts +13 -0
  51. package/dist/common/billing/plans.js +44 -0
  52. package/dist/common/billing/plans.js.map +1 -0
  53. package/dist/common/billing/rollover-logic.d.ts +13 -0
  54. package/dist/common/billing/rollover-logic.js +174 -0
  55. package/dist/common/billing/rollover-logic.js.map +1 -0
  56. package/dist/common/billing/stripe-api.d.ts +31 -0
  57. package/dist/common/billing/stripe-api.js +104 -0
  58. package/dist/common/billing/stripe-api.js.map +1 -0
  59. package/dist/common/browser-actions.d.ts +62 -62
  60. package/dist/common/constants/grant-priorities.d.ts +2 -0
  61. package/dist/common/constants/grant-priorities.js +10 -0
  62. package/dist/common/constants/grant-priorities.js.map +1 -0
  63. package/dist/common/constants.d.ts +28 -1
  64. package/dist/common/constants.js +36 -7
  65. package/dist/common/constants.js.map +1 -1
  66. package/dist/common/db/schema.d.ts +323 -86
  67. package/dist/common/db/schema.js +55 -13
  68. package/dist/common/db/schema.js.map +1 -1
  69. package/dist/common/env.mjs +4 -1
  70. package/dist/common/env.mjs.map +1 -1
  71. package/dist/common/message-image-handling.d.ts +41 -0
  72. package/dist/common/message-image-handling.js +57 -0
  73. package/dist/common/message-image-handling.js.map +1 -0
  74. package/dist/common/types/agent-state.d.ts +8 -8
  75. package/dist/common/types/grant.d.ts +2 -0
  76. package/dist/common/types/grant.js +10 -0
  77. package/dist/common/types/grant.js.map +1 -0
  78. package/dist/common/types/usage.d.ts +37 -18
  79. package/dist/common/types/usage.js +9 -6
  80. package/dist/common/types/usage.js.map +1 -1
  81. package/dist/common/util/__tests__/saxy.test.d.ts +1 -0
  82. package/dist/common/util/__tests__/saxy.test.js +262 -0
  83. package/dist/common/util/__tests__/saxy.test.js.map +1 -0
  84. package/dist/common/util/credentials.d.ts +2 -2
  85. package/dist/common/util/dates.d.ts +10 -1
  86. package/dist/common/util/dates.js +11 -2
  87. package/dist/common/util/dates.js.map +1 -1
  88. package/dist/common/util/logger.js +32 -14
  89. package/dist/common/util/logger.js.map +1 -1
  90. package/dist/common/util/process-stream.d.ts +8 -0
  91. package/dist/common/util/process-stream.js +102 -0
  92. package/dist/common/util/process-stream.js.map +1 -0
  93. package/dist/common/util/promise.d.ts +1 -1
  94. package/dist/common/util/promise.js +2 -2
  95. package/dist/common/util/promise.js.map +1 -1
  96. package/dist/common/util/referral-credits.d.ts +1 -0
  97. package/dist/common/util/referral-credits.js +48 -0
  98. package/dist/common/util/referral-credits.js.map +1 -0
  99. package/dist/common/util/saxy.d.ts +8 -0
  100. package/dist/common/util/saxy.js +35 -12
  101. package/dist/common/util/saxy.js.map +1 -1
  102. package/dist/common/util/sync-failure.d.ts +1 -0
  103. package/dist/common/util/sync-failure.js +57 -0
  104. package/dist/common/util/sync-failure.js.map +1 -0
  105. package/dist/common/websockets/websocket-schema.d.ts +530 -480
  106. package/dist/index.js +1 -1
  107. package/dist/utils/__tests__/xml-stream-parser.test.js +6 -10
  108. package/dist/utils/__tests__/xml-stream-parser.test.js.map +1 -1
  109. package/package.json +1 -1
  110. package/dist/common/logger.d.ts +0 -1
  111. package/dist/common/logger.js +0 -7
  112. package/dist/common/logger.js.map +0 -1
  113. package/dist/common/util/constants.d.ts +0 -1
  114. package/dist/common/util/constants.js +0 -7
  115. package/dist/common/util/constants.js.map +0 -1
  116. package/dist/common/util/helpers.d.ts +0 -1
  117. package/dist/common/util/helpers.js +0 -6
  118. package/dist/common/util/helpers.js.map +0 -1
  119. package/dist/common/util/token-counter.d.ts +0 -3
  120. package/dist/common/util/token-counter.js +0 -27
  121. package/dist/common/util/token-counter.js.map +0 -1
@@ -57,7 +57,7 @@ export declare class CheckpointManager {
57
57
  * @returns The latest checkpoint and whether that checkpoint was created (or already existed)
58
58
  * @throws {Error} If the checkpoint cannot be added
59
59
  */
60
- addCheckpoint(agentState: AgentState, lastToolResults: ToolResult[], userInput: string): Promise<{
60
+ addCheckpoint(agentState: AgentState, lastToolResults: ToolResult[], userInput: string, saveWithNoChanges?: boolean): Promise<{
61
61
  checkpoint: Checkpoint;
62
62
  created: boolean;
63
63
  }>;
@@ -97,7 +97,7 @@ class CheckpointManager {
97
97
  * @returns The latest checkpoint and whether that checkpoint was created (or already existed)
98
98
  * @throws {Error} If the checkpoint cannot be added
99
99
  */
100
- async addCheckpoint(agentState, lastToolResults, userInput) {
100
+ async addCheckpoint(agentState, lastToolResults, userInput, saveWithNoChanges = false) {
101
101
  if (this.disabledReason !== null) {
102
102
  throw new CheckpointsDisabledError(this.disabledReason);
103
103
  }
@@ -113,11 +113,13 @@ class CheckpointManager {
113
113
  this.disabledReason = 'Project too large';
114
114
  throw new CheckpointsDisabledError(this.disabledReason);
115
115
  }
116
- const needToStage = await (0, file_manager_1.hasUnsavedChanges)({
117
- projectDir,
118
- bareRepoPath,
119
- relativeFilepaths,
120
- });
116
+ const needToStage = saveWithNoChanges ||
117
+ (await (0, file_manager_1.hasUnsavedChanges)({
118
+ projectDir,
119
+ bareRepoPath,
120
+ relativeFilepaths,
121
+ })) ||
122
+ saveWithNoChanges;
121
123
  if (!needToStage && this.checkpoints.length > 0) {
122
124
  return {
123
125
  checkpoint: this.checkpoints[this.checkpoints.length - 1],
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-manager.js","sourceRoot":"","sources":["../../src/checkpoints/checkpoint-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-manager.js","sourceRoot":"","sources":["../../src/checkpoints/checkpoint-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { Client } from '../client';
2
+ import { ApiKeyType } from '../common/api-keys/constants';
3
+ export type ApiKeyDetectionResult = {
4
+ status: 'found';
5
+ type: ApiKeyType;
6
+ key: string;
7
+ } | {
8
+ status: 'prefix_only';
9
+ type: ApiKeyType;
10
+ prefix: string;
11
+ length: number;
12
+ } | {
13
+ status: 'not_found';
14
+ };
15
+ /**
16
+ * Detects if the user input contains a known API key pattern.
17
+ * Returns information about the detected key or prefix.
18
+ */
19
+ export declare function detectApiKey(userInput: string): ApiKeyDetectionResult;
20
+ /**
21
+ * Handles the result of API key detection.
22
+ */
23
+ export declare function handleApiKeyInput(client: Client, detectionResult: Exclude<ApiKeyDetectionResult, {
24
+ status: 'not_found';
25
+ }>, readyPromise: Promise<any>, returnControlToUser: () => void): Promise<void>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.detectApiKey = detectApiKey;
4
+ exports.handleApiKeyInput = handleApiKeyInput;
5
+ const picocolors_1 = require("picocolors");
6
+ const constants_1 = require("../common/api-keys/constants");
7
+ /**
8
+ * Detects if the user input contains a known API key pattern.
9
+ * Returns information about the detected key or prefix.
10
+ */
11
+ function detectApiKey(userInput) {
12
+ // Build regex patterns for each key type
13
+ const keyPatterns = constants_1.API_KEY_TYPES.map((keyType) => {
14
+ const prefix = constants_1.KEY_PREFIXES[keyType];
15
+ const length = constants_1.KEY_LENGTHS[keyType];
16
+ const escapedPrefix = prefix.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
17
+ return {
18
+ type: keyType,
19
+ prefix: prefix,
20
+ length: length,
21
+ // Regex to find the key potentially surrounded by whitespace or at start/end
22
+ regex: new RegExp(`(?:^|\\s)(${escapedPrefix}[^\\s]{${length - prefix.length}})(?:\\s|$)`),
23
+ };
24
+ });
25
+ // Test input against each pattern for a full match
26
+ for (const patternInfo of keyPatterns) {
27
+ const match = userInput.match(patternInfo.regex);
28
+ if (match && match[1]) {
29
+ // Found a full, valid key pattern
30
+ return { status: 'found', type: patternInfo.type, key: match[1] };
31
+ }
32
+ }
33
+ // If no full key matched, check if the input *starts* with any known prefix
34
+ for (const patternInfo of keyPatterns) {
35
+ if (userInput.includes(patternInfo.prefix)) {
36
+ // Found a prefix, but it didn't match the full pattern (wrong length/format)
37
+ return {
38
+ status: 'prefix_only',
39
+ type: patternInfo.type,
40
+ prefix: patternInfo.prefix,
41
+ length: patternInfo.length,
42
+ };
43
+ }
44
+ }
45
+ // No valid key or known prefix detected
46
+ return { status: 'not_found' };
47
+ }
48
+ /**
49
+ * Handles the result of API key detection.
50
+ */
51
+ async function handleApiKeyInput(client, detectionResult, readyPromise, returnControlToUser) {
52
+ switch (detectionResult.status) {
53
+ case 'found':
54
+ await readyPromise;
55
+ // Call the client method to add the valid key
56
+ await client.handleAddApiKey(detectionResult.type, detectionResult.key);
57
+ // Note: client.handleAddApiKey calls returnControlToUser internally
58
+ break;
59
+ case 'prefix_only':
60
+ // Print the warning for incorrect format/length
61
+ console.log((0, picocolors_1.yellow)(`Input looks like a ${detectionResult.type} API key but has the wrong length or format. Expected ${detectionResult.length} characters starting with "${detectionResult.prefix}".`));
62
+ returnControlToUser(); // Give the user a fresh prompt after the warning
63
+ break;
64
+ }
65
+ }
66
+ //# sourceMappingURL=api-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key.js","sourceRoot":"","sources":["../../src/cli-handlers/api-key.ts"],"names":[],"mappings":";;AAaA,oCAyCC;AAKD,8CA0BC;AArFD,2CAAmC;AAEnC,yDAAgG;AAOhG;;;GAGG;AACH,SAAgB,YAAY,CAAC,SAAiB;IAC5C,yCAAyC;IACzC,MAAM,WAAW,GAAG,yBAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,wBAAY,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,MAAM,GAAG,uBAAW,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAA;QACtE,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,6EAA6E;YAC7E,KAAK,EAAE,IAAI,MAAM,CACf,aAAa,aAAa,UAAU,MAAM,GAAG,MAAM,CAAC,MAAM,aAAa,CACxE;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,mDAAmD;IACnD,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,kCAAkC;YAClC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACnE,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;QACtC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,6EAA6E;YAC7E,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAA;QACH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;AAChC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,eAAwE,EACxE,YAA0B,EAC1B,mBAA+B;IAE/B,QAAQ,eAAe,CAAC,MAAM,EAAE,CAAC;QAC/B,KAAK,OAAO;YACV,MAAM,YAAY,CAAA;YAClB,8CAA8C;YAC9C,MAAM,MAAM,CAAC,eAAe,CAC1B,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,GAAG,CACpB,CAAA;YACD,oEAAoE;YACpE,MAAK;QACP,KAAK,aAAa;YAChB,gDAAgD;YAChD,OAAO,CAAC,GAAG,CACT,IAAA,mBAAM,EACJ,sBAAsB,eAAe,CAAC,IAAI,yDAAyD,eAAe,CAAC,MAAM,8BAA8B,eAAe,CAAC,MAAM,IAAI,CAClL,CACF,CAAA;YACD,mBAAmB,EAAE,CAAA,CAAC,iDAAiD;YACvE,MAAK;IACT,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Interface as ReadlineInterface } from 'readline';
2
+ import type { Client } from '../client';
3
+ export declare const checkpointCommands: {
4
+ readonly save: readonly [readonly ["checkpoint"], "Save current state as a new checkpoint"];
5
+ readonly list: readonly [readonly ["checkpoint list", "checkpoints"], "List all saved checkpoints"];
6
+ readonly clear: readonly [readonly ["checkpoint clear"], "Clear all checkpoints"];
7
+ readonly undo: readonly [readonly ["undo", "u"], "Undo to previous checkpoint"];
8
+ readonly redo: readonly [readonly ["redo", "r"], "Redo previously undone checkpoint"];
9
+ readonly restore: readonly [readonly [RegExp], "Restore to checkpoint number <n>"];
10
+ };
11
+ export declare function displayCheckpointMenu(): void;
12
+ export declare function isCheckpointCommand(userInput: string, type?: keyof typeof checkpointCommands | null): boolean | RegExpMatchArray;
13
+ export declare function listCheckpoints(): Promise<void>;
14
+ export declare function handleUndo(client: Client, rl: ReadlineInterface): Promise<string>;
15
+ export declare function handleRedo(client: Client, rl: ReadlineInterface): Promise<string>;
16
+ export declare function handleRestoreCheckpoint(id: number, client: Client, rl: ReadlineInterface): Promise<string>;
17
+ export declare function handleClearCheckpoints(): void;
18
+ export declare function saveCheckpoint(userInput: string, client: Client, readyPromise: Promise<any>, saveWithNoChanges?: boolean): Promise<void>;
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkpointCommands = void 0;
4
+ exports.displayCheckpointMenu = displayCheckpointMenu;
5
+ exports.isCheckpointCommand = isCheckpointCommand;
6
+ exports.listCheckpoints = listCheckpoints;
7
+ exports.handleUndo = handleUndo;
8
+ exports.handleRedo = handleRedo;
9
+ exports.handleRestoreCheckpoint = handleRestoreCheckpoint;
10
+ exports.handleClearCheckpoints = handleClearCheckpoints;
11
+ exports.saveCheckpoint = saveCheckpoint;
12
+ const picocolors_1 = require("picocolors");
13
+ const checkpoint_manager_1 = require("../checkpoints/checkpoint-manager");
14
+ const spinner_1 = require("../utils/spinner");
15
+ exports.checkpointCommands = {
16
+ save: [['checkpoint'], 'Save current state as a new checkpoint'],
17
+ list: [['checkpoint list', 'checkpoints'], 'List all saved checkpoints'],
18
+ clear: [['checkpoint clear'], 'Clear all checkpoints'],
19
+ undo: [['undo', 'u'], 'Undo to previous checkpoint'],
20
+ redo: [['redo', 'r'], 'Redo previously undone checkpoint'],
21
+ restore: [[/^checkpoint\s+(\d+)$/], 'Restore to checkpoint number <n>'],
22
+ };
23
+ const allCheckpointCommands = Object.entries(exports.checkpointCommands)
24
+ .map((entry) => entry[1][0])
25
+ .flat();
26
+ function displayCheckpointMenu() {
27
+ console.log('\n' + (0, picocolors_1.bold)((0, picocolors_1.underline)('Checkpoint Commands:')));
28
+ Object.entries(exports.checkpointCommands).forEach(([, [aliases, description]]) => {
29
+ const formattedAliases = aliases
30
+ .map((a) => (typeof a === 'string' ? (0, picocolors_1.cyan)(a) : (0, picocolors_1.cyan)('checkpoint <n>')))
31
+ .join(', ');
32
+ console.log(`${formattedAliases} - ${description}`);
33
+ });
34
+ console.log();
35
+ }
36
+ function isCheckpointCommand(userInput, type = null) {
37
+ if (type === null) {
38
+ if (userInput.startsWith('checkpoint')) {
39
+ return true;
40
+ }
41
+ for (const pattern of allCheckpointCommands) {
42
+ if (pattern instanceof RegExp) {
43
+ const m = userInput.match(pattern);
44
+ if (m) {
45
+ return m;
46
+ }
47
+ }
48
+ if (userInput === pattern) {
49
+ return true;
50
+ }
51
+ }
52
+ return false;
53
+ }
54
+ for (const pattern of exports.checkpointCommands[type][0]) {
55
+ if (pattern instanceof RegExp) {
56
+ const m = userInput.match(pattern);
57
+ if (m) {
58
+ return m;
59
+ }
60
+ }
61
+ if (userInput === pattern) {
62
+ return true;
63
+ }
64
+ }
65
+ return false;
66
+ }
67
+ async function listCheckpoints() {
68
+ console.log(checkpoint_manager_1.checkpointManager.getCheckpointsAsString());
69
+ }
70
+ async function handleUndo(client, rl) {
71
+ let failed = false;
72
+ try {
73
+ await checkpoint_manager_1.checkpointManager.restoreUndoCheckpoint();
74
+ }
75
+ catch (error) {
76
+ failed = true;
77
+ if (error instanceof checkpoint_manager_1.CheckpointsDisabledError) {
78
+ console.log((0, picocolors_1.red)(`Checkpoints not enabled: ${error.message}`));
79
+ }
80
+ else {
81
+ console.log((0, picocolors_1.red)(`Unable to undo: ${error.message}`));
82
+ }
83
+ }
84
+ let userInput = '';
85
+ if (!failed) {
86
+ const currentCheckpoint = checkpoint_manager_1.checkpointManager.checkpoints[checkpoint_manager_1.checkpointManager.currentCheckpointId - 1];
87
+ // Restore the agentState
88
+ client.agentState = JSON.parse(currentCheckpoint.agentStateString);
89
+ client.lastToolResults = JSON.parse(currentCheckpoint.lastToolResultsString);
90
+ console.log((0, picocolors_1.green)(`Checkpoint #${checkpoint_manager_1.checkpointManager.currentCheckpointId} restored.`));
91
+ userInput =
92
+ checkpoint_manager_1.checkpointManager.checkpoints[checkpoint_manager_1.checkpointManager.currentCheckpointId - 1]
93
+ ?.userInput ?? '';
94
+ }
95
+ return isCheckpointCommand(userInput) ? '' : userInput;
96
+ }
97
+ async function handleRedo(client, rl) {
98
+ let failed = false;
99
+ try {
100
+ await checkpoint_manager_1.checkpointManager.restoreRedoCheckpoint();
101
+ }
102
+ catch (error) {
103
+ failed = true;
104
+ if (error instanceof checkpoint_manager_1.CheckpointsDisabledError) {
105
+ console.log((0, picocolors_1.red)(`Checkpoints not enabled: ${error.message}`));
106
+ }
107
+ else {
108
+ console.log((0, picocolors_1.red)(`Unable to redo: ${error.message}`));
109
+ }
110
+ }
111
+ let userInput = '';
112
+ if (!failed) {
113
+ const currentCheckpoint = checkpoint_manager_1.checkpointManager.checkpoints[checkpoint_manager_1.checkpointManager.currentCheckpointId - 1];
114
+ // Restore the agentState
115
+ client.agentState = JSON.parse(currentCheckpoint.agentStateString);
116
+ client.lastToolResults = JSON.parse(currentCheckpoint.lastToolResultsString);
117
+ console.log((0, picocolors_1.green)(`Checkpoint #${checkpoint_manager_1.checkpointManager.currentCheckpointId} restored.`));
118
+ userInput =
119
+ checkpoint_manager_1.checkpointManager.checkpoints[checkpoint_manager_1.checkpointManager.currentCheckpointId - 1]
120
+ ?.userInput ?? '';
121
+ }
122
+ return isCheckpointCommand(userInput) ? '' : userInput;
123
+ }
124
+ async function handleRestoreCheckpoint(id, client, rl) {
125
+ spinner_1.Spinner.get().start();
126
+ if (checkpoint_manager_1.checkpointManager.disabledReason !== null) {
127
+ console.log((0, picocolors_1.red)(`Checkpoints not enabled: ${checkpoint_manager_1.checkpointManager.disabledReason}`));
128
+ return '';
129
+ }
130
+ const checkpoint = checkpoint_manager_1.checkpointManager.checkpoints[id - 1];
131
+ if (!checkpoint) {
132
+ console.log((0, picocolors_1.red)(`Checkpoint #${id} not found.`));
133
+ return '';
134
+ }
135
+ try {
136
+ // Wait for save before trying to restore checkpoint
137
+ const latestCheckpoint = checkpoint_manager_1.checkpointManager.getLatestCheckpoint();
138
+ await latestCheckpoint?.fileStateIdPromise;
139
+ }
140
+ catch (error) {
141
+ // Should never happen
142
+ }
143
+ // Restore the agentState
144
+ client.agentState = JSON.parse(checkpoint.agentStateString);
145
+ client.lastToolResults = JSON.parse(checkpoint.lastToolResultsString);
146
+ let failed = false;
147
+ try {
148
+ // Restore file state
149
+ await checkpoint_manager_1.checkpointManager.restoreCheckointFileState({
150
+ id: checkpoint.id,
151
+ resetUndoIds: true,
152
+ });
153
+ }
154
+ catch (error) {
155
+ failed = true;
156
+ spinner_1.Spinner.get().stop();
157
+ console.log((0, picocolors_1.red)(`Unable to restore checkpoint: ${error.message}`));
158
+ }
159
+ if (!failed) {
160
+ spinner_1.Spinner.get().stop();
161
+ console.log((0, picocolors_1.green)(`Restored to checkpoint #${id}.`));
162
+ }
163
+ // Insert the original user input that created this checkpoint
164
+ return isCheckpointCommand(checkpoint.userInput) ? '' : checkpoint.userInput;
165
+ }
166
+ function handleClearCheckpoints() {
167
+ checkpoint_manager_1.checkpointManager.clearCheckpoints();
168
+ console.log('Cleared all checkpoints.');
169
+ }
170
+ async function saveCheckpoint(userInput, client, readyPromise, saveWithNoChanges = false) {
171
+ if (checkpoint_manager_1.checkpointManager.disabledReason !== null) {
172
+ return;
173
+ }
174
+ spinner_1.Spinner.get().start();
175
+ await readyPromise;
176
+ spinner_1.Spinner.get().stop();
177
+ try {
178
+ // Make sure the previous checkpoint is done
179
+ await checkpoint_manager_1.checkpointManager.getLatestCheckpoint().fileStateIdPromise;
180
+ }
181
+ catch (error) {
182
+ // No latest checkpoint available, no need to wait
183
+ }
184
+ // Save the current agent state
185
+ try {
186
+ const { checkpoint, created } = await checkpoint_manager_1.checkpointManager.addCheckpoint(client.agentState, client.lastToolResults, userInput, saveWithNoChanges);
187
+ if (created) {
188
+ console.log(`[checkpoint #${checkpoint.id} saved]`);
189
+ }
190
+ }
191
+ catch (error) {
192
+ // Unable to add checkpoint, do not display anything to user
193
+ }
194
+ }
195
+ //# sourceMappingURL=checkpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/cli-handlers/checkpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { FileChange } from '../common/actions';
2
+ export declare function handleDiff(lastChanges: FileChange[]): void;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleDiff = handleDiff;
4
+ const picocolors_1 = require("picocolors");
5
+ function handleDiff(lastChanges) {
6
+ if (lastChanges.length === 0) {
7
+ console.log((0, picocolors_1.yellow)('No changes found in the last assistant response.'));
8
+ return;
9
+ }
10
+ lastChanges.forEach((change) => {
11
+ console.log((0, picocolors_1.bold)(`___${change.path}___`));
12
+ const lines = change.content
13
+ .split('\n')
14
+ .map((line) => (change.type === 'file' ? '+' + line : line));
15
+ lines.forEach((line) => {
16
+ if (line.startsWith('+')) {
17
+ console.log((0, picocolors_1.green)(line));
18
+ }
19
+ else if (line.startsWith('-')) {
20
+ console.log((0, picocolors_1.red)(line));
21
+ }
22
+ else if (line.startsWith('@@')) {
23
+ console.log((0, picocolors_1.cyan)(line));
24
+ }
25
+ else {
26
+ console.log(line);
27
+ }
28
+ });
29
+ });
30
+ }
31
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/cli-handlers/diff.ts"],"names":[],"mappings":";;AAGA,gCAwBC;AA1BD,2CAA2D;AAE3D,SAAgB,UAAU,CAAC,WAAyB;IAClD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAM,EAAC,kDAAkD,CAAC,CAAC,CAAA;QACvE,OAAM;IACR,CAAC;IAED,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO;aACzB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAE9D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,IAAA,kBAAK,EAAC,IAAI,CAAC,CAAC,CAAA;YAC1B,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,IAAA,gBAAG,EAAC,IAAI,CAAC,CAAC,CAAA;YACxB,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,IAAI,CAAC,CAAC,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function showEasterEgg(complete: () => void): Promise<void>;
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.showEasterEgg = showEasterEgg;
4
+ const picocolors_1 = require("picocolors");
5
+ // Utility: clear the terminal screen
6
+ function clearScreen() {
7
+ process.stdout.write('\u001b[2J\u001b[0;0H');
8
+ }
9
+ // Utility: Generate a set of points tracing a "C" shape using an arc.
10
+ function generateCPath(cx, cy, r, steps) {
11
+ const points = [];
12
+ // A typical "C" opens to the right: from 45° to 315° (in radians)
13
+ const startAngle = Math.PI / 4;
14
+ const endAngle = (7 * Math.PI) / 4;
15
+ const angleStep = (endAngle - startAngle) / steps;
16
+ for (let i = 0; i <= steps; i++) {
17
+ const angle = startAngle + i * angleStep;
18
+ const x = Math.floor(cx + r * Math.cos(angle));
19
+ const y = Math.floor(cy + r * Math.sin(angle));
20
+ points.push({ x, y });
21
+ }
22
+ return points;
23
+ }
24
+ // Utility: Generate points along a quadratic Bézier curve.
25
+ function quadraticBezier(P0, P1, P2, steps) {
26
+ const points = [];
27
+ for (let i = 0; i <= steps; i++) {
28
+ const t = i / steps;
29
+ const x = Math.round((1 - t) ** 2 * P0.x + 2 * (1 - t) * t * P1.x + t ** 2 * P2.x);
30
+ const y = Math.round((1 - t) ** 2 * P0.y + 2 * (1 - t) * t * P1.y + t ** 2 * P2.y);
31
+ points.push({ x, y });
32
+ }
33
+ return points;
34
+ }
35
+ // Generate a vertical line from startY to endY at a given x.
36
+ function generateVerticalLine(x, startY, endY) {
37
+ const points = [];
38
+ const step = startY < endY ? 1 : -1;
39
+ for (let y = startY; y !== endY; y += step) {
40
+ points.push({ x, y });
41
+ }
42
+ points.push({ x, y: endY });
43
+ return points;
44
+ }
45
+ // Generate a path approximating a B shape using two quadratic Bézier curves
46
+ // for the rounded bubbles, and then closing the shape with a vertical spine.
47
+ function generateBPath(bX, bYTop, bYBottom, bWidth, bGap, stepsPerCurve) {
48
+ let points = [];
49
+ const middle = Math.floor((bYTop + bYBottom) / 2);
50
+ // Upper bubble: from top-left (spine) out then back to the spine at the middle.
51
+ const upperStart = { x: bX, y: bYTop };
52
+ const upperControl = {
53
+ x: bX + bWidth + bGap - 10,
54
+ y: Math.floor((bYTop + middle) / 2),
55
+ };
56
+ const upperEnd = { x: bX, y: middle };
57
+ const upperCurve = quadraticBezier(upperStart, upperControl, upperEnd, stepsPerCurve);
58
+ // Lower bubble: from the middle to the bottom.
59
+ const lowerStart = { x: bX, y: middle };
60
+ const lowerControl = {
61
+ x: bX + bWidth + bGap,
62
+ y: Math.floor((middle + bYBottom) / 2),
63
+ };
64
+ const lowerEnd = { x: bX, y: bYBottom };
65
+ const lowerCurve = quadraticBezier(lowerStart, lowerControl, lowerEnd, stepsPerCurve);
66
+ // Combine the curves.
67
+ points = points.concat(upperCurve, lowerCurve);
68
+ // Add a vertical line from the bottom of the B back up to the top.
69
+ const closingLine = generateVerticalLine(bX, bYBottom, bYTop);
70
+ points = points.concat(closingLine);
71
+ return points;
72
+ }
73
+ // Array of picocolors functions for random colors.
74
+ const colors = [picocolors_1.red, picocolors_1.green, picocolors_1.yellow, picocolors_1.blue, picocolors_1.magenta, picocolors_1.cyan];
75
+ function getRandomColor() {
76
+ return colors[Math.floor(Math.random() * colors.length)];
77
+ }
78
+ async function showEasterEgg(complete) {
79
+ const text = 'codebuffy';
80
+ const termWidth = process.stdout.columns;
81
+ const termHeight = process.stdout.rows;
82
+ const baselineWidth = 80;
83
+ const baselineHeight = 24;
84
+ const scaleFactor = Math.min(termWidth / baselineWidth, termHeight / baselineHeight);
85
+ // Dynamically scale parameters for the shapes.
86
+ // Use Math.max to ensure values don't get too small.
87
+ const cCenterX = Math.floor(termWidth * 0.3);
88
+ const cCenterY = Math.floor(termHeight / 2);
89
+ const cRadius = Math.max(2, Math.floor(8 * scaleFactor));
90
+ const cSteps = Math.max(10, Math.floor(30 * scaleFactor));
91
+ const bX = Math.floor(termWidth * 0.55);
92
+ const bYTop = Math.floor(termHeight / 2 - 7 * scaleFactor);
93
+ const bYBottom = Math.floor(termHeight / 2 + 7 * scaleFactor);
94
+ const bWidth = Math.max(2, Math.floor(8 * scaleFactor));
95
+ const bGap = Math.max(1, Math.floor(35 * scaleFactor));
96
+ const bStepsPerCurve = Math.max(10, Math.floor(20 * scaleFactor));
97
+ // Generate the paths.
98
+ const fullPath = [
99
+ ...generateCPath(cCenterX, cCenterY, cRadius, cSteps),
100
+ ...generateBPath(bX, bYTop, bYBottom, bWidth, bGap, bStepsPerCurve),
101
+ ];
102
+ // Animation state: index into the fullPath.
103
+ let index = 0;
104
+ let completedCycle = false;
105
+ // Main animation function
106
+ function animate() {
107
+ if (index >= fullPath.length) {
108
+ completedCycle = true;
109
+ return;
110
+ }
111
+ const { x, y } = fullPath[index];
112
+ const cursorPosition = `\u001b[${y + 1};${x + 1}H`;
113
+ process.stdout.write(cursorPosition + getRandomColor()(text));
114
+ index++;
115
+ }
116
+ clearScreen();
117
+ const interval = setInterval(() => {
118
+ animate();
119
+ if (completedCycle) {
120
+ clearInterval(interval);
121
+ clearScreen();
122
+ complete();
123
+ }
124
+ }, 100);
125
+ }
126
+ //# sourceMappingURL=easter-egg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easter-egg.js","sourceRoot":"","sources":["../../src/cli-handlers/easter-egg.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -26,33 +26,15 @@ export declare class CLI {
26
26
  printDiff(): Promise<void>;
27
27
  private handleLine;
28
28
  private handleUserInput;
29
- private saveCheckpoint;
30
29
  private processCommand;
31
- /**
32
- * Detects if the user input contains a known API key pattern.
33
- * Returns information about the detected key or prefix.
34
- */
35
- private detectApiKey;
36
- /**
37
- * Handles the result of API key detection.
38
- */
39
- private handleApiKeyInput;
40
30
  private forwardUserInput;
41
31
  private returnControlToUser;
42
32
  private onWebSocketError;
43
33
  private onWebSocketReconnect;
44
- private handleUndo;
45
- private handleRedo;
46
34
  private handleKeyPress;
47
35
  private handleSigint;
48
36
  private handleEscKey;
49
37
  private handleStopResponse;
50
- private showEasterEgg;
51
38
  private handleExit;
52
39
  private detectPasting;
53
- private handleDiff;
54
- private handleCheckpoints;
55
- private handleRestoreCheckpoint;
56
- private restoreUserInput;
57
- private handleClearCheckpoints;
58
40
  }