@sideboard-ai/core 0.1.136 → 0.1.142

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 (65) hide show
  1. package/dist/{abletime-VTP4JR63.js → abletime-DI55AJX3.js} +2 -2
  2. package/dist/{abletime-DDTV7WO3.js → abletime-QEVAE67D.js} +2 -2
  3. package/dist/agents/cursor-runner.cjs +0 -0
  4. package/dist/agents/cursor-runner.js +1 -1
  5. package/dist/{agents-QNTTLMG2.js → agents-E5AAMHDY.js} +12 -8
  6. package/dist/{agents-ELWR7A2T.js → agents-OEEOIKUB.js} +11 -7
  7. package/dist/{app-settings-U5RZKUXG.js → app-settings-WJDCJFSY.js} +3 -1
  8. package/dist/{app-settings-YQ7YX2CC.js → app-settings-ZCN632OJ.js} +3 -1
  9. package/dist/caffeinate-hold-NBRUWYXO.js +0 -0
  10. package/dist/{chunk-4XKUHP6G.js → chunk-4D4PEBGB.js} +2 -2
  11. package/dist/{chunk-QAV3HGVS.js → chunk-4Q45TLZ5.js} +8 -8
  12. package/dist/chunk-6GN5WPYZ.js +0 -0
  13. package/dist/chunk-B3SJXYIJ.js +0 -0
  14. package/dist/chunk-BD2ICC4D.js +0 -0
  15. package/dist/{chunk-GKKHXZCT.js → chunk-BGQBELGJ.js} +201 -2
  16. package/dist/{chunk-2XXAAIN3.js → chunk-BOD5V52W.js} +1 -1
  17. package/dist/{chunk-JPBRMUM6.js → chunk-CG25RYQQ.js} +87 -41
  18. package/dist/chunk-ED4UPEJX.js +0 -0
  19. package/dist/{chunk-J5IBSVB3.js → chunk-EUXOHTUK.js} +42 -25
  20. package/dist/{chunk-K5YT5GX2.js → chunk-FADNFPZO.js} +4 -4
  21. package/dist/{chunk-TIGKDMIA.js → chunk-FGOD5MQ4.js} +550 -69
  22. package/dist/{chunk-MDCKV2NF.js → chunk-HC5N3BDL.js} +2 -2
  23. package/dist/{chunk-GJBHOJCZ.js → chunk-I77RYPOH.js} +201 -2
  24. package/dist/{chunk-WS5LFFU3.js → chunk-JUWVAMRS.js} +333 -64
  25. package/dist/chunk-KGZBYWZ3.js +0 -0
  26. package/dist/chunk-KLBOWJ74.js +0 -0
  27. package/dist/chunk-KPIYENTF.js +0 -0
  28. package/dist/chunk-N5PM7HGQ.js +0 -0
  29. package/dist/chunk-NSTQ6QKD.js +0 -0
  30. package/dist/{chunk-HQQNLDVC.js → chunk-O3JEC2UJ.js} +8 -8
  31. package/dist/{chunk-TQ4S5AGJ.js → chunk-OHWN4JEL.js} +7 -5
  32. package/dist/{chunk-GSKRGF7B.js → chunk-R2W7A2UO.js} +4 -4
  33. package/dist/chunk-S42XV45P.js +0 -0
  34. package/dist/{chunk-PM3C2J6K.js → chunk-TUGKX5BD.js} +42 -25
  35. package/dist/{chunk-IFZ4MOTN.js → chunk-UG5N7ET3.js} +7 -5
  36. package/dist/{chunk-CYM5DCHI.js → chunk-VHTIHOHE.js} +87 -42
  37. package/dist/{chunk-AT346U23.js → chunk-VZJVKQHH.js} +1 -1
  38. package/dist/{chunk-FSCQXMGI.js → chunk-WT5HSFOU.js} +1 -0
  39. package/dist/connected-teams-IJUJQ7R6.js +0 -0
  40. package/dist/{coordinator-prompt-IPL4Z6SL.js → coordinator-prompt-2LD3C74O.js} +4 -4
  41. package/dist/{coordinator-prompt-2OWSUAUR.js → coordinator-prompt-FBX7Y4EM.js} +4 -4
  42. package/dist/cursor-recover-NOQYOFRF.js +0 -0
  43. package/dist/{global-workspace-NIKZAKOO.js → global-workspace-NG7SU3GV.js} +5 -5
  44. package/dist/{global-workspace-JDUCUL7S.js → global-workspace-OCV77UYF.js} +5 -5
  45. package/dist/index.cjs +1064 -187
  46. package/dist/index.d.cts +239 -62
  47. package/dist/index.d.ts +239 -62
  48. package/dist/index.js +144 -20
  49. package/dist/mcp/run-stdio.cjs +759 -170
  50. package/dist/mcp/run-stdio.js +46 -18
  51. package/dist/oauth-YJBAURIJ.js +0 -0
  52. package/dist/{orchestrator-KK3CUW37.js → orchestrator-4BEZJ2BU.js} +8 -8
  53. package/dist/{orchestrator-6I47JMU2.js → orchestrator-I2T44CRP.js} +9 -9
  54. package/dist/paths-QCI3MTO5.js +0 -0
  55. package/dist/plan-file-PHVKUAEE.js +0 -0
  56. package/dist/run-USF6FRKV.js +0 -0
  57. package/dist/{thread-store-FADXSMEJ.js → thread-store-57ZLHR3A.js} +1 -1
  58. package/dist/{thread-store-CRLQJ2HM.js → thread-store-WGASXXXR.js} +1 -1
  59. package/dist/title-4WAKWZRF.js +0 -0
  60. package/dist/{workspaces-5EWNNALF.js → workspaces-4FUQW5LD.js} +6 -6
  61. package/dist/{workspaces-KZA3TCEE.js → workspaces-PU5YHQ7Z.js} +6 -6
  62. package/dist/{worktree-MX7XBX6Z.js → worktree-GKLPPNWR.js} +3 -3
  63. package/dist/{worktree-BC6XDMQK.js → worktree-Z22HTSCU.js} +3 -3
  64. package/package.json +9 -8
  65. package/LICENSE +0 -190
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  isGlobalRepoPath
3
- } from "./chunk-GSKRGF7B.js";
3
+ } from "./chunk-R2W7A2UO.js";
4
4
  import {
5
5
  ensureGhPreferOrigin,
6
6
  resolveRepoRoot
7
- } from "./chunk-HQQNLDVC.js";
7
+ } from "./chunk-O3JEC2UJ.js";
8
8
  import {
9
9
  appDataDir
10
10
  } from "./chunk-QZQEXME2.js";
