@skrr-ai/cli 0.1.9 → 0.1.11

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 (109) hide show
  1. package/dist/base-command.d.ts +1 -13
  2. package/dist/base-command.js +78 -1
  3. package/dist/commands/browser/skill/show.js +7 -1
  4. package/dist/commands/code/index.d.ts +1 -0
  5. package/dist/commands/code/index.js +9 -1
  6. package/dist/commands/commitments/analytics/index.js +2 -0
  7. package/dist/commands/daemon/byok.d.ts +1 -0
  8. package/dist/commands/daemon/byok.js +2 -1
  9. package/dist/commands/daemon/install.d.ts +1 -0
  10. package/dist/commands/daemon/install.js +2 -1
  11. package/dist/commands/daemon/login.d.ts +31 -0
  12. package/dist/commands/daemon/login.js +56 -0
  13. package/dist/commands/daemon/restart.d.ts +9 -0
  14. package/dist/commands/daemon/restart.js +36 -0
  15. package/dist/commands/daemon/start.d.ts +1 -0
  16. package/dist/commands/daemon/start.js +2 -1
  17. package/dist/commands/daemon/status.d.ts +1 -0
  18. package/dist/commands/daemon/status.js +2 -1
  19. package/dist/commands/daemon/stop.d.ts +1 -0
  20. package/dist/commands/daemon/stop.js +2 -1
  21. package/dist/commands/daemon/uninstall.d.ts +1 -0
  22. package/dist/commands/daemon/uninstall.js +2 -1
  23. package/dist/commands/daemon/unlock.d.ts +9 -0
  24. package/dist/commands/daemon/unlock.js +33 -0
  25. package/dist/commands/goals/key-results/create.js +32 -1
  26. package/dist/commands/goals/key-results/update.d.ts +11 -0
  27. package/dist/commands/goals/key-results/update.js +80 -2
  28. package/dist/commands/goals/plan-now.d.ts +54 -2
  29. package/dist/commands/goals/plan-now.js +175 -18
  30. package/dist/commands/goals/planner-config.d.ts +60 -9
  31. package/dist/commands/goals/planner-config.js +82 -34
  32. package/dist/commands/goals/revisions.js +17 -0
  33. package/dist/commands/goals/show.d.ts +17 -0
  34. package/dist/commands/goals/show.js +90 -3
  35. package/dist/commands/login.js +36 -3
  36. package/dist/commands/spaces/create.js +2 -1
  37. package/dist/commands/spaces/index.js +9 -1
  38. package/dist/commands/spaces/list.d.ts +18 -0
  39. package/dist/commands/spaces/list.js +57 -7
  40. package/dist/commands/spaces/show.js +4 -1
  41. package/dist/commands/spaces/summary.d.ts +4 -0
  42. package/dist/commands/spaces/summary.js +77 -1
  43. package/dist/commands/spaces/update.d.ts +4 -0
  44. package/dist/commands/spaces/update.js +38 -1
  45. package/dist/commands/tasks/actionability.js +40 -1
  46. package/dist/commands/tasks/activity.d.ts +29 -0
  47. package/dist/commands/tasks/activity.js +47 -0
  48. package/dist/commands/tasks/complete.d.ts +47 -0
  49. package/dist/commands/tasks/complete.js +159 -12
  50. package/dist/commands/tasks/create.d.ts +26 -0
  51. package/dist/commands/tasks/create.js +60 -1
  52. package/dist/commands/tasks/events/append.d.ts +2 -0
  53. package/dist/commands/tasks/events/append.js +41 -10
  54. package/dist/commands/tasks/events/list.js +60 -9
  55. package/dist/commands/tasks/output.js +22 -2
  56. package/dist/commands/tasks/ready.d.ts +38 -0
  57. package/dist/commands/tasks/ready.js +37 -0
  58. package/dist/commands/tasks/runs.d.ts +22 -0
  59. package/dist/commands/tasks/runs.js +110 -2
  60. package/dist/commands/tasks/show.d.ts +28 -0
  61. package/dist/commands/tasks/show.js +61 -0
  62. package/dist/commands/tasks/timeline.d.ts +7 -0
  63. package/dist/commands/tasks/timeline.js +34 -3
  64. package/dist/commands/tasks/update.d.ts +20 -0
  65. package/dist/commands/tasks/update.js +38 -1
  66. package/dist/commands/whoami.d.ts +40 -0
  67. package/dist/commands/whoami.js +61 -10
  68. package/dist/commands/wiki/ls.d.ts +23 -0
  69. package/dist/commands/wiki/ls.js +63 -10
  70. package/dist/commands/wiki/mv.d.ts +70 -0
  71. package/dist/commands/wiki/mv.js +198 -4
  72. package/dist/commands/wiki/rm.js +12 -1
  73. package/dist/commands/wiki/write.js +35 -3
  74. package/dist/help.d.ts +27 -0
  75. package/dist/help.js +48 -0
  76. package/dist/hooks/command-not-found.d.ts +31 -0
  77. package/dist/hooks/command-not-found.js +12 -80
  78. package/dist/lib/command-miss.d.ts +60 -0
  79. package/dist/lib/command-miss.js +128 -0
  80. package/dist/lib/commitment-analytics.d.ts +10 -0
  81. package/dist/lib/commitment-analytics.js +10 -0
  82. package/dist/lib/config.d.ts +40 -0
  83. package/dist/lib/config.js +72 -9
  84. package/dist/lib/daemonBroker.d.ts +7 -1
  85. package/dist/lib/daemonBroker.js +71 -0
  86. package/dist/lib/daemonHandoff.d.ts +38 -0
  87. package/dist/lib/daemonHandoff.js +297 -0
  88. package/dist/lib/exec-oversky.d.ts +30 -0
  89. package/dist/lib/exec-oversky.js +41 -0
  90. package/dist/lib/format.d.ts +7 -0
  91. package/dist/lib/format.js +27 -5
  92. package/dist/lib/login.js +22 -2
  93. package/dist/lib/sky-code.js +9 -4
  94. package/dist/lib/task-transcript.d.ts +9 -0
  95. package/dist/lib/task-transcript.js +13 -2
  96. package/dist/lib/tasks.d.ts +34 -0
  97. package/dist/lib/tasks.js +70 -1
  98. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/configRoot.d.ts +50 -0
  99. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/configRoot.js +67 -0
  100. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/index.d.ts +1 -0
  101. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/index.js +7 -1
  102. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/configRoot.d.ts +50 -0
  103. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/configRoot.js +59 -0
  104. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/index.d.ts +1 -0
  105. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/index.js +3 -0
  106. package/dist/node_modules/@skrr-ai/auth-core/package.json +1 -1
  107. package/dist/node_modules/@skrr-ai/data-provider/index.js +15 -4
  108. package/oclif.manifest.json +15713 -15480
  109. package/package.json +5 -3
package/dist/lib/tasks.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TASK_WORK_EVENT_KINDS = exports.TASK_PRIORITIES = void 0;
3
+ exports.RECOGNIZED_TASK_VERDICTS = exports.TASK_WORK_EVENT_KINDS = exports.TASK_PRIORITIES = void 0;
4
4
  exports.releasePinRepairGuard = releasePinRepairGuard;
5
5
  exports.taskUpdateMutationGuard = taskUpdateMutationGuard;
6
6
  exports.executionIsolationFromWorktreeFlag = executionIsolationFromWorktreeFlag;
@@ -27,6 +27,8 @@ exports.formatTaskLabel = formatTaskLabel;
27
27
  exports.hasTaskAssignee = hasTaskAssignee;
28
28
  exports.normalizeTaskUpdateEntry = normalizeTaskUpdateEntry;
29
29
  exports.normalizeBulkUpdateInput = normalizeBulkUpdateInput;
30
+ exports.normalizeVerdict = normalizeVerdict;
31
+ exports.verdictIsRecognized = verdictIsRecognized;
30
32
  const data_provider_1 = require("@skrr-ai/data-provider");
31
33
  const prompt_1 = require("./prompt");
32
34
  const projects_1 = require("./projects");
@@ -715,3 +717,70 @@ function formatApiError(err) {
715
717
  return err.message;
716
718
  return String(err);
717
719
  }
