@knowzai/cli 0.3.0 → 0.5.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.
- package/README.md +68 -0
- package/assets/portable/releases.json +42 -0
- package/assets/selfhosted/.env.example +22 -1
- package/assets/selfhosted/docker-compose.mssql.yml +113 -0
- package/assets/selfhosted/docker-compose.yml +29 -15
- package/assets/selfhosted/lmstudio-azure-bridge.mjs +73 -0
- package/assets/selfhosted/releases.json +129 -6
- package/bin/run.js +2 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/base-command.d.ts +2 -0
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +11 -1
- package/dist/base-command.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +2 -0
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/backup.d.ts +1 -0
- package/dist/commands/backup.d.ts.map +1 -1
- package/dist/commands/backup.js +29 -10
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/chat.d.ts +2 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +10 -4
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/down.d.ts +14 -27
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +6 -31
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/knowledge/amend.d.ts +2 -2
- package/dist/commands/knowledge/amend.d.ts.map +1 -1
- package/dist/commands/knowledge/amend.js +5 -0
- package/dist/commands/knowledge/amend.js.map +1 -1
- package/dist/commands/login.d.ts +4 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +21 -2
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/menu.js +1 -1
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/platform/destroy.d.ts +15 -5
- package/dist/commands/platform/destroy.d.ts.map +1 -1
- package/dist/commands/platform/destroy.js +6 -33
- package/dist/commands/platform/destroy.js.map +1 -1
- package/dist/commands/platform/doctor.d.ts +18 -3
- package/dist/commands/platform/doctor.d.ts.map +1 -1
- package/dist/commands/platform/doctor.js +4 -10
- package/dist/commands/platform/doctor.js.map +1 -1
- package/dist/commands/platform/down.d.ts +15 -15
- package/dist/commands/platform/down.d.ts.map +1 -1
- package/dist/commands/platform/down.js +4 -8
- package/dist/commands/platform/down.js.map +1 -1
- package/dist/commands/platform/logs.d.ts +15 -14
- package/dist/commands/platform/logs.d.ts.map +1 -1
- package/dist/commands/platform/logs.js +5 -16
- package/dist/commands/platform/logs.js.map +1 -1
- package/dist/commands/platform/reset.d.ts +16 -13
- package/dist/commands/platform/reset.d.ts.map +1 -1
- package/dist/commands/platform/reset.js +7 -36
- package/dist/commands/platform/reset.js.map +1 -1
- package/dist/commands/platform/setup.d.ts +1 -0
- package/dist/commands/platform/setup.d.ts.map +1 -1
- package/dist/commands/platform/setup.js +1 -1
- package/dist/commands/platform/setup.js.map +1 -1
- package/dist/commands/platform/status.d.ts +14 -16
- package/dist/commands/platform/status.d.ts.map +1 -1
- package/dist/commands/platform/status.js +4 -29
- package/dist/commands/platform/status.js.map +1 -1
- package/dist/commands/restore.d.ts +10 -1
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +56 -13
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/runtime/destroy.d.ts +29 -0
- package/dist/commands/runtime/destroy.d.ts.map +1 -0
- package/dist/commands/runtime/destroy.js +13 -0
- package/dist/commands/runtime/destroy.js.map +1 -0
- package/dist/commands/runtime/doctor.d.ts +27 -0
- package/dist/commands/runtime/doctor.d.ts.map +1 -0
- package/dist/commands/runtime/doctor.js +11 -0
- package/dist/commands/runtime/doctor.js.map +1 -0
- package/dist/commands/runtime/logs.d.ts +28 -0
- package/dist/commands/runtime/logs.d.ts.map +1 -0
- package/dist/commands/runtime/logs.js +12 -0
- package/dist/commands/runtime/logs.js.map +1 -0
- package/dist/commands/runtime/status.d.ts +27 -0
- package/dist/commands/runtime/status.d.ts.map +1 -0
- package/dist/commands/runtime/status.js +11 -0
- package/dist/commands/runtime/status.js.map +1 -0
- package/dist/commands/runtime/upgrade.d.ts +28 -0
- package/dist/commands/runtime/upgrade.d.ts.map +1 -0
- package/dist/commands/runtime/upgrade.js +12 -0
- package/dist/commands/runtime/upgrade.js.map +1 -0
- package/dist/commands/setup.d.ts +1 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +1 -1
- package/dist/commands/transfer.js +1 -1
- package/dist/commands/transfer.js.map +1 -1
- package/dist/commands/up.d.ts +3 -11
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +48 -36
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/whoami.js +1 -1
- package/dist/commands/whoami.js.map +1 -1
- package/dist/hooks/init/launch-menu.d.ts.map +1 -1
- package/dist/hooks/init/launch-menu.js +2 -0
- package/dist/hooks/init/launch-menu.js.map +1 -1
- package/dist/lib/anonymous-registry.d.ts +3 -0
- package/dist/lib/anonymous-registry.d.ts.map +1 -0
- package/dist/lib/anonymous-registry.js +25 -0
- package/dist/lib/anonymous-registry.js.map +1 -0
- package/dist/lib/async-process.d.ts +15 -0
- package/dist/lib/async-process.d.ts.map +1 -0
- package/dist/lib/async-process.js +145 -0
- package/dist/lib/async-process.js.map +1 -0
- package/dist/lib/backup-process.d.ts +4 -0
- package/dist/lib/backup-process.d.ts.map +1 -0
- package/dist/lib/backup-process.js +20 -0
- package/dist/lib/backup-process.js.map +1 -0
- package/dist/lib/brand.d.ts +25 -0
- package/dist/lib/brand.d.ts.map +1 -0
- package/dist/lib/brand.js +105 -0
- package/dist/lib/brand.js.map +1 -0
- package/dist/lib/chat.d.ts +1 -0
- package/dist/lib/chat.d.ts.map +1 -1
- package/dist/lib/chat.js +12 -3
- package/dist/lib/chat.js.map +1 -1
- package/dist/lib/compose-status.d.ts +14 -0
- package/dist/lib/compose-status.d.ts.map +1 -0
- package/dist/lib/compose-status.js +31 -0
- package/dist/lib/compose-status.js.map +1 -0
- package/dist/lib/container-engine.js +2 -2
- package/dist/lib/container-engine.js.map +1 -1
- package/dist/lib/local-engine-context.d.ts +16 -0
- package/dist/lib/local-engine-context.d.ts.map +1 -0
- package/dist/lib/local-engine-context.js +123 -0
- package/dist/lib/local-engine-context.js.map +1 -0
- package/dist/lib/login-guided.d.ts.map +1 -1
- package/dist/lib/login-guided.js +2 -1
- package/dist/lib/login-guided.js.map +1 -1
- package/dist/lib/login.d.ts +3 -0
- package/dist/lib/login.d.ts.map +1 -1
- package/dist/lib/login.js +25 -5
- package/dist/lib/login.js.map +1 -1
- package/dist/lib/oci-registry-probe.d.ts +43 -0
- package/dist/lib/oci-registry-probe.d.ts.map +1 -0
- package/dist/lib/oci-registry-probe.js +110 -0
- package/dist/lib/oci-registry-probe.js.map +1 -0
- package/dist/lib/peer-command.d.ts.map +1 -1
- package/dist/lib/peer-command.js +3 -1
- package/dist/lib/peer-command.js.map +1 -1
- package/dist/lib/platform-acquisition.d.ts +27 -0
- package/dist/lib/platform-acquisition.d.ts.map +1 -0
- package/dist/lib/platform-acquisition.js +21 -0
- package/dist/lib/platform-acquisition.js.map +1 -0
- package/dist/lib/platform-backup.d.ts +1 -0
- package/dist/lib/platform-backup.d.ts.map +1 -1
- package/dist/lib/platform-backup.js +375 -157
- package/dist/lib/platform-backup.js.map +1 -1
- package/dist/lib/platform-command-shared.d.ts +2 -0
- package/dist/lib/platform-command-shared.d.ts.map +1 -1
- package/dist/lib/platform-command-shared.js +13 -5
- package/dist/lib/platform-command-shared.js.map +1 -1
- package/dist/lib/platform-edition.d.ts +3 -6
- package/dist/lib/platform-edition.d.ts.map +1 -1
- package/dist/lib/platform-edition.js +9 -17
- package/dist/lib/platform-edition.js.map +1 -1
- package/dist/lib/platform-frontdoor-runtime.d.ts.map +1 -1
- package/dist/lib/platform-frontdoor-runtime.js +44 -19
- package/dist/lib/platform-frontdoor-runtime.js.map +1 -1
- package/dist/lib/platform-frontdoor.d.ts +32 -5
- package/dist/lib/platform-frontdoor.d.ts.map +1 -1
- package/dist/lib/platform-frontdoor.js +251 -171
- package/dist/lib/platform-frontdoor.js.map +1 -1
- package/dist/lib/platform-image-admission.d.ts +16 -0
- package/dist/lib/platform-image-admission.d.ts.map +1 -0
- package/dist/lib/platform-image-admission.js +73 -0
- package/dist/lib/platform-image-admission.js.map +1 -0
- package/dist/lib/platform-image-source.d.ts.map +1 -1
- package/dist/lib/platform-image-source.js +2 -0
- package/dist/lib/platform-image-source.js.map +1 -1
- package/dist/lib/platform-lifecycle.d.ts +4 -0
- package/dist/lib/platform-lifecycle.d.ts.map +1 -1
- package/dist/lib/platform-lifecycle.js +42 -8
- package/dist/lib/platform-lifecycle.js.map +1 -1
- package/dist/lib/platform-onboarding.d.ts +10 -0
- package/dist/lib/platform-onboarding.d.ts.map +1 -1
- package/dist/lib/platform-onboarding.js +21 -0
- package/dist/lib/platform-onboarding.js.map +1 -1
- package/dist/lib/platform-preflight.d.ts +6 -3
- package/dist/lib/platform-preflight.d.ts.map +1 -1
- package/dist/lib/platform-preflight.js +52 -19
- package/dist/lib/platform-preflight.js.map +1 -1
- package/dist/lib/platform-release-manifest.d.ts +6 -1
- package/dist/lib/platform-release-manifest.d.ts.map +1 -1
- package/dist/lib/platform-release-manifest.js +10 -0
- package/dist/lib/platform-release-manifest.js.map +1 -1
- package/dist/lib/platform-runtime.d.ts +5 -2
- package/dist/lib/platform-runtime.d.ts.map +1 -1
- package/dist/lib/platform-runtime.js +7 -40
- package/dist/lib/platform-runtime.js.map +1 -1
- package/dist/lib/portable-release-digests.d.ts +5 -0
- package/dist/lib/portable-release-digests.d.ts.map +1 -0
- package/dist/lib/portable-release-digests.js +53 -0
- package/dist/lib/portable-release-digests.js.map +1 -0
- package/dist/lib/release-pin-matrix.d.ts +29 -0
- package/dist/lib/release-pin-matrix.d.ts.map +1 -0
- package/dist/lib/release-pin-matrix.js +67 -0
- package/dist/lib/release-pin-matrix.js.map +1 -0
- package/dist/lib/runtime-backup-archive.d.ts +20 -0
- package/dist/lib/runtime-backup-archive.d.ts.map +1 -0
- package/dist/lib/runtime-backup-archive.js +269 -0
- package/dist/lib/runtime-backup-archive.js.map +1 -0
- package/dist/lib/runtime-command.d.ts +37 -0
- package/dist/lib/runtime-command.d.ts.map +1 -0
- package/dist/lib/runtime-command.js +50 -0
- package/dist/lib/runtime-command.js.map +1 -0
- package/dist/lib/runtime-discovery.d.ts +18 -0
- package/dist/lib/runtime-discovery.d.ts.map +1 -0
- package/dist/lib/runtime-discovery.js +56 -0
- package/dist/lib/runtime-discovery.js.map +1 -0
- package/dist/lib/runtime-lock.d.ts +3 -0
- package/dist/lib/runtime-lock.d.ts.map +1 -0
- package/dist/lib/runtime-lock.js +50 -0
- package/dist/lib/runtime-lock.js.map +1 -0
- package/dist/lib/runtime-operations.d.ts +98 -0
- package/dist/lib/runtime-operations.d.ts.map +1 -0
- package/dist/lib/runtime-operations.js +182 -0
- package/dist/lib/runtime-operations.js.map +1 -0
- package/dist/lib/runtime-provider.d.ts +17 -0
- package/dist/lib/runtime-provider.d.ts.map +1 -0
- package/dist/lib/runtime-provider.js +52 -0
- package/dist/lib/runtime-provider.js.map +1 -0
- package/dist/lib/runtime-status.d.ts +24 -0
- package/dist/lib/runtime-status.d.ts.map +1 -0
- package/dist/lib/runtime-status.js +128 -0
- package/dist/lib/runtime-status.js.map +1 -0
- package/dist/lib/selfhosted-backup.d.ts +37 -0
- package/dist/lib/selfhosted-backup.d.ts.map +1 -0
- package/dist/lib/selfhosted-backup.js +446 -0
- package/dist/lib/selfhosted-backup.js.map +1 -0
- package/dist/lib/selfhosted-keyring.d.ts +19 -0
- package/dist/lib/selfhosted-keyring.d.ts.map +1 -0
- package/dist/lib/selfhosted-keyring.js +193 -0
- package/dist/lib/selfhosted-keyring.js.map +1 -0
- package/dist/lib/selfhosted-lifecycle.d.ts +66 -10
- package/dist/lib/selfhosted-lifecycle.d.ts.map +1 -1
- package/dist/lib/selfhosted-lifecycle.js +344 -39
- package/dist/lib/selfhosted-lifecycle.js.map +1 -1
- package/dist/lib/selfhosted-login.d.ts +34 -0
- package/dist/lib/selfhosted-login.d.ts.map +1 -0
- package/dist/lib/selfhosted-login.js +116 -0
- package/dist/lib/selfhosted-login.js.map +1 -0
- package/dist/lib/selfhosted-readiness.d.ts +3 -0
- package/dist/lib/selfhosted-readiness.d.ts.map +1 -0
- package/dist/lib/selfhosted-readiness.js +24 -0
- package/dist/lib/selfhosted-readiness.js.map +1 -0
- package/dist/lib/setup-capabilities.d.ts +15 -0
- package/dist/lib/setup-capabilities.d.ts.map +1 -0
- package/dist/lib/setup-capabilities.js +21 -0
- package/dist/lib/setup-capabilities.js.map +1 -0
- package/dist/lib/setup-console.d.ts +11 -0
- package/dist/lib/setup-console.d.ts.map +1 -1
- package/dist/lib/setup-console.js +136 -74
- package/dist/lib/setup-console.js.map +1 -1
- package/dist/lib/setup-page.d.ts +12 -0
- package/dist/lib/setup-page.d.ts.map +1 -1
- package/dist/lib/setup-page.js +56 -27
- package/dist/lib/setup-page.js.map +1 -1
- package/dist/lib/setup-plan.d.ts +1 -0
- package/dist/lib/setup-plan.d.ts.map +1 -1
- package/dist/lib/setup-plan.js +5 -1
- package/dist/lib/setup-plan.js.map +1 -1
- package/dist/lib/setup-server.d.ts +11 -2
- package/dist/lib/setup-server.d.ts.map +1 -1
- package/dist/lib/setup-server.js +150 -26
- package/dist/lib/setup-server.js.map +1 -1
- package/dist/lib/ui.d.ts +3 -1
- package/dist/lib/ui.d.ts.map +1 -1
- package/dist/lib/ui.js +39 -7
- package/dist/lib/ui.js.map +1 -1
- package/dist/lib/up-result.d.ts +3 -0
- package/dist/lib/up-result.d.ts.map +1 -1
- package/dist/lib/up-result.js.map +1 -1
- package/dist/menu/run.js +1 -1
- package/dist/menu/run.js.map +1 -1
- package/dist/menu/should-launch.d.ts +0 -14
- package/dist/menu/should-launch.d.ts.map +1 -1
- package/dist/menu/should-launch.js +5 -1
- package/dist/menu/should-launch.js.map +1 -1
- package/oclif.manifest.json +5052 -2825
- package/package.json +12 -9
package/dist/lib/setup-page.js
CHANGED
|
@@ -4,6 +4,13 @@ import { VERTEX_CHAT_DEFAULT, VERTEX_EMBEDDING_DEFAULT, QWEN3_EMBEDDING_DEFAULT,
|
|
|
4
4
|
import { OLLAMA_LOOPBACK_ENDPOINT } from './platform-provider-prompt.js';
|
|
5
5
|
import { PROVIDER_ALIAS_OPTIONS, PROVIDER_PRESETS } from './provider-presets.js';
|
|
6
6
|
import { AGE_ELIGIBILITY_TEXT } from './login.js';
|
|
7
|
+
/** Move each asynchronous outcome into the viewport and the keyboard reading order. */
|
|
8
|
+
export function focusSetupPanel(panel) {
|
|
9
|
+
panel.hidden = false;
|
|
10
|
+
panel.tabIndex = -1;
|
|
11
|
+
panel.scrollIntoView({ block: 'start', behavior: 'auto' });
|
|
12
|
+
panel.focus({ preventScroll: true });
|
|
13
|
+
}
|
|
7
14
|
export function escapeHtml(value) {
|
|
8
15
|
return value
|
|
9
16
|
.replaceAll('&', '&')
|
|
@@ -100,7 +107,7 @@ export function renderPage(model) {
|
|
|
100
107
|
: '';
|
|
101
108
|
control = `<input ${inputAttributes}>${datalist}`;
|
|
102
109
|
}
|
|
103
|
-
const secretAlreadySet = Boolean(field.secret &&
|
|
110
|
+
const secretAlreadySet = Boolean(field.secret && field.configured);
|
|
104
111
|
const secretPosture = secretAlreadySet
|
|
105
112
|
? '<small>Currently set — hidden. Replace by entering a new value.</small>'
|
|
106
113
|
: '';
|
|
@@ -135,7 +142,7 @@ export function renderPage(model) {
|
|
|
135
142
|
const licenseCopy = license.linked
|
|
136
143
|
? `Linked to ${escapeHtml(license.account ?? 'your Knowz account')} — ${escapeHtml(license.displayPlan ?? 'linked plan')}`
|
|
137
144
|
: 'Not linked — run <code>knowz activate</code>';
|
|
138
|
-
const licenseRow = `<aside id="license-status" class="banner banner-info"><div><strong>License</strong><span>${licenseCopy}</span>${license.linked && upgradeUrl ? `<a class="button" href="${escapeHtml(upgradeUrl)}" target="_blank" rel="noreferrer">Upgrade</a>` : ''}</div></aside>`;
|
|
145
|
+
const licenseRow = `<aside id="license-status" data-portable-only${defaults.edition !== 'portable' ? ' hidden' : ''} class="banner banner-info"><div><strong>License</strong><span>${licenseCopy}</span>${license.linked && upgradeUrl ? `<a class="button" href="${escapeHtml(upgradeUrl)}" target="_blank" rel="noreferrer">Upgrade</a>` : ''}</div></aside>`;
|
|
139
146
|
const defaultName = escapeHtml(defaults.name ?? 'knowz');
|
|
140
147
|
const defaultApiPort = escapeHtml(String(defaults.ports?.api ?? 5000));
|
|
141
148
|
const defaultWebPort = escapeHtml(String(defaults.ports?.web ?? 3000));
|
|
@@ -161,6 +168,8 @@ export function renderPage(model) {
|
|
|
161
168
|
const selfhostedDefault = defaultEdition === 'selfhosted';
|
|
162
169
|
const ghcrHiddenByDefault = preloadedLocked || selfhostedDefault;
|
|
163
170
|
const defaultVersion = escapeHtml(defaults.version ?? (defaultEdition === 'selfhosted' ? STABLE_SELFHOSTED_RELEASE : DEFAULT_PORTABLE_VERSION));
|
|
171
|
+
const selfhostedReleaseLiteral = JSON.stringify(STABLE_SELFHOSTED_RELEASE);
|
|
172
|
+
const portableReleaseLiteral = JSON.stringify(DEFAULT_PORTABLE_VERSION);
|
|
164
173
|
const filesystemSelected = defaults.storage === 'filesystem';
|
|
165
174
|
const defaultProvider = defaults.provider && Object.prototype.hasOwnProperty.call(schema, defaults.provider)
|
|
166
175
|
? defaults.provider
|
|
@@ -403,6 +412,7 @@ input[name$="Port"],input[name="version"],input[name$=".endpoint"],input[name$="
|
|
|
403
412
|
|
|
404
413
|
/* ── Progress + result ────────────────────────────────────────────────────────────────────── */
|
|
405
414
|
.progress-card h2,.result-card h2{margin:0}
|
|
415
|
+
.progress-card,.result-card,#run-error{scroll-margin-top:80px}
|
|
406
416
|
.steps{list-style:none;margin:20px 0;padding:0;display:grid;gap:11px}
|
|
407
417
|
.step{display:grid;grid-template-columns:24px 1fr;gap:11px;align-items:center;color:var(--muted);font-size:14px}
|
|
408
418
|
.step-mark{width:22px;height:22px;display:grid;place-items:center;border:1.5px solid var(--edge-strong);border-radius:var(--radius-pill);font:11px var(--mono);font-weight:800}
|
|
@@ -441,6 +451,7 @@ input[name$="Port"],input[name="version"],input[name$=".endpoint"],input[name$="
|
|
|
441
451
|
.header-inner{padding:9px 0}
|
|
442
452
|
}
|
|
443
453
|
@media(max-width:520px){
|
|
454
|
+
.progress-card,.result-card,#run-error{scroll-margin-top:116px}
|
|
444
455
|
.shell,.header-inner{width:min(100% - 22px,780px)}
|
|
445
456
|
.shell{padding-top:20px}
|
|
446
457
|
.card{padding:18px}
|
|
@@ -463,7 +474,7 @@ input[name$="Port"],input[name="version"],input[name$=".endpoint"],input[name$="
|
|
|
463
474
|
<div class="wordmark" aria-label="knowz setup"><span class="script">knowz</span> <span>setup</span></div></div>
|
|
464
475
|
<div class="header-actions"><span class="trust">local · private · 127.0.0.1</span><button id="theme-toggle" class="icon-button" type="button" aria-label="Toggle color theme"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v2m0 14v2M3 12h2m14 0h2M5.6 5.6 7 7m10 10 1.4 1.4M18.4 5.6 17 7M7 17l-1.4 1.4"/><circle cx="12" cy="12" r="4"/></svg></button></div>
|
|
465
476
|
</div></header>
|
|
466
|
-
<main class="shell"><section class="hero"><p class="eyebrow-inline" id="edition-eyebrow">${selfhostedDefault ? 'Self-hosted edition' : 'Portable edition'}</p><h1>Set up your private Knowz, <em>locally.</em></h1></section>
|
|
477
|
+
<main class="shell"><button id="close-setup" type="button" class="button button-quiet">Close setup</button><section class="hero"><p class="eyebrow-inline" id="edition-eyebrow">${selfhostedDefault ? 'Self-hosted edition' : 'Portable edition'}</p><h1>Set up your private Knowz, <em>locally.</em></h1></section>
|
|
467
478
|
<div class="statusbar">${existing}${licenseRow}</div>
|
|
468
479
|
<form id="setup-form" class="stack">
|
|
469
480
|
<details class="card preflight"${preflightOpen}><summary><span>Preflight checks</span><span class="preflight-state">${preflight.ok ? 'All checks passed' : 'Action needed'}</span></summary><ul class="checks">${checks}</ul></details>${engineGuide}
|
|
@@ -489,29 +500,31 @@ input[name$="Port"],input[name="version"],input[name$=".endpoint"],input[name$="
|
|
|
489
500
|
<div class="split ports"><div class="field"><label for="api-port">API port</label><input id="api-port" name="apiPort" type="number" value="${defaultApiPort}" required aria-required="true" autocomplete="off"></div><div class="field"><label for="web-port">Web port</label><input id="web-port" name="webPort" type="number" value="${defaultWebPort}" required aria-required="true" autocomplete="off"></div><div class="field"><label for="mcp-port">MCP port</label><input id="mcp-port" name="mcpPort" type="number" value="${defaultMcpPort}" required aria-required="true" autocomplete="off"></div><div id="public-site-port-field" class="field"${defaultPublicSiteEnabled ? '' : ' hidden'}><label for="public-site-port">Public site port</label><input id="public-site-port" name="publicSitePort" type="number" value="${defaultPublicSitePort}" autocomplete="off"></div></div>
|
|
490
501
|
<p id="url-preview" class="url-preview" aria-live="polite"></p>
|
|
491
502
|
<div class="test-row"><button id="test-ports" class="button" type="button"><svg class="button-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 7h14M5 12h14M5 17h14M8 4v16m8-16v16"/></svg>Test ports</button><span class="chip" data-port-result="api" data-test-state="idle" aria-live="polite"><svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="8"/></svg><span>API · not tested</span></span><span class="chip" data-port-result="web" data-test-state="idle" aria-live="polite"><svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="8"/></svg><span>Web · not tested</span></span><span class="chip" data-port-result="mcp" data-test-state="idle" aria-live="polite"><svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="8"/></svg><span>MCP · not tested</span></span></div>
|
|
492
|
-
<details class="raw-log"><summary>Advanced — public URLs</summary><div class="fields"><div class="field"><label for="public-api-url">Public API URL <span class="required">optional</span></label><input id="public-api-url" name="publicApiUrl" value="${defaultPublicApiUrl}" autocomplete="off" placeholder="HTTPS URL; blank uses localhost"></div><div class="field"><label for="public-web-url">Public web origin <span class="required">optional</span></label><input id="public-web-url" name="publicWebUrl" value="${defaultPublicWebUrl}" autocomplete="off" placeholder="HTTPS origin; blank uses localhost"></div><div class="field"><label for="public-mcp-url">Public MCP URL <span class="required">optional</span></label><input id="public-mcp-url" name="publicMcpUrl" value="${defaultPublicMcpUrl}" autocomplete="off" placeholder="HTTPS URL; blank uses localhost"></div></div></details>
|
|
503
|
+
<details class="raw-log" data-portable-only${selfhostedDefault ? ' hidden' : ''}><summary>Advanced — public URLs</summary><div class="fields"><div class="field"><label for="public-api-url">Public API URL <span class="required">optional</span></label><input id="public-api-url" name="publicApiUrl" value="${defaultPublicApiUrl}" autocomplete="off" placeholder="HTTPS URL; blank uses localhost"></div><div class="field"><label for="public-web-url">Public web origin <span class="required">optional</span></label><input id="public-web-url" name="publicWebUrl" value="${defaultPublicWebUrl}" autocomplete="off" placeholder="HTTPS origin; blank uses localhost"></div><div class="field"><label for="public-mcp-url">Public MCP URL <span class="required">optional</span></label><input id="public-mcp-url" name="publicMcpUrl" value="${defaultPublicMcpUrl}" autocomplete="off" placeholder="HTTPS URL; blank uses localhost"></div></div></details>
|
|
493
504
|
</section>
|
|
494
505
|
</div>
|
|
495
506
|
<div class="step-panel" data-step="3" hidden>
|
|
496
507
|
<section class="card"><div class="card-heading"><div><h2>First account</h2><p>The local owner identity created during first boot.</p></div></div>
|
|
497
|
-
<
|
|
498
|
-
<div class="
|
|
499
|
-
<
|
|
500
|
-
<
|
|
508
|
+
<aside class="banner banner-info"><div><strong>First local administrator</strong><span>Setup creates username <code>admin</code>. Choose a password here, or leave it blank and the generated password will be shown once after setup.</span></div></aside>
|
|
509
|
+
<div class="field" data-portable-only${selfhostedDefault ? ' hidden' : ''}><label for="org-name">Organization name <span class="required">optional</span></label><input id="org-name" name="orgName" value="${defaultOrgName}" maxlength="64" autocomplete="off"></div>
|
|
510
|
+
<div class="split" data-portable-only${selfhostedDefault ? ' hidden' : ''}><div class="field"><label for="account-name">Name</label><input id="account-name" name="accountName" value="${defaultAccountName}" autocomplete="off"></div><div class="field"><label for="account-email">Email</label><input id="account-email" name="accountEmail" type="email" value="${defaultAccountEmail}" autocomplete="off"></div></div>
|
|
511
|
+
<label class="provider-card" data-portable-only${selfhostedDefault ? ' hidden' : ''} for="age-attested"><input id="age-attested" name="ageAttested" type="checkbox"><strong>${AGE_ELIGIBILITY_TEXT}</strong></label>
|
|
512
|
+
<div class="field"><label for="superadmin-passphrase">Administrator password / SuperAdmin passphrase <span class="required">optional</span></label><input id="superadmin-passphrase" name="superAdminPassphrase" type="password" autocomplete="off" minlength="12" maxlength="128"><small>Self-hosted uses this as the <code>admin</code> login password. ${stateRecord ? 'Currently set — hidden. Replace it here, or ' : ''}leave blank to auto-generate. A newly generated password is stored only on this machine, shown once after setup, then must be changed at first login.</small></div>
|
|
501
513
|
</section>
|
|
502
514
|
</div>
|
|
503
515
|
<div class="step-panel" data-step="4" hidden>
|
|
504
516
|
<section class="card"><div class="card-heading"><div><h2>Image source & version</h2><p>Use a pinned release or build this checkout.</p></div></div>
|
|
505
|
-
<div class="field"><label for="edition">Edition</label><select id="edition" name="edition"><option value="selfhosted"${selfhostedDefault ? ' selected' : ''}>Self-hosted · public images</option><option value="portable"${selfhostedDefault ? '' : ' selected'}>Portable · paid platform images</option></select><small>Self-hosted is the default. Portable requires GHCR_PULL_TOKEN
|
|
506
|
-
<div class="split"><div class="field"><label for="image-mode">Image source</label><select id="image-mode" name="imageMode"><option value="pull"${imageModeDefault === 'pull' ? ' selected' : ''}${preloadedLocked ? ' disabled' : ''}>Pull release</option><option value="build"${imageModeDefault === 'build' ? ' selected' : ''}${preloadedLocked ? ' disabled' : ''}>Build checkout</option><option value="preloaded"${imageModeDefault === 'preloaded' ? ' selected' : ''}>Preloaded · images already in the local engine</option></select>${preloadedLocked ? '<small>Detected preloaded images — pull/build disabled; re-run without --preloaded to change.</small>' : ''}</div><div class="field"><label for="version">
|
|
517
|
+
<div class="field"><label for="edition">Edition</label><select id="edition" name="edition"><option value="selfhosted"${selfhostedDefault ? ' selected' : ''}>Self-hosted · public images</option><option value="portable"${selfhostedDefault ? '' : ' selected'}>Portable · paid platform images</option></select><small>Self-hosted is the default. Portable requires an entitled installation. GHCR_PULL_TOKEN authenticates registry pulls after the grant check; it does not replace a license.</small></div>
|
|
518
|
+
<div class="split"><div class="field"><label for="image-mode">Image source</label><select id="image-mode" name="imageMode"><option value="pull"${imageModeDefault === 'pull' ? ' selected' : ''}${preloadedLocked ? ' disabled' : ''}>Pull release</option><option value="build"${imageModeDefault === 'build' ? ' selected' : ''}${preloadedLocked ? ' disabled' : ''}>Build checkout</option><option value="preloaded"${imageModeDefault === 'preloaded' ? ' selected' : ''}>Preloaded · images already in the local engine</option></select>${preloadedLocked ? '<small>Detected preloaded images — pull/build disabled; re-run without --preloaded to change.</small>' : ''}</div><div class="field"><label for="version">Recommended release</label><input id="version" name="version" value="${defaultVersion}" required aria-required="true" autocomplete="off"><small>The published image set validated for this edition and CLI.</small><details><summary>Advanced custom version</summary><small>Edit the value above only when you have a specific published X.Y.Z release. Never use latest.</small></details></div></div>
|
|
507
519
|
<div class="field" id="storage-mode-field"${selfhostedDefault ? ' hidden' : ''}><label for="storage-mode">Object storage</label><select id="storage-mode" name="storage"><option value="minio"${filesystemSelected ? '' : ' selected'}>Bundled MinIO · S3-compatible</option><option value="filesystem"${filesystemSelected ? ' selected' : ''}>Filesystem · single shared volume</option></select></div>
|
|
508
520
|
<div class="field"><label for="project-name">Project name</label><input id="project-name" name="name" value="${defaultName}" required aria-required="true" autocomplete="off"></div>
|
|
509
521
|
<div class="field" id="ghcr-token-field"${ghcrHiddenByDefault ? ' hidden' : ''}><label for="ghcr-token">GHCR pull token <span class="required">optional</span></label><input id="ghcr-token" name="ghcrToken" type="password" autocomplete="off"${ghcrHiddenByDefault ? ' disabled' : ''}></div>
|
|
510
522
|
</section>
|
|
511
523
|
<section class="card"><div class="card-heading"><div><h2>Review & start</h2><p>Configuration stays on this machine and secret files are written mode 0600.</p></div></div>
|
|
512
|
-
<
|
|
513
|
-
<
|
|
514
|
-
<div
|
|
524
|
+
<aside class="banner banner-info"><div><strong>First local administrator</strong><span>Username: <code>admin</code> · use the password you chose during setup.</span></div></aside>
|
|
525
|
+
<p id="model-summary" class="model-summary" aria-live="polite">AI disabled · Capture and text search available</p>
|
|
526
|
+
<div class="choice-row"><label class="choice" data-portable-only${selfhostedDefault ? ' hidden' : ''} for="seed-demo"><input id="seed-demo" name="seedDemo" type="checkbox"> Seed demo content</label><label class="choice" for="reconfigure"><input id="reconfigure" name="reconfigure" type="checkbox"> Reconfigure existing stack</label></div>
|
|
527
|
+
<div id="soft-confirm" class="soft-confirm" hidden><p>Complete these checks before starting:</p><div class="soft-actions"><button id="start-anyway" class="button" type="button">Start anyway</button><button id="test-first" class="button button-quiet" type="button">Test first</button></div></div>
|
|
515
528
|
<div id="existing-choice" class="soft-confirm" hidden><p>An existing stack was detected. Choose whether to apply these form values or inspect the running stack without changing it.</p><div class="soft-actions"><button id="apply-existing-changes" class="button" type="button">Apply my changes (reconfigure)</button><button id="inspect-existing" class="button button-quiet" type="button">Inspect existing stack only</button></div></div>
|
|
516
529
|
<button class="button button-primary" type="submit"><svg class="button-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m8 5 11 7-11 7V5Z"/></svg>Start Knowz</button>
|
|
517
530
|
</section>
|
|
@@ -519,12 +532,13 @@ input[name$="Port"],input[name="version"],input[name$=".endpoint"],input[name$="
|
|
|
519
532
|
<div class="wizard-nav"><button type="button" id="step-back" class="button" hidden>Back</button><span class="wizard-spacer"></span><button type="button" id="step-next" class="button button-primary button-inline">Next</button></div>
|
|
520
533
|
</form>
|
|
521
534
|
<section id="progress-view" class="card progress-card" hidden><div class="card-heading"><span class="step-number">→</span><div><h2>Starting your local platform</h2><p>Keep this window open while services initialize.</p></div></div>
|
|
522
|
-
<ol id="step-list" class="steps"><li class="step" data-step="config" data-state="idle"><span class="step-mark">·</span><span>Validate configuration</span></li><li class="step" data-step="images" data-state="idle"><span class="step-mark">·</span><span>Prepare images</span></li><li class="step" data-step="data" data-state="idle"><span class="step-mark">·</span><span>Start data services</span></li><li class="step" data-step="minio" data-state="idle"><span class="step-mark">·</span><span>Initialize object storage
|
|
535
|
+
<ol id="step-list" class="steps"><li class="step" data-step="config" data-state="idle"><span class="step-mark">·</span><span>Validate configuration</span></li><li class="step" data-step="images" data-state="idle"><span class="step-mark">·</span><span>Prepare images</span></li><li class="step" data-step="data" data-state="idle"><span class="step-mark">·</span><span>Start data services</span></li><li class="step" data-step="minio" data-state="idle" data-portable-only${selfhostedDefault ? ' hidden' : ''}><span class="step-mark">·</span><span>Initialize object storage</span></li><li class="step" data-step="services" data-state="idle"><span class="step-mark">·</span><span>Start Knowz services</span></li><li class="step" data-step="account" data-state="idle"><span class="step-mark">·</span><span>Create first account</span></li><li class="step" data-step="verify" data-state="idle"><span class="step-mark">·</span><span>Verify API</span></li></ol>
|
|
523
536
|
<div id="run-error" class="banner banner-danger" tabindex="-1" aria-live="polite" hidden></div><button id="back-config" class="button" type="button" hidden>Back to configuration</button>
|
|
524
|
-
<details class="raw-log"><summary>Raw setup log</summary><pre id="progress-log" aria-live="polite"></pre></details>
|
|
537
|
+
<button id="cancel-setup" type="button" class="button">Cancel operation</button><details class="raw-log"><summary>Raw setup log</summary><pre id="progress-log" aria-live="polite"></pre></details>
|
|
525
538
|
</section>
|
|
526
|
-
<section id="result-view" class="card result-card" aria-live="polite" hidden><div id="result-icon" class="result-icon" aria-hidden="true">✓</div><div><h2 id="result-heading">Knowz is ready</h2><p id="result-copy">Your local, private platform is running.</p></div><div id="verify-chip" class="chip" aria-label="API verification" hidden></div><div id="url-list" class="url-list"></div><div id="credential
|
|
539
|
+
<section id="result-view" class="card result-card" aria-live="polite" hidden><div id="result-icon" class="result-icon" aria-hidden="true">✓</div><div><h2 id="result-heading">Knowz is ready</h2><p id="result-copy">Your local, private platform is running.</p></div><div id="verify-chip" class="chip" aria-label="API verification" hidden></div><form id="auth-recovery" hidden><p>Use the current administrator password. If first login requires a new password, finish it in the web app or enter a new password below.</p><label>Username<input name="username" autocomplete="username" value="admin" required></label><label>Current password<input name="password" type="password" autocomplete="current-password" required></label><label>New password (only when required)<input name="newPassword" type="password" autocomplete="new-password"></label><p id="auth-error" role="alert"></p><button type="submit" class="button">Connect CLI</button></form><button id="start-runtime" type="button" class="button" hidden>Start existing runtime</button><div id="url-list" class="url-list"></div><div id="one-time-credential" class="credential-note" hidden><strong>Temporary administrator · Username: <span id="generated-admin-username">admin</span></strong><p>This generated password is shown only once. Save it now, sign in, then choose your permanent password.</p><code id="generated-admin-password" aria-label="Generated administrator password">••••••••••••</code><div class="soft-actions"><button id="toggle-generated-password" type="button" class="button">Show password</button><button id="copy-generated-password" type="button" class="button">Copy password</button></div></div><div id="credential-note" class="credential-note"><strong>First local administrator · Username: admin</strong><p>Use the administrator password you chose during setup. View them from the terminal when needed; the admin password and SuperAdmin passphrase are also stored in the private mode-0600 environment file:</p><code>${credentialPath}</code></div><div id="next-steps" class="credential-note"><strong>Next steps</strong><div class="url-row"><span>Connect this instance to Knowz Cloud</span><code>knowz login --profile cloud</code><button type="button" class="button" data-copy="knowz login --profile cloud">Copy</button></div><div class="url-row"><span>Move data between instances</span><code>knowz transfer --from <profile> --to <profile></code><button type="button" class="button" data-copy="knowz transfer --from <profile> --to <profile>">Copy</button></div><div class="url-row"><span>Snapshot / restore</span><code>knowz export</code> / <code>knowz import</code><button type="button" class="button" data-copy="knowz export">Copy</button></div></div></section>
|
|
527
540
|
</main><script>
|
|
541
|
+
${focusSetupPanel.toString()}
|
|
528
542
|
const setupToken=${tokenLiteral};
|
|
529
543
|
const consoleSessionEndedCopy='Console session ended — re-run knowz setup';
|
|
530
544
|
const ollamaEndpoint='http'+${ollamaEndpointSuffixLiteral};
|
|
@@ -532,6 +546,8 @@ const aliasPrefills=${aliasPrefillLiteral};
|
|
|
532
546
|
const vertexChatDefault=${vertexChatDefaultLiteral};
|
|
533
547
|
const vertexEmbeddingDefault=${vertexEmbeddingDefaultLiteral};
|
|
534
548
|
const qwen3EmbeddingDefault=${qwen3EmbeddingDefaultLiteral};
|
|
549
|
+
const selfhostedRelease=${selfhostedReleaseLiteral};
|
|
550
|
+
const portableRelease=${portableReleaseLiteral};
|
|
535
551
|
const qwen3EmbeddingDims=${qwen3EmbeddingDimsLiteral};
|
|
536
552
|
const formSchema=${schemaLiteral};
|
|
537
553
|
const hasExistingState=${existingStateLiteral};
|
|
@@ -557,24 +573,28 @@ let modelCards=[];
|
|
|
557
573
|
let startAnywayArmed=false;
|
|
558
574
|
let existingChoiceArmed=false;
|
|
559
575
|
let terminalEventSeen=false;
|
|
576
|
+
let generatedCredential=null;
|
|
560
577
|
function selectedProviderInput(){return form.querySelector('input[name="provider"]:checked')}
|
|
561
578
|
function selectedProvider(){return selectedProviderInput().value}
|
|
562
579
|
function providerField(key,provider=selectedProvider()){return form.querySelector('[data-provider-group="'+provider+'"] [name="provider.'+key+'"]')}
|
|
563
580
|
function applyProviderAliasPrefill(){const selected=selectedProviderInput();const alias=selected&&selected.dataset?selected.dataset.providerAlias:'';if(!alias)return;const spec=aliasPrefills[alias];if(!spec)return;for(const key of Object.keys(spec.fields)){const el=providerField(key,spec.preset);if(el&&!el.value)el.value=spec.fields[key]}}
|
|
564
581
|
function providerFields(){const provider=selectedProvider();const values={};for(const field of formSchema[provider]){const input=providerField(field.key,provider);if(input&&input.value)values[field.key]=field.number?Number(input.value):input.value}return values}
|
|
582
|
+
function configuredSecret(key,provider=selectedProvider()){const field=(formSchema[provider]||[]).find(function(candidate){return candidate.key===key});return Boolean(field&&field.configured)}
|
|
565
583
|
function fieldDefault(provider,key){const field=(formSchema[provider]||[]).find(function(candidate){return candidate.key===key});return(field&&field.defaultValue)||''}
|
|
566
584
|
function svgIcon(kind){const svg=document.createElementNS('http'+'://www.w3.org/2000/svg','svg');svg.setAttribute('viewBox','0 0 24 24');svg.setAttribute('aria-hidden','true');const paths={check:'m5 12 4 4L19 6',warn:'M12 8v5m0 3h.01M4.9 19h14.2a2 2 0 0 0 1.7-3L13.7 4a2 2 0 0 0-3.4 0L3.2 16a2 2 0 0 0 1.7 3Z',local:'M8 12h8M12 8v8M4 12a8 8 0 1 0 16 0 8 8 0 0 0-16 0Z',idle:'M4 12a8 8 0 1 0 16 0 8 8 0 0 0-16 0Z',testing:'M20 12a8 8 0 0 0-8-8M4 12a8 8 0 0 0 8 8',fail:'m8 8 8 8m0-8-8 8',play:'m9 6 9 6-9 6V6Z',vision:'M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6S2.5 12 2.5 12Zm9.5 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z',function:'M8 4h8M9 4 6 20m5-10h5m-6 6h6',structured:'M7 5H4v14h3m10-14h3v14h-3M9 8h6m-6 4h6m-6 4h6',embedding:'M5 7h14M5 12h14M5 17h14M8 4v16m8-16v16'};const path=document.createElementNS('http'+'://www.w3.org/2000/svg','path');path.setAttribute('d',paths[kind]);svg.append(path);return svg}
|
|
567
|
-
function deriveModelCards(){const provider=selectedProvider();const fields=providerFields();if(provider==='offline')return[{id:'offline-chat',role:'chat',title:'Deterministic stub',providerLabel:'Offline',modelName:'deterministic-stub',configured:true,state:'offline',capabilities:[],pricing:'Local · no metered cost'}];if(provider==='azure'){const configured=Boolean(fields.endpoint&&fields.apiKey);const needed='Add an endpoint & key to test';const azureEmbeddingName=typeof fields.embeddingModel==='string'&&fields.embeddingModel.trim()?fields.embeddingModel.trim():fieldDefault('azure','embeddingModel')||'text-embedding-3-small';return[{id:'azure-chat',role:'chat',title:'GPT-5.4 Mini',providerLabel:'Azure OpenAI',modelName:'gpt-5.4-mini',configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['function','structured'],pricing:'Provider pricing applies'},{id:'azure-embedding',role:'embedding',title:azureEmbeddingName,providerLabel:'Azure OpenAI',modelName:azureEmbeddingName,configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['embedding'],pricing:'Provider pricing applies'},{id:'azure-vision',role:'vision',title:'GPT-5.4 Mini Vision',providerLabel:'Azure OpenAI',modelName:'gpt-5.4-mini',configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['vision'],pricing:'Provider pricing applies'}]};if(provider==='gcp'){const configured=Boolean(fields.project&&fields.adcPath);const needed='Add a Vertex project & ADC path to test';const chatName=typeof fields.chatModel==='string'&&fields.chatModel.trim()?fields.chatModel.trim():vertexChatDefault;const embeddingName=typeof fields.embeddingModel==='string'&&fields.embeddingModel.trim()?fields.embeddingModel.trim():vertexEmbeddingDefault;return[{id:'gcp-chat',role:'chat',title:chatName,providerLabel:'Google Vertex AI',modelName:chatName,configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['function','structured'],pricing:'Provider pricing applies'},{id:'gcp-embedding',role:'embedding',title:embeddingName,providerLabel:'Google Vertex AI',modelName:embeddingName,configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['embedding'],pricing:'Provider pricing applies'},{id:'gcp-vision',role:'vision',title:chatName+' Vision',providerLabel:'Google Vertex AI',modelName:chatName,configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['vision'],pricing:'Provider pricing applies'}]};const endpointReady=Boolean(fields.endpoint);const chatName=typeof fields.chatModel==='string'?fields.chatModel.trim():'';const embeddingName=typeof fields.embeddingModel==='string'?fields.embeddingModel.trim():'';const managed=provider==='knowz-cloud';const needed=managed?'Activate or paste a Knowz Cloud AI key, then choose models':'Add an endpoint & key to test';const providerLabel=managed?'Knowz Cloud':'OpenAI-compatible';const pricing=managed?'Metered · Knowz credits apply':'Local · no metered cost';return[{id:'compat-chat',role:'chat',title:chatName||'Chat model',providerLabel:providerLabel,modelName:chatName||'Chat model not set',configured:endpointReady&&Boolean(chatName),state:endpointReady&&chatName?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['function','structured'],pricing:pricing},{id:'compat-embedding',role:'embedding',title:embeddingName||'Embedding model',providerLabel:providerLabel,modelName:embeddingName||'Embedding model not set',configured:endpointReady&&Boolean(embeddingName),state:endpointReady&&embeddingName?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['embedding'],pricing:pricing},{id:'compat-vision',role:'vision',title:(chatName||'Chat model')+' Vision',providerLabel:providerLabel,modelName:chatName||'Chat model not set',configured:endpointReady&&Boolean(chatName),state:endpointReady&&chatName?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['vision'],pricing:pricing}]}
|
|
568
|
-
function statusPill(card){const pill=document.createElement('span');pill.className='model-pill';const connectionFailed=connectionState==='fail'&&card.state!=='pass'&&card.state!=='offline';const status=card.state==='offline'?'local':connectionFailed?'needs':card.configured?'ready':'needs';pill.dataset.status=status;pill.append(svgIcon(status==='ready'?'check':status==='needs'?'warn':'local'));const copy=document.createElement('span');copy.textContent=connectionFailed?'Fix connection':status==='ready'?'
|
|
585
|
+
function deriveModelCards(){const provider=selectedProvider();const fields=providerFields();if(provider==='offline')return[{id:'offline-chat',role:'chat',title:form.elements.edition.value==='selfhosted'?'AI disabled':'Deterministic stub',providerLabel:'Offline',modelName:form.elements.edition.value==='selfhosted'?'Capture and text search':'deterministic-stub',configured:true,state:'offline',capabilities:[],pricing:'Local · no metered cost'}];if(provider==='azure'){const configured=Boolean(fields.endpoint&&(fields.apiKey||configuredSecret('apiKey')));const needed='Add an endpoint & key to test';const azureEmbeddingName=typeof fields.embeddingModel==='string'&&fields.embeddingModel.trim()?fields.embeddingModel.trim():fieldDefault('azure','embeddingModel')||'text-embedding-3-small';return[{id:'azure-chat',role:'chat',title:'GPT-5.4 Mini',providerLabel:'Azure OpenAI',modelName:'gpt-5.4-mini',configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['function','structured'],pricing:'Provider pricing applies'},{id:'azure-embedding',role:'embedding',title:azureEmbeddingName,providerLabel:'Azure OpenAI',modelName:azureEmbeddingName,configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['embedding'],pricing:'Provider pricing applies'},{id:'azure-vision',role:'vision',title:'GPT-5.4 Mini Vision',providerLabel:'Azure OpenAI',modelName:'gpt-5.4-mini',configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['vision'],pricing:'Provider pricing applies'}]};if(provider==='gcp'){const configured=Boolean(fields.project&&fields.adcPath);const needed='Add a Vertex project & ADC path to test';const chatName=typeof fields.chatModel==='string'&&fields.chatModel.trim()?fields.chatModel.trim():vertexChatDefault;const embeddingName=typeof fields.embeddingModel==='string'&&fields.embeddingModel.trim()?fields.embeddingModel.trim():vertexEmbeddingDefault;return[{id:'gcp-chat',role:'chat',title:chatName,providerLabel:'Google Vertex AI',modelName:chatName,configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['function','structured'],pricing:'Provider pricing applies'},{id:'gcp-embedding',role:'embedding',title:embeddingName,providerLabel:'Google Vertex AI',modelName:embeddingName,configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['embedding'],pricing:'Provider pricing applies'},{id:'gcp-vision',role:'vision',title:chatName+' Vision',providerLabel:'Google Vertex AI',modelName:chatName,configured:configured,state:configured?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['vision'],pricing:'Provider pricing applies'}]};const endpointReady=Boolean(fields.endpoint);const chatName=typeof fields.chatModel==='string'?fields.chatModel.trim():'';const embeddingName=typeof fields.embeddingModel==='string'?fields.embeddingModel.trim():'';const managed=provider==='knowz-cloud';const needed=managed?'Activate or paste a Knowz Cloud AI key, then choose models':'Add an endpoint & key to test';const providerLabel=managed?'Knowz Cloud':'OpenAI-compatible';const pricing=managed?'Metered · Knowz credits apply':'Local · no metered cost';return[{id:'compat-chat',role:'chat',title:chatName||'Chat model',providerLabel:providerLabel,modelName:chatName||'Chat model not set',configured:endpointReady&&Boolean(chatName),state:endpointReady&&chatName?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['function','structured'],pricing:pricing},{id:'compat-embedding',role:'embedding',title:embeddingName||'Embedding model',providerLabel:providerLabel,modelName:embeddingName||'Embedding model not set',configured:endpointReady&&Boolean(embeddingName),state:endpointReady&&embeddingName?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['embedding'],pricing:pricing},{id:'compat-vision',role:'vision',title:(chatName||'Chat model')+' Vision',providerLabel:providerLabel,modelName:chatName||'Chat model not set',configured:endpointReady&&Boolean(chatName),state:endpointReady&&chatName?'idle':'notconfigured',notConfiguredCopy:needed,capabilities:['vision'],pricing:pricing}]}
|
|
586
|
+
function statusPill(card){const pill=document.createElement('span');pill.className='model-pill';const connectionFailed=connectionState==='fail'&&card.state!=='pass'&&card.state!=='offline';const status=card.state==='offline'?'local':connectionFailed?'needs':card.configured?'ready':'needs';pill.dataset.status=status;pill.append(svgIcon(status==='ready'?'check':status==='needs'?'warn':'local'));const copy=document.createElement('span');copy.textContent=connectionFailed?'Fix connection':status==='ready'?(card.state==='pass'?'Verified':'Configured'):status==='needs'?'Needs credentials':'Local';pill.append(copy);return pill}
|
|
569
587
|
function capabilityTile(capability){const labels={vision:'Vision',function:'Function calling',structured:'Structured output',embedding:'Embedding'};const tile=document.createElement('span');tile.className='capability';tile.dataset.cap=capability;tile.append(svgIcon(capability));const label=document.createElement('span');label.textContent=labels[capability];tile.append(label);return tile}
|
|
570
588
|
function modelStateCopy(card){if(card.state==='notconfigured')return card.notConfiguredCopy||'Add provider configuration to test';if(card.state==='testing')return'Testing model';if(card.state==='pass')return card.message;if(card.state==='fail')return card.message;if(card.state==='offline')return'No model test needed';return'Not tested'}
|
|
571
|
-
function updateModelSummary(){const
|
|
589
|
+
function updateModelSummary(){if(selectedProvider()==='offline'){modelCountElement.textContent='0';modelSummary.textContent='AI disabled · Capture and text search available';return}const required=modelCards.filter(function(card){return card.role!=='vision'});const tested=required.filter(function(card){return card.state==='pass'}).length;const optional=modelCards.length-required.length;modelCountElement.textContent=String(modelCards.length);const providerLabel=selectedProvider()==='knowz-cloud'?'Knowz Cloud':selectedProvider()==='openai-compatible'?'OpenAI-compatible':selectedProvider()==='azure'?'Azure OpenAI':selectedProvider()==='gcp'?'Google Vertex AI':'offline';modelSummary.textContent='AI '+providerLabel+' · '+required.length+' required · '+(tested===required.length?'ready ✓':tested+' tested')+(optional?' · '+optional+' optional':'')}
|
|
572
590
|
function updateModelCard(card){const element=card.element;if(!element)return;element.classList.toggle('dimmed',card.state==='notconfigured');const oldPill=element.querySelector('.model-pill');oldPill.replaceWith(statusPill(card));const button=element.querySelector('button');button.disabled=!card.configured||card.state==='testing'||card.state==='offline';const chip=element.querySelector('.chip');chip.setAttribute('data-model-test-state',card.state);const marker=svgIcon(card.state==='pass'?'check':card.state==='fail'?'fail':card.state==='notconfigured'?'warn':card.state==='testing'?'testing':card.state==='offline'?'local':'idle');if(card.state==='testing')marker.classList.add('spinner');const copy=document.createElement('span');copy.textContent=modelStateCopy(card);chip.replaceChildren(marker,copy);updateModelSummary()}
|
|
573
591
|
async function testModelCard(card){if(!card.configured||card.state==='offline')return;card.state='testing';updateModelCard(card);try{const response=await fetch('/api/test-model',{method:'POST',headers:{'X-Setup-Token':setupToken,'Content-Type':'application/json'},body:JSON.stringify({provider:selectedProvider(),providerFields:providerFields(),modelRole:card.role})});const verdict=await response.json();if(response.ok&&verdict.ok){card.state='pass';card.message='Responded'+(verdict.latencyMs?' · '+verdict.latencyMs+' ms':'')}else if(verdict.category==='endpoint'){card.state='notconfigured';card.configured=false;card.message='Add provider configuration to test'}else{card.state='fail';card.message=verdict.message||'Model test failed'}}catch{card.state='fail';card.message=consoleSessionEndedCopy}updateModelCard(card);if(card.state==='fail')card.element.querySelector('.chip').focus()}
|
|
574
592
|
function renderModelCards(){modelCards=deriveModelCards();modelCardsElement.textContent='';for(const card of modelCards){const element=document.createElement('article');element.className='model-card';element.dataset.modelId=card.id;card.element=element;const head=document.createElement('div');head.className='model-head';const identity=document.createElement('div');const title=document.createElement('h4');title.className='model-title';title.textContent=card.title;const subtitle=document.createElement('span');subtitle.className='model-subtitle';subtitle.textContent=card.providerLabel+' · '+card.modelName;identity.append(title,subtitle);head.append(identity,statusPill(card));const facts=document.createElement('div');facts.className='model-facts';const tier=document.createElement('span');tier.className='tier-label';tier.textContent=(card.role==='embedding'?'Embedding':'Normal')+' tier';const pricing=document.createElement('span');pricing.className='pricing';pricing.textContent=card.pricing;facts.append(tier,pricing);const caps=document.createElement('div');caps.className='capabilities';card.capabilities.forEach(function(capability){caps.append(capabilityTile(capability))});if(!card.capabilities.length){const empty=document.createElement('span');empty.className='pricing';empty.textContent='No live model capabilities';caps.append(empty)}const actions=document.createElement('div');actions.className='model-test';const button=document.createElement('button');button.type='button';button.className='button';button.append(svgIcon('play'));const buttonCopy=document.createElement('span');buttonCopy.textContent='Test model';button.append(buttonCopy);button.addEventListener('click',function(){void testModelCard(card)});const chip=document.createElement('span');chip.className='chip';chip.setAttribute('data-model-test-state','idle');chip.setAttribute('aria-live','polite');chip.tabIndex=-1;actions.append(button,chip);element.append(head,facts,caps,actions);modelCardsElement.append(element);updateModelCard(card)}updateModelSummary()}
|
|
575
593
|
// Summary contract: N models · M tested ✓.
|
|
576
|
-
function firstUntestedModelButton(){const card=modelCards.find(function(candidate){return candidate.configured&&candidate.state!=='pass'&&candidate.state!=='offline'});return card&&card.element.querySelector('button')}
|
|
577
|
-
function
|
|
594
|
+
function firstUntestedModelButton(){const card=modelCards.find(function(candidate){return candidate.role!=='vision'&&candidate.configured&&candidate.state!=='pass'&&candidate.state!=='offline'});return card&&card.element.querySelector('button')}
|
|
595
|
+
function incompleteChecks(){const checks=[];if(selectedProvider()!=='offline'&&connectionState!=='pass')checks.push('AI connection not tested');if(selectedProvider()!=='offline'){modelCards.filter(function(card){return card.role!=='vision'&&card.state!=='pass'}).forEach(function(card){checks.push((card.role==='embedding'?'Embedding':'Chat')+' model not tested')})}if(portTestState!=='pass')checks.push('Ports not tested');return checks}
|
|
596
|
+
function verificationComplete(){return incompleteChecks().length===0}
|
|
597
|
+
function renderIncompleteChecks(){softConfirm.querySelector('p').textContent='Complete these checks before starting: '+incompleteChecks().join('; ')+'. Start anyway?'}
|
|
578
598
|
function showFields(){applyProviderAliasPrefill();const provider=selectedProvider();document.querySelectorAll('[data-provider-group]').forEach(function(group){const visible=group.dataset.providerGroup===provider;group.hidden=!visible;group.querySelectorAll('input,select').forEach(function(input){input.disabled=!visible})});testRow.hidden=provider==='offline';softConfirm.hidden=true;invalidateConnectionTest();renderModelCards();}
|
|
579
599
|
function setConnectionState(state,message){const changed=connectionState!==state;connectionState=state;testChip.dataset.testState=state;const marker=svgIcon(state==='pass'?'check':state==='fail'?'fail':state==='testing'?'testing':'idle');if(state==='testing')marker.classList.add('spinner');const copy=document.createElement('span');copy.textContent=message;testChip.replaceChildren(marker,copy);testButton.disabled=state==='testing';if(changed)modelCards.forEach(function(card){updateModelCard(card)});}
|
|
580
600
|
function invalidateConnectionTest(){if(connectionState!=='testing')setConnectionState('idle','Not tested');startAnywayArmed=false;softConfirm.hidden=true;}
|
|
@@ -597,10 +617,10 @@ document.getElementById('start-anyway').addEventListener('click',function(){star
|
|
|
597
617
|
document.getElementById('apply-existing-changes').addEventListener('click',function(){existingChoice.hidden=true;existingChoiceArmed=false;form.elements.reconfigure.checked=true;form.requestSubmit()});
|
|
598
618
|
document.getElementById('inspect-existing').addEventListener('click',function(){existingChoice.hidden=true;existingChoiceArmed=true;form.requestSubmit()});
|
|
599
619
|
document.getElementById('test-first').addEventListener('click',function(){softConfirm.hidden=true;if(selectedProvider()!=='offline'&&connectionState!=='pass'){testButton.focus();testButton.click();return}const first=firstUntestedModelButton();if(first){first.scrollIntoView({block:'center'});first.focus();return}if(portTestState!=='pass'){portTestButton.scrollIntoView({block:'center'});portTestButton.focus();portTestButton.click()}});
|
|
600
|
-
function updateEdition(){const selfhosted=form.elements.edition.value==='selfhosted';document.getElementById('edition-eyebrow').textContent=selfhosted?'Self-hosted edition':'Portable edition';document.getElementById('component-public-site-card').hidden=selfhosted;if(selfhosted){form.elements.withPublicSite.checked=false;form.elements.storage.value='filesystem'}document.getElementById('storage-mode-field').hidden=selfhosted;updateComponents();updateImageMode()}
|
|
620
|
+
function updateEdition(){const selfhosted=form.elements.edition.value==='selfhosted';document.querySelectorAll('[data-portable-only]').forEach(function(el){el.hidden=selfhosted;el.querySelectorAll('input,select').forEach(function(input){input.disabled=selfhosted})});document.querySelectorAll('[data-provider-mode="gcp"]').forEach(function(el){el.hidden=selfhosted;el.querySelector('input').disabled=selfhosted});if(selfhosted&&selectedProvider()==='gcp'){form.querySelector('input[name="provider"][value="offline"]').checked=true;showFields()}Array.from(form.elements.imageMode.options).forEach(function(option){if(option.value!=='pull'){option.hidden=selfhosted;option.disabled=selfhosted}});if(selfhosted)form.elements.imageMode.value='pull';const currentVersion=form.elements.version.value;if(currentVersion===selfhostedRelease||currentVersion===portableRelease)form.elements.version.value=selfhosted?selfhostedRelease:portableRelease;document.getElementById('edition-eyebrow').textContent=selfhosted?'Self-hosted edition':'Portable edition';document.getElementById('component-public-site-card').hidden=selfhosted;if(selfhosted){form.elements.withPublicSite.checked=false;form.elements.storage.value='filesystem'}document.getElementById('storage-mode-field').hidden=selfhosted;updateComponents();updateImageMode()}
|
|
601
621
|
function updateImageMode(){const preloaded=form.elements.imageMode.value==='preloaded';const selfhosted=form.elements.edition.value==='selfhosted';const hideGhcr=preloaded||selfhosted;document.getElementById('ghcr-token-field').hidden=hideGhcr;form.elements.ghcrToken.disabled=hideGhcr}
|
|
602
622
|
form.elements.imageMode.addEventListener('change',updateImageMode);form.elements.edition.addEventListener('change',updateEdition);updateEdition();
|
|
603
|
-
function setupBody(){return{provider:selectedProvider(),providerFields:providerFields(),edition:form.elements.edition.value,imageMode:form.elements.imageMode.value,name:form.elements.name.value,version:form.elements.version.value,storage:form.elements.storage.value,components:{mcp:form.elements.withMcp.checked,publicSite:form.elements.withPublicSite.checked},publicUrls:{api:form.elements.publicApiUrl.value||undefined,web:form.elements.publicWebUrl.value||undefined,mcp:form.elements.publicMcpUrl.value||undefined},orgName:form.elements.orgName.value||undefined,superAdminPassphrase:form.elements.superAdminPassphrase.value||undefined,ports:{api:Number(form.elements.apiPort.value),web:Number(form.elements.webPort.value),mcp:Number(form.elements.mcpPort.value),publicSite:form.elements.withPublicSite.checked?Number(form.elements.publicSitePort.value):undefined},ghcrToken:form.elements.ghcrToken.disabled?undefined:(form.elements.ghcrToken.value||undefined),accountName:form.elements.accountName.value,accountEmail:form.elements.accountEmail.value,ageAttested:form.elements.ageAttested.checked,seedDemo:form.elements.seedDemo.checked,reconfigure:form.elements.reconfigure.checked}}
|
|
623
|
+
function setupBody(){return{provider:selectedProvider(),providerFields:providerFields(),edition:form.elements.edition.value,imageMode:form.elements.imageMode.value,name:form.elements.name.value,version:form.elements.version.value,storage:form.elements.storage.value,components:{mcp:form.elements.withMcp.checked,publicSite:form.elements.withPublicSite.checked},publicUrls:form.elements.edition.value==='selfhosted'?undefined:{api:form.elements.publicApiUrl.value||undefined,web:form.elements.publicWebUrl.value||undefined,mcp:form.elements.publicMcpUrl.value||undefined},orgName:form.elements.edition.value==='selfhosted'?undefined:(form.elements.orgName.value||undefined),superAdminPassphrase:form.elements.superAdminPassphrase.value||undefined,ports:{api:Number(form.elements.apiPort.value),web:Number(form.elements.webPort.value),mcp:Number(form.elements.mcpPort.value),publicSite:form.elements.withPublicSite.checked?Number(form.elements.publicSitePort.value):undefined},ghcrToken:form.elements.ghcrToken.disabled?undefined:(form.elements.ghcrToken.value||undefined),accountName:form.elements.edition.value==='selfhosted'?undefined:form.elements.accountName.value,accountEmail:form.elements.edition.value==='selfhosted'?undefined:form.elements.accountEmail.value,ageAttested:form.elements.ageAttested.checked,seedDemo:form.elements.edition.value==='selfhosted'?false:form.elements.seedDemo.checked,reconfigure:form.elements.reconfigure.checked}}
|
|
604
624
|
function parseSseFrame(block){let eventType='message';const data=[];for(const line of block.replace(/\\r/g,'').split('\\n')){if(line.startsWith('event:'))eventType=line.slice(6).trim();if(line.startsWith('data:'))data.push(line.slice(5).trimStart())}if(!data.length)return null;try{return{eventType:eventType,data:JSON.parse(data.join('\\n'))}}catch{return null}}
|
|
605
625
|
function appendRaw(line){if(typeof line!=='string')return;progressLog.textContent+=(progressLog.textContent?'\\n':'')+line;progressLog.scrollTop=progressLog.scrollHeight;advanceStep(line)}
|
|
606
626
|
function stepElement(id){return document.querySelector('[data-step="'+id+'"]')}
|
|
@@ -608,11 +628,20 @@ function setStep(id,state){const row=stepElement(id);if(!row)return;row.dataset.
|
|
|
608
628
|
function activate(id){const rows=Array.from(document.querySelectorAll('.step'));const next=rows.findIndex(function(row){return row.dataset.step===id});rows.forEach(function(row,index){if(index<next&&row.dataset.state!=='fail')setStep(row.dataset.step,'done')});if(next>=0&&rows[next].dataset.state!=='done')setStep(id,'active')}
|
|
609
629
|
function advanceStep(line){const value=line.toLowerCase();if(value.includes('minio-createbucket')&&(value.includes('bucket ready')||value.includes('exit 0')||value.includes('exited with code 0')||value.includes('completed successfully'))){setStep('minio','done');activate('services');return}if(value.includes('preflight')||value.includes('config'))activate('config');else if(value.includes('pull')||value.includes('image')||value.includes('build'))activate('images');else if(value.includes('postgres')||value.includes('redis')||value.includes('minio'))activate('data');else if(value.includes('worker')||value.includes('compose')||value.includes('service'))activate('services');else if(value.includes('bootstrap')||value.includes('account')||value.includes('sign-in'))activate('account');else if(value.includes('health')||value.includes('provider')||value.includes('verify'))activate('verify')}
|
|
610
630
|
function settleSteps(success){const rows=Array.from(document.querySelectorAll('.step'));if(success){rows.forEach(function(row){setStep(row.dataset.step,'done')});return}const active=rows.find(function(row){return row.dataset.state==='active'});if(active)setStep(active.dataset.step,'fail');rows.forEach(function(row){if(row.dataset.state==='active')setStep(row.dataset.step,'idle')})}
|
|
611
|
-
function handleEvent(eventType,data){if(eventType==='progress'){appendRaw(data);return}terminalEventSeen=true;if(eventType==='result'){settleSteps(
|
|
631
|
+
function handleEvent(eventType,data){if(eventType==='progress'){appendRaw(data);return}terminalEventSeen=true;if(eventType==='result'){settleSteps(data.status==='complete');renderResult(data);return}if(eventType==='canceled'){settleSteps(false);showFailure('Setup canceled. Existing data and credentials were preserved.');return}settleSteps(false);showFailure(typeof data==='string'?data:eventType==='timeout'?'Setup console timed out.':'Setup failed.');}
|
|
612
632
|
async function readProgress(){const response=await fetch('/api/progress',{headers:{'X-Setup-Token':setupToken,'X-Setup-Progress-Stream':'1'}});if(!response.ok)return;const reader=response.body.getReader();const decoder=new TextDecoder();let buffer='';while(true){const chunk=await reader.read();buffer+=decoder.decode(chunk.value||new Uint8Array(),{stream:!chunk.done});let boundary;while((boundary=buffer.indexOf('\\n\\n'))>=0){const parsed=parseSseFrame(buffer.slice(0,boundary));buffer=buffer.slice(boundary+2);if(parsed)handleEvent(parsed.eventType,parsed.data)}if(chunk.done)break}}
|
|
613
|
-
function showFailure(message){runError.textContent=message;runError.hidden=false;document.getElementById('back-config').hidden=false;runError
|
|
633
|
+
function showFailure(message){progressView.hidden=false;resultView.hidden=true;runError.textContent=message;runError.hidden=false;document.getElementById('back-config').hidden=false;focusSetupPanel(runError);}
|
|
614
634
|
function addServiceLink(label,address){if(!address)return;const row=document.createElement('div');row.className='url-row';const name=document.createElement('strong');name.textContent=label;const code=document.createElement('code');code.textContent=address;const copy=document.createElement('button');copy.type='button';copy.className='button';copy.textContent='Copy';copy.addEventListener('click',function(){void navigator.clipboard.writeText(address)});const open=document.createElement('a');open.className='button';open.textContent='Open';open.target='_blank';open.rel='noreferrer';open.href=address;row.append(name,code,copy,open);document.getElementById('url-list').append(row)}
|
|
615
|
-
function renderResult(result){progressView.hidden=true;resultView.hidden=false;const inspecting=Boolean(result&&result.existing);document.getElementById('result-icon').textContent=inspecting?'i':'✓';document.getElementById('result-heading').textContent=inspecting?'Existing stack inspected':'Knowz is ready';document.getElementById('result-copy').textContent=
|
|
635
|
+
function renderResult(result){progressView.hidden=true;resultView.hidden=false;const inspecting=Boolean(result&&result.existing);const complete=Boolean(result&&result.status==='complete');document.getElementById('cancel-setup').hidden=true;document.getElementById('auth-recovery').hidden=complete||result.runtimeHealth==='unavailable'||form.elements.edition.value!=='selfhosted';document.getElementById('start-runtime').hidden=result.runtimeHealth!=='unavailable';const credential=result&&result.oneTimeCredential&&result.oneTimeCredential.generated===true?result.oneTimeCredential:null;generatedCredential=credential;document.getElementById('result-icon').textContent=inspecting||!complete?'i':'✓';document.getElementById('result-heading').textContent=inspecting?'Existing stack inspected':complete?'Knowz is ready':'Finish signing in';document.getElementById('result-copy').textContent=complete?'Your local Knowz is running and the CLI is signed in.':(result.nextAction||'The runtime started. Finish account setup to enable CLI access.');document.getElementById('credential-note').hidden=inspecting||Boolean(credential);const oneTime=document.getElementById('one-time-credential');oneTime.hidden=inspecting||!credential;document.getElementById('next-steps').hidden=!complete;if(credential){document.getElementById('generated-admin-username').textContent=credential.username;const password=document.getElementById('generated-admin-password');password.textContent='••••••••••••';document.getElementById('toggle-generated-password').textContent='Show password'}const links=document.getElementById('url-list');links.textContent='';addServiceLink('Web',result&&result.webUrl);addServiceLink('API',result&&result.apiUrl);if(form.elements.withMcp.checked)addServiceLink('MCP',result&&result.mcpUrl);if(form.elements.withPublicSite.checked)addServiceLink('Public site',result&&result.publicSiteUrl);const chip=document.getElementById('verify-chip');chip.hidden=true;focusSetupPanel(resultView);if(inspecting&&!complete)return;if(result&&result.verify&&result.verify.api==='ok'){chip.hidden=false;chip.dataset.testState='pass';chip.textContent='✓ API verification passed'}else if(result&&result.verify&&result.verify.api==='warn'){chip.hidden=false;chip.dataset.testState='fail';chip.textContent='! API not responding yet — give it a moment'}}
|
|
636
|
+
|
|
637
|
+
document.getElementById('close-setup').addEventListener('click',async function(){await fetch('/api/close',{method:'POST',headers:{'X-Setup-Token':setupToken}});document.body.innerHTML='<main class="shell"><h1>Setup closed</h1><p>Existing runtime data was preserved. You can close this tab.</p></main>'});
|
|
638
|
+
document.getElementById('cancel-setup').addEventListener('click',async function(){this.disabled=true;await fetch('/api/cancel',{method:'POST',headers:{'X-Setup-Token':setupToken}});this.disabled=false});
|
|
639
|
+
document.getElementById('auth-recovery').addEventListener('submit',async function(event){event.preventDefault();const el=this;const error=document.getElementById('auth-error');error.textContent='';const button=el.querySelector('button');button.disabled=true;try{const response=await fetch('/api/auth',{method:'POST',headers:{'X-Setup-Token':setupToken,'Content-Type':'application/json'},body:JSON.stringify({username:el.elements.username.value,password:el.elements.password.value,newPassword:el.elements.newPassword.value||undefined})});const result=await response.json();if(response.ok)renderResult(result.result);else error.textContent=result.error||'Sign-in was not verified.'}catch{error.textContent='The setup console disconnected.'}finally{el.elements.password.value='';el.elements.newPassword.value='';button.disabled=false}});
|
|
640
|
+
document.getElementById('start-runtime').addEventListener('click',async function(){this.disabled=true;terminalEventSeen=false;resultView.hidden=true;progressView.hidden=false;document.getElementById('cancel-setup').hidden=false;focusSetupPanel(progressView);const progressPromise=readProgress();try{const response=await fetch('/api/start',{method:'POST',headers:{'X-Setup-Token':setupToken}});const result=await response.json();await progressPromise;if(response.ok)renderResult(result.result);else showFailure(result.error||'Runtime could not be started.')}catch{showFailure('The local setup console disconnected. Re-run setup to inspect this runtime.')}finally{this.disabled=false}});
|
|
641
|
+
void fetch('/api/status',{headers:{'X-Setup-Token':setupToken}}).then(function(response){return response.ok?response.json():null}).then(function(status){if(!status)return;if(status.inFlight){form.inert=true;progressView.hidden=false;document.getElementById('cancel-setup').hidden=false;focusSetupPanel(progressView);void readProgress()}else if(status.result)renderResult(status.result)}).catch(function(){});
|
|
642
|
+
|
|
643
|
+
document.getElementById('toggle-generated-password').addEventListener('click',function(){if(!generatedCredential)return;const password=document.getElementById('generated-admin-password');const showing=this.textContent==='Hide password';if(showing){password.textContent='••••••••••••';this.textContent='Show password'}else{password.textContent=generatedCredential.password;this.textContent='Hide password'}});
|
|
644
|
+
document.getElementById('copy-generated-password').addEventListener('click',function(){if(generatedCredential)void navigator.clipboard.writeText(generatedCredential.password)});
|
|
616
645
|
document.querySelectorAll('#next-steps button[data-copy]').forEach(function(button){button.addEventListener('click',function(){void navigator.clipboard.writeText(button.dataset.copy)})});
|
|
617
646
|
document.getElementById('back-config').addEventListener('click',function(){document.querySelectorAll('input[type=password]').forEach(function(input){input.value=''});form.inert=false;form.classList.remove('dimmed');form.hidden=false;progressView.hidden=true;runError.hidden=true;document.getElementById('back-config').hidden=true;terminalEventSeen=false;document.querySelectorAll('.step').forEach(function(row){setStep(row.dataset.step,'idle')});progressLog.textContent='';invalidateConnectionTest();invalidatePortTest();});
|
|
618
647
|
const stepPanels=Array.from(document.querySelectorAll('.step-panel'));
|
|
@@ -668,7 +697,7 @@ railSteps.forEach(function(button){
|
|
|
668
697
|
});
|
|
669
698
|
});
|
|
670
699
|
goToStep(1);
|
|
671
|
-
form.addEventListener('submit',async function(event){event.preventDefault();if(renderDuplicatePorts()){portTestButton.scrollIntoView({block:'center'});portTestButton.focus();return}if(hasExistingState&&!form.elements.reconfigure.checked&&!existingChoiceArmed){existingChoice.hidden=false;existingChoice.querySelector('button').focus();return}const inspectingExisting=hasExistingState&&!form.elements.reconfigure.checked&&existingChoiceArmed;existingChoiceArmed=false;existingChoice.hidden=true;if(!inspectingExisting&&!verificationComplete()&&!startAnywayArmed){softConfirm.hidden=false;softConfirm.querySelector('button').focus();return}if(form.elements.reconfigure.checked&&!window.confirm('Reconfigure the existing local stack? No data will be deleted.'))return;terminalEventSeen=false;runError.hidden=true;form.inert=true;form.classList.add('dimmed');progressView.hidden=false;activate('config');const progressPromise=readProgress();let response;let result;try{response=await fetch('/api/setup',{method:'POST',headers:{'Content-Type':'application/json','X-Setup-Token':setupToken},body:JSON.stringify(setupBody())});result=await response.json();await progressPromise;if(!response.ok&&!terminalEventSeen)showFailure(result.error||'Setup failed.');if(response.ok
|
|
700
|
+
form.addEventListener('submit',async function(event){event.preventDefault();if(renderDuplicatePorts()){portTestButton.scrollIntoView({block:'center'});portTestButton.focus();return}if(hasExistingState&&!form.elements.reconfigure.checked&&!existingChoiceArmed){existingChoice.hidden=false;existingChoice.querySelector('button').focus();return}const inspectingExisting=hasExistingState&&!form.elements.reconfigure.checked&&existingChoiceArmed;existingChoiceArmed=false;existingChoice.hidden=true;if(!inspectingExisting&&!verificationComplete()&&!startAnywayArmed){renderIncompleteChecks();softConfirm.hidden=false;softConfirm.querySelector('button').focus();return}if(form.elements.reconfigure.checked&&!window.confirm('Reconfigure the existing local stack? No data will be deleted.'))return;terminalEventSeen=false;runError.hidden=true;form.inert=true;form.classList.add('dimmed');progressView.hidden=false;document.getElementById('cancel-setup').hidden=false;focusSetupPanel(progressView);activate('config');const progressPromise=readProgress();let response;let result;try{response=await fetch('/api/setup',{method:'POST',headers:{'Content-Type':'application/json','X-Setup-Token':setupToken},body:JSON.stringify(setupBody())});result=await response.json();await progressPromise;if(!response.ok&&!terminalEventSeen)showFailure(result.error||'Setup failed.');if(response.ok&&result.result){settleSteps(result.result.status==='complete');renderResult(result.result)}}catch{settleSteps(false);showFailure('The local setup console disconnected. Re-run setup if the CLI exited.')}});
|
|
672
701
|
</script></body></html>`;
|
|
673
702
|
}
|
|
674
703
|
//# sourceMappingURL=setup-page.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-page.js","sourceRoot":"","sources":["../../src/lib/setup-page.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-page.js","sourceRoot":"","sources":["../../src/lib/setup-page.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/setup-plan.d.ts
CHANGED
|
@@ -47,6 +47,7 @@ export interface SetupFormField {
|
|
|
47
47
|
suggestions?: string[];
|
|
48
48
|
selectOptions?: string[];
|
|
49
49
|
locked?: boolean;
|
|
50
|
+
configured?: boolean;
|
|
50
51
|
}
|
|
51
52
|
export type SetupFormSchema = Record<SetupProviderPreset, SetupFormField[]>;
|
|
52
53
|
export declare function deriveSetupFormSchema(requiredEnvByPreset: Record<string, string[]>, fieldMap: Partial<Record<PlatformProviderPreset, Record<string, FieldMeta>>>): SetupFormSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-plan.d.ts","sourceRoot":"","sources":["../../src/lib/setup-plan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup-plan.d.ts","sourceRoot":"","sources":["../../src/lib/setup-plan.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAYL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAiD,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI7G,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAEzD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAC;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,EAAE,cAAc,EAAE,CAAC,CAAC;AAE5E,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC7C,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAC3E,eAAe,CA0BjB;AAcD,6FAA6F;AAC7F,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,SAAS,GAAG,cAAc,CA0HzE"}
|
package/dist/lib/setup-plan.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { isAbsolute } from 'node:path';
|
|
2
|
+
import { validateSelfHostedSetupOptions } from './setup-capabilities.js';
|
|
2
3
|
import { PLATFORM_PROVIDERS, validateOpenAiCompatibleEndpoint, validateHttpsEndpoint, validatePort, validatePublicUrl, validateProjectName, validateStorageMode, validateVersion, } from './platform-runtime.js';
|
|
3
4
|
import { DEFAULT_PORTABLE_VERSION, localProfileNameFor } from './platform-frontdoor.js';
|
|
4
5
|
import { KNOWZ_CLOUD_ENDPOINT, PROVIDER_PRESETS } from './provider-presets.js';
|
|
6
|
+
import { STABLE_SELFHOSTED_RELEASE } from './selfhosted-lifecycle.js';
|
|
5
7
|
export function deriveSetupFormSchema(requiredEnvByPreset, fieldMap) {
|
|
6
8
|
const result = {};
|
|
7
9
|
for (const preset of PLATFORM_PROVIDERS) {
|
|
@@ -41,8 +43,10 @@ function numberField(fields, key) {
|
|
|
41
43
|
}
|
|
42
44
|
/** Pure browser-collected plan → the same `runFrontDoor` input consumed by terminal `up`. */
|
|
43
45
|
export function setupPlanToFrontDoorInput(plan) {
|
|
46
|
+
if (plan.edition !== 'portable')
|
|
47
|
+
validateSelfHostedSetupOptions(plan);
|
|
44
48
|
const name = validateProjectName(plan.name?.trim() || 'knowz');
|
|
45
|
-
const version = validateVersion(plan.version?.trim() || DEFAULT_PORTABLE_VERSION);
|
|
49
|
+
const version = validateVersion(plan.version?.trim() || (plan.edition === 'portable' ? DEFAULT_PORTABLE_VERSION : STABLE_SELFHOSTED_RELEASE));
|
|
46
50
|
const ports = {
|
|
47
51
|
api: validatePort(plan.ports?.api ?? 5000, 'API'),
|
|
48
52
|
web: validatePort(plan.ports?.web ?? 3000, 'web'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-plan.js","sourceRoot":"","sources":["../../src/lib/setup-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-plan.js","sourceRoot":"","sources":["../../src/lib/setup-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
2
|
import { type SetupLicenseStatus } from './setup-page.js';
|
|
3
|
-
import { type SetupFormSchema, type SetupPlan } from './setup-plan.js';
|
|
3
|
+
import { type SetupFormSchema, type SetupPlan, type SetupProviderPreset } from './setup-plan.js';
|
|
4
4
|
import type { FrontDoorInput } from './platform-frontdoor.js';
|
|
5
5
|
import type { PreflightReport } from './platform-preflight.js';
|
|
6
6
|
import { type ModelProbeOutcome, type ModelProbeSelection, type CloudAiModelDiscoveryResult, type ProviderProbeResult } from './platform-provider-probe.js';
|
|
@@ -15,8 +15,10 @@ export interface SetupServerDeps {
|
|
|
15
15
|
expectedPort?: number;
|
|
16
16
|
formSchema: SetupFormSchema;
|
|
17
17
|
planDefaults?: Partial<SetupPlan>;
|
|
18
|
+
/** Private provider drafts; never serialized into page HTML or status. */
|
|
19
|
+
providerDefaults?: Partial<Record<SetupProviderPreset, SetupPlan['providerFields']>>;
|
|
18
20
|
preflight: () => Promise<PreflightReport>;
|
|
19
|
-
runSetup: (input: FrontDoorInput, emit: (line: string) => void) => Promise<unknown>;
|
|
21
|
+
runSetup: (input: FrontDoorInput, emit: (line: string) => void, signal?: AbortSignal) => Promise<unknown>;
|
|
20
22
|
/** Read-only provider connectivity probe; launchSetupConsole binds the shared real implementation. */
|
|
21
23
|
probeProvider?: (selection: ProviderSelection) => Promise<ProviderProbeResult>;
|
|
22
24
|
/** Bounded live chat/embedding probe; response content never crosses this server boundary. */
|
|
@@ -33,6 +35,13 @@ export interface SetupServerDeps {
|
|
|
33
35
|
shutdown?: (reason: 'success' | 'timeout' | 'closed') => void | Promise<void>;
|
|
34
36
|
/** Secret-free current-state summary; used to make existing-stack visits non-destructive. */
|
|
35
37
|
currentState?: () => unknown;
|
|
38
|
+
inspectRuntime?: () => Promise<unknown>;
|
|
39
|
+
startRuntime?: (emit: (line: string) => void, signal: AbortSignal) => Promise<unknown>;
|
|
40
|
+
resumeAuthentication?: (credentials: {
|
|
41
|
+
username: string;
|
|
42
|
+
password: string;
|
|
43
|
+
newPassword?: string;
|
|
44
|
+
}, signal: AbortSignal) => Promise<unknown>;
|
|
36
45
|
now?: () => number;
|
|
37
46
|
serviceUrls?: {
|
|
38
47
|
webUrl: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-server.d.ts","sourceRoot":"","sources":["../../src/lib/setup-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAU5B,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"setup-server.d.ts","sourceRoot":"","sources":["../../src/lib/setup-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAU5B,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,eAAO,MAAM,qBAAqB,QAAkB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3D,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAOD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrF,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,QAAQ,EAAE,CACR,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5B,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,sGAAsG;IACtG,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/E,8FAA8F;IAC9F,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5E,2GAA2G;IAC3G,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACrF,6GAA6G;IAC7G,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,sGAAsG;IACtG,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvF,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5I,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzF,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAC5B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACzD,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC3C,UAAU,IAAI,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACtC;AAED,wBAAgB,cAAc,CAC5B,WAAW,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAA8B,GAC5D,MAAM,CAER;AA0BD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,eAAe,EAC/B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,eAAe,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAiB7C;AAoND,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAmuB9D;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuBjF"}
|