@sideboard-ai/core 0.1.328 → 0.1.330
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/{abletime-OW7LTFQD.js → abletime-5FBKBO3R.js} +4 -4
- package/dist/{abletime-NW4PJGHN.js → abletime-SO2YHMEI.js} +4 -4
- package/dist/{abletime-oauth-TPR2QDRI.js → abletime-oauth-EUC5FFMD.js} +5 -5
- package/dist/{abletime-oauth-KWQQRHOQ.js → abletime-oauth-I34WZZZL.js} +3 -3
- package/dist/{abletime-rest-5DCWN3P4.js → abletime-rest-EI5ZJ72Z.js} +3 -3
- package/dist/{abletime-rest-UJ6SXDBN.js → abletime-rest-HEQXSZAQ.js} +3 -3
- package/dist/{agents-XWIPONJR.js → agents-JH4WV2ZH.js} +7 -7
- package/dist/{agents-IYBY3JT5.js → agents-JXQKHY7Q.js} +7 -7
- package/dist/{app-settings-A5D364JD.js → app-settings-JAEV53LB.js} +1 -1
- package/dist/{app-settings-SA4HX3ZQ.js → app-settings-SHZWNJBV.js} +1 -1
- package/dist/{chunk-TUH4ICHQ.js → chunk-277I5IBI.js} +1 -1
- package/dist/{chunk-QMLDR63X.js → chunk-3DJQLQWU.js} +2 -2
- package/dist/{chunk-EJRCHCXM.js → chunk-7BAS6DF7.js} +2 -1
- package/dist/{chunk-ECY7WL6T.js → chunk-7L36GZA4.js} +2 -2
- package/dist/{chunk-SFXGD5KJ.js → chunk-7MPRTC6X.js} +1 -1
- package/dist/{chunk-ZPBOWO64.js → chunk-BAIPCN34.js} +2 -2
- package/dist/{chunk-SB5ADEZZ.js → chunk-D6V6F74A.js} +5 -5
- package/dist/{chunk-MO46K6WK.js → chunk-DBRQ5NNB.js} +8 -8
- package/dist/{chunk-NQGLDQYB.js → chunk-DFKLWWLY.js} +7 -7
- package/dist/{chunk-XOMVOBPU.js → chunk-E6LONPQH.js} +20 -20
- package/dist/{chunk-5Y2C7Q55.js → chunk-EW5D53VB.js} +1 -1
- package/dist/{chunk-D446IWPP.js → chunk-EY5BJAPV.js} +2 -1
- package/dist/{chunk-XBBZZHJY.js → chunk-F4OUZDIB.js} +5 -5
- package/dist/{chunk-Q4UPRQOS.js → chunk-G45SGI57.js} +3 -3
- package/dist/{chunk-WD222BVP.js → chunk-HCK3UCBJ.js} +21 -21
- package/dist/{chunk-EUIVQAPK.js → chunk-HJIA4X3L.js} +2 -2
- package/dist/{chunk-4F7THWIO.js → chunk-JQWCZGSO.js} +2 -2
- package/dist/{chunk-X3XTO45Y.js → chunk-KUD24QYI.js} +5 -5
- package/dist/{chunk-4G3W23X3.js → chunk-MXQ66CLO.js} +3 -3
- package/dist/{chunk-UMXBH344.js → chunk-NCFYUUSC.js} +1 -1
- package/dist/{chunk-2GEUFPQQ.js → chunk-NQHTYX35.js} +1 -1
- package/dist/{chunk-RDXODLEN.js → chunk-O7JSWISN.js} +3 -3
- package/dist/{chunk-R2C45NHT.js → chunk-P4QRDXRY.js} +2 -2
- package/dist/{chunk-EYDLXVED.js → chunk-PZ5MVD27.js} +5 -5
- package/dist/{chunk-Y6OHM672.js → chunk-QVLDZWHZ.js} +1 -1
- package/dist/{chunk-DACWFN4O.js → chunk-SKPX66MO.js} +5 -5
- package/dist/{chunk-JKHCADKB.js → chunk-U7EANR52.js} +2 -2
- package/dist/{chunk-KLVW3J2B.js → chunk-XOIJJRAQ.js} +2 -2
- package/dist/{chunk-CHYUUETG.js → chunk-YMV5O7KY.js} +3 -3
- package/dist/{chunk-ATQLP22S.js → chunk-ZT5YPYZE.js} +1 -1
- package/dist/{conductor-U5LGJZUJ.js → conductor-6DIR7A4N.js} +5 -5
- package/dist/{conductor-G6GH5ZMU.js → conductor-FA27ZGCV.js} +5 -5
- package/dist/{coordinator-prompt-J7O7JB26.js → coordinator-prompt-B6RHGEJK.js} +4 -4
- package/dist/{coordinator-prompt-3PJLU3UH.js → coordinator-prompt-KAZXK5FZ.js} +4 -4
- package/dist/{global-workspace-Y3UDZYJX.js → global-workspace-IOKHZCXD.js} +4 -4
- package/dist/{global-workspace-4CTLU2BV.js → global-workspace-JKINHUY3.js} +4 -4
- package/dist/index.cjs +9 -6
- package/dist/index.d.cts +12 -9
- package/dist/index.d.ts +12 -9
- package/dist/index.js +26 -24
- package/dist/{linear-CXWGH2TW.js → linear-7HSIGV5S.js} +2 -2
- package/dist/{linear-WLDCJ3AF.js → linear-FRJRK6KI.js} +2 -2
- package/dist/{linear-list-52LEDEWO.js → linear-list-I6DNJC6V.js} +1 -1
- package/dist/{linear-list-FGVN65JU.js → linear-list-LDMBSKYI.js} +1 -1
- package/dist/mcp/run-stdio.cjs +4 -3
- package/dist/mcp/run-stdio.js +16 -16
- package/dist/{optional-cli-INRVBBBG.js → optional-cli-FOSC4NVE.js} +3 -3
- package/dist/{optional-cli-FN4MGB6W.js → optional-cli-NSQZ2DYK.js} +4 -4
- package/dist/{orchestrator-YY2JUYKD.js → orchestrator-LI6EBD2Y.js} +10 -10
- package/dist/{orchestrator-3F53AZEN.js → orchestrator-V35TLMXB.js} +10 -10
- package/dist/{thread-store-K2ZNGUSM.js → thread-store-NVFWKJFH.js} +2 -2
- package/dist/{thread-store-4WE24XA2.js → thread-store-PCIMS6RA.js} +2 -2
- package/dist/{workspaces-MM7CQYR6.js → workspaces-FJL3TL3K.js} +4 -4
- package/dist/{workspaces-WYCVZ6XH.js → workspaces-OLONQF2C.js} +4 -4
- package/dist/{worktree-JBNEMJ5Z.js → worktree-QSQJ2POO.js} +3 -3
- package/dist/{worktree-NNVRGPP4.js → worktree-TX4WXQZV.js} +3 -3
- package/package.json +1 -1
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
enrichWorkspacesWithGithub,
|
|
10
10
|
ensureGlobalCoordinatorCwd,
|
|
11
11
|
formatWorkspaceInventory
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-G45SGI57.js";
|
|
13
|
+
import "./chunk-U7EANR52.js";
|
|
14
14
|
import "./chunk-N2WW62LF.js";
|
|
15
15
|
import "./chunk-4YXZOXMT.js";
|
|
16
16
|
import "./chunk-YBTSZ2SW.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-EW5D53VB.js";
|
|
18
18
|
import "./chunk-WMZIANPV.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-7BAS6DF7.js";
|
|
20
20
|
import "./chunk-NSTQ6QKD.js";
|
|
21
21
|
import "./chunk-WWUABK6B.js";
|
|
22
22
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -7,15 +7,15 @@ import {
|
|
|
7
7
|
enrichWorkspacesWithGithub,
|
|
8
8
|
ensureGlobalCoordinatorCwd,
|
|
9
9
|
formatWorkspaceInventory
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-O7JSWISN.js";
|
|
11
|
+
import "./chunk-P4QRDXRY.js";
|
|
12
|
+
import "./chunk-QVLDZWHZ.js";
|
|
13
13
|
import "./chunk-QKHEVSB5.js";
|
|
14
14
|
import "./chunk-N6ZF3XRP.js";
|
|
15
15
|
import "./chunk-6K64FJDD.js";
|
|
16
16
|
import "./chunk-LG6RJBIY.js";
|
|
17
17
|
import "./chunk-2TUE6JKQ.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-EY5BJAPV.js";
|
|
19
19
|
import "./chunk-4TR3HZFT.js";
|
|
20
20
|
import "./chunk-WDRMZKVB.js";
|
|
21
21
|
import "./chunk-KI45T4DI.js";
|
|
@@ -20,14 +20,14 @@ import {
|
|
|
20
20
|
remoteCoordinatorSourceRef,
|
|
21
21
|
slackCoordinatorSourceRef,
|
|
22
22
|
takenTeamSlugsForOrchestration
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
} from "./chunk-G45SGI57.js";
|
|
24
|
+
import "./chunk-U7EANR52.js";
|
|
25
25
|
import "./chunk-N2WW62LF.js";
|
|
26
26
|
import "./chunk-4YXZOXMT.js";
|
|
27
27
|
import "./chunk-YBTSZ2SW.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-EW5D53VB.js";
|
|
29
29
|
import "./chunk-WMZIANPV.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-7BAS6DF7.js";
|
|
31
31
|
import "./chunk-NSTQ6QKD.js";
|
|
32
32
|
import "./chunk-WWUABK6B.js";
|
|
33
33
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -18,15 +18,15 @@ import {
|
|
|
18
18
|
remoteCoordinatorSourceRef,
|
|
19
19
|
slackCoordinatorSourceRef,
|
|
20
20
|
takenTeamSlugsForOrchestration
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-O7JSWISN.js";
|
|
22
|
+
import "./chunk-P4QRDXRY.js";
|
|
23
|
+
import "./chunk-QVLDZWHZ.js";
|
|
24
24
|
import "./chunk-QKHEVSB5.js";
|
|
25
25
|
import "./chunk-N6ZF3XRP.js";
|
|
26
26
|
import "./chunk-6K64FJDD.js";
|
|
27
27
|
import "./chunk-LG6RJBIY.js";
|
|
28
28
|
import "./chunk-2TUE6JKQ.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-EY5BJAPV.js";
|
|
30
30
|
import "./chunk-4TR3HZFT.js";
|
|
31
31
|
import "./chunk-WDRMZKVB.js";
|
|
32
32
|
import "./chunk-KI45T4DI.js";
|
package/dist/index.cjs
CHANGED
|
@@ -1232,6 +1232,7 @@ function normalizeRemoteRelayUrl(raw) {
|
|
|
1232
1232
|
url.pathname = REMOTE_RELAY_PATH;
|
|
1233
1233
|
url.search = "";
|
|
1234
1234
|
url.hash = "";
|
|
1235
|
+
if (url.hostname === "relay.sideboard.cloud") url.hostname = "relay.sideboard.build";
|
|
1235
1236
|
return url.toString();
|
|
1236
1237
|
}
|
|
1237
1238
|
function remoteRelayUrl(configured) {
|
|
@@ -1435,7 +1436,7 @@ var init_protocol = __esm({
|
|
|
1435
1436
|
REMOTE_RELAY_PATH = "/remote";
|
|
1436
1437
|
REMOTE_PING_INTERVAL_MS = 2e4;
|
|
1437
1438
|
REMOTE_PONG_TIMEOUT_MS = 15e3;
|
|
1438
|
-
BAKED_REMOTE_RELAY_URL = `wss://relay.sideboard.
|
|
1439
|
+
BAKED_REMOTE_RELAY_URL = `wss://relay.sideboard.build${REMOTE_RELAY_PATH}`;
|
|
1439
1440
|
}
|
|
1440
1441
|
});
|
|
1441
1442
|
|
|
@@ -26500,9 +26501,9 @@ var init_abletime_oauth = __esm({
|
|
|
26500
26501
|
ABLETIME_OAUTH_CALLBACK_PATH = "/oauth/abletime/callback";
|
|
26501
26502
|
ABLETIME_OAUTH_PORT = 19849;
|
|
26502
26503
|
ABLETIME_OAUTH_LOCAL_CALLBACK = `http://127.0.0.1:${ABLETIME_OAUTH_PORT}/callback`;
|
|
26503
|
-
ABLETIME_OAUTH_REDIRECT = `https://www.sideboard.
|
|
26504
|
+
ABLETIME_OAUTH_REDIRECT = `https://www.sideboard.build${ABLETIME_OAUTH_CALLBACK_PATH}`;
|
|
26504
26505
|
BOUNCE_QUERY_KEYS = ["code", "state", "error", "error_description"];
|
|
26505
|
-
BAKED_ABLETIME_OAUTH_CLIENT_ID = "https://www.sideboard.
|
|
26506
|
+
BAKED_ABLETIME_OAUTH_CLIENT_ID = "https://www.sideboard.build/oauth/abletime-client.json";
|
|
26506
26507
|
ABLETIME_OAUTH_RESOURCE = `${DEFAULT_ABLETIME_HOST}/api/public/v2/mcp`;
|
|
26507
26508
|
REFRESH_SKEW_MS3 = 5 * 6e4;
|
|
26508
26509
|
refreshInFlight3 = null;
|
|
@@ -40934,7 +40935,7 @@ var SLACK_OAUTH_RESULT_PATH = "/slack/oauth/result";
|
|
|
40934
40935
|
var SLACK_RELAY_DESKTOP_PATH = "/slack/desktop";
|
|
40935
40936
|
var SLACK_OAUTH_LOCAL_PORT = 19847;
|
|
40936
40937
|
var SLACK_OAUTH_LOCAL_CALLBACK = `http://127.0.0.1:${SLACK_OAUTH_LOCAL_PORT}${SLACK_OAUTH_CALLBACK_PATH}`;
|
|
40937
|
-
var SLACK_OAUTH_REDIRECT = `https://relay.sideboard.
|
|
40938
|
+
var SLACK_OAUTH_REDIRECT = `https://relay.sideboard.build${SLACK_OAUTH_CALLBACK_PATH}`;
|
|
40938
40939
|
function slackOAuthRedirectUri() {
|
|
40939
40940
|
return process.env.SIDEBOARD_SLACK_OAUTH_REDIRECT?.trim() || SLACK_OAUTH_REDIRECT;
|
|
40940
40941
|
}
|
|
@@ -40969,7 +40970,7 @@ function parseSlackOAuthResultUrl(reqUrl) {
|
|
|
40969
40970
|
|
|
40970
40971
|
// src/slack/baked-app.ts
|
|
40971
40972
|
var BAKED_SLACK_CLIENT_ID = "7592788819232.11813536272562";
|
|
40972
|
-
var BAKED_SLACK_RELAY_URL = "wss://relay.sideboard.
|
|
40973
|
+
var BAKED_SLACK_RELAY_URL = "wss://relay.sideboard.build/slack/desktop";
|
|
40973
40974
|
function hasBakedSlackOAuth() {
|
|
40974
40975
|
return Boolean(BAKED_SLACK_CLIENT_ID.trim());
|
|
40975
40976
|
}
|
|
@@ -43197,7 +43198,9 @@ async function startRelayServer(opts) {
|
|
|
43197
43198
|
}
|
|
43198
43199
|
const hostname2 = requestHostname(req);
|
|
43199
43200
|
const canonical = (opts.canonicalSiteHost ?? "www.sideboard.cloud").toLowerCase();
|
|
43200
|
-
|
|
43201
|
+
const staticHosts = opts.staticHosts ?? [];
|
|
43202
|
+
const servesSite = staticHosts.length > 0 && staticHosts.includes(hostname2);
|
|
43203
|
+
if (opts.redirectHosts?.includes(hostname2) && hostname2 !== canonical && !servesSite) {
|
|
43201
43204
|
res.writeHead(301, { Location: `https://${canonical}${reqUrl}` });
|
|
43202
43205
|
res.end();
|
|
43203
43206
|
return;
|
package/dist/index.d.cts
CHANGED
|
@@ -3523,7 +3523,7 @@ declare const ABLETIME_OAUTH_PORT = 19849;
|
|
|
3523
3523
|
/** Local listener the marketing-site bounce sends the browser to. */
|
|
3524
3524
|
declare const ABLETIME_OAUTH_LOCAL_CALLBACK = "http://127.0.0.1:19849/callback";
|
|
3525
3525
|
/** Registered redirect — must match `site/oauth/abletime-client.json` redirect_uris. */
|
|
3526
|
-
declare const ABLETIME_OAUTH_REDIRECT = "https://www.sideboard.
|
|
3526
|
+
declare const ABLETIME_OAUTH_REDIRECT = "https://www.sideboard.build/oauth/abletime/callback";
|
|
3527
3527
|
declare function ableTimeOAuthRedirectUri(): string;
|
|
3528
3528
|
declare function parseAbleTimeOAuthCallbackUrl(reqUrl: string): URL | null;
|
|
3529
3529
|
/** Map the hosted callback onto the desktop listener (query: code / state / error). */
|
|
@@ -3531,7 +3531,7 @@ declare function ableTimeOAuthLocalBounceUrl(reqUrl: string): string | null;
|
|
|
3531
3531
|
/** Marketing-site page that immediately opens the desktop listener. */
|
|
3532
3532
|
declare function ableTimeOAuthBouncePage(localUrl: string): string;
|
|
3533
3533
|
/** Client ID Metadata Document (AbleTime advertises CIMD, not DCR). */
|
|
3534
|
-
declare const BAKED_ABLETIME_OAUTH_CLIENT_ID = "https://www.sideboard.
|
|
3534
|
+
declare const BAKED_ABLETIME_OAUTH_CLIENT_ID = "https://www.sideboard.build/oauth/abletime-client.json";
|
|
3535
3535
|
declare const ABLETIME_OAUTH_RESOURCE = "https://track.abletime.com/api/public/v2/mcp";
|
|
3536
3536
|
declare function hasBakedAbleTimeOAuth(): boolean;
|
|
3537
3537
|
declare function ableTimeOAuthClientId(): string;
|
|
@@ -8340,7 +8340,7 @@ declare function closeMcpUiHost(): void;
|
|
|
8340
8340
|
declare function stashMcpAppModelContext(threadId: string, text: string): void;
|
|
8341
8341
|
|
|
8342
8342
|
/** Public WebSocket URL for Slack desktops on the hosted relay (path included). */
|
|
8343
|
-
declare const BAKED_SLACK_RELAY_URL = "wss://relay.sideboard.
|
|
8343
|
+
declare const BAKED_SLACK_RELAY_URL = "wss://relay.sideboard.build/slack/desktop";
|
|
8344
8344
|
declare function hasBakedSlackOAuth(): boolean;
|
|
8345
8345
|
/**
|
|
8346
8346
|
* WebSocket URL for this Mac's Slack desktop session on the relay.
|
|
@@ -8348,7 +8348,7 @@ declare function hasBakedSlackOAuth(): boolean;
|
|
|
8348
8348
|
*/
|
|
8349
8349
|
declare function slackRelayUrl(): string;
|
|
8350
8350
|
|
|
8351
|
-
declare const SLACK_OAUTH_REDIRECT = "https://relay.sideboard.
|
|
8351
|
+
declare const SLACK_OAUTH_REDIRECT = "https://relay.sideboard.build/slack/callback";
|
|
8352
8352
|
|
|
8353
8353
|
declare function slackOAuthResultUrl(state: string, relayWsUrl?: string): string;
|
|
8354
8354
|
|
|
@@ -8612,7 +8612,7 @@ declare function runRemoteHost(opts: RemoteHostClientOptions): RemoteHostHandle;
|
|
|
8612
8612
|
|
|
8613
8613
|
/** Phone ↔ relay ↔ Mac. Message text only. The Mac runs the orchestrator. */
|
|
8614
8614
|
declare const REMOTE_RELAY_PATH = "/remote";
|
|
8615
|
-
declare const BAKED_REMOTE_RELAY_URL = "wss://relay.sideboard.
|
|
8615
|
+
declare const BAKED_REMOTE_RELAY_URL = "wss://relay.sideboard.build/remote";
|
|
8616
8616
|
/**
|
|
8617
8617
|
* `wss://host/remote`, or `ws://` for a local relay.
|
|
8618
8618
|
* `https://host` and a host with no path become that WebSocket URL.
|
|
@@ -8718,7 +8718,7 @@ declare function handleRemoteInbound(text: string, opts: {
|
|
|
8718
8718
|
}): void;
|
|
8719
8719
|
|
|
8720
8720
|
declare function isRemoteAccountLoginCancelled(err: unknown): boolean;
|
|
8721
|
-
/** `wss://relay.sideboard.
|
|
8721
|
+
/** `wss://relay.sideboard.build/remote` → `https://relay.sideboard.build`. */
|
|
8722
8722
|
declare function remoteAccountHttpOrigin(wsUrl?: string): string;
|
|
8723
8723
|
type RemoteAccountSession = {
|
|
8724
8724
|
credential: string;
|
|
@@ -8881,7 +8881,10 @@ interface RelayServerOptions {
|
|
|
8881
8881
|
staticRoot?: string;
|
|
8882
8882
|
/** Hostnames that get the marketing site (e.g. `www.sideboard.cloud`). Empty = any host. */
|
|
8883
8883
|
staticHosts?: string[];
|
|
8884
|
-
/**
|
|
8884
|
+
/**
|
|
8885
|
+
* Apex (or aliases) that 301 to `canonicalSiteHost`.
|
|
8886
|
+
* A host listed in `staticHosts` is served instead, so both names can stay up.
|
|
8887
|
+
*/
|
|
8885
8888
|
redirectHosts?: string[];
|
|
8886
8889
|
/** Canonical public site host (default `www.sideboard.cloud`). */
|
|
8887
8890
|
canonicalSiteHost?: string;
|
|
@@ -8892,7 +8895,7 @@ interface RelayServerOptions {
|
|
|
8892
8895
|
accountsPath?: string;
|
|
8893
8896
|
/** Git-host OAuth clients. Secrets stay on the relay. */
|
|
8894
8897
|
relayOAuth?: RelayOAuthConfig;
|
|
8895
|
-
/** Public origin for OAuth redirects, e.g. `https://relay.sideboard.
|
|
8898
|
+
/** Public origin for OAuth redirects, e.g. `https://relay.sideboard.build`. */
|
|
8896
8899
|
relayPublicOrigin?: string;
|
|
8897
8900
|
}
|
|
8898
8901
|
interface RelayServerHandle {
|
|
@@ -8917,7 +8920,7 @@ interface SlackRelayRegisterWorkspace {
|
|
|
8917
8920
|
userToken: string;
|
|
8918
8921
|
}
|
|
8919
8922
|
interface SlackRelayClientOptions {
|
|
8920
|
-
/** Full WebSocket URL including path, e.g. wss://relay.sideboard.
|
|
8923
|
+
/** Full WebSocket URL including path, e.g. wss://relay.sideboard.build/slack/desktop */
|
|
8921
8924
|
url: string;
|
|
8922
8925
|
workspaces: SlackRelayRegisterWorkspace[];
|
|
8923
8926
|
/** Stable per-Mac destination id. */
|
package/dist/index.d.ts
CHANGED
|
@@ -3523,7 +3523,7 @@ declare const ABLETIME_OAUTH_PORT = 19849;
|
|
|
3523
3523
|
/** Local listener the marketing-site bounce sends the browser to. */
|
|
3524
3524
|
declare const ABLETIME_OAUTH_LOCAL_CALLBACK = "http://127.0.0.1:19849/callback";
|
|
3525
3525
|
/** Registered redirect — must match `site/oauth/abletime-client.json` redirect_uris. */
|
|
3526
|
-
declare const ABLETIME_OAUTH_REDIRECT = "https://www.sideboard.
|
|
3526
|
+
declare const ABLETIME_OAUTH_REDIRECT = "https://www.sideboard.build/oauth/abletime/callback";
|
|
3527
3527
|
declare function ableTimeOAuthRedirectUri(): string;
|
|
3528
3528
|
declare function parseAbleTimeOAuthCallbackUrl(reqUrl: string): URL | null;
|
|
3529
3529
|
/** Map the hosted callback onto the desktop listener (query: code / state / error). */
|
|
@@ -3531,7 +3531,7 @@ declare function ableTimeOAuthLocalBounceUrl(reqUrl: string): string | null;
|
|
|
3531
3531
|
/** Marketing-site page that immediately opens the desktop listener. */
|
|
3532
3532
|
declare function ableTimeOAuthBouncePage(localUrl: string): string;
|
|
3533
3533
|
/** Client ID Metadata Document (AbleTime advertises CIMD, not DCR). */
|
|
3534
|
-
declare const BAKED_ABLETIME_OAUTH_CLIENT_ID = "https://www.sideboard.
|
|
3534
|
+
declare const BAKED_ABLETIME_OAUTH_CLIENT_ID = "https://www.sideboard.build/oauth/abletime-client.json";
|
|
3535
3535
|
declare const ABLETIME_OAUTH_RESOURCE = "https://track.abletime.com/api/public/v2/mcp";
|
|
3536
3536
|
declare function hasBakedAbleTimeOAuth(): boolean;
|
|
3537
3537
|
declare function ableTimeOAuthClientId(): string;
|
|
@@ -8340,7 +8340,7 @@ declare function closeMcpUiHost(): void;
|
|
|
8340
8340
|
declare function stashMcpAppModelContext(threadId: string, text: string): void;
|
|
8341
8341
|
|
|
8342
8342
|
/** Public WebSocket URL for Slack desktops on the hosted relay (path included). */
|
|
8343
|
-
declare const BAKED_SLACK_RELAY_URL = "wss://relay.sideboard.
|
|
8343
|
+
declare const BAKED_SLACK_RELAY_URL = "wss://relay.sideboard.build/slack/desktop";
|
|
8344
8344
|
declare function hasBakedSlackOAuth(): boolean;
|
|
8345
8345
|
/**
|
|
8346
8346
|
* WebSocket URL for this Mac's Slack desktop session on the relay.
|
|
@@ -8348,7 +8348,7 @@ declare function hasBakedSlackOAuth(): boolean;
|
|
|
8348
8348
|
*/
|
|
8349
8349
|
declare function slackRelayUrl(): string;
|
|
8350
8350
|
|
|
8351
|
-
declare const SLACK_OAUTH_REDIRECT = "https://relay.sideboard.
|
|
8351
|
+
declare const SLACK_OAUTH_REDIRECT = "https://relay.sideboard.build/slack/callback";
|
|
8352
8352
|
|
|
8353
8353
|
declare function slackOAuthResultUrl(state: string, relayWsUrl?: string): string;
|
|
8354
8354
|
|
|
@@ -8612,7 +8612,7 @@ declare function runRemoteHost(opts: RemoteHostClientOptions): RemoteHostHandle;
|
|
|
8612
8612
|
|
|
8613
8613
|
/** Phone ↔ relay ↔ Mac. Message text only. The Mac runs the orchestrator. */
|
|
8614
8614
|
declare const REMOTE_RELAY_PATH = "/remote";
|
|
8615
|
-
declare const BAKED_REMOTE_RELAY_URL = "wss://relay.sideboard.
|
|
8615
|
+
declare const BAKED_REMOTE_RELAY_URL = "wss://relay.sideboard.build/remote";
|
|
8616
8616
|
/**
|
|
8617
8617
|
* `wss://host/remote`, or `ws://` for a local relay.
|
|
8618
8618
|
* `https://host` and a host with no path become that WebSocket URL.
|
|
@@ -8718,7 +8718,7 @@ declare function handleRemoteInbound(text: string, opts: {
|
|
|
8718
8718
|
}): void;
|
|
8719
8719
|
|
|
8720
8720
|
declare function isRemoteAccountLoginCancelled(err: unknown): boolean;
|
|
8721
|
-
/** `wss://relay.sideboard.
|
|
8721
|
+
/** `wss://relay.sideboard.build/remote` → `https://relay.sideboard.build`. */
|
|
8722
8722
|
declare function remoteAccountHttpOrigin(wsUrl?: string): string;
|
|
8723
8723
|
type RemoteAccountSession = {
|
|
8724
8724
|
credential: string;
|
|
@@ -8881,7 +8881,10 @@ interface RelayServerOptions {
|
|
|
8881
8881
|
staticRoot?: string;
|
|
8882
8882
|
/** Hostnames that get the marketing site (e.g. `www.sideboard.cloud`). Empty = any host. */
|
|
8883
8883
|
staticHosts?: string[];
|
|
8884
|
-
/**
|
|
8884
|
+
/**
|
|
8885
|
+
* Apex (or aliases) that 301 to `canonicalSiteHost`.
|
|
8886
|
+
* A host listed in `staticHosts` is served instead, so both names can stay up.
|
|
8887
|
+
*/
|
|
8885
8888
|
redirectHosts?: string[];
|
|
8886
8889
|
/** Canonical public site host (default `www.sideboard.cloud`). */
|
|
8887
8890
|
canonicalSiteHost?: string;
|
|
@@ -8892,7 +8895,7 @@ interface RelayServerOptions {
|
|
|
8892
8895
|
accountsPath?: string;
|
|
8893
8896
|
/** Git-host OAuth clients. Secrets stay on the relay. */
|
|
8894
8897
|
relayOAuth?: RelayOAuthConfig;
|
|
8895
|
-
/** Public origin for OAuth redirects, e.g. `https://relay.sideboard.
|
|
8898
|
+
/** Public origin for OAuth redirects, e.g. `https://relay.sideboard.build`. */
|
|
8896
8899
|
relayPublicOrigin?: string;
|
|
8897
8900
|
}
|
|
8898
8901
|
interface RelayServerHandle {
|
|
@@ -8917,7 +8920,7 @@ interface SlackRelayRegisterWorkspace {
|
|
|
8917
8920
|
userToken: string;
|
|
8918
8921
|
}
|
|
8919
8922
|
interface SlackRelayClientOptions {
|
|
8920
|
-
/** Full WebSocket URL including path, e.g. wss://relay.sideboard.
|
|
8923
|
+
/** Full WebSocket URL including path, e.g. wss://relay.sideboard.build/slack/desktop */
|
|
8921
8924
|
url: string;
|
|
8922
8925
|
workspaces: SlackRelayRegisterWorkspace[];
|
|
8923
8926
|
/** Stable per-Mac destination id. */
|
package/dist/index.js
CHANGED
|
@@ -17,13 +17,13 @@ import {
|
|
|
17
17
|
toAbleTimeIssueInfo,
|
|
18
18
|
updateAbleTimeTask,
|
|
19
19
|
verifyAbleTimeConnection
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-YMV5O7KY.js";
|
|
21
21
|
import {
|
|
22
22
|
clearOptionalCliPresenceCache,
|
|
23
23
|
detectOptionalServiceClis,
|
|
24
24
|
installOptionalServiceCli,
|
|
25
25
|
optionalCliPresence
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-3DJQLQWU.js";
|
|
27
27
|
import {
|
|
28
28
|
AGENT_GIT_ACTIONS,
|
|
29
29
|
BOARD_COLUMN_DEFS,
|
|
@@ -218,7 +218,7 @@ import {
|
|
|
218
218
|
worktreeCleanupSettings,
|
|
219
219
|
writeAgentBlock,
|
|
220
220
|
writeWorktreeFile
|
|
221
|
-
} from "./chunk-
|
|
221
|
+
} from "./chunk-HCK3UCBJ.js";
|
|
222
222
|
import {
|
|
223
223
|
OPTIONAL_SERVICES,
|
|
224
224
|
OPTIONAL_SERVICE_IDS,
|
|
@@ -234,7 +234,7 @@ import {
|
|
|
234
234
|
optionalServiceConnected,
|
|
235
235
|
optionalServiceSpec,
|
|
236
236
|
verifyOptionalService
|
|
237
|
-
} from "./chunk-
|
|
237
|
+
} from "./chunk-7L36GZA4.js";
|
|
238
238
|
import {
|
|
239
239
|
LEGACY_PLAN_FILE_REL,
|
|
240
240
|
PLAN_FILE_NAME,
|
|
@@ -291,7 +291,7 @@ import {
|
|
|
291
291
|
startLinearOAuth,
|
|
292
292
|
updateLinearIssue,
|
|
293
293
|
validateLinearApiKey
|
|
294
|
-
} from "./chunk-
|
|
294
|
+
} from "./chunk-7MPRTC6X.js";
|
|
295
295
|
import {
|
|
296
296
|
downloadAuthenticatedFile,
|
|
297
297
|
extractHttpUrls,
|
|
@@ -379,7 +379,7 @@ import {
|
|
|
379
379
|
userMcpNamesToDisable,
|
|
380
380
|
worktreeMcpToolNames,
|
|
381
381
|
writeInjectedMcpConfig
|
|
382
|
-
} from "./chunk-
|
|
382
|
+
} from "./chunk-DFKLWWLY.js";
|
|
383
383
|
import {
|
|
384
384
|
getAgentSetupInfo,
|
|
385
385
|
installAgent,
|
|
@@ -391,7 +391,7 @@ import {
|
|
|
391
391
|
prepareTerminalCommand,
|
|
392
392
|
resolveLoginCommand,
|
|
393
393
|
whichOnPath
|
|
394
|
-
} from "./chunk-
|
|
394
|
+
} from "./chunk-XOIJJRAQ.js";
|
|
395
395
|
import {
|
|
396
396
|
brightsyMcpServerName,
|
|
397
397
|
connectBrightsyTeam,
|
|
@@ -402,7 +402,7 @@ import {
|
|
|
402
402
|
listConnectedBrightsyTeams,
|
|
403
403
|
switchBrightsyAccount
|
|
404
404
|
} from "./chunk-S5CJUIPY.js";
|
|
405
|
-
import "./chunk-
|
|
405
|
+
import "./chunk-ZT5YPYZE.js";
|
|
406
406
|
import {
|
|
407
407
|
BRIGHTSY_SUMMARIZE_CONTEXT_TOOL,
|
|
408
408
|
CHARS_PER_CONTEXT_TOKEN,
|
|
@@ -512,7 +512,7 @@ import {
|
|
|
512
512
|
workspaceAgentChatSummaries,
|
|
513
513
|
worktreeRunPortsPath,
|
|
514
514
|
wrapReviewSkillMarkdown
|
|
515
|
-
} from "./chunk-
|
|
515
|
+
} from "./chunk-KUD24QYI.js";
|
|
516
516
|
import {
|
|
517
517
|
STDERR_EVENT_MAX_CHARS,
|
|
518
518
|
STDOUT_EVENT_MAX_CHARS,
|
|
@@ -578,10 +578,10 @@ import {
|
|
|
578
578
|
parseAbleTimeOAuthCallbackUrl,
|
|
579
579
|
resolveAbleTimeOAuthHost,
|
|
580
580
|
startAbleTimeOAuth
|
|
581
|
-
} from "./chunk-
|
|
581
|
+
} from "./chunk-F4OUZDIB.js";
|
|
582
582
|
import {
|
|
583
583
|
looksLikeAbleTimeUlid
|
|
584
|
-
} from "./chunk-
|
|
584
|
+
} from "./chunk-HJIA4X3L.js";
|
|
585
585
|
import {
|
|
586
586
|
ABLETIME_MCP_PATH,
|
|
587
587
|
ABLETIME_MCP_PM_PATH,
|
|
@@ -602,7 +602,7 @@ import {
|
|
|
602
602
|
normalizeAbleTimeCredential,
|
|
603
603
|
normalizeAbleTimeHost,
|
|
604
604
|
rewriteAbleTimeError
|
|
605
|
-
} from "./chunk-
|
|
605
|
+
} from "./chunk-SKPX66MO.js";
|
|
606
606
|
import {
|
|
607
607
|
CLOUD_COORDINATOR_BUSY_REPLY,
|
|
608
608
|
CLOUD_COORDINATOR_CANCELED_REPLY,
|
|
@@ -655,7 +655,7 @@ import {
|
|
|
655
655
|
stageBuffersAsAttachments,
|
|
656
656
|
syncWorkspacesFromThreads,
|
|
657
657
|
takenTeamSlugsForOrchestration
|
|
658
|
-
} from "./chunk-
|
|
658
|
+
} from "./chunk-O7JSWISN.js";
|
|
659
659
|
import {
|
|
660
660
|
GITHUB_PR_BODY_MAX_CHARS,
|
|
661
661
|
GITHUB_PR_BODY_SAFE_CHARS,
|
|
@@ -744,7 +744,7 @@ import {
|
|
|
744
744
|
suggestSlug,
|
|
745
745
|
switchWorktreeBranch,
|
|
746
746
|
warmGithubAgentAuth
|
|
747
|
-
} from "./chunk-
|
|
747
|
+
} from "./chunk-P4QRDXRY.js";
|
|
748
748
|
import {
|
|
749
749
|
FAMOUS_SOCCER_TEAMS,
|
|
750
750
|
WEEKDAY_LABELS,
|
|
@@ -800,7 +800,7 @@ import {
|
|
|
800
800
|
worktreeNameFromPath,
|
|
801
801
|
worktreeSlugForTicket,
|
|
802
802
|
writeThread
|
|
803
|
-
} from "./chunk-
|
|
803
|
+
} from "./chunk-QVLDZWHZ.js";
|
|
804
804
|
import "./chunk-QKHEVSB5.js";
|
|
805
805
|
import {
|
|
806
806
|
BRIGHTSY_OAUTH_CLIENT_ID,
|
|
@@ -1086,7 +1086,7 @@ import {
|
|
|
1086
1086
|
withTurnScopedCost,
|
|
1087
1087
|
writeSecureJson,
|
|
1088
1088
|
writeViewerContext
|
|
1089
|
-
} from "./chunk-
|
|
1089
|
+
} from "./chunk-EY5BJAPV.js";
|
|
1090
1090
|
import {
|
|
1091
1091
|
stripNestedElectronEnv
|
|
1092
1092
|
} from "./chunk-4TR3HZFT.js";
|
|
@@ -5198,7 +5198,7 @@ var SLACK_OAUTH_RESULT_PATH = "/slack/oauth/result";
|
|
|
5198
5198
|
var SLACK_RELAY_DESKTOP_PATH = "/slack/desktop";
|
|
5199
5199
|
var SLACK_OAUTH_LOCAL_PORT = 19847;
|
|
5200
5200
|
var SLACK_OAUTH_LOCAL_CALLBACK = `http://127.0.0.1:${SLACK_OAUTH_LOCAL_PORT}${SLACK_OAUTH_CALLBACK_PATH}`;
|
|
5201
|
-
var SLACK_OAUTH_REDIRECT = `https://relay.sideboard.
|
|
5201
|
+
var SLACK_OAUTH_REDIRECT = `https://relay.sideboard.build${SLACK_OAUTH_CALLBACK_PATH}`;
|
|
5202
5202
|
function slackOAuthRedirectUri() {
|
|
5203
5203
|
return process.env.SIDEBOARD_SLACK_OAUTH_REDIRECT?.trim() || SLACK_OAUTH_REDIRECT;
|
|
5204
5204
|
}
|
|
@@ -5233,7 +5233,7 @@ function parseSlackOAuthResultUrl(reqUrl) {
|
|
|
5233
5233
|
|
|
5234
5234
|
// src/slack/baked-app.ts
|
|
5235
5235
|
var BAKED_SLACK_CLIENT_ID = "7592788819232.11813536272562";
|
|
5236
|
-
var BAKED_SLACK_RELAY_URL = "wss://relay.sideboard.
|
|
5236
|
+
var BAKED_SLACK_RELAY_URL = "wss://relay.sideboard.build/slack/desktop";
|
|
5237
5237
|
function hasBakedSlackOAuth() {
|
|
5238
5238
|
return Boolean(BAKED_SLACK_CLIENT_ID.trim());
|
|
5239
5239
|
}
|
|
@@ -7456,7 +7456,9 @@ async function startRelayServer(opts) {
|
|
|
7456
7456
|
}
|
|
7457
7457
|
const hostname2 = requestHostname(req);
|
|
7458
7458
|
const canonical = (opts.canonicalSiteHost ?? "www.sideboard.cloud").toLowerCase();
|
|
7459
|
-
|
|
7459
|
+
const staticHosts = opts.staticHosts ?? [];
|
|
7460
|
+
const servesSite = staticHosts.length > 0 && staticHosts.includes(hostname2);
|
|
7461
|
+
if (opts.redirectHosts?.includes(hostname2) && hostname2 !== canonical && !servesSite) {
|
|
7460
7462
|
res.writeHead(301, { Location: `https://${canonical}${reqUrl}` });
|
|
7461
7463
|
res.end();
|
|
7462
7464
|
return;
|
|
@@ -7685,7 +7687,7 @@ async function startHeadlessHost(opts) {
|
|
|
7685
7687
|
};
|
|
7686
7688
|
const refreshRunning = async () => {
|
|
7687
7689
|
try {
|
|
7688
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
7690
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-LI6EBD2Y.js");
|
|
7689
7691
|
agentsRunning = getOrchestrator2().getRuntime().running;
|
|
7690
7692
|
} catch {
|
|
7691
7693
|
agentsRunning = 0;
|
|
@@ -9828,7 +9830,7 @@ async function handleJobStop(params, _ctx) {
|
|
|
9828
9830
|
return stopDetachedJob(jobCwd(rec), id, reason ? { reason } : void 0);
|
|
9829
9831
|
}
|
|
9830
9832
|
async function defaultTurnWait(ref, timeoutMs) {
|
|
9831
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
9833
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-LI6EBD2Y.js");
|
|
9832
9834
|
const orch = getOrchestrator2();
|
|
9833
9835
|
const thread = await orch.waitForTurn(ref, timeoutMs, {
|
|
9834
9836
|
resolveIfStillRunning: true
|
|
@@ -10181,7 +10183,7 @@ async function startMcpServer() {
|
|
|
10181
10183
|
);
|
|
10182
10184
|
}
|
|
10183
10185
|
try {
|
|
10184
|
-
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-
|
|
10186
|
+
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-JAEV53LB.js");
|
|
10185
10187
|
orch.setMaxConcurrent(maxConcurrentAgents2());
|
|
10186
10188
|
} catch {
|
|
10187
10189
|
}
|
|
@@ -10729,7 +10731,7 @@ async function startMcpServer() {
|
|
|
10729
10731
|
if (!worktreeProfile) {
|
|
10730
10732
|
registerConnectedIssueVendorTools(server);
|
|
10731
10733
|
const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-ZNUEZGHB.js");
|
|
10732
|
-
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-
|
|
10734
|
+
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-JAEV53LB.js");
|
|
10733
10735
|
const accountDefaults = resolveThreadDefaults2();
|
|
10734
10736
|
const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
|
|
10735
10737
|
server.tool(
|
|
@@ -13496,7 +13498,7 @@ async function continueSourceThread(threadId, prompt) {
|
|
|
13496
13498
|
await continueOnReply(threadId, prompt);
|
|
13497
13499
|
return;
|
|
13498
13500
|
}
|
|
13499
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
13501
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-LI6EBD2Y.js");
|
|
13500
13502
|
await getOrchestrator2().send(threadId, prompt);
|
|
13501
13503
|
} catch {
|
|
13502
13504
|
}
|
|
@@ -27,12 +27,12 @@ import {
|
|
|
27
27
|
rewriteLinearError,
|
|
28
28
|
updateLinearIssue,
|
|
29
29
|
validateLinearApiKey
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-277I5IBI.js";
|
|
31
31
|
import "./chunk-OYRN356W.js";
|
|
32
32
|
import "./chunk-F6GE7V3Q.js";
|
|
33
33
|
import "./chunk-N2WW62LF.js";
|
|
34
34
|
import "./chunk-2GPQZZLY.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-7BAS6DF7.js";
|
|
36
36
|
import "./chunk-NSTQ6QKD.js";
|
|
37
37
|
import "./chunk-WWUABK6B.js";
|
|
38
38
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -25,12 +25,12 @@ import {
|
|
|
25
25
|
rewriteLinearError,
|
|
26
26
|
updateLinearIssue,
|
|
27
27
|
validateLinearApiKey
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-7MPRTC6X.js";
|
|
29
29
|
import "./chunk-DBKHL7NC.js";
|
|
30
30
|
import "./chunk-W3ZLE4PO.js";
|
|
31
31
|
import "./chunk-JAT3JFOS.js";
|
|
32
32
|
import "./chunk-6K64FJDD.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-EY5BJAPV.js";
|
|
34
34
|
import "./chunk-4TR3HZFT.js";
|
|
35
35
|
import "./chunk-WDRMZKVB.js";
|
|
36
36
|
import "./chunk-KI45T4DI.js";
|
package/dist/mcp/run-stdio.cjs
CHANGED
|
@@ -4078,6 +4078,7 @@ function normalizeRemoteRelayUrl(raw) {
|
|
|
4078
4078
|
url.pathname = REMOTE_RELAY_PATH;
|
|
4079
4079
|
url.search = "";
|
|
4080
4080
|
url.hash = "";
|
|
4081
|
+
if (url.hostname === "relay.sideboard.cloud") url.hostname = "relay.sideboard.build";
|
|
4081
4082
|
return url.toString();
|
|
4082
4083
|
}
|
|
4083
4084
|
function remoteRelayUrl(configured) {
|
|
@@ -4092,7 +4093,7 @@ var init_protocol = __esm({
|
|
|
4092
4093
|
"src/remote/protocol.ts"() {
|
|
4093
4094
|
"use strict";
|
|
4094
4095
|
REMOTE_RELAY_PATH = "/remote";
|
|
4095
|
-
BAKED_REMOTE_RELAY_URL = `wss://relay.sideboard.
|
|
4096
|
+
BAKED_REMOTE_RELAY_URL = `wss://relay.sideboard.build${REMOTE_RELAY_PATH}`;
|
|
4096
4097
|
}
|
|
4097
4098
|
});
|
|
4098
4099
|
|
|
@@ -23825,9 +23826,9 @@ var init_abletime_oauth = __esm({
|
|
|
23825
23826
|
ABLETIME_OAUTH_CALLBACK_PATH = "/oauth/abletime/callback";
|
|
23826
23827
|
ABLETIME_OAUTH_PORT = 19849;
|
|
23827
23828
|
ABLETIME_OAUTH_LOCAL_CALLBACK = `http://127.0.0.1:${ABLETIME_OAUTH_PORT}/callback`;
|
|
23828
|
-
ABLETIME_OAUTH_REDIRECT = `https://www.sideboard.
|
|
23829
|
+
ABLETIME_OAUTH_REDIRECT = `https://www.sideboard.build${ABLETIME_OAUTH_CALLBACK_PATH}`;
|
|
23829
23830
|
BOUNCE_QUERY_KEYS = ["code", "state", "error", "error_description"];
|
|
23830
|
-
BAKED_ABLETIME_OAUTH_CLIENT_ID = "https://www.sideboard.
|
|
23831
|
+
BAKED_ABLETIME_OAUTH_CLIENT_ID = "https://www.sideboard.build/oauth/abletime-client.json";
|
|
23831
23832
|
ABLETIME_OAUTH_RESOURCE = `${DEFAULT_ABLETIME_HOST}/api/public/v2/mcp`;
|
|
23832
23833
|
REFRESH_SKEW_MS3 = 5 * 6e4;
|
|
23833
23834
|
refreshInFlight3 = null;
|