proxitor 0.2.1 → 0.4.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.
@@ -0,0 +1,46 @@
1
+ import { n as findConfigFile, t as logger } from "./cli.mjs";
2
+ import { t as require_dist } from "./dist2.mjs";
3
+ import { readFileSync, writeFileSync } from "node:fs";
4
+ //#region src/commands/config/config.ts
5
+ var import_dist = require_dist();
6
+ function requireConfigPath() {
7
+ const path = findConfigFile();
8
+ if (!path) throw new Error("No config file found. Create proxitor.config.yaml first, or pass -c <path>.");
9
+ return path;
10
+ }
11
+ function readConfigRaw(path) {
12
+ return readFileSync(path, "utf-8");
13
+ }
14
+ function writeConfigRaw(path, content) {
15
+ writeFileSync(path, content, "utf-8");
16
+ }
17
+ function setModelOverride(configPath, modelKey, override) {
18
+ const doc = (0, import_dist.parseDocument)(readConfigRaw(configPath));
19
+ let overrides = doc.get("modelOverrides");
20
+ if (!overrides) {
21
+ overrides = doc.createNode({});
22
+ doc.set("modelOverrides", overrides);
23
+ }
24
+ overrides.set(modelKey, override);
25
+ writeConfigRaw(configPath, doc.toString());
26
+ logger.success(`Saved override for "${modelKey}"`);
27
+ }
28
+ function removeModelOverride(configPath, modelKey) {
29
+ const doc = (0, import_dist.parseDocument)(readConfigRaw(configPath));
30
+ const overrides = doc.get("modelOverrides");
31
+ if (!overrides?.has(modelKey)) throw new Error(`No override found for "${modelKey}"`);
32
+ overrides.delete(modelKey);
33
+ if (overrides.items.length === 0) doc.delete("modelOverrides");
34
+ writeConfigRaw(configPath, doc.toString());
35
+ logger.success(`Removed override for "${modelKey}"`);
36
+ }
37
+ function getModelOverrides(configPath) {
38
+ const overrides = (0, import_dist.parseDocument)(readConfigRaw(configPath)).get("modelOverrides");
39
+ if (!overrides) return {};
40
+ if (typeof overrides === "object" && overrides !== null && "toJSON" in overrides) return overrides.toJSON();
41
+ return overrides;
42
+ }
43
+ //#endregion
44
+ export { setModelOverride as i, removeModelOverride as n, requireConfigPath as r, getModelOverrides as t };
45
+
46
+ //# sourceMappingURL=config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.mjs","names":[],"sources":["../src/commands/config/config.ts"],"sourcesContent":["import { readFileSync, writeFileSync } from 'node:fs'\nimport type { YAMLMap } from 'yaml'\nimport { parseDocument } from 'yaml'\nimport { findConfigFile } from '../../config.js'\nimport type { ModelOverride } from '../../config-schema.js'\nimport { logger } from '../../logger.js'\n\nexport function requireConfigPath(): string {\n const path = findConfigFile()\n if (!path) {\n throw new Error(\n 'No config file found. Create proxitor.config.yaml first, or pass -c <path>.',\n )\n }\n return path\n}\n\nexport function readConfigRaw(path: string): string {\n return readFileSync(path, 'utf-8')\n}\n\nexport function writeConfigRaw(path: string, content: string): void {\n writeFileSync(path, content, 'utf-8')\n}\n\nexport function setModelOverride(\n configPath: string,\n modelKey: string,\n override: ModelOverride,\n): void {\n const raw = readConfigRaw(configPath)\n const doc = parseDocument(raw)\n\n let overrides = doc.get('modelOverrides') as YAMLMap | undefined\n if (!overrides) {\n overrides = doc.createNode({}) as YAMLMap\n doc.set('modelOverrides', overrides)\n }\n\n overrides.set(modelKey, override)\n\n writeConfigRaw(configPath, doc.toString())\n logger.success(`Saved override for \"${modelKey}\"`)\n}\n\nexport function removeModelOverride(configPath: string, modelKey: string): void {\n const raw = readConfigRaw(configPath)\n const doc = parseDocument(raw)\n\n const overrides = doc.get('modelOverrides') as YAMLMap | undefined\n if (!overrides?.has(modelKey)) {\n throw new Error(`No override found for \"${modelKey}\"`)\n }\n\n overrides.delete(modelKey)\n if (overrides.items.length === 0) {\n doc.delete('modelOverrides')\n }\n\n writeConfigRaw(configPath, doc.toString())\n logger.success(`Removed override for \"${modelKey}\"`)\n}\n\nexport function getModelOverrides(configPath: string): Record<string, ModelOverride> {\n const raw = readConfigRaw(configPath)\n const doc = parseDocument(raw)\n const overrides = doc.get('modelOverrides')\n if (!overrides) return {}\n if (typeof overrides === 'object' && overrides !== null && 'toJSON' in overrides) {\n return (overrides as { toJSON: () => unknown }).toJSON() as Record<\n string,\n ModelOverride\n >\n }\n return overrides as unknown as Record<string, ModelOverride>\n}\n"],"mappings":";;;;;AAOA,SAAgB,oBAA4B;CAC1C,MAAM,OAAO,eAAe;CAC5B,IAAI,CAAC,MACH,MAAM,IAAI,MACR,6EACF;CAEF,OAAO;AACT;AAEA,SAAgB,cAAc,MAAsB;CAClD,OAAO,aAAa,MAAM,OAAO;AACnC;AAEA,SAAgB,eAAe,MAAc,SAAuB;CAClE,cAAc,MAAM,SAAS,OAAO;AACtC;AAEA,SAAgB,iBACd,YACA,UACA,UACM;CAEN,MAAM,OAAA,GAAA,YAAA,eADM,cAAc,UACE,CAAC;CAE7B,IAAI,YAAY,IAAI,IAAI,gBAAgB;CACxC,IAAI,CAAC,WAAW;EACd,YAAY,IAAI,WAAW,CAAC,CAAC;EAC7B,IAAI,IAAI,kBAAkB,SAAS;CACrC;CAEA,UAAU,IAAI,UAAU,QAAQ;CAEhC,eAAe,YAAY,IAAI,SAAS,CAAC;CACzC,OAAO,QAAQ,uBAAuB,SAAS,EAAE;AACnD;AAEA,SAAgB,oBAAoB,YAAoB,UAAwB;CAE9E,MAAM,OAAA,GAAA,YAAA,eADM,cAAc,UACE,CAAC;CAE7B,MAAM,YAAY,IAAI,IAAI,gBAAgB;CAC1C,IAAI,CAAC,WAAW,IAAI,QAAQ,GAC1B,MAAM,IAAI,MAAM,0BAA0B,SAAS,EAAE;CAGvD,UAAU,OAAO,QAAQ;CACzB,IAAI,UAAU,MAAM,WAAW,GAC7B,IAAI,OAAO,gBAAgB;CAG7B,eAAe,YAAY,IAAI,SAAS,CAAC;CACzC,OAAO,QAAQ,yBAAyB,SAAS,EAAE;AACrD;AAEA,SAAgB,kBAAkB,YAAmD;CAGnF,MAAM,aAAA,GAAA,YAAA,eAFM,cAAc,UACE,CACR,EAAE,IAAI,gBAAgB;CAC1C,IAAI,CAAC,WAAW,OAAO,CAAC;CACxB,IAAI,OAAO,cAAc,YAAY,cAAc,QAAQ,YAAY,WACrE,OAAQ,UAAwC,OAAO;CAKzD,OAAO;AACT"}
@@ -0,0 +1,73 @@
1
+ import { intro as ye, isCancel as R, outro as fe, select as Ee } from "./dist.mjs";
2
+ import { addOverrideCommand } from "./add.mjs";
3
+ import { browseModelsCommand } from "./browse.mjs";
4
+ import { editOverrideCommand } from "./edit.mjs";
5
+ import { listOverridesCommand } from "./list.mjs";
6
+ import { removeOverrideCommand } from "./remove.mjs";
7
+ import { validateConfigCommand } from "./validate.mjs";
8
+ //#region src/commands/config.ts
9
+ /** Run the interactive config manager menu. */
10
+ async function runConfigMenu(apiKey) {
11
+ ye("Proxitor Config Manager");
12
+ const action = await Ee({
13
+ message: "What would you like to do?",
14
+ options: [
15
+ {
16
+ value: "add",
17
+ label: "➕ Add model override"
18
+ },
19
+ {
20
+ value: "edit",
21
+ label: "✏️ Edit model override"
22
+ },
23
+ {
24
+ value: "remove",
25
+ label: "🗑 Remove model override"
26
+ },
27
+ {
28
+ value: "list",
29
+ label: "📋 List current overrides"
30
+ },
31
+ {
32
+ value: "browse",
33
+ label: "🔍 Browse models"
34
+ },
35
+ {
36
+ value: "validate",
37
+ label: "✅ Validate config"
38
+ },
39
+ {
40
+ value: "exit",
41
+ label: "❌ Exit"
42
+ }
43
+ ]
44
+ });
45
+ if (R(action) || action === "exit") {
46
+ fe("Bye!");
47
+ return;
48
+ }
49
+ switch (action) {
50
+ case "add":
51
+ await addOverrideCommand(apiKey);
52
+ break;
53
+ case "edit":
54
+ await editOverrideCommand(apiKey);
55
+ break;
56
+ case "remove":
57
+ await removeOverrideCommand();
58
+ break;
59
+ case "list":
60
+ await listOverridesCommand();
61
+ break;
62
+ case "browse":
63
+ await browseModelsCommand(apiKey);
64
+ break;
65
+ case "validate":
66
+ await validateConfigCommand();
67
+ break;
68
+ }
69
+ }
70
+ //#endregion
71
+ export { runConfigMenu };
72
+
73
+ //# sourceMappingURL=config2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config2.mjs","names":["clack.select","isCancel"],"sources":["../src/commands/config.ts"],"sourcesContent":["import * as clack from '@clack/prompts'\nimport { isCancel } from '@clack/prompts'\nimport { addOverrideCommand } from './config/add.js'\nimport { browseModelsCommand } from './config/browse.js'\nimport { editOverrideCommand } from './config/edit.js'\nimport { listOverridesCommand } from './config/list.js'\nimport { removeOverrideCommand } from './config/remove.js'\nimport { validateConfigCommand } from './config/validate.js'\n\n/** Run the interactive config manager menu. */\nexport async function runConfigMenu(apiKey: string): Promise<void> {\n clack.intro('Proxitor Config Manager')\n\n const action = await clack.select({\n message: 'What would you like to do?',\n options: [\n { value: 'add', label: '➕ Add model override' },\n { value: 'edit', label: '✏️ Edit model override' },\n { value: 'remove', label: '🗑 Remove model override' },\n { value: 'list', label: '📋 List current overrides' },\n { value: 'browse', label: '🔍 Browse models' },\n { value: 'validate', label: '✅ Validate config' },\n { value: 'exit', label: '❌ Exit' },\n ],\n })\n\n if (isCancel(action) || action === 'exit') {\n clack.outro('Bye!')\n return\n }\n\n switch (action) {\n case 'add':\n await addOverrideCommand(apiKey)\n break\n case 'edit':\n await editOverrideCommand(apiKey)\n break\n case 'remove':\n await removeOverrideCommand()\n break\n case 'list':\n await listOverridesCommand()\n break\n case 'browse':\n await browseModelsCommand(apiKey)\n break\n case 'validate':\n await validateConfigCommand()\n break\n }\n}\n"],"mappings":";;;;;;;;;AAUA,eAAsB,cAAc,QAA+B;CACjE,GAAY,yBAAyB;CAErC,MAAM,SAAS,MAAMA,GAAa;EAChC,SAAS;EACT,SAAS;GACP;IAAE,OAAO;IAAO,OAAO;GAAwB;GAC/C;IAAE,OAAO;IAAQ,OAAO;GAA2B;GACnD;IAAE,OAAO;IAAU,OAAO;GAA6B;GACvD;IAAE,OAAO;IAAQ,OAAO;GAA6B;GACrD;IAAE,OAAO;IAAU,OAAO;GAAoB;GAC9C;IAAE,OAAO;IAAY,OAAO;GAAqB;GACjD;IAAE,OAAO;IAAQ,OAAO;GAAU;EACpC;CACF,CAAC;CAED,IAAIC,EAAS,MAAM,KAAK,WAAW,QAAQ;EACzC,GAAY,MAAM;EAClB;CACF;CAEA,QAAQ,QAAR;EACE,KAAK;GACH,MAAM,mBAAmB,MAAM;GAC/B;EACF,KAAK;GACH,MAAM,oBAAoB,MAAM;GAChC;EACF,KAAK;GACH,MAAM,sBAAsB;GAC5B;EACF,KAAK;GACH,MAAM,qBAAqB;GAC3B;EACF,KAAK;GACH,MAAM,oBAAoB,MAAM;GAChC;EACF,KAAK;GACH,MAAM,sBAAsB;GAC5B;CACJ;AACF"}