lua-cli 3.7.3 → 3.7.4

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 (66) hide show
  1. package/README.md +26 -0
  2. package/dist/api/chat.api.service.d.ts.map +1 -1
  3. package/dist/api/chat.api.service.js +4 -0
  4. package/dist/api/chat.api.service.js.map +1 -1
  5. package/dist/api/http.client.d.ts +25 -0
  6. package/dist/api/http.client.d.ts.map +1 -1
  7. package/dist/api/http.client.js +88 -5
  8. package/dist/api/http.client.js.map +1 -1
  9. package/dist/cli/command-definitions.d.ts.map +1 -1
  10. package/dist/cli/command-definitions.js +1 -6
  11. package/dist/cli/command-definitions.js.map +1 -1
  12. package/dist/commands/chat.js +1 -1
  13. package/dist/commands/chat.js.map +1 -1
  14. package/dist/commands/index.d.ts +0 -1
  15. package/dist/commands/index.d.ts.map +1 -1
  16. package/dist/commands/index.js +0 -1
  17. package/dist/commands/index.js.map +1 -1
  18. package/dist/commands/test.js +1 -1
  19. package/dist/commands/test.js.map +1 -1
  20. package/dist/config/constants.d.ts +7 -0
  21. package/dist/config/constants.d.ts.map +1 -1
  22. package/dist/config/constants.js +10 -0
  23. package/dist/config/constants.js.map +1 -1
  24. package/dist/services/analytics.d.ts +6 -0
  25. package/dist/services/analytics.d.ts.map +1 -1
  26. package/dist/services/analytics.js +19 -0
  27. package/dist/services/analytics.js.map +1 -1
  28. package/dist/services/auth.d.ts +11 -4
  29. package/dist/services/auth.d.ts.map +1 -1
  30. package/dist/services/auth.js +35 -6
  31. package/dist/services/auth.js.map +1 -1
  32. package/dist/utils/auth-flows.d.ts +4 -4
  33. package/dist/utils/auth-flows.d.ts.map +1 -1
  34. package/dist/utils/auth-flows.js +53 -37
  35. package/dist/utils/auth-flows.js.map +1 -1
  36. package/dist/utils/keytar-loader.d.ts.map +1 -1
  37. package/dist/utils/keytar-loader.js +8 -1
  38. package/dist/utils/keytar-loader.js.map +1 -1
  39. package/dist/utils/sandbox-storage.js +1 -1
  40. package/dist/utils/sandbox-storage.js.map +1 -1
  41. package/node_modules/@lua/shared-types/src/index.ts +1 -0
  42. package/node_modules/@lua/shared-types/src/sandbox-contract.ts +42 -0
  43. package/package.json +4 -17
  44. package/dist/commands/dev.d.ts +0 -27
  45. package/dist/commands/dev.d.ts.map +0 -1
  46. package/dist/commands/dev.js +0 -130
  47. package/dist/commands/dev.js.map +0 -1
  48. package/dist/config/dev.constants.d.ts +0 -56
  49. package/dist/config/dev.constants.d.ts.map +0 -1
  50. package/dist/config/dev.constants.js +0 -70
  51. package/dist/config/dev.constants.js.map +0 -1
  52. package/dist/utils/dev-api.d.ts +0 -6
  53. package/dist/utils/dev-api.d.ts.map +0 -1
  54. package/dist/utils/dev-api.js +0 -6
  55. package/dist/utils/dev-api.js.map +0 -1
  56. package/dist/utils/dev-server.d.ts +0 -27
  57. package/dist/utils/dev-server.d.ts.map +0 -1
  58. package/dist/utils/dev-server.js +0 -736
  59. package/dist/utils/dev-server.js.map +0 -1
  60. package/dist/utils/dev-watcher.d.ts +0 -31
  61. package/dist/utils/dev-watcher.d.ts.map +0 -1
  62. package/dist/utils/dev-watcher.js +0 -126
  63. package/dist/utils/dev-watcher.js.map +0 -1
  64. package/dist/web/app.css +0 -7401
  65. package/dist/web/app.js +0 -204
  66. package/dist/web/index.html +0 -33
@@ -58,6 +58,16 @@ export const PREFERRED_AGENT_TYPES = [
58
58
  'base',
59
59
  ];
