@knowzai/cli 0.4.0 → 0.5.1

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 (298) hide show
  1. package/README.md +68 -0
  2. package/assets/portable/releases.json +66 -2
  3. package/assets/portable/runtime-contract.json +2 -2
  4. package/assets/selfhosted/docker-compose.yml +8 -2
  5. package/assets/selfhosted/releases.json +130 -5
  6. package/bin/run.js +7 -2
  7. package/bin/wasm-runtime.js +27 -0
  8. package/dist/.tsbuildinfo +1 -1
  9. package/dist/base-command.d.ts +2 -0
  10. package/dist/base-command.d.ts.map +1 -1
  11. package/dist/base-command.js +11 -1
  12. package/dist/base-command.js.map +1 -1
  13. package/dist/commands/ask.d.ts.map +1 -1
  14. package/dist/commands/ask.js +2 -0
  15. package/dist/commands/ask.js.map +1 -1
  16. package/dist/commands/backup.d.ts +1 -0
  17. package/dist/commands/backup.d.ts.map +1 -1
  18. package/dist/commands/backup.js +29 -10
  19. package/dist/commands/backup.js.map +1 -1
  20. package/dist/commands/chat.d.ts +2 -1
  21. package/dist/commands/chat.d.ts.map +1 -1
  22. package/dist/commands/chat.js +10 -4
  23. package/dist/commands/chat.js.map +1 -1
  24. package/dist/commands/down.d.ts +14 -27
  25. package/dist/commands/down.d.ts.map +1 -1
  26. package/dist/commands/down.js +6 -31
  27. package/dist/commands/down.js.map +1 -1
  28. package/dist/commands/knowledge/amend.d.ts +2 -2
  29. package/dist/commands/knowledge/amend.d.ts.map +1 -1
  30. package/dist/commands/knowledge/amend.js +5 -0
  31. package/dist/commands/knowledge/amend.js.map +1 -1
  32. package/dist/commands/login.d.ts +4 -0
  33. package/dist/commands/login.d.ts.map +1 -1
  34. package/dist/commands/login.js +21 -2
  35. package/dist/commands/login.js.map +1 -1
  36. package/dist/commands/menu.js +1 -1
  37. package/dist/commands/menu.js.map +1 -1
  38. package/dist/commands/platform/destroy.d.ts +15 -5
  39. package/dist/commands/platform/destroy.d.ts.map +1 -1
  40. package/dist/commands/platform/destroy.js +6 -33
  41. package/dist/commands/platform/destroy.js.map +1 -1
  42. package/dist/commands/platform/doctor.d.ts +18 -3
  43. package/dist/commands/platform/doctor.d.ts.map +1 -1
  44. package/dist/commands/platform/doctor.js +4 -10
  45. package/dist/commands/platform/doctor.js.map +1 -1
  46. package/dist/commands/platform/down.d.ts +15 -15
  47. package/dist/commands/platform/down.d.ts.map +1 -1
  48. package/dist/commands/platform/down.js +4 -8
  49. package/dist/commands/platform/down.js.map +1 -1
  50. package/dist/commands/platform/logs.d.ts +15 -14
  51. package/dist/commands/platform/logs.d.ts.map +1 -1
  52. package/dist/commands/platform/logs.js +5 -16
  53. package/dist/commands/platform/logs.js.map +1 -1
  54. package/dist/commands/platform/reset.d.ts +16 -13
  55. package/dist/commands/platform/reset.d.ts.map +1 -1
  56. package/dist/commands/platform/reset.js +7 -36
  57. package/dist/commands/platform/reset.js.map +1 -1
  58. package/dist/commands/platform/setup.d.ts +1 -0
  59. package/dist/commands/platform/setup.d.ts.map +1 -1
  60. package/dist/commands/platform/setup.js +1 -1
  61. package/dist/commands/platform/setup.js.map +1 -1
  62. package/dist/commands/platform/status.d.ts +14 -16
  63. package/dist/commands/platform/status.d.ts.map +1 -1
  64. package/dist/commands/platform/status.js +4 -29
  65. package/dist/commands/platform/status.js.map +1 -1
  66. package/dist/commands/restore.d.ts +10 -1
  67. package/dist/commands/restore.d.ts.map +1 -1
  68. package/dist/commands/restore.js +56 -13
  69. package/dist/commands/restore.js.map +1 -1
  70. package/dist/commands/runtime/destroy.d.ts +29 -0
  71. package/dist/commands/runtime/destroy.d.ts.map +1 -0
  72. package/dist/commands/runtime/destroy.js +13 -0
  73. package/dist/commands/runtime/destroy.js.map +1 -0
  74. package/dist/commands/runtime/doctor.d.ts +27 -0
  75. package/dist/commands/runtime/doctor.d.ts.map +1 -0
  76. package/dist/commands/runtime/doctor.js +11 -0
  77. package/dist/commands/runtime/doctor.js.map +1 -0
  78. package/dist/commands/runtime/logs.d.ts +28 -0
  79. package/dist/commands/runtime/logs.d.ts.map +1 -0
  80. package/dist/commands/runtime/logs.js +12 -0
  81. package/dist/commands/runtime/logs.js.map +1 -0
  82. package/dist/commands/runtime/status.d.ts +27 -0
  83. package/dist/commands/runtime/status.d.ts.map +1 -0
  84. package/dist/commands/runtime/status.js +11 -0
  85. package/dist/commands/runtime/status.js.map +1 -0
  86. package/dist/commands/runtime/upgrade.d.ts +28 -0
  87. package/dist/commands/runtime/upgrade.d.ts.map +1 -0
  88. package/dist/commands/runtime/upgrade.js +12 -0
  89. package/dist/commands/runtime/upgrade.js.map +1 -0
  90. package/dist/commands/setup.d.ts +1 -0
  91. package/dist/commands/setup.d.ts.map +1 -1
  92. package/dist/commands/setup.js +1 -1
  93. package/dist/commands/transfer.js +1 -1
  94. package/dist/commands/transfer.js.map +1 -1
  95. package/dist/commands/up.d.ts +3 -11
  96. package/dist/commands/up.d.ts.map +1 -1
  97. package/dist/commands/up.js +48 -37
  98. package/dist/commands/up.js.map +1 -1
  99. package/dist/commands/whoami.js +1 -1
  100. package/dist/commands/whoami.js.map +1 -1
  101. package/dist/hooks/init/launch-menu.d.ts.map +1 -1
  102. package/dist/hooks/init/launch-menu.js +2 -0
  103. package/dist/hooks/init/launch-menu.js.map +1 -1
  104. package/dist/lib/anonymous-registry.d.ts +3 -0
  105. package/dist/lib/anonymous-registry.d.ts.map +1 -0
  106. package/dist/lib/anonymous-registry.js +25 -0
  107. package/dist/lib/anonymous-registry.js.map +1 -0
  108. package/dist/lib/async-process.d.ts +15 -0
  109. package/dist/lib/async-process.d.ts.map +1 -0
  110. package/dist/lib/async-process.js +145 -0
  111. package/dist/lib/async-process.js.map +1 -0
  112. package/dist/lib/backup-process.d.ts +4 -0
  113. package/dist/lib/backup-process.d.ts.map +1 -0
  114. package/dist/lib/backup-process.js +20 -0
  115. package/dist/lib/backup-process.js.map +1 -0
  116. package/dist/lib/brand.d.ts +25 -0
  117. package/dist/lib/brand.d.ts.map +1 -0
  118. package/dist/lib/brand.js +105 -0
  119. package/dist/lib/brand.js.map +1 -0
  120. package/dist/lib/chat.d.ts +1 -0
  121. package/dist/lib/chat.d.ts.map +1 -1
  122. package/dist/lib/chat.js +12 -3
  123. package/dist/lib/chat.js.map +1 -1
  124. package/dist/lib/compose-status.d.ts +14 -0
  125. package/dist/lib/compose-status.d.ts.map +1 -0
  126. package/dist/lib/compose-status.js +31 -0
  127. package/dist/lib/compose-status.js.map +1 -0
  128. package/dist/lib/container-engine.js +2 -2
  129. package/dist/lib/container-engine.js.map +1 -1
  130. package/dist/lib/local-engine-context.d.ts +16 -0
  131. package/dist/lib/local-engine-context.d.ts.map +1 -0
  132. package/dist/lib/local-engine-context.js +123 -0
  133. package/dist/lib/local-engine-context.js.map +1 -0
  134. package/dist/lib/local-mcp-server.d.ts.map +1 -1
  135. package/dist/lib/local-mcp-server.js +18 -2
  136. package/dist/lib/local-mcp-server.js.map +1 -1
  137. package/dist/lib/login-guided.d.ts.map +1 -1
  138. package/dist/lib/login-guided.js +2 -1
  139. package/dist/lib/login-guided.js.map +1 -1
  140. package/dist/lib/login.d.ts +3 -0
  141. package/dist/lib/login.d.ts.map +1 -1
  142. package/dist/lib/login.js +25 -5
  143. package/dist/lib/login.js.map +1 -1
  144. package/dist/lib/oci-registry-probe.d.ts +43 -0
  145. package/dist/lib/oci-registry-probe.d.ts.map +1 -0
  146. package/dist/lib/oci-registry-probe.js +110 -0
  147. package/dist/lib/oci-registry-probe.js.map +1 -0
  148. package/dist/lib/peer-command.d.ts.map +1 -1
  149. package/dist/lib/peer-command.js +3 -1
  150. package/dist/lib/peer-command.js.map +1 -1
  151. package/dist/lib/platform-acquisition.d.ts +27 -0
  152. package/dist/lib/platform-acquisition.d.ts.map +1 -0
  153. package/dist/lib/platform-acquisition.js +21 -0
  154. package/dist/lib/platform-acquisition.js.map +1 -0
  155. package/dist/lib/platform-backup.d.ts +1 -0
  156. package/dist/lib/platform-backup.d.ts.map +1 -1
  157. package/dist/lib/platform-backup.js +375 -157
  158. package/dist/lib/platform-backup.js.map +1 -1
  159. package/dist/lib/platform-command-shared.d.ts +2 -0
  160. package/dist/lib/platform-command-shared.d.ts.map +1 -1
  161. package/dist/lib/platform-command-shared.js +13 -5
  162. package/dist/lib/platform-command-shared.js.map +1 -1
  163. package/dist/lib/platform-edition.d.ts +3 -6
  164. package/dist/lib/platform-edition.d.ts.map +1 -1
  165. package/dist/lib/platform-edition.js +9 -17
  166. package/dist/lib/platform-edition.js.map +1 -1
  167. package/dist/lib/platform-frontdoor-runtime.d.ts.map +1 -1
  168. package/dist/lib/platform-frontdoor-runtime.js +42 -10
  169. package/dist/lib/platform-frontdoor-runtime.js.map +1 -1
  170. package/dist/lib/platform-frontdoor.d.ts +32 -5
  171. package/dist/lib/platform-frontdoor.d.ts.map +1 -1
  172. package/dist/lib/platform-frontdoor.js +249 -171
  173. package/dist/lib/platform-frontdoor.js.map +1 -1
  174. package/dist/lib/platform-image-admission.d.ts +16 -0
  175. package/dist/lib/platform-image-admission.d.ts.map +1 -0
  176. package/dist/lib/platform-image-admission.js +73 -0
  177. package/dist/lib/platform-image-admission.js.map +1 -0
  178. package/dist/lib/platform-image-source.d.ts.map +1 -1
  179. package/dist/lib/platform-image-source.js +2 -0
  180. package/dist/lib/platform-image-source.js.map +1 -1
  181. package/dist/lib/platform-lifecycle.d.ts +4 -0
  182. package/dist/lib/platform-lifecycle.d.ts.map +1 -1
  183. package/dist/lib/platform-lifecycle.js +42 -8
  184. package/dist/lib/platform-lifecycle.js.map +1 -1
  185. package/dist/lib/platform-onboarding.d.ts.map +1 -1
  186. package/dist/lib/platform-onboarding.js +1 -1
  187. package/dist/lib/platform-onboarding.js.map +1 -1
  188. package/dist/lib/platform-preflight.d.ts +6 -3
  189. package/dist/lib/platform-preflight.d.ts.map +1 -1
  190. package/dist/lib/platform-preflight.js +52 -19
  191. package/dist/lib/platform-preflight.js.map +1 -1
  192. package/dist/lib/platform-release-manifest.d.ts +6 -1
  193. package/dist/lib/platform-release-manifest.d.ts.map +1 -1
  194. package/dist/lib/platform-release-manifest.js +10 -0
  195. package/dist/lib/platform-release-manifest.js.map +1 -1
  196. package/dist/lib/platform-runtime.d.ts +5 -2
  197. package/dist/lib/platform-runtime.d.ts.map +1 -1
  198. package/dist/lib/platform-runtime.js +7 -40
  199. package/dist/lib/platform-runtime.js.map +1 -1
  200. package/dist/lib/portability-shared.d.ts +1 -1
  201. package/dist/lib/portability-shared.d.ts.map +1 -1
  202. package/dist/lib/portability-shared.js +6 -2
  203. package/dist/lib/portability-shared.js.map +1 -1
  204. package/dist/lib/portable-release-digests.d.ts +5 -0
  205. package/dist/lib/portable-release-digests.d.ts.map +1 -0
  206. package/dist/lib/portable-release-digests.js +53 -0
  207. package/dist/lib/portable-release-digests.js.map +1 -0
  208. package/dist/lib/release-pin-matrix.d.ts +29 -0
  209. package/dist/lib/release-pin-matrix.d.ts.map +1 -0
  210. package/dist/lib/release-pin-matrix.js +67 -0
  211. package/dist/lib/release-pin-matrix.js.map +1 -0
  212. package/dist/lib/repo-local-mcp-backend.d.ts +2 -5
  213. package/dist/lib/repo-local-mcp-backend.d.ts.map +1 -1
  214. package/dist/lib/repo-local-mcp-backend.js +61 -44
  215. package/dist/lib/repo-local-mcp-backend.js.map +1 -1
  216. package/dist/lib/runtime-backup-archive.d.ts +20 -0
  217. package/dist/lib/runtime-backup-archive.d.ts.map +1 -0
  218. package/dist/lib/runtime-backup-archive.js +269 -0
  219. package/dist/lib/runtime-backup-archive.js.map +1 -0
  220. package/dist/lib/runtime-command.d.ts +37 -0
  221. package/dist/lib/runtime-command.d.ts.map +1 -0
  222. package/dist/lib/runtime-command.js +50 -0
  223. package/dist/lib/runtime-command.js.map +1 -0
  224. package/dist/lib/runtime-discovery.d.ts +18 -0
  225. package/dist/lib/runtime-discovery.d.ts.map +1 -0
  226. package/dist/lib/runtime-discovery.js +56 -0
  227. package/dist/lib/runtime-discovery.js.map +1 -0
  228. package/dist/lib/runtime-lock.d.ts +3 -0
  229. package/dist/lib/runtime-lock.d.ts.map +1 -0
  230. package/dist/lib/runtime-lock.js +50 -0
  231. package/dist/lib/runtime-lock.js.map +1 -0
  232. package/dist/lib/runtime-operations.d.ts +98 -0
  233. package/dist/lib/runtime-operations.d.ts.map +1 -0
  234. package/dist/lib/runtime-operations.js +182 -0
  235. package/dist/lib/runtime-operations.js.map +1 -0
  236. package/dist/lib/runtime-provider.d.ts +17 -0
  237. package/dist/lib/runtime-provider.d.ts.map +1 -0
  238. package/dist/lib/runtime-provider.js +52 -0
  239. package/dist/lib/runtime-provider.js.map +1 -0
  240. package/dist/lib/runtime-status.d.ts +24 -0
  241. package/dist/lib/runtime-status.d.ts.map +1 -0
  242. package/dist/lib/runtime-status.js +128 -0
  243. package/dist/lib/runtime-status.js.map +1 -0
  244. package/dist/lib/selfhosted-backup.d.ts +37 -0
  245. package/dist/lib/selfhosted-backup.d.ts.map +1 -0
  246. package/dist/lib/selfhosted-backup.js +446 -0
  247. package/dist/lib/selfhosted-backup.js.map +1 -0
  248. package/dist/lib/selfhosted-keyring.d.ts +19 -0
  249. package/dist/lib/selfhosted-keyring.d.ts.map +1 -0
  250. package/dist/lib/selfhosted-keyring.js +193 -0
  251. package/dist/lib/selfhosted-keyring.js.map +1 -0
  252. package/dist/lib/selfhosted-lifecycle.d.ts +45 -7
  253. package/dist/lib/selfhosted-lifecycle.d.ts.map +1 -1
  254. package/dist/lib/selfhosted-lifecycle.js +214 -31
  255. package/dist/lib/selfhosted-lifecycle.js.map +1 -1
  256. package/dist/lib/selfhosted-login.d.ts +34 -0
  257. package/dist/lib/selfhosted-login.d.ts.map +1 -0
  258. package/dist/lib/selfhosted-login.js +116 -0
  259. package/dist/lib/selfhosted-login.js.map +1 -0
  260. package/dist/lib/selfhosted-readiness.d.ts +3 -0
  261. package/dist/lib/selfhosted-readiness.d.ts.map +1 -0
  262. package/dist/lib/selfhosted-readiness.js +24 -0
  263. package/dist/lib/selfhosted-readiness.js.map +1 -0
  264. package/dist/lib/setup-capabilities.d.ts +15 -0
  265. package/dist/lib/setup-capabilities.d.ts.map +1 -0
  266. package/dist/lib/setup-capabilities.js +21 -0
  267. package/dist/lib/setup-capabilities.js.map +1 -0
  268. package/dist/lib/setup-console.d.ts +8 -0
  269. package/dist/lib/setup-console.d.ts.map +1 -1
  270. package/dist/lib/setup-console.js +104 -74
  271. package/dist/lib/setup-console.js.map +1 -1
  272. package/dist/lib/setup-page.d.ts +12 -0
  273. package/dist/lib/setup-page.d.ts.map +1 -1
  274. package/dist/lib/setup-page.js +40 -22
  275. package/dist/lib/setup-page.js.map +1 -1
  276. package/dist/lib/setup-plan.d.ts +1 -0
  277. package/dist/lib/setup-plan.d.ts.map +1 -1
  278. package/dist/lib/setup-plan.js +3 -0
  279. package/dist/lib/setup-plan.js.map +1 -1
  280. package/dist/lib/setup-server.d.ts +11 -2
  281. package/dist/lib/setup-server.d.ts.map +1 -1
  282. package/dist/lib/setup-server.js +139 -28
  283. package/dist/lib/setup-server.js.map +1 -1
  284. package/dist/lib/ui.d.ts +3 -1
  285. package/dist/lib/ui.d.ts.map +1 -1
  286. package/dist/lib/ui.js +39 -7
  287. package/dist/lib/ui.js.map +1 -1
  288. package/dist/lib/up-result.d.ts +3 -0
  289. package/dist/lib/up-result.d.ts.map +1 -1
  290. package/dist/lib/up-result.js.map +1 -1
  291. package/dist/menu/run.js +1 -1
  292. package/dist/menu/run.js.map +1 -1
  293. package/dist/menu/should-launch.d.ts +0 -14
  294. package/dist/menu/should-launch.d.ts.map +1 -1
  295. package/dist/menu/should-launch.js +5 -1
  296. package/dist/menu/should-launch.js.map +1 -1
  297. package/oclif.manifest.json +5490 -3263
  298. package/package.json +14 -11
