switchroom 0.15.37 → 0.15.38
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 +821 -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/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,106 @@ 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 computeMcpSecretRequirements(config) {
|
|
31575
|
+
const cfg = config;
|
|
31576
|
+
const reqs = [];
|
|
31577
|
+
for (const [agent, agentConfig] of Object.entries(cfg.agents ?? {})) {
|
|
31578
|
+
if (!agentConfig)
|
|
31579
|
+
continue;
|
|
31580
|
+
const profileName = agentConfig.extends;
|
|
31581
|
+
const profileMcp = profileName != null && profileName.length > 0 ? cfg.profiles?.[profileName]?.mcp_servers ?? {} : {};
|
|
31582
|
+
const effectiveMcp = {
|
|
31583
|
+
...cfg.defaults?.mcp_servers ?? {},
|
|
31584
|
+
...profileMcp,
|
|
31585
|
+
...agentConfig.mcp_servers ?? {}
|
|
31586
|
+
};
|
|
31587
|
+
for (const [server, entry] of Object.entries(effectiveMcp)) {
|
|
31588
|
+
if (!entry || typeof entry !== "object")
|
|
31589
|
+
continue;
|
|
31590
|
+
const declared = entry.secrets;
|
|
31591
|
+
if (!Array.isArray(declared))
|
|
31592
|
+
continue;
|
|
31593
|
+
const keys = declared.filter((k) => typeof k === "string" && k.length > 0);
|
|
31594
|
+
if (keys.length === 0)
|
|
31595
|
+
continue;
|
|
31596
|
+
reqs.push({ agent, server, keys });
|
|
31597
|
+
}
|
|
31598
|
+
}
|
|
31599
|
+
return reqs;
|
|
31600
|
+
}
|
|
31601
|
+
async function runMcpSecretChecks(config, deps = {}) {
|
|
31602
|
+
const reqs = computeMcpSecretRequirements(config);
|
|
31603
|
+
if (reqs.length === 0)
|
|
31604
|
+
return [];
|
|
31605
|
+
const read = deps.vaultAclReader ?? (async () => ({
|
|
31606
|
+
kind: "unreachable",
|
|
31607
|
+
msg: "no vault reader wired"
|
|
31608
|
+
}));
|
|
31609
|
+
const aclCache = new Map;
|
|
31610
|
+
const readKey = async (key) => {
|
|
31611
|
+
const cached = aclCache.get(key);
|
|
31612
|
+
if (cached)
|
|
31613
|
+
return cached;
|
|
31614
|
+
const r = await read(key);
|
|
31615
|
+
aclCache.set(key, r);
|
|
31616
|
+
return r;
|
|
31617
|
+
};
|
|
31618
|
+
const agentsNeedingKey = new Map;
|
|
31619
|
+
for (const r of reqs) {
|
|
31620
|
+
for (const key of r.keys) {
|
|
31621
|
+
let set = agentsNeedingKey.get(key);
|
|
31622
|
+
if (!set) {
|
|
31623
|
+
set = new Set;
|
|
31624
|
+
agentsNeedingKey.set(key, set);
|
|
31625
|
+
}
|
|
31626
|
+
set.add(r.agent);
|
|
31627
|
+
}
|
|
31628
|
+
}
|
|
31629
|
+
const results = [];
|
|
31630
|
+
for (const r of reqs) {
|
|
31631
|
+
for (const key of r.keys) {
|
|
31632
|
+
const acl = await readKey(key);
|
|
31633
|
+
const name = `mcp-conn:${r.agent}:${r.server}:${key}`;
|
|
31634
|
+
const want = [...agentsNeedingKey.get(key) ?? new Set].sort();
|
|
31635
|
+
if (acl.kind === "unreachable") {
|
|
31636
|
+
results.push({
|
|
31637
|
+
name,
|
|
31638
|
+
status: "warn",
|
|
31639
|
+
detail: `vault-broker unreachable, can't verify '${key}' for MCP '${r.server}': ${acl.msg}`,
|
|
31640
|
+
fix: "Ensure the vault-broker is running and the operator socket is reachable, then re-run doctor."
|
|
31641
|
+
});
|
|
31642
|
+
continue;
|
|
31643
|
+
}
|
|
31644
|
+
if (acl.kind === "not_found") {
|
|
31645
|
+
results.push({
|
|
31646
|
+
name,
|
|
31647
|
+
status: "fail",
|
|
31648
|
+
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`,
|
|
31649
|
+
fix: `switchroom vault set ${key} --allow ${want.join(",")} (then provide the value), or remove '${r.server}' from this agent's mcp_servers.`
|
|
31650
|
+
});
|
|
31651
|
+
continue;
|
|
31652
|
+
}
|
|
31653
|
+
if (!acl.allow.includes(r.agent)) {
|
|
31654
|
+
const updated = [...new Set([...acl.allow, r.agent])].sort().join(",");
|
|
31655
|
+
results.push({
|
|
31656
|
+
name,
|
|
31657
|
+
status: "fail",
|
|
31658
|
+
detail: `agent '${r.agent}' loads MCP '${r.server}' but is NOT on the vault ACL for '${key}' \u2014 the broker will deny it at runtime`,
|
|
31659
|
+
fix: `switchroom vault set ${key} --allow ${updated} (vault set overwrites the scope \u2014 re-state the full list including '${r.agent}').`
|
|
31660
|
+
});
|
|
31661
|
+
continue;
|
|
31662
|
+
}
|
|
31663
|
+
results.push({
|
|
31664
|
+
name,
|
|
31665
|
+
status: "ok",
|
|
31666
|
+
detail: `MCP '${r.server}' \u2192 '${key}' present + ACL-allowed`
|
|
31667
|
+
});
|
|
31668
|
+
}
|
|
31669
|
+
}
|
|
31670
|
+
return results;
|
|
31671
|
+
}
|
|
31672
|
+
|
|
31573
31673
|
// src/cli/doctor-credentials-migration.ts
|
|
31574
31674
|
import {
|
|
31575
31675
|
existsSync as realExistsSync5,
|
|
@@ -33909,6 +34009,20 @@ function registerDoctorCommand(program3) {
|
|
|
33909
34009
|
console.error(`Unknown skill: ${opts.skill}. Supported: mff`);
|
|
33910
34010
|
process.exit(1);
|
|
33911
34011
|
}
|
|
34012
|
+
const vaultAclReader = async (key) => {
|
|
34013
|
+
try {
|
|
34014
|
+
const { getViaBrokerStructured: getViaBrokerStructured2 } = await Promise.resolve().then(() => (init_client(), exports_client));
|
|
34015
|
+
const result = await getViaBrokerStructured2(key);
|
|
34016
|
+
if (result.kind === "ok") {
|
|
34017
|
+
return { kind: "ok", allow: result.entry.scope?.allow ?? [] };
|
|
34018
|
+
}
|
|
34019
|
+
if (result.kind === "not_found")
|
|
34020
|
+
return { kind: "not_found" };
|
|
34021
|
+
return { kind: "unreachable", msg: result.msg };
|
|
34022
|
+
} catch (err) {
|
|
34023
|
+
return { kind: "unreachable", msg: err.message };
|
|
34024
|
+
}
|
|
34025
|
+
};
|
|
33912
34026
|
const sections = [
|
|
33913
34027
|
{ title: "Dependencies", results: checkDependencies() },
|
|
33914
34028
|
{ title: "Skills Prerequisites", results: checkSkillsPrerequisites() },
|
|
@@ -33950,25 +34064,11 @@ function registerDoctorCommand(program3) {
|
|
|
33950
34064
|
},
|
|
33951
34065
|
{
|
|
33952
34066
|
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
|
-
})
|
|
34067
|
+
results: await runNotionChecks(config, { vaultAclReader })
|
|
34068
|
+
},
|
|
34069
|
+
{
|
|
34070
|
+
title: "MCP Connections (auth)",
|
|
34071
|
+
results: await runMcpSecretChecks(config, { vaultAclReader })
|
|
33972
34072
|
},
|
|
33973
34073
|
{ title: "MFF Skill", results: await checkMff(passphrase, vaultPath, config) },
|
|
33974
34074
|
{ title: "Webkite", results: runWebkiteChecks(config) },
|
|
@@ -34091,7 +34191,7 @@ function deriveSlug(inputs, existing) {
|
|
|
34091
34191
|
return `${base}_${n}`;
|
|
34092
34192
|
}
|
|
34093
34193
|
|
|
34094
|
-
//
|
|
34194
|
+
// node_modules/.bun/boundary@2.0.0/node_modules/boundary/lib/index.js
|
|
34095
34195
|
var require_lib2 = __commonJS((exports2) => {
|
|
34096
34196
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
34097
34197
|
exports2.binarySearch = exports2.upperBound = exports2.lowerBound = exports2.compare = undefined;
|
|
@@ -34138,7 +34238,7 @@ var require_lib2 = __commonJS((exports2) => {
|
|
|
34138
34238
|
exports2.binarySearch = binarySearch;
|
|
34139
34239
|
});
|
|
34140
34240
|
|
|
34141
|
-
//
|
|
34241
|
+
// node_modules/.bun/structured-source@4.0.0/node_modules/structured-source/lib/structured-source.js
|
|
34142
34242
|
var require_structured_source = __commonJS((exports2) => {
|
|
34143
34243
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
34144
34244
|
exports2.StructuredSource = undefined;
|
|
@@ -34193,13 +34293,13 @@ var require_structured_source = __commonJS((exports2) => {
|
|
|
34193
34293
|
}
|
|
34194
34294
|
exports2.StructuredSource = StructuredSource;
|
|
34195
34295
|
});
|
|
34196
|
-
//
|
|
34296
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/SecretLintSourceCodeImpl.js
|
|
34197
34297
|
var import_structured_source;
|
|
34198
34298
|
var init_SecretLintSourceCodeImpl = __esm(() => {
|
|
34199
34299
|
import_structured_source = __toESM(require_structured_source(), 1);
|
|
34200
34300
|
});
|
|
34201
34301
|
|
|
34202
|
-
//
|
|
34302
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/helper/promise-event-emitter.js
|
|
34203
34303
|
class EventEmitter {
|
|
34204
34304
|
#listeners = new Map;
|
|
34205
34305
|
on(type, listener) {
|
|
@@ -34238,9 +34338,9 @@ class EventEmitter {
|
|
|
34238
34338
|
return Array.from(this.#listeners.get(type) ?? []);
|
|
34239
34339
|
}
|
|
34240
34340
|
}
|
|
34241
|
-
//
|
|
34341
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/RuleContext.js
|
|
34242
34342
|
var init_RuleContext = () => {};
|
|
34243
|
-
//
|
|
34343
|
+
// node_modules/.bun/@secretlint+profiler@12.2.0/node_modules/@secretlint/profiler/module/index.js
|
|
34244
34344
|
class SecretLintProfiler {
|
|
34245
34345
|
perf;
|
|
34246
34346
|
entries = [];
|
|
@@ -34297,7 +34397,7 @@ class SecretLintProfiler {
|
|
|
34297
34397
|
}
|
|
34298
34398
|
}
|
|
34299
34399
|
|
|
34300
|
-
//
|
|
34400
|
+
// node_modules/.bun/@secretlint+profiler@12.2.0/node_modules/@secretlint/profiler/module/node.js
|
|
34301
34401
|
import perf_hooks from "node:perf_hooks";
|
|
34302
34402
|
|
|
34303
34403
|
class NullPerformanceObserver {
|
|
@@ -34312,19 +34412,19 @@ var init_node = __esm(() => {
|
|
|
34312
34412
|
});
|
|
34313
34413
|
});
|
|
34314
34414
|
|
|
34315
|
-
//
|
|
34415
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/RunningEvents.js
|
|
34316
34416
|
var init_RunningEvents = __esm(() => {
|
|
34317
34417
|
init_node();
|
|
34318
34418
|
});
|
|
34319
34419
|
|
|
34320
|
-
//
|
|
34420
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/RulePresetContext.js
|
|
34321
34421
|
var init_RulePresetContext = __esm(() => {
|
|
34322
34422
|
init_RuleContext();
|
|
34323
34423
|
});
|
|
34324
|
-
//
|
|
34424
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/messages/index.js
|
|
34325
34425
|
var init_messages = () => {};
|
|
34326
34426
|
|
|
34327
|
-
//
|
|
34427
|
+
// node_modules/.bun/ms@2.1.3/node_modules/ms/index.js
|
|
34328
34428
|
var require_ms = __commonJS((exports2, module) => {
|
|
34329
34429
|
var s = 1000;
|
|
34330
34430
|
var m = s * 60;
|
|
@@ -34434,7 +34534,7 @@ var require_ms = __commonJS((exports2, module) => {
|
|
|
34434
34534
|
}
|
|
34435
34535
|
});
|
|
34436
34536
|
|
|
34437
|
-
//
|
|
34537
|
+
// node_modules/.bun/debug@4.4.3/node_modules/debug/src/common.js
|
|
34438
34538
|
var require_common = __commonJS((exports2, module) => {
|
|
34439
34539
|
function setup(env2) {
|
|
34440
34540
|
createDebug.debug = createDebug;
|
|
@@ -34609,7 +34709,7 @@ var require_common = __commonJS((exports2, module) => {
|
|
|
34609
34709
|
module.exports = setup;
|
|
34610
34710
|
});
|
|
34611
34711
|
|
|
34612
|
-
//
|
|
34712
|
+
// node_modules/.bun/debug@4.4.3/node_modules/debug/src/browser.js
|
|
34613
34713
|
var require_browser = __commonJS((exports2, module) => {
|
|
34614
34714
|
exports2.formatArgs = formatArgs;
|
|
34615
34715
|
exports2.save = save;
|
|
@@ -34769,7 +34869,7 @@ var require_browser = __commonJS((exports2, module) => {
|
|
|
34769
34869
|
};
|
|
34770
34870
|
});
|
|
34771
34871
|
|
|
34772
|
-
//
|
|
34872
|
+
// node_modules/.bun/has-flag@4.0.0/node_modules/has-flag/index.js
|
|
34773
34873
|
var require_has_flag = __commonJS((exports2, module) => {
|
|
34774
34874
|
module.exports = (flag, argv = process.argv) => {
|
|
34775
34875
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
@@ -34779,7 +34879,7 @@ var require_has_flag = __commonJS((exports2, module) => {
|
|
|
34779
34879
|
};
|
|
34780
34880
|
});
|
|
34781
34881
|
|
|
34782
|
-
//
|
|
34882
|
+
// node_modules/.bun/supports-color@7.2.0/node_modules/supports-color/index.js
|
|
34783
34883
|
var require_supports_color = __commonJS((exports2, module) => {
|
|
34784
34884
|
var os5 = __require("os");
|
|
34785
34885
|
var tty2 = __require("tty");
|
|
@@ -34878,7 +34978,7 @@ var require_supports_color = __commonJS((exports2, module) => {
|
|
|
34878
34978
|
};
|
|
34879
34979
|
});
|
|
34880
34980
|
|
|
34881
|
-
//
|
|
34981
|
+
// node_modules/.bun/debug@4.4.3/node_modules/debug/src/node.js
|
|
34882
34982
|
var require_node = __commonJS((exports2, module) => {
|
|
34883
34983
|
var tty2 = __require("tty");
|
|
34884
34984
|
var util3 = __require("util");
|
|
@@ -35049,7 +35149,7 @@ var require_node = __commonJS((exports2, module) => {
|
|
|
35049
35149
|
};
|
|
35050
35150
|
});
|
|
35051
35151
|
|
|
35052
|
-
//
|
|
35152
|
+
// node_modules/.bun/debug@4.4.3/node_modules/debug/src/index.js
|
|
35053
35153
|
var require_src = __commonJS((exports2, module) => {
|
|
35054
35154
|
if (typeof process === "undefined" || process.type === "renderer" || false || process.__nwjs) {
|
|
35055
35155
|
module.exports = require_browser();
|
|
@@ -35058,7 +35158,7 @@ var require_src = __commonJS((exports2, module) => {
|
|
|
35058
35158
|
}
|
|
35059
35159
|
});
|
|
35060
35160
|
|
|
35061
|
-
//
|
|
35161
|
+
// node_modules/.bun/@secretlint+core@12.2.0/node_modules/@secretlint/core/module/index.js
|
|
35062
35162
|
var import_debug, debug;
|
|
35063
35163
|
var init_module = __esm(() => {
|
|
35064
35164
|
init_SecretLintSourceCodeImpl();
|
|
@@ -35071,7 +35171,7 @@ var init_module = __esm(() => {
|
|
|
35071
35171
|
debug = import_debug.default("@secretlint/core");
|
|
35072
35172
|
});
|
|
35073
35173
|
|
|
35074
|
-
//
|
|
35174
|
+
// node_modules/.bun/@secretlint+secretlint-rule-preset-recommend@12.2.0/node_modules/@secretlint/secretlint-rule-preset-recommend/module/index.js
|
|
35075
35175
|
function requireLodash_uniq() {
|
|
35076
35176
|
if (hasRequiredLodash_uniq)
|
|
35077
35177
|
return lodash_uniq;
|
|
@@ -36754,7 +36854,7 @@ var init_secretlint_source = __esm(() => {
|
|
|
36754
36854
|
init_suppressor();
|
|
36755
36855
|
});
|
|
36756
36856
|
|
|
36757
|
-
//
|
|
36857
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/core.js
|
|
36758
36858
|
function $constructor(name, initializer, params) {
|
|
36759
36859
|
function init(inst, def) {
|
|
36760
36860
|
var _a;
|
|
@@ -36817,7 +36917,7 @@ var init_core = __esm(() => {
|
|
|
36817
36917
|
globalConfig = {};
|
|
36818
36918
|
});
|
|
36819
36919
|
|
|
36820
|
-
//
|
|
36920
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/util.js
|
|
36821
36921
|
var exports_util = {};
|
|
36822
36922
|
__export(exports_util, {
|
|
36823
36923
|
unwrapMessage: () => unwrapMessage,
|
|
@@ -37333,7 +37433,7 @@ var init_util2 = __esm(() => {
|
|
|
37333
37433
|
};
|
|
37334
37434
|
});
|
|
37335
37435
|
|
|
37336
|
-
//
|
|
37436
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/errors.js
|
|
37337
37437
|
function flattenError(error, mapper = (issue2) => issue2.message) {
|
|
37338
37438
|
const fieldErrors = {};
|
|
37339
37439
|
const formErrors = [];
|
|
@@ -37411,7 +37511,7 @@ var init_errors2 = __esm(() => {
|
|
|
37411
37511
|
$ZodRealError = $constructor("$ZodError", initializer, { Parent: Error });
|
|
37412
37512
|
});
|
|
37413
37513
|
|
|
37414
|
-
//
|
|
37514
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/parse.js
|
|
37415
37515
|
var _parse = (_Err) => (schema, value, _ctx, _params) => {
|
|
37416
37516
|
const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
|
|
37417
37517
|
const result = schema._zod.run({ value, issues: [] }, ctx);
|
|
@@ -37463,7 +37563,7 @@ var init_parse = __esm(() => {
|
|
|
37463
37563
|
safeParseAsync = /* @__PURE__ */ _safeParseAsync($ZodRealError);
|
|
37464
37564
|
});
|
|
37465
37565
|
|
|
37466
|
-
//
|
|
37566
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/regexes.js
|
|
37467
37567
|
function emoji() {
|
|
37468
37568
|
return new RegExp(_emoji, "u");
|
|
37469
37569
|
}
|
|
@@ -37520,7 +37620,7 @@ var init_regexes = __esm(() => {
|
|
|
37520
37620
|
uppercase = /^[^a-z]*$/;
|
|
37521
37621
|
});
|
|
37522
37622
|
|
|
37523
|
-
//
|
|
37623
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/checks.js
|
|
37524
37624
|
var $ZodCheck, numericOriginMap, $ZodCheckLessThan, $ZodCheckGreaterThan, $ZodCheckMultipleOf, $ZodCheckNumberFormat, $ZodCheckMaxLength, $ZodCheckMinLength, $ZodCheckLengthEquals, $ZodCheckStringFormat, $ZodCheckRegex, $ZodCheckLowerCase, $ZodCheckUpperCase, $ZodCheckIncludes, $ZodCheckStartsWith, $ZodCheckEndsWith, $ZodCheckOverwrite;
|
|
37525
37625
|
var init_checks = __esm(() => {
|
|
37526
37626
|
init_core();
|
|
@@ -37910,7 +38010,7 @@ var init_checks = __esm(() => {
|
|
|
37910
38010
|
});
|
|
37911
38011
|
});
|
|
37912
38012
|
|
|
37913
|
-
//
|
|
38013
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/doc.js
|
|
37914
38014
|
class Doc {
|
|
37915
38015
|
constructor(args = []) {
|
|
37916
38016
|
this.content = [];
|
|
@@ -37948,7 +38048,7 @@ class Doc {
|
|
|
37948
38048
|
}
|
|
37949
38049
|
}
|
|
37950
38050
|
|
|
37951
|
-
//
|
|
38051
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/versions.js
|
|
37952
38052
|
var version2;
|
|
37953
38053
|
var init_versions = __esm(() => {
|
|
37954
38054
|
version2 = {
|
|
@@ -37958,7 +38058,7 @@ var init_versions = __esm(() => {
|
|
|
37958
38058
|
};
|
|
37959
38059
|
});
|
|
37960
38060
|
|
|
37961
|
-
//
|
|
38061
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/schemas.js
|
|
37962
38062
|
function isValidBase64(data) {
|
|
37963
38063
|
if (data === "")
|
|
37964
38064
|
return true;
|
|
@@ -39200,7 +39300,7 @@ var init_schemas = __esm(() => {
|
|
|
39200
39300
|
});
|
|
39201
39301
|
});
|
|
39202
39302
|
|
|
39203
|
-
//
|
|
39303
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/locales/en.js
|
|
39204
39304
|
function en_default2() {
|
|
39205
39305
|
return {
|
|
39206
39306
|
localeError: error()
|
|
@@ -39320,10 +39420,10 @@ var init_en2 = __esm(() => {
|
|
|
39320
39420
|
init_util2();
|
|
39321
39421
|
});
|
|
39322
39422
|
|
|
39323
|
-
//
|
|
39423
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/locales/index.js
|
|
39324
39424
|
var init_locales = () => {};
|
|
39325
39425
|
|
|
39326
|
-
//
|
|
39426
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/registries.js
|
|
39327
39427
|
class $ZodRegistry {
|
|
39328
39428
|
constructor() {
|
|
39329
39429
|
this._map = new Map;
|
|
@@ -39376,7 +39476,7 @@ var init_registries = __esm(() => {
|
|
|
39376
39476
|
globalRegistry = /* @__PURE__ */ registry();
|
|
39377
39477
|
});
|
|
39378
39478
|
|
|
39379
|
-
//
|
|
39479
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/api.js
|
|
39380
39480
|
function _string(Class2, params) {
|
|
39381
39481
|
return new Class2({
|
|
39382
39482
|
type: "string",
|
|
@@ -39816,16 +39916,16 @@ var init_api = __esm(() => {
|
|
|
39816
39916
|
init_util2();
|
|
39817
39917
|
});
|
|
39818
39918
|
|
|
39819
|
-
//
|
|
39919
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/function.js
|
|
39820
39920
|
var init_function = () => {};
|
|
39821
39921
|
|
|
39822
|
-
//
|
|
39922
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/to-json-schema.js
|
|
39823
39923
|
var init_to_json_schema = () => {};
|
|
39824
39924
|
|
|
39825
|
-
//
|
|
39925
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/json-schema.js
|
|
39826
39926
|
var init_json_schema = () => {};
|
|
39827
39927
|
|
|
39828
|
-
//
|
|
39928
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/index.js
|
|
39829
39929
|
var init_core2 = __esm(() => {
|
|
39830
39930
|
init_util2();
|
|
39831
39931
|
init_regexes();
|
|
@@ -39843,24 +39943,24 @@ var init_core2 = __esm(() => {
|
|
|
39843
39943
|
init_to_json_schema();
|
|
39844
39944
|
});
|
|
39845
39945
|
|
|
39846
|
-
//
|
|
39946
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/parse.js
|
|
39847
39947
|
var init_parse2 = __esm(() => {
|
|
39848
39948
|
init_core2();
|
|
39849
39949
|
});
|
|
39850
39950
|
|
|
39851
|
-
//
|
|
39951
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/schemas.js
|
|
39852
39952
|
var init_schemas2 = () => {};
|
|
39853
39953
|
|
|
39854
|
-
//
|
|
39954
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/checks.js
|
|
39855
39955
|
var init_checks2 = () => {};
|
|
39856
39956
|
|
|
39857
|
-
//
|
|
39957
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/iso.js
|
|
39858
39958
|
var init_iso = () => {};
|
|
39859
39959
|
|
|
39860
|
-
//
|
|
39960
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/coerce.js
|
|
39861
39961
|
var init_coerce = () => {};
|
|
39862
39962
|
|
|
39863
|
-
//
|
|
39963
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/external.js
|
|
39864
39964
|
var init_external2 = __esm(() => {
|
|
39865
39965
|
init_core2();
|
|
39866
39966
|
init_locales();
|
|
@@ -39871,17 +39971,17 @@ var init_external2 = __esm(() => {
|
|
|
39871
39971
|
init_checks2();
|
|
39872
39972
|
});
|
|
39873
39973
|
|
|
39874
|
-
//
|
|
39974
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/index.js
|
|
39875
39975
|
var init_mini = __esm(() => {
|
|
39876
39976
|
init_external2();
|
|
39877
39977
|
});
|
|
39878
39978
|
|
|
39879
|
-
//
|
|
39979
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4-mini/index.js
|
|
39880
39980
|
var init_v4_mini = __esm(() => {
|
|
39881
39981
|
init_mini();
|
|
39882
39982
|
});
|
|
39883
39983
|
|
|
39884
|
-
//
|
|
39984
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
|
|
39885
39985
|
function isZ4Schema(s) {
|
|
39886
39986
|
const schema = s;
|
|
39887
39987
|
return !!schema._zod;
|
|
@@ -39947,12 +40047,12 @@ var init_zod_compat = __esm(() => {
|
|
|
39947
40047
|
init_v4_mini();
|
|
39948
40048
|
});
|
|
39949
40049
|
|
|
39950
|
-
//
|
|
40050
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/checks.js
|
|
39951
40051
|
var init_checks3 = __esm(() => {
|
|
39952
40052
|
init_core2();
|
|
39953
40053
|
});
|
|
39954
40054
|
|
|
39955
|
-
//
|
|
40055
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/iso.js
|
|
39956
40056
|
var exports_iso2 = {};
|
|
39957
40057
|
__export(exports_iso2, {
|
|
39958
40058
|
time: () => time2,
|
|
@@ -39998,7 +40098,7 @@ var init_iso2 = __esm(() => {
|
|
|
39998
40098
|
});
|
|
39999
40099
|
});
|
|
40000
40100
|
|
|
40001
|
-
//
|
|
40101
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/errors.js
|
|
40002
40102
|
var initializer2 = (inst, issues) => {
|
|
40003
40103
|
$ZodError.init(inst, issues);
|
|
40004
40104
|
inst.name = "ZodError";
|
|
@@ -40031,7 +40131,7 @@ var init_errors3 = __esm(() => {
|
|
|
40031
40131
|
});
|
|
40032
40132
|
});
|
|
40033
40133
|
|
|
40034
|
-
//
|
|
40134
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/parse.js
|
|
40035
40135
|
var parse4, parseAsync2, safeParse3, safeParseAsync2;
|
|
40036
40136
|
var init_parse3 = __esm(() => {
|
|
40037
40137
|
init_core2();
|
|
@@ -40042,7 +40142,7 @@ var init_parse3 = __esm(() => {
|
|
|
40042
40142
|
safeParseAsync2 = /* @__PURE__ */ _safeParseAsync(ZodRealError);
|
|
40043
40143
|
});
|
|
40044
40144
|
|
|
40045
|
-
//
|
|
40145
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/schemas.js
|
|
40046
40146
|
function string2(params) {
|
|
40047
40147
|
return _string(ZodString2, params);
|
|
40048
40148
|
}
|
|
@@ -40656,13 +40756,13 @@ var init_schemas3 = __esm(() => {
|
|
|
40656
40756
|
});
|
|
40657
40757
|
});
|
|
40658
40758
|
|
|
40659
|
-
//
|
|
40759
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/compat.js
|
|
40660
40760
|
var init_compat = () => {};
|
|
40661
40761
|
|
|
40662
|
-
//
|
|
40762
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/coerce.js
|
|
40663
40763
|
var init_coerce2 = () => {};
|
|
40664
40764
|
|
|
40665
|
-
//
|
|
40765
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/external.js
|
|
40666
40766
|
var init_external3 = __esm(() => {
|
|
40667
40767
|
init_core2();
|
|
40668
40768
|
init_core2();
|
|
@@ -40678,17 +40778,17 @@ var init_external3 = __esm(() => {
|
|
|
40678
40778
|
config(en_default2());
|
|
40679
40779
|
});
|
|
40680
40780
|
|
|
40681
|
-
//
|
|
40781
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/index.js
|
|
40682
40782
|
var init_classic = __esm(() => {
|
|
40683
40783
|
init_external3();
|
|
40684
40784
|
});
|
|
40685
40785
|
|
|
40686
|
-
//
|
|
40786
|
+
// node_modules/.bun/zod@3.25.76/node_modules/zod/v4/index.js
|
|
40687
40787
|
var init_v4 = __esm(() => {
|
|
40688
40788
|
init_classic();
|
|
40689
40789
|
});
|
|
40690
40790
|
|
|
40691
|
-
//
|
|
40791
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
|
|
40692
40792
|
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
40793
|
var init_types2 = __esm(() => {
|
|
40694
40794
|
init_v4();
|
|
@@ -41516,65 +41616,65 @@ var init_types2 = __esm(() => {
|
|
|
41516
41616
|
};
|
|
41517
41617
|
});
|
|
41518
41618
|
|
|
41519
|
-
//
|
|
41619
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
|
|
41520
41620
|
function isTerminal(status) {
|
|
41521
41621
|
return status === "completed" || status === "failed" || status === "cancelled";
|
|
41522
41622
|
}
|
|
41523
41623
|
|
|
41524
|
-
//
|
|
41624
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/Options.js
|
|
41525
41625
|
var ignoreOverride;
|
|
41526
41626
|
var init_Options = __esm(() => {
|
|
41527
41627
|
ignoreOverride = Symbol("Let zodToJsonSchema decide on which parser to use");
|
|
41528
41628
|
});
|
|
41529
41629
|
|
|
41530
|
-
//
|
|
41630
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/Refs.js
|
|
41531
41631
|
var init_Refs = __esm(() => {
|
|
41532
41632
|
init_Options();
|
|
41533
41633
|
});
|
|
41534
|
-
//
|
|
41634
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/any.js
|
|
41535
41635
|
var init_any = () => {};
|
|
41536
41636
|
|
|
41537
|
-
//
|
|
41637
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/array.js
|
|
41538
41638
|
var init_array = __esm(() => {
|
|
41539
41639
|
init_parseDef();
|
|
41540
41640
|
});
|
|
41541
41641
|
|
|
41542
|
-
//
|
|
41642
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js
|
|
41543
41643
|
var init_bigint = () => {};
|
|
41544
|
-
//
|
|
41644
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js
|
|
41545
41645
|
var init_branded = __esm(() => {
|
|
41546
41646
|
init_parseDef();
|
|
41547
41647
|
});
|
|
41548
41648
|
|
|
41549
|
-
//
|
|
41649
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js
|
|
41550
41650
|
var init_catch = __esm(() => {
|
|
41551
41651
|
init_parseDef();
|
|
41552
41652
|
});
|
|
41553
41653
|
|
|
41554
|
-
//
|
|
41654
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/date.js
|
|
41555
41655
|
var init_date = () => {};
|
|
41556
41656
|
|
|
41557
|
-
//
|
|
41657
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/default.js
|
|
41558
41658
|
var init_default = __esm(() => {
|
|
41559
41659
|
init_parseDef();
|
|
41560
41660
|
});
|
|
41561
41661
|
|
|
41562
|
-
//
|
|
41662
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js
|
|
41563
41663
|
var init_effects = __esm(() => {
|
|
41564
41664
|
init_parseDef();
|
|
41565
41665
|
init_any();
|
|
41566
41666
|
});
|
|
41567
|
-
//
|
|
41667
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
|
|
41568
41668
|
var init_intersection = __esm(() => {
|
|
41569
41669
|
init_parseDef();
|
|
41570
41670
|
});
|
|
41571
|
-
//
|
|
41671
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/string.js
|
|
41572
41672
|
var ALPHA_NUMERIC;
|
|
41573
41673
|
var init_string = __esm(() => {
|
|
41574
41674
|
ALPHA_NUMERIC = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");
|
|
41575
41675
|
});
|
|
41576
41676
|
|
|
41577
|
-
//
|
|
41677
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/record.js
|
|
41578
41678
|
var init_record = __esm(() => {
|
|
41579
41679
|
init_parseDef();
|
|
41580
41680
|
init_string();
|
|
@@ -41582,77 +41682,77 @@ var init_record = __esm(() => {
|
|
|
41582
41682
|
init_any();
|
|
41583
41683
|
});
|
|
41584
41684
|
|
|
41585
|
-
//
|
|
41685
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/map.js
|
|
41586
41686
|
var init_map = __esm(() => {
|
|
41587
41687
|
init_parseDef();
|
|
41588
41688
|
init_record();
|
|
41589
41689
|
init_any();
|
|
41590
41690
|
});
|
|
41591
|
-
//
|
|
41691
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/never.js
|
|
41592
41692
|
var init_never = __esm(() => {
|
|
41593
41693
|
init_any();
|
|
41594
41694
|
});
|
|
41595
|
-
//
|
|
41695
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/union.js
|
|
41596
41696
|
var init_union = __esm(() => {
|
|
41597
41697
|
init_parseDef();
|
|
41598
41698
|
});
|
|
41599
41699
|
|
|
41600
|
-
//
|
|
41700
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js
|
|
41601
41701
|
var init_nullable = __esm(() => {
|
|
41602
41702
|
init_parseDef();
|
|
41603
41703
|
init_union();
|
|
41604
41704
|
});
|
|
41605
41705
|
|
|
41606
|
-
//
|
|
41706
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/number.js
|
|
41607
41707
|
var init_number = () => {};
|
|
41608
41708
|
|
|
41609
|
-
//
|
|
41709
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/object.js
|
|
41610
41710
|
var init_object = __esm(() => {
|
|
41611
41711
|
init_parseDef();
|
|
41612
41712
|
});
|
|
41613
41713
|
|
|
41614
|
-
//
|
|
41714
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js
|
|
41615
41715
|
var init_optional = __esm(() => {
|
|
41616
41716
|
init_parseDef();
|
|
41617
41717
|
init_any();
|
|
41618
41718
|
});
|
|
41619
41719
|
|
|
41620
|
-
//
|
|
41720
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js
|
|
41621
41721
|
var init_pipeline = __esm(() => {
|
|
41622
41722
|
init_parseDef();
|
|
41623
41723
|
});
|
|
41624
41724
|
|
|
41625
|
-
//
|
|
41725
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js
|
|
41626
41726
|
var init_promise = __esm(() => {
|
|
41627
41727
|
init_parseDef();
|
|
41628
41728
|
});
|
|
41629
41729
|
|
|
41630
|
-
//
|
|
41730
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/set.js
|
|
41631
41731
|
var init_set = __esm(() => {
|
|
41632
41732
|
init_parseDef();
|
|
41633
41733
|
});
|
|
41634
41734
|
|
|
41635
|
-
//
|
|
41735
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js
|
|
41636
41736
|
var init_tuple = __esm(() => {
|
|
41637
41737
|
init_parseDef();
|
|
41638
41738
|
});
|
|
41639
41739
|
|
|
41640
|
-
//
|
|
41740
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js
|
|
41641
41741
|
var init_undefined = __esm(() => {
|
|
41642
41742
|
init_any();
|
|
41643
41743
|
});
|
|
41644
41744
|
|
|
41645
|
-
//
|
|
41745
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js
|
|
41646
41746
|
var init_unknown = __esm(() => {
|
|
41647
41747
|
init_any();
|
|
41648
41748
|
});
|
|
41649
41749
|
|
|
41650
|
-
//
|
|
41750
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js
|
|
41651
41751
|
var init_readonly = __esm(() => {
|
|
41652
41752
|
init_parseDef();
|
|
41653
41753
|
});
|
|
41654
41754
|
|
|
41655
|
-
//
|
|
41755
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/selectParser.js
|
|
41656
41756
|
var init_selectParser = __esm(() => {
|
|
41657
41757
|
init_any();
|
|
41658
41758
|
init_array();
|
|
@@ -41681,24 +41781,24 @@ var init_selectParser = __esm(() => {
|
|
|
41681
41781
|
init_readonly();
|
|
41682
41782
|
});
|
|
41683
41783
|
|
|
41684
|
-
//
|
|
41784
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parseDef.js
|
|
41685
41785
|
var init_parseDef = __esm(() => {
|
|
41686
41786
|
init_Options();
|
|
41687
41787
|
init_selectParser();
|
|
41688
41788
|
init_any();
|
|
41689
41789
|
});
|
|
41690
41790
|
|
|
41691
|
-
//
|
|
41791
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parseTypes.js
|
|
41692
41792
|
var init_parseTypes = () => {};
|
|
41693
41793
|
|
|
41694
|
-
//
|
|
41794
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js
|
|
41695
41795
|
var init_zodToJsonSchema = __esm(() => {
|
|
41696
41796
|
init_parseDef();
|
|
41697
41797
|
init_Refs();
|
|
41698
41798
|
init_any();
|
|
41699
41799
|
});
|
|
41700
41800
|
|
|
41701
|
-
//
|
|
41801
|
+
// node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/index.js
|
|
41702
41802
|
var init_esm = __esm(() => {
|
|
41703
41803
|
init_zodToJsonSchema();
|
|
41704
41804
|
init_Options();
|
|
@@ -41734,7 +41834,7 @@ var init_esm = __esm(() => {
|
|
|
41734
41834
|
init_zodToJsonSchema();
|
|
41735
41835
|
});
|
|
41736
41836
|
|
|
41737
|
-
//
|
|
41837
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
|
|
41738
41838
|
function getMethodLiteral(schema) {
|
|
41739
41839
|
const shape = getObjectShape(schema);
|
|
41740
41840
|
const methodSchema = shape?.method;
|
|
@@ -41759,7 +41859,7 @@ var init_zod_json_schema_compat = __esm(() => {
|
|
|
41759
41859
|
init_esm();
|
|
41760
41860
|
});
|
|
41761
41861
|
|
|
41762
|
-
//
|
|
41862
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js
|
|
41763
41863
|
class Protocol {
|
|
41764
41864
|
constructor(_options) {
|
|
41765
41865
|
this._options = _options;
|
|
@@ -42604,7 +42704,7 @@ var init_protocol4 = __esm(() => {
|
|
|
42604
42704
|
init_zod_json_schema_compat();
|
|
42605
42705
|
});
|
|
42606
42706
|
|
|
42607
|
-
//
|
|
42707
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js
|
|
42608
42708
|
var require_code = __commonJS((exports2) => {
|
|
42609
42709
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
42610
42710
|
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 +42858,7 @@ var require_code = __commonJS((exports2) => {
|
|
|
42758
42858
|
exports2.regexpCode = regexpCode;
|
|
42759
42859
|
});
|
|
42760
42860
|
|
|
42761
|
-
//
|
|
42861
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js
|
|
42762
42862
|
var require_scope = __commonJS((exports2) => {
|
|
42763
42863
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
42764
42864
|
exports2.ValueScope = exports2.ValueScopeName = exports2.Scope = exports2.varKinds = exports2.UsedValueState = undefined;
|
|
@@ -42904,7 +43004,7 @@ var require_scope = __commonJS((exports2) => {
|
|
|
42904
43004
|
exports2.ValueScope = ValueScope;
|
|
42905
43005
|
});
|
|
42906
43006
|
|
|
42907
|
-
//
|
|
43007
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js
|
|
42908
43008
|
var require_codegen = __commonJS((exports2) => {
|
|
42909
43009
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
42910
43010
|
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 +43714,7 @@ var require_codegen = __commonJS((exports2) => {
|
|
|
43614
43714
|
}
|
|
43615
43715
|
});
|
|
43616
43716
|
|
|
43617
|
-
//
|
|
43717
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/util.js
|
|
43618
43718
|
var require_util2 = __commonJS((exports2) => {
|
|
43619
43719
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43620
43720
|
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 +43878,7 @@ var require_util2 = __commonJS((exports2) => {
|
|
|
43778
43878
|
exports2.checkStrictMode = checkStrictMode;
|
|
43779
43879
|
});
|
|
43780
43880
|
|
|
43781
|
-
//
|
|
43881
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/names.js
|
|
43782
43882
|
var require_names = __commonJS((exports2) => {
|
|
43783
43883
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43784
43884
|
var codegen_1 = require_codegen();
|
|
@@ -43803,7 +43903,7 @@ var require_names = __commonJS((exports2) => {
|
|
|
43803
43903
|
exports2.default = names;
|
|
43804
43904
|
});
|
|
43805
43905
|
|
|
43806
|
-
//
|
|
43906
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js
|
|
43807
43907
|
var require_errors2 = __commonJS((exports2) => {
|
|
43808
43908
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43809
43909
|
exports2.extendErrors = exports2.resetErrorsCount = exports2.reportExtraError = exports2.reportError = exports2.keyword$DataError = exports2.keywordError = undefined;
|
|
@@ -43921,7 +44021,7 @@ var require_errors2 = __commonJS((exports2) => {
|
|
|
43921
44021
|
}
|
|
43922
44022
|
});
|
|
43923
44023
|
|
|
43924
|
-
//
|
|
44024
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js
|
|
43925
44025
|
var require_boolSchema = __commonJS((exports2) => {
|
|
43926
44026
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43927
44027
|
exports2.boolOrEmptySchema = exports2.topBoolOrEmptySchema = undefined;
|
|
@@ -43969,7 +44069,7 @@ var require_boolSchema = __commonJS((exports2) => {
|
|
|
43969
44069
|
}
|
|
43970
44070
|
});
|
|
43971
44071
|
|
|
43972
|
-
//
|
|
44072
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js
|
|
43973
44073
|
var require_rules = __commonJS((exports2) => {
|
|
43974
44074
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
43975
44075
|
exports2.getRules = exports2.isJSONType = undefined;
|
|
@@ -43997,7 +44097,7 @@ var require_rules = __commonJS((exports2) => {
|
|
|
43997
44097
|
exports2.getRules = getRules;
|
|
43998
44098
|
});
|
|
43999
44099
|
|
|
44000
|
-
//
|
|
44100
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js
|
|
44001
44101
|
var require_applicability = __commonJS((exports2) => {
|
|
44002
44102
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44003
44103
|
exports2.shouldUseRule = exports2.shouldUseGroup = exports2.schemaHasRulesForType = undefined;
|
|
@@ -44017,7 +44117,7 @@ var require_applicability = __commonJS((exports2) => {
|
|
|
44017
44117
|
exports2.shouldUseRule = shouldUseRule;
|
|
44018
44118
|
});
|
|
44019
44119
|
|
|
44020
|
-
//
|
|
44120
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js
|
|
44021
44121
|
var require_dataType = __commonJS((exports2) => {
|
|
44022
44122
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44023
44123
|
exports2.reportTypeError = exports2.checkDataTypes = exports2.checkDataType = exports2.coerceAndCheckDataType = exports2.getJSONTypes = exports2.getSchemaTypes = exports2.DataType = undefined;
|
|
@@ -44198,7 +44298,7 @@ var require_dataType = __commonJS((exports2) => {
|
|
|
44198
44298
|
}
|
|
44199
44299
|
});
|
|
44200
44300
|
|
|
44201
|
-
//
|
|
44301
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js
|
|
44202
44302
|
var require_defaults = __commonJS((exports2) => {
|
|
44203
44303
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44204
44304
|
exports2.assignDefaults = undefined;
|
|
@@ -44232,7 +44332,7 @@ var require_defaults = __commonJS((exports2) => {
|
|
|
44232
44332
|
}
|
|
44233
44333
|
});
|
|
44234
44334
|
|
|
44235
|
-
//
|
|
44335
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js
|
|
44236
44336
|
var require_code2 = __commonJS((exports2) => {
|
|
44237
44337
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44238
44338
|
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 +44461,7 @@ var require_code2 = __commonJS((exports2) => {
|
|
|
44361
44461
|
exports2.validateUnion = validateUnion;
|
|
44362
44462
|
});
|
|
44363
44463
|
|
|
44364
|
-
//
|
|
44464
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js
|
|
44365
44465
|
var require_keyword = __commonJS((exports2) => {
|
|
44366
44466
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44367
44467
|
exports2.validateKeywordUsage = exports2.validSchemaType = exports2.funcKeywordCode = exports2.macroKeywordCode = undefined;
|
|
@@ -44476,7 +44576,7 @@ var require_keyword = __commonJS((exports2) => {
|
|
|
44476
44576
|
exports2.validateKeywordUsage = validateKeywordUsage;
|
|
44477
44577
|
});
|
|
44478
44578
|
|
|
44479
|
-
//
|
|
44579
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js
|
|
44480
44580
|
var require_subschema = __commonJS((exports2) => {
|
|
44481
44581
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44482
44582
|
exports2.extendSubschemaMode = exports2.extendSubschemaData = exports2.getSubschema = undefined;
|
|
@@ -44556,7 +44656,7 @@ var require_subschema = __commonJS((exports2) => {
|
|
|
44556
44656
|
exports2.extendSubschemaMode = extendSubschemaMode;
|
|
44557
44657
|
});
|
|
44558
44658
|
|
|
44559
|
-
//
|
|
44659
|
+
// node_modules/.bun/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js
|
|
44560
44660
|
var require_fast_deep_equal = __commonJS((exports2, module) => {
|
|
44561
44661
|
module.exports = function equal(a, b) {
|
|
44562
44662
|
if (a === b)
|
|
@@ -44598,7 +44698,7 @@ var require_fast_deep_equal = __commonJS((exports2, module) => {
|
|
|
44598
44698
|
};
|
|
44599
44699
|
});
|
|
44600
44700
|
|
|
44601
|
-
//
|
|
44701
|
+
// node_modules/.bun/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js
|
|
44602
44702
|
var require_json_schema_traverse = __commonJS((exports2, module) => {
|
|
44603
44703
|
var traverse = module.exports = function(schema, opts, cb) {
|
|
44604
44704
|
if (typeof opts == "function") {
|
|
@@ -44681,7 +44781,7 @@ var require_json_schema_traverse = __commonJS((exports2, module) => {
|
|
|
44681
44781
|
}
|
|
44682
44782
|
});
|
|
44683
44783
|
|
|
44684
|
-
//
|
|
44784
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js
|
|
44685
44785
|
var require_resolve = __commonJS((exports2) => {
|
|
44686
44786
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44687
44787
|
exports2.getSchemaRefs = exports2.resolveUrl = exports2.normalizeId = exports2._getFullPath = exports2.getFullPath = exports2.inlineRef = undefined;
|
|
@@ -44834,7 +44934,7 @@ var require_resolve = __commonJS((exports2) => {
|
|
|
44834
44934
|
exports2.getSchemaRefs = getSchemaRefs;
|
|
44835
44935
|
});
|
|
44836
44936
|
|
|
44837
|
-
//
|
|
44937
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js
|
|
44838
44938
|
var require_validate = __commonJS((exports2) => {
|
|
44839
44939
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
44840
44940
|
exports2.getData = exports2.KeywordCxt = exports2.validateFunctionCode = undefined;
|
|
@@ -45339,7 +45439,7 @@ var require_validate = __commonJS((exports2) => {
|
|
|
45339
45439
|
exports2.getData = getData;
|
|
45340
45440
|
});
|
|
45341
45441
|
|
|
45342
|
-
//
|
|
45442
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js
|
|
45343
45443
|
var require_validation_error = __commonJS((exports2) => {
|
|
45344
45444
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
45345
45445
|
|
|
@@ -45353,7 +45453,7 @@ var require_validation_error = __commonJS((exports2) => {
|
|
|
45353
45453
|
exports2.default = ValidationError;
|
|
45354
45454
|
});
|
|
45355
45455
|
|
|
45356
|
-
//
|
|
45456
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js
|
|
45357
45457
|
var require_ref_error = __commonJS((exports2) => {
|
|
45358
45458
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
45359
45459
|
var resolve_1 = require_resolve();
|
|
@@ -45368,7 +45468,7 @@ var require_ref_error = __commonJS((exports2) => {
|
|
|
45368
45468
|
exports2.default = MissingRefError;
|
|
45369
45469
|
});
|
|
45370
45470
|
|
|
45371
|
-
//
|
|
45471
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/index.js
|
|
45372
45472
|
var require_compile = __commonJS((exports2) => {
|
|
45373
45473
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
45374
45474
|
exports2.resolveSchema = exports2.getCompilingSchema = exports2.resolveRef = exports2.compileSchema = exports2.SchemaEnv = undefined;
|
|
@@ -45589,7 +45689,7 @@ var require_compile = __commonJS((exports2) => {
|
|
|
45589
45689
|
}
|
|
45590
45690
|
});
|
|
45591
45691
|
|
|
45592
|
-
//
|
|
45692
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/data.json
|
|
45593
45693
|
var require_data = __commonJS((exports2, module) => {
|
|
45594
45694
|
module.exports = {
|
|
45595
45695
|
$id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
|
|
@@ -45606,7 +45706,7 @@ var require_data = __commonJS((exports2, module) => {
|
|
|
45606
45706
|
};
|
|
45607
45707
|
});
|
|
45608
45708
|
|
|
45609
|
-
//
|
|
45709
|
+
// node_modules/.bun/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js
|
|
45610
45710
|
var require_utils2 = __commonJS((exports2, module) => {
|
|
45611
45711
|
var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
|
|
45612
45712
|
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 +45961,7 @@ var require_utils2 = __commonJS((exports2, module) => {
|
|
|
45861
45961
|
};
|
|
45862
45962
|
});
|
|
45863
45963
|
|
|
45864
|
-
//
|
|
45964
|
+
// node_modules/.bun/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js
|
|
45865
45965
|
var require_schemes = __commonJS((exports2, module) => {
|
|
45866
45966
|
var { isUUID } = require_utils2();
|
|
45867
45967
|
var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
|
|
@@ -46035,7 +46135,7 @@ var require_schemes = __commonJS((exports2, module) => {
|
|
|
46035
46135
|
};
|
|
46036
46136
|
});
|
|
46037
46137
|
|
|
46038
|
-
//
|
|
46138
|
+
// node_modules/.bun/fast-uri@3.1.0/node_modules/fast-uri/index.js
|
|
46039
46139
|
var require_fast_uri = __commonJS((exports2, module) => {
|
|
46040
46140
|
var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils2();
|
|
46041
46141
|
var { SCHEMES, getSchemeHandler } = require_schemes();
|
|
@@ -46286,7 +46386,7 @@ var require_fast_uri = __commonJS((exports2, module) => {
|
|
|
46286
46386
|
module.exports.fastUri = fastUri;
|
|
46287
46387
|
});
|
|
46288
46388
|
|
|
46289
|
-
//
|
|
46389
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js
|
|
46290
46390
|
var require_uri = __commonJS((exports2) => {
|
|
46291
46391
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
46292
46392
|
var uri = require_fast_uri();
|
|
@@ -46294,7 +46394,7 @@ var require_uri = __commonJS((exports2) => {
|
|
|
46294
46394
|
exports2.default = uri;
|
|
46295
46395
|
});
|
|
46296
46396
|
|
|
46297
|
-
//
|
|
46397
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/core.js
|
|
46298
46398
|
var require_core = __commonJS((exports2) => {
|
|
46299
46399
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
46300
46400
|
exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = undefined;
|
|
@@ -46887,7 +46987,7 @@ var require_core = __commonJS((exports2) => {
|
|
|
46887
46987
|
}
|
|
46888
46988
|
});
|
|
46889
46989
|
|
|
46890
|
-
//
|
|
46990
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js
|
|
46891
46991
|
var require_id = __commonJS((exports2) => {
|
|
46892
46992
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
46893
46993
|
var def = {
|
|
@@ -46899,7 +46999,7 @@ var require_id = __commonJS((exports2) => {
|
|
|
46899
46999
|
exports2.default = def;
|
|
46900
47000
|
});
|
|
46901
47001
|
|
|
46902
|
-
//
|
|
47002
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js
|
|
46903
47003
|
var require_ref = __commonJS((exports2) => {
|
|
46904
47004
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
46905
47005
|
exports2.callRef = exports2.getValidate = undefined;
|
|
@@ -47018,7 +47118,7 @@ var require_ref = __commonJS((exports2) => {
|
|
|
47018
47118
|
exports2.default = def;
|
|
47019
47119
|
});
|
|
47020
47120
|
|
|
47021
|
-
//
|
|
47121
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js
|
|
47022
47122
|
var require_core2 = __commonJS((exports2) => {
|
|
47023
47123
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47024
47124
|
var id_1 = require_id();
|
|
@@ -47036,7 +47136,7 @@ var require_core2 = __commonJS((exports2) => {
|
|
|
47036
47136
|
exports2.default = core2;
|
|
47037
47137
|
});
|
|
47038
47138
|
|
|
47039
|
-
//
|
|
47139
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js
|
|
47040
47140
|
var require_limitNumber = __commonJS((exports2) => {
|
|
47041
47141
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47042
47142
|
var codegen_1 = require_codegen();
|
|
@@ -47065,7 +47165,7 @@ var require_limitNumber = __commonJS((exports2) => {
|
|
|
47065
47165
|
exports2.default = def;
|
|
47066
47166
|
});
|
|
47067
47167
|
|
|
47068
|
-
//
|
|
47168
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js
|
|
47069
47169
|
var require_multipleOf = __commonJS((exports2) => {
|
|
47070
47170
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47071
47171
|
var codegen_1 = require_codegen();
|
|
@@ -47090,7 +47190,7 @@ var require_multipleOf = __commonJS((exports2) => {
|
|
|
47090
47190
|
exports2.default = def;
|
|
47091
47191
|
});
|
|
47092
47192
|
|
|
47093
|
-
//
|
|
47193
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js
|
|
47094
47194
|
var require_ucs2length = __commonJS((exports2) => {
|
|
47095
47195
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47096
47196
|
function ucs2length(str) {
|
|
@@ -47113,7 +47213,7 @@ var require_ucs2length = __commonJS((exports2) => {
|
|
|
47113
47213
|
ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default';
|
|
47114
47214
|
});
|
|
47115
47215
|
|
|
47116
|
-
//
|
|
47216
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js
|
|
47117
47217
|
var require_limitLength = __commonJS((exports2) => {
|
|
47118
47218
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47119
47219
|
var codegen_1 = require_codegen();
|
|
@@ -47142,7 +47242,7 @@ var require_limitLength = __commonJS((exports2) => {
|
|
|
47142
47242
|
exports2.default = def;
|
|
47143
47243
|
});
|
|
47144
47244
|
|
|
47145
|
-
//
|
|
47245
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js
|
|
47146
47246
|
var require_pattern = __commonJS((exports2) => {
|
|
47147
47247
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47148
47248
|
var code_1 = require_code2();
|
|
@@ -47176,7 +47276,7 @@ var require_pattern = __commonJS((exports2) => {
|
|
|
47176
47276
|
exports2.default = def;
|
|
47177
47277
|
});
|
|
47178
47278
|
|
|
47179
|
-
//
|
|
47279
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js
|
|
47180
47280
|
var require_limitProperties = __commonJS((exports2) => {
|
|
47181
47281
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47182
47282
|
var codegen_1 = require_codegen();
|
|
@@ -47202,7 +47302,7 @@ var require_limitProperties = __commonJS((exports2) => {
|
|
|
47202
47302
|
exports2.default = def;
|
|
47203
47303
|
});
|
|
47204
47304
|
|
|
47205
|
-
//
|
|
47305
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js
|
|
47206
47306
|
var require_required = __commonJS((exports2) => {
|
|
47207
47307
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47208
47308
|
var code_1 = require_code2();
|
|
@@ -47281,7 +47381,7 @@ var require_required = __commonJS((exports2) => {
|
|
|
47281
47381
|
exports2.default = def;
|
|
47282
47382
|
});
|
|
47283
47383
|
|
|
47284
|
-
//
|
|
47384
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js
|
|
47285
47385
|
var require_limitItems = __commonJS((exports2) => {
|
|
47286
47386
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47287
47387
|
var codegen_1 = require_codegen();
|
|
@@ -47307,7 +47407,7 @@ var require_limitItems = __commonJS((exports2) => {
|
|
|
47307
47407
|
exports2.default = def;
|
|
47308
47408
|
});
|
|
47309
47409
|
|
|
47310
|
-
//
|
|
47410
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js
|
|
47311
47411
|
var require_equal = __commonJS((exports2) => {
|
|
47312
47412
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47313
47413
|
var equal = require_fast_deep_equal();
|
|
@@ -47315,7 +47415,7 @@ var require_equal = __commonJS((exports2) => {
|
|
|
47315
47415
|
exports2.default = equal;
|
|
47316
47416
|
});
|
|
47317
47417
|
|
|
47318
|
-
//
|
|
47418
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
|
|
47319
47419
|
var require_uniqueItems = __commonJS((exports2) => {
|
|
47320
47420
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47321
47421
|
var dataType_1 = require_dataType();
|
|
@@ -47379,7 +47479,7 @@ var require_uniqueItems = __commonJS((exports2) => {
|
|
|
47379
47479
|
exports2.default = def;
|
|
47380
47480
|
});
|
|
47381
47481
|
|
|
47382
|
-
//
|
|
47482
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js
|
|
47383
47483
|
var require_const = __commonJS((exports2) => {
|
|
47384
47484
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47385
47485
|
var codegen_1 = require_codegen();
|
|
@@ -47405,7 +47505,7 @@ var require_const = __commonJS((exports2) => {
|
|
|
47405
47505
|
exports2.default = def;
|
|
47406
47506
|
});
|
|
47407
47507
|
|
|
47408
|
-
//
|
|
47508
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js
|
|
47409
47509
|
var require_enum = __commonJS((exports2) => {
|
|
47410
47510
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47411
47511
|
var codegen_1 = require_codegen();
|
|
@@ -47451,7 +47551,7 @@ var require_enum = __commonJS((exports2) => {
|
|
|
47451
47551
|
exports2.default = def;
|
|
47452
47552
|
});
|
|
47453
47553
|
|
|
47454
|
-
//
|
|
47554
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js
|
|
47455
47555
|
var require_validation = __commonJS((exports2) => {
|
|
47456
47556
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47457
47557
|
var limitNumber_1 = require_limitNumber();
|
|
@@ -47481,7 +47581,7 @@ var require_validation = __commonJS((exports2) => {
|
|
|
47481
47581
|
exports2.default = validation;
|
|
47482
47582
|
});
|
|
47483
47583
|
|
|
47484
|
-
//
|
|
47584
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
|
|
47485
47585
|
var require_additionalItems = __commonJS((exports2) => {
|
|
47486
47586
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47487
47587
|
exports2.validateAdditionalItems = undefined;
|
|
@@ -47531,7 +47631,7 @@ var require_additionalItems = __commonJS((exports2) => {
|
|
|
47531
47631
|
exports2.default = def;
|
|
47532
47632
|
});
|
|
47533
47633
|
|
|
47534
|
-
//
|
|
47634
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js
|
|
47535
47635
|
var require_items = __commonJS((exports2) => {
|
|
47536
47636
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47537
47637
|
exports2.validateTuple = undefined;
|
|
@@ -47585,7 +47685,7 @@ var require_items = __commonJS((exports2) => {
|
|
|
47585
47685
|
exports2.default = def;
|
|
47586
47686
|
});
|
|
47587
47687
|
|
|
47588
|
-
//
|
|
47688
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
|
|
47589
47689
|
var require_prefixItems = __commonJS((exports2) => {
|
|
47590
47690
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47591
47691
|
var items_1 = require_items();
|
|
@@ -47599,7 +47699,7 @@ var require_prefixItems = __commonJS((exports2) => {
|
|
|
47599
47699
|
exports2.default = def;
|
|
47600
47700
|
});
|
|
47601
47701
|
|
|
47602
|
-
//
|
|
47702
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js
|
|
47603
47703
|
var require_items2020 = __commonJS((exports2) => {
|
|
47604
47704
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47605
47705
|
var codegen_1 = require_codegen();
|
|
@@ -47631,7 +47731,7 @@ var require_items2020 = __commonJS((exports2) => {
|
|
|
47631
47731
|
exports2.default = def;
|
|
47632
47732
|
});
|
|
47633
47733
|
|
|
47634
|
-
//
|
|
47734
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js
|
|
47635
47735
|
var require_contains = __commonJS((exports2) => {
|
|
47636
47736
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47637
47737
|
var codegen_1 = require_codegen();
|
|
@@ -47722,7 +47822,7 @@ var require_contains = __commonJS((exports2) => {
|
|
|
47722
47822
|
exports2.default = def;
|
|
47723
47823
|
});
|
|
47724
47824
|
|
|
47725
|
-
//
|
|
47825
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js
|
|
47726
47826
|
var require_dependencies = __commonJS((exports2) => {
|
|
47727
47827
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47728
47828
|
exports2.validateSchemaDeps = exports2.validatePropertyDeps = exports2.error = undefined;
|
|
@@ -47807,7 +47907,7 @@ var require_dependencies = __commonJS((exports2) => {
|
|
|
47807
47907
|
exports2.default = def;
|
|
47808
47908
|
});
|
|
47809
47909
|
|
|
47810
|
-
//
|
|
47910
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
|
|
47811
47911
|
var require_propertyNames = __commonJS((exports2) => {
|
|
47812
47912
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47813
47913
|
var codegen_1 = require_codegen();
|
|
@@ -47847,7 +47947,7 @@ var require_propertyNames = __commonJS((exports2) => {
|
|
|
47847
47947
|
exports2.default = def;
|
|
47848
47948
|
});
|
|
47849
47949
|
|
|
47850
|
-
//
|
|
47950
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
|
|
47851
47951
|
var require_additionalProperties = __commonJS((exports2) => {
|
|
47852
47952
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47853
47953
|
var code_1 = require_code2();
|
|
@@ -47950,7 +48050,7 @@ var require_additionalProperties = __commonJS((exports2) => {
|
|
|
47950
48050
|
exports2.default = def;
|
|
47951
48051
|
});
|
|
47952
48052
|
|
|
47953
|
-
//
|
|
48053
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js
|
|
47954
48054
|
var require_properties = __commonJS((exports2) => {
|
|
47955
48055
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
47956
48056
|
var validate_1 = require_validate();
|
|
@@ -48005,7 +48105,7 @@ var require_properties = __commonJS((exports2) => {
|
|
|
48005
48105
|
exports2.default = def;
|
|
48006
48106
|
});
|
|
48007
48107
|
|
|
48008
|
-
//
|
|
48108
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
|
|
48009
48109
|
var require_patternProperties = __commonJS((exports2) => {
|
|
48010
48110
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48011
48111
|
var code_1 = require_code2();
|
|
@@ -48076,7 +48176,7 @@ var require_patternProperties = __commonJS((exports2) => {
|
|
|
48076
48176
|
exports2.default = def;
|
|
48077
48177
|
});
|
|
48078
48178
|
|
|
48079
|
-
//
|
|
48179
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js
|
|
48080
48180
|
var require_not = __commonJS((exports2) => {
|
|
48081
48181
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48082
48182
|
var util_1 = require_util2();
|
|
@@ -48104,7 +48204,7 @@ var require_not = __commonJS((exports2) => {
|
|
|
48104
48204
|
exports2.default = def;
|
|
48105
48205
|
});
|
|
48106
48206
|
|
|
48107
|
-
//
|
|
48207
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js
|
|
48108
48208
|
var require_anyOf = __commonJS((exports2) => {
|
|
48109
48209
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48110
48210
|
var code_1 = require_code2();
|
|
@@ -48118,7 +48218,7 @@ var require_anyOf = __commonJS((exports2) => {
|
|
|
48118
48218
|
exports2.default = def;
|
|
48119
48219
|
});
|
|
48120
48220
|
|
|
48121
|
-
//
|
|
48221
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js
|
|
48122
48222
|
var require_oneOf = __commonJS((exports2) => {
|
|
48123
48223
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48124
48224
|
var codegen_1 = require_codegen();
|
|
@@ -48173,7 +48273,7 @@ var require_oneOf = __commonJS((exports2) => {
|
|
|
48173
48273
|
exports2.default = def;
|
|
48174
48274
|
});
|
|
48175
48275
|
|
|
48176
|
-
//
|
|
48276
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js
|
|
48177
48277
|
var require_allOf = __commonJS((exports2) => {
|
|
48178
48278
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48179
48279
|
var util_1 = require_util2();
|
|
@@ -48197,7 +48297,7 @@ var require_allOf = __commonJS((exports2) => {
|
|
|
48197
48297
|
exports2.default = def;
|
|
48198
48298
|
});
|
|
48199
48299
|
|
|
48200
|
-
//
|
|
48300
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js
|
|
48201
48301
|
var require_if2 = __commonJS((exports2) => {
|
|
48202
48302
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48203
48303
|
var codegen_1 = require_codegen();
|
|
@@ -48263,7 +48363,7 @@ var require_if2 = __commonJS((exports2) => {
|
|
|
48263
48363
|
exports2.default = def;
|
|
48264
48364
|
});
|
|
48265
48365
|
|
|
48266
|
-
//
|
|
48366
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js
|
|
48267
48367
|
var require_thenElse = __commonJS((exports2) => {
|
|
48268
48368
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48269
48369
|
var util_1 = require_util2();
|
|
@@ -48278,7 +48378,7 @@ var require_thenElse = __commonJS((exports2) => {
|
|
|
48278
48378
|
exports2.default = def;
|
|
48279
48379
|
});
|
|
48280
48380
|
|
|
48281
|
-
//
|
|
48381
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js
|
|
48282
48382
|
var require_applicator = __commonJS((exports2) => {
|
|
48283
48383
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48284
48384
|
var additionalItems_1 = require_additionalItems();
|
|
@@ -48321,7 +48421,7 @@ var require_applicator = __commonJS((exports2) => {
|
|
|
48321
48421
|
exports2.default = getApplicator;
|
|
48322
48422
|
});
|
|
48323
48423
|
|
|
48324
|
-
//
|
|
48424
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js
|
|
48325
48425
|
var require_format = __commonJS((exports2) => {
|
|
48326
48426
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48327
48427
|
var codegen_1 = require_codegen();
|
|
@@ -48408,7 +48508,7 @@ var require_format = __commonJS((exports2) => {
|
|
|
48408
48508
|
exports2.default = def;
|
|
48409
48509
|
});
|
|
48410
48510
|
|
|
48411
|
-
//
|
|
48511
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js
|
|
48412
48512
|
var require_format2 = __commonJS((exports2) => {
|
|
48413
48513
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48414
48514
|
var format_1 = require_format();
|
|
@@ -48416,7 +48516,7 @@ var require_format2 = __commonJS((exports2) => {
|
|
|
48416
48516
|
exports2.default = format;
|
|
48417
48517
|
});
|
|
48418
48518
|
|
|
48419
|
-
//
|
|
48519
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js
|
|
48420
48520
|
var require_metadata = __commonJS((exports2) => {
|
|
48421
48521
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48422
48522
|
exports2.contentVocabulary = exports2.metadataVocabulary = undefined;
|
|
@@ -48436,7 +48536,7 @@ var require_metadata = __commonJS((exports2) => {
|
|
|
48436
48536
|
];
|
|
48437
48537
|
});
|
|
48438
48538
|
|
|
48439
|
-
//
|
|
48539
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js
|
|
48440
48540
|
var require_draft7 = __commonJS((exports2) => {
|
|
48441
48541
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48442
48542
|
var core_1 = require_core2();
|
|
@@ -48455,7 +48555,7 @@ var require_draft7 = __commonJS((exports2) => {
|
|
|
48455
48555
|
exports2.default = draft7Vocabularies;
|
|
48456
48556
|
});
|
|
48457
48557
|
|
|
48458
|
-
//
|
|
48558
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js
|
|
48459
48559
|
var require_types = __commonJS((exports2) => {
|
|
48460
48560
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48461
48561
|
exports2.DiscrError = undefined;
|
|
@@ -48466,7 +48566,7 @@ var require_types = __commonJS((exports2) => {
|
|
|
48466
48566
|
})(DiscrError || (exports2.DiscrError = DiscrError = {}));
|
|
48467
48567
|
});
|
|
48468
48568
|
|
|
48469
|
-
//
|
|
48569
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js
|
|
48470
48570
|
var require_discriminator = __commonJS((exports2) => {
|
|
48471
48571
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48472
48572
|
var codegen_1 = require_codegen();
|
|
@@ -48568,7 +48668,7 @@ var require_discriminator = __commonJS((exports2) => {
|
|
|
48568
48668
|
exports2.default = def;
|
|
48569
48669
|
});
|
|
48570
48670
|
|
|
48571
|
-
//
|
|
48671
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.json
|
|
48572
48672
|
var require_json_schema_draft_07 = __commonJS((exports2, module) => {
|
|
48573
48673
|
module.exports = {
|
|
48574
48674
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
@@ -48723,7 +48823,7 @@ var require_json_schema_draft_07 = __commonJS((exports2, module) => {
|
|
|
48723
48823
|
};
|
|
48724
48824
|
});
|
|
48725
48825
|
|
|
48726
|
-
//
|
|
48826
|
+
// node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/ajv.js
|
|
48727
48827
|
var require_ajv = __commonJS((exports2, module) => {
|
|
48728
48828
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48729
48829
|
exports2.MissingRefError = exports2.ValidationError = exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = exports2.Ajv = undefined;
|
|
@@ -48791,7 +48891,7 @@ var require_ajv = __commonJS((exports2, module) => {
|
|
|
48791
48891
|
} });
|
|
48792
48892
|
});
|
|
48793
48893
|
|
|
48794
|
-
//
|
|
48894
|
+
// node_modules/.bun/ajv-formats@3.0.1/node_modules/ajv-formats/dist/formats.js
|
|
48795
48895
|
var require_formats = __commonJS((exports2) => {
|
|
48796
48896
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48797
48897
|
exports2.formatNames = exports2.fastFormats = exports2.fullFormats = undefined;
|
|
@@ -48968,7 +49068,7 @@ var require_formats = __commonJS((exports2) => {
|
|
|
48968
49068
|
}
|
|
48969
49069
|
});
|
|
48970
49070
|
|
|
48971
|
-
//
|
|
49071
|
+
// node_modules/.bun/ajv-formats@3.0.1/node_modules/ajv-formats/dist/limit.js
|
|
48972
49072
|
var require_limit = __commonJS((exports2) => {
|
|
48973
49073
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
48974
49074
|
exports2.formatLimitDefinition = undefined;
|
|
@@ -49037,7 +49137,7 @@ var require_limit = __commonJS((exports2) => {
|
|
|
49037
49137
|
exports2.default = formatLimitPlugin;
|
|
49038
49138
|
});
|
|
49039
49139
|
|
|
49040
|
-
//
|
|
49140
|
+
// node_modules/.bun/ajv-formats@3.0.1/node_modules/ajv-formats/dist/index.js
|
|
49041
49141
|
var require_dist2 = __commonJS((exports2, module) => {
|
|
49042
49142
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
49043
49143
|
var formats_1 = require_formats();
|
|
@@ -49076,7 +49176,7 @@ var require_dist2 = __commonJS((exports2, module) => {
|
|
|
49076
49176
|
exports2.default = formatsPlugin;
|
|
49077
49177
|
});
|
|
49078
49178
|
|
|
49079
|
-
//
|
|
49179
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
|
|
49080
49180
|
function createDefaultAjvInstance() {
|
|
49081
49181
|
const ajv = new import_ajv.default({
|
|
49082
49182
|
strict: false,
|
|
@@ -49119,7 +49219,7 @@ var init_ajv_provider = __esm(() => {
|
|
|
49119
49219
|
import_ajv_formats = __toESM(require_dist2(), 1);
|
|
49120
49220
|
});
|
|
49121
49221
|
|
|
49122
|
-
//
|
|
49222
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
|
|
49123
49223
|
class ExperimentalServerTasks {
|
|
49124
49224
|
constructor(_server) {
|
|
49125
49225
|
this._server = _server;
|
|
@@ -49200,7 +49300,7 @@ var init_server = __esm(() => {
|
|
|
49200
49300
|
init_types2();
|
|
49201
49301
|
});
|
|
49202
49302
|
|
|
49203
|
-
//
|
|
49303
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
|
|
49204
49304
|
function assertToolsCallTaskCapability(requests, method, entityName) {
|
|
49205
49305
|
if (!requests) {
|
|
49206
49306
|
throw new Error(`${entityName} does not support task creation (required for ${method})`);
|
|
@@ -49235,7 +49335,7 @@ function assertClientRequestTaskCapability(requests, method, entityName) {
|
|
|
49235
49335
|
}
|
|
49236
49336
|
}
|
|
49237
49337
|
|
|
49238
|
-
//
|
|
49338
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
|
|
49239
49339
|
var Server;
|
|
49240
49340
|
var init_server2 = __esm(() => {
|
|
49241
49341
|
init_protocol4();
|
|
@@ -49576,7 +49676,7 @@ var init_server2 = __esm(() => {
|
|
|
49576
49676
|
};
|
|
49577
49677
|
});
|
|
49578
49678
|
|
|
49579
|
-
//
|
|
49679
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
|
|
49580
49680
|
class ReadBuffer {
|
|
49581
49681
|
append(chunk2) {
|
|
49582
49682
|
this._buffer = this._buffer ? Buffer.concat([this._buffer, chunk2]) : chunk2;
|
|
@@ -49609,7 +49709,7 @@ var init_stdio = __esm(() => {
|
|
|
49609
49709
|
init_types2();
|
|
49610
49710
|
});
|
|
49611
49711
|
|
|
49612
|
-
//
|
|
49712
|
+
// node_modules/.bun/@modelcontextprotocol+sdk@1.29.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
|
|
49613
49713
|
import process3 from "node:process";
|
|
49614
49714
|
|
|
49615
49715
|
class StdioServerTransport {
|
|
@@ -50575,7 +50675,7 @@ var init_server4 = __esm(() => {
|
|
|
50575
50675
|
];
|
|
50576
50676
|
});
|
|
50577
50677
|
|
|
50578
|
-
//
|
|
50678
|
+
// node_modules/.bun/commander@13.1.0/node_modules/commander/esm.mjs
|
|
50579
50679
|
var import__ = __toESM(require_commander(), 1);
|
|
50580
50680
|
var {
|
|
50581
50681
|
program,
|
|
@@ -50592,8 +50692,8 @@ var {
|
|
|
50592
50692
|
} = import__.default;
|
|
50593
50693
|
|
|
50594
50694
|
// src/build-info.ts
|
|
50595
|
-
var VERSION = "0.15.
|
|
50596
|
-
var COMMIT_SHA = "
|
|
50695
|
+
var VERSION = "0.15.38";
|
|
50696
|
+
var COMMIT_SHA = "d28a331f";
|
|
50597
50697
|
|
|
50598
50698
|
// src/cli/agent.ts
|
|
50599
50699
|
init_source();
|
|
@@ -53134,6 +53234,7 @@ function scaffoldAgent(name, agentConfigRaw, agentsDir, telegramConfig, switchro
|
|
|
53134
53234
|
const switchroomCliPath = "/usr/local/bin/switchroom";
|
|
53135
53235
|
const resolvedConfigPath = DOCKER_CONFIG_PATH;
|
|
53136
53236
|
const telegramStateDir = `${DOCKER_AGENT_HOME}/.switchroom/agents/${name}/telegram`;
|
|
53237
|
+
const linearAgentEnabled = agentConfig.channels?.telegram?.linear_agent?.enabled === true;
|
|
53137
53238
|
const mcpServers = {
|
|
53138
53239
|
"switchroom-telegram": {
|
|
53139
53240
|
command: "bun",
|
|
@@ -53141,9 +53242,10 @@ function scaffoldAgent(name, agentConfigRaw, agentsDir, telegramConfig, switchro
|
|
|
53141
53242
|
env: {
|
|
53142
53243
|
TELEGRAM_STATE_DIR: telegramStateDir,
|
|
53143
53244
|
SWITCHROOM_CONFIG: resolvedConfigPath,
|
|
53144
|
-
SWITCHROOM_CLI_PATH: switchroomCliPath
|
|
53245
|
+
SWITCHROOM_CLI_PATH: switchroomCliPath,
|
|
53246
|
+
...linearAgentEnabled ? { SWITCHROOM_TELEGRAM_LINEAR: "1" } : {}
|
|
53145
53247
|
},
|
|
53146
|
-
alwaysLoad:
|
|
53248
|
+
alwaysLoad: false
|
|
53147
53249
|
},
|
|
53148
53250
|
"agent-config": {
|
|
53149
53251
|
command: switchroomCliPath,
|
|
@@ -54203,6 +54305,7 @@ ${body}
|
|
|
54203
54305
|
const switchroomCliPath = "/usr/local/bin/switchroom";
|
|
54204
54306
|
const resolvedConfigPath = DOCKER_CONFIG_PATH;
|
|
54205
54307
|
const telegramStateDir = `${DOCKER_AGENT_HOME}/.switchroom/agents/${name}/telegram`;
|
|
54308
|
+
const linearAgentEnabled = agentConfig.channels?.telegram?.linear_agent?.enabled === true;
|
|
54206
54309
|
const mcpServers = {
|
|
54207
54310
|
"switchroom-telegram": {
|
|
54208
54311
|
command: "bun",
|
|
@@ -54210,9 +54313,10 @@ ${body}
|
|
|
54210
54313
|
env: {
|
|
54211
54314
|
TELEGRAM_STATE_DIR: telegramStateDir,
|
|
54212
54315
|
SWITCHROOM_CONFIG: resolvedConfigPath,
|
|
54213
|
-
SWITCHROOM_CLI_PATH: switchroomCliPath
|
|
54316
|
+
SWITCHROOM_CLI_PATH: switchroomCliPath,
|
|
54317
|
+
...linearAgentEnabled ? { SWITCHROOM_TELEGRAM_LINEAR: "1" } : {}
|
|
54214
54318
|
},
|
|
54215
|
-
alwaysLoad:
|
|
54319
|
+
alwaysLoad: false
|
|
54216
54320
|
},
|
|
54217
54321
|
"agent-config": {
|
|
54218
54322
|
command: switchroomCliPath,
|
|
@@ -58912,7 +59016,7 @@ function hasGoogleAccountEntry(doc, account) {
|
|
|
58912
59016
|
// src/cli/auth-google.ts
|
|
58913
59017
|
init_helpers();
|
|
58914
59018
|
function registerAuthGoogleSubcommands(program3, authParent) {
|
|
58915
|
-
const google = authParent.command("google").description("Manage Google Workspace accounts shared across agents (RFC G \u2014 see
|
|
59019
|
+
const google = authParent.command("google").description("Manage Google Workspace accounts shared across agents (RFC G \u2014 see reference/rfcs/google-workspace-generalization.md)");
|
|
58916
59020
|
registerConnect(google, program3);
|
|
58917
59021
|
registerEnable(google, program3);
|
|
58918
59022
|
registerDisable(google, program3);
|
|
@@ -59696,7 +59800,7 @@ function buildMicrosoftCredentials(opts) {
|
|
|
59696
59800
|
|
|
59697
59801
|
// src/cli/auth-microsoft.ts
|
|
59698
59802
|
function registerAuthMicrosoftSubcommands(program3, authParent) {
|
|
59699
|
-
const microsoft = authParent.command("microsoft").description("Manage Microsoft 365 accounts shared across agents (RFC #1873 \u2014 see
|
|
59803
|
+
const microsoft = authParent.command("microsoft").description("Manage Microsoft 365 accounts shared across agents (RFC #1873 \u2014 see reference/rfcs/microsoft-workspace.md)");
|
|
59700
59804
|
registerEnable2(microsoft, program3);
|
|
59701
59805
|
registerDisable2(microsoft, program3);
|
|
59702
59806
|
registerList2(microsoft, program3);
|
|
@@ -61684,7 +61788,7 @@ function createAuditLogger(opts = {}) {
|
|
|
61684
61788
|
// src/vault/grants.ts
|
|
61685
61789
|
import { randomBytes as randomBytes8 } from "node:crypto";
|
|
61686
61790
|
|
|
61687
|
-
//
|
|
61791
|
+
// node_modules/.bun/bcryptjs@3.0.3/node_modules/bcryptjs/index.js
|
|
61688
61792
|
import nodeCrypto from "crypto";
|
|
61689
61793
|
var randomFallback = null;
|
|
61690
61794
|
function randomBytes7(len) {
|
|
@@ -69174,7 +69278,7 @@ init_client3();
|
|
|
69174
69278
|
init_client();
|
|
69175
69279
|
import { homedir as homedir23 } from "node:os";
|
|
69176
69280
|
|
|
69177
|
-
//
|
|
69281
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
|
|
69178
69282
|
import { dirname as dirname9, posix, sep as sep2 } from "path";
|
|
69179
69283
|
function createModulerModifier() {
|
|
69180
69284
|
const getModuleFromFileName = createGetModuleFromFilename();
|
|
@@ -69210,7 +69314,7 @@ function normalizeWindowsPath(path4) {
|
|
|
69210
69314
|
return path4.replace(/^[A-Z]:/, "").replace(/\\/g, "/");
|
|
69211
69315
|
}
|
|
69212
69316
|
|
|
69213
|
-
//
|
|
69317
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/featureFlagUtils.mjs
|
|
69214
69318
|
var normalizeFlagsResponse = (flagsResponse) => {
|
|
69215
69319
|
if ("flags" in flagsResponse) {
|
|
69216
69320
|
const featureFlags = getFlagValuesFromFlags(flagsResponse.flags);
|
|
@@ -69281,7 +69385,7 @@ var parsePayload = (response) => {
|
|
|
69281
69385
|
}
|
|
69282
69386
|
};
|
|
69283
69387
|
|
|
69284
|
-
//
|
|
69388
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/gzip.mjs
|
|
69285
69389
|
function isGzipSupported() {
|
|
69286
69390
|
return "CompressionStream" in globalThis;
|
|
69287
69391
|
}
|
|
@@ -69301,7 +69405,7 @@ async function gzipCompress(input, isDebug = true) {
|
|
|
69301
69405
|
}
|
|
69302
69406
|
}
|
|
69303
69407
|
|
|
69304
|
-
//
|
|
69408
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/vendor/uuidv7.mjs
|
|
69305
69409
|
/*! For license information please see uuidv7.mjs.LICENSE.txt */
|
|
69306
69410
|
var DIGITS = "0123456789abcdef";
|
|
69307
69411
|
|
|
@@ -69479,7 +69583,7 @@ var defaultGenerator;
|
|
|
69479
69583
|
var uuidv7 = () => uuidv7obj().toString();
|
|
69480
69584
|
var uuidv7obj = () => (defaultGenerator || (defaultGenerator = new V7Generator)).generate();
|
|
69481
69585
|
|
|
69482
|
-
//
|
|
69586
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/types.mjs
|
|
69483
69587
|
var types_PostHogPersistedProperty = /* @__PURE__ */ function(PostHogPersistedProperty) {
|
|
69484
69588
|
PostHogPersistedProperty["AnonymousId"] = "anonymous_id";
|
|
69485
69589
|
PostHogPersistedProperty["DistinctId"] = "distinct_id";
|
|
@@ -69512,7 +69616,7 @@ var types_PostHogPersistedProperty = /* @__PURE__ */ function(PostHogPersistedPr
|
|
|
69512
69616
|
return PostHogPersistedProperty;
|
|
69513
69617
|
}({});
|
|
69514
69618
|
|
|
69515
|
-
//
|
|
69619
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/bot-detection.mjs
|
|
69516
69620
|
var DEFAULT_BLOCKED_UA_STRS = [
|
|
69517
69621
|
"amazonbot",
|
|
69518
69622
|
"amazonproductbot",
|
|
@@ -69601,7 +69705,7 @@ var isBlockedUA = function(ua, customBlockedUserAgents = []) {
|
|
|
69601
69705
|
return uaLower.indexOf(blockedUaLower) !== -1;
|
|
69602
69706
|
});
|
|
69603
69707
|
};
|
|
69604
|
-
//
|
|
69708
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/type-utils.mjs
|
|
69605
69709
|
var nativeIsArray = Array.isArray;
|
|
69606
69710
|
var ObjProto = Object.prototype;
|
|
69607
69711
|
var type_utils_hasOwnProperty = ObjProto.hasOwnProperty;
|
|
@@ -69638,7 +69742,7 @@ function isInstanceOf(candidate, base) {
|
|
|
69638
69742
|
}
|
|
69639
69743
|
}
|
|
69640
69744
|
|
|
69641
|
-
//
|
|
69745
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/number-utils.mjs
|
|
69642
69746
|
function clampToRange(value, min, max, logger, fallbackValue) {
|
|
69643
69747
|
if (min > max) {
|
|
69644
69748
|
logger.warn("min cannot be greater than max.");
|
|
@@ -69658,7 +69762,7 @@ function clampToRange(value, min, max, logger, fallbackValue) {
|
|
|
69658
69762
|
return clampToRange(fallbackValue || max, min, max, logger);
|
|
69659
69763
|
}
|
|
69660
69764
|
|
|
69661
|
-
//
|
|
69765
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.mjs
|
|
69662
69766
|
var ONE_DAY_IN_MS = 86400000;
|
|
69663
69767
|
|
|
69664
69768
|
class BucketedRateLimiter {
|
|
@@ -69702,7 +69806,7 @@ class BucketedRateLimiter {
|
|
|
69702
69806
|
this._buckets = {};
|
|
69703
69807
|
}
|
|
69704
69808
|
}
|
|
69705
|
-
//
|
|
69809
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/promise-queue.mjs
|
|
69706
69810
|
class PromiseQueue {
|
|
69707
69811
|
add(promise) {
|
|
69708
69812
|
const promiseUUID = uuidv7();
|
|
@@ -69728,7 +69832,7 @@ class PromiseQueue {
|
|
|
69728
69832
|
this.promiseByIds = {};
|
|
69729
69833
|
}
|
|
69730
69834
|
}
|
|
69731
|
-
//
|
|
69835
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/logger.mjs
|
|
69732
69836
|
function createConsole(consoleLike = console) {
|
|
69733
69837
|
const lockedMethods = {
|
|
69734
69838
|
log: consoleLike.log.bind(consoleLike),
|
|
@@ -69766,7 +69870,7 @@ var passThrough = (fn) => fn();
|
|
|
69766
69870
|
function createLogger(prefix, maybeCall = passThrough) {
|
|
69767
69871
|
return _createLogger(prefix, maybeCall, createConsole());
|
|
69768
69872
|
}
|
|
69769
|
-
//
|
|
69873
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/user-agent-utils.mjs
|
|
69770
69874
|
var MOBILE = "Mobile";
|
|
69771
69875
|
var IOS = "iOS";
|
|
69772
69876
|
var ANDROID = "Android";
|
|
@@ -70023,7 +70127,7 @@ var osMatchers = [
|
|
|
70023
70127
|
]
|
|
70024
70128
|
];
|
|
70025
70129
|
|
|
70026
|
-
//
|
|
70130
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/utils/index.mjs
|
|
70027
70131
|
var STRING_FORMAT = "utf8";
|
|
70028
70132
|
function assert(truthyValue, message) {
|
|
70029
70133
|
if (!truthyValue || typeof truthyValue != "string" || isEmpty(truthyValue))
|
|
@@ -70071,7 +70175,7 @@ function allSettled(promises) {
|
|
|
70071
70175
|
reason
|
|
70072
70176
|
}))));
|
|
70073
70177
|
}
|
|
70074
|
-
//
|
|
70178
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/eventemitter.mjs
|
|
70075
70179
|
class SimpleEventEmitter {
|
|
70076
70180
|
constructor() {
|
|
70077
70181
|
this.events = {};
|
|
@@ -70093,7 +70197,7 @@ class SimpleEventEmitter {
|
|
|
70093
70197
|
}
|
|
70094
70198
|
}
|
|
70095
70199
|
|
|
70096
|
-
//
|
|
70200
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/posthog-core-stateless.mjs
|
|
70097
70201
|
class PostHogFetchHttpError extends Error {
|
|
70098
70202
|
constructor(response, reqByteLength) {
|
|
70099
70203
|
super("HTTP error while fetching PostHog: status=" + response.status + ", reqByteLength=" + reqByteLength), this.response = response, this.reqByteLength = reqByteLength, this.name = "PostHogFetchHttpError";
|
|
@@ -70808,7 +70912,7 @@ class PostHogCoreStateless {
|
|
|
70808
70912
|
return this.shutdownPromise;
|
|
70809
70913
|
}
|
|
70810
70914
|
}
|
|
70811
|
-
//
|
|
70915
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/index.mjs
|
|
70812
70916
|
var exports_error_tracking = {};
|
|
70813
70917
|
__export(exports_error_tracking, {
|
|
70814
70918
|
winjsStackLineParser: () => winjsStackLineParser,
|
|
@@ -70832,7 +70936,7 @@ __export(exports_error_tracking, {
|
|
|
70832
70936
|
DOMExceptionCoercer: () => DOMExceptionCoercer
|
|
70833
70937
|
});
|
|
70834
70938
|
|
|
70835
|
-
//
|
|
70939
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/chunk-ids.mjs
|
|
70836
70940
|
var parsedStackResults;
|
|
70837
70941
|
var lastKeysCount;
|
|
70838
70942
|
var cachedFilenameChunkIds;
|
|
@@ -70871,7 +70975,7 @@ function getFilenameToChunkIdMap(stackParser) {
|
|
|
70871
70975
|
return cachedFilenameChunkIds;
|
|
70872
70976
|
}
|
|
70873
70977
|
|
|
70874
|
-
//
|
|
70978
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.mjs
|
|
70875
70979
|
var MAX_CAUSE_RECURSION = 4;
|
|
70876
70980
|
|
|
70877
70981
|
class ErrorPropertiesBuilder {
|
|
@@ -70993,7 +71097,7 @@ class ErrorPropertiesBuilder {
|
|
|
70993
71097
|
return context;
|
|
70994
71098
|
}
|
|
70995
71099
|
}
|
|
70996
|
-
//
|
|
71100
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs
|
|
70997
71101
|
var UNKNOWN_FUNCTION = "?";
|
|
70998
71102
|
function createFrame(platform, filename, func, lineno, colno) {
|
|
70999
71103
|
const frame = {
|
|
@@ -71009,7 +71113,7 @@ function createFrame(platform, filename, func, lineno, colno) {
|
|
|
71009
71113
|
return frame;
|
|
71010
71114
|
}
|
|
71011
71115
|
|
|
71012
|
-
//
|
|
71116
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/safari.mjs
|
|
71013
71117
|
var extractSafariExtensionDetails = (func, filename) => {
|
|
71014
71118
|
const isSafariExtension = func.indexOf("safari-extension") !== -1;
|
|
71015
71119
|
const isSafariWebExtension = func.indexOf("safari-web-extension") !== -1;
|
|
@@ -71022,7 +71126,7 @@ var extractSafariExtensionDetails = (func, filename) => {
|
|
|
71022
71126
|
];
|
|
71023
71127
|
};
|
|
71024
71128
|
|
|
71025
|
-
//
|
|
71129
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.mjs
|
|
71026
71130
|
var chromeRegexNoFnName = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i;
|
|
71027
71131
|
var chromeRegex = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
|
|
71028
71132
|
var chromeEvalRegex = /\((\S*)(?::(\d+))(?::(\d+))\)/;
|
|
@@ -71048,7 +71152,7 @@ var chromeStackLineParser = (line, platform) => {
|
|
|
71048
71152
|
}
|
|
71049
71153
|
};
|
|
71050
71154
|
|
|
71051
|
-
//
|
|
71155
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.mjs
|
|
71052
71156
|
var geckoREgex = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i;
|
|
71053
71157
|
var geckoEvalRegex = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
|
|
71054
71158
|
var geckoStackLineParser = (line, platform) => {
|
|
@@ -71071,14 +71175,14 @@ var geckoStackLineParser = (line, platform) => {
|
|
|
71071
71175
|
}
|
|
71072
71176
|
};
|
|
71073
71177
|
|
|
71074
|
-
//
|
|
71178
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.mjs
|
|
71075
71179
|
var winjsRegex = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
|
71076
71180
|
var winjsStackLineParser = (line, platform) => {
|
|
71077
71181
|
const parts = winjsRegex.exec(line);
|
|
71078
71182
|
return parts ? createFrame(platform, parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined) : undefined;
|
|
71079
71183
|
};
|
|
71080
71184
|
|
|
71081
|
-
//
|
|
71185
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/opera.mjs
|
|
71082
71186
|
var opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i;
|
|
71083
71187
|
var opera10StackLineParser = (line, platform) => {
|
|
71084
71188
|
const parts = opera10Regex.exec(line);
|
|
@@ -71090,7 +71194,7 @@ var opera11StackLineParser = (line, platform) => {
|
|
|
71090
71194
|
return parts ? createFrame(platform, parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;
|
|
71091
71195
|
};
|
|
71092
71196
|
|
|
71093
|
-
//
|
|
71197
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/node.mjs
|
|
71094
71198
|
var FILENAME_MATCH = /^\s*[-]{4,}$/;
|
|
71095
71199
|
var FULL_MATCH = /at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;
|
|
71096
71200
|
var nodeStackLineParser = (line, platform) => {
|
|
@@ -71159,7 +71263,7 @@ function _parseIntOrUndefined(input) {
|
|
|
71159
71263
|
return parseInt(input || "", 10) || undefined;
|
|
71160
71264
|
}
|
|
71161
71265
|
|
|
71162
|
-
//
|
|
71266
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/parsers/index.mjs
|
|
71163
71267
|
var WEBPACK_ERROR_REGEXP = /\(error: (.*)\)/;
|
|
71164
71268
|
var STACKTRACE_FRAME_LIMIT = 50;
|
|
71165
71269
|
function reverseAndStripFrames(stack) {
|
|
@@ -71204,7 +71308,7 @@ function createStackParser(platform, ...parsers) {
|
|
|
71204
71308
|
return reverseAndStripFrames(frames);
|
|
71205
71309
|
};
|
|
71206
71310
|
}
|
|
71207
|
-
//
|
|
71311
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.mjs
|
|
71208
71312
|
class DOMExceptionCoercer {
|
|
71209
71313
|
match(err) {
|
|
71210
71314
|
return this.isDOMException(err) || this.isDOMError(err);
|
|
@@ -71234,7 +71338,7 @@ class DOMExceptionCoercer {
|
|
|
71234
71338
|
return isBuiltin(err, "DOMError");
|
|
71235
71339
|
}
|
|
71236
71340
|
}
|
|
71237
|
-
//
|
|
71341
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.mjs
|
|
71238
71342
|
class ErrorCoercer {
|
|
71239
71343
|
match(err) {
|
|
71240
71344
|
return isPlainError(err);
|
|
@@ -71261,7 +71365,7 @@ class ErrorCoercer {
|
|
|
71261
71365
|
return err.stacktrace || err.stack || undefined;
|
|
71262
71366
|
}
|
|
71263
71367
|
}
|
|
71264
|
-
//
|
|
71368
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.mjs
|
|
71265
71369
|
class ErrorEventCoercer {
|
|
71266
71370
|
constructor() {}
|
|
71267
71371
|
match(err) {
|
|
@@ -71279,7 +71383,7 @@ class ErrorEventCoercer {
|
|
|
71279
71383
|
return exceptionLike;
|
|
71280
71384
|
}
|
|
71281
71385
|
}
|
|
71282
|
-
//
|
|
71386
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.mjs
|
|
71283
71387
|
var ERROR_TYPES_PATTERN = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
|
|
71284
71388
|
|
|
71285
71389
|
class StringCoercer {
|
|
@@ -71309,7 +71413,7 @@ class StringCoercer {
|
|
|
71309
71413
|
];
|
|
71310
71414
|
}
|
|
71311
71415
|
}
|
|
71312
|
-
//
|
|
71416
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/types.mjs
|
|
71313
71417
|
var severityLevels = [
|
|
71314
71418
|
"fatal",
|
|
71315
71419
|
"error",
|
|
@@ -71319,7 +71423,7 @@ var severityLevels = [
|
|
|
71319
71423
|
"debug"
|
|
71320
71424
|
];
|
|
71321
71425
|
|
|
71322
|
-
//
|
|
71426
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/utils.mjs
|
|
71323
71427
|
function extractExceptionKeysForMessage(err, maxLength = 40) {
|
|
71324
71428
|
const keys = Object.keys(err);
|
|
71325
71429
|
keys.sort();
|
|
@@ -71336,7 +71440,7 @@ function extractExceptionKeysForMessage(err, maxLength = 40) {
|
|
|
71336
71440
|
return "";
|
|
71337
71441
|
}
|
|
71338
71442
|
|
|
71339
|
-
//
|
|
71443
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.mjs
|
|
71340
71444
|
class ObjectCoercer {
|
|
71341
71445
|
match(candidate) {
|
|
71342
71446
|
return typeof candidate == "object" && candidate !== null;
|
|
@@ -71389,7 +71493,7 @@ class ObjectCoercer {
|
|
|
71389
71493
|
}
|
|
71390
71494
|
}
|
|
71391
71495
|
}
|
|
71392
|
-
//
|
|
71496
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.mjs
|
|
71393
71497
|
class EventCoercer {
|
|
71394
71498
|
match(err) {
|
|
71395
71499
|
return isEvent(err);
|
|
@@ -71404,7 +71508,7 @@ class EventCoercer {
|
|
|
71404
71508
|
};
|
|
71405
71509
|
}
|
|
71406
71510
|
}
|
|
71407
|
-
//
|
|
71511
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.mjs
|
|
71408
71512
|
class PrimitiveCoercer {
|
|
71409
71513
|
match(candidate) {
|
|
71410
71514
|
return isPrimitive(candidate);
|
|
@@ -71418,7 +71522,7 @@ class PrimitiveCoercer {
|
|
|
71418
71522
|
};
|
|
71419
71523
|
}
|
|
71420
71524
|
}
|
|
71421
|
-
//
|
|
71525
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.mjs
|
|
71422
71526
|
class PromiseRejectionEventCoercer {
|
|
71423
71527
|
match(err) {
|
|
71424
71528
|
return isBuiltin(err, "PromiseRejectionEvent") || this.isCustomEventWrappingRejection(err);
|
|
@@ -71454,7 +71558,7 @@ class PromiseRejectionEventCoercer {
|
|
|
71454
71558
|
return error;
|
|
71455
71559
|
}
|
|
71456
71560
|
}
|
|
71457
|
-
//
|
|
71561
|
+
// node_modules/.bun/@posthog+core@1.25.2/node_modules/@posthog/core/dist/error-tracking/utils.mjs
|
|
71458
71562
|
class ReduceableCache {
|
|
71459
71563
|
constructor(_maxSize) {
|
|
71460
71564
|
this._maxSize = _maxSize;
|
|
@@ -71479,7 +71583,7 @@ class ReduceableCache {
|
|
|
71479
71583
|
}
|
|
71480
71584
|
}
|
|
71481
71585
|
}
|
|
71482
|
-
//
|
|
71586
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs
|
|
71483
71587
|
import { createReadStream } from "node:fs";
|
|
71484
71588
|
import { createInterface as createInterface5 } from "node:readline";
|
|
71485
71589
|
var LRU_FILE_CONTENTS_CACHE = new exports_error_tracking.ReduceableCache(25);
|
|
@@ -71697,7 +71801,7 @@ function snipLine(line, colno) {
|
|
|
71697
71801
|
return newLine;
|
|
71698
71802
|
}
|
|
71699
71803
|
|
|
71700
|
-
//
|
|
71804
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.mjs
|
|
71701
71805
|
function makeUncaughtExceptionHandler(captureFn, onFatalFn) {
|
|
71702
71806
|
let calledFatalError = false;
|
|
71703
71807
|
return Object.assign((error) => {
|
|
@@ -71729,7 +71833,7 @@ function addUnhandledRejectionListener(captureFn) {
|
|
|
71729
71833
|
}));
|
|
71730
71834
|
}
|
|
71731
71835
|
|
|
71732
|
-
//
|
|
71836
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/error-tracking/index.mjs
|
|
71733
71837
|
var SHUTDOWN_TIMEOUT = 2000;
|
|
71734
71838
|
|
|
71735
71839
|
class ErrorTracking {
|
|
@@ -71798,10 +71902,10 @@ class ErrorTracking {
|
|
|
71798
71902
|
}
|
|
71799
71903
|
}
|
|
71800
71904
|
|
|
71801
|
-
//
|
|
71905
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/version.mjs
|
|
71802
71906
|
var version = "5.29.2";
|
|
71803
71907
|
|
|
71804
|
-
//
|
|
71908
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/types.mjs
|
|
71805
71909
|
var FeatureFlagError2 = {
|
|
71806
71910
|
ERRORS_WHILE_COMPUTING: "errors_while_computing_flags",
|
|
71807
71911
|
FLAG_MISSING: "flag_missing",
|
|
@@ -71809,7 +71913,7 @@ var FeatureFlagError2 = {
|
|
|
71809
71913
|
UNKNOWN_ERROR: "unknown_error"
|
|
71810
71914
|
};
|
|
71811
71915
|
|
|
71812
|
-
//
|
|
71916
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/feature-flags/crypto.mjs
|
|
71813
71917
|
async function hashSHA1(text) {
|
|
71814
71918
|
const subtle = globalThis.crypto?.subtle;
|
|
71815
71919
|
if (!subtle)
|
|
@@ -71819,7 +71923,7 @@ async function hashSHA1(text) {
|
|
|
71819
71923
|
return hashArray.map((byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
71820
71924
|
}
|
|
71821
71925
|
|
|
71822
|
-
//
|
|
71926
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.mjs
|
|
71823
71927
|
var SIXTY_SECONDS = 60000;
|
|
71824
71928
|
var LONG_SCALE = 1152921504606847000;
|
|
71825
71929
|
var NULL_VALUES_ALLOWED_OPERATORS = [
|
|
@@ -72693,7 +72797,7 @@ function relativeDateParseForFeatureFlagMatching(value) {
|
|
|
72693
72797
|
}
|
|
72694
72798
|
}
|
|
72695
72799
|
|
|
72696
|
-
//
|
|
72800
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/storage-memory.mjs
|
|
72697
72801
|
class PostHogMemoryStorage {
|
|
72698
72802
|
getProperty(key) {
|
|
72699
72803
|
return this._memoryStorage[key];
|
|
@@ -72706,7 +72810,7 @@ class PostHogMemoryStorage {
|
|
|
72706
72810
|
}
|
|
72707
72811
|
}
|
|
72708
72812
|
|
|
72709
|
-
//
|
|
72813
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/client.mjs
|
|
72710
72814
|
var MINIMUM_POLLING_INTERVAL = 100;
|
|
72711
72815
|
var THIRTY_SECONDS = 30000;
|
|
72712
72816
|
var MAX_CACHE_SIZE = 50000;
|
|
@@ -73494,7 +73598,7 @@ class PostHogBackendClient extends PostHogCoreStateless {
|
|
|
73494
73598
|
}
|
|
73495
73599
|
}
|
|
73496
73600
|
|
|
73497
|
-
//
|
|
73601
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/context/context.mjs
|
|
73498
73602
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
73499
73603
|
|
|
73500
73604
|
class PostHogContext {
|
|
@@ -73525,7 +73629,7 @@ class PostHogContext {
|
|
|
73525
73629
|
}
|
|
73526
73630
|
}
|
|
73527
73631
|
|
|
73528
|
-
//
|
|
73632
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/extensions/sentry-integration.mjs
|
|
73529
73633
|
var NAME = "posthog-node";
|
|
73530
73634
|
function createEventProcessor(_posthog, { organization, projectId, prefix, severityAllowList = [
|
|
73531
73635
|
"error"
|
|
@@ -73593,7 +73697,7 @@ class PostHogSentryIntegration {
|
|
|
73593
73697
|
};
|
|
73594
73698
|
}
|
|
73595
73699
|
}
|
|
73596
|
-
//
|
|
73700
|
+
// node_modules/.bun/posthog-node@5.29.2/node_modules/posthog-node/dist/entrypoints/index.node.mjs
|
|
73597
73701
|
ErrorTracking.errorPropertiesBuilder = new exports_error_tracking.ErrorPropertiesBuilder([
|
|
73598
73702
|
new exports_error_tracking.EventCoercer,
|
|
73599
73703
|
new exports_error_tracking.ErrorCoercer,
|
|
@@ -74806,6 +74910,28 @@ function handleGetNotionWorkspace(config) {
|
|
|
74806
74910
|
fullAccessAgents
|
|
74807
74911
|
};
|
|
74808
74912
|
}
|
|
74913
|
+
function handleGetLinearAgents(config) {
|
|
74914
|
+
const agentNames = Object.keys(config.agents ?? {});
|
|
74915
|
+
const agents = [];
|
|
74916
|
+
for (const name of agentNames) {
|
|
74917
|
+
const rawAgent = config.agents?.[name];
|
|
74918
|
+
if (!rawAgent)
|
|
74919
|
+
continue;
|
|
74920
|
+
const linear = resolveAgentConfig(config.defaults, config.profiles, rawAgent).channels?.telegram?.linear_agent;
|
|
74921
|
+
if (!linear?.enabled)
|
|
74922
|
+
continue;
|
|
74923
|
+
const tok = linear.token;
|
|
74924
|
+
const tokenVaultKey = typeof tok === "string" && tok.startsWith("vault:") ? tok : null;
|
|
74925
|
+
agents.push({
|
|
74926
|
+
agent: name,
|
|
74927
|
+
workspaceId: linear.workspace_id ?? null,
|
|
74928
|
+
defaultTeamId: linear.default_team_id ?? null,
|
|
74929
|
+
tokenVaultKey
|
|
74930
|
+
});
|
|
74931
|
+
}
|
|
74932
|
+
agents.sort((a, b) => a.agent.localeCompare(b.agent));
|
|
74933
|
+
return { configured: agents.length > 0, agents };
|
|
74934
|
+
}
|
|
74809
74935
|
var connectionAccessStatuses = new Map;
|
|
74810
74936
|
function reapConnectionAccessStatuses(now = Date.now()) {
|
|
74811
74937
|
for (const [id, s] of connectionAccessStatuses) {
|
|
@@ -75877,6 +76003,23 @@ var MIME_TYPES = {
|
|
|
75877
76003
|
".svg": "image/svg+xml",
|
|
75878
76004
|
".ico": "image/x-icon"
|
|
75879
76005
|
};
|
|
76006
|
+
var SPA_TAB_ROUTES = new Set([
|
|
76007
|
+
"summary",
|
|
76008
|
+
"agents",
|
|
76009
|
+
"accounts",
|
|
76010
|
+
"system",
|
|
76011
|
+
"memory",
|
|
76012
|
+
"connections",
|
|
76013
|
+
"schedule",
|
|
76014
|
+
"approvals"
|
|
76015
|
+
]);
|
|
76016
|
+
function resolveDashboardFilePath(pathname) {
|
|
76017
|
+
const routeName = pathname.replace(/^\/+/, "").replace(/\/+$/, "");
|
|
76018
|
+
return pathname === "/" || SPA_TAB_ROUTES.has(routeName) ? "/index.html" : pathname;
|
|
76019
|
+
}
|
|
76020
|
+
function dashboardCacheControl(ext) {
|
|
76021
|
+
return ext === ".html" ? "no-cache, must-revalidate" : undefined;
|
|
76022
|
+
}
|
|
75880
76023
|
function jsonResponse(data, status = 200) {
|
|
75881
76024
|
return new Response(JSON.stringify(data), {
|
|
75882
76025
|
status,
|
|
@@ -76114,6 +76257,9 @@ function parseRoute(pathname, method) {
|
|
|
76114
76257
|
if (method === "GET" && pathname === "/api/notion-workspace") {
|
|
76115
76258
|
return { handler: "getNotionWorkspace", params: {} };
|
|
76116
76259
|
}
|
|
76260
|
+
if (method === "GET" && pathname === "/api/linear-agents") {
|
|
76261
|
+
return { handler: "getLinearAgents", params: {} };
|
|
76262
|
+
}
|
|
76117
76263
|
if (method === "GET" && pathname === "/api/schedule") {
|
|
76118
76264
|
return { handler: "getSchedule", params: {} };
|
|
76119
76265
|
}
|
|
@@ -76205,8 +76351,8 @@ function startWebServer(config, port, hostname = "127.0.0.1", configPath) {
|
|
|
76205
76351
|
return new Response("Unauthorized", { status: 401 });
|
|
76206
76352
|
}
|
|
76207
76353
|
const wsProto = req.headers.get("Sec-WebSocket-Protocol");
|
|
76208
|
-
const
|
|
76209
|
-
const upgraded = server2.upgrade(req,
|
|
76354
|
+
const headers2 = wsProto && wsProto.split(",").map((s) => s.trim()).includes("bearer") ? { "Sec-WebSocket-Protocol": "bearer" } : undefined;
|
|
76355
|
+
const upgraded = server2.upgrade(req, headers2 ? { headers: headers2 } : undefined);
|
|
76210
76356
|
if (!upgraded) {
|
|
76211
76357
|
return new Response("WebSocket upgrade failed", { status: 400 });
|
|
76212
76358
|
}
|
|
@@ -76294,6 +76440,8 @@ function startWebServer(config, port, hostname = "127.0.0.1", configPath) {
|
|
|
76294
76440
|
return (async () => jsonResponse(await handleGetMicrosoftAccounts(freshConfig())))();
|
|
76295
76441
|
case "getNotionWorkspace":
|
|
76296
76442
|
return jsonResponse(handleGetNotionWorkspace(freshConfig()));
|
|
76443
|
+
case "getLinearAgents":
|
|
76444
|
+
return jsonResponse(handleGetLinearAgents(freshConfig()));
|
|
76297
76445
|
case "getSchedule":
|
|
76298
76446
|
return (async () => jsonResponse(withStamp(await cachedSchedule())))();
|
|
76299
76447
|
case "getApprovals":
|
|
@@ -76428,7 +76576,7 @@ function startWebServer(config, port, hostname = "127.0.0.1", configPath) {
|
|
|
76428
76576
|
}
|
|
76429
76577
|
}
|
|
76430
76578
|
}
|
|
76431
|
-
|
|
76579
|
+
const filePath = resolveDashboardFilePath(pathname);
|
|
76432
76580
|
const fullPath = join47(uiDir, filePath);
|
|
76433
76581
|
if (!existsSync50(fullPath)) {
|
|
76434
76582
|
return new Response("Not Found", { status: 404 });
|
|
@@ -76446,9 +76594,11 @@ function startWebServer(config, port, hostname = "127.0.0.1", configPath) {
|
|
|
76446
76594
|
const ext = extname(realFullPath);
|
|
76447
76595
|
const contentType = MIME_TYPES[ext] ?? "application/octet-stream";
|
|
76448
76596
|
const content = readFileSync46(realFullPath);
|
|
76449
|
-
|
|
76450
|
-
|
|
76451
|
-
|
|
76597
|
+
const headers = { "Content-Type": contentType };
|
|
76598
|
+
const cacheControl = dashboardCacheControl(ext);
|
|
76599
|
+
if (cacheControl)
|
|
76600
|
+
headers["Cache-Control"] = cacheControl;
|
|
76601
|
+
return new Response(content, { headers });
|
|
76452
76602
|
},
|
|
76453
76603
|
websocket: {
|
|
76454
76604
|
open(_ws) {},
|
|
@@ -82019,7 +82169,7 @@ async function runNotionMcpLauncher(opts, runtime) {
|
|
|
82019
82169
|
return exitCode;
|
|
82020
82170
|
}
|
|
82021
82171
|
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
|
|
82172
|
+
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
82173
|
const { getViaBrokerStructured: getViaBrokerStructured2 } = await Promise.resolve().then(() => (init_client(), exports_client));
|
|
82024
82174
|
const code = await runNotionMcpLauncher(opts, {
|
|
82025
82175
|
fetchToken: async () => {
|
|
@@ -82492,7 +82642,7 @@ function createNotionApiClient(opts) {
|
|
|
82492
82642
|
// src/cli/notion.ts
|
|
82493
82643
|
init_client();
|
|
82494
82644
|
function registerNotionCommand(program3) {
|
|
82495
|
-
const cmd = program3.command("notion").description("Notion integration operator helpers (list-dbs, test). See
|
|
82645
|
+
const cmd = program3.command("notion").description("Notion integration operator helpers (list-dbs, test). See reference/rfcs/notion-integration.md.");
|
|
82496
82646
|
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
82647
|
const code = await runListDbs(opts);
|
|
82498
82648
|
process.exit(code);
|
|
@@ -82682,7 +82832,7 @@ async function fetchToken(vaultKey) {
|
|
|
82682
82832
|
|
|
82683
82833
|
// src/cli/apply.ts
|
|
82684
82834
|
init_source();
|
|
82685
|
-
import { accessSync as accessSync3, chownSync as chownSync7, constants as fsConstants6, copyFileSync as copyFileSync11, existsSync as existsSync74, mkdirSync as
|
|
82835
|
+
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
82836
|
import { mkdir as mkdir2 } from "node:fs/promises";
|
|
82687
82837
|
import { spawnSync as childSpawnSync } from "node:child_process";
|
|
82688
82838
|
import readline from "node:readline";
|
|
@@ -83071,16 +83221,97 @@ agents:
|
|
|
83071
83221
|
|
|
83072
83222
|
// src/cli/apply.ts
|
|
83073
83223
|
init_resolver();
|
|
83074
|
-
import { dirname as dirname23, join as
|
|
83224
|
+
import { dirname as dirname23, join as join76, resolve as resolve46 } from "node:path";
|
|
83075
83225
|
import { homedir as homedir44 } from "node:os";
|
|
83076
83226
|
import { execFileSync as execFileSync24 } from "node:child_process";
|
|
83077
83227
|
init_vault();
|
|
83078
83228
|
init_loader();
|
|
83079
83229
|
init_loader();
|
|
83080
83230
|
|
|
83081
|
-
// src/
|
|
83082
|
-
import {
|
|
83231
|
+
// src/agents/connection-health.ts
|
|
83232
|
+
import { mkdirSync as mkdirSync41, writeFileSync as writeFileSync36 } from "node:fs";
|
|
83083
83233
|
import { join as join73 } from "node:path";
|
|
83234
|
+
var CONNECTION_HEALTH_FILENAME = "connection-health.json";
|
|
83235
|
+
async function computeAgentConnectionIssues(config, agentName, vaultAclReader) {
|
|
83236
|
+
const reqs = computeMcpSecretRequirements(config).filter((r) => r.agent === agentName);
|
|
83237
|
+
if (reqs.length === 0)
|
|
83238
|
+
return [];
|
|
83239
|
+
const agentsNeedingKey = new Map;
|
|
83240
|
+
for (const r of computeMcpSecretRequirements(config)) {
|
|
83241
|
+
for (const key of r.keys) {
|
|
83242
|
+
let set = agentsNeedingKey.get(key);
|
|
83243
|
+
if (!set) {
|
|
83244
|
+
set = new Set;
|
|
83245
|
+
agentsNeedingKey.set(key, set);
|
|
83246
|
+
}
|
|
83247
|
+
set.add(r.agent);
|
|
83248
|
+
}
|
|
83249
|
+
}
|
|
83250
|
+
const aclCache = new Map;
|
|
83251
|
+
const readKey = async (key) => {
|
|
83252
|
+
const cached = aclCache.get(key);
|
|
83253
|
+
if (cached)
|
|
83254
|
+
return cached;
|
|
83255
|
+
const r = await vaultAclReader(key);
|
|
83256
|
+
aclCache.set(key, r);
|
|
83257
|
+
return r;
|
|
83258
|
+
};
|
|
83259
|
+
const issues = [];
|
|
83260
|
+
for (const r of reqs) {
|
|
83261
|
+
for (const key of r.keys) {
|
|
83262
|
+
const acl = await readKey(key);
|
|
83263
|
+
const want = [...agentsNeedingKey.get(key) ?? new Set].sort();
|
|
83264
|
+
if (acl.kind === "unreachable")
|
|
83265
|
+
continue;
|
|
83266
|
+
if (acl.kind === "not_found") {
|
|
83267
|
+
issues.push({
|
|
83268
|
+
server: r.server,
|
|
83269
|
+
key,
|
|
83270
|
+
kind: "missing",
|
|
83271
|
+
detail: `MCP '${r.server}' needs vault key '${key}', but it is missing \u2014 configured but not authed`,
|
|
83272
|
+
fix: `switchroom vault set ${key} --allow ${want.join(",")} (then provide the value)`
|
|
83273
|
+
});
|
|
83274
|
+
continue;
|
|
83275
|
+
}
|
|
83276
|
+
if (!acl.allow.includes(agentName)) {
|
|
83277
|
+
const updated = [...new Set([...acl.allow, agentName])].sort().join(",");
|
|
83278
|
+
issues.push({
|
|
83279
|
+
server: r.server,
|
|
83280
|
+
key,
|
|
83281
|
+
kind: "acl",
|
|
83282
|
+
detail: `MCP '${r.server}' not on the vault ACL for '${key}' \u2014 broker will deny at runtime`,
|
|
83283
|
+
fix: `switchroom vault set ${key} --allow ${updated} (re-state the full list)`
|
|
83284
|
+
});
|
|
83285
|
+
}
|
|
83286
|
+
}
|
|
83287
|
+
}
|
|
83288
|
+
return issues;
|
|
83289
|
+
}
|
|
83290
|
+
function writeConnectionHealthFile(agentDir, health, deps) {
|
|
83291
|
+
const dir = join73(agentDir, ".claude");
|
|
83292
|
+
const path7 = join73(dir, CONNECTION_HEALTH_FILENAME);
|
|
83293
|
+
(deps?.mkdir ?? ((p, o) => mkdirSync41(p, o)))(dir, { recursive: true });
|
|
83294
|
+
(deps?.writeFile ?? ((p, d) => writeFileSync36(p, d)))(path7, JSON.stringify(health, null, 2) + `
|
|
83295
|
+
`);
|
|
83296
|
+
}
|
|
83297
|
+
async function refreshAgentConnectionHealth(config, agentName, agentDir, deps) {
|
|
83298
|
+
const now = deps.now ?? Date.now;
|
|
83299
|
+
let issues = [];
|
|
83300
|
+
try {
|
|
83301
|
+
issues = await computeAgentConnectionIssues(config, agentName, deps.vaultAclReader);
|
|
83302
|
+
} catch {
|
|
83303
|
+
issues = [];
|
|
83304
|
+
}
|
|
83305
|
+
const health = { computedAt: now(), issues };
|
|
83306
|
+
try {
|
|
83307
|
+
writeConnectionHealthFile(agentDir, health, deps);
|
|
83308
|
+
} catch {}
|
|
83309
|
+
return health;
|
|
83310
|
+
}
|
|
83311
|
+
|
|
83312
|
+
// src/cli/update-prompt-hook.ts
|
|
83313
|
+
import { existsSync as existsSync72, readFileSync as readFileSync62, writeFileSync as writeFileSync37, chmodSync as chmodSync10, mkdirSync as mkdirSync42 } from "node:fs";
|
|
83314
|
+
import { join as join74 } from "node:path";
|
|
83084
83315
|
var HOOK_FILENAME = "update-card-on-prompt.sh";
|
|
83085
83316
|
function updatePromptHookScript() {
|
|
83086
83317
|
return `#!/bin/bash
|
|
@@ -83146,14 +83377,14 @@ exit 0
|
|
|
83146
83377
|
`;
|
|
83147
83378
|
}
|
|
83148
83379
|
function installUpdatePromptHook(agentDir) {
|
|
83149
|
-
const hooksDir =
|
|
83150
|
-
|
|
83151
|
-
const scriptPath =
|
|
83380
|
+
const hooksDir = join74(agentDir, ".claude", "hooks");
|
|
83381
|
+
mkdirSync42(hooksDir, { recursive: true });
|
|
83382
|
+
const scriptPath = join74(hooksDir, HOOK_FILENAME);
|
|
83152
83383
|
const desired = updatePromptHookScript();
|
|
83153
83384
|
let installed = false;
|
|
83154
83385
|
const existing = existsSync72(scriptPath) ? readFileSync62(scriptPath, "utf-8") : "";
|
|
83155
83386
|
if (existing !== desired) {
|
|
83156
|
-
|
|
83387
|
+
writeFileSync37(scriptPath, desired, { mode: 493 });
|
|
83157
83388
|
chmodSync10(scriptPath, 493);
|
|
83158
83389
|
installed = true;
|
|
83159
83390
|
} else {
|
|
@@ -83161,7 +83392,7 @@ function installUpdatePromptHook(agentDir) {
|
|
|
83161
83392
|
chmodSync10(scriptPath, 493);
|
|
83162
83393
|
} catch {}
|
|
83163
83394
|
}
|
|
83164
|
-
const settingsPath =
|
|
83395
|
+
const settingsPath = join74(agentDir, ".claude", "settings.json");
|
|
83165
83396
|
if (!existsSync72(settingsPath)) {
|
|
83166
83397
|
return { scriptPath, settingsPath, installed };
|
|
83167
83398
|
}
|
|
@@ -83198,7 +83429,7 @@ function installUpdatePromptHook(agentDir) {
|
|
|
83198
83429
|
});
|
|
83199
83430
|
hooks.UserPromptSubmit = list2;
|
|
83200
83431
|
parsed.hooks = hooks;
|
|
83201
|
-
|
|
83432
|
+
writeFileSync37(settingsPath, JSON.stringify(parsed, null, 2) + `
|
|
83202
83433
|
`, { mode: 384 });
|
|
83203
83434
|
installed = true;
|
|
83204
83435
|
}
|
|
@@ -83263,14 +83494,14 @@ var EMBEDDED_EXAMPLES = {
|
|
|
83263
83494
|
switchroom: switchroom_default,
|
|
83264
83495
|
minimal: minimal_default
|
|
83265
83496
|
};
|
|
83266
|
-
var DEFAULT_COMPOSE_PATH2 =
|
|
83497
|
+
var DEFAULT_COMPOSE_PATH2 = join76(homedir44(), ".switchroom", "compose", "docker-compose.yml");
|
|
83267
83498
|
var COMPOSE_PROJECT2 = "switchroom";
|
|
83268
83499
|
function resolveVaultBindMountDir(homeDir, ctx) {
|
|
83269
83500
|
const isCustomPath = ctx.migrationKind === "custom-path-skipped";
|
|
83270
83501
|
if (isCustomPath && ctx.customVaultPath) {
|
|
83271
83502
|
return dirname23(ctx.customVaultPath);
|
|
83272
83503
|
}
|
|
83273
|
-
return
|
|
83504
|
+
return join76(homeDir, ".switchroom", "vault");
|
|
83274
83505
|
}
|
|
83275
83506
|
function inspectVaultBindMountDir(vaultDir) {
|
|
83276
83507
|
if (!existsSync74(vaultDir))
|
|
@@ -83301,61 +83532,61 @@ function hasVaultRefs(value) {
|
|
|
83301
83532
|
async function ensureHostMountSources(config) {
|
|
83302
83533
|
const home2 = homedir44();
|
|
83303
83534
|
const dirs = [
|
|
83304
|
-
|
|
83305
|
-
|
|
83306
|
-
|
|
83307
|
-
|
|
83308
|
-
|
|
83535
|
+
join76(home2, ".switchroom", "approvals"),
|
|
83536
|
+
join76(home2, ".switchroom", "scheduler"),
|
|
83537
|
+
join76(home2, ".switchroom", "logs"),
|
|
83538
|
+
join76(home2, ".switchroom", "compose"),
|
|
83539
|
+
join76(home2, ".switchroom", "broker-operator")
|
|
83309
83540
|
];
|
|
83310
83541
|
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(
|
|
83542
|
+
dirs.push(join76(home2, ".switchroom", "agents", name));
|
|
83543
|
+
dirs.push(join76(home2, ".switchroom", "logs", name));
|
|
83544
|
+
dirs.push(join76(home2, ".claude", "projects", name));
|
|
83545
|
+
dirs.push(join76(home2, ".switchroom", "audit", name));
|
|
83546
|
+
if (existsSync74(join76(home2, ".switchroom-config"))) {
|
|
83547
|
+
dirs.push(join76(home2, ".switchroom-config", "agents", name, "personal-skills"));
|
|
83317
83548
|
}
|
|
83318
83549
|
}
|
|
83319
83550
|
for (const dir of dirs) {
|
|
83320
83551
|
await mkdir2(dir, { recursive: true });
|
|
83321
83552
|
}
|
|
83322
|
-
const autoUnlockPath =
|
|
83553
|
+
const autoUnlockPath = join76(home2, ".switchroom", "vault-auto-unlock");
|
|
83323
83554
|
if (!existsSync74(autoUnlockPath)) {
|
|
83324
|
-
|
|
83555
|
+
writeFileSync38(autoUnlockPath, "", { mode: 384 });
|
|
83325
83556
|
}
|
|
83326
|
-
const auditLogPath =
|
|
83557
|
+
const auditLogPath = join76(home2, ".switchroom", "vault-audit.log");
|
|
83327
83558
|
if (!existsSync74(auditLogPath)) {
|
|
83328
|
-
|
|
83559
|
+
writeFileSync38(auditLogPath, "", { mode: 420 });
|
|
83329
83560
|
}
|
|
83330
|
-
const grantsDbPath =
|
|
83561
|
+
const grantsDbPath = join76(home2, ".switchroom", "vault-grants.db");
|
|
83331
83562
|
if (!existsSync74(grantsDbPath)) {
|
|
83332
|
-
|
|
83563
|
+
writeFileSync38(grantsDbPath, "", { mode: 384 });
|
|
83333
83564
|
}
|
|
83334
|
-
const hostdAuditLogPath =
|
|
83565
|
+
const hostdAuditLogPath = join76(home2, ".switchroom", "host-control-audit.log");
|
|
83335
83566
|
if (!existsSync74(hostdAuditLogPath)) {
|
|
83336
|
-
|
|
83567
|
+
writeFileSync38(hostdAuditLogPath, "", { mode: 420 });
|
|
83337
83568
|
}
|
|
83338
83569
|
for (const name of Object.keys(config.agents)) {
|
|
83339
|
-
const tokenPath =
|
|
83570
|
+
const tokenPath = join76(home2, ".switchroom", "agents", name, ".vault-token");
|
|
83340
83571
|
if (!existsSync74(tokenPath)) {
|
|
83341
|
-
|
|
83572
|
+
writeFileSync38(tokenPath, "", { mode: 384 });
|
|
83342
83573
|
}
|
|
83343
83574
|
try {
|
|
83344
83575
|
const uid = allocateAgentUid(name);
|
|
83345
83576
|
chownSync7(tokenPath, uid, uid);
|
|
83346
83577
|
} catch {}
|
|
83347
83578
|
}
|
|
83348
|
-
const fleetDir =
|
|
83579
|
+
const fleetDir = join76(home2, ".switchroom", "fleet");
|
|
83349
83580
|
await mkdir2(fleetDir, { recursive: true });
|
|
83350
|
-
const invariantsPath =
|
|
83581
|
+
const invariantsPath = join76(fleetDir, "switchroom-invariants.md");
|
|
83351
83582
|
const invariantsCanonical = renderFleetInvariants();
|
|
83352
83583
|
const invariantsCurrent = existsSync74(invariantsPath) ? readFileSync63(invariantsPath, "utf-8") : null;
|
|
83353
83584
|
if (invariantsCurrent !== invariantsCanonical) {
|
|
83354
|
-
|
|
83585
|
+
writeFileSync38(invariantsPath, invariantsCanonical, { mode: 420 });
|
|
83355
83586
|
}
|
|
83356
|
-
const fleetClaudePath =
|
|
83587
|
+
const fleetClaudePath = join76(fleetDir, "CLAUDE.md");
|
|
83357
83588
|
if (!existsSync74(fleetClaudePath)) {
|
|
83358
|
-
|
|
83589
|
+
writeFileSync38(fleetClaudePath, [
|
|
83359
83590
|
"# Switchroom fleet defaults",
|
|
83360
83591
|
"",
|
|
83361
83592
|
"Operator-owned fleet brain. Every agent reads this via",
|
|
@@ -83438,16 +83669,16 @@ function detectAndReportLegacyGdriveSlots(vaultPath) {
|
|
|
83438
83669
|
}
|
|
83439
83670
|
function writeInstallTypeCache(homeDir = homedir44()) {
|
|
83440
83671
|
const ctx = detectInstallType();
|
|
83441
|
-
const dir =
|
|
83442
|
-
const out =
|
|
83672
|
+
const dir = join76(homeDir, ".switchroom");
|
|
83673
|
+
const out = join76(dir, "install-type.json");
|
|
83443
83674
|
const tmp = `${out}.tmp`;
|
|
83444
|
-
|
|
83675
|
+
mkdirSync43(dir, { recursive: true });
|
|
83445
83676
|
const payload = {
|
|
83446
83677
|
install_type: ctx.install_type,
|
|
83447
83678
|
detected_at: new Date().toISOString(),
|
|
83448
83679
|
source_paths: ctx.source_paths
|
|
83449
83680
|
};
|
|
83450
|
-
|
|
83681
|
+
writeFileSync38(tmp, JSON.stringify(payload, null, 2), { mode: 420 });
|
|
83451
83682
|
renameSync14(tmp, out);
|
|
83452
83683
|
return out;
|
|
83453
83684
|
}
|
|
@@ -83474,6 +83705,20 @@ Applying switchroom config...
|
|
|
83474
83705
|
writeOut(source_default.gray(` (--only=${options.only}: scaffolding/aligning this agent only; ` + `compose still covers all ${allAgentNames.length})
|
|
83475
83706
|
`));
|
|
83476
83707
|
}
|
|
83708
|
+
const connHealthVaultAclReader = async (key) => {
|
|
83709
|
+
try {
|
|
83710
|
+
const { getViaBrokerStructured: getViaBrokerStructured2 } = await Promise.resolve().then(() => (init_client(), exports_client));
|
|
83711
|
+
const result = await getViaBrokerStructured2(key);
|
|
83712
|
+
if (result.kind === "ok") {
|
|
83713
|
+
return { kind: "ok", allow: result.entry.scope?.allow ?? [] };
|
|
83714
|
+
}
|
|
83715
|
+
if (result.kind === "not_found")
|
|
83716
|
+
return { kind: "not_found" };
|
|
83717
|
+
return { kind: "unreachable", msg: result.msg };
|
|
83718
|
+
} catch (err) {
|
|
83719
|
+
return { kind: "unreachable", msg: err.message };
|
|
83720
|
+
}
|
|
83721
|
+
};
|
|
83477
83722
|
let scaffolded = 0;
|
|
83478
83723
|
const failures = [];
|
|
83479
83724
|
|
|
@@ -83488,14 +83733,17 @@ Applying switchroom config...
|
|
|
83488
83733
|
writeOut(source_default.green(` + ${name}`) + source_default.gray(` (${agentConfig.extends ?? "default"}) \u2014 ${detail}
|
|
83489
83734
|
`));
|
|
83490
83735
|
try {
|
|
83491
|
-
installUpdatePromptHook(
|
|
83736
|
+
installUpdatePromptHook(join76(agentsDir, name));
|
|
83492
83737
|
} catch (hookErr) {
|
|
83493
83738
|
writeOut(source_default.gray(` (update-prompt hook install failed for ${name}: ${hookErr.message})
|
|
83494
83739
|
`));
|
|
83495
83740
|
}
|
|
83741
|
+
await refreshAgentConnectionHealth(config, name, join76(agentsDir, name), {
|
|
83742
|
+
vaultAclReader: connHealthVaultAclReader
|
|
83743
|
+
});
|
|
83496
83744
|
try {
|
|
83497
83745
|
const uid = allocateAgentUid(name);
|
|
83498
|
-
alignAgentUid(name,
|
|
83746
|
+
alignAgentUid(name, join76(agentsDir, name), uid, {
|
|
83499
83747
|
confirm: !options.nonInteractive,
|
|
83500
83748
|
writeOut
|
|
83501
83749
|
});
|
|
@@ -83503,12 +83751,12 @@ Applying switchroom config...
|
|
|
83503
83751
|
const msg = alignErr.message;
|
|
83504
83752
|
if (options.allowUnaligned) {
|
|
83505
83753
|
writeOut(source_default.yellow(` ! could not chown ${name} state dir: ${msg}
|
|
83506
|
-
|
|
83754
|
+
continuing because --allow-unaligned was passed; agent may fail on first write.
|
|
83507
83755
|
`));
|
|
83508
83756
|
} else {
|
|
83509
83757
|
writeOut(source_default.red(` x could not chown ${name} state dir: ${msg}
|
|
83510
|
-
|
|
83511
|
-
|
|
83758
|
+
The bind-mounted state dir must be owned by the container's UID or the agent will fail on first write.
|
|
83759
|
+
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
83760
|
`));
|
|
83513
83761
|
throw new UidAlignmentAbort(`UID alignment failed for agent ${name}; aborting apply (pass --allow-unaligned to override).`);
|
|
83514
83762
|
}
|
|
@@ -83532,14 +83780,14 @@ Applying switchroom config...
|
|
|
83532
83780
|
for (const name of agentNames) {
|
|
83533
83781
|
try {
|
|
83534
83782
|
const uid = allocateAgentUid(name);
|
|
83535
|
-
alignAgentUid(name,
|
|
83783
|
+
alignAgentUid(name, join76(agentsDir, name), uid, {
|
|
83536
83784
|
confirm: !options.nonInteractive,
|
|
83537
83785
|
writeOut
|
|
83538
83786
|
});
|
|
83539
83787
|
} catch (alignErr) {
|
|
83540
83788
|
const msg = alignErr.message;
|
|
83541
83789
|
writeOut(source_default.yellow(` ! post-mount-source UID re-align failed for ${name}: ${msg}
|
|
83542
|
-
|
|
83790
|
+
Agent may fail to write supervisor logs on first boot.
|
|
83543
83791
|
`));
|
|
83544
83792
|
}
|
|
83545
83793
|
}
|
|
@@ -83582,7 +83830,7 @@ Applying switchroom config...
|
|
|
83582
83830
|
];
|
|
83583
83831
|
if (!acceptable.includes(postMigrationInspect.kind)) {
|
|
83584
83832
|
writeErr(source_default.red(`Post-migration verification failed: state is ${postMigrationInspect.kind}
|
|
83585
|
-
|
|
83833
|
+
Expected one of: ${acceptable.join(", ")}
|
|
83586
83834
|
` + `This is a switchroom bug \u2014 please file an issue with the apply log.
|
|
83587
83835
|
`));
|
|
83588
83836
|
process.exit(5);
|
|
@@ -83597,11 +83845,11 @@ Applying switchroom config...
|
|
|
83597
83845
|
writeErr(source_default.red(`Vault directory ${vaultDir} contains unexpected files:
|
|
83598
83846
|
` + unknown.map((n) => ` - ${n}
|
|
83599
83847
|
`).join("") + `Refusing to bind-mount: a docker bind-mount source is the
|
|
83600
|
-
|
|
83601
|
-
|
|
83602
|
-
|
|
83603
|
-
|
|
83604
|
-
|
|
83848
|
+
entire directory, so unexpected files would be visible inside
|
|
83849
|
+
the broker container. Move them out, then re-run apply.
|
|
83850
|
+
Known artifacts: vault.enc, vault.enc.bak, vault.enc.tmp,
|
|
83851
|
+
vault.enc.lock (PID-file flock from saveVault), and
|
|
83852
|
+
.vault.enc.<pid>.<ms>.tmp (atomicWriteFileSync sibling-tmp).
|
|
83605
83853
|
`));
|
|
83606
83854
|
process.exit(6);
|
|
83607
83855
|
}
|
|
@@ -83620,8 +83868,8 @@ Applying switchroom config...
|
|
|
83620
83868
|
Wrote `) + displayComposePath + source_default.gray(` (${composeBytes} bytes)
|
|
83621
83869
|
`));
|
|
83622
83870
|
writeOut(`Bring the fleet up with:
|
|
83623
|
-
|
|
83624
|
-
|
|
83871
|
+
docker compose -p ${COMPOSE_PROJECT2} -f ${displayComposePath} pull && \\
|
|
83872
|
+
docker compose -p ${COMPOSE_PROJECT2} -f ${displayComposePath} up -d --remove-orphans
|
|
83625
83873
|
`);
|
|
83626
83874
|
writeOut(source_default.gray(` (If pull returns 401, login to ghcr.io first: see docs/operators/install.md#ghcr-auth)
|
|
83627
83875
|
`));
|
|
@@ -83680,7 +83928,7 @@ function copyExampleConfig2(name) {
|
|
|
83680
83928
|
}
|
|
83681
83929
|
const embedded = EMBEDDED_EXAMPLES[name];
|
|
83682
83930
|
if (embedded !== undefined) {
|
|
83683
|
-
|
|
83931
|
+
writeFileSync38(dest, embedded, { encoding: "utf8" });
|
|
83684
83932
|
console.log(source_default.green(`Copied ${name}.yaml -> switchroom.yaml`));
|
|
83685
83933
|
return;
|
|
83686
83934
|
}
|
|
@@ -83696,7 +83944,7 @@ function findUnwritableAgentDirs(config, opts) {
|
|
|
83696
83944
|
const targets = opts.only ? [opts.only] : Object.keys(config.agents ?? {});
|
|
83697
83945
|
const unwritable = [];
|
|
83698
83946
|
for (const name of targets) {
|
|
83699
|
-
const startSh =
|
|
83947
|
+
const startSh = join76(agentsDir, name, "start.sh");
|
|
83700
83948
|
if (!existsSync74(startSh))
|
|
83701
83949
|
continue;
|
|
83702
83950
|
try {
|
|
@@ -83743,7 +83991,8 @@ function reexecUnderSudo() {
|
|
|
83743
83991
|
if (errCode === "ENOENT") {
|
|
83744
83992
|
process.stderr.write(source_default.red(`
|
|
83745
83993
|
ERROR: sudo not found on PATH. Re-run as root, or use
|
|
83746
|
-
|
|
83994
|
+
\`switchroom apply --compose-only\` to skip the per-agent
|
|
83995
|
+
scaffold refresh entirely (compose file still regenerates).
|
|
83747
83996
|
`));
|
|
83748
83997
|
process.exit(1);
|
|
83749
83998
|
}
|
|
@@ -83756,7 +84005,7 @@ ERROR: failed to spawn sudo: ${result.error.message}
|
|
|
83756
84005
|
process.exit(result.status ?? 1);
|
|
83757
84006
|
}
|
|
83758
84007
|
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:
|
|
84008
|
+
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
84009
|
try {
|
|
83761
84010
|
if (opts.example) {
|
|
83762
84011
|
copyExampleConfig2(opts.example);
|
|
@@ -83782,7 +84031,7 @@ function registerApplyCommand(program3) {
|
|
|
83782
84031
|
const canPrompt = !opts.nonInteractive && process.stdin.isTTY === true;
|
|
83783
84032
|
const proceed = canPrompt ? await confirmYesNo(`Re-exec under sudo to refresh them? [Y/n] `) : true;
|
|
83784
84033
|
if (!proceed) {
|
|
83785
|
-
process.stderr.write(source_default.gray(
|
|
84034
|
+
process.stderr.write(source_default.gray(`Skipping. Re-run with --compose-only to regenerate compose without touching per-agent files.
|
|
83786
84035
|
`));
|
|
83787
84036
|
process.exit(0);
|
|
83788
84037
|
}
|
|
@@ -83876,7 +84125,7 @@ function runRedactStdin() {
|
|
|
83876
84125
|
|
|
83877
84126
|
// src/cli/status-ask.ts
|
|
83878
84127
|
import { readFileSync as readFileSync64, existsSync as existsSync75, readdirSync as readdirSync27 } from "node:fs";
|
|
83879
|
-
import { join as
|
|
84128
|
+
import { join as join77 } from "node:path";
|
|
83880
84129
|
import { homedir as homedir45 } from "node:os";
|
|
83881
84130
|
|
|
83882
84131
|
// src/status-ask/report.ts
|
|
@@ -84212,7 +84461,7 @@ function resolveSources(explicitPath) {
|
|
|
84212
84461
|
const config = loadConfig();
|
|
84213
84462
|
agentsDir = resolveAgentsDir(config);
|
|
84214
84463
|
} catch {
|
|
84215
|
-
agentsDir =
|
|
84464
|
+
agentsDir = join77(homedir45(), ".switchroom", "agents");
|
|
84216
84465
|
}
|
|
84217
84466
|
if (!existsSync75(agentsDir))
|
|
84218
84467
|
return [];
|
|
@@ -84224,7 +84473,7 @@ function resolveSources(explicitPath) {
|
|
|
84224
84473
|
return [];
|
|
84225
84474
|
}
|
|
84226
84475
|
for (const name of entries) {
|
|
84227
|
-
const path8 =
|
|
84476
|
+
const path8 = join77(agentsDir, name, "runtime-metrics.jsonl");
|
|
84228
84477
|
if (existsSync75(path8)) {
|
|
84229
84478
|
sources.push({ path: path8, agent: name });
|
|
84230
84479
|
}
|
|
@@ -84253,7 +84502,7 @@ import {
|
|
|
84253
84502
|
closeSync as closeSync13,
|
|
84254
84503
|
existsSync as existsSync76,
|
|
84255
84504
|
fsyncSync as fsyncSync6,
|
|
84256
|
-
mkdirSync as
|
|
84505
|
+
mkdirSync as mkdirSync44,
|
|
84257
84506
|
openSync as openSync13,
|
|
84258
84507
|
readdirSync as readdirSync28,
|
|
84259
84508
|
readFileSync as readFileSync65,
|
|
@@ -84262,34 +84511,34 @@ import {
|
|
|
84262
84511
|
unlinkSync as unlinkSync14,
|
|
84263
84512
|
writeSync as writeSync8
|
|
84264
84513
|
} from "node:fs";
|
|
84265
|
-
import { join as
|
|
84514
|
+
import { join as join78, resolve as resolve47 } from "node:path";
|
|
84266
84515
|
var STAGING_SUBDIR = ".staging";
|
|
84267
84516
|
function overlayPathsFor(agent, opts = {}) {
|
|
84268
84517
|
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 =
|
|
84518
|
+
const scheduleDir = join78(base, "schedule.d");
|
|
84519
|
+
const scheduleStagingDir = join78(scheduleDir, STAGING_SUBDIR);
|
|
84520
|
+
const skillsDir = join78(base, "skills.d");
|
|
84521
|
+
const skillsStagingDir = join78(skillsDir, STAGING_SUBDIR);
|
|
84273
84522
|
return {
|
|
84274
84523
|
agentRoot: base,
|
|
84275
84524
|
scheduleDir,
|
|
84276
84525
|
scheduleStagingDir,
|
|
84277
84526
|
skillsDir,
|
|
84278
84527
|
skillsStagingDir,
|
|
84279
|
-
lockPath:
|
|
84528
|
+
lockPath: join78(base, ".lock"),
|
|
84280
84529
|
stagingDir: scheduleStagingDir
|
|
84281
84530
|
};
|
|
84282
84531
|
}
|
|
84283
84532
|
function ensureDirs(paths) {
|
|
84284
|
-
|
|
84285
|
-
|
|
84533
|
+
mkdirSync44(paths.scheduleDir, { recursive: true });
|
|
84534
|
+
mkdirSync44(paths.scheduleStagingDir, { recursive: true });
|
|
84286
84535
|
}
|
|
84287
84536
|
function ensureSkillsDirs(paths) {
|
|
84288
|
-
|
|
84289
|
-
|
|
84537
|
+
mkdirSync44(paths.skillsDir, { recursive: true });
|
|
84538
|
+
mkdirSync44(paths.skillsStagingDir, { recursive: true });
|
|
84290
84539
|
}
|
|
84291
84540
|
function withAgentLock(paths, fn) {
|
|
84292
|
-
|
|
84541
|
+
mkdirSync44(paths.agentRoot, { recursive: true });
|
|
84293
84542
|
const start = Date.now();
|
|
84294
84543
|
const TIMEOUT_MS = 5000;
|
|
84295
84544
|
let fd = null;
|
|
@@ -84330,8 +84579,8 @@ function writeOverlayEntry(agent, slug, yamlText, opts = {}) {
|
|
|
84330
84579
|
const paths = overlayPathsFor(agent, opts);
|
|
84331
84580
|
return withAgentLock(paths, () => {
|
|
84332
84581
|
ensureDirs(paths);
|
|
84333
|
-
const stagingPath =
|
|
84334
|
-
const finalPath =
|
|
84582
|
+
const stagingPath = join78(paths.scheduleStagingDir, `${slug}.yaml`);
|
|
84583
|
+
const finalPath = join78(paths.scheduleDir, `${slug}.yaml`);
|
|
84335
84584
|
const fd = openSync13(stagingPath, "w", 384);
|
|
84336
84585
|
try {
|
|
84337
84586
|
writeSync8(fd, yamlText);
|
|
@@ -84347,8 +84596,8 @@ function writeSkillsOverlayEntry(agent, slug, yamlText, opts = {}) {
|
|
|
84347
84596
|
const paths = overlayPathsFor(agent, opts);
|
|
84348
84597
|
return withAgentLock(paths, () => {
|
|
84349
84598
|
ensureSkillsDirs(paths);
|
|
84350
|
-
const stagingPath =
|
|
84351
|
-
const finalPath =
|
|
84599
|
+
const stagingPath = join78(paths.skillsStagingDir, `${slug}.yaml`);
|
|
84600
|
+
const finalPath = join78(paths.skillsDir, `${slug}.yaml`);
|
|
84352
84601
|
const fd = openSync13(stagingPath, "w", 384);
|
|
84353
84602
|
try {
|
|
84354
84603
|
writeSync8(fd, yamlText);
|
|
@@ -84363,7 +84612,7 @@ function writeSkillsOverlayEntry(agent, slug, yamlText, opts = {}) {
|
|
|
84363
84612
|
function deleteSkillsOverlayEntry(agent, slug, opts = {}) {
|
|
84364
84613
|
const paths = overlayPathsFor(agent, opts);
|
|
84365
84614
|
return withAgentLock(paths, () => {
|
|
84366
|
-
const finalPath =
|
|
84615
|
+
const finalPath = join78(paths.skillsDir, `${slug}.yaml`);
|
|
84367
84616
|
if (!existsSync76(finalPath))
|
|
84368
84617
|
return false;
|
|
84369
84618
|
unlinkSync14(finalPath);
|
|
@@ -84378,7 +84627,7 @@ function listSkillsOverlayEntries(agent, opts = {}) {
|
|
|
84378
84627
|
for (const name of readdirSync28(paths.skillsDir)) {
|
|
84379
84628
|
if (!/\.ya?ml$/i.test(name))
|
|
84380
84629
|
continue;
|
|
84381
|
-
const full =
|
|
84630
|
+
const full = join78(paths.skillsDir, name);
|
|
84382
84631
|
try {
|
|
84383
84632
|
const raw = readFileSync65(full, "utf-8");
|
|
84384
84633
|
const slug = name.replace(/\.ya?ml$/i, "");
|
|
@@ -84390,7 +84639,7 @@ function listSkillsOverlayEntries(agent, opts = {}) {
|
|
|
84390
84639
|
function deleteOverlayEntry(agent, slug, opts = {}) {
|
|
84391
84640
|
const paths = overlayPathsFor(agent, opts);
|
|
84392
84641
|
return withAgentLock(paths, () => {
|
|
84393
|
-
const finalPath =
|
|
84642
|
+
const finalPath = join78(paths.scheduleDir, `${slug}.yaml`);
|
|
84394
84643
|
if (!existsSync76(finalPath))
|
|
84395
84644
|
return false;
|
|
84396
84645
|
unlinkSync14(finalPath);
|
|
@@ -84405,7 +84654,7 @@ function listOverlayEntries(agent, opts = {}) {
|
|
|
84405
84654
|
for (const name of readdirSync28(paths.scheduleDir)) {
|
|
84406
84655
|
if (!/\.ya?ml$/i.test(name))
|
|
84407
84656
|
continue;
|
|
84408
|
-
const full =
|
|
84657
|
+
const full = join78(paths.scheduleDir, name);
|
|
84409
84658
|
try {
|
|
84410
84659
|
const raw = readFileSync65(full, "utf-8");
|
|
84411
84660
|
const slug = name.replace(/\.ya?ml$/i, "");
|
|
@@ -84552,25 +84801,25 @@ import {
|
|
|
84552
84801
|
closeSync as closeSync14,
|
|
84553
84802
|
existsSync as existsSync77,
|
|
84554
84803
|
fsyncSync as fsyncSync7,
|
|
84555
|
-
mkdirSync as
|
|
84804
|
+
mkdirSync as mkdirSync45,
|
|
84556
84805
|
openSync as openSync14,
|
|
84557
84806
|
readdirSync as readdirSync29,
|
|
84558
84807
|
readFileSync as readFileSync66,
|
|
84559
84808
|
renameSync as renameSync16,
|
|
84560
84809
|
unlinkSync as unlinkSync15,
|
|
84561
|
-
writeFileSync as
|
|
84810
|
+
writeFileSync as writeFileSync39,
|
|
84562
84811
|
writeSync as writeSync9
|
|
84563
84812
|
} from "node:fs";
|
|
84564
|
-
import { join as
|
|
84813
|
+
import { join as join79 } from "node:path";
|
|
84565
84814
|
import { randomBytes as randomBytes14 } from "node:crypto";
|
|
84566
84815
|
var STAGE_ID_PREFIX = "cap_";
|
|
84567
84816
|
function pendingDir(agent, opts = {}) {
|
|
84568
84817
|
const paths = overlayPathsFor(agent, opts);
|
|
84569
|
-
return
|
|
84818
|
+
return join79(paths.scheduleDir, ".pending");
|
|
84570
84819
|
}
|
|
84571
84820
|
function ensurePendingDir(agent, opts = {}) {
|
|
84572
84821
|
const dir = pendingDir(agent, opts);
|
|
84573
|
-
|
|
84822
|
+
mkdirSync45(dir, { recursive: true });
|
|
84574
84823
|
return dir;
|
|
84575
84824
|
}
|
|
84576
84825
|
function newStageId() {
|
|
@@ -84579,8 +84828,8 @@ function newStageId() {
|
|
|
84579
84828
|
function stagePendingScheduleEntry(opts) {
|
|
84580
84829
|
const dir = ensurePendingDir(opts.agent, { root: opts.root });
|
|
84581
84830
|
const stageId = opts.stageId ?? newStageId();
|
|
84582
|
-
const yamlPath =
|
|
84583
|
-
const metaPath =
|
|
84831
|
+
const yamlPath = join79(dir, `${stageId}.yaml`);
|
|
84832
|
+
const metaPath = join79(dir, `${stageId}.meta.json`);
|
|
84584
84833
|
const meta = {
|
|
84585
84834
|
v: 1,
|
|
84586
84835
|
stage_id: stageId,
|
|
@@ -84601,7 +84850,7 @@ function stagePendingScheduleEntry(opts) {
|
|
|
84601
84850
|
}
|
|
84602
84851
|
renameSync16(yamlTmp, yamlPath);
|
|
84603
84852
|
}
|
|
84604
|
-
|
|
84853
|
+
writeFileSync39(metaPath, JSON.stringify(meta, null, 2) + `
|
|
84605
84854
|
`, { mode: 384 });
|
|
84606
84855
|
return { stageId, yamlPath, metaPath };
|
|
84607
84856
|
}
|
|
@@ -84614,8 +84863,8 @@ function listPendingScheduleEntries(agent, opts = {}) {
|
|
|
84614
84863
|
if (!name.endsWith(".meta.json"))
|
|
84615
84864
|
continue;
|
|
84616
84865
|
const stageId = name.slice(0, -".meta.json".length);
|
|
84617
|
-
const metaPath =
|
|
84618
|
-
const yamlPath =
|
|
84866
|
+
const metaPath = join79(dir, name);
|
|
84867
|
+
const yamlPath = join79(dir, `${stageId}.yaml`);
|
|
84619
84868
|
if (!existsSync77(yamlPath))
|
|
84620
84869
|
continue;
|
|
84621
84870
|
try {
|
|
@@ -84634,7 +84883,7 @@ function commitPendingScheduleEntry(opts) {
|
|
|
84634
84883
|
return { committed: false, reason: "not_found" };
|
|
84635
84884
|
const slug = match.meta.entry.name ?? match.stageId;
|
|
84636
84885
|
const paths = overlayPathsFor(opts.agent, { root: opts.root });
|
|
84637
|
-
const finalPath =
|
|
84886
|
+
const finalPath = join79(paths.scheduleDir, `${slug}.yaml`);
|
|
84638
84887
|
if (existsSync77(finalPath)) {
|
|
84639
84888
|
return { committed: false, reason: "slug_collision" };
|
|
84640
84889
|
}
|
|
@@ -85267,7 +85516,7 @@ var import_yaml21 = __toESM(require_dist(), 1);
|
|
|
85267
85516
|
import { existsSync as existsSync79 } from "node:fs";
|
|
85268
85517
|
init_reconcile_default_skills();
|
|
85269
85518
|
var import_yaml22 = __toESM(require_dist(), 1);
|
|
85270
|
-
import { join as
|
|
85519
|
+
import { join as join80 } from "node:path";
|
|
85271
85520
|
var MAX_SKILLS_PER_AGENT = 20;
|
|
85272
85521
|
var V1_ALLOWED_SOURCE_PREFIX = "bundled:";
|
|
85273
85522
|
function exitCodeFor2(code) {
|
|
@@ -85342,7 +85591,7 @@ function skillInstall(opts) {
|
|
|
85342
85591
|
return err("E_SKILL_QUOTA_EXCEEDED", `agent ${agent} already has ${used} overlay-installed skills (cap ${MAX_SKILLS_PER_AGENT})`);
|
|
85343
85592
|
}
|
|
85344
85593
|
const poolDir = opts.bundledSkillsPoolDir ?? getBundledSkillsPoolDir();
|
|
85345
|
-
const skillPath =
|
|
85594
|
+
const skillPath = join80(poolDir, skillName);
|
|
85346
85595
|
if (!existsSync79(skillPath)) {
|
|
85347
85596
|
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
85597
|
}
|
|
@@ -85509,7 +85758,7 @@ import {
|
|
|
85509
85758
|
closeSync as closeSync15,
|
|
85510
85759
|
existsSync as existsSync80,
|
|
85511
85760
|
lstatSync as lstatSync9,
|
|
85512
|
-
mkdirSync as
|
|
85761
|
+
mkdirSync as mkdirSync46,
|
|
85513
85762
|
mkdtempSync as mkdtempSync5,
|
|
85514
85763
|
openSync as openSync15,
|
|
85515
85764
|
readFileSync as readFileSync68,
|
|
@@ -85518,10 +85767,10 @@ import {
|
|
|
85518
85767
|
renameSync as renameSync17,
|
|
85519
85768
|
rmSync as rmSync16,
|
|
85520
85769
|
statSync as statSync32,
|
|
85521
|
-
writeFileSync as
|
|
85770
|
+
writeFileSync as writeFileSync40
|
|
85522
85771
|
} from "node:fs";
|
|
85523
85772
|
import { tmpdir as tmpdir5, homedir as homedir46 } from "node:os";
|
|
85524
|
-
import { dirname as dirname24, join as
|
|
85773
|
+
import { dirname as dirname24, join as join81, relative as relative2, resolve as resolve48 } from "node:path";
|
|
85525
85774
|
import { spawnSync as spawnSync12 } from "node:child_process";
|
|
85526
85775
|
|
|
85527
85776
|
// src/cli/skill-common.ts
|
|
@@ -85715,7 +85964,7 @@ function scanForClaudeP2(content) {
|
|
|
85715
85964
|
function resolveSkillsPoolDir2(override) {
|
|
85716
85965
|
const raw = override ?? "~/.switchroom/skills";
|
|
85717
85966
|
if (raw.startsWith("~/")) {
|
|
85718
|
-
return
|
|
85967
|
+
return join81(homedir46(), raw.slice(2));
|
|
85719
85968
|
}
|
|
85720
85969
|
if (raw === "~")
|
|
85721
85970
|
return homedir46();
|
|
@@ -85754,7 +86003,7 @@ function loadFromDir(dir) {
|
|
|
85754
86003
|
const walk2 = (sub) => {
|
|
85755
86004
|
const entries = readdirSync30(sub, { withFileTypes: true });
|
|
85756
86005
|
for (const ent of entries) {
|
|
85757
|
-
const full =
|
|
86006
|
+
const full = join81(sub, ent.name);
|
|
85758
86007
|
const rel = relative2(abs, full);
|
|
85759
86008
|
if (ent.isSymbolicLink()) {
|
|
85760
86009
|
fail3(`refusing to read symlink inside --from dir: ${rel}`);
|
|
@@ -85789,7 +86038,7 @@ function loadFromTarball(tarPath) {
|
|
|
85789
86038
|
fail3(`tarball contains disallowed path: ${JSON.stringify(entry)} \u2014 ` + `refusing to extract before any file is written`);
|
|
85790
86039
|
}
|
|
85791
86040
|
}
|
|
85792
|
-
const staging = mkdtempSync5(
|
|
86041
|
+
const staging = mkdtempSync5(join81(tmpdir5(), "skill-apply-extract-"));
|
|
85793
86042
|
try {
|
|
85794
86043
|
const flags = isGz ? ["-xzf"] : ["-xf"];
|
|
85795
86044
|
const r = spawnSync12("tar", [
|
|
@@ -85875,10 +86124,10 @@ function validatePayload(name, files) {
|
|
|
85875
86124
|
errors2.push(`${path8} fails \`bash -n\` syntax check: ${(r.stderr ?? "").trim()}`);
|
|
85876
86125
|
}
|
|
85877
86126
|
} else if (PY_SCRIPT_RE2.test(path8)) {
|
|
85878
|
-
const tmp = mkdtempSync5(
|
|
85879
|
-
const tmpPy =
|
|
86127
|
+
const tmp = mkdtempSync5(join81(tmpdir5(), "skill-apply-py-"));
|
|
86128
|
+
const tmpPy = join81(tmp, "check.py");
|
|
85880
86129
|
try {
|
|
85881
|
-
|
|
86130
|
+
writeFileSync40(tmpPy, content);
|
|
85882
86131
|
const r = spawnSync12("python3", ["-m", "py_compile", tmpPy], {
|
|
85883
86132
|
encoding: "utf-8"
|
|
85884
86133
|
});
|
|
@@ -85899,7 +86148,7 @@ function diffSummary(currentDir, files) {
|
|
|
85899
86148
|
if (existsSync80(currentDir)) {
|
|
85900
86149
|
const walk2 = (sub) => {
|
|
85901
86150
|
for (const ent of readdirSync30(sub, { withFileTypes: true })) {
|
|
85902
|
-
const full =
|
|
86151
|
+
const full = join81(sub, ent.name);
|
|
85903
86152
|
const rel = relative2(currentDir, full);
|
|
85904
86153
|
if (ent.isDirectory()) {
|
|
85905
86154
|
walk2(full);
|
|
@@ -85933,9 +86182,9 @@ function diffSummary(currentDir, files) {
|
|
|
85933
86182
|
}
|
|
85934
86183
|
function writePayload(poolDir, name, files) {
|
|
85935
86184
|
if (!existsSync80(poolDir)) {
|
|
85936
|
-
|
|
86185
|
+
mkdirSync46(poolDir, { recursive: true, mode: 493 });
|
|
85937
86186
|
}
|
|
85938
|
-
const target =
|
|
86187
|
+
const target = join81(poolDir, name);
|
|
85939
86188
|
let targetIsSymlink = false;
|
|
85940
86189
|
try {
|
|
85941
86190
|
const st = lstatSync9(target);
|
|
@@ -85946,15 +86195,15 @@ function writePayload(poolDir, name, files) {
|
|
|
85946
86195
|
if (targetIsSymlink) {
|
|
85947
86196
|
fail3(`refusing to overwrite symlink at ${target}; investigate manually`);
|
|
85948
86197
|
}
|
|
85949
|
-
const staging = mkdtempSync5(
|
|
86198
|
+
const staging = mkdtempSync5(join81(poolDir, `.skill-apply-stage-${name}-`));
|
|
85950
86199
|
let oldRename = null;
|
|
85951
86200
|
try {
|
|
85952
86201
|
for (const [path8, content] of Object.entries(files)) {
|
|
85953
|
-
const full =
|
|
85954
|
-
|
|
86202
|
+
const full = join81(staging, path8);
|
|
86203
|
+
mkdirSync46(dirname24(full), { recursive: true, mode: 493 });
|
|
85955
86204
|
const fd = openSync15(full, "wx");
|
|
85956
86205
|
try {
|
|
85957
|
-
|
|
86206
|
+
writeFileSync40(fd, content);
|
|
85958
86207
|
} finally {
|
|
85959
86208
|
closeSync15(fd);
|
|
85960
86209
|
}
|
|
@@ -86028,7 +86277,7 @@ function registerSkillCommand(program3) {
|
|
|
86028
86277
|
}
|
|
86029
86278
|
const config = loadConfig();
|
|
86030
86279
|
const poolDir = resolveSkillsPoolDir2(config.switchroom?.skills_dir);
|
|
86031
|
-
const currentDir =
|
|
86280
|
+
const currentDir = join81(poolDir, name);
|
|
86032
86281
|
console.log(source_default.bold(`Skill: ${name}`) + source_default.gray(` (${Object.keys(files).length} files, ${sumBytes(files)} bytes)`));
|
|
86033
86282
|
console.log(source_default.bold("Diff vs current pool content:"));
|
|
86034
86283
|
console.log(diffSummary(currentDir, files));
|
|
@@ -86061,7 +86310,7 @@ import {
|
|
|
86061
86310
|
closeSync as closeSync16,
|
|
86062
86311
|
existsSync as existsSync81,
|
|
86063
86312
|
lstatSync as lstatSync10,
|
|
86064
|
-
mkdirSync as
|
|
86313
|
+
mkdirSync as mkdirSync47,
|
|
86065
86314
|
mkdtempSync as mkdtempSync6,
|
|
86066
86315
|
openSync as openSync16,
|
|
86067
86316
|
readFileSync as readFileSync69,
|
|
@@ -86070,9 +86319,9 @@ import {
|
|
|
86070
86319
|
rmSync as rmSync17,
|
|
86071
86320
|
statSync as statSync33,
|
|
86072
86321
|
utimesSync,
|
|
86073
|
-
writeFileSync as
|
|
86322
|
+
writeFileSync as writeFileSync41
|
|
86074
86323
|
} from "node:fs";
|
|
86075
|
-
import { dirname as dirname25, join as
|
|
86324
|
+
import { dirname as dirname25, join as join82, relative as relative3, resolve as resolve49 } from "node:path";
|
|
86076
86325
|
import { homedir as homedir47, tmpdir as tmpdir6 } from "node:os";
|
|
86077
86326
|
import { spawnSync as spawnSync13 } from "node:child_process";
|
|
86078
86327
|
init_helpers();
|
|
@@ -86083,10 +86332,10 @@ var TRASH_TTL_MS = 24 * 60 * 60 * 1000;
|
|
|
86083
86332
|
var PERSONAL_SKILLS_SUBPATH = "personal-skills";
|
|
86084
86333
|
function resolveConfigSkillsDir(agent) {
|
|
86085
86334
|
const override = process.env.SWITCHROOM_CONFIG_DIR;
|
|
86086
|
-
const candidate = override ? resolve49(override) :
|
|
86335
|
+
const candidate = override ? resolve49(override) : join82(homedir47(), ".switchroom-config");
|
|
86087
86336
|
if (!existsSync81(candidate))
|
|
86088
86337
|
return null;
|
|
86089
|
-
return
|
|
86338
|
+
return join82(candidate, "agents", agent, PERSONAL_SKILLS_SUBPATH);
|
|
86090
86339
|
}
|
|
86091
86340
|
var MIRROR_PRIOR_TTL_MS = 24 * 60 * 60 * 1000;
|
|
86092
86341
|
function sweepMirrorPriors(configSkillsRoot) {
|
|
@@ -86104,7 +86353,7 @@ function sweepMirrorPriors(configSkillsRoot) {
|
|
|
86104
86353
|
if (now - ts < MIRROR_PRIOR_TTL_MS)
|
|
86105
86354
|
continue;
|
|
86106
86355
|
try {
|
|
86107
|
-
rmSync17(
|
|
86356
|
+
rmSync17(join82(configSkillsRoot, ent), { recursive: true, force: true });
|
|
86108
86357
|
} catch {}
|
|
86109
86358
|
}
|
|
86110
86359
|
} catch {}
|
|
@@ -86113,7 +86362,7 @@ function mirrorToConfigRepo(agent, name, liveSkillDir) {
|
|
|
86113
86362
|
const configSkillsRoot = resolveConfigSkillsDir(agent);
|
|
86114
86363
|
if (!configSkillsRoot)
|
|
86115
86364
|
return;
|
|
86116
|
-
const dest =
|
|
86365
|
+
const dest = join82(configSkillsRoot, name);
|
|
86117
86366
|
try {
|
|
86118
86367
|
if (liveSkillDir !== null) {
|
|
86119
86368
|
try {
|
|
@@ -86128,31 +86377,31 @@ function mirrorToConfigRepo(agent, name, liveSkillDir) {
|
|
|
86128
86377
|
if (liveSkillDir === null) {
|
|
86129
86378
|
sweepMirrorPriors(configSkillsRoot);
|
|
86130
86379
|
if (existsSync81(dest)) {
|
|
86131
|
-
const trash =
|
|
86380
|
+
const trash = join82(configSkillsRoot, `.${name}-trash-${Date.now()}`);
|
|
86132
86381
|
renameSync18(dest, trash);
|
|
86133
86382
|
}
|
|
86134
86383
|
return;
|
|
86135
86384
|
}
|
|
86136
|
-
|
|
86385
|
+
mkdirSync47(configSkillsRoot, { recursive: true, mode: 493 });
|
|
86137
86386
|
sweepMirrorPriors(configSkillsRoot);
|
|
86138
|
-
const staging = mkdtempSync6(
|
|
86387
|
+
const staging = mkdtempSync6(join82(configSkillsRoot, `.${name}-staging-`));
|
|
86139
86388
|
const walk2 = (src, dst) => {
|
|
86140
|
-
|
|
86389
|
+
mkdirSync47(dst, { recursive: true, mode: 493 });
|
|
86141
86390
|
for (const ent of readdirSync31(src, { withFileTypes: true })) {
|
|
86142
|
-
const s =
|
|
86143
|
-
const d =
|
|
86391
|
+
const s = join82(src, ent.name);
|
|
86392
|
+
const d = join82(dst, ent.name);
|
|
86144
86393
|
if (ent.isSymbolicLink())
|
|
86145
86394
|
continue;
|
|
86146
86395
|
if (ent.isDirectory())
|
|
86147
86396
|
walk2(s, d);
|
|
86148
86397
|
else if (ent.isFile()) {
|
|
86149
|
-
|
|
86398
|
+
writeFileSync41(d, readFileSync69(s));
|
|
86150
86399
|
}
|
|
86151
86400
|
}
|
|
86152
86401
|
};
|
|
86153
86402
|
walk2(liveSkillDir, staging);
|
|
86154
86403
|
if (existsSync81(dest)) {
|
|
86155
|
-
const prior =
|
|
86404
|
+
const prior = join82(configSkillsRoot, `.${name}-prior-${Date.now()}`);
|
|
86156
86405
|
renameSync18(dest, prior);
|
|
86157
86406
|
}
|
|
86158
86407
|
renameSync18(staging, dest);
|
|
@@ -86179,13 +86428,13 @@ function resolveAgent(opts) {
|
|
|
86179
86428
|
function resolveAgentsRoot(opts) {
|
|
86180
86429
|
if (opts.root)
|
|
86181
86430
|
return resolve49(opts.root);
|
|
86182
|
-
return
|
|
86431
|
+
return join82(homedir47(), ".switchroom", "agents");
|
|
86183
86432
|
}
|
|
86184
86433
|
function personalSkillDir(agentsRoot, agent, name) {
|
|
86185
|
-
return
|
|
86434
|
+
return join82(agentsRoot, agent, ".claude", "skills", PERSONAL_PREFIX + name);
|
|
86186
86435
|
}
|
|
86187
86436
|
function trashDir(agentsRoot, agent) {
|
|
86188
|
-
return
|
|
86437
|
+
return join82(agentsRoot, agent, ".claude", TRASH_DIRNAME);
|
|
86189
86438
|
}
|
|
86190
86439
|
function readStdinSync2() {
|
|
86191
86440
|
const chunks = [];
|
|
@@ -86215,7 +86464,7 @@ function loadFromDir2(dir) {
|
|
|
86215
86464
|
const files = {};
|
|
86216
86465
|
const walk2 = (sub) => {
|
|
86217
86466
|
for (const ent of readdirSync31(sub, { withFileTypes: true })) {
|
|
86218
|
-
const full =
|
|
86467
|
+
const full = join82(sub, ent.name);
|
|
86219
86468
|
if (ent.isSymbolicLink()) {
|
|
86220
86469
|
fail4(`refusing to read symlink in --from dir: ${relative3(abs, full)}`);
|
|
86221
86470
|
}
|
|
@@ -86268,10 +86517,10 @@ function behavioralValidate(files) {
|
|
|
86268
86517
|
errors2.push(`${path8} fails \`bash -n\`: ${(r.stderr ?? "").trim()}`);
|
|
86269
86518
|
}
|
|
86270
86519
|
} else if (PY_SCRIPT_RE.test(path8)) {
|
|
86271
|
-
const tmp = mkdtempSync6(
|
|
86272
|
-
const tmpPy =
|
|
86520
|
+
const tmp = mkdtempSync6(join82(tmpdir6(), "skill-personal-py-"));
|
|
86521
|
+
const tmpPy = join82(tmp, "check.py");
|
|
86273
86522
|
try {
|
|
86274
|
-
|
|
86523
|
+
writeFileSync41(tmpPy, content);
|
|
86275
86524
|
const r = spawnSync13("python3", ["-m", "py_compile", tmpPy], {
|
|
86276
86525
|
encoding: "utf-8"
|
|
86277
86526
|
});
|
|
@@ -86293,7 +86542,7 @@ function sweepTrash(agentsRoot, agent) {
|
|
|
86293
86542
|
for (const ent of readdirSync31(trash, { withFileTypes: true })) {
|
|
86294
86543
|
if (!ent.isDirectory())
|
|
86295
86544
|
continue;
|
|
86296
|
-
const entPath =
|
|
86545
|
+
const entPath = join82(trash, ent.name);
|
|
86297
86546
|
try {
|
|
86298
86547
|
const st = statSync33(entPath);
|
|
86299
86548
|
if (now - st.mtimeMs > TRASH_TTL_MS) {
|
|
@@ -86313,16 +86562,16 @@ function writePersonalSkill(targetDir, files) {
|
|
|
86313
86562
|
if (targetIsSymlink) {
|
|
86314
86563
|
fail4(`refusing to overwrite symlink at ${targetDir}; investigate manually`);
|
|
86315
86564
|
}
|
|
86316
|
-
|
|
86317
|
-
const staging = mkdtempSync6(
|
|
86565
|
+
mkdirSync47(dirname25(targetDir), { recursive: true, mode: 493 });
|
|
86566
|
+
const staging = mkdtempSync6(join82(dirname25(targetDir), `.skill-personal-stage-`));
|
|
86318
86567
|
let oldRename = null;
|
|
86319
86568
|
try {
|
|
86320
86569
|
for (const [path8, content] of Object.entries(files)) {
|
|
86321
|
-
const full =
|
|
86322
|
-
|
|
86570
|
+
const full = join82(staging, path8);
|
|
86571
|
+
mkdirSync47(dirname25(full), { recursive: true, mode: 493 });
|
|
86323
86572
|
const fd = openSync16(full, "wx");
|
|
86324
86573
|
try {
|
|
86325
|
-
|
|
86574
|
+
writeFileSync41(fd, content);
|
|
86326
86575
|
} finally {
|
|
86327
86576
|
closeSync16(fd);
|
|
86328
86577
|
}
|
|
@@ -86451,10 +86700,10 @@ function editPersonalAction(name, opts) {
|
|
|
86451
86700
|
}
|
|
86452
86701
|
var CLONE_SOURCE_RE = /^(shared|bundled):([a-z0-9][a-z0-9_-]{0,62})$/;
|
|
86453
86702
|
function defaultSharedRoot() {
|
|
86454
|
-
return
|
|
86703
|
+
return join82(homedir47(), ".switchroom", "skills");
|
|
86455
86704
|
}
|
|
86456
86705
|
function defaultBundledRoot() {
|
|
86457
|
-
return
|
|
86706
|
+
return join82(homedir47(), ".switchroom", "skills", "_bundled");
|
|
86458
86707
|
}
|
|
86459
86708
|
function resolveCloneSource(source, opts) {
|
|
86460
86709
|
const m = CLONE_SOURCE_RE.exec(source);
|
|
@@ -86464,7 +86713,7 @@ function resolveCloneSource(source, opts) {
|
|
|
86464
86713
|
const tier = m[1];
|
|
86465
86714
|
const slug = m[2];
|
|
86466
86715
|
const root = tier === "bundled" ? opts.bundledRoot ?? defaultBundledRoot() : opts.sharedRoot ?? defaultSharedRoot();
|
|
86467
|
-
const dir =
|
|
86716
|
+
const dir = join82(root, slug);
|
|
86468
86717
|
if (!existsSync81(dir)) {
|
|
86469
86718
|
fail4(`clone source ${JSON.stringify(source)} not found at ${dir}; ` + `check \`switchroom skill search --tier ${tier}\``, 1);
|
|
86470
86719
|
}
|
|
@@ -86480,7 +86729,7 @@ function readSourceFiles(dir) {
|
|
|
86480
86729
|
const skipped = [];
|
|
86481
86730
|
const walk2 = (sub) => {
|
|
86482
86731
|
for (const ent of readdirSync31(sub, { withFileTypes: true })) {
|
|
86483
|
-
const full =
|
|
86732
|
+
const full = join82(sub, ent.name);
|
|
86484
86733
|
if (ent.isSymbolicLink()) {
|
|
86485
86734
|
continue;
|
|
86486
86735
|
}
|
|
@@ -86589,9 +86838,9 @@ function removePersonalAction(name, opts) {
|
|
|
86589
86838
|
throw err2;
|
|
86590
86839
|
}
|
|
86591
86840
|
const trashRoot = trashDir(agentsRoot, agent);
|
|
86592
|
-
|
|
86841
|
+
mkdirSync47(trashRoot, { recursive: true, mode: 493 });
|
|
86593
86842
|
const ts = Date.now();
|
|
86594
|
-
const trashTarget =
|
|
86843
|
+
const trashTarget = join82(trashRoot, `${name}-${ts}`);
|
|
86595
86844
|
renameSync18(target, trashTarget);
|
|
86596
86845
|
const now = new Date(ts);
|
|
86597
86846
|
utimesSync(trashTarget, now, now);
|
|
@@ -86610,7 +86859,7 @@ function listPersonalAction(opts) {
|
|
|
86610
86859
|
const agent = resolveAgent(opts);
|
|
86611
86860
|
const agentsRoot = resolveAgentsRoot(opts);
|
|
86612
86861
|
sweepTrash(agentsRoot, agent);
|
|
86613
|
-
const skillsDir =
|
|
86862
|
+
const skillsDir = join82(agentsRoot, agent, ".claude", "skills");
|
|
86614
86863
|
const personal = [];
|
|
86615
86864
|
if (existsSync81(skillsDir)) {
|
|
86616
86865
|
for (const ent of readdirSync31(skillsDir, { withFileTypes: true })) {
|
|
@@ -86619,7 +86868,7 @@ function listPersonalAction(opts) {
|
|
|
86619
86868
|
if (!ent.name.startsWith(PERSONAL_PREFIX))
|
|
86620
86869
|
continue;
|
|
86621
86870
|
const skillName = ent.name.slice(PERSONAL_PREFIX.length);
|
|
86622
|
-
const skillPath =
|
|
86871
|
+
const skillPath = join82(skillsDir, ent.name);
|
|
86623
86872
|
let fileCount = 0;
|
|
86624
86873
|
let totalBytes = 0;
|
|
86625
86874
|
const walk2 = (sub) => {
|
|
@@ -86627,10 +86876,10 @@ function listPersonalAction(opts) {
|
|
|
86627
86876
|
if (e.isFile()) {
|
|
86628
86877
|
fileCount += 1;
|
|
86629
86878
|
try {
|
|
86630
|
-
totalBytes += statSync33(
|
|
86879
|
+
totalBytes += statSync33(join82(sub, e.name)).size;
|
|
86631
86880
|
} catch {}
|
|
86632
86881
|
} else if (e.isDirectory()) {
|
|
86633
|
-
walk2(
|
|
86882
|
+
walk2(join82(sub, e.name));
|
|
86634
86883
|
}
|
|
86635
86884
|
}
|
|
86636
86885
|
};
|
|
@@ -86671,7 +86920,7 @@ init_helpers();
|
|
|
86671
86920
|
var import_yaml24 = __toESM(require_dist(), 1);
|
|
86672
86921
|
import { existsSync as existsSync82, readdirSync as readdirSync32, readFileSync as readFileSync70, statSync as statSync34 } from "node:fs";
|
|
86673
86922
|
import { homedir as homedir48 } from "node:os";
|
|
86674
|
-
import { join as
|
|
86923
|
+
import { join as join83, resolve as resolve50 } from "node:path";
|
|
86675
86924
|
var PERSONAL_PREFIX2 = "personal-";
|
|
86676
86925
|
var BUNDLED_SUBDIR = "_bundled";
|
|
86677
86926
|
var AGENT_NAME_RE3 = /^[a-z][a-z0-9_-]{0,62}$/;
|
|
@@ -86685,7 +86934,7 @@ function defaultBundledRoot2() {
|
|
|
86685
86934
|
return resolve50(homedir48(), ".switchroom/skills/_bundled");
|
|
86686
86935
|
}
|
|
86687
86936
|
function readSkillFrontmatter(skillDir) {
|
|
86688
|
-
const mdPath =
|
|
86937
|
+
const mdPath = join83(skillDir, "SKILL.md");
|
|
86689
86938
|
if (!existsSync82(mdPath))
|
|
86690
86939
|
return null;
|
|
86691
86940
|
let content;
|
|
@@ -86718,7 +86967,7 @@ function readSkillFrontmatter(skillDir) {
|
|
|
86718
86967
|
return { fm: parsed };
|
|
86719
86968
|
}
|
|
86720
86969
|
function statSkillMd(skillDir) {
|
|
86721
|
-
const mdPath =
|
|
86970
|
+
const mdPath = join83(skillDir, "SKILL.md");
|
|
86722
86971
|
try {
|
|
86723
86972
|
const st = statSync34(mdPath);
|
|
86724
86973
|
return { size: st.size, mtime: st.mtime.toISOString() };
|
|
@@ -86729,7 +86978,7 @@ function statSkillMd(skillDir) {
|
|
|
86729
86978
|
function listPersonalSkills(agent, agentsRoot = defaultAgentsRoot()) {
|
|
86730
86979
|
if (!AGENT_NAME_RE3.test(agent))
|
|
86731
86980
|
return [];
|
|
86732
|
-
const skillsDir =
|
|
86981
|
+
const skillsDir = join83(agentsRoot, agent, ".claude/skills");
|
|
86733
86982
|
if (!existsSync82(skillsDir))
|
|
86734
86983
|
return [];
|
|
86735
86984
|
const out = [];
|
|
@@ -86742,7 +86991,7 @@ function listPersonalSkills(agent, agentsRoot = defaultAgentsRoot()) {
|
|
|
86742
86991
|
for (const ent of entries) {
|
|
86743
86992
|
if (!ent.startsWith(PERSONAL_PREFIX2))
|
|
86744
86993
|
continue;
|
|
86745
|
-
const dirPath =
|
|
86994
|
+
const dirPath = join83(skillsDir, ent);
|
|
86746
86995
|
try {
|
|
86747
86996
|
if (!statSync34(dirPath).isDirectory())
|
|
86748
86997
|
continue;
|
|
@@ -86782,7 +87031,7 @@ function listSharedSkills(sharedRoot = defaultSharedRoot2()) {
|
|
|
86782
87031
|
continue;
|
|
86783
87032
|
if (ent.startsWith("."))
|
|
86784
87033
|
continue;
|
|
86785
|
-
const dirPath =
|
|
87034
|
+
const dirPath = join83(sharedRoot, ent);
|
|
86786
87035
|
try {
|
|
86787
87036
|
if (!statSync34(dirPath).isDirectory())
|
|
86788
87037
|
continue;
|
|
@@ -86818,7 +87067,7 @@ function listBundledSkills(bundledRoot = defaultBundledRoot2()) {
|
|
|
86818
87067
|
for (const ent of entries) {
|
|
86819
87068
|
if (ent.startsWith("."))
|
|
86820
87069
|
continue;
|
|
86821
|
-
const dirPath =
|
|
87070
|
+
const dirPath = join83(bundledRoot, ent);
|
|
86822
87071
|
try {
|
|
86823
87072
|
if (!statSync34(dirPath).isDirectory())
|
|
86824
87073
|
continue;
|
|
@@ -86962,9 +87211,9 @@ function registerHostdMcpCommand(program3) {
|
|
|
86962
87211
|
// src/cli/hostd.ts
|
|
86963
87212
|
init_source();
|
|
86964
87213
|
init_helpers();
|
|
86965
|
-
import { existsSync as existsSync84, mkdirSync as
|
|
87214
|
+
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
87215
|
import { homedir as homedir49 } from "node:os";
|
|
86967
|
-
import { join as
|
|
87216
|
+
import { join as join84 } from "node:path";
|
|
86968
87217
|
import { spawnSync as spawnSync16 } from "node:child_process";
|
|
86969
87218
|
|
|
86970
87219
|
// src/cli/deploy-version-guard.ts
|
|
@@ -87127,10 +87376,10 @@ function resolveHostdHostHome(env2 = process.env, home2 = homedir49()) {
|
|
|
87127
87376
|
return resolved;
|
|
87128
87377
|
}
|
|
87129
87378
|
function hostdDir() {
|
|
87130
|
-
return
|
|
87379
|
+
return join84(homedir49(), ".switchroom", "hostd");
|
|
87131
87380
|
}
|
|
87132
87381
|
function hostdComposePath() {
|
|
87133
|
-
return
|
|
87382
|
+
return join84(hostdDir(), "docker-compose.yml");
|
|
87134
87383
|
}
|
|
87135
87384
|
function backupExistingCompose() {
|
|
87136
87385
|
const p = hostdComposePath();
|
|
@@ -87167,7 +87416,7 @@ async function doInstall(opts, program3) {
|
|
|
87167
87416
|
}
|
|
87168
87417
|
const dir = hostdDir();
|
|
87169
87418
|
const composePath = hostdComposePath();
|
|
87170
|
-
|
|
87419
|
+
mkdirSync48(dir, { recursive: true });
|
|
87171
87420
|
const imageTag = resolveHostdImageTag(opts.tag, cfg.release);
|
|
87172
87421
|
const guard = checkDowngrade({
|
|
87173
87422
|
container: "switchroom-hostd",
|
|
@@ -87192,7 +87441,7 @@ async function doInstall(opts, program3) {
|
|
|
87192
87441
|
const bak = backupExistingCompose();
|
|
87193
87442
|
if (bak)
|
|
87194
87443
|
console.log(source_default.dim(` Backed up existing compose to ${bak}`));
|
|
87195
|
-
|
|
87444
|
+
writeFileSync42(composePath, yaml, "utf8");
|
|
87196
87445
|
console.log(source_default.green(` \u2713 Wrote ${composePath}`));
|
|
87197
87446
|
const adminAgents = Object.entries(cfg.agents ?? {}).filter(([, a]) => a?.admin === true).map(([name]) => name);
|
|
87198
87447
|
console.log(source_default.dim(` agents served (one socket each): ${allAgents.length === 0 ? "(none)" : allAgents.join(", ")}`));
|
|
@@ -87250,7 +87499,7 @@ function doStatus() {
|
|
|
87250
87499
|
for (const name of readdirSync33(dir)) {
|
|
87251
87500
|
if (name === "docker-compose.yml" || name.startsWith("docker-compose.yml."))
|
|
87252
87501
|
continue;
|
|
87253
|
-
const sockPath =
|
|
87502
|
+
const sockPath = join84(dir, name, "sock");
|
|
87254
87503
|
if (existsSync84(sockPath)) {
|
|
87255
87504
|
const st = statSync35(sockPath);
|
|
87256
87505
|
if ((st.mode & 61440) === 49152) {
|
|
@@ -87341,9 +87590,9 @@ The log is created when hostd handles its first privileged-verb request.`));
|
|
|
87341
87590
|
// src/cli/webd.ts
|
|
87342
87591
|
init_source();
|
|
87343
87592
|
init_helpers();
|
|
87344
|
-
import { existsSync as existsSync85, mkdirSync as
|
|
87593
|
+
import { existsSync as existsSync85, mkdirSync as mkdirSync49, writeFileSync as writeFileSync43, copyFileSync as copyFileSync13 } from "node:fs";
|
|
87345
87594
|
import { homedir as homedir50 } from "node:os";
|
|
87346
|
-
import { join as
|
|
87595
|
+
import { join as join85 } from "node:path";
|
|
87347
87596
|
import { spawnSync as spawnSync17 } from "node:child_process";
|
|
87348
87597
|
function resolveWebImageTag(explicitTag, release) {
|
|
87349
87598
|
if (explicitTag)
|
|
@@ -87428,10 +87677,10 @@ services:
|
|
|
87428
87677
|
`;
|
|
87429
87678
|
}
|
|
87430
87679
|
function webdDir() {
|
|
87431
|
-
return
|
|
87680
|
+
return join85(homedir50(), ".switchroom", "web");
|
|
87432
87681
|
}
|
|
87433
87682
|
function webdComposePath() {
|
|
87434
|
-
return
|
|
87683
|
+
return join85(webdDir(), "docker-compose.yml");
|
|
87435
87684
|
}
|
|
87436
87685
|
function backupExistingCompose2() {
|
|
87437
87686
|
const p = webdComposePath();
|
|
@@ -87460,7 +87709,7 @@ async function doInstall2(opts, program3) {
|
|
|
87460
87709
|
}
|
|
87461
87710
|
const dir = webdDir();
|
|
87462
87711
|
const composePath = webdComposePath();
|
|
87463
|
-
|
|
87712
|
+
mkdirSync49(dir, { recursive: true });
|
|
87464
87713
|
const cfg = getConfig(program3);
|
|
87465
87714
|
const imageTag = resolveWebImageTag(opts.tag, cfg.release);
|
|
87466
87715
|
const guard = checkDowngrade({
|
|
@@ -87486,7 +87735,7 @@ async function doInstall2(opts, program3) {
|
|
|
87486
87735
|
const bak = backupExistingCompose2();
|
|
87487
87736
|
if (bak)
|
|
87488
87737
|
console.log(source_default.dim(` Backed up existing compose to ${bak}`));
|
|
87489
|
-
|
|
87738
|
+
writeFileSync43(composePath, yaml, "utf8");
|
|
87490
87739
|
console.log(source_default.green(` \u2713 Wrote ${composePath}`));
|
|
87491
87740
|
console.log(source_default.dim(` running as uid ${operatorUid} (operator), network_mode: host`));
|
|
87492
87741
|
console.log(source_default.dim(` Pulling ghcr.io/switchroom/switchroom-web:${imageTag}\u2026`));
|