@animalabs/agent-framework 0.24.0 → 0.25.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 (83) hide show
  1. package/dist/src/agent.d.ts +5 -0
  2. package/dist/src/agent.d.ts.map +1 -1
  3. package/dist/src/agent.js +27 -8
  4. package/dist/src/agent.js.map +1 -1
  5. package/dist/src/clock-rows.d.ts +115 -0
  6. package/dist/src/clock-rows.d.ts.map +1 -0
  7. package/dist/src/clock-rows.js +222 -0
  8. package/dist/src/clock-rows.js.map +1 -0
  9. package/dist/src/framework.d.ts +98 -6
  10. package/dist/src/framework.d.ts.map +1 -1
  11. package/dist/src/framework.js +514 -80
  12. package/dist/src/framework.js.map +1 -1
  13. package/dist/src/index.d.ts +2 -0
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +1 -0
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/mcpl/channel-registry.d.ts +9 -0
  18. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  19. package/dist/src/mcpl/channel-registry.js +49 -6
  20. package/dist/src/mcpl/channel-registry.js.map +1 -1
  21. package/dist/src/mcpl/protocol-family.js +1 -1
  22. package/dist/src/mcpl/references.d.ts +4 -1
  23. package/dist/src/mcpl/references.d.ts.map +1 -1
  24. package/dist/src/mcpl/references.js +5 -2
  25. package/dist/src/mcpl/references.js.map +1 -1
  26. package/dist/src/modules/workspace/index.d.ts +9 -1
  27. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  28. package/dist/src/modules/workspace/index.js +118 -28
  29. package/dist/src/modules/workspace/index.js.map +1 -1
  30. package/dist/src/modules/workspace/types.d.ts +6 -2
  31. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  32. package/dist/src/modules/workspace/types.js.map +1 -1
  33. package/dist/src/text-as-stored.d.ts +31 -0
  34. package/dist/src/text-as-stored.d.ts.map +1 -0
  35. package/dist/src/text-as-stored.js +70 -0
  36. package/dist/src/text-as-stored.js.map +1 -0
  37. package/dist/src/timezone.d.ts +4 -2
  38. package/dist/src/timezone.d.ts.map +1 -1
  39. package/dist/src/timezone.js +4 -2
  40. package/dist/src/timezone.js.map +1 -1
  41. package/dist/src/tool-image-ledger.d.ts +46 -7
  42. package/dist/src/tool-image-ledger.d.ts.map +1 -1
  43. package/dist/src/tool-image-ledger.js +60 -7
  44. package/dist/src/tool-image-ledger.js.map +1 -1
  45. package/dist/src/tool-presentation.d.ts.map +1 -1
  46. package/dist/src/tool-presentation.js +9 -1
  47. package/dist/src/tool-presentation.js.map +1 -1
  48. package/dist/src/tool-result-guard.d.ts +10 -8
  49. package/dist/src/tool-result-guard.d.ts.map +1 -1
  50. package/dist/src/tool-result-guard.js +12 -10
  51. package/dist/src/tool-result-guard.js.map +1 -1
  52. package/dist/src/tool-result-history.d.ts +17 -6
  53. package/dist/src/tool-result-history.d.ts.map +1 -1
  54. package/dist/src/tool-result-history.js +35 -10
  55. package/dist/src/tool-result-history.js.map +1 -1
  56. package/dist/src/tune-out/coordinator.js +3 -3
  57. package/dist/src/tune-out/coordinator.js.map +1 -1
  58. package/dist/src/types/agent.d.ts +27 -0
  59. package/dist/src/types/agent.d.ts.map +1 -1
  60. package/dist/src/types/events.d.ts +13 -3
  61. package/dist/src/types/events.d.ts.map +1 -1
  62. package/dist/src/types/framework.d.ts +7 -4
  63. package/dist/src/types/framework.d.ts.map +1 -1
  64. package/package.json +3 -3
  65. package/src/agent.ts +27 -8
  66. package/src/clock-rows.ts +302 -0
  67. package/src/framework.ts +538 -85
  68. package/src/index.ts +2 -0
  69. package/src/mcpl/channel-registry.ts +54 -8
  70. package/src/mcpl/protocol-family.ts +1 -1
  71. package/src/mcpl/references.ts +5 -2
  72. package/src/modules/workspace/index.ts +121 -29
  73. package/src/modules/workspace/types.ts +6 -2
  74. package/src/text-as-stored.ts +73 -0
  75. package/src/timezone.ts +4 -2
  76. package/src/tool-image-ledger.ts +62 -8
  77. package/src/tool-presentation.ts +8 -1
  78. package/src/tool-result-guard.ts +12 -10
  79. package/src/tool-result-history.ts +35 -9
  80. package/src/tune-out/coordinator.ts +3 -3
  81. package/src/types/agent.ts +28 -0
  82. package/src/types/events.ts +13 -3
  83. package/src/types/framework.ts +7 -4
