@kubbisec/ai-linux-arm64 0.1.7 → 0.1.9

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 (183) hide show
  1. package/bin/kubbisec +0 -0
  2. package/bundled/assets/terminal/wordmark-inline.ansi +1 -0
  3. package/bundled/assets/terminal/wordmark.ansi +4 -0
  4. package/bundled/assets/terminal/wordmark.png +0 -0
  5. package/bundled/clarify/clarify-gate-state.d.ts +3 -0
  6. package/bundled/clarify/clarify-gate-state.d.ts.map +1 -0
  7. package/bundled/clarify/clarify-gate-state.js +9 -0
  8. package/bundled/clarify/clarify-gate-state.js.map +1 -0
  9. package/bundled/clarify/clarify-gate.d.ts +2 -1
  10. package/bundled/clarify/clarify-gate.d.ts.map +1 -1
  11. package/bundled/clarify/clarify-gate.js +17 -4
  12. package/bundled/clarify/clarify-gate.js.map +1 -1
  13. package/bundled/clarify/clarify-select-panel.d.ts +14 -0
  14. package/bundled/clarify/clarify-select-panel.d.ts.map +1 -0
  15. package/bundled/clarify/clarify-select-panel.js +82 -0
  16. package/bundled/clarify/clarify-select-panel.js.map +1 -0
  17. package/bundled/clarify/clarify-ui-state.d.ts +10 -1
  18. package/bundled/clarify/clarify-ui-state.d.ts.map +1 -1
  19. package/bundled/clarify/clarify-ui-state.js +24 -3
  20. package/bundled/clarify/clarify-ui-state.js.map +1 -1
  21. package/bundled/clarify/parse-clarify-answer.d.ts +6 -1
  22. package/bundled/clarify/parse-clarify-answer.d.ts.map +1 -1
  23. package/bundled/clarify/parse-clarify-answer.js +35 -2
  24. package/bundled/clarify/parse-clarify-answer.js.map +1 -1
  25. package/bundled/clarify/question-format.d.ts +7 -4
  26. package/bundled/clarify/question-format.d.ts.map +1 -1
  27. package/bundled/clarify/question-format.js +26 -33
  28. package/bundled/clarify/question-format.js.map +1 -1
  29. package/bundled/clarify/questionnaire-tool.d.ts.map +1 -1
  30. package/bundled/clarify/questionnaire-tool.js +16 -9
  31. package/bundled/clarify/questionnaire-tool.js.map +1 -1
  32. package/bundled/clarify/scope-discovery.d.ts +10 -0
  33. package/bundled/clarify/scope-discovery.d.ts.map +1 -0
  34. package/bundled/clarify/scope-discovery.js +130 -0
  35. package/bundled/clarify/scope-discovery.js.map +1 -0
  36. package/bundled/clarify/session-questionnaire.d.ts +4 -1
  37. package/bundled/clarify/session-questionnaire.d.ts.map +1 -1
  38. package/bundled/clarify/session-questionnaire.js +59 -4
  39. package/bundled/clarify/session-questionnaire.js.map +1 -1
  40. package/bundled/clarify/session-questionnaire.types.d.ts +2 -0
  41. package/bundled/clarify/session-questionnaire.types.d.ts.map +1 -1
  42. package/bundled/clarify/session-questionnaire.types.js.map +1 -1
  43. package/bundled/config/detect-local-llm-providers.d.ts +33 -0
  44. package/bundled/config/detect-local-llm-providers.d.ts.map +1 -0
  45. package/bundled/config/detect-local-llm-providers.js +173 -0
  46. package/bundled/config/detect-local-llm-providers.js.map +1 -0
  47. package/bundled/config/ensure-kubbisec-project-settings.d.ts +8 -0
  48. package/bundled/config/ensure-kubbisec-project-settings.d.ts.map +1 -1
  49. package/bundled/config/ensure-kubbisec-project-settings.js +31 -0
  50. package/bundled/config/ensure-kubbisec-project-settings.js.map +1 -1
  51. package/bundled/config/extended-context.d.ts +12 -0
  52. package/bundled/config/extended-context.d.ts.map +1 -0
  53. package/bundled/config/extended-context.js +37 -0
  54. package/bundled/config/extended-context.js.map +1 -0
  55. package/bundled/config/format-kubbisec-footer-status.d.ts.map +1 -1
  56. package/bundled/config/format-kubbisec-footer-status.js +10 -1
  57. package/bundled/config/format-kubbisec-footer-status.js.map +1 -1
  58. package/bundled/config/llm-config-mutations.d.ts +38 -0
  59. package/bundled/config/llm-config-mutations.d.ts.map +1 -0
  60. package/bundled/config/llm-config-mutations.js +207 -0
  61. package/bundled/config/llm-config-mutations.js.map +1 -0
  62. package/bundled/config/llm-config.d.ts +61 -0
  63. package/bundled/config/llm-config.d.ts.map +1 -0
  64. package/bundled/config/llm-config.js +225 -0
  65. package/bundled/config/llm-config.js.map +1 -0
  66. package/bundled/config/llm-provider-catalog.d.ts +22 -0
  67. package/bundled/config/llm-provider-catalog.d.ts.map +1 -0
  68. package/bundled/config/llm-provider-catalog.js +42 -0
  69. package/bundled/config/llm-provider-catalog.js.map +1 -0
  70. package/bundled/config/materialize-kubbisec-pi-resources.d.ts +13 -0
  71. package/bundled/config/materialize-kubbisec-pi-resources.d.ts.map +1 -0
  72. package/bundled/config/materialize-kubbisec-pi-resources.js +142 -0
  73. package/bundled/config/materialize-kubbisec-pi-resources.js.map +1 -0
  74. package/bundled/config/register-custom-llm-providers.d.ts +13 -0
  75. package/bundled/config/register-custom-llm-providers.d.ts.map +1 -0
  76. package/bundled/config/register-custom-llm-providers.js +21 -0
  77. package/bundled/config/register-custom-llm-providers.js.map +1 -0
  78. package/bundled/config/register-kubbisec-llm-provider.d.ts +12 -0
  79. package/bundled/config/register-kubbisec-llm-provider.d.ts.map +1 -0
  80. package/bundled/config/register-kubbisec-llm-provider.js +47 -0
  81. package/bundled/config/register-kubbisec-llm-provider.js.map +1 -0
  82. package/bundled/copy/cli-reference-index.d.ts +6 -0
  83. package/bundled/copy/cli-reference-index.d.ts.map +1 -0
  84. package/bundled/copy/cli-reference-index.js +42 -0
  85. package/bundled/copy/cli-reference-index.js.map +1 -0
  86. package/bundled/copy/kubbisec-shell-copy.d.ts +15 -2
  87. package/bundled/copy/kubbisec-shell-copy.d.ts.map +1 -1
  88. package/bundled/copy/kubbisec-shell-copy.js +15 -2
  89. package/bundled/copy/kubbisec-shell-copy.js.map +1 -1
  90. package/bundled/extensions/cli-local-shared.d.ts +31 -11
  91. package/bundled/extensions/cli-local-shared.d.ts.map +1 -1
  92. package/bundled/extensions/cli-local-shared.js +56 -10
  93. package/bundled/extensions/cli-local-shared.js.map +1 -1
  94. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts +1 -0
  95. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts.map +1 -1
  96. package/bundled/extensions/kubbisec-aspm-local.extension.js +32 -44
  97. package/bundled/extensions/kubbisec-aspm-local.extension.js.map +1 -1
  98. package/bundled/extensions/kubbisec-brand.extension.d.ts.map +1 -1
  99. package/bundled/extensions/kubbisec-brand.extension.js +7 -59
  100. package/bundled/extensions/kubbisec-brand.extension.js.map +1 -1
  101. package/bundled/extensions/kubbisec-byok-provider.extension.d.ts +3 -27
  102. package/bundled/extensions/kubbisec-byok-provider.extension.d.ts.map +1 -1
  103. package/bundled/extensions/kubbisec-byok-provider.extension.js +2 -48
  104. package/bundled/extensions/kubbisec-byok-provider.extension.js.map +1 -1
  105. package/bundled/extensions/kubbisec-clarify.extension.d.ts +6 -1
  106. package/bundled/extensions/kubbisec-clarify.extension.d.ts.map +1 -1
  107. package/bundled/extensions/kubbisec-clarify.extension.js +124 -68
  108. package/bundled/extensions/kubbisec-clarify.extension.js.map +1 -1
  109. package/bundled/extensions/kubbisec-exit.extension.d.ts +3 -0
  110. package/bundled/extensions/kubbisec-exit.extension.d.ts.map +1 -0
  111. package/bundled/extensions/kubbisec-exit.extension.js +38 -0
  112. package/bundled/extensions/kubbisec-exit.extension.js.map +1 -0
  113. package/bundled/extensions/kubbisec-extended-context.extension.d.ts +6 -0
  114. package/bundled/extensions/kubbisec-extended-context.extension.d.ts.map +1 -0
  115. package/bundled/extensions/kubbisec-extended-context.extension.js +50 -0
  116. package/bundled/extensions/kubbisec-extended-context.extension.js.map +1 -0
  117. package/bundled/extensions/kubbisec-footer.extension.d.ts +21 -0
  118. package/bundled/extensions/kubbisec-footer.extension.d.ts.map +1 -1
  119. package/bundled/extensions/kubbisec-footer.extension.js +121 -66
  120. package/bundled/extensions/kubbisec-footer.extension.js.map +1 -1
  121. package/bundled/extensions/kubbisec-github-local.extension.d.ts.map +1 -1
  122. package/bundled/extensions/kubbisec-github-local.extension.js +52 -22
  123. package/bundled/extensions/kubbisec-github-local.extension.js.map +1 -1
  124. package/bundled/extensions/kubbisec-llm-config.extension.d.ts +3 -0
  125. package/bundled/extensions/kubbisec-llm-config.extension.d.ts.map +1 -0
  126. package/bundled/extensions/kubbisec-llm-config.extension.js +207 -0
  127. package/bundled/extensions/kubbisec-llm-config.extension.js.map +1 -0
  128. package/bundled/extensions/kubbisec-naus-local.extension.d.ts +1 -0
  129. package/bundled/extensions/kubbisec-naus-local.extension.d.ts.map +1 -1
  130. package/bundled/extensions/kubbisec-naus-local.extension.js +54 -58
  131. package/bundled/extensions/kubbisec-naus-local.extension.js.map +1 -1
  132. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts.map +1 -1
  133. package/bundled/extensions/kubbisec-platform-tools.extension.js +57 -16
  134. package/bundled/extensions/kubbisec-platform-tools.extension.js.map +1 -1
  135. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts +1 -0
  136. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts.map +1 -1
  137. package/bundled/extensions/kubbisec-skill-mentions.extension.js +24 -8
  138. package/bundled/extensions/kubbisec-skill-mentions.extension.js.map +1 -1
  139. package/bundled/extensions/kubbisec-theme-lock.extension.d.ts +6 -0
  140. package/bundled/extensions/kubbisec-theme-lock.extension.d.ts.map +1 -0
  141. package/bundled/extensions/kubbisec-theme-lock.extension.js +40 -0
  142. package/bundled/extensions/kubbisec-theme-lock.extension.js.map +1 -0
  143. package/bundled/extensions/kubbisec-ui.extension.d.ts +1 -1
  144. package/bundled/extensions/kubbisec-ui.extension.d.ts.map +1 -1
  145. package/bundled/extensions/kubbisec-ui.extension.js +97 -82
  146. package/bundled/extensions/kubbisec-ui.extension.js.map +1 -1
  147. package/bundled/extensions/kubbisec-workflow.extension.d.ts.map +1 -1
  148. package/bundled/extensions/kubbisec-workflow.extension.js +31 -21
  149. package/bundled/extensions/kubbisec-workflow.extension.js.map +1 -1
  150. package/bundled/skills/aspm-platform/SKILL.md +55 -25
  151. package/bundled/skills/at-path-mentions.d.ts +7 -0
  152. package/bundled/skills/at-path-mentions.d.ts.map +1 -0
  153. package/bundled/skills/at-path-mentions.js +186 -0
  154. package/bundled/skills/at-path-mentions.js.map +1 -0
  155. package/bundled/skills/at-path-mentions.test.ts +64 -0
  156. package/bundled/skills/at-path-mentions.ts +211 -0
  157. package/bundled/skills/chat-mention-render.d.ts.map +1 -1
  158. package/bundled/skills/chat-mention-render.js +69 -31
  159. package/bundled/skills/chat-mention-render.js.map +1 -1
  160. package/bundled/skills/chat-mention-render.test.ts +24 -1
  161. package/bundled/skills/chat-mention-render.ts +87 -34
  162. package/bundled/skills/chat-mentions.d.ts +3 -2
  163. package/bundled/skills/chat-mentions.d.ts.map +1 -1
  164. package/bundled/skills/chat-mentions.js +9 -3
  165. package/bundled/skills/chat-mentions.js.map +1 -1
  166. package/bundled/skills/chat-mentions.test.ts +12 -5
  167. package/bundled/skills/chat-mentions.ts +12 -3
  168. package/bundled/skills/naus-pipelines/SKILL.md +111 -16
  169. package/bundled/skills/sec-clarify/SKILL.md +8 -23
  170. package/bundled/skills/sec-using-skills/SKILL.md +2 -0
  171. package/bundled/theme/clear-terminal.d.ts +3 -0
  172. package/bundled/theme/clear-terminal.d.ts.map +1 -0
  173. package/bundled/theme/clear-terminal.js +7 -0
  174. package/bundled/theme/clear-terminal.js.map +1 -0
  175. package/bundled/theme/kubbisec-theme-name.d.ts +2 -0
  176. package/bundled/theme/kubbisec-theme-name.d.ts.map +1 -0
  177. package/bundled/theme/kubbisec-theme-name.js +2 -0
  178. package/bundled/theme/kubbisec-theme-name.js.map +1 -0
  179. package/bundled/theme/render-compact-header.d.ts +16 -0
  180. package/bundled/theme/render-compact-header.d.ts.map +1 -0
  181. package/bundled/theme/render-compact-header.js +132 -0
  182. package/bundled/theme/render-compact-header.js.map +1 -0
  183. package/package.json +1 -1
