@kyo-so/cli 0.16.7 → 0.16.9

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/bin/kyoso.js CHANGED
@@ -183964,7 +183964,7 @@ var JUDGE_MAX_OUTPUT_TOKENS = 4096;
183964
183964
  var RAW_OUTPUT_MAX_CHARS = 16384;
183965
183965
  var TRACE_DIR = ".kyoso/traces";
183966
183966
  var KYOSO_CHILD_AGENT = "KYOSO_CHILD_AGENT";
183967
- var KYOSO_VERSION = "0.16.7";
183967
+ var KYOSO_VERSION = "0.16.9";
183968
183968
 
183969
183969
  // src/utils/pathContainment.ts
183970
183970
  import { resolve, sep as sep2 } from "node:path";
@@ -184269,7 +184269,7 @@ var defaultConfig = {
184269
184269
  enabled: true,
184270
184270
  type: "acp",
184271
184271
  command: "npx",
184272
- args: ["-y", "@agentclientprotocol/codex-acp@1.1.14"],
184272
+ args: ["-y", "@agentclientprotocol/codex-acp@1.4.0"],
184273
184273
  role: "implementation_reviewer",
184274
184274
  timeoutMs: DEFAULT_AGENT_TIMEOUT_MS,
184275
184275
  allowProjectProvider: [],
@@ -184294,7 +184294,7 @@ var defaultConfig = {
184294
184294
  enabled: true,
184295
184295
  type: "acp",
184296
184296
  command: "npx",
184297
- args: ["-y", "@agentclientprotocol/claude-agent-acp@0.66.0"],
184297
+ args: ["-y", "@agentclientprotocol/claude-agent-acp@0.69.0"],
184298
184298
  role: "architecture_security_reviewer",
184299
184299
  timeoutMs: DEFAULT_AGENT_TIMEOUT_MS,
184300
184300
  env: {
@@ -185205,6 +185205,89 @@ ${codeblock}`, options);
185205
185205
  }
185206
185206
  }
185207
185207
 
185208
+ // node_modules/smol-toml/dist/util.js
185209
+ /*!
185210
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
185211
+ * SPDX-License-Identifier: BSD-3-Clause
185212
+ *
185213
+ * Redistribution and use in source and binary forms, with or without
185214
+ * modification, are permitted provided that the following conditions are met:
185215
+ *
185216
+ * 1. Redistributions of source code must retain the above copyright notice, this
185217
+ * list of conditions and the following disclaimer.
185218
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
185219
+ * this list of conditions and the following disclaimer in the
185220
+ * documentation and/or other materials provided with the distribution.
185221
+ * 3. Neither the name of the copyright holder nor the names of its contributors
185222
+ * may be used to endorse or promote products derived from this software without
185223
+ * specific prior written permission.
185224
+ *
185225
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
185226
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
185227
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
185228
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
185229
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
185230
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
185231
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
185232
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
185233
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
185234
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
185235
+ */
185236
+ function indexOfNewline(str, start = 0) {
185237
+ let idx = str.indexOf(`
185238
+ `, start);
185239
+ if (str.charCodeAt(idx - 1) === 13)
185240
+ idx--;
185241
+ return idx;
185242
+ }
185243
+ function skipComment(ctx) {
185244
+ for (;ctx.p < ctx.s.length; ctx.p++) {
185245
+ let c = ctx.s.charCodeAt(ctx.p);
185246
+ if (c === 10)
185247
+ break;
185248
+ if (c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10) {
185249
+ ctx.p++;
185250
+ break;
185251
+ }
185252
+ if (c < 32 && c !== 9 || c === 127) {
185253
+ throw new TomlError("control characters are not allowed in comments", {
185254
+ toml: ctx.s,
185255
+ ptr: ctx.p
185256
+ });
185257
+ }
185258
+ }
185259
+ }
185260
+ function skipVoid(ctx, banNewLines, banComments) {
185261
+ let c;
185262
+ while (true) {
185263
+ while ((c = ctx.s.charCodeAt(ctx.p)) === 32 || c === 9 || !banNewLines && (c === 10 || c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10))
185264
+ ctx.p++;
185265
+ if (banComments || c !== 35)
185266
+ break;
185267
+ skipComment(ctx);
185268
+ }
185269
+ }
185270
+ function skipUntil(ctx, sep3, end) {
185271
+ let ptr = ctx.p;
185272
+ if (!end) {
185273
+ ptr = indexOfNewline(ctx.s, ptr);
185274
+ ctx.p = ptr < 0 ? ctx.s.length : ptr;
185275
+ return;
185276
+ }
185277
+ for (;ctx.p < ctx.s.length; ctx.p++) {
185278
+ let c = ctx.s.charCodeAt(ctx.p);
185279
+ if (c === 35) {
185280
+ skipComment(ctx);
185281
+ } else if (c === end || c === sep3) {
185282
+ return;
185283
+ }
185284
+ }
185285
+ throw new TomlError("cannot find end of structure", {
185286
+ toml: ctx.s,
185287
+ ptr
185288
+ });
185289
+ }
185290
+
185208
185291
  // node_modules/smol-toml/dist/primitive.js
185209
185292
  /*!
185210
185293
  * Copyright (c) Squirrel Chat et al., All rights reserved.
@@ -185236,109 +185319,117 @@ ${codeblock}`, options);
185236
185319
  var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
185237
185320
  var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
185238
185321
  var LEADING_ZERO = /^[+-]?0[0-9_]/;
185239
- function parseString(str, ptr) {
185240
- let c = str[ptr++];
185322
+ function parseString(ctx) {
185323
+ let start = ctx.p;
185324
+ let c = ctx.s.charCodeAt(ctx.p++);
185241
185325
  let first = c;
185242
- let isLiteral = c === "'";
185243
- let isMultiline = c === str[ptr] && c === str[ptr + 1];
185326
+ let isLiteral = c === 39;
185327
+ let isMultiline = c === ctx.s.charCodeAt(ctx.p) && c === ctx.s.charCodeAt(ctx.p + 1);
185244
185328
  if (isMultiline) {
185245
- if (str[ptr += 2] === `
185246
- `)
185247
- ptr++;
185248
- else if (str[ptr] === "\r" && str[ptr + 1] === `
185249
- `)
185250
- ptr += 2;
185329
+ if ((c = ctx.s.charCodeAt(ctx.p += 2)) === 10)
185330
+ ctx.p++;
185331
+ else if (c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10)
185332
+ ctx.p += 2;
185251
185333
  }
185252
185334
  let parsed = "";
185253
- let sliceStart = ptr;
185335
+ let sliceStart = ctx.p;
185254
185336
  let state = 0;
185255
- for (let i = ptr;i < str.length; i++) {
185256
- c = str[i];
185257
- if (isMultiline && (c === `
185258
- ` || c === "\r" && str[i + 1] === `
185259
- `)) {
185337
+ for (;ctx.p < ctx.s.length; ctx.p++) {
185338
+ c = ctx.s.charCodeAt(ctx.p);
185339
+ if (isMultiline && (c === 10 || c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10)) {
185260
185340
  state = state && 3;
185261
- } else if (c < " " && c !== "\t" || c === "") {
185341
+ } else if (c < 32 && c !== 9 || c === 127) {
185262
185342
  throw new TomlError("control characters are not allowed in strings", {
185263
- toml: str,
185264
- ptr: i
185343
+ toml: ctx.s,
185344
+ ptr: ctx.p
185265
185345
  });
185266
- } else if ((!state || state === 3) && c === first && (!isMultiline || str[i + 1] === first && str[i + 2] === first)) {
185346
+ } else if ((!state || state === 3) && c === first && (!isMultiline || ctx.s.charCodeAt(ctx.p + 1) === first && ctx.s.charCodeAt(ctx.p + 2) === first)) {
185267
185347
  if (isMultiline) {
185268
- if (str[i + 3] === first)
185269
- i++;
185270
- if (str[i + 3] === first)
185271
- i++;
185272
- }
185273
- return [
185274
- state ? parsed : parsed + str.slice(sliceStart, i),
185275
- i + (isMultiline ? 3 : 1)
185276
- ];
185348
+ if (ctx.s.charCodeAt(ctx.p + 3) === first)
185349
+ ctx.p++;
185350
+ if (ctx.s.charCodeAt(ctx.p + 3) === first)
185351
+ ctx.p++;
185352
+ }
185353
+ if (!state)
185354
+ parsed += ctx.s.slice(sliceStart, ctx.p);
185355
+ ctx.p += isMultiline ? 3 : 1;
185356
+ return parsed;
185277
185357
  } else if (!state) {
185278
- if (!isLiteral && c === "\\") {
185279
- parsed += str.slice(sliceStart, sliceStart = i);
185358
+ if (!isLiteral && c === 92) {
185359
+ parsed += ctx.s.slice(sliceStart, sliceStart = ctx.p);
185280
185360
  state = 1;
185281
185361
  }
185282
185362
  } else if (state === 1) {
185283
- if (c === "x" || c === "u" || c === "U") {
185363
+ if (c === 120 || c === 117 || c === 85) {
185284
185364
  let value = 0;
185285
- let len = c === "x" ? 2 : c === "u" ? 4 : 8;
185286
- for (let j = 0;j < len; j++, i++) {
185287
- let hex3 = str.charCodeAt(i + 1);
185365
+ let len = c === 120 ? 2 : c === 117 ? 4 : 8;
185366
+ for (let j = 0;j < len; j++, ctx.p++) {
185367
+ let hex3 = ctx.s.charCodeAt(ctx.p + 1);
185288
185368
  let digit = hex3 >= 48 && hex3 <= 57 ? hex3 - 48 : hex3 >= 65 && hex3 <= 70 ? hex3 - 65 + 10 : hex3 >= 97 && hex3 <= 102 ? hex3 - 97 + 10 : -1;
185289
185369
  if (digit < 0)
185290
- throw new TomlError("invalid non-hex character in unicode escape", { toml: str, ptr: i + 1 });
185370
+ throw new TomlError("invalid non-hex character in unicode escape", { toml: ctx.s, ptr: ctx.p + 1 });
185291
185371
  value = value << 4 | digit;
185292
185372
  }
185293
185373
  if (value < 0 || value > 1114111 || value >= 55296 && value <= 57343) {
185294
- throw new TomlError("invalid unicode escape", { toml: str, ptr: i });
185374
+ throw new TomlError("invalid unicode escape", { toml: ctx.s, ptr: ctx.p });
185295
185375
  }
185296
185376
  parsed += String.fromCodePoint(value);
185297
- sliceStart = i + 1;
185377
+ sliceStart = ctx.p + 1;
185298
185378
  state = 0;
185299
- } else if (c === " " || c === "\t") {
185379
+ } else if (c === 32 || c === 9) {
185300
185380
  state = 2;
185301
185381
  } else {
185302
- if (c === "b")
185382
+ if (c === 98)
185303
185383
  parsed += "\b";
185304
- else if (c === "t")
185384
+ else if (c === 116)
185305
185385
  parsed += "\t";
185306
- else if (c === "n")
185386
+ else if (c === 110)
185307
185387
  parsed += `
185308
185388
  `;
185309
- else if (c === "f")
185389
+ else if (c === 102)
185310
185390
  parsed += "\f";
185311
- else if (c === "r")
185391
+ else if (c === 114)
185312
185392
  parsed += "\r";
185313
- else if (c === "e")
185393
+ else if (c === 101)
185314
185394
  parsed += "\x1B";
185315
- else if (c === '"')
185395
+ else if (c === 34)
185316
185396
  parsed += '"';
185317
- else if (c === "\\")
185397
+ else if (c === 92)
185318
185398
  parsed += "\\";
185319
185399
  else
185320
- throw new TomlError("unrecognized escape sequence", { toml: str, ptr: i });
185321
- sliceStart = i + 1;
185400
+ throw new TomlError("unrecognized escape sequence", { toml: ctx.s, ptr: ctx.p });
185401
+ sliceStart = ctx.p + 1;
185322
185402
  state = 0;
185323
185403
  }
185324
- } else if (c !== " " && c !== "\t") {
185404
+ } else if (c !== 32 && c !== 9) {
185325
185405
  if (state === 2) {
185326
185406
  throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
185327
- toml: str,
185407
+ toml: ctx.s,
185328
185408
  ptr: sliceStart
185329
185409
  });
185330
185410
  }
185331
- state = !isLiteral && c === "\\" ? 1 : 0;
185332
- sliceStart = i;
185411
+ state = !isLiteral && c === 92 ? 1 : 0;
185412
+ sliceStart = ctx.p;
185333
185413
  }
185334
185414
  }
185335
- throw new TomlError("unfinished string", { toml: str, ptr });
185415
+ throw new TomlError("unfinished string", { toml: ctx.s, ptr: start });
185336
185416
  }
185337
- function parseValue(value, toml, ptr, integersAsBigInt) {
185338
- if (value === "true")
185339
- return true;
185340
- if (value === "false")
185341
- return false;
185417
+ function sliceAndTrimEndOf(ctx, start, end) {
185418
+ let value = ctx.s.slice(start, end);
185419
+ let commentIdx = value.indexOf("#");
185420
+ if (commentIdx > 0) {
185421
+ skipComment({ s: value, p: commentIdx, d: 0 });
185422
+ value = value.slice(0, commentIdx);
185423
+ }
185424
+ return value.trimEnd();
185425
+ }
185426
+ function parseValue(ctx, integersAsBigInt, end) {
185427
+ let ptr = ctx.p;
185428
+ let err = { toml: ctx.s, ptr };
185429
+ skipUntil(ctx, 44, end);
185430
+ let value = sliceAndTrimEndOf(ctx, ptr, ctx.p);
185431
+ if (!value)
185432
+ throw new TomlError("incomplete declaration: value expected", err);
185342
185433
  if (value === "-inf")
185343
185434
  return -Infinity;
185344
185435
  if (value === "inf" || value === "+inf")
@@ -185350,25 +185441,16 @@ function parseValue(value, toml, ptr, integersAsBigInt) {
185350
185441
  let isInt = INT_REGEX.test(value);
185351
185442
  if (isInt || FLOAT_REGEX.test(value)) {
185352
185443
  if (LEADING_ZERO.test(value)) {
185353
- throw new TomlError("leading zeroes are not allowed", {
185354
- toml,
185355
- ptr
185356
- });
185444
+ throw new TomlError("leading zeroes are not allowed", err);
185357
185445
  }
185358
185446
  value = value.replace(/_/g, "");
185359
185447
  let numeric = +value;
185360
185448
  if (isNaN(numeric)) {
185361
- throw new TomlError("invalid number", {
185362
- toml,
185363
- ptr
185364
- });
185449
+ throw new TomlError("invalid number", err);
185365
185450
  }
185366
185451
  if (isInt) {
185367
185452
  if ((isInt = !Number.isSafeInteger(numeric)) && !integersAsBigInt) {
185368
- throw new TomlError("integer value cannot be represented losslessly", {
185369
- toml,
185370
- ptr
185371
- });
185453
+ throw new TomlError("integer value cannot be represented losslessly", err);
185372
185454
  }
185373
185455
  if (isInt || integersAsBigInt === true)
185374
185456
  numeric = BigInt(value);
@@ -185376,16 +185458,12 @@ function parseValue(value, toml, ptr, integersAsBigInt) {
185376
185458
  return numeric;
185377
185459
  }
185378
185460
  const date5 = new TomlDate(value);
185379
- if (!date5.isValid()) {
185380
- throw new TomlError("invalid value", {
185381
- toml,
185382
- ptr
185383
- });
185384
- }
185461
+ if (!date5.isValid())
185462
+ throw new TomlError("invalid value", err);
185385
185463
  return date5;
185386
185464
  }
185387
185465
 
185388
- // node_modules/smol-toml/dist/util.js
185466
+ // node_modules/smol-toml/dist/extract.js
185389
185467
  /*!
185390
185468
  * Copyright (c) Squirrel Chat et al., All rights reserved.
185391
185469
  * SPDX-License-Identifier: BSD-3-Clause
@@ -185413,162 +185491,36 @@ function parseValue(value, toml, ptr, integersAsBigInt) {
185413
185491
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
185414
185492
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
185415
185493
  */
185416
- function indexOfNewline(str, start = 0, end = str.length) {
185417
- let idx = str.indexOf(`
185418
- `, start);
185419
- if (str[idx - 1] === "\r")
185420
- idx--;
185421
- return idx <= end ? idx : -1;
185422
- }
185423
- function skipComment(str, ptr) {
185424
- for (let i = ptr;i < str.length; i++) {
185425
- let c = str[i];
185426
- if (c === `
185427
- `)
185428
- return i;
185429
- if (c === "\r" && str[i + 1] === `
185430
- `)
185431
- return i + 1;
185432
- if (c < " " && c !== "\t" || c === "") {
185433
- throw new TomlError("control characters are not allowed in comments", {
185434
- toml: str,
185494
+ function extractValue(ctx, end, integersAsBigInt) {
185495
+ let ptr = ctx.p;
185496
+ let c = ctx.s.charCodeAt(ptr);
185497
+ if (c === 91 || c === 123) {
185498
+ if (!ctx.d--) {
185499
+ throw new TomlError("document contains excessively nested structures. aborting.", {
185500
+ toml: ctx.s,
185435
185501
  ptr
185436
185502
  });
185437
185503
  }
185504
+ let value = c === 91 ? parseArray(ctx, integersAsBigInt) : parseInlineTable(ctx, integersAsBigInt);
185505
+ ctx.d++;
185506
+ return value;
185438
185507
  }
185439
- return str.length;
185440
- }
185441
- function skipVoid(str, ptr, banNewLines, banComments) {
185442
- let c;
185443
- while (true) {
185444
- while ((c = str[ptr]) === " " || c === "\t" || !banNewLines && (c === `
185445
- ` || c === "\r" && str[ptr + 1] === `
185446
- `))
185447
- ptr++;
185448
- if (banComments || c !== "#")
185449
- break;
185450
- ptr = skipComment(str, ptr);
185451
- }
185452
- return ptr;
185453
- }
185454
- function skipUntil(str, ptr, sep3, end, banNewLines = false) {
185455
- if (!end) {
185456
- ptr = indexOfNewline(str, ptr);
185457
- return ptr < 0 ? str.length : ptr;
185458
- }
185459
- for (let i = ptr;i < str.length; i++) {
185460
- let c = str[i];
185461
- if (c === "#") {
185462
- i = indexOfNewline(str, i);
185463
- if (i < 0)
185464
- break;
185465
- } else if (c === sep3) {
185466
- return i + 1;
185467
- } else if (c === end || banNewLines && (c === `
185468
- ` || c === "\r" && str[i + 1] === `
185469
- `)) {
185470
- return i;
185471
- }
185472
- }
185473
- throw new TomlError("cannot find end of structure", {
185474
- toml: str,
185475
- ptr
185476
- });
185477
- }
185478
-
185479
- // node_modules/smol-toml/dist/extract.js
185480
- /*!
185481
- * Copyright (c) Squirrel Chat et al., All rights reserved.
185482
- * SPDX-License-Identifier: BSD-3-Clause
185483
- *
185484
- * Redistribution and use in source and binary forms, with or without
185485
- * modification, are permitted provided that the following conditions are met:
185486
- *
185487
- * 1. Redistributions of source code must retain the above copyright notice, this
185488
- * list of conditions and the following disclaimer.
185489
- * 2. Redistributions in binary form must reproduce the above copyright notice,
185490
- * this list of conditions and the following disclaimer in the
185491
- * documentation and/or other materials provided with the distribution.
185492
- * 3. Neither the name of the copyright holder nor the names of its contributors
185493
- * may be used to endorse or promote products derived from this software without
185494
- * specific prior written permission.
185495
- *
185496
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
185497
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
185498
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
185499
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
185500
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
185501
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
185502
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
185503
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
185504
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
185505
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
185506
- */
185507
- function sliceAndTrimEndOf(str, startPtr, endPtr) {
185508
- let value = str.slice(startPtr, endPtr);
185509
- let commentIdx = value.indexOf("#");
185510
- if (commentIdx > -1) {
185511
- skipComment(str, commentIdx);
185512
- value = value.slice(0, commentIdx);
185513
- }
185514
- return [value.trimEnd(), commentIdx];
185515
- }
185516
- function extractValue(str, ptr, end, depth, integersAsBigInt) {
185517
- if (depth === 0) {
185518
- throw new TomlError("document contains excessively nested structures. aborting.", {
185519
- toml: str,
185520
- ptr
185521
- });
185522
- }
185523
- let c = str[ptr];
185524
- if (c === "[" || c === "{") {
185525
- let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth, integersAsBigInt) : parseInlineTable(str, ptr, depth, integersAsBigInt);
185526
- if (end) {
185527
- endPtr2 = skipVoid(str, endPtr2);
185528
- if (str[endPtr2] === ",")
185529
- endPtr2++;
185530
- else if (str[endPtr2] !== end) {
185531
- throw new TomlError("expected comma or end of structure", {
185532
- toml: str,
185533
- ptr: endPtr2
185534
- });
185535
- }
185536
- }
185537
- return [value, endPtr2];
185508
+ if (c === 34 || c === 39) {
185509
+ return parseString(ctx);
185538
185510
  }
185539
- if (c === '"' || c === "'") {
185540
- let [parsed, endPtr2] = parseString(str, ptr);
185541
- if (end) {
185542
- endPtr2 = skipVoid(str, endPtr2);
185543
- if (str[endPtr2] && str[endPtr2] !== "," && str[endPtr2] !== end && str[endPtr2] !== `
185544
- ` && str[endPtr2] !== "\r") {
185545
- throw new TomlError("unexpected character encountered", {
185546
- toml: str,
185547
- ptr: endPtr2
185548
- });
185549
- }
185550
- if (str[endPtr2] === ",")
185551
- endPtr2++;
185552
- }
185553
- return [parsed, endPtr2];
185554
- }
185555
- let endPtr = skipUntil(str, ptr, ",", end);
185556
- let slice = sliceAndTrimEndOf(str, ptr, endPtr - (str[endPtr - 1] === "," ? 1 : 0));
185557
- if (!slice[0]) {
185558
- throw new TomlError("incomplete key-value declaration: no value specified", {
185559
- toml: str,
185560
- ptr
185561
- });
185511
+ if (c === 116) {
185512
+ if (ctx.s.charCodeAt(++ctx.p) !== 114 || ctx.s.charCodeAt(++ctx.p) !== 117 || ctx.s.charCodeAt(++ctx.p) !== 101)
185513
+ throw new TomlError("invalid value", { toml: ctx.s, ptr });
185514
+ ctx.p++;
185515
+ return true;
185562
185516
  }
185563
- if (end && slice[1] > -1) {
185564
- endPtr = skipVoid(str, ptr + slice[1]);
185565
- if (str[endPtr] === ",")
185566
- endPtr++;
185517
+ if (c === 102) {
185518
+ if (ctx.s.charCodeAt(++ctx.p) !== 97 || ctx.s.charCodeAt(++ctx.p) !== 108 || ctx.s.charCodeAt(++ctx.p) !== 115 || ctx.s.charCodeAt(++ctx.p) !== 101)
185519
+ throw new TomlError("invalid value", { toml: ctx.s, ptr });
185520
+ ctx.p++;
185521
+ return false;
185567
185522
  }
185568
- return [
185569
- parseValue(slice[0], str, ptr, integersAsBigInt),
185570
- endPtr
185571
- ];
185523
+ return parseValue(ctx, integersAsBigInt, end);
185572
185524
  }
185573
185525
 
185574
185526
  // node_modules/smol-toml/dist/struct.js
@@ -185600,146 +185552,144 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
185600
185552
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
185601
185553
  */
185602
185554
  var KEY_PART_RE = /^[a-zA-Z0-9-_]+[ \t]*$/;
185603
- function parseKey(str, ptr, end = "=") {
185604
- let dot = ptr - 1;
185555
+ function parseKey(ctx, end = "=") {
185556
+ let start = ctx.p;
185557
+ let dot = start - 1;
185605
185558
  let parsed = [];
185606
- let endPtr = str.indexOf(end, ptr);
185559
+ let endPtr = ctx.s.indexOf(end, start);
185607
185560
  if (endPtr < 0) {
185608
185561
  throw new TomlError("incomplete key-value: cannot find end of key", {
185609
- toml: str,
185610
- ptr
185562
+ toml: ctx.s,
185563
+ ptr: start
185611
185564
  });
185612
185565
  }
185613
185566
  do {
185614
- let c = str[ptr = ++dot];
185615
- if (c !== " " && c !== "\t") {
185616
- if (c === '"' || c === "'") {
185617
- if (c === str[ptr + 1] && c === str[ptr + 2]) {
185567
+ let c = ctx.s.charCodeAt(ctx.p = ++dot);
185568
+ if (c !== 32 && c !== 9) {
185569
+ if (c === 34 || c === 39) {
185570
+ if (c === ctx.s.charCodeAt(ctx.p + 1) && c === ctx.s.charCodeAt(ctx.p + 2)) {
185618
185571
  throw new TomlError("multiline strings are not allowed in keys", {
185619
- toml: str,
185620
- ptr
185572
+ toml: ctx.s,
185573
+ ptr: ctx.p
185621
185574
  });
185622
185575
  }
185623
- let [part, eos] = parseString(str, ptr);
185624
- dot = str.indexOf(".", eos);
185625
- let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
185576
+ let part = parseString(ctx);
185577
+ dot = ctx.s.indexOf(".", ctx.p);
185578
+ let strEnd = ctx.s.slice(ctx.p, dot < 0 || dot > endPtr ? endPtr : dot);
185626
185579
  let newLine = indexOfNewline(strEnd);
185627
185580
  if (newLine > -1) {
185628
185581
  throw new TomlError("newlines are not allowed in keys", {
185629
- toml: str,
185630
- ptr: ptr + dot + newLine
185582
+ toml: ctx.s,
185583
+ ptr: newLine
185631
185584
  });
185632
185585
  }
185633
185586
  if (strEnd.trimStart()) {
185634
185587
  throw new TomlError("found extra tokens after the string part", {
185635
- toml: str,
185636
- ptr: eos
185588
+ toml: ctx.s,
185589
+ ptr: ctx.p
185637
185590
  });
185638
185591
  }
185639
- if (endPtr < eos) {
185640
- endPtr = str.indexOf(end, eos);
185592
+ if (endPtr < ctx.p) {
185593
+ endPtr = ctx.s.indexOf(end, ctx.p);
185641
185594
  if (endPtr < 0) {
185642
185595
  throw new TomlError("incomplete key-value: cannot find end of key", {
185643
- toml: str,
185644
- ptr
185596
+ toml: ctx.s,
185597
+ ptr: start
185645
185598
  });
185646
185599
  }
185647
185600
  }
185648
185601
  parsed.push(part);
185649
185602
  } else {
185650
- dot = str.indexOf(".", ptr);
185651
- let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
185603
+ dot = ctx.s.indexOf(".", ctx.p);
185604
+ let part = ctx.s.slice(ctx.p, dot < 0 || dot > endPtr ? endPtr : dot);
185652
185605
  if (!KEY_PART_RE.test(part)) {
185653
185606
  throw new TomlError("only letter, numbers, dashes and underscores are allowed in keys", {
185654
- toml: str,
185655
- ptr
185607
+ toml: ctx.s,
185608
+ ptr: ctx.p
185656
185609
  });
185657
185610
  }
185658
185611
  parsed.push(part.trimEnd());
185659
185612
  }
185660
185613
  }
185661
185614
  } while (dot + 1 && dot < endPtr);
185662
- return [parsed, skipVoid(str, endPtr + 1, true, true)];
185615
+ ctx.p = endPtr + 1;
185616
+ skipVoid(ctx, true, true);
185617
+ return parsed;
185663
185618
  }
185664
- function parseInlineTable(str, ptr, depth, integersAsBigInt) {
185619
+ function parseInlineTable(ctx, integersAsBigInt) {
185665
185620
  let res = {};
185666
185621
  let seen = new Set;
185667
185622
  let c;
185668
- ptr++;
185669
- while ((c = str[ptr++]) !== "}" && c) {
185670
- if (c === ",") {
185671
- throw new TomlError("expected value, found comma", {
185672
- toml: str,
185673
- ptr: ptr - 1
185674
- });
185675
- } else if (c === "#")
185676
- ptr = skipComment(str, ptr);
185677
- else if (c !== " " && c !== "\t" && c !== `
185678
- ` && c !== "\r") {
185679
- let k;
185680
- let t = res;
185681
- let hasOwn = false;
185682
- let [key, keyEndPtr] = parseKey(str, ptr - 1);
185683
- for (let i = 0;i < key.length; i++) {
185684
- if (i)
185685
- t = hasOwn ? t[k] : t[k] = {};
185686
- k = key[i];
185687
- if ((hasOwn = Object.hasOwn(t, k)) && (typeof t[k] !== "object" || seen.has(t[k]))) {
185688
- throw new TomlError("trying to redefine an already defined value", {
185689
- toml: str,
185690
- ptr
185691
- });
185692
- }
185693
- if (!hasOwn && k === "__proto__") {
185694
- Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
185695
- }
185696
- }
185697
- if (hasOwn) {
185623
+ ctx.p++;
185624
+ while (ctx.p < ctx.s.length) {
185625
+ skipVoid(ctx);
185626
+ if ((c = ctx.s.charCodeAt(ctx.p)) === 125) {
185627
+ ctx.p++;
185628
+ return res;
185629
+ }
185630
+ let k;
185631
+ let t = res;
185632
+ let hasOwn = false;
185633
+ let p = ctx.p;
185634
+ let key = parseKey(ctx);
185635
+ for (let i = 0;i < key.length; i++) {
185636
+ if (i)
185637
+ t = hasOwn ? t[k] : t[k] = {};
185638
+ k = key[i];
185639
+ if ((hasOwn = Object.hasOwn(t, k)) && (typeof t[k] !== "object" || seen.has(t[k]))) {
185698
185640
  throw new TomlError("trying to redefine an already defined value", {
185699
- toml: str,
185700
- ptr
185641
+ toml: ctx.s,
185642
+ ptr: p
185701
185643
  });
185702
185644
  }
185703
- let [value, valueEndPtr] = extractValue(str, keyEndPtr, "}", depth - 1, integersAsBigInt);
185704
- seen.add(value);
185705
- t[k] = value;
185706
- ptr = valueEndPtr;
185645
+ if (!hasOwn && k === "__proto__") {
185646
+ Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
185647
+ }
185648
+ }
185649
+ if (hasOwn) {
185650
+ throw new TomlError("trying to redefine an already defined value", {
185651
+ toml: ctx.s,
185652
+ ptr: ctx.p
185653
+ });
185654
+ }
185655
+ let value = extractValue(ctx, 125, integersAsBigInt);
185656
+ seen.add(t[k] = value);
185657
+ skipVoid(ctx);
185658
+ if ((c = ctx.s.charCodeAt(ctx.p++)) === 125) {
185659
+ return res;
185660
+ }
185661
+ if (c !== 44) {
185662
+ throw new TomlError("expected comma or end of structure", { toml: ctx.s, ptr: ctx.p - 1 });
185707
185663
  }
185708
185664
  }
185709
- if (!c) {
185710
- throw new TomlError("unfinished table encountered", {
185711
- toml: str,
185712
- ptr
185713
- });
185714
- }
185715
- return [res, ptr];
185665
+ throw new TomlError("unfinished table encountered", {
185666
+ toml: ctx.s,
185667
+ ptr: ctx.p
185668
+ });
185716
185669
  }
185717
- function parseArray(str, ptr, depth, integersAsBigInt) {
185670
+ function parseArray(ctx, integersAsBigInt) {
185718
185671
  let res = [];
185719
185672
  let c;
185720
- ptr++;
185721
- while ((c = str[ptr++]) !== "]" && c) {
185722
- if (c === ",") {
185723
- throw new TomlError("expected value, found comma", {
185724
- toml: str,
185725
- ptr: ptr - 1
185726
- });
185727
- } else if (c === "#")
185728
- ptr = skipComment(str, ptr);
185729
- else if (c !== " " && c !== "\t" && c !== `
185730
- ` && c !== "\r") {
185731
- let e = extractValue(str, ptr - 1, "]", depth - 1, integersAsBigInt);
185732
- res.push(e[0]);
185733
- ptr = e[1];
185734
- }
185735
- }
185736
- if (!c) {
185737
- throw new TomlError("unfinished array encountered", {
185738
- toml: str,
185739
- ptr
185740
- });
185673
+ ctx.p++;
185674
+ while (ctx.p < ctx.s.length) {
185675
+ skipVoid(ctx);
185676
+ if ((c = ctx.s.charCodeAt(ctx.p)) === 93) {
185677
+ ctx.p++;
185678
+ return res;
185679
+ }
185680
+ res.push(extractValue(ctx, 93, integersAsBigInt));
185681
+ skipVoid(ctx);
185682
+ if ((c = ctx.s.charCodeAt(ctx.p++)) === 93) {
185683
+ return res;
185684
+ }
185685
+ if (c !== 44) {
185686
+ throw new TomlError("expected comma or end of structure", { toml: ctx.s, ptr: ctx.p - 1 });
185687
+ }
185741
185688
  }
185742
- return [res, ptr];
185689
+ throw new TomlError("unfinished array encountered", {
185690
+ toml: ctx.s,
185691
+ ptr: ctx.p
185692
+ });
185743
185693
  }
185744
185694
 
185745
185695
  // node_modules/smol-toml/dist/parse.js
@@ -185830,55 +185780,56 @@ function peekTable(key, table, meta3, type) {
185830
185780
  return [k, t, state.c];
185831
185781
  }
185832
185782
  function parse5(toml, { maxDepth = 1000, integersAsBigInt } = {}) {
185783
+ let ctx = { s: toml, p: 0, d: maxDepth };
185833
185784
  let res = {};
185834
185785
  let meta3 = {};
185786
+ let tmp;
185835
185787
  let tbl = res;
185836
185788
  let m = meta3;
185837
- for (let ptr = skipVoid(toml, 0);ptr < toml.length; ) {
185838
- if (toml[ptr] === "[") {
185839
- let isTableArray = toml[++ptr] === "[";
185840
- let k = parseKey(toml, ptr += +isTableArray, "]");
185789
+ skipVoid(ctx);
185790
+ while (ctx.p < toml.length) {
185791
+ if (toml.charCodeAt(ctx.p) === 91) {
185792
+ let isTableArray = toml.charCodeAt(++ctx.p) === 91;
185793
+ tmp = ctx.p += +isTableArray;
185794
+ let k = parseKey(ctx, "]");
185841
185795
  if (isTableArray) {
185842
- if (toml[k[1] - 1] !== "]") {
185796
+ if (toml.charCodeAt(ctx.p - 1) !== 93) {
185843
185797
  throw new TomlError("expected end of table declaration", {
185844
185798
  toml,
185845
- ptr: k[1] - 1
185799
+ ptr: ctx.p - 1
185846
185800
  });
185847
185801
  }
185848
- k[1]++;
185802
+ ctx.p++;
185849
185803
  }
185850
- let p = peekTable(k[0], res, meta3, isTableArray ? 2 : 1);
185804
+ let p = peekTable(k, res, meta3, isTableArray ? 2 : 1);
185851
185805
  if (!p) {
185852
185806
  throw new TomlError("trying to redefine an already defined table or value", {
185853
185807
  toml,
185854
- ptr
185808
+ ptr: tmp
185855
185809
  });
185856
185810
  }
185857
185811
  m = p[2];
185858
185812
  tbl = p[1];
185859
- ptr = k[1];
185860
185813
  } else {
185861
- let k = parseKey(toml, ptr);
185862
- let p = peekTable(k[0], tbl, m, 0);
185814
+ tmp = ctx.p;
185815
+ let k = parseKey(ctx);
185816
+ let p = peekTable(k, tbl, m, 0);
185863
185817
  if (!p) {
185864
185818
  throw new TomlError("trying to redefine an already defined table or value", {
185865
185819
  toml,
185866
- ptr
185820
+ ptr: tmp
185867
185821
  });
185868
185822
  }
185869
- let v = extractValue(toml, k[1], undefined, maxDepth, integersAsBigInt);
185870
- p[1][p[0]] = v[0];
185871
- ptr = v[1];
185823
+ p[1][p[0]] = extractValue(ctx, undefined, integersAsBigInt);
185872
185824
  }
185873
- ptr = skipVoid(toml, ptr, true);
185874
- if (toml[ptr] && toml[ptr] !== `
185875
- ` && toml[ptr] !== "\r") {
185825
+ skipVoid(ctx, true);
185826
+ if (ctx.p < toml.length && (tmp = toml.charCodeAt(ctx.p)) !== 10 && tmp !== 13) {
185876
185827
  throw new TomlError("each key-value declaration must be followed by an end-of-line", {
185877
185828
  toml,
185878
- ptr
185829
+ ptr: ctx.p
185879
185830
  });
185880
185831
  }
185881
- ptr = skipVoid(toml, ptr);
185832
+ skipVoid(ctx);
185882
185833
  }
185883
185834
  return res;
185884
185835
  }
@@ -187307,9 +187258,9 @@ var PLUGIN_RUNTIME_COMPATIBILITY_SCHEMA_VERSION = 2;
187307
187258
  var MINIMUM_SUPPORTED_CODEX_VERSION = "0.144.0-alpha.4";
187308
187259
  var PLUGIN_RUNTIME_EXPECTED_CONTRACT = {
187309
187260
  distribution: {
187310
- pluginVersion: "0.7.14",
187261
+ pluginVersion: "0.7.16",
187311
187262
  mcpCommand: "npx",
187312
- mcpPackagePin: "@kyo-so/cli@0.16.6",
187263
+ mcpPackagePin: "@kyo-so/cli@0.16.8",
187313
187264
  mcpExecutable: "kyoso"
187314
187265
  },
187315
187266
  marketplace: {