@knowzai/cli 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/assets/portable/releases.json +33 -0
  2. package/assets/selfhosted/.env.example +40 -0
  3. package/assets/selfhosted/docker-compose.mssql.yml +113 -0
  4. package/assets/selfhosted/docker-compose.yml +104 -0
  5. package/assets/selfhosted/lmstudio-azure-bridge.mjs +73 -0
  6. package/assets/selfhosted/releases.json +59 -0
  7. package/dist/.tsbuildinfo +1 -1
  8. package/dist/commands/down.d.ts +9 -0
  9. package/dist/commands/down.d.ts.map +1 -1
  10. package/dist/commands/down.js +16 -1
  11. package/dist/commands/down.js.map +1 -1
  12. package/dist/commands/up.d.ts +3 -27
  13. package/dist/commands/up.d.ts.map +1 -1
  14. package/dist/commands/up.js +25 -11
  15. package/dist/commands/up.js.map +1 -1
  16. package/dist/lib/platform-edition.d.ts +34 -0
  17. package/dist/lib/platform-edition.d.ts.map +1 -0
  18. package/dist/lib/platform-edition.js +47 -0
  19. package/dist/lib/platform-edition.js.map +1 -0
  20. package/dist/lib/platform-frontdoor-runtime.d.ts.map +1 -1
  21. package/dist/lib/platform-frontdoor-runtime.js +30 -10
  22. package/dist/lib/platform-frontdoor-runtime.js.map +1 -1
  23. package/dist/lib/platform-frontdoor.d.ts +10 -2
  24. package/dist/lib/platform-frontdoor.d.ts.map +1 -1
  25. package/dist/lib/platform-frontdoor.js +222 -122
  26. package/dist/lib/platform-frontdoor.js.map +1 -1
  27. package/dist/lib/platform-onboarding.d.ts +10 -0
  28. package/dist/lib/platform-onboarding.d.ts.map +1 -1
  29. package/dist/lib/platform-onboarding.js +21 -0
  30. package/dist/lib/platform-onboarding.js.map +1 -1
  31. package/dist/lib/platform-release-manifest.d.ts +1 -1
  32. package/dist/lib/platform-release-manifest.d.ts.map +1 -1
  33. package/dist/lib/platform-release-manifest.js.map +1 -1
  34. package/dist/lib/selfhosted-lifecycle.d.ts +96 -0
  35. package/dist/lib/selfhosted-lifecycle.d.ts.map +1 -0
  36. package/dist/lib/selfhosted-lifecycle.js +317 -0
  37. package/dist/lib/selfhosted-lifecycle.js.map +1 -0
  38. package/dist/lib/setup-console.d.ts +3 -0
  39. package/dist/lib/setup-console.d.ts.map +1 -1
  40. package/dist/lib/setup-console.js +35 -3
  41. package/dist/lib/setup-console.js.map +1 -1
  42. package/dist/lib/setup-page.d.ts.map +1 -1
  43. package/dist/lib/setup-page.js +34 -17
  44. package/dist/lib/setup-page.js.map +1 -1
  45. package/dist/lib/setup-plan.d.ts +2 -0
  46. package/dist/lib/setup-plan.d.ts.map +1 -1
  47. package/dist/lib/setup-plan.js +3 -1
  48. package/dist/lib/setup-plan.js.map +1 -1
  49. package/dist/lib/setup-server.d.ts.map +1 -1
  50. package/dist/lib/setup-server.js +20 -1
  51. package/dist/lib/setup-server.js.map +1 -1
  52. package/dist/lib/up-result.d.ts +46 -0
  53. package/dist/lib/up-result.d.ts.map +1 -0
  54. package/dist/lib/up-result.js +25 -0
  55. package/dist/lib/up-result.js.map +1 -0
  56. package/oclif.manifest.json +1814 -1800
  57. package/package.json +11 -10
