@thingd/cli 0.52.8 → 0.52.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +10 -7
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqErD,wBAAsB,oBAAoB,CACxC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqErD,wBAAsB,oBAAoB,CACxC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAwnB7E"}
|
package/dist/dashboard/server.js
CHANGED
|
@@ -74,6 +74,7 @@ export async function startDashboardServer(connectionOptions, port) {
|
|
|
74
74
|
url: activeOptions.cloud ? activeOptions.path : undefined,
|
|
75
75
|
driver: activeOptions.driver,
|
|
76
76
|
authToken: activeOptions.authToken,
|
|
77
|
+
instanceSlug: activeOptions.instanceSlug,
|
|
77
78
|
});
|
|
78
79
|
// 2. Create HTTP Server
|
|
79
80
|
const server = createServer(async (req, res) => {
|
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export type ConnectionOptions = {
|
|
|
29
29
|
driver?: ThingDDriver;
|
|
30
30
|
authToken?: string;
|
|
31
31
|
cloud: boolean;
|
|
32
|
+
/** Cloud instance slug for multi-instance routing. */
|
|
33
|
+
instanceSlug?: string;
|
|
32
34
|
};
|
|
33
35
|
export declare function runCli(args?: string[], options?: RunCliOptions): Promise<number>;
|
|
34
36
|
export declare function withDb(context: CliContext, callback: (db: ThingD) => Promise<void>): Promise<void>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAQA,OAAO,EAUL,MAAM,EACN,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AASrB,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEjD,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAE1C,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAsCF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAQA,OAAO,EAUL,MAAM,EACN,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AASrB,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEjD,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAE1C,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAsCF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAwFF,wBAAsB,MAAM,CAC1B,IAAI,WAAwB,EAC5B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA8EjB;AAk6BD,wBAAsB,MAAM,CAC1B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC,CAef;AA4BD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,iBAAiB,CA6CxE;AAiDD,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAGlF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrF;AAyFD,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAEpF;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAElE"}
|
package/dist/index.js
CHANGED
|
@@ -905,6 +905,7 @@ export async function withDb(context, callback) {
|
|
|
905
905
|
url: connection.cloud ? connection.path : undefined,
|
|
906
906
|
driver: connection.driver,
|
|
907
907
|
authToken: connection.authToken,
|
|
908
|
+
instanceSlug: connection.instanceSlug,
|
|
908
909
|
});
|
|
909
910
|
try {
|
|
910
911
|
await callback(db);
|
|
@@ -970,6 +971,7 @@ export function resolveConnection(context) {
|
|
|
970
971
|
driver,
|
|
971
972
|
authToken: resolvedAuthToken,
|
|
972
973
|
cloud,
|
|
974
|
+
instanceSlug: cloudCfg?.instanceSlug,
|
|
973
975
|
};
|
|
974
976
|
}
|
|
975
977
|
function parseArgs(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"AAwmEA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+DvD"}
|
package/dist/interactive.js
CHANGED
|
@@ -406,12 +406,13 @@ async function fetchResources() {
|
|
|
406
406
|
}
|
|
407
407
|
}
|
|
408
408
|
// ── Connection helpers ───────────────────────────────────────────────
|
|
409
|
-
async function connectToDriver(selectedDriver, resolvedPath, url, token) {
|
|
409
|
+
async function connectToDriver(selectedDriver, resolvedPath, url, token, instanceSlug) {
|
|
410
410
|
db = await ThingD.open({
|
|
411
411
|
path: resolvedPath,
|
|
412
412
|
url,
|
|
413
413
|
driver: selectedDriver,
|
|
414
414
|
authToken: token,
|
|
415
|
+
instanceSlug,
|
|
415
416
|
});
|
|
416
417
|
driver = selectedDriver;
|
|
417
418
|
dbPath = resolvedPath;
|
|
@@ -1724,14 +1725,14 @@ async function handleConnect(node) {
|
|
|
1724
1725
|
cloudCfg.projectSlug = selected.projectSlug;
|
|
1725
1726
|
cloudCfg.instanceSlug = selected.instanceSlug;
|
|
1726
1727
|
writeCloudConfig(cloudCfg);
|
|
1727
|
-
await connectToDriver("cloud", deriveRestUrl(selected.mcpUrl), deriveRestUrl(selected.mcpUrl), cloudCfg.apiKey ?? cloudCfg.token);
|
|
1728
|
+
await connectToDriver("cloud", deriveRestUrl(selected.mcpUrl), deriveRestUrl(selected.mcpUrl), cloudCfg.apiKey ?? cloudCfg.token, selected.instanceSlug);
|
|
1728
1729
|
});
|
|
1729
1730
|
return;
|
|
1730
1731
|
}
|
|
1731
1732
|
// No instances found — try saved URL or show error
|
|
1732
1733
|
if (cloudCfg.instanceUrl) {
|
|
1733
1734
|
const restUrl = deriveRestUrl(cloudCfg.instanceUrl);
|
|
1734
|
-
await connectToDriver("cloud", restUrl, restUrl, cloudCfg.apiKey ?? cloudCfg.token);
|
|
1735
|
+
await connectToDriver("cloud", restUrl, restUrl, cloudCfg.apiKey ?? cloudCfg.token, cloudCfg.instanceSlug);
|
|
1735
1736
|
return;
|
|
1736
1737
|
}
|
|
1737
1738
|
viewerLines = [
|
|
@@ -1744,7 +1745,7 @@ async function handleConnect(node) {
|
|
|
1744
1745
|
catch {
|
|
1745
1746
|
if (cloudCfg.instanceUrl) {
|
|
1746
1747
|
const restUrl = deriveRestUrl(cloudCfg.instanceUrl);
|
|
1747
|
-
await connectToDriver("cloud", restUrl, restUrl, cloudCfg.apiKey ?? cloudCfg.token);
|
|
1748
|
+
await connectToDriver("cloud", restUrl, restUrl, cloudCfg.apiKey ?? cloudCfg.token, cloudCfg.instanceSlug);
|
|
1748
1749
|
return;
|
|
1749
1750
|
}
|
|
1750
1751
|
viewerLines = [
|
|
@@ -1803,6 +1804,7 @@ async function handleConnect(node) {
|
|
|
1803
1804
|
]),
|
|
1804
1805
|
], async (vals) => {
|
|
1805
1806
|
let cloudUrl;
|
|
1807
|
+
let instanceSlugVal;
|
|
1806
1808
|
if (selectedDriver === "cloud") {
|
|
1807
1809
|
if (isCloudWithConfig) {
|
|
1808
1810
|
if (!vals.project || !vals.instance) {
|
|
@@ -1810,13 +1812,14 @@ async function handleConnect(node) {
|
|
|
1810
1812
|
draw();
|
|
1811
1813
|
return;
|
|
1812
1814
|
}
|
|
1815
|
+
instanceSlugVal = vals.instance;
|
|
1813
1816
|
// Construct URL from project + instance slugs
|
|
1814
1817
|
cloudUrl = `${baseUrl}/mcp/${encodeURIComponent(vals.project)}/${encodeURIComponent(vals.instance)}`;
|
|
1815
1818
|
// Save selection to cloud config
|
|
1816
1819
|
const cfg = cloudCfg ?? { token: vals.token, url: baseUrl };
|
|
1817
1820
|
cfg.instanceUrl = cloudUrl;
|
|
1818
1821
|
cfg.projectSlug = vals.project;
|
|
1819
|
-
cfg.instanceSlug =
|
|
1822
|
+
cfg.instanceSlug = instanceSlugVal;
|
|
1820
1823
|
if (vals.token) {
|
|
1821
1824
|
cfg.token = vals.token;
|
|
1822
1825
|
}
|
|
@@ -1834,7 +1837,7 @@ async function handleConnect(node) {
|
|
|
1834
1837
|
// Save manual credentials to cloud config
|
|
1835
1838
|
writeCloudConfig({ token: vals.token || "", url: cloudUrl });
|
|
1836
1839
|
}
|
|
1837
|
-
await connectToDriver(selectedDriver, cloudUrl, cloudUrl, cloudCfg?.apiKey ?? vals.token);
|
|
1840
|
+
await connectToDriver(selectedDriver, cloudUrl, cloudUrl, cloudCfg?.apiKey ?? vals.token, instanceSlugVal);
|
|
1838
1841
|
}
|
|
1839
1842
|
else {
|
|
1840
1843
|
await connectToDriver(selectedDriver, vals.path || "", undefined, undefined);
|
|
@@ -1959,7 +1962,7 @@ export async function runInteractiveCli() {
|
|
|
1959
1962
|
if (cloudUrl) {
|
|
1960
1963
|
try {
|
|
1961
1964
|
const restUrl = deriveRestUrl(cloudUrl);
|
|
1962
|
-
await connectToDriver("cloud", restUrl, restUrl, cloudCfg.apiKey ?? cloudCfg.token);
|
|
1965
|
+
await connectToDriver("cloud", restUrl, restUrl, cloudCfg.apiKey ?? cloudCfg.token, cloudCfg.instanceSlug);
|
|
1963
1966
|
}
|
|
1964
1967
|
catch (err) {
|
|
1965
1968
|
const msg = err instanceof Error ? err.message : String(err);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thingd/cli",
|
|
3
|
-
"version": "0.52.
|
|
3
|
+
"version": "0.52.9",
|
|
4
4
|
"description": "CLI, Interactive TUI Dashboard, and MCP server for thingd — a fast object-first data engine for applications and AI agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://engine.thingd.cloud",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"cli-table3": "^0.6.5",
|
|
46
46
|
"picocolors": "^1.1.1",
|
|
47
47
|
"zod": "^4.4.3",
|
|
48
|
-
"@thingd/sdk": "0.52.
|
|
48
|
+
"@thingd/sdk": "0.52.9"
|
|
49
49
|
},
|
|
50
50
|
"engines": {
|
|
51
51
|
"node": ">=24.0.0"
|