@tianshu-ai/tianshu 0.3.7 → 0.3.10

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 (30) hide show
  1. package/package.json +1 -1
  2. package/packages/server/dist/cli.d.ts.map +1 -1
  3. package/packages/server/dist/cli.js +9 -32
  4. package/packages/server/dist/cli.js.map +1 -1
  5. package/packages/server/dist/core/config.d.ts +20 -0
  6. package/packages/server/dist/core/config.d.ts.map +1 -1
  7. package/packages/server/dist/core/config.js.map +1 -1
  8. package/packages/server/dist/core/index.d.ts +1 -0
  9. package/packages/server/dist/core/index.d.ts.map +1 -1
  10. package/packages/server/dist/core/index.js +1 -0
  11. package/packages/server/dist/core/index.js.map +1 -1
  12. package/packages/server/dist/core/urls.d.ts +113 -0
  13. package/packages/server/dist/core/urls.d.ts.map +1 -0
  14. package/packages/server/dist/core/urls.js +206 -0
  15. package/packages/server/dist/core/urls.js.map +1 -0
  16. package/packages/server/dist/index.js +44 -1
  17. package/packages/server/dist/index.js.map +1 -1
  18. package/packages/server/dist/setup/checks/network.d.ts.map +1 -1
  19. package/packages/server/dist/setup/checks/network.js +14 -50
  20. package/packages/server/dist/setup/checks/network.js.map +1 -1
  21. package/packages/server/dist/setup/load-env.d.ts +18 -10
  22. package/packages/server/dist/setup/load-env.d.ts.map +1 -1
  23. package/packages/server/dist/setup/load-env.js +32 -11
  24. package/packages/server/dist/setup/load-env.js.map +1 -1
  25. package/packages/server/dist/setup/service.d.ts.map +1 -1
  26. package/packages/server/dist/setup/service.js +9 -29
  27. package/packages/server/dist/setup/service.js.map +1 -1
  28. package/packages/server/dist/setup/start-server.d.ts.map +1 -1
  29. package/packages/server/dist/setup/start-server.js +46 -10
  30. package/packages/server/dist/setup/start-server.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tianshu-ai/tianshu",
3
- "version": "0.3.7",
3
+ "version": "0.3.10",
4
4
  "description": "An open AI agent platform with a sidecar browser. Built in public.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/tianshu-ai/tianshu",
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAgDA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAkBpD;AAkCD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+M1D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAiDA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAkBpD;AAkCD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+M1D"}
@@ -18,7 +18,7 @@
18
18
  // configured the agent to write into.
19
19
  import fs from "node:fs";
20
20
  import path from "node:path";
21
- import { GlobalOps, InvalidTenantIdError, TenantAlreadyExistsError, TenantNotFoundError, getTianshuHome, loadGlobalConfig, } from "./core/index.js";
21
+ import { buildTenantUserUrl, GlobalOps, InvalidTenantIdError, resolvePublicBaseUrl, TenantAlreadyExistsError, TenantNotFoundError, getTianshuHome, } from "./core/index.js";
22
22
  import { loadEnv } from "./setup/load-env.js";
23
23
  import { runDoctor } from "./setup/doctor.js";
24
24
  import { runSetupWizard } from "./setup/wizard.js";
@@ -190,7 +190,7 @@ export async function main(argv) {
190
190
  console.log(id);
191
191
  return 0;
192
192
  }
193
- const webBase = resolveWebBaseUrl();
193
+ const webBase = resolvePublicBaseUrl();
194
194
  const tree = ids.map((tenantId) => ({
195
195
  tenantId,
196
196
  users: listTenantUsers(tenantId),
@@ -201,7 +201,7 @@ export async function main(argv) {
201
201
  users: t.users,
202
202
  urls: t.users.map((u) => ({
203
203
  userId: u,
204
- url: `${webBase}/tenants/${t.tenantId}/users/${u}/`,
204
+ url: buildTenantUserUrl(webBase, t.tenantId, u),
205
205
  })),
206
206
  })), null, 2));