@@ -11,7 +11,7 @@ export interface PlatformRelease {
11
11
  export interface PlatformReleaseManifest {
12
12
  releases: PlatformRelease[];
13
13
  }
14
- export type SelfServeErrorCode = 'RELEASE_CATALOG_UNAVAILABLE' | 'RELEASE_CATALOG_DISABLED' | 'RELEASE_NOT_PUBLISHED' | 'CLI_UPGRADE_REQUIRED' | 'INSTALLATION_REVOKED' | 'INSTALLATION_INVALID' | 'ACTIVATION_REQUIRED' | 'DEVICE_LINK_INCOMPLETE' | 'REGISTRY_AUTH_UNREACHABLE' | 'REGISTRY_PULL_FAILED';
14
+ export type SelfServeErrorCode = 'RELEASE_CATALOG_UNAVAILABLE' | 'RELEASE_CATALOG_DISABLED' | 'RELEASE_NOT_PUBLISHED' | 'CLI_UPGRADE_REQUIRED' | 'INSTALLATION_REVOKED' | 'INSTALLATION_INVALID' | 'ACTIVATION_REQUIRED' | 'DEVICE_LINK_INCOMPLETE' | 'REGISTRY_AUTH_UNREACHABLE' | 'REGISTRY_PULL_FAILED' | 'LICENSE_REQUIRED';
15
15
  export declare class PlatformReleaseCatalogHttpError extends Error {
16
16
  readonly status: number;
17
17
  constructor(status: number);
@@ -1 +1 @@
1
- {"version":3,"file":"platform-release-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/platform-release-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,cAAc,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAC1B,6BAA6B,GAC7B,0BAA0B,GAC1B,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,qBAAqB,GACrB,wBAAwB,GACxB,2BAA2B,GAC3B,sBAAsB,CAAC;AAE3B,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM;CAK3B;AAED,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;gBAGhC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,QAAQ,GAAE,aAA4B;CAMzC;AAqBD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAoCpF;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,qBAAqB,GAC5B,MAAM,GAAG,SAAS,CAOpB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,qBAAqB,CAAC;CAC/B,GAAG,MAAM,GAAG,SAAS,CAIrB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,qBAAqB,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAsD9C"}
1
+ {"version":3,"file":"platform-release-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/platform-release-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,cAAc,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAC1B,6BAA6B,GAC7B,0BAA0B,GAC1B,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,qBAAqB,GACrB,wBAAwB,GACxB,2BAA2B,GAC3B,sBAAsB,GACtB,kBAAkB,CAAC;AAEvB,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM;CAK3B;AAED,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;gBAGhC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,QAAQ,GAAE,aAA4B;CAMzC;AAqBD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAoCpF;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,qBAAqB,GAC5B,MAAM,GAAG,SAAS,CAOpB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,qBAAqB,CAAC;CAC/B,GAAG,MAAM,GAAG,SAAS,CAIrB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,qBAAqB,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAsD9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform-release-manifest.js","sourceRoot":"","sources":["../../src/lib/platform-release-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-release-manifest.js","sourceRoot":"","sources":["../../src/lib/platform-release-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { type PlatformState, type ProcessRunner, type OpenAiCompatibleProviderOptions } from './platform-runtime.js';
2
+ import type { PlatformCommandResult } from './platform-lifecycle.js';
3
+ export declare const STABLE_SELFHOSTED_RELEASE = "0.16.0";
4
+ export declare const SELFHOSTED_SECRET_KEYS: readonly ["POSTGRES_PASSWORD", "SA_PASSWORD", "JWT_SECRET", "ADMIN_PASSWORD", "MCP_SERVICE_KEY"];
5
+ export interface SelfHostedPaths {
6
+ root: string;
7
+ composeFile: string;
8
+ envFile: string;
9
+ stateFile: string;
10
+ }
11
+ export interface SelfHostedPlan {
12
+ name: string;
13
+ version: string;
14
+ composePlan: 'config-pull-up';
15
+ paths: SelfHostedPaths;
16
+ projectName: string;
17
+ ports: {
18
+ api: number;
19
+ web: number;
20
+ mcp: number;
21
+ };
22
+ }
23
+ export interface SelfHostedReleaseContract {
24
+ version: string;
25
+ status: 'complete';
26
+ runtime: {
27
+ database: 'postgres' | 'mssql';
28
+ composeAsset: string;
29
+ compatibleProviderAdapter?: string;
30
+ };
31
+ }
32
+ export interface SelfHostedState {
33
+ edition: 'selfhosted';
34
+ name: string;
35
+ version: string;
36
+ ports: {
37
+ api: number;
38
+ web: number;
39
+ mcp: number;
40
+ };
41
+ }
42
+ export declare function resolveSelfHostedPaths(name: string, configDir?: string): SelfHostedPaths;
43
+ export declare function resolvePackagedSelfHostedAssetsDir(): string;
44
+ export declare function newestSelfHostedRelease(releasesJson: string): string;
45
+ export declare function resolveSelfHostedReleaseContract(releasesJson: string, version: string): SelfHostedReleaseContract;
46
+ /**
47
+ * Host port for the database container, derived from the API port so two instances on one host
48
+ * (which must already differ on the API port) never collide on the database either.
49
+ * 5000 → 15432, 15016 → 25448. Wraps into the registered/dynamic range if the sum overflows.
50
+ */
51
+ export declare function defaultDbHostPort(apiPort: number): number;
52
+ export declare function buildSelfHostedEnvironment(plan: Pick<SelfHostedPlan, 'version' | 'ports'>, existingEnv?: Readonly<Record<string, string>>, randomBytes?: (size: number) => Uint8Array, openAiCompatible?: OpenAiCompatibleProviderOptions, adminPassword?: string, releaseContract?: SelfHostedReleaseContract): Record<string, string>;
53
+ export declare function assertSelfHostedComposeKit(composeText: string, database?: 'postgres' | 'mssql'): void;
54
+ export declare function selfHostedStackExists(name: string, configDir?: string, exists?: (path: string) => boolean): boolean;
55
+ export declare function planSelfHostedDown(name: string, configDir?: string, engine?: string): {
56
+ command: string;
57
+ args: string[];
58
+ paths: SelfHostedPaths;
59
+ };
60
+ export declare function planSelfHostedComposeInvocations(plan: SelfHostedPlan, engine?: string): Array<{
61
+ command: string;
62
+ args: string[];
63
+ }>;
64
+ export interface ApplySelfHostedInput {
65
+ name: string;
66
+ version?: string;
67
+ configDir?: string;
68
+ ports?: {
69
+ api?: number;
70
+ web?: number;
71
+ mcp?: number;
72
+ };
73
+ openAiCompatible?: OpenAiCompatibleProviderOptions;
74
+ adminPassword?: string;
75
+ }
76
+ export interface ApplySelfHostedDeps {
77
+ runner?: ProcessRunner;
78
+ randomBytes?: (size: number) => Uint8Array;
79
+ packagedAssetsDir?: string;
80
+ readFile?: (path: string) => string;
81
+ writeFile?: (path: string, contents: string, mode?: number) => void;
82
+ mkdir?: (path: string) => void;
83
+ exists?: (path: string) => boolean;
84
+ engine?: string;
85
+ }
86
+ export declare function applySelfHosted(input: ApplySelfHostedInput, deps?: ApplySelfHostedDeps): {
87
+ plan: SelfHostedPlan;
88
+ env: Record<string, string>;
89
+ state: SelfHostedState;
90
+ invocations: Array<{
91
+ command: string;
92
+ args: string[];
93
+ }>;
94
+ };
95
+ export declare function selfHostedToPlatformResult(applied: ReturnType<typeof applySelfHosted>, provider: PlatformState['provider'], now?: () => Date): PlatformCommandResult;
96
+ //# sourceMappingURL=selfhosted-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfhosted-lifecycle.d.ts","sourceRoot":"","sources":["../../src/lib/selfhosted-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,317 @@
1
+ import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { dirname, join } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { randomBytes as cryptoRandomBytes } from 'node:crypto';
6
+ import { generateAdminPassword, parseEnv, renderEnv, } from './platform-runtime.js';
7
+ export const STABLE_SELFHOSTED_RELEASE = '0.16.0';
8
+ export const SELFHOSTED_SECRET_KEYS = [
9
+ 'POSTGRES_PASSWORD',
10
+ 'SA_PASSWORD',
11
+ 'JWT_SECRET',
12
+ 'ADMIN_PASSWORD',
13
+ 'MCP_SERVICE_KEY',
14
+ ];
15
+ const FORBIDDEN_IMAGE_SUBSTRINGS = [
16
+ 'knowz-api',
17
+ 'knowz-worker',
18
+ 'knowz-public-site',
19
+ 'pull.knowz.io',
20
+ ];
21
+ export function resolveSelfHostedPaths(name, configDir) {
22
+ const root = join(configDir ?? join(homedir(), '.knowz'), 'selfhosted', name);
23
+ return {
24
+ root,
25
+ composeFile: join(root, 'docker-compose.yml'),
26
+ envFile: join(root, '.env'),
27
+ stateFile: join(root, 'state.json'),
28
+ };
29
+ }
30
+ export function resolvePackagedSelfHostedAssetsDir() {
31
+ return fileURLToPath(new URL('../../assets/selfhosted', import.meta.url));
32
+ }
33
+ export function newestSelfHostedRelease(releasesJson) {
34
+ const parsed = JSON.parse(releasesJson);
35
+ const version = parsed.releases?.find((release) => release.status !== 'incomplete')?.version?.trim();
36
+ if (!version)
37
+ throw new Error('deploy/selfhosted/releases.json has no releases[0].version');
38
+ return version;
39
+ }
40
+ function safePackagedAssetName(value, label) {
41
+ if (typeof value !== 'string' || !/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(value)) {
42
+ throw new Error(`Selfhosted release catalog has an invalid ${label}.`);
43
+ }
44
+ return value;
45
+ }
46
+ export function resolveSelfHostedReleaseContract(releasesJson, version) {
47
+ const parsed = JSON.parse(releasesJson);
48
+ const release = parsed.releases?.find((candidate) => candidate.version?.trim() === version);
49
+ if (!release) {
50
+ throw new Error(`Selfhosted release ${version} is not in this CLI's compatibility catalog. ` +
51
+ `Choose the recommended release ${STABLE_SELFHOSTED_RELEASE} or update @knowzai/cli.`);
52
+ }
53
+ if (release.status !== 'complete') {
54
+ throw new Error(`Selfhosted release ${version} is incomplete and cannot be started. ` +
55
+ `Choose the recommended release ${STABLE_SELFHOSTED_RELEASE}.`);
56
+ }
57
+ if (release.runtime?.database !== 'postgres' && release.runtime?.database !== 'mssql') {
58
+ throw new Error(`Selfhosted release ${version} has no supported database runtime contract.`);
59
+ }
60
+ return {
61
+ version,
62
+ status: 'complete',
63
+ runtime: {
64
+ database: release.runtime.database,
65
+ composeAsset: safePackagedAssetName(release.runtime.composeAsset, 'compose asset'),
66
+ ...(release.runtime.compatibleProviderAdapter
67
+ ? { compatibleProviderAdapter: safePackagedAssetName(release.runtime.compatibleProviderAdapter, 'compatible-provider adapter asset') }
68
+ : {}),
69
+ },
70
+ };
71
+ }
72
+ function generateSecret(randomBytes) {
73
+ return Buffer.from(randomBytes(32)).toString('base64url');
74
+ }
75
+ function present(value) {
76
+ return Boolean(value?.trim());
77
+ }
78
+ /**
79
+ * Host port for the database container, derived from the API port so two instances on one host
80
+ * (which must already differ on the API port) never collide on the database either.
81
+ * 5000 → 15432, 15016 → 25448. Wraps into the registered/dynamic range if the sum overflows.
82
+ */
83
+ export function defaultDbHostPort(apiPort) {
84
+ const candidate = apiPort + 10432;
85
+ if (candidate <= 65535)
86
+ return candidate;
87
+ return 1024 + ((candidate - 1024) % (65535 - 1024));
88
+ }
89
+ export function buildSelfHostedEnvironment(plan, existingEnv = {}, randomBytes = cryptoRandomBytes, openAiCompatible, adminPassword, releaseContract) {
90
+ const env = { ...existingEnv };
91
+ env.KNOWZ_SELFHOSTED_VERSION = plan.version;
92
+ env.API_PORT = String(plan.ports.api);
93
+ env.WEB_PORT = String(plan.ports.web);
94
+ env.MCP_PORT = String(plan.ports.mcp);
95
+ // The kit publishes the database on the host loopback as `${DB_PORT:-5432}`. The bare default
96
+ // collides with any local Postgres or a second Knowz instance, and a failed host bind leaves the
97
+ // db container with no network at all (the API then cannot resolve `db`). Derive a per-instance
98
+ // port from the API port on first apply and keep it stable across re-apply.
99
+ if (!present(env.DB_PORT))
100
+ env.DB_PORT = String(defaultDbHostPort(plan.ports.api));
101
+ const existingUser = env.ADMIN_USERNAME?.trim();
102
+ env.ADMIN_USERNAME = existingUser && existingUser.length > 0 ? existingUser : 'admin';
103
+ const hadAdminPassword = present(env.ADMIN_PASSWORD);
104
+ const explicitAdminPassword = adminPassword?.trim();
105
+ if (explicitAdminPassword)
106
+ env.ADMIN_PASSWORD = explicitAdminPassword;
107
+ for (const key of SELFHOSTED_SECRET_KEYS) {
108
+ if (!present(env[key])) {
109
+ env[key] = key === 'POSTGRES_PASSWORD' || key === 'SA_PASSWORD' || key === 'ADMIN_PASSWORD'
110
+ ? generateAdminPassword(randomBytes)
111
+ : generateSecret(randomBytes);
112
+ }
113
+ }
114
+ if (explicitAdminPassword) {
115
+ env.ADMIN_PASSWORD_REQUIRES_CHANGE = 'false';
116
+ }
117
+ else if (!hadAdminPassword) {
118
+ env.ADMIN_PASSWORD_REQUIRES_CHANGE = 'true';
119
+ }
120
+ else if (env.ADMIN_PASSWORD_REQUIRES_CHANGE !== 'true') {
121
+ // Backward-compatible upgrades: an existing password with no provenance
122
+ // marker was operator-managed and must not unexpectedly lock the account.
123
+ env.ADMIN_PASSWORD_REQUIRES_CHANGE = 'false';
124
+ }
125
+ if (openAiCompatible) {
126
+ const endpoint = openAiCompatible.endpoint?.trim();
127
+ if (endpoint)
128
+ env.OPENAI_COMPAT_ENDPOINT = containerReachableEndpoint(endpoint);
129
+ const apiKey = openAiCompatible.apiKey?.trim();
130
+ if (apiKey)
131
+ env.OPENAI_COMPAT_APIKEY = apiKey;
132
+ const chatModel = openAiCompatible.chatModel?.trim();
133
+ if (chatModel)
134
+ env.OPENAI_COMPAT_CHAT_MODEL = chatModel;
135
+ const embeddingModel = openAiCompatible.embeddingModel?.trim();
136
+ if (embeddingModel) {
137
+ env.OPENAI_COMPAT_EMBEDDING_MODEL = embeddingModel;
138
+ env.EMBEDDING_MODEL_NAME = embeddingModel;
139
+ }
140
+ if (openAiCompatible.embeddingDimensions !== undefined) {
141
+ env.EMBEDDING_DIMENSIONS = String(openAiCompatible.embeddingDimensions);
142
+ }
143
+ if (releaseContract?.runtime.database === 'mssql') {
144
+ env.AZURE_OPENAI_ENDPOINT = 'http://lmstudio-bridge:12345';
145
+ env.AZURE_OPENAI_APIKEY = env.OPENAI_COMPAT_APIKEY?.trim() || 'local-compatible-adapter';
146
+ if (env.OPENAI_COMPAT_CHAT_MODEL?.trim()) {
147
+ env.AZURE_OPENAI_DEPLOYMENT = env.OPENAI_COMPAT_CHAT_MODEL;
148
+ }
149
+ if (env.OPENAI_COMPAT_EMBEDDING_MODEL?.trim()) {
150
+ env.AZURE_OPENAI_EMBEDDING = env.OPENAI_COMPAT_EMBEDDING_MODEL;
151
+ }
152
+ }
153
+ }
154
+ return env;
155
+ }
156
+ function containerReachableEndpoint(endpoint) {
157
+ const url = new URL(endpoint);
158
+ if (url.hostname === 'localhost' || url.hostname === '127.0.0.1' || url.hostname === '[::1]') {
159
+ url.hostname = 'host.docker.internal';
160
+ }
161
+ return url.toString().replace(/\/$/, '');
162
+ }
163
+ export function assertSelfHostedComposeKit(composeText, database = 'postgres') {
164
+ for (const needle of FORBIDDEN_IMAGE_SUBSTRINGS) {
165
+ if (composeText.includes(needle)) {
166
+ throw new Error(`Selfhosted pull kit must not mention '${needle}' (portable/private IP).`);
167
+ }
168
+ }
169
+ for (const image of ['knowz-selfhosted-api', 'knowz-selfhosted-web', 'knowz-selfhosted-mcp']) {
170
+ if (!composeText.includes(`ghcr.io/knowz-io/${image}:`)) {
171
+ throw new Error(`Selfhosted pull kit is missing public image ${image}.`);
172
+ }
173
+ }
174
+ if (/MCP_SERVICE_KEY:-/.test(composeText)) {
175
+ throw new Error('Selfhosted pull kit must be fail-closed (no default MCP secret).');
176
+ }
177
+ if (database === 'postgres') {
178
+ if (/POSTGRES_PASSWORD:-/.test(composeText)) {
179
+ throw new Error('Selfhosted Postgres kit must be fail-closed (no default database secret).');
180
+ }
181
+ if (!composeText.includes('pgvector/pgvector') || composeText.includes('mssql') || composeText.includes('SA_PASSWORD')) {
182
+ throw new Error('Selfhosted Postgres kit must use Postgres/pgvector, not SQL Server Express.');
183
+ }
184
+ }
185
+ else {
186
+ if (/SA_PASSWORD:-/.test(composeText)) {
187
+ throw new Error('Selfhosted SQL kit must be fail-closed (no default database secret).');
188
+ }
189
+ if (!composeText.includes('mcr.microsoft.com/mssql') || !composeText.includes('SA_PASSWORD')) {
190
+ throw new Error('Selfhosted SQL release kit must use SQL Server and SA_PASSWORD.');
191
+ }
192
+ }
193
+ }
194
+ export function selfHostedStackExists(name, configDir, exists = existsSync) {
195
+ return exists(resolveSelfHostedPaths(name, configDir).stateFile);
196
+ }
197
+ export function planSelfHostedDown(name, configDir, engine = 'docker') {
198
+ const paths = resolveSelfHostedPaths(name, configDir);
199
+ return {
200
+ command: engine,
201
+ args: [
202
+ 'compose',
203
+ '--project-name',
204
+ `knowz-selfhosted-${name}`,
205
+ '--file',
206
+ paths.composeFile,
207
+ '--env-file',
208
+ paths.envFile,
209
+ 'down',
210
+ ],
211
+ paths,
212
+ };
213
+ }
214
+ export function planSelfHostedComposeInvocations(plan, engine = 'docker') {
215
+ const prefix = [
216
+ 'compose',
217
+ '--project-name',
218
+ plan.projectName,
219
+ '--file',
220
+ plan.paths.composeFile,
221
+ '--env-file',
222
+ plan.paths.envFile,
223
+ ];
224
+ return [
225
+ { command: engine, args: [...prefix, 'config'] },
226
+ { command: engine, args: [...prefix, 'pull'] },
227
+ { command: engine, args: [...prefix, 'up', '--detach', '--remove-orphans', '--wait'] },
228
+ ];
229
+ }
230
+ function defaultWriteFile(path, contents, mode) {
231
+ mkdirSync(dirname(path), { recursive: true });
232
+ writeFileSync(path, contents, { encoding: 'utf8' });
233
+ if (mode !== undefined)
234
+ chmodSync(path, mode);
235
+ }
236
+ export function applySelfHosted(input, deps = {}) {
237
+ const version = input.version?.trim() || STABLE_SELFHOSTED_RELEASE;
238
+ const paths = resolveSelfHostedPaths(input.name, input.configDir);
239
+ const plan = {
240
+ name: input.name,
241
+ version,
242
+ composePlan: 'config-pull-up',
243
+ paths,
244
+ projectName: `knowz-selfhosted-${input.name}`,
245
+ ports: {
246
+ api: input.ports?.api ?? 5000,
247
+ web: input.ports?.web ?? 3000,
248
+ mcp: input.ports?.mcp ?? 3001,
249
+ },
250
+ };
251
+ const assetsDir = deps.packagedAssetsDir ?? resolvePackagedSelfHostedAssetsDir();
252
+ const readFile = deps.readFile ?? ((path) => readFileSync(path, 'utf8'));
253
+ const writeFile = deps.writeFile ?? defaultWriteFile;
254
+ const mkdir = deps.mkdir ?? ((path) => mkdirSync(path, { recursive: true }));
255
+ const exists = deps.exists ?? existsSync;
256
+ const releaseContract = resolveSelfHostedReleaseContract(readFile(join(assetsDir, 'releases.json')), version);
257
+ const composeText = readFile(join(assetsDir, releaseContract.runtime.composeAsset));
258
+ assertSelfHostedComposeKit(composeText, releaseContract.runtime.database);
259
+ mkdir(paths.root);
260
+ writeFile(paths.composeFile, composeText);
261
+ if (releaseContract.runtime.compatibleProviderAdapter) {
262
+ const adapterName = releaseContract.runtime.compatibleProviderAdapter;
263
+ writeFile(join(paths.root, adapterName), readFile(join(assetsDir, adapterName)));
264
+ }
265
+ const existingEnv = exists(paths.envFile) ? parseEnv(readFile(paths.envFile)) : {};
266
+ const env = buildSelfHostedEnvironment(plan, existingEnv, deps.randomBytes, input.openAiCompatible, input.adminPassword, releaseContract);
267
+ writeFile(paths.envFile, renderEnv(env), 0o600);
268
+ const state = {
269
+ edition: 'selfhosted',
270
+ name: plan.name,
271
+ version: plan.version,
272
+ ports: plan.ports,
273
+ };
274
+ writeFile(paths.stateFile, `${JSON.stringify(state, null, 2)}\n`);
275
+ const invocations = planSelfHostedComposeInvocations(plan, deps.engine ?? 'docker');
276
+ if (deps.runner) {
277
+ for (const step of invocations) {
278
+ deps.runner(step.command, step.args, { cwd: paths.root, shell: false });
279
+ }
280
+ }
281
+ return { plan, env, state, invocations };
282
+ }
283
+ export function selfHostedToPlatformResult(applied, provider, now = () => new Date()) {
284
+ const { plan, state } = applied;
285
+ const urls = {
286
+ api: `http://localhost:${plan.ports.api}`,
287
+ web: `http://localhost:${plan.ports.web}`,
288
+ mcp: `http://localhost:${plan.ports.mcp}`,
289
+ publicSite: `http://localhost:${plan.ports.web}`,
290
+ };
291
+ return {
292
+ paths: {
293
+ runtimeDir: plan.paths.root,
294
+ composeFile: plan.paths.composeFile,
295
+ envFile: plan.paths.envFile,
296
+ stateFile: plan.paths.stateFile,
297
+ postgresInitDir: plan.paths.root,
298
+ },
299
+ state: {
300
+ schemaVersion: 1,
301
+ name: state.name,
302
+ version: state.version,
303
+ provider,
304
+ storage: 'filesystem',
305
+ imageFlavor: '',
306
+ axes: { ai: undefined, docIntelligence: 'None', vision: 'None', transcription: 'None' },
307
+ ports: { api: plan.ports.api, web: plan.ports.web, mcp: plan.ports.mcp, publicSite: plan.ports.web },
308
+ serviceUrls: urls,
309
+ components: { mcp: true, publicSite: false },
310
+ imageMode: 'pull',
311
+ updatedAt: now().toISOString(),
312
+ },
313
+ output: `Using public selfhosted images (${state.version}). Portable platform requires --edition=portable and an entitled key.`,
314
+ processResults: [],
315
+ };
316
+ }
317
+ //# sourceMappingURL=selfhosted-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfhosted-lifecycle.js","sourceRoot":"","sources":["../../src/lib/selfhosted-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type CredentialStore } from '@knowzai/core';
2
+ import { runFrontDoor } from './platform-frontdoor.js';
2
3
  import { type PlatformState } from './platform-runtime.js';
3
4
  import type { SetupLicenseStatus } from './setup-page.js';
4
5
  import { createSetupApp, mintSetupToken, type SetupCompletion, type StartedSetupServer } from './setup-server.js';
@@ -30,6 +31,7 @@ export interface SetupConsoleOptions {
30
31
  name: string;
31
32
  email: string;
32
33
  };
34
+ edition?: 'selfhosted' | 'portable';
33
35
  }
34
36
  export interface SetupConsoleDependencies {
35
37
  mintToken?: typeof mintSetupToken;
@@ -37,6 +39,7 @@ export interface SetupConsoleDependencies {
37
39
  startServer?: (app: ReturnType<typeof createSetupApp>) => Promise<StartedSetupServer>;
38
40
  openBrowser?: (url: string) => void;
39
41
  licenseStatus?: () => Promise<SetupLicenseStatus>;
42
+ runFrontDoor?: typeof runFrontDoor;
40
43
  }
41
44
  export declare function fetchSetupLicenseStatus(apiUrl: string, mothershipUrl: string, fetcher?: typeof globalThis.fetch): Promise<SetupLicenseStatus>;
42
45
  /** Host one browser session over the same `runFrontDoor` core used by terminal `knowz up`. */
@@ -1 +1 @@
1
- {"version":3,"file":"setup-console.d.ts","sourceRoot":"","sources":["../../src/lib/setup-console.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAQrE,OAAO,EAAqD,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,cAAc,EACd,cAAc,EAEd,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,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,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3C,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,OAAO,cAAc,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,cAAc,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtF,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnD;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,OAAO,UAAU,CAAC,KAAwB,GAClD,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAsDD,8FAA8F;AAC9F,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,mBAAmB,EAC5B,YAAY,GAAE,wBAA6B,GAC1C,OAAO,CAAC,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAiH5C"}
1
+ {"version":3,"file":"setup-console.d.ts","sourceRoot":"","sources":["../../src/lib/setup-console.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrE,OAAO,EAAqD,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI1G,OAAO,EAAqD,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EACL,cAAc,EACd,cAAc,EAEd,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,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,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3C,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,OAAO,cAAc,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,cAAc,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtF,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;CACpC;AAQD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,OAAO,UAAU,CAAC,KAAwB,GAClD,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAsDD,8FAA8F;AAC9F,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,mBAAmB,EAC5B,YAAY,GAAE,wBAA6B,GAC1C,OAAO,CAAC,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CA+I5C"}
@@ -9,7 +9,13 @@ import { discoverKnowzCloudModels, probeModel, probeProvider } from './platform-
9
9
  import { runDeviceCodeFlow } from './activate.js';
10
10
  import { nodeProcessRunner, parseEnv, resolvePlatformPaths } from './platform-runtime.js';
11
11
  import { deriveSetupFormSchema } from './setup-plan.js';
12
+ import { resolveSelfHostedPaths, STABLE_SELFHOSTED_RELEASE } from './selfhosted-lifecycle.js';
12
13
  import { createSetupApp, mintSetupToken, startSetupServer, } from './setup-server.js';
14
+ function asRecord(value) {
15
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
16
+ ? value
17
+ : undefined;
18
+ }
13
19
  export async function fetchSetupLicenseStatus(apiUrl, mothershipUrl, fetcher = globalThis.fetch) {
14
20
  const response = await fetcher(`${apiUrl.replace(/\/$/, '')}/api/info`, {
15
21
  headers: { accept: 'application/json' },
@@ -87,7 +93,9 @@ export async function launchSetupConsole(options, dependencies = {}) {
87
93
  const createApp = dependencies.createApp ?? createSetupApp;
88
94
  const startServer = dependencies.startServer ?? startSetupServer;
89
95
  const browser = dependencies.openBrowser ?? openBrowser;
96
+ const run = dependencies.runFrontDoor ?? runFrontDoor;
90
97
  const name = options.name ?? 'knowz';
98
+ const edition = options.edition === 'portable' ? 'portable' : 'selfhosted';
91
99
  const detectedState = currentState(name, options.configDir);
92
100
  const ports = {
93
101
  api: options.ports?.api ?? detectedState?.ports?.api ?? 5000,
@@ -102,7 +110,8 @@ export async function launchSetupConsole(options, dependencies = {}) {
102
110
  const planDefaults = {
103
111
  name,
104
112
  configDir: options.configDir,
105
- version: options.version ?? detectedState?.version ?? DEFAULT_PORTABLE_VERSION,
113
+ version: options.version ?? detectedState?.version ?? (edition === 'selfhosted' ? STABLE_SELFHOSTED_RELEASE : DEFAULT_PORTABLE_VERSION),
114
+ edition,
106
115
  provider: options.provider ?? detectedState?.provider,
107
116
  ports,
108
117
  storage: detectedState?.storage,
@@ -131,7 +140,9 @@ export async function launchSetupConsole(options, dependencies = {}) {
131
140
  input.versionExplicit =
132
141
  options.versionExplicit === true ||
133
142
  input.base.version !== planDefaults.version;
134
- return runFrontDoor(input, createPlatformFrontDoorDeps({
143
+ const targetPaths = resolveSelfHostedPaths(input.base.name, input.base.configDir);
144
+ const hadSelfHostedEnvironment = existsSync(targetPaths.envFile);
145
+ const result = await run(input, createPlatformFrontDoorDeps({
135
146
  store: options.store,
136
147
  cwd: options.cwd,
137
148
  env: options.env,
@@ -141,6 +152,25 @@ export async function launchSetupConsole(options, dependencies = {}) {
141
152
  validateProvider: true,
142
153
  emit: emitProgress,
143
154
  }));
155
+ if (input.edition !== 'portable' &&
156
+ !hadSelfHostedEnvironment &&
157
+ !input.superAdminPassphrase?.trim() &&
158
+ existsSync(targetPaths.envFile)) {
159
+ const env = parseEnv(readFileSync(targetPaths.envFile, 'utf8'));
160
+ const username = env.ADMIN_USERNAME?.trim();
161
+ const password = env.ADMIN_PASSWORD;
162
+ if (env.ADMIN_PASSWORD_REQUIRES_CHANGE === 'true' && username && password) {
163
+ registerSecret(password);
164
+ const record = asRecord(result);
165
+ if (record) {
166
+ return {
167
+ ...record,
168
+ oneTimeCredential: { username, password, generated: true },
169
+ };
170
+ }
171
+ }
172
+ }
173
+ return result;
144
174
  },
145
175
  probeProvider: (selection) => probeProvider(selection),
146
176
  probeModel: (selection) => probeModel(selection),
@@ -165,7 +195,9 @@ export async function launchSetupConsole(options, dependencies = {}) {
165
195
  mcpUrl: `http://localhost:${ports.mcp}`,
166
196
  publicSiteUrl: components.publicSite ? `http://localhost:${ports.publicSite}` : undefined,
167
197
  },
168
- credentialFilePath: resolvePlatformPaths(name, options.configDir).envFile,
198
+ credentialFilePath: edition === 'selfhosted'
199
+ ? resolveSelfHostedPaths(name, options.configDir).envFile
200
+ : resolvePlatformPaths(name, options.configDir).envFile,
169
201
  licenseStatus: dependencies.licenseStatus ?? (() => fetchSetupLicenseStatus(`http://localhost:${ports.api}`, mothershipUrl)),
170
202
  };
171
203
  const app = createApp(appDeps);