@lannguyensi/harness 0.53.0 → 0.54.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 (60) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/dist/cli/delegate/index.d.ts +15 -2
  3. package/dist/cli/delegate/index.js +128 -4
  4. package/dist/cli/delegate/index.js.map +1 -1
  5. package/dist/cli/doctor/bypass-without-auto-approve.js +10 -4
  6. package/dist/cli/doctor/bypass-without-auto-approve.js.map +1 -1
  7. package/dist/cli/dry-run.js +32 -1
  8. package/dist/cli/dry-run.js.map +1 -1
  9. package/dist/cli/index.js +13 -5
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/cli/init/profiles.js +89 -8
  12. package/dist/cli/init/profiles.js.map +1 -1
  13. package/dist/cli/init/templates.js +163 -3
  14. package/dist/cli/init/templates.js.map +1 -1
  15. package/dist/cli/pack/hook-pre-tool-use.js +200 -95
  16. package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
  17. package/dist/cli/record/index.d.ts +8 -0
  18. package/dist/cli/record/index.js +55 -7
  19. package/dist/cli/record/index.js.map +1 -1
  20. package/dist/cli/validate/checks.js +61 -9
  21. package/dist/cli/validate/checks.js.map +1 -1
  22. package/dist/io/extract.d.ts +29 -0
  23. package/dist/io/extract.js +36 -0
  24. package/dist/io/extract.js.map +1 -1
  25. package/dist/policies/index.d.ts +1 -1
  26. package/dist/policies/index.js +1 -1
  27. package/dist/policies/index.js.map +1 -1
  28. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.d.ts +37 -0
  29. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js +41 -1
  30. package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js.map +1 -1
  31. package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +1 -1
  32. package/dist/policy-packs/builtin/understanding-before-execution/index.js +1 -1
  33. package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +1 -1
  34. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js +9 -3
  35. package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js.map +1 -1
  36. package/dist/runtime/destructive-shell-floor.d.ts +19 -0
  37. package/dist/runtime/destructive-shell-floor.js +597 -0
  38. package/dist/runtime/destructive-shell-floor.js.map +1 -0
  39. package/dist/runtime/intercept.d.ts +10 -7
  40. package/dist/runtime/intercept.js +108 -9
  41. package/dist/runtime/intercept.js.map +1 -1
  42. package/dist/runtime/read-only-bash.d.ts +21 -0
  43. package/dist/runtime/read-only-bash.js +484 -0
  44. package/dist/runtime/read-only-bash.js.map +1 -1
  45. package/dist/runtime/risk-classifier.js +68 -13
  46. package/dist/runtime/risk-classifier.js.map +1 -1
  47. package/dist/runtime/when-eval.d.ts +18 -5
  48. package/dist/runtime/when-eval.js +64 -11
  49. package/dist/runtime/when-eval.js.map +1 -1
  50. package/dist/runtime/workflow-policies.d.ts +43 -1
  51. package/dist/runtime/workflow-policies.js +158 -1
  52. package/dist/runtime/workflow-policies.js.map +1 -1
  53. package/dist/schema/extract.d.ts +4 -0
  54. package/dist/schema/extract.js +64 -1
  55. package/dist/schema/extract.js.map +1 -1
  56. package/dist/schema/index.d.ts +13 -0
  57. package/dist/schema/policies.d.ts +19 -0
  58. package/dist/schema/policies.js +17 -1
  59. package/dist/schema/policies.js.map +1 -1
  60. package/package.json +1 -1
@@ -974,6 +974,490 @@ export function isReadOnlyKubectlCommand(command) {
974
974
  }
975
975
  return true;
976
976
  }