207
207
  return 0;
@@ -216,7 +216,7 @@ export async function main(argv) {
216
216
  }
217
217
  console.log(t.tenantId);
218
218
  for (const u of t.users) {
219
- console.log(` ${u.padEnd(16)} ${webBase}/tenants/${t.tenantId}/users/${u}/`);
219
+ console.log(` ${u.padEnd(16)} ${buildTenantUserUrl(webBase, t.tenantId, u)}`);
220
220
  }
221
221
  }
222
222
  return 0;
@@ -300,34 +300,11 @@ function listTenantUsers(tenantId) {
300
300
  return [];
301
301
  }
302
302
  }
303
- /**
304
- * Best-effort "where does the user open this in a browser?".
305
- * Resolution order:
306
- * 1. TIANSHU_WEB_URL env (explicit override, e.g.
307
- * cloudflare tunnel hostname)
308
- * 2. global config server.publicUrl
309
- * 3. http://localhost:<webPort> where webPort comes from
310
- * .env's WEB_PORT or the default 5183
311
- * The fallback uses the *web* port (vite dev server), not the
312
- * server port — the URL we print is what the user opens, not
313
- * what fetch hits.
314
- */
315
- function resolveWebBaseUrl() {
316
- const envUrl = process.env.TIANSHU_WEB_URL;
317
- if (envUrl)
318
- return envUrl.replace(/\/+$/, "");
319
- try {
320
- const cfg = loadGlobalConfig();
321
- const pub = cfg.server?.publicUrl;
322
- if (pub)
323
- return pub.replace(/\/+$/, "");
324
- }
325
- catch {
326
- /* no global config yet — fall through */
327
- }
328
- const webPort = process.env.WEB_PORT ?? "5183";
329
- return `http://localhost:${webPort}`;
330
- }
303
+ // URL/port resolution lives in core/urls.ts — the CLI imports
304
+ // `resolvePublicBaseUrl` / `buildTenantUserUrl` and lets that
305
+ // module own dev/prod detection, env overrides, and publicUrl.
306
+ // (Earlier this file had its own resolver that drifted from
307
+ // doctor's and the wizard's. Don't reintroduce one.)
331
308
  // Direct invocation: `node dist/cli.js …`. The `bin/tianshu.mjs`
332
309
  // shim also calls `main()` after dynamic-importing this module,
333
310
  // so we only auto-run when the module *is* the entry point.
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -75,10 +75,30 @@ export interface McpServerEntry {
75
75
  }
76
76
  /** Fields that ONLY the global config controls. Tenant config attempting these is rejected. */