@@ -0,0 +1,142 @@
1
+ import * as crypto from "node:crypto";
2
+ import * as fs from "node:fs";
3
+ import * as path from "node:path";
4
+ import { PI_PROJECT_CONFIG_DIR } from "./ensure-kubbisec-project-settings.js";
5
+ import { KUBBISEC_THEME_NAME } from "../theme/kubbisec-theme-name.js";
6
+ import { resolveBundledDistRoot } from "../resolve-bundled-dist-root.js";
7
+ const KUBBISEC_EXTENSION_PREFIX = "kubbisec-";
8
+ const FINGERPRINT_FILE = ".bundled-fingerprint";
9
+ /** Dist siblings required by `../…` imports from `.pi/extensions/*.extension.js`. */
10
+ const PI_SUPPORT_DIRS = [
11
+ "config",
12
+ "components",
13
+ "clarify",
14
+ "copy",
15
+ "workflow",
16
+ "theme",
17
+ "skills",
18
+ "assets",
19
+ ];
20
+ const PI_ROOT_FILES = ["resolve-bundled-dist-root.js"];
21
+ function listKubbisecExtensionFiles(dir) {
22
+ if (!fs.existsSync(dir))
23
+ return [];
24
+ return fs
25
+ .readdirSync(dir)
26
+ .filter((name) => name.startsWith(KUBBISEC_EXTENSION_PREFIX) && name.endsWith(".js"))
27
+ .sort();
28
+ }
29
+ function listFilesRecursive(root, prefix = "") {
30
+ const out = [];
31
+ const scanDir = prefix ? path.join(root, prefix) : root;
32
+ if (!fs.existsSync(scanDir))
33
+ return out;
34
+ for (const entry of fs.readdirSync(scanDir, { withFileTypes: true })) {
35
+ const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
36
+ if (entry.isDirectory()) {
37
+ out.push(...listFilesRecursive(root, rel));
38
+ }
39
+ else {
40
+ out.push(rel);
41
+ }
42
+ }
43
+ return out.sort();
44
+ }
45
+ function fingerprintBundledPiRuntime(sourceRoot, extensionNames) {
46
+ const hash = crypto.createHash("sha256");
47
+ const extensionsDir = path.join(sourceRoot, "extensions");
48
+ for (const name of extensionNames) {
49
+ hash.update(`extensions/${name}`);
50
+ hash.update(fs.readFileSync(path.join(extensionsDir, name)));
51
+ }
52
+ for (const dir of PI_SUPPORT_DIRS) {
53
+ const base = path.join(sourceRoot, dir);
54
+ for (const rel of listFilesRecursive(base)) {
55
+ hash.update(`${dir}/${rel}`);
56
+ hash.update(fs.readFileSync(path.join(base, rel)));
57
+ }
58
+ }
59
+ for (const file of PI_ROOT_FILES) {
60
+ const full = path.join(sourceRoot, file);
61
+ if (!fs.existsSync(full))
62
+ continue;
63
+ hash.update(file);
64
+ hash.update(fs.readFileSync(full));
65
+ }
66
+ return hash.digest("hex").slice(0, 16);
67
+ }
68
+ function removeStaleKubbisecExtensions(targetDir) {
69
+ for (const name of listKubbisecExtensionFiles(targetDir)) {
70
+ fs.unlinkSync(path.join(targetDir, name));
71
+ }
72
+ }
73
+ function copySupportDirs(sourceRoot, piRoot) {
74
+ for (const dir of PI_SUPPORT_DIRS) {
75
+ const source = path.join(sourceRoot, dir);
76
+ if (!fs.existsSync(source))
77
+ continue;
78
+ const target = path.join(piRoot, dir);
79
+ fs.rmSync(target, { recursive: true, force: true });
80
+ fs.cpSync(source, target, { recursive: true });
81
+ }
82
+ for (const file of PI_ROOT_FILES) {
83
+ const source = path.join(sourceRoot, file);
84
+ if (!fs.existsSync(source))
85
+ continue;
86
+ fs.copyFileSync(source, path.join(piRoot, file));
87
+ }
88
+ }
89
+ function supportLayoutUpToDate(piRoot, fingerprint) {
90
+ const stampPath = path.join(piRoot, FINGERPRINT_FILE);
91
+ try {
92
+ if (fs.readFileSync(stampPath, "utf8").trim() !== fingerprint)
93
+ return false;
94
+ }
95
+ catch {
96
+ return false;
97
+ }
98
+ return fs.existsSync(path.join(piRoot, "config", "register-kubbisec-llm-provider.js"));
99
+ }
100
+ /**
101
+ * Copy bundled KubbiSec Pi extensions into `<cwd>/.pi/extensions/` so Pi loads them
102
+ * as project resources (not CLI `-e` temp paths that leak monorepo filesystem paths).
103
+ *
104
+ * Extension modules import siblings via `../config`, `../components`, etc., so the
105
+ * matching dist folders are mirrored under `<cwd>/.pi/`.
106
+ */
107
+ export function materializeKubbisecPiExtensions(cwd = process.cwd()) {
108
+ const sourceRoot = resolveBundledDistRoot();
109
+ const sourceDir = path.join(sourceRoot, "extensions");
110
+ const sourceNames = listKubbisecExtensionFiles(sourceDir);
111
+ if (sourceNames.length === 0)
112
+ return [];
113
+ const piRoot = path.join(cwd, PI_PROJECT_CONFIG_DIR);
114
+ const targetDir = path.join(piRoot, "extensions");
115
+ fs.mkdirSync(targetDir, { recursive: true, mode: 0o755 });
116
+ const fingerprint = fingerprintBundledPiRuntime(sourceRoot, sourceNames);
117
+ const extensionsUpToDate = supportLayoutUpToDate(piRoot, fingerprint) &&
118
+ sourceNames.every((name) => fs.existsSync(path.join(targetDir, name)));
119
+ if (!extensionsUpToDate) {
120
+ removeStaleKubbisecExtensions(targetDir);
121
+ for (const name of sourceNames) {
122
+ fs.copyFileSync(path.join(sourceDir, name), path.join(targetDir, name));
123
+ }
124
+ copySupportDirs(sourceRoot, piRoot);
125
+ fs.writeFileSync(path.join(piRoot, FINGERPRINT_FILE), `${fingerprint}\n`, "utf8");
126
+ }
127
+ return listKubbisecExtensionFiles(targetDir).map((name) => path.join(targetDir, name));
128
+ }
129
+ /** Pin KubbiSec theme under `<cwd>/.pi/themes/` for Pi project discovery (no `--theme` path). */
130
+ export function materializeKubbisecPiTheme(cwd = process.cwd()) {
131
+ const source = path.join(resolveBundledDistRoot(), "theme", `${KUBBISEC_THEME_NAME}.json`);
132
+ if (!fs.existsSync(source))
133
+ return;
134
+ const targetDir = path.join(cwd, PI_PROJECT_CONFIG_DIR, "themes");
135
+ fs.mkdirSync(targetDir, { recursive: true, mode: 0o755 });
136
+ fs.copyFileSync(source, path.join(targetDir, `${KUBBISEC_THEME_NAME}.json`));
137
+ }
138
+ /** Materialized extension paths for harnesses that require explicit `-e` paths. */
139
+ export function resolveKubbisecPiExtensionPaths(cwd = process.cwd()) {
140
+ return materializeKubbisecPiExtensions(cwd);
141
+ }
142
+ //# sourceMappingURL=materialize-kubbisec-pi-resources.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,13 @@
1
+ import type { KubbisecLlmConfig } from "./llm-config.js";
2
+ import { toProviderModelConfig } from "./llm-provider-catalog.js";
3
+ type ProviderRegistrar = (id: string, config: {
4
+ name?: string;
5
+ baseUrl?: string;
6
+ headers?: Record<string, string>;
7
+ apiKey?: string;
8
+ api?: string;
9
+ models?: ReturnType<typeof toProviderModelConfig>[];
10
+ }) => void;
11
+ export declare function registerCustomLlmProviders(register: ProviderRegistrar, config: KubbisecLlmConfig): void;
12
+ export {};
13
+ //# sourceMappingURL=register-custom-llm-providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-custom-llm-providers.d.ts","sourceRoot":"","sources":["../../src/config/register-custom-llm-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,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;AAgBV,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,iBAAiB,GACxB,IAAI,CAIN"}
@@ -0,0 +1,21 @@
1
+ import { resolveApiKeyValue } from "./llm-config.js";
2
+ import { toProviderModelConfig } from "./llm-provider-catalog.js";
3
+ function registerOneProvider(register, provider) {
4
+ const apiKey = resolveApiKeyValue(provider.apiKey) ?? (provider.autodetected ? provider.apiKey : undefined);
5
+ register(provider.id, {
6
+ name: provider.name?.trim() || provider.id,
7
+ baseUrl: provider.baseUrl,
8
+ ...(apiKey ? { apiKey } : {}),
9
+ api: provider.api ?? "openai-completions",
10
+ ...(provider.headers && Object.keys(provider.headers).length > 0
11
+ ? { headers: provider.headers }
12
+ : {}),
13
+ models: provider.models.map(toProviderModelConfig),
14
+ });
15
+ }
16
+ export function registerCustomLlmProviders(register, config) {
17
+ for (const provider of config.providers ?? []) {
18
+ registerOneProvider(register, provider);
19
+ }
20
+ }
21
+ //# sourceMappingURL=register-custom-llm-providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-custom-llm-providers.js","sourceRoot":"","sources":["../../src/config/register-custom-llm-providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAclE,SAAS,mBAAmB,CAAC,QAA2B,EAAE,QAAmC;IAC3F,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5G,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE;QACpB,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,EAAE;QAC1C,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,oBAAoB;QACzC,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;YAC/B,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAA2B,EAC3B,MAAyB;IAEzB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC9C,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { toProviderModelConfig } from "./llm-provider-catalog.js";
2
+ type ProviderRegistrar = (id: string, config: {
3
+ name?: string;
4
+ baseUrl?: string;
5
+ headers?: Record<string, string>;
6
+ apiKey?: string;
7
+ api?: string;
8
+ models?: ReturnType<typeof toProviderModelConfig>[];
9
+ }) => void;
10
+ export declare function registerKubbisecLlmProvider(register: ProviderRegistrar, cwd?: string): boolean;
11
+ export {};
12
+ //# sourceMappingURL=register-kubbisec-llm-provider.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,47 @@
1
+ import { KUBBISEC_LLM_PROVIDER_ID, KUBBISEC_LLM_PROVIDER_NAME, mergeKubbisecModelCatalog, toProviderModelConfig, } from "./llm-provider-catalog.js";
2
+ import { readLlmConfig } from "./llm-config.js";
3
+ function resolveLlmBaseUrl() {
4
+ return (process.env.KUBBISEC_AI_LLM_BASE_URL?.trim() ||
5
+ process.env.KUBBISEC_PI_LLM_BASE_URL?.trim() ||
6
+ process.env.OPENAI_BASE_URL?.trim());
7
+ }
8
+ function resolveModelId(config = readLlmConfig()) {
9
+ return (config.defaultModel?.trim() ||
10
+ process.env.KUBBISEC_AI_MODEL_ID?.trim() ||
11
+ process.env.KUBBISEC_AI_MODEL?.trim() ||
12
+ process.env.KUBBISEC_PI_MODEL?.trim() ||
13
+ process.env.NAUS_PI_MODEL?.trim() ||
14
+ "gpt-4o");
15
+ }
16
+ function resolveProxyHeaders(token) {
17
+ const headers = {
18
+ Authorization: `Bearer ${token}`,
19
+ "x-api-key": token,
20
+ };
21
+ const orgId = process.env.KUBBISEC_ORG_ID?.trim();
22
+ if (orgId)
23
+ headers["x-organization-id"] = orgId;
24
+ return headers;
25
+ }
26
+ export function registerKubbisecLlmProvider(register, cwd = process.cwd()) {
27
+ const baseUrl = resolveLlmBaseUrl();
28
+ if (!baseUrl)
29
+ return false;
30
+ const token = process.env.KUBBISEC_JOB_TOKEN?.trim() ||
31
+ process.env.KUBBISEC_API_KEY?.trim() ||
32
+ process.env.OPENAI_API_KEY?.trim();
33
+ const headers = token ? resolveProxyHeaders(token) : {};
34
+ const llmConfig = readLlmConfig(cwd);
35
+ const defaultModelId = resolveModelId(llmConfig);
36
+ const catalog = mergeKubbisecModelCatalog(defaultModelId, llmConfig.kubbisec?.models);
37
+ register(KUBBISEC_LLM_PROVIDER_ID, {
38
+ name: KUBBISEC_LLM_PROVIDER_NAME,
39
+ baseUrl,
40
+ ...(token ? { apiKey: token } : {}),
41
+ api: "openai-completions",
42
+ ...(Object.keys(headers).length > 0 ? { headers } : {}),
43
+ models: catalog.map(toProviderModelConfig),
44
+ });
45
+ return true;
46
+ }
47
+ //# sourceMappingURL=register-kubbisec-llm-provider.js.map
@@ -0,0 +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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Compact CLI index preloaded into kubbisec chat system prompt.
3
+ * Keep in sync with apps/web/.../aspm-commands.md and naus-commands.md.
4
+ */
5
+ export declare const KUBBISEC_CLI_REFERENCE_INDEX = "<cli-reference-index>\nASPM CLI (npm install -g @kubbisec/aspm):\n| Command | Purpose |\n| aspm init | Interactive setup |\n| aspm login | Configure credentials |\n| aspm whoami | Show current config |\n| aspm doctor | Diagnose configuration |\n| aspm scan <file> -s <source> | Local parse only (no API upload) |\n| aspm parse <file> -s <source> | Local dry-run parse |\n| aspm upload <file> -s <source> | Upload security report to API |\n| aspm coverage <file> | Upload coverage (lcov) |\n| aspm parse-coverage <file> | Local coverage parse |\n| aspm projects | List org projects |\n| aspm dashboard | Open web dashboard |\nGlobal flags: -k/--api-key, -o/--org, -p/--project\nEnv: KUBBISEC_API_KEY, KUBBISEC_ORG_ID, KUBBISEC_PROJECT (aliases ASPM_API_URL, ASPM_API_KEY, ASPM_ORG_ID)\nScanners (-s): trivy, gitleaks, syft, osv, semgrep, sonar, nmap, skipfish\nReport files: trivy-report.json, gitleaks-report.json, sbom.json, osv-report.json, semgrep-report.json, sonar-report.json, nmap-report.xml, skipfish-report.json\n\nNAUS CLI (npm install -g @kubbisec/naus):\n| Command | Purpose |\n| naus register [token] [--renew] | Enroll runner (mTLS bootstrap) |\n| naus start | Start runner daemon |\n| naus migrate | Migrate legacy token runner to mTLS |\n| naus validate <file> / naus check <file> | Validate pipeline YAML |\n| naus plan <file> [--format mermaid] | Show dependency waves |\n| naus run <file> | Execute pipeline locally |\n| naus daemon list / naus daemon stop | Background runner sessions |\nDefault pipeline file: .naus.yml\nLocal env: naus run .naus.yml [--env-file .env] [--secret-file .secrets|.secret] (repeatable; defaults .env/.secrets in cwd).\nCloud secrets: Env Packs in KubbiSec UI (not .secrets on remote runner).\nEnv: NAUS_BOOTSTRAP_TOKEN, NAUS_RENEW_RUNNER\n\nNAUS YAML (NOT GitHub Actions): top-level run: (never jobs:); script: + depends_on: (never commands:/needs:); ASPM jobs kind: aspm|aspm_matrix|aspm_gate with tool: (never scanner:).\nFull docs via tools: aspm_docs (section aspm-commands), naus_pipeline_docs (naus-commands, naus-pipeline-overview, naus-aspm-integration).\naspm-cicd.md is GitHub Actions only \u2014 do not use for NAUS pipelines.\n</cli-reference-index>";
6
+ //# sourceMappingURL=cli-reference-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-reference-index.d.ts","sourceRoot":"","sources":["../../src/copy/cli-reference-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,4BAA4B,wqEAoClB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Compact CLI index preloaded into kubbisec chat system prompt.
3
+ * Keep in sync with apps/web/.../aspm-commands.md and naus-commands.md.
4
+ */
5
+ export const KUBBISEC_CLI_REFERENCE_INDEX = `<cli-reference-index>
6
+ ASPM CLI (npm install -g @kubbisec/aspm):
7
+ | Command | Purpose |
8
+ | aspm init | Interactive setup |
9
+ | aspm login | Configure credentials |
10
+ | aspm whoami | Show current config |
11
+ | aspm doctor | Diagnose configuration |
12
+ | aspm scan <file> -s <source> | Local parse only (no API upload) |
13
+ | aspm parse <file> -s <source> | Local dry-run parse |
14
+ | aspm upload <file> -s <source> | Upload security report to API |
15
+ | aspm coverage <file> | Upload coverage (lcov) |
16
+ | aspm parse-coverage <file> | Local coverage parse |
17
+ | aspm projects | List org projects |
18
+ | aspm dashboard | Open web dashboard |
19
+ Global flags: -k/--api-key, -o/--org, -p/--project
20
+ Env: KUBBISEC_API_KEY, KUBBISEC_ORG_ID, KUBBISEC_PROJECT (aliases ASPM_API_URL, ASPM_API_KEY, ASPM_ORG_ID)
21
+ Scanners (-s): trivy, gitleaks, syft, osv, semgrep, sonar, nmap, skipfish
22
+ Report files: trivy-report.json, gitleaks-report.json, sbom.json, osv-report.json, semgrep-report.json, sonar-report.json, nmap-report.xml, skipfish-report.json
23
+
24
+ NAUS CLI (npm install -g @kubbisec/naus):
25
+ | Command | Purpose |
26
+ | naus register [token] [--renew] | Enroll runner (mTLS bootstrap) |
27
+ | naus start | Start runner daemon |
28
+ | naus migrate | Migrate legacy token runner to mTLS |
29
+ | naus validate <file> / naus check <file> | Validate pipeline YAML |
30
+ | naus plan <file> [--format mermaid] | Show dependency waves |
31
+ | naus run <file> | Execute pipeline locally |
32
+ | naus daemon list / naus daemon stop | Background runner sessions |
33
+ Default pipeline file: .naus.yml
34
+ Local env: naus run .naus.yml [--env-file .env] [--secret-file .secrets|.secret] (repeatable; defaults .env/.secrets in cwd).
35
+ Cloud secrets: Env Packs in KubbiSec UI (not .secrets on remote runner).
36
+ Env: NAUS_BOOTSTRAP_TOKEN, NAUS_RENEW_RUNNER
37
+
38
+ NAUS YAML (NOT GitHub Actions): top-level run: (never jobs:); script: + depends_on: (never commands:/needs:); ASPM jobs kind: aspm|aspm_matrix|aspm_gate with tool: (never scanner:).
39
+ Full docs via tools: aspm_docs (section aspm-commands), naus_pipeline_docs (naus-commands, naus-pipeline-overview, naus-aspm-integration).
40
+ aspm-cicd.md is GitHub Actions only — do not use for NAUS pipelines.
41
+ </cli-reference-index>`;
42
+ //# sourceMappingURL=cli-reference-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-reference-index.js","sourceRoot":"","sources":["../../src/copy/cli-reference-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAoCrB,CAAC"}
@@ -1,8 +1,21 @@
1
1
  /** Shared KubbiSec AI TUI copy (CLI extensions). */
