kly 0.3.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.
Files changed (46) hide show
  1. package/dist/ai/context.mjs +1 -17
  2. package/dist/ai/context.mjs.map +1 -1
  3. package/dist/ai/storage.mjs +1 -1
  4. package/dist/bin/bin-registry--T4tCIwo.mjs +3 -0
  5. package/dist/bin/kly.mjs +55 -1369
  6. package/dist/bin/kly.mjs.map +1 -1
  7. package/dist/define-app.d.mts.map +1 -1
  8. package/dist/define-app.mjs +20 -12
  9. package/dist/define-app.mjs.map +1 -1
  10. package/dist/index.d.mts +2 -2
  11. package/dist/shared/constants.mjs +1 -19
  12. package/dist/shared/constants.mjs.map +1 -1
  13. package/dist/shared/runtime-mode.mjs +1 -28
  14. package/dist/shared/runtime-mode.mjs.map +1 -1
  15. package/dist/types.d.mts +1 -87
  16. package/dist/types.d.mts.map +1 -1
  17. package/dist/types.mjs.map +1 -1
  18. package/dist/ui/components/confirm.d.mts.map +1 -1
  19. package/dist/ui/components/confirm.mjs +1 -6
  20. package/dist/ui/components/confirm.mjs.map +1 -1
  21. package/dist/ui/components/form.d.mts.map +1 -1
  22. package/dist/ui/components/form.mjs +1 -3
  23. package/dist/ui/components/form.mjs.map +1 -1
  24. package/dist/ui/components/input.d.mts.map +1 -1
  25. package/dist/ui/components/input.mjs +1 -3
  26. package/dist/ui/components/input.mjs.map +1 -1
  27. package/dist/ui/components/select.d.mts.map +1 -1
  28. package/dist/ui/components/select.mjs +1 -6
  29. package/dist/ui/components/select.mjs.map +1 -1
  30. package/package.json +1 -2
  31. package/dist/bin/bin-registry-Cj1PddZ1.mjs +0 -3
  32. package/dist/bin/config-builder-CkkAqWMY.mjs +0 -3
  33. package/dist/bin/launcher-CSdy4_ZV.mjs +0 -3
  34. package/dist/bin/permissions-DOOzghc5.mjs +0 -3
  35. package/dist/bin/permissions-extractor-B3XI8JLv.mjs +0 -31
  36. package/dist/bin/permissions-extractor-B3XI8JLv.mjs.map +0 -1
  37. package/dist/permissions/index.mjs +0 -121
  38. package/dist/permissions/index.mjs.map +0 -1
  39. package/dist/sandbox/bundled-executor.d.mts +0 -17
  40. package/dist/sandbox/bundled-executor.d.mts.map +0 -1
  41. package/dist/sandbox/bundled-executor.mjs +0 -235
  42. package/dist/sandbox/bundled-executor.mjs.map +0 -1
  43. package/dist/sandbox/ipc-client.mjs +0 -42
  44. package/dist/sandbox/ipc-client.mjs.map +0 -1
  45. package/dist/sandbox/sandboxed-context.mjs +0 -14
  46. package/dist/sandbox/sandboxed-context.mjs.map +0 -1
@@ -1,26 +1,11 @@
1
- import { checkApiKeyPermission, getAppIdentifier } from "../permissions/index.mjs";
2
1
  import { getCurrentModelConfig, listModels } from "./storage.mjs";
3
2
 
4
3
  //#region src/ai/context.ts
5
4
  /**
6
5
  * Create models context for ExecuteContext
7
- * Provides access to configured LLM models and their credentials (with permission checks)
6
+ * Provides access to configured LLM models and their credentials
8
7
  */