977
+ // ---------------------------------------------------------------------------
978
+ // `sed` read-only floor, Risk-Classifier ONLY (task 2929c5b7).
979
+ //
980
+ // Placed here beside `isReadOnlyKubectlCommand` above, and wired ONLY at
981
+ // `risk-classifier.ts`'s built-in floor, for the same reason that floor is:
982
+ // `isReadOnlyBashCommand` is consumed DIRECTLY by two other gates, and both
983
+ // short-circuit on it before running their own checks. The
984
+ // solution-acceptance write-guard (`src/cli/pack/hook-solution-acceptance-
985
+ // writeguard.ts`) returns `blocked: false` for anything
986
+ // `isReadOnlyBashCommand` accepts BEFORE it ever looks at whether the
987
+ // command references the protected verdict directory. Teaching the shared
988
+ // predicate about `sed` therefore widens that guard: review round 2 of this
989
+ // task measured `sed 's/a/b/w <verdict-dir>/marker.json' f` and
990
+ // `sed -n 'w <verdict-dir>/marker.json' f` going BLOCKED -> ALLOWED. This
991
+ // predicate must therefore stay OUT of `classifyTokens`; the write-guard
992
+ // pins in `tests/cli/pack-hook-solution-acceptance-writeguard.test.ts`
993
+ // fail if that is ever undone.
994
+ //
995
+ // NO `curl` FLOOR EXISTS, deliberately (decision D-013, this run). Rounds
996
+ // 2 and 3 both shipped one and both leaked: round 2's write-flag denylist
997
+ // missed `-o`/`-O`/`-D`/`-c`/`-K`, and round 3's flag ALLOWLIST still
998
+ // admitted `-w`/`--write-out`, whose `%output{FILE}` directive writes a
999
+ // local file since curl 8.3.0 (measured on curl 8.7.1). The recurring
1000
+ // class is the premise, not the list: deciding a curl invocation is inert
1001
+ // requires knowing every curl flag's write capability across curl
1002
+ // versions, and `-H @file` shows the value side has the same problem.
1003
+ // `curl` therefore stays UNCLASSIFIED, like `ssh` and `node -e`, and rides
1004
+ // the `when:` evaluator's fallback: approval-gated in a production
1005
+ // context, never hard-blocked, never floored. Its write-capable spellings
1006
+ // are raised to `high` by `destructive-shell-floor.ts` instead, which only
1007
+ // has to recognise capability it CAN name. See docs/risk-gate.md's
1008
+ // "Unclassified actions and the fail-close rule".
1009
+ //
1010
+ // Design: ALLOWLIST, fail closed (decision D-012, this run). Every token
1011
+ // after the head must be recognised: a known read-only flag, a known
1012
+ // flag's value, or a plain operand. An unknown flag, an unknown short-flag
1013
+ // cluster character, a missing flag value, or anything this module cannot
1014
+ // name forfeits the floor. That is the opposite of the round-2 shape
1015
+ // (a denylist of write flags, where every flag nobody had enumerated
1016
+ // silently passed).
1017
+ //
1018
+ // Forfeiting is cheap: the command simply stays unclassified, which the
1019
+ // `when:` evaluator treats as risk-bearing at the "high" rung (approval-
1020
+ // gated, never hard-blocked at `severity_at_least: critical`). Under-
1021
+ // blocking is not cheap. Over-block a read, never under-block a write.
1022
+ //
1023
+ // `decodeShellWord` is used here on the PERMISSIVE side (to EXEMPT a
1024
+ // command), which `shell-word.ts`'s module header explicitly calls out as
1025
+ // outside its `raw || decoded` direction rule. That is safe here BY
1026
+ // CONSTRUCTION rather than by argument: (1) the decoder returns the RAW
1027
+ // token unchanged for anything it cannot resolve, and a raw token with
1028
+ // quoting still in it does not match any allowlist entry, so an incomplete
1029
+ // decode forfeits the floor; (2) a token whose RAW form is not a flag but
1030
+ // whose DECODED form is (`"-o"`), or vice versa, is rejected outright
1031
+ // rather than classified under either reading.
1032
+ /**
1033
+ * Characters whose UNQUOTED appearance in a token means the shell rewrites
1034
+ * that token into text this classifier never sees, and, critically, can
1035
+ * rewrite ONE token into SEVERAL argv words, which is how a write flag
1036
+ * gets past a token-shape allowlist: `sed $FLAGS f` with
1037
+ * `FLAGS='-i'`, `sed -n 1p {-i,x}` (brace expansion), or a glob whose
1038
+ * match starts with `-`. `$` and a backtick also cover command
1039
+ * substitution that the `hasUnsafeShellMetachar` preamble does not already
1040
+ * refuse (`$(`, a backtick and every chaining metacharacter are refused
1041
+ * there first).
1042
+ *
1043
+ * Quoting is honoured: inside `'single quotes'` every one of these is
1044
+ * literal, and inside `"double quotes"` the glob/brace characters are
1045
+ * literal while `$` and a backtick stay live. That is what keeps
1046
+ * `sed -n '$p' f` on the floor while `sed -n "/$X/p" f` forfeits it.
1047
+ * Quote your script to keep the floor.
1048
+ */
1049
+ const LIVE_EXPANSION_CHARS = new Set([
1050
+ "$", "`", "{", "}", "*", "?", "[", "]",
1051
+ ]);
1052
+ /** Glob/brace characters, literal inside double quotes; `$`/backtick are not. */
1053
+ const DOUBLE_QUOTE_INERT_EXPANSION_CHARS = new Set([
1054
+ "{", "}", "*", "?", "[", "]",
1055
+ ]);
1056
+ /**
1057
+ * True when `token` contains a shell expansion (see `LIVE_EXPANSION_CHARS`)
1058
+ * that is NOT quoted away. An unterminated quote run (the `'A:` / `b'` pair
1059
+ * a whitespace tokenizer produces for `-H 'A: b'`) is treated as quoted to
1060
+ * its end, which is what bash does across the whitespace this tokenizer
1061
+ * split on.
1062
+ */
1063
+ function hasLiveShellExpansion(token) {
1064
+ let quote = null;
1065
+ for (let i = 0; i < token.length; i += 1) {
1066
+ const ch = token[i];
1067
+ if (quote !== "'" && ch === "\\") {
1068
+ i += 1; // backslash escapes the next character outside single quotes
1069
+ continue;
1070
+ }
1071
+ if (quote === null && (ch === "'" || ch === '"')) {
1072
+ quote = ch;
1073
+ continue;
1074
+ }
1075
+ if (quote !== null && ch === quote) {
1076
+ quote = null;
1077
+ continue;
1078
+ }
1079
+ if (quote === "'")
1080
+ continue;
1081
+ if (quote === '"' && DOUBLE_QUOTE_INERT_EXPANSION_CHARS.has(ch))
1082
+ continue;
1083
+ if (LIVE_EXPANSION_CHARS.has(ch))
1084
+ return true;
1085
+ }
1086
+ return false;
1087
+ }
1088
+ /**
1089
+ * Splits a metachar-cleared command into `[head, ...rest]` and applies the
1090
+ * two preconditions the floor below needs: the head must be the exact
1091
+ * binary name (no path prefix, the same tightness as
1092
+ * `isReadOnlyKubectlCommand`'s `tokens[0] !== "kubectl"`), and no token may
1093
+ * carry a live shell expansion. Returns `null` when the command is not a
1094
+ * floorable invocation of `bin`.
1095
+ *
1096
+ * Parameterised by `bin` rather than hard-coded to `sed`: it was shared
1097
+ * with the `curl` floor D-013 removed, and the parameter keeps the head
1098
+ * check honest (an exact match, not a prefix) for whichever binary a
1099
+ * future floor names.
1100
+ */
1101
+ function floorArgv(command, bin) {
1102
+ const trimmed = command.trim();
1103
+ if (trimmed === "")
1104
+ return null;
1105
+ if (hasUnsafeShellMetachar(trimmed))
1106
+ return null;
1107
+ const tokens = trimmed.split(/\s+/);
1108
+ if (tokens[0] !== bin)
1109
+ return null;
1110
+ const rest = tokens.slice(1);
1111
+ if (rest.length === 0)
1112
+ return null;
1113
+ if (rest.some(hasLiveShellExpansion))
1114
+ return null;
1115
+ return rest;
1116
+ }
1117
+ const CLUSTER_FORFEIT = { kind: "forfeit" };
1118
+ /**
1119
+ * Walk a single-dash short-flag cluster CHARACTER BY CHARACTER, which is
1120
+ * the whole point of the floor's short-flag handling: `-ni f` must forfeit
1121
+ * on the `i` even though it starts with an allowlisted `n`.
1122
+ *
1123
+ * Every character must be in `noValueChars` until the first character
1124
+ * `isValueChar` claims. That character consumes the REST of the cluster as
1125
+ * its glued value, or `nextToken` when nothing is glued, and `onValue`
1126
+ * decides whether the value keeps the floor. `onValue` returning `false`,
1127
+ * an empty cluster, or an unrecognised character all forfeit.
1128
+ *
1129
+ * `isReadOnlySedCommand` is its only caller since D-013 removed the `curl`
1130
+ * floor. Kept as its own function rather than inlined: it is the
1131
+ * security-relevant half of the sed floor and is exercised directly by the
1132
+ * cluster cases in tests/runtime/read-only-floors.test.ts.
1133
+ */
1134
+ function walkShortFlagCluster(chars, noValueChars, isValueChar, onValue, nextToken) {
1135
+ if (chars.length === 0)
1136
+ return CLUSTER_FORFEIT;
1137
+ for (let j = 0; j < chars.length; j += 1) {
1138
+ const c = chars[j];
1139
+ if (isValueChar(c)) {
1140
+ const glued = chars.slice(j + 1);
1141
+ if (!onValue(c, glued, nextToken))
1142
+ return CLUSTER_FORFEIT;
1143
+ return { kind: "ok", consumedNext: glued.length === 0 };
1144
+ }
1145
+ if (!noValueChars.has(c))
1146
+ return CLUSTER_FORFEIT;
1147
+ }
1148
+ return { kind: "ok", consumedNext: false };
1149
+ }
1150
+ // --- sed -------------------------------------------------------------------
1151
+ /** `sed` flags that take no value and cannot write. */
1152
+ const SED_READ_ONLY_LONG_FLAGS = new Set([
1153
+ "--quiet", "--silent", "--regexp-extended", "--separate",
1154
+ "--null-data", "--unbuffered", "--posix",
1155
+ ]);
1156
+ /** `sed` flags whose value is a SCRIPT (scanned by `sedScriptIsReadOnly`). */
1157
+ const SED_SCRIPT_LONG_FLAGS = new Set(["--expression"]);
1158
+ /** Short-flag cluster characters that take no value and cannot write. */
1159
+ const SED_READ_ONLY_SHORT_CHARS = new Set([
1160
+ "n", "E", "r", "s", "z", "u",
1161
+ ]);
1162
+ /** Short-flag cluster characters whose value is a SCRIPT. */
1163
+ const SED_SCRIPT_SHORT_CHARS = new Set(["e"]);
1164
+ /**
1165
+ * `sed` read-only floor for the Risk Classifier ONLY.
1166
+ *
1167
+ * CORRECTS A FALSE PREMISE this task shipped in round 1 ("without `-i`,
1168
+ * sed only writes to stdout"). It does not: sed's `w FILE` command and the
1169
+ * `s///w FILE` substitution flag write an operator-named file with no
1170
+ * `-i`, no redirection and no shell metacharacter, and `-f SCRIPTFILE`
1171
+ * executes a script this classifier never reads. GNU sed's `e` command and
1172
+ * `s///e` flag additionally execute a shell command. All four are refused
1173
+ * here.
1174
+ *
1175
+ * `true` requires ALL of: the head is exactly `sed`; no token carries a
1176
+ * live shell expansion; every flag is drawn from the read-only allowlist
1177
+ * above (so `-i` in every spelling: `-i`, `-i.bak`, `-ni`,
1178
+ * `--in-place`, `--in-place=SUFFIX`, and `-f`/`--file` forfeit by never
1179
+ * being ON it, not by being enumerated as write flags); and every script
1180
+ * (each `-e`/`--expression` value, or the first positional operand when no
1181
+ * `-e` was given) parses as a read-only sed program under
1182
+ * `sedScriptIsReadOnly`.
1183
+ */
1184
+ export function isReadOnlySedCommand(command) {
1185
+ const rest = floorArgv(command, "sed");
1186
+ if (rest === null)
1187
+ return false;
1188
+ const scripts = [];
1189
+ const positionals = [];
1190
+ let optionsEnded = false;
1191
+ for (let i = 0; i < rest.length; i += 1) {
1192
+ const raw = rest[i];
1193
+ const decoded = decodeShellWord(raw);
1194
+ if (optionsEnded) {
1195
+ positionals.push(decoded);
1196
+ continue;
1197
+ }
1198
+ const rawIsFlag = raw.startsWith("-") && raw !== "-";
1199
+ const decodedIsFlag = decoded.startsWith("-") && decoded !== "-";
1200
+ // A token that is a flag under exactly one of the two readings is
1201
+ // unclassifiable: `"-i"` reaches sed as `-i` while looking like an
1202
+ // operand. Fail closed rather than pick a reading.
1203
+ if (rawIsFlag !== decodedIsFlag)
1204
+ return false;
1205
+ if (!rawIsFlag) {
1206
+ positionals.push(decoded);
1207
+ continue;
1208
+ }
1209
+ if (decoded === "--") {
1210
+ optionsEnded = true;
1211
+ continue;
1212
+ }
1213
+ if (decoded.startsWith("--")) {
1214
+ const eq = decoded.indexOf("=");
1215
+ const name = eq === -1 ? decoded : decoded.slice(0, eq);
1216
+ if (SED_SCRIPT_LONG_FLAGS.has(name)) {
1217
+ if (eq !== -1) {
1218
+ scripts.push(decoded.slice(eq + 1));
1219
+ continue;
1220
+ }
1221
+ i += 1;
1222
+ if (i >= rest.length)
1223
+ return false; // missing value: fail closed
1224
+ scripts.push(decodeShellWord(rest[i]));
1225
+ continue;
1226
+ }
1227
+ if (eq === -1 && SED_READ_ONLY_LONG_FLAGS.has(name))
1228
+ continue;
1229
+ return false;
1230
+ }
1231
+ // Short-flag cluster, decomposed CHARACTER BY CHARACTER: every
1232
+ // character must be allowlisted, not just the first.
1233
+ const walk = walkShortFlagCluster(decoded.slice(1), SED_READ_ONLY_SHORT_CHARS, (c) => SED_SCRIPT_SHORT_CHARS.has(c), (_c, glued, nextToken) => {
1234
+ if (glued.length > 0) {
1235
+ scripts.push(glued);
1236
+ return true;
1237
+ }
1238
+ if (nextToken === undefined)
1239
+ return false; // missing value: fail closed
1240
+ scripts.push(decodeShellWord(nextToken));
1241
+ return true;
1242
+ }, rest[i + 1]);
1243
+ if (walk.kind === "forfeit")
1244
+ return false;
1245
+ if (walk.consumedNext)
1246
+ i += 1;
1247
+ }
1248
+ // With no `-e`, sed's FIRST positional operand is the script; the rest
1249
+ // are input files (read-only by construction: an operand that looked
1250
+ // like a flag under either reading was already refused above).
1251
+ if (scripts.length === 0) {
1252
+ const first = positionals[0];
1253
+ if (first === undefined)
1254
+ return false; // bare `sed`: nothing to prove
1255
+ scripts.push(first);
1256
+ }
1257
+ return scripts.every(sedScriptIsReadOnly);
1258
+ }
1259
+ /**
1260
+ * sed script commands that consume no argument and cannot write: print,
1261
+ * delete, hold/pattern-space moves, line number, quit, zap, filename.
1262
+ * `l`, `q` and `Q` accept an optional numeric argument, handled below.
1263
+ *
1264
+ * Everything NOT in this set (plus `s`, `y`, and the branch/label
1265
+ * commands handled explicitly) forfeits the floor: `w` and `W` (write a
1266
+ * file), `e` (execute a shell command), `r`/`R` (read a file), `a`/`i`/`c`
1267
+ * (text whose syntax swallows the rest of the script), `#` (comment), and
1268
+ * any command a future sed adds.
1269
+ */
1270
+ const SED_SAFE_NO_ARG_COMMANDS = new Set([
1271
+ "p", "P", "d", "D", "n", "N", "h", "H", "g", "G", "x", "l", "=", "q", "Q", "z", "F",
1272
+ ]);
1273
+ /** Branch/label commands: control flow only, no I/O. */
1274
+ const SED_LABEL_COMMANDS = new Set(["b", "t", "T", ":"]);
1275
+ /** `s///` flags that cannot write or execute. `w` and `e` are NOT here. */
1276
+ const SED_SAFE_SUBSTITUTION_FLAGS = new Set([
1277
+ "g", "p", "i", "I", "m", "M",
1278
+ ]);
1279
+ /**
1280
+ * `true` when `script` parses, end to end, as a sed program built only
1281
+ * from the safe command set above. A deliberately small recursive-descent
1282
+ * scan rather than a substring search for `w`: a "forfeit on any letter
1283
+ * `w`" rule would also forfeit `/warning/p`, and a substring search cannot
1284
+ * see the `e` command at all. Anything the scan does not fully understand
1285
+ * (an unterminated regex, a custom `\cREGEXc` address delimiter, a
1286
+ * command not in the sets above, a trailing argument where a separator
1287
+ * must be) returns `false`, so the failure mode is a forfeited floor,
1288
+ * never an accepted write.
1289
+ */
1290
+ function sedScriptIsReadOnly(script) {
1291
+ const n = script.length;
1292
+ let i = 0;
1293
+ let statements = 0;
1294
+ while (i < n) {
1295
+ const lead = script[i];
1296
+ if (lead === ";" || lead === " " || lead === "\t" || lead === "\n" || lead === "}") {
1297
+ i += 1;
1298
+ continue;
1299
+ }
1300
+ const afterFirst = readSedAddress(script, i);
1301
+ if (afterFirst === -1)
1302
+ return false;
1303
+ i = afterFirst;
1304
+ if (script[i] === ",") {
1305
+ i += 1;
1306
+ const afterSecond = readSedAddress(script, i);
1307
+ if (afterSecond === -1 || afterSecond === i)
1308
+ return false; // second address required
1309
+ i = afterSecond;
1310
+ }
1311
+ while (script[i] === "!")
1312
+ i += 1;
1313
+ while (script[i] === " " || script[i] === "\t")
1314
+ i += 1;
1315
+ const cmd = script[i];
1316
+ if (cmd === undefined)
1317
+ return false; // address with no command
1318
+ i += 1;
1319
+ if (cmd === "{")
1320
+ continue; // block open; the block's statements follow
1321
+ if (SED_SAFE_NO_ARG_COMMANDS.has(cmd)) {
1322
+ while (i < n && script[i] === " ")
1323
+ i += 1;
1324
+ while (i < n && script[i] >= "0" && script[i] <= "9")
1325
+ i += 1; // `l N`, `q N`
1326
+ }
1327
+ else if (cmd === "s" || cmd === "y") {
1328
+ const after = readSedTwoPartCommand(script, i, cmd === "s");
1329
+ if (after === -1)
1330
+ return false;
1331
+ i = after;
1332
+ }
1333
+ else if (SED_LABEL_COMMANDS.has(cmd)) {
1334
+ while (i < n && script[i] === " ")
1335
+ i += 1;
1336
+ while (i < n && /[A-Za-z0-9_]/.test(script[i]))
1337
+ i += 1;
1338
+ }
1339
+ else {
1340
+ return false; // w, W, e, r, R, a, i, c, #, v, and anything unknown
1341
+ }
1342
+ statements += 1;
1343
+ while (i < n && (script[i] === " " || script[i] === "\t"))
1344
+ i += 1;
1345
+ if (i < n) {
1346
+ const sep = script[i];
1347
+ // A command must be followed by a separator. `s/a/b/w file` lands
1348
+ // HERE, on the `w`, because `w` is not an accepted `s///` flag.
1349
+ if (sep !== ";" && sep !== "}" && sep !== "{" && sep !== "\n")
1350
+ return false;
1351
+ }
1352
+ }
1353
+ return statements > 0;
1354
+ }
1355
+ /**
1356
+ * Reads one sed ADDRESS starting at `start`. Returns the index after it,
1357
+ * `start` itself when no address is present (an address is optional), or
1358
+ * `-1` when the address is malformed or uses a form this scan refuses
1359
+ * (`\cREGEXc`, an unterminated `/regex/`).
1360
+ */
1361
+ function readSedAddress(s, start) {
1362
+ let i = start;
1363
+ const c = s[i];
1364
+ if (c === undefined)
1365
+ return i;
1366
+ if (c === "$")
1367
+ return i + 1;
1368
+ if (c === "\\")
1369
+ return -1; // custom address delimiter: fail closed
1370
+ if (c === "+" || c === "~") {
1371
+ i += 1;
1372
+ const digitsFrom = i;
1373
+ while (i < s.length && s[i] >= "0" && s[i] <= "9")
1374
+ i += 1;
1375
+ return i > digitsFrom ? i : -1;
1376
+ }
1377
+ if (c >= "0" && c <= "9") {
1378
+ while (i < s.length && s[i] >= "0" && s[i] <= "9")
1379
+ i += 1;
1380
+ if (s[i] === "~") {
1381
+ i += 1;
1382
+ const digitsFrom = i;
1383
+ while (i < s.length && s[i] >= "0" && s[i] <= "9")
1384
+ i += 1;
1385
+ if (i === digitsFrom)
1386
+ return -1;
1387
+ }
1388
+ return i;
1389
+ }
1390
+ if (c === "/") {
1391
+ i += 1;
1392
+ let closed = false;
1393
+ while (i < s.length) {
1394
+ const ch = s[i];
1395
+ if (ch === "\\") {
1396
+ i += 2;
1397
+ continue;
1398
+ }
1399
+ if (ch === "/") {
1400
+ i += 1;
1401
+ closed = true;
1402
+ break;
1403
+ }
1404
+ i += 1;
1405
+ }
1406
+ if (!closed)
1407
+ return -1;
1408
+ while (s[i] === "I" || s[i] === "M")
1409
+ i += 1;
1410
+ return i;
1411
+ }
1412
+ return i; // no address
1413
+ }
1414
+ /**
1415
+ * Reads an `s<D>regex<D>replacement<D>[flags]` or `y<D>a<D>b<D>` body
1416
+ * starting at the delimiter. Returns the index after it, or `-1` when the
1417
+ * body is malformed or (for `s`) carries a flag outside
1418
+ * `SED_SAFE_SUBSTITUTION_FLAGS`, which is exactly how `s/a/b/w FILE` and
1419
+ * `s/a/b/e` forfeit the floor.
1420
+ */
1421
+ function readSedTwoPartCommand(s, start, isSubstitution) {
1422
+ let i = start;
1423
+ const delim = s[i];
1424
+ if (delim === undefined || delim === "\\" || delim === "\n" || delim === " ")
1425
+ return -1;
1426
+ i += 1;
1427
+ for (let part = 0; part < 2; part += 1) {
1428
+ let closed = false;
1429
+ while (i < s.length) {
1430
+ const ch = s[i];
1431
+ if (ch === "\\") {
1432
+ i += 2;
1433
+ continue;
1434
+ }
1435
+ if (ch === delim) {
1436
+ i += 1;
1437
+ closed = true;
1438
+ break;
1439
+ }
1440
+ i += 1;
1441
+ }
1442
+ if (!closed)
1443
+ return -1;
1444
+ }
1445
+ if (!isSubstitution)
1446
+ return i;
1447
+ while (i < s.length) {
1448
+ const ch = s[i];
1449
+ if (ch >= "0" && ch <= "9") {
1450
+ i += 1;
1451
+ continue;
1452
+ }
1453
+ if (SED_SAFE_SUBSTITUTION_FLAGS.has(ch)) {
1454
+ i += 1;
1455
+ continue;
1456
+ }
1457
+ break;
1458
+ }
1459
+ return i;
1460
+ }
977
1461
  /**
978
1462
  * Returns true when `t` (with any trailing `=VALUE` glue stripped) is a
979
1463
  * GNU/BSD `getopt_long` ABBREVIATION of `fullFlag`: a prefix (including
@@ -1 +1 @@
1
- {"version":3,"file":"read-only-bash.js","sourceRoot":"","sources":["../../src/runtime/read-only-bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-only-bash.js","sourceRoot":"","sources":["../../src/runtime/read-only-bash.ts"],"names":[],"mappings":"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"}