2
2
  export declare const KUBBISEC_PRODUCT_NAME = "KubbiSec Assistant";
3
+ export declare const KUBBISEC_SUBTITLE_LINE = "Assistant \u00B7 ASPM Remediation \u00B7 Naus CI \u00B7 Coding";
4
+ export declare const KUBBISEC_COMPACT_HEADER_TAGLINE = "Assistant \u00B7 ASPM Remediation \u00B7 Naus CI \u00B7 Coding";
5
+ export declare const KUBBISEC_WORDMARK = "KUBBISEC";
6
+ export declare const KUBBISEC_EDITOR_LABEL = "Coding";
7
+ export declare const KUBBISEC_EDITOR_PLACEHOLDER = "Ask anything...";
8
+ /** Skill invoke pattern shown in the chat header hints row. */
9
+ export declare const KUBBISEC_HEADER_HINTS_SKILL = "@skill name";
10
+ export declare const KUBBISEC_EXIT_SLASH_COMMAND = "/exit";
11
+ export declare const KUBBISEC_HEADER_HINTS_COMMANDS = "kubbisec fix \u00B7 kubbisec watch \u00B7 kubbisec ls \u00B7 /help \u00B7 /exit";
12
+ /** @deprecated Use KUBBISEC_HEADER_HINTS_SKILL + KUBBISEC_HEADER_HINTS_COMMANDS */
13
+ export declare const KUBBISEC_HEADER_HINTS = "@skill name \u00B7 kubbisec fix \u00B7 kubbisec watch \u00B7 kubbisec ls \u00B7 /help \u00B7 /exit";
14
+ /** @deprecated Verbose TUI only (KUBBISEC_TUI_VERBOSE=1) */
3
15
  export declare const KUBBISEC_RAIL_HINT = "chat \u00B7 org BYOK";
