frontier-mcp 0.4.1 → 0.6.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 (58) hide show
  1. package/README.md +38 -16
  2. package/dist/domain.d.ts +17 -12
  3. package/dist/domain.d.ts.map +1 -1
  4. package/dist/domain.js +0 -9
  5. package/dist/domain.js.map +1 -1
  6. package/dist/frontier.d.ts +8 -0
  7. package/dist/frontier.d.ts.map +1 -1
  8. package/dist/frontier.js +33 -4
  9. package/dist/frontier.js.map +1 -1
  10. package/dist/server.d.ts.map +1 -1
  11. package/dist/server.js +21 -3
  12. package/dist/server.js.map +1 -1
  13. package/dist/storage/driver.d.ts +44 -0
  14. package/dist/storage/driver.d.ts.map +1 -1
  15. package/dist/storage/driver.js +33 -0
  16. package/dist/storage/driver.js.map +1 -1
  17. package/dist/storage/markdown/create.d.ts +29 -13
  18. package/dist/storage/markdown/create.d.ts.map +1 -1
  19. package/dist/storage/markdown/create.js +151 -76
  20. package/dist/storage/markdown/create.js.map +1 -1
  21. package/dist/storage/markdown/driver.d.ts.map +1 -1
  22. package/dist/storage/markdown/driver.js +160 -30
  23. package/dist/storage/markdown/driver.js.map +1 -1
  24. package/dist/storage/markdown/header-doc.d.ts +7 -0
  25. package/dist/storage/markdown/header-doc.d.ts.map +1 -1
  26. package/dist/storage/markdown/header-doc.js +34 -1
  27. package/dist/storage/markdown/header-doc.js.map +1 -1
  28. package/dist/storage/markdown/id-pattern.d.ts +43 -0
  29. package/dist/storage/markdown/id-pattern.d.ts.map +1 -0
  30. package/dist/storage/markdown/id-pattern.js +143 -0
  31. package/dist/storage/markdown/id-pattern.js.map +1 -0
  32. package/dist/storage/markdown/migrate.d.ts +4 -1
  33. package/dist/storage/markdown/migrate.d.ts.map +1 -1
  34. package/dist/storage/markdown/migrate.js +5 -4
  35. package/dist/storage/markdown/migrate.js.map +1 -1
  36. package/dist/storage/markdown/ticket.d.ts +2 -0
  37. package/dist/storage/markdown/ticket.d.ts.map +1 -1
  38. package/dist/storage/markdown/ticket.js +5 -0
  39. package/dist/storage/markdown/ticket.js.map +1 -1
  40. package/dist/tools/create-tickets.d.ts +13 -2
  41. package/dist/tools/create-tickets.d.ts.map +1 -1
  42. package/dist/tools/create-tickets.js +38 -15
  43. package/dist/tools/create-tickets.js.map +1 -1
  44. package/dist/tools/get-board.d.ts +3 -1
  45. package/dist/tools/get-board.d.ts.map +1 -1
  46. package/dist/tools/get-board.js +8 -4
  47. package/dist/tools/get-board.js.map +1 -1
  48. package/dist/tools/get-tickets.d.ts.map +1 -1
  49. package/dist/tools/get-tickets.js +30 -6
  50. package/dist/tools/get-tickets.js.map +1 -1
  51. package/dist/tools/migrate-effort.js +3 -0
  52. package/dist/tools/migrate-effort.js.map +1 -1
  53. package/dist/tools/update-ticket.js +3 -3
  54. package/dist/tools/update-ticket.js.map +1 -1
  55. package/dist/tools/workspace-line.d.ts +2 -2
  56. package/dist/tools/workspace-line.js +2 -2
  57. package/docs/agents/issue-tracker.md +49 -22
  58. package/package.json +1 -1
@@ -1,12 +1,13 @@
1
1
  import { mkdir, readdir, readFile } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