9
8
  function createModelsContext() {
10
- let permissionChecked = false;
11
- let permissionGranted = false;
12
- /**
13
- * Check permission before allowing access to API keys
14
- */
15
- async function ensurePermission() {
16
- if (permissionChecked) {
17
- if (!permissionGranted) throw new Error("Permission denied: This app does not have permission to access API keys.");
18
- return;
19
- }
20
- permissionGranted = await checkApiKeyPermission(getAppIdentifier());
21
- permissionChecked = true;
22
- if (!permissionGranted) throw new Error("Permission denied: This app does not have permission to access API keys.");
23
- }
24
9
  return {
25
10
  list() {
26
11
  return listModels().map((m) => ({
@@ -51,7 +36,6 @@ function createModelsContext() {
51
36
  };
52
37
  },
53
38
  async getConfigAsync(name) {
54
- await ensurePermission();
55
39
  if (name) {
56
40
  const found = listModels().find((m) => m.name === name);
57
41
  if (!found) return null;
@@ -1 +1 @@
1
- {"version":3,"file":"context.mjs","names":[],"sources":["../../src/ai/context.ts"],"sourcesContent":["import { checkApiKeyPermission, getAppIdentifier } from \"../permissions\";\nimport type { ModelConfig, ModelInfo, ModelsContext } from \"../types\";\nimport { getCurrentModelConfig, listModels } from \"./storage\";\n\n/**\n * Create models context for ExecuteContext\n * Provides access to configured LLM models and their credentials (with permission checks)\n */\nexport function createModelsContext(): ModelsContext {\n // Track if permission has been checked in this process\n let permissionChecked = false;\n let permissionGranted = false;\n\n /**\n * Check permission before allowing access to API keys\n */\n async function ensurePermission(): Promise<void> {\n if (permissionChecked) {\n if (!permissionGranted) {\n throw new Error(\"Permission denied: This app does not have permission to access API keys.\");\n }\n return;\n }\n\n const appId = getAppIdentifier();\n permissionGranted = await checkApiKeyPermission(appId);\n permissionChecked = true;\n\n if (!permissionGranted) {\n throw new Error(\"Permission denied: This app does not have permission to access API keys.\");\n }\n }\n\n return {\n list(): ModelInfo[] {\n return listModels().map((m) => ({\n name: m.name,\n provider: m.config.provider,\n model: m.config.model,\n isCurrent: m.isCurrent,\n }));\n },\n\n getCurrent(): ModelInfo | null {\n const models = listModels();\n const current = models.find((m) => m.isCurrent);\n if (!current) return null;\n\n return {\n name: current.name,\n provider: current.config.provider,\n model: current.config.model,\n isCurrent: true,\n };\n },\n\n get(name: string): ModelInfo | null {\n const models = listModels();\n const found = models.find((m) => m.name === name);\n if (!found) return null;\n\n return {\n name: found.name,\n provider: found.config.provider,\n model: found.config.model,\n isCurrent: found.isCurrent,\n };\n },\n\n async getConfigAsync(name?: string): Promise<ModelConfig | null> {\n // Check permission first\n await ensurePermission();\n\n if (name) {\n const models = listModels();\n const found = models.find((m) => m.name === name);\n if (!found) return null;\n\n return {\n provider: found.config.provider,\n model: found.config.model,\n apiKey: found.config.apiKey,\n baseURL: found.config.baseURL,\n };\n }\n\n const current = getCurrentModelConfig();\n if (!current) return null;\n\n return {\n provider: current.provider,\n model: current.model,\n apiKey: current.apiKey,\n baseURL: current.baseURL,\n };\n },\n };\n}\n"],"mappings":";;;;;;;;AAQA,SAAgB,sBAAqC;CAEnD,IAAI,oBAAoB;CACxB,IAAI,oBAAoB;;;;CAKxB,eAAe,mBAAkC;AAC/C,MAAI,mBAAmB;AACrB,OAAI,CAAC,kBACH,OAAM,IAAI,MAAM,2EAA2E;AAE7F;;AAIF,sBAAoB,MAAM,sBADZ,kBAAkB,CACsB;AACtD,sBAAoB;AAEpB,MAAI,CAAC,kBACH,OAAM,IAAI,MAAM,2EAA2E;;AAI/F,QAAO;EACL,OAAoB;AAClB,UAAO,YAAY,CAAC,KAAK,OAAO;IAC9B,MAAM,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE;IACd,EAAE;;EAGL,aAA+B;GAE7B,MAAM,UADS,YAAY,CACJ,MAAM,MAAM,EAAE,UAAU;AAC/C,OAAI,CAAC,QAAS,QAAO;AAErB,UAAO;IACL,MAAM,QAAQ;IACd,UAAU,QAAQ,OAAO;IACzB,OAAO,QAAQ,OAAO;IACtB,WAAW;IACZ;;EAGH,IAAI,MAAgC;GAElC,MAAM,QADS,YAAY,CACN,MAAM,MAAM,EAAE,SAAS,KAAK;AACjD,OAAI,CAAC,MAAO,QAAO;AAEnB,UAAO;IACL,MAAM,MAAM;IACZ,UAAU,MAAM,OAAO;IACvB,OAAO,MAAM,OAAO;IACpB,WAAW,MAAM;IAClB;;EAGH,MAAM,eAAe,MAA4C;AAE/D,SAAM,kBAAkB;AAExB,OAAI,MAAM;IAER,MAAM,QADS,YAAY,CACN,MAAM,MAAM,EAAE,SAAS,KAAK;AACjD,QAAI,CAAC,MAAO,QAAO;AAEnB,WAAO;KACL,UAAU,MAAM,OAAO;KACvB,OAAO,MAAM,OAAO;KACpB,QAAQ,MAAM,OAAO;KACrB,SAAS,MAAM,OAAO;KACvB;;GAGH,MAAM,UAAU,uBAAuB;AACvC,OAAI,CAAC,QAAS,QAAO;AAErB,UAAO;IACL,UAAU,QAAQ;IAClB,OAAO,QAAQ;IACf,QAAQ,QAAQ;IAChB,SAAS,QAAQ;IAClB;;EAEJ"}
1
+ {"version":3,"file":"context.mjs","names":[],"sources":["../../src/ai/context.ts"],"sourcesContent":["import type { ModelConfig, ModelInfo, ModelsContext } from \"../types\";\nimport { getCurrentModelConfig, listModels } from \"./storage\";\n\n/**\n * Create models context for ExecuteContext\n * Provides access to configured LLM models and their credentials\n */\nexport function createModelsContext(): ModelsContext {\n return {\n list(): ModelInfo[] {\n return listModels().map((m) => ({\n name: m.name,\n provider: m.config.provider,\n model: m.config.model,\n isCurrent: m.isCurrent,\n }));\n },\n\n getCurrent(): ModelInfo | null {\n const models = listModels();\n const current = models.find((m) => m.isCurrent);\n if (!current) return null;\n\n return {\n name: current.name,\n provider: current.config.provider,\n model: current.config.model,\n isCurrent: true,\n };\n },\n\n get(name: string): ModelInfo | null {\n const models = listModels();\n const found = models.find((m) => m.name === name);\n if (!found) return null;\n\n return {\n name: found.name,\n provider: found.config.provider,\n model: found.config.model,\n isCurrent: found.isCurrent,\n };\n },\n\n async getConfigAsync(name?: string): Promise<ModelConfig | null> {\n if (name) {\n const models = listModels();\n const found = models.find((m) => m.name === name);\n if (!found) return null;\n\n return {\n provider: found.config.provider,\n model: found.config.model,\n apiKey: found.config.apiKey,\n baseURL: found.config.baseURL,\n };\n }\n\n const current = getCurrentModelConfig();\n if (!current) return null;\n\n return {\n provider: current.provider,\n model: current.model,\n apiKey: current.apiKey,\n baseURL: current.baseURL,\n };\n },\n };\n}\n"],"mappings":";;;;;;;AAOA,SAAgB,sBAAqC;AACnD,QAAO;EACL,OAAoB;AAClB,UAAO,YAAY,CAAC,KAAK,OAAO;IAC9B,MAAM,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE;IACd,EAAE;;EAGL,aAA+B;GAE7B,MAAM,UADS,YAAY,CACJ,MAAM,MAAM,EAAE,UAAU;AAC/C,OAAI,CAAC,QAAS,QAAO;AAErB,UAAO;IACL,MAAM,QAAQ;IACd,UAAU,QAAQ,OAAO;IACzB,OAAO,QAAQ,OAAO;IACtB,WAAW;IACZ;;EAGH,IAAI,MAAgC;GAElC,MAAM,QADS,YAAY,CACN,MAAM,MAAM,EAAE,SAAS,KAAK;AACjD,OAAI,CAAC,MAAO,QAAO;AAEnB,UAAO;IACL,MAAM,MAAM;IACZ,UAAU,MAAM,OAAO;IACvB,OAAO,MAAM,OAAO;IACpB,WAAW,MAAM;IAClB;;EAGH,MAAM,eAAe,MAA4C;AAC/D,OAAI,MAAM;IAER,MAAM,QADS,YAAY,CACN,MAAM,MAAM,EAAE,SAAS,KAAK;AACjD,QAAI,CAAC,MAAO,QAAO;AAEnB,WAAO;KACL,UAAU,MAAM,OAAO;KACvB,OAAO,MAAM,OAAO;KACpB,QAAQ,MAAM,OAAO;KACrB,SAAS,MAAM,OAAO;KACvB;;GAGH,MAAM,UAAU,uBAAuB;AACvC,OAAI,CAAC,QAAS,QAAO;AAErB,UAAO;IACL,UAAU,QAAQ;IAClB,OAAO,QAAQ;IACf,QAAQ,QAAQ;IAChB,SAAS,QAAQ;IAClB;;EAEJ"}
@@ -1,5 +1,5 @@
1
1
  import { error } from "../ui/components/log.mjs";
2
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { existsSync, mkdirSync, readFileSync } from "node:fs";
3
3
  import { homedir } from "node:os";
4
4
  import { join } from "node:path";
5
5
 
@@ -0,0 +1,3 @@
1
+ import { _ as removeCommand, a as autoRegisterBins, b as isCommandAvailable, c as createShim, d as removeShim, f as addCommand, g as readRegistry, h as listCommands, i as setupPath, l as generateShimPath, m as getRegistryPath, n as getShellConfigFile, o as shouldReregisterLocal, p as getCommand, r as isKlyBinInPath, s as unregisterCommand, t as checkPathSetup, u as getShimDir, v as writeRegistry, y as detectBins } from "./kly.mjs";
2
+
3
+ export { autoRegisterBins };