4
16
  export declare const KUBBISEC_PROVIDER_LABEL = "kubbisec";
17
+ /** @deprecated Verbose TUI only */
5
18
  export declare const KUBBISEC_RAIL_LINE = "KubbiSec Assistant \u00B7 chat \u00B7 org BYOK";
6
- export declare const KUBBISEC_HEADER_TAGLINE = "ASPM remediation \u00B7 org BYOK proxy";
7
- export declare const KUBBISEC_HEADER_HINTS = "kubbisec fix \u00B7 kubbisec watch \u00B7 kubbisec ls \u00B7 /help";
19
+ /** @deprecated Verbose TUI only */
20
+ export declare const KUBBISEC_HEADER_TAGLINE = "Assistant \u00B7 ASPM Remediation \u00B7 Naus CI \u00B7 Coding";
8
21
  //# sourceMappingURL=kubbisec-shell-copy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kubbisec-shell-copy.d.ts","sourceRoot":"","sources":["../../src/copy/kubbisec-shell-copy.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,kBAAkB,yBAAoB,CAAC;AACpD,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAClD,eAAO,MAAM,kBAAkB,mDAAqD,CAAC;AACrF,eAAO,MAAM,uBAAuB,2CAAsC,CAAC;AAC3E,eAAO,MAAM,qBAAqB,uEAAwD,CAAC"}