- import { NoSuchEffort, NoSuchMap, NoSuchSpec, NoSuchTicket, RevisionMismatch } from '../driver.js';
4
- import { createTicketFiles } from './create.js';
3
+ import { InvalidWorkspaceConfig, NoSuchEffort, NoSuchMap, NoSuchSpec, DuplicateId, NoSuchTicket, RevisionMismatch, } from '../driver.js';
4
+ import { createTicketFiles, mintingPlan } from './create.js';
5
+ import { CONFIG_FILE, compileIdPattern, DEFAULT_ID_PATTERN, idMatcher, loadIdPattern, } from './id-pattern.js';
5
6
  import { migrateEffortFiles } from './migrate.js';
6
7
  import { applyEdit } from './serialize.js';
7
8
  import { AtomicWriteConflict, currentRevision, GuardHeld, withGuard, writeAtomically, } from './write.js';
8
- import { applyMapEdit, readMapDocument, readSection, readSpecOpening, scaffoldMap, SECTION_HEADINGS, } from './header-doc.js';
9
- import { parseTicketSummary, ticketBody } from './ticket.js';
9
+ import { applyMapEdit, assertNoSectionBreaks, readMapDocument, readSection, readSpecOpening, scaffoldMap, SECTION_HEADINGS, } from './header-doc.js';
10
+ import { foreignFence, parseTicketSummary, ticketBody } from './ticket.js';
10
11
  import { watchStorage } from './watcher.js';
11
12
  /**
12
13
  * The layout this driver serves, per AGENTS.md, under the storage directory it
@@ -48,7 +49,24 @@ const HEADER_DOCS = [
48
49
  */