60
60
  // =============================================================================
61
+ // SANDBOX STORAGE CONSTANTS
62
+ // =============================================================================
63
+ /**
64
+ * Sandbox skill ID storage identifiers for keytar
65
+ */
66
+ export const SANDBOX_STORAGE = {
67
+ SERVICE: 'lua-cli-sandbox',
68
+ ACCOUNT: 'sandbox-skill-id',
69
+ };
70
+ // =============================================================================
61
71
  // ANALYTICS CONSTANTS
62
72
  // =============================================================================
63
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAErE,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,uBAAuB;IACvD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,wBAAwB;IAC1D,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,uBAAuB;IACxD,OAAO,EAAE,2BAA2B;IACpC,GAAG,EAAE,uBAAuB;CAC7B,CAAC;AAEF,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,CAAC,aAAa;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,YAAY;IACZ,WAAW;IACX,MAAM;CACE,CAAC;AAEX,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,iDAAiD,CAAC;AAEjF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAErE,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,uBAAuB;IACvD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,wBAAwB;IAC1D,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,uBAAuB;IACxD,OAAO,EAAE,2BAA2B;IACpC,GAAG,EAAE,uBAAuB;CAC7B,CAAC;AAEF,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,CAAC,aAAa;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,YAAY;IACZ,WAAW;IACX,MAAM;CACE,CAAC;AAEX,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,kBAAkB;CACnB,CAAC;AAEX,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,iDAAiD,CAAC;AAEjF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAC"}
@@ -43,6 +43,12 @@ export declare function getTelemetryStatus(): {
43
43
  enabled: boolean;
44
44
  envOverride: boolean;
45
45
  };
46
+ /**
47
+ * Clears cached identity data from telemetry.json.
48
+ * Called during re-authentication to ensure stale user data
49
+ * is not carried over from a previous account.
50
+ */
51
+ export declare function clearIdentityCache(): void;
46
52
  /**
47
53
  * Gracefully shutdown PostHog client.
48
54
  * Has a 1-second hard timeout to prevent blocking exit.
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/services/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgHH;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAclD;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2E5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC,GAAG,IAAI,CA6BP;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAwBpF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAO/E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAavD"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/services/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgHH;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAclD;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2E5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC,GAAG,IAAI,CA6BP;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAwBpF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAO/E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAYzC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAavD"}
@@ -272,6 +272,25 @@ export function getTelemetryStatus() {
272
272
  envOverride,
273
273
  };
274
274
  }
275
+ /**
276
+ * Clears cached identity data from telemetry.json.
277
+ * Called during re-authentication to ensure stale user data
278
+ * is not carried over from a previous account.
279
+ */
280
+ export function clearIdentityCache() {
281
+ try {
282
+ const config = loadTelemetryConfig();
283
+ delete config.identifiedApiKeyHash;
284
+ delete config.identifiedEmail;
285
+ delete config.identifiedName;
286
+ saveTelemetryConfig(config);
287
+ // Also clear the in-memory session cache so enrichAnalyticsContext re-fetches
288
+ sessionDistinctId = null;
289
+ }
290
+ catch {
291
+ // Best-effort — never block auth flows
292
+ }
293
+ }
275
294
  /**
276
295
  * Gracefully shutdown PostHog client.
277
296
  * Has a 1-second hard timeout to prevent blocking exit.
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/services/analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/services/analytics.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,20 @@
5
5
  import { UserData } from "../interfaces/admin.js";
6
6
  /**
7
7
  * Saves API key to secure system keychain.
8
- * Uses the system's native credential storage (Keychain on macOS,
9
- * Credential Vault on Windows, libsecret on Linux).
10
8
  *
11
9
  * @param apiKey - The API key to store securely
12
- * @returns Promise that resolves when key is saved
10
+ * @returns Promise resolving to true if saved, false on failure
13
11
  */