1
+ {"version":3,"file":"kubbisec-shell-copy.d.ts","sourceRoot":"","sources":["../../src/copy/kubbisec-shell-copy.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,mEACgB,CAAC;AACpD,eAAO,MAAM,+BAA+B,mEAAyB,CAAC;AACtE,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAC7D,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AACzD,eAAO,MAAM,2BAA2B,UAAU,CAAC;AACnD,eAAO,MAAM,8BAA8B,oFAC6C,CAAC;AACzF,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,uGAAuE,CAAC;AAC1G,4DAA4D;AAC5D,eAAO,MAAM,kBAAkB,yBAAoB,CAAC;AACpD,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAClD,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,mDAAqD,CAAC;AACrF,mCAAmC;AACnC,eAAO,MAAM,uBAAuB,mEAAyB,CAAC"}
@@ -1,8 +1,21 @@
1
1
  /** Shared KubbiSec AI TUI copy (CLI extensions). */
2
2
  export const KUBBISEC_PRODUCT_NAME = "KubbiSec Assistant";
3
+ export const KUBBISEC_SUBTITLE_LINE = "Assistant · ASPM Remediation · Naus CI · Coding";
4
+ export const KUBBISEC_COMPACT_HEADER_TAGLINE = KUBBISEC_SUBTITLE_LINE;
5
+ export const KUBBISEC_WORDMARK = "KUBBISEC";
6
+ export const KUBBISEC_EDITOR_LABEL = "Coding";
7
+ export const KUBBISEC_EDITOR_PLACEHOLDER = "Ask anything...";
8
+ /** Skill invoke pattern shown in the chat header hints row. */
9
+ export const KUBBISEC_HEADER_HINTS_SKILL = "@skill name";
10
+ export const KUBBISEC_EXIT_SLASH_COMMAND = "/exit";
11
+ export const KUBBISEC_HEADER_HINTS_COMMANDS = `kubbisec fix · kubbisec watch · kubbisec ls · /help · ${KUBBISEC_EXIT_SLASH_COMMAND}`;
12
+ /** @deprecated Use KUBBISEC_HEADER_HINTS_SKILL + KUBBISEC_HEADER_HINTS_COMMANDS */
13
+ export const KUBBISEC_HEADER_HINTS = `${KUBBISEC_HEADER_HINTS_SKILL} · ${KUBBISEC_HEADER_HINTS_COMMANDS}`;
14
+ /** @deprecated Verbose TUI only (KUBBISEC_TUI_VERBOSE=1) */
3
15
  export const KUBBISEC_RAIL_HINT = "chat · org BYOK";
4
16
  export const KUBBISEC_PROVIDER_LABEL = "kubbisec";
17
+ /** @deprecated Verbose TUI only */
5
18
  export const KUBBISEC_RAIL_LINE = `${KUBBISEC_PRODUCT_NAME} · ${KUBBISEC_RAIL_HINT}`;
6
- export const KUBBISEC_HEADER_TAGLINE = "ASPM remediation · org BYOK proxy";
7
- export const KUBBISEC_HEADER_HINTS = "kubbisec fix · kubbisec watch · kubbisec ls · /help";
19
+ /** @deprecated Verbose TUI only */
20
+ export const KUBBISEC_HEADER_TAGLINE = KUBBISEC_SUBTITLE_LINE;
8
21
  //# sourceMappingURL=kubbisec-shell-copy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kubbisec-shell-copy.js","sourceRoot":"","sources":["../../src/copy/kubbisec-shell-copy.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,qBAAqB,MAAM,kBAAkB,EAAE,CAAC;AACrF,MAAM,CAAC,MAAM,uBAAuB,GAAG,mCAAmC,CAAC;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,qDAAqD,CAAC"}
1
+ {"version":3,"file":"kubbisec-shell-copy.js","sourceRoot":"","sources":["../../src/copy/kubbisec-shell-copy.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GACjC,iDAAiD,CAAC;AACpD,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CAAC;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAC7D,+DAA+D;AAC/D,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AACzD,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,CAAC;AACnD,MAAM,CAAC,MAAM,8BAA8B,GACzC,yDAAyD,2BAA2B,EAAE,CAAC;AACzF,mFAAmF;AACnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,2BAA2B,MAAM,8BAA8B,EAAE,CAAC;AAC1G,4DAA4D;AAC5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAClD,mCAAmC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,qBAAqB,MAAM,kBAAkB,EAAE,CAAC;AACrF,mCAAmC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,sBAAsB,CAAC"}
@@ -1,6 +1,16 @@
1
+ export { extendedContextEnabled } from "../config/extended-context.js";
1
2
  export declare const CLI_LOCAL_MAX_OUTPUT_CHARS = 12000;
2
3
  export declare const NAUS_LOCAL_RUN_TIMEOUT_MS: number;
3
- export declare function extendedContextEnabled(): boolean;
4
+ export type ExecCaptureResult = {
5
+ code: number;
6
+ stdout: string;
7
+ stderr: string;
8
+ };
9
+ export type CliToolDetails = {
10
+ ok: boolean;
11
+ exitCode: number;
12
+ userMessage: string;
13
+ };
4
14
  export declare function resolveWorkspace(): string;
5
15
  export declare function truncateCliOutput(text: string, max?: number): string;
6
16
  export declare function denyExtendedContextMessage(): {
@@ -9,18 +19,28 @@ export declare function denyExtendedContextMessage(): {
9
19
  text: string;
10
20
  }>;
11
21
  };
12
- export declare function formatExecResult(bin: string, args: string[], cwd: string, result: {
13
- code: number;
14
- stdout: string;
15
- stderr: string;
16
- }): string;
22
+ /** Full subprocess output for model debug (extended context + debug flag). */
23
+ export declare function formatExecResultForModel(bin: string, args: string[], cwd: string, result: ExecCaptureResult): string;
24
+ /** @deprecated use formatExecResultForModel */
25
+ export declare const formatExecResult: typeof formatExecResultForModel;
26
+ export declare function formatExecResultForUser(bin: string, result: ExecCaptureResult): CliToolDetails;
27
+ export declare function buildCliToolResult(bin: string, args: string[], cwd: string, result: ExecCaptureResult, suffix?: string): {
28
+ content: Array<{
29
+ type: "text";
30
+ text: string;
31
+ }>;
32
+ details: CliToolDetails;
33
+ };
34
+ export declare function cliToolErrorContent(error: unknown): {
35
+ content: Array<{
36
+ type: "text";
37
+ text: string;
38
+ }>;
39
+ details: CliToolDetails;
40
+ };
17
41
  export declare function execCapture(bin: string, args: string[], cwd: string, options?: {
18
42
  signal?: AbortSignal;
19
43
  timeoutMs?: number;
20
- }): Promise<{
21
- code: number;
22
- stdout: string;
23
- stderr: string;
24
- }>;
44
+ }): Promise<ExecCaptureResult>;
25
45
  export declare function resolvePathInWorkspace(relativePath: string, workspace: string): string;
