@opendatalabs/personal-server-ts-server 1.33.8 → 1.34.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/dist/__fixtures__/bound-record-store.d.ts +19 -0
  2. package/dist/__fixtures__/bound-record-store.d.ts.map +1 -0
  3. package/dist/__fixtures__/bound-record-store.js +60 -0
  4. package/dist/__fixtures__/bound-record-store.js.map +1 -0
  5. package/dist/__fixtures__/cg-pdpp-client/pdpp-authorization-strategy.d.ts +41 -0
  6. package/dist/__fixtures__/cg-pdpp-client/pdpp-authorization-strategy.d.ts.map +1 -0
  7. package/dist/__fixtures__/cg-pdpp-client/pdpp-authorization-strategy.js +34 -0
  8. package/dist/__fixtures__/cg-pdpp-client/pdpp-authorization-strategy.js.map +1 -0
  9. package/dist/__fixtures__/cg-pdpp-client/pdpp-context-client.d.ts +112 -0
  10. package/dist/__fixtures__/cg-pdpp-client/pdpp-context-client.d.ts.map +1 -0
  11. package/dist/__fixtures__/cg-pdpp-client/pdpp-context-client.js +226 -0
  12. package/dist/__fixtures__/cg-pdpp-client/pdpp-context-client.js.map +1 -0
  13. package/dist/__fixtures__/cg-pdpp-client/pdpp-types.d.ts +135 -0
  14. package/dist/__fixtures__/cg-pdpp-client/pdpp-types.d.ts.map +1 -0
  15. package/dist/__fixtures__/cg-pdpp-client/pdpp-types.js +21 -0
  16. package/dist/__fixtures__/cg-pdpp-client/pdpp-types.js.map +1 -0
  17. package/dist/api-auth.d.ts +18 -2
  18. package/dist/api-auth.d.ts.map +1 -1
  19. package/dist/api-auth.js +114 -22
  20. package/dist/api-auth.js.map +1 -1
  21. package/dist/app.d.ts +60 -1
  22. package/dist/app.d.ts.map +1 -1
  23. package/dist/app.js +139 -1
  24. package/dist/app.js.map +1 -1
  25. package/dist/bootstrap.d.ts +10 -0
  26. package/dist/bootstrap.d.ts.map +1 -1
  27. package/dist/bootstrap.js +359 -8
  28. package/dist/bootstrap.js.map +1 -1
  29. package/dist/enclave-main.d.ts +4 -0
  30. package/dist/enclave-main.d.ts.map +1 -1
  31. package/dist/enclave-main.js +152 -1
  32. package/dist/enclave-main.js.map +1 -1
  33. package/dist/middleware/body-limit.d.ts +1 -1
  34. package/dist/middleware/body-limit.d.ts.map +1 -1
  35. package/dist/middleware/body-limit.js +8 -3
  36. package/dist/middleware/body-limit.js.map +1 -1
  37. package/dist/middleware/cors.d.ts.map +1 -1
  38. package/dist/middleware/cors.js +1 -0
  39. package/dist/middleware/cors.js.map +1 -1
  40. package/dist/package.json +9 -1
  41. package/dist/pdpp/bootstrap.d.ts +72 -0
  42. package/dist/pdpp/bootstrap.d.ts.map +1 -0
  43. package/dist/pdpp/bootstrap.js +270 -0
  44. package/dist/pdpp/bootstrap.js.map +1 -0
  45. package/dist/pdpp/chain-enforcement.d.ts +95 -0
  46. package/dist/pdpp/chain-enforcement.d.ts.map +1 -0
  47. package/dist/pdpp/chain-enforcement.js +145 -0
  48. package/dist/pdpp/chain-enforcement.js.map +1 -0
  49. package/dist/pdpp/client-document-fetch.d.ts +63 -0
  50. package/dist/pdpp/client-document-fetch.d.ts.map +1 -0
  51. package/dist/pdpp/client-document-fetch.js +254 -0
  52. package/dist/pdpp/client-document-fetch.js.map +1 -0
  53. package/dist/pdpp/declaration-registry.d.ts +83 -0
  54. package/dist/pdpp/declaration-registry.d.ts.map +1 -0
  55. package/dist/pdpp/declaration-registry.js +251 -0
  56. package/dist/pdpp/declaration-registry.js.map +1 -0
  57. package/dist/pdpp/deployment.d.ts +70 -0
  58. package/dist/pdpp/deployment.d.ts.map +1 -0
  59. package/dist/pdpp/deployment.js +104 -0
  60. package/dist/pdpp/deployment.js.map +1 -0
  61. package/dist/pdpp/record-schema.d.ts +2 -0
  62. package/dist/pdpp/record-schema.d.ts.map +1 -0
  63. package/dist/pdpp/record-schema.js +2 -0
  64. package/dist/pdpp/record-schema.js.map +1 -0
  65. package/dist/pdpp/records-bootstrap.d.ts +111 -0
  66. package/dist/pdpp/records-bootstrap.d.ts.map +1 -0
  67. package/dist/pdpp/records-bootstrap.js +353 -0
  68. package/dist/pdpp/records-bootstrap.js.map +1 -0
  69. package/dist/pdpp/source-id-compat.d.ts +5 -0
  70. package/dist/pdpp/source-id-compat.d.ts.map +1 -0
  71. package/dist/pdpp/source-id-compat.js +16 -0
  72. package/dist/pdpp/source-id-compat.js.map +1 -0
  73. package/dist/pdpp/test-connections.d.ts +6 -0
  74. package/dist/pdpp/test-connections.d.ts.map +1 -0
  75. package/dist/pdpp/test-connections.js +37 -0
  76. package/dist/pdpp/test-connections.js.map +1 -0
  77. package/dist/routes/auth-device.d.ts.map +1 -1
  78. package/dist/routes/auth-device.js +3 -0
  79. package/dist/routes/auth-device.js.map +1 -1
  80. package/dist/routes/chunked-scope-import.d.ts +41 -0
  81. package/dist/routes/chunked-scope-import.d.ts.map +1 -0
  82. package/dist/routes/chunked-scope-import.js +901 -0
  83. package/dist/routes/chunked-scope-import.js.map +1 -0
  84. package/dist/routes/data.d.ts +23 -1
  85. package/dist/routes/data.d.ts.map +1 -1
  86. package/dist/routes/data.js +112 -1
  87. package/dist/routes/data.js.map +1 -1
  88. package/dist/routes/grants.d.ts.map +1 -1
  89. package/dist/routes/grants.js +2 -0
  90. package/dist/routes/grants.js.map +1 -1
  91. package/dist/routes/mcp.d.ts.map +1 -1
  92. package/dist/routes/mcp.js +3 -0
  93. package/dist/routes/mcp.js.map +1 -1
  94. package/dist/routes/pdpp-auth.d.ts +157 -0
  95. package/dist/routes/pdpp-auth.d.ts.map +1 -0
  96. package/dist/routes/pdpp-auth.js +953 -0
  97. package/dist/routes/pdpp-auth.js.map +1 -0
  98. package/dist/routes/pdpp-blobs.d.ts +26 -0
  99. package/dist/routes/pdpp-blobs.d.ts.map +1 -0
  100. package/dist/routes/pdpp-blobs.js +179 -0
  101. package/dist/routes/pdpp-blobs.js.map +1 -0
  102. package/dist/routes/pdpp-connections.d.ts +28 -0
  103. package/dist/routes/pdpp-connections.d.ts.map +1 -0
  104. package/dist/routes/pdpp-connections.js +144 -0
  105. package/dist/routes/pdpp-connections.js.map +1 -0
  106. package/dist/routes/pdpp-declarations.d.ts +58 -0
  107. package/dist/routes/pdpp-declarations.d.ts.map +1 -0
  108. package/dist/routes/pdpp-declarations.js +94 -0
  109. package/dist/routes/pdpp-declarations.js.map +1 -0
  110. package/dist/routes/pdpp-instance-bindings.d.ts +26 -0
  111. package/dist/routes/pdpp-instance-bindings.d.ts.map +1 -0
  112. package/dist/routes/pdpp-instance-bindings.js +124 -0
  113. package/dist/routes/pdpp-instance-bindings.js.map +1 -0
  114. package/dist/routes/pdpp-records.d.ts +158 -0
  115. package/dist/routes/pdpp-records.d.ts.map +1 -0
  116. package/dist/routes/pdpp-records.js +1537 -0
  117. package/dist/routes/pdpp-records.js.map +1 -0
  118. package/dist/routes/pdpp-well-known.d.ts +13 -0
  119. package/dist/routes/pdpp-well-known.d.ts.map +1 -0
  120. package/dist/routes/pdpp-well-known.js +20 -0
  121. package/dist/routes/pdpp-well-known.js.map +1 -0
  122. package/dist/storage/declaration-witness.d.ts +56 -0
  123. package/dist/storage/declaration-witness.d.ts.map +1 -0
  124. package/dist/storage/declaration-witness.js +273 -0
  125. package/dist/storage/declaration-witness.js.map +1 -0
  126. package/dist/storage/hierarchy.d.ts +25 -1
  127. package/dist/storage/hierarchy.d.ts.map +1 -1
  128. package/dist/storage/hierarchy.js +210 -16
  129. package/dist/storage/hierarchy.js.map +1 -1
  130. package/dist/storage/import-operations.d.ts +11 -0
  131. package/dist/storage/import-operations.d.ts.map +1 -0
  132. package/dist/storage/import-operations.js +261 -0
  133. package/dist/storage/import-operations.js.map +1 -0
  134. package/dist/storage/index-manager.d.ts +24 -2
  135. package/dist/storage/index-manager.d.ts.map +1 -1
  136. package/dist/storage/index-manager.js +279 -30
  137. package/dist/storage/index-manager.js.map +1 -1
  138. package/dist/storage/index-schema.d.ts +1 -1
  139. package/dist/storage/index-schema.d.ts.map +1 -1
  140. package/dist/storage/index-schema.js +189 -8
  141. package/dist/storage/index-schema.js.map +1 -1
  142. package/dist/storage/legacy-scope-authority.d.ts +14 -0
  143. package/dist/storage/legacy-scope-authority.d.ts.map +1 -0
  144. package/dist/storage/legacy-scope-authority.js +298 -0
  145. package/dist/storage/legacy-scope-authority.js.map +1 -0
  146. package/dist/storage/node-data-storage.d.ts +6 -0
  147. package/dist/storage/node-data-storage.d.ts.map +1 -1
  148. package/dist/storage/node-data-storage.js +161 -2
  149. package/dist/storage/node-data-storage.js.map +1 -1
  150. package/dist/storage/pdpp-grant-binding-sqlite-store.d.ts +17 -0
  151. package/dist/storage/pdpp-grant-binding-sqlite-store.d.ts.map +1 -0
  152. package/dist/storage/pdpp-grant-binding-sqlite-store.js +159 -0
  153. package/dist/storage/pdpp-grant-binding-sqlite-store.js.map +1 -0
  154. package/dist/storage/pdpp-records-sqlite-store.d.ts +112 -0
  155. package/dist/storage/pdpp-records-sqlite-store.d.ts.map +1 -0
  156. package/dist/storage/pdpp-records-sqlite-store.js +1440 -0
  157. package/dist/storage/pdpp-records-sqlite-store.js.map +1 -0
  158. package/dist/storage/pdpp-stream-completion.d.ts +5 -0
  159. package/dist/storage/pdpp-stream-completion.d.ts.map +1 -0
  160. package/dist/storage/pdpp-stream-completion.js +10 -0
  161. package/dist/storage/pdpp-stream-completion.js.map +1 -0
  162. package/dist/storage/scope-deletion-history.d.ts +8 -0
  163. package/dist/storage/scope-deletion-history.d.ts.map +1 -0
  164. package/dist/storage/scope-deletion-history.js +40 -0
  165. package/dist/storage/scope-deletion-history.js.map +1 -0
  166. package/dist/ui/ps-lite-debug.js +3981 -1109
  167. package/package.json +12 -4
