@portel/photon 1.8.4 → 1.10.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 (295) hide show
  1. package/README.md +163 -210
  2. package/dist/async/dedup-map.d.ts +40 -0
  3. package/dist/async/dedup-map.d.ts.map +1 -0
  4. package/dist/async/dedup-map.js +80 -0
  5. package/dist/async/dedup-map.js.map +1 -0
  6. package/dist/async/index.d.ts +11 -0
  7. package/dist/async/index.d.ts.map +1 -0
  8. package/dist/async/index.js +11 -0
  9. package/dist/async/index.js.map +1 -0
  10. package/dist/async/loading-gate.d.ts +27 -0
  11. package/dist/async/loading-gate.d.ts.map +1 -0
  12. package/dist/async/loading-gate.js +48 -0
  13. package/dist/async/loading-gate.js.map +1 -0
  14. package/dist/async/with-timeout.d.ts +6 -0
  15. package/dist/async/with-timeout.d.ts.map +1 -0
  16. package/dist/async/with-timeout.js +17 -0
  17. package/dist/async/with-timeout.js.map +1 -0
  18. package/dist/auto-ui/beam/class-metadata.d.ts +52 -0
  19. package/dist/auto-ui/beam/class-metadata.d.ts.map +1 -0
  20. package/dist/auto-ui/beam/class-metadata.js +133 -0
  21. package/dist/auto-ui/beam/class-metadata.js.map +1 -0
  22. package/dist/auto-ui/beam/config.d.ts +13 -0
  23. package/dist/auto-ui/beam/config.d.ts.map +1 -0
  24. package/dist/auto-ui/beam/config.js +52 -0
  25. package/dist/auto-ui/beam/config.js.map +1 -0
  26. package/dist/auto-ui/beam/external-mcp.d.ts +37 -0
  27. package/dist/auto-ui/beam/external-mcp.d.ts.map +1 -0
  28. package/dist/auto-ui/beam/external-mcp.js +311 -0
  29. package/dist/auto-ui/beam/external-mcp.js.map +1 -0
  30. package/dist/auto-ui/beam/photon-management.d.ts +51 -0
  31. package/dist/auto-ui/beam/photon-management.d.ts.map +1 -0
  32. package/dist/auto-ui/beam/photon-management.js +310 -0
  33. package/dist/auto-ui/beam/photon-management.js.map +1 -0
  34. package/dist/auto-ui/beam/routes/api-browse.d.ts +17 -0
  35. package/dist/auto-ui/beam/routes/api-browse.d.ts.map +1 -0
  36. package/dist/auto-ui/beam/routes/api-browse.js +531 -0
  37. package/dist/auto-ui/beam/routes/api-browse.js.map +1 -0
  38. package/dist/auto-ui/beam/routes/api-config.d.ts +9 -0
  39. package/dist/auto-ui/beam/routes/api-config.d.ts.map +1 -0
  40. package/dist/auto-ui/beam/routes/api-config.js +494 -0
  41. package/dist/auto-ui/beam/routes/api-config.js.map +1 -0
  42. package/dist/auto-ui/beam/routes/api-marketplace.d.ts +8 -0
  43. package/dist/auto-ui/beam/routes/api-marketplace.d.ts.map +1 -0
  44. package/dist/auto-ui/beam/routes/api-marketplace.js +490 -0
  45. package/dist/auto-ui/beam/routes/api-marketplace.js.map +1 -0
  46. package/dist/auto-ui/beam/startup.d.ts +41 -0
  47. package/dist/auto-ui/beam/startup.d.ts.map +1 -0
  48. package/dist/auto-ui/beam/startup.js +98 -0
  49. package/dist/auto-ui/beam/startup.js.map +1 -0
  50. package/dist/auto-ui/beam/subscription.d.ts +35 -0
  51. package/dist/auto-ui/beam/subscription.d.ts.map +1 -0
  52. package/dist/auto-ui/beam/subscription.js +151 -0
  53. package/dist/auto-ui/beam/subscription.js.map +1 -0
  54. package/dist/auto-ui/beam/types.d.ts +103 -0
  55. package/dist/auto-ui/beam/types.d.ts.map +1 -0
  56. package/dist/auto-ui/beam/types.js +8 -0
  57. package/dist/auto-ui/beam/types.js.map +1 -0
  58. package/dist/auto-ui/beam.d.ts +2 -0
  59. package/dist/auto-ui/beam.d.ts.map +1 -1
  60. package/dist/auto-ui/beam.js +731 -2519
  61. package/dist/auto-ui/beam.js.map +1 -1
  62. package/dist/auto-ui/bridge/index.d.ts.map +1 -1
  63. package/dist/auto-ui/bridge/index.js +10 -2
  64. package/dist/auto-ui/bridge/index.js.map +1 -1
  65. package/dist/auto-ui/components/card.d.ts.map +1 -1
  66. package/dist/auto-ui/components/card.js +3 -1
  67. package/dist/auto-ui/components/card.js.map +1 -1
  68. package/dist/auto-ui/components/progress.d.ts.map +1 -1
  69. package/dist/auto-ui/components/progress.js.map +1 -1
  70. package/dist/auto-ui/daemon-tools.d.ts +1 -1
  71. package/dist/auto-ui/daemon-tools.d.ts.map +1 -1
  72. package/dist/auto-ui/daemon-tools.js +4 -3
  73. package/dist/auto-ui/daemon-tools.js.map +1 -1
  74. package/dist/auto-ui/photon-bridge.d.ts +6 -2
  75. package/dist/auto-ui/photon-bridge.d.ts.map +1 -1
  76. package/dist/auto-ui/photon-bridge.js +20 -8
  77. package/dist/auto-ui/photon-bridge.js.map +1 -1
  78. package/dist/auto-ui/platform-compat.d.ts.map +1 -1
  79. package/dist/auto-ui/platform-compat.js +4 -0
  80. package/dist/auto-ui/platform-compat.js.map +1 -1
  81. package/dist/auto-ui/streamable-http-transport.d.ts +4 -2
  82. package/dist/auto-ui/streamable-http-transport.d.ts.map +1 -1
  83. package/dist/auto-ui/streamable-http-transport.js +120 -30
  84. package/dist/auto-ui/streamable-http-transport.js.map +1 -1
  85. package/dist/auto-ui/types.d.ts +4 -2
  86. package/dist/auto-ui/types.d.ts.map +1 -1
  87. package/dist/auto-ui/types.js +3 -0
  88. package/dist/auto-ui/types.js.map +1 -1
  89. package/dist/beam.bundle.js +9218 -4539
  90. package/dist/beam.bundle.js.map +4 -4
  91. package/dist/cli/commands/alias.d.ts +14 -0
  92. package/dist/cli/commands/alias.d.ts.map +1 -0
  93. package/dist/cli/commands/alias.js +41 -0
  94. package/dist/cli/commands/alias.js.map +1 -0
  95. package/dist/cli/commands/audit.d.ts +9 -0
  96. package/dist/cli/commands/audit.d.ts.map +1 -0
  97. package/dist/cli/commands/audit.js +377 -0
  98. package/dist/cli/commands/audit.js.map +1 -0
  99. package/dist/cli/commands/beam.d.ts +20 -0
  100. package/dist/cli/commands/beam.d.ts.map +1 -0
  101. package/dist/cli/commands/beam.js +256 -0
  102. package/dist/cli/commands/beam.js.map +1 -0
  103. package/dist/cli/commands/config.d.ts +14 -0
  104. package/dist/cli/commands/config.d.ts.map +1 -0
  105. package/dist/cli/commands/config.js +165 -0
  106. package/dist/cli/commands/config.js.map +1 -0
  107. package/dist/cli/commands/daemon.d.ts +11 -0
  108. package/dist/cli/commands/daemon.d.ts.map +1 -0
  109. package/dist/cli/commands/daemon.js +108 -0
  110. package/dist/cli/commands/daemon.js.map +1 -0
  111. package/dist/cli/commands/doctor.d.ts +14 -0
  112. package/dist/cli/commands/doctor.d.ts.map +1 -0
  113. package/dist/cli/commands/doctor.js +257 -0
  114. package/dist/cli/commands/doctor.js.map +1 -0
  115. package/dist/cli/commands/host.d.ts +11 -0
  116. package/dist/cli/commands/host.d.ts.map +1 -0
  117. package/dist/cli/commands/host.js +96 -0
  118. package/dist/cli/commands/host.js.map +1 -0
  119. package/dist/cli/commands/info.d.ts +1 -1
  120. package/dist/cli/commands/info.d.ts.map +1 -1
  121. package/dist/cli/commands/info.js +16 -15
  122. package/dist/cli/commands/info.js.map +1 -1
  123. package/dist/cli/commands/init.d.ts +20 -0
  124. package/dist/cli/commands/init.d.ts.map +1 -0
  125. package/dist/cli/commands/init.js +774 -0
  126. package/dist/cli/commands/init.js.map +1 -0
  127. package/dist/cli/commands/maker.d.ts +12 -0
  128. package/dist/cli/commands/maker.d.ts.map +1 -0
  129. package/dist/cli/commands/maker.js +605 -0
  130. package/dist/cli/commands/maker.js.map +1 -0
  131. package/dist/cli/commands/mcp.d.ts +27 -0
  132. package/dist/cli/commands/mcp.d.ts.map +1 -0
  133. package/dist/cli/commands/mcp.js +390 -0
  134. package/dist/cli/commands/mcp.js.map +1 -0
  135. package/dist/cli/commands/package-app.d.ts +1 -1
  136. package/dist/cli/commands/package-app.d.ts.map +1 -1
  137. package/dist/cli/commands/package-app.js +5 -4
  138. package/dist/cli/commands/package-app.js.map +1 -1
  139. package/dist/cli/commands/package.d.ts +1 -1
  140. package/dist/cli/commands/package.d.ts.map +1 -1
  141. package/dist/cli/commands/package.js +134 -32
  142. package/dist/cli/commands/package.js.map +1 -1
  143. package/dist/cli/commands/run.d.ts +34 -0
  144. package/dist/cli/commands/run.d.ts.map +1 -0
  145. package/dist/cli/commands/run.js +334 -0
  146. package/dist/cli/commands/run.js.map +1 -0
  147. package/dist/cli/commands/search.d.ts +11 -0
  148. package/dist/cli/commands/search.d.ts.map +1 -0
  149. package/dist/cli/commands/search.js +60 -0
  150. package/dist/cli/commands/search.js.map +1 -0
  151. package/dist/cli/commands/serve.d.ts +11 -0
  152. package/dist/cli/commands/serve.d.ts.map +1 -0
  153. package/dist/cli/commands/serve.js +138 -0
  154. package/dist/cli/commands/serve.js.map +1 -0
  155. package/dist/cli/commands/test.d.ts +14 -0
  156. package/dist/cli/commands/test.d.ts.map +1 -0
  157. package/dist/cli/commands/test.js +51 -0
  158. package/dist/cli/commands/test.js.map +1 -0
  159. package/dist/cli/commands/update.d.ts +11 -0
  160. package/dist/cli/commands/update.d.ts.map +1 -0
  161. package/dist/cli/commands/update.js +72 -0
  162. package/dist/cli/commands/update.js.map +1 -0
  163. package/dist/cli/index.d.ts +14 -0
  164. package/dist/cli/index.d.ts.map +1 -0
  165. package/dist/cli/index.js +139 -0
  166. package/dist/cli/index.js.map +1 -0
  167. package/dist/cli-alias.js +2 -2
  168. package/dist/cli-alias.js.map +1 -1
  169. package/dist/cli.d.ts +3 -16
  170. package/dist/cli.d.ts.map +1 -1
  171. package/dist/cli.js +4 -2724
  172. package/dist/cli.js.map +1 -1
  173. package/dist/context-store.d.ts +13 -12
  174. package/dist/context-store.d.ts.map +1 -1
  175. package/dist/context-store.js +47 -23
  176. package/dist/context-store.js.map +1 -1
  177. package/dist/context.d.ts +35 -0
  178. package/dist/context.d.ts.map +1 -0
  179. package/dist/context.js +38 -0
  180. package/dist/context.js.map +1 -0
  181. package/dist/daemon/client.d.ts +25 -13
  182. package/dist/daemon/client.d.ts.map +1 -1
  183. package/dist/daemon/client.js +183 -135
  184. package/dist/daemon/client.js.map +1 -1
  185. package/dist/daemon/manager.d.ts +58 -26
  186. package/dist/daemon/manager.d.ts.map +1 -1
  187. package/dist/daemon/manager.js +348 -157
  188. package/dist/daemon/manager.js.map +1 -1
  189. package/dist/daemon/protocol.d.ts +9 -3
  190. package/dist/daemon/protocol.d.ts.map +1 -1
  191. package/dist/daemon/protocol.js +2 -0
  192. package/dist/daemon/protocol.js.map +1 -1
  193. package/dist/daemon/server.js +850 -200
  194. package/dist/daemon/server.js.map +1 -1
  195. package/dist/daemon/session-manager.d.ts +16 -2
  196. package/dist/daemon/session-manager.d.ts.map +1 -1
  197. package/dist/daemon/session-manager.js +65 -7
  198. package/dist/daemon/session-manager.js.map +1 -1
  199. package/dist/daemon/state-machine.d.ts +22 -0
  200. package/dist/daemon/state-machine.d.ts.map +1 -0
  201. package/dist/daemon/state-machine.js +48 -0
  202. package/dist/daemon/state-machine.js.map +1 -0
  203. package/dist/deploy/cloudflare.d.ts.map +1 -1
  204. package/dist/deploy/cloudflare.js +5 -5
  205. package/dist/deploy/cloudflare.js.map +1 -1
  206. package/dist/loader.d.ts +65 -7
  207. package/dist/loader.d.ts.map +1 -1
  208. package/dist/loader.js +587 -63
  209. package/dist/loader.js.map +1 -1
  210. package/dist/marketplace-manager.d.ts +87 -13
  211. package/dist/marketplace-manager.d.ts.map +1 -1
  212. package/dist/marketplace-manager.js +476 -30
  213. package/dist/marketplace-manager.js.map +1 -1
  214. package/dist/path-resolver.d.ts +3 -1
  215. package/dist/path-resolver.d.ts.map +1 -1
  216. package/dist/path-resolver.js +4 -3
  217. package/dist/path-resolver.js.map +1 -1
  218. package/dist/photon-cli-runner.d.ts +1 -1
  219. package/dist/photon-cli-runner.d.ts.map +1 -1
  220. package/dist/photon-cli-runner.js +34 -44
  221. package/dist/photon-cli-runner.js.map +1 -1
  222. package/dist/photon-doc-extractor.d.ts +1 -0
  223. package/dist/photon-doc-extractor.d.ts.map +1 -1
  224. package/dist/photon-doc-extractor.js +62 -19
  225. package/dist/photon-doc-extractor.js.map +1 -1
  226. package/dist/photons/maker.photon.d.ts.map +1 -1
  227. package/dist/photons/maker.photon.js +4 -4
  228. package/dist/photons/maker.photon.js.map +1 -1
  229. package/dist/photons/maker.photon.ts +4 -3
  230. package/dist/photons/marketplace.photon.d.ts.map +1 -1
  231. package/dist/photons/marketplace.photon.js +10 -27
  232. package/dist/photons/marketplace.photon.js.map +1 -1
  233. package/dist/photons/marketplace.photon.ts +14 -33
  234. package/dist/photons/tunnel.photon.d.ts.map +1 -1
  235. package/dist/photons/tunnel.photon.js +4 -8
  236. package/dist/photons/tunnel.photon.js.map +1 -1
  237. package/dist/photons/tunnel.photon.ts +4 -7
  238. package/dist/serv/session/kv-store.d.ts +1 -1
  239. package/dist/serv/session/kv-store.d.ts.map +1 -1
  240. package/dist/serv/session/store.d.ts.map +1 -1
  241. package/dist/serv/session/store.js +16 -14
  242. package/dist/serv/session/store.js.map +1 -1
  243. package/dist/serv/vault/token-vault.js +1 -1
  244. package/dist/serv/vault/token-vault.js.map +1 -1
  245. package/dist/server.d.ts +34 -12
  246. package/dist/server.d.ts.map +1 -1
  247. package/dist/server.js +364 -313
  248. package/dist/server.js.map +1 -1
  249. package/dist/shared/audit.d.ts +30 -0
  250. package/dist/shared/audit.d.ts.map +1 -0
  251. package/dist/shared/audit.js +89 -0
  252. package/dist/shared/audit.js.map +1 -0
  253. package/dist/shared/cli-sections.d.ts +0 -4
  254. package/dist/shared/cli-sections.d.ts.map +1 -1
  255. package/dist/shared/cli-sections.js +0 -6
  256. package/dist/shared/cli-sections.js.map +1 -1
  257. package/dist/shared/cli-utils.d.ts +2 -56
  258. package/dist/shared/cli-utils.d.ts.map +1 -1
  259. package/dist/shared/cli-utils.js +1 -87
  260. package/dist/shared/cli-utils.js.map +1 -1
  261. package/dist/shared/error-handler.d.ts +6 -72
  262. package/dist/shared/error-handler.d.ts.map +1 -1
  263. package/dist/shared/error-handler.js +22 -213
  264. package/dist/shared/error-handler.js.map +1 -1
  265. package/dist/shared/security.d.ts +0 -9
  266. package/dist/shared/security.d.ts.map +1 -1
  267. package/dist/shared/security.js +0 -30
  268. package/dist/shared/security.js.map +1 -1
  269. package/dist/shared-utils.d.ts +0 -26
  270. package/dist/shared-utils.d.ts.map +1 -1
  271. package/dist/shared-utils.js +0 -44
  272. package/dist/shared-utils.js.map +1 -1
  273. package/dist/shell-completions.d.ts +1 -1
  274. package/dist/shell-completions.d.ts.map +1 -1
  275. package/dist/shell-completions.js +5 -5
  276. package/dist/shell-completions.js.map +1 -1
  277. package/dist/template-manager.d.ts.map +1 -1
  278. package/dist/template-manager.js +14 -1
  279. package/dist/template-manager.js.map +1 -1
  280. package/dist/test-runner.d.ts +0 -12
  281. package/dist/test-runner.d.ts.map +1 -1
  282. package/dist/test-runner.js +4 -39
  283. package/dist/test-runner.js.map +1 -1
  284. package/dist/testing.d.ts +1 -1
  285. package/dist/testing.d.ts.map +1 -1
  286. package/dist/testing.js +2 -2
  287. package/dist/testing.js.map +1 -1
  288. package/dist/version-checker.d.ts +4 -4
  289. package/dist/version-checker.d.ts.map +1 -1
  290. package/dist/version-checker.js +33 -4
  291. package/dist/version-checker.js.map +1 -1
  292. package/dist/watcher.d.ts.map +1 -1
  293. package/dist/watcher.js +14 -12
  294. package/dist/watcher.js.map +1 -1
  295. package/package.json +24 -17