26
46
  //# sourceMappingURL=cli-local-shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-local-shared.d.ts","sourceRoot":"","sources":["../../src/extensions/cli-local-shared.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AAExD,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAA6B,GAAG,MAAM,CAGxF;AAED,wBAAgB,0BAA0B,IAAI;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAU/F;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvD,MAAM,CAWR;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAsD3D;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOtF"}
1
+ {"version":3,"file":"cli-local-shared.d.ts","sourceRoot":"","sources":["../../src/extensions/cli-local-shared.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAA6B,GAAG,MAAM,CAGxF;AAED,wBAAgB,0BAA0B,IAAI;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAS/F;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,GACxB,MAAM,CAWR;AAED,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AAEzD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,GACxB,cAAc,CAmBhB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,MAAM,SAAK,GACV;IACD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,cAAc,CAAC;CACzB,CAQA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG;IACnD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,cAAc,CAAC;CACzB,CAMA;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAAC,iBAAiB,CAAC,CA8D5B;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOtF"}
@@ -1,14 +1,12 @@
1
+ import { isCliDebugMode, summarizeSubprocessFailure, toUserError, } from "@aspm/shared/cli-user-error";
1
2
  import { spawn } from "node:child_process";
2
3
  import * as path from "node:path";
4
+ import { EXTENDED_CONTEXT_DENY_MESSAGE, extendedContextEnabled, resolveExtendedWorkspace, } from "../config/extended-context.js";
5
+ export { extendedContextEnabled } from "../config/extended-context.js";
3
6
  export const CLI_LOCAL_MAX_OUTPUT_CHARS = 12_000;
4
7
  export const NAUS_LOCAL_RUN_TIMEOUT_MS = 15 * 60 * 1000;
5
- export function extendedContextEnabled() {
6
- return process.env.KUBBISEC_CHAT_EXTENDED_CONTEXT === "1";
7
- }
8
8
  export function resolveWorkspace() {
9
- const fromEnv = process.env.KUBBISEC_LOCAL_WORKSPACE?.trim() ||
10
- process.env.KUBBISEC_AI_WORKSPACE?.trim();
11
- return fromEnv ? path.resolve(fromEnv) : process.cwd();
9
+ return resolveExtendedWorkspace();
12
10
  }
13
11
  export function truncateCliOutput(text, max = CLI_LOCAL_MAX_OUTPUT_CHARS) {
14
12
  if (text.length <= max)
@@ -20,12 +18,13 @@ export function denyExtendedContextMessage() {
20
18
  content: [
21
19
  {
22
20
  type: "text",
23
- text: "Extended local CLI context is disabled. Restart with: kubbisec chat --extended-context [-w <workspace>]",
21
+ text: EXTENDED_CONTEXT_DENY_MESSAGE,
24
22
  },
25
23
  ],
26
24
  };
27
25
  }
28
- export function formatExecResult(bin, args, cwd, result) {
26
+ /** Full subprocess output for model debug (extended context + debug flag). */
27
+ export function formatExecResultForModel(bin, args, cwd, result) {
29
28
  const combined = [result.stdout, result.stderr].filter(Boolean).join("\n");
30
29
  return truncateCliOutput([
31
30
  `command: ${bin} ${args.join(" ")}`,
@@ -35,8 +34,46 @@ export function formatExecResult(bin, args, cwd, result) {
35
34
  combined.trim() || "(no output)",
36
35
  ].join("\n"));
37
36
  }
37
+ /** @deprecated use formatExecResultForModel */
38
+ export const formatExecResult = formatExecResultForModel;
39
+ export function formatExecResultForUser(bin, result) {
40
+ const ok = result.code === 0;
41
+ if (ok) {
42
+ const hint = result.stdout.trim().split(/\r?\n/).find((line) => line.trim())?.trim();
43
+ const userMessage = hint
44
+ ? `${bin} concluiu: ${hint.length > 160 ? `${hint.slice(0, 157)}…` : hint}`
45
+ : `${bin} concluiu com sucesso.`;
46
+ return { ok: true, exitCode: result.code, userMessage };
47
+ }
48
+ return {
49
+ ok: false,
50
+ exitCode: result.code,
51
+ userMessage: summarizeSubprocessFailure({
52
+ bin,
53
+ code: result.code,
54
+ stderr: result.stderr,
55
+ stdout: result.stdout,
56
+ }),
57
+ };
58
+ }
59
+ export function buildCliToolResult(bin, args, cwd, result, suffix = "") {
60
+ const details = formatExecResultForUser(bin, result);
61
+ const useFullDump = extendedContextEnabled() && isCliDebugMode();
62
+ const text = (useFullDump ? formatExecResultForModel(bin, args, cwd, result) : details.userMessage) + suffix;
63
+ return {
64
+ content: [{ type: "text", text }],
65
+ details,
66
+ };
67
+ }
68
+ export function cliToolErrorContent(error) {
69
+ const shaped = toUserError(error, "Falha ao executar comando local");
70
+ return {
71
+ content: [{ type: "text", text: shaped.detail }],
72
+ details: { ok: false, exitCode: 127, userMessage: shaped.detail },
73
+ };
74
+ }
38
75
  export function execCapture(bin, args, cwd, options) {
39
- return new Promise((resolve, reject) => {
76
+ return new Promise((resolve) => {
40
77
  const child = spawn(bin, args, {
41
78
  cwd,
42
79
  env: process.env,
@@ -61,7 +98,16 @@ export function execCapture(bin, args, cwd, options) {
61
98
  child.stderr?.on("data", (c) => {
62
99
  stderr += String(c);
63
100
  });
64
- child.on("error", reject);
101
+ child.on("error", (err) => {
102
+ if (timer)
103
+ clearTimeout(timer);
104
+ options?.signal?.removeEventListener("abort", onAbort);
105
+ resolve({
106
+ code: 127,
107
+ stdout: "",
108
+ stderr: toUserError(err).detail,
109
+ });
110
+ });
65
111
  child.on("close", (code) => {
66
112
  if (timer)
67
113
  clearTimeout(timer);
@@ -1 +1 @@
1
- {"version":3,"file":"cli-local-shared.js","sourceRoot":"","sources":["../../src/extensions/cli-local-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-local-shared.js","sourceRoot":"","sources":["../../src/extensions/cli-local-shared.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ type ExtensionApi = {
9
9
  type: "text";
10
10
  text: string;
11
11
  }>;
12
+ details?: unknown;
12
13
  }>;
13
14
  }) => void;
14
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"kubbisec-aspm-local.extension.d.ts","sourceRoot":"","sources":["../../src/extensions/kubbisec-aspm-local.extension.ts"],"names":[],"mappings":"AAwBA,KAAK,YAAY,GAAG;IAClB,YAAY,EAAE,CAAC,GAAG,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,CACP,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC;YAAE,OAAO,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC,CAAC;KAClE,KAAK,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAyHjE"}
1
+ {"version":3,"file":"kubbisec-aspm-local.extension.d.ts","sourceRoot":"","sources":["../../src/extensions/kubbisec-aspm-local.extension.ts"],"names":[],"mappings":"AAwBA,KAAK,YAAY,GAAG;IAClB,YAAY,EAAE,CAAC,GAAG,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,CACP,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC;YAAE,OAAO,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAAC,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACrF,KAAK,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAiHjE"}