77
77
  export interface GlobalOnlyConfig {
78
+ /**
79
+ * `publicUrl` is the operator-declared URL users open in a
80
+ * browser — e.g. a Cloudflare tunnel hostname. Write this
81
+ * by hand (or via wizard) when you want a stable public
82
+ * URL; nothing inside the server overrides it.
83
+ *
84
+ * `effectivePublicUrl` is auto-written by the running
85
+ * server on each boot to record "this is the localhost
86
+ * URL I'm actually serving the SPA from" (server port in
87
+ * prod / TIANSHU_WEB_DIST mode, web port in dev / vite
88
+ * mode). CLI commands like `tianshu tenant list` read it
89
+ * when the operator hasn't set publicUrl, so they print a
90
+ * URL that actually opens regardless of which install
91
+ * shape is active.
92
+ *
93
+ * Order of preference for "what URL do I print to a human?"
94
+ * TIANSHU_WEB_URL env > server.publicUrl >
95
+ * server.effectivePublicUrl > hard fallback to localhost:port.
96
+ */
78
97
  server?: {
79
98
  port?: number;
80
99
  corsOrigin?: string;
81
100
  publicUrl?: string;
101
+ effectivePublicUrl?: string;
82
102
  };
83
103
  logging?: {
84
104
  level?: "debug" | "info" | "warn" | "error";
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export { InvalidTenantIdError, isValidTenantId, validateTenantId, } from "./tena
3
3
  export { DEFAULTS, loadGlobalConfig, loadTenantConfig, mergeConfigs, resolveTenantConfig, TenantConfigForbiddenFieldError, writeGlobalConfig, writeTenantConfig, type BrandingConfig, type GlobalConfig, type McpServerEntry, type McpUserConfig, type ModelEntry, type ModelsCatalog, type OAuthProviderConfig, type PluginsConfig, type ProviderEntry, type ResolvedConfig, type TenantConfig, type WorkerSettings, } from "./config.js";
4
4
  export { McpManager, type McpUserToolsetSnapshot } from "./mcp-manager.js";
5
5
  export { DbPool, getDefaultPool } from "./db-pool.js";
6
+ export { buildTenantUserUrl, computeServerEffectivePublicUrl, DEFAULT_SERVER_PORT, DEFAULT_WEB_PORT, detectInstallMode, resolveLocalServerBaseUrl, resolvePublicBaseUrl, resolveServerPort, resolveWebPort, type InstallMode, type UrlContext, } from "./urls.js";
6
7
  export { runMigrations, MIGRATIONS } from "./migrations/index.js";
7
8
  export { TenantContext, buildTenantContext } from "./tenant-context.js";
8
9
  export { GlobalOps, TenantAlreadyExistsError, TenantNotFoundError, type GlobalOpsOptions, } from "./global-ops.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EACL,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,UAAU,EACV,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EACL,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,UAAU,EACV,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC"}
@@ -8,6 +8,7 @@ export { InvalidTenantIdError, isValidTenantId, validateTenantId, } from "./tena
8
8
  export { DEFAULTS, loadGlobalConfig, loadTenantConfig, mergeConfigs, resolveTenantConfig, TenantConfigForbiddenFieldError, writeGlobalConfig, writeTenantConfig, } from "./config.js";
9
9
  export { McpManager } from "./mcp-manager.js";
10
10
  export { DbPool, getDefaultPool } from "./db-pool.js";
11
+ export { buildTenantUserUrl, computeServerEffectivePublicUrl, DEFAULT_SERVER_PORT, DEFAULT_WEB_PORT, detectInstallMode, resolveLocalServerBaseUrl, resolvePublicBaseUrl, resolveServerPort, resolveWebPort, } from "./urls.js";
11
12
  export { runMigrations, MIGRATIONS } from "./migrations/index.js";
12
13
  export { TenantContext, buildTenantContext } from "./tenant-context.js";
13
14
  export { GlobalOps, TenantAlreadyExistsError, TenantNotFoundError, } from "./global-ops.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,sEAAsE;AACtE,kEAAkE;AAClE,8DAA8D;AAE9D,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,GAalB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAA+B,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EACL,SAAS,EACT,wBAAwB,EACxB,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,iBAAiB,GAElB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,kBAAkB,GAKnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,UAAU,EACV,aAAa,GAEd,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,sEAAsE;AACtE,kEAAkE;AAClE,8DAA8D;AAE9D,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,GAalB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAA+B,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GAGf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EACL,SAAS,EACT,wBAAwB,EACxB,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,iBAAiB,GAElB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,kBAAkB,GAKnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,UAAU,EACV,aAAa,GAEd,MAAM,UAAU,CAAC"}
