autodev-cli 1.4.131 → 1.4.133
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/media/profile/00b-self-verifiable-work.md +62 -0
- package/media/profile/00c-verifiable-threads.md +78 -0
- package/media/profile/00d-turn-end-retrospective.md +61 -0
- package/media/profile/00e-long-horizon-planning.md +83 -0
- package/out/commands/office.js +4 -0
- package/out/commands/office.js.map +1 -1
- package/out/commands/start.js +1 -1
- package/out/commands/start.js.map +1 -1
- package/out/core/claudeUsage.d.ts +1 -26
- package/out/core/claudeUsage.js +15 -91
- package/out/core/claudeUsage.js.map +1 -1
- package/out/core/modelInfo.d.ts +1 -28
- package/out/core/modelInfo.js +15 -94
- package/out/core/modelInfo.js.map +1 -1
- package/out/core/provider/BaseProvider.d.ts +1 -14
- package/out/core/provider/BaseProvider.js +15 -22
- package/out/core/provider/BaseProvider.js.map +1 -1
- package/out/core/provider/ProviderRegistry.d.ts +1 -12
- package/out/core/provider/ProviderRegistry.js +15 -38
- package/out/core/provider/ProviderRegistry.js.map +1 -1
- package/out/core/provider/contract.d.ts +1 -62
- package/out/core/provider/contract.js +15 -6
- package/out/core/provider/contract.js.map +1 -1
- package/out/core/provider/implementations.d.ts +1 -65
- package/out/core/provider/implementations.js +4 -169
- package/out/core/provider/implementations.js.map +1 -1
- package/out/dispatcher.js +7 -0
- package/out/dispatcher.js.map +1 -1
- package/out/hookEventNormalizer.d.ts +1 -33
- package/out/hookEventNormalizer.js +15 -424
- package/out/hookEventNormalizer.js.map +1 -1
- package/out/profileBuilder.js +32 -0
- package/out/profileBuilder.js.map +1 -1
- package/out/providers/base/BaseProvider.d.ts +14 -0
- package/out/providers/base/BaseProvider.js +25 -0
- package/out/providers/base/BaseProvider.js.map +1 -0
- package/out/providers/base/ProviderEvents.d.ts +12 -0
- package/out/providers/base/ProviderEvents.js +81 -0
- package/out/providers/base/ProviderEvents.js.map +1 -0
- package/out/providers/base/ProviderManager.d.ts +25 -0
- package/out/providers/base/ProviderManager.js +22 -0
- package/out/providers/base/ProviderManager.js.map +1 -0
- package/out/providers/base/ProviderModels.d.ts +28 -0
- package/out/providers/base/ProviderModels.js +89 -0
- package/out/providers/base/ProviderModels.js.map +1 -0
- package/out/providers/base/ProviderNormalizer.d.ts +42 -0
- package/out/providers/base/ProviderNormalizer.js +439 -0
- package/out/providers/base/ProviderNormalizer.js.map +1 -0
- package/out/providers/base/ProviderRegistry.d.ts +12 -0
- package/out/providers/base/ProviderRegistry.js +42 -0
- package/out/providers/base/ProviderRegistry.js.map +1 -0
- package/out/providers/base/ProviderSessions.d.ts +15 -0
- package/out/providers/base/ProviderSessions.js +15 -0
- package/out/providers/base/ProviderSessions.js.map +1 -0
- package/out/providers/base/ProviderState.d.ts +9 -0
- package/out/providers/base/ProviderState.js +16 -0
- package/out/providers/base/ProviderState.js.map +1 -0
- package/out/providers/base/ProviderUsage.d.ts +12 -0
- package/out/providers/base/ProviderUsage.js +33 -0
- package/out/providers/base/ProviderUsage.js.map +1 -0
- package/out/providers/base/contract.d.ts +62 -0
- package/out/providers/base/contract.js +9 -0
- package/out/providers/base/contract.js.map +1 -0
- package/out/providers/base/factories.d.ts +64 -0
- package/out/providers/base/factories.js +265 -0
- package/out/providers/base/factories.js.map +1 -0
- package/out/providers/base/implementations.d.ts +5 -0
- package/out/providers/base/implementations.js +23 -0
- package/out/providers/base/implementations.js.map +1 -0
- package/out/providers/base/index.d.ts +13 -0
- package/out/providers/base/index.js +29 -0
- package/out/providers/base/index.js.map +1 -0
- package/out/providers/base/types.d.ts +30 -0
- package/out/providers/base/types.js +8 -0
- package/out/providers/base/types.js.map +1 -0
- package/out/providers/claude/ProviderEvents.d.ts +5 -0
- package/out/providers/claude/ProviderEvents.js +18 -0
- package/out/providers/claude/ProviderEvents.js.map +1 -0
- package/out/providers/claude/ProviderManager.d.ts +39 -0
- package/out/providers/claude/ProviderManager.js +50 -0
- package/out/providers/claude/ProviderManager.js.map +1 -0
- package/out/providers/claude/ProviderModels.d.ts +8 -0
- package/out/providers/claude/ProviderModels.js +23 -0
- package/out/providers/claude/ProviderModels.js.map +1 -0
- package/out/providers/claude/ProviderNormalizer.d.ts +5 -0
- package/out/providers/claude/ProviderNormalizer.js +10 -0
- package/out/providers/claude/ProviderNormalizer.js.map +1 -0
- package/out/providers/claude/ProviderSessions.d.ts +14 -0
- package/out/providers/claude/ProviderSessions.js +35 -0
- package/out/providers/claude/ProviderSessions.js.map +1 -0
- package/out/providers/claude/ProviderState.d.ts +13 -0
- package/out/providers/claude/ProviderState.js +19 -0
- package/out/providers/claude/ProviderState.js.map +1 -0
- package/out/providers/claude/ProviderUsage.d.ts +13 -0
- package/out/providers/claude/ProviderUsage.js +59 -0
- package/out/providers/claude/ProviderUsage.js.map +1 -0
- package/out/providers/claude/cli.d.ts +95 -0
- package/out/providers/claude/cli.js +674 -0
- package/out/providers/claude/cli.js.map +1 -0
- package/out/providers/claude/index.d.ts +9 -0
- package/out/providers/claude/index.js +26 -0
- package/out/providers/claude/index.js.map +1 -0
- package/out/providers/claude/tui.d.ts +38 -0
- package/out/providers/claude/tui.js +346 -0
- package/out/providers/claude/tui.js.map +1 -0
- package/out/providers/claudeCliProvider.d.ts +1 -95
- package/out/providers/claudeCliProvider.js +4 -660
- package/out/providers/claudeCliProvider.js.map +1 -1
- package/out/providers/claudeTuiProvider.d.ts +1 -38
- package/out/providers/claudeTuiProvider.js +4 -332
- package/out/providers/claudeTuiProvider.js.map +1 -1
- package/out/providers/copilot/ProviderEvents.d.ts +6 -0
- package/out/providers/copilot/ProviderEvents.js +18 -0
- package/out/providers/copilot/ProviderEvents.js.map +1 -0
- package/out/providers/copilot/ProviderManager.d.ts +39 -0
- package/out/providers/copilot/ProviderManager.js +98 -0
- package/out/providers/copilot/ProviderManager.js.map +1 -0
- package/out/providers/copilot/ProviderModels.d.ts +7 -0
- package/out/providers/copilot/ProviderModels.js +18 -0
- package/out/providers/copilot/ProviderModels.js.map +1 -0
- package/out/providers/copilot/ProviderNormalizer.d.ts +5 -0
- package/out/providers/copilot/ProviderNormalizer.js +10 -0
- package/out/providers/copilot/ProviderNormalizer.js.map +1 -0
- package/out/providers/copilot/ProviderSessions.d.ts +12 -0
- package/out/providers/copilot/ProviderSessions.js +39 -0
- package/out/providers/copilot/ProviderSessions.js.map +1 -0
- package/out/providers/copilot/ProviderState.d.ts +11 -0
- package/out/providers/copilot/ProviderState.js +17 -0
- package/out/providers/copilot/ProviderState.js.map +1 -0
- package/out/providers/copilot/ProviderUsage.d.ts +12 -0
- package/out/providers/copilot/ProviderUsage.js +41 -0
- package/out/providers/copilot/ProviderUsage.js.map +1 -0
- package/out/providers/copilot/cli.d.ts +16 -0
- package/out/providers/copilot/cli.js +52 -0
- package/out/providers/copilot/cli.js.map +1 -0
- package/out/providers/copilot/index.d.ts +10 -0
- package/out/providers/copilot/index.js +27 -0
- package/out/providers/copilot/index.js.map +1 -0
- package/out/providers/copilot/sdk.d.ts +22 -0
- package/out/providers/copilot/sdk.js +489 -0
- package/out/providers/copilot/sdk.js.map +1 -0
- package/out/providers/copilot/sessions.d.ts +25 -0
- package/out/providers/copilot/sessions.js +214 -0
- package/out/providers/copilot/sessions.js.map +1 -0
- package/out/providers/copilotCliProvider.d.ts +1 -16
- package/out/providers/copilotCliProvider.js +15 -49
- package/out/providers/copilotCliProvider.js.map +1 -1
- package/out/providers/copilotSdkProvider.d.ts +1 -22
- package/out/providers/copilotSdkProvider.js +4 -475
- package/out/providers/copilotSdkProvider.js.map +1 -1
- package/out/providers/copilotSessions.d.ts +1 -25
- package/out/providers/copilotSessions.js +4 -200
- package/out/providers/copilotSessions.js.map +1 -1
- package/out/providers/dummy/ProviderEvents.d.ts +5 -0
- package/out/providers/dummy/ProviderEvents.js +16 -0
- package/out/providers/dummy/ProviderEvents.js.map +1 -0
- package/out/providers/dummy/ProviderManager.d.ts +31 -0
- package/out/providers/dummy/ProviderManager.js +115 -0
- package/out/providers/dummy/ProviderManager.js.map +1 -0
- package/out/providers/dummy/ProviderModels.d.ts +7 -0
- package/out/providers/dummy/ProviderModels.js +15 -0
- package/out/providers/dummy/ProviderModels.js.map +1 -0
- package/out/providers/dummy/ProviderNormalizer.d.ts +4 -0
- package/out/providers/dummy/ProviderNormalizer.js +9 -0
- package/out/providers/dummy/ProviderNormalizer.js.map +1 -0
- package/out/providers/dummy/ProviderSessions.d.ts +12 -0
- package/out/providers/dummy/ProviderSessions.js +105 -0
- package/out/providers/dummy/ProviderSessions.js.map +1 -0
- package/out/providers/dummy/ProviderState.d.ts +12 -0
- package/out/providers/dummy/ProviderState.js +23 -0
- package/out/providers/dummy/ProviderState.js.map +1 -0
- package/out/providers/dummy/ProviderUsage.d.ts +9 -0
- package/out/providers/dummy/ProviderUsage.js +27 -0
- package/out/providers/dummy/ProviderUsage.js.map +1 -0
- package/out/providers/dummy/commands.d.ts +9 -0
- package/out/providers/dummy/commands.js +48 -0
- package/out/providers/dummy/commands.js.map +1 -0
- package/out/providers/dummy/index.d.ts +10 -0
- package/out/providers/dummy/index.js +27 -0
- package/out/providers/dummy/index.js.map +1 -0
- package/out/providers/dummy/office.d.ts +23 -0
- package/out/providers/dummy/office.js +66 -0
- package/out/providers/dummy/office.js.map +1 -0
- package/out/providers/dummy/traces.d.ts +8 -0
- package/out/providers/dummy/traces.js +174 -0
- package/out/providers/dummy/traces.js.map +1 -0
- package/out/providers/grok/ProviderEvents.d.ts +6 -0
- package/out/providers/grok/ProviderEvents.js +17 -0
- package/out/providers/grok/ProviderEvents.js.map +1 -0
- package/out/providers/grok/ProviderManager.d.ts +42 -0
- package/out/providers/grok/ProviderManager.js +48 -0
- package/out/providers/grok/ProviderManager.js.map +1 -0
- package/out/providers/grok/ProviderModels.d.ts +7 -0
- package/out/providers/grok/ProviderModels.js +16 -0
- package/out/providers/grok/ProviderModels.js.map +1 -0
- package/out/providers/grok/ProviderNormalizer.d.ts +5 -0
- package/out/providers/grok/ProviderNormalizer.js +10 -0
- package/out/providers/grok/ProviderNormalizer.js.map +1 -0
- package/out/providers/grok/ProviderSessions.d.ts +12 -0
- package/out/providers/grok/ProviderSessions.js +27 -0
- package/out/providers/grok/ProviderSessions.js.map +1 -0
- package/out/providers/grok/ProviderState.d.ts +10 -0
- package/out/providers/grok/ProviderState.js +15 -0
- package/out/providers/grok/ProviderState.js.map +1 -0
- package/out/providers/grok/ProviderUsage.d.ts +7 -0
- package/out/providers/grok/ProviderUsage.js +20 -0
- package/out/providers/grok/ProviderUsage.js.map +1 -0
- package/out/providers/grok/index.d.ts +9 -0
- package/out/providers/grok/index.js +26 -0
- package/out/providers/grok/index.js.map +1 -0
- package/out/providers/grok/sessions.d.ts +27 -0
- package/out/providers/grok/sessions.js +246 -0
- package/out/providers/grok/sessions.js.map +1 -0
- package/out/providers/grok/tui.d.ts +38 -0
- package/out/providers/grok/tui.js +1630 -0
- package/out/providers/grok/tui.js.map +1 -0
- package/out/providers/grokSessions.d.ts +1 -27
- package/out/providers/grokSessions.js +4 -232
- package/out/providers/grokSessions.js.map +1 -1
- package/out/providers/grokTuiProvider.d.ts +1 -38
- package/out/providers/grokTuiProvider.js +4 -1616
- package/out/providers/grokTuiProvider.js.map +1 -1
- package/out/providers/opencode/ProviderEvents.d.ts +6 -0
- package/out/providers/opencode/ProviderEvents.js +18 -0
- package/out/providers/opencode/ProviderEvents.js.map +1 -0
- package/out/providers/opencode/ProviderManager.d.ts +39 -0
- package/out/providers/opencode/ProviderManager.js +90 -0
- package/out/providers/opencode/ProviderManager.js.map +1 -0
- package/out/providers/opencode/ProviderModels.d.ts +7 -0
- package/out/providers/opencode/ProviderModels.js +17 -0
- package/out/providers/opencode/ProviderModels.js.map +1 -0
- package/out/providers/opencode/ProviderNormalizer.d.ts +5 -0
- package/out/providers/opencode/ProviderNormalizer.js +10 -0
- package/out/providers/opencode/ProviderNormalizer.js.map +1 -0
- package/out/providers/opencode/ProviderSessions.d.ts +11 -0
- package/out/providers/opencode/ProviderSessions.js +28 -0
- package/out/providers/opencode/ProviderSessions.js.map +1 -0
- package/out/providers/opencode/ProviderState.d.ts +14 -0
- package/out/providers/opencode/ProviderState.js +20 -0
- package/out/providers/opencode/ProviderState.js.map +1 -0
- package/out/providers/opencode/ProviderUsage.d.ts +7 -0
- package/out/providers/opencode/ProviderUsage.js +20 -0
- package/out/providers/opencode/ProviderUsage.js.map +1 -0
- package/out/providers/opencode/cli.d.ts +29 -0
- package/out/providers/opencode/cli.js +199 -0
- package/out/providers/opencode/cli.js.map +1 -0
- package/out/providers/opencode/index.d.ts +9 -0
- package/out/providers/opencode/index.js +26 -0
- package/out/providers/opencode/index.js.map +1 -0
- package/out/providers/opencode/sdk.d.ts +32 -0
- package/out/providers/opencode/sdk.js +610 -0
- package/out/providers/opencode/sdk.js.map +1 -0
- package/out/providers/opencodeCliProvider.d.ts +1 -29
- package/out/providers/opencodeCliProvider.js +15 -196
- package/out/providers/opencodeCliProvider.js.map +1 -1
- package/out/providers/opencodeSdkProvider.d.ts +1 -32
- package/out/providers/opencodeSdkProvider.js +4 -596
- package/out/providers/opencodeSdkProvider.js.map +1 -1
- package/out/providers.d.ts +1 -1
- package/out/providers.js +5 -0
- package/out/providers.js.map +1 -1
- package/out/sdk/index.js +5 -0
- package/out/sdk/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GrokProviderSessions = void 0;
|
|
4
|
+
const ProviderSessions_1 = require("../base/ProviderSessions");
|
|
5
|
+
const sessions_1 = require("./sessions");
|
|
6
|
+
const sessionState_1 = require("../../sessionState");
|
|
7
|
+
class GrokProviderSessions extends ProviderSessions_1.ProviderSessions {
|
|
8
|
+
family = 'grok';
|
|
9
|
+
list(root) {
|
|
10
|
+
return (0, sessions_1.listGrokSessions)(root).map(s => ({
|
|
11
|
+
id: s.id, name: s.title, updated: s.updated,
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
listAll() {
|
|
15
|
+
return (0, sessions_1.listAllGrokSessions)().map(s => ({
|
|
16
|
+
id: s.id, name: s.title, cwd: s.cwd, updated: s.updated,
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
async resolveLatest(root) {
|
|
20
|
+
return (0, sessionState_1.getSessionId)(root, 'grok-tui') ?? this.list(root)[0]?.id;
|
|
21
|
+
}
|
|
22
|
+
readTranscript(id, opts) {
|
|
23
|
+
return (0, sessions_1.readGrokTranscript)(id, opts?.cwd, opts?.limit ?? 400);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.GrokProviderSessions = GrokProviderSessions;
|
|
27
|
+
//# sourceMappingURL=ProviderSessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderSessions.js","sourceRoot":"","sources":["../../../src/providers/grok/ProviderSessions.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAE5D,yCAAuF;AACvF,qDAAkD;AAElD,MAAa,oBAAqB,SAAQ,mCAAgB;IAC/C,MAAM,GAAG,MAAM,CAAC;IAEzB,IAAI,CAAC,IAAY;QACf,OAAO,IAAA,2BAAgB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;SAC5C,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO;QACL,OAAO,IAAA,8BAAmB,GAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;SACxD,CAAC,CAAC,CAAC;IACN,CAAC;IAEQ,KAAK,CAAC,aAAa,CAAC,IAAY;QACvC,OAAO,IAAA,2BAAY,EAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,IAAuC;QAChE,OAAO,IAAA,6BAAkB,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;IAC/D,CAAC;CACF;AAtBD,oDAsBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ProviderState } from '../base/ProviderState';
|
|
2
|
+
import type { Logger } from '../base/contract';
|
|
3
|
+
export declare class GrokProviderState extends ProviderState {
|
|
4
|
+
readonly family = "grok";
|
|
5
|
+
isBusy(root: string): boolean;
|
|
6
|
+
lastActivity(root: string): number;
|
|
7
|
+
forceIdle(root: string): void;
|
|
8
|
+
close(root: string, log: Logger): void;
|
|
9
|
+
closeAll(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GrokProviderState = void 0;
|
|
4
|
+
const ProviderState_1 = require("../base/ProviderState");
|
|
5
|
+
const tui_1 = require("./tui");
|
|
6
|
+
class GrokProviderState extends ProviderState_1.ProviderState {
|
|
7
|
+
family = 'grok';
|
|
8
|
+
isBusy(root) { return (0, tui_1.isGrokTuiBusy)(root); }
|
|
9
|
+
lastActivity(root) { return (0, tui_1.getGrokTuiLastActivity)(root); }
|
|
10
|
+
forceIdle(root) { (0, tui_1.forceIdleGrokTui)(root); }
|
|
11
|
+
close(root, log) { (0, tui_1.closeGrokTuiSession)(root, log); }
|
|
12
|
+
closeAll() { (0, tui_1.closeAllGrokTuiSessions)(); }
|
|
13
|
+
}
|
|
14
|
+
exports.GrokProviderState = GrokProviderState;
|
|
15
|
+
//# sourceMappingURL=ProviderState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderState.js","sourceRoot":"","sources":["../../../src/providers/grok/ProviderState.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAEtD,+BAMe;AAEf,MAAa,iBAAkB,SAAQ,6BAAa;IACzC,MAAM,GAAG,MAAM,CAAC;IAChB,MAAM,CAAC,IAAY,IAAa,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,YAAY,CAAC,IAAY,IAAY,OAAO,IAAA,4BAAsB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3E,SAAS,CAAC,IAAY,IAAU,IAAA,sBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,KAAK,CAAC,IAAY,EAAE,GAAW,IAAU,IAAA,yBAAmB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1E,QAAQ,KAAW,IAAA,6BAAuB,GAAE,CAAC,CAAC,CAAC;CACzD;AAPD,8CAOC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ProviderUsage } from '../base/ProviderUsage';
|
|
2
|
+
import type { UsagePayload } from '../base/types';
|
|
3
|
+
export declare class GrokProviderUsage extends ProviderUsage {
|
|
4
|
+
readonly family = "grok";
|
|
5
|
+
readonly defaultContextLimit = 256000;
|
|
6
|
+
extract(raw: unknown, _model?: string | null): UsagePayload | null;
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GrokProviderUsage = void 0;
|
|
4
|
+
const ProviderUsage_1 = require("../base/ProviderUsage");
|
|
5
|
+
class GrokProviderUsage extends ProviderUsage_1.ProviderUsage {
|
|
6
|
+
family = 'grok';
|
|
7
|
+
defaultContextLimit = 256_000;
|
|
8
|
+
extract(raw, _model) {
|
|
9
|
+
if (!raw || typeof raw !== 'object') {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const u = raw;
|
|
13
|
+
const input = (0, ProviderUsage_1.nonNeg)(u['input_tokens'] ?? u['inputTokens']);
|
|
14
|
+
const output = (0, ProviderUsage_1.nonNeg)(u['output_tokens'] ?? u['outputTokens']);
|
|
15
|
+
const context = (0, ProviderUsage_1.nonNeg)(u['context_tokens'] ?? u['contextTokens']) || (input + output);
|
|
16
|
+
return this.pack(input, output, context, this.defaultContextLimit);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.GrokProviderUsage = GrokProviderUsage;
|
|
20
|
+
//# sourceMappingURL=ProviderUsage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderUsage.js","sourceRoot":"","sources":["../../../src/providers/grok/ProviderUsage.ts"],"names":[],"mappings":";;;AAAA,yDAA8D;AAG9D,MAAa,iBAAkB,SAAQ,6BAAa;IACzC,MAAM,GAAG,MAAM,CAAC;IAChB,mBAAmB,GAAG,OAAO,CAAC;IACvC,OAAO,CAAC,GAAY,EAAE,MAAsB;QAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QACrD,MAAM,CAAC,GAAG,GAA8B,CAAC;QACzC,MAAM,KAAK,GAAG,IAAA,sBAAM,EAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAA,sBAAM,EAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAA,sBAAM,EAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACrE,CAAC;CACF;AAXD,8CAWC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './tui';
|
|
2
|
+
export * from './sessions';
|
|
3
|
+
export * from './ProviderEvents';
|
|
4
|
+
export * from './ProviderModels';
|
|
5
|
+
export * from './ProviderSessions';
|
|
6
|
+
export * from './ProviderState';
|
|
7
|
+
export * from './ProviderNormalizer';
|
|
8
|
+
export * from './ProviderUsage';
|
|
9
|
+
export * from './ProviderManager';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./tui"), exports);
|
|
18
|
+
__exportStar(require("./sessions"), exports);
|
|
19
|
+
__exportStar(require("./ProviderEvents"), exports);
|
|
20
|
+
__exportStar(require("./ProviderModels"), exports);
|
|
21
|
+
__exportStar(require("./ProviderSessions"), exports);
|
|
22
|
+
__exportStar(require("./ProviderState"), exports);
|
|
23
|
+
__exportStar(require("./ProviderNormalizer"), exports);
|
|
24
|
+
__exportStar(require("./ProviderUsage"), exports);
|
|
25
|
+
__exportStar(require("./ProviderManager"), exports);
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/grok/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,6CAA2B;AAC3B,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,uDAAqC;AACrC,kDAAgC;AAChC,oDAAkC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Sessions grok has stored for `root`, newest first. `updated` is epoch ms. */
|
|
2
|
+
export declare function listGrokSessions(root: string): Array<{
|
|
3
|
+
id: string;
|
|
4
|
+
title: string;
|
|
5
|
+
updated: number;
|
|
6
|
+
}>;
|
|
7
|
+
/** ALL grok sessions across every workspace (newest first), carrying each row's
|
|
8
|
+
* own cwd. Same store as {@link listGrokSessions} but unfiltered — for global
|
|
9
|
+
* cross-workspace discovery. `updated` is epoch ms. */
|
|
10
|
+
export declare function listAllGrokSessions(): Array<{
|
|
11
|
+
id: string;
|
|
12
|
+
title: string;
|
|
13
|
+
updated: number;
|
|
14
|
+
cwd: string;
|
|
15
|
+
}>;
|
|
16
|
+
export interface TranscriptMsg {
|
|
17
|
+
role: 'user' | 'assistant' | 'system' | 'tool';
|
|
18
|
+
text: string;
|
|
19
|
+
ts?: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Read a grok session's clean chat_history.jsonl into a normalized message
|
|
23
|
+
* array. Each line is {type|role, content, tool_calls?, tool_call_id?}. Renders
|
|
24
|
+
* user/assistant/system prose, assistant tool_calls, and tool_result output.
|
|
25
|
+
* Returns at most `limit` messages (the tail). Read-only; [] on any miss.
|
|
26
|
+
*/
|
|
27
|
+
export declare function readGrokTranscript(sessionId: string, cwd?: string, limit?: number): TranscriptMsg[];
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// grokSessions — list grok's own conversation sessions for a workspace.
|
|
4
|
+
//
|
|
5
|
+
// Grok keeps a per-workspace session index at
|
|
6
|
+
// ~/.grok/sessions/session_search.sqlite → table session_docs
|
|
7
|
+
// (session_id, cwd, updated_at [epoch SECONDS], title, …)
|
|
8
|
+
//
|
|
9
|
+
// Reads it with the built-in `node:sqlite` (Node 22) — same approach as the
|
|
10
|
+
// opencode reader, so no new dependency. Read-only; returns [] if the store
|
|
11
|
+
// isn't present (grok never run) or can't be opened.
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.listGrokSessions = listGrokSessions;
|
|
48
|
+
exports.listAllGrokSessions = listAllGrokSessions;
|
|
49
|
+
exports.readGrokTranscript = readGrokTranscript;
|
|
50
|
+
const fs = __importStar(require("fs"));
|
|
51
|
+
const os = __importStar(require("os"));
|
|
52
|
+
const path = __importStar(require("path"));
|
|
53
|
+
function grokSessionsDbPath() {
|
|
54
|
+
const base = process.env['GROK_HOME'] || path.join(os.homedir(), '.grok');
|
|
55
|
+
return path.join(base, 'sessions', 'session_search.sqlite');
|
|
56
|
+
}
|
|
57
|
+
/** Normalise a path for comparison (absolute, no trailing slash). */
|
|
58
|
+
function norm(p) {
|
|
59
|
+
try {
|
|
60
|
+
return path.resolve(p).replace(/\/+$/, '');
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return p;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** Sessions grok has stored for `root`, newest first. `updated` is epoch ms. */
|
|
67
|
+
function listGrokSessions(root) {
|
|
68
|
+
const dbFile = grokSessionsDbPath();
|
|
69
|
+
if (!fs.existsSync(dbFile)) {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
73
|
+
let db;
|
|
74
|
+
try {
|
|
75
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
76
|
+
const { DatabaseSync } = require('node:sqlite');
|
|
77
|
+
db = new DatabaseSync(dbFile, { readOnly: true });
|
|
78
|
+
const target = norm(root);
|
|
79
|
+
return db.prepare('SELECT session_id, title, updated_at, cwd FROM session_docs').all()
|
|
80
|
+
.filter(r => norm(String(r.cwd ?? '')) === target)
|
|
81
|
+
.map(r => ({
|
|
82
|
+
id: String(r.session_id),
|
|
83
|
+
title: String(r.title ?? '').trim(),
|
|
84
|
+
updated: Number(r.updated_at ?? 0) * 1000, // grok stores seconds → ms
|
|
85
|
+
}))
|
|
86
|
+
.sort((a, b) => b.updated - a.updated);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
try {
|
|
93
|
+
db?.close();
|
|
94
|
+
}
|
|
95
|
+
catch { /* ignore */ }
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/** ALL grok sessions across every workspace (newest first), carrying each row's
|
|
99
|
+
* own cwd. Same store as {@link listGrokSessions} but unfiltered — for global
|
|
100
|
+
* cross-workspace discovery. `updated` is epoch ms. */
|
|
101
|
+
function listAllGrokSessions() {
|
|
102
|
+
const dbFile = grokSessionsDbPath();
|
|
103
|
+
if (!fs.existsSync(dbFile)) {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
107
|
+
let db;
|
|
108
|
+
try {
|
|
109
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
110
|
+
const { DatabaseSync } = require('node:sqlite');
|
|
111
|
+
db = new DatabaseSync(dbFile, { readOnly: true });
|
|
112
|
+
return db.prepare('SELECT session_id, title, updated_at, cwd FROM session_docs').all()
|
|
113
|
+
.map(r => ({
|
|
114
|
+
id: String(r.session_id),
|
|
115
|
+
title: String(r.title ?? '').trim(),
|
|
116
|
+
updated: Number(r.updated_at ?? 0) * 1000, // grok stores seconds → ms
|
|
117
|
+
cwd: String(r.cwd ?? ''),
|
|
118
|
+
}))
|
|
119
|
+
.sort((a, b) => b.updated - a.updated);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
try {
|
|
126
|
+
db?.close();
|
|
127
|
+
}
|
|
128
|
+
catch { /* ignore */ }
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/** Path to grok's clean structured transcript for a session under a given cwd. */
|
|
132
|
+
function grokChatHistoryPath(cwd, sessionId) {
|
|
133
|
+
const base = process.env['GROK_HOME'] || path.join(os.homedir(), '.grok');
|
|
134
|
+
return path.join(base, 'sessions', encodeURIComponent(cwd), sessionId, 'chat_history.jsonl');
|
|
135
|
+
}
|
|
136
|
+
/** Resolve a session's chat_history.jsonl. If `cwd` is unknown, look the cwd up
|
|
137
|
+
* in the session index, then fall back to scanning every workspace folder. */
|
|
138
|
+
function resolveGrokChatHistory(sessionId, cwd) {
|
|
139
|
+
if (cwd) {
|
|
140
|
+
const p = grokChatHistoryPath(cwd, sessionId);
|
|
141
|
+
if (fs.existsSync(p)) {
|
|
142
|
+
return p;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const known = listAllGrokSessions().find(s => s.id === sessionId)?.cwd;
|
|
146
|
+
if (known) {
|
|
147
|
+
const p = grokChatHistoryPath(known, sessionId);
|
|
148
|
+
if (fs.existsSync(p)) {
|
|
149
|
+
return p;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// Last resort: scan the per-workspace session folders for a matching id.
|
|
153
|
+
try {
|
|
154
|
+
const base = process.env['GROK_HOME'] || path.join(os.homedir(), '.grok');
|
|
155
|
+
const sessRoot = path.join(base, 'sessions');
|
|
156
|
+
for (const enc of fs.readdirSync(sessRoot)) {
|
|
157
|
+
const p = path.join(sessRoot, enc, sessionId, 'chat_history.jsonl');
|
|
158
|
+
if (fs.existsSync(p)) {
|
|
159
|
+
return p;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch { /* none */ }
|
|
164
|
+
return undefined;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Read a grok session's clean chat_history.jsonl into a normalized message
|
|
168
|
+
* array. Each line is {type|role, content, tool_calls?, tool_call_id?}. Renders
|
|
169
|
+
* user/assistant/system prose, assistant tool_calls, and tool_result output.
|
|
170
|
+
* Returns at most `limit` messages (the tail). Read-only; [] on any miss.
|
|
171
|
+
*/
|
|
172
|
+
function readGrokTranscript(sessionId, cwd, limit = 400) {
|
|
173
|
+
const file = resolveGrokChatHistory(sessionId, cwd);
|
|
174
|
+
if (!file) {
|
|
175
|
+
return [];
|
|
176
|
+
}
|
|
177
|
+
let text = '';
|
|
178
|
+
try {
|
|
179
|
+
text = fs.readFileSync(file, 'utf8');
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
return [];
|
|
183
|
+
}
|
|
184
|
+
const trunc = (s, max) => (s.length > max ? s.slice(0, max) + '…' : s);
|
|
185
|
+
// grok content is either a plain string or an array of {type:'text',text} blocks.
|
|
186
|
+
const extract = (c) => {
|
|
187
|
+
if (typeof c === 'string') {
|
|
188
|
+
return c;
|
|
189
|
+
}
|
|
190
|
+
if (Array.isArray(c)) {
|
|
191
|
+
return c
|
|
192
|
+
.map(b => (b && b['type'] === 'text' ? String(b['text'] ?? '') : ''))
|
|
193
|
+
.filter(Boolean).join('\n');
|
|
194
|
+
}
|
|
195
|
+
return c == null ? '' : JSON.stringify(c);
|
|
196
|
+
};
|
|
197
|
+
const msgs = [];
|
|
198
|
+
for (const line of text.split('\n')) {
|
|
199
|
+
const s = line.trim();
|
|
200
|
+
if (!s) {
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
let o;
|
|
204
|
+
try {
|
|
205
|
+
o = JSON.parse(s);
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
const kind = o.type || o.role;
|
|
211
|
+
const content = extract(o.content);
|
|
212
|
+
if (kind === 'user') {
|
|
213
|
+
if (content.trim()) {
|
|
214
|
+
msgs.push({ role: 'user', text: content.trim() });
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else if (kind === 'assistant') {
|
|
218
|
+
if (content.trim()) {
|
|
219
|
+
msgs.push({ role: 'assistant', text: content.trim() });
|
|
220
|
+
}
|
|
221
|
+
if (Array.isArray(o.tool_calls)) {
|
|
222
|
+
for (const tc of o.tool_calls) {
|
|
223
|
+
const name = (tc?.name || '').trim();
|
|
224
|
+
if (!name) {
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
const args = tc?.arguments ? trunc(String(tc.arguments), 200) : '';
|
|
228
|
+
msgs.push({ role: 'tool', text: `🔧 ${name}(${args})` });
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
else if (kind === 'tool_result') {
|
|
233
|
+
if (content.trim()) {
|
|
234
|
+
msgs.push({ role: 'tool', text: `↳ ${trunc(content.trim(), 400)}` });
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
else if (kind === 'system') {
|
|
238
|
+
if (content.trim()) {
|
|
239
|
+
msgs.push({ role: 'system', text: trunc(content.trim(), 200) });
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// 'reasoning' records are intentionally skipped (internal chain-of-thought).
|
|
243
|
+
}
|
|
244
|
+
return msgs.slice(-limit);
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/providers/grok/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { RateLimitDetector } from '../../rateLimit';
|
|
2
|
+
import type { ProviderId } from '../../providers';
|
|
3
|
+
/** True while a grok turn is running for the given workspace root. */
|
|
4
|
+
export declare function isGrokTuiBusy(root: string): boolean;
|
|
5
|
+
/** Epoch-ms of the most recent streamed pane activity, or 0 if none. */
|
|
6
|
+
export declare function getGrokTuiLastActivity(root: string): number;
|
|
7
|
+
/** Force-clear the busy flag for a root whose turn appears hung. */
|
|
8
|
+
export declare function forceIdleGrokTui(root: string): void;
|
|
9
|
+
/** True if tmux is installed and runnable. Cached after first probe. */
|
|
10
|
+
export declare function tmuxAvailable(): boolean;
|
|
11
|
+
interface GrokRunOptions {
|
|
12
|
+
model?: string;
|
|
13
|
+
showOutput?: () => void;
|
|
14
|
+
/** grok-tui: resume/continue a session so context accumulates across tasks. */
|
|
15
|
+
persist?: boolean;
|
|
16
|
+
sessionId?: string;
|
|
17
|
+
providerId?: ProviderId;
|
|
18
|
+
}
|
|
19
|
+
export declare function sendGrokPrompt(root: string, promptFilePath: string, stdoutFile: string, exitFile: string, log: (msg: string) => void, opts?: GrokRunOptions): void;
|
|
20
|
+
/** grok-cli: stateless — a fresh HEADLESS grok process every task. */
|
|
21
|
+
export declare function sendGrokCliPrompt(root: string, promptFilePath: string, stdoutFile: string, exitFile: string, log: (msg: string) => void, model?: string, showOutput?: () => void): void;
|
|
22
|
+
/**
|
|
23
|
+
* grok-tui: persistent — run the turn in the per-workspace tmux session so
|
|
24
|
+
* grok's in-process context accumulates across tasks. Falls back to the old
|
|
25
|
+
* headless spawn (with --resume) when tmux is unavailable so nothing regresses.
|
|
26
|
+
*/
|
|
27
|
+
export declare function sendGrokTuiPrompt(root: string, promptFilePath: string, resolvedSessionId: string | undefined, stdoutFile: string, exitFile: string, log: (msg: string) => void, model?: string, showOutput?: () => void): void;
|
|
28
|
+
export declare function steerGrokTui(root: string, text: string, log: (msg: string) => void): Promise<boolean>;
|
|
29
|
+
/**
|
|
30
|
+
* Called by taskLoop reset interval / provider close. Kills any live grok for
|
|
31
|
+
* this root — the tmux session AND any headless child — while PRESERVING the
|
|
32
|
+
* persisted session id so a later task relaunches with --resume (context intact).
|
|
33
|
+
*/
|
|
34
|
+
export declare function closeGrokTuiSession(root: string, _log: (msg: string) => void): void;
|
|
35
|
+
/** Kill all live grok sessions — called on SDK/extension shutdown. */
|
|
36
|
+
export declare function closeAllGrokTuiSessions(): void;
|
|
37
|
+
export declare function detectGrokTuiRateLimit(stdoutContent: string): ReturnType<typeof RateLimitDetector.detect>;
|
|
38
|
+
export {};
|