switchroom 0.15.37 → 0.15.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-scheduler/index.js +89 -89
- package/dist/auth-broker/index.js +89 -89
- package/dist/cli/autoaccept-poll.js +13 -7
- package/dist/cli/drive-write-pretool.mjs +10 -10
- package/dist/cli/notion-write-pretool.mjs +91 -91
- package/dist/cli/skill-validate-pretool.mjs +72 -72
- package/dist/cli/switchroom.js +857 -572
- package/dist/cli/ui/index.html +87 -17
- package/dist/host-control/main.js +158 -158
- package/dist/vault/approvals/kernel-server.js +91 -91
- package/dist/vault/broker/server.js +92 -92
- package/package.json +1 -1
- package/profiles/_base/cron-session.sh.hbs +1 -1
- package/profiles/_base/start.sh.hbs +1 -1
- package/profiles/default/CLAUDE.md.hbs +2 -0
- package/skills/switchroom-manage/SKILL.md +1 -1
- package/skills/switchroom-runtime/SKILL.md +1 -1
- package/telegram-plugin/answer-stream.ts +1 -1
- package/telegram-plugin/bridge/bridge.ts +18 -1
- package/telegram-plugin/bridge/ipc-client.ts +4 -1
- package/telegram-plugin/bridge/tool-filter.ts +77 -0
- package/telegram-plugin/chat-lock.ts +1 -1
- package/telegram-plugin/credits-watch.ts +1 -1
- package/telegram-plugin/dist/bridge/bridge.js +141 -115
- package/telegram-plugin/dist/gateway/gateway.js +318 -207
- package/telegram-plugin/dist/server.js +193 -164
- package/telegram-plugin/gateway/auto-classify-mid-turn.ts +1 -1
- package/telegram-plugin/gateway/boot-card.ts +5 -1
- package/telegram-plugin/gateway/boot-probes.ts +62 -0
- package/telegram-plugin/gateway/cron-session.ts +1 -1
- package/telegram-plugin/gateway/gateway.ts +133 -12
- package/telegram-plugin/gateway/grant-restart.ts +1 -1
- package/telegram-plugin/gateway/inbound-delivery-machine-dispatch.ts +1 -1
- package/telegram-plugin/gateway/inbound-delivery-machine-shadow.ts +1 -1
- package/telegram-plugin/gateway/inbound-delivery-machine.ts +1 -1
- package/telegram-plugin/gateway/interrupt-defer.ts +1 -1
- package/telegram-plugin/gateway/ipc-protocol.ts +12 -0
- package/telegram-plugin/gateway/permission-card-origin.ts +62 -0
- package/telegram-plugin/gateway/permission-timeout.ts +70 -0
- package/telegram-plugin/gateway/prefix-warmup.ts +1 -1
- package/telegram-plugin/gateway/webhook-ingest-server.test.ts +1 -1
- package/telegram-plugin/gateway/webhook-ingest-server.ts +1 -1
- package/telegram-plugin/hooks/subagent-tracker-pretool.mjs +1 -1
- package/telegram-plugin/interrupt-marker.ts +1 -1
- package/telegram-plugin/over-ping-safety-net.ts +1 -1
- package/telegram-plugin/scoped-approval.ts +1 -1
- package/telegram-plugin/secret-detect/vault-error.ts +1 -1
- package/telegram-plugin/silence-poke.ts +2 -2
- package/telegram-plugin/silent-reply-anchor.ts +1 -1
- package/telegram-plugin/slot-banner-driver.ts +1 -1
- package/telegram-plugin/startup-reset.ts +1 -1
- package/telegram-plugin/tests/boot-probes-connections.test.ts +66 -0
- package/telegram-plugin/tests/gateway-startup-reset.test.ts +1 -1
- package/telegram-plugin/tests/inbound-delivery-machine.test.ts +1 -1
- package/telegram-plugin/tests/permission-card-origin.test.ts +97 -0
- package/telegram-plugin/tests/permission-card-routing.test.ts +23 -0
- package/telegram-plugin/tests/permission-no-repeat-wiring.test.ts +76 -0
- package/telegram-plugin/tests/permission-timeout.test.ts +87 -0
- package/telegram-plugin/tests/scoped-approval.test.ts +1 -1
- package/telegram-plugin/tests/silence-poke.test.ts +1 -1
- package/telegram-plugin/tests/tool-filter.test.ts +87 -0
- package/telegram-plugin/tests/turn-flush-safety.test.ts +1 -1
- package/telegram-plugin/turn-flush-safety.ts +1 -1
- package/telegram-plugin/uat/assertions.ts +1 -1
- package/telegram-plugin/uat/scenarios/bg-sub-agent-dispatch-dm.test.ts +1 -1
- package/telegram-plugin/uat/scenarios/fuzz-extended-dm.test.ts +1 -1
- package/telegram-plugin/uat/scenarios/jtbd-fast-ack-dm.test.ts +1 -1
- package/telegram-plugin/uat/scenarios/jtbd-fast-trivial-dm.test.ts +2 -2
- package/telegram-plugin/uat/scenarios/jtbd-forwarded-burst-dm.test.ts +1 -1
- package/telegram-plugin/uat/scenarios/jtbd-memory-survives-restart-dm.test.ts +1 -1
- package/telegram-plugin/uat/scenarios/jtbd-rapid-followup-dm.test.ts +1 -1
- package/telegram-plugin/uat/scenarios/jtbd-reflective-status-reaction-dm.test.ts +1 -1
- package/telegram-plugin/uat/scenarios/jtbd-wake-audit-content-dm.test.ts +1 -1
package/dist/cli/switchroom.js
CHANGED
|
@@ -66,7 +66,7 @@ var __export = (target, all) => {
|
|
|
66
66
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
67
67
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
68
68
|
|
|
69
|
-
//
|
|
69
|
+
// node_modules/.bun/commander@13.1.0/node_modules/commander/lib/error.js
|
|
70
70
|
var require_error = __commonJS((exports) => {
|
|
71
71
|
class CommanderError extends Error {
|
|
72
72
|
constructor(exitCode, code, message) {
|
|
@@ -90,7 +90,7 @@ var require_error = __commonJS((exports) => {
|
|
|
90
90
|
exports.InvalidArgumentError = InvalidArgumentError;
|
|
91
91
|
});
|
|
92
92
|
|
|
93
|
-
//
|
|
93
|
+
// node_modules/.bun/commander@13.1.0/node_modules/commander/lib/argument.js
|
|
94
94
|
var require_argument = __commonJS((exports) => {
|
|
95
95
|
var { InvalidArgumentError } = require_error();
|
|
96
96
|
|
|
@@ -169,7 +169,7 @@ var require_argument = __commonJS((exports) => {
|
|
|
169
169
|
exports.humanReadableArgName = humanReadableArgName;
|
|
170
170
|
});
|
|
171
171
|
|
|
172
|
-
//
|
|
172
|
+
// node_modules/.bun/commander@13.1.0/node_modules/commander/lib/help.js
|
|
173
173
|
var require_help = __commonJS((exports) => {
|
|
174
174
|
var { humanReadableArgName } = require_argument();
|
|
175
175
|
|
|
@@ -519,7 +519,7 @@ ${itemIndentStr}`);
|
|
|
519
519
|
exports.stripColor = stripColor;
|
|
520
520
|
});
|
|
521
521
|
|
|
522
|
-
//
|
|
522
|
+
// node_modules/.bun/commander@13.1.0/node_modules/commander/lib/option.js
|
|
523
523
|
var require_option = __commonJS((exports) => {
|
|
524
524
|
var { InvalidArgumentError } = require_error();
|
|
525
525
|
|
|
@@ -697,7 +697,7 @@ var require_option = __commonJS((exports) => {
|
|
|
697
697
|
exports.DualOptions = DualOptions;
|
|
698
698
|
});
|
|
699
699
|
|
|
700
|
-
//
|
|
700
|
+
// node_modules/.bun/commander@13.1.0/node_modules/commander/lib/suggestSimilar.js
|
|
701
701
|
var require_suggestSimilar = __commonJS((exports) => {
|
|
702
702
|
var maxDistance = 3;
|
|
703
703
|
function editDistance(a, b) {
|
|
@@ -770,7 +770,7 @@ var require_suggestSimilar = __commonJS((exports) => {
|
|
|
770
770
|
exports.suggestSimilar = suggestSimilar;
|
|
771
771
|
});
|
|
772
772
|
|
|
773
|
-
//
|
|
773
|
+
// node_modules/.bun/commander@13.1.0/node_modules/commander/lib/command.js
|
|
774
774
|
var require_command = __commonJS((exports) => {
|
|
775
775
|
var EventEmitter = __require("node:events").EventEmitter;
|
|
776
776
|
var childProcess = __require("node:child_process");
|
|
@@ -2080,7 +2080,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2080
2080
|
exports.useColor = useColor;
|
|
2081
2081
|
});
|
|
2082
2082
|
|
|
2083
|
-
//
|
|
2083
|
+
// node_modules/.bun/commander@13.1.0/node_modules/commander/index.js
|
|
2084
2084
|
var require_commander = __commonJS((exports) => {
|
|
2085
2085
|
var { Argument } = require_argument();
|
|
2086
2086
|
var { Command } = require_command();
|
|
@@ -2100,7 +2100,7 @@ var require_commander = __commonJS((exports) => {
|
|
|
2100
2100
|
exports.InvalidOptionArgumentError = InvalidArgumentError;
|
|
2101
2101
|
});
|
|
2102
2102
|
|
|
2103
|
-
//
|
|
2103
|
+
// node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
2104
2104
|
function assembleStyles() {
|
|
2105
2105
|
const codes = new Map;
|
|
2106
2106
|
for (const [groupName, group] of Object.entries(styles)) {
|
|
@@ -2276,7 +2276,7 @@ var init_ansi_styles = __esm(() => {
|
|
|
2276
2276
|
ansi_styles_default = ansiStyles;
|
|
2277
2277
|
});
|
|
2278
2278
|
|
|
2279
|
-
//
|
|
2279
|
+
// node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/vendor/supports-color/index.js
|
|
2280
2280
|
import process2 from "node:process";
|
|
2281
2281
|
import os from "node:os";
|
|
2282
2282
|
import tty from "node:tty";
|
|
@@ -2410,7 +2410,7 @@ var init_supports_color = __esm(() => {
|
|
|
2410
2410
|
supports_color_default = supportsColor;
|
|
2411
2411
|
});
|
|
2412
2412
|
|
|
2413
|
-
//
|
|
2413
|
+
// node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/utilities.js
|
|
2414
2414
|
function stringReplaceAll(string, substring, replacer) {
|
|
2415
2415
|
let index = string.indexOf(substring);
|
|
2416
2416
|
if (index === -1) {
|
|
@@ -2443,7 +2443,7 @@ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
|
2443
2443
|
return returnValue;
|
|
2444
2444
|
}
|
|
2445
2445
|
|
|
2446
|
-
//
|
|
2446
|
+
// node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/index.js
|
|
2447
2447
|
function createChalk(options) {
|
|
2448
2448
|
return chalkFactory(options);
|
|
2449
2449
|
}
|
|
@@ -2589,7 +2589,7 @@ var init_source = __esm(() => {
|
|
|
2589
2589
|
source_default = chalk;
|
|
2590
2590
|
});
|
|
2591
2591
|
|
|
2592
|
-
//
|
|
2592
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/identity.js
|
|
2593
2593
|
var require_identity = __commonJS((exports) => {
|
|
2594
2594
|
var ALIAS = Symbol.for("yaml.alias");
|
|
2595
2595
|
var DOC = Symbol.for("yaml.document");
|
|
@@ -2643,7 +2643,7 @@ var require_identity = __commonJS((exports) => {
|
|
|
2643
2643
|
exports.isSeq = isSeq;
|
|
2644
2644
|
});
|
|
2645
2645
|
|
|
2646
|
-
//
|
|
2646
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/visit.js
|
|
2647
2647
|
var require_visit = __commonJS((exports) => {
|
|
2648
2648
|
var identity = require_identity();
|
|
2649
2649
|
var BREAK = Symbol("break visit");
|
|
@@ -2798,7 +2798,7 @@ var require_visit = __commonJS((exports) => {
|
|
|
2798
2798
|
exports.visitAsync = visitAsync;
|
|
2799
2799
|
});
|
|
2800
2800
|
|
|
2801
|
-
//
|
|
2801
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/doc/directives.js
|
|
2802
2802
|
var require_directives = __commonJS((exports) => {
|
|
2803
2803
|
var identity = require_identity();
|
|
2804
2804
|
var visit = require_visit();
|
|
@@ -2950,7 +2950,7 @@ var require_directives = __commonJS((exports) => {
|
|
|
2950
2950
|
exports.Directives = Directives;
|
|
2951
2951
|
});
|
|
2952
2952
|
|
|
2953
|
-
//
|
|
2953
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/doc/anchors.js
|
|
2954
2954
|
var require_anchors = __commonJS((exports) => {
|
|
2955
2955
|
var identity = require_identity();
|
|
2956
2956
|
var visit = require_visit();
|
|
@@ -3012,7 +3012,7 @@ var require_anchors = __commonJS((exports) => {
|
|
|
3012
3012
|
exports.findNewAnchor = findNewAnchor;
|
|
3013
3013
|
});
|
|
3014
3014
|
|
|
3015
|
-
//
|
|
3015
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/doc/applyReviver.js
|
|
3016
3016
|
var require_applyReviver = __commonJS((exports) => {
|
|
3017
3017
|
function applyReviver(reviver, obj, key, val) {
|
|
3018
3018
|
if (val && typeof val === "object") {
|
|
@@ -3059,7 +3059,7 @@ var require_applyReviver = __commonJS((exports) => {
|
|
|
3059
3059
|
exports.applyReviver = applyReviver;
|
|
3060
3060
|
});
|
|
3061
3061
|
|
|
3062
|
-
//
|
|
3062
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/toJS.js
|
|
3063
3063
|
var require_toJS = __commonJS((exports) => {
|
|
3064
3064
|
var identity = require_identity();
|
|
3065
3065
|
function toJS(value, arg, ctx) {
|
|
@@ -3086,7 +3086,7 @@ var require_toJS = __commonJS((exports) => {
|
|
|
3086
3086
|
exports.toJS = toJS;
|
|
3087
3087
|
});
|
|
3088
3088
|
|
|
3089
|
-
//
|
|
3089
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/Node.js
|
|
3090
3090
|
var require_Node = __commonJS((exports) => {
|
|
3091
3091
|
var applyReviver = require_applyReviver();
|
|
3092
3092
|
var identity = require_identity();
|
|
@@ -3123,7 +3123,7 @@ var require_Node = __commonJS((exports) => {
|
|
|
3123
3123
|
exports.NodeBase = NodeBase;
|
|
3124
3124
|
});
|
|
3125
3125
|
|
|
3126
|
-
//
|
|
3126
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/Alias.js
|
|
3127
3127
|
var require_Alias = __commonJS((exports) => {
|
|
3128
3128
|
var anchors = require_anchors();
|
|
3129
3129
|
var visit = require_visit();
|
|
@@ -3231,7 +3231,7 @@ var require_Alias = __commonJS((exports) => {
|
|
|
3231
3231
|
exports.Alias = Alias;
|
|
3232
3232
|
});
|
|
3233
3233
|
|
|
3234
|
-
//
|
|
3234
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/Scalar.js
|
|
3235
3235
|
var require_Scalar = __commonJS((exports) => {
|
|
3236
3236
|
var identity = require_identity();
|
|
3237
3237
|
var Node = require_Node();
|
|
@@ -3259,7 +3259,7 @@ var require_Scalar = __commonJS((exports) => {
|
|
|
3259
3259
|
exports.isScalarValue = isScalarValue;
|
|
3260
3260
|
});
|
|
3261
3261
|
|
|
3262
|
-
//
|
|
3262
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/doc/createNode.js
|
|
3263
3263
|
var require_createNode = __commonJS((exports) => {
|
|
3264
3264
|
var Alias = require_Alias();
|
|
3265
3265
|
var identity = require_identity();
|
|
@@ -3331,7 +3331,7 @@ var require_createNode = __commonJS((exports) => {
|
|
|
3331
3331
|
exports.createNode = createNode;
|
|
3332
3332
|
});
|
|
3333
3333
|
|
|
3334
|
-
//
|
|
3334
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/Collection.js
|
|
3335
3335
|
var require_Collection = __commonJS((exports) => {
|
|
3336
3336
|
var createNode = require_createNode();
|
|
3337
3337
|
var identity = require_identity();
|
|
@@ -3446,7 +3446,7 @@ var require_Collection = __commonJS((exports) => {
|
|
|
3446
3446
|
exports.isEmptyPath = isEmptyPath;
|
|
3447
3447
|
});
|
|
3448
3448
|
|
|
3449
|
-
//
|
|
3449
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyComment.js
|
|
3450
3450
|
var require_stringifyComment = __commonJS((exports) => {
|
|
3451
3451
|
var stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, "#");
|
|
3452
3452
|
function indentComment(comment, indent) {
|
|
@@ -3463,7 +3463,7 @@ var require_stringifyComment = __commonJS((exports) => {
|
|
|
3463
3463
|
exports.stringifyComment = stringifyComment;
|
|
3464
3464
|
});
|
|
3465
3465
|
|
|
3466
|
-
//
|
|
3466
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/stringify/foldFlowLines.js
|
|
3467
3467
|
var require_foldFlowLines = __commonJS((exports) => {
|
|
3468
3468
|
var FOLD_FLOW = "flow";
|
|
3469
3469
|
var FOLD_BLOCK = "block";
|
|
@@ -3600,7 +3600,7 @@ ${indent}${text.slice(fold + 1, end2)}`;
|
|
|
3600
3600
|
exports.foldFlowLines = foldFlowLines;
|
|
3601
3601
|
});
|
|
3602
3602
|
|
|
3603
|
-
//
|
|
3603
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyString.js
|
|
3604
3604
|
var require_stringifyString = __commonJS((exports) => {
|
|
3605
3605
|
var Scalar = require_Scalar();
|
|
3606
3606
|
var foldFlowLines = require_foldFlowLines();
|
|
@@ -3898,7 +3898,7 @@ ${indent}`);
|
|
|
3898
3898
|
exports.stringifyString = stringifyString;
|
|
3899
3899
|
});
|
|
3900
3900
|
|
|
3901
|
-
//
|
|
3901
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/stringify/stringify.js
|
|
3902
3902
|
var require_stringify = __commonJS((exports) => {
|
|
3903
3903
|
var anchors = require_anchors();
|
|
3904
3904
|
var identity = require_identity();
|
|
@@ -4019,7 +4019,7 @@ ${ctx.indent}${str}`;
|
|
|
4019
4019
|
exports.stringify = stringify;
|
|
4020
4020
|
});
|
|
4021
4021
|
|
|
4022
|
-
//
|
|
4022
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyPair.js
|
|
4023
4023
|
var require_stringifyPair = __commonJS((exports) => {
|
|
4024
4024
|
var identity = require_identity();
|
|
4025
4025
|
var Scalar = require_Scalar();
|
|
@@ -4155,7 +4155,7 @@ ${ctx.indent}`;
|
|
|
4155
4155
|
exports.stringifyPair = stringifyPair;
|
|
4156
4156
|
});
|
|
4157
4157
|
|
|
4158
|
-
//
|
|
4158
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/log.js
|
|
4159
4159
|
var require_log = __commonJS((exports) => {
|
|
4160
4160
|
var node_process = __require("process");
|
|
4161
4161
|
function debug(logLevel, ...messages) {
|
|
@@ -4174,7 +4174,7 @@ var require_log = __commonJS((exports) => {
|
|
|
4174
4174
|
exports.warn = warn;
|
|
4175
4175
|
});
|
|
4176
4176
|
|
|
4177
|
-
//
|
|
4177
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/merge.js
|
|
4178
4178
|
var require_merge = __commonJS((exports) => {
|
|
4179
4179
|
var identity = require_identity();
|
|
4180
4180
|
var Scalar = require_Scalar();
|
|
@@ -4228,7 +4228,7 @@ var require_merge = __commonJS((exports) => {
|
|
|
4228
4228
|
exports.merge = merge;
|
|
4229
4229
|
});
|
|
4230
4230
|
|
|
4231
|
-
//
|
|
4231
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/addPairToJSMap.js
|
|
4232
4232
|
var require_addPairToJSMap = __commonJS((exports) => {
|
|
4233
4233
|
var log = require_log();
|
|
4234
4234
|
var merge = require_merge();
|
|
@@ -4289,7 +4289,7 @@ var require_addPairToJSMap = __commonJS((exports) => {
|
|
|
4289
4289
|
exports.addPairToJSMap = addPairToJSMap;
|
|
4290
4290
|
});
|
|
4291
4291
|
|
|
4292
|
-
//
|
|
4292
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/Pair.js
|
|
4293
4293
|
var require_Pair = __commonJS((exports) => {
|
|
4294
4294
|
var createNode = require_createNode();
|
|
4295
4295
|
var stringifyPair = require_stringifyPair();
|
|
@@ -4327,7 +4327,7 @@ var require_Pair = __commonJS((exports) => {
|
|
|
4327
4327
|
exports.createPair = createPair;
|
|
4328
4328
|
});
|
|
4329
4329
|
|
|
4330
|
-
//
|
|
4330
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyCollection.js
|
|
4331
4331
|
var require_stringifyCollection = __commonJS((exports) => {
|
|
4332
4332
|
var identity = require_identity();
|
|
4333
4333
|
var stringify = require_stringify();
|
|
@@ -4479,7 +4479,7 @@ ${indent}${end}`;
|
|
|
4479
4479
|
exports.stringifyCollection = stringifyCollection;
|
|
4480
4480
|
});
|
|
4481
4481
|
|
|
4482
|
-
//
|
|
4482
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/YAMLMap.js
|
|
4483
4483
|
var require_YAMLMap = __commonJS((exports) => {
|
|
4484
4484
|
var stringifyCollection = require_stringifyCollection();
|
|
4485
4485
|
var addPairToJSMap = require_addPairToJSMap();
|
|
@@ -4606,7 +4606,7 @@ var require_YAMLMap = __commonJS((exports) => {
|
|
|
4606
4606
|
exports.findPair = findPair;
|
|
4607
4607
|
});
|
|
4608
4608
|
|
|
4609
|
-
//
|
|
4609
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/common/map.js
|
|
4610
4610
|
var require_map = __commonJS((exports) => {
|
|
4611
4611
|
var identity = require_identity();
|
|
4612
4612
|
var YAMLMap = require_YAMLMap();
|
|
@@ -4625,7 +4625,7 @@ var require_map = __commonJS((exports) => {
|
|
|
4625
4625
|
exports.map = map;
|
|
4626
4626
|
});
|
|
4627
4627
|
|
|
4628
|
-
//
|
|
4628
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/nodes/YAMLSeq.js
|
|
4629
4629
|
var require_YAMLSeq = __commonJS((exports) => {
|
|
4630
4630
|
var createNode = require_createNode();
|
|
4631
4631
|
var stringifyCollection = require_stringifyCollection();
|
|
@@ -4718,7 +4718,7 @@ var require_YAMLSeq = __commonJS((exports) => {
|
|
|
4718
4718
|
exports.YAMLSeq = YAMLSeq;
|
|
4719
4719
|
});
|
|
4720
4720
|
|
|
4721
|
-
//
|
|
4721
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/common/seq.js
|
|
4722
4722
|
var require_seq = __commonJS((exports) => {
|
|
4723
4723
|
var identity = require_identity();
|
|
4724
4724
|
var YAMLSeq = require_YAMLSeq();
|
|
@@ -4737,7 +4737,7 @@ var require_seq = __commonJS((exports) => {
|
|
|
4737
4737
|
exports.seq = seq;
|
|
4738
4738
|
});
|
|
4739
4739
|
|
|
4740
|
-
//
|
|
4740
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/common/string.js
|
|
4741
4741
|
var require_string = __commonJS((exports) => {
|
|
4742
4742
|
var stringifyString = require_stringifyString();
|
|
4743
4743
|
var string = {
|
|
@@ -4753,7 +4753,7 @@ var require_string = __commonJS((exports) => {
|
|
|
4753
4753
|
exports.string = string;
|
|
4754
4754
|
});
|
|
4755
4755
|
|
|
4756
|
-
//
|
|
4756
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/common/null.js
|
|
4757
4757
|
var require_null = __commonJS((exports) => {
|
|
4758
4758
|
var Scalar = require_Scalar();
|
|
4759
4759
|
var nullTag = {
|
|
@@ -4768,7 +4768,7 @@ var require_null = __commonJS((exports) => {
|
|
|
4768
4768
|
exports.nullTag = nullTag;
|
|
4769
4769
|
});
|
|
4770
4770
|
|
|
4771
|
-
//
|
|
4771
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/core/bool.js
|
|
4772
4772
|
var require_bool = __commonJS((exports) => {
|
|
4773
4773
|
var Scalar = require_Scalar();
|
|
4774
4774
|
var boolTag = {
|
|
@@ -4789,7 +4789,7 @@ var require_bool = __commonJS((exports) => {
|
|
|
4789
4789
|
exports.boolTag = boolTag;
|
|
4790
4790
|
});
|
|
4791
4791
|
|
|
4792
|
-
//
|
|
4792
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyNumber.js
|
|
4793
4793
|
var require_stringifyNumber = __commonJS((exports) => {
|
|
4794
4794
|
function stringifyNumber({ format, minFractionDigits, tag, value }) {
|
|
4795
4795
|
if (typeof value === "bigint")
|
|
@@ -4813,7 +4813,7 @@ var require_stringifyNumber = __commonJS((exports) => {
|
|
|
4813
4813
|
exports.stringifyNumber = stringifyNumber;
|
|
4814
4814
|
});
|
|
4815
4815
|
|
|
4816
|
-
//
|
|
4816
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/core/float.js
|
|
4817
4817
|
var require_float = __commonJS((exports) => {
|
|
4818
4818
|
var Scalar = require_Scalar();
|
|
4819
4819
|
var stringifyNumber = require_stringifyNumber();
|
|
@@ -4856,7 +4856,7 @@ var require_float = __commonJS((exports) => {
|
|
|
4856
4856
|
exports.floatNaN = floatNaN;
|
|
4857
4857
|
});
|
|
4858
4858
|
|
|
4859
|
-
//
|
|
4859
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/core/int.js
|
|
4860
4860
|
var require_int = __commonJS((exports) => {
|
|
4861
4861
|
var stringifyNumber = require_stringifyNumber();
|
|
4862
4862
|
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
|
|
@@ -4898,7 +4898,7 @@ var require_int = __commonJS((exports) => {
|
|
|
4898
4898
|
exports.intOct = intOct;
|
|
4899
4899
|
});
|
|
4900
4900
|
|
|
4901
|
-
//
|
|
4901
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/core/schema.js
|
|
4902
4902
|
var require_schema = __commonJS((exports) => {
|
|
4903
4903
|
var map = require_map();
|
|
4904
4904
|
var _null = require_null();
|
|
@@ -4923,7 +4923,7 @@ var require_schema = __commonJS((exports) => {
|
|
|
4923
4923
|
exports.schema = schema;
|
|
4924
4924
|
});
|
|
4925
4925
|
|
|
4926
|
-
//
|
|
4926
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/json/schema.js
|
|
4927
4927
|
var require_schema2 = __commonJS((exports) => {
|
|
4928
4928
|
var Scalar = require_Scalar();
|
|
4929
4929
|
var map = require_map();
|
|
@@ -4987,7 +4987,7 @@ var require_schema2 = __commonJS((exports) => {
|
|
|
4987
4987
|
exports.schema = schema;
|
|
4988
4988
|
});
|
|
4989
4989
|
|
|
4990
|
-
//
|
|
4990
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/binary.js
|
|
4991
4991
|
var require_binary = __commonJS((exports) => {
|
|
4992
4992
|
var node_buffer = __require("buffer");
|
|
4993
4993
|
var Scalar = require_Scalar();
|
|
@@ -5042,7 +5042,7 @@ var require_binary = __commonJS((exports) => {
|
|
|
5042
5042
|
exports.binary = binary;
|
|
5043
5043
|
});
|
|
5044
5044
|
|
|
5045
|
-
//
|
|
5045
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
|
|
5046
5046
|
var require_pairs = __commonJS((exports) => {
|
|
5047
5047
|
var identity = require_identity();
|
|
5048
5048
|
var Pair = require_Pair();
|
|
@@ -5117,7 +5117,7 @@ ${cn.comment}` : item.comment;
|
|
|
5117
5117
|
exports.resolvePairs = resolvePairs;
|
|
5118
5118
|
});
|
|
5119
5119
|
|
|
5120
|
-
//
|
|
5120
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/omap.js
|
|
5121
5121
|
var require_omap = __commonJS((exports) => {
|
|
5122
5122
|
var identity = require_identity();
|
|
5123
5123
|
var toJS = require_toJS();
|
|
@@ -5189,7 +5189,7 @@ var require_omap = __commonJS((exports) => {
|
|
|
5189
5189
|
exports.omap = omap;
|
|
5190
5190
|
});
|
|
5191
5191
|
|
|
5192
|
-
//
|
|
5192
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/bool.js
|
|
5193
5193
|
var require_bool2 = __commonJS((exports) => {
|
|
5194
5194
|
var Scalar = require_Scalar();
|
|
5195
5195
|
function boolStringify({ value, source }, ctx) {
|
|
@@ -5218,7 +5218,7 @@ var require_bool2 = __commonJS((exports) => {
|
|
|
5218
5218
|
exports.trueTag = trueTag;
|
|
5219
5219
|
});
|
|
5220
5220
|
|
|
5221
|
-
//
|
|
5221
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/float.js
|
|
5222
5222
|
var require_float2 = __commonJS((exports) => {
|
|
5223
5223
|
var Scalar = require_Scalar();
|
|
5224
5224
|
var stringifyNumber = require_stringifyNumber();
|
|
@@ -5264,7 +5264,7 @@ var require_float2 = __commonJS((exports) => {
|
|
|
5264
5264
|
exports.floatNaN = floatNaN;
|
|
5265
5265
|
});
|
|
5266
5266
|
|
|
5267
|
-
//
|
|
5267
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/int.js
|
|
5268
5268
|
var require_int2 = __commonJS((exports) => {
|
|
5269
5269
|
var stringifyNumber = require_stringifyNumber();
|
|
5270
5270
|
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
|
|
@@ -5340,7 +5340,7 @@ var require_int2 = __commonJS((exports) => {
|
|
|
5340
5340
|
exports.intOct = intOct;
|
|
5341
5341
|
});
|
|
5342
5342
|
|
|
5343
|
-
//
|
|
5343
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/set.js
|
|
5344
5344
|
var require_set = __commonJS((exports) => {
|
|
5345
5345
|
var identity = require_identity();
|
|
5346
5346
|
var Pair = require_Pair();
|
|
@@ -5423,7 +5423,7 @@ var require_set = __commonJS((exports) => {
|
|
|
5423
5423
|
exports.set = set;
|
|
5424
5424
|
});
|
|
5425
5425
|
|
|
5426
|
-
//
|
|
5426
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
|
|
5427
5427
|
var require_timestamp = __commonJS((exports) => {
|
|
5428
5428
|
var stringifyNumber = require_stringifyNumber();
|
|
5429
5429
|
function parseSexagesimal(str, asBigInt) {
|
|
@@ -5505,7 +5505,7 @@ var require_timestamp = __commonJS((exports) => {
|
|
|
5505
5505
|
exports.timestamp = timestamp;
|
|
5506
5506
|
});
|
|
5507
5507
|
|
|
5508
|
-
//
|
|
5508
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/schema.js
|
|
5509
5509
|
var require_schema3 = __commonJS((exports) => {
|
|
5510
5510
|
var map = require_map();
|
|
5511
5511
|
var _null = require_null();
|
|
@@ -5546,7 +5546,7 @@ var require_schema3 = __commonJS((exports) => {
|
|
|
5546
5546
|
exports.schema = schema;
|
|
5547
5547
|
});
|
|
5548
5548
|
|
|
5549
|
-
//
|
|
5549
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/tags.js
|
|
5550
5550
|
var require_tags = __commonJS((exports) => {
|
|
5551
5551
|
var map = require_map();
|
|
5552
5552
|
var _null = require_null();
|
|
@@ -5637,7 +5637,7 @@ var require_tags = __commonJS((exports) => {
|
|
|
5637
5637
|
exports.getTags = getTags;
|
|
5638
5638
|
});
|
|
5639
5639
|
|
|
5640
|
-
//
|
|
5640
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/schema/Schema.js
|
|
5641
5641
|
var require_Schema = __commonJS((exports) => {
|
|
5642
5642
|
var identity = require_identity();
|
|
5643
5643
|
var map = require_map();
|
|
@@ -5667,7 +5667,7 @@ var require_Schema = __commonJS((exports) => {
|
|
|
5667
5667
|
exports.Schema = Schema;
|
|
5668
5668
|
});
|
|
5669
5669
|
|
|
5670
|
-
//
|
|
5670
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyDocument.js
|
|
5671
5671
|
var require_stringifyDocument = __commonJS((exports) => {
|
|
5672
5672
|
var identity = require_identity();
|
|
5673
5673
|
var stringify = require_stringify();
|
|
@@ -5747,7 +5747,7 @@ var require_stringifyDocument = __commonJS((exports) => {
|
|
|
5747
5747
|
exports.stringifyDocument = stringifyDocument;
|
|
5748
5748
|
});
|
|
5749
5749
|
|
|
5750
|
-
//
|
|
5750
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/doc/Document.js
|
|
5751
5751
|
var require_Document = __commonJS((exports) => {
|
|
5752
5752
|
var Alias = require_Alias();
|
|
5753
5753
|
var Collection = require_Collection();
|
|
@@ -5982,7 +5982,7 @@ var require_Document = __commonJS((exports) => {
|
|
|
5982
5982
|
exports.Document = Document;
|
|
5983
5983
|
});
|
|
5984
5984
|
|
|
5985
|
-
//
|
|
5985
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/errors.js
|
|
5986
5986
|
var require_errors = __commonJS((exports) => {
|
|
5987
5987
|
class YAMLError extends Error {
|
|
5988
5988
|
constructor(name, pos, code, message) {
|
|
@@ -6047,7 +6047,7 @@ ${pointer}
|
|
|
6047
6047
|
exports.prettifyError = prettifyError;
|
|
6048
6048
|
});
|
|
6049
6049
|
|
|
6050
|
-
//
|
|
6050
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-props.js
|
|
6051
6051
|
var require_resolve_props = __commonJS((exports) => {
|
|
6052
6052
|
function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
|
|
6053
6053
|
let spaceBefore = false;
|
|
@@ -6177,7 +6177,7 @@ var require_resolve_props = __commonJS((exports) => {
|
|
|
6177
6177
|
exports.resolveProps = resolveProps;
|
|
6178
6178
|
});
|
|
6179
6179
|
|
|
6180
|
-
//
|
|
6180
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/util-contains-newline.js
|
|
6181
6181
|
var require_util_contains_newline = __commonJS((exports) => {
|
|
6182
6182
|
function containsNewline(key) {
|
|
6183
6183
|
if (!key)
|
|
@@ -6217,7 +6217,7 @@ var require_util_contains_newline = __commonJS((exports) => {
|
|
|
6217
6217
|
exports.containsNewline = containsNewline;
|
|
6218
6218
|
});
|
|
6219
6219
|
|
|
6220
|
-
//
|
|
6220
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/util-flow-indent-check.js
|
|
6221
6221
|
var require_util_flow_indent_check = __commonJS((exports) => {
|
|
6222
6222
|
var utilContainsNewline = require_util_contains_newline();
|
|
6223
6223
|
function flowIndentCheck(indent, fc, onError) {
|
|
@@ -6232,7 +6232,7 @@ var require_util_flow_indent_check = __commonJS((exports) => {
|
|
|
6232
6232
|
exports.flowIndentCheck = flowIndentCheck;
|
|
6233
6233
|
});
|
|
6234
6234
|
|
|
6235
|
-
//
|
|
6235
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/util-map-includes.js
|
|
6236
6236
|
var require_util_map_includes = __commonJS((exports) => {
|
|
6237
6237
|
var identity = require_identity();
|
|
6238
6238
|
function mapIncludes(ctx, items, search) {
|
|
@@ -6245,7 +6245,7 @@ var require_util_map_includes = __commonJS((exports) => {
|
|
|
6245
6245
|
exports.mapIncludes = mapIncludes;
|
|
6246
6246
|
});
|
|
6247
6247
|
|
|
6248
|
-
//
|
|
6248
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-block-map.js
|
|
6249
6249
|
var require_resolve_block_map = __commonJS((exports) => {
|
|
6250
6250
|
var Pair = require_Pair();
|
|
6251
6251
|
var YAMLMap = require_YAMLMap();
|
|
@@ -6352,7 +6352,7 @@ var require_resolve_block_map = __commonJS((exports) => {
|
|
|
6352
6352
|
exports.resolveBlockMap = resolveBlockMap;
|
|
6353
6353
|
});
|
|
6354
6354
|
|
|
6355
|
-
//
|
|
6355
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-block-seq.js
|
|
6356
6356
|
var require_resolve_block_seq = __commonJS((exports) => {
|
|
6357
6357
|
var YAMLSeq = require_YAMLSeq();
|
|
6358
6358
|
var resolveProps = require_resolve_props();
|
|
@@ -6400,7 +6400,7 @@ var require_resolve_block_seq = __commonJS((exports) => {
|
|
|
6400
6400
|
exports.resolveBlockSeq = resolveBlockSeq;
|
|
6401
6401
|
});
|
|
6402
6402
|
|
|
6403
|
-
//
|
|
6403
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-end.js
|
|
6404
6404
|
var require_resolve_end = __commonJS((exports) => {
|
|
6405
6405
|
function resolveEnd(end, offset, reqSpace, onError) {
|
|
6406
6406
|
let comment = "";
|
|
@@ -6440,7 +6440,7 @@ var require_resolve_end = __commonJS((exports) => {
|
|
|
6440
6440
|
exports.resolveEnd = resolveEnd;
|
|
6441
6441
|
});
|
|
6442
6442
|
|
|
6443
|
-
//
|
|
6443
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-flow-collection.js
|
|
6444
6444
|
var require_resolve_flow_collection = __commonJS((exports) => {
|
|
6445
6445
|
var identity = require_identity();
|
|
6446
6446
|
var Pair = require_Pair();
|
|
@@ -6631,7 +6631,7 @@ var require_resolve_flow_collection = __commonJS((exports) => {
|
|
|
6631
6631
|
exports.resolveFlowCollection = resolveFlowCollection;
|
|
6632
6632
|
});
|
|
6633
6633
|
|
|
6634
|
-
//
|
|
6634
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/compose-collection.js
|
|
6635
6635
|
var require_compose_collection = __commonJS((exports) => {
|
|
6636
6636
|
var identity = require_identity();
|
|
6637
6637
|
var Scalar = require_Scalar();
|
|
@@ -6693,7 +6693,7 @@ var require_compose_collection = __commonJS((exports) => {
|
|
|
6693
6693
|
exports.composeCollection = composeCollection;
|
|
6694
6694
|
});
|
|
6695
6695
|
|
|
6696
|
-
//
|
|
6696
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-block-scalar.js
|
|
6697
6697
|
var require_resolve_block_scalar = __commonJS((exports) => {
|
|
6698
6698
|
var Scalar = require_Scalar();
|
|
6699
6699
|
function resolveBlockScalar(ctx, scalar, onError) {
|
|
@@ -6886,7 +6886,7 @@ var require_resolve_block_scalar = __commonJS((exports) => {
|
|
|
6886
6886
|
exports.resolveBlockScalar = resolveBlockScalar;
|
|
6887
6887
|
});
|
|
6888
6888
|
|
|
6889
|
-
//
|
|
6889
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-flow-scalar.js
|
|
6890
6890
|
var require_resolve_flow_scalar = __commonJS((exports) => {
|
|
6891
6891
|
var Scalar = require_Scalar();
|
|
6892
6892
|
var resolveEnd = require_resolve_end();
|
|
@@ -7102,7 +7102,7 @@ var require_resolve_flow_scalar = __commonJS((exports) => {
|
|
|
7102
7102
|
exports.resolveFlowScalar = resolveFlowScalar;
|
|
7103
7103
|
});
|
|
7104
7104
|
|
|
7105
|
-
//
|
|
7105
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/compose-scalar.js
|
|
7106
7106
|
var require_compose_scalar = __commonJS((exports) => {
|
|
7107
7107
|
var identity = require_identity();
|
|
7108
7108
|
var Scalar = require_Scalar();
|
|
@@ -7180,7 +7180,7 @@ var require_compose_scalar = __commonJS((exports) => {
|
|
|
7180
7180
|
exports.composeScalar = composeScalar;
|
|
7181
7181
|
});
|
|
7182
7182
|
|
|
7183
|
-
//
|
|
7183
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/util-empty-scalar-position.js
|
|
7184
7184
|
var require_util_empty_scalar_position = __commonJS((exports) => {
|
|
7185
7185
|
function emptyScalarPosition(offset, before, pos) {
|
|
7186
7186
|
if (before) {
|
|
@@ -7207,7 +7207,7 @@ var require_util_empty_scalar_position = __commonJS((exports) => {
|
|
|
7207
7207
|
exports.emptyScalarPosition = emptyScalarPosition;
|
|
7208
7208
|
});
|
|
7209
7209
|
|
|
7210
|
-
//
|
|
7210
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/compose-node.js
|
|
7211
7211
|
var require_compose_node = __commonJS((exports) => {
|
|
7212
7212
|
var Alias = require_Alias();
|
|
7213
7213
|
var identity = require_identity();
|
|
@@ -7310,7 +7310,7 @@ var require_compose_node = __commonJS((exports) => {
|
|
|
7310
7310
|
exports.composeNode = composeNode;
|
|
7311
7311
|
});
|
|
7312
7312
|
|
|
7313
|
-
//
|
|
7313
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/compose-doc.js
|
|
7314
7314
|
var require_compose_doc = __commonJS((exports) => {
|
|
7315
7315
|
var Document = require_Document();
|
|
7316
7316
|
var composeNode = require_compose_node();
|
|
@@ -7350,7 +7350,7 @@ var require_compose_doc = __commonJS((exports) => {
|
|
|
7350
7350
|
exports.composeDoc = composeDoc;
|
|
7351
7351
|
});
|
|
7352
7352
|
|
|
7353
|
-
//
|
|
7353
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/compose/composer.js
|
|
7354
7354
|
var require_composer = __commonJS((exports) => {
|
|
7355
7355
|
var node_process = __require("process");
|
|
7356
7356
|
var directives = require_directives();
|
|
@@ -7539,7 +7539,7 @@ ${end.comment}` : end.comment;
|
|
|
7539
7539
|
exports.Composer = Composer;
|
|
7540
7540
|
});
|
|
7541
7541
|
|
|
7542
|
-
//
|
|
7542
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/parse/cst-scalar.js
|
|
7543
7543
|
var require_cst_scalar = __commonJS((exports) => {
|
|
7544
7544
|
var resolveBlockScalar = require_resolve_block_scalar();
|
|
7545
7545
|
var resolveFlowScalar = require_resolve_flow_scalar();
|
|
@@ -7729,7 +7729,7 @@ var require_cst_scalar = __commonJS((exports) => {
|
|
|
7729
7729
|
exports.setScalarValue = setScalarValue;
|
|
7730
7730
|
});
|
|
7731
7731
|
|
|
7732
|
-
//
|
|
7732
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/parse/cst-stringify.js
|
|
7733
7733
|
var require_cst_stringify = __commonJS((exports) => {
|
|
7734
7734
|
var stringify = (cst) => ("type" in cst) ? stringifyToken(cst) : stringifyItem(cst);
|
|
7735
7735
|
function stringifyToken(token) {
|
|
@@ -7787,7 +7787,7 @@ var require_cst_stringify = __commonJS((exports) => {
|
|
|
7787
7787
|
exports.stringify = stringify;
|
|
7788
7788
|
});
|
|
7789
7789
|
|
|
7790
|
-
//
|
|
7790
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/parse/cst-visit.js
|
|
7791
7791
|
var require_cst_visit = __commonJS((exports) => {
|
|
7792
7792
|
var BREAK = Symbol("break visit");
|
|
7793
7793
|
var SKIP = Symbol("skip children");
|
|
@@ -7846,7 +7846,7 @@ var require_cst_visit = __commonJS((exports) => {
|
|
|
7846
7846
|
exports.visit = visit;
|
|
7847
7847
|
});
|
|
7848
7848
|
|
|
7849
|
-
//
|
|
7849
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/parse/cst.js
|
|
7850
7850
|
var require_cst = __commonJS((exports) => {
|
|
7851
7851
|
var cstScalar = require_cst_scalar();
|
|
7852
7852
|
var cstStringify = require_cst_stringify();
|
|
@@ -7947,7 +7947,7 @@ var require_cst = __commonJS((exports) => {
|
|
|
7947
7947
|
exports.tokenType = tokenType;
|
|
7948
7948
|
});
|
|
7949
7949
|
|
|
7950
|
-
//
|
|
7950
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/parse/lexer.js
|
|
7951
7951
|
var require_lexer = __commonJS((exports) => {
|
|
7952
7952
|
var cst = require_cst();
|
|
7953
7953
|
function isEmpty(ch) {
|
|
@@ -8533,7 +8533,7 @@ var require_lexer = __commonJS((exports) => {
|
|
|
8533
8533
|
exports.Lexer = Lexer;
|
|
8534
8534
|
});
|
|
8535
8535
|
|
|
8536
|
-
//
|
|
8536
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/parse/line-counter.js
|
|
8537
8537
|
var require_line_counter = __commonJS((exports) => {
|
|
8538
8538
|
class LineCounter {
|
|
8539
8539
|
constructor() {
|
|
@@ -8561,7 +8561,7 @@ var require_line_counter = __commonJS((exports) => {
|
|
|
8561
8561
|
exports.LineCounter = LineCounter;
|
|
8562
8562
|
});
|
|
8563
8563
|
|
|
8564
|
-
//
|
|
8564
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/parse/parser.js
|
|
8565
8565
|
var require_parser = __commonJS((exports) => {
|
|
8566
8566
|
var node_process = __require("process");
|
|
8567
8567
|
var cst = require_cst();
|
|
@@ -9410,7 +9410,7 @@ var require_parser = __commonJS((exports) => {
|
|
|
9410
9410
|
exports.Parser = Parser;
|
|
9411
9411
|
});
|
|
9412
9412
|
|
|
9413
|
-
//
|
|
9413
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/public-api.js
|
|
9414
9414
|
var require_public_api = __commonJS((exports) => {
|
|
9415
9415
|
var composer = require_composer();
|
|
9416
9416
|
var Document = require_Document();
|
|
@@ -9504,7 +9504,7 @@ var require_public_api = __commonJS((exports) => {
|
|
|
9504
9504
|
exports.stringify = stringify;
|
|
9505
9505
|
});
|
|
9506
9506
|
|
|
9507
|
-
//
|
|
9507
|
+
// node_modules/.bun/yaml@2.8.3/node_modules/yaml/dist/index.js
|
|
9508
9508
|
var require_dist = __commonJS((exports) => {
|
|
9509
9509
|
var composer = require_composer();
|
|
9510
9510
|
var Document = require_Document();
|
|
@@ -9553,7 +9553,7 @@ var require_dist = __commonJS((exports) => {
|
|
|
9553
9553
|
exports.visitAsync = visit.visitAsync;
|
|
9554
9554
|
});
|
|
9555
9555
|
|
|
9556
|
-
//
|
|
9556
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/util.js
|
|
9557
9557
|
var util, objectUtil, ZodParsedType, getParsedType = (data) => {
|
|
9558
9558
|
const t = typeof data;
|
|
9559
9559
|
switch (t) {
|
|
@@ -9684,7 +9684,7 @@ var init_util = __esm(() => {
|
|
|
9684
9684
|
]);
|
|
9685
9685
|
});
|
|
9686
9686
|
|
|
9687
|
-
//
|
|
9687
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/ZodError.js
|
|
9688
9688
|
var ZodIssueCode, quotelessJson = (obj) => {
|
|
9689
9689
|
const json = JSON.stringify(obj, null, 2);
|
|
9690
9690
|
return json.replace(/"([^"]+)":/g, "$1:");
|
|
@@ -9805,7 +9805,7 @@ var init_ZodError = __esm(() => {
|
|
|
9805
9805
|
};
|
|
9806
9806
|
});
|
|
9807
9807
|
|
|
9808
|
-
//
|
|
9808
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/locales/en.js
|
|
9809
9809
|
var errorMap = (issue, _ctx) => {
|
|
9810
9810
|
let message;
|
|
9811
9811
|
switch (issue.code) {
|
|
@@ -9912,7 +9912,7 @@ var init_en = __esm(() => {
|
|
|
9912
9912
|
en_default = errorMap;
|
|
9913
9913
|
});
|
|
9914
9914
|
|
|
9915
|
-
//
|
|
9915
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/errors.js
|
|
9916
9916
|
function setErrorMap(map) {
|
|
9917
9917
|
overrideErrorMap = map;
|
|
9918
9918
|
}
|
|
@@ -9925,7 +9925,7 @@ var init_errors = __esm(() => {
|
|
|
9925
9925
|
overrideErrorMap = en_default;
|
|
9926
9926
|
});
|
|
9927
9927
|
|
|
9928
|
-
//
|
|
9928
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js
|
|
9929
9929
|
function addIssueToContext(ctx, issueData) {
|
|
9930
9930
|
const overrideMap = getErrorMap();
|
|
9931
9931
|
const issue = makeIssue({
|
|
@@ -10030,10 +10030,10 @@ var init_parseUtil = __esm(() => {
|
|
|
10030
10030
|
});
|
|
10031
10031
|
});
|
|
10032
10032
|
|
|
10033
|
-
//
|
|
10033
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.js
|
|
10034
10034
|
var init_typeAliases = () => {};
|
|
10035
10035
|
|
|
10036
|
-
//
|
|
10036
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js
|
|
10037
10037
|
var errorUtil;
|
|
10038
10038
|
var init_errorUtil = __esm(() => {
|
|
10039
10039
|
(function(errorUtil2) {
|
|
@@ -10042,7 +10042,7 @@ var init_errorUtil = __esm(() => {
|
|
|
10042
10042
|
})(errorUtil || (errorUtil = {}));
|
|
10043
10043
|
});
|
|
10044
10044
|
|
|
10045
|
-
//
|
|
10045
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/types.js
|
|
10046
10046
|
class ParseInputLazyPath {
|
|
10047
10047
|
constructor(parent, value, path, key) {
|
|
10048
10048
|
this._cachedPath = [];
|
|
@@ -13393,7 +13393,7 @@ var init_types = __esm(() => {
|
|
|
13393
13393
|
NEVER = INVALID;
|
|
13394
13394
|
});
|
|
13395
13395
|
|
|
13396
|
-
//
|
|
13396
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/external.js
|
|
13397
13397
|
var exports_external = {};
|
|
13398
13398
|
__export(exports_external, {
|
|
13399
13399
|
void: () => voidType,
|
|
@@ -13513,7 +13513,7 @@ var init_external = __esm(() => {
|
|
|
13513
13513
|
init_ZodError();
|
|
13514
13514
|
});
|
|
13515
13515
|
|
|
13516
|
-
//
|
|
13516
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/index.js
|
|
13517
13517
|
var init_zod = __esm(() => {
|
|
13518
13518
|
init_external();
|
|
13519
13519
|
init_external();
|
|
@@ -13565,7 +13565,7 @@ var init_schema = __esm(() => {
|
|
|
13565
13565
|
ScheduleEntrySchema = exports_external.object({
|
|
13566
13566
|
cron: exports_external.string().describe("Cron expression (e.g., '0 8 * * *')"),
|
|
13567
13567
|
prompt: exports_external.string().optional().describe("Prompt to send at the scheduled time (the escalation prompt when " + "kind=poll; templated with {{diff}}). Required for kind prompt/poll; " + "absent for kind=action (an action has no model fire, so no prompt)."),
|
|
13568
|
-
kind: exports_external.enum(["poll", "prompt", "action"]).optional().describe("Tier-0 routing (
|
|
13568
|
+
kind: exports_external.enum(["poll", "prompt", "action"]).optional().describe("Tier-0 routing (reference/rfcs/cheap-cron-sessions.md). 'prompt' (default) " + "fires a model turn every tick (Tier 1/2 per `context`). 'poll' runs a " + "model-free deterministic check (requires `poll`) and only escalates to " + "a model fire on a hit. 'action' runs a model-free deterministic verb " + "(requires `action`) that COMPLETES the work and never escalates \u2014 zero " + "tokens, no session. poll/prompt tiering is on by default " + "(SWITCHROOM_CHEAP_CRON=0 is the kill-switch); an action is model-free " + "regardless (the kill-switch governs model tiering, not deterministic " + "actions)."),
|
|
13569
13569
|
poll: PollSpecSchema.optional().describe("Required iff kind=poll. The declarative poll spec."),
|
|
13570
13570
|
action: ActionSpecSchema.optional().describe("Required iff kind=action. The declarative action spec (telegram-message or webhook)."),
|
|
13571
13571
|
model: exports_external.string().optional().describe("Cron model hint. Reactivated by SWITCHROOM_CHEAP_CRON (was DEPRECATED/" + "IGNORED in v0.8). A known-cheap id (sonnet/haiku family) routes the " + "fire to a fresh cheap cron session (Tier 1, `context: fresh`); 'opus', " + "a custom id, or unset routes to the agent's live session (Tier 2, " + "`context: agent`) \u2014 the conservative default that preserves pre-v0.8 " + "behaviour. Note: a live session's model is fixed at launch, so on Tier " + "2 this is informational. See docs/scheduling.md."),
|
|
@@ -13574,7 +13574,7 @@ var init_schema = __esm(() => {
|
|
|
13574
13574
|
topic: exports_external.union([
|
|
13575
13575
|
exports_external.string().min(1, "topic alias must be non-empty"),
|
|
13576
13576
|
exports_external.number().int().positive("topic ID must be a positive integer")
|
|
13577
|
-
]).optional().describe("Forum topic this cron fires into when the owning agent is in " + "supergroup-owned mode (channels.telegram.chat_id set). Either a " + 'string alias resolved against `topic_aliases` (e.g. "planning") ' + "or a numeric topic ID. Falls back to the agent's `default_topic_id` " + "when unset. Ignored for agents in fleet-shared or dm_only mode. " + "Alias-resolution happens at config-load \u2014 typos surface immediately. " + "See
|
|
13577
|
+
]).optional().describe("Forum topic this cron fires into when the owning agent is in " + "supergroup-owned mode (channels.telegram.chat_id set). Either a " + 'string alias resolved against `topic_aliases` (e.g. "planning") ' + "or a numeric topic ID. Falls back to the agent's `default_topic_id` " + "when unset. Ignored for agents in fleet-shared or dm_only mode. " + "Alias-resolution happens at config-load \u2014 typos surface immediately. " + "See reference/rfcs/supergroup-mode.md.")
|
|
13578
13578
|
}).superRefine((entry, ctx) => {
|
|
13579
13579
|
const kind = entry.kind ?? "prompt";
|
|
13580
13580
|
if (kind === "poll" && !entry.poll) {
|
|
@@ -13747,15 +13747,15 @@ var init_schema = __esm(() => {
|
|
|
13747
13747
|
webhook_rate_limit: exports_external.object({
|
|
13748
13748
|
rpm: exports_external.number().int().positive()
|
|
13749
13749
|
}).optional().describe("Per-source rate limit for the webhook ingest path (#714). " + "Off by default \u2014 when this key is absent the handler skips " + "rate-limit checks entirely. Opt in by setting `rpm` to an " + "integer requests-per-minute (token bucket per (agent, source); " + "burst equal to rpm). When enabled, exceeding the limit returns " + "429 with Retry-After header; first throttle event per " + "(agent, source) per 60s window is written to " + "<agent>/telegram/issues.jsonl. " + "Cascades from defaults.channels.telegram.webhook_rate_limit."),
|
|
13750
|
-
webhook_via_gateway: exports_external.boolean().optional().describe("Route verified webhook events to the agent's in-container gateway " + "over a peercred-gated UDS (<agent>/telegram/webhook.sock) instead " + "of having the host-side web receiver write the agent dir directly. " + "Required under the Docker runtime: the receiver runs as the host " + "operator UID and cannot write the per-agent-UID-owned agent dir " + "(EACCES 500) nor connect the gateway socket. When true the gateway " + "(running as the agent UID) becomes the sole writer of " + "webhook-events.jsonl + dedup/cooldown state and also fires " + "webhook_dispatch. Off by default for back-compat with host-runtime " + "installs. See
|
|
13751
|
-
webhook_require_edge: exports_external.boolean().optional().describe("Cloudflare-only edge lock: require the X-Switchroom-Edge header " + "(injected by a Cloudflare Transform Rule on hooks.switchroom.ai) to " + "match the operator's edge secret at ~/.switchroom/webhook-edge-secret " + "before any HMAC verification; reject 403 otherwise. Proves the " + "request entered through our Cloudflare edge \u2014 the per-agent HMAC " + "alone can't (it proves body provenance, not network path). Stacks " + "on the GitHub-IP WAF + per-agent HMAC. Fail-closed: when required " + "but the secret file is missing/empty every request is rejected. Off " + "by default. See
|
|
13750
|
+
webhook_via_gateway: exports_external.boolean().optional().describe("Route verified webhook events to the agent's in-container gateway " + "over a peercred-gated UDS (<agent>/telegram/webhook.sock) instead " + "of having the host-side web receiver write the agent dir directly. " + "Required under the Docker runtime: the receiver runs as the host " + "operator UID and cannot write the per-agent-UID-owned agent dir " + "(EACCES 500) nor connect the gateway socket. When true the gateway " + "(running as the agent UID) becomes the sole writer of " + "webhook-events.jsonl + dedup/cooldown state and also fires " + "webhook_dispatch. Off by default for back-compat with host-runtime " + "installs. See reference/rfcs/webhook-via-gateway-socket.md."),
|
|
13751
|
+
webhook_require_edge: exports_external.boolean().optional().describe("Cloudflare-only edge lock: require the X-Switchroom-Edge header " + "(injected by a Cloudflare Transform Rule on hooks.switchroom.ai) to " + "match the operator's edge secret at ~/.switchroom/webhook-edge-secret " + "before any HMAC verification; reject 403 otherwise. Proves the " + "request entered through our Cloudflare edge \u2014 the per-agent HMAC " + "alone can't (it proves body provenance, not network path). Stacks " + "on the GitHub-IP WAF + per-agent HMAC. Fail-closed: when required " + "but the secret file is missing/empty every request is rejected. Off " + "by default. See reference/rfcs/webhook-cloudflare-edge-lock.md."),
|
|
13752
13752
|
linear_agent: exports_external.object({
|
|
13753
13753
|
enabled: exports_external.boolean(),
|
|
13754
13754
|
token: exports_external.string().describe("vault:<key> reference to the Linear OAuth app token (actor=app). " + "Resolved at runtime via the vault broker (canonically " + "vault:linear/<agent>/token). Never an inline literal."),
|
|
13755
13755
|
workspace_id: exports_external.string().optional().describe("Optional Linear workspace (organization) id this agent is " + "installed into. Informational \u2014 used for setup hints and " + "multi-workspace disambiguation; the token already scopes the " + "app to its workspace."),
|
|
13756
13756
|
default_team_id: exports_external.string().optional().describe("Optional Linear team id new captured issues file into when the " + "agent doesn't pass an explicit team_id. Unnecessary for a " + "single-team workspace (auto-resolved); set it only when the " + "workspace has multiple teams. Manage via " + "`switchroom linear-agent set-team <agent> <team>`.")
|
|
13757
13757
|
}).optional().describe("Linear first-class agent integration (#2298). When enabled, the " + "agent appears in a Linear workspace as an app actor (own name/" + "avatar, @-mentionable, delegate-assignable). Linear AgentSessionEvent " + "webhooks (mention / delegation) wake the agent instantly via the " + "same gateway inject path as webhook_dispatch, tagged " + 'meta.source="linear" with the agent_session_id, and the agent ' + "responds with structured AgentActivity (thought/message/complete/" + "error) via the linear_agent_activity MCP tool. Builds the " + "session-lifecycle layer on top of the plain webhook_sources:[linear] " + "+ webhook_dispatch support (#2272). The OAuth app token is stored in " + "the vault and referenced here as vault:linear/<agent>/token; run " + "`switchroom linear-agent setup <agent>` to provision it. Off by " + "default \u2014 opt in per agent. Cascades from " + "defaults.channels.telegram.linear_agent."),
|
|
13758
|
-
chat_id: exports_external.string().regex(/^-\d+$/, 'supergroup chat_id must be a negative integer as a string (e.g. "-1001234567890")').optional().describe("Per-agent supergroup ID \u2014 overrides fleet `telegram.forum_chat_id`. " + "When set, requires `default_topic_id`. Negative integer as string. " + "Forbidden when `dm_only: true`. See
|
|
13758
|
+
chat_id: exports_external.string().regex(/^-\d+$/, 'supergroup chat_id must be a negative integer as a string (e.g. "-1001234567890")').optional().describe("Per-agent supergroup ID \u2014 overrides fleet `telegram.forum_chat_id`. " + "When set, requires `default_topic_id`. Negative integer as string. " + "Forbidden when `dm_only: true`. See reference/rfcs/supergroup-mode.md."),
|
|
13759
13759
|
default_topic_id: exports_external.number().int().positive().optional().describe("Forum topic ID this agent's automated outbounds default to when " + "no more-specific alias resolves. Defaults to General (topic 1) when " + "`chat_id` is set and this is omitted \u2014 set it only to pin a different " + "fallback topic. " + "Telegram's General topic is `id=1` at MTProto but sends omit the " + "field \u2014 the outbound wrapper strips `message_thread_id === 1` " + "on send. Forbidden when `dm_only: true`."),
|
|
13760
13760
|
topic_aliases: exports_external.record(exports_external.string(), exports_external.number().int().positive()).optional().describe("Operator-friendly names for forum topic IDs (e.g. " + "`{ general: 1, planning: 17, cron: 23, admin: 31, alerts: 41 }`). " + "Referenced from per-cron `topic:` fields and the outbound router " + "for autonomous events (boot \u2192 alerts, hostd \u2192 admin, etc.). " + "Cascades per-key through defaults \u2192 profile \u2192 agent.")
|
|
13761
13761
|
}).optional().superRefine((tg, ctx) => {
|
|
@@ -13981,7 +13981,7 @@ var init_schema = __esm(() => {
|
|
|
13981
13981
|
drive: AgentGoogleWorkspaceConfigSchema.describe("RFC D legacy key \u2014 use `google_workspace:` instead. Per-agent " + "google_workspace overrides (currently approvers + tier). When set, " + "replaces the top-level approvers list for this agent. " + "google_client_id/secret are not per-agent \u2014 they live at the top level."),
|
|
13982
13982
|
google_workspace: AgentGoogleWorkspaceConfigSchema.describe("RFC G canonical key. Per-agent Google Workspace overrides \u2014 currently " + "approvers (replaces, does not extend the top-level list) and tier " + "(`core` | `extended` | `complete`, replaces top-level default). " + "google_client_id/secret are not per-agent \u2014 they live at the top level. " + "Mutually exclusive with `drive:` on the same agent (loader fails fast " + "if both are set)."),
|
|
13983
13983
|
microsoft_workspace: AgentMicrosoftWorkspaceConfigSchema.describe("RFC #1873 (Microsoft 365 integration). Per-agent Microsoft Workspace " + "override \u2014 pins the Microsoft account this agent reads via the " + "auth-broker (must be a key in top-level `microsoft_accounts:` with " + "this agent in its `enabled_for[]`) and optionally overrides org_mode. " + "microsoft_client_id/secret are not per-agent."),
|
|
13984
|
-
notion_workspace: AgentNotionWorkspaceConfigSchema.describe("RFC
|
|
13984
|
+
notion_workspace: AgentNotionWorkspaceConfigSchema.describe("RFC reference/rfcs/notion-integration.md. Per-agent Notion access. " + "Presence opts the agent IN (launcher scaffolded, MCP entry emitted, " + "broker grants the integration token). Optional `databases:` filter " + "narrows which DBs this agent may read/write \u2014 names must resolve in " + "top-level notion_workspace.databases. Absence opts the agent OUT."),
|
|
13985
13985
|
repos: exports_external.record(exports_external.string().regex(/^[a-z0-9][a-z0-9-]*$/, "Repo slug must be kebab-case ASCII: start with a lowercase letter or digit, contain only lowercase letters, digits, and hyphens"), exports_external.object({
|
|
13986
13986
|
url: exports_external.string().min(1).describe("Git remote URL for the repo (e.g. 'git@github.com:org/repo.git' or " + "'https://github.com/org/repo.git'). Used verbatim for git clone."),
|
|
13987
13987
|
branch_default: exports_external.string().optional().describe("Default branch to track (defaults to the remote's HEAD, typically 'main'). " + "The per-agent branch 'agent/<agentName>/main' fast-forwards to this branch " + "when the worktree is clean on session start.")
|
|
@@ -14116,9 +14116,9 @@ var init_schema = __esm(() => {
|
|
|
14116
14116
|
drive: GoogleWorkspaceConfigSchema.describe("RFC D legacy key \u2014 use `google_workspace:` instead. Optional Google " + "Workspace onboarding configuration. When set, supplies Google OAuth " + "client credentials, the approver allowlist for `switchroom drive " + "connect`, and the optional tier knob. Env vars " + "(SWITCHROOM_GOOGLE_CLIENT_ID, SWITCHROOM_GOOGLE_CLIENT_SECRET, " + "SWITCHROOM_APPROVER_USER_ID) take precedence over this block when " + "set, preserving back-compat with the env-only flow shipped in #766."),
|
|
14117
14117
|
google_workspace: GoogleWorkspaceConfigSchema.describe("RFC G canonical key. Top-level Google Workspace configuration \u2014 " + "OAuth client credentials, approver allowlist, and tier knob (`core` " + "| `extended` | `complete`, default `core`). Mutually exclusive with " + "`drive:` at the top level (loader fails fast if both are set)."),
|
|
14118
14118
|
microsoft_workspace: MicrosoftWorkspaceConfigSchema.describe("RFC #1873 (Microsoft 365 integration). Top-level Microsoft Workspace " + "configuration \u2014 OAuth client credentials (Entra app), authority " + "endpoint (defaults to /common for personal MSA + work), and the " + "org_mode opt-in for Teams/SharePoint surfaces. Block is optional; " + "when omitted the broker does not register the Microsoft provider."),
|
|
14119
|
-
notion_workspace: NotionWorkspaceConfigSchema.describe("RFC
|
|
14119
|
+
notion_workspace: NotionWorkspaceConfigSchema.describe("RFC reference/rfcs/notion-integration.md. Top-level Notion integration " + "config \u2014 vault key for the integration token, friendly-name \u2192 " + "database UUID map, optional MCP-package version pin, and optional " + "global rate-limit override (default 3 rps, Notion's documented " + "public-API limit). Block is optional; when omitted no agent gets a " + "Notion MCP entry regardless of per-agent config."),
|
|
14120
14120
|
quota: QuotaConfigSchema.optional().describe("Optional weekly/monthly USD spend budgets rendered in the session " + "greeting. Usage is read from ccusage at runtime; no network calls."),
|
|
14121
|
-
host_control: HostControlConfigSchema.default({}).describe("Host-control daemon configuration. Defaults to enabled=true since " + "RFC C Phase 2 (
|
|
14121
|
+
host_control: HostControlConfigSchema.default({}).describe("Host-control daemon configuration. Defaults to enabled=true since " + "RFC C Phase 2 (reference/rfcs/host-control-daemon.md). Omit the block " + "to accept defaults; set `enabled: false` only on legacy systemd-" + "mode installs (removal tracked as RFC C Phase 3)."),
|
|
14122
14122
|
hostd: HostdConfigSchema.default({}).describe("hostd verb-level knobs (RFC admin-agent-config-edit). Distinct " + "from `host_control:` which governs whether the daemon runs at " + "all. Scopes the opt-in flag and rate cap for the " + "`config_propose_edit` verb (disabled by default)."),
|
|
14123
14123
|
web_service: WebServiceConfigSchema.default({}).describe("Web-service container (dashboard + GitHub-webhook receiver) config. " + "Defaults to managed=false so existing systemd-mode installs are " + "untouched. Set managed: true after cutting over to the " + "`switchroom-web` container \u2014 then `switchroom update` keeps it " + "refreshed. See `switchroom webd install`."),
|
|
14124
14124
|
google_accounts: exports_external.record(exports_external.string().regex(/^[^@\s:]+@[^@\s:]+\.[^@\s:]+$/, {
|
|
@@ -14140,7 +14140,7 @@ var init_schema = __esm(() => {
|
|
|
14140
14140
|
agents: exports_external.record(exports_external.string().regex(/^[a-z0-9][a-z0-9_-]{0,50}$/, {
|
|
14141
14141
|
message: "Agent name must start with a letter/digit, contain only lowercase letters/digits/hyphens/underscores, and be at most 51 characters (Telegram callback_data byte limit)"
|
|
14142
14142
|
}), AgentSchema).describe("Map of agent name to agent configuration"),
|
|
14143
|
-
cron: CronConfigSchema.optional().describe("Cheap-cron settings (
|
|
14143
|
+
cron: CronConfigSchema.optional().describe("Cheap-cron settings (reference/rfcs/cheap-cron-sessions.md). Operator-owned " + "egress allowlist + host-pinned secret bindings for Tier-0 http-diff " + "polls (\u00a76.1). Required to enable any http-diff poll; not agent-writable.")
|
|
14144
14144
|
});
|
|
14145
14145
|
});
|
|
14146
14146
|
|
|
@@ -15897,7 +15897,7 @@ var init_acl = __esm(() => {
|
|
|
15897
15897
|
]);
|
|
15898
15898
|
});
|
|
15899
15899
|
|
|
15900
|
-
//
|
|
15900
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/utils.js
|
|
15901
15901
|
var require_utils = __commonJS((exports) => {
|
|
15902
15902
|
exports.__esModule = true;
|
|
15903
15903
|
exports.extend = extend;
|
|
@@ -15993,7 +15993,7 @@ var require_utils = __commonJS((exports) => {
|
|
|
15993
15993
|
}
|
|
15994
15994
|
});
|
|
15995
15995
|
|
|
15996
|
-
//
|
|
15996
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/exception.js
|
|
15997
15997
|
var require_exception = __commonJS((exports, module) => {
|
|
15998
15998
|
exports.__esModule = true;
|
|
15999
15999
|
var errorProps = ["description", "fileName", "lineNumber", "endLineNumber", "message", "name", "number", "stack"];
|
|
@@ -16038,7 +16038,7 @@ var require_exception = __commonJS((exports, module) => {
|
|
|
16038
16038
|
module.exports = exports["default"];
|
|
16039
16039
|
});
|
|
16040
16040
|
|
|
16041
|
-
//
|
|
16041
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js
|
|
16042
16042
|
var require_block_helper_missing = __commonJS((exports, module) => {
|
|
16043
16043
|
exports.__esModule = true;
|
|
16044
16044
|
var _utils = require_utils();
|
|
@@ -16071,7 +16071,7 @@ var require_block_helper_missing = __commonJS((exports, module) => {
|
|
|
16071
16071
|
module.exports = exports["default"];
|
|
16072
16072
|
});
|
|
16073
16073
|
|
|
16074
|
-
//
|
|
16074
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js
|
|
16075
16075
|
var require_each = __commonJS((exports, module) => {
|
|
16076
16076
|
exports.__esModule = true;
|
|
16077
16077
|
function _interopRequireDefault(obj) {
|
|
@@ -16152,7 +16152,7 @@ var require_each = __commonJS((exports, module) => {
|
|
|
16152
16152
|
module.exports = exports["default"];
|
|
16153
16153
|
});
|
|
16154
16154
|
|
|
16155
|
-
//
|
|
16155
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js
|
|
16156
16156
|
var require_helper_missing = __commonJS((exports, module) => {
|
|
16157
16157
|
exports.__esModule = true;
|
|
16158
16158
|
function _interopRequireDefault(obj) {
|
|
@@ -16172,7 +16172,7 @@ var require_helper_missing = __commonJS((exports, module) => {
|
|
|
16172
16172
|
module.exports = exports["default"];
|
|
16173
16173
|
});
|
|
16174
16174
|
|
|
16175
|
-
//
|
|
16175
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/helpers/if.js
|
|
16176
16176
|
var require_if = __commonJS((exports, module) => {
|
|
16177
16177
|
exports.__esModule = true;
|
|
16178
16178
|
function _interopRequireDefault(obj) {
|
|
@@ -16209,7 +16209,7 @@ var require_if = __commonJS((exports, module) => {
|
|
|
16209
16209
|
module.exports = exports["default"];
|
|
16210
16210
|
});
|
|
16211
16211
|
|
|
16212
|
-
//
|
|
16212
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/helpers/log.js
|
|
16213
16213
|
var require_log2 = __commonJS((exports, module) => {
|
|
16214
16214
|
exports.__esModule = true;
|
|
16215
16215
|
exports.default = function(instance) {
|
|
@@ -16231,7 +16231,7 @@ var require_log2 = __commonJS((exports, module) => {
|
|
|
16231
16231
|
module.exports = exports["default"];
|
|
16232
16232
|
});
|
|
16233
16233
|
|
|
16234
|
-
//
|
|
16234
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js
|
|
16235
16235
|
var require_lookup = __commonJS((exports, module) => {
|
|
16236
16236
|
exports.__esModule = true;
|
|
16237
16237
|
exports.default = function(instance) {
|
|
@@ -16245,7 +16245,7 @@ var require_lookup = __commonJS((exports, module) => {
|
|
|
16245
16245
|
module.exports = exports["default"];
|
|
16246
16246
|
});
|
|
16247
16247
|
|
|
16248
|
-
//
|
|
16248
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/helpers/with.js
|
|
16249
16249
|
var require_with = __commonJS((exports, module) => {
|
|
16250
16250
|
exports.__esModule = true;
|
|
16251
16251
|
function _interopRequireDefault(obj) {
|
|
@@ -16281,7 +16281,7 @@ var require_with = __commonJS((exports, module) => {
|
|
|
16281
16281
|
module.exports = exports["default"];
|
|
16282
16282
|
});
|
|
16283
16283
|
|
|
16284
|
-
//
|
|
16284
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/helpers.js
|
|
16285
16285
|
var require_helpers = __commonJS((exports) => {
|
|
16286
16286
|
exports.__esModule = true;
|
|
16287
16287
|
exports.registerDefaultHelpers = registerDefaultHelpers;
|
|
@@ -16322,7 +16322,7 @@ var require_helpers = __commonJS((exports) => {
|
|
|
16322
16322
|
}
|
|
16323
16323
|
});
|
|
16324
16324
|
|
|
16325
|
-
//
|
|
16325
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js
|
|
16326
16326
|
var require_inline = __commonJS((exports, module) => {
|
|
16327
16327
|
exports.__esModule = true;
|
|
16328
16328
|
var _utils = require_utils();
|
|
@@ -16346,7 +16346,7 @@ var require_inline = __commonJS((exports, module) => {
|
|
|
16346
16346
|
module.exports = exports["default"];
|
|
16347
16347
|
});
|
|
16348
16348
|
|
|
16349
|
-
//
|
|
16349
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/decorators.js
|
|
16350
16350
|
var require_decorators = __commonJS((exports) => {
|
|
16351
16351
|
exports.__esModule = true;
|
|
16352
16352
|
exports.registerDefaultDecorators = registerDefaultDecorators;
|
|
@@ -16360,7 +16360,7 @@ var require_decorators = __commonJS((exports) => {
|
|
|
16360
16360
|
}
|
|
16361
16361
|
});
|
|
16362
16362
|
|
|
16363
|
-
//
|
|
16363
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/logger.js
|
|
16364
16364
|
var require_logger = __commonJS((exports, module) => {
|
|
16365
16365
|
exports.__esModule = true;
|
|
16366
16366
|
var _utils = require_utils();
|
|
@@ -16396,7 +16396,7 @@ var require_logger = __commonJS((exports, module) => {
|
|
|
16396
16396
|
module.exports = exports["default"];
|
|
16397
16397
|
});
|
|
16398
16398
|
|
|
16399
|
-
//
|
|
16399
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js
|
|
16400
16400
|
var require_proto_access = __commonJS((exports) => {
|
|
16401
16401
|
exports.__esModule = true;
|
|
16402
16402
|
exports.createProtoAccessControl = createProtoAccessControl;
|
|
@@ -16463,7 +16463,7 @@ var require_proto_access = __commonJS((exports) => {
|
|
|
16463
16463
|
}
|
|
16464
16464
|
});
|
|
16465
16465
|
|
|
16466
|
-
//
|
|
16466
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/base.js
|
|
16467
16467
|
var require_base = __commonJS((exports) => {
|
|
16468
16468
|
exports.__esModule = true;
|
|
16469
16469
|
exports.HandlebarsEnvironment = HandlebarsEnvironment;
|
|
@@ -16556,7 +16556,7 @@ var require_base = __commonJS((exports) => {
|
|
|
16556
16556
|
exports.logger = _logger2["default"];
|
|
16557
16557
|
});
|
|
16558
16558
|
|
|
16559
|
-
//
|
|
16559
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/safe-string.js
|
|
16560
16560
|
var require_safe_string = __commonJS((exports, module) => {
|
|
16561
16561
|
exports.__esModule = true;
|
|
16562
16562
|
function SafeString(string) {
|
|
@@ -16569,7 +16569,7 @@ var require_safe_string = __commonJS((exports, module) => {
|
|
|
16569
16569
|
module.exports = exports["default"];
|
|
16570
16570
|
});
|
|
16571
16571
|
|
|
16572
|
-
//
|
|
16572
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js
|
|
16573
16573
|
var require_wrapHelper = __commonJS((exports) => {
|
|
16574
16574
|
exports.__esModule = true;
|
|
16575
16575
|
exports.wrapHelper = wrapHelper;
|
|
@@ -16586,7 +16586,7 @@ var require_wrapHelper = __commonJS((exports) => {
|
|
|
16586
16586
|
}
|
|
16587
16587
|
});
|
|
16588
16588
|
|
|
16589
|
-
//
|
|
16589
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/runtime.js
|
|
16590
16590
|
var require_runtime = __commonJS((exports) => {
|
|
16591
16591
|
exports.__esModule = true;
|
|
16592
16592
|
exports.checkRevision = checkRevision;
|
|
@@ -16901,7 +16901,7 @@ var require_runtime = __commonJS((exports) => {
|
|
|
16901
16901
|
}
|
|
16902
16902
|
});
|
|
16903
16903
|
|
|
16904
|
-
//
|
|
16904
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/no-conflict.js
|
|
16905
16905
|
var require_no_conflict = __commonJS((exports, module) => {
|
|
16906
16906
|
exports.__esModule = true;
|
|
16907
16907
|
exports.default = function(Handlebars) {
|
|
@@ -16925,7 +16925,7 @@ var require_no_conflict = __commonJS((exports, module) => {
|
|
|
16925
16925
|
module.exports = exports["default"];
|
|
16926
16926
|
});
|
|
16927
16927
|
|
|
16928
|
-
//
|
|
16928
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars.runtime.js
|
|
16929
16929
|
var require_handlebars_runtime = __commonJS((exports, module) => {
|
|
16930
16930
|
exports.__esModule = true;
|
|
16931
16931
|
function _interopRequireDefault(obj) {
|
|
@@ -16979,7 +16979,7 @@ var require_handlebars_runtime = __commonJS((exports, module) => {
|
|
|
16979
16979
|
module.exports = exports["default"];
|
|
16980
16980
|
});
|
|
16981
16981
|
|
|
16982
|
-
//
|
|
16982
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js
|
|
16983
16983
|
var require_ast = __commonJS((exports, module) => {
|
|
16984
16984
|
exports.__esModule = true;
|
|
16985
16985
|
var AST = {
|
|
@@ -16999,7 +16999,7 @@ var require_ast = __commonJS((exports, module) => {
|
|
|
16999
16999
|
module.exports = exports["default"];
|
|
17000
17000
|
});
|
|
17001
17001
|
|
|
17002
|
-
//
|
|
17002
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js
|
|
17003
17003
|
var require_parser2 = __commonJS((exports, module) => {
|
|
17004
17004
|
exports.__esModule = true;
|
|
17005
17005
|
var handlebars = function() {
|
|
@@ -17723,7 +17723,7 @@ Expecting ` + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symb
|
|
|
17723
17723
|
module.exports = exports["default"];
|
|
17724
17724
|
});
|
|
17725
17725
|
|
|
17726
|
-
//
|
|
17726
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js
|
|
17727
17727
|
var require_visitor = __commonJS((exports, module) => {
|
|
17728
17728
|
exports.__esModule = true;
|
|
17729
17729
|
function _interopRequireDefault(obj) {
|
|
@@ -17828,7 +17828,7 @@ var require_visitor = __commonJS((exports, module) => {
|
|
|
17828
17828
|
module.exports = exports["default"];
|
|
17829
17829
|
});
|
|
17830
17830
|
|
|
17831
|
-
//
|
|
17831
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js
|
|
17832
17832
|
var require_whitespace_control = __commonJS((exports, module) => {
|
|
17833
17833
|
exports.__esModule = true;
|
|
17834
17834
|
function _interopRequireDefault(obj) {
|
|
@@ -17974,7 +17974,7 @@ var require_whitespace_control = __commonJS((exports, module) => {
|
|
|
17974
17974
|
module.exports = exports["default"];
|
|
17975
17975
|
});
|
|
17976
17976
|
|
|
17977
|
-
//
|
|
17977
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js
|
|
17978
17978
|
var require_helpers2 = __commonJS((exports) => {
|
|
17979
17979
|
exports.__esModule = true;
|
|
17980
17980
|
exports.SourceLocation = SourceLocation;
|
|
@@ -18159,7 +18159,7 @@ var require_helpers2 = __commonJS((exports) => {
|
|
|
18159
18159
|
}
|
|
18160
18160
|
});
|
|
18161
18161
|
|
|
18162
|
-
//
|
|
18162
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js
|
|
18163
18163
|
var require_base2 = __commonJS((exports) => {
|
|
18164
18164
|
exports.__esModule = true;
|
|
18165
18165
|
exports.parseWithoutProcessing = parseWithoutProcessing;
|
|
@@ -18258,7 +18258,7 @@ var require_base2 = __commonJS((exports) => {
|
|
|
18258
18258
|
}
|
|
18259
18259
|
});
|
|
18260
18260
|
|
|
18261
|
-
//
|
|
18261
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js
|
|
18262
18262
|
var require_compiler = __commonJS((exports) => {
|
|
18263
18263
|
exports.__esModule = true;
|
|
18264
18264
|
exports.Compiler = Compiler;
|
|
@@ -18675,7 +18675,7 @@ var require_compiler = __commonJS((exports) => {
|
|
|
18675
18675
|
}
|
|
18676
18676
|
});
|
|
18677
18677
|
|
|
18678
|
-
//
|
|
18678
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/base64.js
|
|
18679
18679
|
var require_base64 = __commonJS((exports) => {
|
|
18680
18680
|
var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
|
|
18681
18681
|
exports.encode = function(number) {
|
|
@@ -18714,7 +18714,7 @@ var require_base64 = __commonJS((exports) => {
|
|
|
18714
18714
|
};
|
|
18715
18715
|
});
|
|
18716
18716
|
|
|
18717
|
-
//
|
|
18717
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/base64-vlq.js
|
|
18718
18718
|
var require_base64_vlq = __commonJS((exports) => {
|
|
18719
18719
|
var base64 = require_base64();
|
|
18720
18720
|
var VLQ_BASE_SHIFT = 5;
|
|
@@ -18766,7 +18766,7 @@ var require_base64_vlq = __commonJS((exports) => {
|
|
|
18766
18766
|
};
|
|
18767
18767
|
});
|
|
18768
18768
|
|
|
18769
|
-
//
|
|
18769
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/util.js
|
|
18770
18770
|
var require_util = __commonJS((exports) => {
|
|
18771
18771
|
function getArg(aArgs, aName, aDefaultValue) {
|
|
18772
18772
|
if (aName in aArgs) {
|
|
@@ -19065,7 +19065,7 @@ var require_util = __commonJS((exports) => {
|
|
|
19065
19065
|
exports.computeSourceURL = computeSourceURL;
|
|
19066
19066
|
});
|
|
19067
19067
|
|
|
19068
|
-
//
|
|
19068
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/array-set.js
|
|
19069
19069
|
var require_array_set = __commonJS((exports) => {
|
|
19070
19070
|
var util3 = require_util();
|
|
19071
19071
|
var has = Object.prototype.hasOwnProperty;
|
|
@@ -19133,7 +19133,7 @@ var require_array_set = __commonJS((exports) => {
|
|
|
19133
19133
|
exports.ArraySet = ArraySet;
|
|
19134
19134
|
});
|
|
19135
19135
|
|
|
19136
|
-
//
|
|
19136
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/mapping-list.js
|
|
19137
19137
|
var require_mapping_list = __commonJS((exports) => {
|
|
19138
19138
|
var util3 = require_util();
|
|
19139
19139
|
function generatedPositionAfter(mappingA, mappingB) {
|
|
@@ -19170,7 +19170,7 @@ var require_mapping_list = __commonJS((exports) => {
|
|
|
19170
19170
|
exports.MappingList = MappingList;
|
|
19171
19171
|
});
|
|
19172
19172
|
|
|
19173
|
-
//
|
|
19173
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/source-map-generator.js
|
|
19174
19174
|
var require_source_map_generator = __commonJS((exports) => {
|
|
19175
19175
|
var base64VLQ = require_base64_vlq();
|
|
19176
19176
|
var util3 = require_util();
|
|
@@ -19440,7 +19440,7 @@ var require_source_map_generator = __commonJS((exports) => {
|
|
|
19440
19440
|
exports.SourceMapGenerator = SourceMapGenerator;
|
|
19441
19441
|
});
|
|
19442
19442
|
|
|
19443
|
-
//
|
|
19443
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/binary-search.js
|
|
19444
19444
|
var require_binary_search = __commonJS((exports) => {
|
|
19445
19445
|
exports.GREATEST_LOWER_BOUND = 1;
|
|
19446
19446
|
exports.LEAST_UPPER_BOUND = 2;
|
|
@@ -19487,7 +19487,7 @@ var require_binary_search = __commonJS((exports) => {
|
|
|
19487
19487
|
};
|
|
19488
19488
|
});
|
|
19489
19489
|
|
|
19490
|
-
//
|
|
19490
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/quick-sort.js
|
|
19491
19491
|
var require_quick_sort = __commonJS((exports) => {
|
|
19492
19492
|
function swap(ary, x, y) {
|
|
19493
19493
|
var temp = ary[x];
|
|
@@ -19520,7 +19520,7 @@ var require_quick_sort = __commonJS((exports) => {
|
|
|
19520
19520
|
};
|
|
19521
19521
|
});
|
|
19522
19522
|
|
|
19523
|
-
//
|
|
19523
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/source-map-consumer.js
|
|
19524
19524
|
var require_source_map_consumer = __commonJS((exports) => {
|
|
19525
19525
|
var util3 = require_util();
|
|
19526
19526
|
var binarySearch = require_binary_search();
|
|
@@ -20089,7 +20089,7 @@ var require_source_map_consumer = __commonJS((exports) => {
|
|
|
20089
20089
|
exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
|
|
20090
20090
|
});
|
|
20091
20091
|
|
|
20092
|
-
//
|
|
20092
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/lib/source-node.js
|
|
20093
20093
|
var require_source_node = __commonJS((exports) => {
|
|
20094
20094
|
var SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
|
|
20095
20095
|
var util3 = require_util();
|
|
@@ -20343,14 +20343,14 @@ var require_source_node = __commonJS((exports) => {
|
|
|
20343
20343
|
exports.SourceNode = SourceNode;
|
|
20344
20344
|
});
|
|
20345
20345
|
|
|
20346
|
-
//
|
|
20346
|
+
// node_modules/.bun/source-map@0.6.1/node_modules/source-map/source-map.js
|
|
20347
20347
|
var require_source_map = __commonJS((exports) => {
|
|
20348
20348
|
exports.SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
|
|
20349
20349
|
exports.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer;
|
|
20350
20350
|
exports.SourceNode = require_source_node().SourceNode;
|
|
20351
20351
|
});
|
|
20352
20352
|
|
|
20353
|
-
//
|
|
20353
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js
|
|
20354
20354
|
var require_code_gen = __commonJS((exports, module) => {
|
|
20355
20355
|
exports.__esModule = true;
|
|
20356
20356
|
var _utils = require_utils();
|
|
@@ -20483,7 +20483,7 @@ var require_code_gen = __commonJS((exports, module) => {
|
|
|
20483
20483
|
module.exports = exports["default"];
|
|
20484
20484
|
});
|
|
20485
20485
|
|
|
20486
|
-
//
|
|
20486
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js
|
|
20487
20487
|
var require_javascript_compiler = __commonJS((exports, module) => {
|
|
20488
20488
|
exports.__esModule = true;
|
|
20489
20489
|
function _interopRequireDefault(obj) {
|
|
@@ -21251,7 +21251,7 @@ var require_javascript_compiler = __commonJS((exports, module) => {
|
|
|
21251
21251
|
module.exports = exports["default"];
|
|
21252
21252
|
});
|
|
21253
21253
|
|
|
21254
|
-
//
|
|
21254
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars.js
|
|
21255
21255
|
var require_handlebars = __commonJS((exports, module) => {
|
|
21256
21256
|
exports.__esModule = true;
|
|
21257
21257
|
function _interopRequireDefault(obj) {
|
|
@@ -21295,7 +21295,7 @@ var require_handlebars = __commonJS((exports, module) => {
|
|
|
21295
21295
|
module.exports = exports["default"];
|
|
21296
21296
|
});
|
|
21297
21297
|
|
|
21298
|
-
//
|
|
21298
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js
|
|
21299
21299
|
var require_printer = __commonJS((exports) => {
|
|
21300
21300
|
exports.__esModule = true;
|
|
21301
21301
|
exports.print = print;
|
|
@@ -21439,7 +21439,7 @@ var require_printer = __commonJS((exports) => {
|
|
|
21439
21439
|
};
|
|
21440
21440
|
});
|
|
21441
21441
|
|
|
21442
|
-
//
|
|
21442
|
+
// node_modules/.bun/handlebars@4.7.9/node_modules/handlebars/lib/index.js
|
|
21443
21443
|
var require_lib = __commonJS((exports, module) => {
|
|
21444
21444
|
var handlebars = require_handlebars()["default"];
|
|
21445
21445
|
var printer = require_printer();
|
|
@@ -31570,6 +31570,112 @@ var init_doctor_notion = __esm(() => {
|
|
|
31570
31570
|
HEARTBEAT_STALE_MS = 60 * 1000;
|
|
31571
31571
|
});
|
|
31572
31572
|
|
|
31573
|
+
// src/cli/doctor-mcp-secrets.ts
|
|
31574
|
+
function entryScopeDenies(agent, allow, deny) {
|
|
31575
|
+
if (deny.includes(agent))
|
|
31576
|
+
return true;
|
|
31577
|
+
if (allow.length > 0 && !allow.includes(agent))
|
|
31578
|
+
return true;
|
|
31579
|
+
return false;
|
|
31580
|
+
}
|
|
31581
|
+
function computeMcpSecretRequirements(config) {
|
|
31582
|
+
const cfg = config;
|
|
31583
|
+
const reqs = [];
|
|
31584
|
+
for (const [agent, agentConfig] of Object.entries(cfg.agents ?? {})) {
|
|
31585
|
+
if (!agentConfig)
|
|
31586
|
+
continue;
|
|
31587
|
+
const profileName = agentConfig.extends;
|
|
31588
|
+
const profileMcp = profileName != null && profileName.length > 0 ? cfg.profiles?.[profileName]?.mcp_servers ?? {} : {};
|
|
31589
|
+
const effectiveMcp = {
|
|
31590
|
+
...cfg.defaults?.mcp_servers ?? {},
|
|
31591
|
+
...profileMcp,
|
|
31592
|
+
...agentConfig.mcp_servers ?? {}
|
|
31593
|
+
};
|
|
31594
|
+
for (const [server, entry] of Object.entries(effectiveMcp)) {
|
|
31595
|
+
if (!entry || typeof entry !== "object")
|
|
31596
|
+
continue;
|
|
31597
|
+
const declared = entry.secrets;
|
|
31598
|
+
if (!Array.isArray(declared))
|
|
31599
|
+
continue;
|
|
31600
|
+
const keys = declared.filter((k) => typeof k === "string" && k.length > 0);
|
|
31601
|
+
if (keys.length === 0)
|
|
31602
|
+
continue;
|
|
31603
|
+
reqs.push({ agent, server, keys });
|
|
31604
|
+
}
|
|
31605
|
+
}
|
|
31606
|
+
return reqs;
|
|
31607
|
+
}
|
|
31608
|
+
async function runMcpSecretChecks(config, deps = {}) {
|
|
31609
|
+
const reqs = computeMcpSecretRequirements(config);
|
|
31610
|
+
if (reqs.length === 0)
|
|
31611
|
+
return [];
|
|
31612
|
+
const read = deps.vaultAclReader ?? (async () => ({
|
|
31613
|
+
kind: "unreachable",
|
|
31614
|
+
msg: "no vault reader wired"
|
|
31615
|
+
}));
|
|
31616
|
+
const aclCache = new Map;
|
|
31617
|
+
const readKey = async (key) => {
|
|
31618
|
+
const cached = aclCache.get(key);
|
|
31619
|
+
if (cached)
|
|
31620
|
+
return cached;
|
|
31621
|
+
const r = await read(key);
|
|
31622
|
+
aclCache.set(key, r);
|
|
31623
|
+
return r;
|
|
31624
|
+
};
|
|
31625
|
+
const agentsNeedingKey = new Map;
|
|
31626
|
+
for (const r of reqs) {
|
|
31627
|
+
for (const key of r.keys) {
|
|
31628
|
+
let set = agentsNeedingKey.get(key);
|
|
31629
|
+
if (!set) {
|
|
31630
|
+
set = new Set;
|
|
31631
|
+
agentsNeedingKey.set(key, set);
|
|
31632
|
+
}
|
|
31633
|
+
set.add(r.agent);
|
|
31634
|
+
}
|
|
31635
|
+
}
|
|
31636
|
+
const results = [];
|
|
31637
|
+
for (const r of reqs) {
|
|
31638
|
+
for (const key of r.keys) {
|
|
31639
|
+
const acl = await readKey(key);
|
|
31640
|
+
const name = `mcp-conn:${r.agent}:${r.server}:${key}`;
|
|
31641
|
+
const want = [...agentsNeedingKey.get(key) ?? new Set].sort();
|
|
31642
|
+
if (acl.kind === "unreachable") {
|
|
31643
|
+
results.push({
|
|
31644
|
+
name,
|
|
31645
|
+
status: "warn",
|
|
31646
|
+
detail: `vault-broker unreachable, can't verify '${key}' for MCP '${r.server}': ${acl.msg}`,
|
|
31647
|
+
fix: "Ensure the vault-broker is running and the operator socket is reachable, then re-run doctor."
|
|
31648
|
+
});
|
|
31649
|
+
continue;
|
|
31650
|
+
}
|
|
31651
|
+
if (acl.kind === "not_found") {
|
|
31652
|
+
results.push({
|
|
31653
|
+
name,
|
|
31654
|
+
status: "fail",
|
|
31655
|
+
detail: `agent '${r.agent}' loads MCP '${r.server}' which needs vault key '${key}', but the key is missing \u2014 '${r.server}' is configured but NOT authed and will fail at runtime`,
|
|
31656
|
+
fix: `switchroom vault set ${key} --allow ${want.join(",")} (then provide the value), or remove '${r.server}' from this agent's mcp_servers.`
|
|
31657
|
+
});
|
|
31658
|
+
continue;
|
|
31659
|
+
}
|
|
31660
|
+
if (entryScopeDenies(r.agent, acl.allow, acl.deny)) {
|
|
31661
|
+
results.push({
|
|
31662
|
+
name,
|
|
31663
|
+
status: "fail",
|
|
31664
|
+
detail: `agent '${r.agent}' loads MCP '${r.server}' but the vault entry scope for '${key}' denies it \u2014 the broker will deny at runtime`,
|
|
31665
|
+
fix: `switchroom vault set ${key} --allow ${[...new Set([...acl.allow, r.agent])].sort().join(",")} (vault set overwrites the scope \u2014 re-state the full list including '${r.agent}'; and drop it from --deny if present).`
|
|
31666
|
+
});
|
|
31667
|
+
continue;
|
|
31668
|
+
}
|
|
31669
|
+
results.push({
|
|
31670
|
+
name,
|
|
31671
|
+
status: "ok",
|
|
31672
|
+
detail: `MCP '${r.server}' \u2192 '${key}' present + scope-allowed`
|
|
31673
|
+
});
|
|
31674
|
+
}
|
|
31675
|
+
}
|
|
31676
|
+
return results;
|
|
31677
|
+
}
|
|
31678
|
+
|
|
31573
31679
|
// src/cli/doctor-credentials-migration.ts
|
|
31574
31680
|
import {
|
|
31575
31681
|
existsSync as realExistsSync5,
|
|
@@ -33909,6 +34015,24 @@ function registerDoctorCommand(program3) {
|
|
|
33909
34015
|
console.error(`Unknown skill: ${opts.skill}. Supported: mff`);
|
|
33910
34016
|
process.exit(1);
|
|
33911
34017
|
}
|
|
34018
|
+
const vaultAclReader = async (key) => {
|
|
34019
|
+
try {
|
|
34020
|
+
const { getViaBrokerStructured: getViaBrokerStructured2 } = await Promise.resolve().then(() => (init_client(), exports_client));
|
|
34021
|
+
const result = await getViaBrokerStructured2(key);
|
|
34022
|
+
if (result.kind === "ok") {
|
|
34023
|
+
return {
|
|
34024
|
+
kind: "ok",
|
|
34025
|
+
allow: result.entry.scope?.allow ?? [],
|
|
34026
|
+
deny: result.entry.scope?.deny ?? []
|
|
34027
|
+
};
|
|
34028
|
+
}
|
|
34029
|
+
if (result.kind === "not_found")
|
|
34030
|
+
return { kind: "not_found" };
|
|
34031
|
+
return { kind: "unreachable", msg: result.msg };
|
|
34032
|
+
} catch (err) {
|
|
34033
|
+
return { kind: "unreachable", msg: err.message };
|
|
34034
|
+
}
|
|
34035
|
+
};
|
|
33912
34036
|
const sections = [
|
|
33913
34037
|
{ title: "Dependencies", results: checkDependencies() },
|
|
33914
34038
|
{ title: "Skills Prerequisites", results: checkSkillsPrerequisites() },
|
|
@@ -33950,25 +34074,11 @@ function registerDoctorCommand(program3) {
|
|
|
33950
34074
|
},
|
|
33951
34075
|
{
|
|
33952
34076
|
title: "Notion (RFC notion-integration)",
|
|
33953
|
-
results: await runNotionChecks(config, {
|
|
33954
|
-
|
|
33955
|
-
|
|
33956
|
-
|
|
33957
|
-
|
|
33958
|
-
if (result.kind === "ok") {
|
|
33959
|
-
return {
|
|
33960
|
-
kind: "ok",
|
|
33961
|
-
allow: result.entry.scope?.allow ?? []
|
|
33962
|
-
};
|
|
33963
|
-
}
|
|
33964
|
-
if (result.kind === "not_found")
|
|
33965
|
-
return { kind: "not_found" };
|
|
33966
|
-
return { kind: "unreachable", msg: result.msg };
|
|
33967
|
-
} catch (err) {
|
|
33968
|
-
return { kind: "unreachable", msg: err.message };
|
|
33969
|
-
}
|
|
33970
|
-
}
|
|
33971
|
-
})
|
|
34077
|
+
results: await runNotionChecks(config, { vaultAclReader })
|
|
34078
|
+
},
|
|
34079
|
+
{
|
|
34080
|
+
title: "MCP Connections (auth)",
|
|
34081
|
+
results: await runMcpSecretChecks(config, { vaultAclReader })
|
|
33972
34082
|
},
|
|
33973
34083
|
{ title: "MFF Skill", results: await checkMff(passphrase, vaultPath, config) },
|
|
33974
34084
|
{ title: "Webkite", results: runWebkiteChecks(config) },
|
|
@@ -34091,7 +34201,7 @@ function deriveSlug(inputs, existing) {
|
|
|
34091
34201
|
return `${base}_${n}`;
|
|
34092
34202
|
}
|
|
34093
34203
|
|
|
34094
|
-
//
|
|
34204
|
+
// node_modules/.bun/boundary@2.0.0/node_modules/boundary/lib/index.js
|
|
34095
34205
|
var require_lib2 = __commonJS((exports2) => {
|
|
34096
34206
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
34097
34207
|
exports2.binarySearch = exports2.upperBound = exports2.lowerBound = exports2.compare = undefined;
|
|
@@ -34138,7 +34248,7 @@ var require_lib2 = __commonJS((exports2) => {
|
|
|
34138
34248
|
exports2.binarySearch = binarySearch;
|
|
34139
34249
|
});
|
|
34140
34250
|
|
|
34141
|
-
//
|
|
34251
|
+
// node_modules/.bun/structured-source@4.0.0/node_modules/structured-source/lib/structured-source.js
|
|
34142
34252
|
var require_structured_source = __commonJS((exports2) => {
|
|
34143
34253
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
34144
34254
|
exports2.StructuredSource = undefined;
|
|
@@ -34193,13 +34303,13 @@ var require_structured_source = __commonJS((exports2) => {
|
|
|
34193
34303
|
}
|
|
34194
34304
|
exports2.StructuredSource = StructuredSource;
|
|
34195
34305
|
});
|
|
34196
|
-
//
|
|
34306
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/SecretLintSourceCodeImpl.js
|
|
34197
34307
|
var import_structured_source;
|
|
34198
34308
|
var init_SecretLintSourceCodeImpl = __esm(() => {
|
|
34199
34309
|
import_structured_source = __toESM(require_structured_source(), 1);
|
|
34200
34310
|
});
|
|
34201
34311
|
|
|
34202
|
-
//
|
|
34312
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/helper/promise-event-emitter.js
|
|
34203
34313
|
class EventEmitter {
|
|
34204
34314
|
#listeners = new Map;
|
|
34205
34315
|
on(type, listener) {
|
|
@@ -34238,9 +34348,9 @@ class EventEmitter {
|
|
|
34238
34348
|
return Array.from(this.#listeners.get(type) ?? []);
|
|
34239
34349
|
}
|
|
34240
34350
|
}
|
|
34241
|
-
//
|
|
34351
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/RuleContext.js
|
|
34242
34352
|
var init_RuleContext = () => {};
|
|
34243
|
-
//
|
|
34353
|
+
// node_modules/.bun/@secretlint+profiler@12.2.0/node_modules/@secretlint/profiler/module/index.js
|
|
34244
34354
|
class SecretLintProfiler {
|
|
34245
34355
|
perf;
|
|
34246
34356
|
entries = [];
|
|
@@ -34297,7 +34407,7 @@ class SecretLintProfiler {
|
|
|
34297
34407
|
}
|
|
34298
34408
|
}
|
|
34299
34409
|
|
|
34300
|
-
//
|
|
34410
|
+
// node_modules/.bun/@secretlint+profiler@12.2.0/node_modules/@secretlint/profiler/module/node.js
|
|
34301
34411
|
import perf_hooks from "node:perf_hooks";
|
|
34302
34412
|
|
|
34303
34413
|
class NullPerformanceObserver {
|
|
@@ -34312,19 +34422,19 @@ var init_node = __esm(() => {
|
|
|
34312
34422
|
});
|
|
34313
34423
|
});
|
|
34314
34424
|
|
|
34315
|
-
//
|
|
34425
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/RunningEvents.js
|
|
34316
34426
|
var init_RunningEvents = __esm(() => {
|
|
34317
34427
|
init_node();
|
|
34318
34428
|
});
|
|
34319
34429
|
|
|
34320
|
-
//
|
|
34430
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/RulePresetContext.js
|
|
34321
34431
|
var init_RulePresetContext = __esm(() => {
|
|
34322
34432
|
init_RuleContext();
|
|
34323
34433
|
});
|
|
34324
|
-
//
|
|
34434
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/messages/index.js
|
|
34325
34435
|
var init_messages = () => {};
|
|
34326
34436
|
|
|
34327
|
-
//
|
|
34437
|
+
// node_modules/.bun/ms@2.1.3/node_modules/ms/index.js
|
|
34328
34438
|
var require_ms = __commonJS((exports2, module) => {
|
|
34329
34439
|
var s = 1000;
|
|
34330
34440
|
var m = s * 60;
|
|
@@ -34434,7 +34544,7 @@ var require_ms = __commonJS((exports2, module) => {
|
|
|
34434
34544
|
}
|
|
34435
34545
|
});
|
|
34436
34546
|
|
|
34437
|
-
//
|
|
34547
|
+
// node_modules/.bun/debug@4.4.3/node_modules/debug/src/common.js
|
|
34438
34548
|
var require_common = __commonJS((exports2, module) => {
|
|
34439
34549
|
function setup(env2) {
|
|
34440
34550
|
createDebug.debug = createDebug;
|
|
@@ -34609,7 +34719,7 @@ var require_common = __commonJS((exports2, module) => {
|
|
|
34609
34719
|
module.exports = setup;
|
|
34610
34720
|
});
|
|
34611
34721
|
|
|
34612
|
-
//
|
|
34722
|
+
// node_modules/.bun/debug@4.4.3/node_modules/debug/src/browser.js
|
|
34613
34723
|
var require_browser = __commonJS((exports2, module) => {
|
|
34614
34724
|
exports2.formatArgs = formatArgs;
|
|
34615
34725
|
exports2.save = save;
|
|
@@ -34769,7 +34879,7 @@ var require_browser = __commonJS((exports2, module) => {
|
|
|
34769
34879
|
};
|
|
34770
34880
|
});
|
|
34771
34881
|
|
|
34772
|
-
//
|
|
34882
|
+
// node_modules/.bun/has-flag@4.0.0/node_modules/has-flag/index.js
|
|
34773
34883
|
var require_has_flag = __commonJS((exports2, module) => {
|
|
34774
34884
|
module.exports = (flag, argv = process.argv) => {
|
|
34775
34885
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
@@ -34779,7 +34889,7 @@ var require_has_flag = __commonJS((exports2, module) => {
|
|
|
34779
34889
|
};
|
|
34780
34890
|
});
|
|
34781
34891
|
|
|
34782
|
-
//
|
|
34892
|
+
// node_modules/.bun/supports-color@7.2.0/node_modules/supports-color/index.js
|
|
34783
34893
|
var require_supports_color = __commonJS((exports2, module) => {
|
|
34784
34894
|
var os5 = __require("os");
|
|
34785
34895
|
var tty2 = __require("tty");
|
|
@@ -34878,7 +34988,7 @@ var require_supports_color = __commonJS((exports2, module) => {
|
|
|
34878
34988
|
};
|
|
34879
34989
|
});
|
|
34880
34990
|
|
|
34881
|
-
//
|
|
34991
|
+
// node_modules/.bun/debug@4.4.3/node_modules/debug/src/node.js
|
|
34882
34992
|
var require_node = __commonJS((exports2, module) => {
|
|
34883
34993
|
var tty2 = __require("tty");
|
|
34884
34994
|
var util3 = __require("util");
|
|
@@ -35049,7 +35159,7 @@ var require_node = __commonJS((exports2, module) => {
|
|
|
35049
35159
|
};
|
|
35050
35160
|
});
|
|
35051
35161
|
|
|
35052
|
-
//
|
|
35162
|
+
// node_modules/.bun/debug@4.4.3/node_modules/debug/src/index.js
|
|
35053
35163
|
var require_src = __commonJS((exports2, module) => {
|
|
35054
35164
|
if (typeof process === "undefined" || process.type === "renderer" || false || process.__nwjs) {
|
|
35055
35165
|
module.exports = require_browser();
|
|
@@ -35058,7 +35168,7 @@ var require_src = __commonJS((exports2, module) => {
|
|
|
35058
35168
|
}
|
|
35059
35169
|
});
|
|
35060
35170
|
|
|
35061
|
-
//
|
|
35171
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/index.js
|
|
35062
35172
|
var import_debug, debug;
|
|
35063
35173
|
var init_module = __esm(() => {
|
|
35064
35174
|
init_SecretLintSourceCodeImpl();
|
|
@@ -35071,7 +35181,7 @@ var init_module = __esm(() => {
|
|
|
35071
35181
|
debug = import_debug.default("@secretlint/core");
|
|
35072
35182
|
});
|
|
35073
35183
|
|
|
35074
|
-
//
|
|
35184
|
+
// node_modules/.bun/@secretlint+secretlint-rule-preset-recommend@12.2.0/node_modules/@secretlint/secretlint-rule-preset-recommend/module/index.js
|
|
35075
35185
|
function requireLodash_uniq() {
|
|
35076
35186
|
if (hasRequiredLodash_uniq)
|
|
35077
35187
|
return lodash_uniq;
|
|
@@ -36754,7 +36864,7 @@ var init_secretlint_source = __esm(() => {
|
|
|
36754
36864
|
init_suppressor();
|
|
36755
36865
|
});
|
|
36756
36866
|
|
|
36757
|
-
//
|
|
36867
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/core.js
|
|
36758
36868
|
function $constructor(name, initializer, params) {
|
|
36759
36869
|
function init(inst, def) {
|
|
36760
36870
|
var _a;
|
|
@@ -36817,7 +36927,7 @@ var init_core = __esm(() => {
|
|
|
36817
36927
|
globalConfig = {};
|
|
36818
36928
|
});
|
|
36819
36929
|
|
|
36820
|
-
//
|
|
36930
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/util.js
|
|
36821
36931
|
var exports_util = {};
|
|
36822
36932
|
__export(exports_util, {
|
|
36823
36933
|
unwrapMessage: () => unwrapMessage,
|
|
@@ -37333,7 +37443,7 @@ var init_util2 = __esm(() => {
|
|
|
37333
37443
|
};
|
|
37334
37444
|
});
|
|
37335
37445
|
|
|
37336
|
-
//
|
|
37446
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/errors.js
|
|
37337
37447
|
function flattenError(error, mapper = (issue2) => issue2.message) {
|
|
37338
37448
|
const fieldErrors = {};
|
|
37339
37449
|
const formErrors = [];
|
|
@@ -37411,7 +37521,7 @@ var init_errors2 = __esm(() => {
|
|
|
37411
37521
|
$ZodRealError = $constructor("$ZodError", initializer, { Parent: Error });
|
|
37412
37522
|
});
|
|
37413
37523
|
|
|
37414
|
-
//
|
|
37524
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/parse.js
|
|
37415
37525
|
var _parse = (_Err) => (schema, value, _ctx, _params) => {
|
|
37416
37526
|
const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
|
|
37417
37527
|
const result = schema._zod.run({ value, issues: [] }, ctx);
|
|
@@ -37463,7 +37573,7 @@ var init_parse = __esm(() => {
|
|
|
37463
37573
|
safeParseAsync = /* @__PURE__ */ _safeParseAsync($ZodRealError);
|
|
37464
37574
|
});
|
|
37465
37575
|
|
|
37466
|
-
//
|
|
37576
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/regexes.js
|
|
37467
37577
|
function emoji() {
|
|
37468
37578
|
return new RegExp(_emoji, "u");
|
|
37469
37579
|
}
|
|
@@ -37520,7 +37630,7 @@ var init_regexes = __esm(() => {
|
|
|
37520
37630
|
uppercase = /^[^a-z]*$/;
|
|
37521
37631
|
});
|
|
37522
37632
|
|
|
37523
|
-
//
|
|
37633
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/checks.js
|
|
37524
37634
|
var $ZodCheck, numericOriginMap, $ZodCheckLessThan, $ZodCheckGreaterThan, $ZodCheckMultipleOf, $ZodCheckNumberFormat, $ZodCheckMaxLength, $ZodCheckMinLength, $ZodCheckLengthEquals, $ZodCheckStringFormat, $ZodCheckRegex, $ZodCheckLowerCase, $ZodCheckUpperCase, $ZodCheckIncludes, $ZodCheckStartsWith, $ZodCheckEndsWith, $ZodCheckOverwrite;
|
|
37525
37635
|
var init_checks = __esm(() => {
|
|
37526
37636
|
init_core();
|
|
@@ -37910,7 +38020,7 @@ var init_checks = __esm(() => {
|
|
|
37910
38020
|
});
|
|
37911
38021
|
});
|
|
37912
38022
|
|
|
37913
|
-
//
|
|
38023
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/doc.js
|
|
37914
38024
|
class Doc {
|
|
37915
38025
|
constructor(args = []) {
|
|
37916
38026
|
this.content = [];
|
|
@@ -37948,7 +38058,7 @@ class Doc {
|
|
|
37948
38058
|
}
|
|
37949
38059
|
}
|
|
37950
38060
|
|
|
37951
|
-
//
|
|
38061
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/versions.js
|
|
37952
38062
|
var version2;
|
|
37953
38063
|
var init_versions = __esm(() => {
|
|
37954
38064
|
version2 = {
|
|
@@ -37958,7 +38068,7 @@ var init_versions = __esm(() => {
|
|
|
37958
38068
|
};
|
|
37959
38069
|
});
|
|
37960
38070
|
|
|
37961
|
-
//
|
|
38071
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/schemas.js
|
|
37962
38072
|
function isValidBase64(data) {
|
|
37963
38073
|
if (data === "")
|
|
37964
38074
|
return true;
|
|
@@ -39200,7 +39310,7 @@ var init_schemas = __esm(() => {
|
|
|
39200
39310
|
});
|
|
39201
39311
|
});
|
|
39202
39312
|
|
|
39203
|
-
//
|
|
39313
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/locales/en.js
|
|
39204
39314
|
function en_default2() {
|
|
39205
39315
|
return {
|
|
39206
39316
|
localeError: error()
|
|
@@ -39320,10 +39430,10 @@ var init_en2 = __esm(() => {
|
|
|
39320
39430
|
init_util2();
|
|
39321
39431
|
});
|
|
39322
39432
|
|
|
39323
|
-
//
|
|
39433
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/locales/index.js
|
|
39324
39434
|
var init_locales = () => {};
|
|
39325
39435
|
|
|
39326
|
-
//
|
|
39436
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/registries.js
|
|
39327
39437
|
class $ZodRegistry {
|
|
39328
39438
|
constructor() {
|
|
39329
39439
|
this._map = new Map;
|
|
@@ -39376,7 +39486,7 @@ var init_registries = __esm(() => {
|
|
|
39376
39486
|
globalRegistry = /* @__PURE__ */ registry();
|
|
39377
39487
|
});
|
|
39378
39488
|
|
|
39379
|
-
//
|
|
39489
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/api.js
|
|
39380
39490
|
function _string(Class2, params) {
|
|
39381
39491
|
return new Class2({
|
|
39382
39492
|
type: "string",
|
|
@@ -39816,16 +39926,16 @@ var init_api = __esm(() => {
|
|
|
39816
39926
|
init_util2();
|
|
39817
39927
|
});
|
|
39818
39928
|
|
|
39819
|
-
//
|
|
39929
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/function.js
|
|
39820
39930
|
var init_function = () => {};
|
|
39821
39931
|
|
|
39822
|
-
//
|
|
39932
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/to-json-schema.js
|
|
39823
39933
|
var init_to_json_schema = () => {};
|
|
39824
39934
|
|
|
39825
|
-
//
|
|
39935
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/json-schema.js
|
|
39826
39936
|
var init_json_schema = () => {};
|
|
39827
39937
|
|
|
39828
|
-
//
|
|
39938
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/index.js
|
|
39829
39939
|
var init_core2 = __esm(() => {
|
|
39830
39940
|
init_util2();
|
|
39831
39941
|
init_regexes();
|
|
@@ -39843,24 +39953,24 @@ var init_core2 = __esm(() => {
|
|
|
39843
39953
|
init_to_json_schema();
|
|
39844
39954
|
});
|
|
39845
39955
|
|
|
39846
|
-
//
|
|
39956
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/parse.js
|
|
39847
39957
|
var init_parse2 = __esm(() => {
|
|
39848
39958
|
init_core2();
|
|
39849
39959
|
});
|
|
39850
39960
|
|
|
39851
|
-
//
|
|
39961
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/schemas.js
|
|
39852
39962
|
var init_schemas2 = () => {};
|
|
39853
39963
|
|
|
39854
|
-
//
|
|
39964
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/checks.js
|
|
39855
39965
|
var init_checks2 = () => {};
|
|
39856
39966
|
|
|
39857
|
-
//
|
|
39967
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/iso.js
|
|
39858
39968
|
var init_iso = () => {};
|
|
39859
39969
|
|
|
39860
|
-
//
|
|
39970
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/coerce.js
|
|
39861
39971
|
var init_coerce = () => {};
|
|
39862
39972
|
|
|
39863
|
-
//
|
|
39973
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/external.js
|
|
39864
39974
|
var init_external2 = __esm(() => {
|
|
39865
39975
|
init_core2();
|
|
39866
39976
|
init_locales();
|
|
@@ -39871,17 +39981,17 @@ var init_external2 = __esm(() => {
|
|
|
39871
39981
|
init_checks2();
|
|
39872
39982
|
});
|
|
39873
39983
|
|
|
39874
|
-
//
|
|
39984
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/index.js
|
|
39875
39985
|
var init_mini = __esm(() => {
|
|
39876
39986
|
init_external2();
|
|
39877
39987
|
});
|
|
39878
39988
|
|
|
39879
|
-
//
|
|
39989
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4-mini/index.js
|
|
39880
39990
|
var init_v4_mini = __esm(() => {
|
|
39881
39991
|
init_mini();
|
|
39882
39992
|
});
|
|
39883
39993
|
|
|
39884
|
-
//
|
|
39994
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
|
|
39885
39995
|
function isZ4Schema(s) {
|
|
39886
39996
|
const schema = s;
|
|
39887
39997
|
return !!schema._zod;
|
|
@@ -39947,12 +40057,12 @@ var init_zod_compat = __esm(() => {
|
|
|
39947
40057
|
init_v4_mini();
|
|
39948
40058
|
});
|
|
39949
40059
|
|
|
39950
|
-
//
|
|
40060
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/checks.js
|
|
39951
40061
|
var init_checks3 = __esm(() => {
|
|
39952
40062
|
init_core2();
|
|
39953
40063
|
});
|
|
39954
40064
|
|
|
39955
|
-
//
|
|
40065
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/iso.js
|
|
39956
40066
|
var exports_iso2 = {};
|
|
39957
40067
|
__export(exports_iso2, {
|
|
39958
40068
|
time: () => time2,
|
|
@@ -39998,7 +40108,7 @@ var init_iso2 = __esm(() => {
|
|
|
39998
40108
|
});
|
|
39999
40109
|
});
|
|
40000
40110
|
|
|
40001
|
-
//
|
|
40111
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/errors.js
|
|
40002
40112
|
var initializer2 = (inst, issues) => {
|
|
40003
40113
|
$ZodError.init(inst, issues);
|
|
40004
40114
|
inst.name = "ZodError";
|
|
@@ -40031,7 +40141,7 @@ var init_errors3 = __esm(() => {
|
|
|
40031
40141
|
});
|
|
40032
40142
|
});
|
|
40033
40143
|
|
|
40034
|
-
//
|
|
40144
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/parse.js
|
|
40035
40145
|
var parse4, parseAsync2, safeParse3, safeParseAsync2;
|
|
40036
40146
|
var init_parse3 = __esm(() => {
|
|
40037
40147
|
init_core2();
|
|
@@ -40042,7 +40152,7 @@ var init_parse3 = __esm(() => {
|
|
|
40042
40152
|
safeParseAsync2 = /* @__PURE__ */ _safeParseAsync(ZodRealError);
|
|
40043
40153
|
});
|
|
40044
40154
|
|
|
40045
|
-
//
|
|
40155
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/schemas.js
|
|
40046
40156
|
function string2(params) {
|
|
40047
40157
|
return _string(ZodString2, params);
|
|
40048
40158
|
}
|
|
@@ -40656,13 +40766,13 @@ var init_schemas3 = __esm(() => {
|
|
|
40656
40766
|
});
|
|
40657
40767
|
});
|
|
40658
40768
|
|
|
40659
|
-
//
|
|
40769
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/compat.js
|
|
40660
40770
|
var init_compat = () => {};
|
|
40661
40771
|
|
|
40662
|
-
//
|
|
40772
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/coerce.js
|
|
40663
40773
|
var init_coerce2 = () => {};
|
|
40664
40774
|
|
|
40665
|
-
//
|
|
40775
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/external.js
|
|
40666
40776
|
var init_external3 = __esm(() => {
|
|
40667
40777
|
init_core2();
|
|
40668
40778
|
init_core2();
|
|
@@ -40678,17 +40788,17 @@ var init_external3 = __esm(() => {
|
|
|
40678
40788
|
config(en_default2());
|
|
40679
40789
|
});
|
|
40680
40790
|
|
|
40681
|
-
//
|
|
40791
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/index.js
|
|
40682
40792
|
var init_classic = __esm(() => {
|
|
40683
40793
|
init_external3();
|
|
40684
40794
|
});
|
|
40685
40795
|
|
|
40686
|
-
//
|
|
40796
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/index.js
|
|
40687
40797
|
var init_v4 = __esm(() => {
|
|
40688
40798
|
init_classic();
|
|
40689
40799
|
});
|
|
40690
40800
|
|
|
40691
|
-
//
|
|
40801
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
|
|
40692
40802
|
var LATEST_PROTOCOL_VERSION = "2025-11-25", SUPPORTED_PROTOCOL_VERSIONS, RELATED_TASK_META_KEY = "io.modelcontextprotocol/related-task", JSONRPC_VERSION = "2.0", AssertObjectSchema, ProgressTokenSchema, CursorSchema, TaskCreationParamsSchema, TaskMetadataSchema, RelatedTaskMetadataSchema, RequestMetaSchema, BaseRequestParamsSchema, TaskAugmentedRequestParamsSchema, isTaskAugmentedRequestParams = (value) => TaskAugmentedRequestParamsSchema.safeParse(value).success, RequestSchema4, NotificationsParamsSchema, NotificationSchema, ResultSchema2, RequestIdSchema, JSONRPCRequestSchema, isJSONRPCRequest = (value) => JSONRPCRequestSchema.safeParse(value).success, JSONRPCNotificationSchema, isJSONRPCNotification = (value) => JSONRPCNotificationSchema.safeParse(value).success, JSONRPCResultResponseSchema, isJSONRPCResultResponse = (value) => JSONRPCResultResponseSchema.safeParse(value).success, ErrorCode2, JSONRPCErrorResponseSchema, isJSONRPCErrorResponse = (value) => JSONRPCErrorResponseSchema.safeParse(value).success, JSONRPCMessageSchema, JSONRPCResponseSchema, EmptyResultSchema, CancelledNotificationParamsSchema, CancelledNotificationSchema, IconSchema, IconsSchema, BaseMetadataSchema, ImplementationSchema, FormElicitationCapabilitySchema, ElicitationCapabilitySchema, ClientTasksCapabilitySchema, ServerTasksCapabilitySchema, ClientCapabilitiesSchema, InitializeRequestParamsSchema, InitializeRequestSchema, ServerCapabilitiesSchema, InitializeResultSchema, InitializedNotificationSchema, PingRequestSchema, ProgressSchema, ProgressNotificationParamsSchema, ProgressNotificationSchema, PaginatedRequestParamsSchema, PaginatedRequestSchema, PaginatedResultSchema, TaskStatusSchema, TaskSchema, CreateTaskResultSchema, TaskStatusNotificationParamsSchema, TaskStatusNotificationSchema, GetTaskRequestSchema, GetTaskResultSchema, GetTaskPayloadRequestSchema, GetTaskPayloadResultSchema, ListTasksRequestSchema, ListTasksResultSchema, CancelTaskRequestSchema, CancelTaskResultSchema, ResourceContentsSchema, TextResourceContentsSchema, Base64Schema, BlobResourceContentsSchema, RoleSchema, AnnotationsSchema, ResourceSchema, ResourceTemplateSchema, ListResourcesRequestSchema, ListResourcesResultSchema, ListResourceTemplatesRequestSchema, ListResourceTemplatesResultSchema, ResourceRequestParamsSchema, ReadResourceRequestParamsSchema, ReadResourceRequestSchema, ReadResourceResultSchema, ResourceListChangedNotificationSchema, SubscribeRequestParamsSchema, SubscribeRequestSchema, UnsubscribeRequestParamsSchema, UnsubscribeRequestSchema, ResourceUpdatedNotificationParamsSchema, ResourceUpdatedNotificationSchema, PromptArgumentSchema, PromptSchema, ListPromptsRequestSchema, ListPromptsResultSchema, GetPromptRequestParamsSchema, GetPromptRequestSchema, TextContentSchema, ImageContentSchema, AudioContentSchema, ToolUseContentSchema, EmbeddedResourceSchema, ResourceLinkSchema, ContentBlockSchema, PromptMessageSchema, GetPromptResultSchema, PromptListChangedNotificationSchema, ToolAnnotationsSchema, ToolExecutionSchema, ToolSchema, ListToolsRequestSchema, ListToolsResultSchema, CallToolResultSchema, CompatibilityCallToolResultSchema, CallToolRequestParamsSchema, CallToolRequestSchema, ToolListChangedNotificationSchema, ListChangedOptionsBaseSchema, LoggingLevelSchema, SetLevelRequestParamsSchema, SetLevelRequestSchema, LoggingMessageNotificationParamsSchema, LoggingMessageNotificationSchema, ModelHintSchema, ModelPreferencesSchema, ToolChoiceSchema, ToolResultContentSchema, SamplingContentSchema, SamplingMessageContentBlockSchema, SamplingMessageSchema, CreateMessageRequestParamsSchema, CreateMessageRequestSchema, CreateMessageResultSchema, CreateMessageResultWithToolsSchema, BooleanSchemaSchema, StringSchemaSchema, NumberSchemaSchema, UntitledSingleSelectEnumSchemaSchema, TitledSingleSelectEnumSchemaSchema, LegacyTitledEnumSchemaSchema, SingleSelectEnumSchemaSchema, UntitledMultiSelectEnumSchemaSchema, TitledMultiSelectEnumSchemaSchema, MultiSelectEnumSchemaSchema, EnumSchemaSchema, PrimitiveSchemaDefinitionSchema, ElicitRequestFormParamsSchema, ElicitRequestURLParamsSchema, ElicitRequestParamsSchema, ElicitRequestSchema, ElicitationCompleteNotificationParamsSchema, ElicitationCompleteNotificationSchema, ElicitResultSchema, ResourceTemplateReferenceSchema, PromptReferenceSchema, CompleteRequestParamsSchema, CompleteRequestSchema, CompleteResultSchema, RootSchema, ListRootsRequestSchema, ListRootsResultSchema, RootsListChangedNotificationSchema, ClientRequestSchema, ClientNotificationSchema, ClientResultSchema, ServerRequestSchema, ServerNotificationSchema, ServerResultSchema, McpError, UrlElicitationRequiredError;
|
|
40693
40803
|
var init_types2 = __esm(() => {
|
|
40694
40804
|
init_v4();
|
|
@@ -41516,65 +41626,65 @@ var init_types2 = __esm(() => {
|
|
|
41516
41626
|
};
|
|
41517
41627
|
});
|
|
41518
41628
|
|
|
41519
|
-
//
|
|
41629
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
|
|
41520
41630
|
function isTerminal(status) {
|
|
41521
41631
|
return status === "completed" || status === "failed" || status === "cancelled";
|
|
41522
41632
|
}
|
|
41523
41633
|
|
|
41524
|
-
//
|
|
41634
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/Options.js
|
|
41525
41635
|
var ignoreOverride;
|
|
41526
41636
|
var init_Options = __esm(() => {
|
|
41527
41637
|
ignoreOverride = Symbol("Let zodToJsonSchema decide on which parser to use");
|
|
41528
41638
|
});
|
|
41529
41639
|
|
|
41530
|
-
//
|
|
41640
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/Refs.js
|
|
41531
41641
|
var init_Refs = __esm(() => {
|
|
41532
41642
|
init_Options();
|
|
41533
41643
|
});
|
|
41534
|
-
//
|
|
41644
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/any.js
|
|
41535
41645
|
var init_any = () => {};
|
|
41536
41646
|
|
|
41537
|
-
//
|
|
41647
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/array.js
|
|
41538
41648
|
var init_array = __esm(() => {
|
|
41539
41649
|
init_parseDef();
|
|
41540
41650
|
});
|
|
41541
41651
|
|
|
41542
|
-
//
|
|
41652
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js
|
|
41543
41653
|
var init_bigint = () => {};
|
|
41544
|
-
//
|
|
41654
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js
|
|
41545
41655
|
var init_branded = __esm(() => {
|
|
41546
41656
|
init_parseDef();
|
|
41547
41657
|
});
|
|
41548
41658
|
|
|
41549
|
-
//
|
|
41659
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js
|
|
41550
41660
|
var init_catch = __esm(() => {
|
|
41551
41661
|
init_parseDef();
|
|
41552
41662
|
});
|
|
41553
41663
|
|
|
41554
|
-
//
|
|
41664
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/date.js
|
|
41555
41665
|
var init_date = () => {};
|
|
41556
41666
|
|
|
41557
|
-
//
|
|
41667
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/default.js
|
|
41558
41668
|
var init_default = __esm(() => {
|
|
41559
41669
|
init_parseDef();
|
|
41560
41670
|
});
|
|
41561
41671
|
|
|
41562
|
-
//
|
|
41672
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js
|
|
41563
41673
|
var init_effects = __esm(() => {
|
|
41564
41674
|
init_parseDef();
|
|
41565
41675
|
init_any();
|
|
41566
41676
|
});
|
|
41567
|
-
//
|
|
41677
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
|
|
41568
41678
|
var init_intersection = __esm(() => {
|
|
41569
41679
|
init_parseDef();
|
|
41570
41680
|
});
|
|
41571
|
-
//
|
|
41681
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/string.js
|
|
41572
41682
|
var ALPHA_NUMERIC;
|
|
41573
41683
|
var init_string = __esm(() => {
|
|
41574
41684
|
ALPHA_NUMERIC = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");
|
|
41575
41685
|
});
|
|
41576
41686
|
|
|
41577
|
-
//
|
|
41687
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/record.js
|
|
41578
41688
|
var init_record = __esm(() => {
|
|
41579
41689
|
init_parseDef();
|
|
41580
41690
|
init_string();
|
|
@@ -41582,77 +41692,77 @@ var init_record = __esm(() => {
|
|
|
41582
41692
|
init_any();
|
|
41583
41693
|
});
|
|
41584
41694
|
|
|
41585
|
-
//
|
|
41695
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/map.js
|
|
41586
41696
|
var init_map = __esm(() => {
|
|
41587
41697
|
init_parseDef();
|
|
41588
41698
|
init_record();
|
|
41589
41699
|
init_any();
|
|
41590
41700
|
});
|
|
41591
|
-
//
|
|
41701
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/never.js
|
|
41592
41702
|
var init_never = __esm(() => {
|
|
41593
41703
|
init_any();
|
|
41594
41704
|
});
|
|
41595
|
-
//
|
|
41705
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/union.js
|
|
41596
41706
|
var init_union = __esm(() => {
|
|
41597
41707
|
init_parseDef();
|
|
41598
41708
|
});
|
|
41599
41709
|
|
|
41600
|
-
//
|
|
41710
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js
|
|
41601
41711
|
var init_nullable = __esm(() => {
|
|
41602
41712
|
init_parseDef();
|
|
41603
41713
|
init_union();
|
|
41604
41714
|
});
|
|
41605
41715
|
|
|
41606
|
-
//
|
|
41716
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/number.js
|
|
41607
41717
|
var init_number = () => {};
|
|
41608
41718
|
|
|
41609
|
-
//
|
|
41719
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/object.js
|
|
41610
41720
|
var init_object = __esm(() => {
|
|
41611
41721
|
init_parseDef();
|
|
41612
41722
|
});
|
|
41613
41723
|
|
|
41614
|
-
//
|
|
41724
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js
|
|
41615
41725
|
var init_optional = __esm(() => {
|
|
41616
41726
|
init_parseDef();
|
|
41617
41727
|
init_any();
|
|
41618
41728
|
});
|
|
41619
41729
|
|
|
41620
|
-
//
|
|
41730
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js
|
|
41621
41731
|
var init_pipeline = __esm(() => {
|
|
41622
41732
|
init_parseDef();
|
|
41623
41733
|
});
|
|
41624
41734
|
|
|
41625
|
-
//
|
|
41735
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js
|
|
41626
41736
|
var init_promise = __esm(() => {
|
|
41627
41737
|
init_parseDef();
|
|
41628
41738
|
});
|
|
41629
41739
|
|
|
41630
|
-
//
|
|
41740
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/set.js
|
|
41631
41741
|
var init_set = __esm(() => {
|
|
41632
41742
|
init_parseDef();
|
|
41633
41743
|
});
|
|
41634
41744
|
|
|
41635
|
-
//
|
|
41745
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js
|
|
41636
41746
|
var init_tuple = __esm(() => {
|
|
41637
41747
|
init_parseDef();
|
|
41638
41748
|
});
|
|
41639
41749
|
|
|
41640
|
-
//
|
|
41750
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js
|
|
41641
41751
|
var init_undefined = __esm(() => {
|
|
41642
41752
|
init_any();
|
|
41643
41753
|
});
|
|
41644
41754
|
|
|
41645
|
-
//
|
|
41755
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js
|
|
41646
41756
|
var init_unknown = __esm(() => {
|
|
41647
41757
|
init_any();
|
|
41648
41758
|
});
|
|
41649
41759
|
|
|
41650
|
-
//
|
|
41760
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js
|
|
41651
41761
|
var init_readonly = __esm(() => {
|
|
41652
41762
|
init_parseDef();
|
|
41653
41763
|
});
|
|
41654
41764
|
|
|
41655
|
-
//
|
|
41765
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/selectParser.js
|
|
41656
41766
|
var init_selectParser = __esm(() => {
|
|
41657
41767
|
init_any();
|
|
41658
41768
|
init_array();
|
|
@@ -41681,24 +41791,24 @@ var init_selectParser = __esm(() => {
|
|
|
41681
41791
|
init_readonly();
|
|
41682
41792
|
});
|
|
41683
41793
|
|
|
41684
|
-
//
|
|
41794
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parseDef.js
|
|
41685
41795
|
var init_parseDef = __esm(() => {
|
|
41686
41796
|
init_Options();
|
|
41687
41797
|
init_selectParser();
|
|
41688
41798
|
init_any();
|
|
41689
41799
|
});
|
|
41690
41800
|
|
|
41691
|
-
//
|
|
41801
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parseTypes.js
|
|
41692
41802
|
var init_parseTypes = () => {};
|
|
41693
41803
|
|
|
41694
|
-
//
|
|
41804
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js
|
|
41695
41805
|
var init_zodToJsonSchema = __esm(() => {
|
|
41696
41806
|
init_parseDef();
|
|
41697
41807
|
init_Refs();
|
|
41698
41808
|
init_any();
|
|
41699
41809
|
});
|
|
41700
41810
|
|
|
41701
|
-
//
|
|
41811
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/index.js
|
|
41702
41812
|
var init_esm = __esm(() => {
|
|
41703
41813
|
init_zodToJsonSchema();
|
|
41704
41814
|
init_Options();
|
|
@@ -41734,7 +41844,7 @@ var init_esm = __esm(() => {
|
|
|
41734
41844
|
init_zodToJsonSchema();
|
|
41735
41845
|
});
|
|
41736
41846
|
|
|
41737
|
-
//
|
|
41847
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
|
|
41738
41848
|
function getMethodLiteral(schema) {
|
|
41739
41849
|
const shape = getObjectShape(schema);
|
|
41740
41850
|
const methodSchema = shape?.method;
|
|
@@ -41759,7 +41869,7 @@ var init_zod_json_schema_compat = __esm(() => {
|
|
|
41759
41869
|
init_esm();
|
|
41760
41870
|
});
|
|
41761
41871
|
|
|
41762
|
-
//
|
|
41872
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js
|
|
41763
41873
|
class Protocol {
|
|
41764
41874
|
constructor(_options) {
|
|
41765
41875
|
this._options = _options;
|
|
@@ -42604,7 +42714,7 @@ var init_protocol4 = __esm(() => {
|
|
|
42604
42714
|
init_zod_json_schema_compat();
|
|
42605
42715
|
});
|
|
42606
42716
|
|
|
42607
|
-
//
|
|
42717
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js
|
|
42608
42718
|
var require_code = __commonJS((exports2) => {
|
|
42609
42719
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
42610
42720
|
exports2.regexpCode = exports2.getEsmExportName = exports2.getProperty = exports2.safeStringify = exports2.stringify = exports2.strConcat = exports2.addCodeArg = exports2.str = exports2._ = exports2.nil = exports2._Code = exports2.Name = exports2.IDENTIFIER = exports2._CodeOrName = undefined;
|
|
@@ -42758,7 +42868,7 @@ var require_code = __commonJS((exports2) => {
|
|
|
42758
42868
|
exports2.regexpCode = regexpCode;
|
|
42759
42869
|
});
|
|
42760
42870
|
|
|
42761
|
-
//
|
|
42871
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js
|
|
42762
42872
|
var require_scope = __commonJS((exports2) => {
|
|
42763
42873
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
42764
42874
|
exports2.ValueScope = exports2.ValueScopeName = exports2.Scope = exports2.varKinds = exports2.UsedValueState = undefined;
|
|
@@ -42904,7 +43014,7 @@ var require_scope = __commonJS((exports2) => {
|
|
|
42904
43014
|
exports2.ValueScope = ValueScope;
|
|
42905
43015
|
});
|
|
42906
43016
|
|
|
42907
|
-
//
|
|
43017
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js
|
|
42908
43018
|
var require_codegen = __commonJS((exports2) => {
|
|
42909
43019
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
42910
43020
|
exports2.or = exports2.and = exports2.not = exports2.CodeGen = exports2.operators = exports2.varKinds = exports2.ValueScopeName = exports2.ValueScope = exports2.Scope = exports2.Name = exports2.regexpCode = exports2.stringify = exports2.getProperty = exports2.nil = exports2.strConcat = exports2.str = exports2._ = undefined;
|
|
@@ -43614,7 +43724,7 @@ var require_codegen = __commonJS((exports2) => {
|
|
|
43614
43724
|
}
|
|
43615
43725
|
});
|
|
43616
43726
|
|
|
43617
|
-
//
|
|
43727
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/util.js
|
|
43618
43728
|
var require_util2 = __commonJS((exports2) => {
|
|
43619
43729
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43620
43730
|
exports2.checkStrictMode = exports2.getErrorPath = exports2.Type = exports2.useFunc = exports2.setEvaluated = exports2.evaluatedPropsToName = exports2.mergeEvaluated = exports2.eachItem = exports2.unescapeJsonPointer = exports2.escapeJsonPointer = exports2.escapeFragment = exports2.unescapeFragment = exports2.schemaRefOrVal = exports2.schemaHasRulesButRef = exports2.schemaHasRules = exports2.checkUnknownRules = exports2.alwaysValidSchema = exports2.toHash = undefined;
|
|
@@ -43778,7 +43888,7 @@ var require_util2 = __commonJS((exports2) => {
|
|
|
43778
43888
|
exports2.checkStrictMode = checkStrictMode;
|
|
43779
43889
|
});
|
|
43780
43890
|
|
|
43781
|
-
//
|
|
43891
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/names.js
|
|
43782
43892
|
var require_names = __commonJS((exports2) => {
|
|
43783
43893
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43784
43894
|
var codegen_1 = require_codegen();
|
|
@@ -43803,7 +43913,7 @@ var require_names = __commonJS((exports2) => {
|
|
|
43803
43913
|
exports2.default = names;
|
|
43804
43914
|
});
|
|
43805
43915
|
|
|
43806
|
-
//
|
|
43916
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js
|
|
43807
43917
|
var require_errors2 = __commonJS((exports2) => {
|
|
43808
43918
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43809
43919
|
exports2.extendErrors = exports2.resetErrorsCount = exports2.reportExtraError = exports2.reportError = exports2.keyword$DataError = exports2.keywordError = undefined;
|
|
@@ -43921,7 +44031,7 @@ var require_errors2 = __commonJS((exports2) => {
|
|
|
43921
44031
|
}
|
|
43922
44032
|
});
|
|
43923
44033
|
|
|
43924
|
-
//
|
|
44034
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js
|
|
43925
44035
|
var require_boolSchema = __commonJS((exports2) => {
|
|
43926
44036
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43927
44037
|
exports2.boolOrEmptySchema = exports2.topBoolOrEmptySchema = undefined;
|
|
@@ -43969,7 +44079,7 @@ var require_boolSchema = __commonJS((exports2) => {
|
|
|
43969
44079
|
}
|
|
43970
44080
|
});
|
|
43971
44081
|
|
|
43972
|
-
//
|
|
44082
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js
|
|
43973
44083
|
var require_rules = __commonJS((exports2) => {
|
|
43974
44084
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43975
44085
|
exports2.getRules = exports2.isJSONType = undefined;
|
|
@@ -43997,7 +44107,7 @@ var require_rules = __commonJS((exports2) => {
|
|
|
43997
44107
|
exports2.getRules = getRules;
|
|
43998
44108
|
});
|
|
43999
44109
|
|
|
44000
|
-
//
|
|
44110
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js
|
|
44001
44111
|
var require_applicability = __commonJS((exports2) => {
|
|
44002
44112
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44003
44113
|
exports2.shouldUseRule = exports2.shouldUseGroup = exports2.schemaHasRulesForType = undefined;
|
|
@@ -44017,7 +44127,7 @@ var require_applicability = __commonJS((exports2) => {
|
|
|
44017
44127
|
exports2.shouldUseRule = shouldUseRule;
|
|
44018
44128
|
});
|
|
44019
44129
|
|
|
44020
|
-
//
|
|
44130
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js
|
|
44021
44131
|
var require_dataType = __commonJS((exports2) => {
|
|
44022
44132
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44023
44133
|
exports2.reportTypeError = exports2.checkDataTypes = exports2.checkDataType = exports2.coerceAndCheckDataType = exports2.getJSONTypes = exports2.getSchemaTypes = exports2.DataType = undefined;
|
|
@@ -44198,7 +44308,7 @@ var require_dataType = __commonJS((exports2) => {
|
|
|
44198
44308
|
}
|
|
44199
44309
|
});
|
|
44200
44310
|
|
|
44201
|
-
//
|
|
44311
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js
|
|
44202
44312
|
var require_defaults = __commonJS((exports2) => {
|
|
44203
44313
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44204
44314
|
exports2.assignDefaults = undefined;
|
|
@@ -44232,7 +44342,7 @@ var require_defaults = __commonJS((exports2) => {
|
|
|
44232
44342
|
}
|
|
44233
44343
|
});
|
|
44234
44344
|
|
|
44235
|
-
//
|
|
44345
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js
|
|
44236
44346
|
var require_code2 = __commonJS((exports2) => {
|
|
44237
44347
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44238
44348
|
exports2.validateUnion = exports2.validateArray = exports2.usePattern = exports2.callValidateCode = exports2.schemaProperties = exports2.allSchemaProperties = exports2.noPropertyInData = exports2.propertyInData = exports2.isOwnProperty = exports2.hasPropFunc = exports2.reportMissingProp = exports2.checkMissingProp = exports2.checkReportMissingProp = undefined;
|
|
@@ -44361,7 +44471,7 @@ var require_code2 = __commonJS((exports2) => {
|
|
|
44361
44471
|
exports2.validateUnion = validateUnion;
|
|
44362
44472
|
});
|
|
44363
44473
|
|
|
44364
|
-
//
|
|
44474
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js
|
|
44365
44475
|
var require_keyword = __commonJS((exports2) => {
|
|
44366
44476
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44367
44477
|
exports2.validateKeywordUsage = exports2.validSchemaType = exports2.funcKeywordCode = exports2.macroKeywordCode = undefined;
|
|
@@ -44476,7 +44586,7 @@ var require_keyword = __commonJS((exports2) => {
|
|
|
44476
44586
|
exports2.validateKeywordUsage = validateKeywordUsage;
|
|
44477
44587
|
});
|
|
44478
44588
|
|
|
44479
|
-
//
|
|
44589
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js
|
|
44480
44590
|
var require_subschema = __commonJS((exports2) => {
|
|
44481
44591
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44482
44592
|
exports2.extendSubschemaMode = exports2.extendSubschemaData = exports2.getSubschema = undefined;
|
|
@@ -44556,7 +44666,7 @@ var require_subschema = __commonJS((exports2) => {
|
|
|
44556
44666
|
exports2.extendSubschemaMode = extendSubschemaMode;
|
|
44557
44667
|
});
|
|
44558
44668
|
|
|
44559
|
-
//
|
|
44669
|
+
// node_modules/.bun/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js
|
|
44560
44670
|
var require_fast_deep_equal = __commonJS((exports2, module) => {
|
|
44561
44671
|
module.exports = function equal(a, b) {
|
|
44562
44672
|
if (a === b)
|
|
@@ -44598,7 +44708,7 @@ var require_fast_deep_equal = __commonJS((exports2, module) => {
|
|
|
44598
44708
|
};
|
|
44599
44709
|
});
|
|
44600
44710
|
|
|
44601
|
-
//
|
|
44711
|
+
// node_modules/.bun/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js
|
|
44602
44712
|
var require_json_schema_traverse = __commonJS((exports2, module) => {
|
|
44603
44713
|
var traverse = module.exports = function(schema, opts, cb) {
|
|
44604
44714
|
if (typeof opts == "function") {
|
|
@@ -44681,7 +44791,7 @@ var require_json_schema_traverse = __commonJS((exports2, module) => {
|
|
|
44681
44791
|
}
|
|
44682
44792
|
});
|
|
44683
44793
|
|
|
44684
|
-
//
|
|
44794
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js
|
|
44685
44795
|
var require_resolve = __commonJS((exports2) => {
|
|
44686
44796
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44687
44797
|
exports2.getSchemaRefs = exports2.resolveUrl = exports2.normalizeId = exports2._getFullPath = exports2.getFullPath = exports2.inlineRef = undefined;
|
|
@@ -44834,7 +44944,7 @@ var require_resolve = __commonJS((exports2) => {
|
|
|
44834
44944
|
exports2.getSchemaRefs = getSchemaRefs;
|
|
44835
44945
|
});
|
|
44836
44946
|
|
|
44837
|
-
//
|
|
44947
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js
|
|
44838
44948
|
var require_validate = __commonJS((exports2) => {
|
|
44839
44949
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44840
44950
|
exports2.getData = exports2.KeywordCxt = exports2.validateFunctionCode = undefined;
|
|
@@ -45339,7 +45449,7 @@ var require_validate = __commonJS((exports2) => {
|
|
|
45339
45449
|
exports2.getData = getData;
|
|
45340
45450
|
});
|
|
45341
45451
|
|
|
45342
|
-
//
|
|
45452
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js
|
|
45343
45453
|
var require_validation_error = __commonJS((exports2) => {
|
|
45344
45454
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
45345
45455
|
|
|
@@ -45353,7 +45463,7 @@ var require_validation_error = __commonJS((exports2) => {
|
|
|
45353
45463
|
exports2.default = ValidationError;
|
|
45354
45464
|
});
|
|
45355
45465
|
|
|
45356
|
-
//
|
|
45466
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js
|
|
45357
45467
|
var require_ref_error = __commonJS((exports2) => {
|
|
45358
45468
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
45359
45469
|
var resolve_1 = require_resolve();
|
|
@@ -45368,7 +45478,7 @@ var require_ref_error = __commonJS((exports2) => {
|
|
|
45368
45478
|
exports2.default = MissingRefError;
|
|
45369
45479
|
});
|
|
45370
45480
|
|
|
45371
|
-
//
|
|
45481
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/index.js
|
|
45372
45482
|
var require_compile = __commonJS((exports2) => {
|
|
45373
45483
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
45374
45484
|
exports2.resolveSchema = exports2.getCompilingSchema = exports2.resolveRef = exports2.compileSchema = exports2.SchemaEnv = undefined;
|
|
@@ -45589,7 +45699,7 @@ var require_compile = __commonJS((exports2) => {
|
|
|
45589
45699
|
}
|
|
45590
45700
|
});
|
|
45591
45701
|
|
|
45592
|
-
//
|
|
45702
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/data.json
|
|
45593
45703
|
var require_data = __commonJS((exports2, module) => {
|
|
45594
45704
|
module.exports = {
|
|
45595
45705
|
$id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
|
|
@@ -45606,7 +45716,7 @@ var require_data = __commonJS((exports2, module) => {
|
|
|
45606
45716
|
};
|
|
45607
45717
|
});
|
|
45608
45718
|
|
|
45609
|
-
//
|
|
45719
|
+
// node_modules/.bun/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js
|
|
45610
45720
|
var require_utils2 = __commonJS((exports2, module) => {
|
|
45611
45721
|
var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
|
|
45612
45722
|
var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
|
|
@@ -45861,7 +45971,7 @@ var require_utils2 = __commonJS((exports2, module) => {
|
|
|
45861
45971
|
};
|
|
45862
45972
|
});
|
|
45863
45973
|
|
|
45864
|
-
//
|
|
45974
|
+
// node_modules/.bun/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js
|
|
45865
45975
|
var require_schemes = __commonJS((exports2, module) => {
|
|
45866
45976
|
var { isUUID } = require_utils2();
|
|
45867
45977
|
var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
|
|
@@ -46035,7 +46145,7 @@ var require_schemes = __commonJS((exports2, module) => {
|
|
|
46035
46145
|
};
|
|
46036
46146
|
});
|
|
46037
46147
|
|
|
46038
|
-
//
|
|
46148
|
+
// node_modules/.bun/fast-uri@3.1.0/node_modules/fast-uri/index.js
|
|
46039
46149
|
var require_fast_uri = __commonJS((exports2, module) => {
|
|
46040
46150
|
var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils2();
|
|
46041
46151
|
var { SCHEMES, getSchemeHandler } = require_schemes();
|
|
@@ -46286,7 +46396,7 @@ var require_fast_uri = __commonJS((exports2, module) => {
|
|
|
46286
46396
|
module.exports.fastUri = fastUri;
|
|
46287
46397
|
});
|
|
46288
46398
|
|
|
46289
|
-
//
|
|
46399
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js
|
|
46290
46400
|
var require_uri = __commonJS((exports2) => {
|
|
46291
46401
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
46292
46402
|
var uri = require_fast_uri();
|
|
@@ -46294,7 +46404,7 @@ var require_uri = __commonJS((exports2) => {
|
|
|
46294
46404
|
exports2.default = uri;
|
|
46295
46405
|
});
|
|
46296
46406
|
|
|
46297
|
-
//
|
|
46407
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/core.js
|
|
46298
46408
|
var require_core = __commonJS((exports2) => {
|
|
46299
46409
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
46300
46410
|
exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = undefined;
|
|
@@ -46887,7 +46997,7 @@ var require_core = __commonJS((exports2) => {
|
|
|
46887
46997
|
}
|
|
46888
46998
|
});
|
|
46889
46999
|
|
|
46890
|
-
//
|
|
47000
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js
|
|
46891
47001
|
var require_id = __commonJS((exports2) => {
|
|
46892
47002
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
46893
47003
|
var def = {
|
|
@@ -46899,7 +47009,7 @@ var require_id = __commonJS((exports2) => {
|
|
|
46899
47009
|
exports2.default = def;
|
|
46900
47010
|
});
|
|
46901
47011
|
|
|
46902
|
-
//
|
|
47012
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js
|
|
46903
47013
|
var require_ref = __commonJS((exports2) => {
|
|
46904
47014
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
46905
47015
|
exports2.callRef = exports2.getValidate = undefined;
|
|
@@ -47018,7 +47128,7 @@ var require_ref = __commonJS((exports2) => {
|
|
|
47018
47128
|
exports2.default = def;
|
|
47019
47129
|
});
|
|
47020
47130
|
|
|
47021
|
-
//
|
|
47131
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js
|
|
47022
47132
|
var require_core2 = __commonJS((exports2) => {
|
|
47023
47133
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47024
47134
|
var id_1 = require_id();
|
|
@@ -47036,7 +47146,7 @@ var require_core2 = __commonJS((exports2) => {
|
|
|
47036
47146
|
exports2.default = core2;
|
|
47037
47147
|
});
|
|
47038
47148
|
|
|
47039
|
-
//
|
|
47149
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js
|
|
47040
47150
|
var require_limitNumber = __commonJS((exports2) => {
|
|
47041
47151
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47042
47152
|
var codegen_1 = require_codegen();
|
|
@@ -47065,7 +47175,7 @@ var require_limitNumber = __commonJS((exports2) => {
|
|
|
47065
47175
|
exports2.default = def;
|
|
47066
47176
|
});
|
|
47067
47177
|
|
|
47068
|
-
//
|
|
47178
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js
|
|
47069
47179
|
var require_multipleOf = __commonJS((exports2) => {
|
|
47070
47180
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47071
47181
|
var codegen_1 = require_codegen();
|
|
@@ -47090,7 +47200,7 @@ var require_multipleOf = __commonJS((exports2) => {
|
|
|
47090
47200
|
exports2.default = def;
|
|
47091
47201
|
});
|
|
47092
47202
|
|
|
47093
|
-
//
|
|
47203
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js
|
|
47094
47204
|
var require_ucs2length = __commonJS((exports2) => {
|
|
47095
47205
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47096
47206
|
function ucs2length(str) {
|
|
@@ -47113,7 +47223,7 @@ var require_ucs2length = __commonJS((exports2) => {
|
|
|
47113
47223
|
ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default';
|
|
47114
47224
|
});
|
|
47115
47225
|
|
|
47116
|
-
//
|
|
47226
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js
|
|
47117
47227
|
var require_limitLength = __commonJS((exports2) => {
|
|
47118
47228
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47119
47229
|
var codegen_1 = require_codegen();
|
|
@@ -47142,7 +47252,7 @@ var require_limitLength = __commonJS((exports2) => {
|
|
|
47142
47252
|
exports2.default = def;
|
|
47143
47253
|
});
|
|
47144
47254
|
|
|
47145
|
-
//
|
|
47255
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js
|
|
47146
47256
|
var require_pattern = __commonJS((exports2) => {
|
|
47147
47257
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47148
47258
|
var code_1 = require_code2();
|
|
@@ -47176,7 +47286,7 @@ var require_pattern = __commonJS((exports2) => {
|
|
|
47176
47286
|
exports2.default = def;
|
|
47177
47287
|
});
|
|
47178
47288
|
|
|
47179
|
-
//
|
|
47289
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js
|
|
47180
47290
|
var require_limitProperties = __commonJS((exports2) => {
|
|
47181
47291
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47182
47292
|
var codegen_1 = require_codegen();
|
|
@@ -47202,7 +47312,7 @@ var require_limitProperties = __commonJS((exports2) => {
|
|
|
47202
47312
|
exports2.default = def;
|
|
47203
47313
|
});
|
|
47204
47314
|
|
|
47205
|
-
//
|
|
47315
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js
|
|
47206
47316
|
var require_required = __commonJS((exports2) => {
|
|
47207
47317
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47208
47318
|
var code_1 = require_code2();
|
|
@@ -47281,7 +47391,7 @@ var require_required = __commonJS((exports2) => {
|
|
|
47281
47391
|
exports2.default = def;
|
|
47282
47392
|
});
|
|
47283
47393
|
|
|
47284
|
-
//
|
|
47394
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js
|
|
47285
47395
|
var require_limitItems = __commonJS((exports2) => {
|
|
47286
47396
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47287
47397
|
var codegen_1 = require_codegen();
|
|
@@ -47307,7 +47417,7 @@ var require_limitItems = __commonJS((exports2) => {
|
|
|
47307
47417
|
exports2.default = def;
|
|
47308
47418
|
});
|
|
47309
47419
|
|
|
47310
|
-
//
|
|
47420
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js
|
|
47311
47421
|
var require_equal = __commonJS((exports2) => {
|
|
47312
47422
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47313
47423
|
var equal = require_fast_deep_equal();
|
|
@@ -47315,7 +47425,7 @@ var require_equal = __commonJS((exports2) => {
|
|
|
47315
47425
|
exports2.default = equal;
|
|
47316
47426
|
});
|
|
47317
47427
|
|
|
47318
|
-
//
|
|
47428
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
|
|
47319
47429
|
var require_uniqueItems = __commonJS((exports2) => {
|
|
47320
47430
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47321
47431
|
var dataType_1 = require_dataType();
|
|
@@ -47379,7 +47489,7 @@ var require_uniqueItems = __commonJS((exports2) => {
|
|
|
47379
47489
|
exports2.default = def;
|
|
47380
47490
|
});
|
|
47381
47491
|
|
|
47382
|
-
//
|
|
47492
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js
|
|
47383
47493
|
var require_const = __commonJS((exports2) => {
|
|
47384
47494
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47385
47495
|
var codegen_1 = require_codegen();
|
|
@@ -47405,7 +47515,7 @@ var require_const = __commonJS((exports2) => {
|
|
|
47405
47515
|
exports2.default = def;
|
|
47406
47516
|
});
|
|
47407
47517
|
|
|
47408
|
-
//
|
|
47518
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js
|
|
47409
47519
|
var require_enum = __commonJS((exports2) => {
|
|
47410
47520
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47411
47521
|
var codegen_1 = require_codegen();
|
|
@@ -47451,7 +47561,7 @@ var require_enum = __commonJS((exports2) => {
|
|
|
47451
47561
|
exports2.default = def;
|
|
47452
47562
|
});
|
|
47453
47563
|
|
|
47454
|
-
//
|
|
47564
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js
|
|
47455
47565
|
var require_validation = __commonJS((exports2) => {
|
|
47456
47566
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47457
47567
|
var limitNumber_1 = require_limitNumber();
|
|
@@ -47481,7 +47591,7 @@ var require_validation = __commonJS((exports2) => {
|
|
|
47481
47591
|
exports2.default = validation;
|
|
47482
47592
|
});
|
|
47483
47593
|
|
|
47484
|
-
//
|
|
47594
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
|
|
47485
47595
|
var require_additionalItems = __commonJS((exports2) => {
|
|
47486
47596
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47487
47597
|
exports2.validateAdditionalItems = undefined;
|
|
@@ -47531,7 +47641,7 @@ var require_additionalItems = __commonJS((exports2) => {
|
|
|
47531
47641
|
exports2.default = def;
|
|
47532
47642
|
});
|
|
47533
47643
|
|
|
47534
|
-
//
|
|
47644
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js
|
|
47535
47645
|
var require_items = __commonJS((exports2) => {
|
|
47536
47646
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47537
47647
|
exports2.validateTuple = undefined;
|
|
@@ -47585,7 +47695,7 @@ var require_items = __commonJS((exports2) => {
|
|
|
47585
47695
|
exports2.default = def;
|
|
47586
47696
|
});
|
|
47587
47697
|
|
|
47588
|
-
//
|
|
47698
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
|
|
47589
47699
|
var require_prefixItems = __commonJS((exports2) => {
|
|
47590
47700
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47591
47701
|
var items_1 = require_items();
|
|
@@ -47599,7 +47709,7 @@ var require_prefixItems = __commonJS((exports2) => {
|
|
|
47599
47709
|
exports2.default = def;
|
|
47600
47710
|
});
|
|
47601
47711
|
|
|
47602
|
-
//
|
|
47712
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js
|
|
47603
47713
|
var require_items2020 = __commonJS((exports2) => {
|
|
47604
47714
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47605
47715
|
var codegen_1 = require_codegen();
|
|
@@ -47631,7 +47741,7 @@ var require_items2020 = __commonJS((exports2) => {
|
|
|
47631
47741
|
exports2.default = def;
|
|
47632
47742
|
});
|
|
47633
47743
|
|
|
47634
|
-
//
|
|
47744
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js
|
|
47635
47745
|
var require_contains = __commonJS((exports2) => {
|
|
47636
47746
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47637
47747
|
var codegen_1 = require_codegen();
|
|
@@ -47722,7 +47832,7 @@ var require_contains = __commonJS((exports2) => {
|
|
|
47722
47832
|
exports2.default = def;
|
|
47723
47833
|
});
|
|
47724
47834
|
|
|
47725
|
-
//
|
|
47835
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js
|
|
47726
47836
|
var require_dependencies = __commonJS((exports2) => {
|
|
47727
47837
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47728
47838
|
exports2.validateSchemaDeps = exports2.validatePropertyDeps = exports2.error = undefined;
|
|
@@ -47807,7 +47917,7 @@ var require_dependencies = __commonJS((exports2) => {
|
|
|
47807
47917
|
exports2.default = def;
|
|
47808
47918
|
});
|
|
47809
47919
|
|
|
47810
|
-
//
|
|
47920
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
|
|
47811
47921
|
var require_propertyNames = __commonJS((exports2) => {
|
|
47812
47922
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47813
47923
|
var codegen_1 = require_codegen();
|
|
@@ -47847,7 +47957,7 @@ var require_propertyNames = __commonJS((exports2) => {
|
|
|
47847
47957
|
exports2.default = def;
|
|
47848
47958
|
});
|
|
47849
47959
|
|
|
47850
|
-
//
|
|
47960
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
|
|
47851
47961
|
var require_additionalProperties = __commonJS((exports2) => {
|
|
47852
47962
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47853
47963
|
var code_1 = require_code2();
|
|
@@ -47950,7 +48060,7 @@ var require_additionalProperties = __commonJS((exports2) => {
|
|
|
47950
48060
|
exports2.default = def;
|
|
47951
48061
|
});
|
|
47952
48062
|
|
|
47953
|
-
//
|
|
48063
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js
|
|
47954
48064
|
var require_properties = __commonJS((exports2) => {
|
|
47955
48065
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47956
48066
|
var validate_1 = require_validate();
|
|
@@ -48005,7 +48115,7 @@ var require_properties = __commonJS((exports2) => {
|
|
|
48005
48115
|
exports2.default = def;
|
|
48006
48116
|
});
|
|
48007
48117
|
|
|
48008
|
-
//
|
|
48118
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
|
|
48009
48119
|
var require_patternProperties = __commonJS((exports2) => {
|
|
48010
48120
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48011
48121
|
var code_1 = require_code2();
|
|
@@ -48076,7 +48186,7 @@ var require_patternProperties = __commonJS((exports2) => {
|
|
|
48076
48186
|
exports2.default = def;
|
|
48077
48187
|
});
|
|
48078
48188
|
|
|
48079
|
-
//
|
|
48189
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js
|
|
48080
48190
|
var require_not = __commonJS((exports2) => {
|
|
48081
48191
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48082
48192
|
var util_1 = require_util2();
|
|
@@ -48104,7 +48214,7 @@ var require_not = __commonJS((exports2) => {
|
|
|
48104
48214
|
exports2.default = def;
|
|
48105
48215
|
});
|
|
48106
48216
|
|
|
48107
|
-
//
|
|
48217
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js
|
|
48108
48218
|
var require_anyOf = __commonJS((exports2) => {
|
|
48109
48219
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48110
48220
|
var code_1 = require_code2();
|
|
@@ -48118,7 +48228,7 @@ var require_anyOf = __commonJS((exports2) => {
|
|
|
48118
48228
|
exports2.default = def;
|
|
48119
48229
|
});
|
|
48120
48230
|
|
|
48121
|
-
//
|
|
48231
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js
|
|
48122
48232
|
var require_oneOf = __commonJS((exports2) => {
|
|
48123
48233
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48124
48234
|
var codegen_1 = require_codegen();
|
|
@@ -48173,7 +48283,7 @@ var require_oneOf = __commonJS((exports2) => {
|
|
|
48173
48283
|
exports2.default = def;
|
|
48174
48284
|
});
|
|
48175
48285
|
|
|
48176
|
-
//
|
|
48286
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js
|
|
48177
48287
|
var require_allOf = __commonJS((exports2) => {
|
|
48178
48288
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48179
48289
|
var util_1 = require_util2();
|
|
@@ -48197,7 +48307,7 @@ var require_allOf = __commonJS((exports2) => {
|
|
|
48197
48307
|
exports2.default = def;
|
|
48198
48308
|
});
|
|
48199
48309
|
|
|
48200
|
-
//
|
|
48310
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js
|
|
48201
48311
|
var require_if2 = __commonJS((exports2) => {
|
|
48202
48312
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48203
48313
|
var codegen_1 = require_codegen();
|
|
@@ -48263,7 +48373,7 @@ var require_if2 = __commonJS((exports2) => {
|
|
|
48263
48373
|
exports2.default = def;
|
|
48264
48374
|
});
|
|
48265
48375
|
|
|
48266
|
-
//
|
|
48376
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js
|
|
48267
48377
|
var require_thenElse = __commonJS((exports2) => {
|
|
48268
48378
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48269
48379
|
var util_1 = require_util2();
|
|
@@ -48278,7 +48388,7 @@ var require_thenElse = __commonJS((exports2) => {
|
|
|
48278
48388
|
exports2.default = def;
|
|
48279
48389
|
});
|
|
48280
48390
|
|
|
48281
|
-
//
|
|
48391
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js
|
|
48282
48392
|
var require_applicator = __commonJS((exports2) => {
|
|
48283
48393
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48284
48394
|
var additionalItems_1 = require_additionalItems();
|
|
@@ -48321,7 +48431,7 @@ var require_applicator = __commonJS((exports2) => {
|
|
|
48321
48431
|
exports2.default = getApplicator;
|
|
48322
48432
|
});
|
|
48323
48433
|
|
|
48324
|
-
//
|
|
48434
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js
|
|
48325
48435
|
var require_format = __commonJS((exports2) => {
|
|
48326
48436
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48327
48437
|
var codegen_1 = require_codegen();
|
|
@@ -48408,7 +48518,7 @@ var require_format = __commonJS((exports2) => {
|
|
|
48408
48518
|
exports2.default = def;
|
|
48409
48519
|
});
|
|
48410
48520
|
|
|
48411
|
-
//
|
|
48521
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js
|
|
48412
48522
|
var require_format2 = __commonJS((exports2) => {
|
|
48413
48523
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48414
48524
|
var format_1 = require_format();
|
|
@@ -48416,7 +48526,7 @@ var require_format2 = __commonJS((exports2) => {
|
|
|
48416
48526
|
exports2.default = format;
|
|
48417
48527
|
});
|
|
48418
48528
|
|
|
48419
|
-
//
|
|
48529
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js
|
|
48420
48530
|
var require_metadata = __commonJS((exports2) => {
|
|
48421
48531
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48422
48532
|
exports2.contentVocabulary = exports2.metadataVocabulary = undefined;
|
|
@@ -48436,7 +48546,7 @@ var require_metadata = __commonJS((exports2) => {
|
|
|
48436
48546
|
];
|
|
48437
48547
|
});
|
|
48438
48548
|
|
|
48439
|
-
//
|
|
48549
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js
|
|
48440
48550
|
var require_draft7 = __commonJS((exports2) => {
|
|
48441
48551
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48442
48552
|
var core_1 = require_core2();
|
|
@@ -48455,7 +48565,7 @@ var require_draft7 = __commonJS((exports2) => {
|
|
|
48455
48565
|
exports2.default = draft7Vocabularies;
|
|
48456
48566
|
});
|
|
48457
48567
|
|
|
48458
|
-
//
|
|
48568
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js
|
|
48459
48569
|
var require_types = __commonJS((exports2) => {
|
|
48460
48570
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48461
48571
|
exports2.DiscrError = undefined;
|
|
@@ -48466,7 +48576,7 @@ var require_types = __commonJS((exports2) => {
|
|
|
48466
48576
|
})(DiscrError || (exports2.DiscrError = DiscrError = {}));
|
|
48467
48577
|
});
|
|
48468
48578
|
|
|
48469
|
-
//
|
|
48579
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js
|
|
48470
48580
|
var require_discriminator = __commonJS((exports2) => {
|
|
48471
48581
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48472
48582
|
var codegen_1 = require_codegen();
|
|
@@ -48568,7 +48678,7 @@ var require_discriminator = __commonJS((exports2) => {
|
|
|
48568
48678
|
exports2.default = def;
|
|
48569
48679
|
});
|
|
48570
48680
|
|
|
48571
|
-
//
|
|
48681
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.json
|
|
48572
48682
|
var require_json_schema_draft_07 = __commonJS((exports2, module) => {
|
|
48573
48683
|
module.exports = {
|
|
48574
48684
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
@@ -48723,7 +48833,7 @@ var require_json_schema_draft_07 = __commonJS((exports2, module) => {
|
|
|
48723
48833
|
};
|
|
48724
48834
|
});
|
|
48725
48835
|
|
|
48726
|
-
//
|
|
48836
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/ajv.js
|
|
48727
48837
|
var require_ajv = __commonJS((exports2, module) => {
|
|
48728
48838
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48729
48839
|
exports2.MissingRefError = exports2.ValidationError = exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = exports2.Ajv = undefined;
|
|
@@ -48791,7 +48901,7 @@ var require_ajv = __commonJS((exports2, module) => {
|
|
|
48791
48901
|
} });
|
|
48792
48902
|
});
|
|
48793
48903
|
|
|
48794
|
-
//
|
|
48904
|
+
// node_modules/.bun/ajv-formats@3.0.1/node_modules/ajv-formats/dist/formats.js
|
|
48795
48905
|
var require_formats = __commonJS((exports2) => {
|
|
48796
48906
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48797
48907
|
exports2.formatNames = exports2.fastFormats = exports2.fullFormats = undefined;
|
|
@@ -48968,7 +49078,7 @@ var require_formats = __commonJS((exports2) => {
|
|
|
48968
49078
|
}
|
|
48969
49079
|
});
|
|
48970
49080
|
|
|
48971
|
-
//
|
|
49081
|
+
// node_modules/.bun/ajv-formats@3.0.1/node_modules/ajv-formats/dist/limit.js
|
|
48972
49082
|
var require_limit = __commonJS((exports2) => {
|
|
48973
49083
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48974
49084
|
exports2.formatLimitDefinition = undefined;
|
|
@@ -49037,7 +49147,7 @@ var require_limit = __commonJS((exports2) => {
|
|
|
49037
49147
|
exports2.default = formatLimitPlugin;
|
|
49038
49148
|
});
|
|
49039
49149
|
|
|
49040
|
-
//
|
|
49150
|
+
// node_modules/.bun/ajv-formats@3.0.1/node_modules/ajv-formats/dist/index.js
|
|
49041
49151
|
var require_dist2 = __commonJS((exports2, module) => {
|
|
49042
49152
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
49043
49153
|
var formats_1 = require_formats();
|
|
@@ -49076,7 +49186,7 @@ var require_dist2 = __commonJS((exports2, module) => {
|
|
|
49076
49186
|
exports2.default = formatsPlugin;
|
|
49077
49187
|
});
|
|
49078
49188
|
|
|
49079
|
-
//
|
|
49189
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
|
|
49080
49190
|
function createDefaultAjvInstance() {
|
|
49081
49191
|
const ajv = new import_ajv.default({
|
|
49082
49192
|
strict: false,
|
|
@@ -49119,7 +49229,7 @@ var init_ajv_provider = __esm(() => {
|
|
|
49119
49229
|
import_ajv_formats = __toESM(require_dist2(), 1);
|
|
49120
49230
|
});
|
|
49121
49231
|
|
|
49122
|
-
//
|
|
49232
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
|
|
49123
49233
|
class ExperimentalServerTasks {
|
|
49124
49234
|
constructor(_server) {
|
|
49125
49235
|
this._server = _server;
|
|
@@ -49200,7 +49310,7 @@ var init_server = __esm(() => {
|
|
|
49200
49310
|
init_types2();
|
|
49201
49311
|
});
|
|
49202
49312
|
|
|
49203
|
-
//
|
|
49313
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
|
|
49204
49314
|
function assertToolsCallTaskCapability(requests, method, entityName) {
|
|
49205
49315
|
if (!requests) {
|
|
49206
49316
|
throw new Error(`${entityName} does not support task creation (required for ${method})`);
|
|
@@ -49235,7 +49345,7 @@ function assertClientRequestTaskCapability(requests, method, entityName) {
|
|
|
49235
49345
|
}
|
|
49236
49346
|
}
|
|
49237
49347
|
|
|
49238
|
-
//
|
|
49348
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
|
|
49239
49349
|
var Server;
|
|
49240
49350
|
var init_server2 = __esm(() => {
|
|
49241
49351
|
init_protocol4();
|
|
@@ -49576,7 +49686,7 @@ var init_server2 = __esm(() => {
|
|
|
49576
49686
|
};
|
|
49577
49687
|
});
|
|
49578
49688
|
|
|
49579
|
-
//
|
|
49689
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
|
|
49580
49690
|
class ReadBuffer {
|
|
49581
49691
|
append(chunk2) {
|
|
49582
49692
|
this._buffer = this._buffer ? Buffer.concat([this._buffer, chunk2]) : chunk2;
|
|
@@ -49609,7 +49719,7 @@ var init_stdio = __esm(() => {
|
|
|
49609
49719
|
init_types2();
|
|
49610
49720
|
});
|
|
49611
49721
|
|
|
49612
|
-
//
|
|
49722
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
|
|
49613
49723
|
import process3 from "node:process";
|
|
49614
49724
|
|
|
49615
49725
|
class StdioServerTransport {
|
|
@@ -50575,7 +50685,7 @@ var init_server4 = __esm(() => {
|
|
|
50575
50685
|
];
|
|
50576
50686
|
});
|
|
50577
50687
|
|
|
50578
|
-
//
|
|
50688
|
+
// node_modules/.bun/commander@13.1.0/node_modules/commander/esm.mjs
|
|
50579
50689
|
var import__ = __toESM(require_commander(), 1);
|
|
50580
50690
|
var {
|
|
50581
50691
|
program,
|
|
@@ -50592,8 +50702,8 @@ var {
|
|
|
50592
50702
|
} = import__.default;
|
|
50593
50703
|
|
|
50594
50704
|
// src/build-info.ts
|
|
50595
|
-
var VERSION = "0.15.
|
|
50596
|
-
var COMMIT_SHA = "
|
|
50705
|
+
var VERSION = "0.15.39";
|
|
50706
|
+
var COMMIT_SHA = "69e5a2e8";
|
|
50597
50707
|
|
|
50598
50708
|
// src/cli/agent.ts
|
|
50599
50709
|
init_source();
|
|
@@ -53134,6 +53244,7 @@ function scaffoldAgent(name, agentConfigRaw, agentsDir, telegramConfig, switchro
|
|
|
53134
53244
|
const switchroomCliPath = "/usr/local/bin/switchroom";
|
|
53135
53245
|
const resolvedConfigPath = DOCKER_CONFIG_PATH;
|
|
53136
53246
|
const telegramStateDir = `${DOCKER_AGENT_HOME}/.switchroom/agents/${name}/telegram`;
|
|
53247
|
+
const linearAgentEnabled = agentConfig.channels?.telegram?.linear_agent?.enabled === true;
|
|
53137
53248
|
const mcpServers = {
|
|
53138
53249
|
"switchroom-telegram": {
|
|
53139
53250
|
command: "bun",
|
|
@@ -53141,9 +53252,10 @@ function scaffoldAgent(name, agentConfigRaw, agentsDir, telegramConfig, switchro
|
|
|
53141
53252
|
env: {
|
|
53142
53253
|
TELEGRAM_STATE_DIR: telegramStateDir,
|
|
53143
53254
|
SWITCHROOM_CONFIG: resolvedConfigPath,
|
|
53144
|
-
SWITCHROOM_CLI_PATH: switchroomCliPath
|
|
53255
|
+
SWITCHROOM_CLI_PATH: switchroomCliPath,
|
|
53256
|
+
...linearAgentEnabled ? { SWITCHROOM_TELEGRAM_LINEAR: "1" } : {}
|
|
53145
53257
|
},
|
|
53146
|
-
alwaysLoad:
|
|
53258
|
+
alwaysLoad: false
|
|
53147
53259
|
},
|
|
53148
53260
|
"agent-config": {
|
|
53149
53261
|
command: switchroomCliPath,
|
|
@@ -54203,6 +54315,7 @@ ${body}
|
|
|
54203
54315
|
const switchroomCliPath = "/usr/local/bin/switchroom";
|
|
54204
54316
|
const resolvedConfigPath = DOCKER_CONFIG_PATH;
|
|
54205
54317
|
const telegramStateDir = `${DOCKER_AGENT_HOME}/.switchroom/agents/${name}/telegram`;
|
|
54318
|
+
const linearAgentEnabled = agentConfig.channels?.telegram?.linear_agent?.enabled === true;
|
|
54206
54319
|
const mcpServers = {
|
|
54207
54320
|
"switchroom-telegram": {
|
|
54208
54321
|
command: "bun",
|
|
@@ -54210,9 +54323,10 @@ ${body}
|
|
|
54210
54323
|
env: {
|
|
54211
54324
|
TELEGRAM_STATE_DIR: telegramStateDir,
|
|
54212
54325
|
SWITCHROOM_CONFIG: resolvedConfigPath,
|
|
54213
|
-
SWITCHROOM_CLI_PATH: switchroomCliPath
|
|
54326
|
+
SWITCHROOM_CLI_PATH: switchroomCliPath,
|
|
54327
|
+
...linearAgentEnabled ? { SWITCHROOM_TELEGRAM_LINEAR: "1" } : {}
|
|
54214
54328
|
},
|
|
54215
|
-
alwaysLoad:
|
|
54329
|
+
alwaysLoad: false
|
|
54216
54330
|
},
|
|
54217
54331
|
"agent-config": {
|
|
54218
54332
|
command: switchroomCliPath,
|
|
@@ -58912,7 +59026,7 @@ function hasGoogleAccountEntry(doc, account) {
|
|
|
58912
59026
|
// src/cli/auth-google.ts
|
|
58913
59027
|
init_helpers();
|
|
58914
59028
|
function registerAuthGoogleSubcommands(program3, authParent) {
|
|
58915
|
-
const google = authParent.command("google").description("Manage Google Workspace accounts shared across agents (RFC G \u2014 see
|
|
59029
|
+
const google = authParent.command("google").description("Manage Google Workspace accounts shared across agents (RFC G \u2014 see reference/rfcs/google-workspace-generalization.md)");
|
|
58916
59030
|
registerConnect(google, program3);
|
|
58917
59031
|
registerEnable(google, program3);
|
|
58918
59032
|
registerDisable(google, program3);
|
|
@@ -59696,7 +59810,7 @@ function buildMicrosoftCredentials(opts) {
|
|
|
59696
59810
|
|
|
59697
59811
|
// src/cli/auth-microsoft.ts
|
|
59698
59812
|
function registerAuthMicrosoftSubcommands(program3, authParent) {
|
|
59699
|
-
const microsoft = authParent.command("microsoft").description("Manage Microsoft 365 accounts shared across agents (RFC #1873 \u2014 see
|
|
59813
|
+
const microsoft = authParent.command("microsoft").description("Manage Microsoft 365 accounts shared across agents (RFC #1873 \u2014 see reference/rfcs/microsoft-workspace.md)");
|
|
59700
59814
|
registerEnable2(microsoft, program3);
|
|
59701
59815
|
registerDisable2(microsoft, program3);
|
|
59702
59816
|
registerList2(microsoft, program3);
|
|
@@ -61684,7 +61798,7 @@ function createAuditLogger(opts = {}) {
|
|
|
61684
61798
|
// src/vault/grants.ts
|
|
61685
61799
|
import { randomBytes as randomBytes8 } from "node:crypto";
|
|
61686
61800
|
|
|
61687
|
-
//
|
|
61801
|
+
// node_modules/.bun/bcryptjs@3.0.3/node_modules/bcryptjs/index.js
|
|
61688
61802
|
import nodeCrypto from "crypto";
|
|
61689
61803
|
var randomFallback = null;
|
|
61690
61804
|
function randomBytes7(len) {
|
|
@@ -68495,6 +68609,8 @@ var HINDSIGHT_DEFAULT_MEM_LIMIT = "4g";
|
|
|
68495
68609
|
var HINDSIGHT_DEFAULT_MEM_RESERVATION = "2g";
|
|
68496
68610
|
var HINDSIGHT_DEFAULT_PIDS_LIMIT = 1000;
|
|
68497
68611
|
var HINDSIGHT_DEFAULT_SHM_SIZE = "2g";
|
|
68612
|
+
var HINDSIGHT_HEALTHCHECK_PY = 'import urllib.request,sys; sys.exit(0 if urllib.request.urlopen("http://localhost:8888/health",timeout=4).getcode()==200 else 1)';
|
|
68613
|
+
var HINDSIGHT_HEALTHCHECK_CMD = `python3 -c '${HINDSIGHT_HEALTHCHECK_PY}'`;
|
|
68498
68614
|
function isPortFree(port) {
|
|
68499
68615
|
return new Promise((resolve28) => {
|
|
68500
68616
|
const server = createServer4();
|
|
@@ -68586,6 +68702,16 @@ function startHindsight(ports) {
|
|
|
68586
68702
|
`--memory-reservation=${HINDSIGHT_DEFAULT_MEM_RESERVATION}`,
|
|
68587
68703
|
`--pids-limit=${HINDSIGHT_DEFAULT_PIDS_LIMIT}`,
|
|
68588
68704
|
`--shm-size=${HINDSIGHT_DEFAULT_SHM_SIZE}`,
|
|
68705
|
+
"--health-cmd",
|
|
68706
|
+
HINDSIGHT_HEALTHCHECK_CMD,
|
|
68707
|
+
"--health-interval",
|
|
68708
|
+
"30s",
|
|
68709
|
+
"--health-timeout",
|
|
68710
|
+
"5s",
|
|
68711
|
+
"--health-retries",
|
|
68712
|
+
"3",
|
|
68713
|
+
"--health-start-period",
|
|
68714
|
+
"60s",
|
|
68589
68715
|
"-p",
|
|
68590
68716
|
`127.0.0.1:${apiPort}:8888`,
|
|
68591
68717
|
"-p",
|
|
@@ -68593,6 +68719,8 @@ function startHindsight(ports) {
|
|
|
68593
68719
|
"-v",
|
|
68594
68720
|
"switchroom-hindsight-data:/home/hindsight/.pg0",
|
|
68595
68721
|
"-v",
|
|
68722
|
+
"switchroom-hindsight-backups:/backups",
|
|
68723
|
+
"-v",
|
|
68596
68724
|
`${HINDSIGHT_BROKER_SOCK_VOLUME}:/run/switchroom/auth-broker`,
|
|
68597
68725
|
"--tmpfs",
|
|
68598
68726
|
`/run/claude-creds:rw,mode=0700,uid=${HINDSIGHT_DEFAULT_UID},gid=${HINDSIGHT_DEFAULT_UID}`,
|
|
@@ -68640,8 +68768,15 @@ function generateHindsightComposeSnippet() {
|
|
|
68640
68768
|
` mem_reservation: ${HINDSIGHT_DEFAULT_MEM_RESERVATION}`,
|
|
68641
68769
|
` pids_limit: ${HINDSIGHT_DEFAULT_PIDS_LIMIT}`,
|
|
68642
68770
|
` shm_size: ${HINDSIGHT_DEFAULT_SHM_SIZE}`,
|
|
68771
|
+
" healthcheck:",
|
|
68772
|
+
` test: ${JSON.stringify(["CMD", "python3", "-c", HINDSIGHT_HEALTHCHECK_PY])}`,
|
|
68773
|
+
" interval: 30s",
|
|
68774
|
+
" timeout: 5s",
|
|
68775
|
+
" retries: 3",
|
|
68776
|
+
" start_period: 60s",
|
|
68643
68777
|
" volumes:",
|
|
68644
68778
|
" - switchroom-hindsight-data:/home/hindsight/.pg0",
|
|
68779
|
+
" - switchroom-hindsight-backups:/backups",
|
|
68645
68780
|
` - ${HINDSIGHT_BROKER_SOCK_VOLUME}:/run/switchroom/auth-broker`,
|
|
68646
68781
|
" tmpfs:",
|
|
68647
68782
|
` - /run/claude-creds:rw,mode=0700,uid=${HINDSIGHT_DEFAULT_UID},gid=${HINDSIGHT_DEFAULT_UID}`,
|
|
@@ -68649,6 +68784,7 @@ function generateHindsightComposeSnippet() {
|
|
|
68649
68784
|
"",
|
|
68650
68785
|
"volumes:",
|
|
68651
68786
|
" switchroom-hindsight-data:",
|
|
68787
|
+
" switchroom-hindsight-backups:",
|
|
68652
68788
|
` ${HINDSIGHT_BROKER_SOCK_VOLUME}:`,
|
|
68653
68789
|
" external: true",
|
|
68654
68790
|
" # Bound by the switchroom-auth-broker singleton in the main",
|
|
@@ -69174,7 +69310,7 @@ init_client3();
|
|
|
69174
69310
|
init_client();
|
|
69175
69311
|
import { homedir as homedir23 } from "node:os";
|
|
69176
69312
|
|
|
69177
|
-
//
|
|
69313
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
|
|
69178
69314
|
import { dirname as dirname9, posix, sep as sep2 } from "path";
|
|
69179
69315
|
function createModulerModifier() {
|
|
69180
69316
|
const getModuleFromFileName = createGetModuleFromFilename();
|
|
@@ -69210,7 +69346,7 @@ function normalizeWindowsPath(path4) {
|
|
|
69210
69346
|
return path4.replace(/^[A-Z]:/, "").replace(/\\/g, "/");
|
|
69211
69347
|
}
|
|
69212
69348
|
|
|
69213
|
-
//
|
|
69349
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/featureFlagUtils.mjs
|
|
69214
69350
|
var normalizeFlagsResponse = (flagsResponse) => {
|
|
69215
69351
|
if ("flags" in flagsResponse) {
|
|
69216
69352
|
const featureFlags = getFlagValuesFromFlags(flagsResponse.flags);
|
|
@@ -69281,7 +69417,7 @@ var parsePayload = (response) => {
|
|
|
69281
69417
|
}
|
|
69282
69418
|
};
|
|
69283
69419
|
|
|
69284
|
-
//
|
|
69420
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/gzip.mjs
|
|
69285
69421
|
function isGzipSupported() {
|
|
69286
69422
|
return "CompressionStream" in globalThis;
|
|
69287
69423
|
}
|
|
@@ -69301,7 +69437,7 @@ async function gzipCompress(input, isDebug = true) {
|
|
|
69301
69437
|
}
|
|
69302
69438
|
}
|
|
69303
69439
|
|
|
69304
|
-
//
|
|
69440
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/vendor/uuidv7.mjs
|
|
69305
69441
|
/*! For license information please see uuidv7.mjs.LICENSE.txt */
|
|
69306
69442
|
var DIGITS = "0123456789abcdef";
|
|
69307
69443
|
|
|
@@ -69479,7 +69615,7 @@ var defaultGenerator;
|
|
|
69479
69615
|
var uuidv7 = () => uuidv7obj().toString();
|
|
69480
69616
|
var uuidv7obj = () => (defaultGenerator || (defaultGenerator = new V7Generator)).generate();
|
|
69481
69617
|
|
|
69482
|
-
//
|
|
69618
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/types.mjs
|
|
69483
69619
|
var types_PostHogPersistedProperty = /* @__PURE__ */ function(PostHogPersistedProperty) {
|
|
69484
69620
|
PostHogPersistedProperty["AnonymousId"] = "anonymous_id";
|
|
69485
69621
|
PostHogPersistedProperty["DistinctId"] = "distinct_id";
|
|
@@ -69512,7 +69648,7 @@ var types_PostHogPersistedProperty = /* @__PURE__ */ function(PostHogPersistedPr
|
|
|
69512
69648
|
return PostHogPersistedProperty;
|
|
69513
69649
|
}({});
|
|
69514
69650
|
|
|
69515
|
-
//
|
|
69651
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/bot-detection.mjs
|
|
69516
69652
|
var DEFAULT_BLOCKED_UA_STRS = [
|
|
69517
69653
|
"amazonbot",
|
|
69518
69654
|
"amazonproductbot",
|
|
@@ -69601,7 +69737,7 @@ var isBlockedUA = function(ua, customBlockedUserAgents = []) {
|
|
|
69601
69737
|
return uaLower.indexOf(blockedUaLower) !== -1;
|
|
69602
69738
|
});
|
|
69603
69739
|
};
|
|
69604
|
-
//
|
|
69740
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/type-utils.mjs
|
|
69605
69741
|
var nativeIsArray = Array.isArray;
|
|
69606
69742
|
var ObjProto = Object.prototype;
|
|
69607
69743
|
var type_utils_hasOwnProperty = ObjProto.hasOwnProperty;
|
|
@@ -69638,7 +69774,7 @@ function isInstanceOf(candidate, base) {
|
|
|
69638
69774
|
}
|
|
69639
69775
|
}
|
|
69640
69776
|
|
|
69641
|
-
//
|
|
69777
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/number-utils.mjs
|
|
69642
69778
|
function clampToRange(value, min, max, logger, fallbackValue) {
|
|
69643
69779
|
if (min > max) {
|
|
69644
69780
|
logger.warn("min cannot be greater than max.");
|
|
@@ -69658,7 +69794,7 @@ function clampToRange(value, min, max, logger, fallbackValue) {
|
|
|
69658
69794
|
return clampToRange(fallbackValue || max, min, max, logger);
|
|
69659
69795
|
}
|
|
69660
69796
|
|
|
69661
|
-
//
|
|
69797
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.mjs
|
|
69662
69798
|
var ONE_DAY_IN_MS = 86400000;
|
|
69663
69799
|
|
|
69664
69800
|
class BucketedRateLimiter {
|
|
@@ -69702,7 +69838,7 @@ class BucketedRateLimiter {
|
|
|
69702
69838
|
this._buckets = {};
|
|
69703
69839
|
}
|
|
69704
69840
|
}
|
|
69705
|
-
//
|
|
69841
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/promise-queue.mjs
|
|
69706
69842
|
class PromiseQueue {
|
|
69707
69843
|
add(promise) {
|
|
69708
69844
|
const promiseUUID = uuidv7();
|
|
@@ -69728,7 +69864,7 @@ class PromiseQueue {
|
|
|
69728
69864
|
this.promiseByIds = {};
|
|
69729
69865
|
}
|
|
69730
69866
|
}
|
|
69731
|
-
//
|
|
69867
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/logger.mjs
|
|
69732
69868
|
function createConsole(consoleLike = console) {
|
|
69733
69869
|
const lockedMethods = {
|
|
69734
69870
|
log: consoleLike.log.bind(consoleLike),
|
|
@@ -69766,7 +69902,7 @@ var passThrough = (fn) => fn();
|
|
|
69766
69902
|
function createLogger(prefix, maybeCall = passThrough) {
|
|
69767
69903
|
return _createLogger(prefix, maybeCall, createConsole());
|
|
69768
69904
|
}
|
|
69769
|
-
//
|
|
69905
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/user-agent-utils.mjs
|
|
69770
69906
|
var MOBILE = "Mobile";
|
|
69771
69907
|
var IOS = "iOS";
|
|
69772
69908
|
var ANDROID = "Android";
|
|
@@ -70023,7 +70159,7 @@ var osMatchers = [
|
|
|
70023
70159
|
]
|
|
70024
70160
|
];
|
|
70025
70161
|
|
|
70026
|
-
//
|
|
70162
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/index.mjs
|
|
70027
70163
|
var STRING_FORMAT = "utf8";
|
|
70028
70164
|
function assert(truthyValue, message) {
|
|
70029
70165
|
if (!truthyValue || typeof truthyValue != "string" || isEmpty(truthyValue))
|
|
@@ -70071,7 +70207,7 @@ function allSettled(promises) {
|
|
|
70071
70207
|
reason
|
|
70072
70208
|
}))));
|
|
70073
70209
|
}
|
|
70074
|
-
//
|
|
70210
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/eventemitter.mjs
|
|
70075
70211
|
class SimpleEventEmitter {
|
|
70076
70212
|
constructor() {
|
|
70077
70213
|
this.events = {};
|
|
@@ -70093,7 +70229,7 @@ class SimpleEventEmitter {
|
|
|
70093
70229
|
}
|
|
70094
70230
|
}
|
|
70095
70231
|
|
|
70096
|
-
//
|
|
70232
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/posthog-core-stateless.mjs
|
|
70097
70233
|
class PostHogFetchHttpError extends Error {
|
|
70098
70234
|
constructor(response, reqByteLength) {
|
|
70099
70235
|
super("HTTP error while fetching PostHog: status=" + response.status + ", reqByteLength=" + reqByteLength), this.response = response, this.reqByteLength = reqByteLength, this.name = "PostHogFetchHttpError";
|
|
@@ -70808,7 +70944,7 @@ class PostHogCoreStateless {
|
|
|
70808
70944
|
return this.shutdownPromise;
|
|
70809
70945
|
}
|
|
70810
70946
|
}
|
|
70811
|
-
//
|
|
70947
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/index.mjs
|
|
70812
70948
|
var exports_error_tracking = {};
|
|
70813
70949
|
__export(exports_error_tracking, {
|
|
70814
70950
|
winjsStackLineParser: () => winjsStackLineParser,
|
|
@@ -70832,7 +70968,7 @@ __export(exports_error_tracking, {
|
|
|
70832
70968
|
DOMExceptionCoercer: () => DOMExceptionCoercer
|
|
70833
70969
|
});
|
|
70834
70970
|
|
|
70835
|
-
//
|
|
70971
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/chunk-ids.mjs
|
|
70836
70972
|
var parsedStackResults;
|
|
70837
70973
|
var lastKeysCount;
|
|
70838
70974
|
var cachedFilenameChunkIds;
|
|
@@ -70871,7 +71007,7 @@ function getFilenameToChunkIdMap(stackParser) {
|
|
|
70871
71007
|
return cachedFilenameChunkIds;
|
|
70872
71008
|
}
|
|
70873
71009
|
|
|
70874
|
-
//
|
|
71010
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.mjs
|
|
70875
71011
|
var MAX_CAUSE_RECURSION = 4;
|
|
70876
71012
|
|
|
70877
71013
|
class ErrorPropertiesBuilder {
|
|
@@ -70993,7 +71129,7 @@ class ErrorPropertiesBuilder {
|
|
|
70993
71129
|
return context;
|
|
70994
71130
|
}
|
|
70995
71131
|
}
|
|
70996
|
-
//
|
|
71132
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs
|
|
70997
71133
|
var UNKNOWN_FUNCTION = "?";
|
|
70998
71134
|
function createFrame(platform, filename, func, lineno, colno) {
|
|
70999
71135
|
const frame = {
|
|
@@ -71009,7 +71145,7 @@ function createFrame(platform, filename, func, lineno, colno) {
|
|
|
71009
71145
|
return frame;
|
|
71010
71146
|
}
|
|
71011
71147
|
|
|
71012
|
-
//
|
|
71148
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/safari.mjs
|
|
71013
71149
|
var extractSafariExtensionDetails = (func, filename) => {
|
|
71014
71150
|
const isSafariExtension = func.indexOf("safari-extension") !== -1;
|
|
71015
71151
|
const isSafariWebExtension = func.indexOf("safari-web-extension") !== -1;
|
|
@@ -71022,7 +71158,7 @@ var extractSafariExtensionDetails = (func, filename) => {
|
|
|
71022
71158
|
];
|
|
71023
71159
|
};
|
|
71024
71160
|
|
|
71025
|
-
//
|
|
71161
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.mjs
|
|
71026
71162
|
var chromeRegexNoFnName = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i;
|
|
71027
71163
|
var chromeRegex = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
|
|
71028
71164
|
var chromeEvalRegex = /\((\S*)(?::(\d+))(?::(\d+))\)/;
|
|
@@ -71048,7 +71184,7 @@ var chromeStackLineParser = (line, platform) => {
|
|
|
71048
71184
|
}
|
|
71049
71185
|
};
|
|
71050
71186
|
|
|
71051
|
-
//
|
|
71187
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.mjs
|
|
71052
71188
|
var geckoREgex = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i;
|
|
71053
71189
|
var geckoEvalRegex = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
|
|
71054
71190
|
var geckoStackLineParser = (line, platform) => {
|
|
@@ -71071,14 +71207,14 @@ var geckoStackLineParser = (line, platform) => {
|
|
|
71071
71207
|
}
|
|
71072
71208
|
};
|
|
71073
71209
|
|
|
71074
|
-
//
|
|
71210
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.mjs
|
|
71075
71211
|
var winjsRegex = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
|
71076
71212
|
var winjsStackLineParser = (line, platform) => {
|
|
71077
71213
|
const parts = winjsRegex.exec(line);
|
|
71078
71214
|
return parts ? createFrame(platform, parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined) : undefined;
|
|
71079
71215
|
};
|
|
71080
71216
|
|
|
71081
|
-
//
|
|
71217
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/opera.mjs
|
|
71082
71218
|
var opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i;
|
|
71083
71219
|
var opera10StackLineParser = (line, platform) => {
|
|
71084
71220
|
const parts = opera10Regex.exec(line);
|
|
@@ -71090,7 +71226,7 @@ var opera11StackLineParser = (line, platform) => {
|
|
|
71090
71226
|
return parts ? createFrame(platform, parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;
|
|
71091
71227
|
};
|
|
71092
71228
|
|
|
71093
|
-
//
|
|
71229
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/node.mjs
|
|
71094
71230
|
var FILENAME_MATCH = /^\s*[-]{4,}$/;
|
|
71095
71231
|
var FULL_MATCH = /at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;
|
|
71096
71232
|
var nodeStackLineParser = (line, platform) => {
|
|
@@ -71159,7 +71295,7 @@ function _parseIntOrUndefined(input) {
|
|
|
71159
71295
|
return parseInt(input || "", 10) || undefined;
|
|
71160
71296
|
}
|
|
71161
71297
|
|
|
71162
|
-
//
|
|
71298
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/index.mjs
|
|
71163
71299
|
var WEBPACK_ERROR_REGEXP = /\(error: (.*)\)/;
|
|
71164
71300
|
var STACKTRACE_FRAME_LIMIT = 50;
|
|
71165
71301
|
function reverseAndStripFrames(stack) {
|
|
@@ -71204,7 +71340,7 @@ function createStackParser(platform, ...parsers) {
|
|
|
71204
71340
|
return reverseAndStripFrames(frames);
|
|
71205
71341
|
};
|
|
71206
71342
|
}
|
|
71207
|
-
//
|
|
71343
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.mjs
|
|
71208
71344
|
class DOMExceptionCoercer {
|
|
71209
71345
|
match(err) {
|
|
71210
71346
|
return this.isDOMException(err) || this.isDOMError(err);
|
|
@@ -71234,7 +71370,7 @@ class DOMExceptionCoercer {
|
|
|
71234
71370
|
return isBuiltin(err, "DOMError");
|
|
71235
71371
|
}
|
|
71236
71372
|
}
|
|
71237
|
-
//
|
|
71373
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.mjs
|
|
71238
71374
|
class ErrorCoercer {
|
|
71239
71375
|
match(err) {
|
|
71240
71376
|
return isPlainError(err);
|
|
@@ -71261,7 +71397,7 @@ class ErrorCoercer {
|
|
|
71261
71397
|
return err.stacktrace || err.stack || undefined;
|
|
71262
71398
|
}
|
|
71263
71399
|
}
|
|
71264
|
-
//
|
|
71400
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.mjs
|
|
71265
71401
|
class ErrorEventCoercer {
|
|
71266
71402
|
constructor() {}
|
|
71267
71403
|
match(err) {
|
|
@@ -71279,7 +71415,7 @@ class ErrorEventCoercer {
|
|
|
71279
71415
|
return exceptionLike;
|
|
71280
71416
|
}
|
|
71281
71417
|
}
|
|
71282
|
-
//
|
|
71418
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.mjs
|
|
71283
71419
|
var ERROR_TYPES_PATTERN = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
|
|
71284
71420
|
|
|
71285
71421
|
class StringCoercer {
|
|
@@ -71309,7 +71445,7 @@ class StringCoercer {
|
|
|
71309
71445
|
];
|
|
71310
71446
|
}
|
|
71311
71447
|
}
|
|
71312
|
-
//
|
|
71448
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/types.mjs
|
|
71313
71449
|
var severityLevels = [
|
|
71314
71450
|
"fatal",
|
|
71315
71451
|
"error",
|
|
@@ -71319,7 +71455,7 @@ var severityLevels = [
|
|
|
71319
71455
|
"debug"
|
|
71320
71456
|
];
|
|
71321
71457
|
|
|
71322
|
-
//
|
|
71458
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/utils.mjs
|
|
71323
71459
|
function extractExceptionKeysForMessage(err, maxLength = 40) {
|
|
71324
71460
|
const keys = Object.keys(err);
|
|
71325
71461
|
keys.sort();
|
|
@@ -71336,7 +71472,7 @@ function extractExceptionKeysForMessage(err, maxLength = 40) {
|
|
|
71336
71472
|
return "";
|
|
71337
71473
|
}
|
|
71338
71474
|
|
|
71339
|
-
//
|
|
71475
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.mjs
|
|
71340
71476
|
class ObjectCoercer {
|
|
71341
71477
|
match(candidate) {
|
|
71342
71478
|
return typeof candidate == "object" && candidate !== null;
|
|
@@ -71389,7 +71525,7 @@ class ObjectCoercer {
|
|
|
71389
71525
|
}
|
|
71390
71526
|
}
|
|
71391
71527
|
}
|
|
71392
|
-
//
|
|
71528
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.mjs
|
|
71393
71529
|
class EventCoercer {
|
|
71394
71530
|
match(err) {
|
|
71395
71531
|
return isEvent(err);
|
|
@@ -71404,7 +71540,7 @@ class EventCoercer {
|
|
|
71404
71540
|
};
|
|
71405
71541
|
}
|
|
71406
71542
|
}
|
|
71407
|
-
//
|
|
71543
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.mjs
|
|
71408
71544
|
class PrimitiveCoercer {
|
|
71409
71545
|
match(candidate) {
|
|
71410
71546
|
return isPrimitive(candidate);
|
|
@@ -71418,7 +71554,7 @@ class PrimitiveCoercer {
|
|
|
71418
71554
|
};
|
|
71419
71555
|
}
|
|
71420
71556
|
}
|
|
71421
|
-
//
|
|
71557
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.mjs
|
|
71422
71558
|
class PromiseRejectionEventCoercer {
|
|
71423
71559
|
match(err) {
|
|
71424
71560
|
return isBuiltin(err, "PromiseRejectionEvent") || this.isCustomEventWrappingRejection(err);
|
|
@@ -71454,7 +71590,7 @@ class PromiseRejectionEventCoercer {
|
|
|
71454
71590
|
return error;
|
|
71455
71591
|
}
|
|
71456
71592
|
}
|
|
71457
|
-
//
|
|
71593
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/utils.mjs
|
|
71458
71594
|
class ReduceableCache {
|
|
71459
71595
|
constructor(_maxSize) {
|
|
71460
71596
|
this._maxSize = _maxSize;
|
|
@@ -71479,7 +71615,7 @@ class ReduceableCache {
|
|
|
71479
71615
|
}
|
|
71480
71616
|
}
|
|
71481
71617
|
}
|
|
71482
|
-
//
|
|
71618
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs
|
|
71483
71619
|
import { createReadStream } from "node:fs";
|
|
71484
71620
|
import { createInterface as createInterface5 } from "node:readline";
|
|
71485
71621
|
var LRU_FILE_CONTENTS_CACHE = new exports_error_tracking.ReduceableCache(25);
|
|
@@ -71697,7 +71833,7 @@ function snipLine(line, colno) {
|
|
|
71697
71833
|
return newLine;
|
|
71698
71834
|
}
|
|
71699
71835
|
|
|
71700
|
-
//
|
|
71836
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.mjs
|
|
71701
71837
|
function makeUncaughtExceptionHandler(captureFn, onFatalFn) {
|
|
71702
71838
|
let calledFatalError = false;
|
|
71703
71839
|
return Object.assign((error) => {
|
|
@@ -71729,7 +71865,7 @@ function addUnhandledRejectionListener(captureFn) {
|
|
|
71729
71865
|
}));
|
|
71730
71866
|
}
|
|
71731
71867
|
|
|
71732
|
-
//
|
|
71868
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/error-tracking/index.mjs
|
|
71733
71869
|
var SHUTDOWN_TIMEOUT = 2000;
|
|
71734
71870
|
|
|
71735
71871
|
class ErrorTracking {
|
|
@@ -71798,10 +71934,10 @@ class ErrorTracking {
|
|
|
71798
71934
|
}
|
|
71799
71935
|
}
|
|
71800
71936
|
|
|
71801
|
-
//
|
|
71937
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/version.mjs
|
|
71802
71938
|
var version = "5.29.2";
|
|
71803
71939
|
|
|
71804
|
-
//
|
|
71940
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/types.mjs
|
|
71805
71941
|
var FeatureFlagError2 = {
|
|
71806
71942
|
ERRORS_WHILE_COMPUTING: "errors_while_computing_flags",
|
|
71807
71943
|
FLAG_MISSING: "flag_missing",
|
|
@@ -71809,7 +71945,7 @@ var FeatureFlagError2 = {
|
|
|
71809
71945
|
UNKNOWN_ERROR: "unknown_error"
|
|
71810
71946
|
};
|
|
71811
71947
|
|
|
71812
|
-
//
|
|
71948
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/feature-flags/crypto.mjs
|
|
71813
71949
|
async function hashSHA1(text) {
|
|
71814
71950
|
const subtle = globalThis.crypto?.subtle;
|
|
71815
71951
|
if (!subtle)
|
|
@@ -71819,7 +71955,7 @@ async function hashSHA1(text) {
|
|
|
71819
71955
|
return hashArray.map((byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
71820
71956
|
}
|
|
71821
71957
|
|
|
71822
|
-
//
|
|
71958
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.mjs
|
|
71823
71959
|
var SIXTY_SECONDS = 60000;
|
|
71824
71960
|
var LONG_SCALE = 1152921504606847000;
|
|
71825
71961
|
var NULL_VALUES_ALLOWED_OPERATORS = [
|
|
@@ -72693,7 +72829,7 @@ function relativeDateParseForFeatureFlagMatching(value) {
|
|
|
72693
72829
|
}
|
|
72694
72830
|
}
|
|
72695
72831
|
|
|
72696
|
-
//
|
|
72832
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/storage-memory.mjs
|
|
72697
72833
|
class PostHogMemoryStorage {
|
|
72698
72834
|
getProperty(key) {
|
|
72699
72835
|
return this._memoryStorage[key];
|
|
@@ -72706,7 +72842,7 @@ class PostHogMemoryStorage {
|
|
|
72706
72842
|
}
|
|
72707
72843
|
}
|
|
72708
72844
|
|
|
72709
|
-
//
|
|
72845
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/client.mjs
|
|
72710
72846
|
var MINIMUM_POLLING_INTERVAL = 100;
|
|
72711
72847
|
var THIRTY_SECONDS = 30000;
|
|
72712
72848
|
var MAX_CACHE_SIZE = 50000;
|
|
@@ -73494,7 +73630,7 @@ class PostHogBackendClient extends PostHogCoreStateless {
|
|
|
73494
73630
|
}
|
|
73495
73631
|
}
|
|
73496
73632
|
|
|
73497
|
-
//
|
|
73633
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/context/context.mjs
|
|
73498
73634
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
73499
73635
|
|
|
73500
73636
|
class PostHogContext {
|
|
@@ -73525,7 +73661,7 @@ class PostHogContext {
|
|
|
73525
73661
|
}
|
|
73526
73662
|
}
|
|
73527
73663
|
|
|
73528
|
-
//
|
|
73664
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/sentry-integration.mjs
|
|
73529
73665
|
var NAME = "posthog-node";
|
|
73530
73666
|
function createEventProcessor(_posthog, { organization, projectId, prefix, severityAllowList = [
|
|
73531
73667
|
"error"
|
|
@@ -73593,7 +73729,7 @@ class PostHogSentryIntegration {
|
|
|
73593
73729
|
};
|
|
73594
73730
|
}
|
|
73595
73731
|
}
|
|
73596
|
-
//
|
|
73732
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/entrypoints/index.node.mjs
|
|
73597
73733
|
ErrorTracking.errorPropertiesBuilder = new exports_error_tracking.ErrorPropertiesBuilder([
|
|
73598
73734
|
new exports_error_tracking.EventCoercer,
|
|
73599
73735
|
new exports_error_tracking.ErrorCoercer,
|
|
@@ -74806,6 +74942,28 @@ function handleGetNotionWorkspace(config) {
|
|
|
74806
74942
|
fullAccessAgents
|
|
74807
74943
|
};
|
|
74808
74944
|
}
|
|
74945
|
+
function handleGetLinearAgents(config) {
|
|
74946
|
+
const agentNames = Object.keys(config.agents ?? {});
|
|
74947
|
+
const agents = [];
|
|
74948
|
+
for (const name of agentNames) {
|
|
74949
|
+
const rawAgent = config.agents?.[name];
|
|
74950
|
+
if (!rawAgent)
|
|
74951
|
+
continue;
|
|
74952
|
+
const linear = resolveAgentConfig(config.defaults, config.profiles, rawAgent).channels?.telegram?.linear_agent;
|
|
74953
|
+
if (!linear?.enabled)
|
|
74954
|
+
continue;
|
|
74955
|
+
const tok = linear.token;
|
|
74956
|
+
const tokenVaultKey = typeof tok === "string" && tok.startsWith("vault:") ? tok : null;
|
|
74957
|
+
agents.push({
|
|
74958
|
+
agent: name,
|
|
74959
|
+
workspaceId: linear.workspace_id ?? null,
|
|
74960
|
+
defaultTeamId: linear.default_team_id ?? null,
|
|
74961
|
+
tokenVaultKey
|
|
74962
|
+
});
|
|
74963
|
+
}
|
|
74964
|
+
agents.sort((a, b) => a.agent.localeCompare(b.agent));
|
|
74965
|
+
return { configured: agents.length > 0, agents };
|
|
74966
|
+
}
|
|
74809
74967
|
var connectionAccessStatuses = new Map;
|
|
74810
74968
|
function reapConnectionAccessStatuses(now = Date.now()) {
|
|
74811
74969
|
for (const [id, s] of connectionAccessStatuses) {
|
|
@@ -75877,6 +76035,23 @@ var MIME_TYPES = {
|
|
|
75877
76035
|
".svg": "image/svg+xml",
|
|
75878
76036
|
".ico": "image/x-icon"
|
|
75879
76037
|
};
|
|
76038
|
+
var SPA_TAB_ROUTES = new Set([
|
|
76039
|
+
"summary",
|
|
76040
|
+
"agents",
|
|
76041
|
+
"accounts",
|
|
76042
|
+
"system",
|
|
76043
|
+
"memory",
|
|
76044
|
+
"connections",
|
|
76045
|
+
"schedule",
|
|
76046
|
+
"approvals"
|
|
76047
|
+
]);
|
|
76048
|
+
function resolveDashboardFilePath(pathname) {
|
|
76049
|
+
const routeName = pathname.replace(/^\/+/, "").replace(/\/+$/, "");
|
|
76050
|
+
return pathname === "/" || SPA_TAB_ROUTES.has(routeName) ? "/index.html" : pathname;
|
|
76051
|
+
}
|
|
76052
|
+
function dashboardCacheControl(ext) {
|
|
76053
|
+
return ext === ".html" ? "no-cache, must-revalidate" : undefined;
|
|
76054
|
+
}
|
|
75880
76055
|
function jsonResponse(data, status = 200) {
|
|
75881
76056
|
return new Response(JSON.stringify(data), {
|
|
75882
76057
|
status,
|
|
@@ -76114,6 +76289,9 @@ function parseRoute(pathname, method) {
|
|
|
76114
76289
|
if (method === "GET" && pathname === "/api/notion-workspace") {
|
|
76115
76290
|
return { handler: "getNotionWorkspace", params: {} };
|
|
76116
76291
|
}
|
|
76292
|
+
if (method === "GET" && pathname === "/api/linear-agents") {
|
|
76293
|
+
return { handler: "getLinearAgents", params: {} };
|
|
76294
|
+
}
|
|
76117
76295
|
if (method === "GET" && pathname === "/api/schedule") {
|
|
76118
76296
|
return { handler: "getSchedule", params: {} };
|
|
76119
76297
|
}
|
|
@@ -76205,8 +76383,8 @@ function startWebServer(config, port, hostname = "127.0.0.1", configPath) {
|
|
|
76205
76383
|
return new Response("Unauthorized", { status: 401 });
|
|
76206
76384
|
}
|
|
76207
76385
|
const wsProto = req.headers.get("Sec-WebSocket-Protocol");
|
|
76208
|
-
const
|
|
76209
|
-
const upgraded = server2.upgrade(req,
|
|
76386
|
+
const headers2 = wsProto && wsProto.split(",").map((s) => s.trim()).includes("bearer") ? { "Sec-WebSocket-Protocol": "bearer" } : undefined;
|
|
76387
|
+
const upgraded = server2.upgrade(req, headers2 ? { headers: headers2 } : undefined);
|
|
76210
76388
|
if (!upgraded) {
|
|
76211
76389
|
return new Response("WebSocket upgrade failed", { status: 400 });
|
|
76212
76390
|
}
|
|
@@ -76294,6 +76472,8 @@ function startWebServer(config, port, hostname = "127.0.0.1", configPath) {
|
|
|
76294
76472
|
return (async () => jsonResponse(await handleGetMicrosoftAccounts(freshConfig())))();
|
|
76295
76473
|
case "getNotionWorkspace":
|
|
76296
76474
|
return jsonResponse(handleGetNotionWorkspace(freshConfig()));
|
|
76475
|
+
case "getLinearAgents":
|
|
76476
|
+
return jsonResponse(handleGetLinearAgents(freshConfig()));
|
|
76297
76477
|
case "getSchedule":
|
|
76298
76478
|
return (async () => jsonResponse(withStamp(await cachedSchedule())))();
|
|
76299
76479
|
case "getApprovals":
|
|
@@ -76428,7 +76608,7 @@ function startWebServer(config, port, hostname = "127.0.0.1", configPath) {
|
|
|
76428
76608
|
}
|
|
76429
76609
|
}
|
|
76430
76610
|
}
|
|
76431
|
-
|
|
76611
|
+
const filePath = resolveDashboardFilePath(pathname);
|
|
76432
76612
|
const fullPath = join47(uiDir, filePath);
|
|
76433
76613
|
if (!existsSync50(fullPath)) {
|
|
76434
76614
|
return new Response("Not Found", { status: 404 });
|
|
@@ -76446,9 +76626,11 @@ function startWebServer(config, port, hostname = "127.0.0.1", configPath) {
|
|
|
76446
76626
|
const ext = extname(realFullPath);
|
|
76447
76627
|
const contentType = MIME_TYPES[ext] ?? "application/octet-stream";
|
|
76448
76628
|
const content = readFileSync46(realFullPath);
|
|
76449
|
-
|
|
76450
|
-
|
|
76451
|
-
|
|
76629
|
+
const headers = { "Content-Type": contentType };
|
|
76630
|
+
const cacheControl = dashboardCacheControl(ext);
|
|
76631
|
+
if (cacheControl)
|
|
76632
|
+
headers["Cache-Control"] = cacheControl;
|
|
76633
|
+
return new Response(content, { headers });
|
|
76452
76634
|
},
|
|
76453
76635
|
websocket: {
|
|
76454
76636
|
open(_ws) {},
|
|
@@ -82019,7 +82201,7 @@ async function runNotionMcpLauncher(opts, runtime) {
|
|
|
82019
82201
|
return exitCode;
|
|
82020
82202
|
}
|
|
82021
82203
|
function registerNotionMcpLauncherCommand(program3) {
|
|
82022
|
-
program3.command("notion-mcp-launcher", { hidden: true }).option("--vault-key <key>", "Override the vault key holding the Notion integration token. " + "Defaults to `notion/integration-token`.", DEFAULT_VAULT_KEY).option("--mcp-version <semver>", "Override the @notionhq/notion-mcp-server version to spawn.").option("--heartbeat-path <path>", "Override the heartbeat file path. Default: /state/agent/notion-launcher.heartbeat.json").description("Internal \u2014 Notion MCP launcher. Fetches the integration token from the vault-broker and execs @notionhq/notion-mcp-server in stdio mode. RFC
|
|
82204
|
+
program3.command("notion-mcp-launcher", { hidden: true }).option("--vault-key <key>", "Override the vault key holding the Notion integration token. " + "Defaults to `notion/integration-token`.", DEFAULT_VAULT_KEY).option("--mcp-version <semver>", "Override the @notionhq/notion-mcp-server version to spawn.").option("--heartbeat-path <path>", "Override the heartbeat file path. Default: /state/agent/notion-launcher.heartbeat.json").description("Internal \u2014 Notion MCP launcher. Fetches the integration token from the vault-broker and execs @notionhq/notion-mcp-server in stdio mode. RFC reference/rfcs/notion-integration.md PR 2.").action(async (opts) => {
|
|
82023
82205
|
const { getViaBrokerStructured: getViaBrokerStructured2 } = await Promise.resolve().then(() => (init_client(), exports_client));
|
|
82024
82206
|
const code = await runNotionMcpLauncher(opts, {
|
|
82025
82207
|
fetchToken: async () => {
|
|
@@ -82492,7 +82674,7 @@ function createNotionApiClient(opts) {
|
|
|
82492
82674
|
// src/cli/notion.ts
|
|
82493
82675
|
init_client();
|
|
82494
82676
|
function registerNotionCommand(program3) {
|
|
82495
|
-
const cmd = program3.command("notion").description("Notion integration operator helpers (list-dbs, test). See
|
|
82677
|
+
const cmd = program3.command("notion").description("Notion integration operator helpers (list-dbs, test). See reference/rfcs/notion-integration.md.");
|
|
82496
82678
|
cmd.command("list-dbs").description("List the databases the Notion integration can access. Output is a ready-to-paste YAML block for `notion_workspace.databases`.").option("--vault-key <key>", "Override the vault key holding the integration token.", "notion/integration-token").action(async (opts) => {
|
|
82497
82679
|
const code = await runListDbs(opts);
|
|
82498
82680
|
process.exit(code);
|
|
@@ -82682,7 +82864,7 @@ async function fetchToken(vaultKey) {
|
|
|
82682
82864
|
|
|
82683
82865
|
// src/cli/apply.ts
|
|
82684
82866
|
init_source();
|
|
82685
|
-
import { accessSync as accessSync3, chownSync as chownSync7, constants as fsConstants6, copyFileSync as copyFileSync11, existsSync as existsSync74, mkdirSync as
|
|
82867
|
+
import { accessSync as accessSync3, chownSync as chownSync7, constants as fsConstants6, copyFileSync as copyFileSync11, existsSync as existsSync74, mkdirSync as mkdirSync43, readFileSync as readFileSync63, readdirSync as readdirSync26, renameSync as renameSync14, writeFileSync as writeFileSync38 } from "node:fs";
|
|
82686
82868
|
import { mkdir as mkdir2 } from "node:fs/promises";
|
|
82687
82869
|
import { spawnSync as childSpawnSync } from "node:child_process";
|
|
82688
82870
|
import readline from "node:readline";
|
|
@@ -83071,16 +83253,97 @@ agents:
|
|
|
83071
83253
|
|
|
83072
83254
|
// src/cli/apply.ts
|
|
83073
83255
|
init_resolver();
|
|
83074
|
-
import { dirname as dirname23, join as
|
|
83256
|
+
import { dirname as dirname23, join as join76, resolve as resolve46 } from "node:path";
|
|
83075
83257
|
import { homedir as homedir44 } from "node:os";
|
|
83076
83258
|
import { execFileSync as execFileSync24 } from "node:child_process";
|
|
83077
83259
|
init_vault();
|
|
83078
83260
|
init_loader();
|
|
83079
83261
|
init_loader();
|
|
83080
83262
|
|
|
83081
|
-
// src/
|
|
83082
|
-
import {
|
|
83263
|
+
// src/agents/connection-health.ts
|
|
83264
|
+
import { mkdirSync as mkdirSync41, writeFileSync as writeFileSync36 } from "node:fs";
|
|
83083
83265
|
import { join as join73 } from "node:path";
|
|
83266
|
+
var CONNECTION_HEALTH_FILENAME = "connection-health.json";
|
|
83267
|
+
async function computeAgentConnectionIssues(config, agentName, vaultAclReader) {
|
|
83268
|
+
const reqs = computeMcpSecretRequirements(config).filter((r) => r.agent === agentName);
|
|
83269
|
+
if (reqs.length === 0)
|
|
83270
|
+
return [];
|
|
83271
|
+
const agentsNeedingKey = new Map;
|
|
83272
|
+
for (const r of computeMcpSecretRequirements(config)) {
|
|
83273
|
+
for (const key of r.keys) {
|
|
83274
|
+
let set = agentsNeedingKey.get(key);
|
|
83275
|
+
if (!set) {
|
|
83276
|
+
set = new Set;
|
|
83277
|
+
agentsNeedingKey.set(key, set);
|
|
83278
|
+
}
|
|
83279
|
+
set.add(r.agent);
|
|
83280
|
+
}
|
|
83281
|
+
}
|
|
83282
|
+
const aclCache = new Map;
|
|
83283
|
+
const readKey = async (key) => {
|
|
83284
|
+
const cached = aclCache.get(key);
|
|
83285
|
+
if (cached)
|
|
83286
|
+
return cached;
|
|
83287
|
+
const r = await vaultAclReader(key);
|
|
83288
|
+
aclCache.set(key, r);
|
|
83289
|
+
return r;
|
|
83290
|
+
};
|
|
83291
|
+
const issues = [];
|
|
83292
|
+
for (const r of reqs) {
|
|
83293
|
+
for (const key of r.keys) {
|
|
83294
|
+
const acl = await readKey(key);
|
|
83295
|
+
const want = [...agentsNeedingKey.get(key) ?? new Set].sort();
|
|
83296
|
+
if (acl.kind === "unreachable")
|
|
83297
|
+
continue;
|
|
83298
|
+
if (acl.kind === "not_found") {
|
|
83299
|
+
issues.push({
|
|
83300
|
+
server: r.server,
|
|
83301
|
+
key,
|
|
83302
|
+
kind: "missing",
|
|
83303
|
+
detail: `MCP '${r.server}' needs vault key '${key}', but it is missing \u2014 configured but not authed`,
|
|
83304
|
+
fix: `switchroom vault set ${key} --allow ${want.join(",")} (then provide the value)`
|
|
83305
|
+
});
|
|
83306
|
+
continue;
|
|
83307
|
+
}
|
|
83308
|
+
if (entryScopeDenies(agentName, acl.allow, acl.deny)) {
|
|
83309
|
+
const updated = [...new Set([...acl.allow, agentName])].sort().join(",");
|
|
83310
|
+
issues.push({
|
|
83311
|
+
server: r.server,
|
|
83312
|
+
key,
|
|
83313
|
+
kind: "acl",
|
|
83314
|
+
detail: `MCP '${r.server}' \u2014 vault entry scope for '${key}' denies this agent \u2014 broker will deny at runtime`,
|
|
83315
|
+
fix: `switchroom vault set ${key} --allow ${updated} (re-state the full list; drop from --deny if present)`
|
|
83316
|
+
});
|
|
83317
|
+
}
|
|
83318
|
+
}
|
|
83319
|
+
}
|
|
83320
|
+
return issues;
|
|
83321
|
+
}
|
|
83322
|
+
function writeConnectionHealthFile(agentDir, health, deps) {
|
|
83323
|
+
const dir = join73(agentDir, ".claude");
|
|
83324
|
+
const path7 = join73(dir, CONNECTION_HEALTH_FILENAME);
|
|
83325
|
+
(deps?.mkdir ?? ((p, o) => mkdirSync41(p, o)))(dir, { recursive: true });
|
|
83326
|
+
(deps?.writeFile ?? ((p, d) => writeFileSync36(p, d)))(path7, JSON.stringify(health, null, 2) + `
|
|
83327
|
+
`);
|
|
83328
|
+
}
|
|
83329
|
+
async function refreshAgentConnectionHealth(config, agentName, agentDir, deps) {
|
|
83330
|
+
const now = deps.now ?? Date.now;
|
|
83331
|
+
let issues = [];
|
|
83332
|
+
try {
|
|
83333
|
+
issues = await computeAgentConnectionIssues(config, agentName, deps.vaultAclReader);
|
|
83334
|
+
} catch {
|
|
83335
|
+
issues = [];
|
|
83336
|
+
}
|
|
83337
|
+
const health = { computedAt: now(), issues };
|
|
83338
|
+
try {
|
|
83339
|
+
writeConnectionHealthFile(agentDir, health, deps);
|
|
83340
|
+
} catch {}
|
|
83341
|
+
return health;
|
|
83342
|
+
}
|
|
83343
|
+
|
|
83344
|
+
// src/cli/update-prompt-hook.ts
|
|
83345
|
+
import { existsSync as existsSync72, readFileSync as readFileSync62, writeFileSync as writeFileSync37, chmodSync as chmodSync10, mkdirSync as mkdirSync42 } from "node:fs";
|
|
83346
|
+
import { join as join74 } from "node:path";
|
|
83084
83347
|
var HOOK_FILENAME = "update-card-on-prompt.sh";
|
|
83085
83348
|
function updatePromptHookScript() {
|
|
83086
83349
|
return `#!/bin/bash
|
|
@@ -83146,14 +83409,14 @@ exit 0
|
|
|
83146
83409
|
`;
|
|
83147
83410
|
}
|
|
83148
83411
|
function installUpdatePromptHook(agentDir) {
|
|
83149
|
-
const hooksDir =
|
|
83150
|
-
|
|
83151
|
-
const scriptPath =
|
|
83412
|
+
const hooksDir = join74(agentDir, ".claude", "hooks");
|
|
83413
|
+
mkdirSync42(hooksDir, { recursive: true });
|
|
83414
|
+
const scriptPath = join74(hooksDir, HOOK_FILENAME);
|
|
83152
83415
|
const desired = updatePromptHookScript();
|
|
83153
83416
|
let installed = false;
|
|
83154
83417
|
const existing = existsSync72(scriptPath) ? readFileSync62(scriptPath, "utf-8") : "";
|
|
83155
83418
|
if (existing !== desired) {
|
|
83156
|
-
|
|
83419
|
+
writeFileSync37(scriptPath, desired, { mode: 493 });
|
|
83157
83420
|
chmodSync10(scriptPath, 493);
|
|
83158
83421
|
installed = true;
|
|
83159
83422
|
} else {
|
|
@@ -83161,7 +83424,7 @@ function installUpdatePromptHook(agentDir) {
|
|
|
83161
83424
|
chmodSync10(scriptPath, 493);
|
|
83162
83425
|
} catch {}
|
|
83163
83426
|
}
|
|
83164
|
-
const settingsPath =
|
|
83427
|
+
const settingsPath = join74(agentDir, ".claude", "settings.json");
|
|
83165
83428
|
if (!existsSync72(settingsPath)) {
|
|
83166
83429
|
return { scriptPath, settingsPath, installed };
|
|
83167
83430
|
}
|
|
@@ -83198,7 +83461,7 @@ function installUpdatePromptHook(agentDir) {
|
|
|
83198
83461
|
});
|
|
83199
83462
|
hooks.UserPromptSubmit = list2;
|
|
83200
83463
|
parsed.hooks = hooks;
|
|
83201
|
-
|
|
83464
|
+
writeFileSync37(settingsPath, JSON.stringify(parsed, null, 2) + `
|
|
83202
83465
|
`, { mode: 384 });
|
|
83203
83466
|
installed = true;
|
|
83204
83467
|
}
|
|
@@ -83263,14 +83526,14 @@ var EMBEDDED_EXAMPLES = {
|
|
|
83263
83526
|
switchroom: switchroom_default,
|
|
83264
83527
|
minimal: minimal_default
|
|
83265
83528
|
};
|
|
83266
|
-
var DEFAULT_COMPOSE_PATH2 =
|
|
83529
|
+
var DEFAULT_COMPOSE_PATH2 = join76(homedir44(), ".switchroom", "compose", "docker-compose.yml");
|
|
83267
83530
|
var COMPOSE_PROJECT2 = "switchroom";
|
|
83268
83531
|
function resolveVaultBindMountDir(homeDir, ctx) {
|
|
83269
83532
|
const isCustomPath = ctx.migrationKind === "custom-path-skipped";
|
|
83270
83533
|
if (isCustomPath && ctx.customVaultPath) {
|
|
83271
83534
|
return dirname23(ctx.customVaultPath);
|
|
83272
83535
|
}
|
|
83273
|
-
return
|
|
83536
|
+
return join76(homeDir, ".switchroom", "vault");
|
|
83274
83537
|
}
|
|
83275
83538
|
function inspectVaultBindMountDir(vaultDir) {
|
|
83276
83539
|
if (!existsSync74(vaultDir))
|
|
@@ -83301,61 +83564,61 @@ function hasVaultRefs(value) {
|
|
|
83301
83564
|
async function ensureHostMountSources(config) {
|
|
83302
83565
|
const home2 = homedir44();
|
|
83303
83566
|
const dirs = [
|
|
83304
|
-
|
|
83305
|
-
|
|
83306
|
-
|
|
83307
|
-
|
|
83308
|
-
|
|
83567
|
+
join76(home2, ".switchroom", "approvals"),
|
|
83568
|
+
join76(home2, ".switchroom", "scheduler"),
|
|
83569
|
+
join76(home2, ".switchroom", "logs"),
|
|
83570
|
+
join76(home2, ".switchroom", "compose"),
|
|
83571
|
+
join76(home2, ".switchroom", "broker-operator")
|
|
83309
83572
|
];
|
|
83310
83573
|
for (const name of Object.keys(config.agents)) {
|
|
83311
|
-
dirs.push(
|
|
83312
|
-
dirs.push(
|
|
83313
|
-
dirs.push(
|
|
83314
|
-
dirs.push(
|
|
83315
|
-
if (existsSync74(
|
|
83316
|
-
dirs.push(
|
|
83574
|
+
dirs.push(join76(home2, ".switchroom", "agents", name));
|
|
83575
|
+
dirs.push(join76(home2, ".switchroom", "logs", name));
|
|
83576
|
+
dirs.push(join76(home2, ".claude", "projects", name));
|
|
83577
|
+
dirs.push(join76(home2, ".switchroom", "audit", name));
|
|
83578
|
+
if (existsSync74(join76(home2, ".switchroom-config"))) {
|
|
83579
|
+
dirs.push(join76(home2, ".switchroom-config", "agents", name, "personal-skills"));
|
|
83317
83580
|
}
|
|
83318
83581
|
}
|
|
83319
83582
|
for (const dir of dirs) {
|
|
83320
83583
|
await mkdir2(dir, { recursive: true });
|
|
83321
83584
|
}
|
|
83322
|
-
const autoUnlockPath =
|
|
83585
|
+
const autoUnlockPath = join76(home2, ".switchroom", "vault-auto-unlock");
|
|
83323
83586
|
if (!existsSync74(autoUnlockPath)) {
|
|
83324
|
-
|
|
83587
|
+
writeFileSync38(autoUnlockPath, "", { mode: 384 });
|
|
83325
83588
|
}
|
|
83326
|
-
const auditLogPath =
|
|
83589
|
+
const auditLogPath = join76(home2, ".switchroom", "vault-audit.log");
|
|
83327
83590
|
if (!existsSync74(auditLogPath)) {
|
|
83328
|
-
|
|
83591
|
+
writeFileSync38(auditLogPath, "", { mode: 420 });
|
|
83329
83592
|
}
|
|
83330
|
-
const grantsDbPath =
|
|
83593
|
+
const grantsDbPath = join76(home2, ".switchroom", "vault-grants.db");
|
|
83331
83594
|
if (!existsSync74(grantsDbPath)) {
|
|
83332
|
-
|
|
83595
|
+
writeFileSync38(grantsDbPath, "", { mode: 384 });
|
|
83333
83596
|
}
|
|
83334
|
-
const hostdAuditLogPath =
|
|
83597
|
+
const hostdAuditLogPath = join76(home2, ".switchroom", "host-control-audit.log");
|
|
83335
83598
|
if (!existsSync74(hostdAuditLogPath)) {
|
|
83336
|
-
|
|
83599
|
+
writeFileSync38(hostdAuditLogPath, "", { mode: 420 });
|
|
83337
83600
|
}
|
|
83338
83601
|
for (const name of Object.keys(config.agents)) {
|
|
83339
|
-
const tokenPath =
|
|
83602
|
+
const tokenPath = join76(home2, ".switchroom", "agents", name, ".vault-token");
|
|
83340
83603
|
if (!existsSync74(tokenPath)) {
|
|
83341
|
-
|
|
83604
|
+
writeFileSync38(tokenPath, "", { mode: 384 });
|
|
83342
83605
|
}
|
|
83343
83606
|
try {
|
|
83344
83607
|
const uid = allocateAgentUid(name);
|
|
83345
83608
|
chownSync7(tokenPath, uid, uid);
|
|
83346
83609
|
} catch {}
|
|
83347
83610
|
}
|
|
83348
|
-
const fleetDir =
|
|
83611
|
+
const fleetDir = join76(home2, ".switchroom", "fleet");
|
|
83349
83612
|
await mkdir2(fleetDir, { recursive: true });
|
|
83350
|
-
const invariantsPath =
|
|
83613
|
+
const invariantsPath = join76(fleetDir, "switchroom-invariants.md");
|
|
83351
83614
|
const invariantsCanonical = renderFleetInvariants();
|
|
83352
83615
|
const invariantsCurrent = existsSync74(invariantsPath) ? readFileSync63(invariantsPath, "utf-8") : null;
|
|
83353
83616
|
if (invariantsCurrent !== invariantsCanonical) {
|
|
83354
|
-
|
|
83617
|
+
writeFileSync38(invariantsPath, invariantsCanonical, { mode: 420 });
|
|
83355
83618
|
}
|
|
83356
|
-
const fleetClaudePath =
|
|
83619
|
+
const fleetClaudePath = join76(fleetDir, "CLAUDE.md");
|
|
83357
83620
|
if (!existsSync74(fleetClaudePath)) {
|
|
83358
|
-
|
|
83621
|
+
writeFileSync38(fleetClaudePath, [
|
|
83359
83622
|
"# Switchroom fleet defaults",
|
|
83360
83623
|
"",
|
|
83361
83624
|
"Operator-owned fleet brain. Every agent reads this via",
|
|
@@ -83438,16 +83701,16 @@ function detectAndReportLegacyGdriveSlots(vaultPath) {
|
|
|
83438
83701
|
}
|
|
83439
83702
|
function writeInstallTypeCache(homeDir = homedir44()) {
|
|
83440
83703
|
const ctx = detectInstallType();
|
|
83441
|
-
const dir =
|
|
83442
|
-
const out =
|
|
83704
|
+
const dir = join76(homeDir, ".switchroom");
|
|
83705
|
+
const out = join76(dir, "install-type.json");
|
|
83443
83706
|
const tmp = `${out}.tmp`;
|
|
83444
|
-
|
|
83707
|
+
mkdirSync43(dir, { recursive: true });
|
|
83445
83708
|
const payload = {
|
|
83446
83709
|
install_type: ctx.install_type,
|
|
83447
83710
|
detected_at: new Date().toISOString(),
|
|
83448
83711
|
source_paths: ctx.source_paths
|
|
83449
83712
|
};
|
|
83450
|
-
|
|
83713
|
+
writeFileSync38(tmp, JSON.stringify(payload, null, 2), { mode: 420 });
|
|
83451
83714
|
renameSync14(tmp, out);
|
|
83452
83715
|
return out;
|
|
83453
83716
|
}
|
|
@@ -83474,6 +83737,24 @@ Applying switchroom config...
|
|
|
83474
83737
|
writeOut(source_default.gray(` (--only=${options.only}: scaffolding/aligning this agent only; ` + `compose still covers all ${allAgentNames.length})
|
|
83475
83738
|
`));
|
|
83476
83739
|
}
|
|
83740
|
+
const connHealthVaultAclReader = async (key) => {
|
|
83741
|
+
try {
|
|
83742
|
+
const { getViaBrokerStructured: getViaBrokerStructured2 } = await Promise.resolve().then(() => (init_client(), exports_client));
|
|
83743
|
+
const result = await getViaBrokerStructured2(key);
|
|
83744
|
+
if (result.kind === "ok") {
|
|
83745
|
+
return {
|
|
83746
|
+
kind: "ok",
|
|
83747
|
+
allow: result.entry.scope?.allow ?? [],
|
|
83748
|
+
deny: result.entry.scope?.deny ?? []
|
|
83749
|
+
};
|
|
83750
|
+
}
|
|
83751
|
+
if (result.kind === "not_found")
|
|
83752
|
+
return { kind: "not_found" };
|
|
83753
|
+
return { kind: "unreachable", msg: result.msg };
|
|
83754
|
+
} catch (err) {
|
|
83755
|
+
return { kind: "unreachable", msg: err.message };
|
|
83756
|
+
}
|
|
83757
|
+
};
|
|
83477
83758
|
let scaffolded = 0;
|
|
83478
83759
|
const failures = [];
|
|
83479
83760
|
|
|
@@ -83488,14 +83769,17 @@ Applying switchroom config...
|
|
|
83488
83769
|
writeOut(source_default.green(` + ${name}`) + source_default.gray(` (${agentConfig.extends ?? "default"}) \u2014 ${detail}
|
|
83489
83770
|
`));
|
|
83490
83771
|
try {
|
|
83491
|
-
installUpdatePromptHook(
|
|
83772
|
+
installUpdatePromptHook(join76(agentsDir, name));
|
|
83492
83773
|
} catch (hookErr) {
|
|
83493
83774
|
writeOut(source_default.gray(` (update-prompt hook install failed for ${name}: ${hookErr.message})
|
|
83494
83775
|
`));
|
|
83495
83776
|
}
|
|
83777
|
+
await refreshAgentConnectionHealth(config, name, join76(agentsDir, name), {
|
|
83778
|
+
vaultAclReader: connHealthVaultAclReader
|
|
83779
|
+
});
|
|
83496
83780
|
try {
|
|
83497
83781
|
const uid = allocateAgentUid(name);
|
|
83498
|
-
alignAgentUid(name,
|
|
83782
|
+
alignAgentUid(name, join76(agentsDir, name), uid, {
|
|
83499
83783
|
confirm: !options.nonInteractive,
|
|
83500
83784
|
writeOut
|
|
83501
83785
|
});
|
|
@@ -83503,12 +83787,12 @@ Applying switchroom config...
|
|
|
83503
83787
|
const msg = alignErr.message;
|
|
83504
83788
|
if (options.allowUnaligned) {
|
|
83505
83789
|
writeOut(source_default.yellow(` ! could not chown ${name} state dir: ${msg}
|
|
83506
|
-
|
|
83790
|
+
continuing because --allow-unaligned was passed; agent may fail on first write.
|
|
83507
83791
|
`));
|
|
83508
83792
|
} else {
|
|
83509
83793
|
writeOut(source_default.red(` x could not chown ${name} state dir: ${msg}
|
|
83510
|
-
|
|
83511
|
-
|
|
83794
|
+
The bind-mounted state dir must be owned by the container's UID or the agent will fail on first write.
|
|
83795
|
+
Fix: run \`switchroom apply\` from a TTY so it can prompt for sudo, OR run the suggested chown manually, OR re-run with --allow-unaligned to skip this check.
|
|
83512
83796
|
`));
|
|
83513
83797
|
throw new UidAlignmentAbort(`UID alignment failed for agent ${name}; aborting apply (pass --allow-unaligned to override).`);
|
|
83514
83798
|
}
|
|
@@ -83532,14 +83816,14 @@ Applying switchroom config...
|
|
|
83532
83816
|
for (const name of agentNames) {
|
|
83533
83817
|
try {
|
|
83534
83818
|
const uid = allocateAgentUid(name);
|
|
83535
|
-
alignAgentUid(name,
|
|
83819
|
+
alignAgentUid(name, join76(agentsDir, name), uid, {
|
|
83536
83820
|
confirm: !options.nonInteractive,
|
|
83537
83821
|
writeOut
|
|
83538
83822
|
});
|
|
83539
83823
|
} catch (alignErr) {
|
|
83540
83824
|
const msg = alignErr.message;
|
|
83541
83825
|
writeOut(source_default.yellow(` ! post-mount-source UID re-align failed for ${name}: ${msg}
|
|
83542
|
-
|
|
83826
|
+
Agent may fail to write supervisor logs on first boot.
|
|
83543
83827
|
`));
|
|
83544
83828
|
}
|
|
83545
83829
|
}
|
|
@@ -83582,7 +83866,7 @@ Applying switchroom config...
|
|
|
83582
83866
|
];
|
|
83583
83867
|
if (!acceptable.includes(postMigrationInspect.kind)) {
|
|
83584
83868
|
writeErr(source_default.red(`Post-migration verification failed: state is ${postMigrationInspect.kind}
|
|
83585
|
-
|
|
83869
|
+
Expected one of: ${acceptable.join(", ")}
|
|
83586
83870
|
` + `This is a switchroom bug \u2014 please file an issue with the apply log.
|
|
83587
83871
|
`));
|
|
83588
83872
|
process.exit(5);
|
|
@@ -83597,11 +83881,11 @@ Applying switchroom config...
|
|
|
83597
83881
|
writeErr(source_default.red(`Vault directory ${vaultDir} contains unexpected files:
|
|
83598
83882
|
` + unknown.map((n) => ` - ${n}
|
|
83599
83883
|
`).join("") + `Refusing to bind-mount: a docker bind-mount source is the
|
|
83600
|
-
|
|
83601
|
-
|
|
83602
|
-
|
|
83603
|
-
|
|
83604
|
-
|
|
83884
|
+
entire directory, so unexpected files would be visible inside
|
|
83885
|
+
the broker container. Move them out, then re-run apply.
|
|
83886
|
+
Known artifacts: vault.enc, vault.enc.bak, vault.enc.tmp,
|
|
83887
|
+
vault.enc.lock (PID-file flock from saveVault), and
|
|
83888
|
+
.vault.enc.<pid>.<ms>.tmp (atomicWriteFileSync sibling-tmp).
|
|
83605
83889
|
`));
|
|
83606
83890
|
process.exit(6);
|
|
83607
83891
|
}
|
|
@@ -83620,8 +83904,8 @@ Applying switchroom config...
|
|
|
83620
83904
|
Wrote `) + displayComposePath + source_default.gray(` (${composeBytes} bytes)
|
|
83621
83905
|
`));
|
|
83622
83906
|
writeOut(`Bring the fleet up with:
|
|
83623
|
-
|
|
83624
|
-
|
|
83907
|
+
docker compose -p ${COMPOSE_PROJECT2} -f ${displayComposePath} pull && \\
|
|
83908
|
+
docker compose -p ${COMPOSE_PROJECT2} -f ${displayComposePath} up -d --remove-orphans
|
|
83625
83909
|
`);
|
|
83626
83910
|
writeOut(source_default.gray(` (If pull returns 401, login to ghcr.io first: see docs/operators/install.md#ghcr-auth)
|
|
83627
83911
|
`));
|
|
@@ -83680,7 +83964,7 @@ function copyExampleConfig2(name) {
|
|
|
83680
83964
|
}
|
|
83681
83965
|
const embedded = EMBEDDED_EXAMPLES[name];
|
|
83682
83966
|
if (embedded !== undefined) {
|
|
83683
|
-
|
|
83967
|
+
writeFileSync38(dest, embedded, { encoding: "utf8" });
|
|
83684
83968
|
console.log(source_default.green(`Copied ${name}.yaml -> switchroom.yaml`));
|
|
83685
83969
|
return;
|
|
83686
83970
|
}
|
|
@@ -83696,7 +83980,7 @@ function findUnwritableAgentDirs(config, opts) {
|
|
|
83696
83980
|
const targets = opts.only ? [opts.only] : Object.keys(config.agents ?? {});
|
|
83697
83981
|
const unwritable = [];
|
|
83698
83982
|
for (const name of targets) {
|
|
83699
|
-
const startSh =
|
|
83983
|
+
const startSh = join76(agentsDir, name, "start.sh");
|
|
83700
83984
|
if (!existsSync74(startSh))
|
|
83701
83985
|
continue;
|
|
83702
83986
|
try {
|
|
@@ -83743,7 +84027,8 @@ function reexecUnderSudo() {
|
|
|
83743
84027
|
if (errCode === "ENOENT") {
|
|
83744
84028
|
process.stderr.write(source_default.red(`
|
|
83745
84029
|
ERROR: sudo not found on PATH. Re-run as root, or use
|
|
83746
|
-
|
|
84030
|
+
\`switchroom apply --compose-only\` to skip the per-agent
|
|
84031
|
+
scaffold refresh entirely (compose file still regenerates).
|
|
83747
84032
|
`));
|
|
83748
84033
|
process.exit(1);
|
|
83749
84034
|
}
|
|
@@ -83756,7 +84041,7 @@ ERROR: failed to spawn sudo: ${result.error.message}
|
|
|
83756
84041
|
process.exit(result.status ?? 1);
|
|
83757
84042
|
}
|
|
83758
84043
|
function registerApplyCommand(program3) {
|
|
83759
|
-
program3.command("apply").description("Apply switchroom.yaml: scaffold every agent and (re)generate the compose file. Run `docker compose -f <path> up -d` afterwards to bring the fleet up.").option("--build-local [context]", "Dev-only: emit `build:` blocks instead of GHCR `image:` refs so `docker compose up --build` rebuilds from in-tree Dockerfiles. Optional context path (defaults to cwd).").option("-o, --out <path>", `Override compose output path (default: ${DEFAULT_COMPOSE_PATH2}).`).option("--example <name>", "Copy an example config into cwd before applying (e.g., 'switchroom' or 'minimal').").option("--non-interactive", "Skip prompts (e.g. sudo-chown explainer for UID alignment). Use in CI / scripts.").option("--allow-unaligned", "Treat UID-alignment chown failures as warnings instead of hard errors. Unsafe: an unaligned state dir will break the agent on first write. Use only if you know you'll fix ownership out-of-band.").option("--only <agent>", "Restrict scaffold + UID-alignment to a single agent (compose still covers the full fleet). Use during a v0.6 \u2192 v0.7 cutover to migrate agents one at a time without breaking the systemd-managed siblings.").option("--compose-only", "Skip the per-agent scaffold loop entirely; only (re)generate the compose file. Use in CI / scripts that can't chown into per-agent state dirs (mode 0700, owned by per-agent UIDs in v0.7+ docker mode). The full apply still runs preflight + emits compose; only the start.sh / .mcp.json / settings.json refresh is skipped.").option("--no-doctor", "Skip the post-apply doctor sweep that surfaces stale start.sh / unhealthy agents (#929). Default: doctor runs after a successful scaffold so the operator sees whether the v0.7+ post-Phase-4 supervisor block is now in place. `switchroom update` passes this internally to avoid running doctor twice (it has its own doctor step).").addOption(new Option("--channel <c>", "Override the resolved `release` block for this apply run:
|
|
84044
|
+
program3.command("apply").description("Apply switchroom.yaml: scaffold every agent and (re)generate the compose file. Run `docker compose -f <path> up -d` afterwards to bring the fleet up.").option("--build-local [context]", "Dev-only: emit `build:` blocks instead of GHCR `image:` refs so `docker compose up --build` rebuilds from in-tree Dockerfiles. Optional context path (defaults to cwd).").option("-o, --out <path>", `Override compose output path (default: ${DEFAULT_COMPOSE_PATH2}).`).option("--example <name>", "Copy an example config into cwd before applying (e.g., 'switchroom' or 'minimal').").option("--non-interactive", "Skip prompts (e.g. sudo-chown explainer for UID alignment). Use in CI / scripts.").option("--allow-unaligned", "Treat UID-alignment chown failures as warnings instead of hard errors. Unsafe: an unaligned state dir will break the agent on first write. Use only if you know you'll fix ownership out-of-band.").option("--only <agent>", "Restrict scaffold + UID-alignment to a single agent (compose still covers the full fleet). Use during a v0.6 \u2192 v0.7 cutover to migrate agents one at a time without breaking the systemd-managed siblings.").option("--compose-only", "Skip the per-agent scaffold loop entirely; only (re)generate the compose file. Use in CI / scripts that can't chown into per-agent state dirs (mode 0700, owned by per-agent UIDs in v0.7+ docker mode). The full apply still runs preflight + emits compose; only the start.sh / .mcp.json / settings.json refresh is skipped.").option("--no-doctor", "Skip the post-apply doctor sweep that surfaces stale start.sh / unhealthy agents (#929). Default: doctor runs after a successful scaffold so the operator sees whether the v0.7+ post-Phase-4 supervisor block is now in place. `switchroom update` passes this internally to avoid running doctor twice (it has its own doctor step).").addOption(new Option("--channel <c>", "Override the resolved `release` block for this apply run: follow the named channel pointer (dev|rc|latest). Mutually exclusive with --pin.").choices(["dev", "rc", "latest"]).conflicts("pin")).addOption(new Option("--pin <p>", "Override the resolved `release` block for this apply run: pin to a specific build (sha-<7-40 hex> or v<semver>). Mutually exclusive with --channel.").conflicts("channel")).option("--print-sudo-cmd", "Print the sudo invocation that `apply` would re-exec itself with when escalation is needed, then exit. Operators who want to script the escalation themselves (CI, custom orchestration) can capture this. Note: tokens are space-separated and not shell-quoted; re-quote arguments if pasting into a shell.").addOption(new Option("--skip-self-elevate").default(false).hideHelp()).action(async (opts) => {
|
|
83760
84045
|
try {
|
|
83761
84046
|
if (opts.example) {
|
|
83762
84047
|
copyExampleConfig2(opts.example);
|
|
@@ -83782,7 +84067,7 @@ function registerApplyCommand(program3) {
|
|
|
83782
84067
|
const canPrompt = !opts.nonInteractive && process.stdin.isTTY === true;
|
|
83783
84068
|
const proceed = canPrompt ? await confirmYesNo(`Re-exec under sudo to refresh them? [Y/n] `) : true;
|
|
83784
84069
|
if (!proceed) {
|
|
83785
|
-
process.stderr.write(source_default.gray(
|
|
84070
|
+
process.stderr.write(source_default.gray(`Skipping. Re-run with --compose-only to regenerate compose without touching per-agent files.
|
|
83786
84071
|
`));
|
|
83787
84072
|
process.exit(0);
|
|
83788
84073
|
}
|
|
@@ -83876,7 +84161,7 @@ function runRedactStdin() {
|
|
|
83876
84161
|
|
|
83877
84162
|
// src/cli/status-ask.ts
|
|
83878
84163
|
import { readFileSync as readFileSync64, existsSync as existsSync75, readdirSync as readdirSync27 } from "node:fs";
|
|
83879
|
-
import { join as
|
|
84164
|
+
import { join as join77 } from "node:path";
|
|
83880
84165
|
import { homedir as homedir45 } from "node:os";
|
|
83881
84166
|
|
|
83882
84167
|
// src/status-ask/report.ts
|
|
@@ -84212,7 +84497,7 @@ function resolveSources(explicitPath) {
|
|
|
84212
84497
|
const config = loadConfig();
|
|
84213
84498
|
agentsDir = resolveAgentsDir(config);
|
|
84214
84499
|
} catch {
|
|
84215
|
-
agentsDir =
|
|
84500
|
+
agentsDir = join77(homedir45(), ".switchroom", "agents");
|
|
84216
84501
|
}
|
|
84217
84502
|
if (!existsSync75(agentsDir))
|
|
84218
84503
|
return [];
|
|
@@ -84224,7 +84509,7 @@ function resolveSources(explicitPath) {
|
|
|
84224
84509
|
return [];
|
|
84225
84510
|
}
|
|
84226
84511
|
for (const name of entries) {
|
|
84227
|
-
const path8 =
|
|
84512
|
+
const path8 = join77(agentsDir, name, "runtime-metrics.jsonl");
|
|
84228
84513
|
if (existsSync75(path8)) {
|
|
84229
84514
|
sources.push({ path: path8, agent: name });
|
|
84230
84515
|
}
|
|
@@ -84253,7 +84538,7 @@ import {
|
|
|
84253
84538
|
closeSync as closeSync13,
|
|
84254
84539
|
existsSync as existsSync76,
|
|
84255
84540
|
fsyncSync as fsyncSync6,
|
|
84256
|
-
mkdirSync as
|
|
84541
|
+
mkdirSync as mkdirSync44,
|
|
84257
84542
|
openSync as openSync13,
|
|
84258
84543
|
readdirSync as readdirSync28,
|
|
84259
84544
|
readFileSync as readFileSync65,
|
|
@@ -84262,34 +84547,34 @@ import {
|
|
|
84262
84547
|
unlinkSync as unlinkSync14,
|
|
84263
84548
|
writeSync as writeSync8
|
|
84264
84549
|
} from "node:fs";
|
|
84265
|
-
import { join as
|
|
84550
|
+
import { join as join78, resolve as resolve47 } from "node:path";
|
|
84266
84551
|
var STAGING_SUBDIR = ".staging";
|
|
84267
84552
|
function overlayPathsFor(agent, opts = {}) {
|
|
84268
84553
|
const base = opts.root ? resolve47(opts.root, agent) : resolve47(resolveDualPath(`~/.switchroom/agents/${agent}`));
|
|
84269
|
-
const scheduleDir =
|
|
84270
|
-
const scheduleStagingDir =
|
|
84271
|
-
const skillsDir =
|
|
84272
|
-
const skillsStagingDir =
|
|
84554
|
+
const scheduleDir = join78(base, "schedule.d");
|
|
84555
|
+
const scheduleStagingDir = join78(scheduleDir, STAGING_SUBDIR);
|
|
84556
|
+
const skillsDir = join78(base, "skills.d");
|
|
84557
|
+
const skillsStagingDir = join78(skillsDir, STAGING_SUBDIR);
|
|
84273
84558
|
return {
|
|
84274
84559
|
agentRoot: base,
|
|
84275
84560
|
scheduleDir,
|
|
84276
84561
|
scheduleStagingDir,
|
|
84277
84562
|
skillsDir,
|
|
84278
84563
|
skillsStagingDir,
|
|
84279
|
-
lockPath:
|
|
84564
|
+
lockPath: join78(base, ".lock"),
|
|
84280
84565
|
stagingDir: scheduleStagingDir
|
|
84281
84566
|
};
|
|
84282
84567
|
}
|
|
84283
84568
|
function ensureDirs(paths) {
|
|
84284
|
-
|
|
84285
|
-
|
|
84569
|
+
mkdirSync44(paths.scheduleDir, { recursive: true });
|
|
84570
|
+
mkdirSync44(paths.scheduleStagingDir, { recursive: true });
|
|
84286
84571
|
}
|
|
84287
84572
|
function ensureSkillsDirs(paths) {
|
|
84288
|
-
|
|
84289
|
-
|
|
84573
|
+
mkdirSync44(paths.skillsDir, { recursive: true });
|
|
84574
|
+
mkdirSync44(paths.skillsStagingDir, { recursive: true });
|
|
84290
84575
|
}
|
|
84291
84576
|
function withAgentLock(paths, fn) {
|
|
84292
|
-
|
|
84577
|
+
mkdirSync44(paths.agentRoot, { recursive: true });
|
|
84293
84578
|
const start = Date.now();
|
|
84294
84579
|
const TIMEOUT_MS = 5000;
|
|
84295
84580
|
let fd = null;
|
|
@@ -84330,8 +84615,8 @@ function writeOverlayEntry(agent, slug, yamlText, opts = {}) {
|
|
|
84330
84615
|
const paths = overlayPathsFor(agent, opts);
|
|
84331
84616
|
return withAgentLock(paths, () => {
|
|
84332
84617
|
ensureDirs(paths);
|
|
84333
|
-
const stagingPath =
|
|
84334
|
-
const finalPath =
|
|
84618
|
+
const stagingPath = join78(paths.scheduleStagingDir, `${slug}.yaml`);
|
|
84619
|
+
const finalPath = join78(paths.scheduleDir, `${slug}.yaml`);
|
|
84335
84620
|
const fd = openSync13(stagingPath, "w", 384);
|
|
84336
84621
|
try {
|
|
84337
84622
|
writeSync8(fd, yamlText);
|
|
@@ -84347,8 +84632,8 @@ function writeSkillsOverlayEntry(agent, slug, yamlText, opts = {}) {
|
|
|
84347
84632
|
const paths = overlayPathsFor(agent, opts);
|
|
84348
84633
|
return withAgentLock(paths, () => {
|
|
84349
84634
|
ensureSkillsDirs(paths);
|
|
84350
|
-
const stagingPath =
|
|
84351
|
-
const finalPath =
|
|
84635
|
+
const stagingPath = join78(paths.skillsStagingDir, `${slug}.yaml`);
|
|
84636
|
+
const finalPath = join78(paths.skillsDir, `${slug}.yaml`);
|
|
84352
84637
|
const fd = openSync13(stagingPath, "w", 384);
|
|
84353
84638
|
try {
|
|
84354
84639
|
writeSync8(fd, yamlText);
|
|
@@ -84363,7 +84648,7 @@ function writeSkillsOverlayEntry(agent, slug, yamlText, opts = {}) {
|
|
|
84363
84648
|
function deleteSkillsOverlayEntry(agent, slug, opts = {}) {
|
|
84364
84649
|
const paths = overlayPathsFor(agent, opts);
|
|
84365
84650
|
return withAgentLock(paths, () => {
|
|
84366
|
-
const finalPath =
|
|
84651
|
+
const finalPath = join78(paths.skillsDir, `${slug}.yaml`);
|
|
84367
84652
|
if (!existsSync76(finalPath))
|
|
84368
84653
|
return false;
|
|
84369
84654
|
unlinkSync14(finalPath);
|
|
@@ -84378,7 +84663,7 @@ function listSkillsOverlayEntries(agent, opts = {}) {
|
|
|
84378
84663
|
for (const name of readdirSync28(paths.skillsDir)) {
|
|
84379
84664
|
if (!/\.ya?ml$/i.test(name))
|
|
84380
84665
|
continue;
|
|
84381
|
-
const full =
|
|
84666
|
+
const full = join78(paths.skillsDir, name);
|
|
84382
84667
|
try {
|
|
84383
84668
|
const raw = readFileSync65(full, "utf-8");
|
|
84384
84669
|
const slug = name.replace(/\.ya?ml$/i, "");
|
|
@@ -84390,7 +84675,7 @@ function listSkillsOverlayEntries(agent, opts = {}) {
|
|
|
84390
84675
|
function deleteOverlayEntry(agent, slug, opts = {}) {
|
|
84391
84676
|
const paths = overlayPathsFor(agent, opts);
|
|
84392
84677
|
return withAgentLock(paths, () => {
|
|
84393
|
-
const finalPath =
|
|
84678
|
+
const finalPath = join78(paths.scheduleDir, `${slug}.yaml`);
|
|
84394
84679
|
if (!existsSync76(finalPath))
|
|
84395
84680
|
return false;
|
|
84396
84681
|
unlinkSync14(finalPath);
|
|
@@ -84405,7 +84690,7 @@ function listOverlayEntries(agent, opts = {}) {
|
|
|
84405
84690
|
for (const name of readdirSync28(paths.scheduleDir)) {
|
|
84406
84691
|
if (!/\.ya?ml$/i.test(name))
|
|
84407
84692
|
continue;
|
|
84408
|
-
const full =
|
|
84693
|
+
const full = join78(paths.scheduleDir, name);
|
|
84409
84694
|
try {
|
|
84410
84695
|
const raw = readFileSync65(full, "utf-8");
|
|
84411
84696
|
const slug = name.replace(/\.ya?ml$/i, "");
|
|
@@ -84552,25 +84837,25 @@ import {
|
|
|
84552
84837
|
closeSync as closeSync14,
|
|
84553
84838
|
existsSync as existsSync77,
|
|
84554
84839
|
fsyncSync as fsyncSync7,
|
|
84555
|
-
mkdirSync as
|
|
84840
|
+
mkdirSync as mkdirSync45,
|
|
84556
84841
|
openSync as openSync14,
|
|
84557
84842
|
readdirSync as readdirSync29,
|
|
84558
84843
|
readFileSync as readFileSync66,
|
|
84559
84844
|
renameSync as renameSync16,
|
|
84560
84845
|
unlinkSync as unlinkSync15,
|
|
84561
|
-
writeFileSync as
|
|
84846
|
+
writeFileSync as writeFileSync39,
|
|
84562
84847
|
writeSync as writeSync9
|
|
84563
84848
|
} from "node:fs";
|
|
84564
|
-
import { join as
|
|
84849
|
+
import { join as join79 } from "node:path";
|
|
84565
84850
|
import { randomBytes as randomBytes14 } from "node:crypto";
|
|
84566
84851
|
var STAGE_ID_PREFIX = "cap_";
|
|
84567
84852
|
function pendingDir(agent, opts = {}) {
|
|
84568
84853
|
const paths = overlayPathsFor(agent, opts);
|
|
84569
|
-
return
|
|
84854
|
+
return join79(paths.scheduleDir, ".pending");
|
|
84570
84855
|
}
|
|
84571
84856
|
function ensurePendingDir(agent, opts = {}) {
|
|
84572
84857
|
const dir = pendingDir(agent, opts);
|
|
84573
|
-
|
|
84858
|
+
mkdirSync45(dir, { recursive: true });
|
|
84574
84859
|
return dir;
|
|
84575
84860
|
}
|
|
84576
84861
|
function newStageId() {
|
|
@@ -84579,8 +84864,8 @@ function newStageId() {
|
|
|
84579
84864
|
function stagePendingScheduleEntry(opts) {
|
|
84580
84865
|
const dir = ensurePendingDir(opts.agent, { root: opts.root });
|
|
84581
84866
|
const stageId = opts.stageId ?? newStageId();
|
|
84582
|
-
const yamlPath =
|
|
84583
|
-
const metaPath =
|
|
84867
|
+
const yamlPath = join79(dir, `${stageId}.yaml`);
|
|
84868
|
+
const metaPath = join79(dir, `${stageId}.meta.json`);
|
|
84584
84869
|
const meta = {
|
|
84585
84870
|
v: 1,
|
|
84586
84871
|
stage_id: stageId,
|
|
@@ -84601,7 +84886,7 @@ function stagePendingScheduleEntry(opts) {
|
|
|
84601
84886
|
}
|
|
84602
84887
|
renameSync16(yamlTmp, yamlPath);
|
|
84603
84888
|
}
|
|
84604
|
-
|
|
84889
|
+
writeFileSync39(metaPath, JSON.stringify(meta, null, 2) + `
|
|
84605
84890
|
`, { mode: 384 });
|
|
84606
84891
|
return { stageId, yamlPath, metaPath };
|
|
84607
84892
|
}
|
|
@@ -84614,8 +84899,8 @@ function listPendingScheduleEntries(agent, opts = {}) {
|
|
|
84614
84899
|
if (!name.endsWith(".meta.json"))
|
|
84615
84900
|
continue;
|
|
84616
84901
|
const stageId = name.slice(0, -".meta.json".length);
|
|
84617
|
-
const metaPath =
|
|
84618
|
-
const yamlPath =
|
|
84902
|
+
const metaPath = join79(dir, name);
|
|
84903
|
+
const yamlPath = join79(dir, `${stageId}.yaml`);
|
|
84619
84904
|
if (!existsSync77(yamlPath))
|
|
84620
84905
|
continue;
|
|
84621
84906
|
try {
|
|
@@ -84634,7 +84919,7 @@ function commitPendingScheduleEntry(opts) {
|
|
|
84634
84919
|
return { committed: false, reason: "not_found" };
|
|
84635
84920
|
const slug = match.meta.entry.name ?? match.stageId;
|
|
84636
84921
|
const paths = overlayPathsFor(opts.agent, { root: opts.root });
|
|
84637
|
-
const finalPath =
|
|
84922
|
+
const finalPath = join79(paths.scheduleDir, `${slug}.yaml`);
|
|
84638
84923
|
if (existsSync77(finalPath)) {
|
|
84639
84924
|
return { committed: false, reason: "slug_collision" };
|
|
84640
84925
|
}
|
|
@@ -85267,7 +85552,7 @@ var import_yaml21 = __toESM(require_dist(), 1);
|
|
|
85267
85552
|
import { existsSync as existsSync79 } from "node:fs";
|
|
85268
85553
|
init_reconcile_default_skills();
|
|
85269
85554
|
var import_yaml22 = __toESM(require_dist(), 1);
|
|
85270
|
-
import { join as
|
|
85555
|
+
import { join as join80 } from "node:path";
|
|
85271
85556
|
var MAX_SKILLS_PER_AGENT = 20;
|
|
85272
85557
|
var V1_ALLOWED_SOURCE_PREFIX = "bundled:";
|
|
85273
85558
|
function exitCodeFor2(code) {
|
|
@@ -85342,7 +85627,7 @@ function skillInstall(opts) {
|
|
|
85342
85627
|
return err("E_SKILL_QUOTA_EXCEEDED", `agent ${agent} already has ${used} overlay-installed skills (cap ${MAX_SKILLS_PER_AGENT})`);
|
|
85343
85628
|
}
|
|
85344
85629
|
const poolDir = opts.bundledSkillsPoolDir ?? getBundledSkillsPoolDir();
|
|
85345
|
-
const skillPath =
|
|
85630
|
+
const skillPath = join80(poolDir, skillName);
|
|
85346
85631
|
if (!existsSync79(skillPath)) {
|
|
85347
85632
|
return err("E_SKILL_NOT_FOUND", `bundled skill not found at ${skillPath}. The operator needs to ` + `place the skill at this path before the agent can opt in.`);
|
|
85348
85633
|
}
|
|
@@ -85509,7 +85794,7 @@ import {
|
|
|
85509
85794
|
closeSync as closeSync15,
|
|
85510
85795
|
existsSync as existsSync80,
|
|
85511
85796
|
lstatSync as lstatSync9,
|
|
85512
|
-
mkdirSync as
|
|
85797
|
+
mkdirSync as mkdirSync46,
|
|
85513
85798
|
mkdtempSync as mkdtempSync5,
|
|
85514
85799
|
openSync as openSync15,
|
|
85515
85800
|
readFileSync as readFileSync68,
|
|
@@ -85518,10 +85803,10 @@ import {
|
|
|
85518
85803
|
renameSync as renameSync17,
|
|
85519
85804
|
rmSync as rmSync16,
|
|
85520
85805
|
statSync as statSync32,
|
|
85521
|
-
writeFileSync as
|
|
85806
|
+
writeFileSync as writeFileSync40
|
|
85522
85807
|
} from "node:fs";
|
|
85523
85808
|
import { tmpdir as tmpdir5, homedir as homedir46 } from "node:os";
|
|
85524
|
-
import { dirname as dirname24, join as
|
|
85809
|
+
import { dirname as dirname24, join as join81, relative as relative2, resolve as resolve48 } from "node:path";
|
|
85525
85810
|
import { spawnSync as spawnSync12 } from "node:child_process";
|
|
85526
85811
|
|
|
85527
85812
|
// src/cli/skill-common.ts
|
|
@@ -85715,7 +86000,7 @@ function scanForClaudeP2(content) {
|
|
|
85715
86000
|
function resolveSkillsPoolDir2(override) {
|
|
85716
86001
|
const raw = override ?? "~/.switchroom/skills";
|
|
85717
86002
|
if (raw.startsWith("~/")) {
|
|
85718
|
-
return
|
|
86003
|
+
return join81(homedir46(), raw.slice(2));
|
|
85719
86004
|
}
|
|
85720
86005
|
if (raw === "~")
|
|
85721
86006
|
return homedir46();
|
|
@@ -85754,7 +86039,7 @@ function loadFromDir(dir) {
|
|
|
85754
86039
|
const walk2 = (sub) => {
|
|
85755
86040
|
const entries = readdirSync30(sub, { withFileTypes: true });
|
|
85756
86041
|
for (const ent of entries) {
|
|
85757
|
-
const full =
|
|
86042
|
+
const full = join81(sub, ent.name);
|
|
85758
86043
|
const rel = relative2(abs, full);
|
|
85759
86044
|
if (ent.isSymbolicLink()) {
|
|
85760
86045
|
fail3(`refusing to read symlink inside --from dir: ${rel}`);
|
|
@@ -85789,7 +86074,7 @@ function loadFromTarball(tarPath) {
|
|
|
85789
86074
|
fail3(`tarball contains disallowed path: ${JSON.stringify(entry)} \u2014 ` + `refusing to extract before any file is written`);
|
|
85790
86075
|
}
|
|
85791
86076
|
}
|
|
85792
|
-
const staging = mkdtempSync5(
|
|
86077
|
+
const staging = mkdtempSync5(join81(tmpdir5(), "skill-apply-extract-"));
|
|
85793
86078
|
try {
|
|
85794
86079
|
const flags = isGz ? ["-xzf"] : ["-xf"];
|
|
85795
86080
|
const r = spawnSync12("tar", [
|
|
@@ -85875,10 +86160,10 @@ function validatePayload(name, files) {
|
|
|
85875
86160
|
errors2.push(`${path8} fails \`bash -n\` syntax check: ${(r.stderr ?? "").trim()}`);
|
|
85876
86161
|
}
|
|
85877
86162
|
} else if (PY_SCRIPT_RE2.test(path8)) {
|
|
85878
|
-
const tmp = mkdtempSync5(
|
|
85879
|
-
const tmpPy =
|
|
86163
|
+
const tmp = mkdtempSync5(join81(tmpdir5(), "skill-apply-py-"));
|
|
86164
|
+
const tmpPy = join81(tmp, "check.py");
|
|
85880
86165
|
try {
|
|
85881
|
-
|
|
86166
|
+
writeFileSync40(tmpPy, content);
|
|
85882
86167
|
const r = spawnSync12("python3", ["-m", "py_compile", tmpPy], {
|
|
85883
86168
|
encoding: "utf-8"
|
|
85884
86169
|
});
|
|
@@ -85899,7 +86184,7 @@ function diffSummary(currentDir, files) {
|
|
|
85899
86184
|
if (existsSync80(currentDir)) {
|
|
85900
86185
|
const walk2 = (sub) => {
|
|
85901
86186
|
for (const ent of readdirSync30(sub, { withFileTypes: true })) {
|
|
85902
|
-
const full =
|
|
86187
|
+
const full = join81(sub, ent.name);
|
|
85903
86188
|
const rel = relative2(currentDir, full);
|
|
85904
86189
|
if (ent.isDirectory()) {
|
|
85905
86190
|
walk2(full);
|
|
@@ -85933,9 +86218,9 @@ function diffSummary(currentDir, files) {
|
|
|
85933
86218
|
}
|
|
85934
86219
|
function writePayload(poolDir, name, files) {
|
|
85935
86220
|
if (!existsSync80(poolDir)) {
|
|
85936
|
-
|
|
86221
|
+
mkdirSync46(poolDir, { recursive: true, mode: 493 });
|
|
85937
86222
|
}
|
|
85938
|
-
const target =
|
|
86223
|
+
const target = join81(poolDir, name);
|
|
85939
86224
|
let targetIsSymlink = false;
|
|
85940
86225
|
try {
|
|
85941
86226
|
const st = lstatSync9(target);
|
|
@@ -85946,15 +86231,15 @@ function writePayload(poolDir, name, files) {
|
|
|
85946
86231
|
if (targetIsSymlink) {
|
|
85947
86232
|
fail3(`refusing to overwrite symlink at ${target}; investigate manually`);
|
|
85948
86233
|
}
|
|
85949
|
-
const staging = mkdtempSync5(
|
|
86234
|
+
const staging = mkdtempSync5(join81(poolDir, `.skill-apply-stage-${name}-`));
|
|
85950
86235
|
let oldRename = null;
|
|
85951
86236
|
try {
|
|
85952
86237
|
for (const [path8, content] of Object.entries(files)) {
|
|
85953
|
-
const full =
|
|
85954
|
-
|
|
86238
|
+
const full = join81(staging, path8);
|
|
86239
|
+
mkdirSync46(dirname24(full), { recursive: true, mode: 493 });
|
|
85955
86240
|
const fd = openSync15(full, "wx");
|
|
85956
86241
|
try {
|
|
85957
|
-
|
|
86242
|
+
writeFileSync40(fd, content);
|
|
85958
86243
|
} finally {
|
|
85959
86244
|
closeSync15(fd);
|
|
85960
86245
|
}
|
|
@@ -86028,7 +86313,7 @@ function registerSkillCommand(program3) {
|
|
|
86028
86313
|
}
|
|
86029
86314
|
const config = loadConfig();
|
|
86030
86315
|
const poolDir = resolveSkillsPoolDir2(config.switchroom?.skills_dir);
|
|
86031
|
-
const currentDir =
|
|
86316
|
+
const currentDir = join81(poolDir, name);
|
|
86032
86317
|
console.log(source_default.bold(`Skill: ${name}`) + source_default.gray(` (${Object.keys(files).length} files, ${sumBytes(files)} bytes)`));
|
|
86033
86318
|
console.log(source_default.bold("Diff vs current pool content:"));
|
|
86034
86319
|
console.log(diffSummary(currentDir, files));
|
|
@@ -86061,7 +86346,7 @@ import {
|
|
|
86061
86346
|
closeSync as closeSync16,
|
|
86062
86347
|
existsSync as existsSync81,
|
|
86063
86348
|
lstatSync as lstatSync10,
|
|
86064
|
-
mkdirSync as
|
|
86349
|
+
mkdirSync as mkdirSync47,
|
|
86065
86350
|
mkdtempSync as mkdtempSync6,
|
|
86066
86351
|
openSync as openSync16,
|
|
86067
86352
|
readFileSync as readFileSync69,
|
|
@@ -86070,9 +86355,9 @@ import {
|
|
|
86070
86355
|
rmSync as rmSync17,
|
|
86071
86356
|
statSync as statSync33,
|
|
86072
86357
|
utimesSync,
|
|
86073
|
-
writeFileSync as
|
|
86358
|
+
writeFileSync as writeFileSync41
|
|
86074
86359
|
} from "node:fs";
|
|
86075
|
-
import { dirname as dirname25, join as
|
|
86360
|
+
import { dirname as dirname25, join as join82, relative as relative3, resolve as resolve49 } from "node:path";
|
|
86076
86361
|
import { homedir as homedir47, tmpdir as tmpdir6 } from "node:os";
|
|
86077
86362
|
import { spawnSync as spawnSync13 } from "node:child_process";
|
|
86078
86363
|
init_helpers();
|
|
@@ -86083,10 +86368,10 @@ var TRASH_TTL_MS = 24 * 60 * 60 * 1000;
|
|
|
86083
86368
|
var PERSONAL_SKILLS_SUBPATH = "personal-skills";
|
|
86084
86369
|
function resolveConfigSkillsDir(agent) {
|
|
86085
86370
|
const override = process.env.SWITCHROOM_CONFIG_DIR;
|
|
86086
|
-
const candidate = override ? resolve49(override) :
|
|
86371
|
+
const candidate = override ? resolve49(override) : join82(homedir47(), ".switchroom-config");
|
|
86087
86372
|
if (!existsSync81(candidate))
|
|
86088
86373
|
return null;
|
|
86089
|
-
return
|
|
86374
|
+
return join82(candidate, "agents", agent, PERSONAL_SKILLS_SUBPATH);
|
|
86090
86375
|
}
|
|
86091
86376
|
var MIRROR_PRIOR_TTL_MS = 24 * 60 * 60 * 1000;
|
|
86092
86377
|
function sweepMirrorPriors(configSkillsRoot) {
|
|
@@ -86104,7 +86389,7 @@ function sweepMirrorPriors(configSkillsRoot) {
|
|
|
86104
86389
|
if (now - ts < MIRROR_PRIOR_TTL_MS)
|
|
86105
86390
|
continue;
|
|
86106
86391
|
try {
|
|
86107
|
-
rmSync17(
|
|
86392
|
+
rmSync17(join82(configSkillsRoot, ent), { recursive: true, force: true });
|
|
86108
86393
|
} catch {}
|
|
86109
86394
|
}
|
|
86110
86395
|
} catch {}
|
|
@@ -86113,7 +86398,7 @@ function mirrorToConfigRepo(agent, name, liveSkillDir) {
|
|
|
86113
86398
|
const configSkillsRoot = resolveConfigSkillsDir(agent);
|
|
86114
86399
|
if (!configSkillsRoot)
|
|
86115
86400
|
return;
|
|
86116
|
-
const dest =
|
|
86401
|
+
const dest = join82(configSkillsRoot, name);
|
|
86117
86402
|
try {
|
|
86118
86403
|
if (liveSkillDir !== null) {
|
|
86119
86404
|
try {
|
|
@@ -86128,31 +86413,31 @@ function mirrorToConfigRepo(agent, name, liveSkillDir) {
|
|
|
86128
86413
|
if (liveSkillDir === null) {
|
|
86129
86414
|
sweepMirrorPriors(configSkillsRoot);
|
|
86130
86415
|
if (existsSync81(dest)) {
|
|
86131
|
-
const trash =
|
|
86416
|
+
const trash = join82(configSkillsRoot, `.${name}-trash-${Date.now()}`);
|
|
86132
86417
|
renameSync18(dest, trash);
|
|
86133
86418
|
}
|
|
86134
86419
|
return;
|
|
86135
86420
|
}
|
|
86136
|
-
|
|
86421
|
+
mkdirSync47(configSkillsRoot, { recursive: true, mode: 493 });
|
|
86137
86422
|
sweepMirrorPriors(configSkillsRoot);
|
|
86138
|
-
const staging = mkdtempSync6(
|
|
86423
|
+
const staging = mkdtempSync6(join82(configSkillsRoot, `.${name}-staging-`));
|
|
86139
86424
|
const walk2 = (src, dst) => {
|
|
86140
|
-
|
|
86425
|
+
mkdirSync47(dst, { recursive: true, mode: 493 });
|
|
86141
86426
|
for (const ent of readdirSync31(src, { withFileTypes: true })) {
|
|
86142
|
-
const s =
|
|
86143
|
-
const d =
|
|
86427
|
+
const s = join82(src, ent.name);
|
|
86428
|
+
const d = join82(dst, ent.name);
|
|
86144
86429
|
if (ent.isSymbolicLink())
|
|
86145
86430
|
continue;
|
|
86146
86431
|
if (ent.isDirectory())
|
|
86147
86432
|
walk2(s, d);
|
|
86148
86433
|
else if (ent.isFile()) {
|
|
86149
|
-
|
|
86434
|
+
writeFileSync41(d, readFileSync69(s));
|
|
86150
86435
|
}
|
|
86151
86436
|
}
|
|
86152
86437
|
};
|
|
86153
86438
|
walk2(liveSkillDir, staging);
|
|
86154
86439
|
if (existsSync81(dest)) {
|
|
86155
|
-
const prior =
|
|
86440
|
+
const prior = join82(configSkillsRoot, `.${name}-prior-${Date.now()}`);
|
|
86156
86441
|
renameSync18(dest, prior);
|
|
86157
86442
|
}
|
|
86158
86443
|
renameSync18(staging, dest);
|
|
@@ -86179,13 +86464,13 @@ function resolveAgent(opts) {
|
|
|
86179
86464
|
function resolveAgentsRoot(opts) {
|
|
86180
86465
|
if (opts.root)
|
|
86181
86466
|
return resolve49(opts.root);
|
|
86182
|
-
return
|
|
86467
|
+
return join82(homedir47(), ".switchroom", "agents");
|
|
86183
86468
|
}
|
|
86184
86469
|
function personalSkillDir(agentsRoot, agent, name) {
|
|
86185
|
-
return
|
|
86470
|
+
return join82(agentsRoot, agent, ".claude", "skills", PERSONAL_PREFIX + name);
|
|
86186
86471
|
}
|
|
86187
86472
|
function trashDir(agentsRoot, agent) {
|
|
86188
|
-
return
|
|
86473
|
+
return join82(agentsRoot, agent, ".claude", TRASH_DIRNAME);
|
|
86189
86474
|
}
|
|
86190
86475
|
function readStdinSync2() {
|
|
86191
86476
|
const chunks = [];
|
|
@@ -86215,7 +86500,7 @@ function loadFromDir2(dir) {
|
|
|
86215
86500
|
const files = {};
|
|
86216
86501
|
const walk2 = (sub) => {
|
|
86217
86502
|
for (const ent of readdirSync31(sub, { withFileTypes: true })) {
|
|
86218
|
-
const full =
|
|
86503
|
+
const full = join82(sub, ent.name);
|
|
86219
86504
|
if (ent.isSymbolicLink()) {
|
|
86220
86505
|
fail4(`refusing to read symlink in --from dir: ${relative3(abs, full)}`);
|
|
86221
86506
|
}
|
|
@@ -86268,10 +86553,10 @@ function behavioralValidate(files) {
|
|
|
86268
86553
|
errors2.push(`${path8} fails \`bash -n\`: ${(r.stderr ?? "").trim()}`);
|
|
86269
86554
|
}
|
|
86270
86555
|
} else if (PY_SCRIPT_RE.test(path8)) {
|
|
86271
|
-
const tmp = mkdtempSync6(
|
|
86272
|
-
const tmpPy =
|
|
86556
|
+
const tmp = mkdtempSync6(join82(tmpdir6(), "skill-personal-py-"));
|
|
86557
|
+
const tmpPy = join82(tmp, "check.py");
|
|
86273
86558
|
try {
|
|
86274
|
-
|
|
86559
|
+
writeFileSync41(tmpPy, content);
|
|
86275
86560
|
const r = spawnSync13("python3", ["-m", "py_compile", tmpPy], {
|
|
86276
86561
|
encoding: "utf-8"
|
|
86277
86562
|
});
|
|
@@ -86293,7 +86578,7 @@ function sweepTrash(agentsRoot, agent) {
|
|
|
86293
86578
|
for (const ent of readdirSync31(trash, { withFileTypes: true })) {
|
|
86294
86579
|
if (!ent.isDirectory())
|
|
86295
86580
|
continue;
|
|
86296
|
-
const entPath =
|
|
86581
|
+
const entPath = join82(trash, ent.name);
|
|
86297
86582
|
try {
|
|
86298
86583
|
const st = statSync33(entPath);
|
|
86299
86584
|
if (now - st.mtimeMs > TRASH_TTL_MS) {
|
|
@@ -86313,16 +86598,16 @@ function writePersonalSkill(targetDir, files) {
|
|
|
86313
86598
|
if (targetIsSymlink) {
|
|
86314
86599
|
fail4(`refusing to overwrite symlink at ${targetDir}; investigate manually`);
|
|
86315
86600
|
}
|
|
86316
|
-
|
|
86317
|
-
const staging = mkdtempSync6(
|
|
86601
|
+
mkdirSync47(dirname25(targetDir), { recursive: true, mode: 493 });
|
|
86602
|
+
const staging = mkdtempSync6(join82(dirname25(targetDir), `.skill-personal-stage-`));
|
|
86318
86603
|
let oldRename = null;
|
|
86319
86604
|
try {
|
|
86320
86605
|
for (const [path8, content] of Object.entries(files)) {
|
|
86321
|
-
const full =
|
|
86322
|
-
|
|
86606
|
+
const full = join82(staging, path8);
|
|
86607
|
+
mkdirSync47(dirname25(full), { recursive: true, mode: 493 });
|
|
86323
86608
|
const fd = openSync16(full, "wx");
|
|
86324
86609
|
try {
|
|
86325
|
-
|
|
86610
|
+
writeFileSync41(fd, content);
|
|
86326
86611
|
} finally {
|
|
86327
86612
|
closeSync16(fd);
|
|
86328
86613
|
}
|
|
@@ -86451,10 +86736,10 @@ function editPersonalAction(name, opts) {
|
|
|
86451
86736
|
}
|
|
86452
86737
|
var CLONE_SOURCE_RE = /^(shared|bundled):([a-z0-9][a-z0-9_-]{0,62})$/;
|
|
86453
86738
|
function defaultSharedRoot() {
|
|
86454
|
-
return
|
|
86739
|
+
return join82(homedir47(), ".switchroom", "skills");
|
|
86455
86740
|
}
|
|
86456
86741
|
function defaultBundledRoot() {
|
|
86457
|
-
return
|
|
86742
|
+
return join82(homedir47(), ".switchroom", "skills", "_bundled");
|
|
86458
86743
|
}
|
|
86459
86744
|
function resolveCloneSource(source, opts) {
|
|
86460
86745
|
const m = CLONE_SOURCE_RE.exec(source);
|
|
@@ -86464,7 +86749,7 @@ function resolveCloneSource(source, opts) {
|
|
|
86464
86749
|
const tier = m[1];
|
|
86465
86750
|
const slug = m[2];
|
|
86466
86751
|
const root = tier === "bundled" ? opts.bundledRoot ?? defaultBundledRoot() : opts.sharedRoot ?? defaultSharedRoot();
|
|
86467
|
-
const dir =
|
|
86752
|
+
const dir = join82(root, slug);
|
|
86468
86753
|
if (!existsSync81(dir)) {
|
|
86469
86754
|
fail4(`clone source ${JSON.stringify(source)} not found at ${dir}; ` + `check \`switchroom skill search --tier ${tier}\``, 1);
|
|
86470
86755
|
}
|
|
@@ -86480,7 +86765,7 @@ function readSourceFiles(dir) {
|
|
|
86480
86765
|
const skipped = [];
|
|
86481
86766
|
const walk2 = (sub) => {
|
|
86482
86767
|
for (const ent of readdirSync31(sub, { withFileTypes: true })) {
|
|
86483
|
-
const full =
|
|
86768
|
+
const full = join82(sub, ent.name);
|
|
86484
86769
|
if (ent.isSymbolicLink()) {
|
|
86485
86770
|
continue;
|
|
86486
86771
|
}
|
|
@@ -86589,9 +86874,9 @@ function removePersonalAction(name, opts) {
|
|
|
86589
86874
|
throw err2;
|
|
86590
86875
|
}
|
|
86591
86876
|
const trashRoot = trashDir(agentsRoot, agent);
|
|
86592
|
-
|
|
86877
|
+
mkdirSync47(trashRoot, { recursive: true, mode: 493 });
|
|
86593
86878
|
const ts = Date.now();
|
|
86594
|
-
const trashTarget =
|
|
86879
|
+
const trashTarget = join82(trashRoot, `${name}-${ts}`);
|
|
86595
86880
|
renameSync18(target, trashTarget);
|
|
86596
86881
|
const now = new Date(ts);
|
|
86597
86882
|
utimesSync(trashTarget, now, now);
|
|
@@ -86610,7 +86895,7 @@ function listPersonalAction(opts) {
|
|
|
86610
86895
|
const agent = resolveAgent(opts);
|
|
86611
86896
|
const agentsRoot = resolveAgentsRoot(opts);
|
|
86612
86897
|
sweepTrash(agentsRoot, agent);
|
|
86613
|
-
const skillsDir =
|
|
86898
|
+
const skillsDir = join82(agentsRoot, agent, ".claude", "skills");
|
|
86614
86899
|
const personal = [];
|
|
86615
86900
|
if (existsSync81(skillsDir)) {
|
|
86616
86901
|
for (const ent of readdirSync31(skillsDir, { withFileTypes: true })) {
|
|
@@ -86619,7 +86904,7 @@ function listPersonalAction(opts) {
|
|
|
86619
86904
|
if (!ent.name.startsWith(PERSONAL_PREFIX))
|
|
86620
86905
|
continue;
|
|
86621
86906
|
const skillName = ent.name.slice(PERSONAL_PREFIX.length);
|
|
86622
|
-
const skillPath =
|
|
86907
|
+
const skillPath = join82(skillsDir, ent.name);
|
|
86623
86908
|
let fileCount = 0;
|
|
86624
86909
|
let totalBytes = 0;
|
|
86625
86910
|
const walk2 = (sub) => {
|
|
@@ -86627,10 +86912,10 @@ function listPersonalAction(opts) {
|
|
|
86627
86912
|
if (e.isFile()) {
|
|
86628
86913
|
fileCount += 1;
|
|
86629
86914
|
try {
|
|
86630
|
-
totalBytes += statSync33(
|
|
86915
|
+
totalBytes += statSync33(join82(sub, e.name)).size;
|
|
86631
86916
|
} catch {}
|
|
86632
86917
|
} else if (e.isDirectory()) {
|
|
86633
|
-
walk2(
|
|
86918
|
+
walk2(join82(sub, e.name));
|
|
86634
86919
|
}
|
|
86635
86920
|
}
|
|
86636
86921
|
};
|
|
@@ -86671,7 +86956,7 @@ init_helpers();
|
|
|
86671
86956
|
var import_yaml24 = __toESM(require_dist(), 1);
|
|
86672
86957
|
import { existsSync as existsSync82, readdirSync as readdirSync32, readFileSync as readFileSync70, statSync as statSync34 } from "node:fs";
|
|
86673
86958
|
import { homedir as homedir48 } from "node:os";
|
|
86674
|
-
import { join as
|
|
86959
|
+
import { join as join83, resolve as resolve50 } from "node:path";
|
|
86675
86960
|
var PERSONAL_PREFIX2 = "personal-";
|
|
86676
86961
|
var BUNDLED_SUBDIR = "_bundled";
|
|
86677
86962
|
var AGENT_NAME_RE3 = /^[a-z][a-z0-9_-]{0,62}$/;
|
|
@@ -86685,7 +86970,7 @@ function defaultBundledRoot2() {
|
|
|
86685
86970
|
return resolve50(homedir48(), ".switchroom/skills/_bundled");
|
|
86686
86971
|
}
|
|
86687
86972
|
function readSkillFrontmatter(skillDir) {
|
|
86688
|
-
const mdPath =
|
|
86973
|
+
const mdPath = join83(skillDir, "SKILL.md");
|
|
86689
86974
|
if (!existsSync82(mdPath))
|
|
86690
86975
|
return null;
|
|
86691
86976
|
let content;
|
|
@@ -86718,7 +87003,7 @@ function readSkillFrontmatter(skillDir) {
|
|
|
86718
87003
|
return { fm: parsed };
|
|
86719
87004
|
}
|
|
86720
87005
|
function statSkillMd(skillDir) {
|
|
86721
|
-
const mdPath =
|
|
87006
|
+
const mdPath = join83(skillDir, "SKILL.md");
|
|
86722
87007
|
try {
|
|
86723
87008
|
const st = statSync34(mdPath);
|
|
86724
87009
|
return { size: st.size, mtime: st.mtime.toISOString() };
|
|
@@ -86729,7 +87014,7 @@ function statSkillMd(skillDir) {
|
|
|
86729
87014
|
function listPersonalSkills(agent, agentsRoot = defaultAgentsRoot()) {
|
|
86730
87015
|
if (!AGENT_NAME_RE3.test(agent))
|
|
86731
87016
|
return [];
|
|
86732
|
-
const skillsDir =
|
|
87017
|
+
const skillsDir = join83(agentsRoot, agent, ".claude/skills");
|
|
86733
87018
|
if (!existsSync82(skillsDir))
|
|
86734
87019
|
return [];
|
|
86735
87020
|
const out = [];
|
|
@@ -86742,7 +87027,7 @@ function listPersonalSkills(agent, agentsRoot = defaultAgentsRoot()) {
|
|
|
86742
87027
|
for (const ent of entries) {
|
|
86743
87028
|
if (!ent.startsWith(PERSONAL_PREFIX2))
|
|
86744
87029
|
continue;
|
|
86745
|
-
const dirPath =
|
|
87030
|
+
const dirPath = join83(skillsDir, ent);
|
|
86746
87031
|
try {
|
|
86747
87032
|
if (!statSync34(dirPath).isDirectory())
|
|
86748
87033
|
continue;
|
|
@@ -86782,7 +87067,7 @@ function listSharedSkills(sharedRoot = defaultSharedRoot2()) {
|
|
|
86782
87067
|
continue;
|
|
86783
87068
|
if (ent.startsWith("."))
|
|
86784
87069
|
continue;
|
|
86785
|
-
const dirPath =
|
|
87070
|
+
const dirPath = join83(sharedRoot, ent);
|
|
86786
87071
|
try {
|
|
86787
87072
|
if (!statSync34(dirPath).isDirectory())
|
|
86788
87073
|
continue;
|
|
@@ -86818,7 +87103,7 @@ function listBundledSkills(bundledRoot = defaultBundledRoot2()) {
|
|
|
86818
87103
|
for (const ent of entries) {
|
|
86819
87104
|
if (ent.startsWith("."))
|
|
86820
87105
|
continue;
|
|
86821
|
-
const dirPath =
|
|
87106
|
+
const dirPath = join83(bundledRoot, ent);
|
|
86822
87107
|
try {
|
|
86823
87108
|
if (!statSync34(dirPath).isDirectory())
|
|
86824
87109
|
continue;
|
|
@@ -86962,9 +87247,9 @@ function registerHostdMcpCommand(program3) {
|
|
|
86962
87247
|
// src/cli/hostd.ts
|
|
86963
87248
|
init_source();
|
|
86964
87249
|
init_helpers();
|
|
86965
|
-
import { existsSync as existsSync84, mkdirSync as
|
|
87250
|
+
import { existsSync as existsSync84, mkdirSync as mkdirSync48, readdirSync as readdirSync33, readFileSync as readFileSync72, writeFileSync as writeFileSync42, statSync as statSync35, copyFileSync as copyFileSync12 } from "node:fs";
|
|
86966
87251
|
import { homedir as homedir49 } from "node:os";
|
|
86967
|
-
import { join as
|
|
87252
|
+
import { join as join84 } from "node:path";
|
|
86968
87253
|
import { spawnSync as spawnSync16 } from "node:child_process";
|
|
86969
87254
|
|
|
86970
87255
|
// src/cli/deploy-version-guard.ts
|
|
@@ -87127,10 +87412,10 @@ function resolveHostdHostHome(env2 = process.env, home2 = homedir49()) {
|
|
|
87127
87412
|
return resolved;
|
|
87128
87413
|
}
|
|
87129
87414
|
function hostdDir() {
|
|
87130
|
-
return
|
|
87415
|
+
return join84(homedir49(), ".switchroom", "hostd");
|
|
87131
87416
|
}
|
|
87132
87417
|
function hostdComposePath() {
|
|
87133
|
-
return
|
|
87418
|
+
return join84(hostdDir(), "docker-compose.yml");
|
|
87134
87419
|
}
|
|
87135
87420
|
function backupExistingCompose() {
|
|
87136
87421
|
const p = hostdComposePath();
|
|
@@ -87167,7 +87452,7 @@ async function doInstall(opts, program3) {
|
|
|
87167
87452
|
}
|
|
87168
87453
|
const dir = hostdDir();
|
|
87169
87454
|
const composePath = hostdComposePath();
|
|
87170
|
-
|
|
87455
|
+
mkdirSync48(dir, { recursive: true });
|
|
87171
87456
|
const imageTag = resolveHostdImageTag(opts.tag, cfg.release);
|
|
87172
87457
|
const guard = checkDowngrade({
|
|
87173
87458
|
container: "switchroom-hostd",
|
|
@@ -87192,7 +87477,7 @@ async function doInstall(opts, program3) {
|
|
|
87192
87477
|
const bak = backupExistingCompose();
|
|
87193
87478
|
if (bak)
|
|
87194
87479
|
console.log(source_default.dim(` Backed up existing compose to ${bak}`));
|
|
87195
|
-
|
|
87480
|
+
writeFileSync42(composePath, yaml, "utf8");
|
|
87196
87481
|
console.log(source_default.green(` \u2713 Wrote ${composePath}`));
|
|
87197
87482
|
const adminAgents = Object.entries(cfg.agents ?? {}).filter(([, a]) => a?.admin === true).map(([name]) => name);
|
|
87198
87483
|
console.log(source_default.dim(` agents served (one socket each): ${allAgents.length === 0 ? "(none)" : allAgents.join(", ")}`));
|
|
@@ -87250,7 +87535,7 @@ function doStatus() {
|
|
|
87250
87535
|
for (const name of readdirSync33(dir)) {
|
|
87251
87536
|
if (name === "docker-compose.yml" || name.startsWith("docker-compose.yml."))
|
|
87252
87537
|
continue;
|
|
87253
|
-
const sockPath =
|
|
87538
|
+
const sockPath = join84(dir, name, "sock");
|
|
87254
87539
|
if (existsSync84(sockPath)) {
|
|
87255
87540
|
const st = statSync35(sockPath);
|
|
87256
87541
|
if ((st.mode & 61440) === 49152) {
|
|
@@ -87341,9 +87626,9 @@ The log is created when hostd handles its first privileged-verb request.`));
|
|
|
87341
87626
|
// src/cli/webd.ts
|
|
87342
87627
|
init_source();
|
|
87343
87628
|
init_helpers();
|
|
87344
|
-
import { existsSync as existsSync85, mkdirSync as
|
|
87629
|
+
import { existsSync as existsSync85, mkdirSync as mkdirSync49, writeFileSync as writeFileSync43, copyFileSync as copyFileSync13 } from "node:fs";
|
|
87345
87630
|
import { homedir as homedir50 } from "node:os";
|
|
87346
|
-
import { join as
|
|
87631
|
+
import { join as join85 } from "node:path";
|
|
87347
87632
|
import { spawnSync as spawnSync17 } from "node:child_process";
|
|
87348
87633
|
function resolveWebImageTag(explicitTag, release) {
|
|
87349
87634
|
if (explicitTag)
|
|
@@ -87428,10 +87713,10 @@ services:
|
|
|
87428
87713
|
`;
|
|
87429
87714
|
}
|
|
87430
87715
|
function webdDir() {
|
|
87431
|
-
return
|
|
87716
|
+
return join85(homedir50(), ".switchroom", "web");
|
|
87432
87717
|
}
|
|
87433
87718
|
function webdComposePath() {
|
|
87434
|
-
return
|
|
87719
|
+
return join85(webdDir(), "docker-compose.yml");
|
|
87435
87720
|
}
|
|
87436
87721
|
function backupExistingCompose2() {
|
|
87437
87722
|
const p = webdComposePath();
|
|
@@ -87460,7 +87745,7 @@ async function doInstall2(opts, program3) {
|
|
|
87460
87745
|
}
|
|
87461
87746
|
const dir = webdDir();
|
|
87462
87747
|
const composePath = webdComposePath();
|
|
87463
|
-
|
|
87748
|
+
mkdirSync49(dir, { recursive: true });
|
|
87464
87749
|
const cfg = getConfig(program3);
|
|
87465
87750
|
const imageTag = resolveWebImageTag(opts.tag, cfg.release);
|
|
87466
87751
|
const guard = checkDowngrade({
|
|
@@ -87486,7 +87771,7 @@ async function doInstall2(opts, program3) {
|
|
|
87486
87771
|
const bak = backupExistingCompose2();
|
|
87487
87772
|
if (bak)
|
|
87488
87773
|
console.log(source_default.dim(` Backed up existing compose to ${bak}`));
|
|
87489
|
-
|
|
87774
|
+
writeFileSync43(composePath, yaml, "utf8");
|
|
87490
87775
|
console.log(source_default.green(` \u2713 Wrote ${composePath}`));
|
|
87491
87776
|
console.log(source_default.dim(` running as uid ${operatorUid} (operator), network_mode: host`));
|
|
87492
87777
|
console.log(source_default.dim(` Pulling ghcr.io/switchroom/switchroom-web:${imageTag}\u2026`));
|