@@ -1,61 +1,8 @@
1
1
  /**
2
2
  * CLI Utilities
3
3
  *
4
- * Shared utilities for CLI commands to ensure consistent behavior
4
+ * Shared readline helpers for CLI commands
5
5
  */
6
- import { DEFAULT_PHOTON_DIR } from '@portel/photon-core';
7
- /**
8
- * Get global options from a command, handling parent chain
9
- *
10
- * Commander stores global options on the program root, so we need
11
- * to traverse up the parent chain to find them.
12
- */
13
- export function getGlobalOptions(command) {
14
- // Traverse up to find the root program
15
- let current = command;
16
- while (current?.parent) {
17
- current = current.parent;
18
- }
19
- const opts = current?.opts() || {};
20
- return {
21
- dir: opts.dir || DEFAULT_PHOTON_DIR,
22
- logLevel: opts.logLevel,
23
- jsonLogs: opts.jsonLogs,
24
- };
25
- }
26
- /**
27
- * Get the working directory from command options
28
- */
29
- export function getWorkingDir(command) {
30
- return getGlobalOptions(command).dir;
31
- }
32
- /**
33
- * Check if we're in JSON output mode
34
- */
35
- export function isJsonMode(command) {
36
- return getGlobalOptions(command).jsonLogs === true;
37
- }
38
- /**
39
- * Check if stdout is a TTY (for formatting decisions)
40
- */
41
- export function isTTY() {
42
- return process.stdout.isTTY === true;
43
- }
44
- /**
45
- * Format output based on mode (JSON vs human-readable)
46
- */
47
- export function formatOutput(data, command) {
48
- if (command && isJsonMode(command)) {
49
- return JSON.stringify(data, null, 2);
50
- }
51
- if (typeof data === 'string') {
52
- return data;
53
- }
54
- return JSON.stringify(data, null, 2);
55
- }
56
- // ══════════════════════════════════════════════════════════════════════════════
57
- // READLINE UTILITIES
58
- // ══════════════════════════════════════════════════════════════════════════════
59
6
  import * as readline from 'readline';
