@kubbisec/ai-linux-arm64 0.1.9 → 0.1.10

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 (59) hide show
  1. package/bin/kubbisec +0 -0
  2. package/bundled/config/kubbisec-extension-manifest.d.ts +3 -0
  3. package/bundled/config/kubbisec-extension-manifest.d.ts.map +1 -0
  4. package/bundled/config/kubbisec-extension-manifest.js +23 -0
  5. package/bundled/config/kubbisec-extension-manifest.js.map +1 -0
  6. package/bundled/config/llm-config.d.ts +4 -1
  7. package/bundled/config/llm-config.d.ts.map +1 -1
  8. package/bundled/config/llm-config.js +17 -6
  9. package/bundled/config/llm-config.js.map +1 -1
  10. package/bundled/config/materialize-kubbisec-pi-resources.d.ts +1 -1
  11. package/bundled/config/materialize-kubbisec-pi-resources.d.ts.map +1 -1
  12. package/bundled/config/materialize-kubbisec-pi-resources.js +37 -8
  13. package/bundled/config/materialize-kubbisec-pi-resources.js.map +1 -1
  14. package/bundled/config/register-kubbisec-llm-provider.d.ts +4 -2
  15. package/bundled/config/register-kubbisec-llm-provider.d.ts.map +1 -1
  16. package/bundled/config/register-kubbisec-llm-provider.js +10 -4
  17. package/bundled/config/register-kubbisec-llm-provider.js.map +1 -1
  18. package/bundled/config/sync-kubbisec-pi-models.d.ts +12 -0
  19. package/bundled/config/sync-kubbisec-pi-models.d.ts.map +1 -0
  20. package/bundled/config/sync-kubbisec-pi-models.js +80 -0
  21. package/bundled/config/sync-kubbisec-pi-models.js.map +1 -0
  22. package/bundled/extensions/kubbisec-brand.extension.d.ts +2 -19
  23. package/bundled/extensions/kubbisec-brand.extension.d.ts.map +1 -1
  24. package/bundled/extensions/kubbisec-brand.extension.js +21 -21
  25. package/bundled/extensions/kubbisec-brand.extension.js.map +1 -1
  26. package/bundled/extensions/kubbisec-footer.extension.d.ts +2 -68
  27. package/bundled/extensions/kubbisec-footer.extension.d.ts.map +1 -1
  28. package/bundled/extensions/kubbisec-footer.extension.js +27 -13
  29. package/bundled/extensions/kubbisec-footer.extension.js.map +1 -1
  30. package/bundled/extensions/kubbisec-llm-config.extension.d.ts.map +1 -1
  31. package/bundled/extensions/kubbisec-llm-config.extension.js +5 -1
  32. package/bundled/extensions/kubbisec-llm-config.extension.js.map +1 -1
  33. package/bundled/extensions/kubbisec-theme-lock.extension.d.ts.map +1 -1
  34. package/bundled/extensions/kubbisec-theme-lock.extension.js +3 -0
  35. package/bundled/extensions/kubbisec-theme-lock.extension.js.map +1 -1
  36. package/bundled/extensions/kubbisec-ui.extension.d.ts.map +1 -1
  37. package/bundled/extensions/kubbisec-ui.extension.js +2 -1
  38. package/bundled/extensions/kubbisec-ui.extension.js.map +1 -1
  39. package/bundled/theme/footer-render-hook.d.ts +3 -0
  40. package/bundled/theme/footer-render-hook.d.ts.map +1 -0
  41. package/bundled/theme/footer-render-hook.js +8 -0
  42. package/bundled/theme/footer-render-hook.js.map +1 -0
  43. package/bundled/theme/kubbisec-brand-fg.d.ts +4 -0
  44. package/bundled/theme/kubbisec-brand-fg.d.ts.map +1 -0
  45. package/bundled/theme/kubbisec-brand-fg.js +7 -0
  46. package/bundled/theme/kubbisec-brand-fg.js.map +1 -0
  47. package/bundled/theme/kubbisec-menu-themes.d.ts +16 -0
  48. package/bundled/theme/kubbisec-menu-themes.d.ts.map +1 -0
  49. package/bundled/theme/kubbisec-menu-themes.js +47 -0
  50. package/bundled/theme/kubbisec-menu-themes.js.map +1 -0
  51. package/bundled/theme/patch-pi-settings-theme.runtime.d.ts +3 -0
  52. package/bundled/theme/patch-pi-settings-theme.runtime.d.ts.map +1 -0
  53. package/bundled/theme/patch-pi-settings-theme.runtime.js +16 -0
  54. package/bundled/theme/patch-pi-settings-theme.runtime.js.map +1 -0
  55. package/bundled/theme/render-compact-header.d.ts +7 -2
  56. package/bundled/theme/render-compact-header.d.ts.map +1 -1
  57. package/bundled/theme/render-compact-header.js +78 -12
  58. package/bundled/theme/render-compact-header.js.map +1 -1
  59. package/package.json +1 -1