@@ -0,0 +1,113 @@
1
+ import { type GlobalConfig } from "./config.js";
2
+ export declare const DEFAULT_SERVER_PORT = 3110;
3
+ export declare const DEFAULT_WEB_PORT = 5183;
4
+ /** Two install shapes. See module docstring. */
5
+ export type InstallMode = "dev" | "prod";
6
+ export interface UrlContext {
7
+ /** Pre-loaded global config, if the caller already has it. */
8
+ config?: GlobalConfig;
9
+ /**
10
+ * The tianshu checkout the running CLI lives in. Used only
11
+ * for dev/prod detection. Defaults to walking up from this
12
+ * file (works for both dev checkouts and global installs).
13
+ */
14
+ repoRoot?: string;
15
+ }
16
+ /**
17
+ * Resolve the API server's port:
18
+ * 1. process.env.PORT
19
+ * 2. global config server.port
20
+ * 3. DEFAULT_SERVER_PORT (3110)
21
+ *
22
+ * Matches what the wizard writes to .env and what doctor probes.
23
+ * The running server itself doesn't call this (see module
24
+ * docstring) — it keeps a narrower env-only read so its boot
25
+ * isn't blocked by a missing global config.
26
+ */
27
+ export declare function resolveServerPort(ctx?: UrlContext): number;
28
+ /**
29
+ * Resolve the *vite dev server* port. Only meaningful in dev
30
+ * mode. We don't read this from global config because it isn't
31
+ * a config field — it's a per-dev-checkout `.env` knob the
32
+ * wizard writes when installing a dev launchd agent.
33
+ *
34
+ * 1. process.env.WEB_PORT
35
+ * 2. DEFAULT_WEB_PORT (5183)
36
+ */
37
+ export declare function resolveWebPort(): number;
38
+ /**
39
+ * Whether this CLI is running from a dev checkout (vite serves
40
+ * the SPA on a separate port) or a global / npm-published
41
+ * install (server hosts the SPA itself on the API port).
42
+ *
43
+ * Heuristic mirrors `setup/repo-root.ts:isDevelopmentCheckout`
44
+ * but kept inline so this module stays import-light (config.ts
45
+ * is the only cross-module dep). The two definitions must
46
+ * agree — if they ever drift, doctor and the wizard will start
47
+ * reporting different modes for the same machine. There's a
48
+ * smoke test in urls.test.ts that pins them together.
49
+ */
50
+ export declare function detectInstallMode(ctx?: UrlContext): InstallMode;
51
+ /**
52
+ * The URL the user opens in a browser.
53
+ *
54
+ * Resolution order:
55
+ * 1. TIANSHU_WEB_URL env (explicit override — Cloudflare
56
+ * tunnel hostname etc.). Trumps everything.
57
+ * 2. global config server.publicUrl (operator-declared,
58
+ * persisted; same intent as TIANSHU_WEB_URL but written
59
+ * once into config instead of needing env in every shell).
60
+ * 3. global config server.effectivePublicUrl (auto-written
61
+ * by the running server on each boot — reflects which
62
+ * port is actually serving the SPA *right now*, regardless
63
+ * of whether the install is dev or prod shape).
64
+ * 4. http://localhost:<port>, where <port> is:
65
+ * - prod mode → server port (server hosts the SPA itself)
66
+ * - dev mode → web port (vite dev server)
67
+ * This last fallback runs when the server has never
68
+ * booted (so #3 isn't populated yet) AND the operator
69
+ * hasn't declared publicUrl. We still use the dev/prod
70
+ * heuristic from the filesystem here — it's the same
71
+ * one the wizard's launchd plist uses.
72
+ *
73
+ * Always returned without a trailing slash so callers can do
74
+ * `${publicBase}/tenants/...` safely.
75
+ */
76
+ export declare function resolvePublicBaseUrl(ctx?: UrlContext): string;
77
+ /**
78
+ * What the running server should publish as its
79
+ * `effectivePublicUrl` — i.e. "this is the localhost URL that
80
+ * actually opens the SPA right now". The server calls this
81
+ * during boot and writes the result to global config so CLI
82
+ * commands (which run in separate processes and can't read
83
+ * the server's env) still know which port the SPA lives on.
84
+ *
85
+ * Don't confuse with publicBaseUrl: this one ignores
86
+ * TIANSHU_WEB_URL / publicUrl on purpose. It's the
87
+ * *observed* truth, not the *declared* one.
88
+ */
89
+ export declare function computeServerEffectivePublicUrl(opts: {
90
+ /** PORT the server is actually listening on. */
91
+ port: number;
92
+ /** True when this process is hosting the SPA itself
93
+ * (TIANSHU_WEB_DIST is set and points at a valid dist). */
94
+ hostsSpa: boolean;
95
+ }): string;
96
+ /**
97
+ * The URL local code uses to talk to the running server's API.
98
+ *
99
+ * Differs from publicBaseUrl deliberately:
100
+ * - `publicBaseUrl` is for HUMANS. It may point at a public
101
+ * Cloudflare tunnel hostname.
102
+ * - `localServerBaseUrl` is for IN-PROCESS PROBES (doctor's
103
+ * health check, the wizard waiting for the server to come
104
+ * up). Those must hit localhost on the actual bind port,
105
+ * regardless of any public override — otherwise doctor
106
+ * would try to probe a tunnel that may be off.
107
+ *
108
+ * No trailing slash.
109
+ */
110
+ export declare function resolveLocalServerBaseUrl(ctx?: UrlContext): string;
111
+ /** Convenience: build the URL for `tenants/<t>/users/<u>/`. */
112
+ export declare function buildTenantUserUrl(baseUrl: string, tenantId: string, userId: string): string;
113
+ //# sourceMappingURL=urls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../src/core/urls.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAElE,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,gDAAgD;AAChD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,UAAe,GAAG,MAAM,CAQ9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,UAAe,GAAG,WAAW,CAUnE;AAcD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,UAAe,GAAG,MAAM,CAWjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACpD,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb;gEAC4D;IAC5D,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAGT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,UAAe,GAAG,MAAM,CAEtE;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAER"}
@@ -0,0 +1,206 @@
1
+ // Central place for "where does this server live, in URL form?".
2
+ //
3
+ // Three things were drifting before this module existed:
4
+ // 1. The server process picks a port (env PORT → 3110).
5
+ // 2. The wizard / launchd / doctor pick a port too (env PORT →
6
+ // global config server.port → 3110).
7
+ // 3. The CLI prints user-facing URLs (tenant list, status,
8
+ // wizard banner) and has to know both the *port* and the
9
+ // *mode* (dev = vite on a separate web port; prod = server
10
+ // hosts the SPA on the API port via TIANSHU_WEB_DIST).
11
+ //
12
+ // Each of those used to inline its own resolver. They drifted —
13
+ // the most recent symptom was `tianshu tenant list` printing the
14
+ // vite port (5183) on a prod install, where no vite process
15
+ // exists. This module is the single source of truth.
16
+ //
17
+ // What it does NOT do:
18
+ // - It doesn't decide the *bind port* the running server
19
+ // uses. `index.ts` keeps its own narrow `process.env.PORT
20
+ // ?? 3110` read so it never depends on the global config
21
+ // file existing during boot. (If you want the server to
22
+ // honour global config someday, change index.ts and
23
+ // re-aim the launchd plist env vars; don't change urls.ts.)
24
+ // - It doesn't probe sockets. `setup/checks/network.ts` still
25
+ // owns the actual "is the port answering?" probe, but it
26
+ // gets its port numbers and dev/prod mode from here.
27
+ import fs from "node:fs";
28
+ import path from "node:path";
29
+ import { fileURLToPath } from "node:url";
30
+ import { loadGlobalConfig } from "./config.js";
31
+ export const DEFAULT_SERVER_PORT = 3110;
32
+ export const DEFAULT_WEB_PORT = 5183;
33
+ /**
34
+ * Resolve the API server's port:
35
+ * 1. process.env.PORT
36
+ * 2. global config server.port
37
+ * 3. DEFAULT_SERVER_PORT (3110)
38
+ *
39
+ * Matches what the wizard writes to .env and what doctor probes.
40
+ * The running server itself doesn't call this (see module
41
+ * docstring) — it keeps a narrower env-only read so its boot
42
+ * isn't blocked by a missing global config.
43
+ */
44
+ export function resolveServerPort(ctx = {}) {
45
+ const envPort = parsePort(process.env.PORT);
46
+ if (envPort !== undefined)
47
+ return envPort;
48
+ const cfg = ctx.config ?? safeLoadConfig();
49
+ if (cfg?.server?.port && Number.isFinite(cfg.server.port)) {
50
+ return cfg.server.port;
51
+ }
52
+ return DEFAULT_SERVER_PORT;
53
+ }
54
+ /**
55
+ * Resolve the *vite dev server* port. Only meaningful in dev
56
+ * mode. We don't read this from global config because it isn't
57
+ * a config field — it's a per-dev-checkout `.env` knob the
58
+ * wizard writes when installing a dev launchd agent.
59
+ *
60
+ * 1. process.env.WEB_PORT
61
+ * 2. DEFAULT_WEB_PORT (5183)
62
+ */
63
+ export function resolveWebPort() {
64
+ const envPort = parsePort(process.env.WEB_PORT);
65
+ if (envPort !== undefined)
66
+ return envPort;
67
+ return DEFAULT_WEB_PORT;
68
+ }
69
+ /**
70
+ * Whether this CLI is running from a dev checkout (vite serves
71
+ * the SPA on a separate port) or a global / npm-published
72
+ * install (server hosts the SPA itself on the API port).
73
+ *
74
+ * Heuristic mirrors `setup/repo-root.ts:isDevelopmentCheckout`
75
+ * but kept inline so this module stays import-light (config.ts
76
+ * is the only cross-module dep). The two definitions must
77
+ * agree — if they ever drift, doctor and the wizard will start
78
+ * reporting different modes for the same machine. There's a
79
+ * smoke test in urls.test.ts that pins them together.
80
+ */
81
+ export function detectInstallMode(ctx = {}) {
82
+ try {
83
+ const explicitRoot = ctx.repoRoot;
84
+ if (explicitRoot)
85
+ return modeFromPath(explicitRoot);
86
+ return modeFromPath(path.dirname(fileURLToPath(import.meta.url)));
87
+ }
88
+ catch {
89
+ // Conservative fallback: assume prod so we don't print
90
+ // dev-only "open localhost:5183" advice to a real user.
91
+ return "prod";
92
+ }
93
+ }
94
+ function modeFromPath(start) {
95
+ let dir = start;
96
+ for (let i = 0; i < 16; i++) {
97
+ if (fs.existsSync(path.join(dir, ".git")))
98
+ return "dev";
99
+ const parent = path.dirname(dir);
100
+ if (parent === dir)
101
+ break;
102
+ dir = parent;
103
+ }
104
+ if (start.includes(`${path.sep}node_modules${path.sep}`))
105
+ return "prod";
106
+ return "prod";
107
+ }
108
+ /**
109
+ * The URL the user opens in a browser.
110
+ *
111
+ * Resolution order:
112
+ * 1. TIANSHU_WEB_URL env (explicit override — Cloudflare
113
+ * tunnel hostname etc.). Trumps everything.
114
+ * 2. global config server.publicUrl (operator-declared,
115
+ * persisted; same intent as TIANSHU_WEB_URL but written
116
+ * once into config instead of needing env in every shell).
117
+ * 3. global config server.effectivePublicUrl (auto-written
118
+ * by the running server on each boot — reflects which
119
+ * port is actually serving the SPA *right now*, regardless
120
+ * of whether the install is dev or prod shape).
121
+ * 4. http://localhost:<port>, where <port> is:
122
+ * - prod mode → server port (server hosts the SPA itself)
123
+ * - dev mode → web port (vite dev server)
124
+ * This last fallback runs when the server has never
125
+ * booted (so #3 isn't populated yet) AND the operator
126
+ * hasn't declared publicUrl. We still use the dev/prod
127
+ * heuristic from the filesystem here — it's the same
128
+ * one the wizard's launchd plist uses.
129
+ *
130
+ * Always returned without a trailing slash so callers can do
131
+ * `${publicBase}/tenants/...` safely.
132
+ */
133
+ export function resolvePublicBaseUrl(ctx = {}) {
134
+ const envUrl = process.env.TIANSHU_WEB_URL;
135
+ if (envUrl)
136
+ return stripTrailingSlash(envUrl);
137
+ const cfg = ctx.config ?? safeLoadConfig();
138
+ const cfgUrl = cfg?.server?.publicUrl;
139
+ if (cfgUrl)
140
+ return stripTrailingSlash(cfgUrl);
141
+ const effective = cfg?.server?.effectivePublicUrl;
142
+ if (effective)
143
+ return stripTrailingSlash(effective);
144
+ const mode = detectInstallMode(ctx);
145
+ const port = mode === "prod" ? resolveServerPort({ config: cfg }) : resolveWebPort();
146
+ return `http://localhost:${port}`;
147
+ }
148
+ /**
149
+ * What the running server should publish as its
150
+ * `effectivePublicUrl` — i.e. "this is the localhost URL that
151
+ * actually opens the SPA right now". The server calls this
152
+ * during boot and writes the result to global config so CLI
153
+ * commands (which run in separate processes and can't read
154
+ * the server's env) still know which port the SPA lives on.
155
+ *
156
+ * Don't confuse with publicBaseUrl: this one ignores
157
+ * TIANSHU_WEB_URL / publicUrl on purpose. It's the
158
+ * *observed* truth, not the *declared* one.
159
+ */
160
+ export function computeServerEffectivePublicUrl(opts) {
161
+ if (opts.hostsSpa)
162
+ return `http://localhost:${opts.port}`;
163
+ return `http://localhost:${resolveWebPort()}`;
164
+ }
165
+ /**
166
+ * The URL local code uses to talk to the running server's API.
167
+ *
168
+ * Differs from publicBaseUrl deliberately:
169
+ * - `publicBaseUrl` is for HUMANS. It may point at a public
170
+ * Cloudflare tunnel hostname.
171
+ * - `localServerBaseUrl` is for IN-PROCESS PROBES (doctor's
172
+ * health check, the wizard waiting for the server to come
173
+ * up). Those must hit localhost on the actual bind port,
174
+ * regardless of any public override — otherwise doctor
175
+ * would try to probe a tunnel that may be off.
176
+ *
177
+ * No trailing slash.
178
+ */
179
+ export function resolveLocalServerBaseUrl(ctx = {}) {
180
+ return `http://localhost:${resolveServerPort(ctx)}`;
181
+ }
182
+ /** Convenience: build the URL for `tenants/<t>/users/<u>/`. */
183
+ export function buildTenantUserUrl(baseUrl, tenantId, userId) {
184
+ return `${stripTrailingSlash(baseUrl)}/tenants/${tenantId}/users/${userId}/`;
185
+ }
186
+ // ─── helpers ────────────────────────────────────────────────
187
+ function parsePort(raw) {
188
+ if (!raw)
189
+ return undefined;
190
+ const n = Number.parseInt(raw, 10);
191
+ if (!Number.isFinite(n) || n <= 0)
192
+ return undefined;
193
+ return n;
194
+ }
195
+ function stripTrailingSlash(s) {
196
+ return s.replace(/\/+$/, "");
197
+ }
198
+ function safeLoadConfig() {
199
+ try {
200
+ return loadGlobalConfig();
201
+ }
202
+ catch {
203
+ return undefined;
204
+ }
205
+ }
206
+ //# sourceMappingURL=urls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/core/urls.ts"],"names":[],"mappings":"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"}