14
- export declare function saveApiKey(apiKey: string): Promise<void>;
12
+ export declare function saveApiKey(apiKey: string): Promise<boolean>;
13
+ /**
14
+ * Saves and verifies an API key in the system keychain.
15
+ * Uses setPassword (which atomically overwrites any existing entry),
16
+ * then reads back to confirm the write succeeded.
17
+ *
18
+ * @param newApiKey - The new API key to store
19
+ * @returns Promise resolving to true if the new key was verified saved, false otherwise
20
+ */
21
+ export declare function replaceApiKey(newApiKey: string): Promise<boolean>;
15
22
  /**
16
23
  * Loads API key from multiple sources in priority order:
17
24
  * 1. Secure system keychain (macOS Keychain, Windows Credential Vault, Linux libsecret)
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AASlD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsCzD;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAWrD;AAMD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CASnE;AAMD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASrE;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAS7F;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAShF"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AASlD;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBjE;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBvE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsCzD;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAWrD;AAMD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CASnE;AAMD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASrE;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAS7F;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAShF"}
@@ -11,26 +11,55 @@ import { AuthenticationError } from "../errors/auth.error.js";
11
11
  // ============================================================================
12
12
  /**
13
13
  * Saves API key to secure system keychain.
14
- * Uses the system's native credential storage (Keychain on macOS,
15
- * Credential Vault on Windows, libsecret on Linux).
16
14
  *
17
15
  * @param apiKey - The API key to store securely
18
- * @returns Promise that resolves when key is saved
16
+ * @returns Promise resolving to true if saved, false on failure
19
17
  */
20
18
  export async function saveApiKey(apiKey) {
21
19
  const keytar = await getKeytar();
22
20
  if (!keytar) {
23
21
  console.warn("Warning: Could not save API key to system keychain. " +
24
22
  "Set LUA_API_KEY environment variable or add it to your .env file instead.");
25
- return;
23
+ return false;
26
24
  }
27
25
  try {
28
26
  await keytar.setPassword(KEYTAR_SERVICE, KEYTAR_ACCOUNT, apiKey);
27
+ return true;
29
28
  }
30
29
  catch {
31
30
  console.warn("Warning: Could not save API key to system keychain. " +
32
31
  "Set LUA_API_KEY environment variable or add it to your .env file instead.");
32
+ return false;
33
+ }
34
+ }
35
+ /**
36
+ * Saves and verifies an API key in the system keychain.
37
+ * Uses setPassword (which atomically overwrites any existing entry),
38
+ * then reads back to confirm the write succeeded.
39
+ *
40
+ * @param newApiKey - The new API key to store
41
+ * @returns Promise resolving to true if the new key was verified saved, false otherwise
42
+ */
43
+ export async function replaceApiKey(newApiKey) {
44
+ const saved = await saveApiKey(newApiKey);
45
+ if (!saved)
46
+ return false;
47
+ // Verify via read-back to catch silent keychain failures
48
+ const keytar = await getKeytar();
49
+ if (!keytar)
50
+ return false;
51
+ try {
52
+ const stored = await keytar.getPassword(KEYTAR_SERVICE, KEYTAR_ACCOUNT);
53
+ if (stored !== newApiKey) {
54
+ console.warn("Warning: API key verification failed — stored key does not match.");
55
+ return false;
56
+ }
57
+ }
58
+ catch {
59
+ console.warn("Warning: Could not verify saved API key.");
60
+ return false;
33
61
  }
62
+ return true;
34
63
  }
35
64
  /**
36
65
  * Loads API key from multiple sources in priority order:
@@ -70,8 +99,8 @@ export async function loadApiKey() {
70
99
  const envContent = fs.readFileSync(envPath, 'utf8');
71
100
  const match = envContent.match(/^LUA_API_KEY=(.+)$/m);
72
101
  if (match && match[1]) {
73
- // Remove quotes if present
74
- return match[1].trim().replace(/^["']|["']$/g, '');
102
+ // Remove quotes and inline comments
103
+ return match[1].trim().replace(/^["']|["']$/g, '').split('#')[0].trim();
75
104
  }
76
105
  }
77
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * Prompts for API key, validates it, and saves it securely.
8
8
  *
9
9
  * @returns Promise that resolves when authentication is complete
10
- * @throws Error if API key is invalid
10
+ * @throws Error if API key is invalid or save fails
11
11
  */
12
12
  export declare function handleApiKeyAuth(): Promise<void>;
