@powerhousedao/shared 6.2.3-dev.13 → 6.2.3-dev.14

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 (113) hide show
  1. package/dist/clis/args/{access-token-zW_7Brog.mjs → access-token-Bf1K1Fpc.mjs} +2 -2
  2. package/dist/clis/args/{access-token-zW_7Brog.mjs.map → access-token-Bf1K1Fpc.mjs.map} +1 -1
  3. package/dist/clis/args/access-token.mjs +1 -1
  4. package/dist/clis/args/{common-BT8ABM57.mjs → common-BpnFLR-_.mjs} +13 -5
  5. package/dist/clis/args/common-BpnFLR-_.mjs.map +1 -0
  6. package/dist/clis/args/{common-rEpM4Oqq.d.mts → common-yKU4B741.d.mts} +3 -3
  7. package/dist/clis/args/{common-rEpM4Oqq.d.mts.map → common-yKU4B741.d.mts.map} +1 -1
  8. package/dist/clis/args/common.d.mts +1 -1
  9. package/dist/clis/args/common.mjs +1 -1
  10. package/dist/clis/args/{connect-Du3Us5tQ.mjs → connect-ByiLv365.mjs} +2 -2
  11. package/dist/clis/args/{connect-Du3Us5tQ.mjs.map → connect-ByiLv365.mjs.map} +1 -1
  12. package/dist/clis/args/connect.mjs +1 -1
  13. package/dist/clis/args/{generate-DkFqeNX3.mjs → generate-0aR1N6J5.mjs} +2 -2
  14. package/dist/clis/args/{generate-DkFqeNX3.mjs.map → generate-0aR1N6J5.mjs.map} +1 -1
  15. package/dist/clis/args/generate.mjs +1 -1
  16. package/dist/clis/args/{help-stFOz1hp.mjs → help-CEw7OZ9E.mjs} +15 -15
  17. package/dist/clis/args/{help-stFOz1hp.mjs.map → help-CEw7OZ9E.mjs.map} +1 -1
  18. package/dist/clis/args/help.mjs +1 -1
  19. package/dist/clis/args/index.d.mts +3 -3
  20. package/dist/clis/args/index.mjs +18 -18
  21. package/dist/clis/args/{init-Bu8-Ovk8.mjs → init-DBYYsV0Y.mjs} +2 -2
  22. package/dist/clis/args/{init-Bu8-Ovk8.mjs.map → init-DBYYsV0Y.mjs.map} +1 -1
  23. package/dist/clis/args/init.mjs +1 -1
  24. package/dist/clis/args/{inspect-GjiR0Qqd.mjs → inspect-BzBsZ0UO.mjs} +2 -2
  25. package/dist/clis/args/{inspect-GjiR0Qqd.mjs.map → inspect-BzBsZ0UO.mjs.map} +1 -1
  26. package/dist/clis/args/inspect.mjs +1 -1
  27. package/dist/clis/args/{install-B2hLryPk.mjs → install-D0jaysiP.mjs} +2 -2
  28. package/dist/clis/args/{install-B2hLryPk.mjs.map → install-D0jaysiP.mjs.map} +1 -1
  29. package/dist/clis/args/install.mjs +1 -1
  30. package/dist/clis/args/{list-O6VmV3Cw.mjs → list-BaO47Btz.mjs} +2 -2
  31. package/dist/clis/args/{list-O6VmV3Cw.mjs.map → list-BaO47Btz.mjs.map} +1 -1
  32. package/dist/clis/args/list.mjs +1 -1
  33. package/dist/clis/args/{login-BWXdMfMX.mjs → login-DM-qhiYI.mjs} +2 -2
  34. package/dist/clis/args/{login-BWXdMfMX.mjs.map → login-DM-qhiYI.mjs.map} +1 -1
  35. package/dist/clis/args/login.mjs +1 -1
  36. package/dist/clis/args/{migrate-3MTmDiXt.mjs → migrate-EitaI7jq.mjs} +2 -2
  37. package/dist/clis/args/{migrate-3MTmDiXt.mjs.map → migrate-EitaI7jq.mjs.map} +1 -1
  38. package/dist/clis/args/migrate.mjs +1 -1
  39. package/dist/clis/args/{publish--zdKYIOl.mjs → publish-DfMF3Nmc.mjs} +2 -2
  40. package/dist/clis/args/{publish--zdKYIOl.mjs.map → publish-DfMF3Nmc.mjs.map} +1 -1
  41. package/dist/clis/args/publish.mjs +1 -1
  42. package/dist/clis/args/{registry-BNVeE6qR.mjs → registry-Di1tZqbn.mjs} +2 -2
  43. package/dist/clis/args/{registry-BNVeE6qR.mjs.map → registry-Di1tZqbn.mjs.map} +1 -1
  44. package/dist/clis/args/registry.mjs +1 -1
  45. package/dist/clis/args/{service-Cou6l7l8.d.mts → service-DhIkf8-O.d.mts} +2 -2
  46. package/dist/clis/args/{service-Cou6l7l8.d.mts.map → service-DhIkf8-O.d.mts.map} +1 -1
  47. package/dist/clis/args/{service-x6wsNujS.mjs → service-jRX2qPul.mjs} +2 -2
  48. package/dist/clis/args/{service-x6wsNujS.mjs.map → service-jRX2qPul.mjs.map} +1 -1
  49. package/dist/clis/args/service.d.mts +1 -1
  50. package/dist/clis/args/service.mjs +1 -1
  51. package/dist/clis/args/{switchboard-Cryy_3Qc.mjs → switchboard-BhR-ZwGV.mjs} +2 -2
  52. package/dist/clis/args/{switchboard-Cryy_3Qc.mjs.map → switchboard-BhR-ZwGV.mjs.map} +1 -1
  53. package/dist/clis/args/switchboard.mjs +1 -1
  54. package/dist/clis/args/{uninstall-DQUsLzCG.mjs → uninstall-diefi70g.mjs} +2 -2
  55. package/dist/clis/args/{uninstall-DQUsLzCG.mjs.map → uninstall-diefi70g.mjs.map} +1 -1
  56. package/dist/clis/args/uninstall.mjs +1 -1
  57. package/dist/clis/args/{unpublish-CeDsvgMv.mjs → unpublish-C6eNRzsU.mjs} +2 -2
  58. package/dist/clis/args/{unpublish-CeDsvgMv.mjs.map → unpublish-C6eNRzsU.mjs.map} +1 -1
  59. package/dist/clis/args/unpublish.mjs +1 -1
  60. package/dist/clis/args/{vetra-DLQ6lhLl.d.mts → vetra-CoMvTJK7.d.mts} +2 -2
  61. package/dist/clis/args/{vetra-DLQ6lhLl.d.mts.map → vetra-CoMvTJK7.d.mts.map} +1 -1
  62. package/dist/clis/args/{vetra-pYJXVf_o.mjs → vetra-DV0zQzba.mjs} +2 -2
  63. package/dist/clis/args/{vetra-pYJXVf_o.mjs.map → vetra-DV0zQzba.mjs.map} +1 -1
  64. package/dist/clis/args/vetra-ports.test.mjs +4 -4
  65. package/dist/clis/args/vetra-ports.test.mjs.map +1 -1
  66. package/dist/clis/args/vetra.d.mts +1 -1
  67. package/dist/clis/args/vetra.mjs +1 -1
  68. package/dist/clis/build-config-BkfXtfV8.mjs +230 -0
  69. package/dist/clis/build-config-BkfXtfV8.mjs.map +1 -0
  70. package/dist/clis/build-config.d.mts +16 -10617
  71. package/dist/clis/build-config.d.mts.map +1 -1
  72. package/dist/clis/build-config.mjs +2 -208
  73. package/dist/clis/build-pieces.d.mts +95 -0
  74. package/dist/clis/build-pieces.d.mts.map +1 -0
  75. package/dist/clis/build-pieces.mjs +363 -0
  76. package/dist/clis/build-pieces.mjs.map +1 -0
  77. package/dist/clis/constants.d.mts +2 -479
  78. package/dist/clis/constants.mjs +14 -5
  79. package/dist/clis/constants.mjs.map +1 -1
  80. package/dist/clis/index-CyAv0ucZ.d.mts +10619 -0
  81. package/dist/clis/index-CyAv0ucZ.d.mts.map +1 -0
  82. package/dist/clis/index.d.mts +21 -10
  83. package/dist/clis/index.d.mts.map +1 -1
  84. package/dist/clis/index.mjs +14 -5
  85. package/dist/clis/index.mjs.map +1 -1
  86. package/dist/clis/types-D17YQuYG.d.mts +490 -0
  87. package/dist/clis/types-D17YQuYG.d.mts.map +1 -0
  88. package/dist/connect/config-loader.d.ts +1 -1
  89. package/dist/connect/index.d.ts +1 -1
  90. package/dist/document-drive/index.d.ts +2 -2
  91. package/dist/document-model/index.d.ts +3 -3
  92. package/dist/document-model/index.js +9 -2
  93. package/dist/document-model/index.js.map +1 -1
  94. package/dist/{index-DWS2M59v.d.ts → index-B6CAmhxM.d.ts} +2 -2
  95. package/dist/{index-DWS2M59v.d.ts.map → index-B6CAmhxM.d.ts.map} +1 -1
  96. package/dist/index.d.ts +3 -3
  97. package/dist/processors/index.d.ts +1 -1
  98. package/dist/registry/index.d.ts +2 -2
  99. package/dist/registry/index.js +12 -4
  100. package/dist/registry/index.js.map +1 -1
  101. package/dist/registry/manifest-slim.d.ts +1 -1
  102. package/dist/registry/manifest-slim.d.ts.map +1 -1
  103. package/dist/registry/manifest-slim.js +22 -2
  104. package/dist/registry/manifest-slim.js.map +1 -1
  105. package/dist/{types-KwFsKkFJ.d.ts → types-BRWMm6VM.d.ts} +2 -2
  106. package/dist/{types-KwFsKkFJ.d.ts.map → types-BRWMm6VM.d.ts.map} +1 -1
  107. package/dist/{types-DX5QXaOU.d.ts → types-CtCDvH7x.d.ts} +25 -2
  108. package/dist/types-CtCDvH7x.d.ts.map +1 -0
  109. package/package.json +5 -1
  110. package/dist/clis/args/common-BT8ABM57.mjs.map +0 -1
  111. package/dist/clis/build-config.mjs.map +0 -1
  112. package/dist/clis/constants.d.mts.map +0 -1
  113. package/dist/types-DX5QXaOU.d.ts.map +0 -1
