eyecite-ts 0.29.2 → 0.30.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.
package/README.md CHANGED
@@ -344,6 +344,23 @@ const ctx = getSurroundingContext(
344
344
  )
345
345
  ```
346
346
 
347
+ ### Citation Identity (`id` + `byId`)
348
+
349
+ Every citation returned by `extractCitations()` carries a stable `id` (`"c0"`, `"c1"`, … in document order). The id is stable **within one result set** — it survives `filter`/`sort`/`map`, unlike array position — so you can reference and look up citations by id rather than by index.
350
+
351
+ ```typescript
352
+ import { byId, extractCitations } from "eyecite-ts"
353
+
354
+ const citations = extractCitations(text)
355
+ citations[0].id // "c0"
356
+
357
+ // Build a lookup keyed by stable id:
358
+ const map = byId(citations) // Map<CitationId, Citation>
359
+ const cite = map.get(citations[0].id!)
360
+ ```
361
+
362
+ Because the key is the id and not the array position, `byId(citations.filter(...))` still resolves correctly after you have filtered or reordered the array. `id` is **not** durable across runs (the same text re-extracts to fresh ids each call) — for cross-run / cross-document identity use `toDurableLocator()` from `eyecite-ts/utils`.
363
+
347
364
  ## Type System
348
365
 
349
366
  All citation types use a [discriminated union](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions) on the `type` field:
@@ -1,4 +1,4 @@
1
- import { n as Citation } from "../citation-CsWsvkxB.cjs";
1
+ import { n as Citation } from "../citation-t5DPIzyE.cjs";
2
2
 
3
3
  //#region src/annotate/types.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { n as Citation } from "../citation-Dy_8OOzV.mjs";
1
+ import { n as Citation } from "../citation-Dx71V5wD.mjs";
2
2
 
3
3
  //#region src/annotate/types.d.ts
4
4
  /**
@@ -354,6 +354,28 @@ interface AnnotationComponentSpans {
354
354
  //#endregion
355
355
  //#region src/types/citation.d.ts
356
356
  /**
357
+ * Generic nominal-typing brand. Zero runtime cost — the value stays a plain `T`
358
+ * (so it survives `JSON.stringify`, `structuredClone`, and `{...spread}`); the
359
+ * brand only exists in the type system to prevent mixing unrelated string ids.
360
+ */
361
+ type Brand<T, B extends string> = T & {
362
+ readonly __brand: B;
363
+ };
364
+ /**
365
+ * Stable identity for a citation **within one `extractCitations()` result set**.
366
+ * Survives consumer `filter`/`sort`/`map` of the returned array, so aggregates
367
+ * (history chains, parallel groups, short-form references) reference members by
368
+ * id rather than by fragile positional array index.
369
+ *
370
+ * NOT durable across runs — the same logical citation re-extracts to a fresh id
371
+ * each call. For cross-run identity use `toDurableLocator()` (contentHash).
372
+ *
373
+ * Opaque token (currently `"c0"`, `"c1"`, …): compare it, key a `Map`/`Set` with
374
+ * it, store it as a reference — but never parse it or derive it from array
375
+ * position. See `docs/superpowers/specs/2026-06-06-inter-citation-grammar-design.md`.
376
+ */
377
+ type CitationId = Brand<string, "CitationId">;
378
+ /**
357
379
  * Citation type discriminator for type-safe pattern matching.
358
380
  */
359
381
  type CitationType = "case" | "docket" | "statute" | "regulation" | "stateRule" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "restatement" | "treatise" | "annotation" | "id" | "supra" | "shortFormCase";
@@ -384,6 +406,13 @@ type CitationSignal = "see" | "see also" | "see generally" | "cf" | "but see" |
384
406
  * Base fields shared by all citation types.
385
407
  */
386
408
  interface CitationBase {
409
+ /**
410
+ * Stable identity within one `extractCitations()` result set (see {@link CitationId}).
411
+ * Populated by `extractCitations()` for every citation in its output. Optional
412
+ * because the granular per-type extractors (`extractCase()`, etc.) do not assign
413
+ * one — it is targeted to become required in a future major (#858).
414
+ */
415
+ id?: CitationId;
387
416
  /** Original matched text */
388
417
  text: string;
389
418
  /** Position span in document (originalStart/End point to original text) */
@@ -1480,12 +1509,12 @@ type Citation = FullCaseCitation | DocketCitation | StatuteCitation | Regulation
1480
1509
  /**
1481
1510
  * Citation type discriminators grouped by category.
1482
1511
  */
1483
- type FullCitationType = "case" | "docket" | "statute" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "stateRule" | "restatement" | "treatise" | "annotation";
1512
+ type FullCitationType = "case" | "docket" | "statute" | "regulation" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "stateRule" | "restatement" | "treatise" | "annotation";
1484
1513
  type ShortFormCitationType = "id" | "supra" | "shortFormCase";
1485
1514
  /**
1486
1515
  * Union of all full citation types (not short-form references).
1487
1516
  */
1488
- type FullCitation = FullCaseCitation | SessionLawCitation | TreatyCitation | LegislativeMaterialCitation | LocalOrdinanceCitation | CanonCitation | DocketCitation | StatuteCitation | JournalCitation | NeutralCitation | PublicLawCitation | FederalRegisterCitation | StatutesAtLargeCitation | ConstitutionalCitation | FederalRuleCitation | StateRuleCitation | RestatementCitation | TreatiseCitation | AnnotationCitation;
1517
+ type FullCitation = FullCaseCitation | SessionLawCitation | TreatyCitation | LegislativeMaterialCitation | LocalOrdinanceCitation | CanonCitation | DocketCitation | StatuteCitation | RegulationCitation | JournalCitation | NeutralCitation | PublicLawCitation | FederalRegisterCitation | StatutesAtLargeCitation | ConstitutionalCitation | FederalRuleCitation | StateRuleCitation | RestatementCitation | TreatiseCitation | AnnotationCitation;
1489
1518
  /**
1490
1519
  * Union of all short-form citation types (Id., supra, short-form case).
1491
1520
  */
@@ -1508,5 +1537,5 @@ type CitationOfType<T extends CitationType> = Extract<Citation, {
1508
1537
  */
1509
1538
  type ExtractorMap = { [K in FullCitationType]: CitationOfType<K> };
1510
1539
  //#endregion
1511
- export { SubsequentHistoryEntry as A, NeutralComponentSpans as B, RegulationCitation as C, ShortFormCitationType as D, ShortFormCitation as E, CaseComponentSpans as F, TreatiseComponentSpans as G, RestatementComponentSpans as H, ConstitutionalComponentSpans as I, spanFromGroupIndex as J, Span as K, FederalRegisterComponentSpans as L, TreatiseCitation as M, Warning as N, StatuteCitation as O, AnnotationComponentSpans as P, FederalRuleComponentSpans as R, PublicLawCitation as S, ShortFormCaseCitation as T, StatuteComponentSpans as U, PublicLawComponentSpans as V, StatutesAtLargeComponentSpans as W, parsePincite as X, PinciteInfo as Y, IdCitation as _, CitationSignal as a, Parenthetical as b, CourtInference as c, FederalRegisterCitation as d, FederalRuleCitation as f, HistorySignal as g, FullCitationType as h, CitationOfType as i, SupraCitation as j, StatutesAtLargeCitation as k, DocketCitation as l, FullCitation as m, Citation as n, CitationType as o, FullCaseCitation as p, TransformationMap as q, CitationBase as r, ConstitutionalCitation as s, AnnotationCitation as t, ExtractorMap as u, JournalCitation as v, RestatementCitation as w, ParentheticalType as x, NeutralCitation as y, JournalComponentSpans as z };
1512
- //# sourceMappingURL=citation-CsWsvkxB.d.cts.map
1540
+ export { StatutesAtLargeCitation as A, JournalComponentSpans as B, PublicLawCitation as C, ShortFormCitation as D, ShortFormCaseCitation as E, AnnotationComponentSpans as F, StatutesAtLargeComponentSpans as G, PublicLawComponentSpans as H, CaseComponentSpans as I, TransformationMap as J, TreatiseComponentSpans as K, ConstitutionalComponentSpans as L, SupraCitation as M, TreatiseCitation as N, ShortFormCitationType as O, Warning as P, FederalRegisterComponentSpans as R, ParentheticalType as S, RestatementCitation as T, RestatementComponentSpans as U, NeutralComponentSpans as V, StatuteComponentSpans as W, PinciteInfo as X, spanFromGroupIndex as Y, parsePincite as Z, HistorySignal as _, CitationOfType as a, NeutralCitation as b, ConstitutionalCitation as c, ExtractorMap as d, FederalRegisterCitation as f, FullCitationType as g, FullCitation as h, CitationId as i, SubsequentHistoryEntry as j, StatuteCitation as k, CourtInference as l, FullCaseCitation as m, Citation as n, CitationSignal as o, FederalRuleCitation as p, Span as q, CitationBase as r, CitationType as s, AnnotationCitation as t, DocketCitation as u, IdCitation as v, RegulationCitation as w, Parenthetical as x, JournalCitation as y, FederalRuleComponentSpans as z };
1541
+ //# sourceMappingURL=citation-Dx71V5wD.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citation-Dx71V5wD.d.mts","names":[],"sources":["../src/extract/pincite.ts","../src/extract/dates.ts","../src/clean/segmentMap.ts","../src/types/span.ts","../src/types/componentSpans.ts","../src/types/citation.ts"],"mappings":"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"}
@@ -354,6 +354,28 @@ interface AnnotationComponentSpans {
354
354
  //#endregion
355
355
  //#region src/types/citation.d.ts
356
356
  /**
357
+ * Generic nominal-typing brand. Zero runtime cost — the value stays a plain `T`
358
+ * (so it survives `JSON.stringify`, `structuredClone`, and `{...spread}`); the
359
+ * brand only exists in the type system to prevent mixing unrelated string ids.
360
+ */
361
+ type Brand<T, B extends string> = T & {
362
+ readonly __brand: B;
363
+ };
364
+ /**
365
+ * Stable identity for a citation **within one `extractCitations()` result set**.
366
+ * Survives consumer `filter`/`sort`/`map` of the returned array, so aggregates
367
+ * (history chains, parallel groups, short-form references) reference members by
368
+ * id rather than by fragile positional array index.
369
+ *
370
+ * NOT durable across runs — the same logical citation re-extracts to a fresh id
371
+ * each call. For cross-run identity use `toDurableLocator()` (contentHash).
372
+ *
373
+ * Opaque token (currently `"c0"`, `"c1"`, …): compare it, key a `Map`/`Set` with
374
+ * it, store it as a reference — but never parse it or derive it from array
375
+ * position. See `docs/superpowers/specs/2026-06-06-inter-citation-grammar-design.md`.
376
+ */
377
+ type CitationId = Brand<string, "CitationId">;
378
+ /**
357
379
  * Citation type discriminator for type-safe pattern matching.
358
380
  */
359
381
  type CitationType = "case" | "docket" | "statute" | "regulation" | "stateRule" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "restatement" | "treatise" | "annotation" | "id" | "supra" | "shortFormCase";
@@ -384,6 +406,13 @@ type CitationSignal = "see" | "see also" | "see generally" | "cf" | "but see" |
384
406
  * Base fields shared by all citation types.
385
407
  */
386
408
  interface CitationBase {
409
+ /**
410
+ * Stable identity within one `extractCitations()` result set (see {@link CitationId}).
411
+ * Populated by `extractCitations()` for every citation in its output. Optional
412
+ * because the granular per-type extractors (`extractCase()`, etc.) do not assign
413
+ * one — it is targeted to become required in a future major (#858).
414
+ */
415
+ id?: CitationId;
387
416
  /** Original matched text */
388
417
  text: string;
389
418
  /** Position span in document (originalStart/End point to original text) */
@@ -1480,12 +1509,12 @@ type Citation = FullCaseCitation | DocketCitation | StatuteCitation | Regulation
1480
1509
  /**
1481
1510
  * Citation type discriminators grouped by category.
1482
1511
  */
1483
- type FullCitationType = "case" | "docket" | "statute" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "stateRule" | "restatement" | "treatise" | "annotation";
1512
+ type FullCitationType = "case" | "docket" | "statute" | "regulation" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "stateRule" | "restatement" | "treatise" | "annotation";
1484
1513
  type ShortFormCitationType = "id" | "supra" | "shortFormCase";
1485
1514
  /**
1486
1515
  * Union of all full citation types (not short-form references).
1487
1516
  */
1488
- type FullCitation = FullCaseCitation | SessionLawCitation | TreatyCitation | LegislativeMaterialCitation | LocalOrdinanceCitation | CanonCitation | DocketCitation | StatuteCitation | JournalCitation | NeutralCitation | PublicLawCitation | FederalRegisterCitation | StatutesAtLargeCitation | ConstitutionalCitation | FederalRuleCitation | StateRuleCitation | RestatementCitation | TreatiseCitation | AnnotationCitation;
1517
+ type FullCitation = FullCaseCitation | SessionLawCitation | TreatyCitation | LegislativeMaterialCitation | LocalOrdinanceCitation | CanonCitation | DocketCitation | StatuteCitation | RegulationCitation | JournalCitation | NeutralCitation | PublicLawCitation | FederalRegisterCitation | StatutesAtLargeCitation | ConstitutionalCitation | FederalRuleCitation | StateRuleCitation | RestatementCitation | TreatiseCitation | AnnotationCitation;
1489
1518
  /**
1490
1519
  * Union of all short-form citation types (Id., supra, short-form case).
1491
1520
  */
@@ -1508,5 +1537,5 @@ type CitationOfType<T extends CitationType> = Extract<Citation, {
1508
1537
  */
1509
1538
  type ExtractorMap = { [K in FullCitationType]: CitationOfType<K> };
1510
1539
  //#endregion
1511
- export { SubsequentHistoryEntry as A, NeutralComponentSpans as B, RegulationCitation as C, ShortFormCitationType as D, ShortFormCitation as E, CaseComponentSpans as F, TreatiseComponentSpans as G, RestatementComponentSpans as H, ConstitutionalComponentSpans as I, spanFromGroupIndex as J, Span as K, FederalRegisterComponentSpans as L, TreatiseCitation as M, Warning as N, StatuteCitation as O, AnnotationComponentSpans as P, FederalRuleComponentSpans as R, PublicLawCitation as S, ShortFormCaseCitation as T, StatuteComponentSpans as U, PublicLawComponentSpans as V, StatutesAtLargeComponentSpans as W, parsePincite as X, PinciteInfo as Y, IdCitation as _, CitationSignal as a, Parenthetical as b, CourtInference as c, FederalRegisterCitation as d, FederalRuleCitation as f, HistorySignal as g, FullCitationType as h, CitationOfType as i, SupraCitation as j, StatutesAtLargeCitation as k, DocketCitation as l, FullCitation as m, Citation as n, CitationType as o, FullCaseCitation as p, TransformationMap as q, CitationBase as r, ConstitutionalCitation as s, AnnotationCitation as t, ExtractorMap as u, JournalCitation as v, RestatementCitation as w, ParentheticalType as x, NeutralCitation as y, JournalComponentSpans as z };
1512
- //# sourceMappingURL=citation-Dy_8OOzV.d.mts.map
1540
+ export { StatutesAtLargeCitation as A, JournalComponentSpans as B, PublicLawCitation as C, ShortFormCitation as D, ShortFormCaseCitation as E, AnnotationComponentSpans as F, StatutesAtLargeComponentSpans as G, PublicLawComponentSpans as H, CaseComponentSpans as I, TransformationMap as J, TreatiseComponentSpans as K, ConstitutionalComponentSpans as L, SupraCitation as M, TreatiseCitation as N, ShortFormCitationType as O, Warning as P, FederalRegisterComponentSpans as R, ParentheticalType as S, RestatementCitation as T, RestatementComponentSpans as U, NeutralComponentSpans as V, StatuteComponentSpans as W, PinciteInfo as X, spanFromGroupIndex as Y, parsePincite as Z, HistorySignal as _, CitationOfType as a, NeutralCitation as b, ConstitutionalCitation as c, ExtractorMap as d, FederalRegisterCitation as f, FullCitationType as g, FullCitation as h, CitationId as i, SubsequentHistoryEntry as j, StatuteCitation as k, CourtInference as l, FullCaseCitation as m, Citation as n, CitationSignal as o, FederalRuleCitation as p, Span as q, CitationBase as r, CitationType as s, AnnotationCitation as t, DocketCitation as u, IdCitation as v, RegulationCitation as w, Parenthetical as x, JournalCitation as y, FederalRuleComponentSpans as z };
1541
+ //# sourceMappingURL=citation-t5DPIzyE.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citation-t5DPIzyE.d.cts","names":[],"sources":["../src/extract/pincite.ts","../src/extract/dates.ts","../src/clean/segmentMap.ts","../src/types/span.ts","../src/types/componentSpans.ts","../src/types/citation.ts"],"mappings":"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"}