package/bin/kubbisec CHANGED
Binary file
@@ -0,0 +1,3 @@
1
+ /** Load order for KubbiSec Pi extensions (brand/theme before UI chrome). */
2
+ export declare const KUBBISEC_EXTENSION_BASENAMES: readonly ["kubbisec-brand.extension", "kubbisec-theme-lock.extension", "kubbisec-byok-provider.extension", "kubbisec-llm-config.extension", "kubbisec-runtime-status.extension", "kubbisec-extended-context.extension", "kubbisec-skill-mentions.extension", "kubbisec-workflow.extension", "kubbisec-clarify.extension", "kubbisec-platform-tools.extension", "kubbisec-github-local.extension", "kubbisec-naus-local.extension", "kubbisec-aspm-local.extension", "kubbisec-ui.extension", "kubbisec-exit.extension", "kubbisec-footer.extension", "kubbisec-scope.extension", "kubbisec-skill-telemetry.extension", "kubbisec-memory.extension"];
3
+ //# sourceMappingURL=kubbisec-extension-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kubbisec-extension-manifest.d.ts","sourceRoot":"","sources":["../../src/config/kubbisec-extension-manifest.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,4BAA4B,qnBAoB/B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /** Load order for KubbiSec Pi extensions (brand/theme before UI chrome). */
2
+ export const KUBBISEC_EXTENSION_BASENAMES = [
3
+ "kubbisec-brand.extension",
4
+ "kubbisec-theme-lock.extension",
5
+ "kubbisec-byok-provider.extension",
6
+ "kubbisec-llm-config.extension",
7
+ "kubbisec-runtime-status.extension",
8
+ "kubbisec-extended-context.extension",
9
+ "kubbisec-skill-mentions.extension",
10
+ "kubbisec-workflow.extension",
11
+ "kubbisec-clarify.extension",
12
+ "kubbisec-platform-tools.extension",
13
+ "kubbisec-github-local.extension",
14
+ "kubbisec-naus-local.extension",
15
+ "kubbisec-aspm-local.extension",
16
+ "kubbisec-ui.extension",
17
+ "kubbisec-exit.extension",
18
+ "kubbisec-footer.extension",
19
+ "kubbisec-scope.extension",
20
+ "kubbisec-skill-telemetry.extension",
21
+ "kubbisec-memory.extension",
22
+ ];
23
+ //# sourceMappingURL=kubbisec-extension-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kubbisec-extension-manifest.js","sourceRoot":"","sources":["../../src/config/kubbisec-extension-manifest.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,0BAA0B;IAC1B,+BAA+B;IAC/B,kCAAkC;IAClC,+BAA+B;IAC/B,mCAAmC;IACnC,qCAAqC;IACrC,mCAAmC;IACnC,6BAA6B;IAC7B,4BAA4B;IAC5B,mCAAmC;IACnC,iCAAiC;IACjC,+BAA+B;IAC/B,+BAA+B;IAC/B,uBAAuB;IACvB,yBAAyB;IACzB,2BAA2B;IAC3B,0BAA0B;IAC1B,oCAAoC;IACpC,2BAA2B;CACnB,CAAC"}
@@ -57,5 +57,8 @@ export declare function setRuntimeTemperature(value: number | undefined, cwd?: s
57
57
  export declare function applyTemperatureToProviderPayload(payload: unknown, temperature: number | undefined): unknown;
58
58
  export declare function resolveChatModelId(cwd?: string, orgModel?: string | null): string;
59
59
  export declare function resolveChatProviderId(cwd?: string): string;
60
- export declare function formatModelFooterLabel(provider: string, modelId: string, modelName?: string, providerDisplayName?: string): string;
60
+ export declare const FOOTER_INFERENCE_UNSET = "\u2014";
61
+ /** Footer model ref: `provider/id` (no provider display name or KubbiSec branding). */
62
+ export declare function formatModelFooterLabel(provider: string, modelId: string): string;
63
+ export declare function formatModelFooterWithInferenceSettings(modelRef: string, thinkingLevel?: string | null, temperature?: number | null): string;
61
64
  //# sourceMappingURL=llm-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-config.d.ts","sourceRoot":"","sources":["../../src/config/llm-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-config.d.ts","sourceRoot":"","sources":["../../src/config/llm-config.ts"],"names":[],"mappings":"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"}
@@ -215,11 +215,22 @@ export function resolveChatProviderId(cwd = process.cwd()) {
215
215
  const config = readLlmConfig(cwd);
216
216
  return config.defaultProvider?.trim() || KUBBISEC_LLM_PROVIDER_ID;
217
217
  }
218
- export function formatModelFooterLabel(provider, modelId, modelName, providerDisplayName) {
219
- const displayProvider = provider === KUBBISEC_LLM_PROVIDER_ID
220
- ? "KubbiSec"
221
- : providerDisplayName?.trim() || provider;
222
- const displayModel = modelName?.trim() || modelId;
223
- return `${displayProvider} · ${displayModel}`;
218
+ export const FOOTER_INFERENCE_UNSET = "—";
219
+ /** Footer model ref: `provider/id` (no provider display name or KubbiSec branding). */
220
+ export function formatModelFooterLabel(provider, modelId) {
221
+ const id = modelId.trim();
222
+ if (!id)
223
+ return "no-model";
224
+ if (id.includes("/"))
225
+ return id;
226
+ const providerId = provider.trim() || KUBBISEC_LLM_PROVIDER_ID;
227
+ return `${providerId}/${id}`;
228
+ }
229
+ export function formatModelFooterWithInferenceSettings(modelRef, thinkingLevel, temperature) {
230
+ const thinking = thinkingLevel?.trim() || FOOTER_INFERENCE_UNSET;
231
+ const temp = temperature != null && Number.isFinite(temperature)
232
+ ? String(temperature)
233
+ : FOOTER_INFERENCE_UNSET;
234
+ return `${modelRef} · ${thinking} · ${temp}`;
224
235
  }
225
236
  //# sourceMappingURL=llm-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../../src/config/llm-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../../src/config/llm-config.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,6 @@
8
8
  export declare function materializeKubbisecPiExtensions(cwd?: string): string[];
9
9
  /** Pin KubbiSec theme under `<cwd>/.pi/themes/` for Pi project discovery (no `--theme` path). */
10
10
  export declare function materializeKubbisecPiTheme(cwd?: string): void;
11
- /** Materialized extension paths for harnesses that require explicit `-e` paths. */
11
+ /** Materialized extension paths in manifest load order (for explicit `-e` flags). */
12
12
  export declare function resolveKubbisecPiExtensionPaths(cwd?: string): string[];
13
13
  //# sourceMappingURL=materialize-kubbisec-pi-resources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"materialize-kubbisec-pi-resources.d.ts","sourceRoot":"","sources":["../../src/config/materialize-kubbisec-pi-resources.ts"],"names":[],"mappings":"AAqGA;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CAyB7E;AAED,iGAAiG;AACjG,wBAAgB,0BAA0B,CAAC,GAAG,SAAgB,GAAG,IAAI,CAOpE;AAED,mFAAmF;AACnF,wBAAgB,+BAA+B,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CAE7E"}
1
+ {"version":3,"file":"materialize-kubbisec-pi-resources.d.ts","sourceRoot":"","sources":["../../src/config/materialize-kubbisec-pi-resources.ts"],"names":[],"mappings":"AA4HA;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CA2B7E;AAED,iGAAiG;AACjG,wBAAgB,0BAA0B,CAAC,GAAG,SAAgB,GAAG,IAAI,CAOpE;AAED,qFAAqF;AACrF,wBAAgB,+BAA+B,CAAC,GAAG,SAAgB,GAAG,MAAM,EAAE,CAW7E"}
@@ -1,11 +1,14 @@
1
1
  import * as crypto from "node:crypto";
2
2
  import * as fs from "node:fs";
3
3
  import * as path from "node:path";
4
+ import { KUBBISEC_EXTENSION_BASENAMES } from "./kubbisec-extension-manifest.js";
4
5
  import { PI_PROJECT_CONFIG_DIR } from "./ensure-kubbisec-project-settings.js";
5
6
  import { KUBBISEC_THEME_NAME } from "../theme/kubbisec-theme-name.js";
6
7
  import { resolveBundledDistRoot } from "../resolve-bundled-dist-root.js";
7
8
  const KUBBISEC_EXTENSION_PREFIX = "kubbisec-";
8
9
  const FINGERPRINT_FILE = ".bundled-fingerprint";
10
+ /** Non-prefixed modules co-located with extensions (imported as `./…` from extension entrypoints). */
11
+ const EXTENSION_SUPPORT_FILES = ["cli-local-shared.js"];
9
12
  /** Dist siblings required by `../…` imports from `.pi/extensions/*.extension.js`. */
10
13
  const PI_SUPPORT_DIRS = [
11
14
  "config",
@@ -26,6 +29,11 @@ function listKubbisecExtensionFiles(dir) {
26
29
  .filter((name) => name.startsWith(KUBBISEC_EXTENSION_PREFIX) && name.endsWith(".js"))
27
30
  .sort();
28
31
  }
32
+ function listExtensionSupportFiles(dir) {
33
+ if (!fs.existsSync(dir))
34
+ return [];
35
+ return EXTENSION_SUPPORT_FILES.filter((name) => fs.existsSync(path.join(dir, name)));
36
+ }
29
37
  function listFilesRecursive(root, prefix = "") {
30
38
  const out = [];
31
39
  const scanDir = prefix ? path.join(root, prefix) : root;
@@ -42,13 +50,17 @@ function listFilesRecursive(root, prefix = "") {
42
50
  }
43
51
  return out.sort();
44
52
  }
45
- function fingerprintBundledPiRuntime(sourceRoot, extensionNames) {
53
+ function fingerprintBundledPiRuntime(sourceRoot, extensionNames, supportNames) {
46
54
  const hash = crypto.createHash("sha256");
47
55
  const extensionsDir = path.join(sourceRoot, "extensions");
48
56
  for (const name of extensionNames) {
49
57
  hash.update(`extensions/${name}`);
50
58
  hash.update(fs.readFileSync(path.join(extensionsDir, name)));
51
59
  }
60
+ for (const name of supportNames) {
61
+ hash.update(`extensions/${name}`);
62
+ hash.update(fs.readFileSync(path.join(extensionsDir, name)));
63
+ }
52
64
  for (const dir of PI_SUPPORT_DIRS) {
53
65
  const base = path.join(sourceRoot, dir);
54
66
  for (const rel of listFilesRecursive(base)) {
@@ -66,8 +78,14 @@ function fingerprintBundledPiRuntime(sourceRoot, extensionNames) {
66
78
  return hash.digest("hex").slice(0, 16);
67
79
  }
68
80
  function removeStaleKubbisecExtensions(targetDir) {
69
- for (const name of listKubbisecExtensionFiles(targetDir)) {
70
- fs.unlinkSync(path.join(targetDir, name));
81
+ if (!fs.existsSync(targetDir))
82
+ return;
83
+ for (const name of fs.readdirSync(targetDir)) {
84
+ const isKubbisecEntry = name.startsWith(KUBBISEC_EXTENSION_PREFIX) && name.endsWith(".js");
85
+ const isSupport = EXTENSION_SUPPORT_FILES.includes(name);
86
+ if (isKubbisecEntry || isSupport) {
87
+ fs.unlinkSync(path.join(targetDir, name));
88
+ }
71
89
  }
72
90
  }
73
91
  function copySupportDirs(sourceRoot, piRoot) {
@@ -108,17 +126,19 @@ export function materializeKubbisecPiExtensions(cwd = process.cwd()) {
108
126
  const sourceRoot = resolveBundledDistRoot();
109
127
  const sourceDir = path.join(sourceRoot, "extensions");
110
128
  const sourceNames = listKubbisecExtensionFiles(sourceDir);
129
+ const supportNames = listExtensionSupportFiles(sourceDir);
111
130
  if (sourceNames.length === 0)
112
131
  return [];
113
132
  const piRoot = path.join(cwd, PI_PROJECT_CONFIG_DIR);
114
133
  const targetDir = path.join(piRoot, "extensions");
115
134
  fs.mkdirSync(targetDir, { recursive: true, mode: 0o755 });
116
- const fingerprint = fingerprintBundledPiRuntime(sourceRoot, sourceNames);
135
+ const fingerprint = fingerprintBundledPiRuntime(sourceRoot, sourceNames, supportNames);
117
136
  const extensionsUpToDate = supportLayoutUpToDate(piRoot, fingerprint) &&
118
- sourceNames.every((name) => fs.existsSync(path.join(targetDir, name)));
137
+ sourceNames.every((name) => fs.existsSync(path.join(targetDir, name))) &&
138
+ supportNames.every((name) => fs.existsSync(path.join(targetDir, name)));
119
139
  if (!extensionsUpToDate) {
120
140
  removeStaleKubbisecExtensions(targetDir);
121
- for (const name of sourceNames) {
141
+ for (const name of [...sourceNames, ...supportNames]) {
122
142
  fs.copyFileSync(path.join(sourceDir, name), path.join(targetDir, name));
123
143
  }
124
144
  copySupportDirs(sourceRoot, piRoot);
@@ -135,8 +155,17 @@ export function materializeKubbisecPiTheme(cwd = process.cwd()) {
135
155
  fs.mkdirSync(targetDir, { recursive: true, mode: 0o755 });
136
156
  fs.copyFileSync(source, path.join(targetDir, `${KUBBISEC_THEME_NAME}.json`));
137
157
  }
138
- /** Materialized extension paths for harnesses that require explicit `-e` paths. */
158
+ /** Materialized extension paths in manifest load order (for explicit `-e` flags). */
139
159
  export function resolveKubbisecPiExtensionPaths(cwd = process.cwd()) {
140
- return materializeKubbisecPiExtensions(cwd);
160
+ materializeKubbisecPiExtensions(cwd);
161
+ const targetDir = path.join(cwd, PI_PROJECT_CONFIG_DIR, "extensions");
162
+ const paths = [];
163
+ for (const base of KUBBISEC_EXTENSION_BASENAMES) {
164
+ const full = path.join(targetDir, `${base}.js`);
165
+ if (fs.existsSync(full)) {
166
+ paths.push(full);
167
+ }
168
+ }
169
+ return paths;
141
170
  }
142
171
  //# sourceMappingURL=materialize-kubbisec-pi-resources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"materialize-kubbisec-pi-resources.js","sourceRoot":"","sources":["../../src/config/materialize-kubbisec-pi-resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materialize-kubbisec-pi-resources.js","sourceRoot":"","sources":["../../src/config/materialize-kubbisec-pi-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAC9C,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEhD,sGAAsG;AACtG,MAAM,uBAAuB,GAAG,CAAC,qBAAqB,CAAU,CAAC;AAEjE,qFAAqF;AACrF,MAAM,eAAe,GAAG;IACtB,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;CACA,CAAC;AAEX,MAAM,aAAa,GAAG,CAAC,8BAA8B,CAAU,CAAC;AAEhE,SAAS,0BAA0B,CAAC,GAAW;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,EAAE;SACN,WAAW,CAAC,GAAG,CAAC;SAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACpF,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE;IACnD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5D,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAClC,UAAkB,EAClB,cAAwB,EACxB,YAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,6BAA6B,CAAC,SAAiB;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO;IACtC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,MAAM,eAAe,GACnB,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,SAAS,GAAI,uBAA6C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,eAAe,IAAI,SAAS,EAAE,CAAC;YACjC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,MAAc;IACzD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QACrC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc,EAAE,WAAmB;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,mCAAmC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACjE,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC1D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAClD,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,2BAA2B,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACvF,MAAM,kBAAkB,GACtB,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC;QAC1C,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;YACrD,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,GAAG,WAAW,IAAI,EAAE,MAAM,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,0BAA0B,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,GAAG,mBAAmB,OAAO,CAAC,CAAC;IAC3F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO;IAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IAClE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,mBAAmB,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,+BAA+B,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACjE,+BAA+B,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,4BAA4B,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QAChD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import { toProviderModelConfig } from "./llm-provider-catalog.js";
2
- type ProviderRegistrar = (id: string, config: {
2
+ export type KubbisecLlmProviderPiConfig = {
3
3
  name?: string;
4
4
  baseUrl?: string;
5
5
  headers?: Record<string, string>;
6
6
  apiKey?: string;
7
7
  api?: string;
8
8
  models?: ReturnType<typeof toProviderModelConfig>[];
9
- }) => void;
9
+ };
10
+ type ProviderRegistrar = (id: string, config: KubbisecLlmProviderPiConfig) => void;
11
+ export declare function buildKubbisecLlmProviderConfig(cwd?: string): KubbisecLlmProviderPiConfig | null;
10
12
  export declare function registerKubbisecLlmProvider(register: ProviderRegistrar, cwd?: string): boolean;
11
13
  export {};
12
14
  //# sourceMappingURL=register-kubbisec-llm-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-kubbisec-llm-provider.d.ts","sourceRoot":"","sources":["../../src/config/register-kubbisec-llm-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAGnC,KAAK,iBAAiB,GAAG,CACvB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;IACN,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAAE,CAAC;CACrD,KACE,IAAI,CAAC;AA+BV,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,SAAgB,GAClB,OAAO,CAwBT"}
1
+ {"version":3,"file":"register-kubbisec-llm-provider.d.ts","sourceRoot":"","sources":["../../src/config/register-kubbisec-llm-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAAE,CAAC;CACrD,CAAC;AAEF,KAAK,iBAAiB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,KAAK,IAAI,CAAC;AA+BnF,wBAAgB,8BAA8B,CAC5C,GAAG,SAAgB,GAClB,2BAA2B,GAAG,IAAI,CAsBpC;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,SAAgB,GAClB,OAAO,CAMT"}
@@ -23,10 +23,10 @@ function resolveProxyHeaders(token) {
23
23
  headers["x-organization-id"] = orgId;
24
24
  return headers;
25
25
  }
26
- export function registerKubbisecLlmProvider(register, cwd = process.cwd()) {
26
+ export function buildKubbisecLlmProviderConfig(cwd = process.cwd()) {
27
27
  const baseUrl = resolveLlmBaseUrl();
28
28
  if (!baseUrl)
29
- return false;
29
+ return null;
30
30
  const token = process.env.KUBBISEC_JOB_TOKEN?.trim() ||
31
31
  process.env.KUBBISEC_API_KEY?.trim() ||
32
32
  process.env.OPENAI_API_KEY?.trim();
@@ -34,14 +34,20 @@ export function registerKubbisecLlmProvider(register, cwd = process.cwd()) {
34
34
  const llmConfig = readLlmConfig(cwd);
35
35
  const defaultModelId = resolveModelId(llmConfig);
36
36
  const catalog = mergeKubbisecModelCatalog(defaultModelId, llmConfig.kubbisec?.models);
37
- register(KUBBISEC_LLM_PROVIDER_ID, {
37
+ return {
38
38
  name: KUBBISEC_LLM_PROVIDER_NAME,
39
39
  baseUrl,
40
40
  ...(token ? { apiKey: token } : {}),
41
41
  api: "openai-completions",
42
42
  ...(Object.keys(headers).length > 0 ? { headers } : {}),
43
43
  models: catalog.map(toProviderModelConfig),
44
- });
44
+ };
45
+ }
46
+ export function registerKubbisecLlmProvider(register, cwd = process.cwd()) {
47
+ const config = buildKubbisecLlmProviderConfig(cwd);
48
+ if (!config)
49
+ return false;
50
+ register(KUBBISEC_LLM_PROVIDER_ID, config);
45
51
  return true;
46
52
  }
47
53
  //# sourceMappingURL=register-kubbisec-llm-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-kubbisec-llm-provider.js","sourceRoot":"","sources":["../../src/config/register-kubbisec-llm-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAchD,SAAS,iBAAiB;IACxB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE;QAC5C,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAM,GAAG,aAAa,EAAE;IAC9C,OAAO,CACL,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE;QACjC,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,KAAK,EAAE;QAChC,WAAW,EAAE,KAAK;KACnB,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAClD,IAAI,KAAK;QAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAA2B,EAC3B,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,yBAAyB,CAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEtF,QAAQ,CAAC,wBAAwB,EAAE;QACjC,IAAI,EAAE,0BAA0B;QAChC,OAAO;QACP,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,EAAE,oBAAoB;QACzB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;KAC3C,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"register-kubbisec-llm-provider.js","sourceRoot":"","sources":["../../src/config/register-kubbisec-llm-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Matches Pi `getAgentDir()` when runtime is branded (`piConfig.configDir: ".kubbisec"`). */
2
+ export declare const KUBBISEC_PI_AGENT_CONFIG_DIR = ".kubbisec";
3
+ export declare function resolvePiAgentModelsJsonPath(): string;
4
+ /**
5
+ * Pi resolves `--provider` from models.json before extensions load.
6
+ * Materialize KubbiSec (and custom BYOK/local) providers into `~/.kubbisec/agent/models.json`
7
+ * so chat bootstrap can use `defaultProvider` from `.kubbisec/llm.json`.
8
+ */
9
+ export declare function syncKubbisecProvidersToPiModelsJson(cwd?: string, options?: {
10
+ modelsJsonPath?: string;
11
+ }): boolean;
12
+ //# sourceMappingURL=sync-kubbisec-pi-models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-kubbisec-pi-models.d.ts","sourceRoot":"","sources":["../../src/config/sync-kubbisec-pi-models.ts"],"names":[],"mappings":"AAmBA,8FAA8F;AAC9F,eAAO,MAAM,4BAA4B,cAAc,CAAC;AAQxD,wBAAgB,4BAA4B,IAAI,MAAM,CAMrD;AAuCD;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,SAAgB,EACnB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,OAAO,CA6BT"}
@@ -0,0 +1,80 @@
1
+ import * as fs from "node:fs";
2
+ import * as os from "node:os";
3
+ import * as path from "node:path";
4
+ import { readLlmConfig, resolveApiKeyValue, } from "./llm-config.js";
5
+ import { KUBBISEC_LLM_PROVIDER_ID } from "./llm-provider-catalog.js";
6
+ import { buildKubbisecLlmProviderConfig, } from "./register-kubbisec-llm-provider.js";
7
+ import { toProviderModelConfig } from "./llm-provider-catalog.js";
8
+ /** Matches Pi `getAgentDir()` when runtime is branded (`piConfig.configDir: ".kubbisec"`). */
9
+ export const KUBBISEC_PI_AGENT_CONFIG_DIR = ".kubbisec";
10
+ function expandTildePath(filePath) {
11
+ if (filePath === "~")
12
+ return os.homedir();
13
+ if (filePath.startsWith("~/"))
14
+ return path.join(os.homedir(), filePath.slice(2));
15
+ return filePath;
16
+ }
17
+ export function resolvePiAgentModelsJsonPath() {
18
+ const envDir = process.env.KUBBISEC_CODING_AGENT_DIR?.trim();
19
+ if (envDir) {
20
+ return path.join(expandTildePath(envDir), "models.json");
21
+ }
22
+ return path.join(os.homedir(), KUBBISEC_PI_AGENT_CONFIG_DIR, "agent", "models.json");
23
+ }
24
+ function readPiModelsJson(filePath) {
25
+ try {
26
+ const parsed = JSON.parse(fs.readFileSync(filePath, "utf8"));
27
+ if (parsed &&
28
+ typeof parsed === "object" &&
29
+ !Array.isArray(parsed) &&
30
+ typeof parsed.providers === "object" &&
31
+ parsed.providers !== null) {
32
+ return parsed;
33
+ }
34
+ }
35
+ catch {
36
+ /* missing or invalid */
37
+ }
38
+ return { providers: {} };
39
+ }
40
+ function buildCustomProviderPiEntry(provider) {
41
+ const apiKey = resolveApiKeyValue(provider.apiKey) ??
42
+ (provider.autodetected ? provider.apiKey : undefined);
43
+ return {
44
+ name: provider.name?.trim() || provider.id,
45
+ baseUrl: provider.baseUrl,
46
+ ...(apiKey ? { apiKey } : {}),
47
+ api: provider.api ?? "openai-completions",
48
+ ...(provider.headers && Object.keys(provider.headers).length > 0
49
+ ? { headers: provider.headers }
50
+ : {}),
51
+ models: provider.models.map(toProviderModelConfig),
52
+ };
53
+ }
54
+ /**
55
+ * Pi resolves `--provider` from models.json before extensions load.
56
+ * Materialize KubbiSec (and custom BYOK/local) providers into `~/.kubbisec/agent/models.json`
57
+ * so chat bootstrap can use `defaultProvider` from `.kubbisec/llm.json`.
58
+ */
59
+ export function syncKubbisecProvidersToPiModelsJson(cwd = process.cwd(), options) {
60
+ const kubbisec = buildKubbisecLlmProviderConfig(cwd);
61
+ const customProviders = readLlmConfig(cwd).providers ?? [];
62
+ if (!kubbisec && customProviders.length === 0) {
63
+ return false;
64
+ }
65
+ const filePath = options?.modelsJsonPath ?? resolvePiAgentModelsJsonPath();
66
+ fs.mkdirSync(path.dirname(filePath), { recursive: true, mode: 0o755 });
67
+ const existing = readPiModelsJson(filePath);
68
+ const providers = {
69
+ ...existing.providers,
70
+ };
71
+ if (kubbisec) {
72
+ providers[KUBBISEC_LLM_PROVIDER_ID] = kubbisec;
73
+ }
74
+ for (const provider of customProviders) {
75
+ providers[provider.id] = buildCustomProviderPiEntry(provider);
76
+ }
77
+ fs.writeFileSync(filePath, `${JSON.stringify({ providers }, null, 2)}\n`, { encoding: "utf8", mode: 0o600 });
78
+ return Boolean(kubbisec);
79
+ }
80
+ //# sourceMappingURL=sync-kubbisec-pi-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-kubbisec-pi-models.js","sourceRoot":"","sources":["../../src/config/sync-kubbisec-pi-models.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,3 @@
1
- type Theme = {
2
- fg: (role: string, text: string) => string;
3
- bold: (text: string) => string;
4
- };
5
- type ExtensionApi = {
6
- on: (event: string, handler: (event: unknown, ctx: ExtensionContext) => void | Promise<void>) => void;
7
- };
8
- type ExtensionContext = {
9
- hasUI: boolean;
10
- ui: {
11
- setHeader: (factory: ((tui: unknown, theme: Theme) => {
12
- render: (width: number) => string[];
13
- invalidate: () => void;
14
- }) | undefined) => void;
15
- setTerminalTitle?: (title: string) => void;
16
- };
17
- };
18
- export default function kubbisecBrand(api: ExtensionApi): void;
19
- export {};
1
+ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
+ export default function kubbisecBrand(api: ExtensionAPI): void;
20
3
  //# sourceMappingURL=kubbisec-brand.extension.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kubbisec-brand.extension.d.ts","sourceRoot":"","sources":["../../src/extensions/kubbisec-brand.extension.ts"],"names":[],"mappings":"AAKA,KAAK,KAAK,GAAG;IACX,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAChC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CACvG,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE;QACF,SAAS,EAAE,CACT,OAAO,EACH,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK;YAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;YAAC,UAAU,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC,GACjG,SAAS,KACV,IAAI,CAAC;QACV,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KAC5C,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CA8B7D"}
1
+ {"version":3,"file":"kubbisec-brand.extension.d.ts","sourceRoot":"","sources":["../../src/extensions/kubbisec-brand.extension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAyBpE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAe7D"}
@@ -1,32 +1,32 @@
1
1
  import * as path from "node:path";
2
2
  import { KUBBISEC_PRODUCT_NAME } from "../copy/kubbisec-shell-copy.js";
3
- import { clearTerminal } from "../theme/clear-terminal.js";
4
- import { renderChatHeaderLines } from "../theme/render-compact-header.js";
3
+ import { renderChatHeaderLines, } from "../theme/render-compact-header.js";
4
+ function buildBrandHeaderComponent(theme, version) {
5
+ let cachedWidth = 0;
6
+ let cachedLines = renderChatHeaderLines(theme, version, 80);
7
+ return {
8
+ render(width) {
9
+ if (width !== cachedWidth) {
10
+ cachedWidth = width;
11
+ cachedLines = renderChatHeaderLines(theme, version, width);
12
+ }
13
+ return cachedLines;
14
+ },
15
+ invalidate() {
16
+ cachedWidth = 0;
17
+ },
18
+ };
19
+ }
5
20
  export default function kubbisecBrand(api) {
6
21
  const version = process.env.KUBBISEC_AI_VERSION?.trim() || "0.1.0";
7
- api.on("session_start", async (_event, ctx) => {
22
+ api.on("session_start", (_event, ctx) => {
8
23
  if (!ctx.hasUI)
9
24
  return;
10
- clearTerminal();
11
- ctx.ui.setHeader((_tui, theme) => {
12
- let cachedWidth = 0;
13
- let cachedLines = renderChatHeaderLines(theme, version, 80);
14
- return {
15
- render(width) {
16
- if (width !== cachedWidth) {
17
- cachedWidth = width;
18
- cachedLines = renderChatHeaderLines(theme, version, width);
19
- }
20
- return cachedLines;
21
- },
22
- invalidate() {
23
- cachedWidth = 0;
24
- },
25
- };
26
- });
25
+ // Header sits above the chat log so messages never render above KubbiSec chrome.
26
+ ctx.ui.setHeader((_tui, theme) => buildBrandHeaderComponent(theme, version));
27
27
  const cwd = process.cwd();
28
28
  const base = path.basename(cwd) || cwd;
29
- ctx.ui.setTerminalTitle?.(`${KUBBISEC_PRODUCT_NAME} — ${base}`);
29
+ ctx.ui.setTitle(`${KUBBISEC_PRODUCT_NAME} — ${base}`);
30
30
  });
31
31
  }
32
32
  //# sourceMappingURL=kubbisec-brand.extension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kubbisec-brand.extension.js","sourceRoot":"","sources":["../../src/extensions/kubbisec-brand.extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAuB1E,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAiB;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;IAEnE,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAqB,EAAE,EAAE;QAC9D,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO;QAEvB,aAAa,EAAE,CAAC;QAEhB,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC/B,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,WAAW,GAAa,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAEtE,OAAO;gBACL,MAAM,CAAC,KAAa;oBAClB,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;wBAC1B,WAAW,GAAG,KAAK,CAAC;wBACpB,WAAW,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC7D,CAAC;oBACD,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,UAAU;oBACR,WAAW,GAAG,CAAC,CAAC;gBAClB,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QACvC,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,qBAAqB,MAAM,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"kubbisec-brand.extension.js","sourceRoot":"","sources":["../../src/extensions/kubbisec-brand.extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EACL,qBAAqB,GAEtB,MAAM,mCAAmC,CAAC;AAE3C,SAAS,yBAAyB,CAAC,KAAyB,EAAE,OAAe;IAC3E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAa,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAEtE,OAAO;QACL,MAAM,CAAC,KAAa;YAClB,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,WAAW,GAAG,KAAK,CAAC;gBACpB,WAAW,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,UAAU;YACR,WAAW,GAAG,CAAC,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAiB;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;IAEnE,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACtC,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO;QAEvB,iFAAiF;QACjF,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC/B,yBAAyB,CAAC,KAA2B,EAAE,OAAO,CAAC,CAChE,CAAC;QAEF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QACvC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,qBAAqB,MAAM,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC"}