13
13
  /**
@@ -16,7 +16,7 @@ export declare function handleApiKeyAuth(): Promise<void>;
16
16
  *
17
17
  * @param apiKey - The API key to validate and save
18
18
  * @returns Promise that resolves when authentication is complete
19
- * @throws Error if API key is invalid
19
+ * @throws Error if API key is invalid or save fails
20
20
  */
21
21
  export declare function handleApiKeyAuthNonInteractive(apiKey: string): Promise<void>;
22
22
  /**
@@ -35,7 +35,7 @@ export declare function handleEmailOtpRequest(email: string): Promise<void>;
35
35
  * @param email - Email address the OTP was sent to
36
36
  * @param otp - The OTP code received via email
37
37
  * @returns Promise that resolves when authentication is complete
38
- * @throws Error if OTP is invalid or API key generation fails
38
+ * @throws Error if OTP is invalid, API key generation fails, or save fails
39
39
  */
40
40
  export declare function handleEmailOtpVerify(email: string, otp: string): Promise<void>;
41
41
  /**
@@ -43,7 +43,7 @@ export declare function handleEmailOtpVerify(email: string, otp: string): Promis
43
43
  * Sends OTP to email, verifies it, generates API key, and saves it.
44
44
  *
45
45
  * @returns Promise that resolves when authentication is complete
46
- * @throws Error if OTP sending fails, verification fails, or API key generation fails
46
+ * @throws Error if verification fails, API key generation fails, or save fails
47
47
  */
48
48
  export declare function handleEmailAuth(): Promise<void>;
