@lousy-agents/mcp 5.15.6 → 5.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/mcp-server.js +719 -276
  2. package/package.json +1 -1
@@ -3,9 +3,9 @@ import { createRequire as __rspack_createRequire } from "node:module";
3
3
  const __rspack_createRequire_require = __rspack_createRequire(import.meta.url);
4
4
  var __webpack_modules__ = ({
5
5
  5733(__unused_rspack_module, exports) {
6
- var __webpack_unused_export__;
6
+ var __rspack_unused_export;
7
7
 
8
- __webpack_unused_export__ = ({ value: true });
8
+ __rspack_unused_export = ({ value: true });
9
9
  exports.formatNames = exports.fastFormats = exports.fullFormats = void 0;
10
10
  function fmtDef(validate, compare) {
11
11
  return { validate, compare };
@@ -255,9 +255,9 @@ exports["default"] = formatsPlugin;
255
255
 
256
256
  },
257
257
  1038(__unused_rspack_module, exports, __webpack_require__) {
258
- var __webpack_unused_export__;
258
+ var __rspack_unused_export;
259
259
 
260
- __webpack_unused_export__ = ({ value: true });
260
+ __rspack_unused_export = ({ value: true });
261
261
  exports.A = void 0;
262
262
  const ajv_1 = __webpack_require__(1601);
263
263
  const codegen_1 = __webpack_require__(7898);
@@ -1386,9 +1386,9 @@ exports.ValueScope = ValueScope;
1386
1386
 
1387
1387
  },
1388
1388
  9409(__unused_rspack_module, exports, __webpack_require__) {
1389
- var __webpack_unused_export__;
1389
+ var __rspack_unused_export;
1390
1390
 
1391
- __webpack_unused_export__ = ({ value: true });
1391
+ __rspack_unused_export = ({ value: true });
1392
1392
  exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.y = void 0;
1393
1393
  const codegen_1 = __webpack_require__(7898);
1394
1394
  const util_1 = __webpack_require__(458);
@@ -1513,10 +1513,10 @@ function extraErrorProps(cxt, { params, message }, keyValues) {
1513
1513
 
1514
1514
  },
1515
1515
  9392(__unused_rspack_module, exports, __webpack_require__) {
1516
- var __webpack_unused_export__;
1516
+ var __rspack_unused_export;
1517
1517
 
1518
- __webpack_unused_export__ = ({ value: true });
1519
- exports.resolveSchema = __webpack_unused_export__ = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0;
1518
+ __rspack_unused_export = ({ value: true });
1519
+ exports.resolveSchema = __rspack_unused_export = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0;
1520
1520
  const codegen_1 = __webpack_require__(7898);
1521
1521
  const validation_error_1 = __webpack_require__(5031);
1522
1522
  const names_1 = __webpack_require__(3036);
@@ -1670,7 +1670,7 @@ function getCompilingSchema(schEnv) {
1670
1670
  return sch;
1671
1671
  }
1672
1672
  }
1673
- __webpack_unused_export__ = getCompilingSchema;
1673
+ __rspack_unused_export = getCompilingSchema;
1674
1674
  function sameSchemaEnv(s1, s2) {
1675
1675
  return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;
1676
1676
  }
@@ -1759,9 +1759,9 @@ function getJsonPointer(parsedRef, { baseId, schema, root }) {
1759
1759
 
1760
1760
  },
1761
1761
  3036(__unused_rspack_module, exports, __webpack_require__) {
1762
- var __webpack_unused_export__;
1762
+ var __rspack_unused_export;
1763
1763
 
1764
- __webpack_unused_export__ = ({ value: true });
1764
+ __rspack_unused_export = ({ value: true });
1765
1765
  const codegen_1 = __webpack_require__(7898);
1766
1766
  const names = {
1767
1767
  // validation function arguments
@@ -1806,9 +1806,9 @@ exports["default"] = MissingRefError;
1806
1806
 
1807
1807
  },
1808
1808
  4856(__unused_rspack_module, exports, __webpack_require__) {
1809
- var __webpack_unused_export__;
1809
+ var __rspack_unused_export;
1810
1810
 
1811
- __webpack_unused_export__ = ({ value: true });
1811
+ __rspack_unused_export = ({ value: true });
1812
1812
  exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0;
1813
1813
  const util_1 = __webpack_require__(458);
1814
1814
  const equal = __webpack_require__(8792);
@@ -1965,9 +1965,9 @@ exports.getSchemaRefs = getSchemaRefs;
1965
1965
 
1966
1966
  },
1967
1967
  383(__unused_rspack_module, exports) {
1968
- var __webpack_unused_export__;
1968
+ var __rspack_unused_export;
1969
1969
 
1970
- __webpack_unused_export__ = ({ value: true });
1970
+ __rspack_unused_export = ({ value: true });
1971
1971
  exports.getRules = exports.isJSONType = void 0;
1972
1972
  const _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"];
1973
1973
  const jsonTypes = new Set(_jsonTypes);
@@ -1995,10 +1995,10 @@ exports.getRules = getRules;
1995
1995
 
1996
1996
  },
1997
1997
  458(__unused_rspack_module, exports, __webpack_require__) {
1998
- var __webpack_unused_export__;
1998
+ var __rspack_unused_export;
1999
1999
 
2000
- __webpack_unused_export__ = ({ value: true });
2001
- exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = __webpack_unused_export__ = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = __webpack_unused_export__ = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = __webpack_unused_export__ = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0;
2000
+ __rspack_unused_export = ({ value: true });
2001
+ exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = __rspack_unused_export = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = __rspack_unused_export = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = __rspack_unused_export = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0;
2002
2002
  const codegen_1 = __webpack_require__(7898);
2003
2003
  const code_1 = __webpack_require__(3277);
2004
2004
  // TODO refactor to use Set
@@ -2039,7 +2039,7 @@ function schemaHasRules(schema, rules) {
2039
2039
  return true;
2040
2040
  return false;
2041
2041
  }
2042
- __webpack_unused_export__ = schemaHasRules;
2042
+ __rspack_unused_export = schemaHasRules;
2043
2043
  function schemaHasRulesButRef(schema, RULES) {
2044
2044
  if (typeof schema == "boolean")
2045
2045
  return !schema;
@@ -2072,7 +2072,7 @@ function escapeJsonPointer(str) {
2072
2072
  return `${str}`;
2073
2073
  return str.replace(/~/g, "~0").replace(/\//g, "~1");
2074
2074
  }
2075
- __webpack_unused_export__ = escapeJsonPointer;
2075
+ __rspack_unused_export = escapeJsonPointer;
2076
2076
  function unescapeJsonPointer(str) {
2077
2077
  return str.replace(/~1/g, "/").replace(/~0/g, "~");
2078
2078
  }
@@ -2135,7 +2135,7 @@ exports.evaluatedPropsToName = evaluatedPropsToName;
2135
2135
  function setEvaluated(gen, props, ps) {
2136
2136
  Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._) `${props}${(0, codegen_1.getProperty)(p)}`, true));
2137
2137
  }
2138
- __webpack_unused_export__ = setEvaluated;
2138
+ __rspack_unused_export = setEvaluated;
2139
2139
  const snippets = {};
2140
2140
  function useFunc(gen, f) {
2141
2141
  return gen.scopeValue("func", {
@@ -2177,9 +2177,9 @@ exports.checkStrictMode = checkStrictMode;
2177
2177
 
2178
2178
  },
2179
2179
  4758(__unused_rspack_module, exports) {
2180
- var __webpack_unused_export__;
2180
+ var __rspack_unused_export;
2181
2181
 
2182
- __webpack_unused_export__ = ({ value: true });
2182
+ __rspack_unused_export = ({ value: true });
2183
2183
  exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0;
2184
2184
  function schemaHasRulesForType({ schema, self }, type) {
2185
2185
  const group = self.RULES.types[type];
@@ -2200,9 +2200,9 @@ exports.shouldUseRule = shouldUseRule;
2200
2200
 
2201
2201
  },
2202
2202
  5948(__unused_rspack_module, exports, __webpack_require__) {
2203
- var __webpack_unused_export__;
2203
+ var __rspack_unused_export;
2204
2204
 
2205
- __webpack_unused_export__ = ({ value: true });
2205
+ __rspack_unused_export = ({ value: true });
2206
2206
  exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0;
2207
2207
  const errors_1 = __webpack_require__(9409);
2208
2208
  const codegen_1 = __webpack_require__(7898);
@@ -2254,9 +2254,9 @@ function falseSchemaError(it, overrideAllErrors) {
2254
2254
 
2255
2255
  },
2256
2256
  9003(__unused_rspack_module, exports, __webpack_require__) {
2257
- var __webpack_unused_export__;
2257
+ var __rspack_unused_export;
2258
2258
 
2259
- __webpack_unused_export__ = ({ value: true });
2259
+ __rspack_unused_export = ({ value: true });
2260
2260
  exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0;
2261
2261
  const rules_1 = __webpack_require__(383);
2262
2262
  const applicability_1 = __webpack_require__(4758);
@@ -2461,9 +2461,9 @@ function getTypeErrorContext(it) {
2461
2461
 
2462
2462
  },
2463
2463
  6841(__unused_rspack_module, exports, __webpack_require__) {
2464
- var __webpack_unused_export__;
2464
+ var __rspack_unused_export;
2465
2465
 
2466
- __webpack_unused_export__ = ({ value: true });
2466
+ __rspack_unused_export = ({ value: true });
2467
2467
  exports.assignDefaults = void 0;
2468
2468
  const codegen_1 = __webpack_require__(7898);
2469
2469
  const util_1 = __webpack_require__(458);
@@ -3023,9 +3023,9 @@ exports.getData = getData;
3023
3023
 
3024
3024
  },
3025
3025
  9348(__unused_rspack_module, exports, __webpack_require__) {
3026
- var __webpack_unused_export__;
3026
+ var __rspack_unused_export;
3027
3027
 
3028
- __webpack_unused_export__ = ({ value: true });
3028
+ __rspack_unused_export = ({ value: true });
3029
3029
  exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0;
3030
3030
  const codegen_1 = __webpack_require__(7898);
3031
3031
  const names_1 = __webpack_require__(3036);
@@ -3151,9 +3151,9 @@ exports.validateKeywordUsage = validateKeywordUsage;
3151
3151
 
3152
3152
  },
3153
3153
  3322(__unused_rspack_module, exports, __webpack_require__) {
3154
- var __webpack_unused_export__;
3154
+ var __rspack_unused_export;
3155
3155
 
3156
- __webpack_unused_export__ = ({ value: true });
3156
+ __rspack_unused_export = ({ value: true });
3157
3157
  exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0;
3158
3158
  const codegen_1 = __webpack_require__(7898);
3159
3159
  const util_1 = __webpack_require__(458);
@@ -3236,19 +3236,19 @@ exports.extendSubschemaMode = extendSubschemaMode;
3236
3236
 
3237
3237
  },
3238
3238
  5319(__unused_rspack_module, exports, __webpack_require__) {
3239
- var __webpack_unused_export__;
3239
+ var __rspack_unused_export;
3240
3240
 
3241
- __webpack_unused_export__ = ({ value: true });
3242
- __webpack_unused_export__ = __webpack_unused_export__ = __webpack_unused_export__ = __webpack_unused_export__ = __webpack_unused_export__ = __webpack_unused_export__ = __webpack_unused_export__ = void 0;
3241
+ __rspack_unused_export = ({ value: true });
3242
+ __rspack_unused_export = __rspack_unused_export = __rspack_unused_export = __rspack_unused_export = __rspack_unused_export = __rspack_unused_export = __rspack_unused_export = void 0;
3243
3243
  var validate_1 = __webpack_require__(6223);
3244
- __webpack_unused_export__ = ({ enumerable: true, get: function () { return validate_1.KeywordCxt; } });
3244
+ __rspack_unused_export = ({ enumerable: true, get: function () { return validate_1.KeywordCxt; } });
3245
3245
  var codegen_1 = __webpack_require__(7898);
3246
- __webpack_unused_export__ = ({ enumerable: true, get: function () { return codegen_1._; } });
3247
- __webpack_unused_export__ = ({ enumerable: true, get: function () { return codegen_1.str; } });
3248
- __webpack_unused_export__ = ({ enumerable: true, get: function () { return codegen_1.stringify; } });
3249
- __webpack_unused_export__ = ({ enumerable: true, get: function () { return codegen_1.nil; } });
3250
- __webpack_unused_export__ = ({ enumerable: true, get: function () { return codegen_1.Name; } });
3251
- __webpack_unused_export__ = ({ enumerable: true, get: function () { return codegen_1.CodeGen; } });
3246
+ __rspack_unused_export = ({ enumerable: true, get: function () { return codegen_1._; } });
3247
+ __rspack_unused_export = ({ enumerable: true, get: function () { return codegen_1.str; } });
3248
+ __rspack_unused_export = ({ enumerable: true, get: function () { return codegen_1.stringify; } });
3249
+ __rspack_unused_export = ({ enumerable: true, get: function () { return codegen_1.nil; } });
3250
+ __rspack_unused_export = ({ enumerable: true, get: function () { return codegen_1.Name; } });
3251
+ __rspack_unused_export = ({ enumerable: true, get: function () { return codegen_1.CodeGen; } });
3252
3252
  const validation_error_1 = __webpack_require__(5031);
3253
3253
  const ref_error_1 = __webpack_require__(5748);
3254
3254
  const rules_1 = __webpack_require__(383);
@@ -3858,9 +3858,9 @@ function schemaOrData(schema) {
3858
3858
 
3859
3859
  },
3860
3860
  2725(__unused_rspack_module, exports, __webpack_require__) {
3861
- var __webpack_unused_export__;
3861
+ var __rspack_unused_export;
3862
3862
 
3863
- __webpack_unused_export__ = ({ value: true });
3863
+ __rspack_unused_export = ({ value: true });
3864
3864
  // https://github.com/ajv-validator/ajv/issues/889
3865
3865
  const equal = __webpack_require__(8792);
3866
3866
  equal.code = 'require("ajv/dist/runtime/equal").default';
@@ -3869,9 +3869,9 @@ exports["default"] = equal;
3869
3869
 
3870
3870
  },
3871
3871
  6308(__unused_rspack_module, exports) {
3872
- var __webpack_unused_export__;
3872
+ var __rspack_unused_export;
3873
3873
 
3874
- __webpack_unused_export__ = ({ value: true });
3874
+ __rspack_unused_export = ({ value: true });
3875
3875
  // https://mathiasbynens.be/notes/javascript-encoding
3876
3876
  // https://github.com/bestiejs/punycode.js - punycode.ucs2.decode
3877
3877
  function ucs2length(str) {
@@ -3897,9 +3897,9 @@ ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default';
3897
3897
 
3898
3898
  },
3899
3899
  7903(__unused_rspack_module, exports, __webpack_require__) {
3900
- var __webpack_unused_export__;
3900
+ var __rspack_unused_export;
3901
3901
 
3902
- __webpack_unused_export__ = ({ value: true });
3902
+ __rspack_unused_export = ({ value: true });
3903
3903
  const uri = __webpack_require__(4800);
3904
3904
  uri.code = 'require("ajv/dist/runtime/uri").default';
3905
3905
  exports["default"] = uri;
@@ -3921,9 +3921,9 @@ exports["default"] = ValidationError;
3921
3921
 
3922
3922
  },
3923
3923
  3426(__unused_rspack_module, exports, __webpack_require__) {
3924
- var __webpack_unused_export__;
3924
+ var __rspack_unused_export;
3925
3925
 
3926
- __webpack_unused_export__ = ({ value: true });
3926
+ __rspack_unused_export = ({ value: true });
3927
3927
  exports.validateAdditionalItems = void 0;
3928
3928
  const codegen_1 = __webpack_require__(7898);
3929
3929
  const util_1 = __webpack_require__(458);
@@ -3974,9 +3974,9 @@ exports["default"] = def;
3974
3974
 
3975
3975
  },
3976
3976
  2697(__unused_rspack_module, exports, __webpack_require__) {
3977
- var __webpack_unused_export__;
3977
+ var __rspack_unused_export;
3978
3978
 
3979
- __webpack_unused_export__ = ({ value: true });
3979
+ __rspack_unused_export = ({ value: true });
3980
3980
  const code_1 = __webpack_require__(4450);
3981
3981
  const codegen_1 = __webpack_require__(7898);
3982
3982
  const names_1 = __webpack_require__(3036);
@@ -4084,9 +4084,9 @@ exports["default"] = def;
4084
4084
 
4085
4085
  },
4086
4086
  9355(__unused_rspack_module, exports, __webpack_require__) {
4087
- var __webpack_unused_export__;
4087
+ var __rspack_unused_export;
4088
4088
 
4089
- __webpack_unused_export__ = ({ value: true });
4089
+ __rspack_unused_export = ({ value: true });
4090
4090
  const util_1 = __webpack_require__(458);
4091
4091
  const def = {
4092
4092
  keyword: "allOf",
@@ -4111,9 +4111,9 @@ exports["default"] = def;
4111
4111
 
4112
4112
  },
4113
4113
  9430(__unused_rspack_module, exports, __webpack_require__) {
4114
- var __webpack_unused_export__;
4114
+ var __rspack_unused_export;
4115
4115
 
4116
- __webpack_unused_export__ = ({ value: true });
4116
+ __rspack_unused_export = ({ value: true });
4117
4117
  const code_1 = __webpack_require__(4450);
4118
4118
  const def = {
4119
4119
  keyword: "anyOf",
@@ -4127,9 +4127,9 @@ exports["default"] = def;
4127
4127
 
4128
4128
  },
4129
4129
  5724(__unused_rspack_module, exports, __webpack_require__) {
4130
- var __webpack_unused_export__;
4130
+ var __rspack_unused_export;
4131
4131
 
4132
- __webpack_unused_export__ = ({ value: true });
4132
+ __rspack_unused_export = ({ value: true });
4133
4133
  const codegen_1 = __webpack_require__(7898);
4134
4134
  const util_1 = __webpack_require__(458);
4135
4135
  const error = {
@@ -4226,10 +4226,10 @@ exports["default"] = def;
4226
4226
 
4227
4227
  },
4228
4228
  9868(__unused_rspack_module, exports, __webpack_require__) {
4229
- var __webpack_unused_export__;
4229
+ var __rspack_unused_export;
4230
4230
 
4231
- __webpack_unused_export__ = ({ value: true });
4232
- __webpack_unused_export__ = __webpack_unused_export__ = exports.z3 = void 0;
4231
+ __rspack_unused_export = ({ value: true });
4232
+ __rspack_unused_export = __rspack_unused_export = exports.z3 = void 0;
4233
4233
  const codegen_1 = __webpack_require__(7898);
4234
4234
  const util_1 = __webpack_require__(458);
4235
4235
  const code_1 = __webpack_require__(4450);
@@ -4294,7 +4294,7 @@ function validatePropertyDeps(cxt, propertyDeps = cxt.schema) {
4294
4294
  }
4295
4295
  }
4296
4296
  }
4297
- __webpack_unused_export__ = validatePropertyDeps;
4297
+ __rspack_unused_export = validatePropertyDeps;
4298
4298
  function validateSchemaDeps(cxt, schemaDeps = cxt.schema) {
4299
4299
  const { gen, data, keyword, it } = cxt;
4300
4300
  const valid = gen.name("valid");
@@ -4309,15 +4309,15 @@ function validateSchemaDeps(cxt, schemaDeps = cxt.schema) {
4309
4309
  cxt.ok(valid);
4310
4310
  }
4311
4311
  }
4312
- __webpack_unused_export__ = validateSchemaDeps;
4312
+ __rspack_unused_export = validateSchemaDeps;
4313
4313
  exports["default"] = def;
4314
4314
  //# sourceMappingURL=dependencies.js.map
4315
4315
 
4316
4316
  },
4317
4317
  510(__unused_rspack_module, exports, __webpack_require__) {
4318
- var __webpack_unused_export__;
4318
+ var __rspack_unused_export;
4319
4319
 
4320
- __webpack_unused_export__ = ({ value: true });
4320
+ __rspack_unused_export = ({ value: true });
4321
4321
  const codegen_1 = __webpack_require__(7898);
4322
4322
  const util_1 = __webpack_require__(458);
4323
4323
  const error = {
@@ -4385,9 +4385,9 @@ exports["default"] = def;
4385
4385
 
4386
4386
  },
4387
4387
  8225(__unused_rspack_module, exports, __webpack_require__) {
4388
- var __webpack_unused_export__;
4388
+ var __rspack_unused_export;
4389
4389
 
4390
- __webpack_unused_export__ = ({ value: true });
4390
+ __rspack_unused_export = ({ value: true });
4391
4391
  const additionalItems_1 = __webpack_require__(3426);
4392
4392
  const prefixItems_1 = __webpack_require__(1349);
4393
4393
  const items_1 = __webpack_require__(4153);
@@ -4433,9 +4433,9 @@ exports["default"] = getApplicator;
4433
4433
 
4434
4434
  },
4435
4435
  4153(__unused_rspack_module, exports, __webpack_require__) {
4436
- var __webpack_unused_export__;
4436
+ var __rspack_unused_export;
4437
4437
 
4438
- __webpack_unused_export__ = ({ value: true });
4438
+ __rspack_unused_export = ({ value: true });
4439
4439
  exports.validateTuple = void 0;
4440
4440
  const codegen_1 = __webpack_require__(7898);
4441
4441
  const util_1 = __webpack_require__(458);
@@ -4489,9 +4489,9 @@ exports["default"] = def;
4489
4489
 
4490
4490
  },
4491
4491
  9753(__unused_rspack_module, exports, __webpack_require__) {
4492
- var __webpack_unused_export__;
4492
+ var __rspack_unused_export;
4493
4493
 
4494
- __webpack_unused_export__ = ({ value: true });
4494
+ __rspack_unused_export = ({ value: true });
4495
4495
  const codegen_1 = __webpack_require__(7898);
4496
4496
  const util_1 = __webpack_require__(458);
4497
4497
  const code_1 = __webpack_require__(4450);
@@ -4523,9 +4523,9 @@ exports["default"] = def;
4523
4523
 
4524
4524
  },
4525
4525
  5532(__unused_rspack_module, exports, __webpack_require__) {
4526
- var __webpack_unused_export__;
4526
+ var __rspack_unused_export;
4527
4527
 
4528
- __webpack_unused_export__ = ({ value: true });
4528
+ __rspack_unused_export = ({ value: true });
4529
4529
  const util_1 = __webpack_require__(458);
4530
4530
  const def = {
4531
4531
  keyword: "not",
@@ -4553,9 +4553,9 @@ exports["default"] = def;
4553
4553
 
4554
4554
  },
4555
4555
  8768(__unused_rspack_module, exports, __webpack_require__) {
4556
- var __webpack_unused_export__;
4556
+ var __rspack_unused_export;
4557
4557
 
4558
- __webpack_unused_export__ = ({ value: true });
4558
+ __rspack_unused_export = ({ value: true });
4559
4559
  const codegen_1 = __webpack_require__(7898);
4560
4560
  const util_1 = __webpack_require__(458);
4561
4561
  const error = {
@@ -4617,9 +4617,9 @@ exports["default"] = def;
4617
4617
 
4618
4618
  },
4619
4619
  8422(__unused_rspack_module, exports, __webpack_require__) {
4620
- var __webpack_unused_export__;
4620
+ var __rspack_unused_export;
4621
4621
 
4622
- __webpack_unused_export__ = ({ value: true });
4622
+ __rspack_unused_export = ({ value: true });
4623
4623
  const code_1 = __webpack_require__(4450);
4624
4624
  const codegen_1 = __webpack_require__(7898);
4625
4625
  const util_1 = __webpack_require__(458);
@@ -4696,9 +4696,9 @@ exports["default"] = def;
4696
4696
 
4697
4697
  },
4698
4698
  1349(__unused_rspack_module, exports, __webpack_require__) {
4699
- var __webpack_unused_export__;
4699
+ var __rspack_unused_export;
4700
4700
 
4701
- __webpack_unused_export__ = ({ value: true });
4701
+ __rspack_unused_export = ({ value: true });
4702
4702
  const items_1 = __webpack_require__(4153);
4703
4703
  const def = {
4704
4704
  keyword: "prefixItems",
@@ -4712,9 +4712,9 @@ exports["default"] = def;
4712
4712
 
4713
4713
  },
4714
4714
  9660(__unused_rspack_module, exports, __webpack_require__) {
4715
- var __webpack_unused_export__;
4715
+ var __rspack_unused_export;
4716
4716
 
4717
- __webpack_unused_export__ = ({ value: true });
4717
+ __rspack_unused_export = ({ value: true });
4718
4718
  const validate_1 = __webpack_require__(6223);
4719
4719
  const code_1 = __webpack_require__(4450);
4720
4720
  const util_1 = __webpack_require__(458);
@@ -4770,9 +4770,9 @@ exports["default"] = def;
4770
4770
 
4771
4771
  },
4772
4772
  7486(__unused_rspack_module, exports, __webpack_require__) {
4773
- var __webpack_unused_export__;
4773
+ var __rspack_unused_export;
4774
4774
 
4775
- __webpack_unused_export__ = ({ value: true });
4775
+ __rspack_unused_export = ({ value: true });
4776
4776
  const codegen_1 = __webpack_require__(7898);
4777
4777
  const util_1 = __webpack_require__(458);
4778
4778
  const error = {
@@ -4812,9 +4812,9 @@ exports["default"] = def;
4812
4812
 
4813
4813
  },
4814
4814
  5255(__unused_rspack_module, exports, __webpack_require__) {
4815
- var __webpack_unused_export__;
4815
+ var __rspack_unused_export;
4816
4816
 
4817
- __webpack_unused_export__ = ({ value: true });
4817
+ __rspack_unused_export = ({ value: true });
4818
4818
  const util_1 = __webpack_require__(458);
4819
4819
  const def = {
4820
4820
  keyword: ["then", "else"],
@@ -4829,10 +4829,10 @@ exports["default"] = def;
4829
4829
 
4830
4830
  },
4831
4831
  4450(__unused_rspack_module, exports, __webpack_require__) {
4832
- var __webpack_unused_export__;
4832
+ var __rspack_unused_export;
4833
4833
 
4834
- __webpack_unused_export__ = ({ value: true });
4835
- exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = __webpack_unused_export__ = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = __webpack_unused_export__ = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0;
4834
+ __rspack_unused_export = ({ value: true });
4835
+ exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = __rspack_unused_export = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = __rspack_unused_export = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0;
4836
4836
  const codegen_1 = __webpack_require__(7898);
4837
4837
  const util_1 = __webpack_require__(458);
4838
4838
  const names_1 = __webpack_require__(3036);
@@ -4861,7 +4861,7 @@ function hasPropFunc(gen) {
4861
4861
  code: (0, codegen_1._) `Object.prototype.hasOwnProperty`,
4862
4862
  });
4863
4863
  }
4864
- __webpack_unused_export__ = hasPropFunc;
4864
+ __rspack_unused_export = hasPropFunc;
4865
4865
  function isOwnProperty(gen, data, property) {
4866
4866
  return (0, codegen_1._) `${hasPropFunc(gen)}.call(${data}, ${property})`;
4867
4867
  }
@@ -4883,7 +4883,7 @@ exports.allSchemaProperties = allSchemaProperties;
4883
4883
  function schemaProperties(it, schemaMap) {
4884
4884
  return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p]));
4885
4885
  }
4886
- __webpack_unused_export__ = schemaProperties;
4886
+ __rspack_unused_export = schemaProperties;
4887
4887
  function callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func, context, passSchema) {
4888
4888
  const dataAndSchema = passSchema ? (0, codegen_1._) `${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data;
4889
4889
  const valCxt = [
@@ -4964,9 +4964,9 @@ exports.validateUnion = validateUnion;
4964
4964
 
4965
4965
  },
4966
4966
  3946(__unused_rspack_module, exports) {
4967
- var __webpack_unused_export__;
4967
+ var __rspack_unused_export;
4968
4968
 
4969
- __webpack_unused_export__ = ({ value: true });
4969
+ __rspack_unused_export = ({ value: true });
4970
4970
  const def = {
4971
4971
  keyword: "id",
4972
4972
  code() {
@@ -4978,9 +4978,9 @@ exports["default"] = def;
4978
4978
 
4979
4979
  },
4980
4980
  3839(__unused_rspack_module, exports, __webpack_require__) {
4981
- var __webpack_unused_export__;
4981
+ var __rspack_unused_export;
4982
4982
 
4983
- __webpack_unused_export__ = ({ value: true });
4983
+ __rspack_unused_export = ({ value: true });
4984
4984
  const id_1 = __webpack_require__(3946);
4985
4985
  const ref_1 = __webpack_require__(6138);
4986
4986
  const core = [
@@ -4998,10 +4998,10 @@ exports["default"] = core;
4998
4998
 
4999
4999
  },
5000
5000
  6138(__unused_rspack_module, exports, __webpack_require__) {
5001
- var __webpack_unused_export__;
5001
+ var __rspack_unused_export;
5002
5002
 
5003
- __webpack_unused_export__ = ({ value: true });
5004
- __webpack_unused_export__ = __webpack_unused_export__ = void 0;
5003
+ __rspack_unused_export = ({ value: true });
5004
+ __rspack_unused_export = __rspack_unused_export = void 0;
5005
5005
  const ref_error_1 = __webpack_require__(5748);
5006
5006
  const code_1 = __webpack_require__(4450);
5007
5007
  const codegen_1 = __webpack_require__(7898);
@@ -5054,7 +5054,7 @@ function getValidate(cxt, sch) {
5054
5054
  ? gen.scopeValue("validate", { ref: sch.validate })
5055
5055
  : (0, codegen_1._) `${gen.scopeValue("wrapper", { ref: sch })}.validate`;
5056
5056
  }
5057
- __webpack_unused_export__ = getValidate;
5057
+ __rspack_unused_export = getValidate;
5058
5058
  function callRef(cxt, v, sch, $async) {
5059
5059
  const { gen, it } = cxt;
5060
5060
  const { allErrors, schemaEnv: env, opts } = it;
@@ -5118,15 +5118,15 @@ function callRef(cxt, v, sch, $async) {
5118
5118
  }
5119
5119
  }
5120
5120
  }
5121
- __webpack_unused_export__ = callRef;
5121
+ __rspack_unused_export = callRef;
5122
5122
  exports["default"] = def;
5123
5123
  //# sourceMappingURL=ref.js.map
5124
5124
 
5125
5125
  },
5126
5126
  1672(__unused_rspack_module, exports, __webpack_require__) {
5127
- var __webpack_unused_export__;
5127
+ var __rspack_unused_export;
5128
5128
 
5129
- __webpack_unused_export__ = ({ value: true });
5129
+ __rspack_unused_export = ({ value: true });
5130
5130
  const codegen_1 = __webpack_require__(7898);
5131
5131
  const types_1 = __webpack_require__(8925);
5132
5132
  const compile_1 = __webpack_require__(9392);
@@ -5232,9 +5232,9 @@ exports["default"] = def;
5232
5232
 
5233
5233
  },
5234
5234
  8925(__unused_rspack_module, exports) {
5235
- var __webpack_unused_export__;
5235
+ var __rspack_unused_export;
5236
5236
 
5237
- __webpack_unused_export__ = ({ value: true });
5237
+ __rspack_unused_export = ({ value: true });
5238
5238
  exports.DiscrError = void 0;
5239
5239
  var DiscrError;
5240
5240
  (function (DiscrError) {
@@ -5245,9 +5245,9 @@ var DiscrError;
5245
5245
 
5246
5246
  },
5247
5247
  2431(__unused_rspack_module, exports, __webpack_require__) {
5248
- var __webpack_unused_export__;
5248
+ var __rspack_unused_export;
5249
5249
 
5250
- __webpack_unused_export__ = ({ value: true });
5250
+ __rspack_unused_export = ({ value: true });
5251
5251
  const core_1 = __webpack_require__(3839);
5252
5252
  const validation_1 = __webpack_require__(7851);
5253
5253
  const applicator_1 = __webpack_require__(8225);
@@ -5266,9 +5266,9 @@ exports["default"] = draft7Vocabularies;
5266
5266
 
5267
5267
  },
5268
5268
  7072(__unused_rspack_module, exports, __webpack_require__) {
5269
- var __webpack_unused_export__;
5269
+ var __rspack_unused_export;
5270
5270
 
5271
- __webpack_unused_export__ = ({ value: true });
5271
+ __rspack_unused_export = ({ value: true });
5272
5272
  const codegen_1 = __webpack_require__(7898);
5273
5273
  const error = {
5274
5274
  message: ({ schemaCode }) => (0, codegen_1.str) `must match format "${schemaCode}"`,
@@ -5362,9 +5362,9 @@ exports["default"] = def;
5362
5362
 
5363
5363
  },
5364
5364
  6699(__unused_rspack_module, exports, __webpack_require__) {
5365
- var __webpack_unused_export__;
5365
+ var __rspack_unused_export;
5366
5366
 
5367
- __webpack_unused_export__ = ({ value: true });
5367
+ __rspack_unused_export = ({ value: true });
5368
5368
  const format_1 = __webpack_require__(7072);
5369
5369
  const format = [format_1.default];
5370
5370
  exports["default"] = format;
@@ -5372,9 +5372,9 @@ exports["default"] = format;
5372
5372
 
5373
5373
  },
5374
5374
  4882(__unused_rspack_module, exports) {
5375
- var __webpack_unused_export__;
5375
+ var __rspack_unused_export;
5376
5376
 
5377
- __webpack_unused_export__ = ({ value: true });
5377
+ __rspack_unused_export = ({ value: true });
5378
5378
  exports.contentVocabulary = exports.metadataVocabulary = void 0;
5379
5379
  exports.metadataVocabulary = [
5380
5380
  "title",
@@ -5394,9 +5394,9 @@ exports.contentVocabulary = [
5394
5394
 
5395
5395
  },
5396
5396
  9520(__unused_rspack_module, exports, __webpack_require__) {
5397
- var __webpack_unused_export__;
5397
+ var __rspack_unused_export;
5398
5398
 
5399
- __webpack_unused_export__ = ({ value: true });
5399
+ __rspack_unused_export = ({ value: true });
5400
5400
  const codegen_1 = __webpack_require__(7898);
5401
5401
  const util_1 = __webpack_require__(458);
5402
5402
  const equal_1 = __webpack_require__(2725);
@@ -5423,9 +5423,9 @@ exports["default"] = def;
5423
5423
 
5424
5424
  },
5425
5425
  6742(__unused_rspack_module, exports, __webpack_require__) {
5426
- var __webpack_unused_export__;
5426
+ var __rspack_unused_export;
5427
5427
 
5428
- __webpack_unused_export__ = ({ value: true });
5428
+ __rspack_unused_export = ({ value: true });
5429
5429
  const codegen_1 = __webpack_require__(7898);
5430
5430
  const util_1 = __webpack_require__(458);
5431
5431
  const equal_1 = __webpack_require__(2725);
@@ -5475,9 +5475,9 @@ exports["default"] = def;
5475
5475
 
5476
5476
  },
5477
5477
  7851(__unused_rspack_module, exports, __webpack_require__) {
5478
- var __webpack_unused_export__;
5478
+ var __rspack_unused_export;
5479
5479
 
5480
- __webpack_unused_export__ = ({ value: true });
5480
+ __rspack_unused_export = ({ value: true });
5481
5481
  const limitNumber_1 = __webpack_require__(2333);
5482
5482
  const multipleOf_1 = __webpack_require__(1230);
5483
5483
  const limitLength_1 = __webpack_require__(3936);
@@ -5512,9 +5512,9 @@ exports["default"] = validation;
5512
5512
 
5513
5513
  },
5514
5514
  8558(__unused_rspack_module, exports, __webpack_require__) {
5515
- var __webpack_unused_export__;
5515
+ var __rspack_unused_export;
5516
5516
 
5517
- __webpack_unused_export__ = ({ value: true });
5517
+ __rspack_unused_export = ({ value: true });
5518
5518
  const codegen_1 = __webpack_require__(7898);
5519
5519
  const error = {
5520
5520
  message({ keyword, schemaCode }) {
@@ -5540,9 +5540,9 @@ exports["default"] = def;
5540
5540
 
5541
5541
  },
5542
5542
  3936(__unused_rspack_module, exports, __webpack_require__) {
5543
- var __webpack_unused_export__;
5543
+ var __rspack_unused_export;
5544
5544
 
5545
- __webpack_unused_export__ = ({ value: true });
5545
+ __rspack_unused_export = ({ value: true });
5546
5546
  const codegen_1 = __webpack_require__(7898);
5547
5547
  const util_1 = __webpack_require__(458);
5548
5548
  const ucs2length_1 = __webpack_require__(6308);
@@ -5571,9 +5571,9 @@ exports["default"] = def;
5571
5571
 
5572
5572
  },
5573
5573
  2333(__unused_rspack_module, exports, __webpack_require__) {
5574
- var __webpack_unused_export__;
5574
+ var __rspack_unused_export;
5575
5575
 
5576
- __webpack_unused_export__ = ({ value: true });
5576
+ __rspack_unused_export = ({ value: true });
5577
5577
  const codegen_1 = __webpack_require__(7898);
5578
5578
  const ops = codegen_1.operators;
5579
5579
  const KWDs = {
@@ -5602,9 +5602,9 @@ exports["default"] = def;
5602
5602
 
5603
5603
  },
5604
5604
  1589(__unused_rspack_module, exports, __webpack_require__) {
5605
- var __webpack_unused_export__;
5605
+ var __rspack_unused_export;
5606
5606
 
5607
- __webpack_unused_export__ = ({ value: true });
5607
+ __rspack_unused_export = ({ value: true });
5608
5608
  const codegen_1 = __webpack_require__(7898);
5609
5609
  const error = {
5610
5610
  message({ keyword, schemaCode }) {
@@ -5630,9 +5630,9 @@ exports["default"] = def;
5630
5630
 
5631
5631
  },
5632
5632
  1230(__unused_rspack_module, exports, __webpack_require__) {
5633
- var __webpack_unused_export__;
5633
+ var __rspack_unused_export;
5634
5634
 
5635
- __webpack_unused_export__ = ({ value: true });
5635
+ __rspack_unused_export = ({ value: true });
5636
5636
  const codegen_1 = __webpack_require__(7898);
5637
5637
  const error = {
5638
5638
  message: ({ schemaCode }) => (0, codegen_1.str) `must be multiple of ${schemaCode}`,
@@ -5660,9 +5660,9 @@ exports["default"] = def;
5660
5660
 
5661
5661
  },
5662
5662
  1005(__unused_rspack_module, exports, __webpack_require__) {
5663
- var __webpack_unused_export__;
5663
+ var __rspack_unused_export;
5664
5664
 
5665
- __webpack_unused_export__ = ({ value: true });
5665
+ __rspack_unused_export = ({ value: true });
5666
5666
  const code_1 = __webpack_require__(4450);
5667
5667
  const util_1 = __webpack_require__(458);
5668
5668
  const codegen_1 = __webpack_require__(7898);
@@ -5697,9 +5697,9 @@ exports["default"] = def;
5697
5697
 
5698
5698
  },
5699
5699
  9594(__unused_rspack_module, exports, __webpack_require__) {
5700
- var __webpack_unused_export__;
5700
+ var __rspack_unused_export;
5701
5701
 
5702
- __webpack_unused_export__ = ({ value: true });
5702
+ __rspack_unused_export = ({ value: true });
5703
5703
  const code_1 = __webpack_require__(4450);
5704
5704
  const codegen_1 = __webpack_require__(7898);
5705
5705
  const util_1 = __webpack_require__(458);
@@ -5780,9 +5780,9 @@ exports["default"] = def;
5780
5780
 
5781
5781
  },
5782
5782
  4058(__unused_rspack_module, exports, __webpack_require__) {
5783
- var __webpack_unused_export__;
5783
+ var __rspack_unused_export;
5784
5784
 
5785
- __webpack_unused_export__ = ({ value: true });
5785
+ __rspack_unused_export = ({ value: true });
5786
5786
  const dataType_1 = __webpack_require__(9003);
5787
5787
  const codegen_1 = __webpack_require__(7898);
5788
5788
  const util_1 = __webpack_require__(458);
@@ -6559,7 +6559,7 @@ function escapeJsonPtr(str) {
6559
6559
 
6560
6560
 
6561
6561
  },
6562
- 8705(__unused_rspack_module, __unused_rspack___webpack_exports__, __webpack_require__) {
6562
+ 6887(__unused_rspack_module, __unused_rspack___webpack_exports__, __webpack_require__) {
6563
6563
  // NAMESPACE OBJECT: ../../node_modules/micromark/lib/constructs.js
6564
6564
  var constructs_namespaceObject = {};
6565
6565
  __webpack_require__.r(constructs_namespaceObject);
@@ -26479,6 +26479,8 @@ const EMPTY_COMPLETION_RESULT = {
26479
26479
  }
26480
26480
  };
26481
26481
  //# sourceMappingURL=mcp.js.map
26482
+ // EXTERNAL MODULE: external "node:fs/promises"
26483
+ var promises_ = __webpack_require__(1455);
26482
26484
  // EXTERNAL MODULE: external "node:path"
26483
26485
  var external_node_path_ = __webpack_require__(6760);
26484
26486
  ;// CONCATENATED MODULE: ../core/src/gateways/action-version-gateway.ts
@@ -26524,8 +26526,6 @@ var external_node_path_ = __webpack_require__(6760);
26524
26526
  * List of known action names for convenience
26525
26527
  */ const KNOWN_ACTIONS = Object.keys(DEFAULT_ACTION_VERSIONS);
26526
26528
 
26527
- // EXTERNAL MODULE: external "node:fs/promises"
26528
- var promises_ = __webpack_require__(1455);
26529
26529
  // EXTERNAL MODULE: external "node:fs"
26530
26530
  var external_node_fs_ = __webpack_require__(3024);
26531
26531
  ;// CONCATENATED MODULE: ../../node_modules/@openclaw/fs-safe/dist/errors.js
@@ -26579,16 +26579,24 @@ function createBoundedReadStream(opened, maxBytes) {
26579
26579
  }
26580
26580
 
26581
26581
  ;// CONCATENATED MODULE: ../../node_modules/@openclaw/fs-safe/dist/file-identity.js
26582
+
26582
26583
  function isZero(value) {
26583
26584
  return value === 0 || value === 0n;
26584
26585
  }
26586
+ function sameStatValue(left, right) {
26587
+ return typeof left === typeof right ? left === right : BigInt(left) === BigInt(right);
26588
+ }
26589
+ function sha256Hex(data, encoding) {
26590
+ const buffer = typeof data === "string" ? Buffer.from(data, encoding ?? "utf8") : data;
26591
+ return (0,external_node_crypto_.createHash)("sha256").update(buffer).digest("hex");
26592
+ }
26585
26593
  function file_identity_sameFileIdentity(left, right, platform = process.platform) {
26586
- if (left.ino !== right.ino) {
26594
+ if (!sameStatValue(left.ino, right.ino)) {
26587
26595
  return false;
26588
26596
  }
26589
26597
  // On Windows, path-based stat calls can report dev=0 while fd-based stat
26590
26598
  // reports a real volume serial; treat either-side dev=0 as "unknown device".
26591
- if (left.dev === right.dev) {
26599
+ if (sameStatValue(left.dev, right.dev)) {
26592
26600
  return true;
26593
26601
  }
26594
26602
  return platform === "win32" && (isZero(left.dev) || isZero(right.dev));
@@ -27982,6 +27990,377 @@ async function runPinnedPathHelper(params) {
27982
27990
  }
27983
27991
  }
27984
27992
 
27993
+ ;// CONCATENATED MODULE: ../../node_modules/@openclaw/fs-safe/dist/sidecar-lock.js
27994
+
27995
+
27996
+
27997
+
27998
+ const GLOBAL_STATE_KEY = Symbol.for("fsSafe.sidecarLockManagers");
27999
+ function getGlobalManagers() {
28000
+ const globalWithState = globalThis;
28001
+ if (!globalWithState[GLOBAL_STATE_KEY]) {
28002
+ globalWithState[GLOBAL_STATE_KEY] = new Map();
28003
+ }
28004
+ return globalWithState[GLOBAL_STATE_KEY];
28005
+ }
28006
+ function resolveManagerState(key) {
28007
+ const managers = getGlobalManagers();
28008
+ let state = managers.get(key);
28009
+ if (!state) {
28010
+ state = { cleanupRegistered: false, held: new Map() };
28011
+ managers.set(key, state);
28012
+ }
28013
+ return state;
28014
+ }
28015
+ async function readLockSnapshot(lockPath) {
28016
+ try {
28017
+ const stat = await promises_.lstat(lockPath);
28018
+ const raw = await promises_.readFile(lockPath, "utf8");
28019
+ try {
28020
+ const parsed = JSON.parse(raw);
28021
+ const payload = parsed && typeof parsed === "object" && !Array.isArray(parsed)
28022
+ ? parsed
28023
+ : null;
28024
+ return { raw, payload, stat };
28025
+ }
28026
+ catch {
28027
+ return { raw, payload: null, stat };
28028
+ }
28029
+ }
28030
+ catch (err) {
28031
+ if (err.code === "ENOENT") {
28032
+ return null;
28033
+ }
28034
+ throw err;
28035
+ }
28036
+ }
28037
+ function snapshotMatches(current, observed) {
28038
+ if (observed.stat && current.stat && !file_identity_sameFileIdentity(observed.stat, current.stat)) {
28039
+ return false;
28040
+ }
28041
+ if (observed.raw !== undefined) {
28042
+ return current.raw === observed.raw;
28043
+ }
28044
+ return observed.stat !== undefined && current.stat !== undefined;
28045
+ }
28046
+ async function removeLockIfUnchanged(lockPath, observed) {
28047
+ const current = await readLockSnapshot(lockPath);
28048
+ if (!current || !observed) {
28049
+ return false;
28050
+ }
28051
+ if (!snapshotMatches(current, observed)) {
28052
+ // The lock changed after we decided it was stale. Leave the fresh holder's
28053
+ // file alone; deleting by path here would break mutual exclusion.
28054
+ return false;
28055
+ }
28056
+ await promises_.rm(lockPath, { force: true }).catch(() => undefined);
28057
+ return true;
28058
+ }
28059
+ async function lockSnapshotStillPresent(lockPath, observed) {
28060
+ const current = await readLockSnapshot(lockPath);
28061
+ return !!current && !!observed && snapshotMatches(current, observed);
28062
+ }
28063
+ async function removeStaleLockIfAllowed(params) {
28064
+ if (!params.shouldRemoveStaleLock) {
28065
+ return "not-approved";
28066
+ }
28067
+ if (params.snapshot.raw === undefined) {
28068
+ return "not-approved";
28069
+ }
28070
+ if (!(await params.shouldRemoveStaleLock({
28071
+ lockPath: params.lockPath,
28072
+ normalizedTargetPath: params.normalizedTargetPath,
28073
+ raw: params.snapshot.raw,
28074
+ payload: params.snapshot.payload,
28075
+ }))) {
28076
+ return "not-approved";
28077
+ }
28078
+ const current = await readLockSnapshot(params.lockPath);
28079
+ if (!current || !snapshotMatches(current, params.snapshot)) {
28080
+ return "changed";
28081
+ }
28082
+ try {
28083
+ await promises_.rm(params.lockPath, { force: true });
28084
+ }
28085
+ catch (err) {
28086
+ if (err.code === "ENOENT") {
28087
+ return "changed";
28088
+ }
28089
+ return "not-approved";
28090
+ }
28091
+ return "removed";
28092
+ }
28093
+ function snapshotMatchesSync(lockPath, observed) {
28094
+ try {
28095
+ const stat = external_node_fs_.lstatSync(lockPath);
28096
+ if (observed.stat && !file_identity_sameFileIdentity(observed.stat, stat)) {
28097
+ return false;
28098
+ }
28099
+ return observed.raw === undefined || external_node_fs_.readFileSync(lockPath, "utf8") === observed.raw;
28100
+ }
28101
+ catch {
28102
+ return false;
28103
+ }
28104
+ }
28105
+ async function resolveNormalizedTargetPath(targetPath) {
28106
+ const resolved = external_node_path_.resolve(targetPath);
28107
+ const dir = external_node_path_.dirname(resolved);
28108
+ await promises_.mkdir(dir, { recursive: true });
28109
+ try {
28110
+ return external_node_path_.join(await promises_.realpath(dir), external_node_path_.basename(resolved));
28111
+ }
28112
+ catch {
28113
+ return resolved;
28114
+ }
28115
+ }
28116
+ function computeDelayMs(retry, attempt) {
28117
+ const minTimeout = retry.minTimeout ?? 50;
28118
+ const maxTimeout = retry.maxTimeout ?? 1000;
28119
+ const factor = retry.factor ?? 1;
28120
+ const base = Math.min(maxTimeout, Math.max(minTimeout, minTimeout * factor ** attempt));
28121
+ const jitter = retry.randomize ? 1 + Math.random() : 1;
28122
+ return Math.min(maxTimeout, Math.round(base * jitter));
28123
+ }
28124
+ async function defaultShouldReclaim(params) {
28125
+ const createdAt = typeof params.payload?.createdAt === "string" ? params.payload.createdAt : "";
28126
+ const createdAtMs = Date.parse(createdAt);
28127
+ if (Number.isFinite(createdAtMs) && params.nowMs - createdAtMs > params.staleMs) {
28128
+ return true;
28129
+ }
28130
+ try {
28131
+ const stat = await promises_.stat(params.lockPath);
28132
+ return params.nowMs - stat.mtimeMs > params.staleMs;
28133
+ }
28134
+ catch {
28135
+ return true;
28136
+ }
28137
+ }
28138
+ function releaseAllLocksSync(state) {
28139
+ for (const [normalizedTargetPath, held] of state.held) {
28140
+ void held.handle.close().catch(() => undefined);
28141
+ try {
28142
+ if (snapshotMatchesSync(held.lockPath, held.snapshot)) {
28143
+ external_node_fs_.rmSync(held.lockPath, { force: true });
28144
+ }
28145
+ }
28146
+ catch {
28147
+ // Best-effort process-exit cleanup.
28148
+ }
28149
+ state.held.delete(normalizedTargetPath);
28150
+ }
28151
+ }
28152
+ async function releaseHeldLock(state, normalizedTargetPath, held, opts = {}) {
28153
+ const current = state.held.get(normalizedTargetPath);
28154
+ if (current !== held) {
28155
+ return false;
28156
+ }
28157
+ if (opts.force) {
28158
+ held.count = 0;
28159
+ }
28160
+ else {
28161
+ held.count -= 1;
28162
+ if (held.count > 0) {
28163
+ return false;
28164
+ }
28165
+ }
28166
+ if (held.releasePromise) {
28167
+ await held.releasePromise.catch(() => undefined);
28168
+ return true;
28169
+ }
28170
+ state.held.delete(normalizedTargetPath);
28171
+ held.releasePromise = (async () => {
28172
+ await held.handle.close().catch(() => undefined);
28173
+ await removeLockIfUnchanged(held.lockPath, held.snapshot);
28174
+ })();
28175
+ try {
28176
+ await held.releasePromise;
28177
+ return true;
28178
+ }
28179
+ finally {
28180
+ held.releasePromise = undefined;
28181
+ }
28182
+ }
28183
+ function createSidecarLockManager(key) {
28184
+ const state = resolveManagerState(key);
28185
+ function ensureExitCleanupRegistered() {
28186
+ if (state.cleanupRegistered) {
28187
+ return;
28188
+ }
28189
+ state.cleanupRegistered = true;
28190
+ process.on("exit", () => releaseAllLocksSync(state));
28191
+ }
28192
+ async function acquire(options) {
28193
+ ensureExitCleanupRegistered();
28194
+ const normalizedTargetPath = await resolveNormalizedTargetPath(options.targetPath);
28195
+ const lockPath = options.lockPath ?? `${normalizedTargetPath}.lock`;
28196
+ const held = state.held.get(normalizedTargetPath);
28197
+ if (held && options.allowReentrant) {
28198
+ held.count += 1;
28199
+ const release = () => releaseHeldLock(state, normalizedTargetPath, held).then(() => undefined);
28200
+ return {
28201
+ lockPath,
28202
+ normalizedTargetPath,
28203
+ release,
28204
+ [Symbol.asyncDispose]: release,
28205
+ };
28206
+ }
28207
+ const startedAt = Date.now();
28208
+ const retry = options.retry ?? {};
28209
+ const maxRetries = options.timeoutMs === Number.POSITIVE_INFINITY ? undefined : retry.retries;
28210
+ let attempt = 0;
28211
+ while (true) {
28212
+ let handle = null;
28213
+ try {
28214
+ handle = await promises_.open(lockPath, "wx");
28215
+ const payload = await options.payload();
28216
+ const raw = `${JSON.stringify(payload, null, 2)}\n`;
28217
+ await handle.writeFile(raw, "utf8");
28218
+ const snapshot = { raw, payload, stat: await handle.stat() };
28219
+ const createdHeld = {
28220
+ count: 1,
28221
+ handle,
28222
+ lockPath,
28223
+ snapshot,
28224
+ acquiredAt: Date.now(),
28225
+ metadata: options.metadata ?? {},
28226
+ };
28227
+ state.held.set(normalizedTargetPath, createdHeld);
28228
+ const release = () => releaseHeldLock(state, normalizedTargetPath, createdHeld).then(() => undefined);
28229
+ return {
28230
+ lockPath,
28231
+ normalizedTargetPath,
28232
+ release,
28233
+ [Symbol.asyncDispose]: release,
28234
+ };
28235
+ }
28236
+ catch (err) {
28237
+ if (handle) {
28238
+ const failedSnapshot = { payload: null };
28239
+ try {
28240
+ failedSnapshot.stat = await handle.stat();
28241
+ }
28242
+ catch {
28243
+ // Best-effort cleanup of a failed exclusive create.
28244
+ }
28245
+ const current = state.held.get(normalizedTargetPath);
28246
+ if (current?.handle === handle) {
28247
+ state.held.delete(normalizedTargetPath);
28248
+ }
28249
+ // If payload serialization/write fails, the file may be empty or
28250
+ // partial JSON, so remove while our exclusive handle is still open.
28251
+ await promises_.rm(lockPath, { force: true }).catch(() => undefined);
28252
+ await handle.close().catch(() => undefined);
28253
+ // Windows can refuse removing an open file; retry after close but
28254
+ // only if the path still points at the file identity we created.
28255
+ await removeLockIfUnchanged(lockPath, failedSnapshot);
28256
+ }
28257
+ if (err.code !== "EEXIST") {
28258
+ throw err;
28259
+ }
28260
+ const nowMs = Date.now();
28261
+ const snapshot = await readLockSnapshot(lockPath);
28262
+ if (!snapshot) {
28263
+ continue;
28264
+ }
28265
+ const shouldReclaim = options.shouldReclaim ?? defaultShouldReclaim;
28266
+ if (await shouldReclaim({
28267
+ lockPath,
28268
+ normalizedTargetPath,
28269
+ payload: snapshot?.payload ?? null,
28270
+ staleMs: options.staleMs,
28271
+ nowMs,
28272
+ heldByThisProcess: state.held.has(normalizedTargetPath),
28273
+ })) {
28274
+ if (!(await lockSnapshotStillPresent(lockPath, snapshot))) {
28275
+ continue;
28276
+ }
28277
+ const staleRecovery = options.staleRecovery ?? "fail-closed";
28278
+ if (staleRecovery === "remove-if-unchanged") {
28279
+ const removal = await removeStaleLockIfAllowed({
28280
+ lockPath,
28281
+ normalizedTargetPath,
28282
+ snapshot,
28283
+ shouldRemoveStaleLock: options.shouldRemoveStaleLock,
28284
+ });
28285
+ if (removal === "removed" || removal === "changed") {
28286
+ continue;
28287
+ }
28288
+ }
28289
+ throw Object.assign(new Error(`file lock stale for ${normalizedTargetPath}`), {
28290
+ code: "file_lock_stale",
28291
+ lockPath,
28292
+ normalizedTargetPath,
28293
+ });
28294
+ }
28295
+ const elapsed = Date.now() - startedAt;
28296
+ if ((options.timeoutMs !== undefined &&
28297
+ options.timeoutMs !== Number.POSITIVE_INFINITY &&
28298
+ elapsed >= options.timeoutMs) ||
28299
+ (maxRetries !== undefined && attempt >= maxRetries)) {
28300
+ throw Object.assign(new Error(`file lock timeout for ${normalizedTargetPath}`), {
28301
+ code: "file_lock_timeout",
28302
+ lockPath,
28303
+ normalizedTargetPath,
28304
+ });
28305
+ }
28306
+ const remaining = options.timeoutMs === undefined || options.timeoutMs === Number.POSITIVE_INFINITY
28307
+ ? Number.POSITIVE_INFINITY
28308
+ : Math.max(0, options.timeoutMs - elapsed);
28309
+ const delay = Math.min(computeDelayMs(retry, attempt), remaining);
28310
+ attempt += 1;
28311
+ await new Promise((resolve) => setTimeout(resolve, delay));
28312
+ }
28313
+ }
28314
+ }
28315
+ async function withLock(options, fn) {
28316
+ const lock = await acquire(options);
28317
+ try {
28318
+ return await fn();
28319
+ }
28320
+ finally {
28321
+ await lock.release();
28322
+ }
28323
+ }
28324
+ async function drain() {
28325
+ for (const [normalizedTargetPath, held] of Array.from(state.held.entries())) {
28326
+ await releaseHeldLock(state, normalizedTargetPath, held, { force: true }).catch(() => undefined);
28327
+ }
28328
+ }
28329
+ function reset() {
28330
+ releaseAllLocksSync(state);
28331
+ }
28332
+ function heldEntries() {
28333
+ return Array.from(state.held.entries()).map(([normalizedTargetPath, held]) => ({
28334
+ normalizedTargetPath,
28335
+ lockPath: held.lockPath,
28336
+ acquiredAt: held.acquiredAt,
28337
+ metadata: held.metadata,
28338
+ forceRelease: () => releaseHeldLock(state, normalizedTargetPath, held, { force: true }),
28339
+ }));
28340
+ }
28341
+ return { acquire, withLock, drain, reset, heldEntries };
28342
+ }
28343
+ async function withSidecarLock(targetPath, options, fn) {
28344
+ const manager = createSidecarLockManager(options.managerKey ?? `fs-safe.sidecar-lock:${targetPath}`);
28345
+ const { managerKey: _managerKey, ...acquireOptions } = options;
28346
+ return await manager.withLock({ ...acquireOptions, targetPath }, fn);
28347
+ }
28348
+
28349
+ ;// CONCATENATED MODULE: ../../node_modules/@openclaw/fs-safe/dist/test-hooks.js
28350
+ let test_hooks_fsSafeTestHooks;
28351
+ function allowFsSafeTestHooks() {
28352
+ return false || process.env.VITEST === "true";
28353
+ }
28354
+ function getFsSafeTestHooks() {
28355
+ return test_hooks_fsSafeTestHooks;
28356
+ }
28357
+ function __setFsSafeTestHooksForTest(hooks) {
28358
+ if (hooks && !allowFsSafeTestHooks()) {
28359
+ throw new Error("__setFsSafeTestHooksForTest is only available in tests");
28360
+ }
28361
+ test_hooks_fsSafeTestHooks = hooks;
28362
+ }
28363
+
27985
28364
  ;// CONCATENATED MODULE: ../../node_modules/@openclaw/fs-safe/dist/pinned-write.js
27986
28365
 
27987
28366
 
@@ -27995,6 +28374,8 @@ async function runPinnedPathHelper(params) {
27995
28374
 
27996
28375
 
27997
28376
 
28377
+
28378
+
27998
28379
  function pinned_write_byteLength(input, encoding) {
27999
28380
  return typeof input === "string"
28000
28381
  ? Buffer.byteLength(input, encoding ?? "utf8")
@@ -28052,6 +28433,12 @@ async function runPinnedWriteHelper(params) {
28052
28433
  validatePinnedOperationPayload({
28053
28434
  relativeParentPath: params.relativeParentPath,
28054
28435
  });
28436
+ // The Python helper deliberately enforces the strict post-rename inode
28437
+ // contract. The explicit compatibility policy therefore uses the guarded
28438
+ // Node fallback, where content verification can replace that one check.
28439
+ if (params.onRenameIdentityMismatch === "verify-content") {
28440
+ return await runPinnedWriteFallback(params);
28441
+ }
28055
28442
  if (getFsSafePythonConfig().mode === "off") {
28056
28443
  return await runPinnedWriteFallback(params);
28057
28444
  }
@@ -28066,8 +28453,11 @@ async function runPinnedWriteHelper(params) {
28066
28453
  throw error;
28067
28454
  }
28068
28455
  }
28456
+ const input = params.input.kind === "stream"
28457
+ ? { kind: "buffer", data: Buffer.from(await inputToBase64(params.input, params.maxBytes), "base64") }
28458
+ : params.input;
28069
28459
  const payload = {
28070
- base64: await inputToBase64(params.input, params.maxBytes),
28460
+ base64: await inputToBase64(input, params.maxBytes),
28071
28461
  basename: params.basename,
28072
28462
  maxBytes: params.maxBytes ?? -1,
28073
28463
  mkdir: params.mkdir,
@@ -28085,11 +28475,32 @@ async function runPinnedWriteHelper(params) {
28085
28475
  }
28086
28476
  catch (error) {
28087
28477
  if (canFallbackFromPythonError(error)) {
28088
- return await runPinnedWriteFallback(params);
28478
+ return await runPinnedWriteFallback({ ...params, input });
28089
28479
  }
28090
28480
  throw error;
28091
28481
  }
28092
28482
  }
28483
+ async function runPinnedWriteWithRenamePolicy(params) {
28484
+ const { targetPath, renameIdentity, ...writeParams } = params;
28485
+ if (renameIdentity !== "verify-content-with-lock") {
28486
+ return await runPinnedWriteHelper(writeParams);
28487
+ }
28488
+ const relativeTargetPath = writeParams.relativeParentPath
28489
+ ? `${writeParams.relativeParentPath}/${writeParams.basename}`
28490
+ : writeParams.basename;
28491
+ const lockPath = external_node_path_.join(writeParams.rootPath, `.fs-safe-write-${sha256Hex(relativeTargetPath)}.lock`);
28492
+ return await withSidecarLock(writeParams.rootPath, {
28493
+ managerKey: `fs-safe.write:${targetPath}`,
28494
+ lockPath,
28495
+ staleMs: 30_000,
28496
+ timeoutMs: 5_000,
28497
+ payload: () => ({ pid: process.pid, createdAt: new Date().toISOString() }),
28498
+ retry: { retries: 5, minTimeout: 100, maxTimeout: 2_000, factor: 2 },
28499
+ }, async () => await runPinnedWriteHelper({
28500
+ ...writeParams,
28501
+ onRenameIdentityMismatch: "verify-content",
28502
+ }));
28503
+ }
28093
28504
  async function runPinnedCopyHelper(params) {
28094
28505
  assertSafeBasename(params.basename);
28095
28506
  validatePinnedOperationPayload({
@@ -28145,7 +28556,10 @@ async function runPinnedWriteFallback(params) {
28145
28556
  else {
28146
28557
  await writeStreamToHandle(params.input.stream, handle, params.maxBytes);
28147
28558
  }
28559
+ await handle.sync();
28148
28560
  const stat = await handle.stat();
28561
+ await handle.close().catch(() => undefined);
28562
+ await syncDirectoryBestEffort(parentPath);
28149
28563
  created = false;
28150
28564
  return { dev: stat.dev, ino: stat.ino };
28151
28565
  }
@@ -28193,11 +28607,49 @@ async function runPinnedWriteFallback(params) {
28193
28607
  await withAsyncDirectoryGuards([parentGuard], async () => {
28194
28608
  await promises_.rename(tempPath, targetPath);
28195
28609
  renamed = true;
28610
+ await getFsSafeTestHooks()?.afterPinnedWriteFallbackRename?.(targetPath);
28196
28611
  await syncDirectoryBestEffort(parentPath);
28197
28612
  targetStat = await promises_.lstat(targetPath);
28198
- if (targetStat.isSymbolicLink() || !file_identity_sameFileIdentity(targetStat, expectedTempStat)) {
28613
+ if (targetStat.isSymbolicLink()) {
28199
28614
  throw new errors_FsSafeError("path-mismatch", "fallback target changed during write");
28200
28615
  }
28616
+ if (!file_identity_sameFileIdentity(targetStat, expectedTempStat)) {
28617
+ // On filesystems like rclone FUSE, rename(2) can give the destination a
28618
+ // different inode from the source temp fd even with zero concurrency. The
28619
+ // caller must ensure mutual exclusion before passing "verify-content";
28620
+ // fall back to a content hash for this rename-boundary check only.
28621
+ if (params.onRenameIdentityMismatch !== "verify-content") {
28622
+ throw new errors_FsSafeError("path-mismatch", "fallback target changed during write");
28623
+ }
28624
+ if (params.input.kind !== "buffer") {
28625
+ throw new errors_FsSafeError("path-mismatch", "fallback target changed during write");
28626
+ }
28627
+ const expectedHash = sha256Hex(params.input.data, params.input.encoding);
28628
+ const readFlags = external_node_fs_.constants.O_RDONLY |
28629
+ (process.platform !== "win32" && "O_NOFOLLOW" in external_node_fs_.constants
28630
+ ? external_node_fs_.constants.O_NOFOLLOW
28631
+ : 0);
28632
+ const readHandle = await promises_.open(targetPath, readFlags);
28633
+ let actualHash;
28634
+ let readHandleStat;
28635
+ try {
28636
+ // Capture fd-based identity before reading — this is stable across all
28637
+ // subsequent lookups (on FUSE and locally), unlike the lstat-based
28638
+ // targetStat that triggered this fallback.
28639
+ readHandleStat = await readHandle.stat();
28640
+ actualHash = sha256Hex(await readHandle.readFile());
28641
+ }
28642
+ finally {
28643
+ await readHandle.close().catch(() => undefined);
28644
+ }
28645
+ if (actualHash !== expectedHash) {
28646
+ throw new errors_FsSafeError("path-mismatch", "fallback target changed during write");
28647
+ }
28648
+ // Replace the unreliable lstat-based targetStat with the fd-based stat so
28649
+ // the returned identity is consistent with what subsequent verifications
28650
+ // (e.g. verifyAtomicWriteResult) will obtain by opening the same file.
28651
+ targetStat = readHandleStat;
28652
+ }
28201
28653
  });
28202
28654
  }
28203
28655
  catch (error) {
@@ -29293,21 +29745,6 @@ function normalizePinnedPathError(error) {
29293
29745
  });
29294
29746
  }
29295
29747
 
29296
- ;// CONCATENATED MODULE: ../../node_modules/@openclaw/fs-safe/dist/test-hooks.js
29297
- let test_hooks_fsSafeTestHooks;
29298
- function allowFsSafeTestHooks() {
29299
- return false || process.env.VITEST === "true";
29300
- }
29301
- function getFsSafeTestHooks() {
29302
- return test_hooks_fsSafeTestHooks;
29303
- }
29304
- function __setFsSafeTestHooksForTest(hooks) {
29305
- if (hooks && !allowFsSafeTestHooks()) {
29306
- throw new Error("__setFsSafeTestHooksForTest is only available in tests");
29307
- }
29308
- test_hooks_fsSafeTestHooks = hooks;
29309
- }
29310
-
29311
29748
  ;// CONCATENATED MODULE: ../../node_modules/@openclaw/fs-safe/dist/json-stringify.js
29312
29749
  function stringifyJsonDocument(value, replacer, space) {
29313
29750
  const text = JSON.stringify(value, replacer, space);
@@ -29643,6 +30080,7 @@ class RootHandle {
29643
30080
  data,
29644
30081
  mkdir: this.defaults.mkdir,
29645
30082
  mode: this.defaults.mode,
30083
+ renameIdentity: this.defaults.renameIdentity,
29646
30084
  ...options,
29647
30085
  denyMutations: mergeDenyMutationPolicies(this.defaults.denyMutations, options.denyMutations),
29648
30086
  });
@@ -30077,21 +30515,23 @@ async function writeFileInRoot(root, params) {
30077
30515
  async function commitPinnedWriteInRoot(root, pinned, params) {
30078
30516
  let identity;
30079
30517
  try {
30080
- identity = await runPinnedWriteHelper({
30518
+ identity = await runPinnedWriteWithRenamePolicy({
30081
30519
  rootPath: pinned.rootReal,
30082
30520
  relativeParentPath: pinned.relativeParentPath,
30083
30521
  basename: pinned.basename,
30522
+ targetPath: pinned.targetPath,
30523
+ renameIdentity: params.renameIdentity,
30084
30524
  mkdir: params.mkdir !== false,
30085
30525
  mode: params.mode ?? pinned.mode,
30086
30526
  overwrite: params.overwrite,
30087
- input: {
30088
- kind: "buffer",
30089
- data: params.data,
30090
- encoding: params.encoding,
30091
- },
30527
+ input: { kind: "buffer", data: params.data, encoding: params.encoding },
30092
30528
  });
30093
30529
  }
30094
30530
  catch (error) {
30531
+ const errorCode = error?.code;
30532
+ if (errorCode === "file_lock_stale" || errorCode === "file_lock_timeout") {
30533
+ throw error;
30534
+ }
30095
30535
  if (params.overwrite === false && isAlreadyExistsError(error)) {
30096
30536
  throw new errors_FsSafeError("already-exists", "file already exists", {
30097
30537
  cause: error instanceof Error ? error : undefined,
@@ -32441,77 +32881,6 @@ function safeDestr(value, options = {}) {
32441
32881
 
32442
32882
 
32443
32883
 
32444
- ;// CONCATENATED MODULE: ../../node_modules/defu/dist/defu.mjs
32445
- function defu_isPlainObject(value) {
32446
- if (value === null || typeof value !== "object") {
32447
- return false;
32448
- }
32449
- const prototype = Object.getPrototypeOf(value);
32450
- if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {
32451
- return false;
32452
- }
32453
- if (Symbol.iterator in value) {
32454
- return false;
32455
- }
32456
- if (Symbol.toStringTag in value) {
32457
- return Object.prototype.toString.call(value) === "[object Module]";
32458
- }
32459
- return true;
32460
- }
32461
-
32462
- function _defu(baseObject, defaults, namespace = ".", merger) {
32463
- if (!defu_isPlainObject(defaults)) {
32464
- return _defu(baseObject, {}, namespace, merger);
32465
- }
32466
- const object = { ...defaults };
32467
- for (const key of Object.keys(baseObject)) {
32468
- if (key === "__proto__" || key === "constructor") {
32469
- continue;
32470
- }
32471
- const value = baseObject[key];
32472
- if (value === null || value === void 0) {
32473
- continue;
32474
- }
32475
- if (merger && merger(object, key, value, namespace)) {
32476
- continue;
32477
- }
32478
- if (Array.isArray(value) && Array.isArray(object[key])) {
32479
- object[key] = [...value, ...object[key]];
32480
- } else if (defu_isPlainObject(value) && defu_isPlainObject(object[key])) {
32481
- object[key] = _defu(
32482
- value,
32483
- object[key],
32484
- (namespace ? `${namespace}.` : "") + key.toString(),
32485
- merger
32486
- );
32487
- } else {
32488
- object[key] = value;
32489
- }
32490
- }
32491
- return object;
32492
- }
32493
- function createDefu(merger) {
32494
- return (...arguments_) => (
32495
- // eslint-disable-next-line unicorn/no-array-reduce
32496
- arguments_.reduce((p, c) => _defu(p, c, "", merger), {})
32497
- );
32498
- }
32499
- const defu_defu = createDefu();
32500
- const defuFn = createDefu((object, key, currentValue) => {
32501
- if (object[key] !== void 0 && typeof currentValue === "function") {
32502
- object[key] = currentValue(object[key]);
32503
- return true;
32504
- }
32505
- });
32506
- const defuArrayFn = createDefu((object, key, currentValue) => {
32507
- if (Array.isArray(object[key]) && typeof currentValue === "function") {
32508
- object[key] = currentValue(object[key]);
32509
- return true;
32510
- }
32511
- });
32512
-
32513
-
32514
-
32515
32884
  ;// CONCATENATED MODULE: ../../node_modules/rc9/dist/index.mjs
32516
32885
 
32517
32886
 
@@ -32672,6 +33041,77 @@ function updateUser(config, options) {
32672
33041
  //#endregion
32673
33042
 
32674
33043
 
33044
+ ;// CONCATENATED MODULE: ../../node_modules/defu/dist/defu.mjs
33045
+ function defu_isPlainObject(value) {
33046
+ if (value === null || typeof value !== "object") {
33047
+ return false;
33048
+ }
33049
+ const prototype = Object.getPrototypeOf(value);
33050
+ if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {
33051
+ return false;
33052
+ }
33053
+ if (Symbol.iterator in value) {
33054
+ return false;
33055
+ }
33056
+ if (Symbol.toStringTag in value) {
33057
+ return Object.prototype.toString.call(value) === "[object Module]";
33058
+ }
33059
+ return true;
33060
+ }
33061
+
33062
+ function _defu(baseObject, defaults, namespace = ".", merger) {
33063
+ if (!defu_isPlainObject(defaults)) {
33064
+ return _defu(baseObject, {}, namespace, merger);
33065
+ }
33066
+ const object = { ...defaults };
33067
+ for (const key of Object.keys(baseObject)) {
33068
+ if (key === "__proto__" || key === "constructor") {
33069
+ continue;
33070
+ }
33071
+ const value = baseObject[key];
33072
+ if (value === null || value === void 0) {
33073
+ continue;
33074
+ }
33075
+ if (merger && merger(object, key, value, namespace)) {
33076
+ continue;
33077
+ }
33078
+ if (Array.isArray(value) && Array.isArray(object[key])) {
33079
+ object[key] = [...value, ...object[key]];
33080
+ } else if (defu_isPlainObject(value) && defu_isPlainObject(object[key])) {
33081
+ object[key] = _defu(
33082
+ value,
33083
+ object[key],
33084
+ (namespace ? `${namespace}.` : "") + key.toString(),
33085
+ merger
33086
+ );
33087
+ } else {
33088
+ object[key] = value;
33089
+ }
33090
+ }
33091
+ return object;
33092
+ }
33093
+ function createDefu(merger) {
33094
+ return (...arguments_) => (
33095
+ // eslint-disable-next-line unicorn/no-array-reduce
33096
+ arguments_.reduce((p, c) => _defu(p, c, "", merger), {})
33097
+ );
33098
+ }
33099
+ const defu_defu = createDefu();
33100
+ const defuFn = (/* unused pure expression or super */ null && (createDefu((object, key, currentValue) => {
33101
+ if (object[key] !== void 0 && typeof currentValue === "function") {
33102
+ object[key] = currentValue(object[key]);
33103
+ return true;
33104
+ }
33105
+ })));
33106
+ const defuArrayFn = (/* unused pure expression or super */ null && (createDefu((object, key, currentValue) => {
33107
+ if (Array.isArray(object[key]) && typeof currentValue === "function") {
33108
+ object[key] = currentValue(object[key]);
33109
+ return true;
33110
+ }
33111
+ })));
33112
+
33113
+
33114
+
32675
33115
  // EXTERNAL MODULE: ../../node_modules/confbox/dist/_chunks/_format.mjs
32676
33116
  var _format = __webpack_require__(5492);
32677
33117
  ;// CONCATENATED MODULE: ../../node_modules/confbox/dist/_chunks/json.mjs
@@ -34121,7 +34561,7 @@ const CLAUDE_SETTINGS_PATH = (0,external_node_path_.join)(".claude", "settings.j
34121
34561
  * PreToolUse hooks for Edit and Write tools only.
34122
34562
  * File paths are NOT passed as shell arguments — Claude Code pipes the hook
34123
34563
  * JSON (including tool_input.file_path) to the command via stdin.
34124
- */ const PRE_TOOL_USE_HOOKS = [
34564
+ */ const PRE_TOOL_USE_HOOKS = (/* unused pure expression or super */ null && ([
34125
34565
  {
34126
34566
  matcher: "Edit",
34127
34567
  hooks: [
@@ -34140,8 +34580,8 @@ const CLAUDE_SETTINGS_PATH = (0,external_node_path_.join)(".claude", "settings.j
34140
34580
  }
34141
34581
  ]
34142
34582
  }
34143
- ];
34144
- const SESSION_START_HOOKS = [
34583
+ ]));
34584
+ const SESSION_START_HOOKS = (/* unused pure expression or super */ null && ([
34145
34585
  {
34146
34586
  hooks: [
34147
34587
  {
@@ -34150,8 +34590,8 @@ const SESSION_START_HOOKS = [
34150
34590
  }
34151
34591
  ]
34152
34592
  }
34153
- ];
34154
- const STOP_HOOKS = [
34593
+ ]));
34594
+ const STOP_HOOKS = (/* unused pure expression or super */ null && ([
34155
34595
  {
34156
34596
  hooks: [
34157
34597
  {
@@ -34160,8 +34600,8 @@ const STOP_HOOKS = [
34160
34600
  }
34161
34601
  ]
34162
34602
  }
34163
- ];
34164
- const SUBAGENT_STOP_HOOKS = [
34603
+ ]));
34604
+ const SUBAGENT_STOP_HOOKS = (/* unused pure expression or super */ null && ([
34165
34605
  {
34166
34606
  hooks: [
34167
34607
  {
@@ -34170,7 +34610,7 @@ const SUBAGENT_STOP_HOOKS = [
34170
34610
  }
34171
34611
  ]
34172
34612
  }
34173
- ];
34613
+ ]));
34174
34614
  const DANGEROUS_KEYS = new Set([
34175
34615
  "__proto__",
34176
34616
  "constructor",
@@ -37113,6 +37553,7 @@ function createWorkflowGateway(cwd) {
37113
37553
 
37114
37554
 
37115
37555
 
37556
+
37116
37557
  /**
37117
37558
  * Parses a workflow file and extracts action references.
37118
37559
  */ async function parseWorkflowFile(rootDir, relativePath) {
@@ -37143,7 +37584,8 @@ function createWorkflowGateway(cwd) {
37143
37584
  * Analyzes GitHub Action versions used across all workflow files.
37144
37585
  */ const analyzeActionVersionsHandler = async (args)=>{
37145
37586
  const dir = args.targetDir || process.cwd();
37146
- if (!await file_system_utils_fileExists(dir)) {
37587
+ const dirStat = await (0,promises_.stat)(dir).catch(()=>null);
37588
+ if (dirStat === null || !dirStat.isDirectory()) {
37147
37589
  return types_errorResponse(`Target directory does not exist: ${dir}`);
37148
37590
  }
37149
37591
  const workflowsRelativeDir = (0,external_node_path_.join)(".github", "workflows");
@@ -62567,7 +63009,7 @@ exports.prettifyError = prettifyError;
62567
63009
 
62568
63010
  },
62569
63011
  3519(__unused_rspack_module, exports, __webpack_require__) {
62570
- var __webpack_unused_export__;
63012
+ var __rspack_unused_export;
62571
63013
 
62572
63014
 
62573
63015
  var composer = __webpack_require__(8480);
@@ -62589,35 +63031,35 @@ var visit = __webpack_require__(4364);
62589
63031
 
62590
63032
 
62591
63033
 
62592
- __webpack_unused_export__ = composer.Composer;
62593
- __webpack_unused_export__ = Document.Document;
62594
- __webpack_unused_export__ = Schema.Schema;
62595
- __webpack_unused_export__ = errors.YAMLError;
62596
- __webpack_unused_export__ = errors.YAMLParseError;
62597
- __webpack_unused_export__ = errors.YAMLWarning;
62598
- __webpack_unused_export__ = Alias.Alias;
62599
- __webpack_unused_export__ = identity.isAlias;
62600
- __webpack_unused_export__ = identity.isCollection;
62601
- __webpack_unused_export__ = identity.isDocument;
62602
- __webpack_unused_export__ = identity.isMap;
62603
- __webpack_unused_export__ = identity.isNode;
62604
- __webpack_unused_export__ = identity.isPair;
62605
- __webpack_unused_export__ = identity.isScalar;
62606
- __webpack_unused_export__ = identity.isSeq;
62607
- __webpack_unused_export__ = Pair.Pair;
63034
+ __rspack_unused_export = composer.Composer;
63035
+ __rspack_unused_export = Document.Document;
63036
+ __rspack_unused_export = Schema.Schema;
63037
+ __rspack_unused_export = errors.YAMLError;
63038
+ __rspack_unused_export = errors.YAMLParseError;
63039
+ __rspack_unused_export = errors.YAMLWarning;
63040
+ __rspack_unused_export = Alias.Alias;
63041
+ __rspack_unused_export = identity.isAlias;
63042
+ __rspack_unused_export = identity.isCollection;
63043
+ __rspack_unused_export = identity.isDocument;
63044
+ __rspack_unused_export = identity.isMap;
63045
+ __rspack_unused_export = identity.isNode;
63046
+ __rspack_unused_export = identity.isPair;
63047
+ __rspack_unused_export = identity.isScalar;
63048
+ __rspack_unused_export = identity.isSeq;
63049
+ __rspack_unused_export = Pair.Pair;
62608
63050
  exports.X5 = Scalar.Scalar;
62609
- __webpack_unused_export__ = YAMLMap.YAMLMap;
62610
- __webpack_unused_export__ = YAMLSeq.YAMLSeq;
62611
- __webpack_unused_export__ = cst;
62612
- __webpack_unused_export__ = lexer.Lexer;
62613
- __webpack_unused_export__ = lineCounter.LineCounter;
62614
- __webpack_unused_export__ = parser.Parser;
63051
+ __rspack_unused_export = YAMLMap.YAMLMap;
63052
+ __rspack_unused_export = YAMLSeq.YAMLSeq;
63053
+ __rspack_unused_export = cst;
63054
+ __rspack_unused_export = lexer.Lexer;
63055
+ __rspack_unused_export = lineCounter.LineCounter;
63056
+ __rspack_unused_export = parser.Parser;
62615
63057
  exports.qg = publicApi.parse;
62616
- __webpack_unused_export__ = publicApi.parseAllDocuments;
62617
- __webpack_unused_export__ = publicApi.parseDocument;
63058
+ __rspack_unused_export = publicApi.parseAllDocuments;
63059
+ __rspack_unused_export = publicApi.parseDocument;
62618
63060
  exports.As = publicApi.stringify;
62619
- __webpack_unused_export__ = visit.visit;
62620
- __webpack_unused_export__ = visit.visitAsync;
63061
+ __rspack_unused_export = visit.visit;
63062
+ __rspack_unused_export = visit.visitAsync;
62621
63063
 
62622
63064
 
62623
63065
  },
@@ -68537,14 +68979,14 @@ __webpack_require__.r = (exports) => {
68537
68979
  var installedChunks = {44: 0,};
68538
68980
  var installChunk = (data) => {
68539
68981
  var __rspack_esm_ids = data.__rspack_esm_ids;
68540
- var __webpack_modules__ = data.__webpack_modules__;
68982
+ var moreModules = data.__webpack_modules__;
68541
68983
  var __rspack_esm_runtime = data.__rspack_esm_runtime;
68542
68984
  // add "modules" to the modules object,
68543
68985
  // then flag all "ids" as loaded and fire callback
68544
68986
  var moduleId, chunkId, i = 0;
68545
- for (moduleId in __webpack_modules__) {
68546
- if (__webpack_require__.o(__webpack_modules__, moduleId)) {
68547
- __webpack_require__.m[moduleId] = __webpack_modules__[moduleId];
68987
+ for (moduleId in moreModules) {
68988
+ if (__webpack_require__.o(moreModules, moduleId)) {
68989
+ __webpack_require__.m[moduleId] = moreModules[moduleId];
68548
68990
  }
68549
68991
  }
68550
68992
  if (__rspack_esm_runtime) __rspack_esm_runtime(__webpack_require__);
@@ -68557,6 +68999,7 @@ __webpack_require__.r = (exports) => {
68557
68999
  }
68558
69000
 
68559
69001
  };
69002
+
68560
69003
  __webpack_require__.f.j = function (chunkId, promises) {
68561
69004
  // import() chunk loading for javascript
68562
69005
  var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
@@ -68589,4 +69032,4 @@ if (installedChunkData !== 0) { // 0 means "already installed".'
68589
69032
  // module factories are used so entry inlining is disabled
68590
69033
  // startup
68591
69034
  // Load entry module and return exports
68592
- var __webpack_exports__ = __webpack_require__(8705);
69035
+ var __webpack_exports__ = __webpack_require__(6887);