grok-cli-hurry-mode 1.0.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.
- package/.grok/settings.json +3 -0
- package/LICENSE +21 -0
- package/README.md +452 -0
- package/dist/agent/grok-agent.d.ts +54 -0
- package/dist/agent/grok-agent.js +674 -0
- package/dist/agent/grok-agent.js.map +1 -0
- package/dist/agent/index.d.ts +14 -0
- package/dist/agent/index.js +137 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/commands/mcp.d.ts +2 -0
- package/dist/commands/mcp.js +245 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/grok/client.d.ts +49 -0
- package/dist/grok/client.js +85 -0
- package/dist/grok/client.js.map +1 -0
- package/dist/grok/tools.d.ts +8 -0
- package/dist/grok/tools.js +357 -0
- package/dist/grok/tools.js.map +1 -0
- package/dist/hooks/use-enhanced-input.d.ts +37 -0
- package/dist/hooks/use-enhanced-input.js +217 -0
- package/dist/hooks/use-enhanced-input.js.map +1 -0
- package/dist/hooks/use-input-handler.d.ts +34 -0
- package/dist/hooks/use-input-handler.js +611 -0
- package/dist/hooks/use-input-handler.js.map +1 -0
- package/dist/hooks/use-input-history.d.ts +9 -0
- package/dist/hooks/use-input-history.js +64 -0
- package/dist/hooks/use-input-history.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +151949 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/client.d.ts +29 -0
- package/dist/mcp/client.js +167 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/config.d.ts +13 -0
- package/dist/mcp/config.js +51 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/transports.d.ts +51 -0
- package/dist/mcp/transports.js +229 -0
- package/dist/mcp/transports.js.map +1 -0
- package/dist/node_modules/react/index.js +1841 -0
- package/dist/tools/bash.d.ts +10 -0
- package/dist/tools/bash.js +81 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/confirmation-tool.d.ts +16 -0
- package/dist/tools/confirmation-tool.js +75 -0
- package/dist/tools/confirmation-tool.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.js +16 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/morph-editor.d.ts +36 -0
- package/dist/tools/morph-editor.js +347 -0
- package/dist/tools/morph-editor.js.map +1 -0
- package/dist/tools/search.d.ts +69 -0
- package/dist/tools/search.js +341 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/text-editor.d.ts +16 -0
- package/dist/tools/text-editor.js +565 -0
- package/dist/tools/text-editor.js.map +1 -0
- package/dist/tools/todo-tool.d.ts +20 -0
- package/dist/tools/todo-tool.js +135 -0
- package/dist/tools/todo-tool.js.map +1 -0
- package/dist/types/index.d.ts +30 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/app.d.ts +7 -0
- package/dist/ui/app.js +160 -0
- package/dist/ui/app.js.map +1 -0
- package/dist/ui/components/api-key-input.d.ts +7 -0
- package/dist/ui/components/api-key-input.js +124 -0
- package/dist/ui/components/api-key-input.js.map +1 -0
- package/dist/ui/components/chat-history.d.ts +8 -0
- package/dist/ui/components/chat-history.js +177 -0
- package/dist/ui/components/chat-history.js.map +1 -0
- package/dist/ui/components/chat-input.d.ts +9 -0
- package/dist/ui/components/chat-input.js +87 -0
- package/dist/ui/components/chat-input.js.map +1 -0
- package/dist/ui/components/chat-interface.d.ts +8 -0
- package/dist/ui/components/chat-interface.js +344 -0
- package/dist/ui/components/chat-interface.js.map +1 -0
- package/dist/ui/components/command-suggestions.d.ts +17 -0
- package/dist/ui/components/command-suggestions.js +68 -0
- package/dist/ui/components/command-suggestions.js.map +1 -0
- package/dist/ui/components/confirmation-dialog.d.ts +11 -0
- package/dist/ui/components/confirmation-dialog.js +167 -0
- package/dist/ui/components/confirmation-dialog.js.map +1 -0
- package/dist/ui/components/diff-renderer.d.ts +13 -0
- package/dist/ui/components/diff-renderer.js +217 -0
- package/dist/ui/components/diff-renderer.js.map +1 -0
- package/dist/ui/components/loading-spinner.d.ts +8 -0
- package/dist/ui/components/loading-spinner.js +92 -0
- package/dist/ui/components/loading-spinner.js.map +1 -0
- package/dist/ui/components/mcp-status.d.ts +5 -0
- package/dist/ui/components/mcp-status.js +74 -0
- package/dist/ui/components/mcp-status.js.map +1 -0
- package/dist/ui/components/model-selection.d.ts +12 -0
- package/dist/ui/components/model-selection.js +28 -0
- package/dist/ui/components/model-selection.js.map +1 -0
- package/dist/ui/shared/max-sized-box.d.ts +8 -0
- package/dist/ui/shared/max-sized-box.js +15 -0
- package/dist/ui/shared/max-sized-box.js.map +1 -0
- package/dist/ui/utils/code-colorizer.d.ts +2 -0
- package/dist/ui/utils/code-colorizer.js +18 -0
- package/dist/ui/utils/code-colorizer.js.map +1 -0
- package/dist/ui/utils/colors.d.ts +14 -0
- package/dist/ui/utils/colors.js +18 -0
- package/dist/ui/utils/colors.js.map +1 -0
- package/dist/ui/utils/markdown-renderer.d.ts +4 -0
- package/dist/ui/utils/markdown-renderer.js +29 -0
- package/dist/ui/utils/markdown-renderer.js.map +1 -0
- package/dist/utils/confirmation-service.d.ts +33 -0
- package/dist/utils/confirmation-service.js +113 -0
- package/dist/utils/confirmation-service.js.map +1 -0
- package/dist/utils/custom-instructions.d.ts +1 -0
- package/dist/utils/custom-instructions.js +53 -0
- package/dist/utils/custom-instructions.js.map +1 -0
- package/dist/utils/model-config.d.ts +28 -0
- package/dist/utils/model-config.js +49 -0
- package/dist/utils/model-config.js.map +1 -0
- package/dist/utils/settings-manager.d.ts +94 -0
- package/dist/utils/settings-manager.js +275 -0
- package/dist/utils/settings-manager.js.map +1 -0
- package/dist/utils/settings.d.ts +1 -0
- package/dist/utils/settings.js +8 -0
- package/dist/utils/settings.js.map +1 -0
- package/dist/utils/text-utils.d.ts +80 -0
- package/dist/utils/text-utils.js +197 -0
- package/dist/utils/text-utils.js.map +1 -0
- package/dist/utils/token-counter.d.ts +33 -0
- package/dist/utils/token-counter.js +83 -0
- package/dist/utils/token-counter.js.map +1 -0
- package/dist/yoga.wasm +0 -0
- package/eslint.config.mjs +28 -0
- package/fix.awk +41 -0
- package/grok-logo-screenshot.png +0 -0
- package/package.json +68 -0
- package/sed_cmd.sh +35 -0
- package/temp.txt +29 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"loading-spinner.js","sourceRoot":"","sources":["../../../src/ui/components/loading-spinner.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,wCAgDC;AA3ED,+CAAmD;AACnD,6BAAgC;AAChC,mEAAgE;AAQhE,MAAM,YAAY,GAAG;IACnB,aAAa;IACb,cAAc;IACd,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,gBAAgB;CACjB,CAAC;AAEF,SAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,cAAc,EACd,UAAU,GACU;IACpB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAE5D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAErE,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAE5C,OAAO,CACL,CAAC,SAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAChB;MAAA,CAAC,UAAI,CAAC,KAAK,CAAC,MAAM,CAChB;QAAA,CAAC,aAAa,CAAC,YAAY,CAAC,CAAE,CAAA,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CACpE;MAAA,EAAE,UAAI,CACN;MAAA,CAAC,UAAI,CAAC,KAAK,CAAC,MAAM,CAChB;SAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAA,mCAAgB,EAAC,UAAU,CAAC,CAAE;;MAExD,EAAE,UAAI,CACR;IAAA,EAAE,SAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,74 @@
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
19
|
+
var ownKeys = function(o) {
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
+
var ar = [];
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
+
return ar;
|
24
|
+
};
|
25
|
+
return ownKeys(o);
|
26
|
+
};
|
27
|
+
return function (mod) {
|
28
|
+
if (mod && mod.__esModule) return mod;
|
29
|
+
var result = {};
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
+
__setModuleDefault(result, mod);
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
})();
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
36
|
+
exports.MCPStatus = MCPStatus;
|
37
|
+
const react_1 = __importStar(require("react"));
|
38
|
+
const ink_1 = require("ink");
|
39
|
+
const tools_js_1 = require("../../grok/tools.js");
|
40
|
+
function MCPStatus({}) {
|
41
|
+
const [connectedServers, setConnectedServers] = (0, react_1.useState)([]);
|
42
|
+
const [availableTools, setAvailableTools] = (0, react_1.useState)([]);
|
43
|
+
(0, react_1.useEffect)(() => {
|
44
|
+
const updateStatus = () => {
|
45
|
+
try {
|
46
|
+
const manager = (0, tools_js_1.getMCPManager)();
|
47
|
+
const servers = manager.getServers();
|
48
|
+
const tools = manager.getTools();
|
49
|
+
setConnectedServers(servers);
|
50
|
+
setAvailableTools(tools);
|
51
|
+
}
|
52
|
+
catch (error) {
|
53
|
+
// MCP manager not initialized yet
|
54
|
+
setConnectedServers([]);
|
55
|
+
setAvailableTools([]);
|
56
|
+
}
|
57
|
+
};
|
58
|
+
// Initial update with a small delay to allow MCP initialization
|
59
|
+
const initialTimer = setTimeout(updateStatus, 2000);
|
60
|
+
// Set up polling to check for status changes
|
61
|
+
const interval = setInterval(updateStatus, 2000);
|
62
|
+
return () => {
|
63
|
+
clearTimeout(initialTimer);
|
64
|
+
clearInterval(interval);
|
65
|
+
};
|
66
|
+
}, []);
|
67
|
+
if (connectedServers.length === 0) {
|
68
|
+
return null;
|
69
|
+
}
|
70
|
+
return (<ink_1.Box marginLeft={1}>
|
71
|
+
<ink_1.Text color="green">⚒ mcps: {connectedServers.length} </ink_1.Text>
|
72
|
+
</ink_1.Box>);
|
73
|
+
}
|
74
|
+
//# sourceMappingURL=mcp-status.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"mcp-status.js","sourceRoot":"","sources":["../../../src/ui/components/mcp-status.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,8BAyCC;AAhDD,+CAAmD;AACnD,6BAAgC;AAChC,kDAAoD;AAKpD,SAAgB,SAAS,CAAC,EAAkB;IAC1C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAW,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAY,EAAE,CAAC,CAAC;IAEpE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAA,wBAAa,GAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAEjC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7B,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,kCAAkC;gBAClC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QAEF,gEAAgE;QAChE,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEpD,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEjD,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,YAAY,CAAC,CAAC;YAC3B,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,CAAC,SAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACjB;MAAA,CAAC,UAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAE,CAAA,EAAE,UAAI,CAC9D;IAAA,EAAE,SAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from "react";
|
2
|
+
interface ModelOption {
|
3
|
+
model: string;
|
4
|
+
}
|
5
|
+
interface ModelSelectionProps {
|
6
|
+
models: ModelOption[];
|
7
|
+
selectedIndex: number;
|
8
|
+
isVisible: boolean;
|
9
|
+
currentModel: string;
|
10
|
+
}
|
11
|
+
export declare function ModelSelection({ models, selectedIndex, isVisible, currentModel, }: ModelSelectionProps): React.JSX.Element | null;
|
12
|
+
export {};
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.ModelSelection = ModelSelection;
|
7
|
+
const react_1 = __importDefault(require("react"));
|
8
|
+
const ink_1 = require("ink");
|
9
|
+
function ModelSelection({ models, selectedIndex, isVisible, currentModel, }) {
|
10
|
+
if (!isVisible)
|
11
|
+
return null;
|
12
|
+
return (<ink_1.Box marginTop={1} flexDirection="column">
|
13
|
+
<ink_1.Box marginBottom={1}>
|
14
|
+
<ink_1.Text color="cyan">Select Grok Model (current: {currentModel}):</ink_1.Text>
|
15
|
+
</ink_1.Box>
|
16
|
+
{models.map((modelOption, index) => (<ink_1.Box key={index} paddingLeft={1}>
|
17
|
+
<ink_1.Text color={index === selectedIndex ? "black" : "white"} backgroundColor={index === selectedIndex ? "cyan" : undefined}>
|
18
|
+
{modelOption.model}
|
19
|
+
</ink_1.Text>
|
20
|
+
</ink_1.Box>))}
|
21
|
+
<ink_1.Box marginTop={1}>
|
22
|
+
<ink_1.Text color="gray" dimColor>
|
23
|
+
↑↓ navigate • Enter/Tab select • Esc cancel
|
24
|
+
</ink_1.Text>
|
25
|
+
</ink_1.Box>
|
26
|
+
</ink_1.Box>);
|
27
|
+
}
|
28
|
+
//# sourceMappingURL=model-selection.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"model-selection.js","sourceRoot":"","sources":["../../../src/ui/components/model-selection.tsx"],"names":[],"mappings":";;;;;AAcA,wCA8BC;AA5CD,kDAA0B;AAC1B,6BAAgC;AAahC,SAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,aAAa,EACb,SAAS,EACT,YAAY,GACQ;IACpB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,OAAO,CACL,CAAC,SAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CACvC;MAAA,CAAC,SAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CACnB;QAAA,CAAC,UAAI,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,YAAY,CAAC,EAAE,EAAE,UAAI,CACvE;MAAA,EAAE,SAAG,CACL;MAAA,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,CAAC,SAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAC9B;UAAA,CAAC,UAAI,CACH,KAAK,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CACnD,eAAe,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAE9D;YAAA,CAAC,WAAW,CAAC,KAAK,CACpB;UAAA,EAAE,UAAI,CACR;QAAA,EAAE,SAAG,CAAC,CACP,CAAC,CACF;MAAA,CAAC,SAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAChB;QAAA,CAAC,UAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CACzB;;QACF,EAAE,UAAI,CACR;MAAA,EAAE,SAAG,CACP;IAAA,EAAE,SAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.MaxSizedBox = void 0;
|
7
|
+
const react_1 = __importDefault(require("react"));
|
8
|
+
const ink_1 = require("ink");
|
9
|
+
const MaxSizedBox = ({ maxHeight, maxWidth, children, ...props }) => {
|
10
|
+
return (<ink_1.Box flexDirection="column" {...props}>
|
11
|
+
{children}
|
12
|
+
</ink_1.Box>);
|
13
|
+
};
|
14
|
+
exports.MaxSizedBox = MaxSizedBox;
|
15
|
+
//# sourceMappingURL=max-sized-box.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"max-sized-box.js","sourceRoot":"","sources":["../../../src/ui/shared/max-sized-box.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,6BAA0B;AAQnB,MAAM,WAAW,GAA+B,CAAC,EACtD,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,CAAC,SAAG,CACF,aAAa,CAAC,QAAQ,CACtB,IAAI,KAAK,CAAC,CAEV;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,SAAG,CAAC,CACP,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,WAAW,eActB"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.colorizeCode = void 0;
|
7
|
+
const react_1 = __importDefault(require("react"));
|
8
|
+
const ink_1 = require("ink");
|
9
|
+
const colorizeCode = (content, language, availableTerminalHeight, terminalWidth) => {
|
10
|
+
// Simple plain text rendering - could be enhanced with syntax highlighting later
|
11
|
+
return (<ink_1.Box flexDirection="column">
|
12
|
+
{content.split('\n').map((line, index) => (<ink_1.Text key={index} wrap="wrap">
|
13
|
+
{line}
|
14
|
+
</ink_1.Text>))}
|
15
|
+
</ink_1.Box>);
|
16
|
+
};
|
17
|
+
exports.colorizeCode = colorizeCode;
|
18
|
+
//# sourceMappingURL=code-colorizer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"code-colorizer.js","sourceRoot":"","sources":["../../../src/ui/utils/code-colorizer.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,6BAAgC;AAEzB,MAAM,YAAY,GAAG,CAC1B,OAAe,EACf,QAAuB,EACvB,uBAAgC,EAChC,aAAsB,EACL,EAAE;IACnB,iFAAiF;IACjF,OAAO,CACL,CAAC,SAAG,CAAC,aAAa,CAAC,QAAQ,CACzB;MAAA,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,CAAC,UAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAC3B;UAAA,CAAC,IAAI,CACP;QAAA,EAAE,UAAI,CAAC,CACR,CAAC,CACJ;IAAA,EAAE,SAAG,CAAC,CACP,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,YAAY,gBAgBvB"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* Color constants for the CLI interface
|
3
|
+
*/
|
4
|
+
export declare const Colors: {
|
5
|
+
readonly AccentYellow: "yellow";
|
6
|
+
readonly Gray: "gray";
|
7
|
+
readonly Red: "red";
|
8
|
+
readonly Green: "green";
|
9
|
+
readonly Blue: "blue";
|
10
|
+
readonly Cyan: "cyan";
|
11
|
+
readonly Magenta: "magenta";
|
12
|
+
readonly White: "white";
|
13
|
+
readonly Black: "black";
|
14
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Colors = void 0;
|
4
|
+
/**
|
5
|
+
* Color constants for the CLI interface
|
6
|
+
*/
|
7
|
+
exports.Colors = {
|
8
|
+
AccentYellow: 'yellow',
|
9
|
+
Gray: 'gray',
|
10
|
+
Red: 'red',
|
11
|
+
Green: 'green',
|
12
|
+
Blue: 'blue',
|
13
|
+
Cyan: 'cyan',
|
14
|
+
Magenta: 'magenta',
|
15
|
+
White: 'white',
|
16
|
+
Black: 'black'
|
17
|
+
};
|
18
|
+
//# sourceMappingURL=colors.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/ui/utils/colors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,MAAM,GAAG;IACpB,YAAY,EAAE,QAAQ;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.MarkdownRenderer = MarkdownRenderer;
|
7
|
+
const react_1 = __importDefault(require("react"));
|
8
|
+
const ink_1 = require("ink");
|
9
|
+
const marked_1 = require("marked");
|
10
|
+
const marked_terminal_1 = __importDefault(require("marked-terminal"));
|
11
|
+
// Configure marked to use the terminal renderer with default settings
|
12
|
+
marked_1.marked.setOptions({
|
13
|
+
renderer: new marked_terminal_1.default()
|
14
|
+
});
|
15
|
+
function MarkdownRenderer({ content }) {
|
16
|
+
try {
|
17
|
+
// Use marked.parse for synchronous parsing
|
18
|
+
const result = marked_1.marked.parse(content);
|
19
|
+
// Handle both sync and async results
|
20
|
+
const rendered = typeof result === 'string' ? result : content;
|
21
|
+
return <ink_1.Text>{rendered}</ink_1.Text>;
|
22
|
+
}
|
23
|
+
catch (error) {
|
24
|
+
// Fallback to plain text if markdown parsing fails
|
25
|
+
console.error('Markdown rendering error:', error);
|
26
|
+
return <ink_1.Text>{content}</ink_1.Text>;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
//# sourceMappingURL=markdown-renderer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"markdown-renderer.js","sourceRoot":"","sources":["../../../src/ui/utils/markdown-renderer.tsx"],"names":[],"mappings":";;;;;AAUA,4CAYC;AAtBD,kDAA0B;AAC1B,6BAA2B;AAC3B,mCAAgC;AAChC,sEAA+C;AAE/C,sEAAsE;AACtE,eAAM,CAAC,UAAU,CAAC;IAChB,QAAQ,EAAE,IAAK,yBAAwB,EAAE;CAC1C,CAAC,CAAC;AAEH,SAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAuB;IAC/D,IAAI,CAAC;QACH,2CAA2C;QAC3C,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,qCAAqC;QACrC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,OAAO,CAAC,UAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mDAAmD;QACnD,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,UAAI,CAAC,CAAC,OAAO,CAAC,EAAE,UAAI,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { EventEmitter } from "events";
|
2
|
+
export interface ConfirmationOptions {
|
3
|
+
operation: string;
|
4
|
+
filename: string;
|
5
|
+
showVSCodeOpen?: boolean;
|
6
|
+
content?: string;
|
7
|
+
}
|
8
|
+
export interface ConfirmationResult {
|
9
|
+
confirmed: boolean;
|
10
|
+
dontAskAgain?: boolean;
|
11
|
+
feedback?: string;
|
12
|
+
}
|
13
|
+
export declare class ConfirmationService extends EventEmitter {
|
14
|
+
private static instance;
|
15
|
+
private skipConfirmationThisSession;
|
16
|
+
private pendingConfirmation;
|
17
|
+
private resolveConfirmation;
|
18
|
+
private sessionFlags;
|
19
|
+
static getInstance(): ConfirmationService;
|
20
|
+
constructor();
|
21
|
+
requestConfirmation(options: ConfirmationOptions, operationType?: "file" | "bash"): Promise<ConfirmationResult>;
|
22
|
+
confirmOperation(confirmed: boolean, dontAskAgain?: boolean): void;
|
23
|
+
rejectOperation(feedback?: string): void;
|
24
|
+
private openInVSCode;
|
25
|
+
isPending(): boolean;
|
26
|
+
resetSession(): void;
|
27
|
+
getSessionFlags(): {
|
28
|
+
fileOperations: boolean;
|
29
|
+
bashCommands: boolean;
|
30
|
+
allOperations: boolean;
|
31
|
+
};
|
32
|
+
setSessionFlag(flagType: "fileOperations" | "bashCommands" | "allOperations", value: boolean): void;
|
33
|
+
}
|
@@ -0,0 +1,113 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ConfirmationService = void 0;
|
4
|
+
const child_process_1 = require("child_process");
|
5
|
+
const util_1 = require("util");
|
6
|
+
const events_1 = require("events");
|
7
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
8
|
+
class ConfirmationService extends events_1.EventEmitter {
|
9
|
+
static getInstance() {
|
10
|
+
if (!ConfirmationService.instance) {
|
11
|
+
ConfirmationService.instance = new ConfirmationService();
|
12
|
+
}
|
13
|
+
return ConfirmationService.instance;
|
14
|
+
}
|
15
|
+
constructor() {
|
16
|
+
super();
|
17
|
+
this.skipConfirmationThisSession = false;
|
18
|
+
this.pendingConfirmation = null;
|
19
|
+
this.resolveConfirmation = null;
|
20
|
+
// Session flags for different operation types
|
21
|
+
this.sessionFlags = {
|
22
|
+
fileOperations: false,
|
23
|
+
bashCommands: false,
|
24
|
+
allOperations: false,
|
25
|
+
};
|
26
|
+
}
|
27
|
+
async requestConfirmation(options, operationType = "file") {
|
28
|
+
// Check session flags
|
29
|
+
if (this.sessionFlags.allOperations ||
|
30
|
+
(operationType === "file" && this.sessionFlags.fileOperations) ||
|
31
|
+
(operationType === "bash" && this.sessionFlags.bashCommands)) {
|
32
|
+
return { confirmed: true };
|
33
|
+
}
|
34
|
+
// If VS Code should be opened, try to open it
|
35
|
+
if (options.showVSCodeOpen) {
|
36
|
+
try {
|
37
|
+
await this.openInVSCode(options.filename);
|
38
|
+
}
|
39
|
+
catch (error) {
|
40
|
+
// If VS Code opening fails, continue without it
|
41
|
+
options.showVSCodeOpen = false;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
// Create a promise that will be resolved by the UI component
|
45
|
+
this.pendingConfirmation = new Promise((resolve) => {
|
46
|
+
this.resolveConfirmation = resolve;
|
47
|
+
});
|
48
|
+
// Emit custom event that the UI can listen to (using setImmediate to ensure the UI updates)
|
49
|
+
setImmediate(() => {
|
50
|
+
this.emit("confirmation-requested", options);
|
51
|
+
});
|
52
|
+
const result = await this.pendingConfirmation;
|
53
|
+
if (result.dontAskAgain) {
|
54
|
+
// Set the appropriate session flag based on operation type
|
55
|
+
if (operationType === "file") {
|
56
|
+
this.sessionFlags.fileOperations = true;
|
57
|
+
}
|
58
|
+
else if (operationType === "bash") {
|
59
|
+
this.sessionFlags.bashCommands = true;
|
60
|
+
}
|
61
|
+
// Could also set allOperations for global skip
|
62
|
+
}
|
63
|
+
return result;
|
64
|
+
}
|
65
|
+
confirmOperation(confirmed, dontAskAgain) {
|
66
|
+
if (this.resolveConfirmation) {
|
67
|
+
this.resolveConfirmation({ confirmed, dontAskAgain });
|
68
|
+
this.resolveConfirmation = null;
|
69
|
+
this.pendingConfirmation = null;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
rejectOperation(feedback) {
|
73
|
+
if (this.resolveConfirmation) {
|
74
|
+
this.resolveConfirmation({ confirmed: false, feedback });
|
75
|
+
this.resolveConfirmation = null;
|
76
|
+
this.pendingConfirmation = null;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
async openInVSCode(filename) {
|
80
|
+
// Try different VS Code commands
|
81
|
+
const commands = ["code", "code-insiders", "codium"];
|
82
|
+
for (const cmd of commands) {
|
83
|
+
try {
|
84
|
+
await execAsync(`which ${cmd}`);
|
85
|
+
await execAsync(`${cmd} "${filename}"`);
|
86
|
+
return;
|
87
|
+
}
|
88
|
+
catch (error) {
|
89
|
+
// Continue to next command
|
90
|
+
continue;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
throw new Error("VS Code not found");
|
94
|
+
}
|
95
|
+
isPending() {
|
96
|
+
return this.pendingConfirmation !== null;
|
97
|
+
}
|
98
|
+
resetSession() {
|
99
|
+
this.sessionFlags = {
|
100
|
+
fileOperations: false,
|
101
|
+
bashCommands: false,
|
102
|
+
allOperations: false,
|
103
|
+
};
|
104
|
+
}
|
105
|
+
getSessionFlags() {
|
106
|
+
return { ...this.sessionFlags };
|
107
|
+
}
|
108
|
+
setSessionFlag(flagType, value) {
|
109
|
+
this.sessionFlags[flagType] = value;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
exports.ConfirmationService = ConfirmationService;
|
113
|
+
//# sourceMappingURL=confirmation-service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"confirmation-service.js","sourceRoot":"","sources":["../../src/utils/confirmation-service.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function loadCustomInstructions(workingDirectory?: string): string | null;
|
@@ -0,0 +1,53 @@
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
19
|
+
var ownKeys = function(o) {
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
+
var ar = [];
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
+
return ar;
|
24
|
+
};
|
25
|
+
return ownKeys(o);
|
26
|
+
};
|
27
|
+
return function (mod) {
|
28
|
+
if (mod && mod.__esModule) return mod;
|
29
|
+
var result = {};
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
+
__setModuleDefault(result, mod);
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
})();
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
36
|
+
exports.loadCustomInstructions = loadCustomInstructions;
|
37
|
+
const fs = __importStar(require("fs"));
|
38
|
+
const path = __importStar(require("path"));
|
39
|
+
function loadCustomInstructions(workingDirectory = process.cwd()) {
|
40
|
+
try {
|
41
|
+
const instructionsPath = path.join(workingDirectory, '.grok', 'GROK.md');
|
42
|
+
if (!fs.existsSync(instructionsPath)) {
|
43
|
+
return null;
|
44
|
+
}
|
45
|
+
const customInstructions = fs.readFileSync(instructionsPath, 'utf-8');
|
46
|
+
return customInstructions.trim();
|
47
|
+
}
|
48
|
+
catch (error) {
|
49
|
+
console.warn('Failed to load custom instructions:', error);
|
50
|
+
return null;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
//# sourceMappingURL=custom-instructions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"custom-instructions.js","sourceRoot":"","sources":["../../src/utils/custom-instructions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wDAcC;AAjBD,uCAAyB;AACzB,2CAA6B;AAE7B,SAAgB,sBAAsB,CAAC,mBAA2B,OAAO,CAAC,GAAG,EAAE;IAC7E,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAEzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { UserSettings, ProjectSettings } from './settings-manager.js';
|
2
|
+
export interface ModelOption {
|
3
|
+
model: string;
|
4
|
+
}
|
5
|
+
export type ModelConfig = string;
|
6
|
+
export { UserSettings, ProjectSettings };
|
7
|
+
/**
|
8
|
+
* Get the effective current model
|
9
|
+
* Priority: project current model > user default model > system default
|
10
|
+
*/
|
11
|
+
export declare function getCurrentModel(): string;
|
12
|
+
/**
|
13
|
+
* Load model configuration
|
14
|
+
* Priority: user-settings.json models > default hardcoded
|
15
|
+
*/
|
16
|
+
export declare function loadModelConfig(): ModelOption[];
|
17
|
+
/**
|
18
|
+
* Get default models list
|
19
|
+
*/
|
20
|
+
export declare function getDefaultModels(): string[];
|
21
|
+
/**
|
22
|
+
* Update the current model in project settings
|
23
|
+
*/
|
24
|
+
export declare function updateCurrentModel(modelName: string): void;
|
25
|
+
/**
|
26
|
+
* Update the user's default model preference
|
27
|
+
*/
|
28
|
+
export declare function updateDefaultModel(modelName: string): void;
|
@@ -0,0 +1,49 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getCurrentModel = getCurrentModel;
|
4
|
+
exports.loadModelConfig = loadModelConfig;
|
5
|
+
exports.getDefaultModels = getDefaultModels;
|
6
|
+
exports.updateCurrentModel = updateCurrentModel;
|
7
|
+
exports.updateDefaultModel = updateDefaultModel;
|
8
|
+
const settings_manager_js_1 = require("./settings-manager.js");
|
9
|
+
/**
|
10
|
+
* Get the effective current model
|
11
|
+
* Priority: project current model > user default model > system default
|
12
|
+
*/
|
13
|
+
function getCurrentModel() {
|
14
|
+
const manager = (0, settings_manager_js_1.getSettingsManager)();
|
15
|
+
return manager.getCurrentModel();
|
16
|
+
}
|
17
|
+
/**
|
18
|
+
* Load model configuration
|
19
|
+
* Priority: user-settings.json models > default hardcoded
|
20
|
+
*/
|
21
|
+
function loadModelConfig() {
|
22
|
+
const manager = (0, settings_manager_js_1.getSettingsManager)();
|
23
|
+
const models = manager.getAvailableModels();
|
24
|
+
return models.map(model => ({
|
25
|
+
model: model.trim()
|
26
|
+
}));
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* Get default models list
|
30
|
+
*/
|
31
|
+
function getDefaultModels() {
|
32
|
+
const manager = (0, settings_manager_js_1.getSettingsManager)();
|
33
|
+
return manager.getAvailableModels();
|
34
|
+
}
|
35
|
+
/**
|
36
|
+
* Update the current model in project settings
|
37
|
+
*/
|
38
|
+
function updateCurrentModel(modelName) {
|
39
|
+
const manager = (0, settings_manager_js_1.getSettingsManager)();
|
40
|
+
manager.setCurrentModel(modelName);
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* Update the user's default model preference
|
44
|
+
*/
|
45
|
+
function updateDefaultModel(modelName) {
|
46
|
+
const manager = (0, settings_manager_js_1.getSettingsManager)();
|
47
|
+
manager.updateUserSetting('defaultModel', modelName);
|
48
|
+
}
|
49
|
+
//# sourceMappingURL=model-config.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"model-config.js","sourceRoot":"","sources":["../../src/utils/model-config.ts"],"names":[],"mappings":";;AAeA,0CAGC;AAMD,0CAOC;AAKD,4CAGC;AAKD,gDAGC;AAKD,gDAGC;AAvDD,+DAA0F;AAW1F;;;GAGG;AACH,SAAgB,eAAe;IAC7B,MAAM,OAAO,GAAG,IAAA,wCAAkB,GAAE,CAAC;IACrC,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe;IAC7B,MAAM,OAAO,GAAG,IAAA,wCAAkB,GAAE,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAE5C,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1B,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;KACpB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,MAAM,OAAO,GAAG,IAAA,wCAAkB,GAAE,CAAC;IACrC,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,IAAA,wCAAkB,GAAE,CAAC;IACrC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,IAAA,wCAAkB,GAAE,CAAC;IACrC,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC"}
|