package/dist/bootstrap.js CHANGED
@@ -1,10 +1,22 @@
1
- import { mkdir } from "node:fs/promises";
1
+ import { createDurableAdditions, createVersionInventoryClient, } from "@opendatalabs/personal-server-ts-core/additions";
2
+ import { access, mkdir, open, readFile, readdir, rm, writeFile, } from "node:fs/promises";
2
3
  import { createRequire } from "node:module";
3
- import { randomUUID } from "node:crypto";
4
- import { join } from "node:path";
4
+ import { createHash, randomUUID } from "node:crypto";
5
+ import { dirname, join } from "node:path";
6
+ import { DataFileEnvelopeSchema } from "@opendatalabs/vana-sdk/browser";
5
7
  import { privateKeyToAccount } from "viem/accounts";
6
8
  const require = createRequire(import.meta.url);
7
9
  const pkg = require("../package.json");
10
+ function takeoverLimit(name, fallback) {
11
+ const raw = process.env[name];
12
+ if (raw === undefined)
13
+ return fallback;
14
+ const value = Number(raw);
15
+ if (!Number.isFinite(value) || value < 0) {
16
+ throw new Error(`${name} must be a non-negative finite number`);
17
+ }
18
+ return value;
19
+ }
8
20
  import { DEFAULT_ROOT_PATH, resolveRootPath } from "./config/index.js";
9
21
  import { createLogger } from "./logger/index.js";
10
22
  import { initializeDatabase } from "./storage/index-schema.js";
@@ -14,7 +26,7 @@ import { withLegacyProjection } from "@opendatalabs/personal-server-ts-core/stor
14
26
  import { createGatewayClient, NodeECIESProvider, } from "@opendatalabs/vana-sdk/node";
15
27
  import { createAccessLogWriter } from "./logging/access-log.js";
16
28
  import { createAccessLogReader } from "./logging/access-reader.js";