@@ -91,7 +91,12 @@ function describePortCollisions(collisions) {
91
91
  : `${collision.names.slice(0, -1).join(', ')}, and ${collision.names.at(-1)}`;
92
92
  return `Ports must be distinct — ${names} ${collision.names.length === 2 ? 'both' : 'all'} use ${collision.port}`;
93
93
  }
94
- function parsePlan(value, schema, defaults) {
94
+ function withProviderDefaults(provider, fields, defaults, providerDefaults = {}) {
95
+ if (fields !== undefined && !isRecord(fields))
96
+ throw new Error('Provider fields must be an object.');
97
+ return { ...providerDefaults[provider], ...(defaults.provider === provider ? defaults.providerFields : {}), ...(isRecord(fields) ? fields : {}) };
98
+ }
99
+ function parsePlan(value, schema, defaults, providerDefaults) {
95
100
  if (!isRecord(value))
96
101
  throw new Error('Setup request must be a JSON object.');
97
102
  if (containsPlatformSecretKey(value)) {
@@ -130,7 +135,7 @@ function parsePlan(value, schema, defaults) {
130
135
  if (edition !== 'selfhosted' && edition !== 'portable') {
131
136
  throw new Error('Edition must be selfhosted or portable.');
132
137
  }
133
- const providerFields = parseProviderFields(provider, value.providerFields ?? {}, schema);
138
+ const providerFields = parseProviderFields(provider, withProviderDefaults(provider, value.providerFields, defaults, providerDefaults), schema);
134
139
  let storage = defaults.storage;
135
140
  if (value.storage !== undefined) {
136
141
  if (typeof value.storage !== 'string')
@@ -267,6 +272,9 @@ export function createSetupApp(deps) {
267
272
  let probeInFlight = false;
268
273
  let cloudActivationInFlight = false;
269
274
  let completed = false;
275
+ let lastResult;
276
+ let attentionResult;
277
+ let operationController;
270
278
  let idleTimer;
271
279
  let completionResolved = false;
272
280
  let resolveCompletion;
@@ -304,9 +312,10 @@ export function createSetupApp(deps) {
304
312
  };
305
313
  const publishPayload = (payload, event) => {
306
314
  const redacted = safePayload(payload);
307
- const credential = event === 'result' ? oneTimeCredential(payload) : undefined;
308
- if (credential && isRecord(redacted))
309
- redacted.oneTimeCredential = credential;
315
+ // Generated credentials belong only to the authenticated mutation response,
316
+ // never a replayable SSE history/status channel.
317
+ if (isRecord(redacted))
318
+ delete redacted.oneTimeCredential;
310
319
  progress.push({ event, payload: redacted });
311
320
  const encoded = frame(event, redacted);
312
321
  for (const subscriber of subscribers)
@@ -380,6 +389,12 @@ export function createSetupApp(deps) {
380
389
  : deps.serviceUrls?.publicSiteUrl,
381
390
  loginMode: typeof record?.loginMode === 'string' ? record.loginMode : undefined,
382
391
  existing: record?.existing === true ? true : undefined,
392
+ status: record?.status === 'complete' ? 'complete' : 'attention-required',
393
+ code: record?.status === 'complete' ? undefined : 'SETUP_ACTION_REQUIRED',
394
+ nextAction: typeof record?.nextAction === 'string' ? safe(record.nextAction) : undefined,
395
+ runtimeHealth: typeof record?.runtimeHealth === 'string' ? record.runtimeHealth : record?.status === 'complete' || record?.status === 'attention-required' ? 'ready' : 'unknown',
396
+ authentication: typeof record?.authentication === 'string' ? record.authentication : record?.status === 'complete' ? 'verified' : 'missing',
397
+ profile: typeof record?.profile === 'string' ? record.profile : undefined,
383
398
  verify: warning
384
399
  ? { api: 'warn', probeWarning: 'Provider round-trip failed — check credentials and endpoint configuration.' }
385
400
  : verified
@@ -389,6 +404,23 @@ export function createSetupApp(deps) {
389
404
  };
390
405
  return Object.fromEntries(Object.entries(summary).filter(([, value]) => value !== undefined));
391
406
  };
407
+ const acceptResult = (result, progressStart) => {
408
+ registerCollectedSecrets(result);
409
+ const summary = buildResultSummary(result, progressStart);
410
+ lastResult = { ...summary };
411
+ delete lastResult.oneTimeCredential;
412
+ publishPayload(summary, 'result');
413
+ closeSubscribers();
414
+ if (summary.status === 'complete') {
415
+ completed = true;
416
+ tokenValid = false;
417
+ finishCompletion({ status: 'success', result });
418
+ setTimeout(() => void shutdown?.('success'), 10);
419
+ }
420
+ else
421
+ attentionResult = result;
422
+ return summary;
423
+ };
392
424
  app.setExpectedPort = (port) => {
393
425
  expectedPort = port;
394
426
  };
@@ -397,6 +429,7 @@ export function createSetupApp(deps) {
397
429
  };
398
430
  app.isInFlight = () => inFlight;
399
431
  app.close = (reason = 'closed') => {
432
+ operationController?.abort();
400
433
  tokenValid = false;
401
434
  clearIdle();
402
435
  closeSubscribers();
@@ -464,6 +497,89 @@ export function createSetupApp(deps) {
464
497
  Connection: 'keep-alive',
465
498
  });
466
499
  });
500
+ app.get('/api/status', (c) => {
501
+ if (!authenticated(c.req.raw.headers))
502
+ return c.json({ error: 'Forbidden.' }, 403);
503
+ return c.json({ inFlight, result: lastResult });
504
+ });
505
+ app.post('/api/cancel', (c) => {
506
+ if (!authenticated(c.req.raw.headers))
507
+ return c.json({ error: 'Forbidden.' }, 403);
508
+ operationController?.abort();
509
+ return c.json({ status: 'canceled' });
510
+ });
511
+ app.post('/api/close', (c) => {
512
+ if (!authenticated(c.req.raw.headers))
513
+ return c.json({ error: 'Forbidden.' }, 403);
514
+ app.close();
515
+ setTimeout(() => void shutdown?.('closed'), 10);
516
+ return c.json({ status: 'closed' });
517
+ });
518
+ app.post('/api/auth', async (c) => {
519
+ if (!authenticated(c.req.raw.headers))
520
+ return c.json({ error: 'Forbidden.' }, 403);
521
+ if (inFlight)
522
+ return c.json({ error: 'Setup is already running.' }, 409);
523
+ if (!attentionResult || !deps.resumeAuthentication)
524
+ return c.json({ error: 'No authentication recovery is available.' }, 409);
525
+ inFlight = true;
526
+ clearIdle();
527
+ try {
528
+ const raw = await c.req.text();
529
+ if (Buffer.byteLength(raw, 'utf8') > BODY_LIMIT)
530
+ return c.json({ error: 'Request is too large.' }, 413);
531
+ let body;
532
+ try {
533
+ body = JSON.parse(raw);
534
+ }
535
+ catch {
536
+ return c.json({ error: 'Malformed request.' }, 400);
537
+ }
538
+ if (!isRecord(body) || Object.keys(body).some(key => !['username', 'password', 'newPassword'].includes(key)) || typeof body.username !== 'string' || !body.username.trim() || typeof body.password !== 'string' || !body.password || (body.newPassword !== undefined && typeof body.newPassword !== 'string'))
539
+ return c.json({ error: 'Enter the current administrator username and password.' }, 400);
540
+ registerCollectedSecrets(body);
541
+ operationController = new AbortController();
542
+ const result = await deps.resumeAuthentication({ username: body.username.trim(), password: body.password, ...(body.newPassword ? { newPassword: body.newPassword } : {}) }, operationController.signal);
543
+ return c.json({ ok: true, result: acceptResult(result, progress.length) });
544
+ }
545
+ catch (error) {
546
+ if (operationController?.signal.aborted)
547
+ return c.json({ status: 'canceled', error: 'Sign-in canceled. Existing credentials were preserved; retry when ready.' }, 409);
548
+ return c.json({ error: safe(error instanceof Error ? error.message : 'Authentication failed. Retry using the current password.') }, 400);
549
+ }
550
+ finally {
551
+ inFlight = false;
552
+ operationController = undefined;
553
+ armIdle();
554
+ }
555
+ });
556
+ app.post('/api/start', async (c) => {
557
+ if (!authenticated(c.req.raw.headers))
558
+ return c.json({ error: 'Forbidden.' }, 403);
559
+ if (inFlight)
560
+ return c.json({ error: 'Setup is already running.' }, 409);
561
+ if (!deps.currentState?.() || !deps.startRuntime)
562
+ return c.json({ error: 'No existing runtime can be started.' }, 409);
563
+ inFlight = true;
564
+ clearIdle();
565
+ operationController = new AbortController();
566
+ const progressStart = progress.length;
567
+ try {
568
+ const result = await deps.startRuntime(line => publish(line), operationController.signal);
569
+ return c.json({ ok: true, result: acceptResult(result, progressStart) });
570
+ }
571
+ catch (error) {
572
+ const canceled = operationController.signal.aborted;
573
+ publish(canceled ? 'Runtime start canceled.' : error instanceof Error ? error.message : 'Runtime start failed.', canceled ? 'canceled' : 'error');
574
+ closeSubscribers();
575
+ return c.json({ status: canceled ? 'canceled' : 'failed', error: canceled ? 'Runtime start canceled.' : 'Runtime start failed. Inspect runtime doctor and retry.' }, 409);
576
+ }
577
+ finally {
578
+ inFlight = false;
579
+ operationController = undefined;
580
+ armIdle();
581
+ }
582
+ });
467
583
  app.post('/api/cloud-ai/activate', async (c) => {
468
584
  if (!authenticated(c.req.raw.headers))
469
585
  return c.json({ ok: false, message: safe('Forbidden.') }, 403);
@@ -540,10 +656,11 @@ export function createSetupApp(deps) {
540
656
  }
541
657
  let selection;
542
658
  try {
543
- const providerFields = parseProviderFields(provider, body.providerFields ?? {}, deps.formSchema);
659
+ const providerFields = parseProviderFields(provider, withProviderDefaults(provider, body.providerFields, deps.planDefaults ?? {}, deps.providerDefaults), deps.formSchema);
544
660
  // This is the same conversion used by /api/setup, so its shared endpoint
545
661
  // validators run before the injected probe can make any outbound call.
546
662
  const input = setupPlanToFrontDoorInput({
663
+ edition: 'portable',
547
664
  provider,
548
665
  providerFields,
549
666
  imageMode: 'pull',
@@ -699,9 +816,10 @@ export function createSetupApp(deps) {
699
816
  required: requiredForProbe.has(field.key),
700
817
  })),
701
818
  };
702
- providerFields = parseProviderFields(provider, body.providerFields ?? {}, probeSchema);
819
+ providerFields = parseProviderFields(provider, withProviderDefaults(provider, body.providerFields, deps.planDefaults ?? {}, deps.providerDefaults), probeSchema);
703
820
  // Reuse the exact setup conversion so shared endpoint validators run before probeModel.
704
821
  setupPlanToFrontDoorInput({
822
+ edition: 'portable',
705
823
  provider,
706
824
  providerFields,
707
825
  imageMode: 'pull',
@@ -889,41 +1007,33 @@ export function createSetupApp(deps) {
889
1007
  registerCollectedSecrets(body);
890
1008
  let input;
891
1009
  try {
892
- input = parsePlan(body, deps.formSchema, deps.planDefaults ?? {});
1010
+ input = parsePlan(body, deps.formSchema, deps.planDefaults ?? {}, deps.providerDefaults);
893
1011
  }
894
1012
  catch (error) {
895
1013
  const message = safe(error instanceof Error ? error.message : 'Invalid setup request.');
896
1014
  return c.json({ error: message }, 400);
897
1015
  }
898
1016
  const currentState = deps.currentState?.();
1017
+ if (attentionResult && !currentState)
1018
+ return c.json({ error: 'Finish authentication or close this session before starting another installation.' }, 409);
899
1019
  if (currentState && isRecord(body) && body.reconfigure !== true) {
900
- const result = { existing: true, state: currentState };
901
- const summary = buildResultSummary(result, progress.length);
902
- publishPayload(summary, 'result');
903
- completed = true;
904
- tokenValid = false;
905
- closeSubscribers();
906
- finishCompletion({ status: 'success', result });
907
- setTimeout(() => void shutdown?.('success'), 10);
1020
+ const result = await deps.inspectRuntime?.() ?? { existing: true, state: currentState, status: 'attention-required', runtimeHealth: 'unknown', nextAction: 'Runtime health and CLI authentication have not been verified.' };
1021
+ const summary = acceptResult(result, progress.length);
908
1022
  return c.json({ ok: true, existing: true, result: summary });
909
1023
  }
910
1024
  try {
911
1025
  const progressStart = progress.length;
912
- const result = await deps.runSetup(input, (line) => publish(line));
913
- const summary = buildResultSummary(result, progressStart);
914
- // The browser receives the final structured frame while the token and
915
- // subscribers are still valid; invalidation happens immediately after.
916
- publishPayload(summary, 'result');
917
- completed = true;
918
- tokenValid = false;
919
- closeSubscribers();
920
- // In-process consumers (up.ts) need the full result — `state` included;
921
- // only the wire/browser frames carry the redacted summary.
922
- finishCompletion({ status: 'success', result });
923
- setTimeout(() => void shutdown?.('success'), 10);
1026
+ operationController = new AbortController();
1027
+ const result = await deps.runSetup(input, (line) => publish(line), operationController.signal);
1028
+ const summary = acceptResult(result, progressStart);
924
1029
  return c.json({ ok: true, result: summary });
925
1030
  }
926
1031
  catch (error) {
1032
+ if (operationController?.signal.aborted) {
1033
+ publish('Setup canceled. Existing data and credentials were preserved.', 'canceled');
1034
+ closeSubscribers();
1035
+ return c.json({ status: 'canceled', error: 'Setup canceled. You can retry when ready.' }, 409);
1036
+ }
927
1037
  publish(error instanceof Error ? error.message : 'Setup failed.', 'error');
928
1038
  closeSubscribers();
929
1039
  return c.json({ error: 'Setup failed. Correct the configuration and retry.' }, 500);
@@ -931,6 +1041,7 @@ export function createSetupApp(deps) {
931
1041
  }
932
1042
  finally {
933
1043
  inFlight = false;
1044
+ operationController = undefined;
934
1045
  armIdle();
935
1046
  }
936
1047
  });
@@ -1 +1 @@
1
- {"version":3,"file":"setup-server.js","sourceRoot":"","sources":["../../src/lib/setup-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-server.js","sourceRoot":"","sources":["../../src/lib/setup-server.ts"],"names":[],"mappings":"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"}
package/dist/lib/ui.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- export declare function banner(version?: string): string;
1
+ import { type CliBrand } from './brand.js';
2
+ export declare function productName(brand?: CliBrand): string;
3
+ export declare function banner(version?: string, brand?: CliBrand): string;
2
4
  export interface Identity {
3
5
  profile: string;
4
6
  backend: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/lib/ui.ts"],"names":[],"mappings":"AAgBA,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,8EAA8E;AAC9E,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,wBAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAwB7E;AAED,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,KAAG,MAAsB,CAAC;AACvD,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,KAAG,MAAoC,CAAC;AACzE,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,KAAG,MAA6C,CAAC;AAChF,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,KAAG,MAAmD,CAAC;AACrF,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,KAAG,MAAmC,CAAC;AAIrE;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAmBnF"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/lib/ui.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiC,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAyB1E,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CASpD;AAED,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAcjE;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,8EAA8E;AAC9E,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,wBAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CA2B7E;AAED,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,KAAG,MAAsB,CAAC;AACvD,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,KAAG,MAAoC,CAAC;AACzE,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,KAAG,MAA6C,CAAC;AAChF,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,KAAG,MAAmD,CAAC;AACrF,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,KAAG,MAAmC,CAAC;AAIrE;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAmBnF"}
package/dist/lib/ui.js CHANGED
@@ -4,7 +4,8 @@
4
4
  * unit-tested; the menu IO shell composes these.
5
5
  */
6
6
  import chalk from 'chalk';
7
- const BANNER_LINES = [
7
+ import { brandProfile, resolveCliBrand } from './brand.js';
8
+ const KNOWZ_BANNER_LINES = [
8
9
  '██╗ ██╗███╗ ██╗ ██████╗ ██╗ ██╗███████╗',
9
10
  '██║ ██╔╝████╗ ██║██╔═══██╗██║ ██║╚══███╔╝',
10
11
  '█████╔╝ ██╔██╗ ██║██║ ██║██║ █╗ ██║ ███╔╝ ',
@@ -12,10 +13,39 @@ const BANNER_LINES = [
12
13
  '██║ ██╗██║ ╚████║╚██████╔╝╚███╔███╔╝███████╗',
13
14
  '╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝',
14
15
  ];
15
- export function banner(version) {
16
- const art = BANNER_LINES.map((l) => chalk.cyan(l)).join('\n');
17
- const tag = chalk.dim(` Personal Knowledge Management${version ? ` · v${version}` : ''}`);
18
- return `\n${art}\n${tag}\n`;
16
+ const HF_BANNER_LINES = [
17
+ '██╗ ██╗███████╗',
18
+ '██║ ██║██╔════╝',
19
+ '███████║█████╗ ',
20
+ '██╔══██║██╔══╝ ',
21
+ '██║ ██║██║ ',
22
+ '╚═╝ ╚═╝╚═╝ ',
23
+ ];
24
+ function paint(line, brand) {
25
+ const profile = brandProfile(brand);
26
+ return profile.accentHex ? chalk.hex(profile.accentHex)(line) : chalk.cyan(line);
27
+ }
28
+ export function productName(brand) {
29
+ return brandProfile(brand ??
30
+ resolveCliBrand({
31
+ argv: process.argv.slice(2),
32
+ env: process.env,
33
+ invokedName: process.argv[1],
34
+ })).productName;
35
+ }
36
+ export function banner(version, brand) {
37
+ const resolved = brand ??
38
+ resolveCliBrand({
39
+ argv: process.argv.slice(2),
40
+ env: process.env,
41
+ invokedName: process.argv[1],
42
+ });
43
+ const profile = brandProfile(resolved);
44
+ const lines = resolved === 'hereforever' ? HF_BANNER_LINES : KNOWZ_BANNER_LINES;
45
+ const art = lines.map((l) => paint(l, resolved)).join('\n');
46
+ const wordmark = resolved === 'hereforever' ? `\n${paint('Here Forever', resolved)}` : '';
47
+ const tag = chalk.dim(` ${profile.tagline}${version ? ` · v${version}` : ''}`);
48
+ return `\n${art}${wordmark}\n${tag}\n`;
19
49
  }
20
50
  /** The `▸ cloud · Workspace` status header (optionally with a breadcrumb). */
21
51
  export function header(id, breadcrumb) {
@@ -34,8 +64,10 @@ export function rule(title) {
34
64
  }
35
65
  /** Best-effort one-line stats summary for the main screen. */
36
66
  export function statusLine(stats) {
37
- if (!stats)
38
- return chalk.dim(' (not connected — choose “Sign in to Knowz” above)');
67
+ if (!stats) {
68
+ const name = brandProfile().productName;
69
+ return chalk.dim(` (not connected — choose “Sign in to ${name}” above)`);
70
+ }
39
71
  const num = (re) => {
40
72
  for (const [k, v] of Object.entries(stats)) {
41
73
  if (typeof v === 'number' && re.test(k))
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/lib/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/lib/ui.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ import { type FrontDoorLoginMode } from './platform-frontdoor.js';
6
6
  * workspace lean-LOC cap; behavior is unchanged.
7
7
  */
8
8
  export interface UpRunResult {
9
+ status?: 'complete' | 'attention-required';
10
+ code?: 'SETUP_ACTION_REQUIRED';
11
+ nextAction?: string;
9
12
  name: string;
10
13
  version: string;
11
14
  provider: PlatformProviderPreset;
@@ -1 +1 @@
1
- {"version":3,"file":"up-result.d.ts","sourceRoot":"","sources":["../../src/lib/up-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAiC,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEjG;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;IAC1C,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAMV;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EACjH,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAMrF"}
1
+ {"version":3,"file":"up-result.d.ts","sourceRoot":"","sources":["../../src/lib/up-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAiC,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEjG;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,UAAU,GAAG,oBAAoB,CAAC;IAC3C,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;IAC1C,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAMV;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EACjH,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAMrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"up-result.js","sourceRoot":"","sources":["../../src/lib/up-result.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAA2B,MAAM,yBAAyB,CAAC;AAmBjG;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAKxC;IACC,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,KAAK,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAiH,EACjH,GAAiD;IAEjD,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAClG,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"up-result.js","sourceRoot":"","sources":["../../src/lib/up-result.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAA2B,MAAM,yBAAyB,CAAC;AAsBjG;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAKxC;IACC,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,KAAK,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAiH,EACjH,GAAiD;IAEjD,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAClG,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D,CAAC;AACJ,CAAC"}