@agent-team-foundation/first-tree-hub 0.11.3 → 0.11.4
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/{bootstrap-D4rdqM2F.mjs → bootstrap-D-Yf8yOc.mjs} +0 -15
- package/dist/cli/index.mjs +7 -7
- package/dist/client-By1K4VVT-DuI6EnSh.mjs +4 -0
- package/dist/{client-CLdRbuml-BRtalKpQ.mjs → client-CLdRbuml-svTO0Eat.mjs} +1 -1
- package/dist/{dist-BAqGZkco.mjs → dist-ClFs4WMj.mjs} +55 -1
- package/dist/drizzle/0032_organization_settings.sql +36 -0
- package/dist/drizzle/meta/_journal.json +8 -1
- package/dist/{feishu-Th_-ivJ7.mjs → feishu-AI3pwmqN.mjs} +1 -1
- package/dist/index.mjs +5 -5
- package/dist/{invitation-DWlyNb8x-D3zjZSwI.mjs → invitation-DWlyNb8x-BvXubk24.mjs} +1 -1
- package/dist/{saas-connect-gcT6Q10z.mjs → saas-connect-CVoRK0Ex.mjs} +391 -63
- package/dist/web/assets/{index-CD7rTdqm.js → index-Bm6hgcvt.js} +1 -1
- package/dist/web/assets/{index-43trJLR8.js → index-k2bWRKc-.js} +87 -87
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/client-By1K4VVT-C5K7WZo6.mjs +0 -4
|
@@ -569,21 +569,6 @@ const serverConfigSchema = defineConfig({
|
|
|
569
569
|
refreshTokenExpiry: field(z.string().default("30d"), { env: "FIRST_TREE_HUB_AUTH_REFRESH_TOKEN_EXPIRY" }),
|
|
570
570
|
connectTokenExpiry: field(z.string().default("10m"), { env: "FIRST_TREE_HUB_AUTH_CONNECT_TOKEN_EXPIRY" })
|
|
571
571
|
},
|
|
572
|
-
contextTree: optional({
|
|
573
|
-
repo: field(z.string().optional(), {
|
|
574
|
-
env: "FIRST_TREE_HUB_CONTEXT_TREE_REPO",
|
|
575
|
-
prompt: { message: "Context Tree repo URL (e.g. https://github.com/org/first-tree):" }
|
|
576
|
-
}),
|
|
577
|
-
localPath: field(z.string().optional(), { env: "FIRST_TREE_HUB_CONTEXT_TREE_PATH" }),
|
|
578
|
-
branch: field(z.string().default("main"))
|
|
579
|
-
}),
|
|
580
|
-
github: {
|
|
581
|
-
webhookSecret: field(z.string().optional(), {
|
|
582
|
-
env: "FIRST_TREE_HUB_GITHUB_WEBHOOK_SECRET",
|
|
583
|
-
secret: true
|
|
584
|
-
}),
|
|
585
|
-
allowedOrg: field(z.string().optional(), { env: "FIRST_TREE_HUB_GITHUB_ALLOWED_ORG" })
|
|
586
|
-
},
|
|
587
572
|
oauth: optional({ github: optional({
|
|
588
573
|
clientId: field(z.string(), { env: "FIRST_TREE_HUB_GITHUB_OAUTH_CLIENT_ID" }),
|
|
589
574
|
clientSecret: field(z.string(), {
|
package/dist/cli/index.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import "../observability-BAScT_5S-gw1ODB_o.mjs";
|
|
3
|
-
import { $ as formatStaleReason, A as checkDocker, B as isServiceSupported, C as createApiNameResolver, D as checkBackgroundService, E as checkAgentConfigs, F as checkWebSocket, H as restartClientService, I as printResults, J as stopPostgres, L as reconcileAgentConfigs, M as checkServerConfig, N as checkServerHealth, O as checkClientConfig, P as checkServerReachable, Q as findStaleAliases, R as getClientServiceStatus, S as runHomeMigration, T as runMigrations, U as startClientService, W as stopClientService, X as handleClientOrgMismatch, Y as ClientRuntime, _ as formatCheckReport, a as declineUpdate, at as success, b as onboardCreate, c as detectInstallMode, ct as FirstTreeHubSDK, d as startServer, dt as cleanWorkspaces, et as removeLocalAgent, f as reconcileLocalRuntimeProviders, ft as probeCapabilities, g as promptMissingFields, h as promptAddAgent, i as createExecuteUpdate, it as fail, j as checkNodeVersion, k as checkDatabase, l as fetchLatestVersion, lt as SdkError, m as isInteractive, mt as configureClientLoggerForService, o as promptUpdate, ot as ClientOrgMismatchError, p as uploadClientCapabilities, pt as applyClientLoggerConfig, r as registerSaaSConnectCommand, rt as resolveReplyToFromEnv, s as PACKAGE_NAME, st as ClientUserMismatchError, tt as createOwner, u as installGlobalLatest, ut as SessionRegistry, v as loadOnboardState, w as migrateLocalAgentDirs, x as saveOnboardState, y as onboardCheck, z as installClientService } from "../saas-connect-
|
|
3
|
+
import { $ as formatStaleReason, A as checkDocker, B as isServiceSupported, C as createApiNameResolver, D as checkBackgroundService, E as checkAgentConfigs, F as checkWebSocket, H as restartClientService, I as printResults, J as stopPostgres, L as reconcileAgentConfigs, M as checkServerConfig, N as checkServerHealth, O as checkClientConfig, P as checkServerReachable, Q as findStaleAliases, R as getClientServiceStatus, S as runHomeMigration, T as runMigrations, U as startClientService, W as stopClientService, X as handleClientOrgMismatch, Y as ClientRuntime, _ as formatCheckReport, a as declineUpdate, at as success, b as onboardCreate, c as detectInstallMode, ct as FirstTreeHubSDK, d as startServer, dt as cleanWorkspaces, et as removeLocalAgent, f as reconcileLocalRuntimeProviders, ft as probeCapabilities, g as promptMissingFields, h as promptAddAgent, i as createExecuteUpdate, it as fail, j as checkNodeVersion, k as checkDatabase, l as fetchLatestVersion, lt as SdkError, m as isInteractive, mt as configureClientLoggerForService, o as promptUpdate, ot as ClientOrgMismatchError, p as uploadClientCapabilities, pt as applyClientLoggerConfig, r as registerSaaSConnectCommand, rt as resolveReplyToFromEnv, s as PACKAGE_NAME, st as ClientUserMismatchError, tt as createOwner, u as installGlobalLatest, ut as SessionRegistry, v as loadOnboardState, w as migrateLocalAgentDirs, x as saveOnboardState, y as onboardCheck, z as installClientService } from "../saas-connect-CVoRK0Ex.mjs";
|
|
4
4
|
import "../logger-core-BTmvdflj-DjW8FM4T.mjs";
|
|
5
|
-
import { C as resetConfigMeta, E as setConfigValue, S as resetConfig, T as serverConfigSchema, _ as getConfigValue, a as ensureFreshAdminToken, c as resolveServerUrl, d as DEFAULT_CONFIG_DIR, f as DEFAULT_DATA_DIR, h as clientConfigSchema, i as ensureFreshAccessToken, l as saveAgentConfig, m as agentConfigSchema, o as loadCredentials, p as DEFAULT_HOME_DIR, u as saveCredentials, v as initConfig, w as resolveConfigReadonly, x as readConfigFile, y as loadAgents } from "../bootstrap-
|
|
5
|
+
import { C as resetConfigMeta, E as setConfigValue, S as resetConfig, T as serverConfigSchema, _ as getConfigValue, a as ensureFreshAdminToken, c as resolveServerUrl, d as DEFAULT_CONFIG_DIR, f as DEFAULT_DATA_DIR, h as clientConfigSchema, i as ensureFreshAccessToken, l as saveAgentConfig, m as agentConfigSchema, o as loadCredentials, p as DEFAULT_HOME_DIR, u as saveCredentials, v as initConfig, w as resolveConfigReadonly, x as readConfigFile, y as loadAgents } from "../bootstrap-D-Yf8yOc.mjs";
|
|
6
6
|
import { a as print, n as CLI_USER_AGENT, o as setJsonMode, r as COMMAND_VERSION, t as cliFetch } from "../cli-fetch--tiwKm5S.mjs";
|
|
7
|
-
import "../dist-
|
|
8
|
-
import { n as bindFeishuUser, t as bindFeishuBot } from "../feishu-
|
|
7
|
+
import "../dist-ClFs4WMj.mjs";
|
|
8
|
+
import { n as bindFeishuUser, t as bindFeishuBot } from "../feishu-AI3pwmqN.mjs";
|
|
9
9
|
import "../errors-BmyRwN0Y-Dad3eV8F.mjs";
|
|
10
|
-
import "../client-CLdRbuml-
|
|
10
|
+
import "../client-CLdRbuml-svTO0Eat.mjs";
|
|
11
11
|
import "../src-aJMV60mR.mjs";
|
|
12
12
|
import "../invitation-Dnn5gGGX-DXryyvRG.mjs";
|
|
13
13
|
import { join } from "node:path";
|
|
@@ -1670,13 +1670,13 @@ function isSecretField(schema, dotPath) {
|
|
|
1670
1670
|
//#region src/commands/onboard.ts
|
|
1671
1671
|
async function promptMissing(args) {
|
|
1672
1672
|
if (!args.server) try {
|
|
1673
|
-
const { resolveServerUrl } = await import("../bootstrap-
|
|
1673
|
+
const { resolveServerUrl } = await import("../bootstrap-D-Yf8yOc.mjs").then((n) => n.r);
|
|
1674
1674
|
resolveServerUrl();
|
|
1675
1675
|
} catch {
|
|
1676
1676
|
args.server = await input({ message: "Hub server URL:" });
|
|
1677
1677
|
saveOnboardState(args);
|
|
1678
1678
|
}
|
|
1679
|
-
const { loadCredentials } = await import("../bootstrap-
|
|
1679
|
+
const { loadCredentials } = await import("../bootstrap-D-Yf8yOc.mjs").then((n) => n.r);
|
|
1680
1680
|
if (!loadCredentials()) throw new Error("No saved credentials. Run `first-tree-hub client connect <server-url>` before onboarding.");
|
|
1681
1681
|
if (!args.id) {
|
|
1682
1682
|
args.id = await input({ message: "Agent ID:" });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { w as clientCapabilitiesSchema } from "./dist-ClFs4WMj.mjs";
|
|
2
2
|
import { a as ConflictError, i as ClientUserMismatchError, l as organizations, n as BadRequestError, s as NotFoundError, u as users } from "./errors-BmyRwN0Y-Dad3eV8F.mjs";
|
|
3
3
|
import { and, eq, inArray, ne, sql } from "drizzle-orm";
|
|
4
4
|
import { index, integer, jsonb, pgTable, text, timestamp, unique } from "drizzle-orm/pg-core";
|
|
@@ -1140,6 +1140,60 @@ const githubDevCallbackQuerySchema = z.object({
|
|
|
1140
1140
|
displayName: z.string().optional(),
|
|
1141
1141
|
next: z.string().max(256).optional()
|
|
1142
1142
|
});
|
|
1143
|
+
/**
|
|
1144
|
+
* Per-organization settings — schemas, namespaces, and the registry that
|
|
1145
|
+
* dispatches `(orgId, namespace)` lookups to the right validator.
|
|
1146
|
+
*
|
|
1147
|
+
* Each namespace has three schemas:
|
|
1148
|
+
* - `storage` — what is persisted in `organization_settings.value`. For
|
|
1149
|
+
* namespaces with secrets, the storage schema names the *cipher* field
|
|
1150
|
+
* (e.g. `webhookSecretCipher`); plaintext never touches the row.
|
|
1151
|
+
* - `input` — what the admin API accepts in PUT bodies. For namespaces
|
|
1152
|
+
* with secrets, `webhookSecret` is plaintext; the service layer
|
|
1153
|
+
* encrypts it before merging into storage.
|
|
1154
|
+
* - `output` — what GET returns. Secrets are replaced by a boolean
|
|
1155
|
+
* `…Configured` flag — plaintext is never echoed.
|
|
1156
|
+
*
|
|
1157
|
+
* Adding a new per-org config group:
|
|
1158
|
+
* 1. Define three schemas (storage / input / output).
|
|
1159
|
+
* 2. Add a key to `ORG_SETTINGS_NAMESPACES`.
|
|
1160
|
+
* 3. Done. No DB migration, no new API route.
|
|
1161
|
+
*/
|
|
1162
|
+
const orgContextTreeStorageSchema = z.object({
|
|
1163
|
+
repo: z.string().url().optional(),
|
|
1164
|
+
branch: z.string().default("main")
|
|
1165
|
+
});
|
|
1166
|
+
const orgContextTreeInputSchema = z.object({
|
|
1167
|
+
repo: z.string().url().min(1).nullish(),
|
|
1168
|
+
branch: z.string().min(1).nullish()
|
|
1169
|
+
});
|
|
1170
|
+
const orgContextTreeOutputSchema = z.object({
|
|
1171
|
+
repo: z.string().optional(),
|
|
1172
|
+
branch: z.string().optional()
|
|
1173
|
+
});
|
|
1174
|
+
const orgGithubIntegrationStorageSchema = z.object({ webhookSecretCipher: z.string().optional() });
|
|
1175
|
+
const orgGithubIntegrationInputSchema = z.object({ webhookSecret: z.string().min(1).nullish() });
|
|
1176
|
+
const orgGithubIntegrationOutputSchema = z.object({
|
|
1177
|
+
webhookSecretConfigured: z.boolean(),
|
|
1178
|
+
webhookUrl: z.string()
|
|
1179
|
+
});
|
|
1180
|
+
const ORG_SETTINGS_NAMESPACES = {
|
|
1181
|
+
context_tree: {
|
|
1182
|
+
storage: orgContextTreeStorageSchema,
|
|
1183
|
+
input: orgContextTreeInputSchema,
|
|
1184
|
+
output: orgContextTreeOutputSchema
|
|
1185
|
+
},
|
|
1186
|
+
github_integration: {
|
|
1187
|
+
storage: orgGithubIntegrationStorageSchema,
|
|
1188
|
+
input: orgGithubIntegrationInputSchema,
|
|
1189
|
+
output: orgGithubIntegrationOutputSchema
|
|
1190
|
+
}
|
|
1191
|
+
};
|
|
1192
|
+
const ORG_SETTINGS_NAMESPACE_KEYS = Object.keys(ORG_SETTINGS_NAMESPACES);
|
|
1193
|
+
z.enum(ORG_SETTINGS_NAMESPACE_KEYS);
|
|
1194
|
+
function isOrgSettingNamespace(value) {
|
|
1195
|
+
return typeof value === "string" && ORG_SETTINGS_NAMESPACE_KEYS.includes(value);
|
|
1196
|
+
}
|
|
1143
1197
|
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
1144
1198
|
z.object({
|
|
1145
1199
|
name: z.string().min(2).max(50).regex(/^[a-z0-9][a-z0-9-]*$/, "Must start with a letter or digit and contain only lowercase alphanumeric and hyphens").refine((v) => !UUID_PATTERN.test(v), "Name must not be a UUID format"),
|
|
@@ -1467,4 +1521,4 @@ z.object({
|
|
|
1467
1521
|
capabilities: serverCapabilitiesSchema.optional()
|
|
1468
1522
|
}).passthrough();
|
|
1469
1523
|
//#endregion
|
|
1470
|
-
export {
|
|
1524
|
+
export { loginSchema as $, createAgentSchema as A, githubCallbackQuerySchema as B, agentTypeSchema as C, updateMemberSchema as Ct, contextTreeSnapshotSchema as D, connectTokenExchangeSchema as E, wsAuthFrameSchema as Et, createTaskSchema as F, inboxDeliverFrameSchema as G, githubStartQuerySchema as H, defaultRuntimeConfigPayload as I, isRedactedEnvValue as J, inboxPollQuerySchema as K, delegateFeishuUserSchema as L, createMeChatSchema as M, createMemberSchema as N, createAdapterConfigSchema as O, createOrgFromMeSchema as P, listMeChatsQuerySchema as Q, dryRunAgentRuntimeConfigSchema as R, agentRuntimeConfigPayloadSchema as S, updateClientCapabilitiesSchema as St, clientRegisterSchema as T, updateTaskStatusSchema as Tt, imageInlineContentSchema as U, githubDevCallbackQuerySchema as V, inboxAckFrameSchema as W, joinByInvitationSchema as X, isReservedAgentName as Y, linkTaskChatSchema as Z, addParticipantSchema as _, taskListQuerySchema as _t, AGENT_STATUSES as a, runtimeStateMessageSchema as at, agentBindRequestSchema as b, updateAgentSchema as bt, DEFAULT_RUNTIME_PROVIDER as c, selfServiceFeishuBotSchema as ct, TASK_CREATOR_TYPES as d, sessionCompletionMessageSchema as dt, messageSourceSchema as et, TASK_HEALTH_SIGNALS as f, sessionEventMessageSchema as ft, addMeChatParticipantsSchema as g, stripCode as gt, WS_AUTH_FRAME_TIMEOUT_MS as h, sessionStateMessageSchema as ht, AGENT_SOURCES as i, refreshTokenSchema as it, createChatSchema as j, createAdapterMappingSchema as k, MENTION_REGEX as l, sendMessageSchema as lt, TASK_TERMINAL_STATUSES as m, sessionReconcileRequestSchema as mt, AGENT_NAME_REGEX as n, paginationQuerySchema as nt, AGENT_TYPES as o, safeRedirectPath as ot, TASK_STATUSES as p, sessionEventSchema as pt, isOrgSettingNamespace as q, AGENT_SELECTOR_HEADER as r, rebindAgentSchema as rt, AGENT_VISIBILITY as s, scanMentionTokens as st, AGENT_BIND_REJECT_REASONS as t, notificationQuerySchema as tt, ORG_SETTINGS_NAMESPACES as u, sendToAgentSchema as ut, adminCreateTaskSchema as v, updateAdapterConfigSchema as vt, clientCapabilitiesSchema as w, updateOrganizationSchema as wt, agentPinnedMessageSchema as x, updateChatSchema as xt, adminUpdateTaskSchema as y, updateAgentRuntimeConfigSchema as yt, extractMentions as z };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
-- Per-organization settings, keyed by (organization_id, namespace).
|
|
2
|
+
--
|
|
3
|
+
-- Each row holds an entire group of related config as a JSONB blob; the
|
|
4
|
+
-- schema for each namespace lives in @agent-team-foundation/first-tree-hub-shared
|
|
5
|
+
-- (ORG_SETTINGS_NAMESPACES) and is enforced by the service layer on every
|
|
6
|
+
-- read/write. Adding a new config group means registering a new namespace +
|
|
7
|
+
-- Zod schema in shared — the DB does not change.
|
|
8
|
+
--
|
|
9
|
+
-- `version` is reserved for future optimistic locking (PUT with If-Match).
|
|
10
|
+
-- We keep the column from day one so tightening to compare-and-swap later
|
|
11
|
+
-- is a code-only change with no migration.
|
|
12
|
+
--
|
|
13
|
+
-- Sensitive fields inside `value` (e.g. github_integration.webhookSecret)
|
|
14
|
+
-- are AES-256-GCM-encrypted at the service layer using crypto.ts's
|
|
15
|
+
-- encryptValue / decryptValue — same pattern as adapter_configs.
|
|
16
|
+
--
|
|
17
|
+
-- ON DELETE CASCADE on organization_id: settings have no independent
|
|
18
|
+
-- lifecycle, deleting an org must drop them. updated_by is SET NULL so a
|
|
19
|
+
-- user deletion does not cascade-clobber unrelated config rows.
|
|
20
|
+
|
|
21
|
+
CREATE TABLE IF NOT EXISTS "organization_settings" (
|
|
22
|
+
"organization_id" text NOT NULL,
|
|
23
|
+
"namespace" text NOT NULL,
|
|
24
|
+
"value" jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
25
|
+
"version" integer NOT NULL DEFAULT 0,
|
|
26
|
+
"updated_by" text,
|
|
27
|
+
"updated_at" timestamp with time zone NOT NULL DEFAULT now(),
|
|
28
|
+
CONSTRAINT "organization_settings_pkey" PRIMARY KEY ("organization_id", "namespace"),
|
|
29
|
+
CONSTRAINT "organization_settings_organization_id_organizations_id_fk"
|
|
30
|
+
FOREIGN KEY ("organization_id") REFERENCES "organizations"("id") ON DELETE CASCADE,
|
|
31
|
+
CONSTRAINT "organization_settings_updated_by_users_id_fk"
|
|
32
|
+
FOREIGN KEY ("updated_by") REFERENCES "users"("id") ON DELETE SET NULL
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
CREATE INDEX IF NOT EXISTS "idx_org_settings_namespace"
|
|
36
|
+
ON "organization_settings" ("namespace");
|
|
@@ -225,6 +225,13 @@
|
|
|
225
225
|
"when": 1777939200000,
|
|
226
226
|
"tag": "0031_drop_system_configs",
|
|
227
227
|
"breakpoints": true
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"idx": 32,
|
|
231
|
+
"version": "7",
|
|
232
|
+
"when": 1778198400000,
|
|
233
|
+
"tag": "0032_organization_settings",
|
|
234
|
+
"breakpoints": true
|
|
228
235
|
}
|
|
229
236
|
]
|
|
230
|
-
}
|
|
237
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as __exportAll } from "./chunk-BSw8zbkd.mjs";
|
|
2
2
|
import { t as cliFetch } from "./cli-fetch--tiwKm5S.mjs";
|
|
3
|
-
import { r as AGENT_SELECTOR_HEADER } from "./dist-
|
|
3
|
+
import { r as AGENT_SELECTOR_HEADER } from "./dist-ClFs4WMj.mjs";
|
|
4
4
|
//#region src/core/feishu.ts
|
|
5
5
|
var feishu_exports = /* @__PURE__ */ __exportAll({
|
|
6
6
|
bindFeishuBot: () => bindFeishuBot,
|
package/dist/index.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "./observability-BAScT_5S-gw1ODB_o.mjs";
|
|
2
|
-
import { A as checkDocker, B as isServiceSupported, E as checkAgentConfigs, F as checkWebSocket, G as uninstallClientService, H as restartClientService, I as printResults, J as stopPostgres, K as ensurePostgres, M as checkServerConfig, N as checkServerHealth, O as checkClientConfig, P as checkServerReachable, R as getClientServiceStatus, S as runHomeMigration, T as runMigrations, U as startClientService, V as resolveCliInvocation, W as stopClientService, X as handleClientOrgMismatch, Y as ClientRuntime, Z as rotateClientIdWithBackup, _ as formatCheckReport, b as onboardCreate, ct as FirstTreeHubSDK, d as startServer, g as promptMissingFields, h as promptAddAgent, j as checkNodeVersion, k as checkDatabase, lt as SdkError, m as isInteractive, n as deriveHubUrlFromToken, nt as hasUser, q as isDockerAvailable, t as HubUrlDerivationError, tt as createOwner, y as onboardCheck, z as installClientService } from "./saas-connect-
|
|
2
|
+
import { A as checkDocker, B as isServiceSupported, E as checkAgentConfigs, F as checkWebSocket, G as uninstallClientService, H as restartClientService, I as printResults, J as stopPostgres, K as ensurePostgres, M as checkServerConfig, N as checkServerHealth, O as checkClientConfig, P as checkServerReachable, R as getClientServiceStatus, S as runHomeMigration, T as runMigrations, U as startClientService, V as resolveCliInvocation, W as stopClientService, X as handleClientOrgMismatch, Y as ClientRuntime, Z as rotateClientIdWithBackup, _ as formatCheckReport, b as onboardCreate, ct as FirstTreeHubSDK, d as startServer, g as promptMissingFields, h as promptAddAgent, j as checkNodeVersion, k as checkDatabase, lt as SdkError, m as isInteractive, n as deriveHubUrlFromToken, nt as hasUser, q as isDockerAvailable, t as HubUrlDerivationError, tt as createOwner, y as onboardCheck, z as installClientService } from "./saas-connect-CVoRK0Ex.mjs";
|
|
3
3
|
import "./logger-core-BTmvdflj-DjW8FM4T.mjs";
|
|
4
|
-
import { a as ensureFreshAdminToken, c as resolveServerUrl, i as ensureFreshAccessToken, n as AuthRefreshRateLimitedError, s as resolveAccessToken, t as AuthRefreshFailedError } from "./bootstrap-
|
|
4
|
+
import { a as ensureFreshAdminToken, c as resolveServerUrl, i as ensureFreshAccessToken, n as AuthRefreshRateLimitedError, s as resolveAccessToken, t as AuthRefreshFailedError } from "./bootstrap-D-Yf8yOc.mjs";
|
|
5
5
|
import { i as blank, s as status } from "./cli-fetch--tiwKm5S.mjs";
|
|
6
|
-
import "./dist-
|
|
7
|
-
import { n as bindFeishuUser, t as bindFeishuBot } from "./feishu-
|
|
6
|
+
import "./dist-ClFs4WMj.mjs";
|
|
7
|
+
import { n as bindFeishuUser, t as bindFeishuBot } from "./feishu-AI3pwmqN.mjs";
|
|
8
8
|
import "./errors-BmyRwN0Y-Dad3eV8F.mjs";
|
|
9
|
-
import "./client-CLdRbuml-
|
|
9
|
+
import "./client-CLdRbuml-svTO0Eat.mjs";
|
|
10
10
|
import "./src-aJMV60mR.mjs";
|
|
11
11
|
import "./invitation-Dnn5gGGX-DXryyvRG.mjs";
|
|
12
12
|
export { AuthRefreshFailedError, AuthRefreshRateLimitedError, ClientRuntime, FirstTreeHubSDK, HubUrlDerivationError, SdkError, bindFeishuBot, bindFeishuUser, blank, checkAgentConfigs, checkClientConfig, checkDatabase, checkDocker, checkNodeVersion, checkServerConfig, checkServerHealth, checkServerReachable, checkWebSocket, createOwner, deriveHubUrlFromToken, ensureFreshAccessToken, ensureFreshAdminToken, ensurePostgres, formatCheckReport, getClientServiceStatus, handleClientOrgMismatch, hasUser, installClientService, isDockerAvailable, isInteractive, isServiceSupported, onboardCheck, onboardCreate, printResults, promptAddAgent, promptMissingFields, resolveAccessToken, resolveCliInvocation, resolveServerUrl, restartClientService, rotateClientIdWithBackup, runHomeMigration, runMigrations, startClientService, startServer, status, stopClientService, stopPostgres, uninstallClientService };
|