17
- import { deriveMasterKey, recoverServerOwner, } from "@opendatalabs/vana-sdk/node";
29
+ import { buildWeb3SignedHeader, deriveMasterKey, recoverServerOwner, } from "@opendatalabs/vana-sdk/node";
18
30
  import { loadOrCreateServerAccount } from "./keys/server-account.js";
19
31
  import { createRequestSigner, createServerSigner, } from "@opendatalabs/personal-server-ts-core/signing";
20
32
  import { createGatewayLineageClient, } from "@opendatalabs/personal-server-ts-core/lineage";
@@ -23,11 +35,18 @@ import { createGatewayDataPointFeed, createGatewayDeleteDataPort, createScopeDel
23
35
  import { createVanaSyncStorageAdapter, resolveVanaStorageEndpoint, } from "@opendatalabs/personal-server-ts-core/storage/adapters";
24
36
  import { createFilePendingBlobDeletionStore } from "./pending-blob-deletions.js";
25
37
  import { createApp } from "./app.js";
38
+ import { cleanupExpiredScopeImports } from "./routes/chunked-scope-import.js";
39
+ import { createPdppAuthDeps } from "./pdpp/bootstrap.js";
40
+ import { createPdppRecordsDeps, coLocatedAuthorizationService, createPdppSyncImporter, registerLegacyDataConnections, } from "./pdpp/records-bootstrap.js";
41
+ import { createSqliteRecordStore } from "./storage/pdpp-records-sqlite-store.js";
42
+ import { createLegacyScopeAuthority } from "./storage/legacy-scope-authority.js";
43
+ import { createScopeDeletionHistory } from "./storage/scope-deletion-history.js";
44
+ import { createLegacyScopeView } from "@opendatalabs/personal-server-ts-core/storage/legacy-scope-view";
26
45
  import { generateDevToken } from "./dev-token.js";
27
46
  import { migrateLocalState } from "./migrations/local-state.js";
28
47
  import { createTokenStore } from "./token-store.js";
29
48
  import { TunnelManager, ensureFrpcBinary } from "./tunnel/index.js";
30
- import { createNodeDataStorage } from "./storage/node-data-storage.js";
49
+ import { createNodeDataStorage, recoverStagedDataFiles, reindexLegacyDataFiles, } from "./storage/node-data-storage.js";
31
50
  import { createSqliteQuestionStore } from "./storage/question-store.js";
32
51
  import { computeQuestion, createOpenAiCompatibleInferenceProvider, createPhalaE2eeEncryption, createRecomputeScheduler, } from "@opendatalabs/personal-server-ts-core/derivatives";
33
52
  import { executeJob } from "./jobs/worker.js";
@@ -67,8 +86,112 @@ export async function createServer(config, options) {
67
86
  const syncCursorPath = join(storageRoot, "sync-cursor.json");
68
87
  const pendingBlobDeletionsPath = join(storageRoot, "pending-blob-deletions.json");
69
88
  const tokensPath = join(storageRoot, "tokens.json");
89
+ const revisionJournalDir = join(storageRoot, "cas-revisions");
90
+ const metadataSentinelPath = join(storageRoot, "cas-metadata-initialized");
91
+ const historyUnknownPath = join(storageRoot, "cas-history-unknown");
92
+ const pathExists = async (path) => {
93
+ try {
94
+ await access(path);
95
+ return true;
96
+ }
97
+ catch (error) {
98
+ if (error.code === "ENOENT")
99
+ return false;
100
+ throw error;
101
+ }
102
+ };
103
+ const hadIndex = await pathExists(indexPath);
104
+ const hadMetadataSentinel = await pathExists(metadataSentinelPath);
105
+ let hadLocalData = false;
106
+ try {
107
+ hadLocalData = (await readdir(dataDir)).length > 0;
108
+ }
109
+ catch (error) {
110
+ if (error.code !== "ENOENT")
111
+ throw error;
112
+ }
113
+ const fsyncDirectory = async (path) => {
114
+ const handle = await open(path, "r");
115
+ try {
116
+ await handle.sync();
117
+ }
118
+ finally {
119
+ await handle.close();
120
+ }
121
+ };
122
+ const newDirectoryParents = new Set();
123
+ for (const requested of [storageRoot, dataDir]) {
124
+ let current = requested;
125
+ while (!(await pathExists(current))) {
126
+ const parent = dirname(current);
127
+ if (parent === current)
128
+ break;
129
+ newDirectoryParents.add(parent);
130
+ current = parent;
131
+ }
132
+ }
70
133
  await mkdir(storageRoot, { recursive: true });
71
134
  await mkdir(dataDir, { recursive: true });
135
+ for (const parent of [...newDirectoryParents].sort((a, b) => a.length - b.length)) {
136
+ await fsyncDirectory(parent);
137
+ }
138
+ const reindexInProgressPath = join(storageRoot, "reindex-in-progress");
139
+ const hasReindexInProgress = async () => {
140
+ return pathExists(reindexInProgressPath);
141
+ };
142
+ const writeDurableRootFile = async (path, content) => {
143
+ await writeFile(path, content);
144
+ const handle = await open(path, "r");
145
+ try {
146
+ await handle.sync();
147
+ }
148
+ finally {
149
+ await handle.close();
150
+ }
151
+ await fsyncDirectory(storageRoot);
152
+ };
153
+ const markHistoryUnknown = async () => {
154
+ await writeDurableRootFile(historyUnknownPath, "unknown\n");
155
+ await writeDurableRootFile(metadataSentinelPath, "unknown\n");
156
+ };
157
+ if ((hadMetadataSentinel || hadLocalData) && !hadIndex) {
158
+ await markHistoryUnknown();
159
+ }
160
+ else if ((hadMetadataSentinel &&
161
+ (await readFile(metadataSentinelPath, "utf8")) !== "initialized\n") ||
162
+ (await pathExists(historyUnknownPath))) {
163
+ await markHistoryUnknown();
164
+ }
165
+ else if (!hadMetadataSentinel) {
166
+ await writeDurableRootFile(metadataSentinelPath, "initialized\n");
167
+ }
168
+ const markReindexInProgress = async () => {
169
+ await writeFile(reindexInProgressPath, `${new Date().toISOString()}\n`);
170
+ const marker = await open(reindexInProgressPath, "r");
171
+ try {
172
+ await marker.sync();
173
+ }
174
+ finally {
175
+ await marker.close();
176
+ }
177
+ await fsyncDirectory(storageRoot);
178
+ };
179
+ const clearReindexInProgress = async () => {
180
+ await rm(reindexInProgressPath, { force: true });
181
+ await fsyncDirectory(storageRoot);
182
+ };
183
+ const hasScopeClosedMarker = async (scope) => {
184
+ const journalPath = join(revisionJournalDir, `${createHash("sha256").update(scope).digest("hex")}.revision.closed`);
185
+ try {
186
+ await access(journalPath);
187
+ return true;
188
+ }
189
+ catch (error) {
190
+ if (error.code === "ENOENT")
191
+ return false;
192
+ throw error;
193
+ }
194
+ };
72
195
  const db = initializeDatabase(indexPath);
73
196
  await migrateLocalState({
74
197
  storageRoot,
@@ -79,8 +202,48 @@ export async function createServer(config, options) {
79
202
  db,
80
203
  logger,
81
204
  });
82
- const indexManager = createIndexManager(db);
205
+ // This database-held bit distinguishes an old index that needs open-marker
206
+ // migration from a migrated index whose root sentinel was later lost.
207
+ const openMarkerProtocolInitialized = db
208
+ .prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'cas_open_marker_protocol'")
209
+ .get() !== undefined;
210
+ const indexManager = createIndexManager(db, {
211
+ revisionJournalDir,
212
+ historyUnknownPath,
213
+ // Existing databases predate open proofs. Later boots treat a missing
214
+ // proof as an interrupted close or metadata loss, never as open.
215
+ allowOpenMarkerMigration: hadIndex && !hadMetadataSentinel && !openMarkerProtocolInitialized,
216
+ });
217
+ db.exec("CREATE TABLE IF NOT EXISTS cas_open_marker_protocol (id INTEGER PRIMARY KEY)");
83
218
  const hierarchyOptions = { dataDir };
219
+ await cleanupExpiredScopeImports({ hierarchyOptions, indexManager }, Date.now(), true);
220
+ await recoverStagedDataFiles({ indexManager, hierarchyOptions });
221
+ const resumeReindex = await hasReindexInProgress();
222
+ let needsRecoveryScan = false;
223
+ for (const scope of indexManager.listIndexedScopes()) {
224
+ const closed = await hasScopeClosedMarker(scope);
225
+ if (resumeReindex || closed) {
226
+ indexManager.closeScopeForWrites(scope);
227
+ }
228
+ if (!closed && !indexManager.hasTrustedRevisionJournal(scope)) {
229
+ needsRecoveryScan = true;
230
+ indexManager.closeScopeForWrites(scope);
231
+ }
232
+ }
233
+ const indexedCount = db
234
+ .prepare("SELECT COUNT(*) AS count FROM data_files")
235
+ .get();
236
+ if (indexedCount.count === 0 || resumeReindex || needsRecoveryScan) {
237
+ await markReindexInProgress();
238
+ await reindexLegacyDataFiles({
239
+ indexManager,
240
+ hierarchyOptions,
241
+ closeRecoveredScopeForWrites: async (scope) => resumeReindex ||
242
+ (await hasScopeClosedMarker(scope)) ||
243
+ !indexManager.hasTrustedRevisionJournal(scope),
244
+ });
245
+ await clearReindexInProgress();
246
+ }
84
247
  // Sync moves stored bytes and must see them unchanged (the upload hashes
85
248
  // them). Every reader gets the served port, which projects legacy scope
86
249
  // bodies from stored PDPP records.
@@ -90,7 +253,7 @@ export async function createServer(config, options) {
90
253
  });
91
254
  const dataStorage = withLegacyProjection(rawDataStorage, {
92
255
  onIssue: (issue) => issue.kind === "projection_failed"
93
- ? logger.warn(issue, "Legacy scope projection failed; serving stored body")
256
+ ? logger.warn(issue, "Legacy scope served read refused")
94
257
  : logger.info(issue, "Legacy scope projection left rows out"),
95
258
  });
96
259
  const gatewayClient = options?.gatewayClient ?? createGatewayClient(config.gateway.url);
@@ -195,18 +358,55 @@ export async function createServer(config, options) {
195
358
  requestSigner,
196
359
  })
197
360
  : undefined;
361
+ const additionsOwnerSigner = options?.ownerRequestSigner ??
362
+ (ownerTunnelSigner &&
363
+ serverOwner &&
364
+ ownerTunnelSigner.address.toLowerCase() === serverOwner.toLowerCase()
365
+ ? {
366
+ signRequest: (params) => buildWeb3SignedHeader({
367
+ ...params,
368
+ signMessage: (message) => ownerTunnelSigner.signMessage({ message }),
369
+ }),
370
+ }
371
+ : undefined);
198
372
  // --- Sync engine setup ---
199
373
  let syncManager = null;
374
+ /**
375
+ * Late-bound PDPP importer.
376
+ *
377
+ * The sync engine is wired here, but the PDPP servers mount much further
378
+ * down: they need the index (to derive the connector inventory), the
379
+ * declarations and the auth store, none of which exist yet. Rather than
380
+ * reorder boot around the newer subsystem, the download worker holds this
381
+ * stable delegate and it starts importing the moment PDPP mounts. While
382
+ * PDPP is disabled or fails to mount, `importer` stays null and the
383
+ * delegate reports every envelope as skipped — sync behaves exactly as it
384
+ * did before this existed.
385
+ */
386
+ let pdppImporterImpl = null;
387
+ const pdppImporter = {
388
+ importEnvelope: (envelope) => pdppImporterImpl?.importEnvelope(envelope) ?? { status: "skipped" },
389
+ // Before PDPP mounts, nothing is settled: an entry indexed during that
390
+ // window must still be retried once the real importer attaches, which is
391
+ // the "enable PDPP after an earlier sync" case.
392
+ needsRetry: (scope, collectedAt) => pdppImporterImpl?.needsRetry(scope, collectedAt) ?? true,
393
+ };
200
394
  // Deletion-aware registry view. Independent of sync: the data route uses
201
395
  // it to answer 410 for scopes the owner deleted even when sync is off.
202
396
  const dataPointFeed = options?.dataPointFeed ??
203
- createGatewayDataPointFeed({ gatewayUrl: config.gateway.url });
397
+ createGatewayDataPointFeed({
398
+ gatewayUrl: config.gateway.url,
399
+ ownerRequestSigner: additionsOwnerSigner,
400
+ });
204
401
  // Read-side memory of tombstones, shared by the sync workers (which feed
205
402
  // it) and the data route (which consults it on every read).
206
403
  const scopeDeletions = createScopeDeletionTracker({
207
404
  feed: dataPointFeed,
208
405
  serverOwner,
209
406
  logger,
407
+ deletionHistory: serverOwner
408
+ ? createScopeDeletionHistory(db, serverOwner)
409
+ : undefined,
210
410
  });
211
411
  // --- Derivative compute (question -> derivative) ---
212
412
  // The scheduler exists before the sync manager so downloads can mark
@@ -272,6 +472,42 @@ export async function createServer(config, options) {
272
472
  store: questionStore,
273
473
  scheduler: derivativeScheduler,
274
474
  };
475
+ const additionsInventorySigner = options?.additionsInventorySigner ?? additionsOwnerSigner ?? requestSigner;
476
+ let additions;
477
+ if (additionsInventorySigner &&
478
+ (!isEnclave || options?.additionsWriter) &&
479
+ masterKeySignature &&
480
+ serverOwner &&
481
+ serverAccount &&
482
+ serverSigner) {
483
+ additions = createDurableAdditions({
484
+ deleteSystemScope: async (scope) => {
485
+ if (!syncManager)
486
+ throw new Error("Durable system deletion capability unavailable");
487
+ const result = await syncManager.deleteScope(scope);
488
+ if (!result.durable || result.steps.gateway.status === "failed") {
489
+ throw new Error("System scope deletion was not durable");
490
+ }
491
+ },
492
+ ownerAddress: serverOwner,
493
+ network: `vana:${config.gateway.chainId}:${new URL(config.gateway.url).origin}`,
494
+ inventory: createVersionInventoryClient({
495
+ gatewayUrl: config.gateway.url,
496
+ ownerAddress: serverOwner,
497
+ ownerSigner: additionsInventorySigner,
498
+ }),
499
+ storageAdapter: options?.additionsWriter?.storageAdapter ??
500
+ createVanaSyncStorageAdapter({
501
+ config,
502
+ serverOwner,
503
+ serverAccount,
504
+ reads: isEnclave ? "public" : "signed",
505
+ }),
506
+ masterKey: deriveMasterKey(masterKeySignature),
507
+ signer: options?.additionsWriter?.signer ?? serverSigner,
508
+ gateway: options?.additionsWriter?.gateway ?? gatewayClient,
509
+ });
510
+ }
275
511
  if (config.sync.enabled &&
276
512
  masterKeySignature &&
277
513
  serverOwner &&
@@ -288,6 +524,7 @@ export async function createServer(config, options) {
288
524
  legacyConfigPath: configPath,
289
525
  });
290
526
  const uploadDeps = {
527
+ additions,
291
528
  storage: rawDataStorage,
292
529
  storageAdapter,
293
530
  gateway: gatewayClient,
@@ -312,6 +549,7 @@ export async function createServer(config, options) {
312
549
  onDataPointIndexed: (event) => derivativeScheduler.markSourceChanged(event.scope, {
313
550
  lineageSources: event.lineageSources,
314
551
  }),
552
+ pdppImporter,
315
553
  };
316
554
  // Durable deletion: gateway tombstone signed with the same server
317
555
  // account + AddData signer uploads use, storage DELETE authorised with
@@ -419,6 +657,72 @@ export async function createServer(config, options) {
419
657
  resultUpload,
420
658
  })
421
659
  : undefined;
660
+ // PDPP Authorization Server. Opt-in, and returns undefined unless the
661
+ // deployment has an owner, retained declarations, and readable auth state —
662
+ // so `/pdpp/v1` is mounted only when it can actually issue grants.
663
+ const pdppAuth = await createPdppAuthDeps({
664
+ config,
665
+ storageRoot,
666
+ logger,
667
+ indexManager,
668
+ serverOrigin: () => effectiveOrigin,
669
+ serverOwner,
670
+ devToken,
671
+ accessToken,
672
+ tokenStore,
673
+ });
674
+ if (pdppAuth) {
675
+ registerLegacyDataConnections({
676
+ db,
677
+ serverOwner,
678
+ connectionMethods: pdppAuth.connectionMethods,
679
+ legacyScopes: indexManager
680
+ .listDistinctScopes()
681
+ .scopes.map(({ scope }) => scope),
682
+ logger,
683
+ });
684
+ }
685
+ // PDPP Resource Server. Mounts only alongside a mounted AS, so a real boot
686
+ // yields both halves over ONE token authority — the AS's own
687
+ // PdppTokenService, resolved in-process (Core §8 co-located). Without this
688
+ // a real server can issue a valid grant-bound token that has nothing to
689
+ // read, and cannot publish the RFC 9728 metadata a client needs to discover
690
+ // where to authorize.
691
+ const pdppRecords = createPdppRecordsDeps({
692
+ pdppAuth,
693
+ declarations: pdppAuth?.retainedDeclarations ?? [],
694
+ db,
695
+ serverOwner,
696
+ resource: effectiveOrigin,
697
+ logger,
698
+ configuredMethods: pdppAuth?.configuredMethods,
699
+ });
700
+ const pdppConnections = pdppAuth
701
+ ? {
702
+ store: createSqliteRecordStore(db),
703
+ auth: pdppRecords?.auth ?? coLocatedAuthorizationService(pdppAuth),
704
+ ownerSubjectId: serverOwner,
705
+ connectionMethods: new Map(pdppAuth.connectionMethods),
706
+ configuredMethods: pdppRecords?.configuredMethods ?? new Map(),
707
+ canonicalSourceIds: new Set(pdppAuth.configuredMethods.map((method) => method.sourceId)),
708
+ sourceIds: new Set([
709
+ ...pdppAuth.connectionMethods.keys(),
710
+ ...pdppAuth.retainedDeclarations.map((declaration) => declaration.source_id),
711
+ ]),
712
+ }
713
+ : undefined;
714
+ // Close the sync→PDPP loop. Until this runs the download worker holds an
715
+ // inert delegate; from here a synced envelope carrying verified `$pdpp`
716
+ // metadata reaches the store the RS serves reads from, which refuses it
717
+ // until the metadata carries a method and binding generation (P8a).
718
+ pdppImporterImpl =
719
+ createPdppSyncImporter({
720
+ records: pdppRecords,
721
+ declarations: pdppAuth?.retainedDeclarations ?? [],
722
+ documents: pdppAuth?.retainedDocuments ?? new Map(),
723
+ serverOwner,
724
+ logger,
725
+ }) ?? null;
422
726
  // Standard mode keeps MCP clients (e.g. a claude.ai connector) signed in
423
727
  // across restarts. Enclaves use the TEE ingress's own sealed state.
424
728
  const mcpState = !isEnclave && masterKeySignature
@@ -429,6 +733,27 @@ export async function createServer(config, options) {
429
733
  })