49
50
  export function createMarkdownDriver(root, { storageDir = DEFAULT_STORAGE_DIR, watcherDebounceMs, watcherSettleMs, } = {}) {
50
51
  const storage = join(root, storageDir);
52
+ // Compiled once and not watched (T54); a broken one warns on read and refuses
53
+ // writes. T66 matches ids against it.
54
+ const idPattern = loadIdPattern(storage, storageDir);
55
+ // Under a broken pattern every write is refused before it mints, so the
56
+ // default here only ever feeds reads, pre-write checks and a migrate_effort
57
+ // preview, which then behave as an unconfigured repo does.
58
+ const effectivePattern = idPattern.pattern ?? compileIdPattern(DEFAULT_ID_PATTERN).pattern ?? unreachable();
59
+ const minting = mintingPlan(effectivePattern);
60
+ const matchesId = idMatcher(effectivePattern);
61
+ const colliding = effectivePattern.survivesMerge
62
+ ? undefined
63
+ : { pattern: effectivePattern.source, configuredIn: `${storageDir}/${CONFIG_FILE}` };
51
64
  let writes = Promise.resolve();
65
+ // Set only when the cached scan completes, so a Board's duplicate warning
66
+ // describes the scan its lines were built from. The fresh walks behind
67
+ // readTickets, create and migrate never touch it. Kept beside the cache rather
68
+ // than in it because workspaceWarnings is synchronous.
69
+ let duplicates = new Map();
52
70
  const walk = async () => {
53
71
  // A repo that has never used the tracker is a supported starting state,
54
72
  // not an error: it simply holds no Efforts.
@@ -69,10 +87,20 @@ export function createMarkdownDriver(root, { storageDir = DEFAULT_STORAGE_DIR, w
69
87
  */
70
88
  let cachedScan;
71
89
  const scan = () => {
72
- cachedScan ??= walk().catch((error) => {
73
- cachedScan = undefined;
74
- throw error;
75
- });
90
+ if (cachedScan === undefined) {
91
+ const started = walk().then(efforts => {
92
+ // A walk an invalidation has already replaced must not overwrite the
93
+ // warning the newer scan's Board lines belong with.
94
+ if (cachedScan === started)
95
+ duplicates = duplicateClaims(efforts);
96
+ return efforts;
97
+ }, (error) => {
98
+ if (cachedScan === started)
99
+ cachedScan = undefined;
100
+ throw error;
101
+ });
102
+ cachedScan = started;
103
+ }
76
104
  return cachedScan;
77
105
  };
78
106
  /** Drop the scan, so the next read rebuilds from disk. */
@@ -83,7 +111,9 @@ export function createMarkdownDriver(root, { storageDir = DEFAULT_STORAGE_DIR, w
83
111
  * A write moves the workspace on whether or not it succeeded partway, so the
84
112
  * next read rebuilds rather than trusting a scan taken before it.
85
113
  */
86
- const moved = async (operation) => {
114
+ const moved = async (operation, writing = true) => {
115
+ if (writing && idPattern.problem !== undefined)
116
+ throw new InvalidWorkspaceConfig(idPattern.problem);
87
117
  try {
88
118
  return await operation();
89
119
  }
@@ -102,6 +132,26 @@ export function createMarkdownDriver(root, { storageDir = DEFAULT_STORAGE_DIR, w
102
132
  async listTickets() {
103
133
  return (await scan()).flatMap(entry => summariesOf(entry));
104
134
  },
135
+ isId(name) {
136
+ return matchesId.test(name);
137
+ },
138
+ mergeCollidingIdPattern() {
139
+ return colliding;
140
+ },
141
+ workspaceWarnings() {
142
+ const warnings = idPattern.problem === undefined
143
+ ? []
144
+ : [
145
+ `${idPattern.problem} Writes are refused until it is fixed and the FrontierMCP ` +
146
+ 'server is restarted.',
147
+ ];
148
+ if (duplicates.size > 0)
149
+ warnings.push(duplicateWarning(duplicates, colliding));
150
+ return warnings;
151
+ },
152
+ async assertAddressable(handle) {
153
+ await locate(storage, handle);
154
+ },
105
155
  async readTickets(handles) {
106
156
  // Deliberately the fresh walk rather than the cached one. A body is read
107
157
  // for the few Tickets being worked, and reading it against a scan taken
@@ -117,7 +167,7 @@ export function createMarkdownDriver(root, { storageDir = DEFAULT_STORAGE_DIR, w
117
167
  // The scan is deliberately not the cached one: allocation re-reads under
118
168
  // its own guards, and a walk started before them would defeat the check
119
169
  // it exists to make.
120
- return moved(() => serialized(() => create(storage, effort, drafts, options, walk)));
170
+ return moved(() => serialized(() => create(storage, minting, effort, drafts, options, walk)));
121
171
  },
122
172
  readMap(effort) {
123
173
  return serialized(() => loadMap(storage, effort));
@@ -132,7 +182,7 @@ export function createMarkdownDriver(root, { storageDir = DEFAULT_STORAGE_DIR, w
132
182
  return moved(() => serialized(() => saveSpec(storage, effort, body, expectedRevision, options)));
133
183
  },
134
184
  migrateEffort(effort, options) {
135
- return moved(() => serialized(() => migrate(storage, effort, options, walk)));
185
+ return moved(() => serialized(() => migrate(storage, minting, effort, options, walk)), options.preview !== true);
136
186
  },
137
187
  close() {
138
188
  watcher.close();
@@ -153,28 +203,50 @@ export function createMarkdownDriver(root, { storageDir = DEFAULT_STORAGE_DIR, w
153
203
  return next;
154
204
  }
155
205
  }
156
- async function migrate(storage, effort, options, walk) {
206
+ function unreachable() {
207
+ throw new Error(`The default id pattern ${DEFAULT_ID_PATTERN} does not compile.`);
208
+ }
209
+ async function migrate(storage, minting, effort, options, walk) {
157
210
  const dir = join(storage, effort);
158
211
  if ((await readEffort(storage, effort)) === undefined)
159
212
  throw new NoSuchEffort(effort);
160
213
  const entries = await readTicketFiles(dir, effort);
161
- const allTickets = (await walk()).flatMap(summariesOf);
214
+ const scanned = await walk();
215
+ const allTickets = scanned.flatMap(summariesOf);
216
+ // An id inferred from Legacy prose is preserved, so one another file already
217
+ // carries would be written into frontmatter as a duplicate — the same refusal
218
+ // as any write addressed to that id. A preview is a read, so it reports the
219
+ // conflict beside the rest of the plan instead.
220
+ const claims = duplicateClaims(scanned);
221
+ const conflicts = new Map();
222
+ for (const { ticket } of entries) {
223
+ if (!ticket.legacy || ticket.id === undefined)
224
+ continue;
225
+ const files = claims.get(ticket.id);
226
+ if (files === undefined)
227
+ continue;
228
+ if (options.preview !== true)
229
+ throw new DuplicateId(ticket.id, files);
230
+ conflicts.set(ticket.id, files);
231
+ }
162
232
  const issues = join(dir, ISSUES_DIR);
163
233
  return migrateEffortFiles({
164
234
  storage,
235
+ minting,
165
236
  effort,
166
237
  issues,
167
238
  entries,
168
239
  allTickets,
169
240
  preview: options.preview,
170
241
  rename: options.rename,
242
+ conflicts,
171
243
  // Allocation must not share a walk started before the guards — same reason
172
244
  // createTickets builds its own rescan.
173
245
  rescan: async () => (await walk()).flatMap(summariesOf),
174
246
  readContents: filename => readFile(join(issues, filename), 'utf8'),
175
247
  });
176
248
  }
177
- async function create(storage, effort, drafts, options, walk) {
249
+ async function create(storage, minting, effort, drafts, options, walk) {
178
250
  const dir = join(storage, effort);
179
251
  const missing = (await readEffort(storage, effort)) === undefined;
180
252
  if (missing && !options.createEffort)
@@ -183,6 +255,7 @@ async function create(storage, effort, drafts, options, walk) {
183
255
  // then refused would show up in list_efforts as an empty one nobody asked for.
184
256
  const filenames = await createTicketFiles({
185
257
  storage,
258
+ minting,
186
259
  effort,
187
260
  dir,
188
261
  issues: join(dir, ISSUES_DIR),
@@ -262,6 +335,7 @@ async function saveMap(storage, effort, edit, expectedRevision, options) {
262
335
  const path = join(dir, MAP_FILE);
263
336
  const current = await currentRevision(path);
264
337
  const handle = `map:${effort}`;
338
+ assertNoSectionBreaks(edit);
265
339
  if (current === undefined) {
266
340
  // createEffort only guards starting a new Effort. An Effort that already
267
341
  // holds a Spec or issues/ must be able to gain a Map without that flag —
@@ -409,18 +483,66 @@ function ticketPointers(entries, status) {
409
483
  async function locate(storage, handle) {
410
484
  const slugs = await readDirectories(storage);
411
485
  const perEffort = await Promise.all(slugs.map(async (slug) => ({ slug, entries: await readTicketFiles(join(storage, slug), slug) })));
412
- for (const { slug, entries } of perEffort) {
413
- const found = entries.find(entry => entry.ticket.id === handle || entry.ticket.handle === handle);
414
- if (found !== undefined) {
415
- return {
416
- dir: join(storage, slug),
417
- effort: slug,
418
- filename: found.filename,
419
- ticket: found.ticket,
420
- };
486
+ const found = perEffort.flatMap(({ slug, entries }) => entries
487
+ .filter(entry => entry.ticket.id === handle || entry.ticket.handle === handle)
488
+ .map(entry => ({
489
+ dir: join(storage, slug),
490
+ effort: slug,
491
+ filename: entry.filename,
492
+ ticket: entry.ticket,
493
+ })));
494
+ if (found.length > 1) {
495
+ throw new DuplicateId(handle, found.map(entry => relativeFile(entry.effort, entry.filename)));
496
+ }
497
+ return found[0];
498
+ }
499
+ function relativeFile(effort, filename) {
500
+ return `${effort}/${ISSUES_DIR}/${filename}`;
501
+ }
502
+ /**
503
+ * Ids carried by more than one Ticket file, with every claimant. One id is one
504
+ * exact string: `T5` and `t5` are different ids, as they are to an Edge.
505
+ */
506
+ function duplicateClaims(scanned) {
507
+ const files = new Map();
508
+ for (const { effort, entries } of scanned) {
509
+ for (const { filename, ticket } of entries) {
510
+ if (ticket.id === undefined)
511
+ continue;
512
+ const claimants = files.get(ticket.id) ?? [];
513
+ claimants.push(relativeFile(effort.slug, filename));
514
+ files.set(ticket.id, claimants);
421
515
  }
422
516
  }
423
- return undefined;
517
+ return new Map([...files].filter(([, claimants]) => claimants.length > 1));
518
+ }
519
+ // Reported, never repaired: renumbering cannot reach the commit messages and
520
+ // PR bodies that already name the id, so the fix stays a human act.
521
+ // Capped because it rides every Board: the first few ids name their files, the
522
+ // next few are named bare, and the rest are counted. The count stays exact.
523
+ const DUPLICATES_WITH_FILES = 3;
524
+ const DUPLICATES_NAMED = 10;
525
+ function duplicateWarning(duplicates, colliding) {
526
+ const sorted = [...duplicates].toSorted(([a], [b]) => a.localeCompare(b));
527
+ const withFiles = sorted
528
+ .slice(0, DUPLICATES_WITH_FILES)
529
+ .map(([id, files]) => `${id} (${files.join(', ')})`);
530
+ const named = sorted
531
+ .slice(DUPLICATES_WITH_FILES, DUPLICATES_WITH_FILES + DUPLICATES_NAMED)
532
+ .map(([id]) => id);
533
+ const rest = sorted.length - DUPLICATES_WITH_FILES - named.length;
534
+ let listed = withFiles.join('; ');
535
+ if (named.length > 0)
536
+ listed += `; also ${named.join(' ')}`;
537
+ if (rest > 0)
538
+ listed += ` and ${String(rest)} more`;
539
+ // T56's one-way cross-reference: the pattern is named only once a duplicate
540
+ // has actually happened, as its likely cause.
541
+ const cause = colliding === undefined
542
+ ? ''
543
+ : `; the counted id pattern ${colliding.pattern} is the likely cause`;
544
+ return (`duplicate ids, each carried by more than one Ticket file (${String(duplicates.size)}): ` +
545
+ `${listed} — writes to them are refused; renumber all but one by hand${cause}`);
424
546
  }
425
547
  function defaultsFor(ticket) {
426
548
  return {
@@ -453,10 +575,12 @@ async function readBodies(storage, scanned, handles) {
453
575
  ticket,
454
576
  path: join(storage, entry.effort.slug, ISSUES_DIR, filename),
455
577
  })));
456
- return Promise.all(found.map(async ({ ticket, path }) => withBody(ticket, ticketBody(await readText(path)))));
578
+ return Promise.all(found.map(async ({ ticket, path }) => withBody(ticket, await readText(path))));
457
579
  }
458
- function withBody(ticket, body) {
459
- return { ...ticket, body };
580
+ function withBody(ticket, contents) {
581
+ const body = ticketBody(contents);
582
+ const fence = foreignFence(contents);
583
+ return fence === undefined ? { ...ticket, body } : { ...ticket, body, foreignFence: fence };
460
584
  }
461
585
  /**
462
586
  * Every Ticket in one Effort with the file behind it, in sort order, each read
@@ -487,14 +611,20 @@ async function readTicketFiles(dir, effort) {
487
611
  return withUniqueHandles(parsed.toSorted((a, b) => a.ticket.order - b.ticket.order));
488
612
  }
489
613
  /**
490
- * Two files can share an `NN-` prefix, which would give two id-less Tickets the
491
- * same `<effort>#<order>` handle and make one of them unfetchable. Later
492
- * collisions get a suffix, so every Ticket stays individually addressable.
614
+ * Two id-less Tickets can land on one order — a shared `NN-` prefix, or a
615
+ * prefix-less file whose listing position matches another's prefix — which
616
+ * would make one of them unfetchable. Later collisions get a suffix.
617
+ *
618
+ * A Ticket with an id is never suffixed. Every claimant of a duplicated id must
619
+ * keep answering to that id, so a write addressed to it refuses; a suffix would
620
+ * be a handle reaching one claimant behind the refusal's back.
493
621
  */
494
622
  function withUniqueHandles(entries) {
495
623
  const seen = new Set();
496
624
  return entries.map(entry => {
497
625
  const { ticket } = entry;
626
+ if (ticket.id !== undefined)
627
+ return entry;
498
628
  if (!seen.has(ticket.handle)) {
499
629
  seen.add(ticket.handle);
500
630
  return entry;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../src/storage/markdown/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../src/storage/markdown/driver.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,13 @@ export interface ApplyMapEditOptions {
51
51
  export declare function applyMapEdit(contents: string, edit: MapEdit, decisions: readonly DerivedPointer[], dropped: readonly DerivedPointer[], options?: ApplyMapEditOptions): string;
52
52
  /** A brand-new Map file, with empty generated blocks ready for the first write. */
53
53
  export declare function scaffoldMap(edit: MapEdit): string;
54
+ /**
55
+ * Refuse any value that, as written, holds a line {@link NEXT_HEADING} — the
56
+ * reader's own section break — would match. Written verbatim, such a line ends
57
+ * the section early: the value reads back truncated, and the rest is left as an
58
+ * orphan section a later replace never reaches.
59
+ */
60
+ export declare function assertNoSectionBreaks(edit: MapEdit): void;
54
61
  export declare function ensureTrailingNewline(text: string): string;
55
62
  export declare function readSection(contents: string, heading: string): string | undefined;
56
63
  //# sourceMappingURL=header-doc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"header-doc.d.ts","sourceRoot":"","sources":["../../../src/storage/markdown/header-doc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAS5D,eAAO,MAAM,gBAAgB;aAC3B,WAAW,EAAE,aAAa;aAC1B,KAAK,EAAE,OAAO;aACd,SAAS,EAAE,kBAAkB;aAC7B,GAAG,EAAE,mBAAmB;aACxB,UAAU,EAAE,cAAc;CAClB,CAAC;AAEX,sEAAsE;AACtE,eAAO,MAAM,cAAc,4FACgE,CAAC;AAC5F,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAOrD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQ/E;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAgCR;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CA0CjD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAYD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKjF"}
1
+ {"version":3,"file":"header-doc.d.ts","sourceRoot":"","sources":["../../../src/storage/markdown/header-doc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAS5D,eAAO,MAAM,gBAAgB;aAC3B,WAAW,EAAE,aAAa;aAC1B,KAAK,EAAE,OAAO;aACd,SAAS,EAAE,kBAAkB;aAC7B,GAAG,EAAE,mBAAmB;aACxB,UAAU,EAAE,cAAc;CAClB,CAAC;AAEX,sEAAsE;AACtE,eAAO,MAAM,cAAc,4FACgE,CAAC;AAC5F,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAQrD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQ/E;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAgCR;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CA0CjD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAuBzD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAYD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKjF"}
@@ -1,5 +1,5 @@
1
1
  import { splitFrontmatter } from './frontmatter.js';
2
- import { NoSuchFogPatch } from '../driver.js';
2
+ import { NoSuchFogPatch, SectionBreakInValue } from '../driver.js';
3
3
  /**
4
4
  * The Map's typed sections live under `##` headings. Only this module knows
5
5
  * that — the driver interface carries the values, never the section names, so
@@ -16,6 +16,7 @@ export const SECTION_HEADINGS = {
16
16
  /** Markers stating that their contents are overwritten — ADR 0002. */
17
17
  export const GENERATED_OPEN = '<!-- GENERATED: overwritten on every mutation through the server. Do not hand-edit. -->';
18
18
  export const GENERATED_CLOSE = '<!-- /GENERATED -->';
19
+ const GENERATED_MARKER = /<!--[ \t]*\/?GENERATED\b[^>]*-->/i;
19
20
  const GENERATED_BLOCK = /<!--[ \t]*GENERATED\b[^>]*-->\r?\n?([\s\S]*?)<!--[ \t]*\/GENERATED[ \t]*-->/i;
20
21
  const BULLET = /^[ \t]*[-*][ \t]+(.+?)[ \t]*$/;
21
22
  /**
@@ -124,6 +125,38 @@ export function scaffoldMap(edit) {
124
125
  .join('\n')
125
126
  .replace(/\n{3,}/g, '\n\n');
126
127
  }
128
+ /**
129
+ * Refuse any value that, as written, holds a line {@link NEXT_HEADING} — the
130
+ * reader's own section break — would match. Written verbatim, such a line ends
131
+ * the section early: the value reads back truncated, and the rest is left as an
132
+ * orphan section a later replace never reaches.
133
+ */
134
+ export function assertNoSectionBreaks(edit) {
135
+ const placed = [
136
+ [SECTION_HEADINGS.destination, edit.destination?.trim()],
137
+ [SECTION_HEADINGS.notes, edit.notes?.trim()],
138
+ [SECTION_HEADINGS.fog, edit.addFog === undefined ? undefined : `- ${edit.addFog.trim()}`],
139
+ [
140
+ SECTION_HEADINGS.outOfScope,
141
+ edit.ruleOut === undefined ? undefined : `- ${edit.ruleOut.trim()}`,
142
+ ],
143
+ ];
144
+ for (const [section, value] of placed) {
145
+ if (value === undefined)
146
+ continue;
147
+ const match = NEXT_HEADING.exec(value);
148
+ if (match !== null) {
149
+ const lineEnd = value.indexOf('\n', match.index);
150
+ const line = value.slice(match.index, lineEnd < 0 ? undefined : lineEnd).trimEnd();
151
+ throw new SectionBreakInValue(section, line);
152
+ }
153
+ // Either marker alone is enough: an opener pairs with the real closer below
154
+ // it, and a closer ends the real block early.
155
+ const marker = GENERATED_MARKER.exec(value);
156
+ if (marker !== null)
157
+ throw new SectionBreakInValue(section, marker[0], 'marker');
158
+ }
159
+ }
127
160
  export function ensureTrailingNewline(text) {
128
161
  return text.endsWith('\n') ? text : `${text}\n`;
129
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"header-doc.js","sourceRoot":"","sources":["../../../src/storage/markdown/header-doc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"header-doc.js","sourceRoot":"","sources":["../../../src/storage/markdown/header-doc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export declare const CONFIG_FILE = "frontier.yml";
2
+ export declare const DEFAULT_ID_PATTERN = "T<b36{6}>";
3
+ export type IdToken = {
4
+ readonly kind: 'literal';
5
+ readonly text: string;
6
+ } | {
7
+ readonly kind: 'counter';
8
+ } | {
9
+ readonly kind: 'random';
10
+ readonly base: 16 | 36;
11
+ readonly length: number;
12
+ };
13
+ /** A legal pattern, compiled. Both axes are properties of the token list, decided here once. */
14
+ export interface IdPattern {
15
+ readonly source: string;
16
+ readonly tokens: readonly IdToken[];
17
+ /** Minting needs coordination exactly when the pattern contains `<N>` (T53). */
18
+ readonly needsCoordination: boolean;
19
+ /** Identity survives a merge exactly when the pattern contains a random token (T53). */
20
+ readonly survivesMerge: boolean;
21
+ }
22
+ export type IdPatternResult = {
23
+ readonly pattern: IdPattern;
24
+ readonly problem?: undefined;
25
+ } | {
26
+ readonly pattern?: undefined;
27
+ readonly problem: string;
28
+ };
29
+ export declare function compileIdPattern(source: string): IdPatternResult;
30
+ /**
31
+ * What the pattern accepts as an id. Random tokens match any length, not just
32
+ * the one minted: ids from an earlier pattern or a hand edit stay recognized,
33
+ * since nothing migrates (T35), so the default accepts `T34` as well as `Tk3x9q2`.
34
+ */
35
+ export declare function idMatcher(pattern: IdPattern): RegExp;
36
+ /**
37
+ * Read `<storageDir>/frontier.yml` once. An absent file or key is the default;
38
+ * a file that cannot be read as a mapping, or a pattern that is illegal, is a
39
+ * problem the caller surfaces — never a silent fallback to the default, since
40
+ * minting in a format nobody asked for is permanent (T54).
41
+ */
42
+ export declare function loadIdPattern(storage: string, storageDir: string): IdPatternResult;
43
+ //# sourceMappingURL=id-pattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-pattern.d.ts","sourceRoot":"","sources":["../../../src/storage/markdown/id-pattern.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAC1C,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAM9C,MAAM,MAAM,OAAO,GACf;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,gGAAgG;AAChG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,gFAAgF;IAChF,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,wFAAwF;IACxF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAoB/D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CA8EhE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAOpD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAkClF"}