@terreno/mcp 57.19.2 → 57.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +393 -0
- package/README.md +32 -269
- package/dist/bootstrap.d.ts +12 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +77 -122
- package/dist/bootstrap.js.map +1 -1
- package/dist/docs/guidelines/ui/guidelines/core.md +1 -1
- package/dist/docs/resources/overview.md +4 -2
- package/dist/docs/resources/patterns.md +237 -176
- package/dist/docs/resources/ui.md +48 -17
- package/dist/docs/templates/bootstrap/frontend/app/(tabs)/profile.template.tsx +0 -26
- package/dist/docs/templates/bootstrap/frontend/app/_layout.template.tsx +3 -2
- package/dist/docs/templates/bootstrap/frontend/app/login.template.tsx +1 -1
- package/dist/docs/upgrades/57.20.0.md +238 -0
- package/dist/docs/versioned/next/approval-rubric.md +30 -12
- package/dist/docs/versioned/next/explanation/README.md +5 -0
- package/dist/docs/versioned/next/explanation/account-linking.md +169 -0
- package/dist/docs/versioned/next/explanation/admin-interface.md +1 -1
- package/dist/docs/versioned/next/explanation/agent-guidelines.md +173 -0
- package/dist/docs/versioned/next/explanation/ai-development-loop.md +196 -0
- package/dist/docs/versioned/next/explanation/authentication.md +45 -1
- package/dist/docs/versioned/next/explanation/consent-forms.md +105 -0
- package/dist/docs/versioned/next/explanation/example-coverage.md +1 -0
- package/dist/docs/versioned/next/explanation/local-first-data.md +1 -1
- package/dist/docs/versioned/next/explanation/organizations.md +37 -0
- package/dist/docs/versioned/next/explanation/planning-plugins.md +4 -0
- package/dist/docs/versioned/next/explanation/responsive-design.md +143 -0
- package/dist/docs/versioned/next/explanation/roadmap-seed-issues.md +11 -0
- package/dist/docs/versioned/next/explanation/schema-metadata.md +5 -0
- package/dist/docs/versioned/next/how-to/README.md +7 -2
- package/dist/docs/versioned/next/how-to/audit-log.md +22 -3
- package/dist/docs/versioned/next/how-to/automate-terreno-upgrades.md +169 -0
- package/dist/docs/versioned/next/how-to/build-list-detail-screens.md +160 -0
- package/dist/docs/versioned/next/how-to/circleci.md +15 -5
- package/dist/docs/versioned/next/how-to/configure-better-auth.md +673 -53
- package/dist/docs/versioned/next/how-to/create-a-terreno-app.md +8 -5
- package/dist/docs/versioned/next/how-to/debug-with-mcp.md +393 -23
- package/dist/docs/versioned/next/how-to/enable-mcp-oauth.md +54 -3
- package/dist/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +9 -0
- package/dist/docs/versioned/next/how-to/password-reset.md +1 -1
- package/dist/docs/versioned/next/how-to/recover-locked-out-user.md +112 -0
- package/dist/docs/versioned/next/how-to/run-tests-locally.md +37 -8
- package/dist/docs/versioned/next/how-to/set-up-social-login.md +424 -0
- package/dist/docs/versioned/next/how-to/set-up-terreno-mcp.md +241 -36
- package/dist/docs/versioned/next/how-to/sign-consent-on-behalf.md +139 -0
- package/dist/docs/versioned/next/how-to/upgrade-terreno.md +4 -0
- package/dist/docs/versioned/next/implementationPlans/ai-dev-loop-boost.md +47 -32
- package/dist/docs/versioned/next/implementationPlans/auth-experience.md +952 -0
- package/dist/docs/versioned/next/implementationPlans/consent-forms.md +8 -0
- package/dist/docs/versioned/next/implementationPlans/list-detail-layout.md +297 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/HANDOFF.md +211 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/AnotherWay.html +121 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/BackupCode.html +72 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/Cancelled.html +87 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/ContinueEmail.html +64 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/FirstVisit.html +81 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/Main.html +88 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/ManageAccounts.html +77 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/NotLinked.html +92 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/SigningIn.html +60 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/TwoFactor.html +76 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/TwoFactorError.html +81 -0
- package/dist/docs/versioned/next/implementationPlans/login-redesign/boards/WrongPassword.html +69 -0
- package/dist/docs/versioned/next/implementationPlans/mcp-boost-parity.md +1 -1
- package/dist/docs/versioned/next/plans/2026-10-23-provisional-consent.md +297 -0
- package/dist/docs/versioned/next/plans/2026-10-29-fix-mcp-oauth-native-and-machine.md +68 -0
- package/dist/docs/versioned/next/reference/README.md +1 -0
- package/dist/docs/versioned/next/reference/account-security.md +700 -0
- package/dist/docs/versioned/next/reference/admin-backend.md +3 -1
- package/dist/docs/versioned/next/reference/admin-frontend.md +225 -1
- package/dist/docs/versioned/next/reference/api.md +461 -35
- package/dist/docs/versioned/next/reference/cli.md +1 -1
- package/dist/docs/versioned/next/reference/comms.md +8 -0
- package/dist/docs/versioned/next/reference/create-terreno-app.md +3 -1
- package/dist/docs/versioned/next/reference/environment-variables.md +9 -3
- package/dist/docs/versioned/next/reference/legacy/rtk.md +19 -3
- package/dist/docs/versioned/next/reference/lifecycle-plugin.md +6 -0
- package/dist/docs/versioned/next/reference/mcp-server.md +1158 -441
- package/dist/docs/versioned/next/reference/syncdb.md +8 -1
- package/dist/docs/versioned/next/reference/ui.md +1271 -27
- package/dist/docs/versioned/next/tasks/ai-dev-loop-boost.md +28 -16
- package/dist/docs/versioned/next/tutorials/README.md +4 -0
- package/dist/httpApp.d.ts +14 -0
- package/dist/httpApp.d.ts.map +1 -0
- package/dist/httpApp.js +99 -0
- package/dist/httpApp.js.map +1 -0
- package/dist/index.js +8 -90
- package/dist/index.js.map +1 -1
- package/dist/local/localTools.d.ts.map +1 -1
- package/dist/local/localTools.js +44 -14
- package/dist/local/localTools.js.map +1 -1
- package/dist/local/metro/metroDevSession.d.ts +18 -0
- package/dist/local/metro/metroDevSession.d.ts.map +1 -1
- package/dist/local/metro/metroDevSession.js +42 -3
- package/dist/local/metro/metroDevSession.js.map +1 -1
- package/dist/local/tools/databaseQuery.d.ts.map +1 -1
- package/dist/local/tools/databaseQuery.js +3 -13
- package/dist/local/tools/databaseQuery.js.map +1 -1
- package/dist/local/tools/databaseSchema.d.ts.map +1 -1
- package/dist/local/tools/databaseSchema.js +3 -13
- package/dist/local/tools/databaseSchema.js.map +1 -1
- package/dist/local/tools/localMongo.d.ts +10 -0
- package/dist/local/tools/localMongo.d.ts.map +1 -0
- package/dist/local/tools/localMongo.js +30 -0
- package/dist/local/tools/localMongo.js.map +1 -0
- package/dist/local/tools/runtime.d.ts +18 -2
- package/dist/local/tools/runtime.d.ts.map +1 -1
- package/dist/local/tools/runtime.js +75 -20
- package/dist/local/tools/runtime.js.map +1 -1
- package/dist/local/tools/syncDb.d.ts +11 -0
- package/dist/local/tools/syncDb.d.ts.map +1 -1
- package/dist/local/tools/syncDb.js +15 -3
- package/dist/local/tools/syncDb.js.map +1 -1
- package/dist/rateLimit.d.ts +35 -0
- package/dist/rateLimit.d.ts.map +1 -0
- package/dist/rateLimit.js +112 -0
- package/dist/rateLimit.js.map +1 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +42 -60
- package/dist/tools.js.map +1 -1
- package/package.json +4 -3
- package/src/docs/guidelines/ui/guidelines/core.md +1 -1
- package/src/docs/resources/overview.md +4 -2
- package/src/docs/resources/patterns.md +237 -176
- package/src/docs/resources/ui.md +48 -17
- package/src/docs/templates/bootstrap/frontend/app/(tabs)/profile.template.tsx +0 -26
- package/src/docs/templates/bootstrap/frontend/app/_layout.template.tsx +3 -2
- package/src/docs/templates/bootstrap/frontend/app/login.template.tsx +1 -1
- package/src/docs/upgrades/57.20.0.md +238 -0
- package/src/docs/versioned/next/approval-rubric.md +30 -12
- package/src/docs/versioned/next/explanation/README.md +5 -0
- package/src/docs/versioned/next/explanation/account-linking.md +169 -0
- package/src/docs/versioned/next/explanation/admin-interface.md +1 -1
- package/src/docs/versioned/next/explanation/agent-guidelines.md +173 -0
- package/src/docs/versioned/next/explanation/ai-development-loop.md +196 -0
- package/src/docs/versioned/next/explanation/authentication.md +45 -1
- package/src/docs/versioned/next/explanation/consent-forms.md +105 -0
- package/src/docs/versioned/next/explanation/example-coverage.md +1 -0
- package/src/docs/versioned/next/explanation/local-first-data.md +1 -1
- package/src/docs/versioned/next/explanation/organizations.md +37 -0
- package/src/docs/versioned/next/explanation/planning-plugins.md +4 -0
- package/src/docs/versioned/next/explanation/responsive-design.md +143 -0
- package/src/docs/versioned/next/explanation/roadmap-seed-issues.md +11 -0
- package/src/docs/versioned/next/explanation/schema-metadata.md +5 -0
- package/src/docs/versioned/next/how-to/README.md +7 -2
- package/src/docs/versioned/next/how-to/audit-log.md +22 -3
- package/src/docs/versioned/next/how-to/automate-terreno-upgrades.md +169 -0
- package/src/docs/versioned/next/how-to/build-list-detail-screens.md +160 -0
- package/src/docs/versioned/next/how-to/circleci.md +15 -5
- package/src/docs/versioned/next/how-to/configure-better-auth.md +673 -53
- package/src/docs/versioned/next/how-to/create-a-terreno-app.md +8 -5
- package/src/docs/versioned/next/how-to/debug-with-mcp.md +393 -23
- package/src/docs/versioned/next/how-to/enable-mcp-oauth.md +54 -3
- package/src/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +9 -0
- package/src/docs/versioned/next/how-to/password-reset.md +1 -1
- package/src/docs/versioned/next/how-to/recover-locked-out-user.md +112 -0
- package/src/docs/versioned/next/how-to/run-tests-locally.md +37 -8
- package/src/docs/versioned/next/how-to/set-up-social-login.md +424 -0
- package/src/docs/versioned/next/how-to/set-up-terreno-mcp.md +241 -36
- package/src/docs/versioned/next/how-to/sign-consent-on-behalf.md +139 -0
- package/src/docs/versioned/next/how-to/upgrade-terreno.md +4 -0
- package/src/docs/versioned/next/implementationPlans/ai-dev-loop-boost.md +47 -32
- package/src/docs/versioned/next/implementationPlans/auth-experience.md +952 -0
- package/src/docs/versioned/next/implementationPlans/consent-forms.md +8 -0
- package/src/docs/versioned/next/implementationPlans/list-detail-layout.md +297 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/HANDOFF.md +211 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/AnotherWay.html +121 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/BackupCode.html +72 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/Cancelled.html +87 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/ContinueEmail.html +64 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/FirstVisit.html +81 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/Main.html +88 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/ManageAccounts.html +77 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/NotLinked.html +92 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/SigningIn.html +60 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/TwoFactor.html +76 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/TwoFactorError.html +81 -0
- package/src/docs/versioned/next/implementationPlans/login-redesign/boards/WrongPassword.html +69 -0
- package/src/docs/versioned/next/implementationPlans/mcp-boost-parity.md +1 -1
- package/src/docs/versioned/next/plans/2026-10-23-provisional-consent.md +297 -0
- package/src/docs/versioned/next/plans/2026-10-29-fix-mcp-oauth-native-and-machine.md +68 -0
- package/src/docs/versioned/next/reference/README.md +1 -0
- package/src/docs/versioned/next/reference/account-security.md +700 -0
- package/src/docs/versioned/next/reference/admin-backend.md +3 -1
- package/src/docs/versioned/next/reference/admin-frontend.md +225 -1
- package/src/docs/versioned/next/reference/api.md +461 -35
- package/src/docs/versioned/next/reference/cli.md +1 -1
- package/src/docs/versioned/next/reference/comms.md +8 -0
- package/src/docs/versioned/next/reference/create-terreno-app.md +3 -1
- package/src/docs/versioned/next/reference/environment-variables.md +9 -3
- package/src/docs/versioned/next/reference/legacy/rtk.md +19 -3
- package/src/docs/versioned/next/reference/lifecycle-plugin.md +6 -0
- package/src/docs/versioned/next/reference/mcp-server.md +1158 -441
- package/src/docs/versioned/next/reference/syncdb.md +8 -1
- package/src/docs/versioned/next/reference/ui.md +1271 -27
- package/src/docs/versioned/next/tasks/ai-dev-loop-boost.md +28 -16
- package/src/docs/versioned/next/tutorials/README.md +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metroDevSession.d.ts","sourceRoot":"","sources":["../../../src/local/metro/metroDevSession.ts"],"names":[],"mappings":"AAQA,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwDD,eAAO,MAAM,oBAAoB,QAAO,MAyBvC,CAAC;
|
|
1
|
+
{"version":3,"file":"metroDevSession.d.ts","sourceRoot":"","sources":["../../../src/local/metro/metroDevSession.ts"],"names":[],"mappings":"AAQA,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwDD,eAAO,MAAM,oBAAoB,QAAO,MAyBvC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MAItD,CAAC;AAsHF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAwFhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAa,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CA0FxF,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,MAEzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,SAAS,EAElD,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAO,SAAS,EAEnD,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,4BAA4B,QAAO,IAa/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,MAAM,EAClB,cAAc,OAAO,KACpB,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAC,CAyB3C,CAAC"}
|
|
@@ -79,6 +79,44 @@ export const resolveMetroHttpBase = () => {
|
|
|
79
79
|
}
|
|
80
80
|
return "http://localhost:8082";
|
|
81
81
|
};
|
|
82
|
+
/**
|
|
83
|
+
* Origin header for Metro's `/inspector/debug` socket. Neither Bun nor Node sends one, and two
|
|
84
|
+
* checks must both pass:
|
|
85
|
+
* - `@react-native/dev-middleware` (0.86+) `verifyClient` rejects the upgrade when Origin is missing.
|
|
86
|
+
* Otherwise the Origin must equal the server's own `serverBaseUrl` origin or have a loopback hostname
|
|
87
|
+
* (`localhost`, `127.0.0.1`, `0.0.0.0`, `[::]`).
|
|
88
|
+
* - Expo CLI's `isMatchingOrigin` then terminates the socket unless the Origin's host equals the
|
|
89
|
+
* `serverBaseUrl` host. Expo always builds `serverBaseUrl` with `hostType: "localhost"`, which its
|
|
90
|
+
* UrlCreator rewrites to `127.0.0.1:<Metro port>`, whatever host the caller used. So
|
|
91
|
+
* `Origin: http://localhost:8082` is accepted by dev-middleware but terminated by Expo (close 1006).
|
|
92
|
+
*
|
|
93
|
+
* `127.0.0.1` on the Metro base URL's own scheme and port satisfies both, for Expo and for the bare
|
|
94
|
+
* React Native CLI (which has no host check). The hostname is replaced even for a LAN base URL, because
|
|
95
|
+
* Expo's expected host is `127.0.0.1` there too. The port must be Metro's real port, so a base URL
|
|
96
|
+
* that reaches Metro through a port-remapping tunnel still fails Expo's check, as does a Metro whose
|
|
97
|
+
* `serverBaseUrl` host is overridden by `REACT_NATIVE_PACKAGER_HOSTNAME` or `EXPO_PACKAGER_PROXY_URL`.
|
|
98
|
+
*/
|
|
99
|
+
export const metroDebuggerOrigin = (httpBase) => {
|
|
100
|
+
const base = new URL(httpBase);
|
|
101
|
+
const port = base.port ? `:${base.port}` : "";
|
|
102
|
+
return `${base.protocol}//127.0.0.1${port}`;
|
|
103
|
+
};
|
|
104
|
+
const NEW_DEBUGGER_OPENED = "[NEW_DEBUGGER_OPENED]";
|
|
105
|
+
/**
|
|
106
|
+
* Status text for a closed debugger socket. Metro's close code and reason say why, for example
|
|
107
|
+
* `1000 [NEW_DEBUGGER_OPENED] …` when React Native DevTools takes a single-debugger session.
|
|
108
|
+
*/
|
|
109
|
+
const describeCdpClose = (ev) => {
|
|
110
|
+
if (typeof ev.code !== "number") {
|
|
111
|
+
return "CDP disconnected";
|
|
112
|
+
}
|
|
113
|
+
const reason = ev.reason?.trim();
|
|
114
|
+
const detail = reason ? `code ${ev.code}: ${reason}` : `code ${ev.code}`;
|
|
115
|
+
const hint = reason?.startsWith(NEW_DEBUGGER_OPENED)
|
|
116
|
+
? "; another debugger (such as React Native DevTools) took the session, and the next call that reads the app reconnects and disconnects it"
|
|
117
|
+
: "";
|
|
118
|
+
return `CDP disconnected (${detail})${hint}`;
|
|
119
|
+
};
|
|
82
120
|
const httpToWsBase = (httpBase) => {
|
|
83
121
|
const u = new URL(httpBase);
|
|
84
122
|
const proto = u.protocol === "https:" ? "wss:" : "ws:";
|
|
@@ -204,7 +242,8 @@ export const ensureCdpConnected = async () => {
|
|
|
204
242
|
throw new Error(lastCdpStatus);
|
|
205
243
|
}
|
|
206
244
|
await new Promise((resolve, reject) => {
|
|
207
|
-
|
|
245
|
+
// terreno-mcp-local runs on Bun (see the bin shebang); Bun's WebSocket accepts request headers.
|
|
246
|
+
const ws = new WebSocket(wsUrl, { headers: { Origin: metroDebuggerOrigin(base) } });
|
|
208
247
|
cdpWs = ws;
|
|
209
248
|
ws.addEventListener("open", () => {
|
|
210
249
|
resolve();
|
|
@@ -220,10 +259,10 @@ export const ensureCdpConnected = async () => {
|
|
|
220
259
|
handleCdpMessage(ev.data);
|
|
221
260
|
}
|
|
222
261
|
});
|
|
223
|
-
ws.addEventListener("close", () => {
|
|
262
|
+
ws.addEventListener("close", (ev) => {
|
|
224
263
|
if (cdpWs === ws) {
|
|
225
264
|
cdpWs = undefined;
|
|
226
|
-
lastCdpStatus =
|
|
265
|
+
lastCdpStatus = describeCdpClose(ev);
|
|
227
266
|
rejectPendingCdp(lastCdpStatus);
|
|
228
267
|
}
|
|
229
268
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metroDevSession.js","sourceRoot":"","sources":["../../../src/local/metro/metroDevSession.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metroDevSession.js","sourceRoot":"","sources":["../../../src/local/metro/metroDevSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databaseQuery.d.ts","sourceRoot":"","sources":["../../../src/local/tools/databaseQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"databaseQuery.d.ts","sourceRoot":"","sources":["../../../src/local/tools/databaseQuery.ts"],"names":[],"mappings":"AA8EA,oGAAoG;AACpG,gBAAgB;AAChB,eAAO,MAAM,yCAAyC,GAAI,QAAQ,OAAO,KAAG,OAE3E,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,aAAa,GAAU,MAAM,iBAAiB,KAAG,OAAO,CAAC,MAAM,CA+E3E,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { resolveTerrenoProjectRoot } from "../projectRoot.js";
|
|
4
|
+
import { withLocalMongoDb } from "./localMongo.js";
|
|
4
5
|
const readEnvValue = (envPath, key) => {
|
|
5
6
|
if (!existsSync(envPath)) {
|
|
6
7
|
return undefined;
|
|
@@ -104,15 +105,7 @@ export const databaseQuery = async (args) => {
|
|
|
104
105
|
if (!mongoUri) {
|
|
105
106
|
return "No Mongo URI found. Set `MONGO_URI` in `backend/.env` or export `MONGO_URI`.";
|
|
106
107
|
}
|
|
107
|
-
|
|
108
|
-
try {
|
|
109
|
-
if (mongoose.connection.readyState !== 1) {
|
|
110
|
-
await mongoose.connect(mongoUri);
|
|
111
|
-
}
|
|
112
|
-
const db = mongoose.connection.db;
|
|
113
|
-
if (!db) {
|
|
114
|
-
return "Connected to Mongo but `connection.db` is not available.";
|
|
115
|
-
}
|
|
108
|
+
return withLocalMongoDb(mongoUri, async (db) => {
|
|
116
109
|
const coll = db.collection(args.collection);
|
|
117
110
|
const cap = Math.min(Math.max(args.limit ?? 50, 1), 200);
|
|
118
111
|
if (op === "find") {
|
|
@@ -141,9 +134,6 @@ export const databaseQuery = async (args) => {
|
|
|
141
134
|
return JSON.stringify({ collection: args.collection, field, truncated: values.length > cap, values: trimmed }, null, 2);
|
|
142
135
|
}
|
|
143
136
|
return "Unreachable";
|
|
144
|
-
}
|
|
145
|
-
finally {
|
|
146
|
-
await mongoose.disconnect().catch(() => undefined);
|
|
147
|
-
}
|
|
137
|
+
});
|
|
148
138
|
};
|
|
149
139
|
//# sourceMappingURL=databaseQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databaseQuery.js","sourceRoot":"","sources":["../../../src/local/tools/databaseQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAC,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"databaseQuery.js","sourceRoot":"","sources":["../../../src/local/tools/databaseQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databaseSchema.d.ts","sourceRoot":"","sources":["../../../src/local/tools/databaseSchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"databaseSchema.d.ts","sourceRoot":"","sources":["../../../src/local/tools/databaseSchema.ts"],"names":[],"mappings":"AAMA,UAAU,kBAAkB;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2CD,eAAO,MAAM,cAAc,GAAU,MAAM,kBAAkB,KAAG,OAAO,CAAC,MAAM,CAwD7E,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { resolveTerrenoProjectRoot } from "../projectRoot.js";
|
|
4
|
+
import { withLocalMongoDb } from "./localMongo.js";
|
|
4
5
|
const readEnvValue = (envPath, key) => {
|
|
5
6
|
if (!existsSync(envPath)) {
|
|
6
7
|
return undefined;
|
|
@@ -67,15 +68,7 @@ export const databaseSchema = async (args) => {
|
|
|
67
68
|
lines.push("_Unavailable: set `MONGO_URI` in `backend/.env` or export `MONGO_URI` to include live collections._");
|
|
68
69
|
return lines.join("\n");
|
|
69
70
|
}
|
|
70
|
-
|
|
71
|
-
try {
|
|
72
|
-
if (mongoose.connection.readyState !== 1) {
|
|
73
|
-
await mongoose.connect(mongoUri);
|
|
74
|
-
}
|
|
75
|
-
const db = mongoose.connection.db;
|
|
76
|
-
if (!db) {
|
|
77
|
-
return "Connected to Mongo but `connection.db` is not available.";
|
|
78
|
-
}
|
|
71
|
+
return withLocalMongoDb(mongoUri, async (db) => {
|
|
79
72
|
const filter = args.collectionFilter?.toLowerCase().trim();
|
|
80
73
|
const names = (await db.listCollections().toArray())
|
|
81
74
|
.map((c) => c.name)
|
|
@@ -96,9 +89,6 @@ export const databaseSchema = async (args) => {
|
|
|
96
89
|
lines.push("");
|
|
97
90
|
}
|
|
98
91
|
return lines.join("\n");
|
|
99
|
-
}
|
|
100
|
-
finally {
|
|
101
|
-
await mongoose.disconnect().catch(() => undefined);
|
|
102
|
-
}
|
|
92
|
+
});
|
|
103
93
|
};
|
|
104
94
|
//# sourceMappingURL=databaseSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databaseSchema.js","sourceRoot":"","sources":["../../../src/local/tools/databaseSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAC,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"databaseSchema.js","sourceRoot":"","sources":["../../../src/local/tools/databaseSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Connection } from "mongoose";
|
|
2
|
+
export type LocalMongoDb = NonNullable<Connection["db"]>;
|
|
3
|
+
/**
|
|
4
|
+
* Runs `run` against a dedicated connection to `mongoUri` and always destroys it afterwards.
|
|
5
|
+
*
|
|
6
|
+
* Each tool call owns its connection, so concurrent calls never close each other's client and
|
|
7
|
+
* the call never reuses (or disconnects) a global mongoose connection pointed at another database.
|
|
8
|
+
*/
|
|
9
|
+
export declare const withLocalMongoDb: (mongoUri: string, run: (db: LocalMongoDb) => Promise<string>) => Promise<string>;
|
|
10
|
+
//# sourceMappingURL=localMongo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localMongo.d.ts","sourceRoot":"","sources":["../../../src/local/tools/localMongo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,KAAK,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,KACzC,OAAO,CAAC,MAAM,CAoBhB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runs `run` against a dedicated connection to `mongoUri` and always destroys it afterwards.
|
|
3
|
+
*
|
|
4
|
+
* Each tool call owns its connection, so concurrent calls never close each other's client and
|
|
5
|
+
* the call never reuses (or disconnects) a global mongoose connection pointed at another database.
|
|
6
|
+
*/
|
|
7
|
+
export const withLocalMongoDb = async (mongoUri, run) => {
|
|
8
|
+
// Lazy so the stdio server starts without loading the Mongo driver. Under Bun, mongoose's
|
|
9
|
+
// CommonJS instance properties (such as `connection`) exist only on the default export.
|
|
10
|
+
const { default: mongoose } = await import("mongoose");
|
|
11
|
+
const connection = mongoose.createConnection(mongoUri);
|
|
12
|
+
try {
|
|
13
|
+
await connection.asPromise();
|
|
14
|
+
const db = connection.db;
|
|
15
|
+
if (!db) {
|
|
16
|
+
return "Connected to Mongo but `connection.db` is not available.";
|
|
17
|
+
}
|
|
18
|
+
return await run(db);
|
|
19
|
+
}
|
|
20
|
+
finally {
|
|
21
|
+
// destroy() also drops the connection from mongoose.connections, so repeated calls do not accumulate.
|
|
22
|
+
try {
|
|
23
|
+
await connection.destroy();
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
// A failed teardown must not mask the tool result or the original error.
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=localMongo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localMongo.js","sourceRoot":"","sources":["../../../src/local/tools/localMongo.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAAgB,EAChB,GAA0C,EACzB,EAAE;IACnB,0FAA0F;IAC1F,wFAAwF;IACxF,MAAM,EAAC,OAAO,EAAE,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,0DAA0D,CAAC;QACpE,CAAC;QACD,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,sGAAsG;QACtG,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,8 +1,24 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface GetClientStateArgs {
|
|
2
|
+
/** RTK: `auth`, `betterAuth`, `rtk`/`terreno-rtk`, or any top-level Redux state key. */
|
|
2
3
|
slice?: string;
|
|
4
|
+
/** RTK: filter cache rows by endpoint name or serialized args. */
|
|
3
5
|
query?: string;
|
|
6
|
+
/** SyncDB: client name; defaults to the first registered client. */
|
|
7
|
+
name?: string;
|
|
8
|
+
/** SyncDB: collection filter. */
|
|
9
|
+
collection?: string;
|
|
10
|
+
/** SyncDB: entity id filter. */
|
|
11
|
+
entityId?: string;
|
|
12
|
+
/** SyncDB: set false to return debug stats without event bodies. */
|
|
13
|
+
includeDebugEvents?: boolean;
|
|
14
|
+
/** SyncDB: entity limit per collection. */
|
|
15
|
+
limit?: number;
|
|
4
16
|
}
|
|
5
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Detects the app's client data layer (RTK Query Redux store and/or SyncDB client) and returns
|
|
19
|
+
* `{layer, rtk?, syncdb?}`, or `{layer: "none", hint, reasons, connection}` when neither is found.
|
|
20
|
+
*/
|
|
21
|
+
export declare const getClientState: (args: GetClientStateArgs) => Promise<string>;
|
|
6
22
|
export interface EvaluateArgs {
|
|
7
23
|
code: string;
|
|
8
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/local/tools/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/local/tools/runtime.ts"],"names":[],"mappings":"AAwHA,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2DD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAU,MAAM,kBAAkB,KAAG,OAAO,CAAC,MAAM,CA+C7E,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,YAAY,KAAG,OAAO,CAAC,MAAM,CAe3D,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAuBD,eAAO,MAAM,QAAQ,GAAI,MAAM,YAAY,KAAG,OAAO,CAAC,MAAM,CAgB3D,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cdpRuntimeEvaluate, ensureCdpConnected, getCdpConnectionStatus, } from "../metro/metroDevSession.js";
|
|
2
|
+
import { hasLocalSyncDbRegistry, probeSyncDbState } from "./syncDb.js";
|
|
2
3
|
const SENSITIVE_STATE_FIELD_PATTERN = /(authorization|cookie|password|secret|token)/i;
|
|
3
4
|
const REDACTED_STATE_VALUE = "[REDACTED]";
|
|
4
5
|
const getDevStore = () => {
|
|
@@ -99,26 +100,80 @@ const STORE_READ_EXPR = `(() => {
|
|
|
99
100
|
return { ok: false, error: String(e) };
|
|
100
101
|
}
|
|
101
102
|
})()`;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
103
|
+
const NO_CLIENT_STATE_HINT = "No client data layer found. For RTK Query, call `registerTerrenoDevStore(store)` from @terreno/rtk in __DEV__. For SyncDB, create the client with `createSyncDb({debug: true})`. Keep the app running; when the MCP process cannot see the app heap, start Metro so CDP can reach Hermes (see `connection`).";
|
|
104
|
+
const probeRtkState = async (slice, query) => {
|
|
105
|
+
const local = getDevStore();
|
|
106
|
+
if (local) {
|
|
107
|
+
return { found: true, state: summarizeClientState(local.getState(), slice, query) };
|
|
108
|
+
}
|
|
109
|
+
const ev = await cdpRuntimeEvaluate(STORE_READ_EXPR, true);
|
|
110
|
+
if (ev.error) {
|
|
111
|
+
return { found: false, reason: ev.error };
|
|
112
|
+
}
|
|
113
|
+
const payload = ev.value;
|
|
114
|
+
if (!payload?.ok || !payload.state) {
|
|
115
|
+
return {
|
|
116
|
+
found: false,
|
|
117
|
+
reason: `Could not read store from app: ${JSON.stringify(payload ?? ev.value)}`,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
return { found: true, state: summarizeClientState(payload.state, slice, query) };
|
|
121
|
+
};
|
|
122
|
+
const resolveLayer = (hasRtk, hasSyncDb) => {
|
|
123
|
+
if (hasRtk && hasSyncDb) {
|
|
124
|
+
return "syncdb+rtk";
|
|
125
|
+
}
|
|
126
|
+
if (hasSyncDb) {
|
|
127
|
+
return "syncdb";
|
|
128
|
+
}
|
|
129
|
+
if (hasRtk) {
|
|
130
|
+
return "rtk";
|
|
131
|
+
}
|
|
132
|
+
return "none";
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Detects the app's client data layer (RTK Query Redux store and/or SyncDB client) and returns
|
|
136
|
+
* `{layer, rtk?, syncdb?}`, or `{layer: "none", hint, reasons, connection}` when neither is found.
|
|
137
|
+
*/
|
|
138
|
+
export const getClientState = async (args) => {
|
|
139
|
+
const hasLocalRtk = getDevStore() !== undefined;
|
|
140
|
+
const hasLocalSyncDb = hasLocalSyncDbRegistry();
|
|
141
|
+
// An in-process registry means the app shares this heap, so CDP would only add latency.
|
|
142
|
+
const isInProcess = hasLocalRtk || hasLocalSyncDb;
|
|
143
|
+
const [rtk, syncdb] = await Promise.all([
|
|
144
|
+
isInProcess && !hasLocalRtk
|
|
145
|
+
? Promise.resolve({ found: false, reason: "no __TERRENO_STORE__ in process" })
|
|
146
|
+
: probeRtkState(args.slice?.trim(), args.query?.trim()),
|
|
147
|
+
isInProcess && !hasLocalSyncDb
|
|
148
|
+
? Promise.resolve({
|
|
149
|
+
found: false,
|
|
150
|
+
reason: "no __TERRENO_SYNCDB__ registry in process",
|
|
151
|
+
})
|
|
152
|
+
: probeSyncDbState({
|
|
153
|
+
collection: args.collection,
|
|
154
|
+
entityId: args.entityId,
|
|
155
|
+
includeDebugEvents: args.includeDebugEvents,
|
|
156
|
+
limit: args.limit,
|
|
157
|
+
name: args.name,
|
|
158
|
+
}),
|
|
159
|
+
]);
|
|
160
|
+
const layer = resolveLayer(rtk.found, syncdb.found);
|
|
161
|
+
if (layer === "none") {
|
|
162
|
+
return JSON.stringify({
|
|
163
|
+
connection: getCdpConnectionStatus(),
|
|
164
|
+
hint: NO_CLIENT_STATE_HINT,
|
|
165
|
+
layer,
|
|
166
|
+
reasons: {
|
|
167
|
+
rtk: rtk.found ? undefined : rtk.reason,
|
|
168
|
+
syncdb: syncdb.found ? undefined : syncdb.reason,
|
|
169
|
+
},
|
|
170
|
+
}, null, 2);
|
|
171
|
+
}
|
|
172
|
+
return JSON.stringify({
|
|
173
|
+
layer,
|
|
174
|
+
rtk: rtk.found ? rtk.state : undefined,
|
|
175
|
+
syncdb: syncdb.found ? syncdb.state : undefined,
|
|
176
|
+
}, null, 2);
|
|
122
177
|
};
|
|
123
178
|
export const evaluate = (args) => {
|
|
124
179
|
return (async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/local/tools/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/local/tools/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,17 @@ export interface SyncDbSnapshotArgs extends GetSyncDbStateArgs {
|
|
|
26
26
|
snapshotId?: string;
|
|
27
27
|
otherSnapshotId?: string;
|
|
28
28
|
}
|
|
29
|
+
/** True when a SyncDB debug registry lives in this process (no CDP needed). */
|
|
30
|
+
export declare const hasLocalSyncDbRegistry: () => boolean;
|
|
31
|
+
export type SyncDbStateProbe = {
|
|
32
|
+
found: true;
|
|
33
|
+
state: unknown;
|
|
34
|
+
} | {
|
|
35
|
+
found: false;
|
|
36
|
+
reason: string;
|
|
37
|
+
};
|
|
38
|
+
/** Reads redacted SyncDB state in-process or over CDP, reporting why when no client is reachable. */
|
|
39
|
+
export declare const probeSyncDbState: (args: GetSyncDbStateArgs) => Promise<SyncDbStateProbe>;
|
|
29
40
|
export declare const getSyncDbState: (args: GetSyncDbStateArgs) => Promise<string>;
|
|
30
41
|
export declare const syncDbAction: (args: SyncDbActionArgs) => Promise<string>;
|
|
31
42
|
export declare const syncDbSnapshot: (args: SyncDbSnapshotArgs) => Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncDb.d.ts","sourceRoot":"","sources":["../../../src/local/tools/syncDb.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"syncDb.d.ts","sourceRoot":"","sources":["../../../src/local/tools/syncDb.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAaD,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,QAAO,OAEzC,CAAC;AA+GF,MAAM,MAAM,gBAAgB,GAAG;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAC,GAAG;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AAE9F,qGAAqG;AACrG,eAAO,MAAM,gBAAgB,GAAU,MAAM,kBAAkB,KAAG,OAAO,CAAC,gBAAgB,CAWzF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,MAAM,kBAAkB,KAAG,OAAO,CAAC,MAAM,CAM7E,CAAC;AA2EF,eAAO,MAAM,YAAY,GAAU,MAAM,gBAAgB,KAAG,OAAO,CAAC,MAAM,CAkCzE,CAAC;AA6DF,eAAO,MAAM,cAAc,GAAU,MAAM,kBAAkB,KAAG,OAAO,CAAC,MAAM,CA2D7E,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,4BAA4B,QAAO,IAG/C,CAAC"}
|
|
@@ -8,6 +8,10 @@ let nextSnapshotId = 1;
|
|
|
8
8
|
const getLocalRegistry = () => {
|
|
9
9
|
return globalThis.__TERRENO_SYNCDB__;
|
|
10
10
|
};
|
|
11
|
+
/** True when a SyncDB debug registry lives in this process (no CDP needed). */
|
|
12
|
+
export const hasLocalSyncDbRegistry = () => {
|
|
13
|
+
return getLocalRegistry() !== undefined;
|
|
14
|
+
};
|
|
11
15
|
const redactValue = (value, key) => {
|
|
12
16
|
if (key && SENSITIVE_FIELD_PATTERN.test(key)) {
|
|
13
17
|
return REDACTED_VALUE;
|
|
@@ -84,18 +88,26 @@ const inspectOptions = (args) => ({
|
|
|
84
88
|
: {}),
|
|
85
89
|
...(typeof args.limit === "number" ? { limit: args.limit } : {}),
|
|
86
90
|
});
|
|
87
|
-
|
|
91
|
+
/** Reads redacted SyncDB state in-process or over CDP, reporting why when no client is reachable. */
|
|
92
|
+
export const probeSyncDbState = async (args) => {
|
|
88
93
|
try {
|
|
89
94
|
const { result } = await callBridge({
|
|
90
95
|
args: inspectOptions(args),
|
|
91
96
|
method: "inspect",
|
|
92
97
|
name: args.name,
|
|
93
98
|
});
|
|
94
|
-
return
|
|
99
|
+
return { found: true, state: redactValue(result) };
|
|
95
100
|
}
|
|
96
101
|
catch (error) {
|
|
97
|
-
return String(error);
|
|
102
|
+
return { found: false, reason: String(error) };
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
export const getSyncDbState = async (args) => {
|
|
106
|
+
const probe = await probeSyncDbState(args);
|
|
107
|
+
if (!probe.found) {
|
|
108
|
+
return probe.reason;
|
|
98
109
|
}
|
|
110
|
+
return JSON.stringify(probe.state, null, 2);
|
|
99
111
|
};
|
|
100
112
|
const requireMutationOptIn = () => {
|
|
101
113
|
if (process.env.TERRENO_MCP_EVAL === "1" || process.env.TERRENO_MCP_EVAL === "true") {
|