720
+ /**
721
+ * Verdict strings the server recognises on a task completion.
722
+ *
723
+ * `--verdict` is free text: `skrr tasks complete <id> --verdict banana`
724
+ * succeeds and the value is permanently recorded, while `--status` beside it
725
+ * is enumerated and rejects a typo. So `--verdict aproved` closes a task with
726
+ * a verdict nothing matches, quietly.
727
+ *
728
+ * It cannot simply be enumerated, and that is the point worth recording:
729
+ *
730
+ * - A REVIEWER task legitimately passes a JSON object
731
+ * (`{"posture":"request_changes","confidence":0.82,"criteria":[…]}`) —
732
+ * documented in the task-execution prompt and consumed by
733
+ * `normalizeReviewPosture`. `options:` on the flag would refuse it.
734
+ * - That normaliser accepts synonyms, and when it recognises NOTHING it does
735
+ * not fail — it derives the posture from the criteria instead. So a typo
736
+ * silently becomes whatever the criteria imply.
737
+ *
738
+ * Hence a warning, not a refusal, over the set the server actually matches.
739
+ * Mirrored from `normalizeReviewPosture` in
740
+ * `api/server/services/TasksMCP/taskExecutionHelpers.js` and pinned against it
741
+ * by `task-verdict-parity.spec.ts`, the same way TASK_WORK_EVENT_KINDS is.
742
+ */
743
+ exports.RECOGNIZED_TASK_VERDICTS = [
744
+ 'request_changes',
745
+ 'changes_requested',
746
+ 'needs_changes',
747
+ 'needs_revision',
748
+ 'approved',
749
+ 'approve',
750
+ 'pass',
751
+ 'passed',
752
+ 'blocked',
753
+ ];
754
+ /** The server's own normalisation, so the same spellings match here. */
755
+ function normalizeVerdict(value) {
756
+ return String(value ?? '')
757
+ .trim()
758
+ .toLowerCase()
759
+ .replace(/[\s-]+/g, '_');
760
+ }
761
+ /**
762
+ * Does this verdict mean anything to the server?
763
+ *
764
+ * `UNVERIFIED` is platform-stamped rather than user-supplied, and a JSON
765
+ * verdict is the reviewer shape — both are legitimate and neither is in the
766
+ * synonym list.
767
+ */
768
+ function verdictIsRecognized(value) {
769
+ if (!value)
770
+ return true;
771
+ const raw = value.trim();
772
+ if (!raw)
773
+ return true;
774
+ if (raw.toUpperCase() === 'UNVERIFIED')
775
+ return true;
776
+ if (raw.startsWith('{') || raw.startsWith('[')) {
777
+ try {
778
+ JSON.parse(raw);
779
+ return true;
780
+ }
781
+ catch {
782
+ return false;
783
+ }
784
+ }
785
+ return exports.RECOGNIZED_TASK_VERDICTS.includes(normalizeVerdict(raw));
786
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The skrr root — the single definition of where this machine keeps its skrr
3
+ * state.
4
+ *
5
+ * It lives here because BOTH binaries need the same answer and neither owns it.
6
+ * `skrr` and `skrrd` keep separate credentials on purpose, but they share one
7
+ * root, and every place that re-derived it became a place they could disagree.
8
+ * They did, twice in one day:
9
+ *
10
+ * - The CLI's engine path honoured `OVERSKY_CONFIG_DIR` while its config did
11
+ * not, so a relocated root moved the engine and left the credentials in
12
+ * `$HOME`. Fixed by teaching `config.ts` the variable — which promptly
13
+ * re-created the split in the mirror image, because `sky-code.ts` still read
14
+ * only the old name.
15
+ * - The daemon then had the same shape, and fixing the CLI's half turned it
16
+ * into a CLI/daemon divergence: with the variable set, the two halves of one
17
+ * product disagreed about where the credentials live.
18
+ *
19
+ * Each of those was a correct local fix that created the next defect, because
20
+ * the root was being DERIVED rather than READ. Teaching every site the same list
21
+ * of variable names only defers the problem to whenever the list changes again —
22
+ * which is exactly what `SKRR_CONFIG_DIR` did.
23
+ *
24
+ * So: one function, and a boundary test that fails if anything re-derives it.
25
+ *
26
+ * `SKRR_CONFIG_DIR` is the spelling for anything new (root `CLAUDE.md`) and wins
27
+ * when both are set. `OVERSKY_CONFIG_DIR` keeps working because existing installs,
28
+ * the engine resolver and the daemon all read it, and breaking a documented
29
+ * override to tidy a name would be a worse trade than carrying two.
30
+ *
31
+ * Takes `env` rather than reading the global so a caller can resolve a root for a
32
+ * child process it is about to spawn, and so tests need no process-wide mutation.
33
+ */
34
+ export declare function resolveConfigRoot(env?: NodeJS.ProcessEnv): string;
35
+ /** A path under the skrr root, e.g. `configRootPath(env, 'sky-code', 'bin')`. */
36
+ export declare function configRootPath(env: NodeJS.ProcessEnv, ...segments: string[]): string;
37
+ /**
38
+ * Has the operator explicitly relocated the root?
39
+ *
40
+ * A distinct question from "what is the root", and it has a real caller: the
41
+ * legacy-location fallbacks exist to find state left by an older layout under
42
+ * `$HOME`, and once someone has POINTED the root somewhere, guessing at
43
+ * `$HOME` is no longer a helpful fallback — it is a different machine's data.
44
+ *
45
+ * Shared for the same reason as `resolveConfigRoot`: this check was copied to
46
+ * three call sites, each spelling the variable list itself, so adding
47
+ * `SKRR_CONFIG_DIR` to the resolver silently left the copies answering the old
48
+ * question.
49
+ */
50
+ export declare function isConfigRootOverridden(env?: NodeJS.ProcessEnv): boolean;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.resolveConfigRoot = resolveConfigRoot;
7
+ exports.configRootPath = configRootPath;
8
+ exports.isConfigRootOverridden = isConfigRootOverridden;
9
+ const node_os_1 = require("node:os");
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ /**
12
+ * The skrr root — the single definition of where this machine keeps its skrr
13
+ * state.
14
+ *
15
+ * It lives here because BOTH binaries need the same answer and neither owns it.
16
+ * `skrr` and `skrrd` keep separate credentials on purpose, but they share one
17
+ * root, and every place that re-derived it became a place they could disagree.
18
+ * They did, twice in one day:
19
+ *
20
+ * - The CLI's engine path honoured `OVERSKY_CONFIG_DIR` while its config did
21
+ * not, so a relocated root moved the engine and left the credentials in
22
+ * `$HOME`. Fixed by teaching `config.ts` the variable — which promptly
23
+ * re-created the split in the mirror image, because `sky-code.ts` still read
24
+ * only the old name.
25
+ * - The daemon then had the same shape, and fixing the CLI's half turned it
26
+ * into a CLI/daemon divergence: with the variable set, the two halves of one
27
+ * product disagreed about where the credentials live.
28
+ *
29
+ * Each of those was a correct local fix that created the next defect, because
30
+ * the root was being DERIVED rather than READ. Teaching every site the same list
31
+ * of variable names only defers the problem to whenever the list changes again —
32
+ * which is exactly what `SKRR_CONFIG_DIR` did.
33
+ *
34
+ * So: one function, and a boundary test that fails if anything re-derives it.
35
+ *
36
+ * `SKRR_CONFIG_DIR` is the spelling for anything new (root `CLAUDE.md`) and wins
37
+ * when both are set. `OVERSKY_CONFIG_DIR` keeps working because existing installs,
38
+ * the engine resolver and the daemon all read it, and breaking a documented
39
+ * override to tidy a name would be a worse trade than carrying two.
40
+ *
41
+ * Takes `env` rather than reading the global so a caller can resolve a root for a
42
+ * child process it is about to spawn, and so tests need no process-wide mutation.
43
+ */
44
+ function resolveConfigRoot(env = process.env) {
45
+ const override = (env.SKRR_CONFIG_DIR || env.OVERSKY_CONFIG_DIR)?.trim();
46
+ return override || node_path_1.default.join((0, node_os_1.homedir)(), '.skrr');
47
+ }
48
+ /** A path under the skrr root, e.g. `configRootPath(env, 'sky-code', 'bin')`. */
49
+ function configRootPath(env, ...segments) {
50
+ return node_path_1.default.join(resolveConfigRoot(env), ...segments);
51
+ }
52
+ /**
53
+ * Has the operator explicitly relocated the root?
54
+ *
55
+ * A distinct question from "what is the root", and it has a real caller: the
56
+ * legacy-location fallbacks exist to find state left by an older layout under
57
+ * `$HOME`, and once someone has POINTED the root somewhere, guessing at
58
+ * `$HOME` is no longer a helpful fallback — it is a different machine's data.
59
+ *
60
+ * Shared for the same reason as `resolveConfigRoot`: this check was copied to
61
+ * three call sites, each spelling the variable list itself, so adding
62
+ * `SKRR_CONFIG_DIR` to the resolver silently left the copies answering the old
63
+ * question.
64
+ */
65
+ function isConfigRootOverridden(env = process.env) {
66
+ return Boolean((env.SKRR_CONFIG_DIR || env.OVERSKY_CONFIG_DIR)?.trim());
67
+ }
@@ -36,3 +36,4 @@ export { sanitizeSpawnEnv, SENSITIVE_ENV_VARS, SENSITIVE_ENV_PREFIXES, SENSITIVE
36
36
  export { CONFIG_DIR_NAME, LEGACY_CONFIG_DIR_NAMES, NATIVE_ID_PREFIX, LEGACY_NATIVE_ID_PREFIXES, DEFAULT_BINARY_NAME, } from './localIdentity.js';
37
37
  export { findLegacyLocalState, describeLegacyState, type LegacyStateFinding, type LegacyStateReport, } from './legacyStatePreflight.js';
38
38
  export { DEFAULT_SKY_CODE_CHANNEL, DEFAULT_SKY_CODE_FEED_BASE, SKY_CODE_CHANNELS, SKY_CODE_CHANNEL_ENV, SKY_CODE_MANIFEST_FILE, isSkyCodeChannel, resolveChannelManifestUrl, resolveSkyCodeChannel, skyCodeChannelPrefix, skyCodeFeedBase, SKY_CODE_FEED_BASE_ENV, type SkyCodeChannel, } from './skyCodeChannels.js';
39
+ export { resolveConfigRoot, configRootPath, isConfigRootOverridden } from './configRoot.js';
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.challenge = exports.generateVerifier = exports.invalidateHeadersHelperCache = exports.runHeadersHelper = exports.SENTINEL_TRIGGERING_FAILURES = exports.__resetAuthHelperFailureReasonForTest = exports.getLastAuthHelperFailureReason = exports.getDefaultHelperTtlMs = exports.invokeAuthHelper = exports.AuthHelperUnavailableError = exports.AuthHelperUntrustedError = exports.CI_TOKEN_PREFIX = exports.classifyTokenKind = exports.invalidateAuthHelperCache = exports.__resetCredentialResolverForTest = exports.CREDENTIAL_PRECEDENCE = exports.CredentialResolver = exports.__setFdReaderForTest = exports.readAuthFromFd = exports.createRefreshScheduler = exports.UNKNOWN_401_BUDGET = exports.__resetUnknown401StreaksForTest = exports.__refreshDiagnostics = exports.installLockExitHandlers = exports.clearReauthState = exports.needsReauthState = exports.persistReauthState = exports.withAuthLock = exports.revokeDaemonRefreshSession = exports.refreshDaemonToken = exports.classifyRefreshResponse = exports.EXIT_NEEDS_REAUTH = exports.formatReauthMessage = exports.handleMidStreamAuthExpiry = exports.isAuthExpiredSseEvent = exports.decodeJwtPayload = exports.decodeJwtExpiry = exports.TransientAuthFailure = exports.PermanentAuthFailure = exports.emitAuthTelemetry = exports.getAuthBinaryName = exports.getAuthKillSwitches = exports.getAuthConfigDir = exports.getAuthLogger = exports.configureAuthCore = exports.OAUTH_CLI_SCOPE = exports.isDaemonScope = exports.VALID_DAEMON_SCOPE_SET = exports.ALL_DAEMON_SCOPES = exports.SCOPES = void 0;
12
12
  exports.tokenHash = exports.publicJwkFromX = exports.normalizeHtu = exports.jwkThumbprint = exports.generateDeviceKeyPair = exports.buildDeviceProof = exports.zeroizeKekCaches = exports.WindowsKek = exports.registerZeroizeHook = exports.MacosKek = exports.LinuxKek = exports.KekUnavailableError = exports.UnavailableKek = exports.InMemoryKek = exports.getKekStrategy = exports.__setKekStrategyForTest = exports.credEnvelopeWrap = exports.credEnvelopeUnwrap = exports.credEnvelopeSerialize = exports.credSealBuffer = exports.credOpenBuffer = exports.CRED_KEY_LEN = exports.isCredEnvelopeString = exports.generateDek = exports.CRED_ENVELOPE_MAGIC = exports.credEnvelopeEncrypt = exports.credEnvelopeDeserialize = exports.credEnvelopeDecrypt = exports.buildCredentialAad = exports.isValidRecoveryCode = exports.normalizeRecoveryCode = exports.parseRecoveryCode = exports.formatRecoveryCode = exports.MAX_TTL_DAYS = exports.MIN_TTL_DAYS = exports.parseTtlDays = exports.LoginExchangeError = exports.LoginInitError = exports.loginWithLocalhost = exports.LocalCallbackMalformedError = exports.LocalCallbackDeniedError = exports.LocalCallbackStateMismatchError = exports.LocalCallbackTimeoutError = exports.LocalCallbackBindError = exports.LocalCallbackError = exports.DEFAULT_LOGIN_TIMEOUT_MS = exports.startLocalCallback = exports.verifyChallenge = exports.safeEqual = exports.generateState = void 0;
13
13
  exports.getHarnessTier = exports.HARNESS_TIERS = exports.pairUint8ArrayToBase64Url = exports.pairUint8ArrayToBase64 = exports.parsePairUrl = exports.parsePairPlaintext = exports.parsePairBundle = exports.openPairBundleBase64 = exports.generatePairKeyPair = exports.buildPairUrl = exports.buildPairAad = exports.pairBase64UrlToUint8Array = exports.pairBase64ToUint8Array = exports.assemblePairBundleBase64 = exports.PairBundleError = exports.PAIR_SECRET_LEN = exports.PAIR_PUBKEY_LEN = exports.PAIR_NONCE_LEN = exports.PAIR_BUNDLE_MAX_BASE64_LEN = exports.PAIR_AAD_MAX_LEN = exports.PAIR_AAD_PREFIX = exports.__resetCachedDaemonIdForTest = exports.legacyDaemonUuids = exports.ensureMachineDaemonId = exports.__getDeviceIdentityStateForTest = exports.__setDeviceIdentityStateForTest = exports.__enrollmentBackoffPathForTest = exports.__enrollmentMarkerPathForTest = exports.__privateKeyPathForTest = exports.__publicKeyPathForTest = exports.describeDeviceIdentityState = exports.getDevicePublicKey = exports.isDeviceIdentityActive = exports.clearEnrollmentMarker = exports.enrollWithServer = exports.signServerRequest = exports.resetDeviceIdentity = exports.initDeviceIdentity = exports.__resetShutdownGuardForTest = exports.__getCredEnvelopeStateForTest = exports.__setCredEnvelopeStateForTest = exports.__wrappedDekFilePathForTest = exports.maybeDecryptOnRead = exports.maybeEncryptForWrite = exports.describeCredEnvelopeState = exports.isCredEnvelopeActive = exports.shutdownCredEnvelope = exports.resetCredEnvelope = exports.initCredEnvelope = exports.verifyDeviceProof = void 0;
14
- exports.SKY_CODE_FEED_BASE_ENV = exports.skyCodeFeedBase = exports.skyCodeChannelPrefix = exports.resolveSkyCodeChannel = exports.resolveChannelManifestUrl = exports.isSkyCodeChannel = exports.SKY_CODE_MANIFEST_FILE = exports.SKY_CODE_CHANNEL_ENV = exports.SKY_CODE_CHANNELS = exports.DEFAULT_SKY_CODE_FEED_BASE = exports.DEFAULT_SKY_CODE_CHANNEL = exports.describeLegacyState = exports.findLegacyLocalState = exports.DEFAULT_BINARY_NAME = exports.LEGACY_NATIVE_ID_PREFIXES = exports.NATIVE_ID_PREFIX = exports.LEGACY_CONFIG_DIR_NAMES = exports.CONFIG_DIR_NAME = exports.SENSITIVE_ENV_PREFIX_EXCEPTIONS = exports.SENSITIVE_ENV_SUFFIXES = exports.SENSITIVE_ENV_PREFIXES = exports.SENSITIVE_ENV_VARS = exports.sanitizeSpawnEnv = exports.tierPermitsConfiguredAutoMode = exports.credentialPolicyForTier = void 0;
14
+ exports.isConfigRootOverridden = exports.configRootPath = exports.resolveConfigRoot = exports.SKY_CODE_FEED_BASE_ENV = exports.skyCodeFeedBase = exports.skyCodeChannelPrefix = exports.resolveSkyCodeChannel = exports.resolveChannelManifestUrl = exports.isSkyCodeChannel = exports.SKY_CODE_MANIFEST_FILE = exports.SKY_CODE_CHANNEL_ENV = exports.SKY_CODE_CHANNELS = exports.DEFAULT_SKY_CODE_FEED_BASE = exports.DEFAULT_SKY_CODE_CHANNEL = exports.describeLegacyState = exports.findLegacyLocalState = exports.DEFAULT_BINARY_NAME = exports.LEGACY_NATIVE_ID_PREFIXES = exports.NATIVE_ID_PREFIX = exports.LEGACY_CONFIG_DIR_NAMES = exports.CONFIG_DIR_NAME = exports.SENSITIVE_ENV_PREFIX_EXCEPTIONS = exports.SENSITIVE_ENV_SUFFIXES = exports.SENSITIVE_ENV_PREFIXES = exports.SENSITIVE_ENV_VARS = exports.sanitizeSpawnEnv = exports.tierPermitsConfiguredAutoMode = exports.credentialPolicyForTier = void 0;
15
15
  // Daemon scope vocabulary — single source of truth for non-Mongoose tiers
16
16
  // (daemon, desktop, cli). Schema-bound canonical lives in
17
17
  // `@skrr-ai/data-schemas/common/daemonScopes`; the two are kept byte-equal
@@ -315,3 +315,9 @@ Object.defineProperty(exports, "resolveSkyCodeChannel", { enumerable: true, get:
315
315
  Object.defineProperty(exports, "skyCodeChannelPrefix", { enumerable: true, get: function () { return skyCodeChannels_js_1.skyCodeChannelPrefix; } });
316
316
  Object.defineProperty(exports, "skyCodeFeedBase", { enumerable: true, get: function () { return skyCodeChannels_js_1.skyCodeFeedBase; } });
317
317
  Object.defineProperty(exports, "SKY_CODE_FEED_BASE_ENV", { enumerable: true, get: function () { return skyCodeChannels_js_1.SKY_CODE_FEED_BASE_ENV; } });
318
+ // The one definition of the skrr root, shared by `skrr` and `skrrd`. See the
319
+ // module for why re-deriving it kept producing divergences.
320
+ var configRoot_js_1 = require("./configRoot.js");
321
+ Object.defineProperty(exports, "resolveConfigRoot", { enumerable: true, get: function () { return configRoot_js_1.resolveConfigRoot; } });
322
+ Object.defineProperty(exports, "configRootPath", { enumerable: true, get: function () { return configRoot_js_1.configRootPath; } });
323
+ Object.defineProperty(exports, "isConfigRootOverridden", { enumerable: true, get: function () { return configRoot_js_1.isConfigRootOverridden; } });
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The skrr root — the single definition of where this machine keeps its skrr
3
+ * state.
4
+ *
5
+ * It lives here because BOTH binaries need the same answer and neither owns it.
6
+ * `skrr` and `skrrd` keep separate credentials on purpose, but they share one
7
+ * root, and every place that re-derived it became a place they could disagree.
8
+ * They did, twice in one day:
9
+ *
10
+ * - The CLI's engine path honoured `OVERSKY_CONFIG_DIR` while its config did
11
+ * not, so a relocated root moved the engine and left the credentials in
12
+ * `$HOME`. Fixed by teaching `config.ts` the variable — which promptly
13
+ * re-created the split in the mirror image, because `sky-code.ts` still read
14
+ * only the old name.
15
+ * - The daemon then had the same shape, and fixing the CLI's half turned it
16
+ * into a CLI/daemon divergence: with the variable set, the two halves of one
17
+ * product disagreed about where the credentials live.
18
+ *
19
+ * Each of those was a correct local fix that created the next defect, because
20
+ * the root was being DERIVED rather than READ. Teaching every site the same list
21
+ * of variable names only defers the problem to whenever the list changes again —
22
+ * which is exactly what `SKRR_CONFIG_DIR` did.
23
+ *
24
+ * So: one function, and a boundary test that fails if anything re-derives it.
25
+ *
26
+ * `SKRR_CONFIG_DIR` is the spelling for anything new (root `CLAUDE.md`) and wins
27
+ * when both are set. `OVERSKY_CONFIG_DIR` keeps working because existing installs,
28
+ * the engine resolver and the daemon all read it, and breaking a documented
29
+ * override to tidy a name would be a worse trade than carrying two.
30
+ *
31
+ * Takes `env` rather than reading the global so a caller can resolve a root for a
32
+ * child process it is about to spawn, and so tests need no process-wide mutation.
33
+ */
34
+ export declare function resolveConfigRoot(env?: NodeJS.ProcessEnv): string;
35
+ /** A path under the skrr root, e.g. `configRootPath(env, 'sky-code', 'bin')`. */
36
+ export declare function configRootPath(env: NodeJS.ProcessEnv, ...segments: string[]): string;
37
+ /**
38
+ * Has the operator explicitly relocated the root?
39
+ *
40
+ * A distinct question from "what is the root", and it has a real caller: the
41
+ * legacy-location fallbacks exist to find state left by an older layout under
42
+ * `$HOME`, and once someone has POINTED the root somewhere, guessing at
43
+ * `$HOME` is no longer a helpful fallback — it is a different machine's data.
44
+ *
45
+ * Shared for the same reason as `resolveConfigRoot`: this check was copied to
46
+ * three call sites, each spelling the variable list itself, so adding
47
+ * `SKRR_CONFIG_DIR` to the resolver silently left the copies answering the old
48
+ * question.
49
+ */
50
+ export declare function isConfigRootOverridden(env?: NodeJS.ProcessEnv): boolean;
@@ -0,0 +1,59 @@
1
+ import { homedir } from 'node:os';
2
+ import path from 'node:path';
3
+ /**
4
+ * The skrr root — the single definition of where this machine keeps its skrr
5
+ * state.
6
+ *
7
+ * It lives here because BOTH binaries need the same answer and neither owns it.
8
+ * `skrr` and `skrrd` keep separate credentials on purpose, but they share one
9
+ * root, and every place that re-derived it became a place they could disagree.
10
+ * They did, twice in one day:
11
+ *
12
+ * - The CLI's engine path honoured `OVERSKY_CONFIG_DIR` while its config did
13
+ * not, so a relocated root moved the engine and left the credentials in
14
+ * `$HOME`. Fixed by teaching `config.ts` the variable — which promptly
15
+ * re-created the split in the mirror image, because `sky-code.ts` still read
16
+ * only the old name.
17
+ * - The daemon then had the same shape, and fixing the CLI's half turned it
18
+ * into a CLI/daemon divergence: with the variable set, the two halves of one
19
+ * product disagreed about where the credentials live.
20
+ *
21
+ * Each of those was a correct local fix that created the next defect, because
22
+ * the root was being DERIVED rather than READ. Teaching every site the same list
23
+ * of variable names only defers the problem to whenever the list changes again —
24
+ * which is exactly what `SKRR_CONFIG_DIR` did.
25
+ *
26
+ * So: one function, and a boundary test that fails if anything re-derives it.
27
+ *
28
+ * `SKRR_CONFIG_DIR` is the spelling for anything new (root `CLAUDE.md`) and wins
29
+ * when both are set. `OVERSKY_CONFIG_DIR` keeps working because existing installs,
30
+ * the engine resolver and the daemon all read it, and breaking a documented
31
+ * override to tidy a name would be a worse trade than carrying two.
32
+ *
33
+ * Takes `env` rather than reading the global so a caller can resolve a root for a
34
+ * child process it is about to spawn, and so tests need no process-wide mutation.
35
+ */
36
+ export function resolveConfigRoot(env = process.env) {
37
+ const override = (env.SKRR_CONFIG_DIR || env.OVERSKY_CONFIG_DIR)?.trim();
38
+ return override || path.join(homedir(), '.skrr');
39
+ }
40
+ /** A path under the skrr root, e.g. `configRootPath(env, 'sky-code', 'bin')`. */
41
+ export function configRootPath(env, ...segments) {
42
+ return path.join(resolveConfigRoot(env), ...segments);
43
+ }
44
+ /**
45
+ * Has the operator explicitly relocated the root?
46
+ *
47
+ * A distinct question from "what is the root", and it has a real caller: the
48
+ * legacy-location fallbacks exist to find state left by an older layout under
49
+ * `$HOME`, and once someone has POINTED the root somewhere, guessing at
50
+ * `$HOME` is no longer a helpful fallback — it is a different machine's data.
51
+ *
52
+ * Shared for the same reason as `resolveConfigRoot`: this check was copied to
53
+ * three call sites, each spelling the variable list itself, so adding
54
+ * `SKRR_CONFIG_DIR` to the resolver silently left the copies answering the old
55
+ * question.
56
+ */
57
+ export function isConfigRootOverridden(env = process.env) {
58
+ return Boolean((env.SKRR_CONFIG_DIR || env.OVERSKY_CONFIG_DIR)?.trim());
59
+ }
@@ -36,3 +36,4 @@ export { sanitizeSpawnEnv, SENSITIVE_ENV_VARS, SENSITIVE_ENV_PREFIXES, SENSITIVE
36
36
  export { CONFIG_DIR_NAME, LEGACY_CONFIG_DIR_NAMES, NATIVE_ID_PREFIX, LEGACY_NATIVE_ID_PREFIXES, DEFAULT_BINARY_NAME, } from './localIdentity.js';
37
37
  export { findLegacyLocalState, describeLegacyState, type LegacyStateFinding, type LegacyStateReport, } from './legacyStatePreflight.js';
38
38
  export { DEFAULT_SKY_CODE_CHANNEL, DEFAULT_SKY_CODE_FEED_BASE, SKY_CODE_CHANNELS, SKY_CODE_CHANNEL_ENV, SKY_CODE_MANIFEST_FILE, isSkyCodeChannel, resolveChannelManifestUrl, resolveSkyCodeChannel, skyCodeChannelPrefix, skyCodeFeedBase, SKY_CODE_FEED_BASE_ENV, type SkyCodeChannel, } from './skyCodeChannels.js';
39
+ export { resolveConfigRoot, configRootPath, isConfigRootOverridden } from './configRoot.js';
@@ -143,3 +143,6 @@ export { CONFIG_DIR_NAME, LEGACY_CONFIG_DIR_NAMES, NATIVE_ID_PREFIX, LEGACY_NATI
143
143
  reads, copies or removes what it finds (§7.2, §8.4). */
144
144
  export { findLegacyLocalState, describeLegacyState, } from './legacyStatePreflight.js';
145
145
  export { DEFAULT_SKY_CODE_CHANNEL, DEFAULT_SKY_CODE_FEED_BASE, SKY_CODE_CHANNELS, SKY_CODE_CHANNEL_ENV, SKY_CODE_MANIFEST_FILE, isSkyCodeChannel, resolveChannelManifestUrl, resolveSkyCodeChannel, skyCodeChannelPrefix, skyCodeFeedBase, SKY_CODE_FEED_BASE_ENV, } from './skyCodeChannels.js';
146
+ // The one definition of the skrr root, shared by `skrr` and `skrrd`. See the
147
+ // module for why re-deriving it kept producing divergences.
148
+ export { resolveConfigRoot, configRootPath, isConfigRootOverridden } from './configRoot.js';
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skrr-ai/auth-core",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "main": "dist/cjs/index.js",
5
5
  "types": "dist/esm/index.d.ts",
6
6
  "exports": {
@@ -40719,7 +40719,7 @@ var Kb = e.z.object({ resourceType: e.z.enum(exports.ResourceType), resourceId:
40719
40719
  var Vb = e.z.object({ permissionBits: e.z.number() });
40720
40720
  var Hb;
40721
40721
  var qb = ((Nb = {})[exports.AccessRoleIds.AGENT_VIEWER] = exports.PermissionBits.VIEW, Nb[exports.AccessRoleIds.AGENT_EDITOR] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT, Nb[exports.AccessRoleIds.AGENT_OWNER] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT | exports.PermissionBits.DELETE | exports.PermissionBits.SHARE, Nb[exports.AccessRoleIds.PROMPTGROUP_VIEWER] = exports.PermissionBits.VIEW, Nb[exports.AccessRoleIds.PROMPTGROUP_EDITOR] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT, Nb[exports.AccessRoleIds.PROMPTGROUP_OWNER] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT | exports.PermissionBits.DELETE | exports.PermissionBits.SHARE, Nb[exports.AccessRoleIds.SPACE_VIEWER] = exports.PermissionBits.VIEW, Nb[exports.AccessRoleIds.SPACE_EDITOR] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT, Nb[exports.AccessRoleIds.SPACE_OWNER] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT | exports.PermissionBits.DELETE | exports.PermissionBits.SHARE, Nb[exports.AccessRoleIds.GOAL_VIEWER] = exports.PermissionBits.VIEW, Nb[exports.AccessRoleIds.GOAL_EDITOR] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT, Nb[exports.AccessRoleIds.GOAL_OWNER] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT | exports.PermissionBits.DELETE | exports.PermissionBits.SHARE, Nb[exports.AccessRoleIds.TASK_VIEWER] = exports.PermissionBits.VIEW, Nb[exports.AccessRoleIds.TASK_EDITOR] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT, Nb[exports.AccessRoleIds.TASK_OWNER] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT | exports.PermissionBits.DELETE | exports.PermissionBits.SHARE, Nb[exports.AccessRoleIds.ROUTINE_VIEWER] = exports.PermissionBits.VIEW, Nb[exports.AccessRoleIds.ROUTINE_EDITOR] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT, Nb[exports.AccessRoleIds.ROUTINE_OWNER] = exports.PermissionBits.VIEW | exports.PermissionBits.EDIT | exports.PermissionBits.DELETE | exports.PermissionBits.SHARE, Nb);
40722
- exports.QueryKeys = void 0, (Hb = exports.QueryKeys || (exports.QueryKeys = {})).messages = "messages", Hb.sharedMessages = "sharedMessages", Hb.sharedLinks = "sharedLinks", Hb.allConversations = "allConversations", Hb.archivedConversations = "archivedConversations", Hb.searchConversations = "searchConversations", Hb.conversation = "conversation", Hb.searchEnabled = "searchEnabled", Hb.user = "user", Hb.name = "name", Hb.models = "models", Hb.balance = "balance", Hb.endpoints = "endpoints", Hb.searchResults = "searchResults", Hb.tokenCount = "tokenCount", Hb.availablePlugins = "availablePlugins", Hb.startupConfig = "startupConfig", Hb.assistants = "assistants", Hb.assistant = "assistant", Hb.agents = "agents", Hb.agent = "agent", Hb.alwaysOnStatus = "alwaysOnStatus", Hb.agentGroups = "agentGroups", Hb.agentGroup = "agentGroup", Hb.files = "files", Hb.fileConfig = "fileConfig", Hb.tools = "tools", Hb.toolAuth = "toolAuth", Hb.toolCalls = "toolCalls", Hb.mcpTools = "mcpTools", Hb.mcpConnectionStatus = "mcpConnectionStatus", Hb.mcpAuthValues = "mcpAuthValues", Hb.agentTools = "agentTools", Hb.actions = "actions", Hb.assistantDocs = "assistantDocs", Hb.agentDocs = "agentDocs", Hb.fileDownload = "fileDownload", Hb.filePreview = "filePreview", Hb.voices = "voices", Hb.customConfigSpeech = "customConfigSpeech", Hb.voiceModels = "voiceModels", Hb.prompts = "prompts", Hb.prompt = "prompt", Hb.promptGroups = "promptGroups", Hb.allPromptGroups = "allPromptGroups", Hb.promptGroup = "promptGroup", Hb.categories = "categories", Hb.randomPrompts = "randomPrompts", Hb.agentCategories = "agentCategories", Hb.userAgentCategories = "userAgentCategories", Hb.userCustomCategories = "userCustomCategories", Hb.marketplaceAgents = "marketplaceAgents", Hb.roles = "roles", Hb.conversationTags = "conversationTags", Hb.health = "health", Hb.userTerms = "userTerms", Hb.banner = "banner", Hb.memories = "memories", Hb.scheduledMessages = "scheduledMessages", Hb.scheduledMessagesStats = "scheduledMessagesStats", Hb.scheduledMessagesUnreadCounts = "scheduledMessagesUnreadCounts", Hb.agentChats = "agentChats", Hb.upcoming = "upcoming", Hb.adminQueuesOverview = "adminQueuesOverview", Hb.adminQueueJobs = "adminQueueJobs", Hb.adminDlqJobs = "adminDlqJobs", Hb.adminTriggerAdmissionCatalog = "adminTriggerAdmissionCatalog", Hb.adminTriggerAdmissionEffectivePolicy = "adminTriggerAdmissionEffectivePolicy", Hb.adminTriggerAdmissionDecisions = "adminTriggerAdmissionDecisions", Hb.principalSearch = "principalSearch", Hb.accessRoles = "accessRoles", Hb.resourcePermissions = "resourcePermissions", Hb.effectivePermissions = "effectivePermissions", Hb.graphToken = "graphToken", Hb.slackManagerToken = "slackManagerToken", Hb.slackSharedApp = "slackSharedApp", Hb.storeAgents = "storeAgents", Hb.storeAgent = "storeAgent", Hb.storeAgentReleases = "storeAgentReleases", Hb.storeAgentInstallPlan = "storeAgentInstallPlan", Hb.storeAgentInstallFunnelSummary = "storeAgentInstallFunnelSummary", Hb.storeAgentProactiveVerificationReviewPacket = "storeAgentProactiveVerificationReviewPacket", Hb.storeAgentProactiveVerificationReviewQueue = "storeAgentProactiveVerificationReviewQueue", Hb.storeAgentProactiveVerificationReviewEscalations = "storeAgentProactiveVerificationReviewEscalations", Hb.agentReleases = "agentReleases", Hb.storeAgentsFeatured = "storeAgentsFeatured", Hb.storeAgentCategories = "storeAgentCategories", Hb.agentPurchaseStatus = "agentPurchaseStatus", Hb.purchasedAgents = "purchasedAgents", Hb.agentUserRating = "agentUserRating", Hb.storeTeams = "storeTeams", Hb.storeTeam = "storeTeam", Hb.storeTeamsFeatured = "storeTeamsFeatured", Hb.storeCategories = "storeCategories", Hb.userTeams = "userTeams", Hb.bootstrap = "bootstrap", Hb.bootstrapHistory = "bootstrapHistory", Hb.skills = "skills", Hb.skill = "skill", Hb.skillsByAgent = "skillsByAgent", Hb.skillCategories = "skillCategories", Hb.invocableSkills = "invocableSkills", Hb.storeSkills = "storeSkills", Hb.storeSkill = "storeSkill", Hb.storeSkillsFeatured = "storeSkillsFeatured", Hb.storeSkillCategories = "storeSkillCategories", Hb.storeSkillPurchaseStatus = "storeSkillPurchaseStatus", Hb.purchasedSkills = "purchasedSkills", Hb.actionListings = "actionListings", Hb.action = "action", Hb.storeActions = "storeActions", Hb.storeActionCategories = "storeActionCategories", Hb.daemons = "daemons", Hb.daemonLocalSignals = "daemonLocalSignals", Hb.managedInstructionBundles = "managedInstructionBundles", Hb.managedInstructionVersions = "managedInstructionVersions", Hb.managedInstructionTargets = "managedInstructionTargets", Hb.managedInstructionOffer = "managedInstructionOffer", Hb.daemonSkills = "daemonSkills", Hb.daemonConsents = "daemonConsents", Hb.oauthClients = "oauthClients", Hb.oauthAuthorizeMetadata = "oauthAuthorizeMetadata", Hb.storeServices = "storeServices", Hb.storeService = "storeService", Hb.storeServicesFeatured = "storeServicesFeatured", Hb.storeServiceCategories = "storeServiceCategories", Hb.storeServicePurchaseStatus = "storeServicePurchaseStatus", Hb.storeServiceUserRating = "storeServiceUserRating", Hb.purchasedServices = "purchasedServices", Hb.featureFlags = "featureFlags", Hb.featureFlag = "featureFlag", Hb.featureFlagAudit = "featureFlagAudit", Hb.evaluatedFlags = "evaluatedFlags", Hb.stripePackages = "stripePackages", Hb.connectAccountStatus = "connectAccountStatus", Hb.connectEarnings = "connectEarnings", Hb.connectPayoutHistory = "connectPayoutHistory", Hb.connectAnalyticsAgents = "connectAnalyticsAgents", Hb.connectAnalyticsSales = "connectAnalyticsSales", Hb.connectAnalyticsTrends = "connectAnalyticsTrends", Hb.purchaseHistory = "purchaseHistory", Hb.referralSummary = "referralSummary", Hb.referralHistory = "referralHistory", Hb.publisherProfile = "publisherProfile", Hb.subscription = "subscription", Hb.usageSummary = "usageSummary", Hb.usageDailyBreakdown = "usageDailyBreakdown", Hb.usageSessions = "usageSessions", Hb.usageByAgent = "usageByAgent", Hb.transactionHistory = "transactionHistory", Hb.paymentHistory = "paymentHistory", Hb.labels = "labels", Hb.label = "label", Hb.labelPalette = "labelPalette", Hb.tasks = "tasks", Hb.taskCalendar = "taskCalendar", Hb.task = "task", Hb.pendingFollowUps = "pendingFollowUps", Hb.taskChildren = "taskChildren", Hb.taskAncestors = "taskAncestors", Hb.taskDescendants = "taskDescendants", Hb.taskActivity = "taskActivity", Hb.taskExecutionSummary = "taskExecutionSummary", Hb.taskExecutionTimeline = "taskExecutionTimeline", Hb.taskReplay = "taskReplay", Hb.taskRuns = "taskRuns", Hb.taskTranscript = "taskTranscript", Hb.taskTranscriptSources = "taskTranscriptSources", Hb.taskChat = "taskChat", Hb.taskExchanges = "taskExchanges", Hb.taskHumanInput = "taskHumanInput", Hb.taskExecutionRuns = "taskExecutionRuns", Hb.taskRunCommunications = "taskRunCommunications", Hb.taskCascadeCommunications = "taskCascadeCommunications", Hb.taskComments = "taskComments", Hb.taskEvents = "taskEvents", Hb.taskLabels = "taskLabels", Hb.taskApprovals = "taskApprovals", Hb.taskAttachments = "taskAttachments", Hb.cascadeStatus = "cascadeStatus", Hb.driStatus = "driStatus", Hb.requests = "requests", Hb.request = "request", Hb.requestComments = "requestComments", Hb.pendingRequestCount = "pendingRequestCount", Hb.goals = "goals", Hb.goal = "goal", Hb.agentGoals = "agentGoals", Hb.goalTasks = "goalTasks", Hb.goalDescendants = "goalDescendants", Hb.commitments = "commitments", Hb.commitment = "commitment", Hb.commitmentWorkLinks = "commitmentWorkLinks", Hb.commitmentWorkLinksForTarget = "commitmentWorkLinksForTarget", Hb.commitmentChecks = "commitmentChecks", Hb.commitmentTrace = "commitmentTrace", Hb.commitmentActionHistory = "commitmentActionHistory", Hb.commitmentCases = "commitmentCases", Hb.commitmentCase = "commitmentCase", Hb.commitmentRemediationProposals = "commitmentRemediationProposals", Hb.commitmentRemediationProposal = "commitmentRemediationProposal", Hb.commitmentReflectionReview = "commitmentReflectionReview", Hb.commitmentObservations = "commitmentObservations", Hb.commitmentHypotheses = "commitmentHypotheses", Hb.commitmentDailyMetrics = "commitmentDailyMetrics", Hb.commitmentAnalytics = "commitmentAnalytics", Hb.commitmentPrdMetricReadout = "commitmentPrdMetricReadout", Hb.commitmentOperationsQueue = "commitmentOperationsQueue", Hb.commitmentGovernanceExceptions = "commitmentGovernanceExceptions", Hb.commitmentJoinedReplay = "commitmentJoinedReplay", Hb.commitmentActionAdapterAudit = "commitmentActionAdapterAudit", Hb.commitmentDistribution = "commitmentDistribution", Hb.commitmentAttentionBudget = "commitmentAttentionBudget", Hb.commitmentHeldSurfaces = "commitmentHeldSurfaces", Hb.northstars = "northstars", Hb.northstar = "northstar", Hb.spaces = "spaces", Hb.rooms = "rooms", Hb.space = "space", Hb.spaceRoom = "spaceRoom", Hb.spaceSummary = "spaceSummary", Hb.spaceTasks = "spaceTasks", Hb.spaceCycles = "spaceCycles", Hb.spaceTaskInsights = "spaceTaskInsights", Hb.workspaceTaskInsights = "workspaceTaskInsights", Hb.spaceGoals = "spaceGoals", Hb.spaceProjects = "spaceProjects", Hb.projects = "projects", Hb.spaceAutoExecutorPreview = "spaceAutoExecutorPreview", Hb.spaceBriefs = "spaceBriefs", Hb.spaceConversations = "spaceConversations", Hb.spaceHeartbeats = "spaceHeartbeats", Hb.spaceHeartbeat = "spaceHeartbeat", Hb.spaceWorkflowTemplates = "spaceWorkflowTemplates", Hb.spaceShortcuts = "spaceShortcuts", Hb.spaceSnippets = "spaceSnippets", Hb.spaceSkills = "spaceSkills", Hb.spaceSubspaces = "spaceSubspaces", Hb.spaceMembers = "spaceMembers", Hb.spaceTemplates = "spaceTemplates", Hb.spaceTemplateDetail = "spaceTemplateDetail", Hb.spaceTemplateCategories = "spaceTemplateCategories", Hb.spaceTemplateFeatured = "spaceTemplateFeatured", Hb.spaceTemplatesMine = "spaceTemplatesMine", Hb.spaceTemplatePurchaseStatus = "spaceTemplatePurchaseStatus", Hb.worklogs = "worklogs", Hb.worklogStats = "worklogStats", Hb.worklog = "worklog", Hb.outcomes = "outcomes", Hb.spaceOutcomes = "spaceOutcomes", Hb.agentWidgets = "agentWidgets", Hb.agentWidget = "agentWidget", Hb.agentWidgetVersions = "agentWidgetVersions", Hb.slackConfig = "slackConfig", Hb.slackChannels = "slackChannels", Hb.slackHealth = "slackHealth", Hb.slackToolDefinitions = "slackToolDefinitions", Hb.slackToolChannels = "slackToolChannels", Hb.slackToolUsers = "slackToolUsers", Hb.slackToolMessages = "slackToolMessages", Hb.slackEventTest = "slackEventTest", Hb.channelConfig = "channelConfig", Hb.agentPreferences = "agentPreferences", Hb.allAgentPreferences = "allAgentPreferences", Hb.agentNotepad = "agentNotepad", Hb.chatBackgrounds = "chatBackgrounds", Hb.dockPreferences = "dockPreferences", Hb.groupChatWidgets = "groupChatWidgets", Hb.groupChatWidget = "groupChatWidget", Hb.groupChatSpaces = "groupChatSpaces", Hb.allGroupChatPreferences = "allGroupChatPreferences", Hb.allSpacePreferences = "allSpacePreferences", Hb.waitlist = "waitlist", Hb.waitlistStats = "waitlistStats", Hb.invitationCodes = "invitationCodes", Hb.dashboardLayout = "dashboardLayout", Hb.dashboardLayouts = "dashboardLayouts", Hb.spaceViews = "spaceViews", Hb.spaceView = "spaceView", Hb.spaceDirectoryViews = "spaceDirectoryViews", Hb.workViews = "workViews", Hb.space3DCards = "space3DCards", Hb.spaceLiveScene = "spaceLiveScene", Hb.todayLayout = "todayLayout", Hb.characters3D = "characters3D", Hb.character3DGenerations = "character3DGenerations", Hb.character3DGeneration = "character3DGeneration", Hb.character3DGenerationQuota = "character3DGenerationQuota", Hb.tones = "tones", Hb.workspaces = "workspaces", Hb.workspace = "workspace", Hb.workspaceMembers = "workspaceMembers", Hb.workspaceInvites = "workspaceInvites", Hb.myWorkspaceInvites = "myWorkspaceInvites", Hb.workspaceGroupChats = "workspaceGroupChats", Hb.workspaceSkills = "workspaceSkills", Hb.inboxSections = "inboxSections", Hb.agentTriggers = "agentTriggers", Hb.agentTrigger = "agentTrigger", Hb.agentTriggerRuns = "agentTriggerRuns", Hb.todos = "todos", Hb.todo = "todo", Hb.feedBookmarks = "feedBookmarks", Hb.feedMyBookmarks = "feedMyBookmarks", Hb.feedIncomingShares = "feedIncomingShares", Hb.feedAnnotations = "feedAnnotations", Hb.feedReactions = "feedReactions", Hb.feedMyReactions = "feedMyReactions", Hb.feedPinnedPosts = "feedPinnedPosts", Hb.docCommentThreads = "docCommentThreads";
40722
+ exports.QueryKeys = void 0, (Hb = exports.QueryKeys || (exports.QueryKeys = {})).messages = "messages", Hb.sharedMessages = "sharedMessages", Hb.sharedLinks = "sharedLinks", Hb.allConversations = "allConversations", Hb.archivedConversations = "archivedConversations", Hb.searchConversations = "searchConversations", Hb.conversation = "conversation", Hb.searchEnabled = "searchEnabled", Hb.user = "user", Hb.name = "name", Hb.models = "models", Hb.balance = "balance", Hb.endpoints = "endpoints", Hb.searchResults = "searchResults", Hb.tokenCount = "tokenCount", Hb.availablePlugins = "availablePlugins", Hb.startupConfig = "startupConfig", Hb.assistants = "assistants", Hb.assistant = "assistant", Hb.agents = "agents", Hb.agent = "agent", Hb.alwaysOnStatus = "alwaysOnStatus", Hb.agentGroups = "agentGroups", Hb.agentGroup = "agentGroup", Hb.files = "files", Hb.fileConfig = "fileConfig", Hb.tools = "tools", Hb.toolAuth = "toolAuth", Hb.toolCalls = "toolCalls", Hb.mcpTools = "mcpTools", Hb.mcpConnectionStatus = "mcpConnectionStatus", Hb.mcpAuthValues = "mcpAuthValues", Hb.agentTools = "agentTools", Hb.actions = "actions", Hb.assistantDocs = "assistantDocs", Hb.agentDocs = "agentDocs", Hb.fileDownload = "fileDownload", Hb.filePreview = "filePreview", Hb.voices = "voices", Hb.customConfigSpeech = "customConfigSpeech", Hb.voiceModels = "voiceModels", Hb.prompts = "prompts", Hb.prompt = "prompt", Hb.promptGroups = "promptGroups", Hb.allPromptGroups = "allPromptGroups", Hb.promptGroup = "promptGroup", Hb.categories = "categories", Hb.randomPrompts = "randomPrompts", Hb.agentCategories = "agentCategories", Hb.userAgentCategories = "userAgentCategories", Hb.userCustomCategories = "userCustomCategories", Hb.marketplaceAgents = "marketplaceAgents", Hb.roles = "roles", Hb.conversationTags = "conversationTags", Hb.health = "health", Hb.userTerms = "userTerms", Hb.banner = "banner", Hb.memories = "memories", Hb.scheduledMessages = "scheduledMessages", Hb.scheduledMessagesStats = "scheduledMessagesStats", Hb.scheduledMessagesUnreadCounts = "scheduledMessagesUnreadCounts", Hb.agentChats = "agentChats", Hb.upcoming = "upcoming", Hb.adminQueuesOverview = "adminQueuesOverview", Hb.adminQueueJobs = "adminQueueJobs", Hb.adminDlqJobs = "adminDlqJobs", Hb.adminTriggerAdmissionCatalog = "adminTriggerAdmissionCatalog", Hb.adminTriggerAdmissionEffectivePolicy = "adminTriggerAdmissionEffectivePolicy", Hb.adminTriggerAdmissionDecisions = "adminTriggerAdmissionDecisions", Hb.principalSearch = "principalSearch", Hb.accessRoles = "accessRoles", Hb.resourcePermissions = "resourcePermissions", Hb.effectivePermissions = "effectivePermissions", Hb.graphToken = "graphToken", Hb.slackManagerToken = "slackManagerToken", Hb.slackSharedApp = "slackSharedApp", Hb.storeAgents = "storeAgents", Hb.storeAgent = "storeAgent", Hb.storeAgentReleases = "storeAgentReleases", Hb.storeAgentInstallPlan = "storeAgentInstallPlan", Hb.storeAgentInstallFunnelSummary = "storeAgentInstallFunnelSummary", Hb.storeAgentProactiveVerificationReviewPacket = "storeAgentProactiveVerificationReviewPacket", Hb.storeAgentProactiveVerificationReviewQueue = "storeAgentProactiveVerificationReviewQueue", Hb.storeAgentProactiveVerificationReviewEscalations = "storeAgentProactiveVerificationReviewEscalations", Hb.agentReleases = "agentReleases", Hb.storeAgentsFeatured = "storeAgentsFeatured", Hb.storeAgentCategories = "storeAgentCategories", Hb.agentPurchaseStatus = "agentPurchaseStatus", Hb.purchasedAgents = "purchasedAgents", Hb.agentUserRating = "agentUserRating", Hb.storeTeams = "storeTeams", Hb.storeTeam = "storeTeam", Hb.storeTeamsFeatured = "storeTeamsFeatured", Hb.storeCategories = "storeCategories", Hb.userTeams = "userTeams", Hb.bootstrap = "bootstrap", Hb.bootstrapHistory = "bootstrapHistory", Hb.skills = "skills", Hb.skill = "skill", Hb.skillsByAgent = "skillsByAgent", Hb.skillCategories = "skillCategories", Hb.invocableSkills = "invocableSkills", Hb.storeSkills = "storeSkills", Hb.storeSkill = "storeSkill", Hb.storeSkillsFeatured = "storeSkillsFeatured", Hb.storeSkillCategories = "storeSkillCategories", Hb.storeSkillPurchaseStatus = "storeSkillPurchaseStatus", Hb.purchasedSkills = "purchasedSkills", Hb.actionListings = "actionListings", Hb.action = "action", Hb.storeActions = "storeActions", Hb.storeActionCategories = "storeActionCategories", Hb.daemons = "daemons", Hb.daemonLocalSignals = "daemonLocalSignals", Hb.managedInstructionBundles = "managedInstructionBundles", Hb.managedInstructionVersions = "managedInstructionVersions", Hb.managedInstructionTargets = "managedInstructionTargets", Hb.managedInstructionOffer = "managedInstructionOffer", Hb.daemonSkills = "daemonSkills", Hb.daemonConsents = "daemonConsents", Hb.oauthClients = "oauthClients", Hb.oauthAuthorizeMetadata = "oauthAuthorizeMetadata", Hb.storeServices = "storeServices", Hb.storeService = "storeService", Hb.storeServicesFeatured = "storeServicesFeatured", Hb.storeServiceCategories = "storeServiceCategories", Hb.storeServicePurchaseStatus = "storeServicePurchaseStatus", Hb.storeServiceUserRating = "storeServiceUserRating", Hb.purchasedServices = "purchasedServices", Hb.featureFlags = "featureFlags", Hb.featureFlag = "featureFlag", Hb.featureFlagAudit = "featureFlagAudit", Hb.evaluatedFlags = "evaluatedFlags", Hb.stripePackages = "stripePackages", Hb.connectAccountStatus = "connectAccountStatus", Hb.connectEarnings = "connectEarnings", Hb.connectPayoutHistory = "connectPayoutHistory", Hb.connectAnalyticsAgents = "connectAnalyticsAgents", Hb.connectAnalyticsSales = "connectAnalyticsSales", Hb.connectAnalyticsTrends = "connectAnalyticsTrends", Hb.purchaseHistory = "purchaseHistory", Hb.referralSummary = "referralSummary", Hb.referralHistory = "referralHistory", Hb.publisherProfile = "publisherProfile", Hb.subscription = "subscription", Hb.usageSummary = "usageSummary", Hb.usageDailyBreakdown = "usageDailyBreakdown", Hb.usageSessions = "usageSessions", Hb.usageByAgent = "usageByAgent", Hb.transactionHistory = "transactionHistory", Hb.paymentHistory = "paymentHistory", Hb.labels = "labels", Hb.label = "label", Hb.labelPalette = "labelPalette", Hb.tasks = "tasks", Hb.taskCalendar = "taskCalendar", Hb.task = "task", Hb.pendingFollowUps = "pendingFollowUps", Hb.taskChildren = "taskChildren", Hb.taskAncestors = "taskAncestors", Hb.taskDescendants = "taskDescendants", Hb.taskActivity = "taskActivity", Hb.taskExecutionSummary = "taskExecutionSummary", Hb.taskExecutionTimeline = "taskExecutionTimeline", Hb.taskReplay = "taskReplay", Hb.taskRuns = "taskRuns", Hb.taskTranscript = "taskTranscript", Hb.taskTranscriptSources = "taskTranscriptSources", Hb.taskChat = "taskChat", Hb.taskExchanges = "taskExchanges", Hb.taskHumanInput = "taskHumanInput", Hb.taskExecutionRuns = "taskExecutionRuns", Hb.taskRunCommunications = "taskRunCommunications", Hb.taskCascadeCommunications = "taskCascadeCommunications", Hb.taskComments = "taskComments", Hb.taskEvents = "taskEvents", Hb.taskLabels = "taskLabels", Hb.taskApprovals = "taskApprovals", Hb.taskAttachments = "taskAttachments", Hb.cascadeStatus = "cascadeStatus", Hb.driStatus = "driStatus", Hb.requests = "requests", Hb.request = "request", Hb.requestComments = "requestComments", Hb.pendingRequestCount = "pendingRequestCount", Hb.goals = "goals", Hb.goal = "goal", Hb.agentGoals = "agentGoals", Hb.goalTasks = "goalTasks", Hb.goalDescendants = "goalDescendants", Hb.commitments = "commitments", Hb.commitment = "commitment", Hb.commitmentWorkLinks = "commitmentWorkLinks", Hb.commitmentWorkLinksForTarget = "commitmentWorkLinksForTarget", Hb.commitmentChecks = "commitmentChecks", Hb.commitmentTrace = "commitmentTrace", Hb.commitmentActionHistory = "commitmentActionHistory", Hb.commitmentCases = "commitmentCases", Hb.commitmentCase = "commitmentCase", Hb.commitmentRemediationProposals = "commitmentRemediationProposals", Hb.commitmentRemediationProposal = "commitmentRemediationProposal", Hb.commitmentReflectionReview = "commitmentReflectionReview", Hb.commitmentObservations = "commitmentObservations", Hb.commitmentHypotheses = "commitmentHypotheses", Hb.commitmentDailyMetrics = "commitmentDailyMetrics", Hb.commitmentAnalytics = "commitmentAnalytics", Hb.commitmentPrdMetricReadout = "commitmentPrdMetricReadout", Hb.commitmentOperationsQueue = "commitmentOperationsQueue", Hb.commitmentGovernanceExceptions = "commitmentGovernanceExceptions", Hb.commitmentJoinedReplay = "commitmentJoinedReplay", Hb.commitmentActionAdapterAudit = "commitmentActionAdapterAudit", Hb.commitmentDistribution = "commitmentDistribution", Hb.commitmentAttentionBudget = "commitmentAttentionBudget", Hb.commitmentDecisionInbox = "commitmentDecisionInbox", Hb.commitmentHeldSurfaces = "commitmentHeldSurfaces", Hb.northstars = "northstars", Hb.northstar = "northstar", Hb.spaces = "spaces", Hb.rooms = "rooms", Hb.space = "space", Hb.spaceRoom = "spaceRoom", Hb.spaceSummary = "spaceSummary", Hb.spaceTasks = "spaceTasks", Hb.spaceCycles = "spaceCycles", Hb.spaceTaskInsights = "spaceTaskInsights", Hb.workspaceTaskInsights = "workspaceTaskInsights", Hb.spaceGoals = "spaceGoals", Hb.spaceProjects = "spaceProjects", Hb.projects = "projects", Hb.spaceAutoExecutorPreview = "spaceAutoExecutorPreview", Hb.spaceBriefs = "spaceBriefs", Hb.spaceConversations = "spaceConversations", Hb.spaceHeartbeats = "spaceHeartbeats", Hb.spaceHeartbeat = "spaceHeartbeat", Hb.spaceWorkflowTemplates = "spaceWorkflowTemplates", Hb.spaceShortcuts = "spaceShortcuts", Hb.spaceSnippets = "spaceSnippets", Hb.spaceSkills = "spaceSkills", Hb.spaceSubspaces = "spaceSubspaces", Hb.spaceMembers = "spaceMembers", Hb.spaceTemplates = "spaceTemplates", Hb.spaceTemplateDetail = "spaceTemplateDetail", Hb.spaceTemplateCategories = "spaceTemplateCategories", Hb.spaceTemplateFeatured = "spaceTemplateFeatured", Hb.spaceTemplatesMine = "spaceTemplatesMine", Hb.spaceTemplatePurchaseStatus = "spaceTemplatePurchaseStatus", Hb.worklogs = "worklogs", Hb.worklogStats = "worklogStats", Hb.worklog = "worklog", Hb.outcomes = "outcomes", Hb.spaceOutcomes = "spaceOutcomes", Hb.agentWidgets = "agentWidgets", Hb.agentWidget = "agentWidget", Hb.agentWidgetVersions = "agentWidgetVersions", Hb.slackConfig = "slackConfig", Hb.slackChannels = "slackChannels", Hb.slackHealth = "slackHealth", Hb.slackToolDefinitions = "slackToolDefinitions", Hb.slackToolChannels = "slackToolChannels", Hb.slackToolUsers = "slackToolUsers", Hb.slackToolMessages = "slackToolMessages", Hb.slackEventTest = "slackEventTest", Hb.channelConfig = "channelConfig", Hb.agentPreferences = "agentPreferences", Hb.allAgentPreferences = "allAgentPreferences", Hb.agentNotepad = "agentNotepad", Hb.chatBackgrounds = "chatBackgrounds", Hb.dockPreferences = "dockPreferences", Hb.groupChatWidgets = "groupChatWidgets", Hb.groupChatWidget = "groupChatWidget", Hb.groupChatSpaces = "groupChatSpaces", Hb.allGroupChatPreferences = "allGroupChatPreferences", Hb.allSpacePreferences = "allSpacePreferences", Hb.waitlist = "waitlist", Hb.waitlistStats = "waitlistStats", Hb.invitationCodes = "invitationCodes", Hb.dashboardLayout = "dashboardLayout", Hb.dashboardLayouts = "dashboardLayouts", Hb.spaceViews = "spaceViews", Hb.spaceView = "spaceView", Hb.spaceDirectoryViews = "spaceDirectoryViews", Hb.workViews = "workViews", Hb.space3DCards = "space3DCards", Hb.spaceLiveScene = "spaceLiveScene", Hb.todayLayout = "todayLayout", Hb.characters3D = "characters3D", Hb.character3DGenerations = "character3DGenerations", Hb.character3DGeneration = "character3DGeneration", Hb.character3DGenerationQuota = "character3DGenerationQuota", Hb.tones = "tones", Hb.workspaces = "workspaces", Hb.workspace = "workspace", Hb.workspaceMembers = "workspaceMembers", Hb.workspaceInvites = "workspaceInvites", Hb.myWorkspaceInvites = "myWorkspaceInvites", Hb.workspaceGroupChats = "workspaceGroupChats", Hb.workspaceSkills = "workspaceSkills", Hb.inboxSections = "inboxSections", Hb.agentTriggers = "agentTriggers", Hb.agentTrigger = "agentTrigger", Hb.agentTriggerRuns = "agentTriggerRuns", Hb.todos = "todos", Hb.todo = "todo", Hb.feedBookmarks = "feedBookmarks", Hb.feedMyBookmarks = "feedMyBookmarks", Hb.feedIncomingShares = "feedIncomingShares", Hb.feedAnnotations = "feedAnnotations", Hb.feedReactions = "feedReactions", Hb.feedMyReactions = "feedMyReactions", Hb.feedPinnedPosts = "feedPinnedPosts", Hb.docCommentThreads = "docCommentThreads";
40723
40723
  var Yb;
40724
40724
  var Xb = { agentChat: function(e2) {
40725
40725
  return [exports.QueryKeys.agentChats, e2];
@@ -41395,6 +41395,8 @@ var Nx = Object.freeze({ __proto__: null, acceptAgentIntuition: function(e2, t2,
41395
41395
  return Sx.post((function(e3) {
41396
41396
  return "".concat(Br(e3), "/complete");
41397
41397
  })(e2), {});
41398
+ }, confirmDaemonHandoff: function(e2) {
41399
+ return Sx.post("".concat(Eo(), "/daemon-handoff/confirm"), e2);
41398
41400
  }, confirmSpaceWorkflowProposal: function(e2, t2, n2) {
41399
41401
  return Sx.post((function(e3, t3, n3) {
41400
41402
  return "".concat(or(e3, t3, n3), "/confirm");
@@ -42246,6 +42248,8 @@ var Nx = Object.freeze({ __proto__: null, acceptAgentIntuition: function(e2, t2,
42246
42248
  return Sx.get("".concat(Xr(), "/attention-budget"));
42247
42249
  }, getCommitmentCase: function(e2, t2) {
42248
42250
  return Sx.get(Vr(e2, t2));
42251
+ }, getCommitmentDecisionInbox: function() {
42252
+ return Sx.get("".concat(Xr(), "/decision-inbox"));
42249
42253
  }, getCommitmentDistribution: function(e2) {
42250
42254
  return Sx.get((function(e3) {
42251
42255
  var t2 = "".concat(Xr(), "/distribution");
@@ -43369,6 +43373,11 @@ var Nx = Object.freeze({ __proto__: null, acceptAgentIntuition: function(e2, t2,
43369
43373
  var n2 = "".concat(Br(e3), "/daily-metrics");
43370
43374
  return t3 ? "".concat(n2).concat($t(t3)) : n2;
43371
43375
  })(e2, t2));
43376
+ }, listCommitmentDistributionTripwireReadings: function(e2) {
43377
+ return Sx.get((function(e3) {
43378
+ var t2 = "".concat(Xr(), "/distribution/tripwire");
43379
+ return e3 ? "".concat(t2).concat($t(e3)) : t2;
43380
+ })(e2));
43372
43381
  }, listCommitmentGovernanceExceptions: function(e2) {
43373
43382
  return Sx.get((function(e3) {
43374
43383
  var t2 = "".concat(Xr(), "/governance/exceptions");
@@ -43732,6 +43741,8 @@ var Nx = Object.freeze({ __proto__: null, acceptAgentIntuition: function(e2, t2,
43732
43741
  return Sx.post((function(e3) {
43733
43742
  return "".concat(jo(), "/").concat(encodeURIComponent(e3), "/mark-duplicate");
43734
43743
  })(t2), { canonicalTaskId: n2 });
43744
+ }, mintDaemonHandoff: function(e2) {
43745
+ return Sx.post("".concat(Eo(), "/daemon-handoff"), e2);
43735
43746
  }, moveAgentFolderFile: function(e2) {
43736
43747
  var t2, n2 = e2.agent_id, o2 = e2.file_id, r2 = e2.target_folder_id;
43737
43748
  return Sx.patch((t2 = o2, "".concat(wn(n2), "/").concat(t2, "/move")), { target_folder_id: r2 });
@@ -45383,7 +45394,7 @@ exports.ACCEPTED_AGENT_TRIGGER_FIRE_OUTCOMES = ["succeeded", "in_progress", "awa
45383
45394
  return ["groupChatWidgets", e2];
45384
45395
  }, groupChatWidget: function(e2) {
45385
45396
  return ["groupChatWidget", e2];
45386
- } }, exports.EMBEDDED_ACTION_REF_ID_RE = sp, exports.EMBED_HYDRATORS = Hm, exports.EMBED_KINDS = Om, exports.EMBED_KIND_SPECS = Wm, exports.EMBED_KIND_SPEC_LIST = Bm, exports.EMBED_VARIANTS = ["card", "inline"], exports.ENVELOPE_RETENTION_REGISTRY = Jh, exports.ESTIMATE_SCALES = ["none", "points", "tshirt", "fibonacci", "linear"], exports.ESTIMATE_SCALE_MIGRATION_MODES = ["clear", "migrate"], exports.ESTIMATE_SCALE_VALUES = hv, exports.EXACT_TOOL_POLICY_SUPPORT = np, exports.EmbedRefParseError = af, exports.EndpointURLs = wc, exports.EnvelopeRoleSchema = ty, exports.FAILURE = kp, exports.FALLBACK_GIT_ACTOR = zv, exports.FEEDBACK_RATINGS = C, exports.FEEDBACK_REASON_KEYS = w, exports.FEEDBACK_TAGS = E, exports.FINAL_TEXT_SANITIZATION_PATTERNS = Gy, exports.FOLLOW_UP_POLICIES = ["observe", "gate", "divert"], exports.FOLLOW_UP_POLICY_OPTIONS = Cp, exports.FORMERLY = p, exports.FORM_FIELD_TYPES = ["text", "textarea", "number", "email", "url", "password", "select", "multiselect", "checkbox", "radio", "date", "time", "datetime", "file", "hidden"], exports.FileEventSchema = dy, exports.FunctionSignature = Hx, exports.GHOST_KEY_PREFIX = Qd, exports.GPT_56_MANAGED_REASONING_EFFORTS = _u, exports.HANDOVER_REASON_MAX_LENGTH = 500, exports.INITIAL_TYPE_VERSION = 1, exports.INSERT_REJECTION_MESSAGES = wd, exports.ImageVisionTool = se, exports.IntegrationConnectRequestSchema = Gh, exports.IntegrationExecuteRequestSchema = Fh, exports.IntegrationSetAllowedToolsSchema = Kh, exports.KEY_RESULT_PROGRESS_MODES = ["manual", "auto"], exports.KEY_RESULT_STATUS_VALUES = ["on_track", "at_risk", "off_track", "done"], exports.KOSMO_OFFICE_BACKGROUND_ASSET = Ph, exports.LABEL_APPLICABLE = ["task", "space", "goal", "routine"], exports.LABEL_PALETTE = ["6B7280", "EF4444", "F97316", "F59E0B", "EAB308", "84CC16", "22C55E", "10B981", "14B8A6", "06B6D4", "0EA5E9", "3B82F6", "6366F1", "8B5CF6", "A855F7", "D946EF", "EC4899", "F43F5E"], exports.LABEL_SCOPES = ["user", "space", "workspace"], exports.LEGACY_BRAND = u, exports.LEGACY_STATUS_TYPE_BY_ID = jd, exports.LOCAL_CLI_EFFORT_CATALOG = Eu, exports.LOCAL_CLI_MODEL_CATALOG = Mu, exports.LOCAL_EXECUTION_ENVIRONMENTS = Vu, exports.LOCAL_HARNESSES = $u, exports.LOCAL_HARNESS_PROVIDERS = ju, exports.LOCAL_HARNESS_PROVIDER_ENVIRONMENTS = Ku, exports.LOCAL_RUNTIMES = Xu, exports.LOCAL_RUNTIME_ENVIRONMENTS = Qu, exports.MANAGED_CLI_PROVIDER_IDS = d, exports.MAX_AGENT_MESSAGE_SEQUENCE_PARTS = 20, exports.MAX_EMBEDDED_ACTIONS = 10, exports.MAX_EMBEDDED_ACTION_LABEL_CHARS = 200, exports.MAX_EMBEDDED_ACTION_REF_ID_CHARS = 120, exports.MAX_KEY_RESULTS_PER_TASK = 50, exports.MAX_LOCAL_CLI_MODEL_LENGTH = Ou, exports.MAX_MESSAGE_EMBEDS = 10, exports.MCPOptionsSchema = Bt, exports.MCPServersSchema = jt, exports.NODE_DIRTINESS = od, exports.NODE_KEY_MAX = 160, exports.NODE_KEY_RE = yd, exports.NORTHSTAR_ANALYSIS_MODES = ["deterministic", "agent_assisted"], exports.NORTHSTAR_APPROVAL_TRIGGERS = ["resume", "complete", "cancel", "archive", "create", "reassign", "critical_commitment", "compute_increase"], exports.NORTHSTAR_EXECUTION_MODES = ["advisory", "approval", "bounded_auto"], exports.NORTHSTAR_INTENT_VERDICTS = ["advisory", "awaiting_approval", "approved", "applying", "applied", "rejected", "invalidated"], exports.NORTHSTAR_MANAGEMENT_INTENT_KINDS = ["pause_commitment", "resume_commitment", "reprioritize_commitment", "request_commitment_check", "set_execution_bounds", "create_commitment_proposal", "reassign_commitment_proposal"], exports.NORTHSTAR_REVIEW_STATUSES = ["running", "awaiting_agent", "succeeded", "failed"], exports.OFFLINE_MESSAGE_TERMINAL_DECLARATION_VERSION = 1, exports.OFFLINE_MESSAGE_TERMINAL_MAX_PENDING_GRANTS = 8, exports.OfflineMessageTerminalDeclarationSchema = sy, exports.OfflineMessageTerminalFenceSchema = ry, exports.OfflineMessageTerminalReleaseSchema = ay, exports.PERMANENT_TRANSCRIPT_CLASS_KEYS = ey, exports.PERSONALITY_ORDER = ["default", "helpful", "focused", "classic"], exports.PLATFORM_TOOL_NAMES = uv, exports.PORTABLE_CONFIG_POLICY = kd, exports.PROJECT_HEALTH_LABELS = { on_track: "On track", at_risk: "At risk", off_track: "Off track", no_update: "No update" }, exports.PROJECT_HEALTH_VALUES = fg, exports.PROVENANCE_MAX_INSERTIONS = 64, exports.PermissionAskEventSchema = ky, exports.PermissionModeChangeEventSchema = Iy, exports.PermissionResolvedEventSchema = Ty, exports.QuestionAskEventSchema = Sy, exports.QuestionResolvedEventSchema = Ry, exports.REASONING_EFFORT_VALUES = Cu, exports.RESERVED_LOCAL_CLI_MODEL_SENTINELS = Du, exports.RESET_MATCH_TOLERANCE_MS = ym, exports.RPC_EVENTS = { REQUEST: "rpc:request", RESPONSE: "rpc:response", CANCEL: "rpc:cancel" }, exports.SEPARATORS = ul, exports.SESSION_SERIES = km, exports.SESSION_WINDOW_MS = pm, exports.SESSION_WINDOW_SECONDS = lm, exports.SKILL_LIMITS = { NAME_MAX_LENGTH: 50, DISPLAY_NAME_MAX_LENGTH: 100, DESCRIPTION_MAX_LENGTH: 500, CONTENT_MAX_LENGTH: 102400, TRIGGER_HINT_MAX_LENGTH: 200 }, exports.SPACE_CHARACTER_CATALOG = xh, exports.SPACE_CHARACTER_IDS = Ih, exports.SPACE_DEFAULT_TAB_VALUES = ["dashboard", "tasks", "cycles", "projects", "room", "live", "schedule", "actions", "workflows", "wiki", "files", "widgets"], exports.SPACE_RENDERABLE_VIEW_TYPES = Sf, exports.SPACE_ROOM_TAG = hp, exports.SPACE_ROOM_TAG_PREFIX = yp, exports.SPACE_TOOL_NAMES = Oh, exports.SPAWNED_OUTCOME = wp, exports.SSEOptionsSchema = Ut, exports.STANDSTILL_LAYERS = ["authority", "capability", "attention"], exports.STANDSTILL_REASONS = ["autonomy_off", "autonomy_capped_by_initiative_policy", "autonomy_capped_by_workspace", "autonomy_hard_stop", "no_runtime_bound", "runtime_offline", "dispatch_failing", "attention_suppressed"], exports.STATUS_DURATION_OPTIONS = [{ value: "30min", label: "30 minutes" }, { value: "1hr", label: "1 hour" }, { value: "4hr", label: "4 hours" }, { value: "today", label: "Today (until midnight)" }, { value: "thisWeek", label: "This week" }, { value: "custom", label: "Custom..." }, { value: null, label: "Don't clear" }], exports.STRICT_LOCAL_CLI_MODEL_PROVIDERS = zu, exports.SUCCESS = xp, exports.ServiceEventSchema = ly, exports.SessionEnvelopeBatchSchema = Oy, exports.SessionEnvelopeDaemonSchema = Py, exports.SessionEnvelopeDegradedSchema = My, exports.SessionEnvelopeSchema = Ey, exports.SessionEnvelopeServerStampedSchema = Ny, exports.SessionEventBodySchema = Cy, exports.SessionHandoffEndpointSchema = Ay, exports.SessionHandoffEventSchema = _y, exports.SessionOutputEventSchema = zy, exports.SlashCommandDescriptorSchema = by, exports.SlashCommandsAvailableEventSchema = xy, exports.StdioOptionsSchema = Dt, exports.StreamableHTTPOptionsSchema = Wt, exports.SubagentRefEventSchema = yy, exports.SubagentStartEventSchema = vy, exports.SubagentStopEventSchema = hy, exports.TASK_BRANCH_PREFIX = df, exports.TASK_COMMENT_PRESET_REACTIONS = ["\u{1F44D}", "\u2764\uFE0F", "\u{1F389}", "\u{1F680}", "\u{1F440}", "\u{1F914}", "\u{1F44E}"], exports.TASK_DAILY_METRIC_SCOPE_KINDS = ah, exports.TASK_DAILY_METRIC_STATUS_TYPES = ih, exports.TASK_ESTIMATE_PROPOSAL_STATUSES = bv, exports.TASK_EXECUTION_MODES = ["agent", "human"], exports.TASK_INSIGHT_EXECUTION_MEASURES = Qv, exports.TASK_INSIGHT_GROUP_BY = Zv, exports.TASK_INSIGHT_MEASURES = Xv, exports.TASK_INSIGHT_STATUS_TYPES = Yv, exports.TASK_OUTPUT_ARTIFACTS_MAX_ENTRIES = 50, exports.TASK_OUTPUT_BODY_MAX = wm, exports.TASK_OUTPUT_FIELD_MAX = Em, exports.TASK_RENDERABLE_VIEW_TYPES = Rf, exports.TASK_SPAWN_REASONS = ["follow_up", "review_finding", "blocker", "decomposition"], exports.TASK_STATUSES = ["backlog", "todo", "in_progress", "in_review", "done", "failed", "blocked", "cancelled", "hidden"], exports.TASK_STATUS_BANDS = Gd, exports.TASK_WEBHOOK_EVENTS = ph, exports.TASK_WEBHOOK_PAYLOAD_VERSION = uh, exports.TASK_WORKFLOW_STATE_TYPES = Wd, exports.TASK_WORKFLOW_TYPE_BANDS = Fd, exports.TEMPLATE_PORTS_MAX = 20, exports.TONE_CUSTOM_PREFIX = "ctone_", exports.TONE_DIAL_KEYS = ["brevity", "warmth", "formality", "humor", "directness"], exports.TONE_FAMILIES = [{ key: "concise", label: "Few words", blurb: "Says less, means it." }, { key: "thinking", label: "Thinking out loud", blurb: "Reasons in the open." }, { key: "caring", label: "With care", blurb: "Attends to the person, not just the task." }, { key: "edge", label: "With an edge", blurb: "Friction, wit, or heat \u2014 on purpose." }, { key: "craft", label: "Composed", blurb: "Measured, and built to land." }], exports.TONE_LIMITS = { NAME_MAX: 60, TAGLINE_MAX: 120, EMOJI_MAX: 8, PERSONA_MAX: 120, SAMPLE_MAX: 400, PROMPT_MAX: 4e3, NOTES_MAX: 600, MAX_TONES_PER_USER: 100 }, exports.TONE_PRESETS = wh, exports.TONE_PRESETS_BY_ID = Eh, exports.TONE_PRESET_PREFIX = Ah, exports.TRIGGER_TYPE_OPTIONS = zp, exports.TSHIRT_ESTIMATE_LABELS = yv, exports.TextEventSchema = cy, exports.ToolCallEndEventSchema = py, exports.ToolCallStartEventSchema = uy, exports.TurnEndEventSchema = fy, exports.TurnFinalizedEventSchema = gy, exports.TurnStartEventSchema = my, exports.TurnStatusSchema = ny, exports.UNLIMITED_BUDGET = Lv, exports.VIEW_CYCLE_REFERENCE_VALUES = Vf, exports.VIEW_GROUP_BY_REGISTRY = Cf, exports.VIEW_GROUP_BY_VALUES = wf, exports.VIEW_PRIORITY_VALUES = Bf, exports.VIEW_QUICK_FILTERS = Wf, exports.VIEW_QUICK_FILTER_REGISTRY = Uf, exports.VIEW_SORT_DIRECTIONS = zf, exports.VIEW_SORT_KEYS = Mf, exports.VIEW_SORT_KEY_REGISTRY = Nf, exports.VIEW_TYPES = If, exports.VIEW_TYPE_REGISTRY = kf, exports.WEB_ORIGIN = c, exports.WEEKLY_WINDOW_MS = dm, exports.WEEKLY_WINDOW_SECONDS = um, exports.WIDGET_TYPES = mv, exports.WORKFLOW_ANNOTATION_COLORS = Vp, exports.WORKFLOW_ANNOTATION_DEFAULT_SIZE = qp, exports.WORKFLOW_ANNOTATION_MAX = 100, exports.WORKFLOW_ANNOTATION_MAX_TEXT = 4e3, exports.WORKFLOW_ANNOTATION_MIN_SIZE = Hp, exports.WORKFLOW_CLIPBOARD_ENVELOPE_VERSION = 1, exports.WORKFLOW_CLIPBOARD_GRAPH_VERSION = 1, exports.WORKFLOW_CLIPBOARD_KIND = Nd, exports.WORKFLOW_CLIPBOARD_MAX_BYTES = Md, exports.WORKFLOW_CLIPBOARD_REASON = { empty: "There is nothing on the clipboard.", "too-large": "That fragment is too large to paste into a workflow.", "not-json": "The clipboard does not contain workflow steps.", "not-ours": "The clipboard does not contain workflow steps.", unsupported: "That fragment was copied from a newer version of skrr.", malformed: "That fragment is damaged and cannot be pasted." }, exports.WORKFLOW_CONTAINER_MAX = 40, exports.WORKFLOW_GRID = 16, exports.WORKFLOW_LOOP_MAX = 200, exports.WORKFLOW_MAX_NODES = Cd, exports.WORKFLOW_NODE_GUTTER = 24, exports.WORKFLOW_NODE_HEIGHT = 112, exports.WORKFLOW_NODE_MIGRATIONS = Od, exports.WORKFLOW_NODE_TYPES = Op, exports.WORKFLOW_NODE_TYPE_IDS = Lp, exports.WORKFLOW_NODE_TYPE_LIST = Dp, exports.WORKFLOW_NODE_WIDTH = 244, exports.WORKFLOW_OUTCOME_ROW_HEIGHT = 22, exports.WORKFLOW_TEMPLATE_PRESETS = $d, exports.WORK_EDGE_DASH = Yd, exports.WORK_OUTCOMES = Sp, exports.WebSocketOptionsSchema = Lt, exports.__resetClientIdentityForTests = function() {
45397
+ } }, exports.EMBEDDED_ACTION_REF_ID_RE = sp, exports.EMBED_HYDRATORS = Hm, exports.EMBED_KINDS = Om, exports.EMBED_KIND_SPECS = Wm, exports.EMBED_KIND_SPEC_LIST = Bm, exports.EMBED_VARIANTS = ["card", "inline"], exports.ENVELOPE_RETENTION_REGISTRY = Jh, exports.ESTIMATE_SCALES = ["none", "points", "tshirt", "fibonacci", "linear"], exports.ESTIMATE_SCALE_MIGRATION_MODES = ["clear", "migrate"], exports.ESTIMATE_SCALE_VALUES = hv, exports.EXACT_TOOL_POLICY_SUPPORT = np, exports.EmbedRefParseError = af, exports.EndpointURLs = wc, exports.EnvelopeRoleSchema = ty, exports.FAILURE = kp, exports.FALLBACK_GIT_ACTOR = zv, exports.FEEDBACK_RATINGS = C, exports.FEEDBACK_REASON_KEYS = w, exports.FEEDBACK_TAGS = E, exports.FINAL_TEXT_SANITIZATION_PATTERNS = Gy, exports.FOLLOW_UP_POLICIES = ["observe", "gate", "divert"], exports.FOLLOW_UP_POLICY_OPTIONS = Cp, exports.FORMERLY = p, exports.FORM_FIELD_TYPES = ["text", "textarea", "number", "email", "url", "password", "select", "multiselect", "checkbox", "radio", "date", "time", "datetime", "file", "hidden"], exports.FileEventSchema = dy, exports.FunctionSignature = Hx, exports.GHOST_KEY_PREFIX = Qd, exports.GPT_56_MANAGED_REASONING_EFFORTS = _u, exports.HANDOVER_REASON_MAX_LENGTH = 500, exports.INITIAL_TYPE_VERSION = 1, exports.INSERT_REJECTION_MESSAGES = wd, exports.ImageVisionTool = se, exports.IntegrationConnectRequestSchema = Gh, exports.IntegrationExecuteRequestSchema = Fh, exports.IntegrationSetAllowedToolsSchema = Kh, exports.KEY_RESULT_PROGRESS_MODES = ["manual", "auto"], exports.KEY_RESULT_STATUS_VALUES = ["on_track", "at_risk", "off_track", "done"], exports.KOSMO_OFFICE_BACKGROUND_ASSET = Ph, exports.LABEL_APPLICABLE = ["task", "space", "goal", "routine"], exports.LABEL_PALETTE = ["6B7280", "EF4444", "F97316", "F59E0B", "EAB308", "84CC16", "22C55E", "10B981", "14B8A6", "06B6D4", "0EA5E9", "3B82F6", "6366F1", "8B5CF6", "A855F7", "D946EF", "EC4899", "F43F5E"], exports.LABEL_SCOPES = ["user", "space", "workspace"], exports.LEGACY_BRAND = u, exports.LEGACY_STATUS_TYPE_BY_ID = jd, exports.LOCAL_CLI_EFFORT_CATALOG = Eu, exports.LOCAL_CLI_MODEL_CATALOG = Mu, exports.LOCAL_EXECUTION_ENVIRONMENTS = Vu, exports.LOCAL_HARNESSES = $u, exports.LOCAL_HARNESS_PROVIDERS = ju, exports.LOCAL_HARNESS_PROVIDER_ENVIRONMENTS = Ku, exports.LOCAL_RUNTIMES = Xu, exports.LOCAL_RUNTIME_ENVIRONMENTS = Qu, exports.MANAGED_CLI_PROVIDER_IDS = d, exports.MAX_AGENT_MESSAGE_SEQUENCE_PARTS = 20, exports.MAX_EMBEDDED_ACTIONS = 10, exports.MAX_EMBEDDED_ACTION_LABEL_CHARS = 200, exports.MAX_EMBEDDED_ACTION_REF_ID_CHARS = 120, exports.MAX_KEY_RESULTS_PER_TASK = 50, exports.MAX_LOCAL_CLI_MODEL_LENGTH = Ou, exports.MAX_MESSAGE_EMBEDS = 10, exports.MCPOptionsSchema = Bt, exports.MCPServersSchema = jt, exports.NODE_DIRTINESS = od, exports.NODE_KEY_MAX = 160, exports.NODE_KEY_RE = yd, exports.NORTHSTAR_ANALYSIS_MODES = ["deterministic", "agent_assisted"], exports.NORTHSTAR_APPROVAL_TRIGGERS = ["resume", "complete", "cancel", "archive", "create", "reassign", "critical_commitment", "compute_increase"], exports.NORTHSTAR_EXECUTION_MODES = ["advisory", "approval", "bounded_auto"], exports.NORTHSTAR_INTENT_VERDICTS = ["advisory", "awaiting_approval", "approved", "applying", "applied", "rejected", "invalidated"], exports.NORTHSTAR_MANAGEMENT_INTENT_KINDS = ["pause_commitment", "resume_commitment", "reprioritize_commitment", "request_commitment_check", "set_execution_bounds", "create_commitment_proposal", "reassign_commitment_proposal"], exports.NORTHSTAR_REVIEW_STATUSES = ["running", "awaiting_agent", "succeeded", "failed"], exports.OFFLINE_MESSAGE_TERMINAL_DECLARATION_VERSION = 1, exports.OFFLINE_MESSAGE_TERMINAL_MAX_PENDING_GRANTS = 8, exports.OfflineMessageTerminalDeclarationSchema = sy, exports.OfflineMessageTerminalFenceSchema = ry, exports.OfflineMessageTerminalReleaseSchema = ay, exports.PERMANENT_TRANSCRIPT_CLASS_KEYS = ey, exports.PERSONALITY_ORDER = ["default", "helpful", "focused", "classic"], exports.PLATFORM_TOOL_NAMES = uv, exports.PORTABLE_CONFIG_POLICY = kd, exports.PROJECT_HEALTH_LABELS = { on_track: "On track", at_risk: "At risk", off_track: "Off track", no_update: "No update" }, exports.PROJECT_HEALTH_VALUES = fg, exports.PROVENANCE_MAX_INSERTIONS = 64, exports.PermissionAskEventSchema = ky, exports.PermissionModeChangeEventSchema = Iy, exports.PermissionResolvedEventSchema = Ty, exports.QuestionAskEventSchema = Sy, exports.QuestionResolvedEventSchema = Ry, exports.REASONING_EFFORT_VALUES = Cu, exports.RESERVED_LOCAL_CLI_MODEL_SENTINELS = Du, exports.RESET_MATCH_TOLERANCE_MS = ym, exports.RPC_EVENTS = { REQUEST: "rpc:request", RESPONSE: "rpc:response", CANCEL: "rpc:cancel" }, exports.SEPARATORS = ul, exports.SESSION_SERIES = km, exports.SESSION_WINDOW_MS = pm, exports.SESSION_WINDOW_SECONDS = lm, exports.SKILL_LIMITS = { NAME_MAX_LENGTH: 50, DISPLAY_NAME_MAX_LENGTH: 100, DESCRIPTION_MAX_LENGTH: 500, CONTENT_MAX_LENGTH: 102400, TRIGGER_HINT_MAX_LENGTH: 200 }, exports.SPACE_CHARACTER_CATALOG = xh, exports.SPACE_CHARACTER_IDS = Ih, exports.SPACE_DEFAULT_TAB_VALUES = ["dashboard", "tasks", "cycles", "projects", "room", "live", "schedule", "actions", "workflows", "wiki", "files", "widgets"], exports.SPACE_RENDERABLE_VIEW_TYPES = Sf, exports.SPACE_ROOM_TAG = hp, exports.SPACE_ROOM_TAG_PREFIX = yp, exports.SPACE_STATUSES = ["backlog", "planned", "in_progress", "completed", "cancelled"], exports.SPACE_TOOL_NAMES = Oh, exports.SPAWNED_OUTCOME = wp, exports.SSEOptionsSchema = Ut, exports.STANDSTILL_LAYERS = ["authority", "capability", "attention"], exports.STANDSTILL_REASONS = ["autonomy_off", "autonomy_capped_by_initiative_policy", "autonomy_capped_by_workspace", "autonomy_hard_stop", "no_runtime_bound", "runtime_offline", "dispatch_failing", "attention_suppressed"], exports.STATUS_DURATION_OPTIONS = [{ value: "30min", label: "30 minutes" }, { value: "1hr", label: "1 hour" }, { value: "4hr", label: "4 hours" }, { value: "today", label: "Today (until midnight)" }, { value: "thisWeek", label: "This week" }, { value: "custom", label: "Custom..." }, { value: null, label: "Don't clear" }], exports.STRICT_LOCAL_CLI_MODEL_PROVIDERS = zu, exports.SUCCESS = xp, exports.ServiceEventSchema = ly, exports.SessionEnvelopeBatchSchema = Oy, exports.SessionEnvelopeDaemonSchema = Py, exports.SessionEnvelopeDegradedSchema = My, exports.SessionEnvelopeSchema = Ey, exports.SessionEnvelopeServerStampedSchema = Ny, exports.SessionEventBodySchema = Cy, exports.SessionHandoffEndpointSchema = Ay, exports.SessionHandoffEventSchema = _y, exports.SessionOutputEventSchema = zy, exports.SlashCommandDescriptorSchema = by, exports.SlashCommandsAvailableEventSchema = xy, exports.StdioOptionsSchema = Dt, exports.StreamableHTTPOptionsSchema = Wt, exports.SubagentRefEventSchema = yy, exports.SubagentStartEventSchema = vy, exports.SubagentStopEventSchema = hy, exports.TASK_BRANCH_PREFIX = df, exports.TASK_COMMENT_PRESET_REACTIONS = ["\u{1F44D}", "\u2764\uFE0F", "\u{1F389}", "\u{1F680}", "\u{1F440}", "\u{1F914}", "\u{1F44E}"], exports.TASK_DAILY_METRIC_SCOPE_KINDS = ah, exports.TASK_DAILY_METRIC_STATUS_TYPES = ih, exports.TASK_ESTIMATE_PROPOSAL_STATUSES = bv, exports.TASK_EXECUTION_MODES = ["agent", "human"], exports.TASK_INSIGHT_EXECUTION_MEASURES = Qv, exports.TASK_INSIGHT_GROUP_BY = Zv, exports.TASK_INSIGHT_MEASURES = Xv, exports.TASK_INSIGHT_STATUS_TYPES = Yv, exports.TASK_OUTPUT_ARTIFACTS_MAX_ENTRIES = 50, exports.TASK_OUTPUT_BODY_MAX = wm, exports.TASK_OUTPUT_FIELD_MAX = Em, exports.TASK_RENDERABLE_VIEW_TYPES = Rf, exports.TASK_SPAWN_REASONS = ["follow_up", "review_finding", "blocker", "decomposition"], exports.TASK_STATUSES = ["backlog", "todo", "in_progress", "in_review", "done", "failed", "blocked", "cancelled", "hidden"], exports.TASK_STATUS_BANDS = Gd, exports.TASK_WEBHOOK_EVENTS = ph, exports.TASK_WEBHOOK_PAYLOAD_VERSION = uh, exports.TASK_WORKFLOW_STATE_TYPES = Wd, exports.TASK_WORKFLOW_TYPE_BANDS = Fd, exports.TEMPLATE_PORTS_MAX = 20, exports.TONE_CUSTOM_PREFIX = "ctone_", exports.TONE_DIAL_KEYS = ["brevity", "warmth", "formality", "humor", "directness"], exports.TONE_FAMILIES = [{ key: "concise", label: "Few words", blurb: "Says less, means it." }, { key: "thinking", label: "Thinking out loud", blurb: "Reasons in the open." }, { key: "caring", label: "With care", blurb: "Attends to the person, not just the task." }, { key: "edge", label: "With an edge", blurb: "Friction, wit, or heat \u2014 on purpose." }, { key: "craft", label: "Composed", blurb: "Measured, and built to land." }], exports.TONE_LIMITS = { NAME_MAX: 60, TAGLINE_MAX: 120, EMOJI_MAX: 8, PERSONA_MAX: 120, SAMPLE_MAX: 400, PROMPT_MAX: 4e3, NOTES_MAX: 600, MAX_TONES_PER_USER: 100 }, exports.TONE_PRESETS = wh, exports.TONE_PRESETS_BY_ID = Eh, exports.TONE_PRESET_PREFIX = Ah, exports.TRIGGER_TYPE_OPTIONS = zp, exports.TSHIRT_ESTIMATE_LABELS = yv, exports.TextEventSchema = cy, exports.ToolCallEndEventSchema = py, exports.ToolCallStartEventSchema = uy, exports.TurnEndEventSchema = fy, exports.TurnFinalizedEventSchema = gy, exports.TurnStartEventSchema = my, exports.TurnStatusSchema = ny, exports.UNLIMITED_BUDGET = Lv, exports.VIEW_CYCLE_REFERENCE_VALUES = Vf, exports.VIEW_GROUP_BY_REGISTRY = Cf, exports.VIEW_GROUP_BY_VALUES = wf, exports.VIEW_PRIORITY_VALUES = Bf, exports.VIEW_QUICK_FILTERS = Wf, exports.VIEW_QUICK_FILTER_REGISTRY = Uf, exports.VIEW_SORT_DIRECTIONS = zf, exports.VIEW_SORT_KEYS = Mf, exports.VIEW_SORT_KEY_REGISTRY = Nf, exports.VIEW_TYPES = If, exports.VIEW_TYPE_REGISTRY = kf, exports.WEB_ORIGIN = c, exports.WEEKLY_WINDOW_MS = dm, exports.WEEKLY_WINDOW_SECONDS = um, exports.WIDGET_TYPES = mv, exports.WORKFLOW_ANNOTATION_COLORS = Vp, exports.WORKFLOW_ANNOTATION_DEFAULT_SIZE = qp, exports.WORKFLOW_ANNOTATION_MAX = 100, exports.WORKFLOW_ANNOTATION_MAX_TEXT = 4e3, exports.WORKFLOW_ANNOTATION_MIN_SIZE = Hp, exports.WORKFLOW_CLIPBOARD_ENVELOPE_VERSION = 1, exports.WORKFLOW_CLIPBOARD_GRAPH_VERSION = 1, exports.WORKFLOW_CLIPBOARD_KIND = Nd, exports.WORKFLOW_CLIPBOARD_MAX_BYTES = Md, exports.WORKFLOW_CLIPBOARD_REASON = { empty: "There is nothing on the clipboard.", "too-large": "That fragment is too large to paste into a workflow.", "not-json": "The clipboard does not contain workflow steps.", "not-ours": "The clipboard does not contain workflow steps.", unsupported: "That fragment was copied from a newer version of skrr.", malformed: "That fragment is damaged and cannot be pasted." }, exports.WORKFLOW_CONTAINER_MAX = 40, exports.WORKFLOW_GRID = 16, exports.WORKFLOW_LOOP_MAX = 200, exports.WORKFLOW_MAX_NODES = Cd, exports.WORKFLOW_NODE_GUTTER = 24, exports.WORKFLOW_NODE_HEIGHT = 112, exports.WORKFLOW_NODE_MIGRATIONS = Od, exports.WORKFLOW_NODE_TYPES = Op, exports.WORKFLOW_NODE_TYPE_IDS = Lp, exports.WORKFLOW_NODE_TYPE_LIST = Dp, exports.WORKFLOW_NODE_WIDTH = 244, exports.WORKFLOW_OUTCOME_ROW_HEIGHT = 22, exports.WORKFLOW_TEMPLATE_PRESETS = $d, exports.WORK_EDGE_DASH = Yd, exports.WORK_OUTCOMES = Sp, exports.WebSocketOptionsSchema = Lt, exports.__resetClientIdentityForTests = function() {
45387
45398
  ex = null, delete n.defaults.headers.common["X-Client-Platform"], delete n.defaults.headers.common["X-Client-Version"], delete n.defaults.headers.common["X-Client-OS"];
45388
45399
  }, exports.accessRoleSchema = Wb, exports.accessRoleToPermBits = function(e2) {
45389
45400
  var t2;
@@ -47370,8 +47381,8 @@ exports.ACCEPTED_AGENT_TRIGGER_FIRE_OUTCOMES = ["succeeded", "in_progress", "awa
47370
47381
  return !r2.has(e3.hex);
47371
47382
  });
47372
47383
  return null != a2 ? a2 : pl[0];
47373
- }, exports.summarizeTrigger = cd, exports.supportedMimeTypes = xt, exports.supportsBalanceCheck = Pc, exports.supportsFiles = st, exports.switchComponent = mu, exports.tAgentOptionsSchema = Ie, exports.tBannerSchema = Ze, exports.tConversationSchema = Ae, exports.tConversationTagSchema = Pe, exports.tConvoUpdateSchema = Ce, exports.tCreateLabelInputSchema = ot, exports.tExampleSchema = be;
47374
- exports.tLabelSchema = nt, exports.tMessageSchema = Te, exports.tModelSpecSchema = at, exports.tPluginAuthConfigSchema = he, exports.tPluginSchema = ye, exports.tPresetSchema = _e, exports.tQueryParamsSchema = we, exports.tSharedLinkSchema = Ee, exports.tUpdateLabelInputSchema = rt, exports.table = fu, exports.tabs = gu, exports.taskAssigneeDefaultNeedsCallerUser = function(e2) {
47384
+ }, exports.summarizeTrigger = cd, exports.supportedMimeTypes = xt, exports.supportsBalanceCheck = Pc, exports.supportsFiles = st, exports.switchComponent = mu, exports.tAgentOptionsSchema = Ie, exports.tBannerSchema = Ze, exports.tConversationSchema = Ae, exports.tConversationTagSchema = Pe, exports.tConvoUpdateSchema = Ce, exports.tCreateLabelInputSchema = ot;
47385
+ exports.tExampleSchema = be, exports.tLabelSchema = nt, exports.tMessageSchema = Te, exports.tModelSpecSchema = at, exports.tPluginAuthConfigSchema = he, exports.tPluginSchema = ye, exports.tPresetSchema = _e, exports.tQueryParamsSchema = we, exports.tSharedLinkSchema = Ee, exports.tUpdateLabelInputSchema = rt, exports.table = fu, exports.tabs = gu, exports.taskAssigneeDefaultNeedsCallerUser = function(e2) {
47375
47386
  return !e2.hasExplicitAssignee && "human" === e2.executionMode;
47376
47387
  }, exports.taskBranchName = function(e2) {
47377
47388
  var t2 = yf(e2), n2 = t2 ? ff.exec(t2) : null;