@@ -1,479 +1,2 @@
1
- import { z } from "zod";
2
-
3
- //#region clis/types.d.ts
4
- type DrivePreserveStrategies = typeof DRIVES_PRESERVE_STRATEGIES;
5
- type DrivePreserveStrategy = DrivePreserveStrategies[number];
6
- type LogLevels = typeof LOG_LEVELS;
7
- type LogLevel = LogLevels[number];
8
- type PHPackageProvider = "npm" | "github" | "local" | "registry";
9
- type PowerhousePackage = {
10
- packageName: string;
11
- version?: string;
12
- provider?: PHPackageProvider;
13
- url?: string;
14
- };
15
- type PHConnectBranding = {
16
- appName?: string;
17
- homeBackground?: string | null;
18
- };
19
- type PHConnectDefaultDriveRemote = {
20
- url: string;
21
- name?: string | null;
22
- icon?: string | null;
23
- };
24
- type PHConnectDefaultDriveLocal = {
25
- /** Discriminator: this entry is a local drive created on first boot. */local: true; /** Stable drive id; the drive is not re-created on later boots. */
26
- id: string;
27
- name?: string | null;
28
- icon?: string | null; /** Drive app (preferred editor) to open on the drive. */
29
- app?: string;
30
- };
31
- type PHConnectDefaultDrive = PHConnectDefaultDriveRemote | PHConnectDefaultDriveLocal;
32
- type PHConnectDriveSection = {
33
- enabled?: boolean;
34
- allowAdd?: boolean;
35
- allowDelete?: boolean;
36
- };
37
- type PHConnectDriveSections = {
38
- remote?: PHConnectDriveSection;
39
- local?: PHConnectDriveSection;
40
- };
41
- type PHConnectDrives = {
42
- allowAddDrive?: boolean;
43
- defaultDrives?: PHConnectDefaultDrive[];
44
- preserveStrategy?: DrivePreserveStrategy;
45
- sections?: PHConnectDriveSections;
46
- };
47
- type PHConnectApp = {
48
- logLevel?: "debug" | "info" | "warn" | "error";
49
- basePath?: string;
50
- offline?: boolean;
51
- studioMode?: boolean;
52
- workflowsEnabled?: boolean;
53
- };
54
- type PHConnectAi = {
55
- /** Enables the in-browser AI assistant (chat FAB + window). Off by default. */assistantEnabled?: boolean;
56
- };
57
- type PHConnectPackages = {
58
- externalEnabled?: boolean; /** Subscribe to the static-mode `/__packages` SSE channel for live reload. */
59
- liveReload?: boolean;
60
- };
61
- type PHRenownRainbowAdapterConfig = {
62
- /** WalletConnect project id; required for the rainbow adapter to function. */walletConnectProjectId?: string; /** Optional Infura project id used to build RPC transports. */
63
- infuraProjectId?: string;
64
- };
65
- type PHRenownPrivyAdapterConfig = {
66
- /** Privy application id; required for the privy adapter to function. */appId?: string; /** Optional Privy client id. */
67
- clientId?: string; /** Login methods this adapter offers; defaults per adapter when omitted. */
68
- methods?: string[];
69
- };
70
- type PHConnectRenownAdapters = {
71
- rainbow?: PHRenownRainbowAdapterConfig;
72
- privy?: PHRenownPrivyAdapterConfig;
73
- };
74
- type PHConnectRenown = {
75
- url?: string;
76
- networkId?: string;
77
- chainId?: number; /** Renown localStorage namespace; share it across Connects to share login. */
78
- namespace?: string; /** Switchboard GraphQL URL; when set, enables in-page (no-redirect) auth. */
79
- switchboardUrl?: string; /** Per-adapter wallet config; presence of a key enables that adapter. */
80
- adapters?: PHConnectRenownAdapters;
81
- };
82
- type PHConnectSentry = {
83
- /** Sentry DSN URL. `null` disables Sentry entirely. */dsn?: string | null; /** Sentry environment label. */
84
- env?: string; /** Enable Sentry performance tracing. */
85
- tracing?: boolean;
86
- };
87
- type PHConnectInstance = {
88
- namespace: string | null;
89
- reactorWorker: boolean;
90
- };
91
- /** Each flag implies its predecessors, and must match the fleet Connect syncs
92
- * with or the two compute different replay outcomes. */
93
- type PHConnectReactorFeatureFlags = {
94
- /** Decide writes from the document stream instead of the meta cache. */documentDecisions?: boolean; /** Enforce the auth scope's policy at admission, replay, and read. */
95
- authEnforcement?: boolean; /** Let `{ group }` principals match, via the group documents' rosters. */
96
- authGroups?: boolean; /** Evaluate `where` / `match` conditions on grants. */
97
- authConditions?: boolean;
98
- };
99
- type PHConnectReactor = {
100
- featureFlags?: PHConnectReactorFeatureFlags;
101
- };
102
- /**
103
- * A URL-matching pattern for a service-worker runtime-caching rule, in
104
- * JSON-serialisable form. A plain string is handed to Workbox verbatim (exact
105
- * URL or same-origin path match). `{ source, flags }` is reconstructed into a
106
- * `RegExp` at build time — use it for prefix/suffix/origin matches (e.g.
107
- * `{ source: "^https://api\\.acme\\.io/" }`). Function-valued patterns aren't
108
- * expressible here; regex covers the realistic package cases.
109
- */
110
- type PHConnectPwaUrlPattern = string | {
111
- source: string;
112
- flags?: string;
113
- };
114
- type PHConnectPwaCacheStrategy = "CacheFirst" | "CacheOnly" | "NetworkFirst" | "NetworkOnly" | "StaleWhileRevalidate";
115
- /** Serialisable subset of a Workbox `RuntimeCaching` rule. */
116
- type PHConnectPwaRuntimeCaching = {
117
- urlPattern: PHConnectPwaUrlPattern;
118
- handler: PHConnectPwaCacheStrategy;
119
- method?: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "PATCH";
120
- options?: {
121
- cacheName?: string;
122
- /** Seconds a NetworkFirst rule waits for the network before falling back
123
- * to the cache. */
124
- networkTimeoutSeconds?: number;
125
- expiration?: {
126
- maxEntries?: number;
127
- maxAgeSeconds?: number;
128
- };
129
- cacheableResponse?: {
130
- statuses?: number[];
131
- headers?: Record<string, string>;
132
- };
133
- };
134
- };
135
- type PHConnectPwaIcon = {
136
- src: string;
137
- sizes?: string;
138
- type?: string;
139
- purpose?: string;
140
- };
141
- /**
142
- * A File Handling API entry a package or project contributes: the OS-level
143
- * file types the installed Connect PWA offers to open. There is deliberately
144
- * no `action` field — consuming launched files requires runtime code that
145
- * lives in Connect itself, so every handler (built-in or contributed) opens
146
- * at Connect's app root, injected at build time.
147
- */
148
- type PHConnectPwaFileHandler = {
149
- /** MIME type → file extensions (each must start with "."). */accept: Record<string, string[]>; /** OS-level file-type icons. */
150
- icons?: PHConnectPwaIcon[];
151
- launch_type?: "single-client" | "multiple-clients";
152
- };
153
- /** Web-app-manifest fields a package or project may override. */
154
- type PHConnectPwaManifest = {
155
- name?: string;
156
- short_name?: string;
157
- description?: string;
158
- theme_color?: string;
159
- background_color?: string;
160
- display?: "fullscreen" | "standalone" | "minimal-ui" | "browser";
161
- start_url?: string;
162
- scope?: string;
163
- icons?: PHConnectPwaIcon[]; /** Extra file associations, appended after Connect's built-in `.phd`/`.phdm` handler. */
164
- file_handlers?: PHConnectPwaFileHandler[]; /** How the OS launches the app for handled files/links. */
165
- launch_handler?: {
166
- client_mode: "auto" | "focus-existing" | "navigate-existing" | "navigate-new";
167
- };
168
- /** App-store-style categories. NOT authored under `connect.pwa` — derived at
169
- * build/runtime from the `category` field of every contributing
170
- * `powerhouse.manifest.json` (project + packages), unioned across them. */
171
- categories?: string[];
172
- };
173
- /**
174
- * PWA / service-worker overrides contributed by a package or the project.
175
- * Layered on top of Connect's hardcoded PWA defaults at build time. Scalar
176
- * fields deep-merge (later layer wins); every array member — the manifest
177
- * arrays (`icons`, `file_handlers`, and the derived `categories`) plus the
178
- * top-level `globPatterns`, `globIgnores`, `runtimeCaching` and
179
- * `navigateFallbackDenylist` — is additive (concatenated/unioned);
180
- * `maximumFileSizeToCacheInBytes` takes the max across contributors.
181
- * Precedence: defaults < package fragments < project config.
182
- */
183
- type PHConnectPwa = {
184
- manifest?: PHConnectPwaManifest; /** Extra Workbox precache globs, unioned with the built-in patterns. */
185
- globPatterns?: string[]; /** Extra Workbox precache ignore globs, unioned with the built-in list. */
186
- globIgnores?: string[]; /** Raise the precache file-size ceiling; the max across contributors wins. */
187
- maximumFileSizeToCacheInBytes?: number; /** Additional runtime-caching rules, appended after the built-in rules. */
188
- runtimeCaching?: PHConnectPwaRuntimeCaching[]; /** Extra SPA-fallback denylist patterns, unioned with the built-in list. */
189
- navigateFallbackDenylist?: PHConnectPwaUrlPattern[];
190
- };
191
- type PHConnectRuntimeConfig = {
192
- branding?: PHConnectBranding;
193
- app?: PHConnectApp;
194
- ai?: PHConnectAi;
195
- packages?: PHConnectPackages;
196
- drives?: PHConnectDrives;
197
- renown?: PHConnectRenown;
198
- sentry?: PHConnectSentry;
199
- instance?: PHConnectInstance;
200
- reactor?: PHConnectReactor;
201
- pwa?: PHConnectPwa;
202
- };
203
- /** Which Renown instance a reactor authenticates against, server-side. */
204
- type PHReactorRenown = {
205
- /** "self" reads this reactor's own renown read model; "remote" (default)
206
- * queries a Renown or Switchboard instance. */
207
- source?: "remote" | "self"; /** Renown base URL; also the instance this reactor's own identity uses. */
208
- url?: string; /** Switchboard GraphQL endpoint to read credentials from directly. */
209
- switchboardUrl?: string;
210
- };
211
- type PowerhouseConfig = {
212
- logLevel: LogLevel;
213
- documentModelsDir: string;
214
- editorsDir: string;
215
- processorsDir: string;
216
- subgraphsDir: string;
217
- importScriptsDir: string;
218
- skipFormat: boolean;
219
- interactive?: boolean;
220
- watch?: boolean;
221
- reactor?: {
222
- port?: number;
223
- https?: undefined | boolean | {
224
- keyPath: string;
225
- certPath: string;
226
- };
227
- storage?: {
228
- type: "filesystem" | "memory" | "postgres" | "browser";
229
- filesystemPath?: string;
230
- postgresUrl?: string;
231
- };
232
- };
233
- auth?: {
234
- enabled?: boolean;
235
- admins: string[];
236
- renown?: PHReactorRenown;
237
- };
238
- switchboard?: {
239
- database?: {
240
- url?: string;
241
- };
242
- port?: number;
243
- };
244
- studio?: {
245
- port?: number;
246
- host?: string;
247
- https: boolean;
248
- openBrowser?: boolean;
249
- };
250
- packages?: PowerhousePackage[];
251
- vetra?: {
252
- driveId?: string;
253
- driveUrl?: string;
254
- connectPort?: number;
255
- };
256
- workflows?: {
257
- enabled?: boolean;
258
- };
259
- packageRegistryUrl?: string;
260
- connect?: PHConnectRuntimeConfig;
261
- };
262
- //#endregion
263
- //#region document-model/schemas.d.ts
264
- declare const ManifestSchema: z.ZodObject<{
265
- name: z.ZodString;
266
- description: z.ZodOptional<z.ZodString>;
267
- category: z.ZodOptional<z.ZodString>;
268
- image: z.ZodOptional<z.ZodString>;
269
- publisher: z.ZodOptional<z.ZodObject<{
270
- name: z.ZodOptional<z.ZodString>;
271
- url: z.ZodOptional<z.ZodString>;
272
- }, z.core.$strip>>;
273
- documentModels: z.ZodOptional<z.ZodArray<z.ZodObject<{
274
- id: z.ZodString;
275
- name: z.ZodString;
276
- documentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
277
- }, z.core.$strip>>>;
278
- apps: z.ZodOptional<z.ZodArray<z.ZodObject<{
279
- id: z.ZodString;
280
- name: z.ZodString;
281
- documentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
282
- }, z.core.$strip>>>;
283
- editors: z.ZodOptional<z.ZodArray<z.ZodObject<{
284
- id: z.ZodString;
285
- name: z.ZodString;
286
- documentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
287
- }, z.core.$strip>>>;
288
- processors: z.ZodOptional<z.ZodArray<z.ZodObject<{
289
- id: z.ZodString;
290
- name: z.ZodString;
291
- documentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
292
- }, z.core.$strip>>>;
293
- subgraphs: z.ZodOptional<z.ZodArray<z.ZodObject<{
294
- id: z.ZodString;
295
- name: z.ZodString;
296
- documentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
297
- }, z.core.$strip>>>;
298
- pieces: z.ZodOptional<z.ZodArray<z.ZodObject<{
299
- id: z.ZodString;
300
- name: z.ZodString;
301
- documentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
302
- }, z.core.$strip>>>;
303
- config: z.ZodOptional<z.ZodArray<z.ZodObject<{
304
- name: z.ZodString;
305
- type: z.ZodUnion<readonly [z.ZodLiteral<"var">, z.ZodLiteral<"secret">]>;
306
- description: z.ZodOptional<z.ZodString>;
307
- required: z.ZodOptional<z.ZodBoolean>;
308
- default: z.ZodOptional<z.ZodBoolean>;
309
- }, z.core.$strip>>>;
310
- pwa: z.ZodOptional<z.ZodType<PHConnectPwa, unknown, z.core.$ZodTypeInternals<PHConnectPwa, unknown>>>;
311
- }, z.core.$strip>;
312
- //#endregion
313
- //#region document-model/types.d.ts
314
- type Manifest = z.infer<typeof ManifestSchema>;
315
- //#endregion
316
- //#region clis/constants.d.ts
317
- declare const SERVICE_ACTIONS: readonly ["start", "stop", "status", "setup", "restart"];
318
- declare const SECONDS_IN_DAY: number;
319
- declare const DEFAULT_EXPIRY_DAYS = 7;
320
- declare const DEFAULT_EXPIRY_SECONDS: number;
321
- declare const DRIVES_PRESERVE_STRATEGIES: readonly ["preserve-all", "preserve-by-url-and-detach"];
322
- declare const LOG_LEVELS: readonly ["debug", "info", "warn", "error", "verbose"];
323
- declare const DEFAULT_TIMEOUT: 300;
324
- declare const DEFAULT_CONNECT_STUDIO_PORT: 3000;
325
- declare const DEFAULT_VETRA_CONNECT_PORT: 3001;
326
- declare const DEFAULT_CONNECT_PREVIEW_PORT: 4173;
327
- declare const DEFAULT_CONNECT_OUTDIR: ".ph/connect-build/dist/";
328
- declare const DEFAULT_RENOWN_URL: "https://www.renown.id";
329
- declare const DEFAULT_REGISTRY_URL: "https://registry.vetra.io";
330
- declare const DEFAULT_SWITCHBOARD_PORT: 4001;
331
- declare const PROJECT_PORT_BAND_SIZE: 1000;
332
- declare const PROJECT_PORT_BAND_SWITCHBOARD: 7000;
333
- declare const PROJECT_PORT_BAND_STUDIO: 6000;
334
- declare const PROJECT_PORT_BAND_VETRA_CONNECT: 2000;
335
- declare const DEFAULT_VETRA_DRIVE_ID: "vetra";
336
- declare const MINIMUM_NODE_VERSION: "24.0.0";
337
- declare const PH_BIN: "ph-cli-legacy";
338
- declare const POWERHOUSE_CONFIG_FILE: "powerhouse.config.json";
339
- declare const PH_GLOBAL_DIR_NAME: ".ph";
340
- declare const PH_GLOBAL_PROJECT_NAME: ".ph";
341
- declare const HOME_DIR: string;
342
- declare const POWERHOUSE_GLOBAL_DIR: string;
343
- declare const VERSIONED_PEER_DEPENDENCIES: string[];
344
- declare const REACTOR_API_PACKAGE = "@powerhousedao/reactor-api";
345
- declare const ANALYTICS_ENGINE_CORE_PACKAGE = "@powerhousedao/analytics-engine-core";
346
- declare const GRAPHQL_PACKAGE = "graphql";
347
- declare const GRAPHQL_TAG_PACKAGE = "graphql-tag";
348
- declare const PEER_EXTERNAL_DEPENDENCIES: {
349
- readonly graphql: {
350
- readonly peer: "^16";
351
- readonly dev: "16.12.0";
352
- };
353
- readonly "graphql-tag": {
354
- readonly peer: "^2";
355
- readonly dev: "2.12.6";
356
- };
357
- readonly react: {
358
- readonly peer: "^19";
359
- readonly dev: "19.2.6";
360
- };
361
- readonly "react-dom": {
362
- readonly peer: "^19";
363
- readonly dev: "19.2.6";
364
- };
365
- readonly zod: {
366
- readonly peer: "^4";
367
- readonly dev: "4.3.6";
368
- };
369
- };
370
- declare const FEATURE_DEPENDENCIES: {
371
- readonly analyticsProcessor: {
372
- readonly peerVersioned: readonly ["@powerhousedao/analytics-engine-core"];
373
- readonly peerExternal: {};
374
- };
375
- };
376
- declare const VERSIONED_DEPENDENCIES: string[];
377
- declare const BOILERPLATE_ALLOWED_BUILDS: readonly ["@apollo/protobufjs", "@datadog/pprof", "@parcel/watcher", "@reown/appkit", "bufferutil", "esbuild", "keccak", "protobufjs", "utf-8-validate"];
378
- declare const BOILERPLATE_DEPENDENCY_OVERRIDES: {
379
- readonly "date-fns": "4.3.0";
380
- readonly vite: "8.0.14";
381
- readonly rolldown: "1.0.2";
382
- };
383
- declare const VERSIONED_DEV_DEPENDENCIES: string[];
384
- declare const packageJsonExports: {
385
- readonly ".": {
386
- readonly types: "./dist/types/index.d.ts";
387
- readonly browser: "./dist/browser/index.js";
388
- readonly node: "./dist/node/index.mjs";
389
- };
390
- readonly "./reactor": {
391
- readonly types: "./dist/types/reactor/index.d.ts";
392
- readonly browser: "./dist/browser/reactor/index.js";
393
- };
394
- readonly "./document-models": {
395
- readonly types: "./dist/types/document-models/index.d.ts";
396
- readonly browser: "./dist/browser/document-models/index.js";
397
- readonly node: "./dist/node/document-models/index.mjs";
398
- };
399
- readonly "./document-models/*": {
400
- readonly types: "./dist/types/document-models/*/index.d.ts";
401
- readonly browser: "./dist/browser/document-models/*/index.js";
402
- readonly node: "./dist/node/document-models/*/index.mjs";
403
- };
404
- readonly "./editors": {
405
- readonly types: "./dist/types/editors/index.d.ts";
406
- readonly browser: "./dist/browser/editors/index.js";
407
- readonly node: "./dist/node/editors/index.mjs";
408
- };
409
- readonly "./editors/*": {
410
- readonly types: "./dist/types/editors/*/editor.d.ts";
411
- readonly browser: "./dist/browser/editors/*/editor.js";
412
- readonly node: "./dist/node/editors/*/editor.mjs";
413
- };
414
- readonly "./subgraphs": {
415
- readonly types: "./dist/types/subgraphs/index.d.ts";
416
- readonly browser: "./dist/browser/subgraphs/index.js";
417
- readonly node: "./dist/node/subgraphs/index.mjs";
418
- };
419
- readonly "./processors": {
420
- readonly types: "./dist/types/processors/index.d.ts";
421
- readonly browser: "./dist/browser/processors/index.js";
422
- readonly node: "./dist/node/processors/index.mjs";
423
- };
424
- readonly "./pieces": {
425
- readonly types: "./dist/types/pieces/index.d.ts";
426
- readonly node: "./dist/node/pieces/index.mjs";
427
- };
428
- readonly "./pieces/*": {
429
- readonly types: "./dist/types/pieces/*/index.d.ts";
430
- readonly node: "./dist/node/pieces/*/index.mjs";
431
- };
432
- readonly "./manifest": "./dist/powerhouse.manifest.json";
433
- readonly "./style.css": "./dist/style.css";
434
- };
435
- declare const packageScripts: {
436
- readonly "test:watch": "vitest";
437
- readonly lint: "oxlint --type-aware --type-check";
438
- readonly "lint:fix": "oxlint --type-aware --type-check --fix";
439
- readonly format: "oxfmt";
440
- readonly "format:check": "oxfmt --check";
441
- readonly tsc: "tsc";
442
- readonly "tsc:watch": "tsc --watch";
443
- readonly generate: "ph-cli generate";
444
- readonly connect: "ph-cli connect";
445
- readonly build: "ph-cli build";
446
- readonly reactor: "ph-cli reactor";
447
- readonly service: "ph-cli service";
448
- readonly vetra: "ph-cli vetra";
449
- readonly "service-startup": "bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh";
450
- readonly "service-unstartup": "bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh";
451
- };
452
- declare const externalDependencies: {};
453
- declare const LEGACY_LINT_FORMAT_DEPENDENCIES: readonly ["@eslint/js", "eslint", "eslint-config-prettier", "eslint-plugin-prettier", "eslint-plugin-react", "eslint-plugin-react-hooks", "globals", "prettier", "typescript-eslint"];
454
- declare const LEGACY_LINT_FORMAT_FILES: readonly ["eslint.config.js", "eslint.config.mjs", "eslint.config.cjs", "eslint.config.ts", ".eslintrc", ".eslintrc.js", ".eslintrc.cjs", ".eslintrc.json", ".eslintrc.yml", ".eslintrc.yaml", ".eslintignore", ".prettierrc", ".prettierrc.js", ".prettierrc.cjs", ".prettierrc.json", ".prettierrc.yml", ".prettierrc.yaml", "prettier.config.js", "prettier.config.cjs", "prettier.config.mjs", ".prettierignore"];
455
- declare const externalDevDependencies: {
456
- readonly "@electric-sql/pglite": "0.3.15";
457
- readonly "@electric-sql/pglite-tools": "0.2.20";
458
- readonly "@powerhousedao/document-engineering": "1.40.5";
459
- readonly "@tailwindcss/cli": "^4.1.18";
460
- readonly "@tailwindcss/vite": "^4.1.18";
461
- readonly "@types/node": "^24.9.2";
462
- readonly "@types/react": "^19.2.3";
463
- readonly "@types/react-dom": "^19.2.3";
464
- readonly "@vitejs/plugin-react": "^6.0.1";
465
- readonly "@vitest/coverage-v8": "4.1.1";
466
- readonly oxfmt: "0.55.0";
467
- readonly oxlint: "1.70.0";
468
- readonly "oxlint-tsgolint": "0.23.0";
469
- readonly tailwindcss: "^4.1.16";
470
- readonly typescript: "^5.9.3";
471
- readonly vite: "^8.0.10";
472
- readonly "vite-tsconfig-paths": "6.1.1";
473
- readonly vitest: "4.1.1";
474
- };
475
- declare const defaultManifest: Manifest;
476
- declare const DEFAULT_CONFIG: PowerhouseConfig;
477
- //#endregion
478
- export { ANALYTICS_ENGINE_CORE_PACKAGE, BOILERPLATE_ALLOWED_BUILDS, BOILERPLATE_DEPENDENCY_OVERRIDES, DEFAULT_CONFIG, DEFAULT_CONNECT_OUTDIR, DEFAULT_CONNECT_PREVIEW_PORT, DEFAULT_CONNECT_STUDIO_PORT, DEFAULT_EXPIRY_DAYS, DEFAULT_EXPIRY_SECONDS, DEFAULT_REGISTRY_URL, DEFAULT_RENOWN_URL, DEFAULT_SWITCHBOARD_PORT, DEFAULT_TIMEOUT, DEFAULT_VETRA_CONNECT_PORT, DEFAULT_VETRA_DRIVE_ID, DRIVES_PRESERVE_STRATEGIES, FEATURE_DEPENDENCIES, GRAPHQL_PACKAGE, GRAPHQL_TAG_PACKAGE, HOME_DIR, LEGACY_LINT_FORMAT_DEPENDENCIES, LEGACY_LINT_FORMAT_FILES, LOG_LEVELS, MINIMUM_NODE_VERSION, PEER_EXTERNAL_DEPENDENCIES, PH_BIN, PH_GLOBAL_DIR_NAME, PH_GLOBAL_PROJECT_NAME, POWERHOUSE_CONFIG_FILE, POWERHOUSE_GLOBAL_DIR, PROJECT_PORT_BAND_SIZE, PROJECT_PORT_BAND_STUDIO, PROJECT_PORT_BAND_SWITCHBOARD, PROJECT_PORT_BAND_VETRA_CONNECT, REACTOR_API_PACKAGE, SECONDS_IN_DAY, SERVICE_ACTIONS, VERSIONED_DEPENDENCIES, VERSIONED_DEV_DEPENDENCIES, VERSIONED_PEER_DEPENDENCIES, defaultManifest, externalDependencies, externalDevDependencies, packageJsonExports, packageScripts };
479
- //# sourceMappingURL=constants.d.mts.map
1
+ import { A as PIECES_FRAMEWORK_PACKAGE, B as VERSIONED_DEPENDENCIES, C as LEGACY_LINT_FORMAT_FILES, D as PH_BIN, E as PEER_EXTERNAL_DEPENDENCIES, F as PROJECT_PORT_BAND_SWITCHBOARD, G as externalDevDependencies, H as VERSIONED_PEER_DEPENDENCIES, I as PROJECT_PORT_BAND_VETRA_CONNECT, K as packageJsonExports, L as REACTOR_API_PACKAGE, M as POWERHOUSE_GLOBAL_DIR, N as PROJECT_PORT_BAND_SIZE, O as PH_GLOBAL_DIR_NAME, P as PROJECT_PORT_BAND_STUDIO, R as SECONDS_IN_DAY, S as LEGACY_LINT_FORMAT_DEPENDENCIES, T as MINIMUM_NODE_VERSION, U as defaultManifest, V as VERSIONED_DEV_DEPENDENCIES, W as externalDependencies, _ as DRIVES_PRESERVE_STRATEGIES, a as DEFAULT_CONFIG, b as GRAPHQL_TAG_PACKAGE, c as DEFAULT_CONNECT_STUDIO_PORT, d as DEFAULT_REGISTRY_URL, f as DEFAULT_RENOWN_URL, g as DEFAULT_VETRA_DRIVE_ID, h as DEFAULT_VETRA_CONNECT_PORT, i as BOILERPLATE_DEPENDENCY_OVERRIDES, j as POWERHOUSE_CONFIG_FILE, k as PH_GLOBAL_PROJECT_NAME, l as DEFAULT_EXPIRY_DAYS, m as DEFAULT_TIMEOUT, n as ANALYTICS_ENGINE_CORE_PACKAGE, o as DEFAULT_CONNECT_OUTDIR, p as DEFAULT_SWITCHBOARD_PORT, q as packageScripts, r as BOILERPLATE_ALLOWED_BUILDS, s as DEFAULT_CONNECT_PREVIEW_PORT, u as DEFAULT_EXPIRY_SECONDS, v as FEATURE_DEPENDENCIES, w as LOG_LEVELS, x as HOME_DIR, y as GRAPHQL_PACKAGE, z as SERVICE_ACTIONS } from "./types-D17YQuYG.mjs";
2
+ export { ANALYTICS_ENGINE_CORE_PACKAGE, BOILERPLATE_ALLOWED_BUILDS, BOILERPLATE_DEPENDENCY_OVERRIDES, DEFAULT_CONFIG, DEFAULT_CONNECT_OUTDIR, DEFAULT_CONNECT_PREVIEW_PORT, DEFAULT_CONNECT_STUDIO_PORT, DEFAULT_EXPIRY_DAYS, DEFAULT_EXPIRY_SECONDS, DEFAULT_REGISTRY_URL, DEFAULT_RENOWN_URL, DEFAULT_SWITCHBOARD_PORT, DEFAULT_TIMEOUT, DEFAULT_VETRA_CONNECT_PORT, DEFAULT_VETRA_DRIVE_ID, DRIVES_PRESERVE_STRATEGIES, FEATURE_DEPENDENCIES, GRAPHQL_PACKAGE, GRAPHQL_TAG_PACKAGE, HOME_DIR, LEGACY_LINT_FORMAT_DEPENDENCIES, LEGACY_LINT_FORMAT_FILES, LOG_LEVELS, MINIMUM_NODE_VERSION, PEER_EXTERNAL_DEPENDENCIES, PH_BIN, PH_GLOBAL_DIR_NAME, PH_GLOBAL_PROJECT_NAME, PIECES_FRAMEWORK_PACKAGE, POWERHOUSE_CONFIG_FILE, POWERHOUSE_GLOBAL_DIR, PROJECT_PORT_BAND_SIZE, PROJECT_PORT_BAND_STUDIO, PROJECT_PORT_BAND_SWITCHBOARD, PROJECT_PORT_BAND_VETRA_CONNECT, REACTOR_API_PACKAGE, SECONDS_IN_DAY, SERVICE_ACTIONS, VERSIONED_DEPENDENCIES, VERSIONED_DEV_DEPENDENCIES, VERSIONED_PEER_DEPENDENCIES, defaultManifest, externalDependencies, externalDevDependencies, packageJsonExports, packageScripts };
@@ -44,6 +44,7 @@ const REACTOR_API_PACKAGE = "@powerhousedao/reactor-api";
44
44
  const ANALYTICS_ENGINE_CORE_PACKAGE = "@powerhousedao/analytics-engine-core";