60
7
  /**
61
8
  * Create a readline interface for CLI prompts
@@ -69,8 +16,6 @@ export function createReadline() {
69
16
  }
70
17
  /**
71
18
  * Prompt user for text input
72
- * @param prompt - The prompt to display
73
- * @returns User's input
74
19
  */
75
20
  export function promptText(prompt) {
76
21
  const rl = createReadline();
@@ -83,9 +28,6 @@ export function promptText(prompt) {
83
28
  }
84
29
  /**
85
30
  * Prompt user for confirmation (yes/no)
86
- * @param message - The message to display
87
- * @param defaultYes - Whether default is yes (true) or no (false)
88
- * @returns true for yes, false for no
89
31
  */
90
32
  export function promptConfirm(message, defaultYes = false) {
91
33
  const rl = createReadline();
@@ -105,16 +47,9 @@ export function promptConfirm(message, defaultYes = false) {
105
47
  }
106
48
  /**
107
49
  * Prompt user to select from numbered options
108
- * @param prompt - The prompt to display
109
- * @param optionCount - Number of options available
110
- * @param options - Configuration options
111
- * @param options.allowCancel - Whether empty input cancels (returns null). Default: true
112
- * @param options.defaultChoice - Default choice (1-based) to use on empty input
113
- * @returns Selected option number (1-based) or null if cancelled
114
50
  */
115
51
  export function promptChoice(prompt, optionCount, options = true) {
116
52
  const rl = createReadline();
117
- // Handle legacy boolean parameter
118
53
  const opts = typeof options === 'boolean' ? { allowCancel: options } : options;
119
54
  const { allowCancel = true, defaultChoice } = opts;
120
55
  return new Promise((resolve) => {
@@ -150,25 +85,4 @@ export function promptChoice(prompt, optionCount, options = true) {
150
85
  ask();
151
86
  });
152
87
  }
153
- /**
154
- * Prompt user to wait and press Enter
155
- * @param message - Optional message (defaults to "Press Enter to continue")
156
- * @param allowCancel - Whether typing "cancel" aborts
157
- * @returns true to continue, false if cancelled
158
- */
159
- export function promptWait(message = 'Press Enter to continue', allowCancel = true) {
160
- const rl = createReadline();
161
- const suffix = allowCancel ? ' (or type "cancel" to abort)' : '';
162
- return new Promise((resolve) => {
163
- rl.question(`${message}${suffix}: `, (answer) => {
164
- rl.close();
165
- if (allowCancel && answer.toLowerCase().trim() === 'cancel') {
166
- resolve(false);
167
- }
168
- else {
169
- resolve(true);
170
- }
171
- });
172
- });
173
- }
174
88
  //# sourceMappingURL=cli-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-utils.js","sourceRoot":"","sources":["../../src/shared/cli-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-utils.js","sourceRoot":"","sources":["../../src/shared/cli-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,QAAQ,CAAC,eAAe,CAAC;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,UAAU,GAAG,KAAK;IAC/D,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAE5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACnB,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,WAAmB,EACnB,UAAuE,IAAI;IAE3E,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAEnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,GAAG,EAAE;YACf,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE9B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACnB,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,IAAI,CAAC,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;wBACtF,EAAE,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO,CAAC,aAAa,CAAC,CAAC;oBACzB,CAAC;yBAAM,IAAI,WAAW,EAAE,CAAC;wBACvB,EAAE,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;wBACpE,GAAG,EAAE,CAAC;oBACR,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;oBAClD,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;oBACpE,GAAG,EAAE,CAAC;gBACR,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,GAAG,EAAE,CAAC;IACR,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Centralized error handling utilities
3
- * Provides consistent error formatting, user-friendly messages, and structured error types
4
3
  */
5
4
  import { Logger } from './logger.js';
6
5
  import { PhotonError, ValidationError } from '@portel/photon-core';
@@ -29,68 +28,30 @@ export declare const ExitCode: {
29
28
  /** Operation was cancelled by user */
30
29
  readonly CANCELLED: 130;
31
30
  };
32
- export type ExitCodeType = (typeof ExitCode)[keyof typeof ExitCode];
33
- /**
34
- * Get appropriate exit code for an error
35
- */
36
- export declare function getExitCode(error: unknown): ExitCodeType;
37
- export declare class FileSystemError extends PhotonError {
38
- constructor(message: string, details?: Record<string, unknown>, suggestion?: string);
39
- }
40
- export declare class NetworkError extends PhotonError {
41
- constructor(message: string, details?: Record<string, unknown>, suggestion?: string);
42
- }
43
- export declare class ConfigurationError extends PhotonError {
44
- constructor(message: string, details?: Record<string, unknown>, suggestion?: string);
45
- }
31
+ type ExitCodeType = (typeof ExitCode)[keyof typeof ExitCode];
46
32
  /**
47
33
  * Safe error message extraction
48
34
  */
49
35
  export declare function getErrorMessage(error: unknown): string;
50
- /**
51
- * Safe error stack extraction
52
- */
53
- export declare function getErrorStack(error: unknown): string | undefined;
54
- /**
55
- * Check if error is a specific type
56
- */
57
- export declare function isErrorCode(error: unknown, code: string): boolean;
58
36
  /**
59
37
  * Check if error is a Node.js file system error
60
38
  */
61
39
  export declare function isNodeError(error: unknown, code?: string): error is NodeJS.ErrnoException;
62
- /**
63
- * Format error for user display
64
- */
65
- export declare function formatErrorMessage(error: unknown, options?: {
66
- includeStack?: boolean;
67
- context?: string;
68
- }): string;
69
- /**
70
- * Wrap Node.js ENOENT errors with helpful context
71
- */
72
- export declare function handleFileNotFound(path: string, context?: string): FileSystemError;
73
- /**
74
- * Wrap Node.js EACCES errors with helpful context
75
- */
76
- export declare function handlePermissionDenied(path: string, context?: string): FileSystemError;
77
40
  /**
78
41
  * Convert unknown error to PhotonError
79
42
  */
80
43
  export declare function wrapError(error: unknown, context?: string, suggestion?: string): PhotonError;
81
- export interface ErrorHandlerOptions {
44
+ /**
45
+ * Centralized error handler for CLI commands
46
+ */
47
+ export declare function handleError(error: unknown, options?: {
82
48
  logger?: Logger;
83
49
  exitOnError?: boolean;
84
50
  exitCode?: ExitCodeType;
85
51
  showStack?: boolean;
86
- }
87
- /**
88
- * Centralized error handler
89
- */
90
- export declare function handleError(error: unknown, options?: ErrorHandlerOptions): never | void;
52
+ }): never | void;
91
53
  /**
92
54
  * Print error to stderr and exit with appropriate code
93
- * Use this for CLI commands to ensure consistent error handling
94
55
  */
95
56
  export declare function exitWithError(message: string, options?: {
96
57
  exitCode?: ExitCodeType;
@@ -98,31 +59,4 @@ export declare function exitWithError(message: string, options?: {
98
59
  searchedIn?: string;
99
60
  logger?: Logger;
100
61
  }): never;
101
- /**
102
- * Exit successfully with optional message
103
- */
104
- export declare function exitSuccess(message?: string, logger?: Logger): never;
105
- /**
106
- * Async error wrapper for cleaner try-catch
107
- */
108
- export declare function tryAsync<T>(fn: () => Promise<T>, context?: string, suggestion?: string): Promise<T>;
109
- /**
110
- * Sync error wrapper for cleaner try-catch
111
- */
112
- export declare function trySync<T>(fn: () => T, context?: string, suggestion?: string): T;
113
- /**
114
- * Retry an async operation with exponential backoff
115
- */
116
- export declare function retry<T>(fn: () => Promise<T>, options?: {
117
- maxAttempts?: number;
118
- initialDelay?: number;
119
- maxDelay?: number;
120
- backoffFactor?: number;
121
- context?: string;
122
- retryIf?: (error: unknown) => boolean;
123
- }): Promise<T>;
124
- /**
125
- * Check if an error is retryable (network/transient errors)
126
- */
127
- export declare function isRetryableError(error: unknown): boolean;
128
62
  //# sourceMappingURL=error-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/shared/error-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/shared/error-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAMxC;;;GAGG;AACH,eAAO,MAAM,QAAQ;IACnB,qCAAqC;;IAErC,gCAAgC;;IAEhC,6CAA6C;;IAE7C,sDAAsD;;IAEtD,iCAAiC;;IAEjC,kCAAkC;;IAElC,iDAAiD;;IAEjD,wBAAwB;;IAExB,sCAAsC;;CAE9B,CAAC;AAEX,KAAK,YAAY,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAM7D;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAWtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,CAOzF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAkC5F;AAMD;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;CAChB,GACL,KAAK,GAAG,IAAI,CAsCd;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,KAAK,CAsBP"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Centralized error handling utilities
3
- * Provides consistent error formatting, user-friendly messages, and structured error types
4
3
  */
5
4
  import { PhotonError, ValidationError } from '@portel/photon-core';
6
5
  // Re-export base error classes from photon-core
@@ -32,58 +31,6 @@ export const ExitCode = {
32
31
  /** Operation was cancelled by user */
33
32
  CANCELLED: 130,
34
33
  };
35
- /**
36
- * Get appropriate exit code for an error
37
- */
38
- export function getExitCode(error) {
39
- if (error instanceof ValidationError) {
40
- return ExitCode.VALIDATION_ERROR;
41
- }
42
- if (error instanceof ConfigurationError) {
43
- return ExitCode.CONFIG_ERROR;
44
- }
45
- if (error instanceof NetworkError) {
46
- return ExitCode.NETWORK_ERROR;
47
- }
48
- if (error instanceof FileSystemError) {
49
- const details = error.details;
50
- if (details?.code === 'ENOENT') {
51
- return ExitCode.NOT_FOUND;
52
- }
53
- if (details?.code === 'EACCES' || details?.code === 'EPERM') {
54
- return ExitCode.PERMISSION_DENIED;
55
- }
56
- return ExitCode.ERROR;
57
- }
58
- if (isNodeError(error)) {
59
- if (error.code === 'ENOENT')
60
- return ExitCode.NOT_FOUND;
61
- if (error.code === 'EACCES' || error.code === 'EPERM')
62
- return ExitCode.PERMISSION_DENIED;
63
- }
64
- return ExitCode.ERROR;
65
- }
66
- // ══════════════════════════════════════════════════════════════════════════════
67
- // ERROR TYPES (extended, specific to photon CLI)
68
- // ══════════════════════════════════════════════════════════════════════════════
69
- export class FileSystemError extends PhotonError {
70
- constructor(message, details, suggestion) {
71
- super(message, 'FILE_SYSTEM_ERROR', details, suggestion);
72
- this.name = 'FileSystemError';
73
- }
74
- }
75
- export class NetworkError extends PhotonError {
76
- constructor(message, details, suggestion) {
77
- super(message, 'NETWORK_ERROR', details, suggestion);
78
- this.name = 'NetworkError';
79
- }
80
- }
81
- export class ConfigurationError extends PhotonError {
82
- constructor(message, details, suggestion) {
83
- super(message, 'CONFIGURATION_ERROR', details, suggestion);
84
- this.name = 'ConfigurationError';
85
- }
86
- }
87
34
  // ══════════════════════════════════════════════════════════════════════════════
88
35
  // ERROR UTILITIES
89
36
  // ══════════════════════════════════════════════════════════════════════════════
@@ -102,21 +49,6 @@ export function getErrorMessage(error) {
102
49
  }
103
50
  return 'Unknown error';
104
51
  }
105
- /**
106
- * Safe error stack extraction
107
- */
108
- export function getErrorStack(error) {
109
- if (error instanceof Error && error.stack) {
110
- return error.stack;
111
- }
112
- return undefined;
113
- }
114
- /**
115
- * Check if error is a specific type
116
- */
117
- export function isErrorCode(error, code) {
118
- return error instanceof PhotonError && error.code === code;
119
- }
120
52
  /**
121
53
  * Check if error is a Node.js file system error
122
54
  */
@@ -129,43 +61,6 @@ export function isNodeError(error, code) {
129
61
  }
130
62
  return nodeError.code !== undefined;
131
63
  }
132
- /**
133
- * Format error for user display
134
- */
135
- export function formatErrorMessage(error, options) {
136
- const message = getErrorMessage(error);
137
- const parts = [];
138
- if (options?.context) {
139
- parts.push(`${options.context}:`);
140
- }
141
- parts.push(message);
142
- if (error instanceof PhotonError && error.suggestion) {
143
- parts.push(`\nSuggestion: ${error.suggestion}`);
144
- }
145
- if (options?.includeStack) {
146
- const stack = getErrorStack(error);
147
- if (stack) {
148
- parts.push(`\nStack trace:\n${stack}`);
149
- }
150
- }
151
- return parts.join(' ');
152
- }
153
- /**
154
- * Wrap Node.js ENOENT errors with helpful context
155
- */
156
- export function handleFileNotFound(path, context) {
157
- const message = context ? `File not found: ${path} (${context})` : `File not found: ${path}`;
158
- return new FileSystemError(message, { path }, 'Check that the file exists and you have read permissions');
159
- }
160
- /**
161
- * Wrap Node.js EACCES errors with helpful context
162
- */
163
- export function handlePermissionDenied(path, context) {
164
- const message = context
165
- ? `Permission denied: ${path} (${context})`
166
- : `Permission denied: ${path}`;
167
- return new FileSystemError(message, { path }, 'Check file permissions and ensure you have access rights');
168
- }
169
64
  /**
170
65
  * Convert unknown error to PhotonError
171
66
  */
@@ -174,34 +69,43 @@ export function wrapError(error, context, suggestion) {
174
69
  return error;
175
70
  }
176
71
  const message = context ? `${context}: ${getErrorMessage(error)}` : getErrorMessage(error);
177
- // Handle Node.js errors
72
+ // Handle Node.js errors with helpful context
178
73
  if (isNodeError(error)) {
179
74
  if (error.code === 'ENOENT' && error.path) {
180
- return handleFileNotFound(error.path, context);
75
+ return new PhotonError(`File not found: ${error.path}${context ? ` (${context})` : ''}`, 'FILE_SYSTEM_ERROR', { path: error.path }, 'Check that the file exists and you have read permissions');
181
76
  }
182
77
  if (error.code === 'EACCES' && error.path) {
183
- return handlePermissionDenied(error.path, context);
78
+ return new PhotonError(`Permission denied: ${error.path}${context ? ` (${context})` : ''}`, 'FILE_SYSTEM_ERROR', { path: error.path }, 'Check file permissions and ensure you have access rights');
184
79
  }
185
- return new FileSystemError(message, { code: error.code, path: error.path }, suggestion);
80
+ return new PhotonError(message, 'FILE_SYSTEM_ERROR', { code: error.code, path: error.path }, suggestion);
186
81
  }
187
82
  return new PhotonError(message, 'UNKNOWN_ERROR', undefined, suggestion);
188
83
  }
84
+ // ══════════════════════════════════════════════════════════════════════════════
85
+ // ERROR HANDLER
86
+ // ══════════════════════════════════════════════════════════════════════════════
189
87
  /**
190
- * Centralized error handler
88
+ * Centralized error handler for CLI commands
191
89
  */
192
90
  export function handleError(error, options = {}) {
193
91
  const { logger, exitOnError = false, exitCode, showStack = process.env.DEBUG === 'true', } = options;
194
- const message = formatErrorMessage(error, {
195
- includeStack: showStack,
196
- });
92
+ const message = getErrorMessage(error);
93
+ const suggestion = error instanceof PhotonError ? error.suggestion : undefined;
94
+ const stack = error instanceof Error ? error.stack : undefined;
95
+ const parts = [message];
96
+ if (suggestion)
97
+ parts.push(`\nSuggestion: ${suggestion}`);
98
+ if (showStack && stack)
99
+ parts.push(`\nStack trace:\n${stack}`);
100
+ const formatted = parts.join(' ');
197
101
  if (logger) {
198
- logger.error(message);
199
- if (showStack && error instanceof Error && error.stack) {
200
- logger.debug(error.stack);
102
+ logger.error(formatted);
103
+ if (showStack && stack) {
104
+ logger.debug(stack);
201
105
  }
202
106
  }
203
107
  else {
204
- console.error(`❌ ${message}`);
108
+ console.error(`❌ ${formatted}`);
205
109
  }
206
110
  if (error instanceof PhotonError && error.details) {
207
111
  if (logger) {
@@ -212,8 +116,7 @@ export function handleError(error, options = {}) {
212
116
  }
213
117
  }
214
118
  if (exitOnError) {
215
- // Use provided exit code, or derive from error type
216
- const code = exitCode ?? getExitCode(error);
119
+ const code = exitCode ?? ExitCode.ERROR;
217
120
  process.exit(code);
218
121
  }
219
122
  }
@@ -222,7 +125,6 @@ export function handleError(error, options = {}) {
222
125
  // ══════════════════════════════════════════════════════════════════════════════
223
126
  /**
224
127
  * Print error to stderr and exit with appropriate code
225
- * Use this for CLI commands to ensure consistent error handling
226
128
  */
227
129
  export function exitWithError(message, options) {
228
130
  const { exitCode = ExitCode.ERROR, suggestion, searchedIn, logger } = options || {};
@@ -246,97 +148,4 @@ export function exitWithError(message, options) {
246
148
  }
247
149
  process.exit(exitCode);
248
150
  }
249
- /**
250
- * Exit successfully with optional message
251
- */
252
- export function exitSuccess(message, logger) {
253
- if (message) {
254
- if (logger) {
255
- logger.info(message);
256
- }
257
- else {
258
- console.error(`✓ ${message}`);
259
- }
260
- }
261
- process.exit(ExitCode.SUCCESS);
262
- }
263
- /**
264
- * Async error wrapper for cleaner try-catch
265
- */
266
- export async function tryAsync(fn, context, suggestion) {
267
- try {
268
- return await fn();
269
- }
270
- catch (error) {
271
- throw wrapError(error, context, suggestion);
272
- }
273
- }
274
- /**
275
- * Sync error wrapper for cleaner try-catch
276
- */
277
- export function trySync(fn, context, suggestion) {
278
- try {
279
- return fn();
280
- }
281
- catch (error) {
282
- throw wrapError(error, context, suggestion);
283
- }
284
- }
285
- /**
286
- * Retry an async operation with exponential backoff
287
- */
288
- export async function retry(fn, options = {}) {
289
- const { maxAttempts = 3, initialDelay = 1000, maxDelay = 10000, backoffFactor = 2, context, retryIf = () => true, } = options;
290
- let lastError;
291
- let delay = initialDelay;
292
- for (let attempt = 1; attempt <= maxAttempts; attempt++) {
293
- try {
294
- return await fn();
295
- }
296
- catch (error) {
297
- lastError = error;
298
- // Don't retry if condition not met
299
- if (!retryIf(error)) {
300
- throw wrapError(error, context, `Operation failed and is not retryable`);
301
- }
302
- // Don't retry on last attempt
303
- if (attempt === maxAttempts) {
304
- break;
305
- }
306
- // Wait before retrying
307
- await new Promise((resolve) => setTimeout(resolve, delay));
308
- // Exponential backoff
309
- delay = Math.min(delay * backoffFactor, maxDelay);
310
- }
311
- }
312
- throw wrapError(lastError, context, `Operation failed after ${maxAttempts} attempts`);
313
- }
314
- /**
315
- * Check if an error is retryable (network/transient errors)
316
- */
317
- export function isRetryableError(error) {
318
- if (!(error instanceof Error))
319
- return false;
320
- const message = error.message.toLowerCase();
321
- const name = error.name.toLowerCase();
322
- // Network errors
323
- if (message.includes('econnrefused') ||
324
- message.includes('econnreset') ||
325
- message.includes('etimedout') ||
326
- message.includes('timeout') ||
327
- message.includes('network') ||
328
- name === 'timeouterror' ||
329
- name === 'networkerror') {
330
- return true;
331
- }
332
- // Rate limiting
333
- if (message.includes('rate limit') || message.includes('too many requests')) {
334
- return true;
335
- }
336
- // Service unavailable
337
- if (message.includes('503') || message.includes('service unavailable')) {
338
- return true;
339
- }
340
- return false;
341
- }
342
151
  //# sourceMappingURL=error-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/shared/error-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/shared/error-handler.ts"],"names":[],"mappings":"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"}
@@ -24,19 +24,10 @@ export declare function isLocalRequest(req: IncomingMessage): boolean;
24
24
  */
25
25
  export declare function timingSafeEqual(a: string, b: string): boolean;
26
26
  export declare function validateNpmPackageName(input: string): boolean;
27
- /**
28
- * Validates a URL string. Returns the parsed URL or throws on invalid/dangerous input.
29
- */
30
- export declare function validateUrl(input: string): URL;
31
27
  /**
32
28
  * Escapes HTML special characters to prevent XSS.
33
29
  */
34
30
  export declare function escapeHtml(str: string): string;
35
- /**
36
- * Returns a shallow copy of `obj` with dangerous prototype-pollution keys removed.
37
- * Works recursively on nested objects.
38
- */
39
- export declare function sanitizeObject<T extends Record<string, any>>(obj: T): T;
40
31
  /**
41
32
  * Checks if a template expression contains forbidden identifiers
42
33
  * that could be used for code injection. Returns the forbidden token or null.
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/shared/security.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAI5D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOrE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAW3D;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAI5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAWD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAM9C;AAYD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAavE;AAqBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOnE;AAMD;;GAEG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,eAAe,EACpB,QAAQ,GAAE,MAA+B,GACxC,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAI5D;AAID;;GAEG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,OAAO,CAA+B;gBAG3B,WAAW,GAAE,MAAW,EACxB,QAAQ,GAAE,MAAe;IAG5C;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAuB/B;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;CAO1B;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAGhF;AAaD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAQxD"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/shared/security.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAI5D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOrE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAW3D;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAI5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAWD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7D;AAYD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAqBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOnE;AAMD;;GAEG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,eAAe,EACpB,QAAQ,GAAE,MAA+B,GACxC,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAI5D;AAID;;GAEG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,OAAO,CAA+B;gBAG3B,WAAW,GAAE,MAAW,EACxB,QAAQ,GAAE,MAAe;IAG5C;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAuB/B;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;CAO1B;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAGhF;AAaD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAQxD"}