@powerhousedao/shared 6.2.2-dev.70 → 6.2.2-dev.72
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/dist/clis/args/access-token--9H57y8J.d.mts +18 -0
- package/dist/clis/args/access-token--9H57y8J.d.mts.map +1 -0
- package/dist/clis/args/access-token-To5LaIfL.mjs +22 -0
- package/dist/clis/args/access-token-To5LaIfL.mjs.map +1 -0
- package/dist/clis/args/access-token.d.mts +2 -18
- package/dist/clis/args/access-token.mjs +1 -21
- package/dist/clis/args/common-CcYbXrBx.mjs.map +1 -1
- package/dist/clis/args/{common-B_LcTLHX.d.mts → common-zPBoTNJF.d.mts} +3 -3
- package/dist/clis/args/{common-B_LcTLHX.d.mts.map → common-zPBoTNJF.d.mts.map} +1 -1
- package/dist/clis/args/common.d.mts +1 -1
- package/dist/clis/args/connect-BUwHSfdh.d.mts +443 -0
- package/dist/clis/args/connect-BUwHSfdh.d.mts.map +1 -0
- package/dist/clis/args/connect-BVVvCmL9.mjs +198 -0
- package/dist/clis/args/connect-BVVvCmL9.mjs.map +1 -0
- package/dist/clis/args/connect.d.mts +2 -443
- package/dist/clis/args/connect.mjs +1 -197
- package/dist/clis/args/{generate-CQ78RxVS.mjs → generate-CA916Fvj.mjs} +1 -1
- package/dist/clis/args/{generate-CQ78RxVS.mjs.map → generate-CA916Fvj.mjs.map} +1 -1
- package/dist/clis/args/generate-DnV-bfXt.d.mts +87 -0
- package/dist/clis/args/generate-DnV-bfXt.d.mts.map +1 -0
- package/dist/clis/args/generate.d.mts +2 -87
- package/dist/clis/args/generate.mjs +1 -1
- package/dist/clis/args/{help-Dk-d57W1.mjs → help-Bqbgbalu.mjs} +14 -14
- package/dist/clis/args/{help-Dk-d57W1.mjs.map → help-Bqbgbalu.mjs.map} +1 -1
- package/dist/clis/args/{help-CYjFrzIJ.d.mts → help-CjAsudUn.d.mts} +1 -1
- package/dist/clis/args/{help-CYjFrzIJ.d.mts.map → help-CjAsudUn.d.mts.map} +1 -1
- package/dist/clis/args/help.d.mts +1 -1
- package/dist/clis/args/help.mjs +1 -13
- package/dist/clis/args/index.d.mts +19 -19
- package/dist/clis/args/index.mjs +18 -18
- package/dist/clis/args/init-CUXyfquF.d.mts +55 -0
- package/dist/clis/args/init-CUXyfquF.d.mts.map +1 -0
- package/dist/clis/args/init-rz9Ei7nq.mjs +67 -0
- package/dist/clis/args/init-rz9Ei7nq.mjs.map +1 -0
- package/dist/clis/args/init.d.mts +2 -55
- package/dist/clis/args/init.mjs +1 -66
- package/dist/clis/args/inspect-DtZeoA5c.d.mts +15 -0
- package/dist/clis/args/inspect-DtZeoA5c.d.mts.map +1 -0
- package/dist/clis/args/inspect-tckH8mSw.mjs +15 -0
- package/dist/clis/args/inspect-tckH8mSw.mjs.map +1 -0
- package/dist/clis/args/inspect.d.mts +2 -15
- package/dist/clis/args/inspect.mjs +1 -14
- package/dist/clis/args/install-CkP8zcHb.d.mts +40 -0
- package/dist/clis/args/install-CkP8zcHb.d.mts.map +1 -0
- package/dist/clis/args/install-Sz2DlCHh.mjs +32 -0
- package/dist/clis/args/install-Sz2DlCHh.mjs.map +1 -0
- package/dist/clis/args/install.d.mts +2 -40
- package/dist/clis/args/install.mjs +1 -31
- package/dist/clis/args/list-BGf8s_gj.d.mts +12 -0
- package/dist/clis/args/list-BGf8s_gj.d.mts.map +1 -0
- package/dist/clis/args/list-DM2d6f1m.mjs +7 -0
- package/dist/clis/args/list-DM2d6f1m.mjs.map +1 -0
- package/dist/clis/args/list.d.mts +2 -12
- package/dist/clis/args/list.mjs +1 -6
- package/dist/clis/args/login-DNsHwvqk.d.mts +27 -0
- package/dist/clis/args/login-DNsHwvqk.d.mts.map +1 -0
- package/dist/clis/args/login-DiKT5Jfu.mjs +40 -0
- package/dist/clis/args/login-DiKT5Jfu.mjs.map +1 -0
- package/dist/clis/args/login.d.mts +2 -27
- package/dist/clis/args/login.mjs +1 -39
- package/dist/clis/args/magic-string.es-h_0HDQBQ.mjs +1013 -0
- package/dist/clis/args/magic-string.es-h_0HDQBQ.mjs.map +1 -0
- package/dist/clis/args/migrate-CG_gWc4k.mjs +29 -0
- package/dist/clis/args/migrate-CG_gWc4k.mjs.map +1 -0
- package/dist/clis/args/migrate-sixkWhxm.d.mts +21 -0
- package/dist/clis/args/migrate-sixkWhxm.d.mts.map +1 -0
- package/dist/clis/args/migrate.d.mts +2 -21
- package/dist/clis/args/migrate.mjs +1 -28
- package/dist/clis/args/publish-DDZYsUfV.mjs +19 -0
- package/dist/clis/args/publish-DDZYsUfV.mjs.map +1 -0
- package/dist/clis/args/publish-Dqe5DUst.d.mts +18 -0
- package/dist/clis/args/publish-Dqe5DUst.d.mts.map +1 -0
- package/dist/clis/args/publish.d.mts +2 -18
- package/dist/clis/args/publish.mjs +1 -18
- package/dist/clis/args/registry-C_OVFQmI.mjs +23 -0
- package/dist/clis/args/registry-C_OVFQmI.mjs.map +1 -0
- package/dist/clis/args/registry-C_RfTsKB.d.mts +19 -0
- package/dist/clis/args/registry-C_RfTsKB.d.mts.map +1 -0
- package/dist/clis/args/registry.d.mts +2 -19
- package/dist/clis/args/registry.mjs +1 -22
- package/dist/clis/args/service-CHOOr0Gg.mjs +11 -0
- package/dist/clis/args/service-CHOOr0Gg.mjs.map +1 -0
- package/dist/clis/args/{service-51afW_Hz.d.mts → service-DhIkf8-O.d.mts} +2 -2
- package/dist/clis/args/{service-51afW_Hz.d.mts.map → service-DhIkf8-O.d.mts.map} +1 -1
- package/dist/clis/args/service.d.mts +1 -1
- package/dist/clis/args/service.mjs +1 -10
- package/dist/clis/args/switchboard-BlPaq2at.d.mts +72 -0
- package/dist/clis/args/switchboard-BlPaq2at.d.mts.map +1 -0
- package/dist/clis/args/switchboard-Dsp7nosi.mjs +85 -0
- package/dist/clis/args/switchboard-Dsp7nosi.mjs.map +1 -0
- package/dist/clis/args/switchboard.d.mts +2 -72
- package/dist/clis/args/switchboard.mjs +1 -84
- package/dist/clis/args/uninstall-BpA3YYbw.d.mts +31 -0
- package/dist/clis/args/uninstall-BpA3YYbw.d.mts.map +1 -0
- package/dist/clis/args/uninstall-CTwTX0u_.mjs +16 -0
- package/dist/clis/args/uninstall-CTwTX0u_.mjs.map +1 -0
- package/dist/clis/args/uninstall.d.mts +2 -31
- package/dist/clis/args/uninstall.mjs +1 -15
- package/dist/clis/args/unpublish-BPMkGEg5.mjs +30 -0
- package/dist/clis/args/unpublish-BPMkGEg5.mjs.map +1 -0
- package/dist/clis/args/unpublish-CvwaIimG.d.mts +24 -0
- package/dist/clis/args/unpublish-CvwaIimG.d.mts.map +1 -0
- package/dist/clis/args/unpublish.d.mts +2 -24
- package/dist/clis/args/unpublish.mjs +1 -29
- package/dist/clis/args/vetra-DUhIB7Zk.d.mts +113 -0
- package/dist/clis/args/vetra-DUhIB7Zk.d.mts.map +1 -0
- package/dist/clis/args/vetra-b4KUu1Ax.mjs +126 -0
- package/dist/clis/args/vetra-b4KUu1Ax.mjs.map +1 -0
- package/dist/clis/args/vetra-ports.test.d.mts +1 -0
- package/dist/clis/args/vetra-ports.test.mjs +13249 -0
- package/dist/clis/args/vetra-ports.test.mjs.map +1 -0
- package/dist/clis/args/vetra.d.mts +2 -102
- package/dist/clis/args/vetra.mjs +2 -75
- package/dist/clis/constants.d.mts +8 -3
- package/dist/clis/constants.d.mts.map +1 -1
- package/dist/clis/constants.mjs +5 -1
- package/dist/clis/constants.mjs.map +1 -1
- package/dist/clis/index.d.mts +31 -12
- package/dist/clis/index.d.mts.map +1 -1
- package/dist/clis/index.mjs +65 -8
- package/dist/clis/index.mjs.map +1 -1
- package/dist/clis/project-env.d.mts +27 -0
- package/dist/clis/project-env.d.mts.map +1 -0
- package/dist/clis/project-env.mjs +44 -0
- package/dist/clis/project-env.mjs.map +1 -0
- package/dist/clis/project-ports.d.mts +40 -0
- package/dist/clis/project-ports.d.mts.map +1 -0
- package/dist/clis/project-ports.mjs +90 -0
- package/dist/clis/project-ports.mjs.map +1 -0
- package/dist/connect/config-loader.d.ts +1 -1
- package/dist/connect/index.d.ts +1 -1
- package/dist/document-drive/index.d.ts +2 -2
- package/dist/document-model/index.d.ts +2 -2
- package/dist/{index-ekNScCAT.d.ts → index-XtLa2ItI.d.ts} +2 -2
- package/dist/{index-ekNScCAT.d.ts.map → index-XtLa2ItI.d.ts.map} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/processors/index.d.ts +1 -1
- package/dist/registry/index.d.ts +2 -2
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/manifest-slim.d.ts +1 -1
- package/dist/{types-CwXhEcuT.d.ts → types-BWwUHbmn.d.ts} +4 -3
- package/dist/{types-CwXhEcuT.d.ts.map → types-BWwUHbmn.d.ts.map} +1 -1
- package/dist/{types-ssRxhjxu.d.ts → types-DagTInbG.d.ts} +2 -2
- package/dist/{types-ssRxhjxu.d.ts.map → types-DagTInbG.d.ts.map} +1 -1
- package/package.json +10 -1
- package/dist/clis/args/access-token.d.mts.map +0 -1
- package/dist/clis/args/access-token.mjs.map +0 -1
- package/dist/clis/args/connect.d.mts.map +0 -1
- package/dist/clis/args/connect.mjs.map +0 -1
- package/dist/clis/args/generate.d.mts.map +0 -1
- package/dist/clis/args/init.d.mts.map +0 -1
- package/dist/clis/args/init.mjs.map +0 -1
- package/dist/clis/args/inspect.d.mts.map +0 -1
- package/dist/clis/args/inspect.mjs.map +0 -1
- package/dist/clis/args/install.d.mts.map +0 -1
- package/dist/clis/args/install.mjs.map +0 -1
- package/dist/clis/args/list.d.mts.map +0 -1
- package/dist/clis/args/list.mjs.map +0 -1
- package/dist/clis/args/login.d.mts.map +0 -1
- package/dist/clis/args/login.mjs.map +0 -1
- package/dist/clis/args/migrate.d.mts.map +0 -1
- package/dist/clis/args/migrate.mjs.map +0 -1
- package/dist/clis/args/publish.d.mts.map +0 -1
- package/dist/clis/args/publish.mjs.map +0 -1
- package/dist/clis/args/registry.d.mts.map +0 -1
- package/dist/clis/args/registry.mjs.map +0 -1
- package/dist/clis/args/service.mjs.map +0 -1
- package/dist/clis/args/switchboard.d.mts.map +0 -1
- package/dist/clis/args/switchboard.mjs.map +0 -1
- package/dist/clis/args/uninstall.d.mts.map +0 -1
- package/dist/clis/args/uninstall.mjs.map +0 -1
- package/dist/clis/args/unpublish.d.mts.map +0 -1
- package/dist/clis/args/unpublish.mjs.map +0 -1
- package/dist/clis/args/vetra.d.mts.map +0 -1
- package/dist/clis/args/vetra.mjs.map +0 -1
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { C as DEFAULT_CONNECT_OUTDIR, T as DEFAULT_CONNECT_STUDIO_PORT, a as connectBasePath, b as renownSwitchboardUrl, g as logLevel, i as commonServerArgs, l as drivesPreserveStrategy, r as commonArgs, s as defaultDrivesUrl, w as DEFAULT_CONNECT_PREVIEW_PORT, y as renownNamespace } from "./common-CcYbXrBx.mjs";
|
|
2
|
+
import { boolean, flag, number, option, optional, positional, string } from "cmd-ts";
|
|
3
|
+
//#region clis/args/connect.ts
|
|
4
|
+
const cliBoolean = {
|
|
5
|
+
from: (input) => {
|
|
6
|
+
const v = input.toLowerCase();
|
|
7
|
+
if (v === "true") return Promise.resolve(true);
|
|
8
|
+
if (v === "false") return Promise.resolve(false);
|
|
9
|
+
return Promise.reject(/* @__PURE__ */ new Error(`Expected 'true' or 'false' (case-insensitive), got '${input}'.`));
|
|
10
|
+
},
|
|
11
|
+
description: "true | false"
|
|
12
|
+
};
|
|
13
|
+
const connectStudioArgs = {
|
|
14
|
+
port: option({
|
|
15
|
+
type: number,
|
|
16
|
+
long: "port",
|
|
17
|
+
description: "Port to run the dev server on.",
|
|
18
|
+
defaultValue: () => DEFAULT_CONNECT_STUDIO_PORT,
|
|
19
|
+
defaultValueIsSerializable: true
|
|
20
|
+
}),
|
|
21
|
+
renownNamespace,
|
|
22
|
+
...commonArgs,
|
|
23
|
+
...commonServerArgs
|
|
24
|
+
};
|
|
25
|
+
const connectRuntimeOverrideArgs = {
|
|
26
|
+
json: option({
|
|
27
|
+
type: optional(string),
|
|
28
|
+
long: "json",
|
|
29
|
+
description: "Inline JSON override for the runtime connect.* block, e.g. '{\"renown\":{\"url\":\"...\"}}'. Validated against the runtime schema; deep-merged on top of env seeds and source powerhouse.config.json. Individual --flag values beat --json on collision."
|
|
30
|
+
}),
|
|
31
|
+
renownUrl: option({
|
|
32
|
+
type: optional(string),
|
|
33
|
+
long: "renown-url",
|
|
34
|
+
description: "Override connect.renown.url."
|
|
35
|
+
}),
|
|
36
|
+
renownNetworkId: option({
|
|
37
|
+
type: optional(string),
|
|
38
|
+
long: "renown-network-id",
|
|
39
|
+
description: "Override connect.renown.networkId."
|
|
40
|
+
}),
|
|
41
|
+
renownChainId: option({
|
|
42
|
+
type: optional(number),
|
|
43
|
+
long: "renown-chain-id",
|
|
44
|
+
description: "Override connect.renown.chainId."
|
|
45
|
+
}),
|
|
46
|
+
renownNamespace,
|
|
47
|
+
renownSwitchboardUrl,
|
|
48
|
+
allowAddDrive: option({
|
|
49
|
+
type: optional(cliBoolean),
|
|
50
|
+
long: "allow-add-drive",
|
|
51
|
+
description: "Override connect.drives.allowAddDrive (top-level add-drive toggle)."
|
|
52
|
+
}),
|
|
53
|
+
externalPackages: option({
|
|
54
|
+
type: optional(cliBoolean),
|
|
55
|
+
long: "external-packages",
|
|
56
|
+
description: "Override connect.packages.externalEnabled."
|
|
57
|
+
}),
|
|
58
|
+
remoteDrivesEnabled: option({
|
|
59
|
+
type: optional(cliBoolean),
|
|
60
|
+
long: "remote-drives-enabled",
|
|
61
|
+
description: "Override connect.drives.sections.remote.enabled (the unified cloud+public section)."
|
|
62
|
+
}),
|
|
63
|
+
remoteDrivesAllowAdd: option({
|
|
64
|
+
type: optional(cliBoolean),
|
|
65
|
+
long: "remote-drives-allow-add",
|
|
66
|
+
description: "Override connect.drives.sections.remote.allowAdd."
|
|
67
|
+
}),
|
|
68
|
+
remoteDrivesAllowDelete: option({
|
|
69
|
+
type: optional(cliBoolean),
|
|
70
|
+
long: "remote-drives-allow-delete",
|
|
71
|
+
description: "Override connect.drives.sections.remote.allowDelete."
|
|
72
|
+
}),
|
|
73
|
+
localDrivesEnabled: option({
|
|
74
|
+
type: optional(cliBoolean),
|
|
75
|
+
long: "local-drives-enabled",
|
|
76
|
+
description: "Override connect.drives.sections.local.enabled."
|
|
77
|
+
}),
|
|
78
|
+
localDrivesAllowAdd: option({
|
|
79
|
+
type: optional(cliBoolean),
|
|
80
|
+
long: "local-drives-allow-add",
|
|
81
|
+
description: "Override connect.drives.sections.local.allowAdd."
|
|
82
|
+
}),
|
|
83
|
+
localDrivesAllowDelete: option({
|
|
84
|
+
type: optional(cliBoolean),
|
|
85
|
+
long: "local-drives-allow-delete",
|
|
86
|
+
description: "Override connect.drives.sections.local.allowDelete."
|
|
87
|
+
}),
|
|
88
|
+
packagesRegistry: option({
|
|
89
|
+
type: optional(string),
|
|
90
|
+
long: "packages-registry",
|
|
91
|
+
description: "Override the top-level packageRegistryUrl."
|
|
92
|
+
}),
|
|
93
|
+
appName: option({
|
|
94
|
+
type: optional(string),
|
|
95
|
+
long: "app-name",
|
|
96
|
+
description: "Override connect.branding.appName."
|
|
97
|
+
}),
|
|
98
|
+
homeBackground: option({
|
|
99
|
+
type: optional(string),
|
|
100
|
+
long: "home-background",
|
|
101
|
+
description: "Override connect.branding.homeBackground. URL or path to an image; pass an empty string (\"\") to reset to the bundled default."
|
|
102
|
+
}),
|
|
103
|
+
sentryDsn: option({
|
|
104
|
+
type: optional(string),
|
|
105
|
+
long: "sentry-dsn",
|
|
106
|
+
description: "Override connect.sentry.dsn (Sentry DSN URL). Pass an empty string (\"\") to set null and disable Sentry."
|
|
107
|
+
}),
|
|
108
|
+
sentryEnv: option({
|
|
109
|
+
type: optional(string),
|
|
110
|
+
long: "sentry-env",
|
|
111
|
+
description: "Override connect.sentry.env (Sentry environment label)."
|
|
112
|
+
}),
|
|
113
|
+
sentryTracingEnabled: option({
|
|
114
|
+
type: optional(cliBoolean),
|
|
115
|
+
long: "sentry-tracing-enabled",
|
|
116
|
+
description: "Override connect.sentry.tracing (Sentry performance tracing)."
|
|
117
|
+
})
|
|
118
|
+
};
|
|
119
|
+
const connectPositionalArgs = {
|
|
120
|
+
keyPositional: positional({
|
|
121
|
+
type: optional(string),
|
|
122
|
+
displayName: "key",
|
|
123
|
+
description: "Dotted path inside the runtime config (e.g. connect.renown.url). Pair with <value> to set; pass alone to `ph connect config` to read."
|
|
124
|
+
}),
|
|
125
|
+
valuePositional: positional({
|
|
126
|
+
type: optional(string),
|
|
127
|
+
displayName: "value",
|
|
128
|
+
description: "Value to set at <key>. Coerced against the runtime schema (string, bool, number, enum). Arrays and objects require --json instead."
|
|
129
|
+
})
|
|
130
|
+
};
|
|
131
|
+
const connectBuildArgs = {
|
|
132
|
+
outDir: option({
|
|
133
|
+
type: string,
|
|
134
|
+
long: "outDir",
|
|
135
|
+
description: "Output directory",
|
|
136
|
+
defaultValue: () => DEFAULT_CONNECT_OUTDIR,
|
|
137
|
+
defaultValueIsSerializable: true
|
|
138
|
+
}),
|
|
139
|
+
...connectRuntimeOverrideArgs,
|
|
140
|
+
...connectPositionalArgs,
|
|
141
|
+
dynamicBase: flag({
|
|
142
|
+
type: optional(boolean),
|
|
143
|
+
long: "dynamic-base",
|
|
144
|
+
description: "Build one bundle that serves under any subpath; base resolved at serve time from a runtime global. Overrides --base."
|
|
145
|
+
}),
|
|
146
|
+
favicon: option({
|
|
147
|
+
type: optional(string),
|
|
148
|
+
long: "favicon",
|
|
149
|
+
description: "Path to a favicon file (e.g. .ico) to bundle in place of the default Connect icon. Emitted as icon.ico; resolved relative to the build cwd."
|
|
150
|
+
}),
|
|
151
|
+
...commonArgs
|
|
152
|
+
};
|
|
153
|
+
const connectPreviewArgs = {
|
|
154
|
+
port: option({
|
|
155
|
+
type: number,
|
|
156
|
+
long: "port",
|
|
157
|
+
description: "Port to run the preview server on.",
|
|
158
|
+
defaultValue: () => DEFAULT_CONNECT_PREVIEW_PORT,
|
|
159
|
+
defaultValueIsSerializable: true
|
|
160
|
+
}),
|
|
161
|
+
outDir: option({
|
|
162
|
+
type: string,
|
|
163
|
+
long: "outDir",
|
|
164
|
+
description: "Output directory",
|
|
165
|
+
defaultValue: () => DEFAULT_CONNECT_OUTDIR,
|
|
166
|
+
defaultValueIsSerializable: true
|
|
167
|
+
}),
|
|
168
|
+
...commonArgs,
|
|
169
|
+
...commonServerArgs
|
|
170
|
+
};
|
|
171
|
+
const connectConfigArgs = {
|
|
172
|
+
get: option({
|
|
173
|
+
type: optional(string),
|
|
174
|
+
long: "get",
|
|
175
|
+
description: "Dotted path inside connect.* (e.g. \"connect.renown.url\") to read the effective value. Mutually exclusive with the set modes. Equivalent to `ph connect config <key>` (positional)."
|
|
176
|
+
}),
|
|
177
|
+
distDir: option({
|
|
178
|
+
type: optional(string),
|
|
179
|
+
long: "dist-dir",
|
|
180
|
+
description: "Path to the directory containing the dist powerhouse.config.json. Defaults to the PH_CONNECT_OUTDIR env or `.ph/connect-build/dist/`."
|
|
181
|
+
}),
|
|
182
|
+
...connectRuntimeOverrideArgs,
|
|
183
|
+
...connectPositionalArgs,
|
|
184
|
+
connectBasePath,
|
|
185
|
+
logLevel,
|
|
186
|
+
defaultDrivesUrl,
|
|
187
|
+
drivesPreserveStrategy
|
|
188
|
+
};
|
|
189
|
+
const connectArgs = {
|
|
190
|
+
...connectStudioArgs,
|
|
191
|
+
...connectBuildArgs,
|
|
192
|
+
...connectPreviewArgs,
|
|
193
|
+
...connectConfigArgs
|
|
194
|
+
};
|
|
195
|
+
//#endregion
|
|
196
|
+
export { connectStudioArgs as a, connectPreviewArgs as i, connectBuildArgs as n, connectConfigArgs as r, connectArgs as t };
|
|
197
|
+
|
|
198
|
+
//# sourceMappingURL=connect-BVVvCmL9.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-BVVvCmL9.mjs","names":[],"sources":["../../../clis/args/connect.ts"],"sourcesContent":["import type { Type } from \"cmd-ts\";\nimport {\n boolean,\n flag,\n number,\n option,\n optional,\n positional,\n string,\n} from \"cmd-ts\";\nimport {\n DEFAULT_CONNECT_OUTDIR,\n DEFAULT_CONNECT_PREVIEW_PORT,\n DEFAULT_CONNECT_STUDIO_PORT,\n} from \"../constants.js\";\nimport {\n commonArgs,\n commonServerArgs,\n connectBasePath,\n defaultDrivesUrl,\n drivesPreserveStrategy,\n logLevel,\n renownNamespace,\n renownSwitchboardUrl,\n} from \"./common.js\";\n\n// cmd-ts's built-in `boolean` is intended for `flag()` (presence/absence). With\n// `option()` we need to parse the next argv as a value, but cmd-ts's `boolean`\n// does not coerce the string. This custom Type does.\nconst cliBoolean: Type<string, boolean> = {\n from: (input) => {\n const v = input.toLowerCase();\n if (v === \"true\") return Promise.resolve(true);\n if (v === \"false\") return Promise.resolve(false);\n return Promise.reject(\n new Error(\n `Expected 'true' or 'false' (case-insensitive), got '${input}'.`,\n ),\n );\n },\n description: \"true | false\",\n};\n\nexport const connectStudioArgs = {\n port: option({\n type: number,\n long: \"port\",\n description: \"Port to run the dev server on.\",\n defaultValue: () => DEFAULT_CONNECT_STUDIO_PORT,\n defaultValueIsSerializable: true,\n }),\n renownNamespace,\n ...commonArgs,\n ...commonServerArgs,\n};\n\n// Runtime-config override flags. Each is optional with no default — undefined\n// means \"user did not pass this flag\", so runConnectBuild can include only\n// explicitly-set values in `cliConnectOverride` and avoid clobbering source\n// `powerhouse.config.json` values when no override was intended.\n//\n// These flags occupy the top of the precedence ladder for the runtime config\n// emitted into `dist/powerhouse.config.json`:\n//\n// DEFAULT_CONNECT_CONFIG < source connect.* < --json < individual --flag\n//\n// `--json` accepts a partial `connect.*` blob (e.g. `{\"renown\":{\"url\":\"...\"}}`).\n// Individual flags merge on top of `--json` inside the same CLI layer, so they\n// win on collision. Env vars are NOT part of this build-time merge;\n// PH_CONNECT_CONFIG_JSON is applied to the dist file at container start by\n// the Docker entrypoint (operator-wins: concrete values override the baked\n// file, null/omitted keep it; connect.app.basePath excluded).\nconst connectRuntimeOverrideArgs = {\n json: option({\n type: optional(string),\n long: \"json\",\n description:\n 'Inline JSON override for the runtime connect.* block, e.g. \\'{\"renown\":{\"url\":\"...\"}}\\'. Validated against the runtime schema; deep-merged on top of env seeds and source powerhouse.config.json. Individual --flag values beat --json on collision.',\n }),\n renownUrl: option({\n type: optional(string),\n long: \"renown-url\",\n description: \"Override connect.renown.url.\",\n }),\n renownNetworkId: option({\n type: optional(string),\n long: \"renown-network-id\",\n description: \"Override connect.renown.networkId.\",\n }),\n renownChainId: option({\n type: optional(number),\n long: \"renown-chain-id\",\n description: \"Override connect.renown.chainId.\",\n }),\n renownNamespace,\n renownSwitchboardUrl,\n allowAddDrive: option({\n type: optional(cliBoolean),\n long: \"allow-add-drive\",\n description:\n \"Override connect.drives.allowAddDrive (top-level add-drive toggle).\",\n }),\n externalPackages: option({\n type: optional(cliBoolean),\n long: \"external-packages\",\n description: \"Override connect.packages.externalEnabled.\",\n }),\n remoteDrivesEnabled: option({\n type: optional(cliBoolean),\n long: \"remote-drives-enabled\",\n description:\n \"Override connect.drives.sections.remote.enabled (the unified cloud+public section).\",\n }),\n remoteDrivesAllowAdd: option({\n type: optional(cliBoolean),\n long: \"remote-drives-allow-add\",\n description: \"Override connect.drives.sections.remote.allowAdd.\",\n }),\n remoteDrivesAllowDelete: option({\n type: optional(cliBoolean),\n long: \"remote-drives-allow-delete\",\n description: \"Override connect.drives.sections.remote.allowDelete.\",\n }),\n localDrivesEnabled: option({\n type: optional(cliBoolean),\n long: \"local-drives-enabled\",\n description: \"Override connect.drives.sections.local.enabled.\",\n }),\n localDrivesAllowAdd: option({\n type: optional(cliBoolean),\n long: \"local-drives-allow-add\",\n description: \"Override connect.drives.sections.local.allowAdd.\",\n }),\n localDrivesAllowDelete: option({\n type: optional(cliBoolean),\n long: \"local-drives-allow-delete\",\n description: \"Override connect.drives.sections.local.allowDelete.\",\n }),\n packagesRegistry: option({\n type: optional(string),\n long: \"packages-registry\",\n description: \"Override the top-level packageRegistryUrl.\",\n }),\n appName: option({\n type: optional(string),\n long: \"app-name\",\n description: \"Override connect.branding.appName.\",\n }),\n homeBackground: option({\n type: optional(string),\n long: \"home-background\",\n description:\n 'Override connect.branding.homeBackground. URL or path to an image; pass an empty string (\"\") to reset to the bundled default.',\n }),\n sentryDsn: option({\n type: optional(string),\n long: \"sentry-dsn\",\n description:\n 'Override connect.sentry.dsn (Sentry DSN URL). Pass an empty string (\"\") to set null and disable Sentry.',\n }),\n sentryEnv: option({\n type: optional(string),\n long: \"sentry-env\",\n description: \"Override connect.sentry.env (Sentry environment label).\",\n }),\n sentryTracingEnabled: option({\n type: optional(cliBoolean),\n long: \"sentry-tracing-enabled\",\n description:\n \"Override connect.sentry.tracing (Sentry performance tracing).\",\n }),\n};\n\n// Positional pair shared by `ph connect build` and `ph connect config`. Both\n// commands accept `<key> <value>` to set a single runtime-config field; `config`\n// additionally accepts `<key>` alone for read-mode (`build` rejects the\n// 1-positional case because it has no read semantics). Both are optional in the\n// parser; the handler enforces the per-command shape.\nconst connectPositionalArgs = {\n keyPositional: positional({\n type: optional(string),\n displayName: \"key\",\n description:\n \"Dotted path inside the runtime config (e.g. connect.renown.url). Pair with <value> to set; pass alone to `ph connect config` to read.\",\n }),\n valuePositional: positional({\n type: optional(string),\n displayName: \"value\",\n description:\n \"Value to set at <key>. Coerced against the runtime schema (string, bool, number, enum). Arrays and objects require --json instead.\",\n }),\n};\n\nexport const connectBuildArgs = {\n outDir: option({\n type: string,\n long: \"outDir\",\n description: \"Output directory\",\n defaultValue: () => DEFAULT_CONNECT_OUTDIR,\n defaultValueIsSerializable: true,\n }),\n ...connectRuntimeOverrideArgs,\n ...connectPositionalArgs,\n dynamicBase: flag({\n type: optional(boolean),\n long: \"dynamic-base\",\n description:\n \"Build one bundle that serves under any subpath; base resolved at serve time from a runtime global. Overrides --base.\",\n }),\n favicon: option({\n type: optional(string),\n long: \"favicon\",\n description:\n \"Path to a favicon file (e.g. .ico) to bundle in place of the default Connect icon. Emitted as icon.ico; resolved relative to the build cwd.\",\n }),\n ...commonArgs,\n};\n\nexport const connectPreviewArgs = {\n port: option({\n type: number,\n long: \"port\",\n description: \"Port to run the preview server on.\",\n defaultValue: () => DEFAULT_CONNECT_PREVIEW_PORT,\n defaultValueIsSerializable: true,\n }),\n outDir: option({\n type: string,\n long: \"outDir\",\n description: \"Output directory\",\n defaultValue: () => DEFAULT_CONNECT_OUTDIR,\n defaultValueIsSerializable: true,\n }),\n ...commonArgs,\n ...commonServerArgs,\n};\n\n// `ph connect config` — read, set, or list the runtime config under the\n// `connect.*` block of the dist `powerhouse.config.json`.\n//\n// Mode matrix (exactly one mode per invocation; mutex enforced in\n// `runConnectConfig`):\n//\n// ph connect config → list (print effective merged config)\n// ph connect config <key> → get one value at the dotted key (positional)\n// ph connect config --get <dotted.path> → same as positional <key> (kept for backward compat)\n// ph connect config <key> <value> → set + dual-write to source + dist (positional)\n// ph connect config --<field> <value> → set + dual-write via per-field flag\n// ph connect config --json '{\"…\":\"…\"}' → bulk set + dual-write\n//\n// The 15 field flags below come from `connectRuntimeOverrideArgs`, so\n// `config` and `build` share an identical surface for runtime fields. The 4\n// flags imported individually from `common.ts` (`connectBasePath` /\n// `logLevel` / `defaultDrivesUrl` / `drivesPreserveStrategy`) extend that to\n// 19-flag coverage. The positional `<key>`/`<value>` pair is also shared with\n// `ph connect build` so both commands accept the same set-mode grammar.\n// `--dist-dir` lets Docker / non-default deployments point at a custom dist\n// location; falls back to PH_CONNECT_OUTDIR env, then to the standard\n// `.ph/connect-build/dist/` path.\n//\n// NOTE: the 4 commonArgs flags have built-in cmd-ts defaults\n// (e.g. logLevel=\"info\"), so always parse as defined. The service detects\n// \"user explicitly passed this flag\" via process.argv inspection — see\n// `clis/ph-cli/src/utils/cli-connect-override.ts:wasFlagExplicitlyPassed`.\nexport const connectConfigArgs = {\n get: option({\n type: optional(string),\n long: \"get\",\n description:\n 'Dotted path inside connect.* (e.g. \"connect.renown.url\") to read the effective value. Mutually exclusive with the set modes. Equivalent to `ph connect config <key>` (positional).',\n }),\n distDir: option({\n type: optional(string),\n long: \"dist-dir\",\n description:\n \"Path to the directory containing the dist powerhouse.config.json. Defaults to the PH_CONNECT_OUTDIR env or `.ph/connect-build/dist/`.\",\n }),\n ...connectRuntimeOverrideArgs,\n ...connectPositionalArgs,\n connectBasePath,\n logLevel,\n defaultDrivesUrl,\n drivesPreserveStrategy,\n};\n\nexport const connectArgs = {\n ...connectStudioArgs,\n ...connectBuildArgs,\n ...connectPreviewArgs,\n ...connectConfigArgs,\n};\n"],"mappings":"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"}
|