430
734
  : undefined;
431
735
  const app = createApp({
736
+ pdppAuth,
737
+ // Declaration submission, gated on the control-plane credential the
738
+ // deployment already uses for operator surfaces (`PS_ACCESS_TOKEN`).
739
+ // Deliberately NOT a new config field: `loadConfig()` rewrites
740
+ // `config.json` with defaults on every boot, so a secret living there is
741
+ // a secret at rest in a file the server edits. Without the credential the
742
+ // route is not mounted and the declaration set stays exactly what config
743
+ // made it.
744
+ pdppDeclarations: pdppAuth
745
+ ? {
746
+ registry: pdppAuth.declarationRegistry,
747
+ supportedConnectors: pdppAuth.supportedConnectors,
748
+ operatorToken: accessToken,
749
+ }
750
+ : undefined,
751
+ pdpp: pdppRecords,
752
+ pdppConnections,
753
+ // The SAME stable delegate the download worker was given above, not a
754
+ // second importer: both arrival routes must resolve to one importer over
755
+ // one store, and this one is already late-bound to `pdppImporterImpl`.
756
+ pdppImporter,
432
757
  mcpHydrateScopes: isEnclave && jobSyncManager
433
758
  ? (scopes) => jobSyncManager.hydrateScopes(scopes)
434
759
  : undefined,
@@ -454,6 +779,32 @@ export async function createServer(config, options) {
454
779
  accessLogReader,
455
780
  readFulfillmentReporter: options?.readFulfillmentReporter,
456
781
  dataStorage,
782
+ additions,
783
+ // Latest legacy reads of connector scopes the owner collects into the
784
+ // record store come from its rows: the same store and the same
785
+ // configured methods the RS enforces. Composed with or without the RS,
786
+ // so a scope whose data moved there is refused, not read from its stale
787
+ // file, on a boot that does not mount the RS.
788
+ legacyScopeView: createLegacyScopeView({
789
+ authority: createLegacyScopeAuthority(db),
790
+ records: pdppRecords?.bindingStore,
791
+ // Reuse the source-scoped declarations selected by the record server.
792
+ // Declaration schema identity participates in projection revisions and
793
+ // takeover cache keys; staging an upgrade takes effect on the next boot.
794
+ declarations: pdppRecords?.declarations,
795
+ configuredMethods: (sourceId) => pdppRecords?.configuredMethods.get(sourceId) ?? [],
796
+ readLegacyHead: async (head) => {
797
+ if (head.path.startsWith("/") ||
798
+ head.path.split(/[\\/]/).includes("..")) {
799
+ throw new Error("Unsafe indexed legacy path");
800
+ }
801
+ return DataFileEnvelopeSchema.passthrough().parse(JSON.parse(await readFile(join(dataDir, head.path), "utf8")));
802
+ },
803
+ coverageThresholds: {
804
+ maxPayloadRatio: takeoverLimit("PDPP_TAKEOVER_MAX_PAYLOAD_RATIO", 1.5),
805
+ maxExtraBytes: takeoverLimit("PDPP_TAKEOVER_MAX_EXTRA_BYTES", 256 * 1024),
806
+ },
807
+ }),
457
808
  scopeDeletions,
458
809
  cloudMode,
459
810
  devToken,
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,kBAAkB,GAEnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAC;AACvG,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,0BAA0B,GAE3B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,GAElB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,kCAAkC,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAE,SAAS,EAAqB,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,eAAe,EACf,uCAAuC,EACvC,yBAAyB,EACzB,wBAAwB,GAGzB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAsB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,gBAAgB,GAAG,MAAM,CAAC;AA6EhC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAE1C,SAAS,wBAAwB,CAAC,UAAkB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IACE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YACxB,MAAM,IAAI,CAAC;YACX,MAAM,IAAI,KAAK;YACf,MAAM,KAAK,UAAU,EACrB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;IACpC,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAoB,EACpB,OAA6B;IAE7B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC;IACjD,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,gEAAgE;IAChE,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,eAAe,CACjC,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,SAAS,IAAI,iBAAiB,CAC7D,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC7D,MAAM,wBAAwB,GAAG,IAAI,CACnC,WAAW,EACX,6BAA6B,CAC9B,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEpD,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,iBAAiB,CAAC;QACtB,WAAW;QACX,OAAO;QACP,UAAU;QACV,cAAc;QACd,UAAU;QACV,EAAE;QACF,MAAM;KACP,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAA4B,EAAE,OAAO,EAAE,CAAC;IAC9D,yEAAyE;IACzE,wEAAwE;IACxE,mCAAmC;IACnC,MAAM,cAAc,GAAG,qBAAqB,CAAC;QAC3C,YAAY;QACZ,gBAAgB;KACjB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,oBAAoB,CAAC,cAAc,EAAE;QACvD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,IAAI,KAAK,mBAAmB;YAChC,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,KAAK,EACL,qDAAqD,CACtD;YACH,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,uCAAuC,CAAC;KAClE,CAAC,CAAC;IAEH,MAAM,aAAa,GACjB,OAAO,EAAE,aAAa,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpE,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IAED,6DAA6D;IAC7D,MAAM,kBAAkB,GACtB,OAAO,EAAE,cAAc;QACtB,OAAO,CAAC,GAAG,CAAC,yBAAuD,CAAC;IACvE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,sBACT,CAAC;IAC5B,MAAM,iBAAiB,GAAG,eAAe;QACvC,CAAC,CAAC,mBAAmB,CACjB,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAE,KAAK,eAAe,EAAoB,CAC9C;QACH,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,WAAsC,CAAC;IAE3C,IAAI,aAAwC,CAAC;IAC7C,IAAI,YAAsC,CAAC;IAC3C,IAAI,QAAkC,CAAC;IAEvC,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,oBAAoB,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAC1E,WAAW,GAAG,oBAAoB,CAAC;QACnC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,4BAA4B;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,sCAAsC,CAAC,CAAC;QAC5E,IACE,iBAAiB;YACjB,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE;gBACrC,oBAAoB,CAAC,WAAW,EAAE,EACpC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9C,aAAa;YACX,OAAO,EAAE,aAAa,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,EAC5D,uBAAuB,CACxB,CAAC;QAEF,YAAY,GAAG,kBAAkB,CAAC,aAAa,EAAE;YAC/C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;YAC/B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;SACpC,CAAC,CAAC;QAEH,2EAA2E;QAC3E,QAAQ,GAAG;YACT,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CACT,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,iEAAiE;IACjE,IAAI,WAAW,GAAuB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAClE,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,KAAK,CAC7B,wFAAwF,EACxF;gBACE,OAAO,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CACF,CAAC;YACF,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CACV,8DAA8D,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,uFAAuF;IACvF,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE;gBACnD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;aACrC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,kDAAkD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,sEAAsE;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,aAAa,GACjB,aAAa,IAAI,CAAC,SAAS;QACzB,CAAC,CAAC,mBAAmB,CAAC,aAAa,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,cAAc,GAAmC,aAAa;QAClE,CAAC,CAAC,0BAA0B,CAAC;YACzB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG;YAC9B,aAAa;SACd,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,4BAA4B;IAC5B,IAAI,WAAW,GAAuB,IAAI,CAAC;IAC3C,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,aAAa,GACjB,OAAO,EAAE,aAAa;QACtB,0BAA0B,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjE,yEAAyE;IACzE,4DAA4D;IAC5D,MAAM,cAAc,GAAG,0BAA0B,CAAC;QAChD,IAAI,EAAE,aAAa;QACnB,WAAW;QACX,MAAM;KACP,CAAC,CAAC;IAEH,sDAAsD;IACtD,qEAAqE;IACrE,yEAAyE;IACzE,MAAM,aAAa,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IAC7D,wEAAwE;IACxE,mEAAmE;IACnE,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS;QACtC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,OAAO;QACxC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;IAC5B,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACtD,yEAAyE;IACzE,oEAAoE;IACpE,2CAA2C;IAC3C,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;IACpE,MAAM,iBAAiB,GACrB,OAAO,EAAE,iBAAiB;QAC1B,uCAAuC,CAAC;YACtC,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK;YAC5D,MAAM,EAAE,eAAe;YACvB,aAAa,EAAE,eAAe;YAC9B,UAAU,EAAE,aAAa;gBACvB,CAAC,CAAC,yBAAyB,CAAC;oBACxB,OAAO,EAAE,gBAAgB;oBACzB,aAAa,EAAE,eAAe;oBAC9B,MAAM;iBACP,CAAC;gBACJ,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CACT,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAC7B,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,mBAAmB,GAAuB,wBAAwB,CAAC;QACvE,KAAK,EAAE,aAAa;QACpB,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB;QAChD,WAAW;QACX,MAAM;QACN,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE,CACtB,eAAe,CAAC,UAAU,EAAE;YAC1B,iEAAiE;YACjE,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1B,mBAAmB,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE;gBACjD,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC;YACJ,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,iBAAiB;YAC3B,WAAW;YACX,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc;YAC/C,WAAW,EAAE;gBACX,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE;aAClD;YACD,cAAc;YACd,gBAAgB,EAAE;gBAChB,mBAAmB,EAAE,aAAa;gBAClC,aAAa,EAAE,aAAa;aAC7B;YACD,MAAM;SACP,CAAC;KACL,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG;QACxB,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,mBAAmB;KAC/B,CAAC;IAEF,IACE,MAAM,CAAC,IAAI,CAAC,OAAO;QACnB,kBAAkB;QAClB,WAAW;QACX,aAAa;QACb,YAAY,EACZ,CAAC;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAEtD,MAAM,cAAc,GAAG,4BAA4B,CAAC;YAClD,MAAM;YACN,WAAW;YACX,aAAa;YACb,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;SACvC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,EAAE;YAC9C,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,cAAc;YACvB,cAAc;YACd,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,YAAY;YACpB,SAAS;YACT,WAAW;YACX,MAAM;YACN,cAAc;YACd,aAAa;YACb,cAAc;SACf,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,cAAc;YACvB,cAAc;YACd,OAAO,EAAE,aAAa;YACtB,MAAM;YACN,SAAS;YACT,WAAW;YACX,MAAM;YACN,aAAa;YACb,cAAc;YACd,kBAAkB,EAAE,CAAC,KAGpB,EAAE,EAAE,CACH,mBAAmB,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE;gBACjD,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC;SACL,CAAC;QAEF,kEAAkE;QAClE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,UAAU,GAAG,SAAS;YAC1B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,2BAA2B,CAAC;gBAC1B,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG;gBAC9B,aAAa;gBACb,WAAW;gBACX,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE;oBACP,QAAQ,EAAE,0BAA0B,CAAC,MAAM,CAAC;oBAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;oBAC/B,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC;iBAC7D;aACF,CAAC,CAAC;QACP,MAAM,oBAAoB,GAAG,kCAAkC,CAC7D,wBAAwB,CACzB,CAAC;QAEF,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE;YACxD,UAAU;YACV,aAAa,EAAE,OAAO,EAAE,aAAa;YACrC,oBAAoB;YACpB,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB;YAC7D,KAAK,CAAC,OAAO;gBACX,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAC9C,aAAa,CAAC,OAAO,CACtB,CAAC;oBACF,QAAS,CAAC,QAAQ,GAAG,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;oBAC5C,IAAI,UAAU,EAAE,EAAE;wBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;oBACxC,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,cAAc;wBACtB,OAAO,EAAE,+CAA+C;qBACzD,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,+CAA+C,CAAC,CAAC;oBACtE,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,2BAA2B;wBACnC,OAAO,EAAE,sDAAsD;qBAChE,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,WAAW,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CACT,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEvD,qDAAqD;IACrD,MAAM,QAAQ,GACZ,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,2DAA2D;IAC3D,MAAM,UAAU,GAAe,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC;IACpD,MAAM,iBAAiB,GACrB,SAAS,IAAI,SAAS;QACpB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnD,0EAA0E;IAC1E,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,IAAI,4BAAgD,CAAC;IAErD,+DAA+D;IAC/D,IAAI,aAAwC,CAAC;IAE7C,oEAAoE;IACpE,yEAAyE;IACzE,qEAAqE;IACrE,uDAAuD;IACvD,IAAI,sBAAsB,GAAsC,GAAG,EAAE,GAAE,CAAC,CAAC;IACzE,IAAI,qBAAqB,GAAyC,IAAI,CAAC;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,IAAI,qBAAqB,EAAE,CAAC;YAC1B,YAAY,CAAC,qBAAqB,CAAC,CAAC;YACpC,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,OAAO,EAAE,eAAe,CAAC;IAC9C,MAAM,cAAc,GAAG,WAAW,CAAC;IACnC,MAAM,SAAS,GACb,SAAS,IAAI,WAAW,IAAI,aAAa,IAAI,YAAY;QACvD,CAAC,CAAC,CAAC,QAA0C,EAAE,EAAE,CAC7C,UAAU,CAAC,QAAQ,EAAE;YACnB,WAAW;YACX,aAAa,EAAE,aAAa,CAAC,OAAO;YACpC,eAAe,EAAE,aAAa,CAAC,SAAS;YACxC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC9D,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,OAAO,EAAE,WAAW;YACpB,KAAK;YACL,MAAM;YACN,eAAe;YACf,cAAc;YACd,YAAY,EAAE,cAAc;gBAC1B,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;gBAClD,CAAC,CAAC,SAAS;YACb,YAAY;SACb,CAAC;QACN,CAAC,CAAC,SAAS,CAAC;IAEhB,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,QAAQ,GACZ,CAAC,SAAS,IAAI,kBAAkB;QAC9B,CAAC,CAAC,MAAM,iBAAiB,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC;YACzC,SAAS,EAAE,eAAe,CAAC,kBAAkB,CAAC;YAC9C,MAAM;SACP,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,GAAG,GAAG,SAAS,CAAC;QACpB,gBAAgB,EACd,SAAS,IAAI,cAAc;YACzB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC;YAClD,CAAC,CAAC,SAAS;QACf,MAAM;QACN,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS;QACT,YAAY;QACZ,gBAAgB;QAChB,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;QACnC,mBAAmB,EAAE,GAAG,EAAE,CAAC,4BAA4B;QACvD,iBAAiB;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QAC9B,WAAW;QACX,QAAQ;QACR,OAAO,EAAE,aAAa;QACtB,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;QACtC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG;QAC9B,cAAc;QACd,iBAAiB;QACjB,MAAM;QACN,eAAe;QACf,eAAe;QACf,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;QACzD,WAAW;QACX,cAAc;QACd,SAAS;QACT,QAAQ;QACR,cAAc,EAAE,kBAAkB;QAClC,eAAe;QACf,WAAW;QACX,UAAU;QACV,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,IAAI;QACzD,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;QACjD,0BAA0B,EAAE,OAAO,EAAE,0BAA0B;QAC/D,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;QAC/C,kBAAkB,EAAE,QAAQ,EAAE,WAAW;QACzC,0BAA0B,EAAE,QAAQ,EAAE,cAAc;QACpD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,gBAAgB,GAAG,IAAI,CAAC;QACxB,qBAAqB,EAAE,CAAC;QACxB,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAkB;QAC7B,GAAG;QACH,MAAM;QACN,MAAM;QACN,SAAS;QACT,YAAY;QACZ,aAAa;QACb,eAAe;QACf,aAAa;QACb,YAAY;QACZ,WAAW;QACX,aAAa;QACb,SAAS,EAAE,SAAS;QACpB,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACrD,iBAAiB;QACjB,sBAAsB,EAAE,GAAG,EAAE,CAAC,4BAA4B;QAC1D,sBAAsB,EAAE,CAAC,MAAe,EAAE,EAAE;YAC1C,4BAA4B,GAAG,MAAM,CAAC;QACxC,CAAC;QACD,QAAQ;QACR,uBAAuB,EAAE,KAAK,IAAI,EAAE;YAClC,iEAAiE;YACjE,iEAAiE;YACjE,oCAAoC;YACpC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;YAED,uDAAuD;YACvD,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAC9C,aAAa,CAAC,OAAO,CACtB,CAAC;oBACF,QAAQ,CAAC,QAAQ,GAAG,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACP,8CAA8C;gBAChD,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CACT,4DAA4D,CAC7D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CACT;wBACE,aAAa,EAAE,aAAa,CAAC,OAAO;wBACpC,SAAS,EAAE,aAAa,CAAC,SAAS;qBACnC,EACD,wFAAwF,CACzF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,+CAA+C;YAC/C,IACE,CAAC,SAAS;gBACV,MAAM,CAAC,MAAM,CAAC,OAAO;gBACrB,WAAW;gBACX,aAAa;gBACb,cAAc,EACd,CAAC;gBACD,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC/C,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;gBAEtC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;gBAE3B,IAAI,oBAAoB,GAAG,KAAK,CAAC;gBACjC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;oBAC/B,MAAM,OAAO,GAAG,aAAa,CAAC;oBAC9B,IAAI,CAAC,OAAO,IAAI,oBAAoB,IAAI,gBAAgB,EAAE,CAAC;wBACzD,OAAO;oBACT,CAAC;oBACD,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;wBACzC,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;4BACxC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;wBACxD,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,EACjD,oDAAoD,CACrD,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,EACP,8DAA8D,CAC/D,CAAC;wBACF,aAAa,GAAG,SAAS,CAAC;wBAC1B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;wBAClC,gEAAgE;wBAChE,8DAA8D;wBAC9D,mDAAmD;wBACnD,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;wBACvC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;oBAChC,CAAC;gBACH,CAAC,CAAC;gBAEF,+DAA+D;gBAC/D,oEAAoE;gBACpE,0CAA0C;gBAC1C,MAAM,wBAAwB,GAAG,GAAG,EAAE;oBACpC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACjC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;wBACtB,qBAAqB,GAAG,IAAI,CAAC;wBAC7B,IAAI,gBAAgB,EAAE,CAAC;4BACrB,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC;4BACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAC9C,aAAa,CAAC,OAAO,CACtB,CAAC;4BACF,IAAI,UAAU,EAAE,EAAE,EAAE,CAAC;gCACnB,IAAI,QAAQ,EAAE,CAAC;oCACb,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;gCACpC,CAAC;gCACD,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gCAC9D,MAAM,aAAa,EAAE,CAAC;gCACtB,OAAO;4BACT,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,sCAAsC;wBACxC,CAAC;wBACD,IAAI,gBAAgB,EAAE,CAAC;4BACrB,OAAO;wBACT,CAAC;wBACD,MAAM,QAAQ,GACZ,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC3D,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;wBAChE,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;oBAClC,CAAC,CAAC;oBACF,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;oBAC7D,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;gBAClC,CAAC,CAAC;gBAEF,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE;oBACpC,IAAI,gBAAgB,EAAE,CAAC;wBACrB,OAAO;oBACT,CAAC;oBACD,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,QAAQ,EAAE,CAAC;4BACb,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBAC/B,CAAC;wBACD,iEAAiE;wBACjE,0DAA0D;wBAC1D,wCAAwC;wBACxC,qBAAqB,EAAE,CAAC;oBAC1B,CAAC;oBACD,KAAK,aAAa,EAAE,CAAC;gBACvB,CAAC,CAAC;gBAEF,IAAI,CAAC;oBACH,+DAA+D;oBAC/D,+DAA+D;oBAC/D,wDAAwD;oBACxD,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAC/B;wBACE,aAAa,EAAE,aAAa,CAAC,OAAO;wBACpC,YAAY,EAAE,WAAW;wBACzB,aAAa,EAAE,aAAa;wBAC5B,YAAY,EAAE,iBAAiB;4BAC7B,CAAC,CAAC;gCACE,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CACvB,iBAAiB,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;6BAC7C;4BACH,CAAC,CAAC,SAAS;wBACb,KAAK;wBACL,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;wBACpC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;wBACpC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;qBAC9B,EACD,cAAc,CACf,CAAC;oBACF,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;oBACxB,mEAAmE;oBACnE,6DAA6D;oBAC7D,sCAAsC;oBACtC,eAAe,GAAG,GAAG,CAAC;oBAEtB,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC;wBACvB,MAAM,aAAa,EAAE,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,GAAG,EAAE,EAClB,8EAA8E,CAC/E,CAAC;wBACF,wBAAwB,EAAE,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,EACP,4DAA4D,CAC7D,CAAC;oBACF,aAAa,GAAG,SAAS,CAAC;oBAC1B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CACT,kFAAkF,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO;KACR,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import type { CreateServerOptions } from "./bootstrap.js";
2
+ import type { ServerConfig } from "@opendatalabs/personal-server-ts-core/schemas";
1
3
  import { type Address, type Hex } from "viem";
2
4
  export interface EnclaveEnv {
3
5
  ownerSignature: Hex;
@@ -8,4 +10,6 @@ export interface EnclaveEnv {
8
10
  }
9
11
  export declare function readEnclaveEnv(env: NodeJS.ProcessEnv): EnclaveEnv;
10
12
  export declare function runEnclaveMain(): Promise<void>;
13
+ /** Sandbox adapter: all signing stays behind the node's closed additions RPC. */
14
+ export declare function createEnclaveAdditionsPorts(config: ServerConfig, env: EnclaveEnv): Promise<Pick<CreateServerOptions, "additionsInventorySigner" | "additionsWriter">>;
11
15
  //# sourceMappingURL=enclave-main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enclave-main.d.ts","sourceRoot":"","sources":["../src/enclave-main.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AA2BhE,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,GAAG,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAsCjE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA0FpD"}
1
+ {"version":3,"file":"enclave-main.d.ts","sourceRoot":"","sources":["../src/enclave-main.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAElF,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AA2Bd,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,GAAG,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAsCjE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA2FpD;AAwDD,iFAAiF;AACjF,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,UAAU,GACd,OAAO,CACR,IAAI,CAAC,mBAAmB,EAAE,0BAA0B,GAAG,iBAAiB,CAAC,CAC1E,CAsKA"}