49
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth-flows.d.ts","sourceRoot":"","sources":["../../src/utils/auth-flows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH;;;;;;GAMG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBtD;AAMD;;;;;;;GAOG;AACH,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlF;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCpF;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAiDrD;AAoDD;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,CAcrE"}
1
+ {"version":3,"file":"auth-flows.d.ts","sourceRoot":"","sources":["../../src/utils/auth-flows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8DH;;;;;;GAMG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBtD;AAMD;;;;;;;GAOG;AACH,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlF;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBpF;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAoCrD;AAkDD;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,CAcrE"}
@@ -3,7 +3,8 @@
3
3
  * Handles different authentication methods (API key and email OTP)
4
4
  */
5
5
  import inquirer from "inquirer";
6
- import { saveApiKey, checkApiKey, requestEmailOTP, verifyOTPAndGetToken, generateApiKey } from "../services/auth.js";
6
+ import { replaceApiKey, checkApiKey, requestEmailOTP, verifyOTPAndGetToken, generateApiKey } from "../services/auth.js";
7
+ import { clearIdentityCache } from "../services/analytics.js";
7
8
  import { clearPromptLines, writeProgress, writeSuccess, writeInfo } from "./cli.js";
8
9
  /**
9
10
  * Configuration for OTP verification
@@ -13,6 +14,40 @@ const OTP_CONFIG = {
13
14
  OTP_LENGTH: 6,
14
15
  };
15
16
  // ============================================================================
17
+ // SHARED HELPERS
18
+ // ============================================================================
19
+ /**
20
+ * Clears stale identity cache and saves a new API key to the keychain.
21
+ * Throws if the save fails so callers never show a false success.
22
+ */
23
+ async function persistApiKey(apiKey) {
24
+ clearIdentityCache();
25
+ const saved = await replaceApiKey(apiKey);
26
+ if (!saved) {
27
+ throw new Error("Failed to save API key to system keychain. Set LUA_API_KEY environment variable instead.");
28
+ }
29
+ }
30
+ /**
31
+ * Fetches user data for the given API key and displays a Welcome message
32
+ * followed by onboarding next steps. Best-effort — failures are silenced.
33
+ */
34
+ async function showPostAuthWelcome(apiKey) {
35
+ try {
36
+ const userData = await checkApiKey(apiKey);
37
+ writeInfo(` Welcome, ${userData.fullName || userData.email}!`);
38
+ }
39
+ catch {
40
+ // Non-fatal — key is saved, identity display is best-effort
41
+ }
42
+ writeInfo("\n🎉 You're all set! Here's what to do next:\n");
43
+ writeInfo(" 1️⃣ Create a new project directory:");
44
+ writeInfo(" mkdir my-agent && cd my-agent\n");
45
+ writeInfo(" 2️⃣ Initialize your agent:");
46
+ writeInfo(" lua init\n");
47
+ writeInfo(" 3️⃣ Follow the prompts to create or select an agent\n");
48
+ writeInfo("💡 Tip: Run 'lua --help' to see all available commands\n");
49
+ }
50
+ // ============================================================================
16
51
  // INTERACTIVE AUTHENTICATION FLOWS
17
52
  // ============================================================================
18
53
  /**
@@ -20,7 +55,7 @@ const OTP_CONFIG = {
20
55
  * Prompts for API key, validates it, and saves it securely.
21
56
  *
22
57
  * @returns Promise that resolves when authentication is complete
23
- * @throws Error if API key is invalid
58
+ * @throws Error if API key is invalid or save fails
24
59
  */
25
60
  export async function handleApiKeyAuth() {
26
61
  const answers = await inquirer.prompt([
@@ -35,8 +70,9 @@ export async function handleApiKeyAuth() {
35
70
  if (!data) {
36
71
  throw new Error("Invalid API key");
37
72
  }
38
- await saveApiKey(answers.apiKey);
73
+ await persistApiKey(answers.apiKey);
39
74
  writeSuccess("✅ API key saved securely.");
75
+ writeInfo(` Welcome, ${data.fullName || data.email}!`);
40
76
  }
41
77
  // ============================================================================
42
78
  // NON-INTERACTIVE AUTHENTICATION FLOWS
@@ -47,7 +83,7 @@ export async function handleApiKeyAuth() {
47
83
  *
48
84
  * @param apiKey - The API key to validate and save
49
85
  * @returns Promise that resolves when authentication is complete
50
- * @throws Error if API key is invalid
86
+ * @throws Error if API key is invalid or save fails
51
87
  */
52
88
  export async function handleApiKeyAuthNonInteractive(apiKey) {
53
89
  writeProgress("🔐 Validating API key...");
@@ -55,7 +91,7 @@ export async function handleApiKeyAuthNonInteractive(apiKey) {
55
91
  if (!data) {
56
92
  throw new Error("Invalid API key. Please check your key and try again.");
57
93
  }
58
- await saveApiKey(apiKey);
94
+ await persistApiKey(apiKey);
59
95
  writeSuccess("✅ API key validated and saved securely.");
60
96
  writeInfo(` Welcome, ${data.fullName || data.email}!`);
61
97
  }
@@ -89,10 +125,9 @@ export async function handleEmailOtpRequest(email) {
89
125
  * @param email - Email address the OTP was sent to
90
126
  * @param otp - The OTP code received via email
91
127
  * @returns Promise that resolves when authentication is complete
92
- * @throws Error if OTP is invalid or API key generation fails
128
+ * @throws Error if OTP is invalid, API key generation fails, or save fails
93
129
  */
94
130
  export async function handleEmailOtpVerify(email, otp) {
95
- // Validate OTP format
96
131
  if (otp.length !== OTP_CONFIG.OTP_LENGTH) {
97
132
  throw new Error(`OTP must be ${OTP_CONFIG.OTP_LENGTH} digits.`);
98
133
  }
@@ -107,23 +142,16 @@ export async function handleEmailOtpVerify(email, otp) {
107
142
  if (!apiKey) {
108
143
  throw new Error("Failed to generate API key. Please try again.");
109
144
  }
110
- await saveApiKey(apiKey);
145
+ await persistApiKey(apiKey);
111
146
  writeSuccess("✅ API key generated and saved securely.");
112
- // Guide user to next steps
113
- writeInfo("\n🎉 You're all set! Here's what to do next:\n");
114
- writeInfo(" 1️⃣ Create a new project directory:");
115
- writeInfo(" mkdir my-agent && cd my-agent\n");
116
- writeInfo(" 2️⃣ Initialize your agent:");
117
- writeInfo(" lua init\n");
118
- writeInfo(" 3️⃣ Follow the prompts to create or select an agent\n");
119
- writeInfo("💡 Tip: Run 'lua --help' to see all available commands\n");
147
+ await showPostAuthWelcome(apiKey);
120
148
  }
121
149
  /**
122
150
  * Handles email authentication flow with OTP verification.
123
151
  * Sends OTP to email, verifies it, generates API key, and saves it.
124
152
  *
125
153
  * @returns Promise that resolves when authentication is complete
126
- * @throws Error if OTP sending fails, verification fails, or API key generation fails
154
+ * @throws Error if verification fails, API key generation fails, or save fails
127
155
  */
128
156
  export async function handleEmailAuth() {
129
157
  // Step 1: Collect email
@@ -139,14 +167,11 @@ export async function handleEmailAuth() {
139
167
  }
140
168
  ]);
141
169
  clearPromptLines(2);
142
- // Step 2: Send OTP
143
- // writeProgress("📧 Sending OTP to your email...");
144
- requestEmailOTP(email).catch((error) => {
145
- });
146
- // if (!otpSent) {
147
- // throw new Error("Failed to send OTP. Please try again.");
148
- // }
149
- // writeProgress("✅ OTP sent successfully!");
170
+ // Step 2: Send OTP (await to avoid dangling promise, but don't gate on result —
171
+ // the server may queue the OTP even when the response indicates failure.
172
+ // Real validation happens at the verify step.)
173
+ writeProgress("📧 Sending OTP to your email...");
174
+ await requestEmailOTP(email);
150
175
  // Step 3: Verify OTP with retry logic
151
176
  const signInToken = await verifyOTPWithRetry(email);
152
177
  // Step 4: Generate API key
@@ -156,16 +181,9 @@ export async function handleEmailAuth() {
156
181
  throw new Error("Failed to generate API key. Please try again.");
157
182
  }
158
183
  // Step 5: Save API key
159
- await saveApiKey(apiKey);
184
+ await persistApiKey(apiKey);
160
185
  writeSuccess("✅ API key generated and saved securely.");
161
- // Guide user to next steps
162
- writeInfo("\n🎉 You're all set! Here's what to do next:\n");
163
- writeInfo(" 1️⃣ Create a new project directory:");
164
- writeInfo(" mkdir my-agent && cd my-agent\n");
165
- writeInfo(" 2️⃣ Initialize your agent:");
166
- writeInfo(" lua init\n");
167
- writeInfo(" 3️⃣ Follow the prompts to create or select an agent\n");
168
- writeInfo("💡 Tip: Run 'lua --help' to see all available commands\n");
186
+ await showPostAuthWelcome(apiKey);
169
187
  }
170
188
  /**
171
189
  * Verifies OTP with retry logic.
@@ -176,10 +194,9 @@ export async function handleEmailAuth() {
176
194
  * @throws Error if maximum attempts are exceeded
177
195
  */
178
196
  async function verifyOTPWithRetry(email) {
179
- let otpVerified = false;
180
197
  let attempts = 0;
181
198
  let signInToken = null;
182
- while (!otpVerified && attempts < OTP_CONFIG.MAX_ATTEMPTS) {
199
+ while (!signInToken && attempts < OTP_CONFIG.MAX_ATTEMPTS) {
183
200
  const { pin } = await inquirer.prompt([
184
201
  {
185
202
  type: "input",
@@ -194,7 +211,6 @@ async function verifyOTPWithRetry(email) {
194
211
  writeProgress("🔐 Verifying OTP...");
195
212
  signInToken = await verifyOTPAndGetToken(email, pin);
196
213
  if (signInToken) {
197
- otpVerified = true;
198
214
  writeProgress("✅ OTP verified successfully!");
199
215
  }
200
216
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"auth-flows.js","sourceRoot":"","sources":["../../src/utils/auth-flows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-flows.js","sourceRoot":"","sources":["../../src/utils/auth-flows.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keytar-loader.d.ts","sourceRoot":"","sources":["../../src/utils/keytar-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;;;;GAMG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,cAAc,QAAQ,CAAC,GAAG,IAAI,CAAC,CAMzE"}
1
+ {"version":3,"file":"keytar-loader.d.ts","sourceRoot":"","sources":["../../src/utils/keytar-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;;;;GAMG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,cAAc,QAAQ,CAAC,GAAG,IAAI,CAAC,CAWzE"}
@@ -21,7 +21,14 @@ export async function getKeytar() {
21
21
  if (process.env.LUA_SKIP_KEYCHAIN)
22
22
  return null;
23
23
  if (!_keytarPromise) {
24
- _keytarPromise = import("keytar").catch(() => null);
24
+ _keytarPromise = import("keytar").then((mod) => {
25
+ // Handle ESM/CJS interop: keytar methods may live on mod.default
26
+ if (typeof mod.setPassword === 'function')
27
+ return mod;
28
+ if (mod.default && typeof mod.default.setPassword === 'function')
29
+ return mod.default;
30
+ return null;
31
+ }).catch(() => null);
25
32
  }
26
33
  return _keytarPromise;
27
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keytar-loader.js","sourceRoot":"","sources":["../../src/utils/keytar-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,IAAI,cAAc,GAAmD,IAAI,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"keytar-loader.js","sourceRoot":"","sources":["../../src/utils/keytar-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,IAAI,cAAc,GAAmD,IAAI,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7C,iEAAiE;YACjE,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU;gBAAE,OAAO,GAAG,CAAC;YACtD,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU;gBAAE,OAAO,GAAG,CAAC,OAAqB,CAAC;YACnG,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Handles secure storage and retrieval of sandbox skill IDs using keytar
4
4
  */
5
5
  import { getKeytar } from './keytar-loader.js';
6
- import { SANDBOX_STORAGE } from '../config/dev.constants.js';
6
+ import { SANDBOX_STORAGE } from '../config/constants.js';
7
7
  import { skillHandler, preprocessorHandler, postprocessorHandler } from '../primitives/index.js';
8
8
  /**
9
9
  * Retrieves sandbox skill ID from secure storage.
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-storage.js","sourceRoot":"","sources":["../../src/utils/sandbox-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-storage.js","sourceRoot":"","sources":["../../src/utils/sandbox-storage.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@ export * from './channel.type';
2
2
  export * from './unstructured-types';
3
3
  export * from './ai-generate.types';
4
4
  export * from './ai-generate.utils';
5
+ export * from './sandbox-contract';
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Sandbox contract: defines what every sandbox MUST expose.
3
+ * Both lua-cli and lua-core test against this contract.
4
+ * Update this file when adding new globals or primitives.
5
+ */
6
+
7
+ // Required primitive shim names (both class-based and function-based)
8
+ export const REQUIRED_PRIMITIVE_SHIMS = [
9
+ // Class-based
10
+ 'LuaTool', 'LuaSkill', 'LuaJob', 'LuaWebhook',
11
+ 'PreProcessor', 'LuaPreprocessor', 'PostProcessor', 'LuaPostprocessor',
12
+ 'LuaMCPServer',
13
+ // Function-based
14
+ 'defineTool', 'defineSkill', 'defineJob', 'defineWebhook',
15
+ 'definePreProcessor', 'definePostProcessor', 'defineMCPServer',
16
+ ] as const;
17
+
18
+ // Required platform API globals with their expected methods
19
+ export const REQUIRED_PLATFORM_APIS = {
20
+ User: ['get', 'getChatHistory'],
21
+ Products: ['get', 'create', 'delete', 'search', 'getById'],
22
+ Baskets: ['create', 'get', 'addItem', 'removeItem', 'clear', 'updateStatus', 'updateMetadata', 'placeOrder', 'getById'],
23
+ Orders: ['create', 'updateStatus', 'updateData', 'get', 'getById'],
24
+ Data: ['create', 'get', 'getEntry', 'update', 'search', 'delete'],
25
+ Jobs: ['create', 'getJob', 'getAll'],
26
+ AI: ['generate'],
27
+ CDN: ['upload', 'get'],
28
+ } as const;
29
+
30
+ export const REQUIRED_NESTED_APIS = {
31
+ Templates: { whatsapp: ['list', 'get', 'send'] },
32
+ Lua: { request: ['channel'] },
33
+ } as const;
34
+
35
+ // Required enums with expected keys
36
+ export const REQUIRED_ENUMS = {
37
+ BasketStatus: ['ACTIVE', 'CHECKED_OUT', 'ABANDONED', 'EXPIRED'],
38
+ OrderStatus: ['PENDING', 'CONFIRMED', 'FULFILLED', 'CANCELLED'],
39
+ } as const;
40
+
41
+ // Required utility functions
42
+ export const REQUIRED_UTILITIES = ['env'] as const;