45
45
  const GRAPHQL_PACKAGE = "graphql";
46
46
  const GRAPHQL_TAG_PACKAGE = "graphql-tag";
47
+ const PIECES_FRAMEWORK_PACKAGE = "@powerhousedao/pieces-framework";
47
48
  const PEER_EXTERNAL_DEPENDENCIES = {
48
49
  [GRAPHQL_PACKAGE]: {
49
50
  peer: "^16",
@@ -66,10 +67,18 @@ const PEER_EXTERNAL_DEPENDENCIES = {
66
67
  dev: "4.3.6"
67
68
  }
68
69
  };
69
- const FEATURE_DEPENDENCIES = { analyticsProcessor: {
70
- peerVersioned: [ANALYTICS_ENGINE_CORE_PACKAGE],
71
- peerExternal: {}
72
- } };
70
+ const FEATURE_DEPENDENCIES = {
71
+ analyticsProcessor: {
72
+ peerVersioned: [ANALYTICS_ENGINE_CORE_PACKAGE],
73
+ peerExternal: {},
74
+ devVersioned: []
75
+ },
76
+ piece: {
77
+ peerVersioned: [],
78
+ peerExternal: {},
79
+ devVersioned: [PIECES_FRAMEWORK_PACKAGE]
80
+ }
81
+ };
73
82
  const VERSIONED_DEPENDENCIES = [...VERSIONED_PEER_DEPENDENCIES, ...FEATURE_DEPENDENCIES.analyticsProcessor.peerVersioned];
74
83
  const BOILERPLATE_ALLOWED_BUILDS = [
75
84
  "@apollo/protobufjs",
@@ -245,6 +254,6 @@ const DEFAULT_CONFIG = {
245
254
  }
246
255
  };
247
256
  //#endregion
248
- export { ANALYTICS_ENGINE_CORE_PACKAGE, BOILERPLATE_ALLOWED_BUILDS, BOILERPLATE_DEPENDENCY_OVERRIDES, DEFAULT_CONFIG, DEFAULT_CONNECT_OUTDIR, DEFAULT_CONNECT_PREVIEW_PORT, DEFAULT_CONNECT_STUDIO_PORT, DEFAULT_EXPIRY_DAYS, DEFAULT_EXPIRY_SECONDS, DEFAULT_REGISTRY_URL, DEFAULT_RENOWN_URL, DEFAULT_SWITCHBOARD_PORT, DEFAULT_TIMEOUT, DEFAULT_VETRA_CONNECT_PORT, DEFAULT_VETRA_DRIVE_ID, DRIVES_PRESERVE_STRATEGIES, FEATURE_DEPENDENCIES, GRAPHQL_PACKAGE, GRAPHQL_TAG_PACKAGE, HOME_DIR, LEGACY_LINT_FORMAT_DEPENDENCIES, LEGACY_LINT_FORMAT_FILES, LOG_LEVELS, MINIMUM_NODE_VERSION, PEER_EXTERNAL_DEPENDENCIES, PH_BIN, PH_GLOBAL_DIR_NAME, PH_GLOBAL_PROJECT_NAME, POWERHOUSE_CONFIG_FILE, POWERHOUSE_GLOBAL_DIR, PROJECT_PORT_BAND_SIZE, PROJECT_PORT_BAND_STUDIO, PROJECT_PORT_BAND_SWITCHBOARD, PROJECT_PORT_BAND_VETRA_CONNECT, REACTOR_API_PACKAGE, SECONDS_IN_DAY, SERVICE_ACTIONS, VERSIONED_DEPENDENCIES, VERSIONED_DEV_DEPENDENCIES, VERSIONED_PEER_DEPENDENCIES, defaultManifest, externalDependencies, externalDevDependencies, packageJsonExports, packageScripts };
257
+ export { ANALYTICS_ENGINE_CORE_PACKAGE, BOILERPLATE_ALLOWED_BUILDS, BOILERPLATE_DEPENDENCY_OVERRIDES, DEFAULT_CONFIG, DEFAULT_CONNECT_OUTDIR, DEFAULT_CONNECT_PREVIEW_PORT, DEFAULT_CONNECT_STUDIO_PORT, DEFAULT_EXPIRY_DAYS, DEFAULT_EXPIRY_SECONDS, DEFAULT_REGISTRY_URL, DEFAULT_RENOWN_URL, DEFAULT_SWITCHBOARD_PORT, DEFAULT_TIMEOUT, DEFAULT_VETRA_CONNECT_PORT, DEFAULT_VETRA_DRIVE_ID, DRIVES_PRESERVE_STRATEGIES, FEATURE_DEPENDENCIES, GRAPHQL_PACKAGE, GRAPHQL_TAG_PACKAGE, HOME_DIR, LEGACY_LINT_FORMAT_DEPENDENCIES, LEGACY_LINT_FORMAT_FILES, LOG_LEVELS, MINIMUM_NODE_VERSION, PEER_EXTERNAL_DEPENDENCIES, PH_BIN, PH_GLOBAL_DIR_NAME, PH_GLOBAL_PROJECT_NAME, PIECES_FRAMEWORK_PACKAGE, POWERHOUSE_CONFIG_FILE, POWERHOUSE_GLOBAL_DIR, PROJECT_PORT_BAND_SIZE, PROJECT_PORT_BAND_STUDIO, PROJECT_PORT_BAND_SWITCHBOARD, PROJECT_PORT_BAND_VETRA_CONNECT, REACTOR_API_PACKAGE, SECONDS_IN_DAY, SERVICE_ACTIONS, VERSIONED_DEPENDENCIES, VERSIONED_DEV_DEPENDENCIES, VERSIONED_PEER_DEPENDENCIES, defaultManifest, externalDependencies, externalDevDependencies, packageJsonExports, packageScripts };
249
258
 
250
259
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","names":[],"sources":["../../clis/constants.ts"],"sourcesContent":["import { homedir } from \"node:os\";\nimport { join } from \"node:path\";\nimport type { Manifest } from \"../document-model/types.js\";\nimport type { PowerhouseConfig } from \"./types.js\";\n\nexport const SERVICE_ACTIONS = [\n \"start\",\n \"stop\",\n \"status\",\n \"setup\",\n \"restart\",\n] as const;\n\nexport const SECONDS_IN_DAY = 24 * 60 * 60;\nexport const DEFAULT_EXPIRY_DAYS = 7;\nexport const DEFAULT_EXPIRY_SECONDS = DEFAULT_EXPIRY_DAYS * SECONDS_IN_DAY;\n\nexport const DRIVES_PRESERVE_STRATEGIES = [\n \"preserve-all\",\n \"preserve-by-url-and-detach\",\n] as const;\n\nexport const LOG_LEVELS = [\n \"debug\",\n \"info\",\n \"warn\",\n \"error\",\n \"verbose\",\n] as const;\n\nexport const DEFAULT_TIMEOUT = 300 as const;\n\nexport const DEFAULT_CONNECT_STUDIO_PORT = 3000 as const;\n\nexport const DEFAULT_VETRA_CONNECT_PORT = 3001 as const;\n\nexport const DEFAULT_CONNECT_PREVIEW_PORT = 4173 as const;\n\nexport const DEFAULT_CONNECT_OUTDIR = \".ph/connect-build/dist/\" as const;\n\nexport const DEFAULT_RENOWN_URL = \"https://www.renown.id\" as const;\n\nexport const DEFAULT_REGISTRY_URL = \"https://registry.vetra.io\" as const;\n\nexport const DEFAULT_SWITCHBOARD_PORT = 4001 as const;\n\n// Per-project dev-server port bands. `ph init` assigns each project a port\n// triple derived from its name, so two projects never collide and an agent's\n// MCP URL can be baked into .mcp.json before a session starts.\n//\n// Two hard constraints picked these bands, both below 10000:\n//\n// 1. Below the OS ephemeral range. Linux allocates outbound source ports\n// from 32768-60999 (`/proc/sys/net/ipv4/ip_local_port_range`); macOS and\n// Windows start at 49152. A listener parked in that window can lose a\n// race to a transient outbound socket, which would surface as a\n// `--strictPort` failure blaming a project conflict that does not exist.\n// 2. Below 10000, which is where ph-clint starts. ph-clint derives its own\n// per-CLI ports by hashing into 10000-59900, so staying under 10000\n// keeps the two schemes from ever contending.\n//\n// Within those limits the blocks were chosen by measuring which ports the\n// Powerhouse repos actually reference: 2000-2999 has none, 7000-7999 has one,\n// 6000-6999 has five. See PROJECT_PORT_DENYLIST in project-ports.ts for the\n// individual ports skipped inside them.\nexport const PROJECT_PORT_BAND_SIZE = 1000 as const;\nexport const PROJECT_PORT_BAND_SWITCHBOARD = 7000 as const;\nexport const PROJECT_PORT_BAND_STUDIO = 6000 as const;\nexport const PROJECT_PORT_BAND_VETRA_CONNECT = 2000 as const;\n\nexport const DEFAULT_VETRA_DRIVE_ID = \"vetra\" as const;\n\nexport const MINIMUM_NODE_VERSION = \"24.0.0\" as const;\nexport const PH_BIN = \"ph-cli-legacy\" as const;\nexport const POWERHOUSE_CONFIG_FILE = \"powerhouse.config.json\" as const;\nexport const PH_GLOBAL_DIR_NAME = \".ph\" as const;\n// Keep PH_GLOBAL_PROJECT_NAME for backwards compatibility\nexport const PH_GLOBAL_PROJECT_NAME = PH_GLOBAL_DIR_NAME;\n\nexport const HOME_DIR = homedir();\n\nexport const POWERHOUSE_GLOBAL_DIR = join(HOME_DIR, PH_GLOBAL_DIR_NAME);\n\n// Workspace packages that go in peerDependencies of every generated project.\nexport const VERSIONED_PEER_DEPENDENCIES = [\n \"document-model\",\n \"@powerhousedao/reactor-browser\",\n];\n\ntype PeerSpec = { peer: string; dev: string };\n\nexport const REACTOR_API_PACKAGE = \"@powerhousedao/reactor-api\";\nexport const ANALYTICS_ENGINE_CORE_PACKAGE =\n \"@powerhousedao/analytics-engine-core\";\nexport const GRAPHQL_PACKAGE = \"graphql\";\nexport const GRAPHQL_TAG_PACKAGE = \"graphql-tag\";\n\n// External peerDependencies of every generated project.\n// `peer` is the consumer-facing range; `dev` is the exact build-tested pin.\n// graphql / graphql-tag are always-on because the workspace packages pulled\n// in by every `ph init` project (codegen, reactor-api, reactor-browser,\n// vetra-packages) declare them as peers — even projects without subgraphs\n// need them in scope so pnpm hoists a single graphql instance.\nexport const PEER_EXTERNAL_DEPENDENCIES = {\n [GRAPHQL_PACKAGE]: { peer: \"^16\", dev: \"16.12.0\" },\n [GRAPHQL_TAG_PACKAGE]: { peer: \"^2\", dev: \"2.12.6\" },\n react: { peer: \"^19\", dev: \"19.2.6\" },\n \"react-dom\": { peer: \"^19\", dev: \"19.2.6\" },\n zod: { peer: \"^4\", dev: \"4.3.6\" },\n} as const satisfies Record<string, PeerSpec>;\n\n// Per-feature deps added dynamically by codegen when required.\nexport const FEATURE_DEPENDENCIES = {\n analyticsProcessor: {\n peerVersioned: [ANALYTICS_ENGINE_CORE_PACKAGE],\n peerExternal: {},\n },\n} as const satisfies Record<\n string,\n { peerVersioned: readonly string[]; peerExternal: Record<string, PeerSpec> }\n>;\n\nexport const VERSIONED_DEPENDENCIES = [\n ...VERSIONED_PEER_DEPENDENCIES,\n ...FEATURE_DEPENDENCIES.analyticsProcessor.peerVersioned,\n];\n\n// Transitive dependencies whose postinstall scripts the generated project\n// trusts. Mirrors the `allowBuilds` map in the boilerplate's\n// pnpm-workspace.yaml and is also passed as `--allow-build` flags to\n// `pnpm dlx @powerhousedao/ph-cli init` so pnpm 11's strict-dep-builds\n// default doesn't prompt during the outer dlx download.\nexport const BOILERPLATE_ALLOWED_BUILDS = [\n \"@apollo/protobufjs\",\n \"@datadog/pprof\",\n \"@parcel/watcher\",\n \"@reown/appkit\",\n \"bufferutil\",\n \"esbuild\",\n \"keccak\",\n \"protobufjs\",\n \"utf-8-validate\",\n] as const;\n\n// Single-version pins the boilerplate enforces on generated projects,\n// avoiding duplicates from coexisting version ranges. Rendered as pnpm\n// `overrides` (pnpm-workspace.yaml) and as yarn v1 `resolutions`\n// (package.json). Generated-project only — never change the monorepo\n// catalog for this (a re-resolution there pulls a tsc-crashing TS6 beta).\nexport const BOILERPLATE_DEPENDENCY_OVERRIDES = {\n \"date-fns\": \"4.3.0\",\n vite: \"8.0.14\",\n rolldown: \"1.0.2\",\n} as const satisfies Record<string, string>;\n\nexport const VERSIONED_DEV_DEPENDENCIES = [\n \"@powerhousedao/ph-cli\",\n \"@powerhousedao/reactor\",\n \"@powerhousedao/shared\",\n \"@powerhousedao/connect\",\n \"@powerhousedao/design-system\",\n];\n\nexport const packageJsonExports = {\n \".\": {\n types: \"./dist/types/index.d.ts\",\n browser: \"./dist/browser/index.js\",\n node: \"./dist/node/index.mjs\",\n },\n \"./reactor\": {\n types: \"./dist/types/reactor/index.d.ts\",\n browser: \"./dist/browser/reactor/index.js\",\n },\n \"./document-models\": {\n types: \"./dist/types/document-models/index.d.ts\",\n browser: \"./dist/browser/document-models/index.js\",\n node: \"./dist/node/document-models/index.mjs\",\n },\n \"./document-models/*\": {\n types: \"./dist/types/document-models/*/index.d.ts\",\n browser: \"./dist/browser/document-models/*/index.js\",\n node: \"./dist/node/document-models/*/index.mjs\",\n },\n \"./editors\": {\n types: \"./dist/types/editors/index.d.ts\",\n browser: \"./dist/browser/editors/index.js\",\n node: \"./dist/node/editors/index.mjs\",\n },\n \"./editors/*\": {\n types: \"./dist/types/editors/*/editor.d.ts\",\n browser: \"./dist/browser/editors/*/editor.js\",\n node: \"./dist/node/editors/*/editor.mjs\",\n },\n \"./subgraphs\": {\n types: \"./dist/types/subgraphs/index.d.ts\",\n browser: \"./dist/browser/subgraphs/index.js\",\n node: \"./dist/node/subgraphs/index.mjs\",\n },\n \"./processors\": {\n types: \"./dist/types/processors/index.d.ts\",\n browser: \"./dist/browser/processors/index.js\",\n node: \"./dist/node/processors/index.mjs\",\n },\n // Node only, as the build is: a piece is loaded by a host process, never by\n // the browser. Without these a package can build a piece and still fail the\n // `packageName/pieces` import a host resolves it through.\n \"./pieces\": {\n types: \"./dist/types/pieces/index.d.ts\",\n node: \"./dist/node/pieces/index.mjs\",\n },\n \"./pieces/*\": {\n types: \"./dist/types/pieces/*/index.d.ts\",\n node: \"./dist/node/pieces/*/index.mjs\",\n },\n \"./manifest\": \"./dist/powerhouse.manifest.json\",\n \"./style.css\": \"./dist/style.css\",\n} as const;\n\nexport const packageScripts = {\n \"test:watch\": \"vitest\",\n lint: \"oxlint --type-aware --type-check\",\n \"lint:fix\": \"oxlint --type-aware --type-check --fix\",\n format: \"oxfmt\",\n \"format:check\": \"oxfmt --check\",\n tsc: \"tsc\",\n \"tsc:watch\": \"tsc --watch\",\n generate: \"ph-cli generate\",\n connect: \"ph-cli connect\",\n build: \"ph-cli build\",\n reactor: \"ph-cli reactor\",\n service: \"ph-cli service\",\n vetra: \"ph-cli vetra\",\n \"service-startup\":\n \"bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh\",\n \"service-unstartup\":\n \"bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh\",\n} as const;\n\nexport const externalDependencies = {} as const;\n\n// eslint/prettier devDependencies present in projects scaffolded before the oxc migration.\n// Stripped from package.json during `ph migrate`.\nexport const LEGACY_LINT_FORMAT_DEPENDENCIES = [\n \"@eslint/js\",\n \"eslint\",\n \"eslint-config-prettier\",\n \"eslint-plugin-prettier\",\n \"eslint-plugin-react\",\n \"eslint-plugin-react-hooks\",\n \"globals\",\n \"prettier\",\n \"typescript-eslint\",\n] as const;\n\n// Legacy lint/format config files written by eslint/prettier boilerplate.\n// Removed from the project root during `ph migrate`.\nexport const LEGACY_LINT_FORMAT_FILES = [\n \"eslint.config.js\",\n \"eslint.config.mjs\",\n \"eslint.config.cjs\",\n \"eslint.config.ts\",\n \".eslintrc\",\n \".eslintrc.js\",\n \".eslintrc.cjs\",\n \".eslintrc.json\",\n \".eslintrc.yml\",\n \".eslintrc.yaml\",\n \".eslintignore\",\n \".prettierrc\",\n \".prettierrc.js\",\n \".prettierrc.cjs\",\n \".prettierrc.json\",\n \".prettierrc.yml\",\n \".prettierrc.yaml\",\n \"prettier.config.js\",\n \"prettier.config.cjs\",\n \"prettier.config.mjs\",\n \".prettierignore\",\n] as const;\n\nexport const externalDevDependencies = {\n \"@electric-sql/pglite\": \"0.3.15\",\n \"@electric-sql/pglite-tools\": \"0.2.20\",\n \"@powerhousedao/document-engineering\": \"1.40.5\",\n \"@tailwindcss/cli\": \"^4.1.18\",\n \"@tailwindcss/vite\": \"^4.1.18\",\n \"@types/node\": \"^24.9.2\",\n \"@types/react\": \"^19.2.3\",\n \"@types/react-dom\": \"^19.2.3\",\n \"@vitejs/plugin-react\": \"^6.0.1\",\n \"@vitest/coverage-v8\": \"4.1.1\",\n oxfmt: \"0.55.0\",\n oxlint: \"1.70.0\",\n \"oxlint-tsgolint\": \"0.23.0\",\n tailwindcss: \"^4.1.16\",\n typescript: \"^5.9.3\",\n vite: \"^8.0.10\",\n \"vite-tsconfig-paths\": \"6.1.1\",\n vitest: \"4.1.1\",\n} as const;\n\nexport const defaultManifest: Manifest = {\n name: \"\",\n description: \"\",\n category: \"\",\n publisher: {\n name: \"\",\n url: \"\",\n },\n documentModels: [],\n editors: [],\n apps: [],\n subgraphs: [],\n processors: [],\n};\n\nconst DEFAULT_DOCUMENT_MODELS_DIR = \"./document-models\";\nconst DEFAULT_EDITORS_DIR = \"./editors\";\nconst DEFAULT_PROCESSORS_DIR = \"./processors\";\nconst DEFAULT_SUBGRAPHS_DIR = \"./subgraphs\";\nconst DEFAULT_IMPORT_SCRIPTS_DIR = \"./scripts\";\nconst DEFAULT_SKIP_FORMAT = false;\nconst DEFAULT_LOG_LEVEL = \"info\";\n\nexport const DEFAULT_CONFIG: PowerhouseConfig = {\n documentModelsDir: DEFAULT_DOCUMENT_MODELS_DIR,\n editorsDir: DEFAULT_EDITORS_DIR,\n processorsDir: DEFAULT_PROCESSORS_DIR,\n subgraphsDir: DEFAULT_SUBGRAPHS_DIR,\n importScriptsDir: DEFAULT_IMPORT_SCRIPTS_DIR,\n skipFormat: DEFAULT_SKIP_FORMAT,\n logLevel: DEFAULT_LOG_LEVEL,\n auth: {\n enabled: false,\n admins: [],\n },\n};\n"],"mappings":";;;AAKA,MAAa,kBAAkB;CAC7B;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,iBAAiB,OAAU;AACxC,MAAa,sBAAsB;AACnC,MAAa,yBAAA,IAA+C;AAE5D,MAAa,6BAA6B,CACxC,gBACA,6BACD;AAED,MAAa,aAAa;CACxB;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,kBAAkB;AAE/B,MAAa,8BAA8B;AAE3C,MAAa,6BAA6B;AAE1C,MAAa,+BAA+B;AAE5C,MAAa,yBAAyB;AAEtC,MAAa,qBAAqB;AAElC,MAAa,uBAAuB;AAEpC,MAAa,2BAA2B;AAqBxC,MAAa,yBAAyB;AACtC,MAAa,gCAAgC;AAC7C,MAAa,2BAA2B;AACxC,MAAa,kCAAkC;AAE/C,MAAa,yBAAyB;AAEtC,MAAa,uBAAuB;AACpC,MAAa,SAAS;AACtB,MAAa,yBAAyB;AACtC,MAAa,qBAAqB;AAElC,MAAa,yBAAA;AAEb,MAAa,WAAW,SAAS;AAEjC,MAAa,wBAAwB,KAAK,UAAA,MAA6B;AAGvE,MAAa,8BAA8B,CACzC,kBACA,iCACD;AAID,MAAa,sBAAsB;AACnC,MAAa,gCACX;AACF,MAAa,kBAAkB;AAC/B,MAAa,sBAAsB;AAQnC,MAAa,6BAA6B;EACvC,kBAAkB;EAAE,MAAM;EAAO,KAAK;EAAW;EACjD,sBAAsB;EAAE,MAAM;EAAM,KAAK;EAAU;CACpD,OAAO;EAAE,MAAM;EAAO,KAAK;EAAU;CACrC,aAAa;EAAE,MAAM;EAAO,KAAK;EAAU;CAC3C,KAAK;EAAE,MAAM;EAAM,KAAK;EAAS;CAClC;AAGD,MAAa,uBAAuB,EAClC,oBAAoB;CAClB,eAAe,CAAC,8BAA8B;CAC9C,cAAc,EAAE;CACjB,EACF;AAKD,MAAa,yBAAyB,CACpC,GAAG,6BACH,GAAG,qBAAqB,mBAAmB,cAC5C;AAOD,MAAa,6BAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAOD,MAAa,mCAAmC;CAC9C,YAAY;CACZ,MAAM;CACN,UAAU;CACX;AAED,MAAa,6BAA6B;CACxC;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,qBAAqB;CAChC,KAAK;EACH,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,aAAa;EACX,OAAO;EACP,SAAS;EACV;CACD,qBAAqB;EACnB,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,uBAAuB;EACrB,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,aAAa;EACX,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,eAAe;EACb,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,eAAe;EACb,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,gBAAgB;EACd,OAAO;EACP,SAAS;EACT,MAAM;EACP;CAID,YAAY;EACV,OAAO;EACP,MAAM;EACP;CACD,cAAc;EACZ,OAAO;EACP,MAAM;EACP;CACD,cAAc;CACd,eAAe;CAChB;AAED,MAAa,iBAAiB;CAC5B,cAAc;CACd,MAAM;CACN,YAAY;CACZ,QAAQ;CACR,gBAAgB;CAChB,KAAK;CACL,aAAa;CACb,UAAU;CACV,SAAS;CACT,OAAO;CACP,SAAS;CACT,SAAS;CACT,OAAO;CACP,mBACE;CACF,qBACE;CACH;AAED,MAAa,uBAAuB,EAAE;AAItC,MAAa,kCAAkC;CAC7C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAID,MAAa,2BAA2B;CACtC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,0BAA0B;CACrC,wBAAwB;CACxB,8BAA8B;CAC9B,uCAAuC;CACvC,oBAAoB;CACpB,qBAAqB;CACrB,eAAe;CACf,gBAAgB;CAChB,oBAAoB;CACpB,wBAAwB;CACxB,uBAAuB;CACvB,OAAO;CACP,QAAQ;CACR,mBAAmB;CACnB,aAAa;CACb,YAAY;CACZ,MAAM;CACN,uBAAuB;CACvB,QAAQ;CACT;AAED,MAAa,kBAA4B;CACvC,MAAM;CACN,aAAa;CACb,UAAU;CACV,WAAW;EACT,MAAM;EACN,KAAK;EACN;CACD,gBAAgB,EAAE;CAClB,SAAS,EAAE;CACX,MAAM,EAAE;CACR,WAAW,EAAE;CACb,YAAY,EAAE;CACf;AAUD,MAAa,iBAAmC;CAC9C,mBATkC;CAUlC,YAT0B;CAU1B,eAT6B;CAU7B,cAT4B;CAU5B,kBATiC;CAUjC,YAT0B;CAU1B,UATwB;CAUxB,MAAM;EACJ,SAAS;EACT,QAAQ,EAAE;EACX;CACF"}
1
+ {"version":3,"file":"constants.mjs","names":[],"sources":["../../clis/constants.ts"],"sourcesContent":["import { homedir } from \"node:os\";\nimport { join } from \"node:path\";\nimport type { Manifest } from \"../document-model/types.js\";\nimport type { PowerhouseConfig } from \"./types.js\";\n\nexport const SERVICE_ACTIONS = [\n \"start\",\n \"stop\",\n \"status\",\n \"setup\",\n \"restart\",\n] as const;\n\nexport const SECONDS_IN_DAY = 24 * 60 * 60;\nexport const DEFAULT_EXPIRY_DAYS = 7;\nexport const DEFAULT_EXPIRY_SECONDS = DEFAULT_EXPIRY_DAYS * SECONDS_IN_DAY;\n\nexport const DRIVES_PRESERVE_STRATEGIES = [\n \"preserve-all\",\n \"preserve-by-url-and-detach\",\n] as const;\n\nexport const LOG_LEVELS = [\n \"debug\",\n \"info\",\n \"warn\",\n \"error\",\n \"verbose\",\n] as const;\n\nexport const DEFAULT_TIMEOUT = 300 as const;\n\nexport const DEFAULT_CONNECT_STUDIO_PORT = 3000 as const;\n\nexport const DEFAULT_VETRA_CONNECT_PORT = 3001 as const;\n\nexport const DEFAULT_CONNECT_PREVIEW_PORT = 4173 as const;\n\nexport const DEFAULT_CONNECT_OUTDIR = \".ph/connect-build/dist/\" as const;\n\nexport const DEFAULT_RENOWN_URL = \"https://www.renown.id\" as const;\n\nexport const DEFAULT_REGISTRY_URL = \"https://registry.vetra.io\" as const;\n\nexport const DEFAULT_SWITCHBOARD_PORT = 4001 as const;\n\n// Per-project dev-server port bands. `ph init` assigns each project a port\n// triple derived from its name, so two projects never collide and an agent's\n// MCP URL can be baked into .mcp.json before a session starts.\n//\n// Two hard constraints picked these bands, both below 10000:\n//\n// 1. Below the OS ephemeral range. Linux allocates outbound source ports\n// from 32768-60999 (`/proc/sys/net/ipv4/ip_local_port_range`); macOS and\n// Windows start at 49152. A listener parked in that window can lose a\n// race to a transient outbound socket, which would surface as a\n// `--strictPort` failure blaming a project conflict that does not exist.\n// 2. Below 10000, which is where ph-clint starts. ph-clint derives its own\n// per-CLI ports by hashing into 10000-59900, so staying under 10000\n// keeps the two schemes from ever contending.\n//\n// Within those limits the blocks were chosen by measuring which ports the\n// Powerhouse repos actually reference: 2000-2999 has none, 7000-7999 has one,\n// 6000-6999 has five. See PROJECT_PORT_DENYLIST in project-ports.ts for the\n// individual ports skipped inside them.\nexport const PROJECT_PORT_BAND_SIZE = 1000 as const;\nexport const PROJECT_PORT_BAND_SWITCHBOARD = 7000 as const;\nexport const PROJECT_PORT_BAND_STUDIO = 6000 as const;\nexport const PROJECT_PORT_BAND_VETRA_CONNECT = 2000 as const;\n\nexport const DEFAULT_VETRA_DRIVE_ID = \"vetra\" as const;\n\nexport const MINIMUM_NODE_VERSION = \"24.0.0\" as const;\nexport const PH_BIN = \"ph-cli-legacy\" as const;\nexport const POWERHOUSE_CONFIG_FILE = \"powerhouse.config.json\" as const;\nexport const PH_GLOBAL_DIR_NAME = \".ph\" as const;\n// Keep PH_GLOBAL_PROJECT_NAME for backwards compatibility\nexport const PH_GLOBAL_PROJECT_NAME = PH_GLOBAL_DIR_NAME;\n\nexport const HOME_DIR = homedir();\n\nexport const POWERHOUSE_GLOBAL_DIR = join(HOME_DIR, PH_GLOBAL_DIR_NAME);\n\n// Workspace packages that go in peerDependencies of every generated project.\nexport const VERSIONED_PEER_DEPENDENCIES = [\n \"document-model\",\n \"@powerhousedao/reactor-browser\",\n];\n\ntype PeerSpec = { peer: string; dev: string };\n\nexport const REACTOR_API_PACKAGE = \"@powerhousedao/reactor-api\";\nexport const ANALYTICS_ENGINE_CORE_PACKAGE =\n \"@powerhousedao/analytics-engine-core\";\nexport const GRAPHQL_PACKAGE = \"graphql\";\nexport const GRAPHQL_TAG_PACKAGE = \"graphql-tag\";\nexport const PIECES_FRAMEWORK_PACKAGE = \"@powerhousedao/pieces-framework\";\n\n// External peerDependencies of every generated project.\n// `peer` is the consumer-facing range; `dev` is the exact build-tested pin.\n// graphql / graphql-tag are always-on because the workspace packages pulled\n// in by every `ph init` project (codegen, reactor-api, reactor-browser,\n// vetra-packages) declare them as peers — even projects without subgraphs\n// need them in scope so pnpm hoists a single graphql instance.\nexport const PEER_EXTERNAL_DEPENDENCIES = {\n [GRAPHQL_PACKAGE]: { peer: \"^16\", dev: \"16.12.0\" },\n [GRAPHQL_TAG_PACKAGE]: { peer: \"^2\", dev: \"2.12.6\" },\n react: { peer: \"^19\", dev: \"19.2.6\" },\n \"react-dom\": { peer: \"^19\", dev: \"19.2.6\" },\n zod: { peer: \"^4\", dev: \"4.3.6\" },\n} as const satisfies Record<string, PeerSpec>;\n\n// Per-feature deps added dynamically by codegen when required. `devVersioned`\n// is for a workspace package the build inlines, which no consumer provides.\nexport const FEATURE_DEPENDENCIES = {\n analyticsProcessor: {\n peerVersioned: [ANALYTICS_ENGINE_CORE_PACKAGE],\n peerExternal: {},\n devVersioned: [],\n },\n // Each piece is bundled whole (build-pieces.mts), framework included, so the\n // framework is only ever needed to compile the piece's own source.\n piece: {\n peerVersioned: [],\n peerExternal: {},\n devVersioned: [PIECES_FRAMEWORK_PACKAGE],\n },\n} as const satisfies Record<\n string,\n {\n peerVersioned: readonly string[];\n peerExternal: Record<string, PeerSpec>;\n devVersioned: readonly string[];\n }\n>;\n\nexport const VERSIONED_DEPENDENCIES = [\n ...VERSIONED_PEER_DEPENDENCIES,\n ...FEATURE_DEPENDENCIES.analyticsProcessor.peerVersioned,\n];\n\n// Transitive dependencies whose postinstall scripts the generated project\n// trusts. Mirrors the `allowBuilds` map in the boilerplate's\n// pnpm-workspace.yaml and is also passed as `--allow-build` flags to\n// `pnpm dlx @powerhousedao/ph-cli init` so pnpm 11's strict-dep-builds\n// default doesn't prompt during the outer dlx download.\nexport const BOILERPLATE_ALLOWED_BUILDS = [\n \"@apollo/protobufjs\",\n \"@datadog/pprof\",\n \"@parcel/watcher\",\n \"@reown/appkit\",\n \"bufferutil\",\n \"esbuild\",\n \"keccak\",\n \"protobufjs\",\n \"utf-8-validate\",\n] as const;\n\n// Single-version pins the boilerplate enforces on generated projects,\n// avoiding duplicates from coexisting version ranges. Rendered as pnpm\n// `overrides` (pnpm-workspace.yaml) and as yarn v1 `resolutions`\n// (package.json). Generated-project only — never change the monorepo\n// catalog for this (a re-resolution there pulls a tsc-crashing TS6 beta).\nexport const BOILERPLATE_DEPENDENCY_OVERRIDES = {\n \"date-fns\": \"4.3.0\",\n vite: \"8.0.14\",\n rolldown: \"1.0.2\",\n} as const satisfies Record<string, string>;\n\nexport const VERSIONED_DEV_DEPENDENCIES = [\n \"@powerhousedao/ph-cli\",\n \"@powerhousedao/reactor\",\n \"@powerhousedao/shared\",\n \"@powerhousedao/connect\",\n \"@powerhousedao/design-system\",\n];\n\nexport const packageJsonExports = {\n \".\": {\n types: \"./dist/types/index.d.ts\",\n browser: \"./dist/browser/index.js\",\n node: \"./dist/node/index.mjs\",\n },\n \"./reactor\": {\n types: \"./dist/types/reactor/index.d.ts\",\n browser: \"./dist/browser/reactor/index.js\",\n },\n \"./document-models\": {\n types: \"./dist/types/document-models/index.d.ts\",\n browser: \"./dist/browser/document-models/index.js\",\n node: \"./dist/node/document-models/index.mjs\",\n },\n \"./document-models/*\": {\n types: \"./dist/types/document-models/*/index.d.ts\",\n browser: \"./dist/browser/document-models/*/index.js\",\n node: \"./dist/node/document-models/*/index.mjs\",\n },\n \"./editors\": {\n types: \"./dist/types/editors/index.d.ts\",\n browser: \"./dist/browser/editors/index.js\",\n node: \"./dist/node/editors/index.mjs\",\n },\n \"./editors/*\": {\n types: \"./dist/types/editors/*/editor.d.ts\",\n browser: \"./dist/browser/editors/*/editor.js\",\n node: \"./dist/node/editors/*/editor.mjs\",\n },\n \"./subgraphs\": {\n types: \"./dist/types/subgraphs/index.d.ts\",\n browser: \"./dist/browser/subgraphs/index.js\",\n node: \"./dist/node/subgraphs/index.mjs\",\n },\n \"./processors\": {\n types: \"./dist/types/processors/index.d.ts\",\n browser: \"./dist/browser/processors/index.js\",\n node: \"./dist/node/processors/index.mjs\",\n },\n // Node only, as the build is: a piece is loaded by a host process, never by\n // the browser. Without these a package can build a piece and still fail the\n // `packageName/pieces` import a host resolves it through.\n \"./pieces\": {\n types: \"./dist/types/pieces/index.d.ts\",\n node: \"./dist/node/pieces/index.mjs\",\n },\n \"./pieces/*\": {\n types: \"./dist/types/pieces/*/index.d.ts\",\n node: \"./dist/node/pieces/*/index.mjs\",\n },\n \"./manifest\": \"./dist/powerhouse.manifest.json\",\n \"./style.css\": \"./dist/style.css\",\n} as const;\n\nexport const packageScripts = {\n \"test:watch\": \"vitest\",\n lint: \"oxlint --type-aware --type-check\",\n \"lint:fix\": \"oxlint --type-aware --type-check --fix\",\n format: \"oxfmt\",\n \"format:check\": \"oxfmt --check\",\n tsc: \"tsc\",\n \"tsc:watch\": \"tsc --watch\",\n generate: \"ph-cli generate\",\n connect: \"ph-cli connect\",\n build: \"ph-cli build\",\n reactor: \"ph-cli reactor\",\n service: \"ph-cli service\",\n vetra: \"ph-cli vetra\",\n \"service-startup\":\n \"bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-startup.sh\",\n \"service-unstartup\":\n \"bash ./node_modules/@powerhousedao/ph-cli/dist/scripts/service-unstartup.sh\",\n} as const;\n\nexport const externalDependencies = {} as const;\n\n// eslint/prettier devDependencies present in projects scaffolded before the oxc migration.\n// Stripped from package.json during `ph migrate`.\nexport const LEGACY_LINT_FORMAT_DEPENDENCIES = [\n \"@eslint/js\",\n \"eslint\",\n \"eslint-config-prettier\",\n \"eslint-plugin-prettier\",\n \"eslint-plugin-react\",\n \"eslint-plugin-react-hooks\",\n \"globals\",\n \"prettier\",\n \"typescript-eslint\",\n] as const;\n\n// Legacy lint/format config files written by eslint/prettier boilerplate.\n// Removed from the project root during `ph migrate`.\nexport const LEGACY_LINT_FORMAT_FILES = [\n \"eslint.config.js\",\n \"eslint.config.mjs\",\n \"eslint.config.cjs\",\n \"eslint.config.ts\",\n \".eslintrc\",\n \".eslintrc.js\",\n \".eslintrc.cjs\",\n \".eslintrc.json\",\n \".eslintrc.yml\",\n \".eslintrc.yaml\",\n \".eslintignore\",\n \".prettierrc\",\n \".prettierrc.js\",\n \".prettierrc.cjs\",\n \".prettierrc.json\",\n \".prettierrc.yml\",\n \".prettierrc.yaml\",\n \"prettier.config.js\",\n \"prettier.config.cjs\",\n \"prettier.config.mjs\",\n \".prettierignore\",\n] as const;\n\nexport const externalDevDependencies = {\n \"@electric-sql/pglite\": \"0.3.15\",\n \"@electric-sql/pglite-tools\": \"0.2.20\",\n \"@powerhousedao/document-engineering\": \"1.40.5\",\n \"@tailwindcss/cli\": \"^4.1.18\",\n \"@tailwindcss/vite\": \"^4.1.18\",\n \"@types/node\": \"^24.9.2\",\n \"@types/react\": \"^19.2.3\",\n \"@types/react-dom\": \"^19.2.3\",\n \"@vitejs/plugin-react\": \"^6.0.1\",\n \"@vitest/coverage-v8\": \"4.1.1\",\n oxfmt: \"0.55.0\",\n oxlint: \"1.70.0\",\n \"oxlint-tsgolint\": \"0.23.0\",\n tailwindcss: \"^4.1.16\",\n typescript: \"^5.9.3\",\n vite: \"^8.0.10\",\n \"vite-tsconfig-paths\": \"6.1.1\",\n vitest: \"4.1.1\",\n} as const;\n\nexport const defaultManifest: Manifest = {\n name: \"\",\n description: \"\",\n category: \"\",\n publisher: {\n name: \"\",\n url: \"\",\n },\n documentModels: [],\n editors: [],\n apps: [],\n subgraphs: [],\n processors: [],\n};\n\nconst DEFAULT_DOCUMENT_MODELS_DIR = \"./document-models\";\nconst DEFAULT_EDITORS_DIR = \"./editors\";\nconst DEFAULT_PROCESSORS_DIR = \"./processors\";\nconst DEFAULT_SUBGRAPHS_DIR = \"./subgraphs\";\nconst DEFAULT_IMPORT_SCRIPTS_DIR = \"./scripts\";\nconst DEFAULT_SKIP_FORMAT = false;\nconst DEFAULT_LOG_LEVEL = \"info\";\n\nexport const DEFAULT_CONFIG: PowerhouseConfig = {\n documentModelsDir: DEFAULT_DOCUMENT_MODELS_DIR,\n editorsDir: DEFAULT_EDITORS_DIR,\n processorsDir: DEFAULT_PROCESSORS_DIR,\n subgraphsDir: DEFAULT_SUBGRAPHS_DIR,\n importScriptsDir: DEFAULT_IMPORT_SCRIPTS_DIR,\n skipFormat: DEFAULT_SKIP_FORMAT,\n logLevel: DEFAULT_LOG_LEVEL,\n auth: {\n enabled: false,\n admins: [],\n },\n};\n"],"mappings":";;;AAKA,MAAa,kBAAkB;CAC7B;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,iBAAiB,OAAU;AACxC,MAAa,sBAAsB;AACnC,MAAa,yBAAA,IAA+C;AAE5D,MAAa,6BAA6B,CACxC,gBACA,6BACD;AAED,MAAa,aAAa;CACxB;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,kBAAkB;AAE/B,MAAa,8BAA8B;AAE3C,MAAa,6BAA6B;AAE1C,MAAa,+BAA+B;AAE5C,MAAa,yBAAyB;AAEtC,MAAa,qBAAqB;AAElC,MAAa,uBAAuB;AAEpC,MAAa,2BAA2B;AAqBxC,MAAa,yBAAyB;AACtC,MAAa,gCAAgC;AAC7C,MAAa,2BAA2B;AACxC,MAAa,kCAAkC;AAE/C,MAAa,yBAAyB;AAEtC,MAAa,uBAAuB;AACpC,MAAa,SAAS;AACtB,MAAa,yBAAyB;AACtC,MAAa,qBAAqB;AAElC,MAAa,yBAAA;AAEb,MAAa,WAAW,SAAS;AAEjC,MAAa,wBAAwB,KAAK,UAAA,MAA6B;AAGvE,MAAa,8BAA8B,CACzC,kBACA,iCACD;AAID,MAAa,sBAAsB;AACnC,MAAa,gCACX;AACF,MAAa,kBAAkB;AAC/B,MAAa,sBAAsB;AACnC,MAAa,2BAA2B;AAQxC,MAAa,6BAA6B;EACvC,kBAAkB;EAAE,MAAM;EAAO,KAAK;EAAW;EACjD,sBAAsB;EAAE,MAAM;EAAM,KAAK;EAAU;CACpD,OAAO;EAAE,MAAM;EAAO,KAAK;EAAU;CACrC,aAAa;EAAE,MAAM;EAAO,KAAK;EAAU;CAC3C,KAAK;EAAE,MAAM;EAAM,KAAK;EAAS;CAClC;AAID,MAAa,uBAAuB;CAClC,oBAAoB;EAClB,eAAe,CAAC,8BAA8B;EAC9C,cAAc,EAAE;EAChB,cAAc,EAAE;EACjB;CAGD,OAAO;EACL,eAAe,EAAE;EACjB,cAAc,EAAE;EAChB,cAAc,CAAC,yBAAyB;EACzC;CACF;AASD,MAAa,yBAAyB,CACpC,GAAG,6BACH,GAAG,qBAAqB,mBAAmB,cAC5C;AAOD,MAAa,6BAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAOD,MAAa,mCAAmC;CAC9C,YAAY;CACZ,MAAM;CACN,UAAU;CACX;AAED,MAAa,6BAA6B;CACxC;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,qBAAqB;CAChC,KAAK;EACH,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,aAAa;EACX,OAAO;EACP,SAAS;EACV;CACD,qBAAqB;EACnB,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,uBAAuB;EACrB,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,aAAa;EACX,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,eAAe;EACb,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,eAAe;EACb,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACD,gBAAgB;EACd,OAAO;EACP,SAAS;EACT,MAAM;EACP;CAID,YAAY;EACV,OAAO;EACP,MAAM;EACP;CACD,cAAc;EACZ,OAAO;EACP,MAAM;EACP;CACD,cAAc;CACd,eAAe;CAChB;AAED,MAAa,iBAAiB;CAC5B,cAAc;CACd,MAAM;CACN,YAAY;CACZ,QAAQ;CACR,gBAAgB;CAChB,KAAK;CACL,aAAa;CACb,UAAU;CACV,SAAS;CACT,OAAO;CACP,SAAS;CACT,SAAS;CACT,OAAO;CACP,mBACE;CACF,qBACE;CACH;AAED,MAAa,uBAAuB,EAAE;AAItC,MAAa,kCAAkC;CAC7C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAID,MAAa,2BAA2B;CACtC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,0BAA0B;CACrC,wBAAwB;CACxB,8BAA8B;CAC9B,uCAAuC;CACvC,oBAAoB;CACpB,qBAAqB;CACrB,eAAe;CACf,gBAAgB;CAChB,oBAAoB;CACpB,wBAAwB;CACxB,uBAAuB;CACvB,OAAO;CACP,QAAQ;CACR,mBAAmB;CACnB,aAAa;CACb,YAAY;CACZ,MAAM;CACN,uBAAuB;CACvB,QAAQ;CACT;AAED,MAAa,kBAA4B;CACvC,MAAM;CACN,aAAa;CACb,UAAU;CACV,WAAW;EACT,MAAM;EACN,KAAK;EACN;CACD,gBAAgB,EAAE;CAClB,SAAS,EAAE;CACX,MAAM,EAAE;CACR,WAAW,EAAE;CACb,YAAY,EAAE;CACf;AAUD,MAAa,iBAAmC;CAC9C,mBATkC;CAUlC,YAT0B;CAU1B,eAT6B;CAU7B,cAT4B;CAU5B,kBATiC;CAUjC,YAT0B;CAU1B,UATwB;CAUxB,MAAM;EACJ,SAAS;EACT,QAAQ,EAAE;EACX;CACF"}