@@ -196,6 +196,18 @@ function normalizeVault(raw) {
196
196
  if (typeof raw.abletimeAccessToken === "string" && raw.abletimeAccessToken.trim()) {
197
197
  out.abletimeAccessToken = raw.abletimeAccessToken.trim();
198
198
  }
199
+ if (typeof raw.vercelToken === "string" && raw.vercelToken.trim()) {
200
+ out.vercelToken = raw.vercelToken.trim();
201
+ }
202
+ if (typeof raw.supabaseAccessToken === "string" && raw.supabaseAccessToken.trim()) {
203
+ out.supabaseAccessToken = raw.supabaseAccessToken.trim();
204
+ }
205
+ if (typeof raw.posthogPersonalApiKey === "string" && raw.posthogPersonalApiKey.trim()) {
206
+ out.posthogPersonalApiKey = raw.posthogPersonalApiKey.trim();
207
+ }
208
+ if (typeof raw.sentryAuthToken === "string" && raw.sentryAuthToken.trim()) {
209
+ out.sentryAuthToken = raw.sentryAuthToken.trim();
210
+ }
199
211
  if (raw.environment && typeof raw.environment === "object") {
200
212
  const environment = {};
201
213
  for (const [key, value] of Object.entries(raw.environment)) {
@@ -238,6 +250,20 @@ var DEFAULT_AGENTS = /* @__PURE__ */ new Set([
238
250
  "cursor"
239
251
  ]);
240
252
  var GITHUB_GIT_AUTH_MODES = ["auto", "gh", "ssh", "token"];
253
+ function emptyPublicIntegrations() {
254
+ return {
255
+ hasLinearApiKey: false,
256
+ hasLinearOAuth: false,
257
+ hasSlackClientSecret: false,
258
+ hasSlackAppToken: false,
259
+ hasGithubPat: false,
260
+ hasAbleTimeToken: false,
261
+ hasVercelToken: false,
262
+ hasSupabaseToken: false,
263
+ hasPosthogToken: false,
264
+ hasSentryToken: false
265
+ };
266
+ }
241
267
  function hasLinearOAuth(integrations) {
242
268
  return Boolean(
243
269
  integrations.linearAccessToken?.trim() || integrations.linearRefreshToken?.trim()
@@ -256,6 +282,10 @@ function toPublicAppSettings(settings) {
256
282
  const slackAppToken = integrations.slackAppToken;
257
283
  const githubPat = integrations.githubPat;
258
284
  const abletimeAccessToken = integrations.abletimeAccessToken;
285
+ const vercelToken = integrations.vercelToken;
286
+ const supabaseAccessToken = integrations.supabaseAccessToken;
287
+ const posthogPersonalApiKey = integrations.posthogPersonalApiKey;
288
+ const sentryAuthToken = integrations.sentryAuthToken;
259
289
  delete integrations.linearApiKey;
260
290
  delete integrations.linearAccessToken;
261
291
  delete integrations.linearRefreshToken;
@@ -264,6 +294,10 @@ function toPublicAppSettings(settings) {
264
294
  delete integrations.slackAppToken;
265
295
  delete integrations.githubPat;
266
296
  delete integrations.abletimeAccessToken;
297
+ delete integrations.vercelToken;
298
+ delete integrations.supabaseAccessToken;
299
+ delete integrations.posthogPersonalApiKey;
300
+ delete integrations.sentryAuthToken;
267
301
  return {
268
302
  ...settings,
269
303
  environment,
@@ -274,7 +308,11 @@ function toPublicAppSettings(settings) {
274
308
  hasSlackClientSecret: Boolean(slackClientSecret?.trim()),
275
309
  hasSlackAppToken: Boolean(slackAppToken?.trim()),
276
310
  hasGithubPat: Boolean(githubPat?.trim()),
277
- hasAbleTimeToken: Boolean(abletimeAccessToken?.trim())
311
+ hasAbleTimeToken: Boolean(abletimeAccessToken?.trim()),
312
+ hasVercelToken: Boolean(vercelToken?.trim()),
313
+ hasSupabaseToken: Boolean(supabaseAccessToken?.trim()),
314
+ hasPosthogToken: Boolean(posthogPersonalApiKey?.trim()),
315
+ hasSentryToken: Boolean(sentryAuthToken?.trim())
278
316
  }
279
317
  };
280
318
  }
@@ -417,6 +455,46 @@ function normalizeIntegrations(raw) {
417
455
  const name = source.abletimeViewerName.trim().slice(0, 120);
418
456
  if (name) out.abletimeViewerName = name;
419
457
  }
458
+ if (typeof source.vercelToken === "string") {
459
+ const token = source.vercelToken.trim();
460
+ if (token) out.vercelToken = token;
461
+ }
462
+ if (typeof source.vercelViewerName === "string") {
463
+ const name = source.vercelViewerName.trim().slice(0, 120);
464
+ if (name) out.vercelViewerName = name;
465
+ }
466
+ if (typeof source.supabaseAccessToken === "string") {
467
+ const token = source.supabaseAccessToken.trim();
468
+ if (token) out.supabaseAccessToken = token;
469
+ }
470
+ if (typeof source.supabaseViewerName === "string") {
471
+ const name = source.supabaseViewerName.trim().slice(0, 120);
472
+ if (name) out.supabaseViewerName = name;
473
+ }
474
+ if (typeof source.posthogPersonalApiKey === "string") {
475
+ const key = source.posthogPersonalApiKey.trim();
476
+ if (key) out.posthogPersonalApiKey = key;
477
+ }
478
+ if (typeof source.posthogHost === "string") {
479
+ const host = source.posthogHost.trim();
480
+ if (host) out.posthogHost = host;
481
+ }
482
+ if (typeof source.posthogViewerName === "string") {
483
+ const name = source.posthogViewerName.trim().slice(0, 120);
484
+ if (name) out.posthogViewerName = name;
485
+ }
486
+ if (typeof source.sentryAuthToken === "string") {
487
+ const token = source.sentryAuthToken.trim();
488
+ if (token) out.sentryAuthToken = token;
489
+ }
490
+ if (typeof source.sentryHost === "string") {
491
+ const host = source.sentryHost.trim();
492
+ if (host) out.sentryHost = host;
493
+ }
494
+ if (typeof source.sentryViewerName === "string") {
495
+ const name = source.sentryViewerName.trim().slice(0, 120);
496
+ if (name) out.sentryViewerName = name;
497
+ }
420
498
  return out;
421
499
  }
422
500
  function normalizeDefaults(raw) {
@@ -575,7 +653,7 @@ function readSettingsFile() {
575
653
  }
576
654
  function diskHoldsSecrets(disk) {
577
655
  return Boolean(
578
- disk.integrations.linearApiKey || disk.integrations.linearAccessToken || disk.integrations.linearRefreshToken || disk.integrations.linearClientSecret || disk.integrations.slackClientSecret || disk.integrations.slackAppToken || disk.integrations.githubPat || disk.integrations.abletimeAccessToken || Object.keys(disk.environment).length > 0
656
+ disk.integrations.linearApiKey || disk.integrations.linearAccessToken || disk.integrations.linearRefreshToken || disk.integrations.linearClientSecret || disk.integrations.slackClientSecret || disk.integrations.slackAppToken || disk.integrations.githubPat || disk.integrations.abletimeAccessToken || disk.integrations.vercelToken || disk.integrations.supabaseAccessToken || disk.integrations.posthogPersonalApiKey || disk.integrations.sentryAuthToken || Object.keys(disk.environment).length > 0
579
657
  );
580
658
  }
581
659
  function mergeVault(disk) {
@@ -606,6 +684,18 @@ function mergeVault(disk) {
606
684
  if (vault.abletimeAccessToken && !integrations.abletimeAccessToken) {
607
685
  integrations.abletimeAccessToken = vault.abletimeAccessToken;
608
686
  }
687
+ if (vault.vercelToken && !integrations.vercelToken) {
688
+ integrations.vercelToken = vault.vercelToken;
689
+ }
690
+ if (vault.supabaseAccessToken && !integrations.supabaseAccessToken) {
691
+ integrations.supabaseAccessToken = vault.supabaseAccessToken;
692
+ }
693
+ if (vault.posthogPersonalApiKey && !integrations.posthogPersonalApiKey) {
694
+ integrations.posthogPersonalApiKey = vault.posthogPersonalApiKey;
695
+ }
696
+ if (vault.sentryAuthToken && !integrations.sentryAuthToken) {
697
+ integrations.sentryAuthToken = vault.sentryAuthToken;
698
+ }
609
699
  return { ...disk, environment, integrations };
610
700
  }
611
701
  function persistSplit(settings) {
@@ -618,6 +708,10 @@ function persistSplit(settings) {
618
708
  const slackAppToken = integrations.slackAppToken;
619
709
  const githubPat = integrations.githubPat;
620
710
  const abletimeAccessToken = integrations.abletimeAccessToken;
711
+ const vercelToken = integrations.vercelToken;
712
+ const supabaseAccessToken = integrations.supabaseAccessToken;
713
+ const posthogPersonalApiKey = integrations.posthogPersonalApiKey;
714
+ const sentryAuthToken = integrations.sentryAuthToken;
621
715
  delete integrations.linearApiKey;
622
716
  delete integrations.linearAccessToken;
623
717
  delete integrations.linearRefreshToken;
@@ -626,6 +720,10 @@ function persistSplit(settings) {
626
720
  delete integrations.slackAppToken;
627
721
  delete integrations.githubPat;
628
722
  delete integrations.abletimeAccessToken;
723
+ delete integrations.vercelToken;
724
+ delete integrations.supabaseAccessToken;
725
+ delete integrations.posthogPersonalApiKey;
726
+ delete integrations.sentryAuthToken;
629
727
  writePrivateFile(
630
728
  appSettingsPath(),
631
729
  `${JSON.stringify({ ...settings, environment: {}, integrations }, null, 2)}
@@ -640,6 +738,10 @@ function persistSplit(settings) {
640
738
  slackAppToken,
641
739
  githubPat,
642
740
  abletimeAccessToken,
741
+ vercelToken,
742
+ supabaseAccessToken,
743
+ posthogPersonalApiKey,
744
+ sentryAuthToken,
643
745
  environment: settings.environment
644
746
  });
645
747
  }
@@ -841,6 +943,80 @@ function updateIntegrationsSettings(patch) {
841
943
  integrations.abletimeViewerName = patch.abletimeViewerName.trim().slice(0, 120);
842
944
  }
843
945
  }
946
+ if ("vercelToken" in patch) {
947
+ if (patch.vercelToken == null || patch.vercelToken.trim() === "") {
948
+ delete integrations.vercelToken;
949
+ delete integrations.vercelViewerName;
950
+ } else {
951
+ integrations.vercelToken = patch.vercelToken.trim();
952
+ }
953
+ }
954
+ if ("vercelViewerName" in patch) {
955
+ if (patch.vercelViewerName == null || patch.vercelViewerName.trim() === "") {
956
+ delete integrations.vercelViewerName;
957
+ } else {
958
+ integrations.vercelViewerName = patch.vercelViewerName.trim().slice(0, 120);
959
+ }
960
+ }
961
+ if ("supabaseAccessToken" in patch) {
962
+ if (patch.supabaseAccessToken == null || patch.supabaseAccessToken.trim() === "") {
963
+ delete integrations.supabaseAccessToken;
964
+ delete integrations.supabaseViewerName;
965
+ } else {
966
+ integrations.supabaseAccessToken = patch.supabaseAccessToken.trim();
967
+ }
968
+ }
969
+ if ("supabaseViewerName" in patch) {
970
+ if (patch.supabaseViewerName == null || patch.supabaseViewerName.trim() === "") {
971
+ delete integrations.supabaseViewerName;
972
+ } else {
973
+ integrations.supabaseViewerName = patch.supabaseViewerName.trim().slice(0, 120);
974
+ }
975
+ }
976
+ if ("posthogPersonalApiKey" in patch) {
977
+ if (patch.posthogPersonalApiKey == null || patch.posthogPersonalApiKey.trim() === "") {
978
+ delete integrations.posthogPersonalApiKey;
979
+ delete integrations.posthogViewerName;
980
+ } else {
981
+ integrations.posthogPersonalApiKey = patch.posthogPersonalApiKey.trim();
982
+ }
983
+ }
984
+ if ("posthogHost" in patch) {
985
+ if (patch.posthogHost == null || patch.posthogHost.trim() === "") {
986
+ delete integrations.posthogHost;
987
+ } else {
988
+ integrations.posthogHost = patch.posthogHost.trim();
989
+ }
990
+ }
991
+ if ("posthogViewerName" in patch) {
992
+ if (patch.posthogViewerName == null || patch.posthogViewerName.trim() === "") {
993
+ delete integrations.posthogViewerName;
994
+ } else {
995
+ integrations.posthogViewerName = patch.posthogViewerName.trim().slice(0, 120);
996
+ }
997
+ }
998
+ if ("sentryAuthToken" in patch) {
999
+ if (patch.sentryAuthToken == null || patch.sentryAuthToken.trim() === "") {
1000
+ delete integrations.sentryAuthToken;
1001
+ delete integrations.sentryViewerName;
1002
+ } else {
1003
+ integrations.sentryAuthToken = patch.sentryAuthToken.trim();
1004
+ }
1005
+ }
1006
+ if ("sentryHost" in patch) {
1007
+ if (patch.sentryHost == null || patch.sentryHost.trim() === "") {
1008
+ delete integrations.sentryHost;
1009
+ } else {
1010
+ integrations.sentryHost = patch.sentryHost.trim();
1011
+ }
1012
+ }
1013
+ if ("sentryViewerName" in patch) {
1014
+ if (patch.sentryViewerName == null || patch.sentryViewerName.trim() === "") {
1015
+ delete integrations.sentryViewerName;
1016
+ } else {
1017
+ integrations.sentryViewerName = patch.sentryViewerName.trim().slice(0, 120);
1018
+ }
1019
+ }
844
1020
  return saveAppSettings({ ...current, integrations });
845
1021
  }
846
1022
  function updateDefaultsSettings(patch) {
@@ -1198,8 +1374,30 @@ function applyAppEnvironment(target = process.env, settings = loadAppSettings())
1198
1374
  target[key] = value;
1199
1375
  }
1200
1376
  }
1377
+ applyOptionalServiceTokens(target, settings.integrations);
1201
1378
  return target;
1202
1379
  }
1380
+ function fillEnvGap(target, key, value) {
1381
+ const v = value?.trim();
1382
+ if (!key || !v) return;
1383
+ if (target[key] == null || target[key] === "") target[key] = v;
1384
+ }
1385
+ function applyOptionalServiceTokens(target, integrations) {
1386
+ fillEnvGap(target, "VERCEL_TOKEN", integrations.vercelToken);
1387
+ fillEnvGap(target, "SUPABASE_ACCESS_TOKEN", integrations.supabaseAccessToken);
1388
+ fillEnvGap(target, "POSTHOG_PERSONAL_API_KEY", integrations.posthogPersonalApiKey);
1389
+ fillEnvGap(
1390
+ target,
1391
+ "POSTHOG_HOST",
1392
+ integrations.posthogPersonalApiKey ? integrations.posthogHost || "https://us.posthog.com" : void 0
1393
+ );
1394
+ fillEnvGap(target, "SENTRY_AUTH_TOKEN", integrations.sentryAuthToken);
1395
+ fillEnvGap(
1396
+ target,
1397
+ "SENTRY_URL",
1398
+ integrations.sentryAuthToken ? integrations.sentryHost || "https://sentry.io" : void 0
1399
+ );
1400
+ }
1203
1401
  function childEnvWithAppSettings(extra) {
1204
1402
  const settings = loadAppSettings();
1205
1403
  const env = stripNestedElectronEnv({ ...process.env });
@@ -1228,6 +1426,7 @@ export {
1228
1426
  issueSourceLabel,
1229
1427
  HARNESS_ENV_KEYS,
1230
1428
  GITHUB_GIT_AUTH_MODES,
1429
+ emptyPublicIntegrations,
1231
1430
  toPublicAppSettings,
1232
1431
  appSettingsPath,
1233
1432
  claudeUserSettingsPath,