@@ -714,7 +714,7 @@ export function serverConfigProblems(config) {
714
714
  const timeout = config.requestTimeoutMs;
715
715
  if (binding.family === 'modern') {
716
716
  if (timeout !== undefined && !(Number.isInteger(timeout) && timeout >= 1 && timeout <= MAX_TIMER_MS)) {
717
- problems.push(`MCP server "${config.id}": requestTimeoutMs must be an integer from 1 to ${MAX_TIMER_MS} for a modern server (got ${String(timeout)}); every modern call has a deadline`);
717
+ problems.push(`MCP server "${config.id}": requestTimeoutMs must be an integer from 1 to ${MAX_TIMER_MS} for a modern server (got ${asText(timeout)}); every modern call has a deadline`);
718
718
  }
719
719
  for (const path of mcplPolicyGrants(config)) {
720
720
  problems.push(`MCP server "${config.id}": "${path}" asks for MCPL behaviour, which a modern MCP server cannot negotiate`);
@@ -203,7 +203,10 @@ export declare function unfetchableReason(record: ReferenceRecord, nowMs?: numbe
203
203
  /**
204
204
  * RFC-005 treatment for one MCPL wire block, for the model-visible text
205
205
  * lanes. Returns a replacement string, or null when the block should keep
206
- * its existing (inline/text) handling.
206
+ * its existing (inline/text) handling. A reference's stub carries text taken
207
+ * from the block's own fields, so it's made well formed (a lone UTF-16
208
+ * surrogate becomes U+FFFD), as the context store would make it: a tool
209
+ * result's copies then carry the same text (#695).
207
210
  */
208
211
  export declare function referenceStubOrNull(block: unknown, provenance?: string, serverId?: string): string | null;
209
212
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../src/mcpl/references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../src/mcpl/references.ts"],"names":[],"mappings":"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"}
@@ -387,7 +387,10 @@ export function unfetchableReason(record, nowMs = Date.now()) {
387
387
  /**
388
388
  * RFC-005 treatment for one MCPL wire block, for the model-visible text
389
389
  * lanes. Returns a replacement string, or null when the block should keep
390
- * its existing (inline/text) handling.
390
+ * its existing (inline/text) handling. A reference's stub carries text taken
391
+ * from the block's own fields, so it's made well formed (a lone UTF-16
392
+ * surrogate becomes U+FFFD), as the context store would make it: a tool
393
+ * result's copies then carry the same text (#695).
391
394
  */
392
395
  export function referenceStubOrNull(block, provenance, serverId) {
393
396
  const c = classifyBlock(block);
@@ -395,7 +398,7 @@ export function referenceStubOrNull(block, provenance, serverId) {
395
398
  case 'text': return null;
396
399
  case 'inline':
397
400
  return c.contradiction ? INLINE_WITHHELD_TEXT : null;
398
- case 'reference': return buildReferenceStub(c.testimony, provenance, serverId);
401
+ case 'reference': return buildReferenceStub(c.testimony, provenance, serverId).toWellFormed();
399
402
  case 'invalid': return c.shown;
400
403
  }
401
404
  }
@@ -1 +1 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../src/mcpl/references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../src/mcpl/references.ts"],"names":[],"mappings":"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"}
@@ -843,9 +843,17 @@ export declare class WorkspaceModule implements Module {
843
843
  * path, as a file tool names the one it acts on: a path the mount passes
844
844
  * over by design is observed, as a sync naming it would observe it (#276),
845
845
  * while a path in another mount's directory is refused before this, and
846
- * passed over by any pass. The caller holds the mount's turn.
846
+ * passed over by any pass. Answers the pass's report on the path, and why
847
+ * the pass decided nothing where it did (undecidedOf), which leaves disk
848
+ * unchecked. The caller holds the mount's turn.
847
849
  */
848
850
  private ensureSynced;
851
+ /**
852
+ * Why the workspace holds no entry at a path, after a pass over it that
853
+ * decided nothing: disk wasn't checked, so it may have a copy, and the same
854
+ * call made again checks it.
855
+ */
856
+ private notCheckedYet;
849
857
  /** Why the workspace holds no entry at a path, when disk explains it. */
850
858
  private notInWorkspace;
851
859
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,15 @@ export class WorkspaceReadError extends Error {
88
88
  this.name = 'WorkspaceReadError';
89
89
  }
90
90
  }
91
+ /**
92
+ * Why a pass decided nothing, or null where it decided its paths. A pass gives
93
+ * up deciding, and reports no path, when the selected branch kept changing
94
+ * while it gathered, or when a sync's branch was no longer selected; it then
95
+ * carries no branchId, and the region it leaves incomplete says why.
96
+ */
97
+ function undecidedOf(pass) {
98
+ return pass.branchId === undefined ? (pass.incomplete[0]?.reason ?? 'the pass decided nothing') : null;
99
+ }
91
100
  function errnoOf(err) {
92
101
  return typeof err === 'object' && err !== null && 'code' in err && typeof err.code === 'string'
93
102
  ? err.code
@@ -1544,11 +1553,12 @@ export class WorkspaceModule {
1544
1553
  },
1545
1554
  {
1546
1555
  name: 'glob',
1547
- description: 'Find files matching a glob pattern, checked against disk first; each match carries its state, as ls describes.' + globDirect,
1556
+ description: 'Find files matching a glob pattern, checked against disk first; each match carries its state, as ls describes. '
1557
+ + 'The pattern is relative to path (or to each mount\'s root). In the mount its first segment names, it is read mount-prefixed instead, like the paths it returns, within path if one is given; in every other mount, as written.' + globDirect,
1548
1558
  inputSchema: {
1549
1559
  type: 'object',
1550
1560
  properties: {
1551
- pattern: { type: 'string', description: 'Glob pattern (e.g., "**/*.ts")' },
1561
+ pattern: { type: 'string', description: 'Glob pattern, relative (e.g., "**/*.ts") or mount-prefixed (e.g., "project/src/**/*.ts")' },
1552
1562
  path: { type: 'string', description: 'Directory to search in (mount-prefixed, optional)' },
1553
1563
  },
1554
1564
  required: ['pattern'],
@@ -1566,7 +1576,7 @@ export class WorkspaceModule {
1566
1576
  properties: {
1567
1577
  pattern: { type: 'string', description: 'Regular expression pattern' },
1568
1578
  path: { type: 'string', description: 'File or directory to search (mount-prefixed, optional)' },
1569
- glob: { type: 'string', description: 'Glob pattern to filter files' },
1579
+ glob: { type: 'string', description: 'Glob pattern to filter files, relative to the mount root (e.g., "src/**/*.ts"); in the mount its first segment names, read mount-prefixed (e.g., "project/src/**/*.ts"), and in every other mount, as written' },
1570
1580
  contextBefore: { type: 'integer', description: 'Context lines before match' },
1571
1581
  contextAfter: { type: 'integer', description: 'Context lines after match' },
1572
1582
  },
@@ -1971,10 +1981,10 @@ export class WorkspaceModule {
1971
1981
  return this.bytesFromDisk(mount, relativePath, mountPrefixedPath, mount.config.maxFileSize ?? DEFAULT_MAX_FILE_SIZE);
1972
1982
  const store = this.getStore();
1973
1983
  return this.withMount(mount, async () => {
1974
- await this.ensureSynced(mount, relativePath);
1984
+ const { report, undecided } = await this.ensureSynced(mount, relativePath);
1975
1985
  const entry = store.treeGet(mount.treeStateId, relativePath);
1976
1986
  if (!entry)
1977
- return { error: `File not found: ${mountPrefixedPath}` };
1987
+ return { error: undecided !== null ? this.notCheckedYet(mountPrefixedPath, undecided) : this.notInWorkspace(mountPrefixedPath, report) };
1978
1988
  const blob = store.getBlob(entry.blobHash);
1979
1989
  if (!blob)
1980
1990
  return { error: `Blob not found for: ${mountPrefixedPath}` };
@@ -3339,14 +3349,24 @@ export class WorkspaceModule {
3339
3349
  * path, as a file tool names the one it acts on: a path the mount passes
3340
3350
  * over by design is observed, as a sync naming it would observe it (#276),
3341
3351
  * while a path in another mount's directory is refused before this, and
3342
- * passed over by any pass. The caller holds the mount's turn.
3352
+ * passed over by any pass. Answers the pass's report on the path, and why
3353
+ * the pass decided nothing where it did (undecidedOf), which leaves disk
3354
+ * unchecked. The caller holds the mount's turn.
3343
3355
  */
3344
3356
  async ensureSynced(mount, relativePath) {
3345
3357
  const store = this.getStore();
3346
3358
  if (store.treeGet(mount.treeStateId, relativePath))
3347
- return undefined;
3359
+ return { report: undefined, undecided: null };
3348
3360
  const pass = await this.passUnlocked(mount, { kind: 'paths', paths: [relativePath] }, { named: true });
3349
- return pass.reports.get(relativePath);
3361
+ return { report: pass.reports.get(relativePath), undecided: undecidedOf(pass) };
3362
+ }
3363
+ /**
3364
+ * Why the workspace holds no entry at a path, after a pass over it that
3365
+ * decided nothing: disk wasn't checked, so it may have a copy, and the same
3366
+ * call made again checks it.
3367
+ */
3368
+ notCheckedYet(path, reason) {
3369
+ return `${this.notInWorkspace(path, { path, state: 'unverified', note: reason })} Make the same call again, which checks disk first.`;
3350
3370
  }
3351
3371
  /** Why the workspace holds no entry at a path, when disk explains it. */
3352
3372
  notInWorkspace(path, report) {
@@ -3378,7 +3398,7 @@ export class WorkspaceModule {
3378
3398
  return this.bytesOnDisk(mount, relativePath, path);
3379
3399
  const store = this.getStore();
3380
3400
  return this.withMount(mount, async () => {
3381
- const report = await this.ensureSynced(mount, relativePath);
3401
+ const { report } = await this.ensureSynced(mount, relativePath);
3382
3402
  const entry = store.treeGet(mount.treeStateId, relativePath);
3383
3403
  if (!entry)
3384
3404
  return { error: this.notInWorkspace(path, report) };
@@ -3744,6 +3764,8 @@ export class WorkspaceModule {
3744
3764
  // As every file tool's pass does, it names the paths it acts on, so a
3745
3765
  // file the mount passes over by design is observed (see PassOptions.named).
3746
3766
  const pass = await this.passUnlocked(mount, { kind: 'paths', paths: [...targets.values()].map((target) => target.relativePath) }, { named: true });
3767
+ // A pass that decided nothing checked no file's disk copy.
3768
+ const undecided = undecidedOf(pass);
3747
3769
  // Nothing below awaits until the commit's push.
3748
3770
  const maxSize = mount.config.maxFileSize ?? DEFAULT_MAX_FILE_SIZE;
3749
3771
  const hints = hintBudget();
@@ -3768,6 +3790,20 @@ export class WorkspaceModule {
3768
3790
  // workspace didn't hold has no older copy, so taking it in needs no
3769
3791
  // word.
3770
3792
  const subject = tool === 'edit' ? 'the edit' : editList(target.edits);
3793
+ // A pass that decided nothing checked no copy on disk, held or not,
3794
+ // and took nothing in, so the edits would apply to text disk may
3795
+ // have moved past, on whichever branch is selected once it gave up.
3796
+ // They're refused, as a call made again can check.
3797
+ if (undecided !== null) {
3798
+ problems.push({
3799
+ kind: 'file',
3800
+ edits: target.edits,
3801
+ path: target.path,
3802
+ text: `${target.path} couldn't be checked against disk (${undecided}), so ${subject} changed nothing. Make the same call again, which checks disk first.`,
3803
+ whole: true,
3804
+ });
3805
+ continue;
3806
+ }
3771
3807
  const whichCopy = (verb) => took('modified')
3772
3808
  ? `Disk's copy${tool === 'edit' ? '' : ` of ${target.path}`} had changed since the workspace last agreed with it, so it was taken in first, and ${subject} ${verb} that text.`
3773
3809
  : report?.state === 'unverified'
@@ -4033,11 +4069,12 @@ export class WorkspaceModule {
4033
4069
  let committed = false;
4034
4070
  try {
4035
4071
  return await this.withMount(mount, async () => {
4036
- const report = await this.ensureSynced(mount, relativePath);
4072
+ const { report, undecided } = await this.ensureSynced(mount, relativePath);
4037
4073
  await this.settleBeforeMutation(mount, relativePath);
4038
4074
  const entry = store.treeGet(mount.treeStateId, relativePath);
4039
4075
  if (!entry) {
4040
- return { success: false, error: this.notInWorkspace(input.path, report), isError: true };
4076
+ const error = undecided !== null ? this.notCheckedYet(input.path, undecided) : this.notInWorkspace(input.path, report);
4077
+ return { success: false, error, isError: true };
4041
4078
  }
4042
4079
  const { refused, note } = await this.commitToolChange(mount, relativePath, { kind: 'remove', previousHash: entry.blobHash }, () => { committed = true; });
4043
4080
  if (refused !== null)
@@ -4224,11 +4261,25 @@ export class WorkspaceModule {
4224
4261
  }
4225
4262
  // Every match lies beneath the pattern's literal directory, so the walk
4226
4263
  // starts there: past the walk's cap, a walk of the whole scope can stop
4227
- // before it gets there.
4264
+ // before it gets there. In the mount a pattern's first segment names, the
4265
+ // pattern is read mount-prefixed (prefixedGlob), from its rest's directory
4266
+ // within `path`.
4228
4267
  const patternDir = literalDirOf(input.pattern);
4229
4268
  for (const { mount, relativePath } of mountsToSearch) {
4230
- const start = await this.walkStart(mount, relativePath, patternDir);
4231
- const matched = (path) => regex.test(relativePath ? path.slice(relativePath.length + 1) : path);
4269
+ const prefixed = prefixedGlob(input.pattern, mount.config.name);
4270
+ let start;
4271
+ let matched;
4272
+ if (prefixed) {
4273
+ const dir = deeperOf(relativePath, prefixed.dir);
4274
+ if (dir === null)
4275
+ continue;
4276
+ start = await this.walkStart(mount, relativePath, dir === relativePath ? '' : dir.slice(relativePath ? relativePath.length + 1 : 0));
4277
+ matched = (path) => prefixed.regex.test(path);
4278
+ }
4279
+ else {
4280
+ start = await this.walkStart(mount, relativePath, patternDir);
4281
+ matched = (path) => regex.test(relativePath ? path.slice(relativePath.length + 1) : path);
4282
+ }
4232
4283
  const listing = await this.listingOf(mount, start, true, matched);
4233
4284
  for (const { path, ...view } of listing.files)
4234
4285
  matches.push({ path: `${mount.config.name}/${path}`, ...view });
@@ -4258,7 +4309,8 @@ export class WorkspaceModule {
4258
4309
  const fileGlob = input.glob ? globToRegex(input.glob) : null;
4259
4310
  // The filter matches mount-relative paths, so every file it lets through
4260
4311
  // lies beneath its literal directory, and the walk starts at the deeper of
4261
- // that and `path`.
4312
+ // that and `path`. In the mount a filter's first segment names, its
4313
+ // mount-prefixed reading takes the filter's place (below).
4262
4314
  const filterDir = input.glob ? literalDirOf(input.glob) : '';
4263
4315
  const contextBefore = input.contextBefore ?? 0;
4264
4316
  const contextAfter = input.contextAfter ?? 0;
@@ -4301,9 +4353,12 @@ export class WorkspaceModule {
4301
4353
  incomplete.push({ path: `${mount.config.name}/${relativePath}`, reason: this.otherMountNote(mount.config.name, relativePath, 'list', moved) });
4302
4354
  continue;
4303
4355
  }
4304
- // A `path` and a filter whose directories don't overlap leave no file
4305
- // the filter can let through, so nothing is searched.
4306
- const deeper = deeperOf(relativePath, filterDir);
4356
+ // In the mount a filter's first segment names, the filter is read
4357
+ // mount-prefixed (prefixedGlob), from its rest's directory. A `path` and
4358
+ // a filter whose directories don't overlap leave no file the filter can
4359
+ // let through, so nothing is searched.
4360
+ const prefixed = input.glob ? prefixedGlob(input.glob, mount.config.name) : null;
4361
+ const deeper = deeperOf(relativePath, prefixed ? prefixed.dir : filterDir);
4307
4362
  if (deeper === null)
4308
4363
  continue;
4309
4364
  const start = await this.walkStart(mount, relativePath, deeper === relativePath ? '' : deeper.slice(relativePath ? relativePath.length + 1 : 0));
@@ -4312,7 +4367,9 @@ export class WorkspaceModule {
4312
4367
  if (matches.length > 0)
4313
4368
  results.push({ file: text.file, ...(text.state !== undefined ? { state: text.state } : {}), version: text.version, matches });
4314
4369
  };
4315
- const kept = (path) => fileGlob === null || fileGlob.test(path);
4370
+ const kept = prefixed
4371
+ ? (path) => prefixed.regex.test(path)
4372
+ : (path) => fileGlob === null || fileGlob.test(path);
4316
4373
  const found = mount.direct
4317
4374
  ? await this.textsFromDisk(mount, relativePath, root, start, kept, searched)
4318
4375
  : await this.textsFromStore(mount, relativePath, start, kept, searched);
@@ -5460,6 +5517,28 @@ function inputProblem(schema, input, minimums = {}) {
5460
5517
  }
5461
5518
  return null;
5462
5519
  }
5520
+ /**
5521
+ * A glob's reading in the mount its first segment names, in place of the
5522
+ * pattern as written there. Every path the tools take and return is
5523
+ * mount-prefixed, so `notes/diary/*.md` is the natural way to write a
5524
+ * pattern, and tested as written against a mount-relative path it could
5525
+ * never match — a glob answered "no matches" for files that were there.
5526
+ * `regex` matches the rest of the pattern against the mount-relative path,
5527
+ * and `dir` is the rest's literal directory (literalDirOf), from the mount's
5528
+ * root. A pattern that names another mount, or none, has no such reading
5529
+ * (null), and is read as written, relative to the search root. So in a mount
5530
+ * holding a directory named like itself, `work/z/*.ts` names the mount's own
5531
+ * `z`, and `work/work/z/*.ts`, as the tools show it, names the directory's.
5532
+ * The rest's brace groups are the pattern's, so a pattern globToRegex took
5533
+ * doesn't throw here.
5534
+ */
5535
+ function prefixedGlob(pattern, mountName) {
5536
+ const slash = pattern.indexOf('/');
5537
+ if (slash <= 0 || pattern.slice(0, slash) !== mountName)
5538
+ return null;
5539
+ const rest = pattern.slice(slash + 1);
5540
+ return { regex: globToRegex(rest), dir: literalDirOf(rest) };
5541
+ }
5463
5542
  /**
5464
5543
  * Convert a glob pattern to a RegExp. Throws, naming the pattern, for a brace
5465
5544
  * group it can't read: a "{" that never closes, a group inside another, or a
@@ -5497,9 +5576,14 @@ function globToRegex(pattern) {
5497
5576
  if (!group.includes(',')) {
5498
5577
  throw new Error(braceRefusal(pattern, 'has a "{" group with no ","; a group needs two or more alternatives, separated by ","'));
5499
5578
  }
5500
- const alternatives = group.split(',');
5501
- regex += '(?:' + alternatives.map(a => globPartToRegex(a)).join('|') + ')';
5502
- i = closeIdx + 1;
5579
+ // A `/` right after the group goes into each alternative, as `{a,b}/x`
5580
+ // and `{a/,b/}x` name the same paths, so an alternative's own `**`
5581
+ // meets it and reads as a `**/` does, as in the group's expansion:
5582
+ // `{src/**,lib}/*.ts` is `src/**/*.ts` or `lib/*.ts`.
5583
+ const slash = pattern[closeIdx + 1] === '/';
5584
+ const alternatives = group.split(',').map((alternative) => (slash ? alternative + '/' : alternative));
5585
+ regex += '(?:' + alternatives.map(globPartToRegex).join('|') + ')';
5586
+ i = closeIdx + (slash ? 2 : 1);
5503
5587
  continue;
5504
5588
  }
5505
5589
  // Accumulate non-brace characters, convert as a chunk
@@ -5544,12 +5628,18 @@ function deeperOf(a, b) {
5544
5628
  function braceRefusal(pattern, problem) {
5545
5629
  return `glob pattern ${JSON.stringify(pattern)} ${problem}. To match a "{" in a name, put "?" in its place.`;
5546
5630
  }
5631
+ // What each glob token becomes. A `**/` at the start of a path segment matches
5632
+ // zero or more whole directories, so `src/**/*.ts` also matches `src/main.ts`;
5633
+ // any other `**` matches any run of characters.
5634
+ const GLOB_TOKENS = { '**/': '(?:.*/)?', '**': '.*', '*': '[^/]*', '?': '[^/]' };
5635
+ // One part of a pattern, between brace groups or inside one. Whether a `**/`
5636
+ // at its start starts a path segment depends on what comes before it in the
5637
+ // path, which after a brace group is whichever alternative matched: so it
5638
+ // reads as GLOB_TOKENS' `**/` where the path so far is empty or ends with a
5639
+ // `/`, as in `{src/,lib/}**/`, and otherwise as any run of characters and
5640
+ // then a directory, as in `draft{s,ing}**/`.
5641
+ const PART_START_GLOBSTAR = '(?:(?<=^|/)(?:.*/)?|(?<!^|/).*/)';
5547
5642
  function globPartToRegex(part) {
5548
- return part
5549
- .replace(/[.+^$()|[\]\\]/g, '\\$&')
5550
- .replace(/\*\*/g, '__DOUBLESTAR__')
5551
- .replace(/\*/g, '[^/]*')
5552
- .replace(/__DOUBLESTAR__/g, '.*')
5553
- .replace(/\?/g, '[^/]');
5643
+ return part.replace(/(?<=^|\/)\*\*\/|\*\*|[*?]|[.+^$()|[\]\\]/g, (m, offset) => m === '**/' && offset === 0 ? PART_START_GLOBSTAR : GLOB_TOKENS[m] ?? `\\${m}`);
5554
5644
  }
5555
5645
  //# sourceMappingURL=index.js.map