From 520dc29f01c036e87c8a8cfccb9b85351d7afe74 Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Tue, 20 Oct 2026 19:02:29 +0200 Subject: [PATCH 01/24] feat(search): draw an answer's assumptions and post choice options unchanged The Search API now lists each part's assumptions and closes the sentence with an "Assumed: ..." clause in `assumption` tokens. The answer block draws that clause as its own paragraph after the departures, and "About this answer" states each assumption from `part.assumptions` in place of the place-scope and role-scope warnings, so each is said once. A dataset_resubmit identity entry echoes the part's assumptions back unchanged, so an edit keeps the defaults it did not touch. `no_data.options` replaces `no_data.data_query`, and an entity pick posts the matching option's request. `source_code_not_held`, `source_code_ambiguous` and `source_code_shares_variable` get their own messages. --- .../DataSearch/DataSearch.module.scss | 14 +- .../organisms/DataSearch/SearchCards.tsx | 13 +- .../organisms/DataSearch/SearchSentence.tsx | 37 ++++-- .../organisms/DataSearch/WhyPanel.tsx | 5 +- src/lib/search/datasetEntries.ts | 21 ++- src/lib/search/departures.ts | 63 +++++++-- src/lib/search/parsedEdit.ts | 30 ++++- src/lib/search/readings.ts | 14 +- src/lib/search/resultNotes.ts | 22 +-- src/lib/search/sentencePlan.ts | 2 +- src/lib/search/test/datasetEntries.test.ts | 29 ++++ src/lib/search/test/departures.test.ts | 116 ++++++++++++++++ src/lib/search/test/fixtures.test.ts | 11 +- .../search/test/fixtures/broad-truncated.ts | 41 +++++- .../search/test/fixtures/entity-ambiguous.ts | 73 +++++++--- .../test/fixtures/world-bank-ambiguous.ts | 56 ++++++-- src/lib/search/test/parsedEdit.test.ts | 51 ++++++- src/lib/search/test/readings.test.ts | 31 +++++ src/lib/search/test/resultNotes.test.ts | 31 ++++- src/lib/search/test/why.test.ts | 80 +++++++---- src/lib/search/types.ts | 97 +++++++++++--- src/lib/search/view.ts | 125 +++++++++--------- 22 files changed, 756 insertions(+), 206 deletions(-) diff --git a/src/components/organisms/DataSearch/DataSearch.module.scss b/src/components/organisms/DataSearch/DataSearch.module.scss index d01c7ad..63837b9 100644 --- a/src/components/organisms/DataSearch/DataSearch.module.scss +++ b/src/components/organisms/DataSearch/DataSearch.module.scss @@ -283,10 +283,11 @@ $table-head-cover: rem(48); letter-spacing: -0.01em; } -// The byline (unit and source) and the departures under the heading, in -// small type. +// The byline (unit and source), the departures and the assumptions clause +// under the heading, in small type. .byline, -.departures { +.departures, +.assumptions { @include font-size(15px, 1.3); font-family: var(--font-outfit); @@ -323,6 +324,10 @@ $table-head-cover: rem(48); list-style: none; } +.assumptions { + margin-top: rem(12); +} + .departureAction { padding: 0; font: inherit; @@ -351,7 +356,8 @@ $table-head-cover: rem(48); @media (prefers-reduced-motion: reduce) { .closestLead, .byline, - .departures { + .departures, + .assumptions { animation: none; } } diff --git a/src/components/organisms/DataSearch/SearchCards.tsx b/src/components/organisms/DataSearch/SearchCards.tsx index 14ed80b..7f5e562 100644 --- a/src/components/organisms/DataSearch/SearchCards.tsx +++ b/src/components/organisms/DataSearch/SearchCards.tsx @@ -6,7 +6,7 @@ import classNames from 'classnames'; import styles from './DataSearch.module.scss'; import Button from '@/components/atoms/Button/Button'; -import { buildAmbiguousPickPart, offersAmbiguousPicker } from '@/lib/search/parsedEdit'; +import { ambiguousPickPart, offersAmbiguousPicker } from '@/lib/search/parsedEdit'; import { cardText, coverageSummary, @@ -111,11 +111,10 @@ const SearchCards = ({ if (part?.status === 'no_data') { // The single-part escape hatch for entity_ambiguous picking (see - // module doc). A pick pins the candidate's dcid onto the matching - // restatement entity and posts a parsed entry, a no-op if no entity - // matches. + // module doc). A pick posts the refusal's option for it as a parsed + // entry, or pins the candidate's dcid onto the matching restatement + // entity (ambiguousPickPart), a no-op if no entity matches. if (offersAmbiguousPicker(part) && onEditParsed && partIndex !== undefined) { - const restatement = part.restatement; const groups = part.no_data.ambiguous_entities ?? []; return ( @@ -130,8 +129,8 @@ const SearchCards = ({ className={styles.card} style={{ '--i': index } as React.CSSProperties} onClick={() => { - const edited = buildAmbiguousPickPart( - restatement, + const edited = ambiguousPickPart( + part, group.text, candidate, ); diff --git a/src/components/organisms/DataSearch/SearchSentence.tsx b/src/components/organisms/DataSearch/SearchSentence.tsx index 63f6f62..a271500 100644 --- a/src/components/organisms/DataSearch/SearchSentence.tsx +++ b/src/components/organisms/DataSearch/SearchSentence.tsx @@ -40,6 +40,7 @@ import Button from '@/components/atoms/Button/Button'; import { capitalise } from '@/lib/capitalise'; import { answerDepartures, + assumptionClauses, isClosestMatch, refsStatedBesides, sentenceBlocks, @@ -84,7 +85,7 @@ import { type UnitSwitch, } from '@/lib/search/measureMenu'; import { - buildAmbiguousPickPart, + ambiguousPickPart, offersAmbiguousPicker, resolveTypedEdit, } from '@/lib/search/parsedEdit'; @@ -674,9 +675,11 @@ const lowerFirst = (text: string): string => // The answer block over every part of the resolve response, from the // envelope's own composed `sentence_plan`: a muted "Closest match" lead when // a part shows the nearest measure, the heading tokens inside the page's one -//

, the byline (unit and source) in a

after it, and every part's -// departures as a list, each with the one action it offers. The plan's own -// departure tokens are skipped, since the list reads `parts[].departures`. A +//

, the byline (unit and source) in a

after it, every part's +// departures as a list, each with the one action it offers, and the +// assumptions clause ("Assumed: every provider.") in a closing

. The +// plan's own departure tokens are skipped, since the list reads +// `parts[].departures`. A // part-indexed what/how token routes its menu to that part's own spec; a // part-indexed where/when/source/role token routes to that same part's // slot, window, or provider menu; a shared where/when/source token (part_index @@ -1831,9 +1834,10 @@ export const SearchSentenceHeading = ({ ); } - // An entity_ambiguous pick pins the candidate's dcid onto the - // restatement entity whose text is the picked wording and posts - // a parsed entry, a no-op if no entity carries that text. + // An entity_ambiguous pick posts the refusal's option for it as + // a parsed entry, or pins the candidate's dcid onto the + // restatement entity whose text is the picked wording + // (ambiguousPickPart), a no-op if no entity carries that text. // Reachable only when the response carried ambiguous_entities // and a restatement to edit from. A wording the plan carries as // its own slot token opens a menu of the nodes it could name; a @@ -1841,9 +1845,8 @@ export const SearchSentenceHeading = ({ // wording on its what-token. if (wirePart.status === 'no_data' && offersAmbiguousPicker(wirePart)) { const groups = wirePart.no_data.ambiguous_entities; - const restatement = wirePart.restatement; const pick = (group: AmbiguousEntityGroup, candidate: AmbiguousEntityCandidate) => { - const edited = buildAmbiguousPickPart(restatement, group.text, candidate); + const edited = ambiguousPickPart(wirePart, group.text, candidate); if (edited) onEditParsed(partIndex, edited); }; @@ -1981,6 +1984,10 @@ export const SearchSentenceHeading = ({ // Before the response lands the block is the

alone. const answerParts = response ? parts : []; + const clauses = assumptionClauses( + rawPlan, + parts.map((part) => part.variableText ?? null), + ); // A candidates part's lead sits above its reading cards instead. const closestParts = answerParts.filter( (part) => part.part?.status !== 'candidates' && isClosestMatch(part.part), @@ -2101,6 +2108,17 @@ export const SearchSentenceHeading = ({

{bylineNodes.length > 0 &&

{bylineNodes}

} {departureItems.length > 0 && } + {clauses.length > 0 && ( +

+ {clauses.map(({ key, prefix, text }) => ( + + {key > 0 && ' '} + {prefix && `${prefix}: `} + {text} + + ))} +

+ )} ); }; @@ -2363,6 +2381,7 @@ export const SearchSentenceBody = ({ variableText: part.variableText, spec: part.hydratedSpec, warnings: part.part?.warnings, + assumptions: part.part?.assumptions, })); return ( diff --git a/src/components/organisms/DataSearch/WhyPanel.tsx b/src/components/organisms/DataSearch/WhyPanel.tsx index 5079306..51b9691 100644 --- a/src/components/organisms/DataSearch/WhyPanel.tsx +++ b/src/components/organisms/DataSearch/WhyPanel.tsx @@ -10,7 +10,7 @@ import Button from '@/components/atoms/Button/Button'; import Icon from '@/components/atoms/Icon/Icon'; import SourceLink from '@/components/atoms/SourceLink/SourceLink'; import { aboutAnswerNotes, type AboutAnswerNotes } from '@/lib/search/resultNotes'; -import type { Warning } from '@/lib/search/types'; +import type { Assumption, Warning } from '@/lib/search/types'; import { buildWhySummary, formatCount, @@ -151,6 +151,7 @@ export type AboutPart = { variableText: string | null; spec: Parameters[0]; warnings?: Warning[]; + assumptions?: Assumption[]; }; const AboutSection = ({ @@ -243,7 +244,7 @@ const AboutPartSection = ({ { warnings: part.warnings ?? [], variable_text: part.variableText }, members, )} - notes={aboutAnswerNotes(part.spec, part.warnings, optionsBySpec)} + notes={aboutAnswerNotes(part.spec, part.warnings, optionsBySpec, part.assumptions)} /> ); }; diff --git a/src/lib/search/datasetEntries.ts b/src/lib/search/datasetEntries.ts index a6215cb..de6c7b1 100644 --- a/src/lib/search/datasetEntries.ts +++ b/src/lib/search/datasetEntries.ts @@ -12,7 +12,9 @@ * preserving posted candidate order. A no_data/unsupported part becomes a * `placeholder` entry, holding its position without asking the engine to * re-derive anything. Every entry, overrides included, carries its part's - * `operations`, so an edit keeps what the question asked of the data. + * `operations`, so an edit keeps what the question asked of the data, and + * every identity entry carries its part's `assumptions` as the response gave + * them, so an edit that leaves a declared default's slot alone keeps it. */ import type { @@ -195,13 +197,24 @@ function withOperations(entry: DatasetResubmitEntry, part: HydratedPart): Datase return { ...entry, operations }; } +/** An identity `entry` with its part's assumptions echoed, unchanged. The + * engine decides which still hold after the edit. Every other entry kind, + * and a part with none, leaves the entry as it is. */ +function withAssumptions(entry: DatasetResubmitEntry, part: HydratedPart): DatasetResubmitEntry { + const assumptions = part.part?.assumptions; + + if (entry.entry_kind !== 'identity' || !assumptions?.length) return entry; + return { ...entry, assumptions }; +} + /** * Build the `entries` list for a `dataset_resubmit` post from the run's * current `parts`, in part order. With no override, every entry reflects * each part's own current content untouched: the shape a fresh post between * edits would carry. See `DatasetEntriesOverride` for what an edit changes; - * pass an array to apply more than one, in order. Operations attach after - * the overrides, so an edited entry keeps its part's operations too. + * pass an array to apply more than one, in order. Operations and + * assumptions attach after the overrides, so an edited entry keeps its + * part's too. */ export function buildDatasetEntries( parts: HydratedPart[], @@ -213,5 +226,5 @@ export function buildDatasetEntries( parts.map(entryForPart), ); - return entries.map((entry, i) => withOperations(entry, parts[i])); + return entries.map((entry, i) => withAssumptions(withOperations(entry, parts[i]), parts[i])); } diff --git a/src/lib/search/departures.ts b/src/lib/search/departures.ts index 7fc5967..359717c 100644 --- a/src/lib/search/departures.ts +++ b/src/lib/search/departures.ts @@ -1,26 +1,26 @@ -/** Pure logic behind the answer block: the heading and byline blocks of a - * sentence plan and the departures under them with the action each offers. - * No React. */ +/** Pure logic behind the answer block: the heading, byline and assumptions + * blocks of a sentence plan and the departures under them with the action + * each offers. No React. */ import { offersStudioCallout } from './resultNotes.ts'; import { tokenPart } from './sentencePlan.ts'; -import type { Departure, Part, SentenceToken } from './types.ts'; +import type { Departure, Part, SentenceSegment, SentenceToken } from './types.ts'; export type SentenceBlock = { - segment: 'heading' | 'byline'; + segment: Exclude; tokens: SentenceToken[]; }; const isSpacing = (token: SentenceToken) => token.kind === 'text' && token.text.trim() === ''; -/** The plan's heading and byline as blocks, in plan order: each run of - * consecutive tokens in one segment is one block. Departure tokens are - * left out, since the departure list draws from `parts[].departures`, so - * heading runs a departure separated join into one block. A block's - * leading and trailing whitespace-only text tokens are the space between - * blocks and are dropped; a block left empty is dropped too. A plan of - * several separate sentences (one per part) reads heading, byline, - * heading, byline. */ +/** The plan's heading, byline and assumptions clause as blocks, in plan + * order: each run of consecutive tokens in one segment is one block. + * Departure tokens are left out, since the departure list draws from + * `parts[].departures`, so heading runs a departure separated join into + * one block. A block's leading and trailing whitespace-only text tokens are + * the space between blocks and are dropped; a block left empty is dropped + * too. A plan of several separate sentences (one per part) reads heading, + * byline, assumption, heading, byline, assumption. */ export function sentenceBlocks(plan: readonly SentenceToken[] | null | undefined): SentenceBlock[] { const blocks: SentenceBlock[] = []; @@ -43,6 +43,41 @@ export function sentenceBlocks(plan: readonly SentenceToken[] | null | undefined .filter((block) => block.tokens.length > 0); } +/** One assumptions clause the answer block draws after the byline and + * departures: "Assumed: official development assistance; every provider." */ +export type AssumptionClause = { + key: number; + /** the part's variable text, set only when the plan holds a clause per + * part */ + prefix: string | null; + text: string; +}; + +/** The plan's assumptions clauses as text, in plan order: the one clause + * of a joined sentence, or each part's own clause in a plan written part + * by part, where each carries its part's variable text (`variableTexts`, + * by part index) as `prefix`, as a per-part byline does. Empty when the + * answer assumed nothing. */ +export function assumptionClauses( + plan: readonly SentenceToken[] | null | undefined, + variableTexts: readonly (string | null)[], +): AssumptionClause[] { + const clauses = sentenceBlocks(plan).filter((block) => block.segment === 'assumption'); + const partCount = variableTexts.length; + + return clauses.map((block, key) => { + const owner = block.tokens + .map((token) => tokenPart(token, partCount)) + .find((partIndex) => partIndex != null); + + return { + key, + prefix: clauses.length > 1 && owner != null ? (variableTexts[owner] ?? null) : null, + text: block.tokens.map((token) => token.text).join(''), + }; + }); +} + /** What a departure's one action does: open the menu of the visible token * that states `bindingRef` on part `partIndex`, open Refine at the * binding no token states, or hand the part to Studio. */ @@ -74,7 +109,7 @@ const isVisibleSlotOf = ( return ( token.kind === 'slot' && - token.segment !== 'departure' && + (token.segment === 'heading' || token.segment === 'byline') && token.text.trim() !== '' && (owner === partIndex || owner === null) ); diff --git a/src/lib/search/parsedEdit.ts b/src/lib/search/parsedEdit.ts index 9c74241..4d72f3d 100644 --- a/src/lib/search/parsedEdit.ts +++ b/src/lib/search/parsedEdit.ts @@ -1,7 +1,8 @@ /** Pure logic behind the parsed dataset_resubmit entry. A typed phrase edit * rewrites one restatement field chosen from the token's axis/role (how has - * none, falling back to raw-text refineAt). An entity_ambiguous pick - * rewrites the restatement entity whose text matches the picked group. + * none, falling back to raw-text refineAt). An entity_ambiguous pick posts + * the refusal's own option for the pick (ambiguousPickPart), or rewrites + * the restatement entity whose text matches the picked group. * canPinEntityDcid gates a pinned dcid to only when the response itself * carried ambiguous_entities, never invented from a candidate in hand some * other way. */ @@ -131,6 +132,31 @@ export function offersAmbiguousPicker(part: unknown): part is AmbiguousPickerPar ); } +/** The part an entity_ambiguous pick posts. It is the one-part request of + * the refusal's option (`no_data.options`) that pins `candidate` on the + * wording `groupText`, unchanged, when exactly one option does: that + * request also pins every entity that resolved to one node. Otherwise, + * as for an option asking for a group's members, which pins no dcid, it is + * the restatement with the pick pinned (buildAmbiguousPickPart). */ +export function ambiguousPickPart( + part: { no_data: NoData; restatement: ParsedPart }, + groupText: string, + candidate: AmbiguousEntityCandidate, +): ParsedPart | null { + const pinned = (part.no_data.options ?? []).flatMap((option) => { + const [posted] = option.data_query.parts; + const pins = (posted?.entities ?? []).some( + (entity) => entity.text === groupText && entity.dcid === candidate.ref, + ); + + return option.mentions.includes(groupText) && pins && posted ? [posted] : []; + }); + + return pinned.length === 1 + ? pinned[0] + : buildAmbiguousPickPart(part.restatement, groupText, candidate); +} + /** Rewrites the restatement entity whose text equals groupText to the * candidate's label, pinned with its dcid. Returns null when no entity * matches (the invariant broken), which the caller must treat as a no-op diff --git a/src/lib/search/readings.ts b/src/lib/search/readings.ts index da9dd16..836c249 100644 --- a/src/lib/search/readings.ts +++ b/src/lib/search/readings.ts @@ -54,10 +54,11 @@ export function readingOf(spec: { sentence_plan?: SentenceToken[] | null }): Rea } /** A candidates part's summary plan read as one line, for screen readers: - * "2 readings." and each reading's heading and byline. */ + * "2 readings." and each reading's heading and byline. Its departures and + * assumptions clause are left out, since the answer block states them. */ export function readingsSummary(plan: readonly SentenceToken[] | null | undefined): string { return (plan ?? []) - .filter((token) => token.segment !== 'departure') + .filter((token) => token.segment === 'heading' || token.segment === 'byline') .map((token) => token.text) .join('') .trim(); @@ -68,8 +69,9 @@ export function readingsSummary(plan: readonly SentenceToken[] | null | undefine * token, at the place of that part's first token: a what-token whose text * is the part's variable text ("debt flows to Ghana"), or the summary's own * heading when the part has none. The heading draws it as a marked phrase - * and the reading cards below carry the choice. Returns `plan` itself when - * no part is a candidates part. + * and the reading cards below carry the choice. The part's assumption + * tokens stay as they are, since the clause states what every reading + * assumed alike. Returns `plan` itself when no part is a candidates part. */ export function foldReadings( plan: readonly SentenceToken[], @@ -86,7 +88,9 @@ export function foldReadings( return plan.flatMap((token): SentenceToken[] => { const partIndex = tokenPart(token, partCount); - if (partIndex == null || !isReadings(partIndex)) return [token]; + if (partIndex == null || !isReadings(partIndex) || token.segment === 'assumption') { + return [token]; + } if (folded.has(partIndex)) return []; folded.add(partIndex); diff --git a/src/lib/search/resultNotes.ts b/src/lib/search/resultNotes.ts index 597512c..7fc7fcb 100644 --- a/src/lib/search/resultNotes.ts +++ b/src/lib/search/resultNotes.ts @@ -16,7 +16,7 @@ import { seriesPreviewCaptions, type SlotOptionsEntry, } from './view.ts'; -import type { Warning } from './types.ts'; +import type { Assumption, Warning } from './types.ts'; const andList = (labels: string[]): string => new Intl.ListFormat('en-GB', { type: 'conjunction' }).format(labels); @@ -45,12 +45,11 @@ export const CAPTION_WARNING_CODES: ReadonlySet = new Set([ /** Codes the download panel explains: what a download will hold. */ export const DOWNLOAD_WARNING_CODES: ReadonlySet = new Set(['membership_unverified']); -/** Codes the "About this answer" panel explains: the scopes the question - * left open (read through view.ts's scopeAssumptions), and UN reads that - * failed. */ +/** Codes the "About this answer" panel explains: a year the question left + * open (read through view.ts's scopeAssumptions), and UN reads that failed. + * The place, role and slot defaults it states come from the part's + * `assumptions`. */ export const ABOUT_WARNING_CODES: ReadonlySet = new Set([ - 'place_scope_defaulted', - 'role_scope_defaulted', 'time_window_defaulted', 'un_system_unavailable', ]); @@ -162,8 +161,8 @@ export type AboutAnswerNotes = { /** the coverage sentence ("2024 is the latest year with data, with 152 * values…"), null without a headline */ coverage: string | null; - /** what the answer assumed, one sentence per scope the question left - * open */ + /** what the answer assumed, one sentence per item of the part's + * `assumptions`, then the year when the question named none */ assumptions: string[]; /** one line per varying fact the measure menu cannot offer */ variance: string[]; @@ -171,18 +170,19 @@ export type AboutAnswerNotes = { unavailable: string[]; }; -/** The notes "About this answer" shows for one definite part. It reads - * only the warnings `ABOUT_WARNING_CODES` names. */ +/** The notes "About this answer" shows for one definite part: its + * `assumptions` and the warnings `ABOUT_WARNING_CODES` names, no other. */ export function aboutAnswerNotes( spec: MeasureMenuSpec, warnings: readonly Warning[] | null | undefined, optionsBySpec: Record>, + assumptions?: readonly Assumption[] | null, ): AboutAnswerNotes { const about = (warnings ?? []).filter((warning) => ABOUT_WARNING_CODES.has(warning.code)); return { coverage: coverageSentence(spec), - assumptions: scopeAssumptions(spec, about), + assumptions: scopeAssumptions(spec, assumptions, about), variance: measureVarianceNotes(spec, optionsBySpec), unavailable: unSystemFailedReads(about), }; diff --git a/src/lib/search/sentencePlan.ts b/src/lib/search/sentencePlan.ts index c96a486..4d543c5 100644 --- a/src/lib/search/sentencePlan.ts +++ b/src/lib/search/sentencePlan.ts @@ -52,7 +52,7 @@ export function earlySentenceTokens( /** The heading a plan reads as: its heading tokens joined verbatim, since * the engine's tokens carry their own spacing, and trimmed. The byline - * (unit and source) and departure tokens are left out. Empty for a + * (unit and source), departure and assumption tokens are left out. Empty for a * missing plan. */ export function planSentenceText(plan: readonly SentenceToken[] | null | undefined): string { return (plan ?? []) diff --git a/src/lib/search/test/datasetEntries.test.ts b/src/lib/search/test/datasetEntries.test.ts index 0d1bc02..819540b 100644 --- a/src/lib/search/test/datasetEntries.test.ts +++ b/src/lib/search/test/datasetEntries.test.ts @@ -102,6 +102,35 @@ test("buildDatasetEntries carries a part's operations on an edit's override entr assert.deepEqual((entry as DatasetIdentityEntry).operations, parts[0].part?.operations); }); +test("buildDatasetEntries echoes a part's assumptions on its identity entry, an edit's included", () => { + const parts = hydratedParts('broad-truncated'); + const assumptions = parts[0].part?.assumptions; + const [own] = buildDatasetEntries(parts) as DatasetIdentityEntry[]; + const override: DatasetIdentityEntry = { ...own, assumptions: undefined }; + const [edited] = buildDatasetEntries(parts, { index: 0, entry: override }); + + assert.ok(assumptions?.length); + assert.deepEqual(own.assumptions, assumptions); + assert.deepEqual((edited as DatasetIdentityEntry).assumptions, assumptions); +}); + +test('buildDatasetEntries leaves assumptions off a part with none and off every other entry kind', () => { + const [definite] = buildDatasetEntries(hydratedParts('definite-single')); + const [candidates] = hydratedParts('multi-candidate'); + const assumed: HydratedPart = { + ...candidates, + part: { + ...candidates.part!, + assumptions: [ + { kind: 'place_scope', binding_ref: 'where:', refs: [], text: 'every place' }, + ], + }, + }; + + assert.equal('assumptions' in definite, false); + assert.equal('assumptions' in buildDatasetEntries([assumed])[0], false); +}); + test('buildDatasetEntries leaves operations off a part that has none', () => { const [entry] = buildDatasetEntries(hydratedParts('definite-single')); diff --git a/src/lib/search/test/departures.test.ts b/src/lib/search/test/departures.test.ts index 076fd4c..995f070 100644 --- a/src/lib/search/test/departures.test.ts +++ b/src/lib/search/test/departures.test.ts @@ -3,6 +3,7 @@ import test from 'node:test'; import { answerDepartures, + assumptionClauses, departureAction, isClosestMatch, refsStatedBesides, @@ -10,6 +11,8 @@ import { statingTokenIndex, } from '../departures.ts'; import { normalizeResponse } from '../searchClient.ts'; +import { planSentenceText } from '../sentencePlan.ts'; +import { fixtures } from './fixtures/index.ts'; import { noDataResponse, wireSpec } from './fixtures/no-data.ts'; import { servedAnswer } from './fixtures/served-answer.ts'; import { servedAid } from './fixtures/served-options.ts'; @@ -63,6 +66,119 @@ test('sentenceBlocks joins heading runs a departure separated -- a no_data part assert.deepEqual(sentenceBlocks(null), []); }); +// --------------------------------------------------------------------------- +// The assumptions clause and the mixed-answer opener +// --------------------------------------------------------------------------- + +const token = ( + text: string, + segment: SentenceToken['segment'], + part_index?: number | null, +): SentenceToken => ({ kind: 'text', text, segment, part_index }); + +test('sentenceBlocks closes the plan with the assumptions clause, apart from the heading and byline', () => { + const plan = (fixtures['broad-truncated'] as { sentence_plan: SentenceToken[] }).sentence_plan; + + assert.deepEqual(blockTexts(plan), [ + ['heading', 'Gross ODA disbursements to Kenya from 86 donors, 2015 to 2024.'], + ['byline', 'Current US dollars · OECD Creditor Reporting System (CRS).'], + ['assumption', 'Assumed: every donor.'], + ]); + assert.deepEqual(assumptionClauses(plan, ['ODA']), [ + { key: 0, prefix: null, text: 'Assumed: every donor.' }, + ]); + // The

's accessible name is the heading alone. + assert.equal( + planSentenceText(plan), + 'Gross ODA disbursements to Kenya from 86 donors, 2015 to 2024.', + ); +}); + +test('the clause follows the departures, which the departure list draws', () => { + const plan = [ + token('Aid to Kenya.', 'heading'), + token(' ', 'byline'), + token('OECD.', 'byline'), + token(' The data holds no values for 2024.', 'departure'), + token(' ', 'assumption'), + token('Assumed: ', 'assumption'), + token('official development assistance', 'assumption'), + token('; ', 'assumption'), + token('every provider', 'assumption'), + token('.', 'assumption'), + ]; + + assert.deepEqual( + blockTexts(plan).map(([segment]) => segment), + ['heading', 'byline', 'assumption'], + ); + assert.deepEqual(assumptionClauses(plan, ['aid']), [ + { + key: 0, + prefix: null, + text: 'Assumed: official development assistance; every provider.', + }, + ]); +}); + +test("assumptionClauses names each part's own clause when the plan is written part by part", () => { + const sentence = (partIndex: number, item: string) => [ + token('Aid.', 'heading', partIndex), + token(' ', 'byline', partIndex), + token('OECD.', 'byline', partIndex), + token(' ', 'assumption', partIndex), + token('Assumed: ', 'assumption', partIndex), + token(item, 'assumption', partIndex), + token('.', 'assumption', partIndex), + ]; + const plan = [ + ...sentence(0, 'every provider'), + token(' ', 'heading', null), + ...sentence(1, 'every country'), + ]; + + assert.deepEqual(assumptionClauses(plan, ['aid', 'debt']), [ + { key: 0, prefix: 'aid', text: 'Assumed: every provider.' }, + { key: 1, prefix: 'debt', text: 'Assumed: every country.' }, + ]); + // One joined clause over two parts, an item two parts share unowned, takes no prefix. + const joined = [ + token('Aid and debt.', 'heading', null), + token(' ', 'assumption', null), + token('Assumed: ', 'assumption', null), + token('every provider', 'assumption', 0), + token('; ', 'assumption', null), + token('every country', 'assumption', null), + token('.', 'assumption', null), + ]; + + assert.deepEqual(assumptionClauses(joined, ['aid', 'debt']), [ + { key: 0, prefix: null, text: 'Assumed: every provider; every country.' }, + ]); + assert.deepEqual(assumptionClauses(null, []), []); +}); + +test("a mixed answer's opener reads as plain heading text before the first part's heading", () => { + const plan = [ + token('Answered 1 of 2 parts.', 'heading', null), + token(' ', 'heading', null), + { kind: 'slot', text: 'Aid to Kenya', axis: 'what', segment: 'heading', part_index: 0 }, + token('.', 'heading', 0), + token(' ', 'byline', 0), + token('OECD.', 'byline', 0), + ] satisfies SentenceToken[]; + const [heading] = sentenceBlocks(plan); + + assert.deepEqual( + heading.tokens.slice(0, 2).map(({ kind, text }) => [kind, text]), + [ + ['text', 'Answered 1 of 2 parts.'], + ['text', ' '], + ], + ); + assert.equal(planSentenceText(plan), 'Answered 1 of 2 parts. Aid to Kenya.'); +}); + // --------------------------------------------------------------------------- // departureAction and answerDepartures // --------------------------------------------------------------------------- diff --git a/src/lib/search/test/fixtures.test.ts b/src/lib/search/test/fixtures.test.ts index 9889a44..8e2a1f2 100644 --- a/src/lib/search/test/fixtures.test.ts +++ b/src/lib/search/test/fixtures.test.ts @@ -191,15 +191,20 @@ test('definite-rank-operation: the definite part keeps its rank operation and fl assert.ok(part.spec.identity, 'flattenSpec keeps the definition identity'); }); -test('entity-ambiguous: operations default to empty and data_query rides through', () => { +test('entity-ambiguous: operations default to empty and each option rides through', () => { const normalized = normalizeResponse(fixtures['entity-ambiguous']); const [part] = normalized.parts; assert.deepEqual(part.operations, []); assert.equal(part.no_data.reason, 'entity_ambiguous'); assert.deepEqual( - part.no_data.data_query.parts[0].entities.map((entity: any) => entity.dcid ?? null), - [null, 'country/FRA'], + part.no_data.options.map((option: any) => + option.data_query.parts[0].entities.map((entity: any) => entity.dcid ?? null), + ), + [ + ['country/COD', 'country/FRA'], + ['country/COG', 'country/FRA'], + ], ); assert.deepEqual( part.no_data.ambiguous_entities[0].candidates.map((candidate: any) => candidate.ref), diff --git a/src/lib/search/test/fixtures/broad-truncated.ts b/src/lib/search/test/fixtures/broad-truncated.ts index eefc3a1..af23d4c 100644 --- a/src/lib/search/test/fixtures/broad-truncated.ts +++ b/src/lib/search/test/fixtures/broad-truncated.ts @@ -6,6 +6,9 @@ * A single-part `definite` answer over a broad StatVar set: it serves all * 1106 members (`served_count: 1106`). The part carries the * `role_scope_defaulted` and `observations_series_truncated` warnings. + * Its open provider role, the one assumption, was added to the part's + * `assumptions` and as the envelope sentence's closing clause (" Assumed: + * every donor."), in the shape dfo-apis' render/assumptions.py writes. * * Trimmed for size; each body still validates against the API's models * (scripts/check-search-fixtures.mts). `slot_values` and @@ -89,6 +92,14 @@ export const broadTruncated: unknown = { }, "operations": [], "departures": [], + "assumptions": [ + { + "kind": "open_role", + "binding_ref": "origin:", + "refs": [], + "text": "every donor" + } + ], "status": "definite", "spec": { "spec_id": "spec_7c8a3bcf9c627393f5b9c2177d96174f", @@ -4020,7 +4031,7 @@ export const broadTruncated: unknown = { } } ], - "rendered_sentence": "Gross ODA disbursements to Kenya from 86 donors, 2015 to 2024. Current US dollars · OECD Creditor Reporting System (CRS).", + "rendered_sentence": "Gross ODA disbursements to Kenya from 86 donors, 2015 to 2024. Current US dollars · OECD Creditor Reporting System (CRS). Assumed: every donor.", "sentence_plan": [ { "kind": "slot", @@ -4209,6 +4220,34 @@ export const broadTruncated: unknown = { "segment": "byline", "entity_refs": [], "states": [] + }, + { + "kind": "text", + "text": " ", + "segment": "assumption", + "entity_refs": [], + "states": [] + }, + { + "kind": "text", + "text": "Assumed: ", + "segment": "assumption", + "entity_refs": [], + "states": [] + }, + { + "kind": "text", + "text": "every donor", + "segment": "assumption", + "entity_refs": [], + "states": [] + }, + { + "kind": "text", + "text": ".", + "segment": "assumption", + "entity_refs": [], + "states": [] } ], "status": "definite" diff --git a/src/lib/search/test/fixtures/entity-ambiguous.ts b/src/lib/search/test/fixtures/entity-ambiguous.ts index 88ad2ba..45511d4 100644 --- a/src/lib/search/test/fixtures/entity-ambiguous.ts +++ b/src/lib/search/test/fixtures/entity-ambiguous.ts @@ -4,8 +4,8 @@ * one `no_data` part with reason `entity_ambiguous`. * * "Congo" names both the Democratic Republic of the Congo and the Republic - * of the Congo. `no_data.data_query` is the part's parsed form with France - * pinned and Congo's dcid left empty, ready for a pick to fill. The part + * of the Congo. `no_data.options` holds one ready request per candidate: the + * part's parsed form with France pinned and Congo pinned to that candidate. The part * omits `operations`, which the wire allows, so normalization must default * it to empty. */ @@ -69,27 +69,62 @@ export const entityAmbiguous: unknown = { ] } ], - "data_query": { - "kind": "parsed", - "parts": [ - { - "variable_text": "ODA", - "entities": [ + "options": [ + { + "mentions": [ + "Congo" + ], + "label": "Congo [DRC]", + "data_query": { + "kind": "parsed", + "parts": [ { - "text": "Congo", - "role_text": "to" - }, + "variable_text": "ODA", + "entities": [ + { + "text": "Congo", + "role_text": "to", + "dcid": "country/COD" + }, + { + "text": "France", + "role_text": "from", + "dcid": "country/FRA" + } + ], + "time_text": "2022" + } + ] + } + }, + { + "mentions": [ + "Congo" + ], + "label": "Congo [Republic]", + "data_query": { + "kind": "parsed", + "parts": [ { - "text": "France", - "role_text": "from", - "dcid": "country/FRA" + "variable_text": "ODA", + "entities": [ + { + "text": "Congo", + "role_text": "to", + "dcid": "country/COG" + }, + { + "text": "France", + "role_text": "from", + "dcid": "country/FRA" + } + ], + "time_text": "2022" } - ], - "time_text": "2022" + ] } - ], - "raw_query": "ODA to Congo from France in 2022" - }, + } + ], "unbound_qualifiers": [], "nearest_real": null, "flagged_match": null diff --git a/src/lib/search/test/fixtures/world-bank-ambiguous.ts b/src/lib/search/test/fixtures/world-bank-ambiguous.ts index 830dffe..71cfaf4 100644 --- a/src/lib/search/test/fixtures/world-bank-ambiguous.ts +++ b/src/lib/search/test/fixtures/world-bank-ambiguous.ts @@ -87,22 +87,52 @@ export const worldBankAmbiguous: unknown = { } ], "unbound_qualifiers": [], - "data_query": { - "kind": "parsed", - "parts": [ - { - "variable_text": "ODA", - "entities": [ + "options": [ + { + "mentions": [ + "World Bank" + ], + "label": "International Bank for Reconstruction and Development", + "data_query": { + "kind": "parsed", + "parts": [ { - "text": "World Bank", - "role_text": "from" + "variable_text": "ODA", + "entities": [ + { + "text": "World Bank", + "role_text": "from", + "dcid": "InternationalBankForReconstructionAndDevelopment" + } + ], + "operations": [] } - ], - "operations": [] + ] } - ], - "raw_query": "ODA from the World Bank" - } + }, + { + "mentions": [ + "World Bank" + ], + "label": "International Development Association", + "data_query": { + "kind": "parsed", + "parts": [ + { + "variable_text": "ODA", + "entities": [ + { + "text": "World Bank", + "role_text": "from", + "dcid": "InternationalDevelopmentAssociation" + } + ], + "operations": [] + } + ] + } + } + ] } } ], diff --git a/src/lib/search/test/parsedEdit.test.ts b/src/lib/search/test/parsedEdit.test.ts index ad81df7..533c308 100644 --- a/src/lib/search/test/parsedEdit.test.ts +++ b/src/lib/search/test/parsedEdit.test.ts @@ -2,6 +2,7 @@ import assert from 'node:assert/strict'; import test from 'node:test'; import { + ambiguousPickPart, applyRestatementEdit, buildAmbiguousPickPart, canPinEntityDcid, @@ -15,7 +16,9 @@ import { odaToCongoNoData, odaToCongoRestatement, } from './fixtures/ambiguous-congo.ts'; -import type { ParsedPart, RoleAxis, SlotAxis } from '../types.ts'; +import { normalizeResponse } from '../searchClient.ts'; +import { fixtures } from './fixtures/index.ts'; +import type { NoData, ParsedPart, RoleAxis, SlotAxis } from '../types.ts'; // --------------------------------------------------------------------------- // restatementTargetForToken / applyRestatementEdit: one restatement field per @@ -216,6 +219,52 @@ test('canPinEntityDcid is false with no ambiguous_entities, absent or empty', () // generic Studio hand-off panel // --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// ambiguousPickPart: the refusal's own option for a pick +// --------------------------------------------------------------------------- + +const congoPart = () => { + const [part] = normalizeResponse(fixtures['entity-ambiguous']).parts; + + return part as { no_data: NoData; restatement: ParsedPart }; +}; + +test("ambiguousPickPart posts the option's request unchanged, the resolved entity pinned too", () => { + const part = congoPart(); + const [group] = part.no_data.ambiguous_entities!; + const [, republic] = group.candidates; + + assert.equal( + ambiguousPickPart(part, 'Congo', republic), + part.no_data.options![1].data_query.parts[0], + ); + assert.deepEqual( + ambiguousPickPart(part, 'Congo', republic)?.entities?.map((entity) => entity.dcid), + ['country/COG', 'country/FRA'], + ); +}); + +test('ambiguousPickPart pins the restatement when no one option pins the candidate', () => { + const part = congoPart(); + const [drc] = part.no_data.ambiguous_entities![0].candidates; + const fallback = buildAmbiguousPickPart(part.restatement, 'Congo', drc); + // A members option names the group with no dcid, so it pins nothing to match. + const members = part.no_data.options!.map((option) => ({ + ...option, + data_query: { + ...option.data_query, + parts: [{ ...option.data_query.parts[0], entities: [{ text: 'Congo basin' }] }], + }, + })); + + for (const options of [undefined, [], members]) { + assert.deepEqual( + ambiguousPickPart({ ...part, no_data: { ...part.no_data, options } }, 'Congo', drc), + fallback, + ); + } +}); + test('offersAmbiguousPicker is true for the real ODA-to-Congo capture (restatement present)', () => { assert.equal( offersAmbiguousPicker({ diff --git a/src/lib/search/test/readings.test.ts b/src/lib/search/test/readings.test.ts index 663aaf3..0917a7e 100644 --- a/src/lib/search/test/readings.test.ts +++ b/src/lib/search/test/readings.test.ts @@ -128,6 +128,37 @@ test('foldReadings falls back to the summary heading and leaves other parts and ); }); +test("foldReadings keeps a candidates part's assumptions clause, and readingsSummary leaves it to the answer block", () => { + const clause = (text: string): SentenceToken => ({ + kind: 'text', + text, + segment: 'assumption', + part_index: 0, + }); + const plan = [ + ...summaryPlan(0), + clause(' '), + clause('Assumed: '), + clause('every provider'), + clause('.'), + ]; + const folded = foldReadings(plan, [ + { status: 'candidates', variable_text: 'poverty reduction grants' }, + ]); + + assert.deepEqual( + folded.map((token) => [token.segment, token.text]), + [ + ['heading', 'poverty reduction grants'], + ['assumption', ' '], + ['assumption', 'Assumed: '], + ['assumption', 'every provider'], + ['assumption', '.'], + ], + ); + assert.equal(readingsSummary(plan), readingsSummary(summaryPlan(0))); +}); + test('foldReadings returns the plan itself when no part is a candidates part', () => { const plan = [heading('Aid to Kenya.', 0)]; diff --git a/src/lib/search/test/resultNotes.test.ts b/src/lib/search/test/resultNotes.test.ts index 2d438a1..92c620b 100644 --- a/src/lib/search/test/resultNotes.test.ts +++ b/src/lib/search/test/resultNotes.test.ts @@ -21,7 +21,7 @@ import { odaToCongoNoData, odaToCongoRestatement, } from './fixtures/ambiguous-congo.ts'; -import type { Warning } from '../types.ts'; +import type { Assumption, Warning } from '../types.ts'; // --------------------------------------------------------------------------- // The warning lines the page draws, by place @@ -74,6 +74,18 @@ const humanitarianWarnings: Warning[] = [ }, ]; +// The part's assumptions on the same answer: the recipient role it left open, +// and the flow type its code system's default filled. +const humanitarianAssumptions: Assumption[] = [ + { + kind: 'declared_default', + binding_ref: 'how:crsTypeOfFlow', + refs: ['CRSTypeOfFlow10'], + text: 'official development assistance', + }, + { kind: 'open_role', binding_ref: 'destination:', refs: [], text: 'every recipient' }, +]; + // dfo-apis src/search/engine/region/un_system.py un_unavailable_warning, for // a record holding one refused place and one failed read of two variables, // with each variable's label in `variable_labels`. @@ -91,11 +103,21 @@ const unSystemWarning = (variableLabels: string[]): Warning => ({ }); test('aboutAnswerNotes holds the coverage sentence and assumptions -- humanitarian aid from Germany', () => { - assert.deepEqual(aboutAnswerNotes(humanitarianSpec, humanitarianWarnings, {}), { + const spec = { + ...humanitarianSpec, + resolution: { + slot_filters: [ + { key: { axis: 'how', property: { ref: 'crsTypeOfFlow' }, label: 'Type of flow' } }, + ], + }, + }; + + assert.deepEqual(aboutAnswerNotes(spec, humanitarianWarnings, {}, humanitarianAssumptions), { coverage: '2024 is the latest year with data, with 155 values for 61 of the 145 recipients that have data from Germany.', assumptions: [ - 'No recipient was named, so every recipient with data from Germany is included.', + 'No type of flow was named, so the answer uses official development assistance, the default for this measure.', + 'The question left this role open, so the answer covers every recipient from Germany.', 'No year was named, so the counts are for 2024, the latest year with data.', ], variance: [], @@ -211,6 +233,9 @@ test('no warning a part states as a departure, or the API keeps internal, reache 'currency_unmapped_omitted', 'withheld_by_registry', 'slot_defaulted', + // The part's assumptions state these scopes, so the warnings add no line. + 'place_scope_defaulted', + 'role_scope_defaulted', 'family_total_absent', 'date_coverage_partial', ]; diff --git a/src/lib/search/test/why.test.ts b/src/lib/search/test/why.test.ts index e985fd1..c227cf2 100644 --- a/src/lib/search/test/why.test.ts +++ b/src/lib/search/test/why.test.ts @@ -1,7 +1,7 @@ import assert from 'node:assert/strict'; import test from 'node:test'; -import type { Warning } from '../types.ts'; +import type { Assumption, Warning } from '../types.ts'; import { buildWhySummary, scopeAssumptions } from '../view.ts'; // Trimmed from dev API answers: inflation in Pakistan (one variable) and ODA @@ -64,6 +64,21 @@ const odaWarnings: Warning[] = [ }, ]; +// The assumption the ODA answer carries for the recipient role it left open. +const openRecipients: Assumption = { + kind: 'open_role', + binding_ref: 'destination:', + refs: [], + text: 'every recipient', +}; + +const placeScope = (text: string): Assumption => ({ + kind: 'place_scope', + binding_ref: 'where:', + refs: [], + text, +}); + test('one variable: the Measure row carries its code and no Variables group appears', () => { const part = { warnings: [], variable_text: 'inflation' }; const summary = buildWhySummary(inflation, part, inflationMembers); @@ -79,7 +94,7 @@ test('one variable: the Measure row carries its code and no Variables group appe { label: 'Place', value: 'Pakistan' }, ]); assert.equal(summary.variables, null); - assert.deepEqual(scopeAssumptions(inflation, []), []); + assert.deepEqual(scopeAssumptions(inflation, [], []), []); // Until the members door answers, the row names the measure without a code. assert.deepEqual(buildWhySummary(inflation, part).rows[0], { label: 'Measure', @@ -99,8 +114,8 @@ test('many variables: rows name the role scope and the list reads the members do { label: 'Recipients', value: 'All 191 with data' }, ]); // No time_window_defaulted on the wire: the headline's year_named says it. - assert.deepEqual(scopeAssumptions(oda, odaWarnings), [ - 'No recipient was named, so every recipient with data from Germany is included.', + assert.deepEqual(scopeAssumptions(oda, [openRecipients], odaWarnings), [ + 'The question left this role open, so the answer covers every recipient from Germany.', 'No year was named, so the counts are for 2024, the latest year with data.', ]); assert.equal(summary.variables?.count, 1626); @@ -337,8 +352,15 @@ test('one variable of a larger family: laid out as one variable, the family size } }); -test('each scope warning becomes one assumption sentence', () => { - const cases = [ +test('each assumption becomes one sentence, and each scope warning names its row', () => { + const cases: { + description: string; + spec: Record; + codes: string[]; + given: Assumption[]; + row: { label: string; value: string }; + assumptions: string[]; + }[] = [ { description: 'no place named', spec: { @@ -354,10 +376,9 @@ test('each scope warning becomes one assumption sentence', () => { }, }, codes: ['place_scope_defaulted'], + given: [placeScope('every place')], row: { label: 'Places', value: 'All 1,649 with data' }, - assumptions: [ - 'No place was named, so every place with data is included, at every level.', - ], + assumptions: ['No place was named, so the answer covers every place.'], }, { // Trimmed from the dev API's "population" answer, which it @@ -377,8 +398,9 @@ test('each scope warning becomes one assumption sentence', () => { }, }, codes: ['place_scope_defaulted'], + given: [placeScope('every country')], row: { label: 'Countries', value: 'All 216 with data' }, - assumptions: ['No place was named, so every country with data is included.'], + assumptions: ['No place was named, so the answer covers every country.'], }, { description: 'no provider named, the recipient bound', @@ -389,9 +411,10 @@ test('each scope warning becomes one assumption sentence', () => { coverage: { kind: 'breadth', dimensions: [{ label: 'providers', count: 36 }] }, }, codes: ['role_scope_defaulted'], + given: [{ ...openRecipients, binding_ref: 'origin:', text: 'every provider' }], row: { label: 'Providers', value: 'All 36 with data' }, assumptions: [ - 'No provider was named, so every provider with data to Kenya is included.', + 'The question left this role open, so the answer covers every provider to Kenya.', 'No year was named, so the counts are for 2024, the latest year with data.', ], }, @@ -399,6 +422,7 @@ test('each scope warning becomes one assumption sentence', () => { description: 'no year named, a broad answer counting its latest year', spec: oda, codes: ['time_window_defaulted'], + given: [], row: { label: 'Years', value: 'Latest is 2024' }, assumptions: [ 'No year was named, so the counts are for 2024, the latest year with data.', @@ -408,22 +432,24 @@ test('each scope warning becomes one assumption sentence', () => { description: 'no year named, no headline year', spec: inflation, codes: ['time_window_defaulted'], + given: [], row: { label: 'Years', value: '2000 to 2022' }, assumptions: ['No year was named, so every year with data is included.'], }, { - description: 'a role warning with no open role on the spec keeps the API wording', + description: + 'a role warning on a part that assumed nothing adds no sentence of its own', spec: { ...oda, entity_options: [] }, codes: ['role_scope_defaulted'], + given: [], row: { label: 'Provider', value: 'Germany' }, assumptions: [ - 'No recipient was named; the answer was resolved across the 191 recipients with data from Germany.', 'No year was named, so the counts are for 2024, the latest year with data.', ], }, ]; - for (const { description, spec, codes, row, assumptions } of cases) { + for (const { description, spec, codes, given, row, assumptions } of cases) { const warnings: Warning[] = codes.map( (code) => odaWarnings.find((warning) => warning.code === code) ?? { @@ -438,7 +464,7 @@ test('each scope warning becomes one assumption sentence', () => { why.rows.some((r) => r.label === row.label && r.value === row.value), description, ); - assert.deepEqual(scopeAssumptions(spec, warnings), assumptions, description); + assert.deepEqual(scopeAssumptions(spec, given, warnings), assumptions, description); } }); @@ -470,9 +496,9 @@ test('chosen: each facet axis gives its value and why, in source, method, unit o ]); }); -test('chosen: a slot a declared default filled follows the facets; other provenances add nothing', () => { +test('a slot a declared default filled is stated once, as an assumption; no provenance adds a choice', () => { const filter = (provenance: string, label: string, ref: string) => ({ - key: { axis: 'how', label }, + key: { axis: 'how', property: { ref: label.replaceAll(' ', '') }, label }, binding_kind: 'value', refs: [{ ref, label: ref }], provenance, @@ -487,12 +513,20 @@ test('chosen: a slot a declared default filled follows the facets; other provena }, }; - assert.deepEqual(buildWhySummary(spec).chosen, [ - { - label: 'Type of flow', - value: 'ODA', - reason: 'Filled in from the default for this measure.', - }, + const defaulted: Assumption = { + kind: 'declared_default', + binding_ref: 'how:typeofflow', + refs: ['ODA'], + text: 'official development assistance', + }; + + assert.deepEqual(buildWhySummary(spec).chosen, []); + assert.deepEqual(scopeAssumptions(spec, [defaulted]), [ + 'No type of flow was named, so the answer uses official development assistance, the default for this measure.', + ]); + // A ref no slot names keeps the sentence without a label. + assert.deepEqual(scopeAssumptions(spec, [{ ...defaulted, binding_ref: 'how:other' }]), [ + 'The question left this open, so the answer uses official development assistance, the default for this measure.', ]); }); diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index 1d38bb8..b91c5a2 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -66,6 +66,9 @@ export type QuantityForm = 'per_person' | 'per_head_base' | 'per_area' | 'rate' export type NoDataReason = | 'source_not_resolved' | 'source_ambiguous' + | 'source_code_not_held' + | 'source_code_ambiguous' + | 'source_code_shares_variable' | 'entity_not_resolved' | 'entity_ambiguous' | 'entity_set_too_large' @@ -1099,9 +1102,11 @@ export interface WireSpec { // --------------------------------------------------------------------------- /** The block of the answer a sentence token belongs to: the heading states - * what the answer is, the byline its unit and source, and a departure - * token carries the text of one `Departure` on the same part. */ -export type SentenceSegment = 'heading' | 'byline' | 'departure'; + * what the answer is, the byline its unit and source, a departure token + * carries the text of one `Departure` on the same part, and an assumption + * token is a word of the closing clause naming the part's `assumptions` + * ("Assumed: official development assistance; every provider."). */ +export type SentenceSegment = 'heading' | 'byline' | 'departure' | 'assumption'; /** The axis a sentence token fills: every slot axis plus the byline's * facet axes no request slot carries: 'unit', the unit of measure, and @@ -1124,8 +1129,8 @@ export interface SentenceToken { * states it */ text: string; /** the block this token belongs to. A Spec's own plan holds heading and - * byline tokens only; departure tokens sit on a part's or the - * envelope's plan. */ + * byline tokens only; departure and assumption tokens sit on a part's + * or the envelope's plan. */ segment: SentenceSegment; /** the grammatical axis this token fills, when kind==="slot" */ axis?: SentenceAxis | null; @@ -1212,6 +1217,32 @@ export interface LateDepartures { departures: Departure[]; } +/** What an `Assumption` fills (dfo-apis vocab.py AssumptionKind): + * 'declared_default', a slot the request left open that its code system's + * or shape's declared default fixed; 'open_role', a flow role the request + * named no entity on, read as the total over every entity on it; + * 'place_scope', a request that named no place, read across every place + * with data. */ +export type AssumptionKind = 'declared_default' | 'open_role' | 'place_scope'; + +/** One value a part's answer filled that its request did not ask for. + * Mirrors dfo-apis src/search/models/assumption.py Assumption. The sentence + * carrying the part closes with every one as one clause of `assumption` + * tokens. */ +export interface Assumption { + kind: AssumptionKind; + /** the binding whose edit replaces it: "how:" for a + * declared default, "origin:"/"destination:" for a role, "where:" for + * the place scope */ + binding_ref: string; + /** the value dcids a declared default bound its slot to; [] for an + * open role and the place scope */ + refs: string[]; + /** the clause's words for it: "official development assistance", + * "every provider", "every country", "the world as a whole" */ + text: string; +} + // --------------------------------------------------------------------------- // Frame (what one part asks; carried by the stream's `frame` event) // --------------------------------------------------------------------------- @@ -1410,6 +1441,20 @@ export interface NoDataDenominator { found?: GraphRef | null; } +/** One answer to the choice a no_data refusal asks for (dfo-apis + * src/search/models/outcomes.py NoDataOption). */ +export interface NoDataOption { + /** the request's own words this option settles, in query order */ + mentions: string[]; + /** the choice in words for a menu ("Republic of the Congo", "France to + * Germany"); never parsed */ + label: string; + /** a one-part parsed input settling this choice only, posted unchanged + * to the resolve door; its one part is a `parsed` dataset_resubmit + * entry's part */ + data_query: ParsedInput; +} + /** Outcome when no grounded result can be returned. */ export interface NoData { /** why nothing could be returned (closed enum) */ @@ -1427,23 +1472,24 @@ export interface NoData { ambiguous_entities?: AmbiguousEntityGroup[]; /** The source wordings this refusal is about, in query order: every * included wording that matched no admitted source for - * source_not_resolved, every ambiguous wording for source_ambiguous. + * source_not_resolved, every ambiguous wording for source_ambiguous, + * and the part's source_code for the three source_code_* reasons. * Empty for every other reason. */ source_terms?: string[]; /** Every ambiguous wording behind a source_ambiguous outcome, in query - * order, each with the admitted sources it could name. Empty for every - * other reason. */ + * order, each with the admitted sources it could name, and for + * source_code_ambiguous the part's source_code with the provenances + * holding it. Empty for every other reason. */ ambiguous_sources?: AmbiguousSourceGroup[]; /** - * Set when the reason is entity_ambiguous or source_ambiguous: the parsed - * form of this part. On entity_ambiguous every resolved entity's dcid is - * pinned and the ambiguous entity's dcid left empty; on source_ambiguous - * every resolved source mention carries its ref and each ambiguous - * wording carries none. The site pins a pick onto the part's - * `restatement` instead (parsedEdit.ts's buildAmbiguousPickPart), so it - * reads none of this. + * One ready request per choice of an entity_ambiguous, source_ambiguous, + * source_code_ambiguous, role_not_resolved or unit_not_resolved refusal, + * in query then candidate order; empty for every other reason. It can + * list fewer entries than the candidates. The site's entity pick pins + * the part's `restatement` instead (parsedEdit.ts's + * buildAmbiguousPickPart). */ - data_query?: ParsedInput | null; + options?: NoDataOption[]; /** Terms the engine refused to silently drop before answering. Present * only for qualifier_not_bound. */ unbound_qualifiers?: ResolvedQualifier[]; @@ -1580,7 +1626,7 @@ export interface WireNoData { ambiguous_entities?: AmbiguousEntityGroup[]; source_terms?: string[]; ambiguous_sources?: AmbiguousSourceGroup[]; - data_query?: ParsedInput | null; + options?: NoDataOption[]; unbound_qualifiers?: ResolvedQualifier[]; /** optional; real, grounded WireSpecs with data adjacent to the request */ nearest_real?: WireSpec[] | null; @@ -1658,6 +1704,10 @@ export interface WirePart { /** every way this part's answer differs from what its request asked, in * DepartureCode order; [] when the answer is what was asked */ departures: Departure[]; + /** every value the answer filled that the request did not ask for, in + * clause order: declared defaults, open roles, then the place scope; + * [] on no_data and unsupported */ + assumptions?: Assumption[]; status: ResolveStatus | 'unsupported'; /** present iff status === "definite" */ spec?: WireSpec; @@ -1693,6 +1743,9 @@ export interface Part { * DepartureCode order; [] when the answer is what was asked. The stream's * `done` event can add more (see searchClient.applyDoneEvent). */ departures: Departure[]; + /** every value the answer filled that the request did not ask for, in + * clause order (see WirePart.assumptions) */ + assumptions?: Assumption[]; status: ResolveStatus | 'unsupported'; /** present iff status === "definite" */ spec?: Spec; @@ -1838,7 +1891,7 @@ export interface RawTextInput { } /** path B: pre-parsed parts, extract skipped. Also the shape of - * `NoData.data_query`. Parts byte-identical in every field collapse to + * `NoDataOption.data_query`. Parts byte-identical in every field collapse to * one before resolution. */ export interface ParsedInput { kind: 'parsed'; @@ -1889,7 +1942,8 @@ export interface ParsedPart { // (datasetEntries.ts) never derives a `parsed` entry from a part's own // status; a typed edit or an entity_ambiguous pick builds one directly and // passes it in as an override. Every entry carries its part's `operations` -// back, and the engine echoes them onto the rebuilt part. +// back, and the engine echoes them onto the rebuilt part. An identity entry +// also carries its part's `assumptions`. // --------------------------------------------------------------------------- /** A definite part's entry: the complete identity the part should resolve @@ -1906,6 +1960,11 @@ export interface DatasetIdentityEntry { identity: BaseIdentity; entity_groups?: Record | null; operations?: Operation[]; + /** the part's `assumptions`, echoed as the response gave them. The + * engine keeps an echoed declared default whose slot the identity still + * binds to the same values and drops one the edit changed; [] or absent + * keeps none. */ + assumptions?: Assumption[]; } /** One competing identity inside a `candidates` entry, with the diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index e19c1e5..2e56799 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -16,6 +16,7 @@ import type { OptionLike } from './pickerState.ts'; import type { ApiError, EntityOption } from './searchClient'; import type { AmbiguousEntityGroup, + Assumption, EntityOptions, EntityRoleKey, FacetBasis, @@ -35,7 +36,7 @@ import type { UnitAlternative, Warning, } from './types'; -import { sentenceOf } from './searchClient.ts'; +import { keyRef, sentenceOf } from './searchClient.ts'; import { unitWithBasis } from './unitLabel.ts'; /** Display label of a slot/entity option, wherever the engine put it. */ @@ -1167,62 +1168,69 @@ const openRoles = (spec: any, codes: Set): EntityRoleKey[] => { return open; }; -/** What a definite part's answer assumed, one sentence per scope the - * question left open: the place, an open provider or recipient role, and the - * year. "About this answer" reads this list (through resultNotes's - * aboutAnswerNotes). The year sentence keys on `headline.year_named` - * as well as `time_window_defaulted`, since a role-bearing answer can say - * no year was named without sending that warning. */ -export const scopeAssumptions = (spec: any, warnings?: readonly Warning[] | null): string[] => { - const codes = new Set((warnings ?? []).map((warning) => warning?.code)); - const open = openRoles(spec, codes); - const assumptions: string[] = []; - - if (codes.has('place_scope_defaulted')) { - assumptions.push( - placeScope(spec).noun === 'country' - ? 'No place was named, so every country with data is included.' - : 'No place was named, so every place with data is included, at every level.', - ); - } +// The label of the slot `bindingRef` names on `spec` ("Type of flow"), +// null when neither its trace nor its slots carry one. +const slotLabelOf = (spec: any, bindingRef: string): string | null => + [...(spec.resolution?.slot_filters ?? []), ...(spec.slots ?? [])].find( + (entry: any) => entry?.key && keyRef(entry.key) === bindingRef, + )?.key?.label ?? null; - if (codes.has('role_scope_defaulted')) { - const directional = open.filter((role) => role !== 'observationAbout'); +const lowerFirst = (text: string): string => + /^[A-Z][a-z]/.test(text) ? text.charAt(0).toLowerCase() + text.slice(1) : text; - for (const role of directional) { - const named = entityLabels(spec, role === 'origin' ? 'destination' : 'origin'); - const noun = ROLE_WORDS[role].noun; - const scope = named.length - ? ` ${role === 'destination' ? 'from' : 'to'} ${orList(named)}` - : ''; +// One assumption as the panel states it, in the words of its own `text`. +const assumptionSentence = (spec: any, assumption: Assumption): string => { + const { kind, binding_ref: ref, text } = assumption; - assumptions.push( - `No ${noun} was named, so every ${noun} with data${scope} is included.`, - ); - } + if (kind === 'place_scope') return `No place was named, so the answer covers ${text}.`; - // The warning names no role, so with no open role to read it from, - // the API's own wording stands. - if (directional.length === 0) { - const message = warnings?.find((w) => w?.code === 'role_scope_defaulted')?.message; + if (kind === 'open_role') { + const role = ref.split(':')[0]; + const counterpart = + role === 'origin' ? 'destination' : role === 'destination' ? 'origin' : null; + const named = counterpart ? entityLabels(spec, counterpart) : []; + const scope = named.length + ? ` ${role === 'destination' ? 'from' : 'to'} ${orList(named)}` + : ''; - if (message) { - assumptions.push(capitalise(message)); - } - } + return `The question left this role open, so the answer covers ${text}${scope}.`; } - if (codes.has('time_window_defaulted') || spec.headline?.year_named === false) { + const label = slotLabelOf(spec, ref); + + return label + ? `No ${lowerFirst(label)} was named, so the answer uses ${text}, the default for this measure.` + : `The question left this open, so the answer uses ${text}, the default for this measure.`; +}; + +/** What a definite part's answer assumed: one sentence per item of the + * part's `assumptions` (a declared default, an open role, the place scope), + * in the API's order, then the year. "About this answer" reads this list + * (through resultNotes's aboutAnswerNotes). The year sentence keys on + * `headline.year_named` as well as `time_window_defaulted`, since a + * role-bearing answer can say no year was named without sending that + * warning. */ +export const scopeAssumptions = ( + spec: any, + assumptions: readonly Assumption[] | null | undefined, + warnings?: readonly Pick[] | null, +): string[] => { + const sentences = (assumptions ?? []).map((assumption) => assumptionSentence(spec, assumption)); + const yearDefaulted = (warnings ?? []).some( + (warning) => warning?.code === 'time_window_defaulted', + ); + + if (yearDefaulted || spec.headline?.year_named === false) { const year = spec.headline?.year; - assumptions.push( + sentences.push( year != null && spec.headline?.year_named === false ? `No year was named, so the counts are for ${year}, the latest year with data.` : 'No year was named, so every year with data is included.', ); } - return assumptions; + return sentences; }; // The values each axis lists before the rest are counted as "more". @@ -1298,35 +1306,17 @@ const facetChoiceValue = (axis: string, facet: any): string | null => { return axis === 'measurementMethod' ? formatMethod(facet) : spaceCamel(raw); }; -// How each facet axis got its value (`resolved.facets[axis].basis`), then -// each slot a declared default filled (`trace.slot_filters[].provenance`). -const whyChoices = (spec: any): WhyChoice[] => { - const facets = FACET_CHOICE_AXES.flatMap(([axis, label]) => { +// How each facet axis got its value (`resolved.facets[axis].basis`). A +// slot a declared default filled is one of the part's `assumptions`, which +// "What we assumed" states (scopeAssumptions). +const whyChoices = (spec: any): WhyChoice[] => + FACET_CHOICE_AXES.flatMap(([axis, label]) => { const facet = spec.facets?.[axis]; const reason: string | undefined = facet && CHOICE_REASONS[facet.basis as FacetBasis]; const value = reason ? facetChoiceValue(axis, facet) : null; return reason && value ? [{ label, value, reason }] : []; }); - const slots = (spec.resolution?.slot_filters ?? []).flatMap((filter: any) => { - const value = (filter?.refs ?? []) - .map((ref: any) => ref?.label ?? ref?.ref) - .filter(Boolean) - .join(', '); - - return filter?.provenance === 'declared_default' && value - ? [ - { - label: capitalise(filter.key?.label ?? filter.key?.axis ?? 'Value'), - value, - reason: CHOICE_REASONS.declared_default, - }, - ] - : []; - }); - - return [...facets, ...slots]; -}; // The licence label of the one source the answer serves, in words. const licenceText = (spec: any): string | null => @@ -2288,6 +2278,11 @@ export const flattenPartsRows = ( const NO_DATA_REASON_TEXT: Record = { source_not_resolved: "We couldn't match the data source named in that query.", source_ambiguous: 'More than one data source matches that wording. Try naming it in full.', + source_code_not_held: 'No source we search publishes that code for this question.', + source_code_ambiguous: + 'More than one of the sources named publishes that code. Name the one you mean.', + source_code_shares_variable: + "That code's series also answer other codes of its source, so it can't be shown alone.", entity_not_resolved: "We couldn't match the place in that query.", entity_ambiguous: 'More than one place matches that wording. Try being more specific.', entity_set_too_large: 'That place has too many members for us to check them all at once.', From 99ea4311bba7da81c4408fca7ee59f3bbee6995f Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Tue, 20 Oct 2026 19:14:40 +0200 Subject: [PATCH 02/24] fix(search): echo an empty assumptions list on an identity entry An empty list tells the engine the previous answer stated no assumptions, so the edited answer states none the echo lacks. Only a response without the field leaves the echo off. --- src/lib/search/datasetEntries.ts | 2 +- src/lib/search/test/datasetEntries.test.ts | 10 +++++++++- src/lib/search/types.ts | 8 ++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/lib/search/datasetEntries.ts b/src/lib/search/datasetEntries.ts index de6c7b1..2410b79 100644 --- a/src/lib/search/datasetEntries.ts +++ b/src/lib/search/datasetEntries.ts @@ -203,7 +203,7 @@ function withOperations(entry: DatasetResubmitEntry, part: HydratedPart): Datase function withAssumptions(entry: DatasetResubmitEntry, part: HydratedPart): DatasetResubmitEntry { const assumptions = part.part?.assumptions; - if (entry.entry_kind !== 'identity' || !assumptions?.length) return entry; + if (entry.entry_kind !== 'identity' || assumptions === undefined) return entry; return { ...entry, assumptions }; } diff --git a/src/lib/search/test/datasetEntries.test.ts b/src/lib/search/test/datasetEntries.test.ts index 819540b..5cd2b06 100644 --- a/src/lib/search/test/datasetEntries.test.ts +++ b/src/lib/search/test/datasetEntries.test.ts @@ -114,7 +114,15 @@ test("buildDatasetEntries echoes a part's assumptions on its identity entry, an assert.deepEqual((edited as DatasetIdentityEntry).assumptions, assumptions); }); -test('buildDatasetEntries leaves assumptions off a part with none and off every other entry kind', () => { +test('buildDatasetEntries echoes an empty assumptions list, which states none', () => { + const [part] = hydratedParts('definite-single'); + const stated: HydratedPart = { ...part, part: { ...part.part!, assumptions: [] } }; + const [entry] = buildDatasetEntries([stated]) as DatasetIdentityEntry[]; + + assert.deepEqual(entry.assumptions, []); +}); + +test('buildDatasetEntries leaves assumptions off a response without them and off every other entry kind', () => { const [definite] = buildDatasetEntries(hydratedParts('definite-single')); const [candidates] = hydratedParts('multi-candidate'); const assumed: HydratedPart = { diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index b91c5a2..e4da3ed 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -1960,10 +1960,10 @@ export interface DatasetIdentityEntry { identity: BaseIdentity; entity_groups?: Record | null; operations?: Operation[]; - /** the part's `assumptions`, echoed as the response gave them. The - * engine keeps an echoed declared default whose slot the identity still - * binds to the same values and drops one the edit changed; [] or absent - * keeps none. */ + /** the part's `assumptions`, echoed as the response gave them, [] included. + * The engine states the echoed items that still hold after the edit and + * nothing the echo lacks, so [] states none; absent, it computes them as + * for a fresh request. */ assumptions?: Assumption[]; } From 32594680ac4a0f5cb9a80458e0b0c2c188ff110d Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Tue, 20 Oct 2026 22:27:28 +0200 Subject: [PATCH 03/24] fix(search): name the part an assumptions clause belongs to in a per-part sentence A sentence written part by part labels each byline with its part, so its clauses take the same label even when only one part states a clause; otherwise that clause reads as covering the whole answer. --- src/lib/search/departures.ts | 11 +++++++---- src/lib/search/test/departures.test.ts | 12 ++++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/lib/search/departures.ts b/src/lib/search/departures.ts index 359717c..9dd85f6 100644 --- a/src/lib/search/departures.ts +++ b/src/lib/search/departures.ts @@ -55,14 +55,17 @@ export type AssumptionClause = { /** The plan's assumptions clauses as text, in plan order: the one clause * of a joined sentence, or each part's own clause in a plan written part - * by part, where each carries its part's variable text (`variableTexts`, - * by part index) as `prefix`, as a per-part byline does. Empty when the + * by part (one byline per part), where each carries its part's variable + * text (`variableTexts`, by part index) as `prefix`, as that part's byline + * does, whether or not the other parts state a clause. Empty when the * answer assumed nothing. */ export function assumptionClauses( plan: readonly SentenceToken[] | null | undefined, variableTexts: readonly (string | null)[], ): AssumptionClause[] { - const clauses = sentenceBlocks(plan).filter((block) => block.segment === 'assumption'); + const blocks = sentenceBlocks(plan); + const clauses = blocks.filter((block) => block.segment === 'assumption'); + const perPart = blocks.filter((block) => block.segment === 'byline').length > 1; const partCount = variableTexts.length; return clauses.map((block, key) => { @@ -72,7 +75,7 @@ export function assumptionClauses( return { key, - prefix: clauses.length > 1 && owner != null ? (variableTexts[owner] ?? null) : null, + prefix: perPart && owner != null ? (variableTexts[owner] ?? null) : null, text: block.tokens.map((token) => token.text).join(''), }; }); diff --git a/src/lib/search/test/departures.test.ts b/src/lib/search/test/departures.test.ts index 995f070..51fd139 100644 --- a/src/lib/search/test/departures.test.ts +++ b/src/lib/search/test/departures.test.ts @@ -141,6 +141,18 @@ test("assumptionClauses names each part's own clause when the plan is written pa { key: 0, prefix: 'aid', text: 'Assumed: every provider.' }, { key: 1, prefix: 'debt', text: 'Assumed: every country.' }, ]); + // A part with no clause beside one that states its own: the clause still names its part. + const onlySecond = [ + token('Aid.', 'heading', 0), + token(' ', 'byline', 0), + token('OECD.', 'byline', 0), + token(' ', 'heading', null), + ...sentence(1, 'every country'), + ]; + + assert.deepEqual(assumptionClauses(onlySecond, ['aid', 'debt']), [ + { key: 0, prefix: 'debt', text: 'Assumed: every country.' }, + ]); // One joined clause over two parts, an item two parts share unowned, takes no prefix. const joined = [ token('Aid and debt.', 'heading', null), From 6ca4b60e4bdf203c322c3e128994fc2283f8bfad Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Tue, 20 Oct 2026 23:44:29 +0200 Subject: [PATCH 04/24] fix(search): pick an entity from the refusal's options, label clauses by their lead, and keep a share's assumptions The entity picker mapped a picked candidate to its option by dcid. A group candidate on a members row posts the group's registered name with no dcid, so the match failed and the fallback pinned the group with `members: true`, a request the API refuses. Both pickers (`SearchCards.tsx`, `SearchSentence.tsx`) now list `no_data.options` grouped by their mentions (`entityChoiceGroups`) and post the chosen option's `data_query` part unchanged; the restatement rewrite is gone. A parsed entry keeps the operations it was built with. `assumptionClauses` labels a clause by the owner of its lead token whenever the answer has more than one part, so a definite part beside a candidates or no-data part names its clause, and a clause every folded part shares carries no single part's name. A share replays through `dataset_resubmit`, where a missing echo states no declared default, so a shared ODA answer lost "official development assistance". `share_ref` keeps each part's `assumptions` (migration `0018_share_ref_assumptions.sql`), and replay echoes them; a share stored before the migration replays with none. --- db/migrations/0018_share_ref_assumptions.sql | 1 + db/migrations/meta/0018_snapshot.json | 1073 +++++++++++++++++ db/migrations/meta/_journal.json | 7 + db/schema.ts | 3 + db/test/share-ref-round-trip.test.ts | 40 +- .../organisms/DataSearch/SearchCards.tsx | 31 +- .../organisms/DataSearch/SearchSentence.tsx | 44 +- src/lib/search/datasetEntries.ts | 21 +- src/lib/search/departures.ts | 43 +- src/lib/search/parsedEdit.ts | 103 +- src/lib/search/searchClient.ts | 5 + src/lib/search/searchShare.ts | 6 +- src/lib/search/searchShareRequest.ts | 36 +- src/lib/search/test/datasetEntries.test.ts | 49 +- src/lib/search/test/departures.test.ts | 57 + .../search/test/fixtures/ambiguous-congo.ts | 28 +- src/lib/search/test/parsedEdit.test.ts | 167 ++- .../search/test/searchShareRequest.test.ts | 28 + src/lib/search/test/shareDownload.test.ts | 1 + src/lib/search/test/versionLink.test.ts | 1 + src/lib/search/test/view.test.ts | 17 +- src/lib/search/types.ts | 6 +- src/lib/search/versionLink.ts | 1 + src/lib/search/view.ts | 23 +- 24 files changed, 1509 insertions(+), 282 deletions(-) create mode 100644 db/migrations/0018_share_ref_assumptions.sql create mode 100644 db/migrations/meta/0018_snapshot.json diff --git a/db/migrations/0018_share_ref_assumptions.sql b/db/migrations/0018_share_ref_assumptions.sql new file mode 100644 index 0000000..9791eb4 --- /dev/null +++ b/db/migrations/0018_share_ref_assumptions.sql @@ -0,0 +1 @@ +ALTER TABLE "share_ref" ADD COLUMN "assumptions" jsonb; \ No newline at end of file diff --git a/db/migrations/meta/0018_snapshot.json b/db/migrations/meta/0018_snapshot.json new file mode 100644 index 0000000..858ac24 --- /dev/null +++ b/db/migrations/meta/0018_snapshot.json @@ -0,0 +1,1073 @@ +{ + "id": "a86a48f3-f8c6-4194-9286-af7e196938b3", + "prevId": "ab576e2a-72ab-416b-98c1-9290023712db", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.conversation": { + "name": "conversation", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "agent_session_id": { + "name": "agent_session_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "turn_count": { + "name": "turn_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "conversation_user_updated_idx": { + "name": "conversation_user_updated_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "conversation_user_id_user_id_fk": { + "name": "conversation_user_id_user_id_fk", + "tableFrom": "conversation", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.event": { + "name": "event", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "bigint", + "primaryKey": true, + "notNull": true, + "identity": { + "type": "always", + "name": "event_id_seq", + "schema": "public", + "increment": "1", + "startWith": "1", + "minValue": "1", + "maxValue": "9223372036854775807", + "cache": "1", + "cycle": false + } + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "visitor_id": { + "name": "visitor_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "page": { + "name": "page", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "props": { + "name": "props", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'::jsonb" + } + }, + "indexes": { + "event_created_at_idx": { + "name": "event_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": false, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "event_name_created_at_idx": { + "name": "event_name_created_at_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": false, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.feedback": { + "name": "feedback", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "bigint", + "primaryKey": true, + "notNull": true, + "identity": { + "type": "always", + "name": "feedback_id_seq", + "schema": "public", + "increment": "1", + "startWith": "1", + "minValue": "1", + "maxValue": "9223372036854775807", + "cache": "1", + "cycle": false + } + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "message": { + "name": "message", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "page": { + "name": "page", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_agent": { + "name": "user_agent", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "feedback_created_at_idx": { + "name": "feedback_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": false, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": { + "feedback_message_length": { + "name": "feedback_message_length", + "value": "char_length(\"feedback\".\"message\") BETWEEN 1 AND 5000" + } + }, + "isRLSEnabled": false + }, + "public.limit_counter": { + "name": "limit_counter", + "schema": "", + "columns": { + "key": { + "name": "key", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "window_start": { + "name": "window_start", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + }, + "count": { + "name": "count", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "limit_counter_window_start_idx": { + "name": "limit_counter_window_start_idx", + "columns": [ + { + "expression": "window_start", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.roadmap_vote": { + "name": "roadmap_vote", + "schema": "", + "columns": { + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "entry_id": { + "name": "entry_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "roadmap_vote_entry_idx": { + "name": "roadmap_vote_entry_idx", + "columns": [ + { + "expression": "entry_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "roadmap_vote_user_id_user_id_fk": { + "name": "roadmap_vote_user_id_user_id_fk", + "tableFrom": "roadmap_vote", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "roadmap_vote_user_id_entry_id_pk": { + "name": "roadmap_vote_user_id_entry_id_pk", + "columns": [ + "user_id", + "entry_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.share": { + "name": "share", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "mode": { + "name": "mode", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "conversation_id": { + "name": "conversation_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "card_id": { + "name": "card_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "share_user_idx": { + "name": "share_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "share_user_id_user_id_fk": { + "name": "share_user_id_user_id_fk", + "tableFrom": "share", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.share_card_result": { + "name": "share_card_result", + "schema": "", + "columns": { + "share_id": { + "name": "share_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "card_id": { + "name": "card_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "card": { + "name": "card", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "frame": { + "name": "frame", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "code": { + "name": "code", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "retryable": { + "name": "retryable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "retry_after_s": { + "name": "retry_after_s", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "checked_at": { + "name": "checked_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "fresh_until": { + "name": "fresh_until", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "lease_until": { + "name": "lease_until", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "share_card_result_share_id_share_id_fk": { + "name": "share_card_result_share_id_share_id_fk", + "tableFrom": "share_card_result", + "tableTo": "share", + "columnsFrom": [ + "share_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "share_card_result_share_id_card_id_pk": { + "name": "share_card_result_share_id_card_id_pk", + "columns": [ + "share_id", + "card_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.share_ref": { + "name": "share_ref", + "schema": "", + "columns": { + "share_id": { + "name": "share_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "part_index": { + "name": "part_index", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "spec_id": { + "name": "spec_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "identity": { + "name": "identity", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "entity_groups": { + "name": "entity_groups", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "variable_text": { + "name": "variable_text", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "content_version": { + "name": "content_version", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "artifact_digest": { + "name": "artifact_digest", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "operations": { + "name": "operations", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'[]'::jsonb" + }, + "assumptions": { + "name": "assumptions", + "type": "jsonb", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "share_ref_share_id_share_id_fk": { + "name": "share_ref_share_id_share_id_fk", + "tableFrom": "share_ref", + "tableTo": "share", + "columnsFrom": [ + "share_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "share_ref_share_id_part_index_pk": { + "name": "share_ref_share_id_part_index_pk", + "columns": [ + "share_id", + "part_index" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.account": { + "name": "account", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "account_id": { + "name": "account_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "id_token": { + "name": "id_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "access_token_expires_at": { + "name": "access_token_expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "refresh_token_expires_at": { + "name": "refresh_token_expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "scope": { + "name": "scope", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "account_userId_idx": { + "name": "account_userId_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "account_user_id_user_id_fk": { + "name": "account_user_id_user_id_fk", + "tableFrom": "account", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.session": { + "name": "session", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "ip_address": { + "name": "ip_address", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_agent": { + "name": "user_agent", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "session_userId_idx": { + "name": "session_userId_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "session_token_unique": { + "name": "session_token_unique", + "nullsNotDistinct": false, + "columns": [ + "token" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user": { + "name": "user", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email_verified": { + "name": "email_verified", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_email_unique": { + "name": "user_email_unique", + "nullsNotDistinct": false, + "columns": [ + "email" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.verification": { + "name": "verification", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "identifier": { + "name": "identifier", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "verification_identifier_idx": { + "name": "verification_identifier_idx", + "columns": [ + { + "expression": "identifier", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": {}, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/db/migrations/meta/_journal.json b/db/migrations/meta/_journal.json index 4ff5540..021eb8e 100644 --- a/db/migrations/meta/_journal.json +++ b/db/migrations/meta/_journal.json @@ -120,6 +120,13 @@ "when": 1792396643977, "tag": "0017_limit_counter", "breakpoints": true + }, + { + "idx": 18, + "version": "7", + "when": 1792532418871, + "tag": "0018_share_ref_assumptions", + "breakpoints": true } ] } \ No newline at end of file diff --git a/db/schema.ts b/db/schema.ts index 27530c1..52b870e 100644 --- a/db/schema.ts +++ b/db/schema.ts @@ -105,6 +105,9 @@ export const shareRef = pgTable( // Null for a live share and for snapshots stored before the column. artifactDigest: text('artifact_digest'), operations: jsonb('operations').notNull().default([]), + // The part's assumptions as the response gave them, [] included, + // which the replay echoes. Null for a share stored before the column. + assumptions: jsonb('assumptions'), }, (table) => [primaryKey({ columns: [table.shareId, table.partIndex] })], ); diff --git a/db/test/share-ref-round-trip.test.ts b/db/test/share-ref-round-trip.test.ts index 5775dcf..daf454c 100644 --- a/db/test/share-ref-round-trip.test.ts +++ b/db/test/share-ref-round-trip.test.ts @@ -12,9 +12,11 @@ const MIGRATIONS_FOLDER = path.resolve(import.meta.dirname, '../migrations'); /** * A `share_ref` row written through db/schema.ts as the runtime role reads * back with its groups in `entity_groups`, beside an identity that holds - * none, and with null for a part that has no group. + * none, and with null for a part that has no group. Its `assumptions` read + * back as stored, [] included, and null for a row written without them, as + * a share stored before the column holds. */ -test("a share_ref row keeps a part's groups beside its identity", async (t) => { +test("a share_ref row keeps a part's groups beside its identity, and its assumptions", async (t) => { const database = await createTestDatabase(); t.after(() => database.teardown()); @@ -29,6 +31,14 @@ test("a share_ref row keeps a part's groups beside its identity", async (t) => { const groups = { origin: { ref: 'africa', label: 'Africa', entity_type: 'Continent' }, }; + const assumptions = [ + { + kind: 'declared_default', + binding_ref: 'how:flowType', + refs: ['ODA'], + text: 'official development assistance', + }, + ]; await db.insert(share).values({ id: 'srch0001', @@ -38,8 +48,23 @@ test("a share_ref row keeps a part's groups beside its identity", async (t) => { data: { query: 'aid from the EU' }, }); await db.insert(shareRef).values([ - { shareId: 'srch0001', partIndex: 0, specId: 'spec_a', identity, entityGroups: groups }, - { shareId: 'srch0001', partIndex: 1, specId: 'spec_b', identity, entityGroups: null }, + { + shareId: 'srch0001', + partIndex: 0, + specId: 'spec_a', + identity, + entityGroups: groups, + assumptions, + }, + { + shareId: 'srch0001', + partIndex: 1, + specId: 'spec_b', + identity, + entityGroups: null, + assumptions: [], + }, + { shareId: 'srch0001', partIndex: 2, specId: 'spec_c', identity, entityGroups: null }, ]); const refs = await db @@ -49,10 +74,11 @@ test("a share_ref row keeps a part's groups beside its identity", async (t) => { .orderBy(shareRef.partIndex); assert.deepEqual( - refs.map((ref) => [ref.identity, ref.entityGroups]), + refs.map((ref) => [ref.identity, ref.entityGroups, ref.assumptions]), [ - [identity, groups], - [identity, null], + [identity, groups, assumptions], + [identity, null, []], + [identity, null, null], ], ); }); diff --git a/src/components/organisms/DataSearch/SearchCards.tsx b/src/components/organisms/DataSearch/SearchCards.tsx index 7f5e562..8fec4ef 100644 --- a/src/components/organisms/DataSearch/SearchCards.tsx +++ b/src/components/organisms/DataSearch/SearchCards.tsx @@ -6,7 +6,11 @@ import classNames from 'classnames'; import styles from './DataSearch.module.scss'; import Button from '@/components/atoms/Button/Button'; -import { ambiguousPickPart, offersAmbiguousPicker } from '@/lib/search/parsedEdit'; +import { + entityChoiceGroups, + entityChoicePart, + offersAmbiguousPicker, +} from '@/lib/search/parsedEdit'; import { cardText, coverageSummary, @@ -110,35 +114,30 @@ const SearchCards = ({ } if (part?.status === 'no_data') { - // The single-part escape hatch for entity_ambiguous picking (see - // module doc). A pick posts the refusal's option for it as a parsed - // entry, or pins the candidate's dcid onto the matching restatement - // entity (ambiguousPickPart), a no-op if no entity matches. + // The entity_ambiguous picker of a part with no slot token to hang + // it off. A pick posts the refusal's option for it unchanged as a + // parsed entry (entityChoicePart). if (offersAmbiguousPicker(part) && onEditParsed && partIndex !== undefined) { - const groups = part.no_data.ambiguous_entities ?? []; + const groups = entityChoiceGroups(part.no_data); return (

Choose a Match

- {groups.flatMap((group: any) => - group.candidates.map((candidate: any, index: number) => ( + {groups.flatMap((group) => + group.options.map((option, index) => ( )), )} diff --git a/src/components/organisms/DataSearch/SearchSentence.tsx b/src/components/organisms/DataSearch/SearchSentence.tsx index a271500..e3c3aeb 100644 --- a/src/components/organisms/DataSearch/SearchSentence.tsx +++ b/src/components/organisms/DataSearch/SearchSentence.tsx @@ -60,13 +60,12 @@ import { spliceSentence } from '@/lib/search/refine'; import { keyRef } from '@/lib/search/searchClient'; import { planSentenceText, tokenPart } from '@/lib/search/sentencePlan'; import type { - AmbiguousEntityCandidate, - AmbiguousEntityGroup, EntityRoleKey, GraphRef, HydratedPart, IdentityFacetAxis, IdentityFacets, + NoDataOption, ParsedPart, MeasureAxisValue, RoleAxis, @@ -85,7 +84,8 @@ import { type UnitSwitch, } from '@/lib/search/measureMenu'; import { - ambiguousPickPart, + entityChoiceGroups, + entityChoicePart, offersAmbiguousPicker, resolveTypedEdit, } from '@/lib/search/parsedEdit'; @@ -1834,21 +1834,17 @@ export const SearchSentenceHeading = ({ ); } - // An entity_ambiguous pick posts the refusal's option for it as - // a parsed entry, or pins the candidate's dcid onto the - // restatement entity whose text is the picked wording - // (ambiguousPickPart), a no-op if no entity carries that text. - // Reachable only when the response carried ambiguous_entities - // and a restatement to edit from. A wording the plan carries as - // its own slot token opens a menu of the nodes it could name; a - // part whose plan carries none opens one menu over every - // wording on its what-token. + // An entity_ambiguous pick posts the refusal's option for it + // unchanged as a parsed entry (entityChoicePart). A wording the + // plan carries as its own slot token opens a menu of the options + // that settle it; a part whose plan carries none opens one menu + // over every wording on its what-token. if (wirePart.status === 'no_data' && offersAmbiguousPicker(wirePart)) { - const groups = wirePart.no_data.ambiguous_entities; - const pick = (group: AmbiguousEntityGroup, candidate: AmbiguousEntityCandidate) => { - const edited = ambiguousPickPart(wirePart, group.text, candidate); + const groups = entityChoiceGroups(wirePart.no_data); + const pick = (option: NoDataOption) => { + const posted = entityChoicePart(option); - if (edited) onEditParsed(partIndex, edited); + if (posted) onEditParsed(partIndex, posted); }; if (wording) { @@ -1863,13 +1859,13 @@ export const SearchSentenceHeading = ({ )} marked > - {wording.candidates.map((candidate) => ( + {wording.options.map((option, optionIndex) => ( pick(wording, candidate)} + onSelect={() => pick(option)} > - {candidate.label} + {option.label} ))} , @@ -1886,16 +1882,16 @@ export const SearchSentenceHeading = ({ marked > {groups.flatMap((group) => - group.candidates.map((candidate) => ( + group.options.map((option, optionIndex) => ( pick(group, candidate)} + onSelect={() => pick(option)} > {/* Two ambiguous wordings share one menu, each row naming its own. */} 1 ? group.text : null}> - {candidate.label} + {option.label} )), diff --git a/src/lib/search/datasetEntries.ts b/src/lib/search/datasetEntries.ts index 2410b79..4905116 100644 --- a/src/lib/search/datasetEntries.ts +++ b/src/lib/search/datasetEntries.ts @@ -12,12 +12,14 @@ * preserving posted candidate order. A no_data/unsupported part becomes a * `placeholder` entry, holding its position without asking the engine to * re-derive anything. Every entry, overrides included, carries its part's - * `operations`, so an edit keeps what the question asked of the data, and + * `operations`, so an edit keeps what the question asked of the data (a + * `parsed` entry's part carries its own), and * every identity entry carries its part's `assumptions` as the response gave * them, so an edit that leaves a declared default's slot alone keeps it. */ import type { + Assumption, BaseIdentity, DatasetCandidateIdentity, DatasetCandidatesEntry, @@ -67,10 +69,13 @@ export type SharedEntryRef = { identity: unknown; entityGroups: Record | null; operations: Operation[]; + assumptions: Assumption[] | null; }; /** The `identity` entry a stored share part replays: the identity as - * stored, its groups beside it, and the operations its question asked. */ + * stored, its groups beside it, the operations its question asked, and + * the assumptions its response gave, [] included. A share stored before + * assumptions were kept posts none. */ export function sharedRefEntry(ref: SharedEntryRef): DatasetIdentityEntry { return { entry_kind: 'identity', @@ -78,6 +83,7 @@ export function sharedRefEntry(ref: SharedEntryRef): DatasetIdentityEntry { identity: ref.identity as BaseIdentity, ...specEntityGroups({ entity_groups: ref.entityGroups }), ...(ref.operations.length ? { operations: ref.operations } : {}), + ...(ref.assumptions ? { assumptions: ref.assumptions } : {}), }; } @@ -185,15 +191,14 @@ function applyOverride( }); } -/** `entry` with its part's operations attached: on the entry itself, or on - * a `parsed` entry's `part`. A part with none leaves the entry as it is. */ +/** `entry` with its part's operations attached. A `parsed` entry posts its + * `part` unchanged, since that part (a refusal option's request or an + * edited restatement) carries its own operations. A part with none leaves + * the entry as it is. */ function withOperations(entry: DatasetResubmitEntry, part: HydratedPart): DatasetResubmitEntry { const operations = part.part?.operations; - if (!operations?.length) return entry; - if (entry.entry_kind === 'parsed') { - return { ...entry, part: { ...entry.part, operations } }; - } + if (!operations?.length || entry.entry_kind === 'parsed') return entry; return { ...entry, operations }; } diff --git a/src/lib/search/departures.ts b/src/lib/search/departures.ts index 9dd85f6..b65d05f 100644 --- a/src/lib/search/departures.ts +++ b/src/lib/search/departures.ts @@ -47,38 +47,37 @@ export function sentenceBlocks(plan: readonly SentenceToken[] | null | undefined * departures: "Assumed: official development assistance; every provider." */ export type AssumptionClause = { key: number; - /** the part's variable text, set only when the plan holds a clause per - * part */ + /** the variable text of the part the clause belongs to, set only in a + * response of several parts */ prefix: string | null; text: string; }; -/** The plan's assumptions clauses as text, in plan order: the one clause - * of a joined sentence, or each part's own clause in a plan written part - * by part (one byline per part), where each carries its part's variable - * text (`variableTexts`, by part index) as `prefix`, as that part's byline - * does, whether or not the other parts state a clause. Empty when the - * answer assumed nothing. */ +/** The plan's assumptions clauses as text, in plan order. In a response of + * several parts a clause carries as `prefix` the variable text + * (`variableTexts`, by part index) of the part that owns its lead token + * ("Assumed: "). dfo-apis' render/envelope.py `_clause` gives the lead to + * the one part every item of the clause belongs to, or to no part when the + * items' owners differ, so a clause naming several parts' items carries no + * prefix. Empty when the answer assumed nothing. */ export function assumptionClauses( plan: readonly SentenceToken[] | null | undefined, variableTexts: readonly (string | null)[], ): AssumptionClause[] { - const blocks = sentenceBlocks(plan); - const clauses = blocks.filter((block) => block.segment === 'assumption'); - const perPart = blocks.filter((block) => block.segment === 'byline').length > 1; const partCount = variableTexts.length; - return clauses.map((block, key) => { - const owner = block.tokens - .map((token) => tokenPart(token, partCount)) - .find((partIndex) => partIndex != null); - - return { - key, - prefix: perPart && owner != null ? (variableTexts[owner] ?? null) : null, - text: block.tokens.map((token) => token.text).join(''), - }; - }); + return sentenceBlocks(plan) + .filter((block) => block.segment === 'assumption') + .map((block, key) => { + const lead = block.tokens[0]; + const owner = partCount > 1 && lead ? tokenPart(lead, partCount) : null; + + return { + key, + prefix: owner != null ? (variableTexts[owner] ?? null) : null, + text: block.tokens.map((token) => token.text).join(''), + }; + }); } /** What a departure's one action does: open the menu of the visible token diff --git a/src/lib/search/parsedEdit.ts b/src/lib/search/parsedEdit.ts index 4d72f3d..de4e450 100644 --- a/src/lib/search/parsedEdit.ts +++ b/src/lib/search/parsedEdit.ts @@ -1,16 +1,12 @@ /** Pure logic behind the parsed dataset_resubmit entry. A typed phrase edit * rewrites one restatement field chosen from the token's axis/role (how has * none, falling back to raw-text refineAt). An entity_ambiguous pick posts - * the refusal's own option for the pick (ambiguousPickPart), or rewrites - * the restatement entity whose text matches the picked group. - * canPinEntityDcid gates a pinned dcid to only when the response itself - * carried ambiguous_entities, never invented from a candidate in hand some - * other way. */ + * one of the refusal's own options (`no_data.options`) unchanged + * (entityChoiceGroups, entityChoicePart). */ import type { - AmbiguousEntityCandidate, - AmbiguousEntityGroup, NoData, + NoDataOption, ParsedPart, ParsedPartEntity, RoleAxis, @@ -102,75 +98,40 @@ export function resolveTypedEdit( return applyRestatementEdit(restatement, target, text); } -export function canPinEntityDcid( - noData: NoData | null | undefined, -): noData is NoData & { ambiguous_entities: AmbiguousEntityGroup[] } { - return Boolean(noData?.ambiguous_entities?.length); -} +/** One ambiguous wording of an entity_ambiguous refusal and the options + * that settle it (`no_data.options` whose `mentions` hold the wording), in + * the order the refusal lists them. */ +export type EntityChoiceGroup = { text: string; options: NoDataOption[] }; -type AmbiguousPickerPart = { no_data?: NoData | null; restatement?: ParsedPart | null }; +/** The refusal's options grouped by the wording each settles, wordings in + * the order their first option comes. An option settling two wordings + * stands in both groups. Empty for every reason but entity_ambiguous. */ +export function entityChoiceGroups(noData: NoData | null | undefined): EntityChoiceGroup[] { + if (noData?.reason !== 'entity_ambiguous') return []; -const hasAmbiguousPickerShape = (part: unknown): part is AmbiguousPickerPart => - typeof part === 'object' && part !== null; + const groups = new Map(); -/** Whether a no_data part renders SearchCards' "Choose a Match" picker - * rather than a generic Studio hand-off panel: an entity_ambiguous reason, - * a response that itself carried ambiguous_entities (canPinEntityDcid), and - * a restatement to pin the pick onto. The one gate SearchCards and - * studioHandoffParts must agree on, so a picker-eligible part always keeps - * its own picker instead of collapsing into the generic studio callout. */ -export function offersAmbiguousPicker(part: unknown): part is AmbiguousPickerPart & { - no_data: NoData & { ambiguous_entities: AmbiguousEntityGroup[] }; - restatement: ParsedPart; -} { - if (!hasAmbiguousPickerShape(part)) return false; - - return ( - part.no_data?.reason === 'entity_ambiguous' && - canPinEntityDcid(part.no_data) && - Boolean(part.restatement) - ); -} + for (const option of noData.options ?? []) { + for (const text of option.mentions) { + groups.set(text, [...(groups.get(text) ?? []), option]); + } + } -/** The part an entity_ambiguous pick posts. It is the one-part request of - * the refusal's option (`no_data.options`) that pins `candidate` on the - * wording `groupText`, unchanged, when exactly one option does: that - * request also pins every entity that resolved to one node. Otherwise, - * as for an option asking for a group's members, which pins no dcid, it is - * the restatement with the pick pinned (buildAmbiguousPickPart). */ -export function ambiguousPickPart( - part: { no_data: NoData; restatement: ParsedPart }, - groupText: string, - candidate: AmbiguousEntityCandidate, -): ParsedPart | null { - const pinned = (part.no_data.options ?? []).flatMap((option) => { - const [posted] = option.data_query.parts; - const pins = (posted?.entities ?? []).some( - (entity) => entity.text === groupText && entity.dcid === candidate.ref, - ); - - return option.mentions.includes(groupText) && pins && posted ? [posted] : []; - }); - - return pinned.length === 1 - ? pinned[0] - : buildAmbiguousPickPart(part.restatement, groupText, candidate); + return [...groups].map(([text, options]) => ({ text, options })); } -/** Rewrites the restatement entity whose text equals groupText to the - * candidate's label, pinned with its dcid. Returns null when no entity - * matches (the invariant broken), which the caller must treat as a no-op - * rather than re-confirming the same ambiguity. */ -export function buildAmbiguousPickPart( - restatement: ParsedPart, - groupText: string, - candidate: AmbiguousEntityCandidate, -): ParsedPart | null { - const entities = restatement.entities ?? []; - const index = entities.findIndex((entity) => entity.text === groupText); - if (index === -1) return null; +/** The part an entity choice posts: its option's one-part request, + * unchanged. Null for an option carrying no part. */ +export const entityChoicePart = (option: NoDataOption): ParsedPart | null => + option.data_query.parts[0] ?? null; + +/** Whether a no_data part renders a "Choose a Match" picker rather than a + * generic Studio hand-off panel: an entity_ambiguous refusal with at least + * one option (entityChoiceGroups). The one gate SearchCards, SearchSentence + * and studioHandoffParts agree on, so a picker-eligible part always keeps + * its own picker instead of collapsing into the generic studio callout. */ +export function offersAmbiguousPicker(part: unknown): part is { no_data: NoData } { + if (typeof part !== 'object' || part === null) return false; - const updated = entities.slice(); - updated[index] = { ...updated[index], text: candidate.label, dcid: candidate.ref }; - return { ...restatement, entities: updated }; + return entityChoiceGroups((part as { no_data?: NoData | null }).no_data).length > 0; } diff --git a/src/lib/search/searchClient.ts b/src/lib/search/searchClient.ts index 0158b38..0fb64d1 100644 --- a/src/lib/search/searchClient.ts +++ b/src/lib/search/searchClient.ts @@ -26,6 +26,7 @@ import { type VersionLinkOutcome, } from './versionLink.ts'; import type { + Assumption, DatasetResubmitEntry, LateDepartures, EntityGroup, @@ -1272,6 +1273,10 @@ export type OpenedSearchShare = { * replay. Null when it had none. */ entityGroups: Record | null; operations: Operation[]; + /** The part's assumptions as the shared response gave them, echoed + * on replay. Null for a share stored before they were kept and for + * a version link. */ + assumptions: Assumption[] | null; contentVersion: string | null; }[]; /** Set when the view opened from a version link (lib/search/versionLink) diff --git a/src/lib/search/searchShare.ts b/src/lib/search/searchShare.ts index 2ddfe0d..953e298 100644 --- a/src/lib/search/searchShare.ts +++ b/src/lib/search/searchShare.ts @@ -3,7 +3,7 @@ import { asc, eq } from 'drizzle-orm'; import { searchShareMode } from '@/lib/chat/shareMode'; import { shortId } from '@/lib/chat/shareStore'; import { db } from '@/lib/db'; -import type { EntityGroup, Operation } from '@/lib/search/types'; +import type { Assumption, EntityGroup, Operation } from '@/lib/search/types'; import { searchApiBase } from '@/lib/searchApi'; import { share, shareRef } from '../../../db/schema'; import { registerDefinitions } from './registerDefinitions.ts'; @@ -34,6 +34,8 @@ export type SearchShareRef = { identity: unknown; entityGroups: Record | null; operations: Operation[]; + // Null for a share stored before assumptions were kept. + assumptions: Assumption[] | null; contentVersion: string | null; // The file a snapshot captured and pinned. Null for a live share, and // for a snapshot stored before digests were kept. @@ -109,6 +111,7 @@ export const createSearchShare = async ( entityGroups: part.entityGroups ?? null, variableText: part.variableText, operations: part.operations, + assumptions: part.assumptions ?? null, contentVersion: captured?.[index]?.contentVersion ?? null, artifactDigest: captured?.[index]?.artifactDigest ?? null, })), @@ -143,6 +146,7 @@ export const getSearchShare = async (id: string): Promise => identity: ref.identity, entityGroups: ref.entityGroups as Record | null, operations: ref.operations as Operation[], + assumptions: ref.assumptions as Assumption[] | null, contentVersion: ref.contentVersion, artifactDigest: ref.artifactDigest, })), diff --git a/src/lib/search/searchShareRequest.ts b/src/lib/search/searchShareRequest.ts index 84883ff..ee72cb3 100644 --- a/src/lib/search/searchShareRequest.ts +++ b/src/lib/search/searchShareRequest.ts @@ -1,5 +1,12 @@ /* eslint-disable @typescript-eslint/no-explicit-any -- request bodies are validated field by field below */ -import type { EntityGroup, EntityRoleKey, HydratedPart, Operation } from './types.ts'; +import type { + Assumption, + AssumptionKind, + EntityGroup, + EntityRoleKey, + HydratedPart, + Operation, +} from './types.ts'; /** * The shape and limits of a search share request, checked before any @@ -23,6 +30,11 @@ export type SearchSharePart = { // What the question asked of the part beyond its data. The replay // carries them back. operations: Operation[]; + // The values the answer filled that the question did not ask for, as + // the response gave them, [] included. The replay echoes them, so a + // shared answer states the same defaults. Null when the response gave + // none. + assumptions?: Assumption[] | null; // The canonical definition from the resolve response, which register // and mint take. Not stored, since the identity is enough to replay. definition: unknown; @@ -74,6 +86,23 @@ const isEntityGroups = (value: any): value is Record => ([role, group]) => ENTITY_ROLE_KEYS.includes(role) && isEntityGroup(group), ); +const ASSUMPTION_KINDS: string[] = [ + 'declared_default', + 'open_role', + 'place_scope', +] satisfies AssumptionKind[]; + +const isAssumption = (value: any): value is Assumption => + isPlainObject(value) && + Object.keys(value).every((member) => + ['kind', 'binding_ref', 'refs', 'text'].includes(member), + ) && + ASSUMPTION_KINDS.includes(value.kind) && + typeof value.binding_ref === 'string' && + Array.isArray(value.refs) && + value.refs.every((ref: unknown) => typeof ref === 'string') && + typeof value.text === 'string'; + export const isSearchSharePart = (value: any): value is SearchSharePart => !!value && typeof value === 'object' && @@ -87,11 +116,13 @@ export const isSearchSharePart = (value: any): value is SearchSharePart => !Object.hasOwn(value.identity, 'entity_groups') && (value.entityGroups == null || isEntityGroups(value.entityGroups)) && Array.isArray(value.operations) && + (value.assumptions == null || + (Array.isArray(value.assumptions) && value.assumptions.every(isAssumption))) && !!value.definition && typeof value.definition === 'object'; /** The share part a definite part on screen posts: its Spec's identity, with - * the Spec's groups beside it. */ + * the Spec's groups beside it, and the part's operations and assumptions. */ export const searchSharePart = (part: HydratedPart): Required => { const spec = part.hydratedSpec as any; @@ -102,6 +133,7 @@ export const searchSharePart = (part: HydratedPart): Required = identity: spec.identity, entityGroups: spec.entity_groups ?? null, operations: part.part?.operations ?? [], + assumptions: part.part?.assumptions ?? null, definition: spec.definition, }; }; diff --git a/src/lib/search/test/datasetEntries.test.ts b/src/lib/search/test/datasetEntries.test.ts index 5cd2b06..4476043 100644 --- a/src/lib/search/test/datasetEntries.test.ts +++ b/src/lib/search/test/datasetEntries.test.ts @@ -2,7 +2,6 @@ import assert from 'node:assert/strict'; import test from 'node:test'; import { buildDatasetEntries, sharedRefEntry } from '../datasetEntries.ts'; -import { buildAmbiguousPickPart } from '../parsedEdit.ts'; import { withEntityEdit } from '../promote.ts'; import { normalizeResponse, restorePlaceholderParts } from '../searchClient.ts'; import type { @@ -29,20 +28,18 @@ function hydratedParts(name: FixtureName): HydratedPart[] { })); } -/** The `parsed` entry an entity_ambiguous pick posts for `part`: its - * restatement with `dcid` pinned on the "Congo" wording. */ +/** A `parsed` entry for `part`: its restatement with `dcid` pinned on the + * "Congo" wording, as an entity_ambiguous option posts it. */ function congoPick(part: HydratedPart, dcid: string): DatasetParsedEntry { const restatement = part.part?.restatement; - const candidate = part.part?.no_data?.ambiguous_entities - ?.find((group) => group.text === 'Congo') - ?.candidates.find((option) => option.ref === dcid); - assert.ok(restatement && candidate); + assert.ok(restatement); - const picked = buildAmbiguousPickPart(restatement, 'Congo', candidate); + const entities = (restatement.entities ?? []).map((entity) => + entity.text === 'Congo' ? { ...entity, dcid } : entity, + ); - assert.ok(picked); - return { entry_kind: 'parsed', part: picked }; + return { entry_kind: 'parsed', part: { ...restatement, entities } }; } test('buildDatasetEntries posts the pick as the parsed entry at its part', () => { @@ -102,6 +99,18 @@ test("buildDatasetEntries carries a part's operations on an edit's override entr assert.deepEqual((entry as DatasetIdentityEntry).operations, parts[0].part?.operations); }); +test("buildDatasetEntries posts a parsed entry's part unchanged, its own operations kept", () => { + const parts = hydratedParts('definite-rank-operation'); + const picked: DatasetParsedEntry = { + entry_kind: 'parsed', + part: { variable_text: 'aid', operations: [] }, + }; + const [entry] = buildDatasetEntries(parts, { index: 0, entry: picked }); + + assert.ok(parts[0].part?.operations?.length); + assert.equal(entry, picked); +}); + test("buildDatasetEntries echoes a part's assumptions on its identity entry, an edit's included", () => { const parts = hydratedParts('broad-truncated'); const assumptions = parts[0].part?.assumptions; @@ -195,7 +204,13 @@ test('a stored share part replays its groups beside the identity, and no member const groups = { origin: { ref: 'africa', label: 'Africa', entity_type: 'Continent' }, }; - const ref = { variableText: 'aid', identity, entityGroups: groups, operations: [] }; + const ref = { + variableText: 'aid', + identity, + entityGroups: groups, + operations: [], + assumptions: null, + }; assert.deepEqual(sharedRefEntry(ref), { entry_kind: 'identity', @@ -219,3 +234,15 @@ test('a stored share part replays its groups beside the identity, and no member operations: [operation], }); }); + +test('a stored share part echoes its assumptions, [] included, and a share stored before them posts none', () => { + const [part] = hydratedParts('broad-truncated'); + const identity = part.hydratedSpec!.identity; + const assumptions = part.part!.assumptions!; + const ref = { variableText: 'aid', identity, entityGroups: null, operations: [] }; + + assert.ok(assumptions.length); + assert.deepEqual(sharedRefEntry({ ...ref, assumptions }).assumptions, assumptions); + assert.deepEqual(sharedRefEntry({ ...ref, assumptions: [] }).assumptions, []); + assert.equal('assumptions' in sharedRefEntry({ ...ref, assumptions: null }), false); +}); diff --git a/src/lib/search/test/departures.test.ts b/src/lib/search/test/departures.test.ts index 51fd139..2030cff 100644 --- a/src/lib/search/test/departures.test.ts +++ b/src/lib/search/test/departures.test.ts @@ -170,6 +170,63 @@ test("assumptionClauses names each part's own clause when the plan is written pa assert.deepEqual(assumptionClauses(null, []), []); }); +test('assumptionClauses labels a clause by the owner of its lead token', () => { + // A definite part beside a candidates part: one byline, two owned clauses. + const definiteAndCandidates = [ + token('Answered 1 of 2 parts.', 'heading', null), + token(' ', 'heading', null), + token('Aid to Kenya', 'heading', 0), + token('.', 'heading', 0), + token(' ', 'byline', 0), + token('OECD.', 'byline', 0), + token(' ', 'assumption', 0), + token('Assumed: ', 'assumption', 0), + token('every provider', 'assumption', 0), + token('.', 'assumption', 0), + token(' ', 'heading', null), + token('debt', 'heading', 1), + token(' ', 'assumption', 1), + token('Assumed: ', 'assumption', 1), + token('every country', 'assumption', 1), + token('.', 'assumption', 1), + ]; + + assert.deepEqual(assumptionClauses(definiteAndCandidates, ['aid', 'debt']), [ + { key: 0, prefix: 'aid', text: 'Assumed: every provider.' }, + { key: 1, prefix: 'debt', text: 'Assumed: every country.' }, + ]); + // Parts 0 and 1 fold into one sentence: the folded clause's lead has no owner, though + // one of its items is part 1's, so only part 2's clause takes a label. + const folded = [ + token('Aid to Kenya.', 'heading', null), + token(' ', 'byline', null), + token('OECD.', 'byline', null), + token(' ', 'assumption', null), + token('Assumed: ', 'assumption', null), + token('official development assistance', 'assumption', null), + token('; ', 'assumption', null), + token('every provider', 'assumption', 1), + token('.', 'assumption', null), + token(' ', 'heading', null), + token('Debt.', 'heading', 2), + token(' ', 'byline', 2), + token('World Bank.', 'byline', 2), + token(' ', 'assumption', 2), + token('Assumed: ', 'assumption', 2), + token('every country', 'assumption', 2), + token('.', 'assumption', 2), + ]; + + assert.deepEqual(assumptionClauses(folded, ['aid', 'aid to Uganda', 'debt']), [ + { + key: 0, + prefix: null, + text: 'Assumed: official development assistance; every provider.', + }, + { key: 1, prefix: 'debt', text: 'Assumed: every country.' }, + ]); +}); + test("a mixed answer's opener reads as plain heading text before the first part's heading", () => { const plan = [ token('Answered 1 of 2 parts.', 'heading', null), diff --git a/src/lib/search/test/fixtures/ambiguous-congo.ts b/src/lib/search/test/fixtures/ambiguous-congo.ts index e26270f..a7b29b1 100644 --- a/src/lib/search/test/fixtures/ambiguous-congo.ts +++ b/src/lib/search/test/fixtures/ambiguous-congo.ts @@ -7,14 +7,32 @@ * [{dcid, label, kind}]}`. The two real Congo dcids (country/COD, * country/COG) and the candidate labels are the ones the captures' own * `rendered_sentence` already names ("Congo [DRC]"/"Congo [Republic]"). + * The "ODA to the Congo" refusal also carries `no_data.options`, one ready + * request per candidate, built the way dfo-apis search/engine/conjoin.py + * `_entity_options` builds them from the restatement. "GDP of Congo" has no + * restatement, so it carries none. */ -import type { NoData, ParsedPart } from '../../types.ts'; +import type { NoData, NoDataOption, ParsedPart } from '../../types.ts'; + +const congoOption = (dcid: string, label: string): NoDataOption => ({ + mentions: ['Congo'], + label, + data_query: { + kind: 'parsed', + parts: [ + { + variable_text: 'official development assistance', + entities: [{ text: 'Congo', role_text: 'to', dcid }], + }, + ], + }, +}); /** "GDP of Congo": a subject-role entity_ambiguous part. `restatement` is * null on this real capture (the leg's direction came from wording alone, - * with no door-supplied role to confirm it), so this fixture exercises the - * "no restatement" fallback. */ + * with no door-supplied role to confirm it), so the refusal carries no + * options and offers no picker. */ export const gdpOfCongoNoData: NoData = { reason: 'entity_ambiguous', entity_terms: ['Congo'], @@ -47,6 +65,10 @@ export const odaToCongoNoData: NoData = { ], }, ], + options: [ + congoOption('country/COD', 'Congo [DRC]'), + congoOption('country/COG', 'Congo [Republic]'), + ], unbound_qualifiers: [], }; diff --git a/src/lib/search/test/parsedEdit.test.ts b/src/lib/search/test/parsedEdit.test.ts index 533c308..726afc9 100644 --- a/src/lib/search/test/parsedEdit.test.ts +++ b/src/lib/search/test/parsedEdit.test.ts @@ -2,10 +2,9 @@ import assert from 'node:assert/strict'; import test from 'node:test'; import { - ambiguousPickPart, applyRestatementEdit, - buildAmbiguousPickPart, - canPinEntityDcid, + entityChoiceGroups, + entityChoicePart, offersAmbiguousPicker, resolveTypedEdit, restatementTargetForToken, @@ -199,28 +198,7 @@ test('resolveTypedEdit is null for a how token even with a restatement present', }); // --------------------------------------------------------------------------- -// canPinEntityDcid: the gating rule -// --------------------------------------------------------------------------- - -test('canPinEntityDcid is true when the response carried ambiguous_entities', () => { - assert.equal(canPinEntityDcid(odaToCongoNoData), true); -}); - -test('canPinEntityDcid is false with no ambiguous_entities, absent or empty', () => { - assert.equal(canPinEntityDcid(undefined), false); - assert.equal(canPinEntityDcid(null), false); - assert.equal(canPinEntityDcid({ reason: 'no_observations' }), false); - assert.equal(canPinEntityDcid({ reason: 'entity_ambiguous', ambiguous_entities: [] }), false); -}); - -// --------------------------------------------------------------------------- -// offersAmbiguousPicker: SearchCards and studioHandoffParts' shared gate for -// whether a no_data part gets the "Choose a Match" picker rather than the -// generic Studio hand-off panel -// --------------------------------------------------------------------------- - -// --------------------------------------------------------------------------- -// ambiguousPickPart: the refusal's own option for a pick +// entityChoiceGroups / entityChoicePart: the refusal's own options, by wording // --------------------------------------------------------------------------- const congoPart = () => { @@ -229,43 +207,80 @@ const congoPart = () => { return part as { no_data: NoData; restatement: ParsedPart }; }; -test("ambiguousPickPart posts the option's request unchanged, the resolved entity pinned too", () => { - const part = congoPart(); - const [group] = part.no_data.ambiguous_entities!; - const [, republic] = group.candidates; +test("entityChoiceGroups groups the refusal's options by the wording each settles", () => { + const { no_data: noData } = congoPart(); + const groups = entityChoiceGroups(noData); - assert.equal( - ambiguousPickPart(part, 'Congo', republic), - part.no_data.options![1].data_query.parts[0], + assert.deepEqual( + groups.map(({ text, options }) => [text, options.map((option) => option.label)]), + [['Congo', ['Congo [DRC]', 'Congo [Republic]']]], ); + // Each choice posts its option's one part unchanged, the resolved entity pinned too. + const [, republic] = groups[0].options; + + assert.equal(entityChoicePart(republic), noData.options![1].data_query.parts[0]); assert.deepEqual( - ambiguousPickPart(part, 'Congo', republic)?.entities?.map((entity) => entity.dcid), + entityChoicePart(republic)?.entities?.map((entity) => entity.dcid), ['country/COG', 'country/FRA'], ); }); -test('ambiguousPickPart pins the restatement when no one option pins the candidate', () => { - const part = congoPart(); - const [drc] = part.no_data.ambiguous_entities![0].candidates; - const fallback = buildAmbiguousPickPart(part.restatement, 'Congo', drc); - // A members option names the group with no dcid, so it pins nothing to match. - const members = part.no_data.options!.map((option) => ({ - ...option, +test("a members option posts the group's registered name, no dcid pinned, unchanged", () => { + const { no_data: noData } = congoPart(); + const members = { + mentions: ['Congo'], + label: 'Congo basin', data_query: { - ...option.data_query, - parts: [{ ...option.data_query.parts[0], entities: [{ text: 'Congo basin' }] }], + kind: 'parsed' as const, + parts: [ + { + variable_text: 'ODA', + entities: [{ text: 'Congo basin', role_text: 'to', members: true }], + }, + ], }, - })); + }; + const [group] = entityChoiceGroups({ ...noData, options: [members] }); - for (const options of [undefined, [], members]) { - assert.deepEqual( - ambiguousPickPart({ ...part, no_data: { ...part.no_data, options } }, 'Congo', drc), - fallback, - ); - } + assert.equal(entityChoicePart(group.options[0]), members.data_query.parts[0]); }); -test('offersAmbiguousPicker is true for the real ODA-to-Congo capture (restatement present)', () => { +test('entityChoiceGroups lists a wording per mention, in the order the options come', () => { + const option = (mentions: string[], label: string) => ({ + mentions, + label, + data_query: { kind: 'parsed' as const, parts: [{ variable_text: 'aid' }] }, + }); + const noData: NoData = { + reason: 'entity_ambiguous', + options: [ + option(['World Bank'], 'IBRD'), + option(['Georgia'], 'Georgia (country)'), + option(['World Bank'], 'IDA'), + ], + }; + + assert.deepEqual( + entityChoiceGroups(noData).map(({ text, options }) => [ + text, + options.map((choice) => choice.label), + ]), + [ + ['World Bank', ['IBRD', 'IDA']], + ['Georgia', ['Georgia (country)']], + ], + ); + assert.deepEqual(entityChoiceGroups({ ...noData, reason: 'source_ambiguous' }), []); + assert.deepEqual(entityChoiceGroups(null), []); +}); + +// --------------------------------------------------------------------------- +// offersAmbiguousPicker: SearchCards and studioHandoffParts' shared gate for +// whether a no_data part gets the "Choose a Match" picker rather than the +// generic Studio hand-off panel +// --------------------------------------------------------------------------- + +test('offersAmbiguousPicker is true for an entity_ambiguous refusal with options', () => { assert.equal( offersAmbiguousPicker({ no_data: odaToCongoNoData, @@ -275,7 +290,7 @@ test('offersAmbiguousPicker is true for the real ODA-to-Congo capture (restateme ); }); -test('offersAmbiguousPicker is false for the real GDP-of-Congo capture (restatement null)', () => { +test('offersAmbiguousPicker is false for the real GDP-of-Congo capture (no options)', () => { assert.equal( offersAmbiguousPicker({ no_data: gdpOfCongoNoData, @@ -285,14 +300,10 @@ test('offersAmbiguousPicker is false for the real GDP-of-Congo capture (restatem ); }); -test('offersAmbiguousPicker is false with no ambiguous_entities, absent or empty', () => { - assert.equal( - offersAmbiguousPicker({ - no_data: { reason: 'entity_ambiguous', ambiguous_entities: [] }, - restatement: odaToCongoRestatement, - }), - false, - ); +test('offersAmbiguousPicker is false with options absent or empty', () => { + for (const options of [undefined, []]) { + assert.equal(offersAmbiguousPicker({ no_data: { ...odaToCongoNoData, options } }), false); + } }); test('offersAmbiguousPicker is false for a non-object part, undefined, or null', () => { @@ -300,41 +311,3 @@ test('offersAmbiguousPicker is false for a non-object part, undefined, or null', assert.equal(offersAmbiguousPicker(null), false); assert.equal(offersAmbiguousPicker('no_data'), false); }); - -// --------------------------------------------------------------------------- -// buildAmbiguousPickPart: a pick's own parsed part, built from the fixtures -// captured for "GDP of Congo" and "official development assistance to the -// Congo" (ambiguous_entities added by hand -- see the fixture's own doc -// comment) -// --------------------------------------------------------------------------- - -test('buildAmbiguousPickPart pins either candidate onto the matching restatement entity (ODA to the Congo)', () => { - const group = odaToCongoNoData.ambiguous_entities![0]; - const cases = [ - { - candidateIndex: 0, // Congo [DRC] - entities: [{ text: 'Congo [DRC]', role_text: 'to', dcid: 'country/COD' }], - }, - { - candidateIndex: 1, // Congo [Republic] - entities: [{ text: 'Congo [Republic]', role_text: 'to', dcid: 'country/COG' }], - }, - ]; - - for (const { candidateIndex, entities } of cases) { - const candidate = group.candidates[candidateIndex]; - const part = buildAmbiguousPickPart(odaToCongoRestatement, group.text, candidate); - - assert.deepEqual(part, { variable_text: 'official development assistance', entities }); - } -}); - -test('buildAmbiguousPickPart returns null (nothing to post) when no entity text matches the group', () => { - const group = odaToCongoNoData.ambiguous_entities![0]; - const candidate = group.candidates[0]; - const mismatched: ParsedPart = { variable_text: 'aid', entities: [{ text: 'Kenya' }] }; - - const part = buildAmbiguousPickPart(mismatched, group.text, candidate); - - assert.equal(part, null); -}); diff --git a/src/lib/search/test/searchShareRequest.test.ts b/src/lib/search/test/searchShareRequest.test.ts index ca92689..3501549 100644 --- a/src/lib/search/test/searchShareRequest.test.ts +++ b/src/lib/search/test/searchShareRequest.test.ts @@ -95,6 +95,33 @@ test("a part's groups hold role keys only, each a label of 1 to 120 characters a assert.equal(reads({ origin: { label: 'EU', members: ['country/DEU'] } }), false); }); +test('a part reads with its assumptions, [] and null included, and a malformed one is refused', () => { + const reads = (assumptions: unknown) => + readSearchShareRequest({ ...body(1), parts: [{ ...part(0), assumptions }] })?.parts[0]; + const oda = { + kind: 'declared_default', + binding_ref: 'how:flowType', + refs: ['ODA'], + text: 'official development assistance', + }; + const scope = { kind: 'place_scope', binding_ref: 'where:', refs: [], text: 'every country' }; + + assert.deepEqual(reads([oda, scope])?.assumptions, [oda, scope]); + assert.deepEqual(reads([])?.assumptions, []); + assert.equal(reads(null)?.assumptions, null); + assert.ok(reads(undefined)); + + for (const malformed of [ + oda, + [{ ...oda, kind: 'guess' }], + [{ ...oda, refs: [27] }], + [{ ...oda, text: null }], + [{ ...oda, note: 'extra' }], + ]) { + assert.equal(reads(malformed), undefined, JSON.stringify(malformed)); + } +}); + test('a part whose identity holds entity_groups is refused', () => { const withIdentity = (identity: unknown) => ({ ...body(1), @@ -136,6 +163,7 @@ test("a definite part shares its Spec's groups beside the identity, and null whe identity: spec.identity, entityGroups: groups, operations: response.operations, + assumptions: response.assumptions ?? null, definition: spec.definition, }); assert.equal( diff --git a/src/lib/search/test/shareDownload.test.ts b/src/lib/search/test/shareDownload.test.ts index a14cf53..f9505ef 100644 --- a/src/lib/search/test/shareDownload.test.ts +++ b/src/lib/search/test/shareDownload.test.ts @@ -30,6 +30,7 @@ const ref = ( identity: {}, entityGroups: null, operations: [], + assumptions: null, contentVersion, artifactDigest, }) satisfies SearchShareRef; diff --git a/src/lib/search/test/versionLink.test.ts b/src/lib/search/test/versionLink.test.ts index 839376f..c75e4fd 100644 --- a/src/lib/search/test/versionLink.test.ts +++ b/src/lib/search/test/versionLink.test.ts @@ -76,6 +76,7 @@ test('outcomeFromDocument opens a version as a snapshot share dated by its earli identity, entityGroups: null, operations: [], + assumptions: null, contentVersion: 'cv_b2', }, ], diff --git a/src/lib/search/test/view.test.ts b/src/lib/search/test/view.test.ts index 021e4cf..2c105b9 100644 --- a/src/lib/search/test/view.test.ts +++ b/src/lib/search/test/view.test.ts @@ -1681,8 +1681,13 @@ test("a single-part entity_ambiguous plan routes its wording token to that wordi assert.equal(partIndex, 0); assert.equal(wording.role, 'origin'); assert.deepEqual( - ambiguousWordingGroup(wording, response.parts[0].no_data)?.candidates.map((c) => c.ref), - ['InternationalBankForReconstructionAndDevelopment', 'InternationalDevelopmentAssociation'], + ambiguousWordingGroup(wording, response.parts[0].no_data)?.options.map( + (option) => option.label, + ), + [ + 'International Bank for Reconstruction and Development', + 'International Development Association', + ], ); }); @@ -1724,14 +1729,14 @@ test("ambiguousEntityMenuTitle titles the menu by the ambiguous wording's role", test('ambiguousEntityMenuTitle names every ambiguous wording a shared menu offers', () => { const part = normalizeResponse(fixtures['entity-ambiguous']).parts[0]; - const [congo] = part.no_data.ambiguous_entities; + const [congo] = part.no_data.options; const bothAmbiguous = { ...part, no_data: { ...part.no_data, - ambiguous_entities: [ - { ...congo, text: 'World Bank' }, - { ...congo, text: 'Georgia' }, + options: [ + { ...congo, mentions: ['World Bank'] }, + { ...congo, mentions: ['Georgia'] }, ], }, restatement: { diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index e4da3ed..907dcba 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -1485,9 +1485,9 @@ export interface NoData { * One ready request per choice of an entity_ambiguous, source_ambiguous, * source_code_ambiguous, role_not_resolved or unit_not_resolved refusal, * in query then candidate order; empty for every other reason. It can - * list fewer entries than the candidates. The site's entity pick pins - * the part's `restatement` instead (parsedEdit.ts's - * buildAmbiguousPickPart). + * list fewer entries than the candidates. The site's entity picker + * lists these options and posts the chosen one's part unchanged + * (parsedEdit.ts entityChoiceGroups). */ options?: NoDataOption[]; /** Terms the engine refused to silently drop before answering. Present diff --git a/src/lib/search/versionLink.ts b/src/lib/search/versionLink.ts index 70c8445..c60915e 100644 --- a/src/lib/search/versionLink.ts +++ b/src/lib/search/versionLink.ts @@ -166,6 +166,7 @@ export const outcomeFromDocument = ( // A dataset document holds the definition alone. entityGroups: null, operations: [], + assumptions: null, contentVersion: link.contentVersion, }, ], diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index 2e56799..70ac3e0 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -11,11 +11,12 @@ import { spaceCamel } from '../spaceCamel.ts'; import type { MemberRef, MembersRead } from './definitionMembers.ts'; import { coverageRichness, coverageState, partitionOptions } from './optionCoverage.ts'; import type { OperationProgress } from './operationPoll'; +import { entityChoiceGroups } from './parsedEdit.ts'; +import type { EntityChoiceGroup } from './parsedEdit.ts'; import { entityOptionDcid } from './pickerState.ts'; import type { OptionLike } from './pickerState.ts'; import type { ApiError, EntityOption } from './searchClient'; import type { - AmbiguousEntityGroup, Assumption, EntityOptions, EntityRoleKey, @@ -2478,7 +2479,7 @@ const ambiguousEntityNoun = (restatement: ParsedPart | null | undefined, text: s export const ambiguousEntityMenuTitle = ( part: { no_data?: NoData | null; restatement?: ParsedPart | null } | null | undefined, ): string => { - const groups = part?.no_data?.ambiguous_entities ?? []; + const groups = entityChoiceGroups(part?.no_data); if (groups.length === 0) { return 'Select Place'; @@ -2492,27 +2493,27 @@ export const ambiguousEntityMenuTitle = ( }; /** - * The ambiguous wording an entity_ambiguous part's slot token renders, or - * null for any other token. The engine marks each wording as a `slot` token - * with no `entity_refs` or `binding_ref`, the role the request gave it, and - * text equal to one `no_data.ambiguous_entities` group's text (dfo-apis - * search/render/no_data.py). The part's own variable slot is never one. + * The ambiguous wording an entity_ambiguous part's slot token renders, with + * the options that settle it (entityChoiceGroups), or null for any other + * token. The engine marks each wording as a `slot` token with no + * `entity_refs` or `binding_ref`, the role the request gave it, and text + * equal to the wording (dfo-apis search/render/no_data.py). The part's own + * variable slot is never one. */ export const ambiguousWordingGroup = ( token: SentenceToken, noData: NoData | null | undefined, -): AmbiguousEntityGroup | null => { +): EntityChoiceGroup | null => { if ( token.kind !== 'slot' || token.axis === 'what' || token.binding_ref || - token.entity_refs?.length || - noData?.reason !== 'entity_ambiguous' + token.entity_refs?.length ) { return null; } - return noData.ambiguous_entities?.find((group) => group.text === token.text) ?? null; + return entityChoiceGroups(noData).find((group) => group.text === token.text) ?? null; }; // Values render exactly as the engine sent them — US-style separators, From 6994ebda8961a826e8d73a17187b76882bef287f Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Tue, 20 Oct 2026 23:50:09 +0200 Subject: [PATCH 05/24] fix(search): refuse a share whose assumptions Search would refuse `isAssumption` checked an echoed assumption's shape but none of Search's bounds, so a share could store a text past 200 code points, two refs or 68 items, and every replay of it failed with `request_invalid`. The share request now applies Search's bounds on `Assumption` and on a part's list, as it does for `EntityGroup`. --- src/lib/search/searchShareRequest.ts | 26 ++++++++++++++++--- .../search/test/searchShareRequest.test.ts | 6 +++++ 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/lib/search/searchShareRequest.ts b/src/lib/search/searchShareRequest.ts index ee72cb3..715b06e 100644 --- a/src/lib/search/searchShareRequest.ts +++ b/src/lib/search/searchShareRequest.ts @@ -92,6 +92,16 @@ const ASSUMPTION_KINDS: string[] = [ 'place_scope', ] satisfies AssumptionKind[]; +// Search's own bounds on an echoed `Assumption`: a text of 1 to 200 code +// points, at most one ref of at most 1024 characters, a binding ref of at +// most 1036 characters, and at most 67 items in a part's list. A share +// storing one past them cannot open. +const ASSUMPTION_TEXT_MAX_LENGTH = 200; +const ASSUMPTION_MAX_REFS = 1; +const ASSUMPTION_REF_MAX_LENGTH = 1024; +const ASSUMPTION_BINDING_REF_MAX_LENGTH = 1036; +const ASSUMPTIONS_MAX = 67; + const isAssumption = (value: any): value is Assumption => isPlainObject(value) && Object.keys(value).every((member) => @@ -99,9 +109,17 @@ const isAssumption = (value: any): value is Assumption => ) && ASSUMPTION_KINDS.includes(value.kind) && typeof value.binding_ref === 'string' && + value.binding_ref.length <= ASSUMPTION_BINDING_REF_MAX_LENGTH && Array.isArray(value.refs) && - value.refs.every((ref: unknown) => typeof ref === 'string') && - typeof value.text === 'string'; + value.refs.length <= ASSUMPTION_MAX_REFS && + value.refs.every( + (ref: unknown) => typeof ref === 'string' && ref.length <= ASSUMPTION_REF_MAX_LENGTH, + ) && + typeof value.text === 'string' && + value.text.length > 0 && + // A text within the bound spans at most two UTF-16 units per code point. + value.text.length <= ASSUMPTION_TEXT_MAX_LENGTH * 2 && + [...value.text].length <= ASSUMPTION_TEXT_MAX_LENGTH; export const isSearchSharePart = (value: any): value is SearchSharePart => !!value && @@ -117,7 +135,9 @@ export const isSearchSharePart = (value: any): value is SearchSharePart => (value.entityGroups == null || isEntityGroups(value.entityGroups)) && Array.isArray(value.operations) && (value.assumptions == null || - (Array.isArray(value.assumptions) && value.assumptions.every(isAssumption))) && + (Array.isArray(value.assumptions) && + value.assumptions.length <= ASSUMPTIONS_MAX && + value.assumptions.every(isAssumption))) && !!value.definition && typeof value.definition === 'object'; diff --git a/src/lib/search/test/searchShareRequest.test.ts b/src/lib/search/test/searchShareRequest.test.ts index 3501549..c70cef3 100644 --- a/src/lib/search/test/searchShareRequest.test.ts +++ b/src/lib/search/test/searchShareRequest.test.ts @@ -117,6 +117,12 @@ test('a part reads with its assumptions, [] and null included, and a malformed o [{ ...oda, refs: [27] }], [{ ...oda, text: null }], [{ ...oda, note: 'extra' }], + [{ ...oda, text: '' }], + [{ ...oda, text: 'a'.repeat(201) }], + [{ ...oda, refs: ['ODA', 'OOF'] }], + [{ ...oda, refs: ['r'.repeat(1025)] }], + [{ ...oda, binding_ref: 'b'.repeat(1037) }], + Array.from({ length: 68 }, () => scope), ]) { assert.equal(reads(malformed), undefined, JSON.stringify(malformed)); } From 04c33d237a1c0515333b3e938c80ed811708ed7d Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 00:47:59 +0200 Subject: [PATCH 06/24] fix(search): echo the picked reading's own assumptions, and each reading's on a candidates entry A candidates part's `assumptions` holds only what its readings share, and a pick echoed that list, so the picked answer dropped the reading's own open role or place scope. A pick (`candidatePickEntry`) now echoes `reading_assumptions[spec_id]`, a candidates entry echoes each reading's list on its candidate, and a reading the response gives no list for posts no echo. Only a definite part's identity entry echoes the part's own list: an edit of a no_data part reads fresh. `types.ts` mirrors `CandidatesPart.reading_assumptions` and `ResubmitCandidate.assumptions`, and the `AssumptionKind` comment uses the API's wording for an open role. --- .../organisms/DataSearch/useSearchRun.ts | 14 ++- src/lib/search/datasetEntries.ts | 58 +++++++++-- src/lib/search/test/datasetEntries.test.ts | 99 ++++++++++++++++++- src/lib/search/types.ts | 29 ++++-- 4 files changed, 183 insertions(+), 17 deletions(-) diff --git a/src/components/organisms/DataSearch/useSearchRun.ts b/src/components/organisms/DataSearch/useSearchRun.ts index 4163ec4..59b865d 100644 --- a/src/components/organisms/DataSearch/useSearchRun.ts +++ b/src/components/organisms/DataSearch/useSearchRun.ts @@ -151,6 +151,7 @@ import { withEntityEdit, withFacetEdit, withResolvedSlotEdit } from '@/lib/searc import type { PermalinkEdit, PermalinkState } from '@/lib/search/permalink'; import { buildDatasetEntries, + candidatePickEntry, sharedRefEntry, specEntityGroups, type DatasetEntriesOverride, @@ -1174,14 +1175,19 @@ export const useSearchRun = () => { [facetOverride, runDatasetEdit], ); - // Candidate promote: post the candidate's own identity verbatim. + // Candidate promote: post the candidate's own identity verbatim, with + // its reading's own assumptions. const pickCandidate = useCallback( - (partIndex: number, candidate: any) => { - const entry = identityOverrideEntry(partIndex, candidate, candidate.identity); + (partIndex: number, candidate: Spec) => { + const part = parts[partIndex]; + + if (!part) return; + + const entry = candidatePickEntry(part, candidate); runDatasetEdit({ index: partIndex, entry }, [partIndex], 'pick'); }, - [identityOverrideEntry, runDatasetEdit], + [parts, runDatasetEdit], ); // One post for every part a pick switches: a shared unit token's diff --git a/src/lib/search/datasetEntries.ts b/src/lib/search/datasetEntries.ts index 4905116..03bed80 100644 --- a/src/lib/search/datasetEntries.ts +++ b/src/lib/search/datasetEntries.ts @@ -15,7 +15,10 @@ * `operations`, so an edit keeps what the question asked of the data (a * `parsed` entry's part carries its own), and * every identity entry carries its part's `assumptions` as the response gave - * them, so an edit that leaves a declared default's slot alone keeps it. + * them, so an edit that leaves a declared default's slot alone keeps it. A + * candidates part's own `assumptions` are only what its readings share, so a + * pick and each candidate echo their reading's `reading_assumptions` list + * instead. */ import type { @@ -103,6 +106,35 @@ function identityEntryFor(part: HydratedPart): DatasetIdentityEntry { }; } +/** A reading's own assumptions on a candidates part as an entry member: + * `reading_assumptions[spec_id]`, [] included. A response without the + * field or the key echoes nothing, so the engine computes them fresh. */ +function readingAssumptions( + part: HydratedPart, + spec: Pick, +): { assumptions?: Assumption[] } { + const assumptions = part.part?.reading_assumptions?.[spec.spec_id]; + + return assumptions ? { assumptions } : {}; +} + +/** The `identity` entry a pick of `spec` on a candidates part posts: the + * reading's identity, its groups beside it, and the reading's own + * assumptions (see `readingAssumptions`). */ +export function candidatePickEntry(part: HydratedPart, spec: Spec): DatasetIdentityEntry { + if (!spec.identity) { + throw new Error(`candidatePickEntry: part ${part.index} picked a spec with no identity`); + } + + return { + entry_kind: 'identity', + variable_text: part.variableText ?? '', + identity: spec.identity, + ...specEntityGroups(spec), + ...readingAssumptions(part, spec), + }; +} + function candidatesEntryFor(part: HydratedPart): DatasetCandidatesEntry { const candidateSet = part.part?.candidates; if (!candidateSet) { @@ -115,7 +147,11 @@ function candidatesEntryFor(part: HydratedPart): DatasetCandidatesEntry { `buildDatasetEntries: part ${part.index} has a candidate spec with no identity`, ); } - return { identity: spec.identity, ...specEntityGroups(spec) }; + return { + identity: spec.identity, + ...specEntityGroups(spec), + ...readingAssumptions(part, spec), + }; }); return { @@ -202,13 +238,23 @@ function withOperations(entry: DatasetResubmitEntry, part: HydratedPart): Datase return { ...entry, operations }; } -/** An identity `entry` with its part's assumptions echoed, unchanged. The - * engine decides which still hold after the edit. Every other entry kind, - * and a part with none, leaves the entry as it is. */ +/** An identity `entry` with its definite part's assumptions echoed, + * unchanged. The engine decides which still hold after the edit. Every + * other entry kind, and a part with none, leaves the entry as it is. So + * does any other part: a candidates part's `assumptions` hold only what its + * readings share, and an identity entry there is a pick, which carries its + * reading's own list; a no_data part assumed nothing because it answered + * nothing, so its edit reads fresh. */ function withAssumptions(entry: DatasetResubmitEntry, part: HydratedPart): DatasetResubmitEntry { const assumptions = part.part?.assumptions; - if (entry.entry_kind !== 'identity' || assumptions === undefined) return entry; + if ( + entry.entry_kind !== 'identity' || + part.part?.status !== 'definite' || + assumptions === undefined + ) { + return entry; + } return { ...entry, assumptions }; } diff --git a/src/lib/search/test/datasetEntries.test.ts b/src/lib/search/test/datasetEntries.test.ts index 4476043..cb19430 100644 --- a/src/lib/search/test/datasetEntries.test.ts +++ b/src/lib/search/test/datasetEntries.test.ts @@ -1,10 +1,12 @@ import assert from 'node:assert/strict'; import test from 'node:test'; -import { buildDatasetEntries, sharedRefEntry } from '../datasetEntries.ts'; +import { buildDatasetEntries, candidatePickEntry, sharedRefEntry } from '../datasetEntries.ts'; import { withEntityEdit } from '../promote.ts'; import { normalizeResponse, restorePlaceholderParts } from '../searchClient.ts'; import type { + Assumption, + DatasetCandidatesEntry, DatasetIdentityEntry, DatasetParsedEntry, HydratedPart, @@ -131,6 +133,17 @@ test('buildDatasetEntries echoes an empty assumptions list, which states none', assert.deepEqual(entry.assumptions, []); }); +test('an identity edit of a no_data part posts no echo, so the edit reads fresh', () => { + const [own] = buildDatasetEntries(hydratedParts('definite-single')) as DatasetIdentityEntry[]; + const [refused] = hydratedParts('entity-ambiguous'); + const stated: HydratedPart = { ...refused, part: { ...refused.part!, assumptions: [] } }; + const override: DatasetIdentityEntry = { ...own, assumptions: undefined }; + const [entry] = buildDatasetEntries([stated], { index: 0, entry: override }); + + assert.equal(stated.part?.status, 'no_data'); + assert.equal((entry as DatasetIdentityEntry).assumptions, undefined); +}); + test('buildDatasetEntries leaves assumptions off a response without them and off every other entry kind', () => { const [definite] = buildDatasetEntries(hydratedParts('definite-single')); const [candidates] = hydratedParts('multi-candidate'); @@ -148,6 +161,90 @@ test('buildDatasetEntries leaves assumptions off a response without them and off assert.equal('assumptions' in buildDatasetEntries([assumed])[0], false); }); +const everyPlace: Assumption = { + kind: 'place_scope', + binding_ref: 'where:', + refs: [], + text: 'every place', +}; +const everyProvider: Assumption = { + kind: 'open_role', + binding_ref: 'origin:', + refs: [], + text: 'every provider', +}; + +/** The multi-candidate part with `reading_assumptions` as given: the first + * reading reads an open role the second lacks, so the part's own list holds + * only the place scope both share. */ +function candidatesWithReadings( + readings: (specIds: string[]) => Record | undefined, +): HydratedPart { + const [part] = hydratedParts('multi-candidate'); + const specIds = part.part!.candidates!.specs.map((spec) => spec.spec_id); + + return { + ...part, + part: { + ...part.part!, + assumptions: [everyPlace], + reading_assumptions: readings(specIds), + }, + }; +} + +const twoReadings = ([first, second]: string[]) => ({ + [first]: [everyProvider, everyPlace], + [second]: [everyPlace], +}); + +test("a pick echoes the picked reading's own assumptions, not the readings' shared list", () => { + const part = candidatesWithReadings(twoReadings); + const [first, second] = part.part!.candidates!.specs; + + for (const [spec, expected] of [ + [first, [everyProvider, everyPlace]], + [second, [everyPlace]], + ] as const) { + const entry = candidatePickEntry(part, spec); + const [posted] = buildDatasetEntries([part], { index: 0, entry }); + + assert.equal(posted.entry_kind, 'identity'); + assert.deepEqual((posted as DatasetIdentityEntry).identity, spec.identity); + assert.deepEqual((posted as DatasetIdentityEntry).assumptions, expected); + } +}); + +test("a candidates entry echoes each reading's own assumptions on its candidate", () => { + const [entry] = buildDatasetEntries([candidatesWithReadings(twoReadings)]); + + assert.equal(entry.entry_kind, 'candidates'); + assert.deepEqual( + (entry as DatasetCandidatesEntry).candidates.map((candidate) => candidate.assumptions), + [[everyProvider, everyPlace], [everyPlace]], + ); +}); + +test('a reading the response gives no list for posts no echo, on a pick or a candidate', () => { + for (const part of [ + candidatesWithReadings(() => undefined), + candidatesWithReadings(([first]) => ({ [first]: [] })), + ]) { + const specs = part.part!.candidates!.specs; + const pick = candidatePickEntry(part, specs[1]); + const [posted] = buildDatasetEntries([part], { index: 0, entry: pick }); + const [entry] = buildDatasetEntries([part]) as DatasetCandidatesEntry[]; + + assert.equal('assumptions' in posted, false); + assert.equal('assumptions' in entry.candidates[1], false); + } + + const stated = candidatesWithReadings(([first]) => ({ [first]: [] })); + const [entry] = buildDatasetEntries([stated]) as DatasetCandidatesEntry[]; + + assert.deepEqual(entry.candidates[0].assumptions, []); +}); + test('buildDatasetEntries leaves operations off a part that has none', () => { const [entry] = buildDatasetEntries(hydratedParts('definite-single')); diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index 907dcba..ea1c2a6 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -1219,10 +1219,11 @@ export interface LateDepartures { /** What an `Assumption` fills (dfo-apis vocab.py AssumptionKind): * 'declared_default', a slot the request left open that its code system's - * or shape's declared default fixed; 'open_role', a flow role the request - * named no entity on, read as the total over every entity on it; - * 'place_scope', a request that named no place, read across every place - * with data. */ + * or shape's declared default fixed; 'open_role', a flow role no request + * word asked for, read across every entity on it with data: one series per + * member where the role scope default filled it and the shape declares the + * role, else the total over them; 'place_scope', a request that named no + * place, read across every place with data. */ export type AssumptionKind = 'declared_default' | 'open_role' | 'place_scope'; /** One value a part's answer filled that its request did not ask for. @@ -1706,13 +1707,20 @@ export interface WirePart { departures: Departure[]; /** every value the answer filled that the request did not ask for, in * clause order: declared defaults, open roles, then the place scope; - * [] on no_data and unsupported */ + * on a candidates part, the items every `reading_assumptions` list holds + * alike; [] on no_data and unsupported */ assumptions?: Assumption[]; status: ResolveStatus | 'unsupported'; /** present iff status === "definite" */ spec?: WireSpec; /** present iff status === "candidates" */ candidates?: WireCandidateSet; + /** candidates only: each shown reading's own assumptions, keyed by its + * Spec's spec_id, as a definite part answering that Spec would carry + * them; [] for a reading that assumes nothing. A pick echoes the picked + * reading's list on its identity entry, and a candidates entry echoes + * each reading's list on its candidate. */ + reading_assumptions?: Record; /** present iff status === "no_data" */ no_data?: WireNoData; /** present iff status === "unsupported" */ @@ -1751,6 +1759,9 @@ export interface Part { spec?: Spec; /** present iff status === "candidates" */ candidates?: CandidateSet; + /** candidates only: each shown reading's own assumptions, keyed by + * spec_id (see WirePart.reading_assumptions) */ + reading_assumptions?: Record; /** present iff status === "no_data" */ no_data?: NoData; /** present iff status === "unsupported" */ @@ -1943,7 +1954,8 @@ export interface ParsedPart { // status; a typed edit or an entity_ambiguous pick builds one directly and // passes it in as an override. Every entry carries its part's `operations` // back, and the engine echoes them onto the rebuilt part. An identity entry -// also carries its part's `assumptions`. +// also carries its part's `assumptions` (a picked reading's own list on a +// candidates part), and each candidate its reading's. // --------------------------------------------------------------------------- /** A definite part's entry: the complete identity the part should resolve @@ -1973,6 +1985,11 @@ export interface DatasetIdentityEntry { export interface DatasetCandidateIdentity { identity: BaseIdentity; entity_groups?: Record | null; + /** the reading's `reading_assumptions` list, echoed as the response gave + * it, [] included, by the rule `DatasetIdentityEntry.assumptions` states; + * absent, the engine computes the reading's assumptions as for a fresh + * request. */ + assumptions?: Assumption[]; } /** A candidates part's entry: `ordering`/`truncated` echoed verbatim from the From 434faea423e9665c9b29d943669fe92144dc8236 Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 00:57:11 +0200 Subject: [PATCH 07/24] fix(search): keep an edit's assumptions echo through a permalink A permalink rebuilt each identity entry from four fields and dropped its `assumptions`, so a reloaded candidates pick, which echoes its reading's own list, replayed with no echo and stated no declared default. `replayableEntry` keeps the echo, `[]` included, when it passes the share request's validator (`isAssumptions`, now shared), and drops an echo Search would refuse. --- src/lib/search/permalink.ts | 9 ++++- src/lib/search/searchShareRequest.ts | 10 +++-- src/lib/search/test/permalink.test.ts | 53 +++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 6 deletions(-) diff --git a/src/lib/search/permalink.ts b/src/lib/search/permalink.ts index f7b0e93..2946dad 100644 --- a/src/lib/search/permalink.ts +++ b/src/lib/search/permalink.ts @@ -18,6 +18,7 @@ * run anyway. */ +import { isAssumptions } from './searchShareRequest.ts'; import type { DatasetIdentityEntry, DatasetParsedEntry } from './types'; const PREFIX_DEFLATE = 'd.'; @@ -123,11 +124,14 @@ const isReplayableEditEntryKind = (kind: unknown): kind is PermalinkEdit['entry' /** An identity entry as the door takes it today. A link stored before the * door derived membership from the identity also carries the base it was - * edited from and the StatVars it served, which the door refuses. */ + * edited from and the StatVars it served, which the door refuses. The + * entry's `assumptions` echo survives as stored, [] included, when Search + * would take it; a list it would refuse is dropped, and the engine then + * states the part's assumptions as for a fresh request. */ const replayableEntry = (entry: PermalinkEdit['entry']): PermalinkEdit['entry'] => { if (entry.entry_kind !== 'identity') return entry; - const { variable_text, identity, entity_groups, operations } = entry; + const { variable_text, identity, entity_groups, operations, assumptions } = entry; return { entry_kind: 'identity', @@ -135,6 +139,7 @@ const replayableEntry = (entry: PermalinkEdit['entry']): PermalinkEdit['entry'] identity, ...(entity_groups ? { entity_groups } : {}), ...(operations ? { operations } : {}), + ...(isAssumptions(assumptions) ? { assumptions } : {}), }; }; diff --git a/src/lib/search/searchShareRequest.ts b/src/lib/search/searchShareRequest.ts index 715b06e..22d0e45 100644 --- a/src/lib/search/searchShareRequest.ts +++ b/src/lib/search/searchShareRequest.ts @@ -121,6 +121,11 @@ const isAssumption = (value: any): value is Assumption => value.text.length <= ASSUMPTION_TEXT_MAX_LENGTH * 2 && [...value.text].length <= ASSUMPTION_TEXT_MAX_LENGTH; +/** A part's echoed list as Search takes it: within the item cap, every item + * an `Assumption` within its bounds. */ +export const isAssumptions = (value: any): value is Assumption[] => + Array.isArray(value) && value.length <= ASSUMPTIONS_MAX && value.every(isAssumption); + export const isSearchSharePart = (value: any): value is SearchSharePart => !!value && typeof value === 'object' && @@ -134,10 +139,7 @@ export const isSearchSharePart = (value: any): value is SearchSharePart => !Object.hasOwn(value.identity, 'entity_groups') && (value.entityGroups == null || isEntityGroups(value.entityGroups)) && Array.isArray(value.operations) && - (value.assumptions == null || - (Array.isArray(value.assumptions) && - value.assumptions.length <= ASSUMPTIONS_MAX && - value.assumptions.every(isAssumption))) && + (value.assumptions == null || isAssumptions(value.assumptions)) && !!value.definition && typeof value.definition === 'object'; diff --git a/src/lib/search/test/permalink.test.ts b/src/lib/search/test/permalink.test.ts index b1232a5..4a4c353 100644 --- a/src/lib/search/test/permalink.test.ts +++ b/src/lib/search/test/permalink.test.ts @@ -3,6 +3,21 @@ import test from 'node:test'; import { decodePermalinkState, encodePermalinkState, encodeSearchState } from '../permalink.ts'; import type { PermalinkEdit, PermalinkState } from '../permalink.ts'; +import type { Assumption } from '../types.ts'; + +const declaredDefault: Assumption = { + kind: 'declared_default', + binding_ref: 'how:typeofflow', + refs: ['TypeOfFlow_ODA'], + text: 'official development assistance', +}; + +const openProviders: Assumption = { + kind: 'open_role', + binding_ref: 'origin:', + refs: [], + text: 'every provider', +}; const identityEdit: PermalinkEdit = { part: 0, @@ -58,6 +73,22 @@ test('a PermalinkState round-trips through encode/decode -- a multi-dcid identit edit: multiEntityEdit, }, { description: 'a parsed-only edit', query: 'donor spending', edit: parsedEdit }, + { + description: "a reloaded pick's assumptions echo", + query: 'ODA disbursements', + edit: { + ...identityEdit, + entry: { ...identityEdit.entry, assumptions: [declaredDefault, openProviders] }, + } as PermalinkEdit, + }, + { + description: 'an empty assumptions echo, which states no default', + query: 'ODA disbursements', + edit: { + ...identityEdit, + entry: { ...identityEdit.entry, assumptions: [] }, + } as PermalinkEdit, + }, { description: 'an old identity-only ?s= payload', query: 'ODA disbursements', @@ -115,3 +146,25 @@ test('an identity edit stored with its base and StatVars decodes to the identity assert.deepEqual(decoded, { query: stored.query, edits: [identityEdit] }); }); + +test('an assumptions echo Search would refuse is dropped and the edit still replays', async () => { + const tooMany = Array.from({ length: 68 }, () => declaredDefault); + const refused = [ + { description: 'an unknown kind', echo: [{ ...declaredDefault, kind: 'guess' }] }, + { description: 'a missing text', echo: [{ ...declaredDefault, text: '' }] }, + { description: 'an extra member', echo: [{ ...declaredDefault, extra: 1 }] }, + { description: 'a list past the cap', echo: tooMany }, + { description: 'a list that is not an array', echo: declaredDefault }, + { description: 'a null echo', echo: null }, + ]; + + for (const { description, echo } of refused) { + const stored = { + query: 'ODA disbursements', + edits: [{ ...identityEdit, entry: { ...identityEdit.entry, assumptions: echo } }], + }; + const decoded = await decodePermalinkState(await encodeSearchState(stored)); + + assert.deepEqual(decoded, { query: stored.query, edits: [identityEdit] }, description); + } +}); From 01638a64dd90fba468994b3f39bc90622f526b15 Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 01:16:43 +0200 Subject: [PATCH 08/24] fix(search): keep a replayed edit's own assumptions echo A permalink replay posts each stored edit with the echo it was posted with. `withAssumptions` overwrote that echo with the fresh part's list, so an edit that had narrowed the list (a flow set back to ODA after an edit to OOF posts `[]`) replayed with the default stated again. An identity entry that already carries `assumptions` now keeps them; a live edit's entry carries none and still takes its part's list. --- src/lib/search/datasetEntries.ts | 16 ++++++++++------ src/lib/search/test/datasetEntries.test.ts | 12 ++++++++++++ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/lib/search/datasetEntries.ts b/src/lib/search/datasetEntries.ts index 03bed80..1a6b1be 100644 --- a/src/lib/search/datasetEntries.ts +++ b/src/lib/search/datasetEntries.ts @@ -239,17 +239,21 @@ function withOperations(entry: DatasetResubmitEntry, part: HydratedPart): Datase } /** An identity `entry` with its definite part's assumptions echoed, - * unchanged. The engine decides which still hold after the edit. Every - * other entry kind, and a part with none, leaves the entry as it is. So - * does any other part: a candidates part's `assumptions` hold only what its - * readings share, and an identity entry there is a pick, which carries its - * reading's own list; a no_data part assumed nothing because it answered - * nothing, so its edit reads fresh. */ + * unchanged. The engine decides which still hold after the edit. An entry + * that already carries an echo keeps it: a permalink replay posts each + * stored edit with the echo it was posted with, which a later edit may have + * narrowed below the fresh part's list. Every other entry kind, and a part + * with none, leaves the entry as it is. So does any other part: a + * candidates part's `assumptions` hold only what its readings share, and an + * identity entry there is a pick, which carries its reading's own list; a + * no_data part assumed nothing because it answered nothing, so its edit + * reads fresh. */ function withAssumptions(entry: DatasetResubmitEntry, part: HydratedPart): DatasetResubmitEntry { const assumptions = part.part?.assumptions; if ( entry.entry_kind !== 'identity' || + entry.assumptions !== undefined || part.part?.status !== 'definite' || assumptions === undefined ) { diff --git a/src/lib/search/test/datasetEntries.test.ts b/src/lib/search/test/datasetEntries.test.ts index cb19430..9efefa3 100644 --- a/src/lib/search/test/datasetEntries.test.ts +++ b/src/lib/search/test/datasetEntries.test.ts @@ -125,6 +125,18 @@ test("buildDatasetEntries echoes a part's assumptions on its identity entry, an assert.deepEqual((edited as DatasetIdentityEntry).assumptions, assumptions); }); +test("an edit that carries its own echo keeps it over the part's list", () => { + const parts = hydratedParts('broad-truncated'); + const [own] = buildDatasetEntries(parts) as DatasetIdentityEntry[]; + const [replayed] = buildDatasetEntries(parts, { + index: 0, + entry: { ...own, assumptions: [] }, + }) as DatasetIdentityEntry[]; + + assert.ok(parts[0].part?.assumptions?.length); + assert.deepEqual(replayed.assumptions, []); +}); + test('buildDatasetEntries echoes an empty assumptions list, which states none', () => { const [part] = hydratedParts('definite-single'); const stated: HydratedPart = { ...part, part: { ...part.part!, assumptions: [] } }; From 2283269a6eb3a9d7db684e76908869d67415324e Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 01:45:34 +0200 Subject: [PATCH 09/24] fix(search): draw a mixed answer's coverage line apart from its heading Search sends "Answered N of M parts." as tokens of its own `coverage` segment (DevelopmentFinanceObservatory/apis `feat/search-answer-statements`). The answer block draws it as a muted lead above the `

`, beside "Closest match", and `planSentenceText` reads heading tokens only, so the heading's accessible name, the run label and the Studio hand-off question no longer open with the coverage line. `planCoverageText` reads it. --- .../DataSearch/DataSearch.module.scss | 2 ++ .../organisms/DataSearch/SearchSentence.tsx | 7 +++-- src/lib/search/sentencePlan.ts | 27 ++++++++++++++----- src/lib/search/test/departures.test.ts | 27 +++++++++++-------- src/lib/search/types.ts | 14 +++++----- 5 files changed, 51 insertions(+), 26 deletions(-) diff --git a/src/components/organisms/DataSearch/DataSearch.module.scss b/src/components/organisms/DataSearch/DataSearch.module.scss index 63837b9..9ebc703 100644 --- a/src/components/organisms/DataSearch/DataSearch.module.scss +++ b/src/components/organisms/DataSearch/DataSearch.module.scss @@ -273,6 +273,7 @@ $table-head-cover: rem(48); // The muted lead above a heading that shows the nearest measure the data // holds. +.coverageLead, .closestLead { @include font-size(14px, 1.3); @@ -354,6 +355,7 @@ $table-head-cover: rem(48); } @media (prefers-reduced-motion: reduce) { + .coverageLead, .closestLead, .byline, .departures, diff --git a/src/components/organisms/DataSearch/SearchSentence.tsx b/src/components/organisms/DataSearch/SearchSentence.tsx index e3c3aeb..865a27f 100644 --- a/src/components/organisms/DataSearch/SearchSentence.tsx +++ b/src/components/organisms/DataSearch/SearchSentence.tsx @@ -58,7 +58,7 @@ import { } from '@/lib/search/pickerState'; import { spliceSentence } from '@/lib/search/refine'; import { keyRef } from '@/lib/search/searchClient'; -import { planSentenceText, tokenPart } from '@/lib/search/sentencePlan'; +import { planCoverageText, planSentenceText, tokenPart } from '@/lib/search/sentencePlan'; import type { EntityRoleKey, GraphRef, @@ -673,7 +673,8 @@ const lowerFirst = (text: string): string => /^[A-Z][a-z]/.test(text) ? text.charAt(0).toLowerCase() + text.slice(1) : text; // The answer block over every part of the resolve response, from the -// envelope's own composed `sentence_plan`: a muted "Closest match" lead when +// envelope's own composed `sentence_plan`: a muted coverage lead ("Answered +// 1 of 2 parts.") on a mixed answer, a muted "Closest match" lead when // a part shows the nearest measure, the heading tokens inside the page's one //

, the byline (unit and source) in a

after it, every part's // departures as a list, each with the one action it offers, and the @@ -1988,6 +1989,7 @@ export const SearchSentenceHeading = ({ const closestParts = answerParts.filter( (part) => part.part?.status !== 'candidates' && isClosestMatch(part.part), ); + const coverageLead = response ? planCoverageText(rawPlan) : ''; const closestLead = closestParts.length === 0 ? null @@ -2095,6 +2097,7 @@ export const SearchSentenceHeading = ({ return ( <> + {coverageLead &&

{coverageLead}

} {closestLead &&

{closestLead}

}

token.segment === 'heading') +const segmentText = ( + plan: readonly SentenceToken[] | null | undefined, + segment: SentenceToken['segment'], +): string => + (plan ?? []) + .filter((token) => token.segment === segment) .map((token) => token.text) .join('') .trim(); + +/** The heading a plan reads as: its heading tokens joined verbatim, since + * the engine's tokens carry their own spacing, and trimmed. The coverage + * line, byline (unit and source), departure and assumption tokens are left + * out. Empty for a missing plan. */ +export function planSentenceText(plan: readonly SentenceToken[] | null | undefined): string { + return segmentText(plan, 'heading'); +} + +/** The coverage line a mixed answer's plan opens with ("Answered 1 of 2 + * parts."), its coverage tokens joined and trimmed. Empty when the plan has + * none. */ +export function planCoverageText(plan: readonly SentenceToken[] | null | undefined): string { + return segmentText(plan, 'coverage'); } diff --git a/src/lib/search/test/departures.test.ts b/src/lib/search/test/departures.test.ts index 2030cff..2ec0638 100644 --- a/src/lib/search/test/departures.test.ts +++ b/src/lib/search/test/departures.test.ts @@ -11,7 +11,7 @@ import { statingTokenIndex, } from '../departures.ts'; import { normalizeResponse } from '../searchClient.ts'; -import { planSentenceText } from '../sentencePlan.ts'; +import { planCoverageText, planSentenceText } from '../sentencePlan.ts'; import { fixtures } from './fixtures/index.ts'; import { noDataResponse, wireSpec } from './fixtures/no-data.ts'; import { servedAnswer } from './fixtures/served-answer.ts'; @@ -173,8 +173,8 @@ test("assumptionClauses names each part's own clause when the plan is written pa test('assumptionClauses labels a clause by the owner of its lead token', () => { // A definite part beside a candidates part: one byline, two owned clauses. const definiteAndCandidates = [ - token('Answered 1 of 2 parts.', 'heading', null), - token(' ', 'heading', null), + token('Answered 1 of 2 parts.', 'coverage', null), + token(' ', 'coverage', null), token('Aid to Kenya', 'heading', 0), token('.', 'heading', 0), token(' ', 'byline', 0), @@ -227,25 +227,30 @@ test('assumptionClauses labels a clause by the owner of its lead token', () => { ]); }); -test("a mixed answer's opener reads as plain heading text before the first part's heading", () => { +test("a mixed answer's coverage line is its own block, left out of the heading text", () => { const plan = [ - token('Answered 1 of 2 parts.', 'heading', null), - token(' ', 'heading', null), + token('Answered 1 of 2 parts.', 'coverage', null), + token(' ', 'coverage', null), { kind: 'slot', text: 'Aid to Kenya', axis: 'what', segment: 'heading', part_index: 0 }, token('.', 'heading', 0), token(' ', 'byline', 0), token('OECD.', 'byline', 0), ] satisfies SentenceToken[]; - const [heading] = sentenceBlocks(plan); assert.deepEqual( - heading.tokens.slice(0, 2).map(({ kind, text }) => [kind, text]), + sentenceBlocks(plan).map(({ segment, tokens }) => [ + segment, + tokens.map(({ text }) => text).join(''), + ]), [ - ['text', 'Answered 1 of 2 parts.'], - ['text', ' '], + ['coverage', 'Answered 1 of 2 parts.'], + ['heading', 'Aid to Kenya.'], + ['byline', 'OECD.'], ], ); - assert.equal(planSentenceText(plan), 'Answered 1 of 2 parts. Aid to Kenya.'); + assert.equal(planSentenceText(plan), 'Aid to Kenya.'); + assert.equal(planCoverageText(plan), 'Answered 1 of 2 parts.'); + assert.equal(planCoverageText(plan.slice(2)), ''); }); // --------------------------------------------------------------------------- diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index ea1c2a6..a217c2a 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -1101,12 +1101,14 @@ export interface WireSpec { // Sentence plan (the engine's rendered, tokenised confirmation sentence) // --------------------------------------------------------------------------- -/** The block of the answer a sentence token belongs to: the heading states - * what the answer is, the byline its unit and source, a departure token - * carries the text of one `Departure` on the same part, and an assumption - * token is a word of the closing clause naming the part's `assumptions` - * ("Assumed: official development assistance; every provider."). */ -export type SentenceSegment = 'heading' | 'byline' | 'departure' | 'assumption'; +/** The block of the answer a sentence token belongs to: a coverage token is + * a word of the "Answered 1 of 2 parts." a mixed answer's envelope sentence + * opens with, the heading states what the answer is, the byline its unit + * and source, a departure token carries the text of one `Departure` on the + * same part, and an assumption token is a word of the closing clause naming + * the part's `assumptions` ("Assumed: official development assistance; + * every provider."). */ +export type SentenceSegment = 'coverage' | 'heading' | 'byline' | 'departure' | 'assumption'; /** The axis a sentence token fills: every slot axis plus the byline's * facet axes no request slot carries: 'unit', the unit of measure, and From ebf251b942fef082c3280b698d7f2a011f7a426b Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 01:48:00 +0200 Subject: [PATCH 10/24] docs(search): word the assumptions and share comments as plain statements --- src/lib/search/datasetEntries.ts | 15 +++++++-------- src/lib/search/permalink.ts | 2 +- src/lib/search/resultNotes.ts | 2 +- src/lib/search/searchClient.ts | 4 ++-- src/lib/search/searchShare.ts | 2 +- src/lib/search/test/datasetEntries.test.ts | 2 +- src/lib/search/test/departures.test.ts | 6 +++--- src/lib/search/test/resultNotes.test.ts | 4 ++-- src/lib/search/types.ts | 18 +++++++++--------- 9 files changed, 27 insertions(+), 28 deletions(-) diff --git a/src/lib/search/datasetEntries.ts b/src/lib/search/datasetEntries.ts index 1a6b1be..9da61be 100644 --- a/src/lib/search/datasetEntries.ts +++ b/src/lib/search/datasetEntries.ts @@ -13,12 +13,11 @@ * `placeholder` entry, holding its position without asking the engine to * re-derive anything. Every entry, overrides included, carries its part's * `operations`, so an edit keeps what the question asked of the data (a - * `parsed` entry's part carries its own), and - * every identity entry carries its part's `assumptions` as the response gave - * them, so an edit that leaves a declared default's slot alone keeps it. A - * candidates part's own `assumptions` are only what its readings share, so a - * pick and each candidate echo their reading's `reading_assumptions` list - * instead. + * `parsed` entry's part carries its own). Every identity entry carries its + * part's `assumptions` as the response gave them, so an edit that leaves a + * declared default's slot alone keeps it. A candidates part's own + * `assumptions` are only what its readings share, so a pick and each + * candidate echo their reading's `reading_assumptions` list. */ import type { @@ -77,8 +76,8 @@ export type SharedEntryRef = { /** The `identity` entry a stored share part replays: the identity as * stored, its groups beside it, the operations its question asked, and - * the assumptions its response gave, [] included. A share stored before - * assumptions were kept posts none. */ + * the assumptions its response gave, [] included. A share with null + * assumptions posts none. */ export function sharedRefEntry(ref: SharedEntryRef): DatasetIdentityEntry { return { entry_kind: 'identity', diff --git a/src/lib/search/permalink.ts b/src/lib/search/permalink.ts index 2946dad..293c0dd 100644 --- a/src/lib/search/permalink.ts +++ b/src/lib/search/permalink.ts @@ -126,7 +126,7 @@ const isReplayableEditEntryKind = (kind: unknown): kind is PermalinkEdit['entry' * door derived membership from the identity also carries the base it was * edited from and the StatVars it served, which the door refuses. The * entry's `assumptions` echo survives as stored, [] included, when Search - * would take it; a list it would refuse is dropped, and the engine then + * would take it. A list it would refuse is dropped, and the engine then * states the part's assumptions as for a fresh request. */ const replayableEntry = (entry: PermalinkEdit['entry']): PermalinkEdit['entry'] => { if (entry.entry_kind !== 'identity') return entry; diff --git a/src/lib/search/resultNotes.ts b/src/lib/search/resultNotes.ts index 7fc7fcb..6a8de66 100644 --- a/src/lib/search/resultNotes.ts +++ b/src/lib/search/resultNotes.ts @@ -171,7 +171,7 @@ export type AboutAnswerNotes = { }; /** The notes "About this answer" shows for one definite part: its - * `assumptions` and the warnings `ABOUT_WARNING_CODES` names, no other. */ + * `assumptions` and the warnings `ABOUT_WARNING_CODES` names. */ export function aboutAnswerNotes( spec: MeasureMenuSpec, warnings: readonly Warning[] | null | undefined, diff --git a/src/lib/search/searchClient.ts b/src/lib/search/searchClient.ts index 0fb64d1..834e337 100644 --- a/src/lib/search/searchClient.ts +++ b/src/lib/search/searchClient.ts @@ -1274,8 +1274,8 @@ export type OpenedSearchShare = { entityGroups: Record | null; operations: Operation[]; /** The part's assumptions as the shared response gave them, echoed - * on replay. Null for a share stored before they were kept and for - * a version link. */ + * on replay. Null for a share stored without them and for a + * version link. */ assumptions: Assumption[] | null; contentVersion: string | null; }[]; diff --git a/src/lib/search/searchShare.ts b/src/lib/search/searchShare.ts index 953e298..c5475cf 100644 --- a/src/lib/search/searchShare.ts +++ b/src/lib/search/searchShare.ts @@ -34,7 +34,7 @@ export type SearchShareRef = { identity: unknown; entityGroups: Record | null; operations: Operation[]; - // Null for a share stored before assumptions were kept. + // Null for a share stored without assumptions. assumptions: Assumption[] | null; contentVersion: string | null; // The file a snapshot captured and pinned. Null for a live share, and diff --git a/src/lib/search/test/datasetEntries.test.ts b/src/lib/search/test/datasetEntries.test.ts index 9efefa3..205c783 100644 --- a/src/lib/search/test/datasetEntries.test.ts +++ b/src/lib/search/test/datasetEntries.test.ts @@ -186,7 +186,7 @@ const everyProvider: Assumption = { text: 'every provider', }; -/** The multi-candidate part with `reading_assumptions` as given: the first +/** The multi-candidate part with `reading_assumptions` as given. The first * reading reads an open role the second lacks, so the part's own list holds * only the place scope both share. */ function candidatesWithReadings( diff --git a/src/lib/search/test/departures.test.ts b/src/lib/search/test/departures.test.ts index 2ec0638..3c94392 100644 --- a/src/lib/search/test/departures.test.ts +++ b/src/lib/search/test/departures.test.ts @@ -141,7 +141,7 @@ test("assumptionClauses names each part's own clause when the plan is written pa { key: 0, prefix: 'aid', text: 'Assumed: every provider.' }, { key: 1, prefix: 'debt', text: 'Assumed: every country.' }, ]); - // A part with no clause beside one that states its own: the clause still names its part. + // A part with no clause beside one that states its own. The clause still names its part. const onlySecond = [ token('Aid.', 'heading', 0), token(' ', 'byline', 0), @@ -171,7 +171,7 @@ test("assumptionClauses names each part's own clause when the plan is written pa }); test('assumptionClauses labels a clause by the owner of its lead token', () => { - // A definite part beside a candidates part: one byline, two owned clauses. + // A definite part beside a candidates part gives one byline and two owned clauses. const definiteAndCandidates = [ token('Answered 1 of 2 parts.', 'coverage', null), token(' ', 'coverage', null), @@ -195,7 +195,7 @@ test('assumptionClauses labels a clause by the owner of its lead token', () => { { key: 0, prefix: 'aid', text: 'Assumed: every provider.' }, { key: 1, prefix: 'debt', text: 'Assumed: every country.' }, ]); - // Parts 0 and 1 fold into one sentence: the folded clause's lead has no owner, though + // Parts 0 and 1 fold into one sentence. The folded clause's lead has no owner, though // one of its items is part 1's, so only part 2's clause takes a label. const folded = [ token('Aid to Kenya.', 'heading', null), diff --git a/src/lib/search/test/resultNotes.test.ts b/src/lib/search/test/resultNotes.test.ts index 92c620b..322ddff 100644 --- a/src/lib/search/test/resultNotes.test.ts +++ b/src/lib/search/test/resultNotes.test.ts @@ -74,8 +74,8 @@ const humanitarianWarnings: Warning[] = [ }, ]; -// The part's assumptions on the same answer: the recipient role it left open, -// and the flow type its code system's default filled. +// The part's assumptions on the same answer. They hold the recipient role it +// left open and the flow type its code system's default filled. const humanitarianAssumptions: Assumption[] = [ { kind: 'declared_default', diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index a217c2a..ad62221 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -1222,9 +1222,9 @@ export interface LateDepartures { /** What an `Assumption` fills (dfo-apis vocab.py AssumptionKind): * 'declared_default', a slot the request left open that its code system's * or shape's declared default fixed; 'open_role', a flow role no request - * word asked for, read across every entity on it with data: one series per - * member where the role scope default filled it and the shape declares the - * role, else the total over them; 'place_scope', a request that named no + * word asked for, read across every entity on it with data, as one series + * per member where the role scope default filled it and the shape declares + * the role, else as the total over them; 'place_scope', a request that named no * place, read across every place with data. */ export type AssumptionKind = 'declared_default' | 'open_role' | 'place_scope'; @@ -1450,7 +1450,7 @@ export interface NoDataOption { /** the request's own words this option settles, in query order */ mentions: string[]; /** the choice in words for a menu ("Republic of the Congo", "France to - * Germany"); never parsed */ + * Germany"), for display only */ label: string; /** a one-part parsed input settling this choice only, posted unchanged * to the resolve door; its one part is a `parsed` dataset_resubmit @@ -1976,8 +1976,8 @@ export interface DatasetIdentityEntry { operations?: Operation[]; /** the part's `assumptions`, echoed as the response gave them, [] included. * The engine states the echoed items that still hold after the edit and - * nothing the echo lacks, so [] states none; absent, it computes them as - * for a fresh request. */ + * nothing the echo lacks, so [] states none. When absent, it computes + * them as for a fresh request. */ assumptions?: Assumption[]; } @@ -1988,9 +1988,9 @@ export interface DatasetCandidateIdentity { identity: BaseIdentity; entity_groups?: Record | null; /** the reading's `reading_assumptions` list, echoed as the response gave - * it, [] included, by the rule `DatasetIdentityEntry.assumptions` states; - * absent, the engine computes the reading's assumptions as for a fresh - * request. */ + * it, [] included, by the rule `DatasetIdentityEntry.assumptions` states. + * When absent, the engine computes the reading's assumptions as for a + * fresh request. */ assumptions?: Assumption[]; } From 1eade0b31dfa063f5c10848770404732ce930f9f Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 08:45:39 +0200 Subject: [PATCH 11/24] fix(search): read an open destination role from its where: ref in About this answer Search sends an open destination role as binding_ref "where:", the slot the destination shares with the subject. assumptionSentence branched on "destination:", so the sentence dropped the provider that limits the scope ("covers every recipient" for "covers every recipient from Germany"). The why and resultNotes fixtures now carry the served ref. --- src/lib/search/departures.ts | 6 +++--- src/lib/search/test/resultNotes.test.ts | 2 +- src/lib/search/test/why.test.ts | 2 +- src/lib/search/types.ts | 5 +++-- src/lib/search/view.ts | 12 +++++------- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/lib/search/departures.ts b/src/lib/search/departures.ts index b65d05f..4d7e898 100644 --- a/src/lib/search/departures.ts +++ b/src/lib/search/departures.ts @@ -13,9 +13,9 @@ export type SentenceBlock = { const isSpacing = (token: SentenceToken) => token.kind === 'text' && token.text.trim() === ''; -/** The plan's heading, byline and assumptions clause as blocks, in plan - * order: each run of consecutive tokens in one segment is one block. - * Departure tokens are left out, since the departure list draws from +/** The plan's coverage opener, heading, byline and assumptions clause as + * blocks, in plan order: each run of consecutive tokens in one segment is + * one block. Departure tokens are left out, since the departure list draws from * `parts[].departures`, so heading runs a departure separated join into * one block. A block's leading and trailing whitespace-only text tokens are * the space between blocks and are dropped; a block left empty is dropped diff --git a/src/lib/search/test/resultNotes.test.ts b/src/lib/search/test/resultNotes.test.ts index 322ddff..5e52216 100644 --- a/src/lib/search/test/resultNotes.test.ts +++ b/src/lib/search/test/resultNotes.test.ts @@ -83,7 +83,7 @@ const humanitarianAssumptions: Assumption[] = [ refs: ['CRSTypeOfFlow10'], text: 'official development assistance', }, - { kind: 'open_role', binding_ref: 'destination:', refs: [], text: 'every recipient' }, + { kind: 'open_role', binding_ref: 'where:', refs: [], text: 'every recipient' }, ]; // dfo-apis src/search/engine/region/un_system.py un_unavailable_warning, for diff --git a/src/lib/search/test/why.test.ts b/src/lib/search/test/why.test.ts index c227cf2..2d23ebd 100644 --- a/src/lib/search/test/why.test.ts +++ b/src/lib/search/test/why.test.ts @@ -67,7 +67,7 @@ const odaWarnings: Warning[] = [ // The assumption the ODA answer carries for the recipient role it left open. const openRecipients: Assumption = { kind: 'open_role', - binding_ref: 'destination:', + binding_ref: 'where:', refs: [], text: 'every recipient', }; diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index ad62221..9a63f95 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -1235,8 +1235,9 @@ export type AssumptionKind = 'declared_default' | 'open_role' | 'place_scope'; export interface Assumption { kind: AssumptionKind; /** the binding whose edit replaces it: "how:" for a - * declared default, "origin:"/"destination:" for a role, "where:" for - * the place scope */ + * declared default, "origin:" or "where:" for an open role (the + * destination shares the subject's where slot), "where:" for the place + * scope */ binding_ref: string; /** the value dcids a declared default bound its slot to; [] for an * open role and the place scope */ diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index 70ac3e0..dab816e 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -1186,13 +1186,11 @@ const assumptionSentence = (spec: any, assumption: Assumption): string => { if (kind === 'place_scope') return `No place was named, so the answer covers ${text}.`; if (kind === 'open_role') { - const role = ref.split(':')[0]; - const counterpart = - role === 'origin' ? 'destination' : role === 'destination' ? 'origin' : null; - const named = counterpart ? entityLabels(spec, counterpart) : []; - const scope = named.length - ? ` ${role === 'destination' ? 'from' : 'to'} ${orList(named)}` - : ''; + // An open role reads "origin:" or "where:", the slot the destination + // shares with the subject. + const origin = ref === 'origin:'; + const named = entityLabels(spec, origin ? 'destination' : 'origin'); + const scope = named.length ? ` ${origin ? 'to' : 'from'} ${orList(named)}` : ''; return `The question left this role open, so the answer covers ${text}${scope}.`; } From 94735050cf3c8882e2589ff03eae1468f75f07bf Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 08:52:46 +0200 Subject: [PATCH 12/24] docs(search): say what a replay posts for a refused echo, and drop defaulted slots from the About summary comments --- src/components/organisms/DataSearch/WhyPanel.tsx | 2 +- src/lib/search/permalink.ts | 5 +++-- src/lib/search/view.ts | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/organisms/DataSearch/WhyPanel.tsx b/src/components/organisms/DataSearch/WhyPanel.tsx index 51b9691..5682dec 100644 --- a/src/components/organisms/DataSearch/WhyPanel.tsx +++ b/src/components/organisms/DataSearch/WhyPanel.tsx @@ -251,7 +251,7 @@ const AboutPartSection = ({ /** The "About this answer" panel: one section per definite part, each with * the coverage sentence, what the search matched and assumed, the - * variables, how each facet and defaulted slot was chosen, and the sources + * variables, how each facet was chosen, and the sources * with their licence. A lone part carries no title. `open` is whether the * panel shows, which starts the members reads. */ const WhyPanel = ({ diff --git a/src/lib/search/permalink.ts b/src/lib/search/permalink.ts index 293c0dd..07ba741 100644 --- a/src/lib/search/permalink.ts +++ b/src/lib/search/permalink.ts @@ -126,8 +126,9 @@ const isReplayableEditEntryKind = (kind: unknown): kind is PermalinkEdit['entry' * door derived membership from the identity also carries the base it was * edited from and the StatVars it served, which the door refuses. The * entry's `assumptions` echo survives as stored, [] included, when Search - * would take it. A list it would refuse is dropped, and the engine then - * states the part's assumptions as for a fresh request. */ + * would take it. A list it would refuse is dropped, and + * `buildDatasetEntries` then echoes the reloaded part's own list, as it + * does for any edit. */ const replayableEntry = (entry: PermalinkEdit['entry']): PermalinkEdit['entry'] => { if (entry.entry_kind !== 'identity') return entry; diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index dab816e..9b9f496 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -1323,7 +1323,7 @@ const licenceText = (spec: any): string | null => /** The "About this answer" summary for one definite part: what the search * matched (rows), the variables when there is more than one, the sources - * with their licence, and how each facet and defaulted slot was chosen. The + * with their licence, and how each facet was chosen. The * scope assumptions come from resultNotes's aboutAnswerNotes. * * The resolved membership decides the layout (`servedMembership`). From 85eea2b12f62c7049959997efc42c078ce6af81b Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 10:20:57 +0200 Subject: [PATCH 13/24] docs(search): drop defaulted slots from the facet-basis comments, and name the definite part a replay echoes --- src/lib/search/permalink.ts | 4 ++-- src/lib/search/view.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/search/permalink.ts b/src/lib/search/permalink.ts index 07ba741..ff69c7e 100644 --- a/src/lib/search/permalink.ts +++ b/src/lib/search/permalink.ts @@ -127,8 +127,8 @@ const isReplayableEditEntryKind = (kind: unknown): kind is PermalinkEdit['entry' * edited from and the StatVars it served, which the door refuses. The * entry's `assumptions` echo survives as stored, [] included, when Search * would take it. A list it would refuse is dropped, and - * `buildDatasetEntries` then echoes the reloaded part's own list, as it - * does for any edit. */ + * `buildDatasetEntries` then echoes the reloaded definite part's own list, + * as it does for any edit. */ const replayableEntry = (entry: PermalinkEdit['entry']): PermalinkEdit['entry'] => { if (entry.entry_kind !== 'identity') return entry; diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index 9b9f496..f5a12d7 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -1039,7 +1039,7 @@ export type WhySummary = { origin: string | null; licence: string | null; }[]; - /** how each facet axis and each defaulted slot got its value */ + /** how each facet axis got its value */ chosen: WhyChoice[]; }; @@ -1277,7 +1277,7 @@ const whyMembers = (members: MembersRead | null | undefined): WhyMembers => { }; }; -// Why a facet axis or slot holds its value (ResolvedFacet.basis). +// Why a facet axis holds its value (ResolvedFacet.basis). const CHOICE_REASONS: Record = { bound: 'Set by your request.', declared_default: 'Filled in from the default for this measure.', From e79013506b234de2ffff528f9f5cc48fd49aa9f4 Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Tue, 20 Oct 2026 22:37:19 +0200 Subject: [PATCH 14/24] refactor(search): take API types from the generated client package The site depends on @developmentfinance/client through a vendored tarball and reads every API body it uses from the package's generated wire types, so src/lib/search/types.ts derives its shapes from the served OpenAPI document. Parts narrow through isKnownPart before any payload read, optional wire members default where the site reads them, and open enums fall back where the site maps every known value. A stored rendering cut with a layout or without party totals no longer counts as the default file. --- deploy/Dockerfile | 5 +- package.json | 1 + pnpm-lock.yaml | 30 + .../download/preparing/PreparingDownload.tsx | 5 +- .../organisms/DataSearch/DataSearch.tsx | 47 +- .../organisms/DataSearch/ReadingCards.tsx | 8 +- .../organisms/DataSearch/SearchAnswer.tsx | 2 +- .../organisms/DataSearch/SearchCards.tsx | 2 +- .../organisms/DataSearch/SearchPanel.tsx | 2 +- .../organisms/DataSearch/SearchSentence.tsx | 51 +- .../organisms/DataSearch/SearchTable.tsx | 2 +- .../organisms/DataSearch/editors.tsx | 2 +- .../DataSearch/useDatasetDownload.ts | 2 +- .../organisms/DataSearch/useSearchRun.ts | 80 +- src/lib/search/catalogue.ts | 56 +- src/lib/search/datasetEntries.ts | 53 +- src/lib/search/datasetsFetch.ts | 4 +- src/lib/search/departures.ts | 31 +- src/lib/search/operationPoll.ts | 40 +- src/lib/search/operations.ts | 9 +- src/lib/search/promote.ts | 53 +- src/lib/search/refineMenu.ts | 2 +- src/lib/search/registerDefinitions.ts | 4 +- src/lib/search/resultNotes.ts | 9 +- src/lib/search/searchClient.ts | 236 +- src/lib/search/searchEvents.ts | 44 +- src/lib/search/searchShareRequest.ts | 17 +- src/lib/search/shareDownload.ts | 16 +- src/lib/search/snapshot.ts | 54 +- src/lib/search/studioHandoff.ts | 37 +- src/lib/search/test/datasetEntries.test.ts | 82 +- src/lib/search/test/definitionMembers.test.ts | 2 + src/lib/search/test/departures.test.ts | 15 + src/lib/search/test/downloadOptions.test.ts | 57 +- .../search/test/fixtures/dataset-documents.ts | 26 + src/lib/search/test/method.test.ts | 9 +- src/lib/search/test/operations.test.ts | 1 + src/lib/search/test/permalink.test.ts | 4 +- src/lib/search/test/permalinkEdits.test.ts | 4 +- src/lib/search/test/promote.test.ts | 6 +- src/lib/search/test/searchClient.test.ts | 47 +- src/lib/search/test/shareDownload.test.ts | 29 +- src/lib/search/test/snapshot.test.ts | 37 + src/lib/search/test/studioHandoff.test.ts | 32 +- src/lib/search/test/versionLink.test.ts | 63 +- src/lib/search/tokenAbout.ts | 18 +- src/lib/search/types.ts | 2189 ++--------------- src/lib/search/unitLabel.ts | 2 +- src/lib/search/unitPicker.ts | 8 +- src/lib/search/versionLink.ts | 76 +- src/lib/search/view.ts | 61 +- src/lib/sources/graph.ts | 3 +- vendor/developmentfinance-client-0.1.0.tgz | Bin 0 -> 251831 bytes 53 files changed, 1100 insertions(+), 2575 deletions(-) create mode 100644 src/lib/search/test/fixtures/dataset-documents.ts create mode 100644 vendor/developmentfinance-client-0.1.0.tgz diff --git a/deploy/Dockerfile b/deploy/Dockerfile index 1b192b4..2947996 100644 --- a/deploy/Dockerfile +++ b/deploy/Dockerfile @@ -16,9 +16,10 @@ RUN npm install -g pnpm@10.5.2 WORKDIR /app -# Manifest + lockfile first, so the dependency layer caches across -# source-only changes. +# Manifest, lockfile and the vendored tarballs they name (`file:vendor/...`) +# first, so the dependency layer caches across source-only changes. COPY package.json pnpm-lock.yaml ./ +COPY vendor ./vendor RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store \ pnpm install --frozen-lockfile diff --git a/package.json b/package.json index dc1b5ed..fe9067d 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "build:migrate": "esbuild db/migrate.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/migrate.cjs --external:pg-native" }, "dependencies": { + "@developmentfinance/client": "file:vendor/developmentfinance-client-0.1.0.tgz", "@fontsource/dm-mono": "^5.3.0", "@fontsource/outfit": "^5.3.0", "@google-cloud/cloud-sql-connector": "^1.12.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad4ce0a..69633e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@developmentfinance/client': + specifier: file:vendor/developmentfinance-client-0.1.0.tgz + version: file:vendor/developmentfinance-client-0.1.0.tgz '@fontsource/dm-mono': specifier: ^5.3.0 version: 5.3.0 @@ -854,6 +857,16 @@ packages: peerDependencies: postcss-selector-parser: ^7.1.1 + '@developmentfinance/client@file:vendor/developmentfinance-client-0.1.0.tgz': + resolution: {integrity: sha512-xATRLrOEdeK2lqQEMtKzA7G3kWfl8oWd2N2ZTDUOFW/fA+IrEjzHOFl+LbuppGxZyZ0sg3MwBlwnVZMSpIZHhQ==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} + version: 0.1.0 + engines: {node: '>=22.18'} + peerDependencies: + apache-arrow: ^21.0.0 + peerDependenciesMeta: + apache-arrow: + optional: true + '@drizzle-team/brocli@0.10.2': resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} @@ -4299,6 +4312,12 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} + hyparquet-writer@0.16.10: + resolution: {integrity: sha512-53fpiA57kdJ2V7X97/VSAzHr8rb8Z2cr126T1pTL9TapZNOP/wNJqFh+jc7dRwwg9TpVMYeRNDMb+r5oiLqwjg==} + + hyparquet@1.31.1: + resolution: {integrity: sha512-tF9580Xb+41+Eb+mH0av1k7m1PWl+PSKrX66Yd7UOZ760cwEXP9/enwHRMSCeVncaubRI8XPb3v580/ujYKK5w==} + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -6922,6 +6941,11 @@ snapshots: dependencies: postcss-selector-parser: 7.1.5 + '@developmentfinance/client@file:vendor/developmentfinance-client-0.1.0.tgz': + dependencies: + hyparquet: 1.31.1 + hyparquet-writer: 0.16.10 + '@drizzle-team/brocli@0.10.2': {} '@emnapi/core@1.10.0': @@ -10376,6 +10400,12 @@ snapshots: transitivePeerDependencies: - supports-color + hyparquet-writer@0.16.10: + dependencies: + hyparquet: 1.31.1 + + hyparquet@1.31.1: {} + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 diff --git a/src/app/s/[id]/download/preparing/PreparingDownload.tsx b/src/app/s/[id]/download/preparing/PreparingDownload.tsx index a105ea7..4ee4c55 100644 --- a/src/app/s/[id]/download/preparing/PreparingDownload.tsx +++ b/src/app/s/[id]/download/preparing/PreparingDownload.tsx @@ -9,7 +9,6 @@ import { pollOperation, type OperationProgress } from '@/lib/search/operationPol import { artifactHref, pinDownloadedVersion } from '@/lib/search/searchClient'; import { renderedFile } from '@/lib/search/shareDownload'; import type { FileRendering } from '@/lib/search/snapshot'; -import type { VersionLinkDocument } from '@/lib/search/versionLink'; type Stage = | { kind: 'preparing'; progress: OperationProgress | null } @@ -45,7 +44,7 @@ const PreparingDownload = ({ const prepare = async () => { try { - const manifest = (await pollOperation( + const manifest = await pollOperation( { operation_id: operationId, status: 'pending', @@ -55,7 +54,7 @@ const PreparingDownload = ({ signal: controller.signal, onProgress: (progress) => setStage({ kind: 'preparing', progress }), }, - )) as VersionLinkDocument | null; + ); const file = renderedFile(manifest, { format, bundle }); if (!manifest || !file) { diff --git a/src/components/organisms/DataSearch/DataSearch.tsx b/src/components/organisms/DataSearch/DataSearch.tsx index f3d5a98..6a62884 100644 --- a/src/components/organisms/DataSearch/DataSearch.tsx +++ b/src/components/organisms/DataSearch/DataSearch.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- holds the suggestion answer, a response body read member by member, as `any` */ 'use client'; import classNames from 'classnames'; @@ -70,7 +70,7 @@ import { handoffSeeds, studioHref, } from '@/lib/search/studioHandoff'; -import type { SentenceToken } from '@/lib/search/types'; +import { isKnownPart, type SentenceToken } from '@/lib/search/types'; import { parseVersionLink, type VersionLink, versionLinkHref } from '@/lib/search/versionLink'; import { observationsPendingText } from '@/lib/search/view'; import { writeSeeds } from '@/lib/studio/seedStore'; @@ -805,7 +805,13 @@ const DataSearch = ({ catalogue }: { catalogue: SearchCatalogue | null }) => { const rawPlan = response?.sentence_plan ?? []; const isSlotted = (index: number) => rawPlan.some((token) => token.kind === 'slot' && tokenPart(token, parts.length) === index); - const candidatesParts = parts.filter((part) => part.part?.status === 'candidates'); + const candidatesParts = parts.flatMap((hydrated) => { + const { part } = hydrated; + + return part && isKnownPart(part) && part.status === 'candidates' + ? [{ ...hydrated, part }] + : []; + }); // Collapses to the first no_data part whose callout is the generic // 'studio' hand-off panel (identical text per part). Flagged/alternate @@ -1139,25 +1145,22 @@ const DataSearch = ({ catalogue }: { catalogue: SearchCatalogue | null }) => { /> ))} - {candidatesParts.map( - (part) => - part.part && ( - 1 ? part.variableText : null} - onPick={(spec) => { - startAction()({ - action: 'pick_reading', - partIndex: part.index, - specId: spec.spec_id, - }); - pickCandidate(part.index, spec); - }} - onRetry={() => submitQuery(query, 'retry')} - /> - ), - )} + {candidatesParts.map((part) => ( + 1 ? part.variableText : null} + onPick={(spec) => { + startAction()({ + action: 'pick_reading', + partIndex: part.index, + specId: spec.spec_id, + }); + pickCandidate(part.index, spec); + }} + onRetry={() => submitQuery(query, 'retry')} + /> + ))} {definiteParts.length > 0 && ( void; // Re-runs the question, for a reading the client could not read. onRetry: () => void; }) => { - const specs: any[] = useMemo(() => part.candidates?.specs ?? [], [part]); + const specs: any[] = useMemo(() => part.candidates.specs, [part]); const readings = useMemo( () => specs.map((spec) => { diff --git a/src/components/organisms/DataSearch/SearchAnswer.tsx b/src/components/organisms/DataSearch/SearchAnswer.tsx index d931f17..74d240a 100644 --- a/src/components/organisms/DataSearch/SearchAnswer.tsx +++ b/src/components/organisms/DataSearch/SearchAnswer.tsx @@ -221,7 +221,7 @@ const SearchAnswer = ({ // Hands the question to Studio. onStudio: () => void; }) => { - const place = answer.scope.place; + const place = answer.scope.place ?? null; if (answer.kind === 'catalogue') { return ( diff --git a/src/components/organisms/DataSearch/SearchCards.tsx b/src/components/organisms/DataSearch/SearchCards.tsx index 8fec4ef..156240d 100644 --- a/src/components/organisms/DataSearch/SearchCards.tsx +++ b/src/components/organisms/DataSearch/SearchCards.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- takes parts and specs as `any` and reads only the members it renders, tolerating any that is missing */ 'use client'; import classNames from 'classnames'; diff --git a/src/components/organisms/DataSearch/SearchPanel.tsx b/src/components/organisms/DataSearch/SearchPanel.tsx index 7ca5533..6db68b2 100644 --- a/src/components/organisms/DataSearch/SearchPanel.tsx +++ b/src/components/organisms/DataSearch/SearchPanel.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- takes the spec as `any` and reads only the members the panel renders, tolerating any that is missing */ 'use client'; import classNames from 'classnames'; diff --git a/src/components/organisms/DataSearch/SearchSentence.tsx b/src/components/organisms/DataSearch/SearchSentence.tsx index 865a27f..b3adec7 100644 --- a/src/components/organisms/DataSearch/SearchSentence.tsx +++ b/src/components/organisms/DataSearch/SearchSentence.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- takes specs, slots and open slot options as `any` and reads only the members it renders, tolerating any that is missing */ 'use client'; import * as DropdownMenu from '@radix-ui/react-dropdown-menu'; @@ -59,18 +59,20 @@ import { import { spliceSentence } from '@/lib/search/refine'; import { keyRef } from '@/lib/search/searchClient'; import { planCoverageText, planSentenceText, tokenPart } from '@/lib/search/sentencePlan'; -import type { - EntityRoleKey, - GraphRef, - HydratedPart, - IdentityFacetAxis, - IdentityFacets, - NoDataOption, - ParsedPart, - MeasureAxisValue, - RoleAxis, - SentenceToken, - SpecAlternativeMeasure, +import { + type EntityRoleKey, + type GraphRef, + type HydratedPart, + type IdentityFacetAxis, + type IdentityFacetBinding, + isKnownPart, + knownPart, + type MeasureAxisValue, + type NoDataOption, + type ParsedPart, + type RoleAxis, + type SentenceToken, + type SpecAlternativeMeasure, } from '@/lib/search/types'; import type { WindowApplyValue } from '@/lib/search/windowState'; import { @@ -432,7 +434,7 @@ type SearchSentenceProps = { partIndex: number, spec: any, axis: A, - binding: IdentityFacets[A] | null, + binding: IdentityFacetBinding[A] | null, ) => void; // A typed phrase edit or entity_ambiguous pick's edited ParsedPart, // posted as a parsed entry re-resolving just this part. @@ -1803,7 +1805,11 @@ export const SearchSentenceHeading = ({ return {token.text}; } - const wording = ambiguousWordingGroup(token, wirePart.no_data); + const known = knownPart(wirePart); + const wording = ambiguousWordingGroup( + token, + known?.status === 'no_data' ? known.no_data : undefined, + ); // While an edit targeting this part is in flight, its what-token (or // its ambiguous wordings, when the plan carries them) carries an @@ -2069,12 +2075,13 @@ export const SearchSentenceHeading = ({ // the page offers Studio once, since it hands over the whole question. const offered = new Set(); const departureItems: DepartureItem[] = answerDepartures( - answerParts.map((part) => ({ - status: part.part?.status ?? 'unsupported', - variable_text: part.variableText, - departures: part.part?.departures ?? [], - no_data: part.part?.no_data, - restatement: part.part?.restatement, + answerParts.map(({ part, variableText }) => ({ + status: part?.status ?? 'unsupported', + variable_text: variableText, + departures: part?.departures ?? [], + no_data: + part && isKnownPart(part) && part.status === 'no_data' ? part.no_data : undefined, + restatement: part?.restatement, })), rawPlan, ).map(({ key, prefix, departure, action }) => { @@ -2380,7 +2387,7 @@ export const SearchSentenceBody = ({ variableText: part.variableText, spec: part.hydratedSpec, warnings: part.part?.warnings, - assumptions: part.part?.assumptions, + assumptions: knownPart(part.part)?.assumptions, })); return ( diff --git a/src/components/organisms/DataSearch/SearchTable.tsx b/src/components/organisms/DataSearch/SearchTable.tsx index 960048d..1ed0295 100644 --- a/src/components/organisms/DataSearch/SearchTable.tsx +++ b/src/components/organisms/DataSearch/SearchTable.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- takes the spec as `any` and reads only the members the table renders, tolerating any that is missing */ 'use client'; import classNames from 'classnames'; diff --git a/src/components/organisms/DataSearch/editors.tsx b/src/components/organisms/DataSearch/editors.tsx index 7327f6c..26d3d93 100644 --- a/src/components/organisms/DataSearch/editors.tsx +++ b/src/components/organisms/DataSearch/editors.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- takes specs and open slot options as `any` and reads only the members each editor shows, tolerating any that is missing */ 'use client'; import * as DropdownMenu from '@radix-ui/react-dropdown-menu'; diff --git a/src/components/organisms/DataSearch/useDatasetDownload.ts b/src/components/organisms/DataSearch/useDatasetDownload.ts index ba117c9..60023cb 100644 --- a/src/components/organisms/DataSearch/useDatasetDownload.ts +++ b/src/components/organisms/DataSearch/useDatasetDownload.ts @@ -293,7 +293,7 @@ export const useDatasetDownload = ({ // The mint answers with this definition's own options and // coverage, so the sheet need not ask the options door for them. - applyOptions(manifest as DatasetOptionsDocument | null); + applyOptions(manifest); optionsAsk.answered(specId); const artifact = artifacts.find((a) => typeof a.url === 'string') ?? null; diff --git a/src/components/organisms/DataSearch/useSearchRun.ts b/src/components/organisms/DataSearch/useSearchRun.ts index 59b865d..8f50d87 100644 --- a/src/components/organisms/DataSearch/useSearchRun.ts +++ b/src/components/organisms/DataSearch/useSearchRun.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- holds streamed observations, facet options and slot bindings as `any`, merging members it does not read */ 'use client'; /** @@ -186,26 +186,27 @@ import { SearchEvent, SearchInput, } from '@/lib/search/searchClient'; -import type { - BaseIdentity, - CatalogueAnswer, - DatasetIdentityEntry, - DatasetResubmitEntry, - DeclinedAnswer, - EntityRoleKey, - ExpectedPart, - HydratedPart, - IdentityFacetAxis, - IdentityFacets, - IdentityUnitRequest, - ParsedPart, - PartPhase, - Resolution, - ResolveResponse, - RoleAxis, - SentenceToken, - Spec, - SpecObservations, +import { + type BaseIdentity, + type CatalogueAnswer, + type DatasetIdentityEntry, + type DatasetResubmitEntry, + type DeclinedAnswer, + type EntityRoleKey, + type ExpectedPart, + type HydratedPart, + type IdentityFacetAxis, + type IdentityFacetBinding, + type IdentityUnitRequest, + knownPart, + type ParsedPart, + type PartPhase, + type Resolution, + type ResolveResponse, + type RoleAxis, + type SentenceToken, + type Spec, + type SpecObservations, } from '@/lib/search/types'; import { searchPostTracker, @@ -236,7 +237,7 @@ export type SharedEdit = | { axis: 'when'; window: WindowApplyValue } | { axis: 'entity'; role: RoleAxis; dcid: string } | { axis: 'unit'; request: IdentityUnitRequest } - | { axis: 'method'; binding: IdentityFacets['measurementMethod'] | null }; + | { axis: 'method'; binding: IdentityFacetBinding['measurementMethod'] | null }; type PartRuntime = Pick; @@ -284,15 +285,19 @@ function hydrateDefiniteSpec( * `replay` uses this to build its entries list from the base run's just- * landed response before React has re-rendered the hook's own `parts`. */ function partsFromResponse(response: Resolution): HydratedPart[] { - return response.parts.map((part, index) => ({ - index, - variableText: part.variable_text ?? null, - part, - hydratedSpec: part.status === 'definite' && part.spec ? part.spec : null, - observationsPending: false, - phase: 'done', - editError: null, - })); + return response.parts.map((part, index) => { + const known = knownPart(part); + + return { + index, + variableText: part.variable_text ?? null, + part, + hydratedSpec: known?.status === 'definite' ? known.spec : null, + observationsPending: false, + phase: 'done', + editError: null, + }; + }); } /** Ends a post's usage tracker on its own `done`: the event describes the @@ -514,15 +519,16 @@ export const useSearchRun = () => { return Array.from({ length: count }, (_, index): HydratedPart => { const wirePart = response?.parts[index] ?? null; + const definite = knownPart(wirePart); const runtime = runtimes[index] ?? EMPTY_RUNTIME; const frozenRef = - wirePart?.status === 'definite' && wirePart.spec - ? frozenRefSpecId(snapshotBindings, index, wirePart.spec.spec_id) + definite?.status === 'definite' + ? frozenRefSpecId(snapshotBindings, index, definite.spec.spec_id) : null; const hydratedSpec = - wirePart?.status === 'definite' && wirePart.spec + definite?.status === 'definite' ? hydrateDefiniteSpec( - wirePart.spec, + definite.spec, obsBySpec, facetsBySpec, frozenRef ? frozenObsBySpec[frozenRef] : undefined, @@ -1149,7 +1155,7 @@ export const useSearchRun = () => { partIndex: number, fromSpec: any, axis: A, - binding: IdentityFacets[A] | null, + binding: IdentityFacetBinding[A] | null, ): DatasetEntriesOverride => { const identity = withFacetEdit(fromSpec.identity as BaseIdentity, axis, binding); @@ -1168,7 +1174,7 @@ export const useSearchRun = () => { partIndex: number, fromSpec: any, axis: A, - binding: IdentityFacets[A] | null, + binding: IdentityFacetBinding[A] | null, ) => { runDatasetEdit(facetOverride(partIndex, fromSpec, axis, binding), [partIndex], 'facet'); }, diff --git a/src/lib/search/catalogue.ts b/src/lib/search/catalogue.ts index a4eba01..bfb050b 100644 --- a/src/lib/search/catalogue.ts +++ b/src/lib/search/catalogue.ts @@ -10,57 +10,29 @@ * no examples. */ -/** One example sentence: a checked template filled with a place. */ -export type CatalogueExample = { - /** the sentence to show and run, e.g. "Health aid to Ethiopia" */ - text: string; - /** the template it fills, e.g. "Health aid to {place}" */ - template: string; - /** the StatVar the sentence resolves to */ - stat_var: string; - /** the place it is filled with */ - place: string; -}; +import type { + AidCounts, + CatalogueExampleSentence, + CatalogueResponse, + Counts, + PlaceCounts, +} from '@developmentfinance/client/wire'; -/** CRS counts. `years` is null when the build holds no CRS rows. */ -export type AidCounts = { - donors: number; - recipients: number; - years: { first: number; last: number } | null; -}; +/** One example sentence: a checked template filled with a place. */ +export type CatalogueExample = CatalogueExampleSentence; /** What DFO holds as a whole. `indicators` counts the StatVars search can * serve and `datasets` the source datasets behind them. */ -export type CatalogueCounts = { - publishers: number; - countries: number; - indicators: number; - datasets: number; - aid: AidCounts; -}; - -/** What DFO holds at one country. For aid, `donors` (the wire name) counts the - * providers to the country and `recipients` the recipients of its own aid. */ -export type PlaceCounts = { - publishers: number; - variables: number; - aid: AidCounts; -}; +export type CatalogueCounts = Counts; /** The whole catalogue (`GET /api/search/catalogue`). */ -export type SearchCatalogue = { - catalogue_version: string; - counts: CatalogueCounts; - examples: CatalogueExample[]; -}; +export type SearchCatalogue = Omit & { counts: CatalogueCounts }; /** One country's catalogue (`?place=`): its counts, and the examples with * data there, filled with its name. */ -export type PlaceCatalogue = { - catalogue_version: string; - counts: PlaceCounts; - examples: CatalogueExample[]; -}; +export type PlaceCatalogue = Omit & { counts: PlaceCounts }; + +export type { AidCounts, PlaceCounts }; /** The starting point's own question. Asked as a search, it shows the * starting point from the catalogue the page already holds, with no search diff --git a/src/lib/search/datasetEntries.ts b/src/lib/search/datasetEntries.ts index 9da61be..e408d1e 100644 --- a/src/lib/search/datasetEntries.ts +++ b/src/lib/search/datasetEntries.ts @@ -20,19 +20,20 @@ * candidate echo their reading's `reading_assumptions` list. */ -import type { - Assumption, - BaseIdentity, - DatasetCandidateIdentity, - DatasetCandidatesEntry, - DatasetIdentityEntry, - DatasetPlaceholderEntry, - DatasetResubmitEntry, - EntityGroup, - HydratedPart, - Operation, - Spec, -} from './types'; +import { + type Assumption, + type BaseIdentity, + type DatasetCandidateIdentity, + type DatasetCandidatesEntry, + type DatasetIdentityEntry, + type DatasetPlaceholderEntry, + type DatasetResubmitEntry, + type EntityGroup, + type HydratedPart, + knownPart, + type Operation, + type Spec, +} from './types.ts'; /** * How `buildDatasetEntries` deviates from "every part's own current spec": @@ -112,7 +113,9 @@ function readingAssumptions( part: HydratedPart, spec: Pick, ): { assumptions?: Assumption[] } { - const assumptions = part.part?.reading_assumptions?.[spec.spec_id]; + const known = knownPart(part.part); + const assumptions = + known?.status === 'candidates' ? known.reading_assumptions?.[spec.spec_id] : undefined; return assumptions ? { assumptions } : {}; } @@ -135,7 +138,8 @@ export function candidatePickEntry(part: HydratedPart, spec: Spec): DatasetIdent } function candidatesEntryFor(part: HydratedPart): DatasetCandidatesEntry { - const candidateSet = part.part?.candidates; + const known = knownPart(part.part); + const candidateSet = known?.status === 'candidates' ? known.candidates : undefined; if (!candidateSet) { throw new Error(`buildDatasetEntries: part ${part.index} has no candidate set`); } @@ -168,8 +172,10 @@ function candidatesEntryFor(part: HydratedPart): DatasetCandidatesEntry { function placeholderEntryFor(part: HydratedPart): DatasetPlaceholderEntry { const variable_text = part.variableText ?? ''; - if (part.part?.status === 'no_data') { - const reason = part.part.no_data?.reason; + const known = knownPart(part.part); + + if (known?.status === 'no_data') { + const reason = known.no_data.reason; return { entry_kind: 'placeholder', variable_text, @@ -178,7 +184,7 @@ function placeholderEntryFor(part: HydratedPart): DatasetPlaceholderEntry { }; } - const code = part.part?.unsupported?.code; + const code = known?.status === 'unsupported' ? known.unsupported.code : undefined; return { entry_kind: 'placeholder', variable_text, @@ -192,7 +198,8 @@ function placeholderEntryFor(part: HydratedPart): DatasetPlaceholderEntry { * no response has landed for it): a dataset_resubmit only ever posts over * parts that already have content. */ function entryForPart(part: HydratedPart): DatasetResubmitEntry { - switch (part.part?.status) { + // A part whose status this release does not know has no entry to post. + switch (knownPart(part.part)?.status) { case 'definite': return identityEntryFor(part); case 'candidates': @@ -248,17 +255,17 @@ function withOperations(entry: DatasetResubmitEntry, part: HydratedPart): Datase * no_data part assumed nothing because it answered nothing, so its edit * reads fresh. */ function withAssumptions(entry: DatasetResubmitEntry, part: HydratedPart): DatasetResubmitEntry { - const assumptions = part.part?.assumptions; + const known = knownPart(part.part); if ( entry.entry_kind !== 'identity' || entry.assumptions !== undefined || - part.part?.status !== 'definite' || - assumptions === undefined + known?.status !== 'definite' || + known.assumptions === undefined ) { return entry; } - return { ...entry, assumptions }; + return { ...entry, assumptions: known.assumptions }; } /** diff --git a/src/lib/search/datasetsFetch.ts b/src/lib/search/datasetsFetch.ts index eba415b..806d354 100644 --- a/src/lib/search/datasetsFetch.ts +++ b/src/lib/search/datasetsFetch.ts @@ -23,6 +23,8 @@ * the browser client and the server routes share it. */ +import type { ProblemDetails } from '@developmentfinance/client/wire'; + import { apisFetch, type Fetch } from '../apisAuth.ts'; export type { Fetch }; @@ -69,7 +71,7 @@ const isRetryableRefusal = async (res: Response): Promise => { .json() .catch(() => null); - return (body as { retryable?: unknown } | null)?.retryable === true; + return (body as Partial | null)?.retryable === true; }; /** The wait a `Retry-After` header names, in seconds or as a date, in ms; diff --git a/src/lib/search/departures.ts b/src/lib/search/departures.ts index 4d7e898..f69afb1 100644 --- a/src/lib/search/departures.ts +++ b/src/lib/search/departures.ts @@ -4,10 +4,27 @@ import { offersStudioCallout } from './resultNotes.ts'; import { tokenPart } from './sentencePlan.ts'; -import type { Departure, Part, SentenceSegment, SentenceToken } from './types.ts'; +import { + type Departure, + hasKey, + type Known, + type NoDataPart, + type Part, + type SentenceSegment, + type SentenceToken, +} from './types.ts'; + +type BlockSegment = Exclude, 'departure'>; + +const BLOCK_SEGMENTS: Record = { + coverage: true, + heading: true, + byline: true, + assumption: true, +}; export type SentenceBlock = { - segment: Exclude; + segment: BlockSegment; tokens: SentenceToken[]; }; @@ -27,10 +44,14 @@ export function sentenceBlocks(plan: readonly SentenceToken[] | null | undefined for (const token of plan ?? []) { if (token.segment === 'departure') continue; + // A token without a segment is in the heading, the wire's default; + // so is one in a segment this site does not know. + const segment = + token.segment && hasKey(BLOCK_SEGMENTS, token.segment) ? token.segment : 'heading'; const last = blocks.at(-1); - if (last?.segment === token.segment) last.tokens.push(token); - else blocks.push({ segment: token.segment, tokens: [token] }); + if (last?.segment === segment) last.tokens.push(token); + else blocks.push({ segment, tokens: [token] }); } return blocks @@ -196,7 +217,7 @@ export type AnswerDeparture = { * `no_data` and `restatement` decide whether its callout offers Studio. */ export function answerDepartures( parts: readonly (Pick & - Partial>)[], + Partial & Pick>)[], plan: readonly SentenceToken[] | null | undefined, ): AnswerDeparture[] { const several = parts.length > 1; diff --git a/src/lib/search/operationPoll.ts b/src/lib/search/operationPoll.ts index 0757618..12f65e4 100644 --- a/src/lib/search/operationPoll.ts +++ b/src/lib/search/operationPoll.ts @@ -16,27 +16,21 @@ * `fetchImpl`, a thin wrapper that resolves the envelope's own relative * `poll` path against wherever it needs to go (see searchClient.ts's * `mintDataset`, which polls through the site's own same-origin proxy, - * and searchShare.ts's `capture`, which polls the Datasets API directly — + * and snapshot.ts's `captureSnapshot`, which polls the Datasets API directly — * a done poll needs no principal header, unlike the `pin` call next to it). */ -import { datasetsFetch } from './datasetsFetch.ts'; - -export type OperationStatus = 'pending' | 'running' | 'done' | 'failed'; +import type { + Manifest, + OperationEnvelope, + OperationProgress, + OperationResource, + ProblemDetails, +} from '@developmentfinance/client/wire'; -export type OperationProgress = { - rows_written: number; - estimate_rows: number; -}; +import { datasetsFetch } from './datasetsFetch.ts'; -/** The wire's OperationEnvelope, verbatim field names. */ -export type OperationEnvelope = { - operation_id: string; - status: OperationStatus; - poll?: string | null; - retry_after_ms?: number | null; - progress?: OperationProgress | null; -}; +export type { OperationEnvelope, OperationProgress }; export type PollResponse = { ok: boolean; status: number; json: () => Promise }; export type PollFetch = (url: string, signal?: AbortSignal) => Promise; @@ -145,7 +139,7 @@ export type OperationPollError = Error & { }; const pollError = (body: unknown, status: number): OperationPollError => { - const record = (body ?? {}) as { detail?: string; title?: string; code?: string }; + const record = (body ?? {}) as Partial; const message = record.detail ?? record.title ?? `operations poll failed with status ${status}`; const err = new Error(message) as OperationPollError; @@ -156,15 +150,15 @@ const pollError = (body: unknown, status: number): OperationPollError => { /** * Polls one operation to a terminal state, starting from the envelope a - * `202` (or a prior poll) returned. Resolves with the done manifest, or - * throws an `OperationPollError` on `failed`, on any non-2xx poll + * `202` (or a prior poll) returned. Resolves with the done manifest (null + * when the done poll carries none), or throws an `OperationPollError` on `failed`, on any non-2xx poll * response, or once `deadlineMs` has elapsed without reaching a terminal * state (an Error whose `code` is OPERATION_DEADLINE). */ export async function pollOperation( envelope: OperationEnvelope, options: PollOperationOptions = {}, -): Promise { +): Promise { const { fetchImpl = defaultFetch, onProgress, @@ -239,7 +233,7 @@ export async function pollOperation( throw pollError(body, res.status); } - const resource = body as { operation?: OperationEnvelope; manifest?: unknown } | null; + const resource = body as Partial | null; const operation = resource?.operation; if (!operation) { @@ -249,7 +243,9 @@ export async function pollOperation( } if (operation.status === 'done') { - return resource?.manifest ?? null; + // The resource types the manifest as an open object; a done poll + // returns the manifest a synchronous mint does. + return (resource?.manifest ?? null) as Manifest | null; } current = operation; diff --git a/src/lib/search/operations.ts b/src/lib/search/operations.ts index 74d3dbb..8ce95f1 100644 --- a/src/lib/search/operations.ts +++ b/src/lib/search/operations.ts @@ -1,8 +1,8 @@ /** The label of the button that hands a part's operations to Studio. */ -import type { OperationVerb } from './types.ts'; +import { hasKey, type Known, type OperationVerb } from './types.ts'; -const BUTTON_LABELS: Record = { +const BUTTON_LABELS: Record, string> = { rank: 'Rank in Studio', aggregate: 'Add up in Studio', growth: 'Work out the change in Studio', @@ -12,7 +12,8 @@ const BUTTON_LABELS: Record = { report: 'Ask Studio for a report', }; -/** The Studio button, named for the verb of the operation it hands over. */ +/** The Studio button, named for the verb of the operation it hands over; a verb this release + * does not know gets the plain label. */ export function operationButtonLabel(verb: OperationVerb): string { - return BUTTON_LABELS[verb]; + return hasKey(BUTTON_LABELS, verb) ? BUTTON_LABELS[verb] : 'Open in Studio'; } diff --git a/src/lib/search/promote.ts b/src/lib/search/promote.ts index aaa5a4b..e780af9 100644 --- a/src/lib/search/promote.ts +++ b/src/lib/search/promote.ts @@ -6,6 +6,7 @@ import type { IdentityBinding, IdentityFacetAxis, IdentityFacetRefBinding, + IdentityFacetBinding, IdentityFacets, Spec, } from './types'; @@ -21,41 +22,33 @@ import type { // `{kind, value:{ref:{ref,label}}}` — these adapters bridge the two without // asking the editors to know about the identity wire shape at all. +/** A slot's binding in the engine's resolved shape. */ +type ResolvedBinding = Spec['slots'][number]['binding']; + /** The bound dcid a resolved binding carries, or null when it binds nothing - * (unbound, or a shape this adapter doesn't recognise). */ -function resolvedBindingDcid(binding: unknown): string | null { - const b = binding as { kind?: string; value?: { ref?: { ref?: string } } } | null | undefined; - if (!b || b.kind === 'unbound') return null; - return b.value?.ref?.ref ?? null; + * (unbound, or a set, which names no single dcid). */ +function resolvedBindingDcid(binding: ResolvedBinding | null | undefined): string | null { + return binding?.kind === 'value' ? (binding.value.ref?.ref ?? null) : null; } -/** One dcid for value, every member's for set. None for unbound/absent or - * an unrecognised shape. */ -function resolvedBindingDcids(binding: unknown): string[] { - const b = binding as - | { - kind?: string; - value?: { ref?: { ref?: string } }; - values?: { ref?: { ref?: string } }[]; - } - | null - | undefined; - - if (!b) return []; - - if (b.kind === 'set') { - return (b.values ?? []) - .map((value) => value?.ref?.ref) - .filter((dcid): dcid is string => !!dcid); +/** One dcid for value, every member's for set. None for unbound or absent. */ +function resolvedBindingDcids(binding: ResolvedBinding | null | undefined): string[] { + switch (binding?.kind) { + case 'set': + return binding.values.flatMap((value) => value.ref?.ref ?? []); + case 'value': + return binding.value.ref?.ref ? [binding.value.ref.ref] : []; + default: + return []; } - - return b.value?.ref?.ref ? [b.value.ref.ref] : []; } /** Convert a resolved what/how slot binding to its identity-slot form. Every * shape-declared slot is dense (always present, `unbound` if nothing is * bound), so — unlike facets/entities — there is no "drop" case here. */ -export function toIdentitySlotBinding(binding: unknown): IdentityBinding { +export function toIdentitySlotBinding( + binding: ResolvedBinding | null | undefined, +): IdentityBinding { const dcid = resolvedBindingDcid(binding); return dcid ? { state: 'value', ref: dcid } : { state: 'unbound' }; } @@ -63,7 +56,9 @@ export function toIdentitySlotBinding(binding: unknown): IdentityBinding { /** Convert a resolved binding to a facet binding, or null when it should be * dropped from the sparse `facets` map entirely (the facet union has no * `unbound` state — an unconstrained axis is simply absent). */ -function toIdentityFacetBinding(binding: unknown): IdentityFacetRefBinding | null { +function toIdentityFacetBinding( + binding: ResolvedBinding | null | undefined, +): IdentityFacetRefBinding | null { const dcid = resolvedBindingDcid(binding); return dcid ? { state: 'value', ref: dcid } : null; } @@ -114,7 +109,7 @@ export function withEntityEdit( export function withFacetEdit( identity: BaseIdentity, axis: A, - binding: IdentityFacets[A] | null, + binding: IdentityFacetBinding[A] | null, ): BaseIdentity { const facets: IdentityFacets = { ...identity.facets }; @@ -138,7 +133,7 @@ export function withFacetEdit( export function withResolvedSlotEdit( spec: Pick, slotIndex: number, - binding: unknown, + binding: ResolvedBinding, entityRole: EntityRoleKey = 'observationAbout', ): BaseIdentity { const identity = spec.identity as BaseIdentity; diff --git a/src/lib/search/refineMenu.ts b/src/lib/search/refineMenu.ts index 1cbc1cb..19fd45f 100644 --- a/src/lib/search/refineMenu.ts +++ b/src/lib/search/refineMenu.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- reads specs, slots and bindings as `any`, dereferencing only the members it names and tolerating any that is missing */ /** * What Refine offers: the bindings of the answer's definite parts that no * visible token states (SentenceToken.states), each with something to pick: diff --git a/src/lib/search/registerDefinitions.ts b/src/lib/search/registerDefinitions.ts index 0d45e7b..b8aafe5 100644 --- a/src/lib/search/registerDefinitions.ts +++ b/src/lib/search/registerDefinitions.ts @@ -8,6 +8,8 @@ * `node --test` imports it directly. */ +import type { ProblemDetails } from '@developmentfinance/client/wire'; + import { apisFetch } from '../apisAuth.ts'; const REGISTER_TIMEOUT_MS = 20_000; @@ -39,7 +41,7 @@ export const registerDefinitions = async ({ }); if (!res.ok) { - const body: { code?: string } | null = await res.json().catch(() => null); + const body: Partial | null = await res.json().catch(() => null); throw new Error(body?.code ?? `register ${res.status}`); } diff --git a/src/lib/search/resultNotes.ts b/src/lib/search/resultNotes.ts index 6a8de66..ce9e42a 100644 --- a/src/lib/search/resultNotes.ts +++ b/src/lib/search/resultNotes.ts @@ -108,6 +108,11 @@ export function downloadNote( : null; } +/** A warning param that holds a list of strings, or [] for one that holds a number or a + * string. */ +const listParam = (value: number | string | string[] | undefined): string[] => + Array.isArray(value) ? value : []; + /** The "Data not available" line for a part's failed UN reads, read from * the `variables` and `variable_labels` params of its * `un_system_unavailable` warnings (dfo-apis un_system.py @@ -134,9 +139,9 @@ export function unSystemFailedReads( // Each variable's label, empty where the warning holds none. const labels = new Map( unavailable.flatMap((warning) => { - const names = warning.params?.variable_labels ?? []; + const names = listParam(warning.params?.variable_labels); - return (warning.params?.variables ?? []).map( + return listParam(warning.params?.variables).map( (dcid, at) => [dcid, names[at] ?? ''] as const, ); }), diff --git a/src/lib/search/searchClient.ts b/src/lib/search/searchClient.ts index 834e337..e79469a 100644 --- a/src/lib/search/searchClient.ts +++ b/src/lib/search/searchClient.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- turns unvalidated response bodies and stream events into the page's shapes, so bodies and open slot options are `any` */ /** * Browser-side search client for the /prototype gut-check page. * @@ -10,11 +10,29 @@ * so no CORS setup is needed. Override NEXT_PUBLIC_SEARCH_API_BASE only to hit a * remote engine origin directly. * - * MIRROR: A deliberately-shallow type layer of the engine contract. See the - * fuller types in `lib/search/types.ts` (source of truth: the dfo-apis Search - * API schema). Keep this layer in sync as the contract evolves. + * The SSE event types below are hand-written, since the OpenAPI document does + * not describe the stream. The response, slot key and Datasets door types come + * from `@developmentfinance/client/wire`, generated from that document, through + * `lib/search/types.ts` or directly. */ +import type { + ArtifactEntryModel, + CoverageDimension, + EnrichmentOptionModel, + FormatOptionModel, + Manifest, + MembersEnvelope, + MintRequest, + OptionsEnvelope, + OptionsRequest, + OutputOptionsModel, + ProblemDetails, + ProblemIssue, + ServedMember, + SlotKey, +} from '@developmentfinance/client/wire'; + import { datasetsFetch } from './datasetsFetch.ts'; import { pollOperation } from './operationPoll.ts'; import type { OperationProgress } from './operationPoll'; @@ -25,33 +43,31 @@ import { type VersionLinkDocument, type VersionLinkOutcome, } from './versionLink.ts'; -import type { - Assumption, - DatasetResubmitEntry, - LateDepartures, - EntityGroup, - EntityRoleKey, - Frame, - Operation, - Part, - PlaceOptionsScope, - Resolution, - ResolveStatus, - RoleAxis, - SentenceToken, - SpecObservations, - Warning, -} from './types'; +import { + type Assumption, + type DatasetResubmitEntry, + type EntityGroup, + type EntityRoleKey, + type Frame, + isKnownPart, + type LateDepartures, + type Operation, + type Part, + type PlaceOptionsScope, + type Resolution, + type ResolveStatus, + type RoleAxis, + type SentenceToken, + type SpecIdentity, + type SpecObservations, + type Warning, +} from './types.ts'; export const SEARCH_BASE = process.env.NEXT_PUBLIC_SEARCH_API_BASE ?? ''; // Deliberately shallow types: the gut-check renders whatever the engine sends, // so only the fields the page dereferences are typed; the rest stays `any`. -export type SlotKey = { - axis: string; - property: { ref: string; label: string } | null; - label: string; -}; +export type { SlotKey }; // The stream's sentence plans carry the same token shape as the response's. export type { SentenceToken }; @@ -456,7 +472,8 @@ export function mergeLateWarnings(response: Resolution, warnings: Warning[]): Re if (bySpec.size === 0) return response; const parts = response.parts.map((part) => { - const late = part.status === 'definite' && part.spec ? bySpec.get(part.spec.spec_id) : null; + const late = + isKnownPart(part) && part.status === 'definite' ? bySpec.get(part.spec.spec_id) : null; if (!late?.length) return part; @@ -510,7 +527,12 @@ export function applyLateDepartures(response: Resolution, late: LateDepartures[] const parts = response.parts.map((part, index) => { const entry = byPart.get(index); - if (!entry || part.status !== 'definite' || part.spec?.spec_id !== entry.spec_id) { + if ( + !entry || + !isKnownPart(part) || + part.status !== 'definite' || + part.spec.spec_id !== entry.spec_id + ) { return part; } changed = true; @@ -540,20 +562,23 @@ export function applyDoneEvent( * field rides through untouched. */ function flattenPart(part: any): any { if (!part || typeof part !== 'object') return part; - // Part.restatement and Part.operations are required; the wire's - // WirePart fields are optional. Default them here so a normalized Part - // never carries `undefined` for either despite its type. - const restatement = part.restatement ?? null; - const operations = part.operations ?? []; + // The page Part's restatement, operations, warnings and departures are + // required, on a part of any status; the wire's are optional. Default + // them here so a normalized Part never carries `undefined` for one. + const defaults = { + restatement: part.restatement ?? null, + operations: part.operations ?? [], + warnings: part.warnings ?? [], + departures: part.departures ?? [], + }; if (part.spec) { - return { ...part, restatement, operations, spec: flattenSpec(part.spec) }; + return { ...part, ...defaults, spec: flattenSpec(part.spec) }; } if (part.candidates) { return { ...part, - restatement, - operations, + ...defaults, candidates: { ...part.candidates, specs: (part.candidates.specs ?? []).map(flattenSpec), @@ -563,8 +588,7 @@ function flattenPart(part: any): any { if (part.no_data) { return { ...part, - restatement, - operations, + ...defaults, no_data: { ...part.no_data, nearest_real: Array.isArray(part.no_data.nearest_real) @@ -575,7 +599,7 @@ function flattenPart(part: any): any { }, }; } - return { ...part, restatement, operations }; + return { ...part, ...defaults }; } /** @@ -647,28 +671,22 @@ function detailText(body: any, status: number): string { /** One `issues[]` entry on a refusal: what the engine objected to, and — * where it can — what would have been valid instead. */ -export type ApiIssue = { - code?: string | null; - axis?: string | null; - pointer?: string | null; - detail?: string | null; - alternatives?: { ref: string; label?: string | null }[] | null; -}; +export type ApiIssue = ProblemIssue; export type ApiError = Error & { /** the response's own HTTP status, so a console log can name it without * re-deriving it from the message text. */ status?: number; - code?: string | null; - pointer?: string | null; + code?: ProblemDetails['code'] | null; + pointer?: ProblemDetails['pointer']; /** `over_ceiling` only: which ceiling was hit, and the two numbers that * let the message say so plainly instead of in prose. `candidate_window` * counts the measures a broad family matched, so its `count` is the * candidates the read listed rather than the result's size. */ - ceilingKind?: 'member_cardinality' | 'rows' | 'bytes' | 'candidate_window' | string | null; - count?: number | null; - cap?: number | null; - issues?: ApiIssue[] | null; + ceilingKind?: ProblemDetails['ceiling_kind']; + count?: ProblemDetails['count']; + cap?: ProblemDetails['cap']; + issues?: ProblemDetails['issues']; }; /** A refusal body's own `code` and RFC 9457 `pointer`, top-level fields @@ -699,7 +717,7 @@ function apiError(body: any, status: number): ApiError { // --------------------------------------------------------------------------- export type EntityOptionsRequest = { - identity: any; + identity: SpecIdentity; // The wire's full role vocabulary (EntityRoleKey): a directional // entity_options call names 'origin'/'destination' explicitly; an // omitted role takes the door's own 'observationAbout' default below. @@ -738,7 +756,7 @@ export async function entityOptions( for: { role: req.role ?? 'observationAbout', scope: req.scope }, // Per-option data footprint (observation counts / years) for the rows. include_coverage: true, - }), + } satisfies OptionsRequest), signal, }); const body = await res.json().catch(() => null); @@ -775,13 +793,7 @@ export const DATASET_FORMATS: readonly { id: DatasetFormat; label: string }[] = { id: 'parquet', label: 'Parquet' }, ]; -export type DatasetArtifact = { - url: string; - media_type?: string; - bytes?: number; - role?: string; - filename?: string; -} & Record; +export type DatasetArtifact = ArtifactEntryModel; /** The address a browser or fetch uses for an artifact's `url`, which is * root-relative (`/api/datasets/{spec}/{cv}/files/{digest}`). */ @@ -812,7 +824,7 @@ export async function mintDataset( * runs as a background operation (202 only — never called on a * synchronous 200). */ onProgress?: (progress: OperationProgress) => void, -): Promise<{ artifacts: DatasetArtifact[]; manifest: any }> { +): Promise<{ artifacts: DatasetArtifact[]; manifest: Manifest | null }> { const res = await datasetsFetch(`${SEARCH_BASE}/api/datasets`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, @@ -828,7 +840,7 @@ export async function mintDataset( bundle: req.bundle ?? true, ...(req.columns?.length ? { columns: req.columns } : {}), }, - }), + } satisfies MintRequest), signal, }); const body = await res.json().catch(() => null); @@ -838,9 +850,11 @@ export async function mintDataset( if (res.status === 202) { const manifest = await pollOperation(body.operation, { onProgress, signal }); - return { artifacts: ((manifest as any)?.artifacts ?? []) as DatasetArtifact[], manifest }; + return { artifacts: manifest?.artifacts ?? [], manifest }; } - return { artifacts: (body?.artifacts ?? []) as DatasetArtifact[], manifest: body }; + const manifest: Manifest | null = body; + + return { artifacts: manifest?.artifacts ?? [], manifest }; } /** The Datasets API's capability document (GET /api/datasets/capabilities): @@ -877,61 +891,21 @@ export async function fetchSearchCatalogue( } } -/** One output option the engine advertises for a dataset. `state` is the - * authority: only `available` may be offered; `partial` is offerable but - * incomplete (see `coverage`/`missing`), anything else is off. */ -export type DatasetOptionState = 'available' | 'partial' | string; - -export type DatasetEnrichment = { - /** the column the extra field joins onto, e.g. observationAbout */ - column: string; - /** what it adds, e.g. iso3 / iso2 / label */ - field: string; - /** the value to post in `options.columns`, e.g. observationAbout_iso3 */ - token: string; - state: DatasetOptionState; - reason?: string | null; - coverage?: { entities?: number; covered?: number } | null; - missing?: { ref: string; label?: string | null }[] | null; -}; +/** One output option's state. Only `available` may be offered; `partial` is offerable but + * incomplete (see an enrichment's `coverage` and `missing`); anything else is off. */ +export type DatasetOptionState = FormatOptionModel['state']; -export type DatasetOutputOptions = { - capability_version?: string; - columns?: { name: string; kind?: string; droppable?: boolean; distinct?: number }[]; - formats?: { name: string; state: DatasetOptionState }[]; - bundle?: { state: DatasetOptionState } | null; - enrichments?: DatasetEnrichment[]; - /** the enrichment tokens a long-layout download writes with no `columns` - * option, e.g. financingRecipient_label. The extras list leaves them - * out, since they are always present. Absent from an API that predates - * it. */ - long_layout_defaults?: string[]; - /** the roles (frame column names, e.g. financingRecipient) whose total - * rows a long-layout CSV or XLSX keeps out of its main table. A bundle - * writes them to a second CSV, an XLSX to a second sheet, a bare CSV - * leaves them out. Parquet keeps every row. Empty when no role sets rows - * apart, and absent from an API that predates it. */ - long_layout_totals?: string[]; - pivots?: { index: string; columns: string; state: DatasetOptionState }[]; - groupby?: unknown; -}; +export type DatasetEnrichment = EnrichmentOptionModel; -/** One coverage dimension of a dataset: a frame column (or `years`) and its - * distinct count. `axis` names the flow direction a role column serves - * (financingProvider → origin) and is absent for anything else. */ -export type DatasetCoverageDimension = { - label: string; - count?: number; - axis?: 'origin' | 'destination' | null; -}; +export type DatasetOutputOptions = OutputOptionsModel; -/** The parts of an options document, or of a mint's manifest, that the - * download sheet reads: the output options and the coverage dimensions - * that say which role each column serves. */ -export type DatasetOptionsDocument = { - output_options?: DatasetOutputOptions | null; - coverage?: { dimensions?: DatasetCoverageDimension[] } | null; -}; +/** One coverage dimension of a dataset: a frame column (or `years`) and its distinct count. + * `axis` names the flow direction a role column serves (financingProvider → origin). */ +export type DatasetCoverageDimension = CoverageDimension; + +/** The parts of an options document, or of a mint's manifest, that the download sheet reads: + * the output options and the coverage whose dimensions say which role each column serves. */ +export type DatasetOptionsDocument = Pick; /** * What one dataset says it can do (`/api/datasets/{spec_id}/options`): @@ -972,27 +946,15 @@ export async function fetchDatasetOptions( } } -/** One StatVar a definition serves, as the members door lists it (dfo-apis - * datasets_api/schema.py ServedMember): `ref` is `dcid:`-prefixed, `label` - * null when the graph holds none, and `constraints` maps each constraint - * property to its value, null when unbound. */ -export type DefinitionMember = { - ref: string; - label: string | null; - roles: string[]; - constraints: Record; -}; +/** One StatVar a definition serves, as the members door lists it: `ref` is `dcid:`-prefixed, + * `label` null when the graph holds none, and `constraints` maps each constraint property to its + * value, null when unbound. */ +export type DefinitionMember = ServedMember; -/** What the members door (`POST /api/datasets/{spec_id}/members`) answers - * (MembersEnvelope): every StatVar the definition serves, sorted by `ref`, - * the served count, and the size and digest of the family the members came - * from, each null when the door cannot state it. */ -export type DefinitionMembers = { - members: DefinitionMember[]; - served_count: number; - family_member_count: number | null; - family_member_digest: string | null; -}; +/** What the members door (`POST /api/datasets/{spec_id}/members`) answers: every StatVar the + * definition serves, sorted by `ref`, the served count, and the size and digest of the family the + * members came from, each null when the door cannot state it. */ +export type DefinitionMembers = MembersEnvelope; /** * The StatVars one definition serves, resolved by the Datasets members door diff --git a/src/lib/search/searchEvents.ts b/src/lib/search/searchEvents.ts index 15d56ec..27f3438 100644 --- a/src/lib/search/searchEvents.ts +++ b/src/lib/search/searchEvents.ts @@ -25,15 +25,16 @@ */ import { fitsProps } from '../events/limits.ts'; -import type { - DeclinedReason, - HydratedPart, - IdentityBinding, - OperationVerb, - Resolution, - ResolveResponse, - Spec, - SpecIdentity, +import { + type DeclinedReason, + type HydratedPart, + type IdentityBinding, + knownPart, + type OperationVerb, + type Resolution, + type ResolveResponse, + type Spec, + type SpecIdentity, } from './types.ts'; /** How many entity terms a refused part keeps. */ @@ -187,13 +188,13 @@ const askedFor = ( measure: identity.shape, filters, entities: Object.fromEntries( - Object.entries(identity.entities).map(([role, members]) => { + Object.entries(identity.entities ?? {}).map(([role, members]) => { const group = groups?.[role]; return [ role, { - group: group ? { dcid: group.ref, label: group.label } : null, + group: group ? { dcid: group.ref ?? null, label: group.label } : null, sample: sample(members), count: members.length, }, @@ -270,14 +271,19 @@ export function searchEventProps({ }); const refused = parts .filter((part) => part.part && part.part.status !== 'definite') - .map((part) => ({ - variableText: part.variableText && clip(part.variableText, MAX_TERM), - status: part.part!.status, - reason: part.part!.no_data?.reason ?? part.part!.unsupported?.code ?? null, - entityTerms: sample(part.part!.no_data?.entity_terms ?? []).map((term) => - clip(term, MAX_TERM), - ), - })); + .map((part) => { + const known = knownPart(part.part); + const noData = known?.status === 'no_data' ? known.no_data : undefined; + + return { + variableText: part.variableText && clip(part.variableText, MAX_TERM), + status: part.part!.status, + reason: + noData?.reason ?? + (known?.status === 'unsupported' ? known.unsupported.code : null), + entityTerms: sample(noData?.entity_terms ?? []).map((term) => clip(term, MAX_TERM)), + }; + }); const runProps = (rung: Rung): Partial => { if (!run) { diff --git a/src/lib/search/searchShareRequest.ts b/src/lib/search/searchShareRequest.ts index 22d0e45..62796da 100644 --- a/src/lib/search/searchShareRequest.ts +++ b/src/lib/search/searchShareRequest.ts @@ -1,11 +1,12 @@ /* eslint-disable @typescript-eslint/no-explicit-any -- request bodies are validated field by field below */ -import type { - Assumption, - AssumptionKind, - EntityGroup, - EntityRoleKey, - HydratedPart, - Operation, +import { + type Assumption, + type AssumptionKind, + type EntityGroup, + type EntityRoleKey, + type HydratedPart, + knownPart, + type Operation, } from './types.ts'; /** @@ -155,7 +156,7 @@ export const searchSharePart = (part: HydratedPart): Required = identity: spec.identity, entityGroups: spec.entity_groups ?? null, operations: part.part?.operations ?? [], - assumptions: part.part?.assumptions ?? null, + assumptions: knownPart(part.part)?.assumptions ?? null, definition: spec.definition, }; }; diff --git a/src/lib/search/shareDownload.ts b/src/lib/search/shareDownload.ts index 87d24b0..d09534b 100644 --- a/src/lib/search/shareDownload.ts +++ b/src/lib/search/shareDownload.ts @@ -30,9 +30,11 @@ * `node --test` imports it directly. */ +import type { OperationResource, ProblemDetails } from '@developmentfinance/client/wire'; + import { datasetsFetch } from './datasetsFetch.ts'; import { DEFAULT_DOWNLOAD_CHOICES } from './downloadOptions.ts'; -import { OPERATION_DEADLINE, pollOperation, type OperationEnvelope } from './operationPoll.ts'; +import { OPERATION_DEADLINE, pollOperation } from './operationPoll.ts'; import { artifactHref, DATASET_FORMATS } from './searchClient.ts'; import type { SearchShare } from './searchShare'; import { MINT_DEFAULT_RENDERING, renderingArtifact, type FileRendering } from './snapshot.ts'; @@ -338,7 +340,7 @@ const busy = (retryAfter: string | null = null): DownloadAnswer => export type PinServed = (served: { manifest: VersionLinkDocument; specId: string; - digest: string | null; + digest: string; }) => Promise; type LiveDownload = { @@ -418,7 +420,7 @@ export const serveLiveDownload = async ({ } if (res.status === 202) { - const operation = (body as { operation?: OperationEnvelope } | null)?.operation; + const operation = (body as Partial | null)?.operation; if (operation && OPERATION_SHAPE.test(operation.operation_id)) { return html @@ -481,7 +483,7 @@ const awaitOperation = async ({ now, log, }: { - operation: OperationEnvelope; + operation: OperationResource['operation']; target: Extract; base: string; pin: PinServed; @@ -498,7 +500,7 @@ const awaitOperation = async ({ let manifest: VersionLinkDocument | null; try { - manifest = (await pollOperation( + manifest = await pollOperation( { ...operation, poll: pollUrl }, { fetchImpl: (_path, attempt) => @@ -511,7 +513,7 @@ const awaitOperation = async ({ ...(sleep ? { sleep } : {}), ...(now ? { now } : {}), }, - )) as VersionLinkDocument | null; + ); } catch (error) { if (signal?.aborted) { return CANCELLED; @@ -563,7 +565,7 @@ const doorRefusal = ({ body: unknown; log: (message: string, fields: Record) => void; }): DownloadAnswer => { - const problem = body as { code?: string; detail?: string } | null; + const problem = body as Partial | null; const detail = problem?.detail ? ` ${problem.detail}` : ''; if (res.status === 404 || res.status === 410) { diff --git a/src/lib/search/snapshot.ts b/src/lib/search/snapshot.ts index a2d35e8..892e4af 100644 --- a/src/lib/search/snapshot.ts +++ b/src/lib/search/snapshot.ts @@ -13,51 +13,59 @@ * `/api/download-pin` pins a downloaded version through it. */ +import type { + ArtifactEntryModel, + Manifest, + MintOptions, + PinRequest, + ProblemDetails, +} from '@developmentfinance/client/wire'; + import { datasetsFetch } from './datasetsFetch.ts'; -import { pollOperation, type OperationEnvelope } from './operationPoll.ts'; +import { pollOperation } from './operationPoll.ts'; import { SPEC_SHAPE, VERSION_SHAPE } from './versionLink.ts'; /** The fields of a Datasets manifest this module reads. */ -export type SnapshotManifest = { - content_version?: string; - definition?: { spec_id?: string } | null; - artifacts?: { artifact_digest?: string; tier?: string; rendering?: object }[]; -}; +export type SnapshotManifest = Pick; /** The rendering a file was made with, as a manifest lists it * (`MintOptions` dumped without its unset fields). */ -export type FileRendering = { format: string; bundle: boolean }; +export type FileRendering = Required>; /** What a mint without options renders (dfo-apis' `MintOptions` defaults), a * CSV bundle. A snapshot capture mints and pins this rendering. */ export const MINT_DEFAULT_RENDERING: FileRendering = { format: 'csv', bundle: true }; -// A rendering that carries any of these is reshaped or enriched, so it is a -// different file from the plain one with the same format and bundle. -const RESHAPES = ['columns', 'pivot', 'groupby']; +// A rendering that sets any of these (every MintOptions member beside `format` and `bundle`) is +// reshaped, enriched or cut, so it is a different file from the plain one with the same format and +// bundle. A null or false member is unset. +const RESHAPES = [ + 'columns', + 'pivot', + 'groupby', + 'layout', + 'without_party_totals', +] as const satisfies readonly (keyof MintOptions)[]; /** - * The listed file made with exactly `format` and `bundle` and no reshape, or + * The listed file made with exactly `format` and `bundle` and no reshape or cut, or * undefined. A version manifest lists every rendering stored for the * version, so the first bundle it lists can be an xlsx or column-enriched * one. A statistics artifact carries no format and never matches. */ export const renderingArtifact = < - TArtifact extends { artifact_digest?: string; rendering?: object }, + TArtifact extends Pick, >( artifacts: readonly TArtifact[] | undefined, { format, bundle }: FileRendering, ): TArtifact | undefined => - artifacts?.find((artifact) => { - const rendering = (artifact.rendering ?? {}) as Record; - - return ( - !!artifact.artifact_digest && + artifacts?.find( + ({ artifact_digest, rendering }) => + !!artifact_digest && rendering.format === format && rendering.bundle === bundle && - RESHAPES.every((key) => !(key in rendering)) - ); - }); + RESHAPES.every((key) => !rendering[key]), + ); /** The pin failed or cannot be attempted, so the snapshot would expire with * the working tier. POST /api/share answers this code as its `detail`. */ @@ -125,7 +133,7 @@ export const pinArtifact = async ({ }: PinOptions): Promise => { const pinned = await poster(base, fetchImpl)( `/api/datasets/${specId}/${contentVersion}/pin`, - { schema_version: 1, artifact_digest: artifactDigest }, + { schema_version: 1, artifact_digest: artifactDigest } satisfies PinRequest, { headers: { 'x-dfo-principal': principal }, timeoutMs: DOOR_TIMEOUT_MS }, ).catch((error: unknown) => ({ ok: false, status: 0, body: null, error })); @@ -195,7 +203,7 @@ export const captureSnapshot = async ({ // poll needs no principal. const manifest = ( minted.status === 202 - ? await pollOperation(minted.body.operation as OperationEnvelope, { + ? await pollOperation(minted.body.operation, { fetchImpl: (url) => fetchImpl(`${base}${url}`, { cache: 'no-store', @@ -204,7 +212,7 @@ export const captureSnapshot = async ({ deadlineMs: pollDeadlineMs, }) : minted.body - ) as (SnapshotManifest & { code?: string }) | null; + ) as (Partial & Partial>) | null; if (typeof manifest?.content_version !== 'string') { throw new Error(manifest?.code ?? `mint ${minted.status}`); diff --git a/src/lib/search/studioHandoff.ts b/src/lib/search/studioHandoff.ts index d0a7ae4..049d00b 100644 --- a/src/lib/search/studioHandoff.ts +++ b/src/lib/search/studioHandoff.ts @@ -6,10 +6,10 @@ * all describe the data the user sees. */ -import type { Seed } from '../studio/wire.ts'; +import type { Seed, SeedOperation } from '../studio/wire.ts'; import { unflattenSpec } from './searchClient.ts'; -import type { HydratedPart, Operation } from './types.ts'; +import { type HydratedPart, knownPart, type Operation } from './types.ts'; /** Whether the answer on screen may differ from the query's own reading: a * part was edited, or the answer was opened from a share link, which stores @@ -48,8 +48,10 @@ export function handoffQuestion({ export function handoffSeeds(parts: HydratedPart[]): Seed[] { const seeds = new Map(); - for (const { part } of parts) { - if (part?.status !== 'definite' || !part.spec) { + for (const hydrated of parts) { + const part = knownPart(hydrated.part); + + if (part?.status !== 'definite') { continue; } @@ -62,13 +64,38 @@ export function handoffSeeds(parts: HydratedPart[]): Seed[] { const seed: Seed = seeds.get(block.spec_id) ?? { spec: block, operations: [] }; const known = new Set(seed.operations.map(operationKey)); - seed.operations.push(...part.operations.filter((op) => !known.has(operationKey(op)))); + seed.operations.push( + ...part.operations.filter(isSeedOperation).filter((op) => !known.has(operationKey(op))), + ); seeds.set(block.spec_id, seed); } return [...seeds.values()]; } +const SEED_VERBS: Record = { + rank: true, + aggregate: true, + growth: true, + share_of: true, + explain: true, + forecast: true, + report: true, +}; + +const SEED_AXES: Record, true> = { + place: true, + origin: true, + destination: true, + category: true, + year: true, +}; + +/** True for an operation Studio reads: one whose verb and axis Studio's wire names. A verb or + * axis the Search API adds before Studio knows it stays out of the handoff. */ +const isSeedOperation = (op: Operation): op is Operation & SeedOperation => + Object.hasOwn(SEED_VERBS, op.verb) && (op.over == null || Object.hasOwn(SEED_AXES, op.over)); + const operationKey = ({ verb, phrase, over, target_year }: Operation): string => JSON.stringify([verb, phrase, over ?? null, target_year ?? null]); diff --git a/src/lib/search/test/datasetEntries.test.ts b/src/lib/search/test/datasetEntries.test.ts index 205c783..8d9660b 100644 --- a/src/lib/search/test/datasetEntries.test.ts +++ b/src/lib/search/test/datasetEntries.test.ts @@ -4,14 +4,16 @@ import test from 'node:test'; import { buildDatasetEntries, candidatePickEntry, sharedRefEntry } from '../datasetEntries.ts'; import { withEntityEdit } from '../promote.ts'; import { normalizeResponse, restorePlaceholderParts } from '../searchClient.ts'; -import type { - Assumption, - DatasetCandidatesEntry, - DatasetIdentityEntry, - DatasetParsedEntry, - HydratedPart, - Part, - Resolution, +import { + type Assumption, + type DatasetCandidatesEntry, + type DatasetIdentityEntry, + type DatasetParsedEntry, + type HydratedPart, + knownPart, + type Part, + type Resolution, + type Spec, } from '../types.ts'; import { fixtures, type FixtureName } from './fixtures/index.ts'; @@ -19,15 +21,31 @@ import { fixtures, type FixtureName } from './fixtures/index.ts'; function hydratedParts(name: FixtureName): HydratedPart[] { const parts: Part[] = normalizeResponse(fixtures[name]).parts; - return parts.map((part, index) => ({ - index, - variableText: part.variable_text ?? null, - part, - hydratedSpec: part.status === 'definite' ? (part.spec ?? null) : null, - observationsPending: false, - phase: 'done', - editError: null, - })); + return parts.map((part, index) => { + const known = knownPart(part); + + return { + index, + variableText: part.variable_text ?? null, + part, + hydratedSpec: known?.status === 'definite' ? known.spec : null, + observationsPending: false, + phase: 'done', + editError: null, + }; + }); +} + +/** The assumptions a known part carries; none for an unknown one. */ +const assumptionsOf = (part: HydratedPart): Assumption[] | undefined => + knownPart(part.part)?.assumptions; + +/** The specs of a candidates part. */ +function candidateSpecs(part: HydratedPart): Spec[] { + const known = knownPart(part.part); + + assert.ok(known?.status === 'candidates'); + return known.candidates.specs; } /** A `parsed` entry for `part`: its restatement with `dcid` pinned on the @@ -76,8 +94,12 @@ test("the pick's answer lands at part 1 and part 0 keeps its dataset", () => { 2, ); + const first = knownPart(merged.parts[0]); + const base = knownPart(parts[0].part); + assert.equal(merged.parts.length, 2); - assert.equal(merged.parts[0].spec?.spec_id, parts[0].part?.spec?.spec_id); + assert.ok(first?.status === 'definite' && base?.status === 'definite'); + assert.equal(first.spec.spec_id, base.spec.spec_id); assert.equal(merged.parts[1], pick); assert.equal(merged.status, 'definite'); }); @@ -115,7 +137,7 @@ test("buildDatasetEntries posts a parsed entry's part unchanged, its own operati test("buildDatasetEntries echoes a part's assumptions on its identity entry, an edit's included", () => { const parts = hydratedParts('broad-truncated'); - const assumptions = parts[0].part?.assumptions; + const assumptions = assumptionsOf(parts[0]); const [own] = buildDatasetEntries(parts) as DatasetIdentityEntry[]; const override: DatasetIdentityEntry = { ...own, assumptions: undefined }; const [edited] = buildDatasetEntries(parts, { index: 0, entry: override }); @@ -133,7 +155,7 @@ test("an edit that carries its own echo keeps it over the part's list", () => { entry: { ...own, assumptions: [] }, }) as DatasetIdentityEntry[]; - assert.ok(parts[0].part?.assumptions?.length); + assert.ok(assumptionsOf(parts[0])?.length); assert.deepEqual(replayed.assumptions, []); }); @@ -193,7 +215,7 @@ function candidatesWithReadings( readings: (specIds: string[]) => Record | undefined, ): HydratedPart { const [part] = hydratedParts('multi-candidate'); - const specIds = part.part!.candidates!.specs.map((spec) => spec.spec_id); + const specIds = candidateSpecs(part).map((spec) => spec.spec_id); return { ...part, @@ -212,7 +234,7 @@ const twoReadings = ([first, second]: string[]) => ({ test("a pick echoes the picked reading's own assumptions, not the readings' shared list", () => { const part = candidatesWithReadings(twoReadings); - const [first, second] = part.part!.candidates!.specs; + const [first, second] = candidateSpecs(part); for (const [spec, expected] of [ [first, [everyProvider, everyPlace]], @@ -242,7 +264,7 @@ test('a reading the response gives no list for posts no echo, on a pick or a can candidatesWithReadings(() => undefined), candidatesWithReadings(([first]) => ({ [first]: [] })), ]) { - const specs = part.part!.candidates!.specs; + const specs = candidateSpecs(part); const pick = candidatePickEntry(part, specs[1]); const [posted] = buildDatasetEntries([part], { index: 0, entry: pick }); const [entry] = buildDatasetEntries([part]) as DatasetCandidatesEntry[]; @@ -270,16 +292,20 @@ test("an identity entry and each candidate post their own Spec's groups beside t const g7 = { origin: { ref: null, label: 'G7 countries' } }; const [definite] = hydratedParts('definite-single'); const [candidates] = hydratedParts('multi-candidate'); - const [first, ...others] = candidates.part!.candidates!.specs; + const candidatesPart = knownPart(candidates.part); + + assert.ok(candidatesPart?.status === 'candidates'); + + const [first, ...others] = candidatesPart.candidates.specs; const parts: HydratedPart[] = [ { ...definite, hydratedSpec: { ...definite.hydratedSpec!, entity_groups: eu } }, { ...candidates, index: 1, part: { - ...candidates.part!, + ...candidatesPart, candidates: { - ...candidates.part!.candidates!, + ...candidatesPart.candidates, specs: [{ ...first, entity_groups: g7 }, ...others], }, }, @@ -304,7 +330,7 @@ test("an identity entry and each candidate post their own Spec's groups beside t }); assert.ok(rewritten.entry_kind === 'identity'); - assert.deepEqual(rewritten.identity.entities.origin, ['country/DEU']); + assert.deepEqual(rewritten.identity.entities?.origin, ['country/DEU']); assert.deepEqual(rewritten.entity_groups, eu); }); @@ -347,7 +373,7 @@ test('a stored share part replays its groups beside the identity, and no member test('a stored share part echoes its assumptions, [] included, and a share stored before them posts none', () => { const [part] = hydratedParts('broad-truncated'); const identity = part.hydratedSpec!.identity; - const assumptions = part.part!.assumptions!; + const assumptions = assumptionsOf(part)!; const ref = { variableText: 'aid', identity, entityGroups: null, operations: [] }; assert.ok(assumptions.length); diff --git a/src/lib/search/test/definitionMembers.test.ts b/src/lib/search/test/definitionMembers.test.ts index 4b370e9..5569b96 100644 --- a/src/lib/search/test/definitionMembers.test.ts +++ b/src/lib/search/test/definitionMembers.test.ts @@ -5,6 +5,8 @@ import { definitionMembersReader } from '../definitionMembers.ts'; import type { DefinitionMembers } from '../searchClient.ts'; const envelope: DefinitionMembers = { + schema_version: 1, + spec_id: 'spec_1', members: [ { ref: 'dcid:Count_Person_Female', label: 'Female population', roles: [], constraints: {} }, { ref: 'dcid:Count_Person_Male', label: null, roles: [], constraints: {} }, diff --git a/src/lib/search/test/departures.test.ts b/src/lib/search/test/departures.test.ts index 3c94392..64d263d 100644 --- a/src/lib/search/test/departures.test.ts +++ b/src/lib/search/test/departures.test.ts @@ -66,6 +66,21 @@ test('sentenceBlocks joins heading runs a departure separated -- a no_data part assert.deepEqual(sentenceBlocks(null), []); }); +test('sentenceBlocks reads a token with no segment, or one it does not know, as heading', () => { + assert.deepEqual( + blockTexts([ + { kind: 'text', text: 'Aid' }, + { kind: 'text', text: ' to Kenya.', segment: 'aside' }, + { kind: 'text', text: ' ' }, + { kind: 'text', text: 'OECD.', segment: 'byline' }, + ]), + [ + ['heading', 'Aid to Kenya.'], + ['byline', 'OECD.'], + ], + ); +}); + // --------------------------------------------------------------------------- // The assumptions clause and the mixed-answer opener // --------------------------------------------------------------------------- diff --git a/src/lib/search/test/downloadOptions.test.ts b/src/lib/search/test/downloadOptions.test.ts index d9be8f7..f9b2ece 100644 --- a/src/lib/search/test/downloadOptions.test.ts +++ b/src/lib/search/test/downloadOptions.test.ts @@ -18,27 +18,39 @@ const enrichment = ( column: string, field: string, state = 'available', - coverage?: { entities: number; covered: number }, + coverage = { entities: 1, covered: 1 }, ): DatasetEnrichment => ({ column, field, token: `${column}_${field}`, state, coverage }); +/** An options document holding `fields`, every other member empty. */ +const outputOptions = (fields: Partial): DatasetOutputOptions => ({ + capability_version: 'test', + columns: [], + formats: [], + bundle: { state: 'available' }, + enrichments: [], + long_layout_defaults: [], + long_layout_totals: [], + pivots: [], + groupby: { state: 'available' }, + ...fields, +}); + +const column = (name: string) => ({ name, kind: 'dimension', droppable: false, distinct: null }); + // A flow answer's options: its frame columns, and extras on both role columns // (the recipient side partial), as the options door for "Humanitarian aid // from Germany" answers them. -const flowOptions: DatasetOutputOptions = { - columns: [ - { name: 'stat_var' }, - { name: 'financingProvider' }, - { name: 'financingRecipient' }, - { name: 'time_period' }, - { name: 'value' }, - ], +const flowOptions = outputOptions({ + columns: ['stat_var', 'financingProvider', 'financingRecipient', 'time_period', 'value'].map( + column, + ), enrichments: [ enrichment('financingProvider', 'iso3'), enrichment('financingProvider', 'type'), enrichment('financingRecipient', 'iso3', 'partial', { entities: 145, covered: 125 }), enrichment('financingRecipient', 'label', 'unavailable'), ], -}; +}); const flowDimensions = [ { label: 'financingProvider', count: 1, axis: 'origin' as const }, @@ -84,14 +96,14 @@ test('mintColumns posts only the remembered extras this answer offers, as tokens test('resolveChoices keeps a remembered format only where the answer renders it', () => { const remembered = { format: 'xlsx' as const, bundle: true, enrichment: [] }; // Over Excel's row limit, with the bundle switched off for the deployment. - const large: DatasetOutputOptions = { + const large = outputOptions({ formats: [ { name: 'csv', state: 'available' }, { name: 'xlsx', state: 'unavailable' }, { name: 'parquet', state: 'available' }, ], bundle: { state: 'unavailable' }, - }; + }); const narrowed = resolveChoices(remembered, large); @@ -138,7 +150,7 @@ test.describe('enrichmentGroups heading for a column without a flow axis', () => for (const [name, column, entities, heading] of cases) { test(name, () => { const [group] = enrichmentGroups({ - options: { enrichments: [enrichment(column, 'iso3')] }, + options: outputOptions({ enrichments: [enrichment(column, 'iso3')] }), dimensions: [{ label: column, count: 1 }], entities, }); @@ -159,13 +171,13 @@ test('enrichment rows read their field in words and a partial one its coverage', }); test('the extras list leaves out a column the long layout already writes', () => { - const options: DatasetOutputOptions = { + const options = outputOptions({ enrichments: [ enrichment('financingRecipient', 'party_kind'), enrichment('financingRecipient', 'iso3'), ], long_layout_defaults: ['financingRecipient_label', 'financingRecipient_party_kind'], - }; + }); assert.deepEqual( enrichmentGroups({ options, dimensions: flowDimensions }).flatMap((group) => @@ -177,17 +189,16 @@ test('the extras list leaves out a column the long layout already writes', () => mintColumns(['financingRecipient_party_kind', 'financingRecipient_iso3'], options), ['financingRecipient_iso3'], ); - // An API that predates the field offers everything it lists. + // A long layout that writes no defaults offers everything it lists. assert.equal( - enrichmentGroups({ options: { ...options, long_layout_defaults: undefined } })[0]?.entries - .length, + enrichmentGroups({ options: { ...options, long_layout_defaults: [] } })[0]?.entries.length, 2, ); }); test.describe('totalsNote says where the totals of the roles in long_layout_totals go', () => { const base = { dimensions: flowDimensions, bundleOffered: true }; - const withTotals: DatasetOutputOptions = { long_layout_totals: ['financingRecipient'] }; + const withTotals = outputOptions({ long_layout_totals: ['financingRecipient'] }); const cases: [string, Parameters[0], RegExp | null][] = [ [ 'a bundle', @@ -207,10 +218,14 @@ test.describe('totalsNote says where the totals of the roles in long_layout_tota ['Parquet', { ...base, options: withTotals, format: 'parquet', bundle: true }, null], [ 'no role set apart', - { ...base, options: { long_layout_totals: [] }, format: 'csv', bundle: true }, + { + ...base, + options: outputOptions({ long_layout_totals: [] }), + format: 'csv', + bundle: true, + }, null, ], - ['an older API', { ...base, options: {}, format: 'csv', bundle: true }, null], ]; for (const [name, input, expected] of cases) { diff --git a/src/lib/search/test/fixtures/dataset-documents.ts b/src/lib/search/test/fixtures/dataset-documents.ts new file mode 100644 index 0000000..568a73d --- /dev/null +++ b/src/lib/search/test/fixtures/dataset-documents.ts @@ -0,0 +1,26 @@ +/** + * Datasets API document parts, built to the generated wire types so a test names only the members + * it reads. + */ + +import type { ArtifactEntryModel, DefinitionModel } from '@developmentfinance/client/wire'; + +/** One listed file; `url` and `artifact_digest` default from the digest. */ +export const artifact = ({ + artifact_digest = 'sha256:test', + ...rest +}: Pick & Partial): ArtifactEntryModel => ({ + artifact_digest, + bytes: 1, + media_type: 'text/csv', + created_at: '2026-10-01T00:00:00Z', + tier: 'working', + url: `/api/datasets/spec_a1/cv_b2/files/${artifact_digest}`, + ...rest, +}); + +/** A definition holding `identity` under `spec_id`. */ +export const definition = ( + identity: DefinitionModel['identity'], + spec_id = 'spec_a1', +): DefinitionModel => ({ schema_version: 1, spec_id, identity }); diff --git a/src/lib/search/test/method.test.ts b/src/lib/search/test/method.test.ts index 5c762fa..4a5637a 100644 --- a/src/lib/search/test/method.test.ts +++ b/src/lib/search/test/method.test.ts @@ -6,7 +6,12 @@ import { withFacetEdit } from '../promote.ts'; import { METHOD_REF, refineItems, refineKey } from '../refineMenu.ts'; import { normalizeResponse } from '../searchClient.ts'; import { statingTokenIndex } from '../departures.ts'; -import type { BaseIdentity, IdentityFacets, SentenceToken, SpecObservations } from '../types.ts'; +import type { + BaseIdentity, + IdentityFacetBinding, + SentenceToken, + SpecObservations, +} from '../types.ts'; import { ANY_METHOD_LABEL, flattenRows, @@ -486,7 +491,7 @@ test('method labels read in sentence case while the posted ref keeps the dcid', // `pnpm typecheck` checks this file: each @ts-expect-error fails the build // if the types stop refusing the line under it. test('the identity types take a null ref on measurementMethod and unit only', () => { - const facets: IdentityFacets = { + const facets: Partial = { measurementMethod: { state: 'value', ref: null }, unit: { state: 'value', ref: null }, // @ts-expect-error -- every facet carries a provenance, so a null ref names nothing diff --git a/src/lib/search/test/operations.test.ts b/src/lib/search/test/operations.test.ts index c92c0ed..60b0af3 100644 --- a/src/lib/search/test/operations.test.ts +++ b/src/lib/search/test/operations.test.ts @@ -21,6 +21,7 @@ test('operationButtonLabel names each verb', () => { 'Ask Studio for a report', ], ); + assert.equal(operationButtonLabel('tally'), 'Open in Studio'); }); test("the rank fixture's operation names its Studio button", () => { diff --git a/src/lib/search/test/permalink.test.ts b/src/lib/search/test/permalink.test.ts index 4a4c353..f3e0894 100644 --- a/src/lib/search/test/permalink.test.ts +++ b/src/lib/search/test/permalink.test.ts @@ -27,7 +27,7 @@ const identityEdit: PermalinkEdit = { variable_text: 'ODA disbursements', identity: { identity_version: 'spec1', - shape: {}, + shape: { kind: 'statvar_schema' }, slots: [], entities: { origin: ['country/FRA'] }, requested_window: { kind: 'all' }, @@ -57,7 +57,7 @@ const multiEntityEdit: PermalinkEdit = { variable_text: 'ODA to recipients', identity: { identity_version: 'spec1', - shape: {}, + shape: { kind: 'statvar_schema' }, slots: [], entities: { origin: ['country/FRA'], destination: ['country/KEN', 'country/ETH'] }, requested_window: { kind: 'all' }, diff --git a/src/lib/search/test/permalinkEdits.test.ts b/src/lib/search/test/permalinkEdits.test.ts index 3de63f8..4eec919 100644 --- a/src/lib/search/test/permalinkEdits.test.ts +++ b/src/lib/search/test/permalinkEdits.test.ts @@ -10,7 +10,7 @@ const identity: DatasetResubmitEntry = { variable_text: 'ODA disbursements', identity: { identity_version: 'spec1', - shape: {}, + shape: { kind: 'statvar_schema' }, slots: [], entities: { origin: ['country/FRA'] }, requested_window: { kind: 'all' }, @@ -45,7 +45,7 @@ const yearEdit: DatasetResubmitEntry = { variable_text: 'GDP growth', identity: { identity_version: 'spec1', - shape: {}, + shape: { kind: 'statvar_schema' }, slots: [], entities: {}, requested_window: { kind: 'range', start_year: 2010 }, diff --git a/src/lib/search/test/promote.test.ts b/src/lib/search/test/promote.test.ts index 4b34a23..f677b2e 100644 --- a/src/lib/search/test/promote.test.ts +++ b/src/lib/search/test/promote.test.ts @@ -6,7 +6,7 @@ import type { BaseIdentity } from '../types.ts'; const identity: BaseIdentity = { identity_version: 'spec1', - shape: {}, + shape: { kind: 'statvar_schema' }, slots: [], entities: { origin: ['country/FRA'] }, requested_window: { kind: 'all' }, @@ -86,7 +86,7 @@ test('an unbound where binding drops the role from the posted identity', () => { 'destination', ); - assert.equal('destination' in edited.entities, false); + assert.equal('destination' in (edited.entities ?? {}), false); }); test('withEntityEdit binds a picked dcid, single- or multi-select alike', () => { @@ -129,6 +129,6 @@ test('an unbind edit -- dcid null or an empty Apply selection -- drops the role' for (const { description, selection } of cases) { const edited = withEntityEdit(identity, 'origin', selection); - assert.equal('origin' in edited.entities, false, description); + assert.equal('origin' in (edited.entities ?? {}), false, description); } }); diff --git a/src/lib/search/test/searchClient.test.ts b/src/lib/search/test/searchClient.test.ts index ec4e9f6..2f297db 100644 --- a/src/lib/search/test/searchClient.test.ts +++ b/src/lib/search/test/searchClient.test.ts @@ -19,7 +19,7 @@ import { resolveSuggestion, type SearchEvent, } from '../searchClient.ts'; -import type { Warning } from '../types.ts'; +import type { SpecIdentity, Warning } from '../types.ts'; import { fixtures } from './fixtures/index.ts'; import { currentEntityDcid, @@ -31,6 +31,14 @@ import { statVarsUnreadable, } from '../view.ts'; +/** The smallest identity the options door and a definition take. */ +const OPTIONS_IDENTITY: SpecIdentity = { + identity_version: 'spec1', + shape: { kind: 'statvar_schema' }, + slots: [], + requested_window: { kind: 'all' }, +}; + // A minimal but wire-shaped WireSpec: the definition/resolved split contract // v1 requires, with a well-formed `stat_vars`. function wireSpec(statVars: unknown) { @@ -133,7 +141,7 @@ test('entityOptions posts no resolved_stat_var_dcids and asks for include_covera ); await entityOptions({ - identity: { identity_version: 'spec1' }, + identity: OPTIONS_IDENTITY, scope: 'peers', }); @@ -253,7 +261,7 @@ test('entityOptions sends observationAbout in for.role when role is omitted (a n ); await entityOptions({ - identity: { identity_version: 'spec1' }, + identity: OPTIONS_IDENTITY, scope: 'peers', }); @@ -275,7 +283,7 @@ test('entityOptions sends a directional role verbatim in for.role: origin', asyn ); await entityOptions({ - identity: { identity_version: 'spec1' }, + identity: OPTIONS_IDENTITY, scope: 'peers', role: 'origin', }); @@ -298,7 +306,7 @@ test('entityOptions sends a directional role verbatim in for.role: destination ( ); await entityOptions({ - identity: { identity_version: 'spec1' }, + identity: OPTIONS_IDENTITY, scope: 'children', role: 'destination', }); @@ -336,7 +344,7 @@ test("entityOptions reports the door's own truncated flag from the response", as ); const result = await entityOptions({ - identity: { identity_version: 'spec1' }, + identity: OPTIONS_IDENTITY, scope: 'peers', }); @@ -496,29 +504,18 @@ test('entitySlotOptions reads the requested directional axis rather than assumin const options = [ { value: { value_kind: 'entity' as const, ref: { ref: 'donor-1', label: 'Donor' } } }, ]; + const kenya = [ + { value: { value_kind: 'entity' as const, ref: { ref: 'country/KEN', label: 'Kenya' } } }, + ]; const entries = { 'spec-1': [ { role: 'origin' as const, options, truncated: false }, - { - role: 'destination' as const, - options: [ - { - value: { - value_kind: 'entity' as const, - ref: { ref: 'country/KEN', label: 'Kenya' }, - }, - }, - ], - truncated: true, - }, + { role: 'destination' as const, options: kenya, truncated: true }, ], }; assert.deepEqual(entitySlotOptions({ spec_id: 'spec-1' }, entries, 'origin'), options); - assert.equal( - entitySlotOptions({ spec_id: 'spec-1' }, entries, 'destination')[0]?.value.ref?.ref, - 'country/KEN', - ); + assert.deepEqual(entitySlotOptions({ spec_id: 'spec-1' }, entries, 'destination'), kenya); }); test('entitySlotOptions returns nothing when the requested directional axis is absent', () => { @@ -839,7 +836,7 @@ test('mintDataset returns the artifacts/manifest of a synchronous 200 unchanged' const { artifacts, manifest } = await mintDataset({ spec_id: 'spec_1', format: 'csv' }); assert.deepEqual(artifacts, [{ url: 'https://x/sync' }]); - assert.equal(manifest.content_version, 'cv_sync'); + assert.equal(manifest?.content_version, 'cv_sync'); }); test('mintDataset repeats a mint the Datasets API refused as busy and retryable', async (t) => { @@ -857,7 +854,7 @@ test('mintDataset repeats a mint the Datasets API refused as busy and retryable' const { manifest } = await mintDataset({ spec_id: 'spec_1', format: 'csv' }); - assert.equal(manifest.content_version, 'cv_sync'); + assert.equal(manifest?.content_version, 'cv_sync'); assert.equal(fetchMock.mock.callCount(), 2); }); @@ -1195,7 +1192,7 @@ test('fetchVersionLink reads a version from its manifest and the latest data fro urls.push(url); return jsonResponse(200, { - definition: { spec_id: 'spec_a1', identity: { identity_version: 'spec1' } }, + definition: { spec_id: 'spec_a1', identity: OPTIONS_IDENTITY }, }); }); diff --git a/src/lib/search/test/shareDownload.test.ts b/src/lib/search/test/shareDownload.test.ts index f9505ef..1febc0d 100644 --- a/src/lib/search/test/shareDownload.test.ts +++ b/src/lib/search/test/shareDownload.test.ts @@ -2,6 +2,7 @@ import assert from 'node:assert/strict'; import test from 'node:test'; import type { SearchShareRef } from '../searchShare'; +import { artifact } from './fixtures/dataset-documents.ts'; import { acceptsHtml, createWaitGate, @@ -153,15 +154,27 @@ function statusOf(outcome: ReturnType): number | nul // A version manifest lists every rendering stored for the version: here an // xlsx bundle and a column-enriched CSV bundle ahead of the plain CSV bundle. const versionFiles = [ - { artifact_digest: 'sha256:stats', url: 'u-stats', rendering: { statistics: 'series' } }, - { artifact_digest: 'sha256:xlsx', url: 'u-xlsx', rendering: { format: 'xlsx', bundle: true } }, - { + artifact({ + artifact_digest: 'sha256:stats', + url: 'u-stats', + rendering: { statistics: 'series' }, + }), + artifact({ + artifact_digest: 'sha256:xlsx', + url: 'u-xlsx', + rendering: { format: 'xlsx', bundle: true }, + }), + artifact({ artifact_digest: 'sha256:cols', url: 'u-cols', rendering: { format: 'csv', bundle: true, columns: ['country_income'] }, - }, - { artifact_digest: 'sha256:csv', url: 'u-csv', rendering: CSV_BUNDLE }, - { artifact_digest: 'sha256:file', url: 'u-file', rendering: { format: 'csv', bundle: false } }, + }), + artifact({ artifact_digest: 'sha256:csv', url: 'u-csv', rendering: CSV_BUNDLE }), + artifact({ + artifact_digest: 'sha256:file', + url: 'u-file', + rendering: { format: 'csv', bundle: false }, + }), ]; test('a snapshot link serves the file its capture pinned, by digest', () => { @@ -298,7 +311,7 @@ const serveLive = ({ waitMs?: number; now?: () => number; }) => { - const pinned: (string | null)[] = []; + const pinned: string[] = []; const answer = serveLiveDownload({ shareId: 'abc', target: liveTarget(rendering), @@ -391,7 +404,7 @@ test('a client that disconnects mid-poll ends its wait quietly and frees its slo const errors = t.mock.method(console, 'error', () => {}); const gate = createWaitGate(1); const client = new AbortController(); - const pinned: (string | null)[] = []; + const pinned: string[] = []; let polls = 0; const fetchImpl = (async (url: string) => { if (!url.includes('/operations/')) { diff --git a/src/lib/search/test/snapshot.test.ts b/src/lib/search/test/snapshot.test.ts index 55ae03c..3fb96cd 100644 --- a/src/lib/search/test/snapshot.test.ts +++ b/src/lib/search/test/snapshot.test.ts @@ -8,7 +8,9 @@ import { PIN_REFUSED, PIN_UNAVAILABLE, pinVersionFrame, + renderingArtifact, } from '../snapshot.ts'; +import { artifact } from './fixtures/dataset-documents.ts'; // The manifest lists a statistics artifact, a Parquet frame, a // column-enriched CSV bundle, then the plain CSV bundle a mint without @@ -90,6 +92,41 @@ test('captureSnapshot mints with the default options', async () => { assert.equal('options' in (calls[0]!.body as object), false); }); +// Each listed rendering sets one MintOptions member beyond format and bundle, so it is a different +// file from the plain one listed after it. A false or null member sets nothing. +for (const [name, listed, asked, plain] of [ + ['columns', { columns: ['country_income'] }, { format: 'csv', bundle: true }, false], + ['pivot', { pivot: { index: ['year'] } }, { format: 'csv', bundle: true }, false], + ['groupby', { groupby: { by: ['stat_var'] } }, { format: 'csv', bundle: true }, false], + ['layout', { layout: 'frame' }, { format: 'parquet', bundle: false }, false], + [ + 'without_party_totals', + { without_party_totals: true }, + { format: 'csv', bundle: true }, + false, + ], + [ + 'a false without_party_totals', + { without_party_totals: false }, + { format: 'csv', bundle: true }, + true, + ], + ['a null layout', { layout: null }, { format: 'parquet', bundle: false }, true], +] as const) { + test(`renderingArtifact ${plain ? 'takes' : 'skips'} a rendering with ${name}`, () => { + const withMember = artifact({ + artifact_digest: 'sha256:member', + rendering: { ...asked, ...listed }, + }); + const bare = artifact({ artifact_digest: 'sha256:plain', rendering: { ...asked } }); + + assert.equal( + renderingArtifact([withMember, bare], asked)?.artifact_digest, + plain ? 'sha256:member' : 'sha256:plain', + ); + }); +} + test('captureSnapshot fails when the mint lists no plain CSV bundle', async () => { for (const listed of [[], artifacts.slice(0, 3)]) { const { calls, fetchImpl } = datasetsApi(200, listed); diff --git a/src/lib/search/test/studioHandoff.test.ts b/src/lib/search/test/studioHandoff.test.ts index 2425342..9c240af 100644 --- a/src/lib/search/test/studioHandoff.test.ts +++ b/src/lib/search/test/studioHandoff.test.ts @@ -12,22 +12,26 @@ import { EVENT_SAMPLE, searchEventName, searchEventProps } from '../searchEvents import { flattenSpec, normalizeResponse, unflattenSpec } from '../searchClient.ts'; import { planSentenceText } from '../sentencePlan.ts'; import { handoffEdited, handoffQuestion, handoffSeeds, studioHref } from '../studioHandoff.ts'; -import type { HydratedPart, Operation, Part } from '../types.ts'; +import { type HydratedPart, knownPart, type Operation, type Part } from '../types.ts'; import { fixtures, type FixtureName } from './fixtures/index.ts'; /** The fixture's normalized parts as a settled run holds them. */ function hydratedParts(name: FixtureName): HydratedPart[] { const parts: Part[] = normalizeResponse(fixtures[name]).parts; - return parts.map((part, index) => ({ - index, - variableText: part.variable_text ?? null, - part, - hydratedSpec: part.status === 'definite' ? (part.spec ?? null) : null, - observationsPending: false, - phase: 'done', - editError: null, - })); + return parts.map((part, index) => { + const known = knownPart(part); + + return { + index, + variableText: part.variable_text ?? null, + part, + hydratedSpec: known?.status === 'definite' ? known.spec : null, + observationsPending: false, + phase: 'done', + editError: null, + }; + }); } const wireSpecOf = (name: FixtureName, index = 0) => (fixtures[name] as any).parts[index].spec; @@ -89,6 +93,8 @@ test('handoffSeeds gives a folded part one seed with the operations of both', () operations: [ { verb: 'rank', phrase: 'top 5 donors', over: 'origin' }, { verb: 'growth', phrase: 'change since 2015', over: null }, + // A verb Studio's wire does not name stays out of the seed. + { verb: 'tally', phrase: 'tally them', over: null }, ], }, }; @@ -103,9 +109,13 @@ test('handoffSeeds gives a folded part one seed with the operations of both', () test('handoffSeeds skips a spec with no definition, which Studio would refuse', () => { const [part] = hydratedParts('definite-single'); + const definite = knownPart(part.part); + + assert.ok(definite?.status === 'definite'); + const bare: HydratedPart = { ...part, - part: { ...part.part!, spec: { ...part.part!.spec!, definition: null } as any }, + part: { ...definite, spec: { ...definite.spec, definition: null } }, }; assert.deepEqual(handoffSeeds([bare]), []); diff --git a/src/lib/search/test/versionLink.test.ts b/src/lib/search/test/versionLink.test.ts index c75e4fd..1767a95 100644 --- a/src/lib/search/test/versionLink.test.ts +++ b/src/lib/search/test/versionLink.test.ts @@ -6,8 +6,10 @@ import { parseVersionLink, storedDownload, versionLinkHref, + type VersionLinkDocument, type VersionLinkOutcome, } from '../versionLink.ts'; +import { artifact, definition } from './fixtures/dataset-documents.ts'; const params = (query: string) => new URLSearchParams(query); @@ -52,12 +54,18 @@ const sharedOf = (outcome: VersionLinkOutcome | null) => test('outcomeFromDocument opens a version as a snapshot share dated by its earliest artifact', () => { const link = { specId: 'spec_a1', contentVersion: 'cv_b2' }; const outcome = outcomeFromDocument(link, { - definition: { spec_id: 'spec_a1', identity }, - citation: { sources: [{ label: 'OECD CRS' }, { label: 'IMF WEO' }] }, + content_version: 'cv_b2', + definition: definition(identity), + citation: { + text: '', + sources: [ + { ref: 'dcid:oecd', label: 'OECD CRS' }, + { ref: 'dcid:imf', label: 'IMF WEO' }, + ], + }, artifacts: [ - { created_at: '2026-10-03T12:00:00Z' }, - { created_at: '2026-10-02T09:00:00Z' }, - {}, + artifact({ created_at: '2026-10-03T12:00:00Z', rendering: {} }), + artifact({ created_at: '2026-10-02T09:00:00Z', rendering: {} }), ], }); @@ -89,9 +97,7 @@ test('outcomeFromDocument opens a latest-data link live', () => { const shared = sharedOf( outcomeFromDocument( { specId: 'spec_a1', contentVersion: null }, - { - definition: { spec_id: 'spec_a1', identity }, - }, + { content_version: 'cv_b2', definition: definition(identity) }, ), ); @@ -103,35 +109,37 @@ test('outcomeFromDocument opens a latest-data link live', () => { test('outcomeFromDocument refuses a document without a definition identity', () => { const link = { specId: 'spec_a1', contentVersion: 'cv_b2' }; - assert.equal(outcomeFromDocument(link, { definition: { spec_id: 'spec_a1' } }), null); - assert.equal(outcomeFromDocument(link, { definition: null }), null); + for (const body of [{ definition: { spec_id: 'spec_a1' } }, { definition: null }]) { + assert.equal(outcomeFromDocument(link, body as unknown as VersionLinkDocument), null); + } }); const pinned = { identity_version: 'spec1', shape: { kind: 'stat_var' } }; const stored = [ - { url: '/api/datasets/spec_a1/cv_b2/files/sha256:s0', rendering: { statistics: 'series' } }, - { - url: '/api/datasets/spec_a1/cv_b2/files/sha256:f1', + artifact({ + artifact_digest: 'sha256:s0', + rendering: { statistics: 'series' }, + }), + artifact({ + artifact_digest: 'sha256:f1', rendering: { format: 'csv', bundle: false }, - }, - { - url: '/api/datasets/spec_a1/cv_b2/files/sha256:b1', + }), + artifact({ artifact_digest: 'sha256:b1', rendering: { format: 'csv', bundle: true }, - }, + }), ]; -const frame = { - url: '/api/datasets/spec_a1/cv_b2/files/sha256:fr', +const frame = artifact({ artifact_digest: 'sha256:fr', media_type: 'application/vnd.apache.parquet', rendering: { format: 'frame' }, -}; +}); test('outcomeFromDocument offers a pinned-StatVar version as its stored bundle', () => { assert.deepEqual( outcomeFromDocument( { specId: 'spec_a1', contentVersion: 'cv_b2' }, - { definition: { spec_id: 'spec_a1', identity: pinned }, artifacts: stored }, + { content_version: 'cv_b2', definition: definition(pinned), artifacts: stored }, ), { kind: 'download_only', @@ -144,7 +152,11 @@ test('outcomeFromDocument offers a data file when a pinned-StatVar version has n assert.deepEqual( outcomeFromDocument( { specId: 'spec_a1', contentVersion: 'cv_b2' }, - { definition: { spec_id: 'spec_a1', identity: pinned }, artifacts: stored.slice(0, 2) }, + { + content_version: 'cv_b2', + definition: definition(pinned), + artifacts: stored.slice(0, 2), + }, ), { kind: 'download_only', @@ -169,7 +181,8 @@ for (const [name, link, artifacts] of [ test(`outcomeFromDocument offers no download for a pinned-StatVar ${name}`, () => { assert.deepEqual( outcomeFromDocument(link, { - definition: { spec_id: 'spec_a1', identity: pinned }, + content_version: 'cv_b2', + definition: definition(pinned), artifacts: [...artifacts], }), { kind: 'download_only', download: null }, @@ -186,7 +199,7 @@ test('storedDownload picks the bundle, else the first data file, by its stable l assert.deepEqual(storedDownload({ artifacts: stored.slice(0, 2) }), { url: '/api/datasets/spec_a1/cv_b2/files/sha256:f1', format: 'csv', - digest: null, + digest: 'sha256:f1', }); assert.equal(storedDownload({ artifacts: stored.slice(0, 1) }), null); }); @@ -196,6 +209,6 @@ test('storedDownload skips the canonical frame', () => { assert.deepEqual(storedDownload({ artifacts: [stored[1], frame, stored[0]] }), { url: '/api/datasets/spec_a1/cv_b2/files/sha256:f1', format: 'csv', - digest: null, + digest: 'sha256:f1', }); }); diff --git a/src/lib/search/tokenAbout.ts b/src/lib/search/tokenAbout.ts index 482b299..fa4693a 100644 --- a/src/lib/search/tokenAbout.ts +++ b/src/lib/search/tokenAbout.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- reads the same shallow Spec the sentence menus read (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- reads specs as `any`, dereferencing only the members it names and tolerating any that is missing */ /** * The About line at the top of a sentence token's panel: what the token's * current value is, read from the Spec the answer already carries. The line @@ -12,7 +12,13 @@ import { keyRef } from './searchClient.ts'; import { capitalise } from '../capitalise.ts'; -import type { EntityRoleKey, SentenceToken, UnitConversion } from './types.ts'; +import { + type EntityRoleKey, + hasKey, + type Known, + type SentenceToken, + type UnitConversion, +} from './types.ts'; import { priceBasis } from './unitLabel.ts'; import type { PriceBasis } from './unitLabel.ts'; import { @@ -153,7 +159,10 @@ const measureAbout = ( }; }; -const ROLE_NOUNS: Record = { +const ROLE_NOUNS: Record< + Known, + { one: string; many: string; dimensions: string[] } +> = { origin: { one: 'provider', many: 'providers', dimensions: ['providers'] }, destination: { one: 'recipient', many: 'recipients', dimensions: ['recipients'] }, observationAbout: { one: 'place', many: 'places', dimensions: ['countries', 'places'] }, @@ -169,7 +178,8 @@ const listNames = (names: string[]): string => const entityAbout = (token: SentenceToken, spec: any): TokenAboutModel => { const role: EntityRoleKey = token.role ?? 'observationAbout'; - const nouns = ROLE_NOUNS[role]; + // A role this release does not know reads as the subject role. + const nouns = hasKey(ROLE_NOUNS, role) ? ROLE_NOUNS[role] : ROLE_NOUNS.observationAbout; const entities: any[] = spec?.entities ?? []; const dcids: string[] = token.entity_refs?.length ? token.entity_refs diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index 9a63f95..c3a7308 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -1,1308 +1,295 @@ /** - * Search engine contract — TypeScript mirror. + * Search contract types for the site. * - * Single source of truth for every consumer. These types mirror the Search API - * contract shipped by dfo-apis (authoritative pydantic models; live schema at - * `GET /api/search/schema`). The engine owns the contract; we consume it. When - * the models and these types diverge, the models win and these types must be - * updated (and the schema_version bumped if MAJOR). + * The wire types come from `@developmentfinance/client/wire`, generated from the API's served + * OpenAPI document; this file re-exports the ones the site names and builds three kinds of type on + * top of them: * - * MIRROR: A second, deliberately-shallow mirror lives at `lib/search/searchClient.ts` - * (transport-level event types). Keep both aligned with the engine schema; this file is the fuller one. - */ - -// --------------------------------------------------------------------------- -// Primitives -// --------------------------------------------------------------------------- - -/** Contract v1 (deployed 2026-08-17): an integer version tag. The pre-release - * "1.0" string form is refused with unsupported_schema_version. */ -export type SchemaVersion = number; - -/** The only three outcomes the envelope can carry. */ -export type ResolveStatus = 'definite' | 'candidates' | 'no_data'; - -/** A directional flow endpoint (provider/recipient read-back). Mirrors the - * server's own `RoleAxis` name and values one-for-one (dfo-apis - * dfo_platform/roles.py:17, src/search/models/grammar.py:293). */ -export type RoleAxis = 'origin' | 'destination'; - -/** One currency a unit_not_resolved refusal offers in place of the unit phrase it could - * not resolve. Mirrors dfo-apis src/search/models/outcomes.py's UnitAlternative. */ -export interface UnitAlternative { - /** the value a caller resubmits as facets.unit.request.currency: an ISO 4217 - * code, or a role shape for a role-relative currency phrase */ - currency: string | IdentityCurrencyRole; - /** the currency's display name, or the role's reader-facing noun */ - label: string; -} - -/** - * Mirrors the server's own Ordering (dfo-apis vocab.py) one-for-one: - * intent_rank is the order the status rule offers the readings in, and every - * first answer uses it: the elected reading first, then its rivals in menu - * order, each stating its `basis`. broadest_first is a posted candidates - * entry's own order, kept as posted and stated back. - */ -export type Ordering = 'broadest_first' | 'intent_rank'; - -/** - * Why a part offers a Spec as one of its candidates (dfo-apis vocab.py - * CandidateBasis): `structural`, a reading that differs from the elected one - * only on a stat type, price basis or denominator the request leaves open; - * `nominated`, a reading the model named as a genuine reading of the phrase; - * `twin`, an equivalent reading of the elected one, offered where the elected - * one holds no data; `direction`, the same reading with the other direction - * for a place the request names without one. - */ -export type CandidateBasis = 'structural' | 'nominated' | 'twin' | 'direction'; - -/** A normalised form a question can ask for (dfo-apis vocab.py QuantityForm): - * per person, per a numbered count of people, per area, a rate, or a share - * of a whole. */ -export type QuantityForm = 'per_person' | 'per_head_base' | 'per_area' | 'rate' | 'share'; - -/** Why a no_data outcome was returned (closed enum). */ -export type NoDataReason = - | 'source_not_resolved' - | 'source_ambiguous' - | 'source_code_not_held' - | 'source_code_ambiguous' - | 'source_code_shares_variable' - | 'entity_not_resolved' - | 'entity_ambiguous' - | 'entity_set_too_large' - | 'entity_role_not_admitted' - | 'variable_not_resolved' - | 'role_not_resolved' - | 'unit_not_resolved' - | 'rate_coverage_gap' - | 'no_matching_slice' - | 'binding_mismatch' - | 'denominator_not_available' - | 'no_observations' - | 'facet_not_available' - | 'role_incompatible' - | 'role_signature_incompatible' - | 'qualifier_not_bound'; - -/** - * Present on `NoData.gate` exactly when `flagged_match` or `alternate_match` - * is present, except `role_incompatible`, `qualifier_not_bound` and - * `denominator_not_available`, whose `flagged_match` records a - * graph-confirmed identity with no availability verdict taken. Mirrors dfo-apis `NoDataGate` one-for-one. - */ -export type NoDataGate = - | 'no_member_has_data_at_place' - | 'no_member_asserts_bound_properties' - | 'only_alternate_has_data'; - -/** Warning severity levels. */ -export type WarningSeverity = 'info' | 'warn' | 'degraded'; - -/** Qualitative retrieval confidence for an interpretation. */ -export type Confidence = 'high' | 'medium' | 'low'; - -/** Where a slot's option set came from. */ -export type SlotOptionsSource = 'observed' | 'seed'; - -/** - * Where a level-scoped SlotOption sits relative to its slot's bound value: - * "child"/"parent" narrow or widen one step in a hierarchical code system's - * taxonomy. "root" is a classification root: every root of an unbound - * slot, every other root beside a bound root, or any value of a flat code - * system, so it does not tell bound from unbound. Mirrors the server's - * SlotOptionRelation (dfo-apis src/search/models/vocab.py) one-for-one. - */ -export type SlotOptionRelation = 'child' | 'parent' | 'root'; - -/** - * What one party of a flow is beside the other parties on its side: a - * `party` holds figures of its own, a `total` holds other parties' figures - * ("Africa, Total"), so a sum across the role that counts it counts its - * members twice, and a `residual` holds figures no other party holds. Mirrors - * PartyKind (dfo-apis src/search/models/vocab.py) one-for-one. - */ -export type PartyKind = 'party' | 'total' | 'residual'; - -/** A {ref, label} pair. Every identifier in the contract is a GraphRef. */ -export interface GraphRef { - /** the graph identifier, a dcid */ - ref: string; - /** plain-language display name, read from the graph */ - label: string; -} - -/** The Data Commons a provenance's data comes from: the Observatory's own - * imports, Data Commons by Google, or the UN System Data Commons. Mirrors - * dfo-apis src/search/models/vocab.py DataCommonsId. */ -export type DataCommonsId = 'dfo' | 'base' | 'un_system'; - -/** The organisation behind a provenance, which is the Source node its - * `source` arc names or, on the UN System Data Commons, the agency - * provenance itself. The site calls it the publisher. */ -export interface SourceRef { - ref: string; - label: string; -} - -/** The Data Commons a provenance's data comes from, with its display name - * (Development Finance Observatory, Data Commons by Google, UN System Data - * Commons). */ -export interface DataCommonsRef { - id: DataCommonsId; - label: string; -} - -/** A provenance on the wire (dfo-apis src/search/models/grammar.py - * ProvenanceRef). `source` and `data_commons` come from the origin - * catalogue, and are absent for a provenance the catalogue does not list, - * which then carries its dcid as `label`. */ -export interface ProvenanceRef extends GraphRef { - source?: SourceRef | null; - data_commons?: DataCommonsRef | null; - /** the Graph API route of the provenance's document, - * `/api/graph/documentation/{dcid}` */ - documentation: string; -} - -// --------------------------------------------------------------------------- -// Slots -// --------------------------------------------------------------------------- - -/** The fixed slot-grammar axes the engine defines. */ -export type SlotAxis = 'what' | 'how' | 'where' | 'when' | 'source'; - -export interface SlotKey { - axis: SlotAxis; - /** - * The constraint property that defines this slot when one exists; non-null on - * how/what/where when a specific property drives the axis; null for when, - * source, and the where-axis slot that binds the subject/recipient entity - * directly (no constraint property backs it). - */ - property: GraphRef | null; - /** human label, e.g. "purpose", "provider" */ - label: string; -} - -export interface TimeWindow { - /** absent => open-ended start */ - start_year?: number; - /** absent => open-ended end ("to latest") */ - end_year?: number; -} - -/** - * A requested when-axis signal for identity purposes: either a concrete - * TimeWindow, or the literal "latest" for a query that explicitly asked for - * the most-recent/current value. Distinct from `undefined` (no date signal at - * all) — a resubmit carrying "latest" re-resolves to whatever year is currently - * latest, instead of pinning to the year the original request resolved to. - */ -export type RequestedWindow = TimeWindow | 'latest'; - -export type SlotValueKind = 'entity' | 'enum_value' | 'time_window' | 'source' | 'literal'; - -export interface SlotValue { - /** the graph object bound, when the value is a graph object */ - ref?: GraphRef; - value_kind: SlotValueKind; - /** present iff value_kind === "time_window" */ - time_window?: TimeWindow; - /** present iff value_kind === "literal" */ - literal?: string; -} - -/** Exactly one taxonomy member. */ -export interface BindingValue { - kind: 'value'; - value: SlotValue; -} - -/** Two or more members, all in scope (union). A length-1 set is illegal. */ -export interface BindingSet { - kind: 'set'; - values: SlotValue[]; - /** the group the set was drawn from, when one exists (e.g. "DAC donors") */ - set_ref?: GraphRef; -} - -/** Explicit "whole slot in scope" — NOT null/missing. */ -export interface BindingUnbound { - kind: 'unbound'; -} - -/** The slot's constraint property is NOT present on the resolved SVs (un-decomposed series). */ -export interface BindingAbsent { - kind: 'absent'; -} - -export type Binding = BindingValue | BindingSet | BindingUnbound | BindingAbsent; -export type BindingKind = Binding['kind']; - -export interface Slot { - key: SlotKey; - /** exactly one of the four binding states */ - binding: Binding; -} - -// --------------------------------------------------------------------------- -// Shape -// --------------------------------------------------------------------------- - -export interface Shape { - shape_id: string; - /** plain-language name of what the reading serves: a composed measure label, the served series' name, or the family's name */ - label: string; - // The five structural anchors. All nullable: a custom-DC import may omit any - // five-tuple arc, so the StatVar doesn't assert it. - population_type: GraphRef | null; - measured_property: GraphRef | null; - stat_type: GraphRef | null; - /** structural anchor; present only when the measured property is qualified */ - measurement_qualifier?: GraphRef | null; - /** structural anchor; present only on a ratio or per-capita measure */ - measurement_denominator?: GraphRef | null; - /** the constraint + facet slots this family exposes, in display order */ - slot_keys: SlotKey[]; - /** how many StatVars this shape's current bindings admit, narrowing as a - * slot binds and widening again as one is cleared */ - member_count: number; - /** Hash of the family's members, null when Search did not settle the - * family. The members read is keyed by it, since membership can change - * under the same spec_id. */ - member_digest?: string | null; - /** - * Whether this shape's slots can be edited/refined via construct-and-confirm: - * the engine builds sibling StatVar candidates for the edited slot and confirms - * them against the graph before answering (never a guess). True for both named - * families (e.g. dev_finance_crs_dac, via construct_sv_dcid) and standard/ - * catch-all shapes (via construct_standard_sibling_candidates) alike — the flag - * applies the same way to both. False only for a ratio-backed _AsAFractionOf_ - * standard shape, where no sibling StatVar can be constructed for an edited - * slot. Gate editability on this rather than treating every slot as freely - * editable. Defaults to false. - */ - refine_supported?: boolean; - /** every Data Commons holding admitted data for a member StatVar, in the - * order dfo, base, un_system, and empty when the engine derived the shape - * without its members */ - data_commons?: DataCommonsRef[]; - /** the one source and Data Commons every member's data comes through, for - * a shape outside the Observatory's own imports whose members sit under - * exactly one source */ - upstream?: ShapeUpstream | null; -} - -export interface ShapeUpstream { - source: SourceRef; - data_commons: DataCommonsRef; -} - -// --------------------------------------------------------------------------- -// StatVar / Entity -// --------------------------------------------------------------------------- - -/** Earliest and latest confirmed dates across a Spec's served members. */ -export interface DateRange { - /** earliest confirmed date, e.g. "2012" */ - start?: string | null; - /** latest confirmed date, e.g. "2022" */ - end?: string | null; -} - -/** - * The size of the StatVar population behind a Spec (dfo-apis src/search/ - * models/statvar.py). `member_count` counts the measure family's members - * with data, and `member_count_exact` is false when that count is a floor. - * `served_count` counts the members this Spec serves, stated only once - * membership settled; null means the walk could not finish within its - * budget, so the served set is unverified. `data_date_range` spans the - * served members' data. The members themselves come from - * the Datasets members door (`fetchDefinitionMembers`). - */ -export interface ResolvedStatVars { - member_count: number; - member_count_exact: boolean; - served_count?: number | null; - /** the first and last dates across the served members' data; null when - * membership is unsettled or no member reported a range */ - data_date_range?: DateRange | null; -} - -/** dfo-apis src/search/models/vocab.py:83 EntityRoleKey, the flat role - * string a resolved entity plays. Wider than RoleAxis by the subject - * role ("observationAbout") every non-directional entity carries. */ -export type EntityRoleKey = 'observationAbout' | 'origin' | 'destination'; - -/** - * One resolved entity under Spec.entities, mirroring the engine's own - * ResolvedEntity (dfo-apis src/search/models/entity.py). `ref` is the bare - * dcid string, not a GraphRef, and `role` is the flat EntityRoleKey string. - */ -export interface ResolvedEntity { - /** the resolved entity's dcid — a bare string, not a GraphRef */ - ref: string; - label?: string | null; - /** e.g. Country, AdministrativeArea1, ContinentalUnion, Organization */ - entity_type?: string | null; - role: EntityRoleKey; - confidence?: Confidence | null; -} - -// --------------------------------------------------------------------------- -// Coverage -// --------------------------------------------------------------------------- - -export interface BreadthDim { - /** the dimension, e.g. "providers", "years", "methods", "sources" */ - label: string; - count: number; -} - -export type Coverage = - | { - kind: 'exact'; - has_data: boolean; - observation_count: number; - dimensions?: BreadthDim[]; - window?: TimeWindow; - } - | { kind: 'breadth'; has_data: boolean; dimensions: BreadthDim[]; window?: TimeWindow } - | { kind: 'bare'; has_data: boolean; window?: TimeWindow }; - -export type CoverageKind = Coverage['kind']; - -// --------------------------------------------------------------------------- -// Resolution trace -// --------------------------------------------------------------------------- - -/** Why a slot has its value: the bind call's own election, a code named in - * the query's text, the measure-family election, or a code system's - * declared default. */ -export type BindingProvenance = - 'binder' | 'text_recognized' | 'measure_elected' | 'declared_default'; - -export interface ResolvedFilter { - key: SlotKey; - binding_kind: BindingKind; - /** the bound graph objects (empty for unbound) */ - refs: GraphRef[]; - /** why the slot has this value; absent on an older engine */ - provenance?: BindingProvenance; -} + * - the page shapes `searchClient.normalizeResponse` produces (`Spec`, `Part`, `CandidateSet`, + * `NoData`, `Resolution`), where every nested wire Spec is flattened; + * - the SSE stream payloads the OpenAPI document does not describe (`Frame`, `LateDepartures`); + * - the client-only run state (`PartPhase`, `HydratedPart`, `ExpectedPart`). + * + * String enums on the wire are open unions, so a value the server adds still typechecks. `Known` + * closes one where the site writes a value; code that reads one handles the unknown case. + */ + +import { PART_STATUSES } from '@developmentfinance/client'; +import type * as wire from '@developmentfinance/client/wire'; + +/** The closed part of an open wire enum: the values this release names, without the `string` + * tail a newer server may fill. */ +export type Known = T extends string ? (string extends T ? never : T) : T; + +/** True when `key` is one of `map`'s own keys, which narrows an open wire value to the closed + * set a site map covers. */ +export function hasKey(map: Record, key: string): key is K { + return Object.hasOwn(map, key); +} + +/** `T` without null and undefined. `NonNullable` intersects with `{}`, which folds an open enum's + * literals into its `string & {}` tail. */ +type Present = Exclude; + +// --------------------------------------------------------------------------- +// Wire types, as generated +// --------------------------------------------------------------------------- + +export type { + AmbiguousEntityCandidate, + AmbiguousEntityGroup, + Assumption, + BaseIdentity, + CatalogueAnswer, + ConversionCurrency, + DeclinedAnswer, + Departure, + EntityGroup, + EntityOptions, + GraphRef, + IdentityUnitRequest, + MeasureAxisValue, + NoDataDenominator, + NoDataOption, + ObservationsOmission, + OpenConstraintAxisFact, + ParsedPart, + ProvenanceRef, + RelatedMeasure, + ResubmitCandidate as DatasetCandidateIdentity, + ResubmitCandidatesEntry as DatasetCandidatesEntry, + ResubmitIdentityEntry as DatasetIdentityEntry, + ResubmitParsedEntry as DatasetParsedEntry, + ResubmitPlaceholderEntry as DatasetPlaceholderEntry, + ParsedEntity as ParsedPartEntity, + RequestedOperation as Operation, + RoleAxis, + SentenceToken, + Shape, + Slot, + SpecAlternativeMeasure, + SpecObservations, + TimeWindow, + UnitAlternative, + UnitConversion, + Warning, +} from '@developmentfinance/client/wire'; + +/** The envelope's contract version. */ +export type SchemaVersion = Present; + +/** The three outcomes a part with data to show can carry. */ +export type ResolveStatus = Exclude; + +/** The flat role a resolved entity plays: the subject role or a flow direction. */ +export type EntityRoleKey = wire.ResolvedEntity['role']; + +/** Who the data on a provenance comes from: the Observatory, Data Commons by Google, or the UN + * System Data Commons. */ +export type DataCommonsRef = wire.SearchModelsGrammarDataCommonsRef; + +/** The fixed slot-grammar axes. */ +export type SlotAxis = wire.SlotKey['axis']; + +/** Why a part offers a Spec as one of its candidates. */ +export type CandidateBasis = Present; + +/** Why a facet axis holds its value. */ +export type FacetBasis = wire.ResolvedFacet['basis']; + +/** What one party of a flow is beside the other parties on its side. */ +export type PartyKind = Present; + +/** A Spec's coverage, one of the exact, breadth and bare forms. */ +export type Coverage = wire.ResolvedSpec['coverage']; + +/** Why a definite Spec's observations were withheld; doubles as the paired warning's code. */ +export type ObservationsOmissionReason = wire.ObservationsOmission['reason']; -/** One narrowing term the request named, and whether a final slot binding - * consumed it. `unbound_qualifiers` exposes the entries that were not bound - * when a qualifier_not_bound outcome prevents a broader answer. */ -export interface ResolvedQualifier { - text: string; - named: GraphRef[]; - /** the constraint property of the slot_filters entry whose binding - * consumed the term, or, on an unbound value the answer's shape has a - * slot for but leaves unmet, that slot's property; null otherwise */ - slot?: string | null; - disposition: 'bound' | 'unbound' | 'no_vocabulary'; -} +/** What a question asked of a part's data beyond showing it. */ +export type OperationVerb = wire.RequestedOperation['verb']; -export interface ResolutionTrace { - resolved_entities: GraphRef[]; - resolved_sources: ProvenanceRef[]; - slot_filters: ResolvedFilter[]; - query_qualifiers?: ResolvedQualifier[]; - /** - * The date window originally requested (query intent); absent when no date - * was requested. - * The literal string "latest" means the query explicitly asked for the - * most-recent/current value — distinct from absent (no date signal at all). - * spec_id is anchored on the identity's own requested_window (an - * IdentityWindow, a distinct wire shape from this field) — see - * BaseIdentity.requested_window, which a dataset_resubmit identity entry - * round-trips to keep identity stable across promote. - */ - requested_window?: RequestedWindow; - /** - * The normalised form the quantity read found in the question when no - * wording pattern named one ("debt to GDP" asks for a rate), which the - * answer was then checked against. Null when a wording pattern named the - * form, when the question asks for none, and when no bind ran for this - * Spec. - */ - stated_form?: QuantityForm | null; -} +/** Why a question was declined. */ +export type DeclinedReason = wire.DeclinedAnswer['reason']; -// --------------------------------------------------------------------------- -// Slot / entity options (the taxonomy a slot was bound against) -// --------------------------------------------------------------------------- +/** Which candidate universe the options door enumerates for a place role. */ +export type PlaceOptionsScope = Present>; -/** One candidate value the binder had available for a slot. */ -export interface SlotOption { - /** one taxonomy member or observed facet value */ - value: SlotValue; - /** - * This option's observation footprint if bound instead of the current value — - * the "consequence before commit" count. Populated only when the request set - * include_option_coverage; null otherwise. - */ - coverage?: Coverage | null; - /** - * Where this option sits relative to its slot's bound value, for a - * level-scoped constraint-slot option on a code-index-carried taxonomy. - * Absent on every other surface this type serves: entity_options, - * facet_options, and the options door's OptionsSet. - */ - relation?: SlotOptionRelation | null; - /** - * How many StatVars this index holds coded directly to this option's - * value (not a subtree rollup), for a level-scoped constraint-slot - * option. Absent on every other surface this type serves: entity_options, - * facet_options, and the options door's OptionsSet. - */ - member_count?: number | null; - /** - * The flat dcid of this option's parent in its classification, on a - * level-scoped option that has one. With no value bound on a - * hierarchical slot, the options hold each root and its children, and a - * child names its root here. - */ - parent?: string | null; - /** - * The rows a download of this answer would write with this option bound - * instead of the current value, in the terms of `DownloadFacts.rows`; a - * bound slot is counted with that slot left unbound. A counted menu omits - * every option that would serve nothing, except the slot's current value. - * Null where the option is not counted yet: a subject-place family's - * bound slot gets its count in a trailing slot_options event. - */ - served_rows?: number | null; - /** false when served_rows is an upper bound; null exactly when - * served_rows is null */ - served_rows_exact?: boolean | null; - /** - * On an origin or destination entity option, what the party is beside the - * others on its side, as the code index lists it. Absent for a party the - * index does not list, and on every other option. - */ - party_kind?: PartyKind | null; -} +/** What an assumption fills: a declared default, an open flow role, or the place scope. */ +export type AssumptionKind = Known; -/** - * The full candidate set one slot was bound against. `key` joins to the matching - * `Spec.slots` entry on axis + property.ref (see SlotKey ref form "axis:dcid"). - */ -export interface SlotOptions { - key: SlotKey; - options: SlotOption[]; - /** - * False when options is the full known set for this slot at its - * current level: a curated seed taxonomy, a level-scoped taxonomy - * sourced from the packaged code index, or an observed taxonomy from - * the same source. True when options is only the values observed - * among the resolved candidates, bounded by retrieval/confirm caps. - */ - truncated: boolean; - source: SlotOptionsSource; -} +/** The block of the answer a sentence token belongs to. */ +export type SentenceSegment = Present; -/** - * The candidate set for a directional entity axis. An open axis has no bound - * entity_ref but still carries its candidates. - */ -export interface EntityOptions { - /** dcid of the bound directional entity; absent/null while the axis is open */ - entity_ref?: string | null; - role: RoleAxis; - options: SlotOption[]; - /** false when options is the full known candidate set (a curated seed) */ - truncated: boolean; - source: SlotOptionsSource; -} +/** Why a no_data outcome was returned. */ +export type NoDataReason = wire.NoData['reason']; -/** - * The candidate set one facet axis (provenance / measurementMethod / unit) - * was bound against, coverage-derived rather than a shape slot. The buffered - * body carries these inline on `Spec.facet_options`. The SSE path defers - * them to trailing `facet_options` events instead (the response's own array - * arrives empty), joined back onto the spec client-side by `spec_id` + - * `axis`. On `measurementMethod` and `unit`, an option whose `value` has no - * `ref` stands for the facets that declare no value on the axis; it appears - * only beside at least one declared value. - */ -export interface FacetOptions { - axis: string; - options: SlotOption[]; - truncated: boolean; - source?: SlotOptionsSource; -} +/** Which availability gate a no_data outcome's `flagged_match` or `alternate_match` failed. */ +export type NoDataGate = Present; // --------------------------------------------------------------------------- -// SpecObservations: the observation values behind a Spec's coverage +// Identity // --------------------------------------------------------------------------- -/** One (date, value) pair from a resolved StatVar's observation series. */ -export interface ObservationPoint { - /** the observation date, e.g. "2018" */ - date: string; - /** null when the graph reports a date with no value */ - value: number | null; -} +/** The identity a dataset_resubmit entry edits and posts back. */ +export type SpecIdentity = wire.BaseIdentity; -/** One axis's value on a single series' selected observation facet. - * `source`, `data_commons` and `documentation` ride the provenance axis - * only; the first two are absent for a provenance the origin catalogue does - * not list. */ -export interface SeriesFacetRef { - ref: string; - /** best-effort display label, null when unresolved */ - label?: string | null; - source?: SourceRef | null; - data_commons?: DataCommonsRef | null; - /** the Graph API route of the provenance's document */ - documentation?: string | null; -} +/** One what/how slot's binding state inside an identity. */ +export type IdentityBinding = wire.IdentitySlot['binding']; -/** A series' StatVar: its dcid and the row's own distinguishing label. */ -export interface SeriesStatVarRef { - ref: string; - label?: string | null; -} +/** The sparse facet map of an identity, keyed by facet axis. */ +export type IdentityFacets = Present; -/** One entity in a series' role tuple. */ -export interface SeriesEntityRef { - role: EntityRoleKey; - ref: string; - /** best-effort display label, null when unresolved */ - label?: string | null; - /** on an origin or destination entity, what the party is beside the - * others on its side, as the code index lists it. Absent for a party - * the index does not list, on observationAbout, and from an API that - * predates it. */ - party_kind?: PartyKind | null; -} - -/** One constraint of a series' StatVar: the property and the value the - * StatVar holds on it. The wire carries no property label, so a client names - * the property from the Spec's slots. */ -export interface SeriesAxisRef { - /** the constraint property's dcid, e.g. "crsPurpose" */ - property: string; - /** the dcid of the value the StatVar holds on `property` */ - ref: string; - /** display label for `ref`: its graph label, else the dcid's tail split - * into lower-case words */ - label: string; -} - -/** One entity a converted series substituted with its recipe's fallback entity. */ -export interface SeriesConversionFallbackExample { - entity: string; - fallback_entity: string; -} - -/** The recipe and table versions behind a converted series' points. */ -export interface ObservationSeriesConversion { - recipe_id: string; - /** the Provenance node the exchange-rate and deflator tables loaded under */ - table_provenance: SeriesFacetRef; - exchange_rate_table_version: string; - /** absent for a current-prices conversion */ - deflator_table_version?: string | null; - fallback_count: number; - fallback_examples?: SeriesConversionFallbackExample[]; - projected_count: number; - /** capped, sorted 'entity@year' keys */ - projected_examples?: string[]; -} +/** The binding the site writes on each facet axis. Every facet carries a provenance, so + * `provenance` takes declared refs only; `measurementMethod` and `unit` also take a null ref, and + * `unit` alone takes the request form. The wire keys `IdentityFacets` by string and takes any of + * these on any axis. */ +export type IdentityFacetBinding = { + provenance: IdentityFacetRefBinding; + measurementMethod: IdentityFacetRefBinding | wire.IdentityFacetValueAbsent; + unit: IdentityFacetRefBinding | wire.IdentityFacetValueAbsent | wire.IdentityFacetValueRequest; +}; -/** - * One (stat_var, role tuple) pair's observation points, in chronological - * order (dfo-apis src/search/models/observations.py ObservationSeries). - */ -export interface ObservationSeries { - stat_var: SeriesStatVarRef; - /** the role tuple: one observationAbout entry for a single-role series, - * origin and destination for a bilateral dev-finance series */ - entities: SeriesEntityRef[]; - /** one entry per constraint of the StatVar, ordered by property dcid; - * empty for a StatVar with no constraints. Absent from an API that - * predates it, and from shares saved before it. */ - axes?: SeriesAxisRef[]; - /** the full series when SpecObservations.truncated is false, else the latest points only */ - points: ObservationPoint[]; - /** the selected facet's in-window point count, before truncation */ - total_obs: number; - /** provenance of the one observation facet these points were read from */ - source_refs: ProvenanceRef[]; - /** the selected facet per axis (provenance / measurementMethod / unit), - * sparse, and `provenance` agrees with `source_refs` */ - facet: Record; - /** absent on a series served in its native facet */ - conversion?: ObservationSeriesConversion | null; -} +/** The facet axes an identity binds. */ +export type IdentityFacetAxis = keyof IdentityFacetBinding; -/** - * Why a definite Spec's observations were explicitly withheld, distinct from - * an ordinary empty result (dfo-apis src/search/models/observations.py's - * ObservationsOmission, paired with SpecObservations.omitted below). `reason` - * doubles as the code on the paired Warning the engine also emits (dfo-apis - * src/search/engine/region/codes.py), so `reason` and the warning code share - * one vocabulary. Some deployments don't send this field yet. A definite - * spec with no `omitted` and no `observations` event at all may simply - * predate it, not an assertion that the slice is empty. See view.ts's - * resolveObservationsOmission for the fallback this implies. - */ -export type ObservationsOmissionReason = - | 'observations_timed_out' - | 'observations_no_matching_source' - | 'observations_windowed_scope_unsupported' - | 'observations_converted_scope_unsupported' - | 'observations_no_dispatchable_facet' - | 'observations_bulk_fetch_failed' - | 'observations_probe_failed' - | 'observations_preview_too_large' - | 'observations_nothing_to_probe' - | 'observations_clients_unavailable' - | 'observations_no_points'; +/** A facet axis bound to declared values. */ +export type IdentityFacetRefBinding = wire.IdentityBindingValue | wire.IdentityBindingSet; -/** Set exactly when the preview was withheld: `series`, `total_obs`, and - * `truncated` on the enclosing SpecObservations then read `[]`, `0`, `false` - * respectively. `pairs`/`cap` are populated on `observations_preview_too_large` - * (the (stat_var, entity) pair count and the ceiling it exceeded). The rest - * are diagnostic bookkeeping for the fetch itself, meant for logs rather - * than display. */ -export interface ObservationsOmission { - reason: ObservationsOmissionReason; - message: string; - pairs?: number | null; - cap?: number | null; - dispatched?: number | null; - empty?: number | null; - hard_failed?: number | null; - facet_rejected?: number | null; -} +/** An identity's requested window: every year, the latest year, or a range. */ +export type IdentityWindow = wire.BaseIdentity['requested_window']; -/** - * The observation values behind a Spec's coverage: an always-on bounded preview, - * or the full series when the resolved answer is small enough to ship in full. - * Describes the SAME (stat_var, entity) selection Spec.coverage already reports. - */ -export interface SpecObservations { - /** one entry per (stat_var, entity) pair with observations */ - series: ObservationSeries[]; - /** total observation count across every series; known even when truncated */ - total_obs: number; - /** false when every series carries its full point set; true when each was truncated to its latest points */ - truncated: boolean; - /** why the preview was withheld, when it was; absent/null on an ordinary - * fetched result (whether or not it found points) and on an engine that - * doesn't send this field yet. */ - omitted?: ObservationsOmission | null; - /** how the preview's series were picked when it was cut to its cap: - * "ranked" (most recent and largest first) or "fixed"; absent/null when - * it was not cut, and on an engine that doesn't send this field yet */ - order?: 'ranked' | 'fixed' | null; -} +/** One dataset_resubmit entry. */ +export type DatasetResubmitEntry = wire.DatasetResubmitInput['entries'][number]; // --------------------------------------------------------------------------- -// Spec +// Page shapes (searchClient.normalizeResponse's output) // --------------------------------------------------------------------------- -/** Why a facet axis holds its value: bound by the request, completed from a - * declared default, or the engine's own most-in-window-points pick. */ -export type FacetBasis = 'bound' | 'declared_default' | 'fallback'; - -/** - * One facet axis's resolved value on a Spec (dfo-apis src/search/models/ - * spec.py ResolvedFacet). Exactly one of `ref` and `selection` is present: - * `ref` (with `label`, and on the provenance axis `source`, `data_commons` - * and `documentation`) when one value served every carried series, - * `selection` when the series differ. - */ -export interface ResolvedFacet { - basis: FacetBasis; - ref?: string | null; - label?: string | null; - source?: SourceRef | null; - data_commons?: DataCommonsRef | null; - /** provenance axis only: the Graph API route of the provenance's document */ - documentation?: string | null; - selection?: 'per_series' | null; - /** unit axis only, alongside `ref`: the ISO 4217 code ("USD", "KES") of - * the currency `ref` is denominated in; absent when `ref` is no - * currency */ - currency?: string | null; - /** unit axis only, when bound through the request form */ - request_basis?: Record | null; -} - -/** - * A Spec's hashed definition, minted by editing the elected Spec's identity - * onto an alternative measure's axes. No stat_vars, no coverage, no trace. - * Post its identity as a dataset_resubmit identity entry; the API resolves - * the membership from the identity. - */ -export interface SpecDefinition { - schema_version: SchemaVersion; - spec_id: string; - identity: SpecIdentity; -} - -/** - * Another populated partition from the same measure family, or a distinct - * also_plausible candidate differing only in measured_property, folded in - * here instead of a second candidates entry. Mirrors dfo-apis - * SpecAlternativeMeasure. - */ -export interface SpecAlternativeMeasure { - definition: SpecDefinition; - /** readable text for this option, distinct from every other entry's on - * the same axis: a 'what' entry names the measure without its price - * basis ("net disbursements"), a 'unit' entry the prices it switches to - * ("constant prices") */ - label: string; - /** the token whose menu offers this entry: 'what', the measure noun, or - * 'unit', the byline's unit token (binding_ref "unit:"), for a - * partition that differs from the Spec's only in price basis */ - axis: 'what' | 'unit'; - /** the values this measure's partition holds, as Spec.measure_axis_values */ - measure_axis_values?: MeasureAxisValue[]; - /** the rows a download would write after a switch to this measure, in - * the terms of `DownloadFacts.rows`; null where counting needs graph - * reads */ - served_rows?: number | null; - /** false when served_rows is an upper bound; null exactly when - * served_rows is null */ - served_rows_exact?: boolean | null; -} - -/** One measure axis and the value a measure partition holds on it, e.g. - * nettingBasis = Gross. Mirrors dfo-apis MeasureAxisValue. */ -export interface MeasureAxisValue { - axis: string; - value: GraphRef; -} - /** - * Another StatVar from the smallest StatVarGroup the Spec's one StatVar - * belongs to, with data at the Spec's places. Post `definition.identity` as - * a dataset_resubmit identity entry. Mirrors dfo-apis RelatedMeasure. + * A wire Spec flattened by `searchClient.flattenSpec`: `resolved` spread flat, with `spec_id`, + * the trace again as `resolution`, the definition's `identity`, and the `definition` itself (the + * Datasets API mints unregistered specs from it). Specs nested in `equivalent_readings` stay in + * the wire form. */ -export interface RelatedMeasure { - /** the sibling StatVar: its label names the row, its dcid the info icon */ - stat_var: GraphRef; - definition: SpecDefinition; -} - -/** - * What a Datasets mint of the Spec's definition writes in its default file - * (no grouping), known before the first download. Mirrors dfo-apis - * DownloadFacts. - */ -export interface DownloadFacts { - /** the rows the definition's series serve, one per series and date, totals - * included. A long-layout CSV or XLSX keeps the rows where a role in the - * options document's `long_layout_totals` holds a total out of its main - * table, so that table can hold fewer. Null when the count could - * understate, as when a served member is missing from the coverage - * artifact. */ - rows?: number | null; - /** false when rows is an upper bound, or null */ - rows_exact: boolean; - /** distinct (StatVar, entities) with a point. Null when rows is null. */ - series?: number | null; - /** the first and last years of the file's points. Null when rows is null. */ - window?: TimeWindow | null; - /** the licence of the one provenance the answer serves. Null when it - * serves several or the catalogue names none. */ - licence?: { label: string } | null; -} - -/** - * Whether the elected Spec's served members agree on a single declared value - * for this axis or differ. Mirrors dfo-apis OpenConstraintAxisFact. - */ -export interface OpenConstraintAxisFact { - /** the constraint property dcid this fact is about */ - property: string; - varies: boolean; - /** the single value every declaring member agrees on; present only when - * varies is false and at least one member declares a value */ - value?: GraphRef | null; - /** how many distinct declared values the served members exhibit, not - * counting a member that declares nothing */ - distinct_count: number; - /** how many served members declare no value at all for this axis */ - undeclared_count: number; - /** every declared value with the served members declaring it, highest - * count first. The counts plus undeclared_count sum to the members. */ - values?: { value: GraphRef; count: number }[]; -} - -export interface Spec { - /** - * Deterministic hash of (shape_id + canonical slot bindings). Permalink-safe; - * dedup key; golden-comparison handle; cache key. Same spec_id implies same - * Spec.entities GraphRef set. Does NOT depend on slot_options/entity_options. - */ +export type Spec = wire.ResolvedSpec & { spec_id: string; - shape: Shape; - /** one entry per slot the shape defines, each in a binding state */ - slots: Slot[]; - /** - * The candidate set each bound slot was chosen from, one entry per slot with a - * non-empty taxonomy (omits when/source and empty slots). Rides on the response. - */ - slot_options?: SlotOptions[]; - /** the candidate set each bound directional entity was chosen from (dev-finance provider) */ - entity_options?: EntityOptions[]; - /** the candidate set each facet axis (provenance/measurementMethod/unit) was - * chosen from; empty on the SSE path until the trailing events merge in - * (see FacetOptions) */ - facet_options?: FacetOptions[]; - /** how many StatVars the Spec's family holds and serves */ - stat_vars: ResolvedStatVars; - /** resolved entities the data is about; may be empty if "where" is unbound */ - entities: ResolvedEntity[]; - /** the named group each role's entities stand for, keyed by role key. - * Null when no role was asked for as a group. Read it afresh after - * every response and post it unchanged beside any identity derived - * from this Spec (`DatasetIdentityEntry.entity_groups`); the client - * never edits a group. */ - entity_groups?: Record | null; - coverage: Coverage; - /** the facet axis values that backed this Spec's observations, sparse, - * and {} when observations were not resolved for this Spec */ - facets?: Record; - resolution: ResolutionTrace; - /** - * Whether this spec's representative stat var has observations at the resolved - * place. true=confirmed; false=matched but no data here (flagged_match); null=not - * assessed (no place, or a named family). - */ - available_at_place?: boolean | null; - /** qualitative, relative retrieval confidence; null when not assessed */ - confidence?: Confidence | null; - /** - * Why the part offers this Spec as one of its candidates. The elected - * reading, listed first, carries none; null on a definite answer and on - * every Spec outside CandidateSet.specs. - */ - basis?: CandidateBasis | null; - /** - * The observation values behind coverage above; absent when not resolved for this - * Spec (no entity to probe, options.include_observations is false, deferred to a - * trailing SSE `observations` event, or a candidates/nearest_real/flagged_match spec). - * Populated only on a primary definite answer. - */ - observations?: SpecObservations | null; - /** - * The identity a dataset_resubmit entry edits and posts back. Null only for a test fixture built without a definition/resolved - * split. - */ - identity?: SpecIdentity | null; - /** v1: the resolved Spec's own sentence (the envelope mirrors the primary one) */ - rendered_sentence?: string | null; - sentence_plan?: SentenceToken[] | null; - /** Null when this Spec's shape carries no measure family and no - * measure-sibling candidate was folded in; a served partition with - * every sibling unlabelled still publishes []. */ - alternative_measures?: SpecAlternativeMeasure[] | null; - /** Null under the same condition as alternative_measures. */ - measure_label?: string | null; - /** the measure-axis identifiers measure_label was composed from, so a - * bound how-slot sharing one doesn't repeat what measure_label already - * said; [] when measure_label is null */ - measure_label_axes?: string[]; - /** Null when the served members declare no such axis at all. */ - open_axis_facts?: OpenConstraintAxisFact[] | null; - /** each axis in measure_label_axes with the value the served partition - * holds on it, defaults included. [] when measure_label is null. */ - measure_axis_values?: MeasureAxisValue[]; - /** the StatVarGroup related_measures come from. Null when the list is - * null or empty. */ - related_group?: GraphRef | null; - /** up to 5 other members of related_group with data at the Spec's - * places. Null when not computed, [] when there are none. */ - related_measures?: RelatedMeasure[] | null; - /** what a download of this Spec's definition holds. Null when the Spec - * has no read plan or merges several answers. */ - download?: DownloadFacts | null; - /** the currencies and price bases this answer converts to. Null when - * its series cannot be converted. */ - unit_conversion?: UnitConversion | null; -} - -/** One currency a unit request can convert the answer to. Mirrors dfo-apis - * ConversionCurrency. */ -export interface ConversionCurrency { - /** the ISO 4217 code a request names the currency by */ - code: string; - /** the plural noun the sentence names it by ("euros") */ - noun: string; - /** the years a current-price request shows; null when none converts */ - current_years: TimeWindow | null; - /** the years a constant-price request shows; null when none converts */ - constant_years: TimeWindow | null; - /** the run of base years constant prices take; null when none */ - base_year_min: number | null; - base_year_max: number | null; -} - -/** - * What a convertible answer can switch its unit to, through a resubmit - * whose `identity.facets.unit` carries an IdentityUnitRequest. Mirrors - * dfo-apis UnitConversion. - */ -export interface UnitConversion { - /** each currency a unit request converts the answer to, by code */ - currencies: ConversionCurrency[]; - /** the base year a constant-price request takes when none is named */ - default_base_year: number; - /** the currency of the one entity each role names, keyed by role */ - role_currencies: Partial>; -} - -/** - * One what/how identity slot's binding state: the identity core's own wire - * shape, distinct from the engine's resolved `Binding` union - * (`Spec.slots[i].binding`, `{kind, value}`) that `lib/search/searchClient.ts`'s - * Slot/Binding mirror types describe. `state` (not `kind`) is the - * discriminator; `ref`/`refs` carry bare dcid strings, never a full - * `{ref,label}` GraphRef. - * - * What each state denotes: `value` denotes the bound code and every code - * under it via the code system's declared hierarchy — the code alone where - * the system is flat or the code is a leaf. `exact` denotes the code alone, - * even where the system's hierarchy would otherwise widen it; no engine - * mints this state yet (the datasets door exports it, and dfo-apis's search - * doors refuse a posted one with `exact_binding_unsupported`), so nothing in - * this codebase produces it, but a document carrying one type-checks. `set` - * denotes the union of its members' `value` denotations. `unbound` denotes - * any value or absence. - */ -export type IdentityBinding = - | { state: 'value'; ref: string } - | { state: 'exact'; ref: string } - | { state: 'set'; refs: string[] } - | { state: 'unbound' }; - -/** One what/how slot's identity contribution: bare property dcid + binding - * state. Never where/when/source — see BaseIdentity's field docs. */ -export interface IdentitySlot { - property: string; - binding: IdentityBinding; -} + resolution: wire.ResolutionTrace; + identity: SpecIdentity | null; + definition: wire.SpecDefinition | null; +}; -/** The role form of a unit request's `currency`: the currency of the entity bound - * to that role, resolved per row. Mirrors dfo-apis IdentityCurrencyRole. */ -export type IdentityCurrencyRole = { role: EntityRoleKey }; +/** A set of competing Specs, each flattened. */ +type CandidateSet = Omit & { specs: Spec[] }; -/** A completed unit-conversion request — legal only inside a `unit`-axis - * facet binding's `request` form. */ -export interface IdentityUnitRequest { - /** an ISO 4217 code, or the currency of the one entity a role names */ - currency: string | { role: EntityRoleKey }; - prices: 'current' | 'constant'; - /** required exactly when prices === 'constant' */ - base_year?: number; -} +/** A no_data outcome with its nearest, flagged and alternate Specs flattened. */ +export type NoData = Omit & { + nearest_real?: Spec[] | null; + flagged_match?: Spec | null; + alternate_match?: Spec | null; +}; -/** A facet axis bound to declared values: the slot union minus `unbound` - * (a facet map is sparse — an unconstrained axis is simply absent, not - * `unbound`). */ -export type IdentityFacetRefBinding = - { state: 'value'; ref: string } | { state: 'set'; refs: string[] }; +/** The members `searchClient.flattenPart` defaults when the wire omits them. */ +type PartDefaults = { + restatement: wire.ParsedPart | null; + operations: wire.RequestedOperation[]; + warnings: wire.Warning[]; + departures: wire.Departure[]; +}; -/** A declared-value binding, or `ref: null`: the facets that declare no - * value on the axis. The engine echoes the null back. */ -export type IdentityNullableFacetBinding = IdentityFacetRefBinding | { state: 'value'; ref: null }; +type PagePart = Omit & + PartDefaults & + TPayload; -/** A unit bound to the national currency of each entity a role names: the - * facets whose unit is that entity's own currency, served as published. */ -export interface IdentityNationalCurrencyBinding { - state: 'value'; - national_currency: { role: EntityRoleKey }; -} +type DefinitePart = PagePart; +export type CandidatesPart = PagePart; +export type NoDataPart = PagePart; +type UnsupportedPart = PagePart; -/** The sparse facet map over the identity core's three axes. Every facet - * carries a provenance, so `provenance` takes declared refs only; - * `measurementMethod` and `unit` also take a null ref, and `unit` alone - * takes the request and national-currency forms. */ -export interface IdentityFacets { - provenance?: IdentityFacetRefBinding; - measurementMethod?: IdentityNullableFacetBinding; - unit?: - | IdentityNullableFacetBinding - | { state: 'value'; request: IdentityUnitRequest } - | IdentityNationalCurrencyBinding; -} +/** A part whose status this release knows; its `status` narrows it. */ +type KnownPart = DefinitePart | CandidatesPart | NoDataPart | UnsupportedPart; -export type IdentityFacetAxis = keyof IdentityFacets; +/** A part whose status this release does not know: its members pass through, with the defaults + * `flattenPart` gives every part. */ +type UnknownPart = wire.UnknownPart & PartDefaults; -/** The identity core's own `requested_window` union — distinct from the - * engine's resolved `RequestedWindow` (`TimeWindow | 'latest' | undefined`): - * `undefined` there maps to `{kind:'all'}` here, since a BaseIdentity always - * carries this member, never omits it. */ -export type IdentityWindow = - | { kind: 'all' } - | { kind: 'latest' } - | { kind: 'range'; start_year?: number; end_year?: number }; +/** One part of a resolution after normalisation. `isKnownPart` separates an unknown part before + * a switch on `status`. */ +export type Part = KnownPart | UnknownPart; -/** - * Contract v1 identity core (`BaseIdentity` on the wire): exactly what gets - * hashed into spec_id, serialised once and echoed back verbatim — never - * re-derived client-side. `shape` is opaque here (never constructed by this - * page, only copied or compared); `slots` covers only what/how axes — where - * lives in `entities` (keyed `observationAbout`/`origin`/`destination`), - * when in `requested_window`, source in `facets.provenance`. - */ -export interface BaseIdentity { - identity_version: 'spec1'; - shape: unknown; - slots: IdentitySlot[]; - entities: Record; - requested_window: IdentityWindow; - facets?: IdentityFacets; -} +const KNOWN_PART_STATUSES: ReadonlySet = new Set(PART_STATUSES); -/** A named group whose members fill one entity role ("European Union"). - * The members are the role's dcids in `BaseIdentity.entities`. With a - * `ref`, the API takes the label from the graph. Mirrors dfo-apis - * EntityGroup. */ -export interface EntityGroup { - /** the group's graph node; null when the graph holds none */ - ref: string | null; - label: string; - /** the graph type of the group's node (`Continent`, `UNGeoRegion`); - * null or absent when the group has no node */ - entity_type?: string | null; - /** the party the dataset publishes as the group's total, which the role - * binds in place of the members (`DACAfrica` for Africa); null or - * absent when the role binds the members */ - total?: string | null; +/** True for a part whose status this release knows, which then narrows on `status`. */ +export function isKnownPart(part: Part): part is KnownPart { + return KNOWN_PART_STATUSES.has(part.status); } -/** Alias for `Spec.identity`'s type; `BaseIdentity` is the canonical declaration. */ -export type SpecIdentity = BaseIdentity; - -/** - * Contract v1 wire Spec: `definition` (hashed identity) + `resolved` (everything - * the page shows). searchClient.flattenSpec spreads `resolved` into the flat - * Spec above (with `resolution` = resolved.trace, `identity` = definition.identity). - */ -export interface WireSpec { - spec_id: string; - definition: { schema_version: SchemaVersion; spec_id: string; identity: SpecIdentity }; - resolved: Omit & { trace: ResolutionTrace }; +/** The part as a known part; null for no part, or for one whose status this release does not + * know. */ +export function knownPart(part: Part | null | undefined): KnownPart | null { + return part && isKnownPart(part) ? part : null; } -// --------------------------------------------------------------------------- -// Sentence plan (the engine's rendered, tokenised confirmation sentence) -// --------------------------------------------------------------------------- - -/** The block of the answer a sentence token belongs to: a coverage token is - * a word of the "Answered 1 of 2 parts." a mixed answer's envelope sentence - * opens with, the heading states what the answer is, the byline its unit - * and source, a departure token carries the text of one `Departure` on the - * same part, and an assumption token is a word of the closing clause naming - * the part's `assumptions` ("Assumed: official development assistance; - * every provider."). */ -export type SentenceSegment = 'coverage' | 'heading' | 'byline' | 'departure' | 'assumption'; +/** A resolution with its parts normalised. */ +export type Resolution = Omit & { parts: Part[] }; -/** The axis a sentence token fills: every slot axis plus the byline's - * facet axes no request slot carries: 'unit', the unit of measure, and - * 'method', the measurement method (`binding_ref` "method:"), stated only - * while the identity binds it. */ -export type SentenceAxis = SlotAxis | 'unit' | 'method'; - -/** - * One token in the ordered sentence plan: connective text, or a bound phrase. - * `rendered_sentence` is the flat join of every token's `text`. A "slot" token - * with nothing bound still appears, with text="". Mirrors dfo-apis - * src/search/models/grammar.py SentenceToken. - */ -export interface SentenceToken { - /** 'text' is invariant wording (a connective, a separator, the terminal - * ".", or a departure sentence); 'slot' is a bound phrase */ - kind: 'text' | 'slot'; - /** rendered text for this token; empty string for a slot with nothing - * bound, or a how slot bound but silenced because the measure noun - * states it */ - text: string; - /** the block this token belongs to. A Spec's own plan holds heading and - * byline tokens only; departure and assumption tokens sit on a part's - * or the envelope's plan. */ - segment: SentenceSegment; - /** the grammatical axis this token fills, when kind==="slot" */ - axis?: SentenceAxis | null; - /** the constraint property dcid this token renders, when one exists */ - property_dcid?: string | null; - /** "origin"/"destination" when this token renders a directional entity role */ - role?: RoleAxis | null; - /** the binding this token edits: "origin:", "where:", "when:", "unit:", - * "method:", or "how:" (SlotKey ref form) */ - binding_ref?: string | null; - /** - * entity dcids this token renders, one per entity in the token's group (e.g. a - * multi-recipient "to" token carries every recipient's dcid, in the same order - * as the entities joined into `text`); absent/[] when this isn't a directional - * role token - */ - entity_refs?: string[]; - /** - * The refs this heading or byline slot token states, so the reader edits - * each from this token: its own binding_ref, then each binding the - * renderer left silent because this token's text already says it - * ("how:crsTypeOfFlow" on "gross ODA disbursements"), plus - * "axis:" for a measure axis no slot carries. Empty on a - * token with empty text. A binding no token states is offered by Refine. - * Absent on a wire that predates it. - */ - states?: string[]; - /** true on a candidate's token whose text differs from the same-bucket - * text on another candidate in the same set */ - distinguishes?: boolean | null; - /** - * Which part of a multi-variable envelope this token belongs to, when the - * plan is the envelope's own composed `sentence_plan` (ResolveResponse, - * not a single Spec's). Absent (never `null` on the wire) on a shared - * skeleton token: a connective, a hoisted qualifier, or the terminal ".". - * Compare with `== null`, not `=== null`. Always absent on a Spec's own - * sentence_plan, which describes one part only. - */ - part_index?: number | null; -} +/** Every resolve response body after normalisation, discriminated on `kind`. */ +export type ResolveResponse = Resolution | wire.CatalogueAnswer | wire.DeclinedAnswer; // --------------------------------------------------------------------------- -// Departures (how a part's answer differs from what its request asked) +// Stream payloads the OpenAPI document does not describe // --------------------------------------------------------------------------- -/** Every way an answer can differ from what its request asked, in the API's - * precedence order (dfo-apis src/search/models/vocab.py DepartureCode). */ -export type DepartureCode = - | 'closest_match' - | 'measure_not_applied' - | 'operation_not_applied' - | 'breakdown_not_applied' - | 'entity_unavailable' - | 'year_unavailable' - | 'modelled_values' - | 'group_read_as_members' - | 'direction_discarded' - | 'direction_inferred' - | 'scope_limited'; - -/** One way a part's answer differs from what its request asked. Mirrors - * dfo-apis src/search/models/departure.py Departure. */ -export interface Departure { - code: DepartureCode; - /** the binding whose edit clears this departure ("when:", "where:", - * "origin:", "unit:", "source:", "how:"); null when no - * binding edit clears it */ - binding_ref?: string | null; - /** what the request named, in its own wording */ - asked?: string | null; - /** what the answer shows instead, as the heading states it */ - shown?: string | null; - /** the departure as one or two short sentences for people */ - text: string; -} - -/** Departures the stream's `done` event adds to one part: facts that depend - * on the observations read, which arrive after `response`. A folded part and - * the part it folded into share a spec_id, so `part_index` names the part; - * `spec_id` confirms it still holds that part's spec. */ +/** Departures the stream's `done` event adds to one part: facts that depend on the observations + * read, which arrive after `response`. A folded part and the part it folded into share a + * spec_id, so `part_index` names the part; `spec_id` confirms it still holds that part's spec. */ export interface LateDepartures { part_index: number; spec_id: string; - departures: Departure[]; -} - -/** What an `Assumption` fills (dfo-apis vocab.py AssumptionKind): - * 'declared_default', a slot the request left open that its code system's - * or shape's declared default fixed; 'open_role', a flow role no request - * word asked for, read across every entity on it with data, as one series - * per member where the role scope default filled it and the shape declares - * the role, else as the total over them; 'place_scope', a request that named no - * place, read across every place with data. */ -export type AssumptionKind = 'declared_default' | 'open_role' | 'place_scope'; - -/** One value a part's answer filled that its request did not ask for. - * Mirrors dfo-apis src/search/models/assumption.py Assumption. The sentence - * carrying the part closes with every one as one clause of `assumption` - * tokens. */ -export interface Assumption { - kind: AssumptionKind; - /** the binding whose edit replaces it: "how:" for a - * declared default, "origin:" or "where:" for an open role (the - * destination shares the subject's where slot), "where:" for the place - * scope */ - binding_ref: string; - /** the value dcids a declared default bound its slot to; [] for an - * open role and the place scope */ - refs: string[]; - /** the clause's words for it: "official development assistance", - * "every provider", "every country", "the world as a whole" */ - text: string; + departures: wire.Departure[]; } -// --------------------------------------------------------------------------- -// Frame (what one part asks; carried by the stream's `frame` event) -// --------------------------------------------------------------------------- -// Mirrors dfo-apis src/search/engine/frame.py. The response carries no frame; -// only the SSE stream's `frame` event does (searchClient.ts SearchEvent). - -/** Who stated a frame field: the caller, the extraction model, a code reader - * over the request's words, the quantity read's model over the variable - * phrase, or the default the question left in place. */ -export type FrameStatedBy = 'caller' | 'extraction' | 'reader' | 'model' | 'default'; +/** Who stated a frame field: the caller, the extraction model, a code reader over the request's + * words, the quantity read's model over the variable phrase, or the default the question left + * in place. */ +type FrameStatedBy = 'caller' | 'extraction' | 'reader' | 'model' | 'default'; /** A frame value and who stated it. */ -export interface FrameStated { +interface FrameStated { value: T; stated_by: FrameStatedBy; } -/** The flow axis a place is named on. `both` is a place put on both axes, as a - * self-flow; `undirected` is a place named with no axis. */ -export type FrameDirection = 'origin' | 'destination' | 'both' | 'undirected'; - -/** The reading asked of a place: its members each as their own place, or the - * default, which is the set's node where it has one and its members - * otherwise. */ -export type FrameReading = 'default' | 'members'; - -/** Every year the data holds, the latest year, or a window of years. */ -export type FrameWindow = 'all' | 'latest' | TimeWindow; - /** One place the part names, keyed by the request's text for it. */ -export interface FramePlace { +interface FramePlace { /** the request's text for the place; the dcid on the dataset_resubmit door */ name: string; stated_by: FrameStatedBy; - direction: FrameDirection; - /** whether the request's words give the place its direction; a role read - * off the measure, as in a possessive, states none */ + /** `both` is a place put on both axes, as a self-flow; `undirected` a place named with no + * axis */ + direction: 'origin' | 'destination' | 'both' | 'undirected'; + /** whether the request's words give the place its direction; a role read off the measure, + * as in a possessive, states none */ direction_stated: boolean; - reading: FrameReading; + /** its members each as their own place, or the default: the set's node where it has one + * and its members otherwise */ + reading: 'default' | 'members'; /** the dcid the caller pinned for the place, when it gave one */ pin?: string | null; - /** the places the name stands for under its reading, once resolved; empty - * before place resolution and for a name that did not resolve */ + /** the places the name stands for under its reading, once resolved; empty before place + * resolution and for a name that did not resolve */ dcids: string[]; } -/** One data source a part names or excludes, as its words, a reference, or - * both (dfo-apis src/search/models/request.py SourceMention). */ -export interface FrameSourceMention { +/** One data source a part names or excludes, as its words, a reference, or both. */ +interface FrameSourceMention { text?: string | null; ref?: string | null; polarity: 'include' | 'exclude'; } /** The codes the part's words match in one recalled vocabulary. */ -export interface FrameVocabularyCodes { +interface FrameVocabularyCodes { /** the vocabulary's constraint properties, sorted */ vocabulary: string[]; /** the code dcids matched, in match order */ @@ -1310,14 +297,14 @@ export interface FrameVocabularyCodes { } /** The value a constraint slot takes where the question names none. */ -export interface FrameSlotDefault { +interface FrameSlotDefault { property: string; value: string; stated_by: 'default'; } /** What the part measures, as the recalled vocabularies read its words. */ -export interface FrameMeasure { +interface FrameMeasure { codes: FrameStated; /** the measure class a word names (prevalence, incidence, mortality) */ measure_class?: FrameStated | null; @@ -1330,516 +317,48 @@ export interface FrameMeasure { } /** The form the part asks its measure in. */ -export interface FrameNormalisation { - /** the normalisations the words name (a QuantityForm each), sorted; "level" - * when they name none */ +interface FrameNormalisation { + /** the normalisations the words name, sorted; "level" when they name none */ form: FrameStated; - /** the denominator the words name, as the quantity read chose it: a base - * the eligible shapes divide by under its graph name, else the words that - * name it; null when the words name none */ + /** the denominator the words name, as the quantity read chose it: a base the eligible shapes + * divide by under its graph name, else the words that name it; null when the words name + * none */ denominator?: FrameStated | null; } -/** Something the frame could not settle, with its possible readings. - * direction: a place named with no axis on a question a recalled shape gives - * roles; span: words that match two or more codes, or a code and a measure - * value; group_reading: a set holding both a node and members, read by - * default. */ -export interface FrameUnresolved { +/** Something the frame could not settle, with its possible readings. direction: a place named + * with no axis on a question a recalled shape gives roles; span: words that match two or more + * codes, or a code and a measure value; group_reading: a set holding both a node and members, + * read by default. */ +interface FrameUnresolved { kind: 'direction' | 'span' | 'group_reading'; /** the place name or the words */ subject: string; readings: string[]; } -/** What one part asks. `measure`, `normalisation` and `unresolved` are set - * after recall. The dataset_resubmit door builds no frame, so none reaches - * the page there. */ +/** What one part asks, carried by the stream's `frame` event. `measure`, `normalisation` and + * `unresolved` are set after recall. The dataset_resubmit door builds no frame. */ export interface Frame { variable: FrameStated; places: FramePlace[]; - window: FrameStated; + /** every year the data holds, the latest year, or a window of years */ + window: FrameStated<'all' | 'latest' | wire.TimeWindow>; /** the unit phrase the question states */ - unit?: FrameStated | null; + unit?: FrameStated | null; sources?: FrameStated | null; - operations: FrameStated; + operations: FrameStated; /** the flow axes asked member by member, sorted */ - open_roles: FrameStated; - /** the measurementQualifier the words name; no value stated by "default" - * reads the dataset's declared default reading. The stream omits a null - * value, so `value` is absent then. */ + open_roles: FrameStated; + /** the measurementQualifier the words name; no value stated by "default" reads the + * dataset's declared default reading. The stream omits a null value, so `value` is absent + * then. */ price_basis: { value?: string | null; stated_by: FrameStatedBy }; measure?: FrameMeasure | null; normalisation?: FrameNormalisation | null; unresolved: FrameUnresolved[]; } -// --------------------------------------------------------------------------- -// Envelope sub-objects -// --------------------------------------------------------------------------- - -/** A set of 2..N competing Specs, ordered per `ordering`. Each spec carries - * its own rendered_sentence/sentence_plan, lifted flat by flattenSpec. */ -export interface CandidateSet { - /** "intent_rank" on a first answer; "broadest_first" restates a posted - * candidates entry's own order */ - ordering: Ordering; - /** the maximum number of candidates applied */ - max_candidates: number; - /** 2..N competing Specs: the elected reading first, then its rivals, each - * stating its `basis` */ - specs: Spec[]; - truncated?: boolean; -} - -/** One graph node an ambiguous wording could name (dfo-apis - * src/search/models/outcomes.py AmbiguousEntityCandidate). */ -export interface AmbiguousEntityCandidate { - ref: string; - label: string; - /** country, continent, subregion, continental_union, organisation, - * aggregate, place_other, or other */ - kind: string; -} - -/** One query wording that resolved to more than one graph node, with the - * nodes it could name. `text` equals some `restatement.entities[i].text` - * on the same part. */ -export interface AmbiguousEntityGroup { - text: string; - candidates: AmbiguousEntityCandidate[]; -} - -/** One reading of an ambiguous source wording (dfo-apis - * src/search/models/outcomes.py AmbiguousSourceCandidate). */ -export interface AmbiguousSourceCandidate { - /** the source's reference; a client posts it back as a source mention's - * `ref` */ - ref: string; - /** the source's display name in the origin catalogue */ - label: string; - /** what `ref` names: a provenance, a catalogue Dataset, or a publishing - * Source */ - kind: 'provenance' | 'dataset' | 'source'; -} - -/** One source wording that names two or more unrelated admitted sources, with - * the sources it could name (dfo-apis src/search/models/outcomes.py - * AmbiguousSourceGroup). `text` equals some `restatement.sources[i].text` on - * the same part. */ -export interface AmbiguousSourceGroup { - text: string; - /** provenances first, then datasets and sources */ - candidates: AmbiguousSourceCandidate[]; -} - -/** The denominators a denominator_not_available refusal compared (dfo-apis - * src/search/models/outcomes.py NoDataDenominator). */ -export interface NoDataDenominator { - /** the denominator the question named, as read from the bases the - * candidate series divide by; null when it named none, or named one no - * candidate series divides by */ - asked?: GraphRef | null; - /** the denominator the flagged match divides by; null when it states none - * (a level, or a series whose name alone gives its base) */ - found?: GraphRef | null; -} - -/** One answer to the choice a no_data refusal asks for (dfo-apis - * src/search/models/outcomes.py NoDataOption). */ -export interface NoDataOption { - /** the request's own words this option settles, in query order */ - mentions: string[]; - /** the choice in words for a menu ("Republic of the Congo", "France to - * Germany"), for display only */ - label: string; - /** a one-part parsed input settling this choice only, posted unchanged - * to the resolve door; its one part is a `parsed` dataset_resubmit - * entry's part */ - data_query: ParsedInput; -} - -/** Outcome when no grounded result can be returned. */ -export interface NoData { - /** why nothing could be returned (closed enum) */ - reason: NoDataReason; - /** - * The entity wordings this refusal is about, in query order — populated - * for entity_not_resolved / entity_ambiguous / entity_role_not_admitted, - * empty for every other reason. The engine's own contract says to read - * this rather than parse `rendered_sentence` for the name. - */ - entity_terms?: string[]; - /** Every ambiguous wording behind an entity_ambiguous outcome, in query - * order, each with the nodes it could name. Empty for every other - * reason. */ - ambiguous_entities?: AmbiguousEntityGroup[]; - /** The source wordings this refusal is about, in query order: every - * included wording that matched no admitted source for - * source_not_resolved, every ambiguous wording for source_ambiguous, - * and the part's source_code for the three source_code_* reasons. - * Empty for every other reason. */ - source_terms?: string[]; - /** Every ambiguous wording behind a source_ambiguous outcome, in query - * order, each with the admitted sources it could name, and for - * source_code_ambiguous the part's source_code with the provenances - * holding it. Empty for every other reason. */ - ambiguous_sources?: AmbiguousSourceGroup[]; - /** - * One ready request per choice of an entity_ambiguous, source_ambiguous, - * source_code_ambiguous, role_not_resolved or unit_not_resolved refusal, - * in query then candidate order; empty for every other reason. It can - * list fewer entries than the candidates. The site's entity picker - * lists these options and posts the chosen one's part unchanged - * (parsedEdit.ts entityChoiceGroups). - */ - options?: NoDataOption[]; - /** Terms the engine refused to silently drop before answering. Present - * only for qualifier_not_bound. */ - unbound_qualifiers?: ResolvedQualifier[]; - /** optional; real, grounded specs with data adjacent to the request */ - nearest_real?: Spec[] | null; - gate?: NoDataGate | null; - /** - * optional; the single best-matched variable that exists but has no observation - * at the resolved place (available_at_place=false). Distinct from nearest_real: - * same variable + same place with no data here, vs. constraint-relaxed specs - * that DO have data nearby. - */ - flagged_match?: Spec | null; - /** - * Distinct from flagged_match (the elected variable, present on the - * other two gates) and from nearest_real (constraint-relaxed variants of - * the SAME variable). At most one of flagged_match/alternate_match is - * present at once. - */ - alternate_match?: Spec | null; - /** - * The currencies a unit_not_resolved refusal offers, in the binder's order. - * Present only with that reason and when the binder has candidates. - */ - unit_alternatives?: UnitAlternative[]; - /** - * The denominator the question named and the one the flagged match - * divides by. Set on every denominator_not_available refusal that - * elected a series; null for every other reason. - */ - denominator?: NoDataDenominator | null; -} - -/** A run-health signal. */ -export interface Warning { - /** stable machine code, e.g. DATE_COVERAGE_PARTIAL, COUNT_UNAVAILABLE */ - code: string; - severity: WarningSeverity; - message: string; - /** - * The spec_id this warning attaches to, when it concerns one returned - * spec specifically, and omitted otherwise. A warning with no spec_id - * has no part to attach it to (the per-spec signal it summarises - * arrives separately, through that spec's own events) and is dropped. - * Mirrors dfo-apis src/search/models/envelope.py's Warning.spec_id. - */ - spec_id?: string | null; - /** - * The counts and labels the message states. Three codes send it: - * observations_series_truncated {shown, total, order}, where order is - * "ranked" (most recent and largest first) or "fixed" and is absent - * from an API that predates it, elected_shape_no_data - * {no_data, elected}, whose values are lists of labels, and - * un_system_unavailable (UnSystemParams). - */ - params?: (Record & UnSystemParams) | null; -} - -/** An `un_system_unavailable` warning's params (dfo-apis - * src/search/engine/region/un_system.py un_unavailable_warning): the place - * dcids the UN System Data Commons refused, the StatVar dcids of the reads - * that failed, and those StatVars' labels in the same order, an empty - * string where the graph holds none. Each list is empty when the warning - * holds none. */ -export type UnSystemParams = { - places?: string[]; - variables?: string[]; - variable_labels?: string[]; -}; - -/** Latency breakdown for the response. */ -export interface Timing { - /** total run latency in ms */ - total: number; - /** per-step latency in ms */ - by_step?: Record | null; -} - -/** Run health, warnings, timing, and build stamp. */ -export interface Diagnostics { - /** engine build id; distinct from schema_version */ - engine_build: string; - /** this request's trace_id, shared with every problem-details body and - * the SSE stream's `done` event */ - trace_id: string; - /** degraded-mode, applied-signal, partial-graph signals */ - warnings: Warning[]; - timing_ms?: Timing | null; - /** per-request LLM token counts {input_tokens, output_tokens, cached_tokens} */ - llm_usage?: Record | null; - /** buffered transport only: soft deadline truncated this response (null on SSE, where the done event carries it) */ - timed_out?: boolean | null; -} - -export interface QueryEcho { - entry_path: 'raw_text' | 'parsed' | 'dataset_resubmit'; - /** the user's words, when one was supplied */ - raw_query?: string | null; - /** post-extraction normalised text, when extraction ran */ - normalized_query?: string | null; - /** true when the extraction step was skipped for this request */ - extract_skipped: boolean; -} - -// --------------------------------------------------------------------------- -// Part (contract v1): one entry per variable in ResolveResponse.parts -// --------------------------------------------------------------------------- -// The engine carries the payload — spec / candidates / no_data / unsupported, -// plus rendered_sentence / sentence_plan — inside a `parts[]` list, one entry -// per variable the query asked about, in query order. A single-variable query -// is one part. The page renders every part, in order (useSearchRun.ts's -// `HydratedPart[]`). WirePart is the shape a part carries on the wire (nested -// WireSpecs, un-flattened). -// searchClient.normalizeResponse maps each WirePart to the page-side `Part` -// below, whose specs are flattened by searchClient.flattenSpec. - -/** Wire-shaped candidate set carried on a candidates Part: `specs` are un-flattened - * WireSpecs (searchClient.flattenSpec turns these into CandidateSet.specs above). */ -export interface WireCandidateSet { - /** "intent_rank" on a first answer; "broadest_first" restates a posted - * candidates entry's own order */ - ordering: Ordering; - /** the maximum number of candidates applied */ - max_candidates: number; - /** 2..N competing WireSpecs, in `ordering` order */ - specs: WireSpec[]; - truncated?: boolean; -} - -/** Wire-shaped no_data outcome carried on a no_data Part. */ -export interface WireNoData { - reason: NoDataReason; - entity_terms?: string[]; - ambiguous_entities?: AmbiguousEntityGroup[]; - source_terms?: string[]; - ambiguous_sources?: AmbiguousSourceGroup[]; - options?: NoDataOption[]; - unbound_qualifiers?: ResolvedQualifier[]; - /** optional; real, grounded WireSpecs with data adjacent to the request */ - nearest_real?: WireSpec[] | null; - gate?: NoDataGate | null; - /** optional; the single best-matched variable that exists but has no observation - * at the resolved place (available_at_place=false) */ - flagged_match?: WireSpec | null; - alternate_match?: WireSpec | null; - /** - * The currencies a unit_not_resolved refusal offers, in the binder's order. - * Present only with that reason and when the binder has candidates. - */ - unit_alternatives?: UnitAlternative[]; - denominator?: NoDataDenominator | null; -} - -/** Outcome when the query itself can't be answered by this contract (e.g. an - * unsupported operation). The page shows `detail` in place of an empty - * heading. */ -export interface Unsupported { - code: string; - pointer?: string | null; - detail?: string | null; - definition?: unknown; -} - -/** What a question asked of a part's data beyond showing it. */ -export type OperationVerb = - 'rank' | 'aggregate' | 'growth' | 'share_of' | 'explain' | 'forecast' | 'report'; - -/** The axis an operation runs over. */ -export type OperationAxis = 'place' | 'origin' | 'destination' | 'category' | 'year'; - -/** - * One operation the question asked of a part that search did not apply, - * such as `rank` over `origin` for "top 5 donors". The part's data covers - * the whole axis; the website offers the operation to Studio. - */ -export interface Operation { - verb: OperationVerb; - /** the query's own wording for the operation, e.g. "top 5 donors" */ - phrase: string; - /** null when the verb runs over no axis, as `explain` does */ - over?: OperationAxis | null; - /** the four-digit year a `forecast` runs to, e.g. 2030 for "by 2030"; absent on other verbs */ - target_year?: number | null; -} - -/** - * One variable's complete outcome inside ResolveResponse.parts, as it rides - * the wire: its own status and exactly one of the four payload fields below, - * plus its own warnings/timing/sentence (not shared via the envelope). - * `spec`/`candidates`/`no_data` carry un-flattened WireSpecs — see `Part` - * for the page-side, flattened shape. - */ -export interface WirePart { - /** Every dataset_resubmit entry kind echoes its own variable_text onto - * the rebuilt part. Null is reserved for the raw_text path's - * empty-query refusal. */ - variable_text?: string | null; - /** this part's own signals only (e.g. binding_folded, observations_omitted) */ - warnings: Warning[]; - /** this part's own by_step timing; excludes the shared once-per-request extract step */ - timing_ms?: Timing | null; - /** a definite part stays null (the confirmation sentence lives at - * spec.resolved.rendered_sentence instead) */ - rendered_sentence?: string | null; - sentence_plan?: SentenceToken[] | null; - /** Null whenever this part was resolved from a posted identity/candidate - * set/stub (none carry a phrase of their own), or for another reason - * the wire does not name. */ - restatement?: ParsedPart | null; - /** operations the question asked of this part that search did not apply */ - operations?: Operation[]; - /** every way this part's answer differs from what its request asked, in - * DepartureCode order; [] when the answer is what was asked */ - departures: Departure[]; - /** every value the answer filled that the request did not ask for, in - * clause order: declared defaults, open roles, then the place scope; - * on a candidates part, the items every `reading_assumptions` list holds - * alike; [] on no_data and unsupported */ - assumptions?: Assumption[]; - status: ResolveStatus | 'unsupported'; - /** present iff status === "definite" */ - spec?: WireSpec; - /** present iff status === "candidates" */ - candidates?: WireCandidateSet; - /** candidates only: each shown reading's own assumptions, keyed by its - * Spec's spec_id, as a definite part answering that Spec would carry - * them; [] for a reading that assumes nothing. A pick echoes the picked - * reading's list on its identity entry, and a candidates entry echoes - * each reading's list on its candidate. */ - reading_assumptions?: Record; - /** present iff status === "no_data" */ - no_data?: WireNoData; - /** present iff status === "unsupported" */ - unsupported?: Unsupported; -} - -/** - * The page-side `Part`: same fields as `WirePart`, after - * searchClient.normalizeResponse has flattened every nested WireSpec (the - * definite `spec`, each of `candidates.specs`, and `no_data.nearest_real` / - * `no_data.flagged_match`) into the flat `Spec` shape above. - */ -export interface Part { - variable_text?: string | null; - /** this part's own signals only (e.g. binding_folded, observations_omitted) */ - warnings: Warning[]; - /** this part's own by_step timing; excludes the shared once-per-request extract step */ - timing_ms?: Timing | null; - /** a definite part stays null (the confirmation sentence lives at - * spec.rendered_sentence instead) */ - rendered_sentence?: string | null; - sentence_plan?: SentenceToken[] | null; - restatement: ParsedPart | null; - /** operations the question asked of this part that search did not - * apply; normalizeResponse defaults it to empty when the wire omits it */ - operations: Operation[]; - /** every way this part's answer differs from what its request asked, in - * DepartureCode order; [] when the answer is what was asked. The stream's - * `done` event can add more (see searchClient.applyDoneEvent). */ - departures: Departure[]; - /** every value the answer filled that the request did not ask for, in - * clause order (see WirePart.assumptions) */ - assumptions?: Assumption[]; - status: ResolveStatus | 'unsupported'; - /** present iff status === "definite" */ - spec?: Spec; - /** present iff status === "candidates" */ - candidates?: CandidateSet; - /** candidates only: each shown reading's own assumptions, keyed by - * spec_id (see WirePart.reading_assumptions) */ - reading_assumptions?: Record; - /** present iff status === "no_data" */ - no_data?: NoData; - /** present iff status === "unsupported" */ - unsupported?: Unsupported; -} - -// --------------------------------------------------------------------------- -// ResolveResponse (the envelope) -// --------------------------------------------------------------------------- - -/** The fields every response body carries, whatever its `kind`. */ -interface ResponseBody { - schema_version: SchemaVersion; - query_echo: QueryEcho; - diagnostics: Diagnostics; -} - -/** - * A resolution: one entry in `parts` per variable the query asked about, in - * query order — a single-variable query is one part. Each part carries its - * own outcome (`status` plus exactly one of `spec` / `candidates` / - * `no_data` / `unsupported`). searchClient.normalizeResponse flattens the - * nested WireSpecs in `parts`. The page renders every part, in order - * (useSearchRun.ts's `HydratedPart[]`). - */ -export interface Resolution extends ResponseBody { - kind: 'resolution'; - /** the parts' shared status, or "mixed" when two or more parts disagree. - * Includes "unsupported", a Part's own status literal distinct from - * ResolveStatus: an all-unsupported envelope is itself a valid shared - * value, separate from mixed. */ - status: ResolveStatus | 'unsupported' | 'mixed'; - /** one entry per variable asked, in query order; always >= 1 */ - parts: Part[]; - /** - * The envelope's own composed sentence over every part in `parts`: one - * hero sentence rather than N per-part ones. A single-part response's - * plan equals that part's own plan. See SentenceToken.part_index - * and `lib/search/sentencePlan.ts`'s tokenPart for how a multi-part - * plan's tokens route to their part. - */ - rendered_sentence?: string | null; - sentence_plan?: SentenceToken[] | null; -} - -/** The country a catalogue or declined answer is about, when the query named - * one and the resolver confirmed it. */ -export interface Scope { - place: GraphRef | null; -} - -/** A question about what data exists, such as "What data do you have on - * Kenya?". It carries no parts; the website renders the catalogue. */ -export interface CatalogueAnswer extends ResponseBody { - kind: 'catalogue'; - scope: Scope; -} - -/** Why a question was declined: it asks for something outside the data - * (`out_of_scope`), or for analysis without naming data to show - * (`requires_analysis`). */ -export type DeclinedReason = 'out_of_scope' | 'requires_analysis'; - -/** A question search does not answer. It carries no parts and no message; - * the website writes the copy. */ -export interface DeclinedAnswer extends ResponseBody { - kind: 'declined'; - reason: DeclinedReason; - scope: Scope; -} - -/** Every resolve response body, discriminated on `kind`. Every outcome is - * HTTP 200; only a resolution carries parts and a `status`. */ -export type ResolveResponse = Resolution | CatalogueAnswer | DeclinedAnswer; - // --------------------------------------------------------------------------- // Per-part run state (client-side only; never on the wire). One resolve run // holds N parts in query order, each streaming, editing, and erroring on its @@ -1893,231 +412,3 @@ export interface ExpectedPart { index: number; variableText: string; } - -// --------------------------------------------------------------------------- -// Request -// --------------------------------------------------------------------------- - -/** path A: UI, Python package. Extract runs. */ -export interface RawTextInput { - kind: 'raw_text'; - query: string; -} - -/** path B: pre-parsed parts, extract skipped. Also the shape of - * `NoDataOption.data_query`. Parts byte-identical in every field collapse to - * one before resolution. */ -export interface ParsedInput { - kind: 'parsed'; - /** 1 to 6, one per variable ask */ - parts: ParsedPart[]; - /** echo-only; the engine MUST NOT re-parse it */ - raw_query?: string | null; -} - -/** - * `role_text` is the display role when the query bound a directional role, - * absent for a plain subject entity. `dcid` is a caller-supplied pin, only - * ever sent on a posted entry, only when the response being edited carried - * `ambiguous_entities`. - */ -export interface ParsedPartEntity { - text: string; - role_text?: string | null; - /** a pinned graph node for `text`: name resolution is skipped and the - * dcid confirmed against the graph instead */ - dcid?: string | null; - /** true when the entity names a group whose member places fill the role */ - members?: boolean | null; -} - -/** - * The canonical restatement of one part's inputs: what the engine actually - * resolved from, not the user's own wording. Posting it back (a `parsed` - * dataset_resubmit entry) reproduces the same DateRequest, entities, unit, - * source, and spec_id. `time_text` is absent for an open-start or reversed - * window, where no phrase exists for it. Never shown to the user as "what - * you asked". - */ -export interface ParsedPart { - variable_text: string; - /** null, omitted or empty all mean no entity was named for this part */ - entities?: ParsedPartEntity[] | null; - time_text?: string | null; - unit_text?: string | null; - source_text?: string | null; - /** echoed onto the resolved part */ - operations?: Operation[]; -} - -// --------------------------------------------------------------------------- -// dataset_resubmit: the multi-part edit door (contract v1). Four entry kinds -// are modeled here, keyed by `entry_kind`. `buildDatasetEntries` -// (datasetEntries.ts) never derives a `parsed` entry from a part's own -// status; a typed edit or an entity_ambiguous pick builds one directly and -// passes it in as an override. Every entry carries its part's `operations` -// back, and the engine echoes them onto the rebuilt part. An identity entry -// also carries its part's `assumptions` (a picked reading's own list on a -// candidates part), and each candidate its reading's. -// --------------------------------------------------------------------------- - -/** A definite part's entry: the complete identity the part should resolve - * to, edited or not. Mirrors `ResubmitIdentityPayload` (dfo-apis - * src/search/models/request.py), which derives the membership from the - * identity alone. Every entry carries `variable_text`: the engine nulls it - * otherwise and the composer would render a blank phrase. `entity_groups` - * is the `Spec.entity_groups` of the Spec the identity derives from, keyed - * by role key; the engine keeps a group whose role the identity still - * binds to the group's members and drops the rest. */ -export interface DatasetIdentityEntry { - entry_kind: 'identity'; - variable_text: string; - identity: BaseIdentity; - entity_groups?: Record | null; - operations?: Operation[]; - /** the part's `assumptions`, echoed as the response gave them, [] included. - * The engine states the echoed items that still hold after the edit and - * nothing the echo lacks, so [] states none. When absent, it computes - * them as for a fresh request. */ - assumptions?: Assumption[]; -} - -/** One competing identity inside a `candidates` entry, with the - * `Spec.entity_groups` of the candidate Spec it came from. Specs return in - * posted order. */ -export interface DatasetCandidateIdentity { - identity: BaseIdentity; - entity_groups?: Record | null; - /** the reading's `reading_assumptions` list, echoed as the response gave - * it, [] included, by the rule `DatasetIdentityEntry.assumptions` states. - * When absent, the engine computes the reading's assumptions as for a - * fresh request. */ - assumptions?: Assumption[]; -} - -/** A candidates part's entry: `ordering`/`truncated` echoed verbatim from the - * part's own CandidateSet, `candidates` at least 2. No `max_candidates`: the - * door defines the entry without it and rejects the extra field. A - * candidate that promotes to no_data drops. Fewer than 2 survivors return - * definite (1) or no_data (0) in the response. */ -export interface DatasetCandidatesEntry { - entry_kind: 'candidates'; - variable_text: string; - ordering: Ordering; - truncated: boolean; - candidates: DatasetCandidateIdentity[]; - operations?: Operation[]; -} - -/** A no_data or unsupported part's entry: holds the part's position in the - * request without asking the engine to re-derive anything. The response - * part for this entry carries `part_restated`. The client keeps its own - * richer copy of that part rather than trusting the returned stub. */ -export interface DatasetPlaceholderEntry { - entry_kind: 'placeholder'; - variable_text: string; - status: 'no_data' | 'unsupported'; - reason?: NoDataReason; - code?: string; - operations?: Operation[]; -} - -/** - * Re-parsed, where `placeholder` only restates a stub. `part` already - * carries its own required `variable_text`, so this entry needs no separate - * top-level echo, and its operations ride on `part`. Mirrors dfo-apis - * `ResubmitParsedEntry`. - */ -export interface DatasetParsedEntry { - entry_kind: 'parsed'; - part: ParsedPart; -} - -export type DatasetResubmitEntry = - DatasetIdentityEntry | DatasetCandidatesEntry | DatasetPlaceholderEntry | DatasetParsedEntry; - -/** - * path D: the multi-part edit door. `entries` are 1 to 6, in response - * part order. `raw_query` is echo-only, same as ParsedInput's. - */ -export interface DatasetResubmitInput { - kind: 'dataset_resubmit'; - entries: DatasetResubmitEntry[]; - raw_query?: string; -} - -export type ResolveInput = RawTextInput | ParsedInput | DatasetResubmitInput; - -export interface ResolveOptions { - coverage?: 'auto' | 'prefer_exact' | 'breadth_only' | 'none'; - place_as_constraint?: boolean; - /** when true, each SlotOption.coverage carries an observation count */ - include_option_coverage?: boolean; - /** - * When true (the default -- absent also means true), Spec.observations is - * populated with the resolved answer's observation values. Set false to opt - * out. Delivery mirrors include_option_coverage's SSE/buffered transport split. - */ - include_observations?: boolean; -} - -export interface ResolveRequest { - schema_version: SchemaVersion; - input: ResolveInput; - options?: ResolveOptions; -} - -// --------------------------------------------------------------------------- -// EntityOptionsWire: on-demand entity-slot alternatives (POST /api/search/options), -// place_options' successor (see searchClient.ts's entityOptions for the door itself). -// --------------------------------------------------------------------------- - -/** Which anchor types each scope supports in v1 is documented on the engine's - * options endpoint (app.py); an unsupported anchor type is a typed 400, - * not a silent empty result. */ -export type PlaceOptionsScope = 'peers' | 'children'; - -/** - * Request body for the options door. Lazy and on-demand: fetched only when a - * user opens an entity editor, not part of /resolve. The door derives the - * identity's own StatVar population server-side, so the client posts no - * resolved-stat-var seed, just the spec's hashed identity and - * which role/scope it wants alternatives for. `for.role` names which entity - * role the returned options fill: the bound anchor's own role, e.g. - * 'destination' for a CRS recipient, defaulting to 'observationAbout' for a - * non-directional place. - */ -export interface EntityOptionsWireRequest { - /** the spec's hashed identity, opaque to the client */ - identity: unknown; - for: { role: EntityRoleKey; scope: PlaceOptionsScope }; - /** per-option data footprint (observation counts / years) for the rows */ - include_coverage: boolean; -} - -/** One candidate entity confirmed to have data, with a resolved display label. */ -export interface EntityOptionsWireValue { - ref: GraphRef; - value_kind: 'entity'; -} - -/** Response for POST /api/search/options. */ -export interface EntityOptionsWireResponse { - options: { - /** candidate entities confirmed to have data, in candidate order */ - items: Array<{ - value: EntityOptionsWireValue; - coverage?: Coverage | null; - /** on an origin or destination entity option, what the party is - * beside the others on its side, as the code index lists it. - * Absent for a party the index does not list. */ - party_kind?: PartyKind | null; - }>; - /** - * true when items is only a subset of the full candidate set (the - * endpoint's own cap), false when items is the complete candidate - * set -- NOT a statement about how many candidates had data. - */ - truncated: boolean; - }; -} diff --git a/src/lib/search/unitLabel.ts b/src/lib/search/unitLabel.ts index 3a7811f..5095640 100644 --- a/src/lib/search/unitLabel.ts +++ b/src/lib/search/unitLabel.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- reads the shallow Spec the sentence menus read (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- reads specs as `any`, dereferencing only the members it names and tolerating any that is missing */ /** * The unit the way the byline names it, with the price basis ("Constant 2020 * US dollars", "Current euros"). The Spec's unit facet names the currency diff --git a/src/lib/search/unitPicker.ts b/src/lib/search/unitPicker.ts index b7ac662..aa93f44 100644 --- a/src/lib/search/unitPicker.ts +++ b/src/lib/search/unitPicker.ts @@ -131,8 +131,8 @@ export const sharedOffer = (offers: UnitConversion[]): UnitConversion | null => (currency) => sharedCurrency(currency, others) ?? [], ); const roleCurrencies = Object.fromEntries( - Object.entries(first.role_currencies).filter(([role, code]) => - others.every((offer) => offer.role_currencies[role as EntityRoleKey] === code), + Object.entries(first.role_currencies ?? {}).filter(([role, code]) => + others.every((offer) => offer.role_currencies?.[role] === code), ), ); @@ -150,7 +150,7 @@ const requestCode = ( if (!currency) return null; if (typeof currency === 'string') return currency; - return conversion?.role_currencies[currency.role] ?? null; + return conversion?.role_currencies?.[currency.role] ?? null; }; /** The answer's unit: the identity's unit request when it carries one, @@ -191,7 +191,7 @@ export const unitPresets = (spec: any, conversion: UnitConversion | null): UnitP })); const entities: any[] = spec?.entities ?? []; - for (const [role, code] of Object.entries(conversion.role_currencies) as [ + for (const [role, code] of Object.entries(conversion.role_currencies ?? {}) as [ EntityRoleKey, string | undefined, ][]) { diff --git a/src/lib/search/versionLink.ts b/src/lib/search/versionLink.ts index c60915e..9e1ff1f 100644 --- a/src/lib/search/versionLink.ts +++ b/src/lib/search/versionLink.ts @@ -14,6 +14,13 @@ * it directly. */ +import type { + ArtifactEntryModel, + BaseIdentity, + Manifest, + OptionsEnvelope, +} from '@developmentfinance/client/wire'; + import type { OpenedSearchShare } from './searchClient'; export type VersionLink = { specId: string; contentVersion: string | null }; @@ -42,18 +49,10 @@ export const parseVersionLink = (params: { export const versionLinkHref = ({ specId, contentVersion }: VersionLink): string => contentVersion ? `/data?spec=${specId}&v=${contentVersion}` : `/data?spec=${specId}`; -/** The fields of a version manifest or options envelope this module reads. */ -export type VersionLinkDocument = { - content_version?: string; - definition?: { spec_id?: string; identity?: unknown } | null; - artifacts?: { - artifact_digest?: string; - created_at?: string; - url?: string; - rendering?: { format?: string; bundle?: boolean }; - }[]; - citation?: { sources?: { label?: string }[] }; -}; +/** The fields of a version manifest or options envelope this module reads; the envelope lists no + * artifacts and cites no sources. */ +export type VersionLinkDocument = Pick & + Partial>; /** A version's stored file, by the site route that redirects to its stable * link; `format` is 'zip' for the bundle. */ @@ -68,19 +67,17 @@ export type VersionLinkOutcome = // A definition that pins its StatVars (Datasets' statvar_set and // source_codes inputs) names no measure family, and Search refuses to // resubmit it. -const isPinnedKind = (identity: unknown): boolean => - (identity as { shape?: { kind?: unknown } }).shape?.kind === 'stat_var'; +const isPinnedKind = (identity: BaseIdentity): boolean => identity.shape.kind === 'stat_var'; -type StoredFile = { - url: string; - artifact_digest?: string; - rendering: { format: string; bundle?: boolean }; -}; +/** The format a listed file was rendered in, or null for a rendering with none, such as the + * series statistics. */ +const formatOf = ({ rendering }: Pick): string | null => + typeof rendering.format === 'string' && rendering.format ? rendering.format : null; /** The canonical frame a version manifest lists: the API's internal storage * form, which the site offers in no download format. */ -export const isCanonicalFrame = (artifact: { rendering?: { format?: string } }): boolean => - artifact.rendering?.format === 'frame'; +export const isCanonicalFrame = (artifact: Pick): boolean => + formatOf(artifact) === 'frame'; /** * The version's file to offer, by its stable link, with its digest for a pin: @@ -89,21 +86,27 @@ export const isCanonicalFrame = (artifact: { rendering?: { format?: string } }): * offered. `/api/version-download` and `/s//download` redirect to it. */ export const storedDownload = (document: { - artifacts?: VersionLinkDocument['artifacts']; -}): { url: string; format: string; digest: string | null } | null => { - const files = (document.artifacts ?? []).filter( - (artifact): artifact is StoredFile => - !!artifact.url && !!artifact.rendering?.format && !isCanonicalFrame(artifact), - ); - const bundle = files.find((artifact) => artifact.rendering.bundle); + artifacts?: ArtifactEntryModel[]; +}): { url: string; format: string; digest: string } | null => { + const files = (document.artifacts ?? []).flatMap((artifact) => { + const format = formatOf(artifact); + + return artifact.url && format && !isCanonicalFrame(artifact) + ? [ + { + url: artifact.url, + format, + digest: artifact.artifact_digest, + bundle: artifact.rendering.bundle === true, + }, + ] + : []; + }); + const bundle = files.find((file) => file.bundle); const file = bundle ?? files[0]; return file - ? { - url: file.url, - format: bundle ? 'zip' : file.rendering.format, - digest: file.artifact_digest ?? null, - } + ? { url: file.url, format: bundle ? 'zip' : file.format, digest: file.digest } : null; }; @@ -125,7 +128,8 @@ export const outcomeFromDocument = ( link: VersionLink, document: VersionLinkDocument, ): VersionLinkOutcome | null => { - const identity = document.definition?.identity; + // The wire types the identity as an open object; the definition holds a BaseIdentity. + const identity = document.definition?.identity as BaseIdentity | undefined; if (!identity) { return null; @@ -144,10 +148,10 @@ export const outcomeFromDocument = ( .map((artifact) => artifact.created_at) .filter((at): at is string => typeof at === 'string') .toSorted()[0]; - const specId = document.definition?.spec_id ?? link.specId; + const specId = document.definition.spec_id; const sources = (document.citation?.sources ?? []) .map((source) => source.label) - .filter((label): label is string => !!label); + .filter((label) => label !== ''); const shared: OpenedSearchShare = { id: specId, diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index f5a12d7..e55e76a 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- deliberately shallow engine-contract layer (see lib/search/types.ts for the full mirror) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- reads specs and open slot options as `any`, each helper dereferencing only the members it names and tolerating any that is missing */ /** * View helpers: flatten a resolved Spec into UI-ready rows and summaries. * Deliberately defensive — the engine contract is authoritative, the UI reads @@ -16,27 +16,29 @@ import type { EntityChoiceGroup } from './parsedEdit.ts'; import { entityOptionDcid } from './pickerState.ts'; import type { OptionLike } from './pickerState.ts'; import type { ApiError, EntityOption } from './searchClient'; -import type { - Assumption, - EntityOptions, - EntityRoleKey, - FacetBasis, - IdentityFacets, - NoData, - NoDataDenominator, - NoDataGate, - NoDataReason, - ObservationsOmission, - ObservationsOmissionReason, - ParsedPart, - Part, - PartyKind, - PlaceOptionsScope, - RoleAxis, - SentenceToken, - UnitAlternative, - Warning, -} from './types'; +import { + type Assumption, + type EntityOptions, + type EntityRoleKey, + type FacetBasis, + hasKey, + type IdentityFacetBinding, + type Known, + type NoData, + type NoDataDenominator, + type NoDataGate, + type NoDataReason, + type ObservationsOmission, + type ObservationsOmissionReason, + type ParsedPart, + type Part, + type PartyKind, + type PlaceOptionsScope, + type RoleAxis, + type SentenceToken, + type UnitAlternative, + type Warning, +} from './types.ts'; import { keyRef, sentenceOf } from './searchClient.ts'; import { unitWithBasis } from './unitLabel.ts'; @@ -1976,7 +1978,7 @@ export type MethodChoice = { label: string; checked: boolean; /** The facet binding a pick posts. Null drops the axis. */ - binding: IdentityFacets['measurementMethod'] | null; + binding: IdentityFacetBinding['measurementMethod'] | null; }; export type MethodPicker = { label: string; choices: MethodChoice[] }; @@ -2053,7 +2055,8 @@ export const methodPicker = (spec: any): MethodPicker | null => { return null; } - const bound: IdentityFacets['measurementMethod'] = spec?.identity?.facets?.measurementMethod; + const bound: IdentityFacetBinding['measurementMethod'] = + spec?.identity?.facets?.measurementMethod; const boundRefs: (string | null)[] = bound?.state === 'set' ? bound.refs : bound && 'ref' in bound ? [bound.ref] : []; const served = servedMethod(spec); @@ -2274,7 +2277,7 @@ export const flattenPartsRows = ( // A part's own outcome, in plain language, for its variable line and for a // marked unresolved phrase's hover title. Both surfaces read this one map, // so they say the same thing for the same reason code. -const NO_DATA_REASON_TEXT: Record = { +const NO_DATA_REASON_TEXT: Record, string> = { source_not_resolved: "We couldn't match the data source named in that query.", source_ambiguous: 'More than one data source matches that wording. Try naming it in full.', source_code_not_held: 'No source we search publishes that code for this question.', @@ -2304,13 +2307,15 @@ const NO_DATA_REASON_TEXT: Record = { }; export const noDataReasonText = (reason?: NoDataReason | null): string => - (reason && NO_DATA_REASON_TEXT[reason]) || 'No data matched this query.'; + reason && hasKey(NO_DATA_REASON_TEXT, reason) + ? NO_DATA_REASON_TEXT[reason] + : 'No data matched this query.'; // Names the failed gate for every reason pairing a flagged_match with one. // The flagged_match of role_incompatible, qualifier_not_bound and // denominator_not_available carries no gate since no availability verdict // was taken. -const NO_DATA_GATE_TEXT: Record = { +const NO_DATA_GATE_TEXT: Record, string> = { no_member_has_data_at_place: 'That match has no data at this place.', no_member_asserts_bound_properties: "That match doesn't carry the condition this query needs.", only_alternate_has_data: 'Only a different variable has data for this request.', @@ -2386,7 +2391,7 @@ export const noDataText = ( if (compared) return `${base} ${compared}`; } - if (noData?.gate) { + if (noData?.gate && hasKey(NO_DATA_GATE_TEXT, noData.gate)) { return `${base} ${NO_DATA_GATE_TEXT[noData.gate]}`; } diff --git a/src/lib/sources/graph.ts b/src/lib/sources/graph.ts index f049674..8f71f92 100644 --- a/src/lib/sources/graph.ts +++ b/src/lib/sources/graph.ts @@ -13,6 +13,7 @@ * at most once an hour however many people open it. */ +import type { ProblemDetails } from '@developmentfinance/client/wire'; import { unstable_cache } from 'next/cache.js'; import { cache } from 'react'; @@ -139,7 +140,7 @@ const cachedGraphRead = unstable_cache( }); if (res.status !== 200) { - const body = (await res.json().catch(() => null)) as { code?: string } | null; + const body = (await res.json().catch(() => null)) as Partial | null; throw new GraphAnswer(res.status, body?.code); } diff --git a/vendor/developmentfinance-client-0.1.0.tgz b/vendor/developmentfinance-client-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0bdb14a1a02fa717917a1cc3f27fb03d858e3080 GIT binary patch literal 251831 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

o6bVWc2 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 z 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 H01_1dUi#^K literal 251831 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�Xylv*ZaECO&(vjsJ|6$DeJ5`~fR$lHbu- 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�^$DSQ1<-KN8G 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 From 2f33fdadc899be956fcfab49952baf1c0de147b2 Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 14:15:20 +0200 Subject: [PATCH 19/24] refactor(search): type the page specs and stream entries from the client's wire types SearchInput, DatasetFormat, the entity-options scope and the page-spec subsets in definitionMembers.ts, frozenObservations.ts and measureMenu.ts derive from the wire types. A spec whose stat vars the site cannot read is UnreadableSpec, one side of the PartSpec union, and statVarsUnreadable is its type guard; flattenSpec returns the union with no cast. The stream's facet_options entries are FacetOptionsEntry, FacetOptions without source, which the stream does not send. The suggestion state, the streamed observations and facets, the cards' parts and the share, event and sentence readers carry their types, and hasDefiniteSpec narrows a hydrated part to one with a spec. The shared edits move into sharedEdit.ts as pure functions with tests: a definite spec takes an edit when its slots hold the edit's axis, readable or not, and a spec without slots is skipped. fetchDatasetCapabilities, which had no caller, is gone. --- .../organisms/DataSearch/DataSearch.tsx | 46 +++++----- .../organisms/DataSearch/SearchCards.tsx | 11 ++- .../organisms/DataSearch/SearchSentence.tsx | 70 +++++++-------- .../organisms/DataSearch/useSearchRun.ts | 89 +++++-------------- src/lib/search/definitionMembers.ts | 10 +-- src/lib/search/frozenObservations.ts | 4 +- src/lib/search/measureMenu.ts | 11 +-- src/lib/search/searchClient.ts | 64 +++++-------- src/lib/search/searchEvents.ts | 14 +-- src/lib/search/searchShareRequest.ts | 6 +- src/lib/search/sharedEdit.ts | 80 +++++++++++++++++ src/lib/search/studioHandoff.ts | 7 +- src/lib/search/test/datasetEntries.test.ts | 4 +- src/lib/search/test/definitionMembers.test.ts | 2 +- src/lib/search/test/fixtures.test.ts | 4 +- src/lib/search/test/fixtures/resolution.ts | 9 +- src/lib/search/test/searchClient.test.ts | 7 +- src/lib/search/test/sharedEdit.test.ts | 69 ++++++++++++++ src/lib/search/test/studioHandoff.test.ts | 39 +++++--- src/lib/search/test/view.test.ts | 4 +- src/lib/search/types.ts | 42 ++++++--- src/lib/search/view.ts | 15 ++-- 22 files changed, 375 insertions(+), 232 deletions(-) create mode 100644 src/lib/search/sharedEdit.ts create mode 100644 src/lib/search/test/sharedEdit.test.ts diff --git a/src/components/organisms/DataSearch/DataSearch.tsx b/src/components/organisms/DataSearch/DataSearch.tsx index 6a62884..79c7fcb 100644 --- a/src/components/organisms/DataSearch/DataSearch.tsx +++ b/src/components/organisms/DataSearch/DataSearch.tsx @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- holds the suggestion answer, a response body read member by member, as `any` */ 'use client'; import classNames from 'classnames'; @@ -70,7 +69,12 @@ import { handoffSeeds, studioHref, } from '@/lib/search/studioHandoff'; -import { isKnownPart, type SentenceToken } from '@/lib/search/types'; +import { + hasDefiniteSpec, + isKnownPart, + type ResolveResponse, + type SentenceToken, +} from '@/lib/search/types'; import { parseVersionLink, type VersionLink, versionLinkHref } from '@/lib/search/versionLink'; import { observationsPendingText } from '@/lib/search/view'; import { writeSeeds } from '@/lib/studio/seedStore'; @@ -233,7 +237,7 @@ const DataSearch = ({ catalogue }: { catalogue: SearchCatalogue | null }) => { // remounted — swapped-in DOM nodes the initial observer never saw. const sectionRef = useReveal(12, [phase, promptEpoch]); const [draft, setDraft] = useState(''); - const [suggest, setSuggest] = useState(null); + const [suggest, setSuggest] = useState(null); const [suggestPending, setSuggestPending] = useState(false); const [linkCopied, setLinkCopied] = useState(false); const [shareOpen, setShareOpen] = useState(false); @@ -736,19 +740,17 @@ const DataSearch = ({ catalogue }: { catalogue: SearchCatalogue | null }) => { // and would otherwise double its rows — the composed plan already drops // a folded part from the heading/variable lines the same way). const seenSpecIds = new Set(); - const definiteParts = parts - .filter((part) => part.part?.status === 'definite' && part.hydratedSpec) - .filter((part) => { - const specId = part.hydratedSpec!.spec_id; + const definiteParts = parts.filter(hasDefiniteSpec).filter((part) => { + const specId = part.hydratedSpec.spec_id; - if (seenSpecIds.has(specId)) { - return false; - } + if (seenSpecIds.has(specId)) { + return false; + } - seenSpecIds.add(specId); + seenSpecIds.add(specId); - return true; - }); + return true; + }); // True while any definite part's observations are still streaming in // (the base run still loading, or an edit post in flight). The preview // table shows its pending line instead of the omission copy while that @@ -756,8 +758,8 @@ const DataSearch = ({ catalogue }: { catalogue: SearchCatalogue | null }) => { const observationsPending = definiteParts.some((part) => part.observationsPending); const liveNote = snapshotLiveNote( definiteParts.map((part) => ({ - specId: part.hydratedSpec!.spec_id, - name: part.variableText ?? part.hydratedSpec?.shape?.label ?? '—', + specId: part.hydratedSpec.spec_id, + name: part.variableText ?? part.hydratedSpec.shape?.label ?? '—', })), unreadableSnapshots, ); @@ -765,13 +767,11 @@ const DataSearch = ({ catalogue }: { catalogue: SearchCatalogue | null }) => { // Share: a link for the definite parts on screen (every one, in part // order — a folded part keeps its own position). No numbers leave the // page; the server stores the datasets they resolved to. - const sharedParts = parts.filter( - (part) => part.part?.status === 'definite' && part.hydratedSpec, - ); + const sharedParts = parts.filter(hasDefiniteSpec); const sharedDatasets = sharedParts.map((part) => ({ partIndex: part.index, - specId: part.hydratedSpec!.spec_id, - label: part.variableText ?? part.hydratedSpec?.shape?.label ?? '—', + specId: part.hydratedSpec.spec_id, + label: part.variableText ?? part.hydratedSpec.shape?.label ?? '—', })); const createShare: CreateSearchShare = (mode) => { const sendAction = startAction(); @@ -902,7 +902,11 @@ const DataSearch = ({ catalogue }: { catalogue: SearchCatalogue | null }) => { )} {suggest && ( )} diff --git a/src/components/organisms/DataSearch/SearchCards.tsx b/src/components/organisms/DataSearch/SearchCards.tsx index 156240d..a7e6627 100644 --- a/src/components/organisms/DataSearch/SearchCards.tsx +++ b/src/components/organisms/DataSearch/SearchCards.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- takes parts and specs as `any` and reads only the members it renders, tolerating any that is missing */ +/* eslint-disable @typescript-eslint/no-explicit-any -- takes specs as `any` and reads only the members it renders, tolerating any that is missing */ 'use client'; import classNames from 'classnames'; @@ -21,6 +21,7 @@ import { specOrigin, statVarsUnreadable, } from '@/lib/search/view'; +import { knownPart, type ParsedPart, type Part } from '@/lib/search/types'; // A card's meta line, its coverage then its origin (specOrigin beside the // spec's own sentence, shapeOrigin beside any other title). The line clamps @@ -45,21 +46,21 @@ const CardMeta = ({ spec, origin }: { spec: any; origin: string | null }) => { // Takes one part. The caller (DataSearch for a no_data part, or the idle // prompt's suggestion preview reading parts[0]) already knows which. const SearchCards = ({ - part, + part: givenPart, partIndex, onPick, onEditParsed, onStudio, question, }: { - part: any; + part: Part | null; // Omitted for the idle prompt's suggestion preview, which has no part to // edit back into. partIndex?: number; onPick: (text?: string) => void; // Posts an entity_ambiguous pick as a parsed entry, the single-part // plan's escape hatch when there's no slot token to hang a picker off. - onEditParsed?: (partIndex: number, editedPart: any) => void; + onEditParsed?: (partIndex: number, editedPart: ParsedPart) => void; // Hands the question and the datasets on screen to Studio (DataSearch's // openStudio); the no_data Studio callout's button is hidden without it. onStudio?: () => void; @@ -67,6 +68,8 @@ const SearchCards = ({ // unreadable subset's retry. question?: string; }) => { + const part = knownPart(givenPart); + // A definite background suggestion renders as a single pickable card. if (part?.status === 'definite' && part.spec) { const spec = part.spec; diff --git a/src/components/organisms/DataSearch/SearchSentence.tsx b/src/components/organisms/DataSearch/SearchSentence.tsx index 710b85f..3ee7109 100644 --- a/src/components/organisms/DataSearch/SearchSentence.tsx +++ b/src/components/organisms/DataSearch/SearchSentence.tsx @@ -63,6 +63,7 @@ import { planCoverageText, planSentenceText, tokenPart } from '@/lib/search/sent import { type EntityRoleKey, type GraphRef, + hasDefiniteSpec, type HydratedPart, type IdentityFacetAxis, type IdentityFacetBinding, @@ -71,6 +72,7 @@ import { type MeasureAxisValue, type NoDataOption, type ParsedPart, + type PartSpec, type RoleAxis, type SentenceToken, type SlotOption, @@ -144,7 +146,7 @@ import type { SourceSlotOption, } from '@/lib/search/view'; -import type { SharedEdit } from './useSearchRun'; +import type { SharedEdit } from '@/lib/search/sharedEdit'; /** The values each row of a measure or unit menu defines through its info * mark: the current measure's first, then each alternative's, each row @@ -779,7 +781,7 @@ export const SearchSentenceHeading = ({ const tokenPanel = ( index: number, token: SentenceToken, - spec: any, + spec: PartSpec, changes: readonly string[], ) => ({ ...tokenMenu(index, changes), @@ -795,7 +797,7 @@ export const SearchSentenceHeading = ({ const aboutPanel = ( index: number, token: SentenceToken, - spec: any, + spec: PartSpec, variable?: string | null, ) => { const field = tokenField(token); @@ -817,7 +819,7 @@ export const SearchSentenceHeading = ({ const unitSwitchMenu = ( index: number, token: SentenceToken, - spec: any, + spec: PartSpec, switches: readonly UnitSwitch[], variable?: string | null, ) => { @@ -854,15 +856,13 @@ export const SearchSentenceHeading = ({ ); }; - const definiteParts = parts.filter( - (part) => part.part?.status === 'definite' && part.hydratedSpec, - ); + const definiteParts = parts.filter(hasDefiniteSpec); // A hoisted qualifier's own current value/options come from a // representative definite part — by hoisting's own definition every // contributing part agrees, so any one of them reads the same. const representativePart = definiteParts[0] ?? null; - const representative: any = representativePart?.hydratedSpec ?? null; + const representative: PartSpec | null = representativePart?.hydratedSpec ?? null; // The entity_ambiguous parts with a picker whose ambiguous wordings ride // the plan as their own slot tokens: each carries its menu and its @@ -895,12 +895,15 @@ export const SearchSentenceHeading = ({ token: SentenceToken, index: number, partIndex: number, - spec: any, + spec: PartSpec, restatement: ParsedPart | null, ) => { // Named in each trigger's accessible name when several parts share // the sentence. const variable = parts.length > 1 ? parts[partIndex]?.variableText : null; + // A spec flagged unreadable may carry no slots; its tokens then bind none. + const slots = spec.slots ?? []; + const measureSpec = { ...spec, slots }; // Called only where a menu is drawn, with the refs it can change: // by default the slot the token binds. const panel = (changes: readonly string[] = ownRef(token)) => @@ -978,7 +981,8 @@ export const SearchSentenceHeading = ({ // one. const states = tokenStates(token); const alternatives = token.axis === 'what' ? measureAlternatives(spec) : []; - const groups = token.axis === 'what' ? measureSlotGroups(spec, states, optionsBySpec) : []; + const groups = + token.axis === 'what' ? measureSlotGroups(measureSpec, states, optionsBySpec) : []; if (alternatives.length > 0 || groups.length > 0) { const rowValues = menuRowValues(spec, alternatives); @@ -989,7 +993,9 @@ export const SearchSentenceHeading = ({ return ( 0))} + {...panel( + measureMenuRefs(measureSpec, states, groups, alternatives.length > 0), + )} label={token.text} title="Select Measure" ariaLabel={slotAriaLabel('Measure', token.text, variable)} @@ -1031,15 +1037,15 @@ export const SearchSentenceHeading = ({ if (token.axis === 'source') { const sourceOptions = sourceSlotOptions(spec); - const sourceSlotIndex = (spec.slots ?? []).findIndex( - (slot: any) => slot?.key?.axis === 'source', - ); + const sourceSlotIndex = slots.findIndex((slot) => slot.key.axis === 'source'); if (sourceSlotIndex === -1 || sourceOptions.length === 0) { return aboutPanel(index, token, spec, variable); } - const boundDcid = spec.slots[sourceSlotIndex]?.binding?.value?.ref?.ref; + const sourceBinding = slots[sourceSlotIndex]?.binding; + const boundDcid = + sourceBinding?.kind === 'value' ? sourceBinding.value.ref?.ref : undefined; // A lone source opens the menu too, its row the current pick. // @@ -1072,7 +1078,7 @@ export const SearchSentenceHeading = ({ return ( keyRef(slot.key) === token.binding_ref, - ); + const slotIndex = slots.findIndex((slot) => keyRef(slot.key) === token.binding_ref); const optionsEntry = token.binding_ref ? slotOptionsEntry(optionsBySpec, spec.spec_id, token.binding_ref) : { options: [], truncated: false }; @@ -1258,7 +1262,7 @@ export const SearchSentenceHeading = ({ token.binding_ref && awaitingSlotOptions(optionsBySpec, spec.spec_id, token.binding_ref, baseStreamOpen) ) { - const field = slotField(spec.slots[slotIndex]); + const field = slotField(slots[slotIndex]); return ( 0 && - !slotOffersChoice(spec.slots[slotIndex], optionsEntry, spec) + !slotOffersChoice(slots[slotIndex], optionsEntry, spec) ) { return aboutPanel(index, token, spec, variable); } @@ -1296,7 +1300,7 @@ export const SearchSentenceHeading = ({ return ( slot?.key?.axis === 'where', - ); + const whereIndex = slots.findIndex((slot) => slot.key.axis === 'where'); if (whereIndex !== -1) { return ( @@ -1440,7 +1442,7 @@ export const SearchSentenceHeading = ({ ); } - const slot = spec.slots[slotIndex]; + const slot = slots[slotIndex]; const onSelect = (binding: any) => onEditSlot(partIndex, spec, slotIndex, binding, token.role ?? 'observationAbout'); // A level-scoped constraint slot (relation populated) skips the @@ -1568,12 +1570,12 @@ export const SearchSentenceHeading = ({ if (token.axis === 'source') { const sourceOptions = sourceSlotOptions(representative); - const sourceSlotIndex = (representative?.slots ?? []).findIndex( - (slot: any) => slot?.key?.axis === 'source', - ); const sourceSlot = - sourceSlotIndex !== -1 ? representative.slots[sourceSlotIndex] : null; - const boundDcid = sourceSlot?.binding?.value?.ref?.ref; + (representative?.slots ?? []).find((slot) => slot.key.axis === 'source') ?? null; + const boundDcid = + sourceSlot?.binding.kind === 'value' + ? sourceSlot.binding.value.ref?.ref + : undefined; // A lone source opens the menu here too — see the per-part // branch above. @@ -2011,7 +2013,7 @@ export const SearchSentenceHeading = ({ // A slot's label on part `partIndex`'s spec ("Type of flow"). const slotLabel = (partIndex: number, bindingRef: string): string | null => (parts[partIndex]?.hydratedSpec?.slots ?? []).find( - (slot: any) => keyRef(slot.key) === bindingRef, + (slot) => keyRef(slot.key) === bindingRef, )?.key?.label ?? null; // The action naming the departure's ref when it is a slot ("Change @@ -2371,9 +2373,7 @@ export const SearchSentenceBody = ({ const [whyOpen, setWhyOpen] = useState(false); const aboutId = useId(); - const definiteParts = parts.filter( - (part) => part.part?.status === 'definite' && part.hydratedSpec, - ); + const definiteParts = parts.filter(hasDefiniteSpec); const editNotes = [ ...new Set( diff --git a/src/components/organisms/DataSearch/useSearchRun.ts b/src/components/organisms/DataSearch/useSearchRun.ts index 8f50d87..5e7d055 100644 --- a/src/components/organisms/DataSearch/useSearchRun.ts +++ b/src/components/organisms/DataSearch/useSearchRun.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- holds streamed observations, facet options and slot bindings as `any`, merging members it does not read */ +/* eslint-disable @typescript-eslint/no-explicit-any -- takes the edited spec and slot bindings as `any`, passing members it does not read */ 'use client'; /** @@ -166,7 +166,6 @@ import { measureSwitchEntry, type MeasurePick } from '@/lib/search/measureMenu'; import { buildReplayPlan, nextEditsByPart } from '@/lib/search/permalinkEdits'; import { bindsMethod, - entityOptionsEntry, mergeEntityOptionsEntry, mergePlaceOptionsEntry, mergeSlotOptionsEntry, @@ -194,13 +193,14 @@ import { type DeclinedAnswer, type EntityRoleKey, type ExpectedPart, + type FacetOptionsEntry, type HydratedPart, type IdentityFacetAxis, type IdentityFacetBinding, - type IdentityUnitRequest, knownPart, type ParsedPart, type PartPhase, + type PartSpec, type Resolution, type ResolveResponse, type RoleAxis, @@ -218,6 +218,7 @@ import { import { sharedUnitEdit } from '@/lib/search/unitPicker'; import { unmountTeardown } from '@/lib/search/unmountTeardown'; import type { WindowApplyValue } from '@/lib/search/windowState'; +import { type SharedEdit, sharedEditTouched, withSharedEdit } from '@/lib/search/sharedEdit'; export type SearchPhase = 'idle' | 'loading' | 'done' | 'error'; @@ -226,19 +227,6 @@ export type SearchPhase = 'idle' | 'loading' | 'done' | 'error'; export type PartlessAnswer = Pick | Pick; -/** A hoisted where/when/source/origin/unit/method qualifier's edit, fanned - * out to every definite part by `editShared`: one axis, applied everywhere - * it hoisted. A unit request applies to every part that converts - * (`sharedUnitEdit`); a method binding to every part that binds a method, - * the parts a stated method token speaks for. */ -export type SharedEdit = - | { axis: 'where'; binding: any; entityRole: EntityRoleKey } - | { axis: 'source'; binding: any } - | { axis: 'when'; window: WindowApplyValue } - | { axis: 'entity'; role: RoleAxis; dcid: string } - | { axis: 'unit'; request: IdentityUnitRequest } - | { axis: 'method'; binding: IdentityFacetBinding['measurementMethod'] | null }; - type PartRuntime = Pick; const EMPTY_RUNTIME: PartRuntime = { @@ -253,29 +241,24 @@ const addStep = (steps: string[], step: string): string[] => * entries folded in: the same merge every definite part needs, factored * out so N parts hydrate identically. */ function hydrateDefiniteSpec( - spec: Spec, - obsBySpec: Record, - facetsBySpec: Record>, + spec: PartSpec, + obsBySpec: Record, + facetsBySpec: Record>, frozen?: SpecObservations, -): Spec { +): PartSpec { const live = spec.observations ?? obsBySpec[spec.spec_id] ?? null; + // Streamed facet entries override the response's (empty on SSE) by + // axis; a buffered body's inline entries survive untouched. + const streamed = facetsBySpec[spec.spec_id] ?? {}; + const inline = (spec.facet_options ?? []).filter((entry) => !(entry.axis in streamed)); return { ...spec, // A snapshot share's captured bytes win over whatever the live // replay streams for the same spec. observations: frozen ?? live, - // Streamed facet entries override the response's (empty on SSE) by - // axis; a buffered body's inline entries survive untouched. - facet_options: (() => { - const streamed = facetsBySpec[spec.spec_id] ?? {}; - const inline = (spec.facet_options ?? []).filter( - (entry: any) => !(entry?.axis in streamed), - ); - - return [...inline, ...Object.values(streamed)]; - })(), - } as Spec; + facet_options: [...inline, ...Object.values(streamed)], + }; } /** A lightweight `HydratedPart[]` view straight off a fresh `Resolution`, @@ -345,13 +328,15 @@ export const useSearchRun = () => { const [expectedParts, setExpectedParts] = useState([]); const [runtimes, setRuntimes] = useState([]); const [editsByPart, setEditsByPart] = useState>({}); - const [obsBySpec, setObsBySpec] = useState>({}); + const [obsBySpec, setObsBySpec] = useState>({}); const [optionsBySpec, setOptionsBySpec] = useState< Record> >({}); // facet_options ride SSE as trailing events (the response's own array is // empty on the stream), collected per spec, axis-keyed. - const [facetsBySpec, setFacetsBySpec] = useState>>({}); + const [facetsBySpec, setFacetsBySpec] = useState< + Record> + >({}); const [entityOptionsBySpec, setEntityOptionsBySpec] = useState({}); // Trailing place_options events, spec_id- and scope-keyed: prefetched // observationAbout peers/children candidates so PlaceEditor can open @@ -1402,42 +1387,14 @@ export const useSearchRun = () => { return; } - const touched: number[] = []; - - for (const part of parts) { - if (part.part?.status !== 'definite' || !part.hydratedSpec) continue; - const spec = part.hydratedSpec; - - if (edit.axis === 'entity') { - if (entityOptionsEntry(spec, entityOptionsBySpec, edit.role)) { - touched.push(part.index); - } - continue; - } - if (spec.slots.some((slot) => slot.key.axis === edit.axis)) - touched.push(part.index); - } + const touched = sharedEditTouched(parts, edit, entityOptionsBySpec); if (touched.length === 0) return; - const rewriteIdentity = (identity: BaseIdentity, part: HydratedPart): BaseIdentity => { - if (!touched.includes(part.index) || !part.hydratedSpec) return identity; - const spec = part.hydratedSpec; - - if (edit.axis === 'entity') { - return withEntityEdit(identity, edit.role, [edit.dcid]); - } - if (edit.axis === 'when') { - return { ...identity, requested_window: edit.window }; - } - const slotIndex = spec.slots.findIndex((slot) => slot.key.axis === edit.axis); - return withResolvedSlotEdit( - spec, - slotIndex, - edit.binding, - edit.axis === 'where' ? edit.entityRole : 'observationAbout', - ); - }; + const rewriteIdentity = (identity: BaseIdentity, part: HydratedPart): BaseIdentity => + touched.includes(part.index) && part.hydratedSpec + ? withSharedEdit(identity, part.hydratedSpec, edit) + : identity; runDatasetEdit({ rewriteIdentity }, touched, 'shared'); }, diff --git a/src/lib/search/definitionMembers.ts b/src/lib/search/definitionMembers.ts index 64846c3..35392a7 100644 --- a/src/lib/search/definitionMembers.ts +++ b/src/lib/search/definitionMembers.ts @@ -15,6 +15,7 @@ */ import { fetchDefinitionMembers } from './searchClient.ts'; +import type { Spec } from './types.ts'; /** A served StatVar as the panels read it: its bare dcid and label. */ export type MemberRef = { dcid: string; label: string | null }; @@ -22,11 +23,10 @@ export type MemberRef = { dcid: string; label: string | null }; export type MembersRead = { ok: true; members: MemberRef[] } | { ok: false }; /** The part of a page Spec the reader keys on and sends. */ -export type MemberSpec = { - spec_id: string; - definition?: unknown; - shape?: { member_digest?: string | null } | null; -}; +export type MemberSpec = Pick & + Partial> & { + shape?: Partial> | null; + }; type FetchMembers = typeof fetchDefinitionMembers; diff --git a/src/lib/search/frozenObservations.ts b/src/lib/search/frozenObservations.ts index 50ccb09..358d010 100644 --- a/src/lib/search/frozenObservations.ts +++ b/src/lib/search/frozenObservations.ts @@ -13,6 +13,8 @@ * Pure, so `node --test` imports it directly. */ +import type { Part, Spec } from './types.ts'; + /** The ref spec_id a replayed definite part was bound to, with the spec_id the * replay returned for it. `refSpecId` is null when the response does not carry * one part per ref, so no ref owns the part. Null for a part that is not @@ -20,7 +22,7 @@ export type SnapshotBinding = { replayedSpecId: string; refSpecId: string | null } | null; /** The slice of a replayed part this module reads; a `Resolution` part fits. */ -type ReplayedPart = { status: string; spec?: { spec_id: string } }; +type ReplayedPart = Pick & { spec?: Pick }; /** Binds each definite replayed part to its share ref by position. When the * response does not carry one part per ref, position proves nothing: every diff --git a/src/lib/search/measureMenu.ts b/src/lib/search/measureMenu.ts index 667f1d1..f65c5a8 100644 --- a/src/lib/search/measureMenu.ts +++ b/src/lib/search/measureMenu.ts @@ -12,7 +12,6 @@ import type { DatasetIdentityEntry, GraphRef, MeasureAxisValue, - OpenConstraintAxisFact, RelatedMeasure, Slot, Spec, @@ -27,12 +26,10 @@ import { export { openAxisFactLabel }; -export type MeasureMenuSpec = { - spec_id: string; - slots: Slot[]; - alternative_measures?: SpecAlternativeMeasure[] | null; - open_axis_facts?: OpenConstraintAxisFact[] | null; -}; +export type MeasureMenuSpec = Pick< + Spec, + 'spec_id' | 'slots' | 'alternative_measures' | 'open_axis_facts' | 'download' +>; /** One group of the measure menu: a slot the measure token states, with * its options. */ diff --git a/src/lib/search/searchClient.ts b/src/lib/search/searchClient.ts index b238ab5..f582b2f 100644 --- a/src/lib/search/searchClient.ts +++ b/src/lib/search/searchClient.ts @@ -19,16 +19,19 @@ import type { ArtifactEntryModel, CoverageDimension, + DatasetResubmitInput, EnrichmentOptionModel, FormatOptionModel, Manifest, MembersEnvelope, + MintOptions, MintRequest, OptionsEnvelope, OptionsRequest, OutputOptionsModel, ProblemDetails, ProblemIssue, + RawTextInput, ServedMember, SlotKey, SlotOption, @@ -48,14 +51,16 @@ import { import { type Assumption, type Coverage, - type DatasetResubmitEntry, type EntityGroup, type EntityRoleKey, + type FacetOptionsEntry, type Frame, isKnownPart, + type Known, type LateDepartures, type Operation, type Part, + type PartSpec, type PlaceOptionsScope, type Resolution, type ResolveResponse, @@ -139,16 +144,14 @@ export type SearchEvent = options: SlotOption[]; truncated: boolean; } - | { + | ({ /** Coverage-derived facet values (unit / measurementMethod / * provenance), streamed AFTER the response event — the response's * own facet_options array arrives empty on SSE. */ kind: 'facet_options'; spec_id: string; - axis: string; - options: SlotOption[]; truncated?: boolean; - } + } & Omit) | { kind: 'entity_options'; spec_id: string; @@ -224,15 +227,9 @@ export function keyRef(key: SlotKey): string { return `${key.axis}:${key.property?.ref ?? ''}`; } -export type SearchInput = - | { kind: 'raw_text'; query: string } - | { - kind: 'dataset_resubmit'; - /** 1 to 6, in response part order; see types.ts's DatasetResubmitEntry */ - entries: DatasetResubmitEntry[]; - /** echo-only; the engine must not re-parse it */ - raw_query?: string; - }; +/** A resolve request's input: a question in words, or 1 to 6 entries posted back in response + * part order. */ +export type SearchInput = RawTextInput | DatasetResubmitInput; export function buildRequest(input: SearchInput, includeCoverage: boolean) { return { @@ -297,10 +294,10 @@ function validateResolvedStatVars(value: unknown): StatVarsValidation { return { valid: true }; } -/** Flatten one wire Spec to the page's Spec. */ -export function flattenSpec(spec: WireSpec): Spec; -export function flattenSpec(spec: WireSpec | null | undefined): Spec | null; -export function flattenSpec(spec: WireSpec | null | undefined): Spec | null { +/** Flatten one wire Spec to the page's Spec, or flag it unreadable. */ +export function flattenSpec(spec: WireSpec): PartSpec; +export function flattenSpec(spec: WireSpec | null | undefined): PartSpec | null; +export function flattenSpec(spec: WireSpec | null | undefined): PartSpec | null { if (!spec) return null; if (!spec.resolved) { @@ -316,10 +313,8 @@ export function flattenSpec(spec: WireSpec | null | undefined): Spec | null { spec, ); // The body broke the contract the type states, so it holds none of - // the resolved members. SearchCards, ReadingCards and the Studio - // handoff check statVarsUnreadable first; every other reader reads - // each member optionally. - return { ...spec, stat_vars_unreadable: true } as unknown as Spec; + // the resolved members. + return { ...spec, stat_vars_unreadable: true }; } const { spec_id, definition, resolved } = spec; @@ -353,7 +348,8 @@ export function flattenSpec(spec: WireSpec | null | undefined): Spec | null { `{member_count, member_count_exact, served_count, data_date_range} shape (ResolvedStatVars) — ${validation.reason} — got`, resolved.stat_vars, ); - flat.stat_vars_unreadable = true; + + return { ...flat, stat_vars_unreadable: true }; } } @@ -364,12 +360,13 @@ export function flattenSpec(spec: WireSpec | null | undefined): Spec | null { * spec that carried the definition/resolved split. `identity` and * `resolution` are the two members `flattenSpec` adds; every other member * came from `resolved`, `trace` included. */ -export function unflattenSpec(spec: any): { +export function unflattenSpec(spec: Spec): { spec_id: string; definition: any; resolved: Record; } { - const { spec_id, definition, ...resolved } = spec; + const { spec_id, definition, ...flat } = spec; + const resolved: Record = flat; delete resolved.identity; delete resolved.resolution; @@ -729,7 +726,7 @@ export type EntityOptionsRequest = { // entity_options call names 'origin'/'destination' explicitly; an // omitted role takes the door's own 'observationAbout' default below. role?: EntityRoleKey; - scope: 'peers' | 'children'; + scope: PlaceOptionsScope; }; export type EntityOption = { dcid: string; label: string; coverage?: Coverage | null }; @@ -785,7 +782,7 @@ export async function entityOptions( // sidecar). // --------------------------------------------------------------------------- -export type DatasetFormat = 'csv' | 'xlsx' | 'parquet'; +export type DatasetFormat = Exclude, undefined>; // The three formats the Datasets API and a Studio card's export route render, // in the order the download sheet offers them. Which of them a given dataset @@ -862,19 +859,6 @@ export async function mintDataset( return { artifacts: manifest?.artifacts ?? [], manifest }; } -/** The Datasets API's capability document (GET /api/datasets/capabilities): - * deployment-mutable switches — which formats are live, and which - * enrichment columns (ISO codes etc.) the reshape step can populate. */ -export async function fetchDatasetCapabilities(signal?: AbortSignal): Promise { - try { - const res = await datasetsFetch(`${SEARCH_BASE}/api/datasets/capabilities`, { signal }); - - return res.ok ? await res.json() : null; - } catch { - return null; - } -} - /** One country's search catalogue (GET /api/search/catalogue?place=): its * counts, and the examples with data there, filled with it. Null when the * API counts no such country or the read fails. A place-scoped starting diff --git a/src/lib/search/searchEvents.ts b/src/lib/search/searchEvents.ts index 27f3438..39396e2 100644 --- a/src/lib/search/searchEvents.ts +++ b/src/lib/search/searchEvents.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- reads the flat page Spec, typed shallowly like the rest of the engine-contract layer */ /** * The props of the search usage events (docs/analytics.md): `search.query`, * `search.empty`, `search.edit` and `search.studio_handoff` all describe one @@ -27,6 +26,7 @@ import { fitsProps } from '../events/limits.ts'; import { type DeclinedReason, + hasDefiniteSpec, type HydratedPart, type IdentityBinding, knownPart, @@ -36,6 +36,7 @@ import { type Spec, type SpecIdentity, } from './types.ts'; +import { statVarsUnreadable } from './view.ts'; /** How many entity terms a refused part keeps. */ export const EVENT_SAMPLE = 3; @@ -228,9 +229,7 @@ export function searchEventProps({ const operations = [ ...new Set(parts.flatMap((part) => (part.part?.operations ?? []).map((op) => op.verb))), ]; - const definite = parts - .filter((part) => part.part?.status === 'definite' && part.hydratedSpec) - .map((part) => part.hydratedSpec as any); + const definite = parts.filter(hasDefiniteSpec).map((part) => part.hydratedSpec); const resolve = (rung: Rung) => definite.map((spec) => { const sources: string[] = (spec.resolution?.resolved_sources ?? []).map( @@ -240,8 +239,11 @@ export function searchEventProps({ const asked = askedFor(spec.identity, spec.entity_groups); const counts = { specId: spec.spec_id, - // The served members once settled, else the family's count. - statVarCount: spec.stat_vars?.served_count ?? spec.stat_vars?.member_count ?? 0, + // The served members once settled, else the family's count; + // none for a spec the site could not read. + statVarCount: statVarsUnreadable(spec) + ? 0 + : (spec.stat_vars?.served_count ?? spec.stat_vars?.member_count ?? 0), entityCount: spec.resolution?.resolved_entities?.length ?? 0, sourceCount: sources.length, }; diff --git a/src/lib/search/searchShareRequest.ts b/src/lib/search/searchShareRequest.ts index 0d6730a..7b2c38c 100644 --- a/src/lib/search/searchShareRequest.ts +++ b/src/lib/search/searchShareRequest.ts @@ -2,10 +2,10 @@ import { type Assumption, type AssumptionKind, + type DefiniteHydratedPart, type EntityGroup, type EntityRoleKey, hasKey, - type HydratedPart, knownPart, type Operation, } from './types.ts'; @@ -153,8 +153,8 @@ export const isSearchSharePart = (value: any): value is SearchSharePart => /** The share part a definite part on screen posts: its Spec's identity, with * the Spec's groups beside it, and the part's operations and assumptions. */ -export const searchSharePart = (part: HydratedPart): Required => { - const spec = part.hydratedSpec as any; +export const searchSharePart = (part: DefiniteHydratedPart): Required => { + const spec = part.hydratedSpec; return { partIndex: part.index, diff --git a/src/lib/search/sharedEdit.ts b/src/lib/search/sharedEdit.ts new file mode 100644 index 0000000..117b652 --- /dev/null +++ b/src/lib/search/sharedEdit.ts @@ -0,0 +1,80 @@ +/** + * A hoisted qualifier's edit, fanned out to every definite part that carries the axis: which + * parts it touches, and how it rewrites each touched part's identity. `useSearchRun.editShared` + * posts the result as one `dataset_resubmit`. + * + * Pure, so `node --test` imports it directly. + */ + +import { withEntityEdit, withResolvedSlotEdit } from './promote.ts'; +import type { + BaseIdentity, + EntityRoleKey, + HydratedPart, + IdentityFacetBinding, + IdentityUnitRequest, + PartSpec, + RoleAxis, + Slot, +} from './types.ts'; +import { entityOptionsEntry, type EntityOptionsBySpec } from './view.ts'; +import type { WindowApplyValue } from './windowState.ts'; + +/** A hoisted where/when/source/origin/unit/method qualifier's edit, fanned + * out to every definite part by `editShared`: one axis, applied everywhere + * it hoisted. A unit request applies to every part that converts + * (`sharedUnitEdit`); a method binding to every part that binds a method, + * the parts a stated method token speaks for. */ +export type SharedEdit = + | { axis: 'where'; binding: Slot['binding']; entityRole: EntityRoleKey } + | { axis: 'source'; binding: Slot['binding'] } + | { axis: 'when'; window: WindowApplyValue } + | { axis: 'entity'; role: RoleAxis; dcid: string } + | { axis: 'unit'; request: IdentityUnitRequest } + | { axis: 'method'; binding: IdentityFacetBinding['measurementMethod'] | null }; + +/** A shared edit that rewrites a slot or an entity role. */ +export type SlotSharedEdit = Extract; + +/** The indexes of the definite parts `edit` touches. `origin` (the provider) is not a slot: it + * lives on the spec's entities, so an entity edit touches every part with entity options for + * its role. Any other edit touches every part with a slot on its axis; a spec flagged + * unreadable that carries no slots has none to edit. */ +export function sharedEditTouched( + parts: readonly HydratedPart[], + edit: SlotSharedEdit, + entityOptionsBySpec: EntityOptionsBySpec, +): number[] { + return parts.flatMap((part) => { + const spec = part.hydratedSpec; + + if (part.part?.status !== 'definite' || !spec) return []; + if (edit.axis === 'entity') { + return entityOptionsEntry(spec, entityOptionsBySpec, edit.role) ? [part.index] : []; + } + return spec.slots?.some((slot) => slot.key.axis === edit.axis) ? [part.index] : []; + }); +} + +/** `identity` with `edit` applied, for a part `sharedEditTouched` returned. */ +export function withSharedEdit( + identity: BaseIdentity, + spec: PartSpec, + edit: SlotSharedEdit, +): BaseIdentity { + if (edit.axis === 'entity') { + return withEntityEdit(identity, edit.role, [edit.dcid]); + } + if (edit.axis === 'when') { + return { ...identity, requested_window: edit.window }; + } + + const slots = spec.slots ?? []; + + return withResolvedSlotEdit( + { identity: spec.identity ?? null, slots }, + slots.findIndex((slot) => slot.key.axis === edit.axis), + edit.binding, + edit.axis === 'where' ? edit.entityRole : 'observationAbout', + ); +} diff --git a/src/lib/search/studioHandoff.ts b/src/lib/search/studioHandoff.ts index 049d00b..3605d70 100644 --- a/src/lib/search/studioHandoff.ts +++ b/src/lib/search/studioHandoff.ts @@ -10,6 +10,7 @@ import type { Seed, SeedOperation } from '../studio/wire.ts'; import { unflattenSpec } from './searchClient.ts'; import { type HydratedPart, knownPart, type Operation } from './types.ts'; +import { statVarsUnreadable } from './view.ts'; /** Whether the answer on screen may differ from the query's own reading: a * part was edited, or the answer was opened from a share link, which stores @@ -55,12 +56,12 @@ export function handoffSeeds(parts: HydratedPart[]): Seed[] { continue; } - const block = unflattenSpec(part.spec); - - if (!block.definition || block.resolved.stat_vars_unreadable) { + if (statVarsUnreadable(part.spec) || !part.spec.definition) { continue; } + const block = unflattenSpec(part.spec); + const seed: Seed = seeds.get(block.spec_id) ?? { spec: block, operations: [] }; const known = new Set(seed.operations.map(operationKey)); diff --git a/src/lib/search/test/datasetEntries.test.ts b/src/lib/search/test/datasetEntries.test.ts index 85ed4e2..71f4792 100644 --- a/src/lib/search/test/datasetEntries.test.ts +++ b/src/lib/search/test/datasetEntries.test.ts @@ -15,7 +15,7 @@ import { type Resolution, type Spec, } from '../types.ts'; -import { resolution } from './fixtures/resolution.ts'; +import { readable, resolution } from './fixtures/resolution.ts'; import { fixtures, type FixtureName } from './fixtures/index.ts'; /** The fixture's normalized parts as a settled run holds them. */ @@ -46,7 +46,7 @@ function candidateSpecs(part: HydratedPart): Spec[] { const known = knownPart(part.part); assert.ok(known?.status === 'candidates'); - return known.candidates.specs; + return known.candidates.specs.map(readable); } /** A `parsed` entry for `part`: its restatement with `dcid` pinned on the diff --git a/src/lib/search/test/definitionMembers.test.ts b/src/lib/search/test/definitionMembers.test.ts index 5569b96..2dc73fa 100644 --- a/src/lib/search/test/definitionMembers.test.ts +++ b/src/lib/search/test/definitionMembers.test.ts @@ -22,7 +22,7 @@ test('definitionMembersReader reads each spec once and hands back bare dcids', a calls += 1; return envelope; }); - const spec = { spec_id: 'spec_1', definition: {}, shape: { member_digest: 'sha256:ab' } }; + const spec = { spec_id: 'spec_1', definition: null, shape: { member_digest: 'sha256:ab' } }; assert.deepEqual(await read(spec), { ok: true, diff --git a/src/lib/search/test/fixtures.test.ts b/src/lib/search/test/fixtures.test.ts index 802c6e2..ab5b4fe 100644 --- a/src/lib/search/test/fixtures.test.ts +++ b/src/lib/search/test/fixtures.test.ts @@ -4,7 +4,7 @@ import test from 'node:test'; import { flattenSpec, normalizeResponse, unflattenSpec } from '../searchClient.ts'; import { primaryStatVarLabel, statVarsUnreadable } from '../view.ts'; import { fixtureNames, fixtures, specFixtureNames } from './fixtures/index.ts'; -import { definite, noData, resolution } from './fixtures/resolution.ts'; +import { definite, noData, readable, resolution } from './fixtures/resolution.ts'; import { knownPart, type Spec } from '../types.ts'; /** @@ -150,7 +150,7 @@ for (const name of specFixtureNames) { test(`${name}: unflattenSpec gives back the wire spec flattenSpec was given`, () => { for (const spec of rawSpecsIn(body)) { - assert.deepEqual(unflattenSpec(flattenSpec(spec)), spec); + assert.deepEqual(unflattenSpec(readable(flattenSpec(spec))), spec); } }); } diff --git a/src/lib/search/test/fixtures/resolution.ts b/src/lib/search/test/fixtures/resolution.ts index 7d034e8..bb92456 100644 --- a/src/lib/search/test/fixtures/resolution.ts +++ b/src/lib/search/test/fixtures/resolution.ts @@ -1,5 +1,6 @@ import { normalizeResponse } from '../../searchClient.ts'; -import { knownPart, type Part, type Resolution } from '../../types.ts'; +import { knownPart, type Part, type PartSpec, type Resolution, type Spec } from '../../types.ts'; +import { statVarsUnreadable } from '../../view.ts'; /** A resolve body normalised as the page reads it. Throws when the body is a * catalogue or declined answer, so a test that expects a resolution fails @@ -39,3 +40,9 @@ export function noData(part: Part | null | undefined) { if (known?.status !== 'no_data') throw statusError('no_data', part); return known; } + +/** `spec` as a Spec the client read; throws for one `flattenSpec` flagged unreadable. */ +export function readable(spec: PartSpec): Spec { + if (statVarsUnreadable(spec)) throw new Error(`expected a readable spec, got ${spec.spec_id}`); + return spec; +} diff --git a/src/lib/search/test/searchClient.test.ts b/src/lib/search/test/searchClient.test.ts index 378345e..5d41aa5 100644 --- a/src/lib/search/test/searchClient.test.ts +++ b/src/lib/search/test/searchClient.test.ts @@ -22,7 +22,7 @@ import { import type { SlotOption, Spec as WireSpec } from '@developmentfinance/client/wire'; import type { Part, SpecIdentity, Warning } from '../types.ts'; -import { definite, resolution } from './fixtures/resolution.ts'; +import { definite, readable, resolution } from './fixtures/resolution.ts'; import { fixtures } from './fixtures/index.ts'; import { currentEntityDcid, @@ -70,11 +70,10 @@ function wireSpec(statVars: unknown): WireSpec { } test('flattenSpec reads a well-formed stat_vars, with the counts as the wire sends them', () => { - const flat = flattenSpec( - wireSpec({ member_count: 42, member_count_exact: true, served_count: 3 }), + const flat = readable( + flattenSpec(wireSpec({ member_count: 42, member_count_exact: true, served_count: 3 })), ); - assert.equal(statVarsUnreadable(flat), false); assert.equal(flat.stat_vars.member_count, 42); assert.equal(flat.stat_vars.served_count, 3); assert.equal( diff --git a/src/lib/search/test/sharedEdit.test.ts b/src/lib/search/test/sharedEdit.test.ts new file mode 100644 index 0000000..11d25fb --- /dev/null +++ b/src/lib/search/test/sharedEdit.test.ts @@ -0,0 +1,69 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; + +import { type SlotSharedEdit, sharedEditTouched, withSharedEdit } from '../sharedEdit.ts'; +import type { HydratedPart, PartSpec, Spec } from '../types.ts'; +import { definite, readable, resolution } from './fixtures/resolution.ts'; +import { fixtures } from './fixtures/index.ts'; + +/** The definite-single part, settled, holding `spec` in place of its own. */ +function partHolding(spec: (read: Spec) => PartSpec): HydratedPart { + const part = definite(resolution(fixtures['definite-single']).parts[0]); + const held = spec(readable(part.spec)); + + return { + index: 0, + variableText: part.variable_text ?? null, + part: { ...part, spec: held }, + hydratedSpec: held, + observationsPending: false, + phase: 'done', + editError: null, + }; +} + +const toGhana: SlotSharedEdit = { + axis: 'where', + binding: { + kind: 'value', + value: { value_kind: 'entity', ref: { ref: 'country/GHA', label: 'Ghana' } }, + }, + entityRole: 'observationAbout', +}; + +// A spec flagged unreadable still takes the edit when it carries the slots and identity the edit +// reads; one carrying neither has nothing to edit. +for (const [name, spec, touched] of [ + ['a readable spec', (read: Spec): PartSpec => read, true], + [ + 'an unreadable spec with its slots', + (read: Spec): PartSpec => ({ ...read, stat_vars_unreadable: true }), + true, + ], + [ + 'an unreadable spec without its slots', + (read: Spec): PartSpec => ({ + spec_id: read.spec_id, + definition: read.definition, + stat_vars_unreadable: true, + }), + false, + ], +] as const) { + test(`a shared where edit ${touched ? 'rewrites' : 'skips'} ${name}`, () => { + const part = partHolding(spec); + + assert.deepEqual(sharedEditTouched([part], toGhana, {}), touched ? [0] : []); + + if (touched) { + const { identity } = readable( + definite(resolution(fixtures['definite-single']).parts[0]).spec, + ); + + assert.ok(identity && part.hydratedSpec); + assert.deepEqual(withSharedEdit(identity, part.hydratedSpec, toGhana).entities, { + observationAbout: ['country/GHA'], + }); + } + }); +} diff --git a/src/lib/search/test/studioHandoff.test.ts b/src/lib/search/test/studioHandoff.test.ts index 2d30f24..0a19737 100644 --- a/src/lib/search/test/studioHandoff.test.ts +++ b/src/lib/search/test/studioHandoff.test.ts @@ -17,9 +17,11 @@ import { knownPart, type Operation, type Part, + type PartSpec, type SentenceToken, + type Spec, } from '../types.ts'; -import { resolution } from './fixtures/resolution.ts'; +import { readable, resolution } from './fixtures/resolution.ts'; import { fixtures, type FixtureName } from './fixtures/index.ts'; /** The fixture's normalized parts as a settled run holds them. */ @@ -114,26 +116,35 @@ test('handoffSeeds gives a folded part one seed with the operations of both', () ); }); -test('handoffSeeds skips a spec with no definition, which Studio would refuse', () => { - const [part] = hydratedParts('definite-single'); - const definite = knownPart(part.part); - - assert.ok(definite?.status === 'definite'); - - const bare: HydratedPart = { - ...part, - part: { ...definite, spec: { ...definite.spec, definition: null } }, - }; +for (const [name, spec] of [ + ['with no definition', (read: Spec): PartSpec => ({ ...read, definition: null })], + [ + 'the site could not read', + (read: Spec): PartSpec => ({ ...read, stat_vars_unreadable: true }), + ], +] as const) { + test(`handoffSeeds skips a spec ${name}, which Studio would refuse`, () => { + const [part] = hydratedParts('definite-single'); + const definite = knownPart(part.part); + + assert.ok(definite?.status === 'definite'); + + const left: HydratedPart = { + ...part, + part: { ...definite, spec: spec(readable(definite.spec)) }, + }; - assert.deepEqual(handoffSeeds([bare]), []); -}); + assert.equal(handoffSeeds([part]).length, 1); + assert.deepEqual(handoffSeeds([left]), []); + }); +} test('unflattenSpec keeps the trace flattenSpec also reads as `resolution`', () => { const wire = structuredClone(wireSpecOf('definite-single')); wire.resolved.trace = { resolved_entities: [{ ref: 'country/KEN' }] }; - assert.deepEqual(unflattenSpec(flattenSpec(wire)), wire); + assert.deepEqual(unflattenSpec(readable(flattenSpec(wire))), wire); }); test('studioHref carries the question, and the token when there is one', () => { diff --git a/src/lib/search/test/view.test.ts b/src/lib/search/test/view.test.ts index cf32667..07e8fcf 100644 --- a/src/lib/search/test/view.test.ts +++ b/src/lib/search/test/view.test.ts @@ -3,7 +3,7 @@ import test from 'node:test'; import { keyRef } from '../searchClient.ts'; import { tokenPart } from '../sentencePlan.ts'; -import { definite, noData, resolution } from './fixtures/resolution.ts'; +import { definite, noData, readable, resolution } from './fixtures/resolution.ts'; import { fixtures } from './fixtures/index.ts'; import { noDataResponse, wireSpec } from './fixtures/no-data.ts'; import { servedAnswer } from './fixtures/served-answer.ts'; @@ -1084,7 +1084,7 @@ function kenyaFixtureSpec() { }, ]; - return definite(resolution(body).parts[0]).spec; + return readable(definite(resolution(body).parts[0]).spec); } const kenyaWhereToken: SentenceToken = { diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index eaf94c0..0c1090b 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -173,24 +173,38 @@ export type DatasetResubmitEntry = wire.DatasetResubmitInput['entries'][number]; * Datasets API mints unregistered specs from it). Specs nested in `equivalent_readings` stay in * the wire form. */ -export type Spec = wire.ResolvedSpec & { +export type Spec = Omit & { spec_id: string; resolution: wire.ResolutionTrace; identity: SpecIdentity | null; definition: wire.SpecDefinition | null; - /** set by `flattenSpec` when `stat_vars` is not the wire's shape, so the page shows a failure - * state */ - stat_vars_unreadable?: true; + facet_options?: FacetOptionsEntry[]; }; +/** One facet axis's options as the page holds them. The stream's `facet_options` event sends no + * `source`. */ +export type FacetOptionsEntry = Omit; + +/** + * A wire Spec `flattenSpec` could not read: its `stat_vars` is not the wire's shape, or it lacks + * the definition/resolved split. It carries its `spec_id` and whichever page Spec members the body + * held, so the page shows a failure state in its place. + */ +export type UnreadableSpec = Pick & + Partial> & { stat_vars_unreadable: true }; + +/** A Spec as a part holds it: read, or flagged unreadable. `view.statVarsUnreadable` tells them + * apart. */ +export type PartSpec = Spec | UnreadableSpec; + /** A set of competing Specs, each flattened. */ -type CandidateSet = Omit & { specs: Spec[] }; +type CandidateSet = Omit & { specs: PartSpec[] }; /** A no_data outcome with its nearest, flagged and alternate Specs flattened. */ export type NoData = Omit & { - nearest_real?: Spec[] | null; - flagged_match?: Spec | null; - alternate_match?: Spec | null; + nearest_real?: PartSpec[] | null; + flagged_match?: PartSpec | null; + alternate_match?: PartSpec | null; }; /** The members `searchClient.flattenPart` defaults when the wire omits them. */ @@ -205,7 +219,7 @@ type PagePart = Omit; +type DefinitePart = PagePart; export type CandidatesPart = PagePart; export type NoDataPart = PagePart; type UnsupportedPart = PagePart; @@ -392,7 +406,7 @@ export interface HydratedPart { part: Part | null; /** `part.spec` with its trailing observations/facet_options merged in; * populated only when `part.status === 'definite'`. */ - hydratedSpec: Spec | null; + hydratedSpec: PartSpec | null; /** True while this part's hydrated spec exists, its `observations` is * still null, and one of the run's streams is open (the base run is * loading, or an edit post is in flight): "the observations have not @@ -408,6 +422,14 @@ export interface HydratedPart { editError: string | null; } +/** A definite part whose spec has landed. */ +export type DefiniteHydratedPart = HydratedPart & { hydratedSpec: PartSpec }; + +/** True for a definite part whose spec has landed. */ +export function hasDefiniteSpec(part: HydratedPart): part is DefiniteHydratedPart { + return part.part?.status === 'definite' && part.hydratedSpec != null; +} + /** The named skeleton list a run seeds from the `interpretation` event, * before any part has its own content, sized to `expected_results`, in * query order. Reset (and re-derived from the confirmed `parts`) once the diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index 23a6cc3..344bdfa 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -34,6 +34,7 @@ import { type ObservationsOmissionReason, type ParsedPart, type Part, + type PartSpec, type PartyKind, type PlaceOptionsScope, type RoleAxis, @@ -42,6 +43,7 @@ import { type SlotOption, type Spec, type UnitAlternative, + type UnreadableSpec, type Warning, } from './types.ts'; import { keyRef, sentenceOf } from './searchClient.ts'; @@ -51,11 +53,14 @@ import { unitWithBasis } from './unitLabel.ts'; export const optionLabel = (option: OptionLike | null | undefined): string => option?.value?.ref?.label ?? option?.label ?? '—'; -/** True when searchClient.flattenSpec couldn't read this spec's `stat_vars` - * as the wire's ResolvedStatVars object shape — it already logged the raw - * value to the console at parse time. A card reading this spec's variable - * label should show an explicit failure state rather than an empty one. */ -export const statVarsUnreadable = (spec: any): boolean => !!spec?.stat_vars_unreadable; +/** True when searchClient.flattenSpec couldn't read this spec — its `stat_vars` + * is not the wire's ResolvedStatVars object shape, or it lacks the + * definition/resolved split — and already logged the raw value to the + * console at parse time. A card reading this spec's variable label should + * show an explicit failure state rather than an empty one. */ +export function statVarsUnreadable(spec: PartSpec | null | undefined): spec is UnreadableSpec { + return !!spec && 'stat_vars_unreadable' in spec; +} /** The resolved spec's measure, named for a card whose part carries no * variable_text: its measure label, else its shape's label. Null when From 1e4d734557bdad71d400a52119c8c15413c1cce8 Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 15:44:38 +0200 Subject: [PATCH 20/24] build: vendor the client package built from the sdk at 7893fc2 The package resolves its key when the client is built, carries each response's trace id, follows the download rules in a browser and refuses a secret key in a worker. pnpm-lock.yaml pins the new tarball's integrity. --- pnpm-lock.yaml | 2 +- vendor/developmentfinance-client-0.1.0.tgz | Bin 260138 -> 270466 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d807ba2..80183f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -855,7 +855,7 @@ packages: postcss-selector-parser: ^7.1.1 '@developmentfinance/client@file:vendor/developmentfinance-client-0.1.0.tgz': - resolution: {integrity: sha512-a45T55vuyb+TdkikNwa9aH504xg3037wgG7FZI0VHfYXtvHmgHE7SB8AuaFHakxifAPJHcaqQ3zcHD/QKA8w0Q==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} + resolution: {integrity: sha512-dRJ+PR6BuyEJiepYWKamicPq6pX1rbCwgkJcNvxo3Z5XZiNBSQ9oqACwwTdmXldYBa6mDSGAK6RzYmJFwfTH9g==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} version: 0.1.0 engines: {node: '>=22.18'} peerDependencies: diff --git a/vendor/developmentfinance-client-0.1.0.tgz b/vendor/developmentfinance-client-0.1.0.tgz index 8ec4ad56c84cfe408b9c5464f38887b12e5c5cfe..a1dcec59f0981b21a7604b45df357530df2d0e5b 100644 GIT binary patch literal 270466 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

Rfr?TML(5ei~@nRU=sSg&7U7O|G2`neA#}5 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

flP!Xo0}YUAuN33&rh1LI2% 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 ~~;U0-Nr>KzhK7jjSt1Tf=GGvh~i z?<@izA9SPuV!`A#I=!Jz-eanvFj!g ztAG3DX2`CpcSlIvM|URMv^cU_H|#rc7B(jqfBuKrt~=>%OMV-cy_F;ct2ID$Z>_ks zYHhh^>U!bQ86x`(*@utSWY1FlblXf_Pw9S-mu)C|^RksSVA;(mh_|d2ToqTHy+|^DW zRCyqikcjVAp%5*#p4P-+!_dGG$~BuDO}+8lS=j61*8JYX?h-zKh+;0pG}EE5|8*wv zwy9-9gC6zPWmn{;5evVJ9!F38l43IhL!p>z!T4d%VDUgUMAT-qFGllrMLin5RiaN$ zN>6oz-CvC~%jIIrQQkl2U$20N4_*bPoeD-96Th zi4~dE$x7WDbA6+;kFVTASA0ghI6@?8{qbe`xGowX*4?5>;DzXh@FmP!HZhG#+^d4Y zU?`e6eYG<`t;pADw3D|Hj=q29`zdqqQMa4krsDc*mq{pq)=sbw$;s-bI1@YT>;p>5 z`Rk0o&i+!&SMGz?Z3Q!Ca?9?^UB zKb##|iYoO#B$G*NCphIv087{Jhx^^>*4mNUBo6_9a8>8}iJugZP}HpF8Yk*hi2fXW z3w%;D9@S5;(6@p=EVc!aY=a@4Y4yC?7a8#c^Dj{E1juKve};MLT7l`kFE(kj zRen$C&$7ew7cWMe=dVpC?j`j~t~jWM-*1-(wxQ-*;U$Wz@jJR}Hl9 z3VTTk9Om=*&G|g;$Qb?H9)BFAT&^;KAkQ~)dX@?dM3>mjqeqEZhBjRo4mM??v(fz5|s;GCuW55{}d=yg!}E z#inn2q6&o#8{>Kf>Bab{F|RaT(EjLZZ8Eyt)$cA%WS3~ z=aj#*cQ2p6zI-`<{`Iq~tCv>;YAaq`atue*AzbbXLTJe)bLkZ3W?D_xT1xUtX5{aH zkAgVP_l6ILyXL8uWe^}jcs#dxzYy3)U7By%rSYrza^v>S9hLz`>p*^Lc$(G*Yli9z z>P#=mJ`l|m$gjMO1rj^IA&@6{hrd(&83y{kpMQrozfb(mkw2H3*EvHd>k*=a$Oibg zn>#{V<6k~EW+$k|?t7;pAuUutc{mSBc1;mYzAlJ+DgqI10oOxOA-|tTUskwe{Q(+w zl=1*Q95FmBAMvX+r6T1tNVWy?^`k~PKi;^=_XABLxd8XXU0PNqCd{!=Bpg_?Ow5h4 zS?LrH%uug6>vOfz3__R|1uZFGM+2aS+icIeSNK(ynbRSGP7rUFIHhJ(GFtR1{XIwV zykVu0d2oe{p8h=@LB6O#PT9GN>*cHz%;=tH{EXJ?YH2W!`v#yJisx#El@I@GLlIy| znJJ*+4knyiH@D%>-0HOMNLYgKRv}eGbC$lhU^x=C^kb9KMxa0wc=S}kBPy@!Mz%)8 zuYkXtUO4gdvDj-TrX0`NI(5x<93kE$xpHo3}HJ-|UYb9O) z50@`)<%^FOgc1*@>pp{um>f2Y)Z^saDHSNp%r`VAI}sZin5o7KVw{9_!5f|5v|KK(t!1V-kn1%G147OI@QAxzqc8kt zuo>|5B-{b02hCnWqT^mTa zFU_={diSRk%^$W#^5A3w`9LG4+~u8AZk>FQ{MJ2R?3pKdYDvgA7KeUXS?$9deHdDt zn!%|R)hk-P2@noTMHTjj+qU7ST!N9bLnMvzs6D#>DqG?>wf_02h)29=zX36r9fK0yOk=b zZ10sliL%%PCMRKPm;vVD;PBC{L<~I8$jbd6fFi=xis86ti#X%(CcBr25 z@hqm%TEGedX=YEKDmbg)IPNq~hx?se8LqoJ#nJE5$2t2r_lEn`i*Np4Z^loF`$%-I zepMiD%YE(hW>r5sC_&;*CU@!j#)?p)X*c_#-m~$;(B6z5$}@cZoAlH0_DJ!l-+>Zw z{V2AT`|Fu@|L=0kpx^WR^i$`Cfq^IL6EREEP4MumQ$?$mzWn0L3r4M(qCF+Ag;g2V zB?kY4ex49BkY0M#NV*+97Ima|$)h11vu~rt{=vJpvKwsQR{M340O8a}0pWgJv&yhV z!omdTnzQ!)cFxMN$KVp)7MYp1bgn$l+~wSVd!<|Y2jQs^=w!m&@_jhu5Ccz6P<8Uj zJTZRh@!njgV7-@|gvme#N;S0d> zO5^aTO5b9?OeY%h##QmlcjFQuW1?9k3okT5V9 zdM$FTX642yp?Af8_UE_n{`mUM@8|DdzkD};_wxPAH}7A+eFG+K4HQVn!18LfhZWC( zJp|!^URcv`QxP{;>U{16>_<(DzZKUKn##mmiHQU|IuXwzP-IDCaOxtnvF>S|rJG2I zt{`7;iz!K8WDynjl{nR^(Nq!dZ)Ao?#!Pp%{pRwiqf#m=HchvEGS1$rJGh`Xo+}SY z_DK@`LcuPk#shYlPiNaGw4_Bt!+#c8N+i%>D2hZmpm_xTAP_3<((-O$n9%!&qTZzK zyOLz&vMt3co<7pCyw3=oW!|h7dTz}Fj5F{``eNjUJ>K@JEXJtBZ$fqa!Hu+6=&W+7 zZw}dETniXQa;bphHJT~?-52#@P;};@47_(+#?wE(PQ*I&tiOE4XS@3C$DIduRBOWr z%FyNh@Ql7QPsi7^JZDhmFofVnUnMRq+ts>_c~CT)PdC1kWIpH3L)JHZUiBCbp?y)Z z4nxZ=7(sn++Crc$?vS4*sVqJ!z(@Vu)Ge&wQF&V)mG+mUt!Sx#=AfMN9oY0OrYUxt56ca>;^>Ijh4M=Q1D?06*_FEPfCD zXrSzzj#v||a2UBZm_DZWMFQ6^5aSk1{x0=l`V)H>Mc<$QvN(;!8J%*5d?V@EStIc* z(R43GuoX2R&Q4Ppt6l%W`RvTGH^@gp_2lm>L5-F{s26#g?(fQQ)FH~4aOHNEa1SIN zG7t~c_&G99W#BaivgKj#&zLx& zB7!gK&)1%_vPx^rxE5fjg6xq$4oj7->+!sFJs#~Xw0rrz2Cl9$Np%@8AwxVb@*67n z+Cz$9T(RrCzRe@Jx(m>PcX=ufS!r*D?fG57iMC_ zVoVL>4w*9eOzYy3_6A{Qw_n`XSqKzGj(+{c7Zzrj=Nr_^_Rgz>0pxpg0WCUiMzQ6; zlG1KW?y%Mk073%niTG_Fp~Z-l;lhuUta3kWpx8v$(qoMIIG=IFPVBsI1Zqx|AD^6; zHZhHW(hcJm6v#q*; z#*jN_dm-Se<>EZ~75MFcqn|0GPy_`EPWCK$DKb>@Y~5qPVQ_M_JnVLIWz}%5<$n)% zl9<0um-Nis9~jfvxC>Ih=p>CuN4Kg%HyXWPZ)yR{f03jsD98dX7n3~V7Lf!7JO}+)jw6C1ugJ72?a_>gOlO;W8{Nb zetRcdQf&W)B7v&mQ7Nk-P*?q1@X0=Iip}G_rbR3wr^3R0YKPD?!&;i%=}CC0ALNZ} zy_3cBcUPB(o#5z7aN(sp9*ffp>v;7O=ET$yNZPN?b#x^(N!u1r<5t`RWS_RFfJ*)4 ziHf`@e_d#bkIyqEaWK6zlRz^&bUsakv;$h*-E9X{=uR4D6gK-2c4?QxixmogssFw1PxvbG=pI_z-$-H+hZYq;&I zUcI`{FF5tQ-|h%UTwF!f8VKXbI2v;EC5}<|uIrym9zyp~e+b7BSzJMG9T!yd$~T2x zC8#zKQ{x-+IZ4$2FAJ<$7B(ry!RFq(rhiYdw!a6Ugu%iNSS-oay4e3Qdz_&rg$M~V zA{aYupU!yi%$|||eU}BV9ZD0$nE-G3CI=aGoJg|C zz$y;d@KO_+D*66lp z__<7;Hi)m1=ENAD^D5S2%Tm8c!%Yr_&hY|v0OreV;5s8j)9qh*)AdHde#R-4Dw zX*!a-LN_T36l(%xE&iKFX5N-Vdd*{g=M3@mwnYiv2qZK|zlPjq zo41=IV)s0imfTuD{VxChY1Bj<%Dv9yBih};IS-8-HRVPdI;2w>*Gxe8blv0* zit286;%x#?>8^lR4Z4Ycdp>qB{*Cbk2iIkCDcGRdgA@IO6v9NecPlARVk{BbVh+v+ zVRwx{9=F=~J@}ZZD)f%Sy*$^K=KRi4gLw^qldMs{io-gPxT72s)l$tbM+n#GquiP( zEmvhwgM*<5Olm^L2X>{%@~gx8L-H=&d>B{x1utO=Je#v?Cnn_(TuT$av*{zFgskC& z4eDB-c5zqva#+j=^NaT,i%Vdb-;>k^LHKAtYmr3CUMr@qlj2FuZGn7|XDl`^Qg z^!)hRD%1{Px{eA|5|+g$-UQJoif8E$G6xCk9IneVZ_}-sJnBL2Ougz_uI`;B?WPQZ z!YKwhO5--F%;t&*R{3};R?47Y&=DLpQI}3t9#Ck-qFv2Ir!J|4Ye?5$iK+LcH!sJU zke>xQV8t@4$TPcsDcDP2*$8z)%5>y5MudxIT|;;Ve!a~KcorsIPq8%GkopXXQbc<-4wa}~#V_N+6VtUGbKvy<1_&h+l-)5oGE%I1b5H6&$6+nfJ> z>wy;u5TG18vAd~rW;&J%1)u=b3xz5gFC`QLnLL&0jze$2aO6ajwaFdri4fHuWap~k zDyG#*{vgqN&ErURav=#xp7BTCF)b_KieWH!G1e z?t*h7v2&pr5o5l(X({vrDJk?9n39M9 zy}+bI0Or+A%jjUuiS5&U70r)p<*lW4#94huRFo+e%S^@>o~RI$rBtx*fM}aHG_Odw zUqOx;BoMVYMFYCV|H!xaru`&td;?xG90n<1!Y$Z8FT(^A1;0si$_VZy2>g!bLd}Wj zNwck}HI_>%NI5@GvrMk&6Oj}kze6>O$OlM2B(i)KrisJ^!{oGY&Y1$-Pomkfq;D~C znwJ7J5Ud7%H@ zJSTKl9G7+>3+Mb{1MonI3~L2_wcSZq7W%c0uk=#lzl5qf5`1c8`9>)At8f}3zrWxw zvCdcdES$1==0GNVYH#AkkHIUi;Pv=hOaRLFK4bghXWY8^*{l)^(^y=9@%G%JaPpHa z%zuP|Sev)E9B8?6%Thf}#z#r%q>Y(TDVJ)+i9I;QLGuDL)~OWPCu`hbT3GwMj5nXc zQz83U`5`EPxs4PZOTeCB0C%qHV8apyb@G>8!Xlif&WJ*}Eb`t74ZbK>qvpcE2K})pPB8l@O#H)J8Fyv^`Nj6SQN%q1 zhz}`Ge||zwP(;}5YN4e!OMmrPD#@qhXz#a`q^TB;_q6qFvzAJLWpG50ECw$EJScdl zMpw9#+bXMoU+x&P^t8oMtP{s7;oqC*;4nUFfs zCLTMm@Y9+yJ%h@y1X;zs-R7dSB*Q_|!V)gFmVA-|b68PPLh{>E>MN=Vgt@`+B@3Ng zd@~*6bA8xUSfzawsoR}V8);fqON7wMIn^Shh)4RDt=gK2H@C!PO`Nq6%UGn%;E>#7 zxQ(~1ZKN3K-%w@fWeKelmoDJ)@1Qg=cc6E6%Z$>TVYJf!a6S-AzaJAjJDM)%i%tCJ z_ZwIeabqO&Kp$aF_wNtOWpaBw9trDYJg$o)gd2}JpO}+jHaB4pzIX_m#LGp{#gGvh zqYwM9&@}+|0p+4E)RTr=mD(>O6Xyd+O3YBWK(LR1-0tlqkPXSBX9~RJXe5n&Uy~iU=@d$ zf_eoc1DP;iG^z!i>H^9Z??ePUTl>wxuEG7h6H|raV65lNyr5MzQ#EvHej{dhRORO4 zlQCIxw+J?dj&Xc_XM89*ymz{yzHF4vW{u%Ql-G%Vd(x;cfeAw=OUx4OE{)T3>Pr4R zQ?9bU6MIGS$~!CcH;Irc7&fMlT$Ui7h5MIZn)7+0b(ZyzE7Ua5=TK9a&c$cPBDH%- zg;b)Mth1&qufs|lIiAl9t67hfU4b4G@g`1Yc3BZ&Ks-x9PLFxc)9MSRI*FH6(mm7X z_;ddnD9@D+(x<$-WRV{eQis5dmEuk7GKK>mXmpkq8Hbcy#`$e%Olz|wkzAhM(0Qjy zSyqf3!_q&iQVz!z=P2gNC9L`#!GcdQ(`|~$irQ)4M-iX`)~`-Jae%&i4M^u z3^PToqF^p>Wk!m(cNF?HP2-asBaJ7O3amRg*yD7|u+0Om8Hu#N(!1W{LrQgGmiJVx zwfhO{&6mY=Nx|7XXLbsN$bQjRg8S0s4oGCylgL1qnlD{bsM1mR6dn%ZWRe5}2t0iv>SeR$2diZhr}pO zwYInAwHfJgScP-yFGNzJi@onnaWC(6b961MGIOB#LXWelHhPy=XuMH8$HY!bt<`>L zp#f812kO33<@Gt$L}m-T=S_r1J*iiqI=byedZ2AYAY%pq1YN+czu^;z=r0 zIGSbgiH-mkDjzR8Wz0yb3LoJXvo>O`jKhTBT9K4V6UK!~Qd*WpX`azLd_@I9^A1(- zYNKmc zD#CIH;qM5qT)9Mtq0dQ1`>Mym{XO~zIQ%SZaq!;en^HasYHuq&QXa2VrtjdOtS?X) z7|r@l4>*5eCZ-A!_L&eufAMq>$v5-h&@2c4&A0R4e7O@;82OU98=F@%`7beHrpem7 z^AfzyS2iJbQg=^DC>-KHDlTb|6iC=6@8B{@r!c$Hy*CAy`Mgjpv2&3q?hV~Ff6ph^|-i8H$|B_{-%JVw}#Ie zYimIyFGK;tg=5tQD03~KBt`nVUg)np0*<6~zR400oE)seV zDb8M{0TR>@xecPtxmcRUnPa#xAlYi4xBJ`MuH{oF!u|Dtv0FotP9> zu>)CLik>atU}<7&{6wpGi5zV>YL|c182@n8Zpcw{L#ipui2e55%uh35--_3_aGGQ^ z6MfDo`8Deop6*Kd&Y{Cq^aXvp*Rk0-!>rx=q>;6^%e=*pV_gTf_RZPaq$BI{z}y<2 zYqC-Lc}T)l<>GQxH=yN@|gK}^Wu9FK>cyOKEGKr_#UZ;551g`+cUr)gKc0DaRlSmm{y*s%LeHD9I|K{Di3hYY9aKzEtM+TES!5}2Pqg!(>Q6Wl;0zGI81h4mFiA1(>J6#k}%QOVRRKZ!0{ zXo=qSVEXfLa2wOVywFEM`F){E4IccpDg2E*_-g4Wk?gEk=2M$)4+pxn>2`Q(Jc+{6 zRdi1|O}V${;Y#NozT-1cb8c`=D>F-J}-NFLu zSu}oK@Ce5+^*YT&8BwXcQk@-qpH11oFgwlyTgkjboC%1>?s$HE{{jo**QRe(Jb(}T zuSd~XPX@mnbDbql(PNE9e&l?g`F*<9Fn*?5v{eF&KBZX0^Ej=|(#Sd1b;EIBPDda$ zX1HH)@*rcNluqm@p5e9Tyc%!O^f(LH2^Yp?s_G@|oXG|yL%Xw!xHeQCJNI<1$2K2) z0bfqxL0PzI^z=AI_0{w@@rn+<&_T=(Vtx?w^cloFeXa>38N~ceqh~KM|J4%74C4Me z@IhMZJ#lCTF1R**2QGNi=-I&qF?g%Uy5}{7nQMA5 zn?+LA9WG(~TyqBt4dGhL&)>O$@j_4aAG9L}U(AK5Jn-q8Mo$l)p26n4nPvt}B|V|q z6W5B3#sE7_%Vbh>WyvIp%Q~IKlNzj&<5itlg$N#8P9}^v`f=|NQ(r_?dXfXr!Ey+3 z9nA~iOtbVX!HPjkNB{EEGxxT??J)BlBvkP!sduGm)fr#=n;7<3 z%4Nc=C;Fds0VZ=kg@K)?^=XvWm@jCuoWqc4NuDrtV5E!!MtWQnSrR)ohBXL!6(dG* z9G6KXX2etyiGUa=i&w=GNR}tbv=UVLUV>u+Ztnj3S)92m5itT7-UcDu@YC!MZDI_v z(Lr1J8D!(N;^j^<53=z}YPT*ujZ}H`!pY3j9-{=LwxuJX*)3Fn?_GBLtY+dX?1$#O!@j|;CRmz z7&35N5(NjwdO;!&jP<6`v&mRb%6M@~4gnxQR^JSsIvDSrJL4x>#Y<#p!%4gJlQz^k z|NWddUe%${`Gv{*?T#U%9}eKnK7c>sdLGcRCO9-w#$*oy_|{hG2dyi{&DW2rYCm|@2r8hX=vN%if zI1eKOMS<_#ASL%3 zu+%HkiNCove4TlWpLRdv4jPo<>&|wZWFFY~)hokC7$W|q8u2CNW%nmd|0)VKex!cy zj%)vBD)%8Wo#MQTj+4_gpGJsh6;Y)s!H{^^QFRJXThUk~fyZ?9;|TN7!olGL_oqcR z#dT0Q_yH2km@)2!yJJp#&wtRnf-P9o@rb`!#FLNlNwS4o7r%S{>Tvh))w{P_li3Xa z-rw7O@n&ypK7~Ip6aDz$-G}|>dk6T<*3A+uK&g#D$-Ip^`BdM^#0YTR$*;JE_xpUE1#T7?;s&*4F0(o7)R>TQ2e)rG>Ub8C$^^KCI z{?ksy5DwHr{sY!g+i=|v@2J@eNiZ(--n-pPLDgnwgLqtXVF&Se)94uxk7WYpQ*|>^ z=MI5b9#0}IqfFE|1j1jxqeoYS{QP9?)D@TJMxQ3vOcVT_pG!;}v7elPrdh7`F!RHp zbF59_LFc$>^wf;+^PiGWi=wQfdIh9vr2mM%@0lg!NfSppr6ekqr@aKR+Rl&DlV!22 z;3%f`>N%Kbct(6f>1YwaOu1lsV zLtYKj(fUJv3~Xl_#30~0u#jUTh=ZUk40w@HpT0=vp7sjHYE5@)@8}c+4xI(s#-*5# zm!c+ACx+^MT=v01a1Ja*4uUU(^N{ALp9wgCZG84?V;@5I+hiw3d1T)gAgMjuzoS7n z-j{Uk)CVC$c4PW`>f7B-I2((|wY{5H=Sk^9(*W$mv-c^UFEZFVsQLK#SXYZq%zYNN z1#073`r9uZZBFC-Bq2HGX{mwS?E@#*0CKmVzD$#B+6#*TYU3(W@0!r>R;!dfQ=#5X zur3@S>DGjEU;z~cR{41`pTh!s@iZXan9KqiAzbZZ8x}U5_%49T%#hc@1K<6S6_bx1 z3=+iE_EnvDWQ>GxwR{7n2*|I{Hg7??Fa-#pQa0Kx8y2}Ag=M_Aad8649<($7yYak8 zCK;IWxb(g~=Y;RZ8m5$)2D6PNTh8-dT7d;><1!v-`S7&faXE3Ap?^JawIc;BoK-T# ztdjv$0?LOWNTn92jVp&87pJ**EE2}iTBi>6A}}+IcHl6Qh4w(zNG)n%6gSb&mt_gk z*Sq{}SU0x1C%N0OHnwGs%#xGF2GLo-PJEo>HGoGZf_1d_o_?2a<9Pwoj8Bpu;?mo# zhU&z?7D5js4A_N7UDbv$DbOxlpt?=G$H4&W!Vz3q1I)r%!h_j=R$GAGcvu-(XN1ib-I&A2)`soIc9?wXH9CZ|u`FPfmOi$xKpbteVuj|$ zORQ!T@;x}gZJc_LEttJ%CtkKTWcwUja}ccH2c9&|eiuyDhOtzmr6PINQD@n?BB@ z2^758@U?RG5L^@!%83E!-EUYL(1E8GmqCGJ(}wh5I!LfaUx1If;VrCLalSjDx_=&2 z8pvu-9`#;)!2-2#VTcE>tZy&|loNxJ1aB~aIe@4M?8g_p0d#`cZCpJxZeOX_1u$a7-#GEaq3a-6^OfS5;~3sloNwHEIWX(E0(*BKdDahr1G&G z3DR!+BNm?UiU0}WYVnY z4`;PN{kUFZNJ@{vnb3ZW0l%RGxQ*}ME1?^8V^JXOwy%>}{m$o<6#(saZ{j?ic_|?w z?3SQ%`i_PGu-b8*X-_)_=xDe5DXjuTYD3zX(97vJ|1^xdHP|B}z&L)c|s}5Aq5F$ZlU%9ESj>E1-Vaux)H@ z6TKT(8`8oA`V|a!A5^7-MKbXqY64n#3cR@RG^gL)tqg$_LSTTpalH$~=$cS&4E{R} z4P&>)Ko5_s7XYqy;k$))sW=CQkUDIYOl#t(e@e1xz~5m)wK2Rq#ylRh-QE}8xPvyN z2NQc$dZA*_ATAvkum)D$$b-LnH^+n96S0D}FfNi@35Dl=r;!co!lvUq5cZ|l&T+%H zv5JkDOaZ(M#G@$?$I$qPu#mDqJ8``)i<8pp9`Aa{Ge=+iKc*7Yi&-)R`DHL%!X8op#|!dY0-Jh;C# zjI(uUUmHM<_IUzhE6OQqCq9v7f!esvihkbyHlzoWcR(7-!hjXLLo2IboUKFmj|Pyl zeUD?>t~1`kQl>DzxJs*^f#$xEGy!cq#eXLgzp&FV-K_&My#?sNBWjEXbhQ>>H=Y1( zTQ$wQuy|G92AG9od7P!yDP01DkFX8w#}_=*4(JYy$&~NKdY$sFCT-mRfv@xTCZ|O= zE(Kz#VevV}@&wqv31usClhmh{@bB(cyEzQWqmP(SZVbZP6H@XWz;1k^{zPcW9l$oe z8QvoG+mjAp8y~&^NXj0#8h|#Q3^vg;=$&f9xv+c+sO=iY(b|TD&sh@G zB${v?So%<=0oaYl`;fT-)`26ab2s6-u+ZI57zu%O;-J8Q9!LnT3(J2j<1C$}eGn%`&pDVk8782FJyc-JXN2PTT}?vee#0uAB{MF@2?=)x=SUwUF~fOp|k zc4Hrm25=`n)V8szNfHY4>}p|S#=Ik8d#4F!VJR}YP4ToB5M3?(t}zqJ#!!S_J}3}Z zTkoI?+cKg<7ts3%=8jYCqo3F>5o*s+P6WF-y@&FQy#Z$7Ncai$Ay%C8;4r~#9Ddc& ztu6AmxRze4r2*!~p&i37<19OlCm+T8@DSF{hVFj$!r`keKsO#4Nf|;T;oMjRr|p49 zLpm^>p@K>^U42*-l!XCf1UyagXJ?xai>fY@*mJMi0JCtUxK93Oo*Kq#{W0|g2++?~ z8*iwCE5rf6`+MTyMgqXqE_8*aVY*xUj%3#9ZNi@dx8@4OYD@n2e#vrdSU0wSxB?eRnhQP+sKppK5l8~dY1!&_*Jnwh#S62)FZe#$f z-SW6hPJ$PF4KN$WeC~_;;@{h?4%2zUv2WciHH@RRH*lVRw_25S0TK>NXaPF$h;&Yv zsKP%K8`yy_uejU@^!B<4rCV{s`?2B%2pD}G4cd4=1St~02k6Q z?baaLQatW`v&%cF+uYug{13~(p;CykZ*()QA4co?s zkFUaUIVO|~Ltr)vq}^6zLaBBashI=Q{C79jsc3u@FVdrNB#D8+`!T9n4T?Oh{h+_a$N#@y9-b^+@X`S{w`k>z95DkT_S?6 zF5i{uNy-enGV(imxvJ4+LCufm)c)wGiJ_}caUaH=s$0-N+=0=lcoL?1ZKAOKxN$i- z-OFK|$@*KUqSi-83AJBm9|ijj?4_PPJ2zCgZ~vz1+qY|Hb@ttpQ3U$-vI_2-Hx}$R ze0tw^Q_F7UraIx~p*?N(C^lf<9o_Cx)~^Wc=Vr-*ZuE9(0~1Rxo6%!03hb|{%I7>b zp%BB}yZ;h#9J)w*`eFa|_gFU+&h^%GtFE@@@#6p7(9a^Cd;|^S?i7^PyM+wAr)gbU zAKTm8j~_ma@W1eB|M%XbNATnJgGZ0I@7;U+cpLtG@8N^TkKy-A8-eGu1UtTjp?oQx z_T+BJ=k8zr@~7x85hWj#rE4lGkeC%g1;6=6CHY2RY zvLtUEoU1KBjJS8X4dJM;bmI7~)T_o@R1ld;6_?N}X2q*yC((IYpQbr=QLXaHX<6jO zvWl{Fj$h%gh#qV1%*8v^5sf^Kvba0}gfIvKgKzF{-`C^hqRCkbN1rAFUDk+74@@70 z>h5pp^z%4c=5?CESfaFwrid6s5u%yOlnslxs**}h`Vb4z0Fzv10C}EQVoGIF;|1;x zH9apzBlBjA7fQTAKlt+hYTwv<2xUnviWsUWdqs`dp z=h61VksuY~h2h@e;nHNHa+#AwTP*9_JSLcG3VrB70UdGYB%;rGQ36HtY&D9`Pr+Km zje|8i5j(=kT?A8(C#PcI=P~XW{NH#VzqqqI10gZSfq@iDtm$Ip08B+}Cq%7hB#Joc z&6HNO?J*=rj#BP|_q4gNcUrPoOmRxP?pA9w#)N3g*Kxh9MtXpycnx)nR%lEkI*PIB z(YzWPfLW}_(9xBscO=^2Y$IH`Sy{}Zd$6srgTKmsB^HB862;TAIG^wl&sJQZJmx8i z#oK}t|M335Vj*1Im9U#>s86VDQz2`un)^_UazqD~3b4YysPIJ9a^vu6g?ZHJJb~R3 zrTHXVP7`27q8~bwGw05Q^Mk}qC&&q~C+c*26@S!^88eEN?8({6LUB%yI!FRzhDSZc?7EoR$AF(XF zU`lg-_HFVx%J>J89fxe{L`D(-ys^MV{o6h)d^!Cam%AFtYFAI6@^F4C&fyT?Zq_0q zI)#y)6!oYzLfVRDB0QtGH(K2rFAKRoRw)J%mBo35&XhXIccOer5iMrPW(5d?Pv@AK z6&hHOpLxvhkU`6?csxvTa}u3{1LjG7_tpp%3wYJ4_N*Xempcko3!ugeBi-B_wre0i z#aP@0ZJ^Br$F$QN;_c}Br_ouFPW3_=J75O;xi}{dl^C;TS!A#?ArpZ)AOoe7eVojY z?egKl^8&{&nx~)wC?0{F@)SCp<0;2OS}`W#+?t!mCowc7t`)^CuDUD}YYAS%I9WOA zLw@%L!9o9w5@1Jv$J^wWUt6Gpk<$}mwV4{bs1$dAz-r>$Ae-dQGy@vCdd7-3z{wih z2fG?CI1?D~^|26=_)pY4@V_jC#w1!}Au71|ov0cMI!eM^3(u~qQLQ@XCLP7;bA7?8X$FWF{vZ!-QJvFdXmT4vz=)7 z7!KtD{RNnp`4lg4lBrsP=O}|vc~`wGCKlIJ zWf*VkMdG2b+J$V6m%pvM1GlOTDRm1~4OD5Uf7vnoKkQ~ig$fx49%8IiWpE@Wuqy6Prqu?`TPnCK7D89o~0vemQ2(tPXk1bz7|(llpD_vmHw!G**Nv zJl^L2o`5o9aGK5APF{&n@+>2W^E4BX#Ty3AgU z*~;YO3M4~o91Rt6S8PQhDu^5)54HhGzN`~zrIM);gQ`1U)WTTR%u*XY4cz1zQF}!| zJZl~_7xU&{e9XjDKNUAbz81aMd%64J_2JRWy~F1}9UZ=Uv-j@9;nAA|pz6K9lH-e( ziM>9wBy!^jw~?~KipD(iEud1p3HIIO_E_#V#LX-mR!G9BJ-L}q z3A9?G0*Z%$wfvmzPGE6Z(i%E2SmK!MJJ^G`s}Q}^8jKOnXiK9BlaoK?PYy}N0z>C+ zaft^iWek%-4|PUfHz3U_8skLAJS85yLNiuN92PAL5>`7xXpO|Ecf^6b-DJLs0IHX^B*k~)esZF-nIIV^2L3NCi3Ra{d7G&*v#b~!&~?sb`? zYGw_jK`Ds%e?CoUKWV0p_OB$0_KuRrid-b1e4GLg&e23BLRNe};^s+LCtSKYvZUsH z++YzvFg0irNJ5QxX6g~$hySxrYRMsxlvg^Ou-;lCOZqlM8`<>V>Ql7dqu*Z4ibI|V z)g<^#3!?=)8167B$rFT5CiT%LLU*hvqzMafYw9Q;r|=eu^PZ}aG=^aH&09;tN_`up zgh9xL*f0pD1=45XojImsEaLVIxl81#{dx|JeiD~u>h_K>gXm$L^tS|9FCiztv8d;2 zu}w_`J%44fJUMOpdT2wNZm2pgd6#+>cxv3ixf=SssS8AZ7L)I<{hGU*2>7&X)_N=B zIW%>fk@E42-RYef5kPV5ep77n=1ZKi8pl&5i_x6Mnah(V6-2GdfebDCy=)+zX4= zWGUdUS&U9B(s$FGZ$jf*qC&ohw_Bo-FrQISPt(~9U0laWeV!z_82ouUP0%a{9=ZY{ zU!0?-DJjV1zMrwl4cquDe0NQYevMVNY^Csi#b)Wdm7Y>z2~pq z?7kL*L*yTmWWjpcqD&?!y*|K|sz7rR1{D5yMkP7eM*x@~KfH5{{2wge+IhwG66W?M zsbf@xM$rKU&g`*wOx?mab4hT&E{>eZeG1T1cO7a66!){366v9 z*ow$8{`Z4-Z?~Aur!zFQi}GV7tVp`Q18jJAM{|KySm6!x_${H>db9hVM+dtv_l}^e zy&w1X$Kw7D{v)(_5d9ghrJ@s2hpt)cVi#8qhN|dE%0e_g#wfxXLm2S310%bH+kkRd z;UOAh!N4(00f(=q2z{o|Y4WLV2tpCP&hK;$y-oOgg`N)odchv%577BvVQleAsdws* zqBw6-c?4r$!HGOx$-RsEG#&}L|M5`Ro)dbo)$+m95TDAMNp6oW3TV)FG|A)6!Byxy znI>rV;ZC9Zla<)!S$bT?<;ofWN9G@{7LMzakAQ6_+Q6B^Ci@ITa04LWya1Rhx1~QH z(`C_Lp$Ukl|BW8phyQ#0(BToRP&W9-$&eIby)n8MLBMIRiO3UeWt=Y{RB zqIMiZ(G>ZvJ+9*=N**xskrVttf3)x3fLEg^-f3{|7LZ_0hEJd8W8aV(x9n=7yDU8M zW>-mnI@u$s_@iV!PBM1X!dvM5N+{RErQef*q4qt$|bj zdIh^&obPw{509R|d;Q_fTj*m0hq_@IQmw`0btC34CdE>@Z82dvZm`UyGejv8=zmN& z#Hl34$dfhh%O-Ko5hyW9r6}4QPXw}~v$V+ARd_pOS;bQ^^3CH_jbUh7h}>?`&cWXG zMrDQ`B`o!~qPIMHDd9-G?kJs6=#V%R7^v5ho~T2#DUk0pHH_QMgC^F6E|Z94=LL6n zOAUrK$QUDlP{m57UHX_?8Dp2QvI~V5bb*z?(prYB0R>QFtmBUft7hzO#vwgH z`%n0pens>p{(lWdDutJ^Ea7mo9C{Of(>0O&QS6CWD&fZkHs>%v(4bJ9V2qXQPsgs2 zl+eA?pCj1>I?K?-8G|I!G6k4MLUEu98*WSZ8YApLCQ@gl9&6nvWi=YViT;O`b=f0O zt|WHr!@D7y^OiO5cpPRhSVqml!aZfhpYcaOyv*s~CY ze#%&Yng$9`{w`d*RjYGaAjHpx2rH$+_a`84RcigQk5Wg%(bhSK12k%G)Cv2pIYbg* z=KjM@TX-`|X0>@@K;on)r;V=~C#vZJQIQoUOV=jVj^yNIdv&mIK8~hgMhwhvoKfVF z4CcdOjcGdL=mgFwn>6B-_hhsjf^dtQkpV@4%jbDh7>RhA2G^s(0bgOh%e-t_P-qPe zDiWsYML4n`EYrW*#G#lXSV_BIepRc40vXpu1oX0|U$+;@%Vb$4A=AL$qjY}(=r6x2 zmA_**$apc7_l8+XZvLV~MOiUIrr%#QEYUSo>hp*OjcwTo;?bUqR{$HTOC3}BE{$KcUyY2sd z@aW$5;Q##^pQdZ?@5sRL%#En}gb|j0o|cJ@NT>UC1mG+9q!oLLd=QuzwN+B_E}qay zeP@;?puKMWcO_#Ry3MeI!`;IV2YUwwS5PDTWrO?P_*F{8!x9*eRL{#=I8I!#v0{Au zB7hW=oU|b8L!rrIi{8F)lKm&^V!_m`4CUzj-+y?ob^aeedi-!W|6k+dK79M{{`0?%p1*ssXB@%y^97~wq!2TWxN#%}_5OcyXTwoJtvR^vH>(akZIEpo&(O90ysPAj() zZA_{&n#HHA`b7WGSF)`e1dM($?p0cD^A*PxD{3g8KL+MD0~m#8QcqXRC!MO>=Bdj4 zh0l5B#T2V0Oh?giGKrTQ`cG65p+tF-Oe^7YlMV4TYbtW|kNNc~8KCk#q;1H3V`JV2w$CISStq=Q~c$2_BU~(i_-d^n)_^r_I$s8*@Q)#@L5$k6n`x!er z01f$F#G@zDKlP&<`Nowz3jf54N9rVM>_CP#XY$01%!nbEw0)=d)Q z$4w~ug=nNv$nUHTFF$MUciHT-{->b4o>03R$tK(5a;=8^7>m(tq$%ibh#x0+Ge0(i zGk^VTP4lzi;QRS>CD)xoJj6qBapv*iEbJ)ZWaNSBtKV2Vr8V7UoHHCo`DOuEjAht) zp`OwqpJn$P{AxeIp{~gJ4a>;;Z9{CeG(U^8bV>q2_j@Gv#nC*i=2*L(elL?ng65$7 zRfxg^W5#T6H&h4p@{|x6b9Y+%^k~8uFmTD5-t*&i1b@@EJZMTg_AE8q+2z4e9b|q9 zN|$o88NWGTH>-o6F?@3~na?gdyB@XMj$nqE!$|&pTLgGWWvdZnr^P+q=?PgXQ-&~w zd6!xj9j|ybMb;%F5|`omW|?Ei#;DeeVPWuX1@825v^f^L;V3RoC>4D83R#R4D6q+W z>2c7s(m6*f8%a*m`UbbEfd#XC4Zn=UR)kHfe}-Am(@FRBM3jDI{*cZB5fm--ig zkT4vnv>XC^;03CH5|0Ah9sW`UudP#9>Oxo%>5Ad7PaUkN?#;bP9=8!T@rm~xZT_01qCBsWXYuu@v_7dkLAkwNnRXr0OlpJ6ooIim3V?{^A+`G ze=k2vvI3uIU4%U9Ie#Da(oM^Yt*x5FzQ`{5g>$&H)iW>#*UwsrwU?4=3oP5+^`F1E zJG&eYAMN=*f=qnqXcg{q>tdD6G3 zW)_+|^=Y@%)y<%7yVjW-!DsvHwfXr$OTW2%#bXUYFDk`MFYU0dCAeD^U@t<+7ta1} zf-?8P+s(u9{X<{fGd^n&7*fY8*k|*r(+JY=5g<{?YbWD3g^Y%+YfJS*F`{* z@Y`_p=Pw(jg5UVny+*1oID7v3p`DnO$z51qz?AR}-a1I9qD?o>faxiBN&_di>7ISi z>~~<*f~gB{K&f@$6e6b!VV|Sqz`AUf>~vx7r)N5Fiv)-pqi91U=E8r%uL=H_bJQ7~ zb_GovuG$Oul$-ZIm+AG@pTPaky$9R(t^1$H!~M@!`H1_U-&#IjK1(@)9Gk1Mj%$P7N0U8eklZ)Fm;WGY4gfQX%xb zp5LeP?73@>m*J>yaSh%yRQRTTB&r=@ZtG%+;iCSFHtLkuev|jiPGc*yvLoK!kyR`% zpWzLk#;3vmDQ)OifB$)J`+@cT^Wmch1ONXTAEyd^xWD^+@93w!-4}cN7&`jt&U9AX zq1|yuMS<=r-iwJ6M26cP3Jt=;d`l*i2TN|OQ^pdTPC3~s2eu(M78T>T9u?P@!8}3D zep^+mROaR`rX!NzzME}wJJ7y<;(v@2P;x#lbwW90Silhk3WqX1PMVzrG5}B$82#T4pKf+#*T<3XM4J>nc?k18>|m~% z1q{6PkML>pe^GnvE7t$K|KQ;RtN!Q1d*2QG|7(1j@n6r&gnVjoR$&&fePWk}Eilo) zyXx721#C4*^0Nl$Z;{N%ZUW)oPL#Wg^zX@vXa zfRX(impO%ciGRq{&_*T%{-J7RLs%YX=_J~H|BA{-f=B>v+8yLB3u*kYd$4x|kSJwO z>v~b`+`T(Z$d7;q#|)HiEGJo%CwJpTdiU&}(WR_h!mr4>jglG3C4-Vh$@BX-V^ltyvkFVaE^c1~qofO4MmH-*6tw}N85Jj#S0B}aB;J(MV4zz;Oc{ESJ zB5Xa=qNpa=ESQ@d@e6I{Ri0vTGTEE)ZL3q2KE10JPILEiEzFF|ZIgB;EzPmmjN_5K ztf;uKpIFWXl3NB@Bf1YI(#M=jOy?SjW*qP*YBUFAA;(yPv`lLB6UcIn#~2ez4;@b^ zKR;#yrhLwn+DRl_ORE%Z)k(}r56wb3(-=+-?6E3a?P5K|9~j@W)(bIpu3`Qdi;n6n zZ3wQprwWyV^vL#ZIl_pj`Bj*6?(AE&c?q)st)imUHM?O zp+I?{dHiXg%cDNC3v`Kn#E)tz;Zq`N2=j==qbk@lBl(26(8&tr5tm$$NY8^3h@W*l zlzD0o0SmP+Ymt00;j+FL9mHwl&6S*F1wKB;oZ7@0SZUW4 zhnJN;2ViJClNxxVMiaKgh+_ONe+4oVzEILsJDgkc8GxJ;TMzQxF}biRrkYX1LuBld zg=)Bj#}knajeS}XR;r6v!stQhlGaPjsK}Ls#hHm}qUt-N8maMcR;(MQajZom_xf}! z99Nuvp4pGc#Wx17H#Vz{a2Pp087G^JY$+!fl8EqeREf#s*a|I+0@D&OUvngw#epf# zh=a43Fdi1%Yi4?3;>{);wln}+NrplCwwZ8uxgHna2nl*oA#5zG>5LmJgqM^G(<$y@ z*528Y<@r<@<+0!(0TW`ba+;X(FXUS_zFrDx+c$m`0gX zPvA{~$~A&2J?jexB#Oo&tpY#o#w!6)%kmJF2!s|7D23$0Z%CM6-}D@m)nR`5hTX^{ zj9k@uJW`1>c(`zol58fk$E)UAe>xR8Ik>&7rNF~B>5~wEYVBZ`O;ai% zC%Wo>Z@M3!tHaxhfN-5*^`rYRt5?>1;%Lv?kLURexA%nkc(vK}$m(rm;ka!NKqb@% z4d%n)%R7J7hdTLGJBk5HY2iXZFN6hvgj3JX4pw;`e=>{53EwrYfZ6h{V!PPA;$mFT z;f*1dQJwJ>f2I}Jsm5jDKy;TMlNwGxBgKO`e$5iz4*xeRqr4EejjGbEvD!vmu!J4u4Q6o(Mz|*&$wSC zvV8TXC>}2TOQe4`UXAM~_moFF&LVnHk5U~N5hZO}lm(D>uC9Ff5>-^GA4gTZsuYty zPmaOPAJN!E1CX+VBk$%kEc8s;ej%f#xF=N?Vrjg%O?7V3P zjpx;vwE<}2a_?wUtYw!FQ#Txtj_$a0D|I2%I&%u-aKHnM*RMDhRiXtCoyb2&S%dK5 zHX5U94AeC2{M>1~KIOpPbJR$ynkZG?YB(Y!+Zh`!2AB&wGqf6?$=?pJRWh|*5HgU& z8i4TP%Z}8{<@cf@yitq2%s0i4JH|zU)dSW{S*)0*99ct-I&r^SoyMiimTayGaW171 zjoQOt{wPj`jOoGCqQ?jQ$+R?LW5X(>laGIEZ|)ISWP(FOIi56E+Q8iD3c9&@nHQLY zW;rp^qfuA<8U$>wEGifXJ4og8kj>92zwpL$VL#PRA4j+?~zDk)J?tz(S?5RK3V_Eb{*2 zmUeh(zSmhx!eC{L5G2v2;d{F6u)5{=X;55Uh};s2?9hHwI^@`6F*5uRrc2|O4f=lL z*LFYBU$5NRu-;_tS2|Y=YA+*F8o5m5SSo5`m4%6wGIO)H!~Vw09E3M8u4H;7tt#DK z#$@2(10HHP8g>mks$z3e^}*H@s;L#$^-#GiSvfCJZ_(LiXweMohvut~T$5hLPBtAX zPyK|`4p*``VqtRip&d-r;1hbn+G(oI$7I@`2AGXKW?~qZ_L-#oA5G7RD9%BJBS$;U!Sa-fr8^9XA8YkIcxOu4Kar zMHgdE*ACtO?3xaiq%!)~;~$edC6(E5Yw|XYGxD*FBbg>exqsS@9^4|$0g(Ne))K#9 zv>v|(&q?|~%BO9nE0D@Q z(yCe}xP0d_S_j19ggj6yN(j!D6@>)I+}es<83n7mIobi)7seT-ZKc>ilL5fFmzM!Y zymMS<{%umDscPT^u9GM1?BQlkMq%DsiJVu$bt3KimaDDAklJO7c^G11Q{Krm(pXs@ z^sf3zrbdbPbkT7#E6PMmba8m(D97R-z-MVOwr}fdc~a4n+tXms4gcs)w7vBx0>x)q zV0aaqYqARAU!%&1F`0Y>iL)vCbeP7UrO)TLu6I<;;Kx5o^lKyjQ+O8dP!_h!3jqz~ z|NCyc9sl`g`~L9$>#KZZ+CH;nlB|FfHHs!R_`SZc!X1OEc%>33Z4J^j~=w+zqcRWAI|^R_^?P%@zl~rXrzOt zavFIw{s79_o!t}64~`aYjjH9xBw0}81E`uH%IiX6pvRB5JPE%4vA2Kl>K%pXZg1V& z+TQ5c>*j9!qln|L{^`j7DHQ9=sQ?!`|Bvpq-+zAx-wo&gYkZt1^!e*odv6bqe%{@G z`|9nFR0z&ar2&TI5xwiJmUC4$0&@kayOE72b_ONQbjn=EWJT0j3TD;DaTQ1xwcWHk2&{)ZQ|-+izl&yNz8d#v9jlOeN9i21!&I zf$b-6oktiYaRzpCn$Lxugy$S&KDkPJb`0NtgH%w8PJ+eQ#x z@Ld|XdHU(OAzq0qB2#cY+!{=yarA z8@M<+r%RL5aZVR{&95>P;4f$qHP5zmYZ{e(1gcxygu@{$uEdXTrpQ96htuMmHa$lS zF>|6ISrM)ym!Ey|qRdk&LoU$y?Ts{?n6wq^Z_(S@3b)PZ7m+9-nIx%tWYmZ4)7rLP z*nS^5<7@OIBJ65Ugwk-*objS8CNR7$?7(2|c%NDukN4;n5M#}V8{z_2MV4$~cb*dD z22%SKm>x`XgOS&W0s(1*a6lWZ6o;{qLro6aw>F6KT|P-R0f9bp4*HB_h){coI)@I7 z^xvp9Sq`idWD(txHAVDT_BSR{;mm6hwkz+e#Hh`eVq9#h^;!(CCCD!z?gwa3V8)}k zOr6hn)tqNEv_0-yOs3lO=K^YItT$H+|8}3I{-2gtkp3r_|L5@|EB_CC2L1nQe2mC( zEM$f|fVeXV6{YfPg;?Z6d$&k(yrx%q(a=e#Q=t(MW?IPOMapv1NH->O#+}l2e-vja zMrg!yygH=Nz*OGZk5y(xp&9ct;Ft>v$s$8iN2g3~>Kz3m9E%vHWU5hZQQ|RFyz=Fo z!w+zz(K6@YNV;U;a%83oIGt8})sTWwfdpdL$5uoa0qVvC{=1?e;Yx&)rSif76bpUb zU|%cz#bIel3X+Xw0{_;yh0sP?<95K2-=dkVbJWNPIx=!@j@s!morYjzc+HOb4v+Oj zeB;-#N-t=QObkj7@PAE0bxAnMlLzTGe1^~Px!lkH2fwu(Tma4$03e_r A00000 literal 260138 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

o6bVWc2 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 z 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 H01_1dUi#^K From 9c61d9c8618ce99e6df738824383133c23a92d53 Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 16:14:46 +0200 Subject: [PATCH 21/24] build: vendor the client package built from the sdk at 14f33ea The package keeps decimals exact, follows only a 302 from the files route, raises a non-retryable 429 poll and checks where a browser's followed redirect ends. pnpm-lock.yaml pins the new tarball's integrity. --- pnpm-lock.yaml | 2 +- vendor/developmentfinance-client-0.1.0.tgz | Bin 270466 -> 271963 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 80183f4..8962ae8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -855,7 +855,7 @@ packages: postcss-selector-parser: ^7.1.1 '@developmentfinance/client@file:vendor/developmentfinance-client-0.1.0.tgz': - resolution: {integrity: sha512-dRJ+PR6BuyEJiepYWKamicPq6pX1rbCwgkJcNvxo3Z5XZiNBSQ9oqACwwTdmXldYBa6mDSGAK6RzYmJFwfTH9g==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} + resolution: {integrity: sha512-A7U/l7t2WtsD7MBAe1A8MudVU7JvtEwegZVXeTjtYzfLCs4h1LZ3bigvfl8P9NETP9Gd4t2PAabRkJuUTpmCng==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} version: 0.1.0 engines: {node: '>=22.18'} peerDependencies: diff --git a/vendor/developmentfinance-client-0.1.0.tgz b/vendor/developmentfinance-client-0.1.0.tgz index a1dcec59f0981b21a7604b45df357530df2d0e5b..7c95fa704a3f569a0ec5a4862adee804c56bde6f 100644 GIT binary patch delta 264645 zcmV(tK>4OJvi}`g~*JU-$$~wC$=Ed1f zb~(?di(=f%F6Kp%RTtU$RX)EgdfB4N^65=BE9Ny+sLmF7IW4D`S)QFkM-QOn;tHCn ztBb|Qd|p7|ahBJ0b$?#w&|WsK&X?E4bdfKxzl(BG)LD0NRb-tbsnOY>PR2z(c~DL> z{HC9>kLBX3S}wAAQ7`7@IkwTu%IW!JImR*Q=Sg{8N)K3_W?w&mMwd0r0LR(OuB&l* zf&UgXt=aNyQr1_!Y+Pc~XUhe=tnno+V-M%CSY7%C3|H(=&>RX){M`DBuv6|!K^FD!3vrZdOx;p9vgWj@Jf)tvf^ zr`d=8zun7@4u4)Af46hEm+c>AZx0Xtvj1Z5Mb_Clg6B>z`)>dE+k`)|I3*zo|Jr--a)1B$4Yv96;4s_C-tHV8@9(~Q zwR4!geRufw;AjuJe*w+D*?;r$5PI2rz4zw0552;>Z0|4dkR5%y^Xe6L^_Rd?tj}oe1-k(z<;~P`v-4u8oLK?jt}9n2eUjpc2&RIKicbMJBRy6xF9bN4_@~k z;BrEZ18M~7z1ibdaH+FkN1zBkzdPD<4Q4O)c3weSM_3uBsD=9v{?W+lx8E=Ro5}r; zxNP&Xm=<%yy_-29%)0*{^)JxJ`uqR!lP|vfDu25Fzx?vI`~TPZZEj}Y=&r*B4tEb+ zAB#Eczkva`81S-ae5uc`itC&U03k4%O=s7c0@0|Sy{Pa)$qKlR@cR`s(tl9=fY${! zRxbp-9cA0u$%71jos05^;k@|U5^n8Ik6%G2=kJH**gscQUFcI@zaNhCMLwiDFf9GB z$ba7#!)fsm-VQ&&{c1i@;No}{~B4VRm1_G4Zy?BBzSY7PUdi-oU-^U$Z|49K7{ zRzKYer})jz+aca%G)WvhT(EHMb*2@KoBv!4m(wu}a#2-de6yU^%NaIOj5~3Iy9Y1! zhJN90X#hFgz!$JDLnvC#i}7IH0=UB1@qa}HT@M<|d{$18P=a;(kWWf1(A*j=1JuKH zzBs=cv~S0GKFiO_Nx8UzndTqza+04-ie#(jSLI|pFQ&tM3ad3A=GSNC<+57V_bQEF zWdRa}t8uYz(&s=#6$ISF*}OU{hUW#0d3xE>*kpM0I>6FygV=4#yKvg)pa?| z7qE<2!ERIAzK&t7X~FWz&~1f*-gHNm^iW>UCI!;?R4_PEh%|<BEUGX3A zTGFKa$@0T{Xxe_Q6r=gMIV%YOj;&hY>g z^LaIIekBCTKm%h=j`g~@J}c%13|nW#C2J~rRZJR#xh{aQ9rJ=CM@Yl#(y@W5(_-zi?uf=Fy!;KU_Q&|@CZan`JctG9lgy;9uUhB z6pc3NnOXUv;!}84T~|n=wcV$_~!1 zfE_--fxL?(5CP5l+d~W8XZ7IhPs)o@4yf)%8*Ibl{DzTz)v~)tAAiH}U|oRs8eX=n z3EZsZjE~8u zOQ4*V^ZPY8Sv~dJ$XY(p=DFgTt@OFd(1MCL3=&V@3mGyfd zGuFWv7jP@TuH-bI)mPP8_QRE#7aywkcknaPWh;><---IaS0QsVwViTX9F`B}J^YZ* z%R9(rvpDx4H|tq(4oh;!#$X|AkeS4GXwq^mE50bN;Zj({pnn0kz~a8+HMHO`=F5=6 zNRG=^YS1Ki){rwI@X)|j%NdZdMSh(o&D>Y1juiCtvU&OI#@=@wKF-Sp(R#}|iDp+R zj^4@%Zrj*vCp5T|VGB#9*&vcctYL#25Z zqcEJQ&CTD*7+&Wypo}ly9lqN3Qq2B!KKn65uZz0QQEmS5syx5Sfaije1)$ZN43MfQp^NMs70!#Rd;#q)7O3hk7k#L|`JlX} zoAOr0nZ?_Ge7>lA$RRI|WDMDgbr+q!z%YPsXUkWuNL3D%a5|b(pi8r(V$nV6e9Y%l6yc8xB1FcW(+#cnVsH1={+qoQ z!^6FuBP+cJx@%ZnFns{X?WoA-uvWVYoj7R&tO@BfW_xOl&y%>oej)YVECXLsj#=heYC@AhC-v?Jb3=m^a<1Wp$Dq`E}8 zgzcPvJN}69^Wx<}c2!Nrb=WV`Qs+o1^XGll zz3j_KKKJJ`%O`k_Z?f|VFgdkfLf=vku1kJ@Rn`D1HyLpLAD}3_y2j=Ki2B*6oL*FJ z+%-bk4IqOt5TATNg_ONmPU)&8>;WaeMSRia3H9jsYPZ>HL*Slwo){82LvV9<;k@{d z`4~TS5#D;FzuCyP|0LD%S6*b@PpF0dRbErMjScseNK5(%XvH?dU94 z*FAz9>I-oOy*t5IryJSx=UJx{jqwc`&eT|4S1KAPo{BD)H!vWW$yeGiReTSEMWJ~b zr4|P?BVRf)BfBgynxX}Y>(_{jfky8@&!2s!9mS)-AI!2lf_cKx`}9`ItpFI~7IA%{ zwQxME2jO3`@@7#GI&eh-G%xVer{fTRtc|JZWV3cbu}0s0X}sCZxGJj+STU?;+Fk{~?9WL&WHV(~ zs4-6%~ewVBeeoBx}H-rkDK`e&gnmMvzJ9I^*uiwBEyYlYO$ijl93gEIS@8$u#vIHEmJNp7ha&(F27d zYh#*MI?L`b0|rxR+jk@30kGVElN#4Zd{!md4n(ry#QhO3YyY^M-B2ue|L4Gx9=rfTCmlQ zDuI1;WP$=i35x?ug2zRcrcQ2duqC_~vI%CBX?M4AcU?ct&2{w5R-&GNcGIytC>6Ug znRvn@;B7dCe}cm}T1S*2ax%4n4w9$K@ZUpLXUqDk3+UDzO8^lV$O>r@%MSBE801!?KFs2JZ#wSA*ErhqmD6RBqC~< z{%_U^Xwv3?EtV66(Zz~1=tViljU*vGk)jADaH$sPlrhByrgZE12q=($gR>ipBl*0}K34N_&D#a1<%TZ^ z6o^eKnJ^2IvoXrry$f`dqF>Zuf!T#Umn#y1|7V91^U-&P)WCyiM-F(BhU05$P>t z?SmD6Uib}pU)+St+_LFzyMrZ{x3HZ0JvcY|`IELgn_Iy#eMB$0cw6e~x>&y{(!&N| ztWXAF=pb&Tf=SP*8T!jFEsZW%Y}mMlK!7XhjVw*drHO6EcP&{r5eUd9U7)`Biq*P0 z8ynFL_=#JO@cI*=W2n)}iF2GfCha@9 z|M$hy-~4}mou6nzm>I7JEC3UJ*z4DUSaA{s^y;nOGtY!xJtXaeHn3-(Mbsi zmzK_yC2Og;DDB&8Ha|z-%QNI~eMxk6E24rgE~@WT&rw{L3wbcLRG!_Kz#$pG_DBKV zyN5zLFc3T3J34svm%ZWJo#Ss&J-S)b3EdQf7_XS#{dVv5&hRgLhezn|3sf0@={mDl z)$|e$CBXL7D+-@}`LHg~S)4rZ(Tje}V)hzNcverUk4}<4pO+tq0s}6`%HE{cy`96| zZ->YGulEk#9S>ilUi;ajA)rAW7k+v%M7LzG+nu8lvtR){+8(kiz8+t8Oh+W3Mn79w zEn>RMyqpq?1bB!zb~wQRkw7qi0*hzVy9aRQ<&+U8&+X9xN6bQ+uYA%c(o+~dWa{X& zGd+>jvkAOtm^+YqH?QmEHPcNav1_o{lRl$UWrg+rkg>Ey>v) z*cL`>BR+UU^3JQ}<&~f)MnE)4C_j3^IJ7UKnh~x~Ii-On5han3h%M27NSz`NOe?F6 zc7j~S5L-M7UW!?9PK+zH&fkUEHw-fr+86~I;`0ftNw({z$>cJVmX?!b(hnQpzYv0( z>TO(C3faIrOkhd%q=2t`Y;-=KW7rD5Pdv-usu-r5-s40ORHj8qWU}@_&=Pilz6k}| zQ51GmY)V7N8zVLlSY(}lgT37s*^8as#~nXvg14~Avl~2*pVtJHruy!3K1aKXcSmrg zO(yxg_U&L%-^zC_@JOdi?^Q-VxUs@IjpWPFLikojei^hlOuhd;^Gq0nKME?`NK9oO z(C-LD{NNlQ)M!#s@GzVa(iRVr9V3_L3j}AT78u|@uU${3OxI6;iojK*ZH6<$RtY%0 zlC1AR&6iLxGo=E+awSy)rNsOx$u7p`rQ?RkpuKe$G70lAF zbOUr3zg9xb!vp|<&}98=U#xlrjAHOn{<|V%OH?8YwWgJJa9xdIg-`;Vz=nK@Bt9&1ACc0l_A_u8=W~_INNd{YzaYl_ zSZBBU?1FK~^CSGZ60x2lv-4a**x^xaPS3;5^ql7|3^wlJ?aBfta>>EQZ8rg!Hy6fb zX}4}i-3-<0s?$qo|Hs85FDC#cTK3t znf_Ku;|P%gnDwExQtd)$Y2ffa4%{IHzU>fd?R{sECz*tI6Qa!2u4K=7p$5beICMs% za)V*%mRg!ALu8CCg%4^sIYNYJk$N>w|EfEQT zT*&7cnaZ;@<`TASMDDgDBOB(eCJGjJng}4WnY1Q<4DODNO&L7NKpotNL?XJ~9a{q3 zMt^JiX%JLMa}pxPaLceQltKZkyvRo4`ZQ{7 z4-3?m(kYNaYn2`tVu4BF#MX&^W>L*3L>ZUUi?DSdNJoc_S)){35l2tTiTB9V(o0&) z&dHg7xadap;*E>;imf{mFyYKMQ!wGGYpLeC$~bUwX4vf_;@eyk_-cHxT!c&Fc)ofD zmAatt9_DR4qF_4U=%5dhw)3XzJ^mC{bGH%>3;S0RV17!7k{3 z+O#~ob}@(SPpl*c*@+SC(V&bvdgC-Ap&F(hFdFhQLte$Hd*p>xV*yojy8@c#R*Dbe z(#fWIXsG8RqXiM#@bT&fi{9f!Ns*`hzVy*t1WyhHpxaJ2;!pKPG`4;~dRq!Jf)24f z@+YZ(G07Kbgd~g3>_pp^J9D3xga@2|eNiuj`W}H-dcbN9Bt+)PDQpMYIhhk=r%LU* z`)b=Fo5%tc)pl-Ml^W4lJ=A2x(63szZ@HEfW@C^8Te18xvmz&cw{(Bl6087VYSiEZBz8&dtj)?42AM36zGn^iz-X6~kYaQKGB9eLJKRWv ziyF-<3)-)Rbjd+68ecCSQ~eLJQ`fV=kGDPPelYOvW^+~*R!-D&qjD2MiSqvRe111 zXf+WVtTopq|Qr+%aDq-b}Q?RW~=E8MUFn(Dm39-5xU?5sLk&w%UTA99>ri>c*Gx6(1;O|+^nnnI z#BdhuJeJ#`p zgKn=Y^1Rq^_UT#H*+9=M3nvNxFh|$1l5|`4W}^vsvkN%1w9btyidu?B2Foz5k+tk8;3cjpdnm$xgC%OUfgzu814Lr@ zO+MRLb8Qj3N;-9C{UAmRP8RL1Eoxd3R|Djmg2@yP^3@txNHI{;S%RpSaMJfcINT$b z2*2P&e#Ua$*NLmuZHp#QiOpfFajL_>k-+vXDQNN9m;0ItNj3z@$5z{5Ws7ptcvo0U zE5%fjV;-&L;ce!BAeGQ^z?*UrC-6{i%hl+M2Bzz0JIfbWgTR2muRK~C5Th3b(Fx56 zWW3qRS9Gz0_NQcUe&au>8NtAeO5g2VpfReV9ccs)b;E+dfCn7Q?$6^_rLk3DE_*BD zA{8U7=(^yA4Qyd8=MXXty!|f$O@9qdb-6va$vO&0)@oOO&RG#9_lE>bxf5nZf-?)1n$BSxRBgY^u^Dc^}b6B`TyT zlr2UUU}S0}Vx*7Aph-MF=1}&S_N+&yZJ^=u8{@*-QzH$bT$!muS`dX{aHHki`ngvf ztInD@)<)ZZY$if9KNj*4ar-J@)*3K9Zrh2T``OO)hV5f@ma@hl=fnyC6Dr66vD6u2 zq_ju;dO&FaNTjtU(^)kjqRJbgXt6}Gjm@|Exe!~6H*%R@PAiN& zL6Sc^)RT_+*g@y{Eb$tTZ{Uk>1c~b1Y$|Y&4g5}j!8Lp}k+5ctVYhSW*P%yiDn&OpSvk#wH&r2&r@_k|ss!YJRyb_dH=wREe%^g{ zy)wYw@VR;Pcf%PnL&e!M4$sqEdASl|W&fLn{l?T>^i^AH4d90`eYZ)ySe#$ zEJpyFXqpOONaI?$JUDmZ)lrklcgr#2<=E7JMo0JJ^bwSBEP<%HiLvqS8jDL&Z850P zFa^j3mF^gBQ9eg_*Qu^d9e(Euu0x|CqEz%LjRJYd8ucT3?$Xc=eduwj@$w6|7i%;Y zni=T82PgEOZSujfw_me>xc_y`_-Kg-JP7}`iS3&xT2%#uEV%pV^$;j$xHpw&HSN7ji|8N&X1b|F+9#Nd;)h7&Fi*4*DtMswf&tP42GrZN zlKz+JC`pioY#qg15(3WCZ{h_eI%4A#nSy^qNQveEzj_emOG`8ezu<*+FQni|T{ahK z$D5-Tycr{kO+(V7!@!rix}uV}7J#+er*MS>Lf zwL%*hzk6bBWY!%)Bt>10T$41BjaB=>Ho)N<-gKr>iSupT=Yva=h4q1;iH}}UXFhl# zQ&G)(QH)VG!mC^x=wproC*{U}&`tW~^yCq;b{(>S>sU`;AA(7pJeZ9hICIj^YiH`j z_(qiI&Xc*8mJcdl_F)8I(gBcQk0YE^BrOUbQ zGIysJA7d-J^ZCBK_6|GF(vSrDs^pYRp42=#{b|I<#g$5e-Ew*jR^mKd0ujPQaTJH} z&KPyvSkso_mQlz`E|plbR*-|)X`jeTt68O3_~qRHL?$eYg59$MU$tU z4d#!LBm?UWvz4{nDE^2_FmnFdP#T3dLC|F=!@(i7NOkCZ--Q=?@w&sHzM(ME8cTM=2m!+}Q7B*Y3%*%m%9gm>1ZVpG9!TuE_%W#fB!udpNn_DY_v z31vYC%Bfonbxy!GI^fw414-t5ozPsyV3dvXRAD~Kx4b?5! z%Z;L!iC+{2RE^@flnvYD5!!;Oe@fmIZxeEJb}5WL*%!h41P1CT8)FOY&|C-zXNwk^ zp~a!M&@6~e5?uU$W^XugqA?f)9+#UBUiqhx!`C+BJqqj5D@pe0+lIZlB zazgJ*N_UmqfDM_UrF4>_!A@NozL`y;9M?VZ%ayK7PzN03f-~s38%S!z&SV z6o?B|7vNr=*h_|F-*`jP{NiY57Fb*sPK>ta2gl;ll{;x8V_;jSR`Z4x-h zL2C+&?0~#Xr{|rele==O5ge7Q=u7XZ!lDlmpB+Ft2Op>1&dE~DzVJJ@< z1x@0J)+HBz`zA;KN`=0QHw+9Ux8Gy(Qmin7(i>~`z^0=}o)p0nCTWEkj(Oi_CXhzd z_-12AyX%z_z2p<1WhKUfxYUkxl7ikw9P|OM+)07C1SdBVQJlY%f>N@{%x_RJ>11ZC zfKLU%bcjA!v}uL5bP=ndhlfAvpf;L!VJMg#Xv`mfkFLqZRj3`Vc+#PF9gU7{as5>8 zU-S`n#q~ARaNNr^hudZe-F0BrYltRXqJPB!8EQ#e^~=Yq#?!!9f+0z*qcf<<-74movx!{dP` zX04QerG_tcB+p48ScAkBVMcZ+O2QJR@h;M$K&ajqQ>&hJ1h0-`IGg0tKud7tt`n~9 zNj8N5de1;ez(vm|ow~RrmsWu;X{W=HvizfOk3iZtX4|4r*9xYl3QO+o8w{Hn#-bMo z?Yl=GkDCX|JIzM;T!2;70_m{x_FMi#=>(&H*zu2>--aC?-14fjSf}f`Qq;rlZ)_P84Z#=$a5+4f{MSjxm!pH}jCvY6Bkx`7u~W#2IfJkmO)1y`KDTioLw1Uf zmq96hWE-kz_pc1Pi}^C#ssTfacqaL8=FAQBQofiM#eWuE^GR6>J(hQbIQx0g&BFM9 zU%=^o{Kdn6-4Xxm(N|wSdJ@O~dh+FO@xOkRpO~SI7S#@JepgukjnTl!0dn?NpJBkB zhXf?-2hnq8Ys6Sx-OM;^EnQe>giBI6c8|bNVd5wOOfuY&a!rofxh00jkqF926waxL z&@A)18ZRe>i`X?S3Ngy$J3pU<;}tl6cNtHv^Kxn%Mvqj?flNau1MMk#g<$&<$}@=d z^?OCt4?wRk>G?y8CRS+k~4i+9w0x48IY zqE~=Dpbzirmr6Bjlcea5xfkQNt6&j8Y%yTug1k}Fe?m8oS4Th{)~&H`O=8 zid$?2kq)bFN1xuhIxA;I#hdr=V>w0z6n-BCbSi22Yw;x&aB$tAX627)zrOh64jT$T zenyXvpULwVPX=a5dfBt5gK%O-1To;&-j!i<_#Cu{FX9IAoolf{_wpo89C)4jm(Do?rRh823IY-TSF#BtdS z^_iIO7x)UaP|3^7s|8!_lf{(KK1&MjBW|M1_&uk7+`po zq5nhyb2j6lU}>IzHSp-tnB;&-jeyM-)*$w^%?G3*_aYZteV$L&^ti53+gh>(1s1N7 z{pnBH7pK{Op_#`&|8vHn4YJR&uTo0g#`#wmR}4TJFr?!#!!q1oW3o4ZJv^Ud5Cfds z7K=l@rwiGvvdhQ_A4V9CW)46`jo%Z)^gIyppI_4<9Jtwk^658{LF56By{9>H3KH+A z!4-{;@yn>Ep5bf~K}tVyGIy4h}}mZ8n?t+F(B)Wm64q!yR}&ksOuRi*HeH~q$keNs5e~dN=!hjA+WKR zuC%pA@*;wg|M_9%1Nn~+5&etyaYz2=ufBTpESCR#`Q_u^5WzggxEO_2DftQp+i$7WudK^)hf(Y)SPLgI1~>s zileo1(+=4>*hJhp8`vr45STvgmo-q<#U&hnFY4;E`wmGs0{{7FH^>$0(>ZMkZ1ut(lJSBKD{iqY}7_vCr&(7hmaqo&?II_EZXk~9~NZ}q}9L)JvQ|y9z>o|VLrwT#% zI>uhQWAzC+^~PifXl^dDE=C z&gBaGk+{a?5i?R-d1oZA(F%%<0@~@CK$nXDnukil_Y3AV3DUYUwIJ3AkZ|^YFn(eV zqyN;*h(=9qSVT?(T#pE;NSLlMuCxXbreR*34F$Yt?vuNaWXTAUkYmFH7PGHlE0JYu zj4AENSME@YBW81$h(zxkTtGqwNVOA-Zo(Kon$?Mtupr`#6AN&5mR#dDI`cgCdjSM? zh398{pI|CM6E0{SY=JfPBjOZ)g<*s;omDZ~+CR`pe3=pti9`sw;Bk>L@i&g%mq5HW zW@L~GQKCjRv)MO-2|UI#&BYtHQUi`*AY{HR&G)HTi}C*5QE^=~++b|iDe|gx1az1M z@wp5=2&5}>AFxq?*qSGd`^zzVY>4py?HFEVwedn7;dW?36>qY@HG&L(K-JU*o@w=G zTNCs*H1O1+CCh4bR%h%O!FFJJsz!H!we}`*uA#N;xYJvaNn4JsJMEe@(0p{uVgt@2Lq3`D^Oz7Nt>O972AQj^T z6eE_z$*^&6-Pq{d4F$FEygEA67&+10!(khQ@H0F~ z-z)-+J(#JiE|uNbXnM-2Zpw%IA}Emcz0Pmk=|J@e4B=WLRA?MD!jnSmjjd+Zl=n_F z?v>qSu{t$hn?7&rA=&n|S_3~8KJIWp;*AJAT!L?{Aa*ZMOM)EbWyh-qxT|z=4G-hS zlrE-$vjT4u@i1wBRER^`-{Dd6kDYhm!;&nDYO_Jwd1dX~SLQt2N01nauh^uXnT&fn z*#$Iw)8kH(Qn}0c-adBTHAnNADS}|xu+VVgTN`*~PH%h$C7W*zHxv#$<(e$n-JH28 zq}wa{98yOOlw@tZo37{g@>gy^opv(dx+cJ(o3Ja3ku)2B4#sesh$T9(Rkgl0%83AA zo--2i!y4$|S3x<9=NHBB406|{19%4Z@#q(BUYz z;Mn)RO+wzlPLVDPVqO--*u{1Rj#o?rXe`Law0QfDQb`y&`IU{Y{&{UP#r!rumJ; zN-AT;WYOY`PBZs!TF|6+Jj9L%!5l&?#ju7E;!$R<;nfK5>06B&pF(os&ii3)un<%q zZFv0WB;|H93YuNDTA+ASjh|T&uBKCU1tg?qki_HBKbivW-&2fD&T;E^x(U%_V?Z# z56PK)_tnnP(cY2Eh!rKxfQvZDmLl|RBdk4?OJ+XNRFZ+62o-MRZ}nLxBe@C`59GL7 za9$8mkWcF2MLDsp?<@gJ!>4nqZ!2lw^I`FS!+8PqX@VEkF-JZRN|u)}vf*`EU+2J* zQI5>{hj3bBxEaw@a(I!$0LIBOaT?gQlLv}#NLiiNPGVXtK34PhL$U=zPa%G`MXHMn zj`^PYIGb0rU;rjV(gUpRO-sv_F@!O$EicaZt~~QTowJ*v#1`aY%PGJlP`Sl;sF4?c zTQ*vv;18G6`~$2rrz7qBh2OsOFSQQf=vHt)+&ez}>(1A&_SylSbMUl*x%nCcwf&R; zV*9xjbWNcIsQSR74d}ELW2p4in!sr48Q?Q-BVhAwIS@026Ofho8bFfy{&OJ5G?RoE z`3|s=zP&@#`VTZC4edXff&Qf(fbXz>|9tY*R}KH)r;mTT|9_RAG9SG4Bo9Y)GA-1& zn^?dXFAuVvxBC+8k1|0NA|_#O1(UmH*C?3LfK(En4SF?q) z!P#kF&0sP6*`8m>OXTfzAxXaElNY&Q$|J0Ppn`$(YKD3&imw=`eL36pF3Z#S4#GWu zL)Jeqpi5ezDK8i2Si=Xki5j1mK9Me!-EwUZ++f*xaS7-H^*=1a!w4iCoP_)gIP(#e zye?oOCSxx2%I*EmO;MitGK?~REBn+qlBV|n7HvdCC;Ny@iLb1DvR+)zAY*oU4sGKW zxl~s2)-#Lr8BMTUcZnR4yrO;A7TUmsQ_vss@l7$Yjcq|qS#MYTg#tB{aZVHxU5aXj+^39JvCj*zk)T=F-wNSbt}Kwl>6(hd`Y{7u?wZTP`)wF=MRHM%G(J6O9zhZt#P6HjyS%6V?qfm!htD z*b|FFxvdjf?dV)Jbd0V6Mz`#JNtaVMYPXr!ckE&`)1}r@A5XF zd^ew@QliCEl%oABAeG}@@M4?Y@EyidO3DMTCZKo^)mE3oDc^NZD7F^f;5`qLvX<_o zAXc9sI)Rf$H>4)1_xGO5=G>MS5ATO~!TPBN+A_`V)PP9De2i|i+$U?L%dF>2h)HzV zhV>GrVPd?+xGIrYlx{8`oEDpND$Ix7m_OxNq@bh{u6crD z_l0sjn6Maq;n-vtNRlbAgXsTA`jfJ#*_LR;@t#HwkrzL}a{&>fl^Eqm+da8}a<^7!rG0AfyZ*-LCoukh>2dDz{i4sDG z#%qq;&CL6fG>5bbBQh%)d4@|F0A4pxDr|zr4{AOGiI%=kOF(|6LKGy zbIcDzL_JR0nV|iiMs`sl$?ZYnemBtw^R4(jLB?_k>9&SqyL&e_#0lPKg#x+M^_x4hV^jea%9zzLFUJSJxO<2_Qq z#cRAi0bIh;X>ql&N<#ule<*!Sn$~Wlgt;@VdwvZl;6EsOGH1Q*X^!4Bho=O8oH+P@ zF#i~(w`33)$iMwX^=<}uY!^n`jqKV8NP;(_P=~>_@p^ybK)zCFwb86kipQ4P^et8C zK6!$Z6?M^CYPvN|rmuFU^^D^%vI*r+_<^#hTv{m}kp@M*P)r4QT7vdAyfq9Td zZ4)u#UCR)*84aj>-zywK`M(#hJVYUX;4h>JxJ&>4_;DQn;ma?c{uck?SNS>VHqyE; zfdo22{I3FT1cJduAO*jwuJPs!i&UW)-hlOI1$$w(U38q!p$wJ1&d)0<*#Qn|`9p^TMG%e`VFmJk@km1A z5|DM0h!zo5&oNgoSzO^M)&$ieoMgn#bVN0GVoJ`|0c03p3nAt8=FP`w2AaJn(BT9r z04M8v_%KI$;~|z|f{oW^=j)@rH^(MP*GXsZ%>lfE>j?ikezAW@NjACo;oi%4M|&@V z@^6bd<>0QS&~Hg5;~k)=cag$>ns6#l$|vXY+Bd|kw11rA37+bkdQn_w`Jz#nZf&c4 z5G(k6yz5ILl;KVn(+@_}7D~w-DeZx>8-W$x_p;{$_ZQqr1fc_k(=Hi$en5Cs%ukmww+z91=UJKKQVfjYRCUCx-6!qre-p-5Hd;M#ku_;NJ8$2<*g4+mke>^%dpMKT_uubusqeo(tnzEXj-v*X1!bivC_cWZ zzW?5yvqg1188vO3;r|!qrS|=AFTNS>9=v(E|IP5*gV%fE7&iNVTzC}NK4WGhdcE3& zJ~tCxYS@uuF;Lt5_wP@-Cp!=SPyX;fA3gl1;ltBEYF>AspHBCGd~siYwy|oTILq^*yUC09{roxq z@#$s{?e_imf2a3<;MZGGgFZ5wR-$~th;pLXk_VR{&AU#eKJR7ieOI+(4CCZ%-I zqWujfrvf#~f)h2vGrKd~jWz`=Q(cY|s}$@KjV;)v<_=-U$=zw)nfJww?GYPr>&!hq zIZgV=;}Ic)R*xD2_pvz%uL%q29VN&KxJAQx4VW>1B@VP8ArpOVGG5av!FJK%WflOj zkM?xPoo_cQZN&p5yBfVjO%4s_l_ryV(BKuNrgvW(A=fa3?{Cc=8+l|7-kg_8B;lhd>G=dCq~CbBwRS&aZDd?M#p3Ru|)430K{cn8r0LD*eOa z!W0FZ`eQ=MD*91N3=IJ4bByIiOf@>YSs-0Ba+*TMIwK&1`@bKds<3u3c?k2oy;)pw z3>+D4zs^4Za>B6wAqmJh=xFCJdoPAB4-Q{{?;H>RvUhm2fAA)wc=RIwFHxZ_3Hx%* z21x4ank0t{lQn(uv5GuDrJ{`9hyu&{h(B#h_Y$dT0U=n9|RdN-4x^x4MwNi zX?;Cip25E@X`2C(u4~%n6Drj2_cc2`ec~u6_$L>NbddA`BOVmjryCnCy?XD#smhBb zePakx;fl)p=L{=;^t_K7KIWv2l3xRV%QZ)*inj$g3V|G4h|Jtn`qojZ!vJtuw6_<#}OqlJXk>Y`~7qBgJCu zup~uf!>|JPDlKMOQDG|iJUii1oPL+%!fu!&dR@#fi(P@l+8u)^(gXr%ZIlCl8|fpZ zFt*X)OWi>?=c0}!=lY>fZr-1;k9eqV$8q%Y@i+ieK&-zkYshNTryxYrV_$|E^Js)& z^q8SIoc{(k_aec2X+bnO^92>>G*s>pHP0vlqg2pjP9=lrR@T|DXbZk;KYIL5L$bff z=aUjmWky%UWIRN@(PWh6=kuzr^+@z2fB!7!e&zEa2BVnUyqp5VgjOy5j&8M&Xxr}X z3?=g82-9m&c*>D8C_*-( z-9_I}pJv#1SkjgnhD%X)`24=CdD=6!KxFn!h(OO$|pA6^1XVZu)>Ti zFtuG5n~B(Z7X|lC{-#S|2rr8T+OKxwDALVNu)bMt6M}*|{%5}zVM}(4uw;@KcZK|h zll00TO;(5IChf~?UVgxySx&^EfBuxf{k&E`qO(bL{vJcYl$TSNrW-*=$Y_iY=$ym2 zDcAzC@^cPhp0s6;JTjMd^e>9!`Jkg+oHv1F^A1XJDM2M+QJrx$iwYLi^889%rO4B^ zpN)=Rqjq?D8D!eAVfJeYlnpE`8|uPQxFD{*S}wLsqEIo3W3If6cQeMgBn| z$7F1Z9eb(CS{gUC?fv*j<(CK!3P|TYz~mFdgw*gp zX5V6F(~1aq*K038x46%8O=>D`Z(S+3Q|Pm{jv&g-4FVzYcQF;f@wv0{7> zMPi9PVI9JY!i2+=_P6vnWVj6)zl*E-VV(iMF_jSNBY+8XF!!X)!D5G1Vx0A0cGb=0Du zFyCqsC#$EHLy~KkA7d@sRHL<%>qBWGW~}k4YHTaKIU9|R5|qHt z>Cr?+OZ2$8neF9DRdB>>%%78XL?#+;^NZMN|P3 zlg33lIJd7IuAHINh}S|g0}9vX6oK?78+f;PU>c!ACP|hBI{d(4e0F^0JpN}x*Pav9|?Eup@$TQQ+tq{I+L4+)#xd%{79&v_2 zqLcJUGY3JBh&)W{6O%4UA_3@=QArnnI9=*K@1vQFyjL3z@97YvFLCA2V$VIGg(uFj zlSo~n;48Lh+@Lj916XQ)lnltwiJX4=hSq>8Qd@a**j#kW_u&w6TZK6KTuB_fkSQ1J zNM2YE`G5>T#on!4u}aMb*MYw#8+Ms7Db}?|{6fq10}-nnLrb-pk385xg6a)_F{2b5 zF6WcDFurS6umu|h=tfy>s5$awKD*b_4}4}^Ow5aZVW?gf>pPaKn{43m4#3@ki?4a$ zW$_Sy3<;eL!Yr&k_t}4t!0?oj3Ez1!w@_>RIw0LDy(Mi*d&ha)okZO&DR3gUx}7#l zrb|s;yZ8E{XOf1xk1o?`wmNlxjg!5mY)Z;!#Cu-+%KjpO|3@+X@QVk3|6h0de?NZQ z@c(}D)#Km%KYo>;5maCp6?8W)=hc+LFH@Ai(A(>Z1&V!1trvb2Z(kSTgv?OWQBI(n zQBTAaIeKUy@FxR@yyb!IO+O%ZA-QK;&=AdUH6h#i%Sm;XPmYPk}~qoM1LCaCrbo!*pLPV*vJXC5*$1Y)>WM0Ds|oa0lh`oJ6RJ`)#4#S;jg*> znpeDiwV;caXqB?j{G0bzWAbl;s5s(u7uz4|F7_K9(a_mXlM6$|KQD$@xt>d;qr5)twP7W zL~^fQOA4e^qfsIparS$i&nYCfB$vp&L9vF%&m=F`i6H3AoH5QI{sE2lYkOU(2vy^`Yx)8Dn)` zznf1C&m5*oNNCGwR>np|UI34!Z~Su5k}PM%yvwD$xy5--F*Bk-l9sH%gf&adCKXm` zBst)iVJ)4rDnpW^x-#-Y*usV_m`u>_pZh8sX&Tcv>DJtTUYi>J9n>KaUaFF8T3kEfBhPQOg*vTUov zq#wEh)6|TA&ruklf@39CU50lO$tN(0>p?d|l72{sIypk}@F&{Z(lVI*;PVr7p0z{-pC`Nlp?S$ZU`awy>z_Y=*#7;Z0}RoN}) zjO;?72iu+3@6`<;bhQcZQk%qdEu6ywL8rzWL^2}J3o-%;`u4CjEk2qg9L@e)l3Lsa zU176-)RQDiqU?(55=3yP)`8^XC6rS0a^@BTUyYvw8bNbr*TeS>#LjEYiI`Lc)>ABk zVu%mbd(IgGt60v(uO=A@6&g63L+Qk#ClXt=Z~d_(qtfgzH6Z;2q_Li(*;gFW^^V>S zK4{i>bf6*+9?8`uLGpv1DSJh;&qJvD3aj3Kw=>Qg@wa8Q$eZok>=;F2hX0Dy_9PeS zo#*JwAAVRfp?QG~i*F+mGs!E$B-35j)kTTkvWDK4G(85kD4R$@3K0iMf{n%bh7QJD zT4)X>FnYb~)S?12dyA?#^6xYTy5xAtlr{sJzaq$P5z}TklQbNE4%9_%&7fx7?9V@c zxzdm&+vH91v{Fb)pE!||b3}W}*&Q$+(VTO(s2~!!3W?pzTRtMXdXyjvOtRv2Ti!^o zW5%J?2(~0VJZ(Q^Pf4;_Hh)h`x0{lnk;H;izK9+D>7CC+HzS6rl6-MF|9}bVuFGk8 zA;_rzz=jsY;yqrXT^thy7!=}H!wT|$w(6i*)smp$_(MQkY1ssI!=Hl7kzcjkSNt)7 zSNTH{3G$~9SMj?hM&bA7-1Cdz^vMhjr1W%Y>^`DyM-M}qkMQelIf)K#M#r!cyg3}Y zb2;a1!j8Q#hl7BL#1Z5GbIydwh{;jOx&>FrP&HIF$9$Mm@!*;vvW?^xQ<7kRFezmH ze}w=Oi+s$}lH6XalqFfv@aw;dNXg~r0}f#*Y{Z})poo|!1FQsS@e~K^K&&zGwWX1+ z8ZrstElSpcB+!M!5(>3~rc7~2*ZN=`q~c{bNWv?A8Nv<^>4qG%!Y|)$gC-m=XP5IF zb6Q6LEn0~qk`a(z0nhxH?*zJkxU2C^;6>~rk1S07820gCKHu!T6Zj2}j(3jV9qk?2 zVDwKP{jrxleezGe?8`@w@PAM6e_!DLo@yX^^-IoOSIqA;hh>N0(oubTeEe3#R80XP z+DS--BNdu-xiCozo1^DAGF-xj#KHskvYK-%t_g;6G^bXX3^3A9A3bh=1i4Cp&Q`ka z7md0}aB8Xj6wNp6o5znD?FEOdrJX-EYDE|@UGK?1HR^@1-l+DcZ3K-*Ed$+w*-8S3 zSUkyy(L}KJVr)c*8m5D?RIzzxH8(;!=A=mgS1y=_N{V8*RR9N(IR}E6Q0ry|?LBJR z&-HmAhCjiN)`q}n+)_7xfjch)Jqk2%O(e~}T)YgQ*D~Z5pPX?0(=}HjKT;%Ezx$EC0YP9{2U2*|U9c|0-CM1g zK0z!b2%HABa0iXlPHHs>kp|jty}1PMYb=9lo9X~Trm!vD}Ie#P^g1@dPHb_l8Ji>Fc;+pJA zEJKyig^W!QPdK6M;xlS3@@QDwX&qRzw8k@_6v@(ePm+n)a!$g}K1*J{|Hziwb4L{K zTpBbAdCzW!T%ogn{)kz~w^kC)@!kpgd6JE`#kD;U|2J-2?GpRMb^^SBgo2+1XO5;u zd#3+Ydx|Tk!v4+f;9kE#|4)LwU)}<2z5f5JM_)ATzrJ|#4CHHP-$_+}&>KI01qQF7P>vXW|t2l#Tv0zs2FwKJsKvpKX)7pBo(Aa@Ui=#!3U z>~{uzb=1Ir0V_Dq_|ipVBB4KfC6+Y@QsYQ#^%Snut7^e{U1`~-&fAd2!3kd_cAF?U z*w}r`yCnjVL5b5;)WFv2!EnS4p9EeK(@t8W5JDJR-~!m=E8cKzh!PJwuMFr2Z$fEt zi?h{#1VV=ZsfAh^kxiT`IbwYa?ezj-hlS4JqAaI>Sv8&9VDn6t>tsZ2hjT}bq9_{% zrbHkqcCNtKQg@^s41xO{(%y_VoJ_`rE}`w+3!-c}50Fw**?%q}^E4~7$b#5F#ft%m zHgSiCqovRu7vuhLHyw;ZTp* zK4*8A9${Au>Y5jPSTVTjyqe8mijzvnZEm114$T@vOtp>CvGPe|5eZN_+n&UZ<0Sz? z2-j9q95dNWh*m)i&JZebDVs12xfbakW~NntHGi@nEM3-X9Mf$$5YbRGnnB>qUTZua zLeL0*e1gRGp(mjQ@PkU-2eOMYsvH32dba3!gu}~1t6#qt!wS^Au%5|dP?&{E=n+qr zQ&O7qj=3dgn`H8K6Wq_E;Bb|3Tzg~G=1us6T$rB0=y`E^lD~^&ovnPF>C;iWwo5^O zg)jDA?!0?-Jbbx#y!-9&c>nd@!Mo$(>mxS1el1Q+J<(J+C(9luq&CmKJD=*lEy%z6 zQXO3Myz|jZ9JG6SofDv%HwO|HX>C@g7_oAdlmqLTa4&W-t}q%;tJt7>vfLYCZNCWq^4QV)qq2a;3M$_B{f%epTJ zmzd__{Hh|f0>?;D8+q68*)@T7&aW_xLx8xAB;?(jH#@KQUJT#v9Af^_jyjTSwou~U z^#s?bt`_c~RB7iY=F+Q^aw9r)Dmg zJZ`x6Z*TVxDL1P3%9CDPDq1S|&B2>JE3~$?d#1AM8#Ai<2cM1g#r`*YM{wx&k6!P< zDWp{-Bssh;>uWp+uH&PB)1>Pdlk#x8{O6i6(OfNi|=$fmMr; zPAtJ(&M9dv`fj)`B_9*T!X!(7K(>{=D+jt7NUp3nobSmaRCjdwZz~IzTa*L_Kx&Xn zp?$|}K_`(3f}O#nY#;p3GmNA!-tT|2Wk^DUpM+ ztS(1QF}8U`=jWDJA>u}?xI_XsJ}<|0=o3ps$syM6`nsX`%ORz0)BH(CUxyy4O7K{x zR4s`Ov0wy$ny8ZO*aHdEWO>6@#;}Ez6Kr0yJqLdix{}D~x4o-mdl?jf1^ALAH0!V#*T%Il#R+0^LLs7%H%?H zO)VW<2#nv#z1K5*t1zljdR?lAiiVZHBjrkJNuWzLP9#BY$KSERCGQ&}I&^1xV?Zo! z${_shbq6-lC{HQ?B59PrP?L%6iNIf)VORf?9OzF9vwF&Z*^~JBmSkhA(~JlLvJV8fX;Os!M^HDMymL`{{%w-5x$P6Rltt!#9=8p+ow30)BXlT471 zs09|Uw8FLHJV`T2yD|&68|fiCCoJeAdOzB7Z81nvbcJ;w2YsZV3JJa@fCO)4Ydmi> zdV6qmoGD*_4a-A%K9Z`OX*l+zWSX*KHGbv`kWAIlZpN835E%sK=GG0d+Zk4Ra6f4d?lCjMw6?5zBsE<8ib?VCU) zjr?aSbKx9cjvMc(_=cl+IwoC_rh7 z`P>O}EAe1x<2hcW+kS2a&@)19h=2i%u7s3*S56myjIeqHRVmvwO}v{v{>e^E)KmdDRF`m=m|ge*t* z2{0m$IvX1FytA50DT=b?do#-nyOaQGfX)roC__wu5qnRJm*$R&^~2!G)kO zQ{nrgi35eO?RUHex@wGC1L3w3dYH_D38At%cE^p=LYQb`^Uchw)+ zIOt80p*!U(Pgi>CERlnEb2HF?=@7-L7jR_1P}(@jgm`nM7WG7U8dezIw!)WvEEt9$#24Y7e`(<=h5bIEpFdd$I61;(LGn2}wCrW!E1X!%+1N!l*hy22StUQ0Oow+Fn zY=gk~J+^w};t^6NKbCRy?LFjXWz#g9D2AbluD*A`+Q|KDzhLx3t-?9Acv*vcz*suR z3c;?Kv$hk2J@mZ|Oo4QKMHg6+S?{-qE^7l5Q4+onz-^Y(i)y5%09QF~FnPy}jMi_& z9&}=Kp*$sL0$|0pXe8Nx0z;Y4kwj1!^#T_}wXbzPdPG!lrLk*WhaAEUAe2G|Ra@fZ zHuFHFaT``W8CFP@n1n*9OvnwS}1pAaC)Jsxqby0wCzMh3lBi02H>OYyMXK6n@e)btfa>wtd zns`@LH_$(qM28r8i6_h>Uoyq9HaK|X*y6@qL1Z_>ieNU>!B95VPA4+bp;ORqsH2=Z zb?&<%cE&b1ZZ*JvahB#ZoGr`uV>!zH$i_}QUdgO1mMn1sPV7`ok;)ANfZEIq+Ti{`` za*-^`F{?NvA_$I$t)^&;iy)8*9T;a!$4WP4t;Oym#r^6>bm1{~jFp&5d}s#ayE$Pd z8!^aLOeThZq@k}NYr5TbbXq{#-KkA>Qe;dfx-Zi1gRHa3y0}fKTTMO`My85}JFx(E zjlh;paY|^5KM~xDSbL~|)oHSpa;yeXCNTY_SzoPqGn9^;UNg<-;!mxRhMd!$_Vnb@ zDV`l`1k~Pu_AzL&4`{E6f)J~JxD>n*DOE%$!tD)zxzIpiBM$Dazg6>fG?Gn5?Hi-O}Sp!y?}z=YYXX(Qn7a8wpIK_)N!=Sc@) zLMbc)^CdBMv1r0r+jTpKzFbcliew&`&du281w07>li^3y-ZDT_5*d#b5i!ljrx{Nq zi3enVCe&^xijglmaQt@4OGnkhLbyiy#lqQRTqw7AGqo1NKL9zgkCQB&j=r&Qeh{QZ z+Sc0e5RcUt#e_Ui6bqenbY!XGL~T+jhbw73f>rJCvCS5NkjaONrIg1i#zU7OC+a&T z?!mE0I5F4YCsEXR-xEcVO{bFz?9J4faQLBrtR}g@TtZN&l9}i-l*LOKoU@t6{&*#( zP{riJ$v^ZC97Wh+U0SN}?D^mfR%60L@V1a%I00vXP28tM@w7y*)RyP@zf3U2y{E>|L?hb$IK4 zd!{s7sSBgMtPOLp-6H7ZqwN_OGLRK?@8%PKl@d_FlMb9EG67rplkK;P&5*a{Ts-ev{d$Co zW8@g5)Ii=Pz?vP~%L1-Lqb=f31XXxaPI<$8YUOa@0zgmX%WuMwz)^{k2}r5(HF z+!VCj{VTGh@v1U2jD`V3l;xCDm)?e^4Eq7WZ)rB45EU1%XHQr%m#I5mp6ZK#Qkf=_ zmQtF&fG7;|o2Mzm06SV+2bG!-bLJwQ@Rf8`VqmfHxEMRjT{@7VGyw~L3nf|q)1z7; z<_#ReS&w9*c&+ukHcN;xWVEtPKgL9ne&Z)gMhgo0^p*?oi`A#MIL?(h&w?MdAw`$= zRI}8x)gwzNEx|i`7E%XvWR)VfDK_8j#|ky@ijs;BSA-@F}^GFhQ#K zJ4H);6cazJi(<;Yls)77Nzg%Q;>Y0@qhEG8J$Ff;!|ml7YYn8u(-kmL)Piq?hP18S zU%Cv_0d_O!RtnbXf<0+3DfY+Ta~VnSGQ}xN7GxAiVv~{w8P8pi^-4v5OfKR2C%$xF zyuoVzx{=^S8PQOcW`<-c;7|(}Qf&PEd7NS^$-+BCB zw{RpC5WjsytpeN9Vf$=V55e$m^ZO`3-TBhD*b_pQW8_^Xa*tvllI2-GZH^K zH1ZAcL`&Lx1d0xN6$R9X%|K>-__~rN&6fR`Pf45DKvTxZ7>fjd@*K~WhGyKI9kC6P zAepG+$ZIxvA`H_p&FYkpc;bylqAKX@Poe2c*xBdOfL3M^1a{?|s(3ISq)~k?5d}2= z998aro-p3`e!?b9t$X+Uc_gAguO@EWE-4U>>`0AprrodK;geRqqwv5{h6 z0EuA-O;lP<-_EPcc~RGX$^5(fFd6HNdJr^Q&3O<)JsricD>--3dyu6UNY*6fN}^MY zXg=#VxYiUYX$Rzs2!!-!%lb;JQrpD?LBkQ@POpgVQ1U&01f*Cjo4z~~)Hf9-9^Ak> zOB^-JK+|&hClctiHo~u@?nqTMBMl@gXO~6HK>}7mhpaJzTSntDw8rJFXxUxHFU9MB zU5pmI-NN`RY#=F~!}q#WIbKLv`v5J_FxkqutOb&9Gia;DgdojTP;_?Z2%L-2Q~o;>h-!20+M&IOjmQ?=;W_YA#NJqRma(9df_oa41MDE@x_fLwh9grzn@e76x;ymy^W^ z1C}#yh*zg^atMq|!w4hyqW(5|%0IrO)h+_br`rLS%efbj($3U72>}-D4>@kTV-59o z)BKn;biC{(!m7zjGiJSwu8xPG5~FLYLkbChNGj!0M;xo_tZ?C&(6%IZ{cvot_!I?! zVuGXOoR9suM97q*E^OU(>T9qoMfwo3xk|{8NIewJ{&zc#<`lZq=kC6qIZEbbL&GI! zBto)L+?>`W`LSSY5ja?~T__<8Me;=iXAT7VZ1K%Hni)qa zB-M7KAe)4*Cw54gX2>1#C#NfOZ!t)(} zvatPpJnm{_r$qCXX!63Dnk+>{z(Tfv6lUdr86k~E1BR)Yb>(6r@r$H0Y5|)X;d9r~ zz{$l{4W)U4g2a^Y>Bzwj>4nhiiR(xr*D!HRd=Jm*-C)McffvlDw_JDS9TqBB-A`}B zURE6yeo+`@07xbQVsPw4yk93lJ^v#GTX!D$l+XiT3E$e3vbtgZXxTuB)HJAnGx-y5 zE8giD9LWyEn7x^YD;Js7d@!nK#=~F`dF`&Yq>>`ki@HK7b!n(7Wi_d*V6~}PW-ucr z7lFZyIkM%%o8>Y9yo6V&mD03xe!<+xN_3P*V}zFICFVeKAKjqQzCUTMsg2aS(ANM8 zRt^?8ENluG!r<G>k^qFvI$5 z#bQCBfK3i?Tgs;Q4onvU#2pwaXqU~~LXrAb3c&6Vm&Y`2iqMh>!wDm`Xg_`i-bhGx zktz#jl&BVPoA;^EBK2*N1h#4<^b9_K-tbO#tHmoHqgg{DOw_Dl~Ac zqOpXxC7fwuV0L+j!6l`X-wqsUyMdW~geEnT~a|)({js4edCcg=j(?5m@E%0XJ6G9Qeff`I*quJ(qSS`04`OZy8r% zSBXS~n%)ePaZ2n%T5|2pS%?KO^phB4Eg{t+eX*2rgW3&!#@p?a8#igl8yH^Kwbe>d z%K0Qy>UAf2jTx_hw`3JdUYm-vVU6Ix0ny*!$J(`qOpq++Dg}>s*$mtn1jGdS|ffWseM0A%eKQUF~8ApRfn(GN8xQg&#xO^pZ5?yNxVJIZAnID5^>Mp==jM! z$yRb!dw%W0@u|%sA1%bCKl$p~#N+t<(_5OXBG?c{egu4f@I~qdb_aO;JkIYPtet3a z+<02EYiwCuqY@pl4@U_hiikW4vh927hq$C*^pTxQ6lx{Or`-}H-v=YVxM4Am~B5ENqpW? z!;`q0(i>TS3rG2yUE!&ySzRP|bQRFV90dE$!a}4dEb%Q3d8*_MNAH;4X6#CS??k~mpOd)EK- z7v82Y15~(KvK7&g@39%1j~YDBkJ=uua3C?H(Usmum=Q)NMTetpw=oiI1lclV!$uqw zC0c|MRhRs3rI+A^CX#bzSz<0UvimO?Bz_WqAKYpyD1Jr#kp~Y)@V43piRM7vj&mT2>ke@&eGt=Kpc*W8{PGsfk z@3LiyFU2@DDwRs39i`BY(r25bX>k(mmIT`A_MrUPw1VMv z;yuGu-M#Fac|N-`C7ET63p-1<_JnY*Y+3&qeb?VoiX;pjG(0-qIev!;)qQ35=}S(Y zGRg6T*l{M28qU=@%s(Eg!lN~Zn=Ad7y~CsZgEyw6(re9;29R zT=H&GJp13XqHulzfByy~(EroF0RIb%@Jsix9{)f7^2;xu#Q6X5qo=>&|6k*0l3~y5 zA|hUTju^WaofVN-NDaMZx4FIP2g~+OKeT5_Z()xa4;}689_}3v-yZJ0-2XSqrhHKi z-w)mQx9`4wwSV;O&eyN@qCzuY=S^t^|YG(ZC)>yA3pwY^PjH4-Ea4H z|9tfB_3+i+n{SRW%k#4>)gB^#|3*@RhO5P5rWKpVC~9U;!4+7s87X2 z1!O6PYfs*le;q-02(+K?N$HVoj}*j0w&6yH9f;>^{leYua;3;P|+6&S!PUNL72@Yp=cL zb&e6gSOh>a;V%&>TS9mW0VXKjR+i*N{Y%E{iB*dwf7^TmT0KL@B%h{HhVpf*&62jh zDiXzCU*zvmKix|yEaDhal!Isp{uniTVw}11Ps+jw>U^zvbzPZKF|rJ`)8WBD;*!+ z^v{MpaFnZ7fM-#6`gD@_>WWhu0ik%VFzm2jSvYw>!{Q**I%ut}o*uzIspYj2+}$R$ zYK;Vv_ubW!>S>KQP|M&G)bs+!_|9?=LWMqhe+4%E+Da~(8*zIZ;y#NH&)#F_Y^^pNS0sbNFK`xC7VV(n-=ov4s9=6sYBPoF&6*7lgFzk$v6DcKDOA_%XD&8zvvBz z!1AjnORBg`2K1onf}|H};9ekbZctkqf3-k*3kcuFfi(;5AwEPIZ!zuHD6F6;ub0Nt zUREp}w3|CG+x33817<&x>WY$UrxHB4VdYE&mkIU=#593}n``7P8S0k?XEN$cL37XVDGYV7rnSKxlILAe==e` z|H^cLAy!YRp^EES$a{?gD8=PyD6;hH@$%xg&Bgyn7k@wb`q5H-!UpA&g$T-;%aQ9ZagW66;b}t|f~e`QgSuX25Z4l~h5qa_j;l(t_D3pESZOXg_164)t20 zM54&+OScc4zEsmG8ogDBGy$RZe=2tF*vSxRo`?*>vNU4C$YN9#(DMapiyVZ`L0M>u z?;*@KWuT`3-Yy1~ccvld6uiZe;Rtmbq;9z%ZNoQww|5VZ5r$4rT;lx|MFd7l=5XH-#M^OCr z!9LiUc9JSs^JBvbucQ#!WC5EPn6&|1i-=M-AKdHHUQbc&SJ{~Ja}NhSl237#Tq536 z=vKiv_Rz=BM(iM@dNOY*f1ZdKiJ;&d+aq^@VUnd|1rK9heh3!@gJP)|4&Gh@HUUi` z`88-0eG|@zYW6N^78u&aC=@%A{0vM$rpfzKiiM|B{=5TTlkRum?0aMvSf>RPyIT5c&xMj6je~}qgLN-GvL@Hhl z$^3FznL@E8*vUE2&mx$`DbP^NCBY2umPiC)Ppektz`T#=SmH&iQvsUZse&7F1ye%7 zj;ejFRxGHqBX&xu*eGD0q&VGY9&%umatpr2gR|~%85<-arrXC zK8i($!<_3Me&5Y5*(V+ghVVq+@&|4Zn~%zrjvw9P!0%4Pf2Pt}VUF22XMc#!;0BL@ zP^g?Zl!j;0t+0?hoJ)1cY(dF8oK8-m@dwSq~BI?klY zFgDd|05ao=mQ%9l)QR#56 zfwUjPfAYhzK3atpa@vs+dx? z&&P9!%y7wKLE4}xnjnGT3#f6rKGik zf9BQomiC61(@e+P8(-B_R0{iyGld*w+D1tG6-t zQ4_%J!LFDObiur{gqE^fe4rb=rwV~}f6w!7QR5_>uzwQB7GBf?6*8HIvj$n4RBvkS zExrf0r9Q{L=&;#8j-Vq^Cyl-tu(nY|d{t;guC0^S9ff*n{R#xB?s&9LnW|VcKF;3I zI+a)XC1~9%u;-P-^eXEqmO(8J4w|64j^XLlv(*h=JjpGYVgO3%;|#>qw4NLTf4S(W zQ$$pPnrJ@e0CrqK>dg+fUlJUf2BHQHXYjN9co$BP;`dd`b23 z>q*p&+03r29Vl^1R>%!&F`})xf9vxM;_c%TH4M(>0UpKJuHzUTF&Xe;G`a9S(?Ptl zgrFM9R1F`>R*jg`AHIdMB=YD&$Y{gISSa|}hl6tlC&e5c8=;spr}*e8*qAT9dfx1m z9)?I@Yid}>wZgAJae`Tpc;Y+ds zK*pPcz1C2%8v}*C7V5tZ^8uC!BR&0r{dIQ@gOgyMlHzoDVS@Xm#r}mK4)3Gwu!)1@ zTM8##I9E<-&?wC`gO^n=h23D~rYyY(*j;*C|iN!0C|4dXSSnL zx7_;}>Av+z!m+}zW9J8w0Me9ZAD<6|atx)^S;9S4$1OZs*!jX;=f4!Ze+F3Q4AQhL z7*G_DCt@oig0uH2_!uTQ4?KD00wzu8Mgkj0V&Z>5oW9CZfdgLBe_dI~U!#gqF9pe{ zpbGqH;H)#=lt95+#j)z+2?7Rd)8Rq>b7Uoi|-`ZycMNhJw1sLKanz z0mZ(+J0MjohHc>W?d;3>bh0?S0FxrCpN-{pQQ<I?0%6;6Pk+aKi(5u!u?FJ34HyKixBh z71dN2oSb~+uV@(J_o`N!&0fMjx zZf6pycW^|fDO5e}7agl0de7*P&9SbMD|A@rIxyP=e|8QT?iB@A(7{uIE8YxRk|gcE zO9$t4#Kqzur77~}aqLMwPum05T}n13WMfXX+R6Irw+W|g?@~Kb7TzeXdO*x8KHo$q zTZ&hz3sMiJ_nKvX37Yy5ERHQO&_ZF=k#drWqbe4(do-W#eOTie{`y@ZS6<6|Ki2zcC+>4{_gJS?%u(n z6e}&%YQCl-PwgT*`>)#QfvAS0-351>doS8M@R(4EezE_$eb7AG+kbUxifA-*>J>&@ z?Ap19W~PHF2&B=o{uO?$=f&P&lBvrvba1B-jwp%~rxYDs|AKEjmT=n}lcFE|z)KBU ze~%kCSONDb8YhcG4A539Qle5ztXTYLI_ZY;{CFWA(NJDb)&vjWSO@bg;6*axOw?os zES;$?a=@tFoic<^u}(7>$Bo9rcdQJO>i`$tO+^XOLnT%KM|Flg6i|?EmAWg0qIR~d z2)7(>K)1N1iya$~6r)1PsRS*nlI+Z2@q^big{{C+E0RwxF)6NYhOMsmI)z4G$Ne>Ky6 z7Rgcpg6^NkKyit*R##Slq+Xt0(_3dY@&QS1U(s3zs$f`M-kw4`LH#@Dmp>`lnnvP- z*t5jXHxdF_&>RA;wLlz6S;Cpy#qUgV8ZB3bBr`V@jl=>r>6#oajDum;wQkCx!A+wc zI#fxkwo!wbt{DhS9JBoCDC|u#ftUMfy)9QLpOQq06#9S!r+)1TMG*eul2*x(dz`g_U#7lHm!8h2GR(uY#cskwRECt z1-Qs?MBz3(=PqnQ&4+{LpJ?%|^_`A;bxbCK z+A8-4by%K#1^uv3oIG#8Qhn=(QclqIuJXO8{s_B1cfg z)qYZL5TPNs{Ifd5e(z?L6W?Bl3+UI4fM1GIqha$xjk*+z)qyV1e}Ij!TWxEuTyp3L zi_Y3|s_H6G!OYoI3_^4p)}EB!<+PWafN)CmX2zQ70?g|WHsVC@mB%NrxN_6Lp(vKMfWR6e2wu zrRNengSiV;eVYYbe_OyEWE6b>13mQfK{YNA_&Qll)L@`^EhY|F5N7>?LQL3J0hqy4 z3uwKhR)gWSy2QVsDSoF*ZL$DsK$O4PLWUwQGc)ZZ(nw<57};toBeISf zBZGmsF`N3AA0;MCw}18lb}t$eu>FfrU6qinD>Hn=u@DF~;v&GXd_12HeERA81A(69 z@bw3$+_8<9;3LAN2rpp@ew++*56B_s2yd*TFA`wI2AJJsr9qVeWFgiR!ZEoM2Z%&N z)^}E;X8loYLvXqo&Q}^%NF|Pnzy%60^9;27fQ9iPx#(rtsDDcB(T@AmmjfnfmB;08 zu9&NlG6@h8Apl<^scB1{b;Q2skZ6G>6rL(K!ZfsjMw-5E%Ur95(*Q!E&`9)V(}Ma7 zO6LWiuM^S_+vKt~*Zk55AHOtttNDSI<<%q_`V#q8_mR!9I&Wlhp8iiV^E%2<)Sm%K zUgQN^)25=;o}X9+FKqY5Gv zJgZw}MHJyTClbE7ZE0b1SwpfFSqG&L~ub@q=5L$!ORER7!$ zYZy?hUMbqGmyN@-;J`4KvfCjt3$Sk0&Y^1>z=LUrg25|^-cdeyh*;^)&$gfj_^Eo? z;+?6QMt^+hpnHOD2Zs(tor9~UGkMGFt^qi7ec!2Z#Jg~IQR1&(=t!A^?EM4|N!7a< zajocPb}>^;)uubTKKF{2!REc*0a=;&-FPRpKAIL+)xJ-q#O>PYcGshcUhwnw^X`G? z$DWr*fHK3^xo zXbT7^S`$s9a&o^k*C~Tg6obf>22TF)z((w0ydE=o|6VayBRFpdw~pRPSP5j24yghT z!#PwINSC3?0CVZ#dpqj1Yv4cPSV1N%Tlzk*2oQfV<0NcL3DL%-}#xA%2+ZQh7^mUTJV>|rnZ1B4UP&IaQ4GN7MPB1UammF zLZ=yLhMH|+piwdQq^;jXCakUX4vP8PH z&q09E_g!^Qw2Z>VsxDBJ;dJcCmQw*eGPggf74~P^MkPVC10t^CT?kX+$mywtjI7R_ z^^e|EUeB6R{$l208glAcJtEq1j1#C~>rp6TF_r`FC?ZlHEzh=RRxWqBvyK4~LVwoH zZB2~>3nRsCfo~x1`au6UoTQ%$+A>KlJ?WitK~}@1n?6XcWzjmbgI;G3<5QBmsJN-} zsrAT8_>`k1p%^@|gL#F>KcXb|cz>Ds>Hi{PeK}F54;hW z8Sy0nd$qp$ZR~)#pz-}yfUFFLc))pcTXku%5G-9nHk2=iJPk=F3yU9tuz%&GmDdtU z(xYsWvG}!u9X6&j8J0a*iR_dIC;ny_ieJajb|NfBTKKh_FQN#7wA>W}AT8ut^gz66wI?J0=)S zKhs@wX2(S!hc3`0Q#T(d9i~Q@Sp*q4CFlKb?8ynn&FU7D^75Pb6+cZJ2tWgjbCj8T(8bf7MtbJJq$luR}agdwkBtBI}@9B64@qMlm}!+v?@((hD0Y4yxkZ| zyLD=|ji)7A@_)j)%Pj_$d!#at=uvNZkY@Lp>9t@)P)G?hl)ynS4Qtr$-W#L;aKjBY z0(5IT0MxVtGb5N8n~FPcZ1jUIA`typyKGrZM*I8-8=@&3Cm1;S77D(_Mf}S4sDhYg zU5pWkH&Q;46xMm6DMa6(D-wl?kCS%fF&&tYW_fo`2!CsvtaIZG8Ijq{eR*)up)w&< zByN*62q%2gTq)E?5HGo>ZO$o|E{mCN82C$d&agDKc_G+`tg(Pc&hj?buV==w(zhw z?GH#f&8ZT|rkC>s(0dHgkKJN8)|$ix;o8Xd!&^)`K%8Yhphy_$M4B42s|8oOhLi+o zDX+NFiwp25Im;&3SvKIoU+3LyfVmY$Hz`En2Y;KqY>dL0cW6)ynVyDx0bp4PPfRmS zvK%=sN!vHU(Ooh7R6u4G=pF~P({Am(Y`);ZQF2(2r2@G(8fWKuk+YX}q4)zu$nB{Y z==)7Z#N-P|El&qn1{i5{7N@7UKor%0QWXr7&e_c*D21N;bFN3-oIY+6{JLGfV;iXE}n>*m4HX>0$*o0qS^i63B9JMO=F^Wp{YNEp2q za{eh;!whzu;`r!b@6~g=fH+#{B5z(DzJGcBdjH@ELj=IhbC^x4$9Nr8UN&E|Wpw4m z-r#rpmHp!xa-{b2iW|CM~-dv(-4_hs6V2BItqref`LBQg$3wq35*@MFim(=|a6TSBq{6FoFt0pJ4vOxi zH&CXl{$LUKLM6an9!hM(;x%xVHGd~v29d=!*8U2XbvWSw@Qerv2l@1Gi(TR+m7J6Y z(P>5=5o640ODNO|DZx4%z(|xUrmEBM82|dtLRkilw96wFxUtFKGdlEJ1WB9_bD>U; z9d3Ku)pdRU<#!qu#ofs>x?Lk%Ag;xrO|S$~ILmQR*i zod$OR=`wU1LWufoBMq;nM^cl~)$j&ua4e9j9_e7(M_+eNk))SWT?5k*i4>(%3R2`H z&3Q;91SblDKo&!W;wY>YxC2OebPN66Nu-@Pkcf2)`G=W=jDrcT*BJ_ofmr}4rQU&C zEm(j8C{B0^m_`3udF=dLTYq(aK3)$)LPQs=ld4%jwL7@k1iN(NNv#;?=a}-&9=Pq_ zPs;_Ni{RkkZG;h{5a2WvC9mj|3236uw4o_ErtH+sf1$Q18m}b+bIw`n4KMR^;MH`W z{Nxk{<{poMqRGe{Ps-|NR%ujM3JfTyJik($_*fBCU-;@YDW#bIY=4rYODnDh`X(N< zU$>j;dWAaspmIY0THe}>= z{isHisdR7GVvL1!JrcuDFa43=W04eq1QS;^NnFG?7xf;@R zkWb8{;g@6n-%qEg4JCw~hy?(TSn9o{Scpo;69EY>VIb#!9to>iRG{{D-0^HrtcXqEhpKN}8v z6(>swR#r1wTb)zY&5w8+5E>TU-FPlu(fx%w-0iaCy%LB4D_l| zKO%k%>j|>5ky?qq;l{02kM>$W9-h8#ACNiHZ9?~+8o44w=wgCdEHA5{c!|(2c#s$# z8C~&^eZ3wMN&S^3xM|%}@DT#xUe+y>1jfaHWPe%YdD1FgGzS$fn?$N*dIhpd6Rm}; zmXM;hq<88y*|z3gfxH?8wq@=DgBT3-mZCs3m6yz)>(rKKL#R#xh}9v4(})JM0(v@X zE}mD@JN~Rm70IrdDtJN8h)VY}3aO-98)78SKE(D_9N8K9RDNxXa&i*j!jt585)(_0 zYJcU%2oakom>yFwG>8#Rs6ZbRs6me~f7}j%r?qq(Q<|tjXabEehQ-7?h_WzG9`l1u z>mbiunV_Iq16@$wvw2N`1z>}qea?o7p*`6{luLe9=>3O2#+kOR)y9!E7f{br?T|zQ z-nifeLDxl|x7O`@F~KBV5_PB73+V%_Wq;}W;iq2-{Wlm{JDmls!OP9E0SH3?&H4Sv zyP!p!Aw!1KcWF0plVThLuM2qY8d*t*1 zup7?@k){#aN*m_4CC$RZ(1-*6ARl-SXECb z?_#^9dZK`V|?uO$QuPEq`@goFw17Z@3A3FT|d)%9w30b*km5Ge3I!M zy4*4--5CpSH2rYxb@cEfbxY?a?b!wF9+GcpK+c&kg}*OhE}mHs-BY)Yk$+$q#mhE)uq_#o6A6gxz!J5n=rhZs^F2bHib$3v8Qyr3Gh~*!nrTgQPo1OSi0WJ2A2x4eV?otIHtuY6pFSq_BEDtaSIspOn*F%aW(E>rJW%J zUyqYCG z)r^2K<1Xy@Zcze1w4nMQz%NYHB&SpP^f#H5{hQysk8iY5r3S7QpAFYvmt>f#^%jg zgyPal((V3*SaKM~IZW!I+DG!jzm2iT=8TFQ>NcpjonP(^Cfv1sC6lqumfbQqzUx)m zN|px!lEg((9h2>a?#rrF)!)DSE_pgwNd6^5fI7|y2HB-LRqrxwuc1-oGN4E@@Hk#R zN&b>7zkj;CfPVzbvS*pgO*}JWSWK!b1L)oASGWCj@^oPV=_4v_U+iR^#;l!~tQkUD zO}m4YI=IasZ0ble9VaESSU^EFQa#uU!$buh1y)R`lPz!Wvc*TY`1P)%BiS>3psiL| z+*^2dfdvY|Mx#suhvk4&)cGf)ZbS~+5H8UP$GGI^>VKv{6_nTwLY}xReV3J)4PL8d zKzTM0IS|fdIPF=2CYmP2y(U9IaYnHh+KV#HV-N|QHe+$=0XBvR?QsG#99Iexw@x5J zSTxNTf;M9Dz)CQuY>DKCtCve%^iqRpTA@p>;A%Y7Y0PxVs6j=nTxg_W4NOWgQ{dYc zsgW47B7a_EP5M%jIWegvYSbZx4OBXIc_{XWyA`R~8Qv&l?01NDV?-dm?`qeE*W+Pd zfmuE6^_axM-4{9zw?DKXwd}H>T!W}LwyM&vWEmPEL}GajmR2xpGE8jP288DAbaL^O zRn*$D%U%8`6)aP7?n@W0X>s_>n&^=p;yzY9PJi~k##F9itJAZrm)xCbYPSw4&vP*M zjYoFNi`Oao2j7>PjgfUgZf-gBa$ON*-D;J7;mqi3T{np|qOpK6CM%IyBA8tWq|lsC zV$`0sXc(gv=k|HwW+M0R{Qi_EcROb%TzRcK zweTHCUh!tdR^V4;+Es^?1@){g!qqj^d0%p0Ne?FxqfDlLqX$bJAj`u+ge~rYQHa7h zErQ5C;HZdrfdva&+?H#OqL(?eMG=UJ8cDb?!-F*dYoRD^3@o0aEdgV;qu%nwzJF$h zENH>(^6X}KNbcq?m2Pg(4@<_QorF+r5?e5yb zEp~TTOU|;JA?nfpmcC05&lOLh7=NNE3y{zOC>cY;n^Ad11-*?VzM*ys63Z9yTtd&~ zgx08D31kY^Hbzhm$8A`$_!+wO3)YU4hC^)7$;e@7XMOG9x$S6~X%fc?oLiX)i-6{x zOU@$ph!C^JrGSXp2=VKhSW`k!BED3a>3LSIP84U?t0fM_i_em8h{yu@Z+|UWcA7$& zu%Q!m)(0e(FlHEk{f>H-pML%aLvca4h$zu%m<5rJx`$K|Sr!7o6_YLIcCa69@la< zWO*LB8|K>MkaClto1sH<;eSxtG?IYUw}FOYQZU;{#XJl7MpD^-4FS!7k-fY3)q%zr zCB}7%DU^O|?5@I=i`uf2yS|mzXl$;ou)q!w4Iv-UkC<16EdgF_cvz2v|FI#dv56&W zn)b@~15B3dE060d%a)5{!dO*i=l224K^k#Ha9vQR0v=N+H@{G)Xn$>$1tMtqGaUC* zO705wK2HS&`pVS^t7M4?aO1R^{qZ_z63Nmt(R&d}zUgu&)gu#l)X4Xsst;ql&Dsb( zn7hsB<^_$}ZG@tBr_J!aE9$_caQ0*%7A8#mP2~<$t^5*wa6AEb-0lV8hbZ6sgQB|! zYLlOdZ7d9h?OQ`I)qgZul&8LpXc~FHW8AX{BK;UVa~IrSP%Xa-idT_G~!SO`}s z6TBk5ZrLuu2Q_9|hx^@D^6hL`)kX#mZkpTb%F_oo3kS|?mQl_{cAaUFI(v@$+5w`m zJk!079#cn5Vj`2f~hgv@)74{Z}fbGLH^(OT?FPpG349zuZ4W?rZ(V zv0j>6b|bEgheI&IvmGeKfmn-Wt%X;sC@(>l>=2tQy>{}ezkT=8_(qe=T#JVF+*q-z zR*R*STCr;$8Q*2kH#>~d;H1rjvF@Pg-5z%}E*kY+t$*R;I#|O;VQE(Hf@Qb%C6G-) z-wWbH(Vm-zFX{%Q?uhwy83T-%=J(@=>R`05m1o?I5P|_Y%4Dblu`6J(yKV=hlJI41 zVu$S0i6}uRmCFT(`I$(xalK8{fpTTDs^W@mSb7qPh}{rvkhwkVOw|OI=C^^u(tu1x zRBT-KOMk*Inb1d{F!<7+;N!=CniL;9`qRAlPs=N78_RzDr`3&>&+(r=#YacDfeX2H zbP6$B4y_P3m)QW~l4ac`pfAoR6zoRV!T>F%Gz1i(5;|5bXw4{;EwauzSkLq_xZB?j zQ1pa#wJ9KXvv`qbU?u|%MhquVhp1?%qc?}`Lw|h-s(Z|yMSUm32(KAv?woYue!-SP z`Z>menOpSL5H6m%#oicKeW&aRuMGGlh$Z!S!u$Y7Xpb$Dj((vK8_EUXYJr5uP@@wK z-jEkRs=5Q{9?1tUW{0zc^?Y#Nn|3pjL)LW`Yn^RA#k5fG(s7Pt6Gn>BA((ZvP@Ibd zH-DrElk`h2ObT#VpuHK1#E5DQcNm&F;^;p#dJtTKeh)_|BRPdfU;|Tv(-EEhpM}vM z_HppPIqakH@cqpq3d{faeJ}_AE7ZU4;s3{LYa5^O|EKsUdi1&MI-z2XiCq}r*m3%8 zdQQQQ@eRbD9}PzRL?B3^q#ZIV&AK_prhkVdiggc*AMF3*m($k%PTR)iw+S?G+ROV2 zb$1((tfEFSO2O{-bUH}irFoCy0B$U!CwctzJH!8s1L7a&{ExGXk5B#0JO8WjKkxjn zK7R6<{`({!%Z|f;XfoVk(XhX(vlz*v3 z04X-SL|TrcTdK!Nk-o!Nr4*s8Q2OuMT(LEF_!_Jzp_-hYb1|usq|gP zk_2Ord1@Au-y) zyg0dCTfKX=u@OJ%3kHcxUf<`|yaGyh>L$9yfHk$Lm%(8Wl1nmGj~q z#JzmqE8fFj2}gP&W%Gij3q-CFrj%Qx{N*pwydl`d;=ww|P5|Gr0;dea9zfIvK0k$| zdqAk~r8mRrB=8B_8>qJP?tcLV1-GJ@Q+bNxNbzYqkUOBG4htke8LK_*B-Kt%^-t6B zB7Y53-h9m#b=4!kw z4QXd?Y?_EWk-ub7XCm!LWcGm;0{AWNyoQJ?a0cRayz||BOsW$jD1YbHQwxHO>xx6i zQOSKs(puGp5tQ|>I=4n9g|t4;^tT32z=#b9JUJe{;ygQ?Yok-sp*JWRv0{?}4XPrl z==g@y%vc@Igt&cb)gEe34kwHs3#;k6A zb&-lcnY!Vp=T~A{j7ddkh#){v?@2E_1nVxmSTX4qFRPp>a;F+#A`%=rNUROG>>-cNfX)Q@#+WR-0Mllk7SiyI3c~o=v8(}Z4GXbMK9HX#)4)# zL>MAfCz=pNfFiYh7z(`x{=ly^-H^}EgwfwV+{D$dO=V4lZJJ%A?w&Rs7HSLNq_ zXPgk!6C4HO>gJc2&WEeg&zd zB`URHYq&7MG01iE^F&Un>ud@iF!JOHZTVKtarmb=27fsgyLw+- z1D6?jfq$_tq@(!ELo(mXK^3%r)}mJ#Q=c+{1=KkF2SgG^r-$4xloY)|IX7o`J^P+| z03};|D>hL+U4RE?#kN;g_t5#3%g5}Vr+yj9XBQS`#K}Y7Y~j98 zs0A|wg3@cnHCNCM1t$2qMj7ttYRDGlV@&hO#!oV03v%9OHvlbCHppJg_)-DM{`Ek* zP?cslip-v;kuTjT&`>SibpWH~m|Zk)P4JtaN#6n)7RW30gfc_zpcKZ3NV;{h8wS>RzOXb3Lt zFYI0vzWsumsZSvBTe#p4hH}0$Fl$3J$3Y0`76y$UMEh>BuUfA(vkLm$2s+kdJAcMZ zJa`=lDU9D0N`b!~p$dAcspWc*NMGJo#o3)YDN zxs8$RUgUWQ?DD3hJODlM(*X0Db&h~Mm9m$Flp-}fVBJ#5;Fjn$EddwxB8+G#VL3-A z%OP=xZ5bMfH3D%4ZMY5TwqT%462W2yi@wz22Dq~h^oDhuSpvmu}Y|Lrlbvaca$TE#3WN zL!uVdkiLQ;aid>FZ+%jppwW%HtzHmWOTKK!*wYQL_)UHrpeVJsCVx|t&sI7A?vG>t zQ)KD*{OY5d0L`=id$RJxxBp&y@;U$SC;6Zq3~oDQ)kSqHrOvA%7cnTViOB_i4)r&1 z{>Q~+IP4~1G~gKLjI(0cdzUq-mNC1bX0+iAsE(S&+k!i``?V9-W0(2F>aj)^#%DM9 zcU}-%khAjy$jx3e?SEDl!4xva4hJPsXK{R0Bo9FDFTrrdKyAKDK>rX}{j+SvbNz}TGgzp?&!!#n>Q>&u_*|31lQ zhW&5oiQ!rRlZJX}ILZd;DE}jd!0bA4*!rRUvT2eLHJM~?tA7q}UJkoiui~k3?8#NkaQKhyMsxo$ z5eqhNG{UHPOMepUU!g&PfnfEK$1{CH%;!lyxpDe;_Ey?{$p$fH^RhMG27CgIw&_|R z(Se89)E$Ae-Hj}UH|@Yx+UhBQt?=YjTvfQc!sOKCFDzMpI_D(1hQ=l8{?IWPo|2>L zJOI%JWop!02qpU?z&C2O+JkplZ%EGO_8^8*zylV4aDQdf)EyjTbO)EsR(CXic2-fD zUoekwsxW}wl&eLDz_ODEKp@u$HG=|K!3%`jyf`1{{d|xrt`Cg~_{k&?U3b5?EY5A(tW4R_7% zHlq{|dD{xT;pLRM47>QbyfUSCGR5o+vTj(o%Wv$m&SkGx zNoyT4dlVkIVwE;0*_3xK3ac!iMpH1{L94X2@PDR86#JVxBl4+00rzw;;IG}`0QG+t zY2K5@%Dl-mL-apPWaY|#J|@>^KJ)m$Cu?iI{AYdrGynHVJ|E&(<*{q`4i+%eA&Zl; zHn(526+(2okhgn>r$@iMZkuei6JqS{V^TqQ0tuo<;%MgS4Wavn9wedyjsY&YUBG&S zynin&l?=oqpPv#Y@#VGd+7M!O`_;dvn z4zB6Y;gxE&TEM@)jfia>qVAWA3Yb4*Nyo(oTS4DFYNn31i%|^|sTDGCtHDN*YK%7v z?_JA?(CP#}5i2-o6>Z?i+P2gL&WzryL4O^GL~Zz%Jz}Fb+v3xoBSotzpQLX&He-Hb zse%N?iDd>QQ;ateou{N!z_$FE608ZJJ#@-5W`uE#9Ckp5e6XTfXqQR|YoU0KqQF2# zli^fN!wO`?DZSE5F+)D4xj7wpMx}i6v65#><=VPYQ_PLjphB3>AOL+XeymELlz*H7 zd)a(DK52_$7?m7H$!`S4(_4fJkEw=hgHyT*q%G8Vhr&5Ssu*bF4zef*KA<`phu9_7 zJMpv45xR!m8`m^E2F94jDFVefwYoM*3_}H@E97j5bvGTxb1cTOu6j~UFnEjM)uYCM z-l8d@d!$B0SzU{I>T5l?VAJPKDAfk%7=xu>l4a{-V_1X_Lb*p29Kkc)jgKLk~?i+?64z7EnH z@Mp)-dvz!rPijCI&+J?cSj|N1!MN+tfh2(?*B4F#&yG?k{8tG593544>Vq0rof*(6 z=_zi5Q;DOR4wpocNX0q2&JPE@8=VVkg0Yc|bK#I82Mscann|W-)@%k~RVkqf#1Rp^ zVNi>hkgXaxl!|<$Qxm|(L4V*aBq7~t_5wx#&lC?~I)M9Y5WDYcv0E*oS|lLArO~$n zY?QtWBDV&-XTOp%UEqVcREPh=6ZXmDzpZUNSqb95t$vRG^GQBd*Z{$=Knsu$6ub8} z@PNUKWU9`6^3UlI{X&NcWM(4!cW`glPL$#)+#6o%RI^QrWDbE^;eR0MKCH7lCVYl2 zyeY=OP^Fr$_cSW2X@_GBBqoo)LX0EBr_sV$fn$zO$u<Q!>3 zy2C8GPy!G(VI^XIu`lQVQ&w1b6{0M3rUP}d)t!=cPvr%ep++*>^1Kr|qsc`!IlrQj zcgPOn=X4B`sSY4wbbqXs2lb>WtCgOCSrx8X+UwyW=Y!Fd?n-)@q7$n+(~Amm;=r*h zvvxQ^H>%3c#qf`ZRB;5HM+ePT`}Bu)bEkcvF3^g**(^P*=3I=y)NF^Rvue zbsJvPhM)lob$QS}e7*nbu#FL=4(;^omB=oM!N13wqQmp+0D7^Igar-cFslI~ zC(HH%z;SfR>$E1TZVOJR3o9|1K16DfTv$X` zJn94B99@;@C$}4AP83URRwJjZvx`I;4f*&NoA!AqvdN@}R9FJ(B@|8oqv+%;yBJdT zO)``+Y_>NBnPtRj2TRIM9ZUyEK&60HiTo#*e`jAf#(%wBD!H|{v;jmiQb@=yZ8v2C zrG?e^!Hmt1o)9hy=F{9^4aX;I>-r{ZtF5$Kbs63gw_{?L;^1MC=rQt4=&L`G4#B7Y z1_dnU$E5*h(|?cGSDyIxpX$;2XZr6`d}8wdnnqNbZfsXiQEE~TS< z>D`Le6$In~FCMrLIlfW?E};F6RkM<9m&)cW_2Yb)=UfB!Bz0@yW#)~isLbYE+vwwtXV_jh+8 zLg@j|W&@_;zHK#MbH;g-Y~Eh&Zq`e|?R})kOz^b86ay@8sWIWcx?X>pbkiG5Fn|@u z2}VIpP*RxoA!+wyDETF60I+zl)Cbi4Du3h}U0X>OAsC(v;yODka!3FT5m8C@q0VrJ z1@say3z;*zY|qs?jFAzux7iNb3j6g7tRgmbnqEw@@hMJHFWfrj&Zm8lOuwr|0Qnb8#tWk`D?wyXD3==$I;vlds#L@wH;u={1W}}x4y^rIq`J0%3>zK zX}}LyiJ37@1J-(0R{#L^3~qoSD9u{nZpO;G_d34LI8h-)(85#^_ zNMsL&G;k=&v&0Ow9Y3<59sI`5z~M-pEw-3$vy}0$#f4}c-}N{hfm6xq`}ZWC(AXM? z`)=OFQWwKsZ+IQX13O5s52P#6_5;B|<6*9ne(0cq#F%4>EgicH9$Em*F~m3?e-h=P zY2nodb3pzrr)&L|>#EnzXn*v3)|Ht7+y$exGswI-+Fg8VLXLr-eI(!*f`WRtgB8cs zg*r7+)m{1_&ZvcWpBRUU3rIQbPIGuOn56G5XBxr15;e&UE(J(3HexH*6ONH)=E2oV zi{5}Zyhvp(HsM+k!H62~TlD5eU^3bk6u!_UsURO95MRRu;iq4<&VRdV9$SA|7&*!S z6O}^7;ralw(YohfGQryd4Z8jo@%pPk2KsT{7X;=ec6RiVmUT)fLW#&@mVW)u?l+H? zoERN`H75Zs<{e*NcAU4>v}AT+dS1LrUsa(7$c)U;8;p|E_toVZwYUhY=ENGD z(6vwy``%5?GDIy*J%3_cv$P9VhomX#iU>iJO+t*Grvuc=z_o=s8E8EpqolBwbflHj z?EQI`bw!ag7WM?`8Y3u$UWQ3u5n)KfrkAOraxudf#J`$Wa;79DA8u!TcwvSL03q~1%His9a>6!K$$-r9lcJp@J*6Q zvtk6$)#VTcpQsS8Cwmh^$|<@IWiSI4zd{r(4kfR+W#|C8XAm3L_yDtKtM2jDGlN3R>eJuz0=|BTGn43JGSbB_w5MU<7rQ8XhZo;N+unN{xv#_X^Js z^MckPmVddUK_}|)NG}#GHPgVnoisrDp)RWfnl}CZQU^!IU)Vi=S2r1dD}c3=@&lIo zxWuN|4^TS8;wpu>v3Q|KF7VM!(t!sYWV)k<^420uzf=|7CSmW~8sIBQ`-;th10@8; zE{xcn!C=5y>ur7=n&ya~U&8q8DFnn`a|+3&CV$NFT0|cVN_WFL84jRGG0HWPKUXUN zO~5XLj7IuM0JJz%1(YRI6pWoZ9%2-4ZUA8yg(kzd(@}B`3WRzvQq2f4Q7ViOnHj3# zznjVVFe_4^a1p!A3o}yCNenRiL~_P5M{GpZxgL(+LiRG=YU- z8GmKRrHXB)Bjz-Y@Csz{m*%Ylp}GKrIEGnqxK%E$3p{%k2nzk|4swKbU;2qv*+}rb z+U7`E4OkDYHZ0km*9e_Fs{#70>Q<|)(gt@Eq*g4R8%sF_{JDKeWV|#BzpznkX_SpI z&nZEJ0=1*7=I&T zWyfZMvzvfNJBWu2x`e8ZJg;PIK|z0rugMCG1i75ffHb0`q1p=d4D?QuLN4phaPUHv z+=hZ`R%diG>w)#;-67P<6kQ8HN|8w2YVBE_3zrU&H5W1zy-M;NZlRtv7WKwPw)XfQm^OF zHo8t8eQVlraR=S-_Qn$FYTQ+gEsZI1ol?G<30Y7f>y9E9umt5DUteC)8-Jam8nGO; z0Z=erEs>QSXo80aeRd;X7nwR4Pk~HMCoES^T@yGVjv};?^nsKQn>c{EMm^aF+m00b zGiE4c=te|zD%XKF^+3@DvCwdUz>{%0)|3~aKn^gUk1=K(YW!Rp#l2O08)&g5vQ@Mm zbkl-2JRC$%T|mnQ@BCuwQGd-lPHDGg)@wKKWqzGVkx*t0AL90D3YMu3t7jIX>^Hxx zi$a3BX6s;>JT?~w^kyehwNzN34g|GU0CmYb&2LJ-wOT`08poV@3Oss$3Nbt(kP6#e zDp)uNwJb@ofX5_M*p;hqIM_r14sN;KJSLb|7buUo1F)0zE)a~0jDNwNVaZqvap^j; zxJ*x(Y&E`WN{ai){{VISg-3#y6Wj#cfb0uAYOJp$Orp*P3=;>eQ2}RP!BsZgR&3E7 z1Q9nm(1q*B=eb~5!U6!g#iTJo1b@?%@eT0xFeGfw#@!qPfVxH#P8$kB-(_jfA!4O3 zZlJCk0;vWR~DKP}W!LNIK{MgnV}2DQN+_K4&W zxNY&qh={b_k@eJ_*F^NE&wWPNbs ze058%5STHro+jy%qG5Dk*Uog@>xkVV@$z`Si+my^Eg3ru$A9@H1Y;WyhmcH>_*>}% zZGK7FSE|K{1Vv+Rd8l(N>Ru!Tj#yowc`*i3H?&n!jafG@xK|1_2;Av(+zam%ecLmI zr3zJVAu3aVyfrvbi+F5oc9@^XeVXp!mm5Hl&aQSOImSrKI%N&3S~Uwusdw!K#mX^% z`^wU-Jp`^OoPV9Dc418F9!nF&4qRr2fq{jjM;u))T>B}?5V+nb*LZ=q+d9p@jO8oktOI)H8@7pY-&!WfXi+oqHsQZGhFNVB8UnovqcUwp0 zf~fKfB2ujD7p_83W)%?lO(+>w;*LS0Y;qYPmNA5TaWgoVS;u%Zi9u`}LQuH@v4@eS z5$;^ApMS3Isb#PLXisSTRcWfkEz&_DaW{exhe+TNZKlj>s&Zt*$7E{6c?`+pR*%}g`QYI86I70Uh zkN@?r#9s*=ZL>}o&1%l%tD421$I?#0xZ~5Bk$-LKlY)ffhRnp#)Iyh&x(H!$HBRyMRFmiep?xI?|$jvi&L41AT)+R$wfgNct9bFhC=tj zp$g$yq9ud)Xd*C5bL3b<3Z)%%c933we2ivEo-BK*st;s|zvZl>Eg@YoHgD?K+0t^r z6Mxbo-r#~2tm`5lJz8qOK;%A0HHl=>6pmMfR4v6*yGmUxJ5b+iT&>}s2u3%$y_Ym|0BG2hPk)?|W3gVw!W$VBHNta}J0R7a4Z2^EvokLf z_VN(Uz--yYMT7|%QX*D;1UM~WLXL)fKv<-!J;kMofVn7PBsOhBK|*n+ZL{{Jwavoo zYZGk{?Qto{V!)E;rVA_p09TDtM+>1wQm}@-h9pnu@>WHJZiE~NYRVA<5yX~O34gCn zFARS`IwUMFGhCQeJ-Ce(_+bVBJMeTrn_LYc3f}Yfk(0^#A^1u)9CCAnhqV1hWjIRV zTIUUq8^qi)KsOTMZRj9~Id4fPV!o-mQ5#;;GR1+UN%+$YJmVs_XU(yJDM7Sl%fKT9 zE<-`wzn$E$F}}l$d1NTss~{I_H-FCAbyDkeEw9d?N$yWrh@rJbP1GG*A}LVu7TQ#t z8T{o#K@3>Zg#}&j zn~%2%(KUGZqKjC^8Mq_V$#T9tvU1U*eOIbIgsfBUyzd?)2NI-bkR8gDOMjCV?=l%P z(SpaAqZAsJl4md|oPtZ5X&> zBmuXGMU;qUn?{YtAd1qhK}axMX6Wd3Mr~pfH7%ZSHR1NFY3ZpixaUn@sOn=k2Qbwrl2ewvFhOEi#4VU(1Ur~?~Y|&BwSCv(Z>boxbF`cW!@556!`DE0zvE-6m#dfYA_;##X1Hh& zu}dGIMT#KmxSygBjm>^ymjOq)TJjz zw`pT_LVv*WRbOgum*OU?NP)9t4tDhdvHX>IxY(0(*38&*R@l9ic^s*@LNB>8%pg zptrbiAmCovRkQtp4_U~zh5H_3+JLQ$>hBRxZ}HCK#W-(^J=FaX_gDMH^Zvqc<}-5- zqE%x)j)xq|&rmB!sj+_#LXE4E;1$F(`j&QGMX{1dZOa6)WF}K0fOUnZf8cf@6lvQ$ z(*rOsmPeQc$rsR&6h&dh*ZYS@l@fKxJhg{kYdpsU+cWs{tLuB()Yp$xZL#BZbuEhM zGkyYyOucIr6|hiJh=Z+Ud2>_$`erLxi659-qXYm7)|V&AZAgDB&evfm4>#?7_(cdG z?k0F1y$R_Y$ZZ(jeDbN+>$Ab+_6`$ilKumARTOqBzqoNKE~vv;emG^XIAoLkc;3Am zSqXAyjNGZ%t@8{0#KIOHa#73Y!?3hHO-sL#f3uJ1G1V!b{G(BAL4sKDBF^`_=gsxrs15- z!dnKi+6LOT5sla7EaRjQu6h)&w6_2@U(dAVTD&DpAP(&Wadq`m)k@i-!bcF!;uZu# zDJunJRX!+Ni@V@y_(YC}tP!dUt1hUQnv}^@zo0m5#&v&L0j%r1E9z+VLT2{;mfQd# z1QU4?K>)NxxHDUc)hoNg>ucjIJ%6h>pDK42u`hI8G_XZABDp~xFeFE7fL;~wpypl9 zCDERvCps3~ZJyczRyGJ&gASzLDUZ6u;1oE_p4N`Cuu1l-!(Tdzg8({A5supHR!ntt zgifRJaw2~rG?L}|MxyXucL)Ka$Ymo{gb7faPZKNXg|~muKrmwvlm->^e(^oL$^y* z()06dG>OJa@_Bum>X~6u=QQv5hu@=Wq0+AcFB?dZ}85wCNauwOD#|%R%9s zj2I696nC>UY&>vzJyN&u;~@&3N!ANAiA1v%LmFlQ zUD1DbL|E)IZ`M2?j!LK)d05&MiFgQ=QX>FRVx@l{UB#TMlhbkLmYJaEL%b2u~ zs!GG?=!lZ$a37quU=HAP+eaA-zfeTnjnH9YaDaRolu|X^_p^0$`)Zb?eKJarv@4GL z6h(mydnsMP#E97;oH}d@1_RG&nKF(Kn2!5ecQP1Kj5e@k(w>~?<*MDm%KTxW3VVP3 zM8QtFz>qw~DUGb8gmy&|5433mQZz`58a&N>oai-2Mup`>#euCc{%;*m6VV|M?zrSK zgjyKC)t(hu?Vy{ugn&HJeUPWc7vkSKGNE9?4W6gNEbZbhR%v7V9wq-Q zK}pmhMF8Z5s%pYbhhkdcNO|X3-ZOtqE%+hxoVJ6o-)4|Ra0603c4_b$jsK*6k@vuL zyK2Qeq^};jjJFKo)ToPkFB@DcQ2ahw@g|!NZn$+cX5z2M%U1H0(9Bo6mXH|Hy)G$k z03)<|y$%asLy-)R>KQBC)mJ>;cME}3MWb$)zhkXIKA1eEd}h?IW*ji*-1dJIICqFC zb{C}tXILHE6qFw@vV_lai?a_@go%Uwj7FcdOA$yJBsWuHQigdsl5m9K=ZdZ{+z;** z6^Fw|OS%EI3a-MGMXnkHwnUNGk8b6F+$sF6Z3hVR>K%(%+t4PJSw+LghnBk->^QSz z40%d{r{+2%2@N$F^6W^E&wPKTj`Ci3vw@t4Iru6?X7vy|Z|1mTTZ_$v_)&x-58PU3 z(&*KoXKeP95WW*?$e$pNDz1R^!=I(yZq|*RQxcTUwhaefGKC4^q*uEG^5zATbd8|4K*=E}y>gpk@!LrM^q5gkEtRSO~9)>K~ zDi7Nht%L%PWGk`7Q=#Vqkc^Z=LYfGJzk%4$3C4z@-%gyo7IB>f6qMv&Tq`C{YwHl{ zB2<%j=~aqV=tzz{@PezuG!TgzK{>BYkacV`;<7PM73eGhJ@ghqrw7q*8x(9YykyGE z?o0r&_$%JXhV?5f$*_M+M!As*4bO`=UmgU`PW=Hk$UK^hSGYWqXjy0=+2;`n-z$m9@b zuK}DlnM(`>ATaigWH$_@gV;!r%tryM7se7pAXfc2mXh`dtXqE^R2d^l7-Ua5%GoKl z?_bcdZP%AJn-j1VfnFUg;#Lj%7j<-NOSbiXTdKD+ngEGc!ka)Gt#C`v>Ji*>=Lo}f z6%0A)MI4pnw4i_Z!iIm)O=_it_Y>0sG|qbI;BDM5!rjlAfr-$E`v#It#$@SM0CO`T z`1s*0OFQ?Y{rrDy0(OibrU%C=0cju_jzYefd~go#oB0?7Af26Tr05iO?m;K1!>PLK zC!D7M>>&nPdc_t;V(d%yt{6yGdgSz4*OFANueygc51PvIwaboDIiRz;W^{faQ|nb| z+fm>g{3`U+mtfm{NO%x{2ySC`#1NEt0Mj1eHehm{;Y)wh&yr)nx5xI2l<~LFMmG&pX5W*%)Ce#5WXrBhJqS}N>hJqWakaoOf2kcNag-F%W{ z|D2{MqU9FQ%Hyjd%ts-4_Y`NdTwkd#S4vQhfx^$&=D+;ooc~Kmo&|KWBr{yZw9J1L zAIv-d8yo)p|M>Ch>gV(SDLzX}$#dCtau5+;qW}gJ>v(pPbVh?wKM_b#_+V#9QAxWw zW{7`)7^HRg;J04vwO<{b{@grxwfE||PR~so3WSWrppC_}f7;KBK1duINoD6^__J^x zx}fUl6hs$~SIbH;y>hBJzKi^Qtd!3aQW=W{c8j}Qkl$b#+2pU?pB9rj=if?U`Z4>M zbN)Bf|NZ;_$;Qg(^ZzM6I!|r%keZye+!Cvd>DfNFU znt+31yQYVyXsdrthZqr(qCsjuZyify4?o~P}OyENj%3>EwfpVTV8^pWH-- zV?ZN5h$xs#dkDoxv(0hSeb&090A#W$wr zERecWLpx^P9n@IH46wa^wOKwFBa^h(85vNaughNT_o) zl8gLuItF!=okA8N2a{|#X*3MJ!$1}VhgYwekQx9Jof(7{M}d7vCbt(k&R7srUZ zhzT(*WB7`yu-BN61#t}UdU%07Tn(@BY*9uRLWXFZ!DgZYkQ5t)RWG^ZWT4yykvx5_ zIN5^?e%MoxcDytZT`+MGiKv!p3Hl~hi3EA>u?LWYnjj%4D7h)ZA# zh?o>Mr5N_IIxJ)-^fKpDN zIXb*#FUKOI3|knqRyHXHKU!yjk@s~d7|!=%XM4mkp|=*e1^U_kXbMyY485QXJ>#aV zL^T9Sf6WJzYz(HL>S{+XOP8YQ$j~|nJ+Lnm&fY2Ee?;L)S$;MtLeJNU=B^S9Z%x@q zQH;X&d#D^O&a*)}&WC@|Wx2p1wW&{rq(VDK&@|CPyGrw!!Jho7Ig`(yPw{d2zkHm1 zY~k<+J|h zlYD?`Ag-q|%Y+4mp%vE5KvB}*;8Vr4oR4$#IDt2ipY;$Q2p4}Onb>zs>&Y%PulO_I zE>gw3Vr0mIn(XC@0xED!FZU=M8M|1*qy1Oyq?PtZX?{6Kz5}-WuMllf(M8`=Q4o<7 zIkc&Y6J12sd#dtfK4HmjWjgNhlW(pjlTp!FT2kMyrf2o@VSmXQEf3Zj>r&BuTeq4b ze^%-cyP_qjsJDN2I3(%5KkQC>84a_@yIET?Tj!HPy&}V{N}aCae9+C_*9XA&{Z>FT zCs>8hbz!De*I&64c;`0KtxpOaj-~=l21TSFU5Z`ZgMu^`o)nH2E{IuUzzf73LfAOp zGJe~Nza3uBY8(s9ZJkPm&D%JSiaSsA-eGJ`vqR9PwIhFn%Y2YoJ0c7G{nqMgedVcX zrkg=Zv}|ym+r_VLM(OyU(+mf^QeRuCuLw}-SBuxHifPBkRI65E+(cGp?@?Cs1f6a=XVyl*Z!~OepWm#tV zSKQPkS+;*)Y1L}+IjAYD)^$~C(rb@+WA5ciePzv*AF6?+qkPdipsJKxW~7+LNluIX z>stL=dG6NPsDE2u3tuf-BYIkYvTD|v-dpQ|Ia#6LxSuSJFVG+s9T1B1WN`$4Q0P?0 zas-f8cc?K#T;mnD3(8PvP)Qw{m+2*oi(-vRrjQZv?UZ(U;D&X zs$Z36v)!y^&E|gXWwZIRwh!NmADh4Yz1C_rTbt_jKdje>&E{b(Z#SE7+xq?QyHx{mo`A|DoB;e}Gf;+YfYt;DA{8;CZw8d~>ha8gJLqW;2DaXSFxY<{S9- z_u5a*=1=hLpw{1RHv8M~eXw2or~2{FZLVj^sB@aZw+rk5zP+kls-l-z^vW&@*hYVy z+18GA%)Rj;LW1$pGpJir=&4OF@EbKw-(mPr@{NtXye0vK=_#*lJN3<+-nD9P)sMIQ zLRRD3ZJeO#jUU>Lm{l6LYK8hyY`f*v;~Vw(#(Vs}Rl8P?uf4}=B!KbUaj0>ZlpU(a zL+|mxZbBYD*)A(PRgb6M<4LQwsvdu@dXHD!shFvM+p1lvHNR}R<(J$63M_m}kmr`& z*bep`hF1c}_GHZ7sMUWq2hcoL zof-g=ssFxhp$U07F75DPld*S3+Ad!aL^{sHHFrJa@o(*@TVKk=UgL{?s;w)*S7}0%&S@ zC1|%~MWTxu9kbnlboXR?UITx!%4_a1lE+1?6y?45Qqk`)_Q;_*;4 z*krq$2*WOgV)AZf>m1oPn>@ZB{xtOAxReGeIbwD*(&@ME9?0Vj8;*bF;jEFAH1bi7 z?}tOZjAZFvsG)R1=EcAT6n@dd9{!Z9^nc5b!~auGkVVLi{c$9J^qIr|E3V(S|JYdn ztpEKqpE&>T!NFW90EhtWO0${&ADeVT{iwdu;YNJk#tRz13d0PD|8jd}ho0g;d(Gya zV133$bSK~o(;C*^)7*b~Ns*>PC`}_&9JNtk_q_SzbM>?J17dxJ50OqbH;*&swz+=I zPa2$ghVwQ3q3FPjrqx{E-q?i!?9_@~Mc={q)?`<@eVI zg_U+V0dEar-^}Rj_7C5;sr|khVIN00&?96NK5vZe_dB1__Md<1Q;PpTqRrQA{J*lk zvA*o%|CPs|{Xaj+XD5I1duk$;Yi?ks8tqk#v+{gA9qTjqR=$?12rFIkq#NdCJHF&}^H~J22O$Y^>Y%x9j zVwPL0NUYT{P>zsc*5DUB1lR$Cq_>)}Hayri!!zSijkT`YRy)|QDb#j%&%7|Kyferi z>s)>Un3XmC!QV`?Za60VN8<>qY16S8F+rbc0SD}@yxC>51kN7(w&T&FR#!%}>&_AC zP3$Gd5o3P~SlM)H_Ab_{0SmK*v16bn`rEGlx|r=ZKLn3;R~>K&LE5-_7Nz;DWV*OZGpoa>{tVN{PE zLtv1LGoy2sMq#67h6cLOK;kETWqSNf8UN&iFx`I(UMJ>4l^q&w`}j7-KY3h}VFn!- zmg_#YcV@(G%~Zv%3U7L*6Yt=aZAs|`fCAKA3(R8JJ4P&+@p|R%+p+rZyiTR`_%1(^2X z`L=(4Gk5FX{Do!-bqsTwXX~oax|Slh-tAhe=5VrR)jVeQoJoq=n`>A47~8vKZ*Poz z`B9|yaiYb$MIx{bO~2o@L@Q3)X*p$N4w``o^UOn;9s=~9nd?hNG3pRs>1Tpv#x&>}Npjeti-c-)4Eonv^-tf05P z9#LjsGO{-)h;O@#n!1$j+O|b0nC0*;KJRXbk$w)w7|fugJh`1W;-8RH@;Hy!D!E_) z^)|Ns{>%yqYMN|Y6-~3}0E_Om8a>M1hPY(2?&LkIP1KnFp+~oKpN`G+Vom>q0PcTn zR}5x7a5ES#wq0t#I z*FHRGZ5YZZxVm+_fGUkWEn`YE*F%3;E>@+-F2UF>XP$XfqBl}+bGO?l-!1l9EJ{!2xqTq2R8#)JL1q`wBupIFc8tyAoHhuHtgwgoO4CtAdy z5y|Wsu=l{noOGAr-uCZQ?ojEJ<%9R8qQ>Dqe`=^cgG9UMUn z$OyHqqwP_L=9!@vN@3t9l#`lqMHZNlSL~F$vCSbw1!z4kJf+q2@Nbfac*q4N@b7t*ewlXaFRqg?G=;@pzGs1xpWVF z(M<#wlSC*W{G1N10zILbL5y@T=qDz-G2d+T*7_ZX{5QSEfAd%)x}x2?$U~4U-1gAM zY@8#Y_U(Tc8?c`bNty?Hf#%DgDN6zosXbX3IY=zxO^Emsj2reBnKBD=bB3mQm3R zzDdEb;d6Ztg{4Ps>DJ$+?e^b|T^>+PtZ;1qhfrpU*W}AXVMS3#{)hF9hpP~Npi6x| z*!JA+Jh?~v+ms~F@UDJUZ}6P`|DHGZSq%#ipVIw< zW~kf#m7TF!_(t%?6|`{e8}mOJ zR^KxL4%$_4eW`zz_Hu`<%MH!M-fYju+eG*BS~OAmWR9CYJZ!oh+Z#hg!v1a7o~j<7 z?yxGM6ojk_->C23wAj8p2Cldb29BhvTD9qJv(-m%9oXP%_RXAr12`>1z^Nj;E*|jY z-ZJ;A(o+>tR|e2nepK(XphNY2*kS{9kFX6p{(ZZ4tqyS^`1*hH1my8GFstW*ip=NtUAeIL@WL(~rh#pLr3@GBAyP9lRqnUe=IV~Z_&dm= z@9@=`0?ZsjpXlz=f>EhjS38zU(mKfzoi@BViwVQw#l`%q^S!MYFv}I10tphG)0hVn zB?aHvU}Spr%yIk!7b2O#b`+eVBQsJkr-?J)WKVx15POqv)cYGmAiuYH@1Q3ndwwgu z2}<^Bvc0*kZvX4;;BqS2M^#20rsfo(^xf_QNu$2H*ZO#`4dVA&$&O#OM7+0$;=PAe zy;k3^Md%P4u(JzmrPr@%+?+8VL~c~on;o`DeAwc=RaM{aut@b`#NSi({izt}m0tfL zOoM-qnoZo?XK_ksRPQPchp9GVU436~v7XtJw+4MZSC`SMdb*0_Wov22T7UM)d#li& z9S&r_`O9-`rD&jYa)jqlZbu1t*A1GK|qEV zXQEv*58rEYeh*1lqvJvR(gGHhtvl!#H}QWMUz6J`BP^F3U_wFbeDR@<$6!&GhOd6V z=35!gP}sE!*5`h@EL(rDJO2-C}mlc@5Ks zZg_b8_Q57l#yet^+(dh@87?M9of<5~j}vxR;p&EqDn*vYl#J2C-Ux1()or!c>Ro>y zmuc`k^qMh8*J#8T{9eBQZy==oFZ{&hzaKl??`-+++Q!C{Aphs;%4hlSC;7~h|31j| z<33&=h|OLGjvq#5V-C0N6YRNzFh9ezX6wnW)s&G28H{I|H>kvv3q;8vw2U;*=dHsLZXnpCe zBV6rm>p@! z5!+j|atk!wUTMc-V9jpZ5F{~5_a|c!^8w>F6r(9^cK#=0s_%`&jCRk2zSz^Wpa_kB zh}xW}v-y;;4%!shhH0joh%J9Gm<0U3?VUe6TnaKaBh90<{w6L7iW~;>ca~bFI4yJT zegY$K`DRO`J&HFX4%KTgYMC_%1>Dp{tYOcv-~3bhtjvH5*~uL(;{Xg&?CiLrDRboG z;wc!fnXkTUYL1zk&!eH-d&eS%Gl>|qZC!|X$XbX>Y>aog{evrkF++buF3A_dOw6@96R7g8qz5!x9nb zK^d{d@2wCy8p*`iV3>dE067})-nD{3IapU9_)_L$WC;Vq@xCE3nlr|>8Y9aQpj|^x zsJCPy^#8N>WnFC?O~ZfR|1s}jx6I*68jWPxNgRbZj&et2%wh}}Fvk4)Z@PM^rK@{- zgiNp>bio;PCdGFZUcC8~i<@QB=Bgz%u`PMrF73GTWR1e!lM@g=LV>t8P zX%rKtjS|o9qWnEZQWzo^5e4{NJWn=W)_>gvROM%f8YxS-aCd*k#*FVF#OCVpS+FX& z3z{1P_x?5nVpD{4eH#E(IHl;@`D&W)Z>ceclRv4MLbSDy*1B1U*-esZv?2&}j$?}N zQ2nL(aQSg}BFi9Wp5;lv%V85?^*2L&5x)3Sa>3zsSTx1mvmhEF#Yj4+O+zxI@IUo) z)9^&9FLEs0^Ur_Gs7LRh=1wYjd2NdXS+&6gcw>?jTRTpEL&Dn6A_q(e9L--HywfPb zDQJ}d9qazGmYd5xP}Hqg=3n9s$(WMUpdUXT(5MXePW2ZAh=H>52rlnO@J~2}d3-iR zrM`^fG!gLNJ4AZg4*>_(vKuWx7x6*R#<{R`0a{wffo6Z*NQNe8qkEX^4dv|?C^y+P zRnhuC2>aR_+IMkW{yb(sI==3tumzTq6T?O8n2h#vPA$cVfIcV8IAxcfX zI02;E!V(XIQf0d3=kO38Lh5=A{+R4&Ukb=mX&-W-R=*+uM&UT^5A&db)4CR_W<@h; z$LxdY$vtZ3dRPHWXU;74V3Yrs!Qa&7?>B$8__vU*7_M6bguO`g7ngynF(NjGr09+C z!k4DS7kfL0eEY-g^tcr@+S(itytF?B?Qjvs98t^bq-fE3b}IBEU5ye7Xe5qc5ad=6 zONj5{h*sudjZEGwI31eDS1R`8Jh1uhy}iA&5O9G|k5fwSsRkXXQvj}fNQU#6{&#i~@RS zNCD8I3|rv=65;MHiij56AKR6iPWRNQ%x%I5f%Er(b|lvg<0q9hxUoVl#Mwv4nW00P zhKFWtcnD68E)e>IDQq;2H$q-HVR(N=^0yy6pTh*Hv?QQLk#8lRofv`0^7NP>vX1C!48opi#6oN6q zTO?Kh0~`-9`kXTm@Y9Esiu=7#rkL;k32eor{=)xzIKc*mRcspT);ii89!@cGh zt{-3t$oj^pU!~&2CzwIb>^{?;JmfwfsHog# zV-;ulv^p>i8R6n-46J{uoA7(`GC*f|Y6KqU))GVKeqdk0biCSz#Ph%6rFZjl zoUw!ZB(>!4Nge0}iOXxAIzqH&=e^U3uYeh7+H@hxAUs-EEFeU8wQBPSILwL4Lfjyy zYp&m&e*MI8!gLtkzVfwEGzz4tcngqsiX#q_+jQ)$0D`0{3kOc{ppk!Qh*Y7E{uQtV z%(WOrC`NGJI!nFK6bU#M%S2w9BaX;5C4U{LG9?h{D7lQ*NAzYNpcI#mt7Xp676eXZ z=A>ZhIiaeZ8mrU@%2>KP6(kz+6MRKT;qJFVzy3CG9(4lSgo)lnT4#h+U}VEy-L|Fj zO>ob*loSf2iux_<2cdr%xWqk)+4@MC&$Tb)4~m8{%X~DFqNs*ced}!^ipu<9nrbrc zfu&tZo;!P`7bU#ab|k?+pW)+Bc9YWes5mOQ&-kS5Gc`SGtTk>nI=&K~aAt6@;5mbO z(~9q!xvB*vfL4_XnOg9t_@n*cC$VEs(om3p!fwBkD7(*CRvv#0fk=hLLrk4tl%}{< zTpZ#ywGAs1y=L+X{qgm!%FIWjJR-w$-O9k zeAb}OXEuRbMMBxZYO?1u`k%l(H$=!9MCrHSf>wKHW*Vjvv2%gVUqj|m%L92j3MnT4 zB=RCYp@5_bLlb}QK%rq3so0>W?W*aT75?dbn_HASxY@SQp_6RRhej)JdL%3{%_@kl z3JTV7s!?U5G0-13gQU#TBTPxYYU}%$cq#0Bs2+{i0*MwB;kB;DVbUsLEpjk_&>vWn zq?m(9Ai`cgp(Y@FN_yYTK!?bvK9xK0Y0d*b;AN0CXyUthuv7eMbe!1ghPJ|d3!qCD zs}qb&@<0X7&$~Kk=8!2CD8Vy<>VH-%F6M>F8MJvJo)LIFkBU4xxJLe!NLRbZ4KyCZ zwc%Yuv< z`+0c{Lz1si@Mic^EA5V@w$zfP*N|mGfLGtJ26&XajbvSa22td4z>>x~XIV#J-x&{g z^SJ8$-X`exh6~Z;hY1=lkQ@u+Ac8W3ztuMv=}{C=FJQKt*UNLm;2YKK!{SeR+I5(Mo^G8mo2lH|Q+seW!~qG0z+!!sGo zfhvFZS45GI+lueudHOd_BfWPLzlnnpo&X8NRE3dP?gpebVIl(=^eDFJ9aO!A?RX95 z!N9^U;)<+U`&f~u?FVDX&J^g1}{nxd){@>QdQ~ke(`RMWA0S?Lnz@d3j{I{z} zSHC36OhmzRn$hz*%IGQFp;=kLo2WI)^HG1_Uq;)Noy~-#*0_q2e_=m@;Y&rCGRf!H zyZVt_^2|rM|I1GQ(02cO8|%;I{crw#y8jRH$=v_a^bgKzHzD3CQB3-cf4pEFB1alUgjuk6x2tpM~D#0dO9wY1r`d~@!HGXgXp6_`#kiUPI z`d+Mr+b)_X*TgzIMbO|9HHUalE1altj48F9l%_Sudd&u^*j1cm3qxNts~~r=kR7J> zqqH3uz-r0sf0@&<5oI8<6=z(xf zUa#VH(4BT$tBBa89k>sU(v#DwspNn9>SY!Rw@37)6}SxIU#2fn@^8Wou*w=E*BtE2 z`EB*76B^!0O=Ir-J^5^-$X^a!U;(C@BRo^o;tG>25|I3N0m-}2&g3B4%bG1%`)(d| zzkbQvboVtk70nKZo7NARH;5Mr(~pvCv^Jn_(x`OECBX0weRw2_{A)AG6hnV4q7lu+ zfoNM8heh%u`5k6@xa*mUlU(jFxlYT}M^Dg~Wgm0P}6s?|*}Q8h0a}=0s@C z1Pv3a2;aANeG(d_JORYBRdAn+KEfLbs?uI>_Gy;6VApv6049C!SCXted{!W z3}**cAg$0I_6n#ND>CDE; zrs!(5A8zf;sHVymB>LK+;h4fflbwLh3!oV_hP7>cjNG2ydjBtx{(M2?f%}a(JG0li-{wG)6oLc zW1JJ8m|zwKyUD1R^G$yI+LE8|!}LG%qx0iNxL>vgxJCc7zSWELzuVhuPx_yS_^A3H z3I|0xApb&H4p90T_dgD3LQrHHG!%`>noMrX*EcomOBO_OuhyXqQvC|u@at>oSPrFp z281{xVdNyz4Bc?bpBsPv?K8w6Uk>9`#KN6~`gl!uH2*!-F`vnakI~ z5H@?vQ%MU{FZvR_3T?O;E-D(aHP{?sWUN#D;n1#C@ROn|s@})5V8M}MurV+rQJ(H* zOD`OGe%G(wnc@Ey!!xRePolgCbm~B)YM^2C^H3@k|1a4B&{BW@uebI*s{gmSvH67m zAL5h6|AiKSGVI@6N+R!N@HbcK3!a^#WfKCT^_WSJd~g;8V|t_tV%`@$cEXkPLrGOp zJ~;J1L;q-I;5D1|I0;SjBeao-7IAQ)h80SVWGaV*=+(>Qb#dZ?Cj+rt1qtG>O1i!p)eD4m`(pO zlR7V{-xDfK{0^T`4Z?=oq%{|W;#q9AFh&VQtv!zcT8Q zVN65nE7&TVq7|VD*A}bed=w2XQ(G5qkvIZ8C2qwc)q;On)bg#qtCk6=Oj=}V4vT{y zz1J+}Q$QF?3C(1)lKz8Quu)3qB1LrZC!uA%7^xP&MAX*JKzPoZDE>dYA-GPFDJheP ztmz{b*34=(a+}OgD?Zc{eALs6Y4|kWf5fMY<(I&PJC-(=)8-8`~~eT$$Kb%#gz)10fmnc!Z8Vn2LDS0>T{P0sM;8S z%Wodnxf}p9Sd-U!ybtrDL2MeMtD{#j5r!91kS5}yU~y((sC#i0PZ``*f2MO?F=CBqaL(`(a$i99?rwWB3qYI zs0EdQkMjWs5C{x5Uo!I#bZWjmk(qyoCH@4Zj7ccBjbZe!?98BRNFX>^;?%;omje|p z_~x>yO+)Y(rt#9)y`(}enW+l_`5;uv74K@AWX}lR`ZC>S{B6W&l(YD1%Ru$vE>r(p zp2*^zOkUw7EDG^jMwUs)z+{=W0(4=60!0!5Wr-#FbS?QY32|CU6cuB^?qA5GW&{ zXJef8?(Va?Uq1t;a^+unvfLoQ^ZM4IPAu4&Ono)MVpz~x zxO?JvoOC;fN}&d_*)T=#RKG6tiVVlRAil0NKM@Zq0)@;#h}8rU#qN(3<~5R?LJ8o5 zJ|rV)rz$R>&@UyGZ{jW|r|=q*adPzX^Ef{|eYpR};lbI#<^J`-`_+H>>G8qY_5aP! z-!H)(ur2<3b6fiV^|m&jKly(=#7Fo4kf-132I4$H5&)EU45|BueRV2+OGINo!K(jp za2>Rj_21+br(jiIae+clC@b|Tx&QZd2W#{H?QO~U@7~7x*3{JflF(B#HzKed>I&q)}>9J2kWdu6V@k(l(!Du zoK-ICvuwZ0`?t@IamCr}yA1F<1N}?tLxz3dP{kL1eMB>)&7I>+j~Xxhmp218Iqc$= z6@?-{tTVl_Ri)akrS1K$T=1{0OOPqKL{b<3ElFnE8<#mOy$))nTSZ+@Wu;SLHgG}<5Yj;QRV*$hxYCw>syA>zN#l}^h*Y(3Zs z?>SIaq45gu!rhpRm^Y&7Yu_5c901tl*bab&Qx#$z0-4Tn!+I*Vy zVby?`KANQ+G_0(3zH=N2ddE>~Onm_^Lc`sSrXPRHrr*$TEJQW9I|4z&W@CtRIFF{U z$!2XQI&p=fh2I$?HMLwt!d(uwVRBugYT-@)ZB&Swn=y%bM2s{;5Ebd>{77dbH^^%@ zh-UT^A$enmVh^LPsi|OcQTqk_>iR~Y6$rXygIM3I^~&?+20w=z+@rT0dpShGfOJC( zC^UZ^UDmkIQ^+?5G#kcRczx6%)6v+|25^owVi=B!6ryV8bUSeMXPRz4){Z1a z;hS1upa<-m;SZ>0()j;nCje~W|DSJcZ%O`t{VD(F!+di5e`)w%SMGnZN=wycA^|HF z2`DOe3QQF-?Bm;^%C{CVVsB7lhdTI|j3G0TLbNJ4>$HlIhU!mP?Wz#rouCB0L^M@Ax#Gg551b!35 zQ5m?2my%0B`{N8I4Ua}0vWGAI**?%J8slGbmMnN{g}Tka+5kZW7C+Gt@n;>7XNp`V$MlLvLe$!h#IXc_CdekElOA(00DBwOy&k2AL2Tw3 z4;T1t{eW4_Xtc)#bTU>;BR_v~N?o#$P;}~FL=nuu4tVcb$8+6`f~ULp$~gr?e|H4c zaNy9~(2*iTqe7X9(KZgLhtrCJOQF+#sPz5=3fDiths*z$2k#qE?s)(7>i^Ep-ybZ= z64>hhwY4ea|L2?A>re9kLwt1kUxR}(U4VQuuN9c|r5y+Bp}WF)j>dmEWbpR3UU}C1 z7(B!egy&f3<(*5x@Psz9pZxt_jwZ0>{%@>D^*^4kuRqoQc#u!o{V&x7cDwz3nh;DF z(^>q%4OJotwH$3&pVEd0K}J&$$@nbFfIbdZrb<`}(6L_&$k4bc?OiSHh}Ivn#(m=` zvHQ7^0zL!2yVT2F3on0vl(02}WFPo9R5B*Jp$=DCMcn55?IB0TN#DJ-0g;MO6*R%b zA6^uADaH4LkWO8w5AaEosqqIKQ*g?Rhg}U(BK^pR!O!gjVfRH`N?^F7z(t(HYpf49 z6A99=Ukn1oIV!Oxw3ICqLVeIQ0+tp(($bGDlP+XDW<-7;fQf%-R-Z`ikM~K@|7AJ> zw$cB!p7j6Q-r9Wf|9+598~tC1^)ICRNq05oezsn%JRkP^&mpH~k2-Q8=|)PXc;kR$ z`Ow7%LcnP->{H@mNd7eBvT?ZEE0f0N$UUS|Qca!@k7@EaetP2f==W4|vrxs-Au= zi8az&+)j+4?Kisvl(Qj4@^wmz`c-1j*@WH3VZUz5zh2bdf36Sya}F><2I;ta*r<>U zdSh@~+sNhTHMj=$(KS%I!b=_qlZ6O|&hO`Sy|U4?+<<>xH>t2IUH(6YLztY^yIX^P zwFN=@+XM2FbEyk2oudtUGpxLM*XZ`efzwsEDb`0nQ5x+3*-w)GFVP98&HsO6L+1b9 zUhh50{}1wMrT^VU{}$^1y3a{5Qv43o`1LD8Riiprh-F? zmk7PMhg^S$mIn@{Yj`5Gg<7nUeIaR=xtX+zl9%f#RmFhFPEEj`h{I8`;03z%KuY$b zd}l7&is)rtG{o}-5YL^FZ2hcZ+nynf*%71`4_;8)nG3pOhx>IPIT0qwe#QMd!QyXU z+2JFpMR8d8)reFedMduY^l1rac^y@36Xv%_vm$@YZo;)zX%eNKW@f{Wpx~expito; zIVf9z6}cPk++|aGfeYH6$!NnS@RDqlNCnqsN_TvZGy4jN(e_*93z-&V3Y=l4Ks3@! z*BA0yjTjSHKog_yOrPE}oJOvW&j!0!RlmCOGe&KWEVKX$qiW@IGgrl0h#uT(5Mr#c zyryk`M1;ef7sahuUg*)vdGphG?E;f=3V~a-s?yyxyDsbMtVJPWa=Drk-P6kFpqoGr zI&CRTlDnl#ne(t>-=-nPtnjkPQXjvtK2Y0m5mE%_CX4u~GZnFBeydjpWUDut?l(Z7 z+N5!?BE-4l?snVIlKn|<`q$>$ueIX~vKy*@Dxwp9?3Yo5?*e;0K_!IP3?@*o4|W@X zuatONk*^a=C9tb=8?Me;J>qqQZK$vCB@h)JL6UO5gVJ2XP zDFJ?~0D$@EFThwL%chNSI&NM)hF4GMtBB9B%oKZdy-Hm<>K_L0Q87GBS`=d!hlwwL z^W2F}U*xKgStojJy)?|%D34s)bvy6mVF=Ly5a#aruz|T4TZzydAvD@M=hSZ#P`_#S zgiZ49&cq74C&;gT$QXs1c>>?U7tEzE(rZf$%e_h$DKPhMf~v zj%{Cm_qDa+eH}Ju%`zG2TC;a9UVY_%OY`;@mP;1@xLMREuB}b047*oLH;?Fk)vJRz z*knu;8%nlM6DHkY>hos)=P>_^5kWVCqY0ttX6GAP%OD(OZ{adRk<{1WoePgmf|KTm9hpsYXgcLJ>ry-K+y-cvEybc z#~_cL&|1OF&ie(5LYF=U0UR${NxO#vyiVd54Mk!y-|#wWh)ZJ)&$KhYLR-oDAl`5= zF+ylR);OzQ5q*;%@P(I&1_2#^Vm;gtYK>0XrAk&oFtyF-@W_>GQX#xD6Bt?JxbdXW z1WRm}`PN*%3iCWdbV7^SXm}s{5_eNGwh8)x??y4v{#RyAyCXF!cDEX-k=Lj|;b_mv z=#%wY-e)a*TfeF7EU|Cgs0mcf;O-Z47c>*UMz#M8!zI)sQ@{xt_t0gP+m5z#4ZrY=RD+&I(}-$=*x3G zAq6<< z18=B<@nNj+J3=K2$bu@HsIlOcN6e``kI;En^%u3RMxGT ztTgp{6pVy48!rJ~H@v{M8YjPI*Q0cAc&){+A`geBoR>p&*mDDrV%Y6rc#L=sjf#r> za?VixfDFerVwxkHsqW+FcpUlC1= zB7O#RwioK;@m+s^MJP)5txoazfNNmRu zbdM!VcP2LQNmN}i>8K_EaEfKS#H{CmSzpfl{ctz6I-E9Fk*_oE>yr9=A^#WkWdt&D z;2NA1h{-Sr1C~P$_My&}NNbh}pEYPs|KCgyiT)2=yxf<&+~&LA<>ov@Y7{^wF^H%9>)X(|Qo`YW@+5G7^YylmRW4Z~pZxvK1@8H5~Cb z$U1m8B!h|#5}PP}ihwjH~Ess4S zm8MA+(}Z=})*j~3{b|%9Jo&{=3Qe29)&jDuZvjq!PdA8@#F&L}wCKI|le!?263HF8 zt%XcY6kgZH6<9HbeVSA)_z6`t%1IfsAeD`^AcFH zn+3^oEc0Gad$FcWM|Ic?bd%Y6LC(x=Uh8W?GJ_kH6g|ygJ5dE-(K64#3P-Xe+iL36 zZ(EiHo?qD$H;;c<5HgRy3!Oa_t$#0O{8FZWt%aYJ&@Oet_@rfBM}9oDh@F})f;@`u zkl>l0F9xl@4PaH&y5eEl-Qr zSG|Pw4W(!VKZCGie(nvDPz%4`3$0I8Gko0^~! zo6C_oxQMFnhyn5j4)G)qAyWQns94WQca%mpjw29hWZ(FzO1|1!%GBo+4unXI>lW)bv%+hc?#+(M1Vh9??KD&m%d?gy;i`w%{rHA;<)W#6C#nNnj2HnohHQ&XidNljNSu7EIDHGyFs%cb*os~ga1s$ z$kzG<7-kagst~hFMbatA!F_L2%f1BN)hJ-&)p4k73ALjpkaCWow;=li| zJ^%Oi#=7wT-t4XSp8UTb;-mV1e|tD6^8PlB+e^IHYE-K5Nf6?aNR37l`b~Pn-H*e5 z^%1fHo(@S|EHdzW{Wse*SaPf32DX43*dCD=oF>R;U-$V<6_;x6a)Hbx3IJ(;)`mBtR&N@d z&Ai|OYHXM1N%C((H^8{>UM-~$P4%jYLM#z7mj7ac$TXMfBU%->5!zkDvzQbCR9}YMEFMK%uzq~xZTx#lP__W~v z-sbZt|I5}>{+EaO==dLh;h>BN*!EqszaUeU%LC)%Snxfe_z+16uc_-Z2K|3?me1z{ zh$Zs9-;GwjHi-8tAl_S=LjxI4BrTc-fT8i7YWG=#a-YFWR;eELAY`yXj85zau+pJa zD~dXORMA!6RlB=a!+w1=bgNE|Y}m{jq!FfIPWZf9agywC9=*%Wdhn(JSBvg z*mwSBpf>bBAJNFHTtBz83LsYwIwcd!(t(i*xlVfnuM8(zReY;cj+D6fvtjw#Pzfv6 zRt0Z2%g(R}0-MNxWa?6O*mSDSYhKH*!j5x0lYc@9fhfyXp+!|CdOV84RpL`^=IF4< z1h5FcAj;ar-Css-2g^887Gs=WqDjEPRG;RWHOD!-1VMYq8Ph1`gFwsZxC|q>Nldnf zRw4g+Xi8s$9$@I8;*&M40$hMeu`)Nj4`CqAZKw}!L$>*Uz7ZAT#yb^PJKM&eZ5Ci` zZu7}FY{Uao%7AOFHhFr0^Vc&^p-KZ)ux5)- zSI(Q?&+R6TTlbCC1+b03Sdz;2t-%tX8%X#JFn*cI@uI-jdS>zHI+5riEN^mG+vPEe z-3~jK>)MlJ(I^5t47k$OP@Cn<{E3&;tGG$mHa-A^61Bb>9Jzp4 z^v}moADnTN@Zj^HVH!R*lllmgIvvGj6UG5GA)z-Hb6F6yI31*>OQ{kI!Pm;Ig! z12xPSwo`Zt%vr8q4-_UxE&flvV8ovq?T?jlu3)_K%iZ0N<9_`S_T_X;7(G&|EuNpZ zd$$gMj&Z+ZxT?6c16~;p&EFzY$Mc#uQJG^;5k91uy$TF|;}Ag$Z9?6UzV0NTZz7wh zu;n*DHm70ZoL)@L+58ayeX_(#+KEZYQ-*Z&xQ^?#)Q*?6k|`7ocH{-@LgP@?^*GPORr z0;f(WaA)=Qz1krk+@~zX7PzuOPJ7F7_To!yI+R=>I-yu6NUe3-gyyv zJ|0|GO5qDwVk{Bgq8I*wQ)c*44hJIOd(ToJPjc+z> z7QrTbR}_|pPPqQPMDQE45M4%5OYF) zIkwy$Kq~#(mZ))@4ttfoFn3sg`@ItrcPAk(#ytK_dYrk6WB+)~w=wo0YvJeoQl&y7 z)r8R9B&iT`z&d3z>HOW}WVrjWk$gYGVV&086!vW3m^QQ&;+`B)Phr2_8(N_px2!ja zYKqz)Zh7W(-2QFKz~P{q1ELScZZ0U0_`|uN@rUG`XwUw{n8Q0Prh>(PcxpNFVYPkm zccywIEl?A=c42@nc;XDG8T_o~8b={`(E7aoTUa#>ZldZ8)>4?5ds@KCobEA~QiwX2 z+M6e+6HB%y+A2r?mG&)tpe=ubDJYVy(fB*TtZ2#BVGEom7PbzjO3XuR2f-a*2@ur^>?0Aq7Vyd0r8^1=Wh3Jcuo0`A)RtgegO1DEfke1d=XxM4JgULzllbZHXsjU$L zVeb=ZzJ#cwMWcEac)$IW9-?ZU0JP-%t;WJBl_sE65*~io z6P{h7r{)4EC!EN-){Co0gcAx!8C@bK_goHkH>^d=`ZXlnd@9$K;CYyM)*I|Lm#-E9 zKQi0uf1E$o^ikQ|o7xVewwM*fxuw<#&3RmjN#C9DTcu5wogjBIfARO_2>F4j%PRiW zmmn7b7Jp2T8bc2TDHzRymINTmRRHPl?x z1MjIPF2aQg&!>r2F$bx)NG+!|!LD&4HmkojW99bcl)=)<_g-^bn7&HJMlZ!5_3rb9{9mH-APJ z2fS7_x@1m7Q8OW&Cl6XrW9^@&9f4IkPpc?%LpGKW4b9c~Iz_`Ymb61bhgNjRt2s9Mv)dnZh2I`YUp zR!iF)L+pB#;BY|@k+=ZQ8nGOlq0=5fVN0K-W?s! z_wyS&q(1f5v@TV=j~*UTRHhHtDr$x^N_U1NMK~A%XnJUQPasoJh*(xKw%OX3So4sw zHQ;D>Jt9*scQ@NCku;f6JF0)S7Sc%w`Qk6jUPWeO>{U@JBGQfe7wQiJNJz;AM28am zU<8~AOryA@kjV;C$+-p6PN9JQ4<&>2whK_gYa$C^~m8m$;nS7>~ zi1MPk%5kk1Ytp``_VI949IG(qx>4f9)F2Rga<57U$nMqemYk1uK^z904RInMG%kvg0yf&9=904GI-e~t(gM33s4c#PHuM0+SRxFCY zjY+!xu=24Hi#`sWgS^lK##VRqB=&lwJy(J2Uv1*%hogbKuZZ&RUU<&e=0%XDVF-L z=@gNFr_toAK?N?y=C;zn8JIS`?rW!nuJ=MmXi{Q29@ysm2;Hq?W2``z_mXr-mWR; z+1R)AB9*=3&EtYsMM{F-2`Nw`!}u>!55#SMr8>brPseZlz;+ME%}w+!{BRZlD;P#% z0@AI8nb#)WtwC_NQ8Xiu-<3N2aEMU=x2CAesqBt2sy?AdvSCQN)`{obQ+Nl0j#B$6 z8CC$WDPnx#Cn63g<~Ftmk|RRa3TGo6QmfFs68!k~Q3i7?@5YMny2}3{|nJ=a%5Pnu+0STb6gu zH5oIZ$uKM~Rb{y7GxIgI+1f&ByN%#pQS%Y#F3gwLG}=wmaRtDE<~LF84!*n4=txH) z2vy=5#&kCR&3GGcr|wuSSN|8CmAt*#;Z(vSg{&C}Oq+OuZzE2SL3N ztA(rRphG~RB3aP-!PCGoIXNY%YZF|8uy~>g*+bhcHQfq#Y+R+SQuw0z=>@>8w`hyY z!0y33yt<>q2VXc$MqikqftnO1h@)`HearZJTP#ke>}=D#z+&3_xN)t$Ko(Gc)@>lC zBrM0+nRfJ662{%dZe#{5DEo`$OkaklAyG_Bed?Bw?O{T`6TIjQ7_4Axo*sTyrb;HGzglg?qpuir;2RlUoj|exch9_NLgToUZolLyzp?wsm$x( z10yuAn(kW*6!1PH;Fe?6S0+(^P5qbJgV0Ra0Arz=O$n_!vy-wZ)5znw4>n{}Old#l z5>u3hB(_D}RO&i~--O0bC2-zd#Egmkz>{ELa}-%fW4)T^xl7=+p}Fo3p@0GV2-MHe z(eO0b=cpFm3S2bKO#3{{wDW# z4!|wum31|%1kwI*eZHmBLxD0>eFatp#df%PVz;!$uxi>8v?}# z$ob-2#dYmIYY`hnxd*}n-w4t{SSzVc??5+xHMx9NYG0fB>mbmLbtOl{qaV&C^x`v2BwOQwuUACF!1)z(%?{c{U;a2Y&IjcOcZLvK@ep>{)U0 z_^Xd!97*P;p&K^X9maA`v682dcca$AJhubm)U`|3z8p7|ag zIPs4OCqlpT7SC08q7rPEN+89WHJY7o$EfKgmqwcd|2Dvqo0PNe6K4?XXIf|!&?W+Z ze?B#TKY<&?W`=J24W>*_zF)t|>y&~E7}6MA?FewBgqVHC<4c>LZKicTm0K!iL(}|J z#2@Vk)M@lXzEKODt&Z~JK%n24Zw*?#h+IfC&sx8Royf;qgFx-qn5Er`0(7?qU}%PK zof$%OWnmQTTqCqpn5Fp{M!}7bR!32PeET&wE99t?oUIn%!w&PZCVLf&iIqg53H-QT z5fBux1Wudmn-MP20FmTb1_uJ*}KR=8g|Jn>6$8#-ZnLycF}sLZc+!)AI6DcOO+F*NP-C(VNhD6>F6%T^9usizC0!$R6@w_l(XCSq zO73!baKhB#B!%&M1WiKCUZ6aG6+DV^{}6Q>V$mbQulYZtE8UBAr7kjwvNoDIiTdw5 zY{FTtRVjM-sGTIH14S>DdxUtZ?1S~_%HTiq`&|ZcL6DIX3HHra`RR`c9BKTwaM?&e z?A@#MWn$-7fW^g$ib%5GA!mCzzEH|7QWiD8eD zn_aR+JCn#o4vFQ&;}Hp1nk$`I7@S-l*~$b}c#fto8xSaOkRXqihAJ;y_^prPvPeB8 z)_{L-yK!B(`+l~!=x6v!Fm!=9gnLXD6a`~;r){v1Sed*@!Ed@4_-QT_oq%o}by7?dx6BM0FwLTKufap|(60U07EY1nfL>E7U#QYcS$DBOA2AQ#c90?ro! zoMm2BJY}wuFC)Q~;e5|cFm~yqVaA75tTHz>vl0_!eycmV?Wql*%4`qo5 zS7|Ia_qLT}l&!Ou<>_XErK4dCHq9fP9IXWc<)UUGzqmPrKltv`^bg2T2w?J5Gum!q zEfj0@TTAOWWnx^C+ywrh`sgd0Pg2d$QecWBNT=PVmZG(Rsdoi}G6i!N`!ow>+gkRU z%KS-< zjX3}N#@18*_Xqi?`QH%^iZa04=4~0^$=$-sjJQak6_&?*bx3@tXc}x3V>xMV@A7D@ z&L?hoN&V@tM_Md5e(54isJZ-!eDwI_C}=}g4uVNNAYiOnxe^?ipd!d$Bpp5W#oh~B zWiaS}Jn-q5G(Vpc-*n-}2+_F>ip5!K3GokXV)PK_C41Dw7-%>rS^f?8gWImj6!9yU zLo!>OnYK%~1L*aJzv6d}B3HlLCzdmxm6pMI&4bcWfFI3yZ|XQ}bH!Z@6#znNCYX?` zqti5v`#g(6(Zo}{W#}y0Od~O*wrlt_=j9K7Snt{mDE!|8*Z)~t-(G)z z9@qcrJ@J1J@yYOih4p{FH}_{UBp0!2^=0)la9z_<9%;s~ZbuGedRlko7WP<0pDaBe zZ$1P~-8;+FA`*p|dWGeJ??cLdL<*(g|FiS=2TN4~wBY}>jkRro{~L<1{)GP@;*-Ju z0S-El0eB}*3*PiGEzl2pZGM_h>i#c(lL>6Q|67|IlK<;%Jn?@I@@c#OotVIa+uv}4 ztdx+Ax^-D`k?;oI%M)2@Fz7>kBsO-o4{Xe<0M|xOn*(2)8YRpQeyZ2HpW)pXmRCeAN3N;GpR4L+kciZ!4$UyL%8UnBHArLQI>lgU^t@J|k6n3}vZ$-f9IZY0BX)l_=1JKK zW{Q^Ki79EYL<|+*|D~&cTJ=90Tax~7KHu7Yy8jRHN#FlM%D=$v7ncP+hP-16s4vcg zABD+PR<54I+dsFG##8qy;l7< zCj*z4w}Lt@eGIrlWikz7#K0DKqA`a}KNr+>ki22Mej`11^HRT=f-{V#nmCVPl z+r8_Cem*!IvrYeMM-R$>bYgu+_BCkb_qT_3AJ&={Ye0S1YqA!%;&3u!&IThn(tZ^I z>%yB7CxjLc^^Yvg_WUyqwlLK6MrWTg^nx2hw-0<5jY+$(U+NODm z$PeK4MNRxUUDw_Z16c|L9p=n?O8wArB5}j*0aKXJ%PSgJ7?0b3Y|bbSDsT{jQCc;I zQq?YBU4ba{u4uO*?aO`gW&iR!qnKk*5D#8bJdJ=h;gw;BT2`Z zY_&dM*Z>7N$1{*T=_cz-?bCw1HgP$m&Xpi;EF|YTm%T0lE&)!L>@EQ#0k@YBF99M9 zx6$6EdpD_uo6GQqmp(56KN&8yqPs60J_A%%lMrBk5HojnVvpX^w1k(JmM;M!COyh= zCI(KH!R+HT?1vCEhLZMayenQ}c4v-g@v|6yPe`(8vsojT-Y)?m5bI~m|AsRqBqE@%_^3V0=m2awB+MwWhQ{(h-{p|Jai4;%#- zivtijqS>Kb61<;Cv_P{p_Eoir+nl-cCcX$t8Tc9J>uGv0O1O91+<$f4&E zyvTw^yQwc}Vp@U4Q4JM;P$#WlkfbHJpGf4y(cwgx8v@D^UOR~wimLg9o{o#o zz86sSq9m_QKcJxEU7L(q6Y1i6|3O}Rn_3`T{B4RmEUJ<`lE};zrf3kvMFv3#;Ljbm zzbZoN;kjXGG6;ksoEQ?P7>Ii+Jn^ksr|E1E=4SUeS(|E2oB$zza*#8eo`AK6*wJ0K zhdrR6`CY~hPTKehSB)Et*`@Kj7=|t?xddXhav2{94X+@n12i^V0#w$i(+kkHR*!8K z7g`8Yp3dx$(2vWpiIN`p7An-op#ahZ&mC{bTVnx2 zB0rL(K~Q?k%!U(29Dal@JopFJd#o&_`MBQJ`Rn0Eokc~V~Xq<;by9k z!-+5-_$MNq_4a7xu<8GB=oW+hJ4$JEVo1XR5lRT+n)Va_6$#~}3Jh#fqm@t1d_E0b zdIFqJu#UNZ6zf{G6l4WGMc5haHY{FsVBHY3`lfia@Jtn z>$>&jUR;_rEpuMHcenc9QNJNJN+SzAYsmUD$i}sQI!f;!8|5yH@}_~8=J!uv95}0; zmldcMnjXi^o%+`N{LLkeABtT2;89h<{eRPc4HF7nd-b=BJ4V+MWNT_vOOE^2APfo+ z14Ia8K>^r|a5&f;*a0VQK%w{)>^JuP4)+kdrmik~x7Hh^ZA+dtKR z;E4nL0Y57Lw`3Qf7XEK*Ydwnp-0W>U@qZ8T$?|`NE%?Gc%EL%0W`#}Cs&|=5EjC( zpvONNid35|aU>dltSL&EvEYUR4p)8_A2H5S8HAku43cRHqjLA*kf{}Bml@b+QmW>E zB&3V#M#*^?UFIp)+KH0O;}Hse8qa!$%IMm26^AybFD<_YMunLX?u5LBJ?#b7H%!P$ zl8kTu5+I$FaI`@0`9TWvj5C~tP5u%fK8S3n_XA#2Gerww4FAozB4}#eDLND`xY_3M zl~izxyT!RpSET;F+kcGPe^CVlI8vB@<`S&u*ysu7id#O`W1Kfaz&C_|lPJe|@mZiY zAKFkj;4&VVI;(qc|2N$J?P&X%JfN8dxNs1B^52F$3uY&G7B95q^6gJSyet6D@SRI9 zp4^?+Vs|F_-RXzj`Ck=Y82^8GaCUIHe|_+N_59-CZ2#hTIhx=s|G(YaT7NEo{r{hD zZ$0t<5Asp@e|q|@5`Yr|V%X^#5-9xki6a0+Q&9(DPbeCkL`||&@I4Kzk>w)z~CnIo6n)|E&^`Dks=cbMpF+6?S}QS#_#KegTD=UpR1jY%C)ah`5p*m>SQo##@{(<&^1 zj~hsS4Bn3tLs>uQJRIbA_t765t;{m@Oy1MMJ^q8E{%qEX>+v0&b%b&Lp4!2=+CS{z zHh=PiBSDXDXCB?bIZE}~5i0HEY+PYPsGd&lvExdO!?^j$56%IrKe+3Er-S=J4vu8@ zG%s#H#)E4ma<1|lJGkCYesJF^$f)QK?yh=-2WMGd$MtFlCq1x$&-%#^&aK%W-0fq$ zaraTD92n31X_!obAaVTzh~Ec3D$&m9=Q=W|wK_G{Xzj=jc);fr>%u?g1N#xgZp&~u zbC(W!>5CNBpPW1il6E5 zUNndI0uOKJCp^4&#%CpYa2l(+`2*0wZ^MR!3{g%PKEi`rR5D-my&s)IHji5<`fWc( z(eFvwq8yx!yAB7}dyGi*NoH3L&Zeym2Y3A#Zyb7jo#_Wh3jBnB*Y1AugR|j=;owdm zBlU9$B&VP@*AC7ZBH6)h|KtbvBd{$ljfTbK%aQMgCl;_9I-k`*4#k z&kos8ap*jcU%0A|{@|Qe)*syFV?4N4Jo&%KQvL{>Nvp=>S<~Q|IJlFa+<5wv>z4VU zYp7B?^wS@}J@$D8wUqtA^&aDmYmGK=?rCiES062^WUvIk6~NNju=q%At*UUOH}xYt zQtKIHp4St9QbHBGn_v9oNYv)<3<jFYY~ zy!qiD)(ClOXaw(stujq62f6m}D$Fk_0v94>rl2A4lO0V01HsOHlcrLY;~D4FpbC7CnVpncDf^9bXZBYo?Rlyg!! zpm*nhY0}{di$WBD{mkela%9oBS_I|=Pb28u9&C0A?I_rH>rMqnt^s{K7P;NCP`B2h zqGkz`2p0)96h}$k=P0^(27>8YZ3^L)}_mY6A;x5BCoRV|e01OJVC*r`}q=7sv$9(p`ElXx=4W1d!7+!MdB zJ|Hz!jwsKTc;PO45^?+M!M)%hrVSt|%tEafh5Dxvc`LsknJOKzA?+;EbsMhvl&V|V9dF~?4o_;t;;^t;oU%QuqJOLJe zjkNJ{xCGCXA;i@xhMmx=jaw4))EFbgw5Bv!@EGlnrKIs> z7~e&{?B5g1ZZ6a^CdElih(Fbu(pbSUhV*MqBi-OW)+Ebd4D2rtL!wU?RhoN?CwrNH!rMhmF=NsG(J_08mVn*H24X%pUwnp#^VnHQ-u0gT|6nG$%h=2eb`jxeXz6+@WsSDsa-Vxz@D-4rW+I-6DZ11ysFwMKhE zy*Z6M`w3_|m@beO1=Ye+PJruehKN~0cAg|;3Ugowj4C@L5W!PUmg{jG8o-HvFZ3p* zGff_}*pAQb}EKC<*6l-v1y3)p;y`=n=ZKa^8G< zZh@;Vx&MOgvh3RPVZZ-;Xqf<6L0IdA*A7;YNZL;5ic`-TXd#U|#>M@2`6 z>=bKsl0X>QRz>#_XCE=08bOZ-T~Dd#O4*1GhrC)_#|Q(ZWD~j@rB)TgX|ol3ZY$7Q z-i-9if~P2WA5L8bH4z+t7`wJfu`=8fkWUk{giaCVp@C5|I$}E^0K!v_ci+kS2l%DD zzt2jF5MH4LIuGmRGF_gk#6(Sa=p;zdb<)~{I^LO4@fKV*{x6`tN>y-n6(TmPv@Vt1 zwXJp11orVkv}(#9P~uouu`Zi-8o&lgCI!NlhY?ODocQs}f_W^qDc|?ExE9 z$VfuJ=J8KEAfik-P&+J{z{cqrwsr`6sf4#oChAQx?2IDKy2hN9#*R)%{1B zb4EAu(&`e{)ImXibkC85P9f$*8d{^7eG6^@jSFR6-qyJT>|{{d1M7H#7;>rQ{`fh= z8w-~XCPNg6D>=LSB^O+htbGZ2+-k(AEfAx&huuiKa-)VSuN~9(q=ppL8Z&R@TJ(H0 zQ+ij2ro8h&Ysi^?ZxIkEY4d<~Yl!%l9#bmh_jq|OS<`aU$VC=v> zXSb>2$RZAuQ{fD+rsBS&i%Kh6L;QRowSHX{Oldw{M((G-vj9cu{euEpQn|@Pl)`#M&yCfcQS7Q zuNdXJ*#nmw9pV?l-UUq(C{);_CGtbOmOw@8s>=a-j|+v6g5=tK8`J*wG0ke7?omq7 z?>xZ#OfOT2hVAO*B0BtoBFo#HyGpc*lEf;QRM04YhWT&+|1NR>&zhFcV82%D5(1&Q zDc*7dLD_OMucM5WxX^Z*@~lr?iBdO$4)*YyQHsT1_F(2pj^vd@6;NJF?)IR;({7WS zd$|nv!~*w9w-+Smd#xCU)R>JUYWsz)slbJOdf&|dJ@9_-5z#E>Nw+>+ z`E2&%v$arNexizmg?ii^>Ksej*43f?9^{hK2|<3#%lJGFlSF^g)etWzWr3Y$4{(RR zw0y+TvfNO3j*^Tsz!M7luTdDf?^{N=zziRMqc7n=mGo~YQ#LJAaiuZ1vQ;9DPOC!p zu1Z|8qF{#%zD}y5ct}L4y*-Iz_n;V|zJ`o0F$p{i=+g@P3lsj#4I9rgZ+wT{aFlqO z)XfyQhZHmsf$802cxJ#uZvEcxZ~bom+5Ww_&x2sgRlJr`u#pi-iu`xWKqK#TD7BnLXGv4z{H^ zWPV0fYyr!ayk-rKevE3^h~X?_(8{uZz0h)tIUq~&XPM~FatF?3ytdE{(>%cPULu-h zMkvFV;|tqW%N+$3Cg8EFm?p49nWJEbJKj|lk#}+s^7@nT{4)#BA_is;Bst}#Hdpms z$9!)Du>%K|id?MB<|ijevFjK_`yz+YF~}fAfjeWUT2W}TG26qA_SHSrVL4}ii$yZW zb*J~jgGr0!aZW4nEEq+2%8DJpqO{<-*NKOi~osmC^!w=(eI1_xd?rX7Zl-*~s8(b`>&zEQ;%{>NoFK z6APAOgh=z;K%^5Z#sGxuAIDCP!P_Y$5jNZEF!>mi(d-@8HS55kXKU1}hV7*Kw6p#) z)*mdyr7iSQ=fL>9XDi}Xh6A|xT$aK(=fk|jNU>}*y|_0^4^RMWK$O4BB`5W>JBt)= z=zkdt=!9M$LYYKtded-=zS=ua(1JnvMPi=-e;GDP}WiJvv1F=Zq1) zFY0M{-aMYe^F=7v>O1Q#evp%n7$+R*`vc(J0L=aj={=1ef5PYnn0V&D~l?QC(Vu5HA!IDk#ABh?1=Usz! z+c~KMeRPZfi*j~7oV0e2ct}h`mmwtuR(;ETGu&LD^uiy)?dt4)f09ttt+ppzo@I)! z;Pg0SS)yZC?50RjL~@tq_%=kMidT5RA7{FA)q%{@-{i@OaO2>xWqC4eFt@e_e^bZC zKMt8Ie8cUB&lCqwF8M+A2bl!2W9}$m@p(?j)`6{t9HReP+9v0qAZ!q_&mACPQ&uFy zo3~$RVk^Bv2>*LfNL2N^LLj^P|CEpcN>K?vSAZsRnS=hjYD7s2rt&V|zt~Kifv;6T zAlQhQW<*(vsD^y28E^~v%k9Dlv&hHKm=hC865sV_OP9(=0U>|u?WtKTn160o_8D4T zj!Q-qRU(9JsXU5M^ULj^t@2BO&igwThw)@= z%E?%cOJkmn3nYJCZ>`N!9s*EAiUieVm`@1jWkvhSZEDM&Um4_gC7Dc#5-GTd`ZMA{ z62r2|CF#^ctBut>^fa8j;3s&Oy5Sx1=`0Ea>uL}}zJtG{+|D!VH0jvbDQ9DW>1aJn z%gQn@ynEkHj`xIUljP9JbXvV?_pmPDa`4jv=hht!xUwO8erie5QsipQ0I&BjfH#Yr z;K~%0?E>~9h54*`2;|KHmkLP%Ab)#anzXCg`#}5mgEv;hUKJdC4h`IU&z|B^mKm2K z3Mm#)04+)3Nv5iTzy4Q=+6qat0^1JG6JbkMI#VHf0b{m>63dN?k%G`~=D5)BWN{Pn z0AE`M8l~LCM8RL$j;>kgmq9!JD`IAo7VVX1&0EiYHUF&sS{xaj&oZJx2}fi&Gn@a5LEBM^Daxyia9rfP_dqkC_x4cxwo66V(!fc8-QYsh zjDq>ZJC(dOmsc}IA^5a7ynkyYs1i&Lj?c*1-|_J1#H~rn#iR4wB?YQ}&Eq|p_c$+0 zbwB!#%`YD-yfxLXUF&N~vT&_j7|&=!N^3{v;>-j`I9GDl_^I3$g~UZV zhZzL6ERcgCX(A~xry@bbi@flA3P^O7<9%16Bkk&;G37i&`^ByZ#zcgS9ewf$46i4M`5^d~(kC&xO0S|u`a+o%C?2;mTyqi(K!fqo>t`nWCbJ4ZEoT%Ff*AFCUw=$DxVX7CUfGawo*j(7g=7CM|dD3NUB$M{i3$EcyhkI zjK1S{G&--kE(#0dfj&$HwJccB*^r!o1&_UT;a4e@p=)FkCAsRB#vu z;U|OQc&&Vzux8_h2C;yMD6lhZDUA+Kty-i^lCqgeshPIaB_fpXQkT(80TWuAQSl+i z2?|+#8t246l}`Nb=H5HjCgV2|*X+$X{F80&91y;nb^za1v~mhhb^g8qKd7v7@xFvu z)2rpXxoCK*M#%UCLdMxIB{J!pClQ<3#PAK{umz06c9%X)0U>{5koO8ZVA1TXHx`6d z_zxS$*(k=qhO*o=Y;LRrZ3&h09xuyI!vp?GF)ZG8Eu4oVDJ_4#3m_A$Y63ij&hMgpY?cI-)jaDD0QEK z&?S}kSOCV?^@97A%p8AOuN?l>V3xlCv;0-86pWH#isXm6+uzj{Mp}tM5V*cv|np6ZLf5p<8XQBW9&YI_x!(qBp zhP5;4azr+-q)svKxiz zw0PTDBDH_BWo&zgl~awVu`U3IUnGQAw}Pb+j@ilTl{obR5+bOv@9n5Hp>=L~IciiEepyNZ6Vum> zMWIz&(0sYZYah!X&mau)RdYD606tz7vjp6$FLHkk%6sSLolui|z4D?N=>@df8Pki^ zP2DF#8^~mYR}1G9BXKkpX`+;#iaWnqR4O+5jpIszo>eXp9uztBMDQPT8LM3_GWzFT ze`8qWBq#KlEHR~9yd`1Znt#4|3c1$&v*wdfFtrj(X312G>=&18Zww1|Ud@*A2%eed zorQmLU64>nNC@?#;G`1WXZqG6AzR zp&Yxx!eKC`YB{fXzy`<6KEh$=9 z?`cma&8&#fB8~`W)zzSKQMdT@mib?_zO*_hR;Oijz^O!I$YsUMf1&4?y>*sutdyo} z&?tTge2u44;2xvp;8SrjB8w~asqmZ|QQ$-+I#`CLl>Zq<2S%5*!HzAHFFILSnz*@m7v$2z*1=AoO6nKz8SQr<1#A1#l140GOBbK zI9wpdixi}Hh(Yr#WkP*Qrt^r8p50(6NuzuhOZWMF$GCsp0x*&e9oLcL?BX32sHinI z_$*mXD%njk2igu7^rNs3u4Gizhl$2LU36PS8Nc*A2=~qKvQWhRLPDi*?MZ)lP0NA^ zs13__#cT1%(S2Votv_%-z!ikgA7pDYiEKhGSy9V{9kymo z!61{7=3|J;gFP0Zse3?Va4vrx^p-GEyzPINYFG-JEmjhfYMJ7&j)J@j8mA+SSl=mK z-#itZRBkO$bgz*TsC6pW(E>|e(V}k)mJn4DQ0!i#6s0e9A}c-JTs_YWek%~!5^ka= z!>$TV#r%-;{LL^z$&jXmvOzi~6lh`M)X#TBf#R!*PkB{wIGZOi^--7AQUNG`+*a9Q zM#%$P+0_5)CTz62`58~0=`^`T-2?4rk*8SK3sY8)IXh**o5}0kDR}b)a>uQz<} zwa^&9k*rpWOF6fb zYUS|vh93V8Q1N^5&C10_Y2>Y-OEI(}dr%qKWeb|hY(W7S%SHAAZxH8yxycaWDxHq? z<}}YoRh)r$IrUSzNbCtDz!-*P8t06m3P}d+g>XrOCmujj!W7=sF`f}fvsF788P*f8 zom2_T$F?TPbrxyvF*aisDQpTDDqy>(jO{k>{-ywRyqBlyw!|QkETEK=K{Mv91<-## z6E`3P)_pXqM*K~u%0~=;`E6G#pGFO-1rLw2Q8DtH_Y;Y27PR@Kbf^5lQyEuP4Qr8| z3O7S3E9e+I@6We{YHdrdy-=VH6Rv_ST-Fk?^aALY=!(A6%;NM$yEN(fLF8Igl6vrK z!9`YC1xo8CfgxvdY4caEC*ZR z?K0hcNOxCOD3w};Oou0fWRFX)B1TX4a1hq~AY+$q<9!Ftq*}bM^G2yXq<|3-S2|FZ zvLqhe($V?Od(?1$kg=M6pPG@jPN{j`9>f(|zayQDJ|w{49(HP8#It}9#c4ZNtEG7M zmgx)=kep8u+aU&jPSx|5%g7YK4R%IZ;l8oBqzt89riwL28TS2_!u!vYZzFXBa zI9%pOzQYksk62Oq$3${y8ba%fNK=<*T=pQRw~oIe7F8vGh$XBbXA(H@7sYlT=w43A zV!}n2gLQSQ&Z+>mk}jVDrpkL1If78v!?OjoWG_qHpyu*!H9u`Z0m1EGi?iENNkZ|0 z;FF;m0B=&kr3o9M2x06D!3 zMc&N#ucATKJ?TIqV2%4A%sw~YI|O|Eaj zK8+7_d_gd}FoRgi?YpfcVHtTGgpy?mg&$+8qVN-cvJV^!m)`v{7`&xrwMmL389O}X z+WR!DlWtL0#B^52u+Vy9T7A&2uu)Jg40JmyYcKo#wU_3f_3{)DEe-^0&9`eXk@fMz zIS^<{yOqzsHQW#+M!o!P0sVop&)GNwWSh9ul9Pr&YI#q_6H8haIPN#NKtpUi3O?!6 z{<&#?_1P*=={yS%e}V@>q%2m5>Rv%_Td&)8N?h+M`mBriWZKNdR6!x zvcae-V0j&Tk%5FRI+27uhqdrzaTbDo>_nD-XHfuSX_%J=S;EC7hW^6>>i!UHPk{iT zYc)im3tQYfJ&u5-3Mja;LcKI-?MgG)k> zRyHjPTn(t8bCS%Y8tNifD4>m`mujH*!J1m6h=kH?1wwyIO4?X0+#xl{dbRSb0kmg- zkn(Kx%>uVx!KsZX*YI$kfQLK#t+-D?C4>OY_HW)V%nz7L=oQXOqM~zH&M7k772$DGHKUIT#oWoETPvG z`Dn|73iEEghRS8D*ddA3qt&e55*nl%R-;F>-QLczx=UE zMOMf3DHequluCj>%q#`SIr?oa_`$$#oLtAxos=v)q*ay6d`+%0*7sR zuJF)RBZpiKEy-RqpWLHiq!%of5(BNQW$uCVZIKfoT0oeWi9qWe@~a^6bC+TvX}70n zKI1!amRd`9yF8%R-GxdcmD-ViH4k{r7>b#$BIl~M6idNt=rVJSk(ObBIrd}^@W#H z2jrp^nsNtIxr#_nl~nl>$||XrsDnFb>K_FnQ2RZ7YS%3NnKEV zJayX0R!uMCusT_^{E}}|cDFK*0qR1SOUs)Il)P7Fg;s-6$1>WOyfWGcv)=CkIWTkAGx_PNzHD!Q|r*<1k?Un{# zC_whXGowvf>7XsH{^+8A@z3uqt#vfU@HVZftJveWZQDijC)?X1k_36}gWFY`%R-VK zeE$-*G_p&0N9OYRuzPlqFYcgf5E6-I6E6fl!wK!k0gBmZ^)Pic%eU?}R|P{9GKaT{ zV?j(sl))*!@W+b-6@(RP-xW?=(}RvU2POQG5c-5~08RxJ-(Bo~^8f=2I#3-SnfrcZ zHGD^v4E8%0vdwLewlA8emc|F7Pcn`F#Mn3U=5x0SEW<5w%e z)hx%rLjK7O_RZ(y)=X9{UccN$FOOy77uNF$G+PZDc!o(Qp3>?%osuPl`B&Y1#{KyV z*&WY6gG+T#gRe8B8e12l9*;DXi@-U=>qIklhh^B||&elp|IE8Mj`A<9F1)M_R_lEs zH`=+PayJ>gq#C-#>N=}hls!NUyblbCUwkSKolE!&Akk!hFw<2tl`Du;yPg!A?Q(oj zBinp!zW54#-cC9coXz#x8?Kx;SL7V7$i*w^?72{%m&28fQNO=2vaDpBE@z=$PwJHy z4Jvv89LCN(j=@`~SBSZwHrxuO&{!XstX)(Z(d0YY$!gi~<}Ad9^A%;PWzC|bQ;T3o z&KQqYzW&yKKq=TOZkOPJr=+$)(j=tlXTyf~0PW{$QDK&tOKZ3-ra~>y^3kpEGnN^? z?X2~zHWJ&41NJlfH(f`MwL5J~cCPbWLb_xS6(uniED6eR>ZHq_FIH{w`8=$$n;R1d^iV|`dmqT6wEPsA~ zZL(^#=Nxr6yS_qEG-s_;`J0u`jg0*nWbDhL7`L3h|7^JOrRna=$SSx>rl0HXNKbE) zwgq%fFp^YJDQnB}=dEU%uI-6GUFr>CqKvZ3D}3&K-yrGKlOWFDAa2LWgR4s5F6ISy zs+CU-6Zr{ry=SjWr0lik?^-97Y=6w_#u`u}K_1*AOOiW|_%26DdC^W1rQ0vLa|b+F z4@hO#-3xbg)Gg`tTn}(Ny>~_)zgdMDHxsM@!^Gv8wTbK~lqF1dq*c_s1ICm)U|78G z3i-@p$}ju|$w_WQ$4l3ooekKxWdF=X?3z(&86s-|ti){(nh21Mzb8(+2Za znG<~1bdmChGJ`F%tl-MGW_!Nv0avuQENDb$pG*~H1cESvo6@|XC_ri8RzB(UNnPxG zpG>`&C@d45X-M^%_rfZ`=E=C^%Tyq=u-YeD2}S?PRwJ%$fw;E)syIa@)lVoAQnu6} z_JW%A`{eO1FYi@?{eLv&w#nz)?9wOLrL!WTcHU1HBcoBhxmq1h4B4Y%$ii7W#lmvX zC~`>$B~Hh((zvE@i+AX3@I5gg#*PZl6Vo-Ye0IzjdjBqIaJ9dl}qC{b*v}=~6&WmnOsefL7pO=?RR$^M%6xcGJ z(2DT!7Qtv~Q10&Ssi>w3x=ZGhY-rNbI~3qkV7Bxx-$e<^y1g80oLo;%)NQ$vr3Pe$ zzNVq(I}WU6ZbrJoozWH$^%EGN(A{$na7CD0P7nFS@H{GpC!j}1Ukfa=ai*A~6l;zy zA~QqM3aYsz41ZglaA(d5sm&^=F%&t7C@6vu7qyO=D!x(O^)TItWs5^j9Q|%5J8frT zQ$8-N5ejT(p8s?NW;M+NTIBQjlC*-rvnV`A&$r3|Y$s*#i*$3W=Xp_CRn29559pje zWby#zt-h(&!B8xt+;)2dgsj~&tZ}mqY_hZrW)ET%G+0(&WD`tVe|cAg{rhFE%oM) zSIfz+<++W;{j9 zym&Gufqyp?Jz@HMB7LoD6o(xWao+IMz1GT2GCVp8cz+OhNBz72WSMac-M?w@JKCp3 z_)6)POaUjtN~dh4W}<&Qi3X2KG+_Jwucjnz(Y5SB{)!^(Q6L%2my@~%<{npUN zZ$KOGMrGA)Gj$90AWlo;{vC1(rDcjNY<#K--hWmo@rpR~l^4yX4sH~Yg2E}kK$eML`;N6E z&bOO?nm@p8Zbz4M86h&IM&z>GzRT@x!A!xvw^Y;(Hxo7D*YoE2xuyTr0^XZyfnK!# zi+`+^1^jGFb=U&)c(MnrniaBnA_~>|ep)#xW}X#Sf((&Rkb5RUN*sB`g5D0=-9B^S zGIzt37tPx*pu3&Aj8f$~+#GV!cmL?1=gr&CVSc^({>6_MW#yu{7uNWsif?PDi>i2= zD+nOpWwL17Z8D36aC=CK4`H24PVpdh{(sIXdn%o>9po1%hw@91fei|zoDzgFZ};D08{y&wTla5WNo3UeQcqE9=U>_bMSmiq zD5u_=a`hhEwgkk6n`8R=mvrSqPp3TeG}cgPzTWX&LQIws0*f$|rZy2%FZD*lsWS=a zy%KuWdUl(UeyjE5Vw+ipvC{2Je4{QE(M^N;Sc$5k*PMwZA!1_tw(yl%RQ0WZ@+6%} zuZJtonlGMNO=Df++Nfz2MNvYkOn+_DEtiS(?1;M~v;q#}9*F||>~+m}4z-jhxAM!| z^A&YseDSsU`YYN^Zq-7$@rWtqWe&B7tH3~PU8Mtx`lK_nope6BNs;&N@dCoz8trFn z?s>B+>rgL`7qeZn%qd5L{SN(;D5$cS64>a zPetRDSdBop5m>Xvy++I)HexnpWZ5n%XtLG(-4c=R>-EZ7)6Lq@N^~U}kEk2N_zR~k zWc*!Bw7{s0Crsbp(2q+TKeY>_a8Gf5j zqc9vKCHajm;}*)Y_$`y9Fn=`vx%v7tF5z;yXntkuWdpb`;l6a#fCQ*aX=jpsB$I)z zr<^e=yFb;$8zLLp>Z%nqdyP-5td%q0x&Ua~0AP0<#G0{pnKVy-kvH6VRlkuZXBe*j zAd_$zr5Xb75FA*++lywgWxq;b!^#5E|HP_0(9{mxNQBZ@;|zvjTT;`5TDuuzM`EqguXzs{5mrGq5OXo%^DD!qZEi!ZhjV!xe>HL;^vbvBZlz-$MAbojs+S9(hqH%u+ zi7n6Kd>59ZmGWfxBW=2-y9F{-xRG;J80RF)t*|EM7*cI?^6Ebwt~_g=pIJhss1l2m zj*|`){S_pLwdW%dxsZWM8Ssbp=t7Upz9N3+(Rfse}IWdJj#AKr6qRR zFPAg{DEsAuI!pz;a^Fx>m^1tl>;kd|{AJriAGB5QGk-uo1nNw{OA86r)X4P06GHBUMoPGbf4d%O{F}7ft~I!7Z3<$@ z6ww2WO&y-j(cMS$7DdEl@^Sb?v8Izz)Ja&7KMid`#pQH5)HR9n!I}ANR|$c}ETpF= z7P%TVe18}?kT!e#AbUm)VCCyG{rb2Jv4o9bzrO*xgUw+Ca*uuq2+{(HQ6EX`w)At} z_h_H?G4D?PzFQgS|FiezeQhMkqUia%KZTypy>IL@H2Y%1IcKgmFzpp%PY*M9ejr2v z0wKwg*gU7-XMY)yOGHLRl?qEu%eM5JaSK&eE`O1+M`WZme;%3M^A^O(IQ09XHY2}j zTtX)KF&7sgU#c?i)R3Rn&=zv}HpoTYs12Q5X1F%Pwb8h?bz4D|-sSk+Rzhu4=?rrX zm(3r`_OBIwfqMaM9o|`}I0q>HwN}+^=KLPctE!XqbAUkqV(VlM~mVp&y^4Tp6d$f zOsAe!GW%vs+Haj)W;*o@*ZyFg`plr!Sv7w3YlmzEmfm+dnt6cy4F$qJO5J0Lbs7U7H9rrez*3%8#~FRZINH@1awj z0Co*b4+Go7u%^c^^ZQtu#5x@FMa#3Mr%R2nJtwoPGwV}`4|XEXl}MP0kKaXANnKis zRq%f(>yuYz-9wt2G_D0O{i0HOg9ts}F8wYs@CUOkAAc7nzXa3Owat61f1^wIPJdb1 zHxtS5Gy2M)bt=Z&pb+mj8MIDau?78Je78*SJ0(B5x??X~tMc8^o~VP^z%xVNF6D`G z@~Hmmp1S8|KF@dI`-|O?3s^Sam+c=b_3T@^y4G9cx`w|@-&!hjXzd~xGu>>)mWr~a z-#?Vg3><8eHgNvV!2Dy`H!}t^V}CH;IfLQ1GwfkP&Wyo49u3VBUcUz#;y3#2Vc6nbo<6eI z&6PljBxHNq$uI9%X0vEbi^AtOsmCzS6#~|boTq3Be_+}mlel4pOya_mbASDshz3FE z2edN9rSiD1GhsQEOZWk)YfR}Xkh?*+J+-p+LCOO3+n#waw-WS14mAKeV41jxgKYt!^MK?PCQ71IDDvj6!9(=3FU5KBbkA5D0(4J3VeBtws zpP!B#e#Gm9{o--4({3~FGp*dGSPD>B>T9*IEj+nMq3Bd--+wrBn^MhTW+i_Q)cgCN z8~SSUf+vQS=>&B|dFPKndG4tC0iIMJg|_Ra@p=va*r<(6%l&!`(SK&&z@3}X+te&! zQpek!SIX6XfIoUQiS76eU!zLb_>HEHf8sZKO78}kKs|=2w3Zl&py}lGs_AKU2me~z zQCk-nxj~mwelH?>#yDn-C2I$G47a?pD)yqk2D7F~AvLn>ro*JH@mgqF9u@+Jynh0OqdH zZGuyZwzE^C-vjMEYDFXg5kJQh2Ie1&_0N)dzXuxPxo>+Ilz*C15%#T<%R@xY4~=VK zsUf?}a9SAeFtS_A#B*eMHD#tWg1@OG$aV_V5;8uvrHh(!8aUEq9Knh z?%*+?Nq~rJFFSZA+4wUp4EDn1kA4s2pgj+0d`FJFnGP{UOUUHxiBBd1R(CqB3WT50 zSNfToaqX`L?xBFoH{@j|HWGSWo9XUTxrEsT>VGt`%zrW@=GM*o>x63?GhCa3

D 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 Ai2wiq delta 262949 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

_V1DJuh>oZE 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

flP!Xo0}YUAuN33&rh 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

sG^-YyBqAamvvH(3EOY8OtT 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 z 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

}Lo-Ko;GJi=nYI^+HXN~z;+~U)S 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,i% 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 Date: Wed, 21 Oct 2026 16:38:03 +0200 Subject: [PATCH 22/24] build: vendor @developmentfinance/client at sdk db45985 The client refuses a files-route 302 whose Location is empty. --- pnpm-lock.yaml | 2 +- vendor/developmentfinance-client-0.1.0.tgz | Bin 271963 -> 272070 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8962ae8..96c30da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -855,7 +855,7 @@ packages: postcss-selector-parser: ^7.1.1 '@developmentfinance/client@file:vendor/developmentfinance-client-0.1.0.tgz': - resolution: {integrity: sha512-A7U/l7t2WtsD7MBAe1A8MudVU7JvtEwegZVXeTjtYzfLCs4h1LZ3bigvfl8P9NETP9Gd4t2PAabRkJuUTpmCng==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} + resolution: {integrity: sha512-+62nbUz2wUT6ctT/TknNxbwucpJMg1g549iA7Gtcj4wqVLdUNX5MiBH45W+U64Yn1v4aWoLVeB26yK5vLEfGLA==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} version: 0.1.0 engines: {node: '>=22.18'} peerDependencies: diff --git a/vendor/developmentfinance-client-0.1.0.tgz b/vendor/developmentfinance-client-0.1.0.tgz index 7c95fa704a3f569a0ec5a4862adee804c56bde6f..59dcfa5555406aed768473c59691a6a8fb3e316d 100644 GIT binary patch delta 210091 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

Mi(wm+%{XPt8v$Q`9Li&q(r=NK2>?VsG*1KX zV-UUD0WXD-Z;bHVodVUpi=FqjRx^JPxu=K?zuRHR4!pv_2JVeF7Wl(KSPKM55RLtPv-2tp&6sufgt=%h9>H<+lcAnr z;vS5D_t|Tn_{u)LK<bUKu0N2QKQaavSX z$LfHoxvx?J@<~)ELq_`M4EQR^6j$#u8^5-kS-N4Qf2~_uYob>BfnA>QEC*GpMQqN% z`GnnK$klLNT3lcm<vc zN`HlrO(#OQ!)RB1cOwx@cDWKrG0WG%6~+SIk|HOB*oi=kD|402vE@eczetv(4O@Sp z6?WcIXLx^vN)FP?bY>(C{LP`b+!N$;92`C_1KPqU8L#p}WkWIa<`ix~`vX!K=myDu zeYrHWAWm|YUbV_S*P0C^F@%S#t?!KHp|dFLdxG&NaT($U69?(s%#Q8E)VRz~r)2d{ za0Rv}*UgJvD0V`%Eswerd~9d4ux!p>P_$I|>IB1%f@4p!N;nlTl#K6s}ORBQ>mD zw6|NwsXW%i>v;d<^aX_?Ju=7h_BR7n+Aa{ewvfsYyU!jR?;3`^OQgH&{LVOk-B9W_ z3pIrCU5OFmxN|iY9^!&I3T@loZpapQwQUGwhJf7hLXuodfc%v~+X3V(_55wPx9Yb{D5Ptv+ z6!D)gUkxE1@HK4C-`>mJ(#Gz8zM>WBpox9b=G{K&Mth4Wm2*sw(Q)-w#+A*ES}IUg znVUpm(ZtRO!>^F#Xg`;j-MzY?r50RSxGV%C;v!ofZ`OvU4Zms>`hKU2BT?!w?`Y@? zc|_oA891LAr4XpBD&mKzh8(-sV3g2d)Tz2pOOfaJ!5M7UO@5OBlwOj5acv_N({dfZ zFBZg{Fa0{Fa#9nhk;8_)q!SooWnTxZr-=ON2n; zHTfXyDO1VAkP6v4xu{fs)nr4H?lm&8nbpL~=m2X#a%lRx-3^`aYkpUu1+-xspTL5D zT5F1Ja@0VLDOju}8=+z2?OG&^!XrEWvLRxNgCmRAa()c6V2!4_bt*7&02DN6+V535 zP7%7?eJCF2Hg}$lM`*cwIe7q?NH02I)Qh6>gk(81!c9k%1hvwC7 z86%LbvbgwW1d{1&wOjakyOiHgCTB>h%0A_nH9_JcFi4SLXfqTMu3?dyr`JF4HM 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
{cemPM5Yv6pj zNM}kRdi(mv0fB%-MAkp9baQDzbcC=|6w2hoBtx+gVNC7PJoUI)f*)zDC;h_XL9^uC zGk=Rt%*{;KBGT&6f5v2^Hf@pJ-o=HufW0BPc|?LpBv?^7qy}3j5(&V)kRjalB{K-$ z3v20bYKwp|DnX^~l9zu2ediFR!LV_Vr&_l24w zaISKLLuLAGRPxuIRvd8x66jnz9;p|NwP+VlJf`0qcO}c#f3Ox9h$fQE^J1;kD@O%J zr|kp$|y@K zr?1X81ut<0I?B5f`%>aI5&=OYZVj$UF&Jj-0-?!hjg*%{c04mMmESv&94m&gc`}3j zj-)=*ASrgZfBWe;6W^?0OYWFG-JuYi3aVwpEm)oQwMTKR>@F|q?^yrn1(vdv*O=R2 zemRolA{J7)w2pxK+1v)B4BFj97=(FiC;C^jJ%%>c#gG~pZC0})nWlTUf7p+N1OH=_ zy}`L$NB2*kpFI6}5Z$>Gndc7hAo+QJ_zp#)pbNqJf9H5ThZ+(`J4;y+=KIn?HWHP| z;Bhw1M#w|7(}z?g6ty?)#Y-ZUN4NvoSBWj~*Bq~IRuX{EasJ#aRYzFPBm^FI!s#^S zS_PVV$Fg8VAaNjga-fxnbch6lHTbSsTaY@|n#2U|W*9w1U832HbRlZ8G(b84?T}#J zR6hs_f0RaYg4uTCfIfeA+71ND$e*``e>}DtbVX|*>J55zC0V(agpHmOV8J+TncQLzC688y8po7_V44}m}G}!9ed}@qRv%mG@{9nf^5EH#3 zFjk0SY+bqCA#U9Om)-!EelFnB`;^(#z6nCMf8_i&f?)=uttD;e^FyKm+2Pk*!iB~M zp-*ru+vmdLXjYB+`$u4Qf-cs}Cw>E3dIMT|16tZfg2z@w=pepOw170>ix2fOf|ow7 z%h@_@C$IFrP5R38w9~#+Z+7N_zYV{E)(yCQ>k}d|`N*(P9f?&XslTM~kuMEXKuW@-IjsG~g#`Ul1iA?Me})l{34c|re54_1E(>Q9WreZ?(mKfmSTD1? zLG%#SY1q-v=_2J~ft^$!sY>>RNQlpUhe>3F>2ZISZzj+zw(cEuHgW^m+I;Yg!>#Y@wbnXy&MnBS*}4*|ExbSyj|;&g@auonf6Ref z8QE60o`YJ(kc*JECr+1VAXdB3H1B6nQQQ}NFci$zagHP`j2iiXSxoxO0Pf_J<47)a z7E8k*5-JJpDuAYMA@y|(c+xr8=Cdx@6AxSKtRL%RE)TyZ6M=aZYd)L?hRer`r@-l` z==r&A8}>w3iW0dQMyNNE1e++?f5ha3ydsAgaVkzp3Yn`^1@fvP%6q%)6^*@N$2Jcz zVc-MzU7M?v?5xR(Wp%`ONgQ7e30kArb;~7x7pvBqEvj$ z$saJ%#rq6R<4j^2e3wrv?N~9CxXP_bKHki&H2Tgg+56a<37N}LoF$zMf5!yM&GL~0 zv-AA0tQ0PyU!O)?$BXt7xAGkPQPOLgS-TQmt%oz6Zj%}NL6MZtJ>sq8(c7<@v&8H( z4;!mhm$^XSCjOiGi7_<#?STITG>-b%yi>Ou1bktDoTD8VW2nQ1 zRRaoeT?|9!=&wl1H7DRbcXDOxN(60fyAY?ul%ro)-D&rfd^b+Sf3CJPS9^G7J^s!z zr^~)KpBc#+)s<`cK+HZ5M=_6WD4LB# z9kEJqWLqWb6RAQte|@CIp+TWjM$;u*2MG&=e!J^Xo)o*4vJ(tPEVo-2r6`T|3L|pG z))6pIUZ*1$(0&U6FALa#hNj)KY=JM&DgJy=7e6Wwtz`bB?s6s#-#EfQpl(zB)&17E zT~W1+ptX^3Wr6U+(xxkSEHHJ#8w@@%6Q2YQU0F|@Ep7x$e_L1|iYn=h^{~Jc5Lm$! zAXRDUvV4Kbl$*`SDM#4|SfYXyeH(Mj{kb&6;{UPt?$2!;NxJC2g3vD@_W+RPo!PyI zTCXoHQ6BGFj}_(dOiWAwO`u8k2tebY0a0Ar|NE`)%gn0kcT=PB?8H42arRhXcXd6o z@||Bw!3Z+ue+d^TE{J;nSTZKudKq1O-V9eVW31B(EfMWQ>!8XPo5g9Rjo2%#A0=kF zbb_vkss7ilmD1UPcDd;OvZ;#!h!CGbZ>UCfvtFlDd9w_KEx!?GJDmRBGmgTyqYR## zq{mm58mz=gTQ#H+f__g8`}X!y_QEqqmJBo&gI^)Ye+(3`bU*wZXS$>-ef)HQNPU~! zjsEMH?z=G&#d({ofkBPPbNbO88uOc$w>e`GPeU8#-gnHX`ZxetO6cK%-tB+4pXAbBCRsvXaU!r@Sc6Db!Q46p?Tr8t2%6 zt=O_7!*lL27575tZa9Vp9MvS=63Z~f{a!of&${BoZ%5&n8qKuoUdU}{F-6E(KW;Tm zL+aL;e!w)LnGJZxM0(p|Bur@LtNz^yX?4SEe}?tm+!eJ6P?cY3rSP18p39$^R(seV zo#1Qw^I0^0C^XhDjO3Y#o43qvhRf!d^b)*sb=E*ahClAvv4n-;@A#4{XFtkx8Qlj9DDLkjojLvxinfLq+S2$R)?5Z-JRkZNiZ{_c=W&ehwQU9pN`i4jPjyu)OC>*r}&q3vckwjUk$q2iq z1Y=|hRY56l3mFM%%Lm*Qn zk*1wh%c80YkE8$BaBI6=Y^5wEx5g)Re^S4MdRxyEht~U$3{P8kClM*f)A?v9ivgOP zNuT+9Bx%G2PMyoMaoW)iN@p@C?(xd06u@ULdK!sJ7nq}FO3~S3Ddw3tQO6p1*ICA1 zB20Ik9=geN>t-@vaweaWUfD2y`;FEq!z^*TCu@SIT15?(*Ev^PQ130O7~<($e@Met z>-*hpt=|JxS09PaGpQe~Ais;_v=iaje|#9OaZO(@PgEwUbyR{%kj`#qqw$wtJo$3m zeMd3)gTwb1+wSNF_o{I|U-rz$9s4K6=hGz;+E(X0h}IK5x4gVyXQ3KdZK2BPm~l=Y@RhYIz=>BrNQ-C=>#CK>(rUYKPc*e5FGm}X%pY4HZkZF zXxRgo#LYxKrEU*4yL#nsa8}r>! z;}U%7IzxCXb7noDke-gld%01?JaM-EeUTO8pn4X^tG~dk&xqZ^={eFlw9Ux<_x^^7 zB|a2Jznc^j=j;d6V|HKze_?aPJ3_0XHqB2mEx0Y^=`&zA@ew77-zA0yTxSaTuDwV0 zCH^{neLU=rhk*`q=_Q`NDM`Hs*tw&d*j09O%#XguoS6NZPw!KgK{ahGJbY^a1OL5w z+uu3msMoRKee>`Wg_-DFr5}?d7P5%BcrP{X`WRw;mPeayrO<$Gf25f-rPC%{KGn&- zHrI?eN`lMF3q^JD31XG!Shjj{d7JFgix141zC5Hm`%iWF^Pi`)(S_hKR2-wRQ~ty} zkf=#8SKma4Oni6}6W-B5XHI(>V1R*TAqD<|134WTg?mT3+YvnD*B~CaBA4BjJb!vh zSnwh`8sFd%NE)_ee;DVMue?tM2S7Zq;-iPw;T=Zn`*8d3Zjoc4V~P_HB&V>Fd-!VH zdUtNIQ@(ftw;sO@xBF?eT-dKe90W?Yiu2>%f(D?HOA_+jN+rIlG?nvmc4s`7HtWHf z-X(eE&vrytf{f#KJ)$n2 zjiy*%uag^}8!j|@K#@~Q#ndOOyX`4}So!WwVRacgfOa08<<_ZiWa7Q{a>R z{yyA7wObWIC2@bTQD>tUa1BhK6NST}T)(H>&js`#j=9M3EpJW9Q6vSbOFZvo2 z;TEjfje(!6t(Jf$1`eoK0yo4oySX|YXW4eSKCaxqe`5eCdiT;Aj8?^yq%&=YQqW@_ zRBKm0YXCd24W}dY_h`~M(Hx(v`?=$OJ5^=4cxQe$mAcL;Q7csDgqLP(@y|vGzBo1#ltW!C(LMSD);m(H`3u} zqVmr-f5preW9LsOSIhbpX0L-k4Y+^Ka1rdf<}tb8Nqqzq_9yH0bctMnQA#iF3g(Af zUp0@&2I~aP;=w*F0^vSrGQIQWC!^crCfQEG<*34l&~Q9VvRb@gPqZS(D#@HW>)7Y^ z-uNR=3?-!Q|DBBg+5bEnpK^;dTL^0KHViy2e>kkLeyE;T_bgXiha7iF-xEH&OO(kY zJswq5AVA4q+vY@sw29K;zYXkqxlXbTGwS0~IFmHm%4(u03V;{d2ZnNobtyQAqfnn; zSp--H3Tc`v;c`h+VK=NOfK>jhGOWTd#)WJVYhVk5Uw~M3*GaesR^U_#IT(aKguNQy ze`A;js*t3h?@ibk7~|G)$&H~aYI4U(y!Ep2r)00_p+_b>Gxj^P5Zm0|o_I91uugI7 z>CQ@4$hfFymGsq9R=)HJnv5>+%{u9iO7dKM86YXd9c06LwThL@oysFCw;p;Rv&zQW z_&|W(mc&!zp()em!^k{A{Xvh)5RKo?e`RdXST6W5n82XNoBp)h=d0r~780>EKdPnU z?8IU;orXJVSgDgB^@)UNP^r>JnudU=$Ycy^bK&(Huny@8>Vy?xOPrSC^*Kx?Cv&;M zcZmh2N@zf5^0pha5^Zt5yJt63plROR9#r=c7!F-M^JL6kqXH`BwLYmUgL>z#e>Fnf z_Y)uOM6XV_?-HI2rIjL1Xm*T?vR<#6%YEfnneH8WYs^N^l5M`tmJm+x9fc}$bvc=- zBDxLsSpKcRTM_2X?so5CC!&&K9?Q)>K?Oa-XE)o7=B0N={}wy{^XOk1|=y z&B@*iEUk<`Wr`V{E~9hgEW~vgM0mVmF~4-RO+w)$L5CdODCR2Svw~lLBDC>%1qaoZ ztnbtig7LAbrt=BTzdEcWx+l2i0(r5Oy|G)y0zC}R`{6B4^$J9gM`l1uVimmKVAz$V zu|L&yyh5Vc$gy~b?R9pDe|A$J62HZg+3|+X;YfMABp`##nN!?k1=y$woJ6f`V{Kk~ zG=LExw-0W}c3vN*HC(HFz0*?M{)Fk=Kic9e%}e)CZhJxDd6+xx0+7e5=R{)N)R)Qaf;cfd2bF4DnrWl1>+_Jw7kEm@Xnx4f)2`gN3RBZW)MN22b*L7 zMO&eSzslDc+q)b>yilmvNl^)O74LCX$qvNi5z3x13QI4dm(FYg78c~{zJ4Hq(cEH+ zkR}HmjBF%KLb}4)m-=i1D1VB|rPKm3F_MK*bZPl{%VgNsL*!u|X(FmWE{Nw8-4XLH3u=F%_Ys8kH5!pdnBHD5Ca zq?F8H3y?3ZkBKMBJC8=b*R)M&B9T2mNi%5`h1xO#ZLQb-mYDRAXIEZc6}_Z>Dqh`#zmq{kGjK3xq`L4&9Om2;p(bv71O!nX zf<$G2fS)}XAM)Mkw@%~O>I~`4DqkzOqL|wzlpqJMd+WY&GR88)2w4%LQ>B|Agl4qG zuL!k5NtJMGoxtS%h<~y)ssyDGlvDC=$X$zV=!pG#RTVdS(%^87?PfQ?#-_l0DFT7m z^Yllnb7~&@R}?82D(*zsyZUPt&PN?g+HDGYXik_LG5RDr@TWg>8C7lEQ-an5FmfRi zBqQNn*TxRIpa?}>)}s_*21q<}F13`X7A6UcYjYC98y+#fZeCWvj~WH zOU3Rxe!TQCzt^P?2}$)y$k+kKllPqA20HCm<1pmd#KXy$A_=~({Q5d$e1DbF{UqV| zqR5c(vP?Y~m|l4LCJib&c4Rdw5<;?0M%~uayDQjOVcqRgH^|XJVz*XX(i8~))zU*i zp2va-B64Nx34bC@hmXkch+lXzyxC1l8)5Cc zJcJ>QrEHb0@CNAmuY6UI?G|>3UR?hS-V~bwyf320Nq@=dB~x?jIPR2>5;f08X-L#< zcOSYxJ}BwK&E}=Z%(t?d)&vlsTod*@!1G#rjK@D^t6v_g>|IcE*(CQ-q;_eJFn|o$ zcNcZ=Zp}*axmZ%F&K`pqpl1rrAV2}4Wp%_|dVnOSrF&vYbk!!F`zKRkHf_^XO7!A6 z5~j|49e)beR`D?g2`NMb4QDypj$hNbgBe z!z)r;qgTQfX>Cal#m+pO+VTI7Phk(c*Ur+t-!-hV7uG)B5g5lUo7L9$q`WEJi)!zM z@|kk;P0i?a5gA!cm$*TO$TSfpUz+vuM$YIjD1T=5{0wzx-^GQmArH{;agX#QZ$Fmh zcOJWq{25R?hwwbDpZTkKo~9HmVifXDj;9-1y}f-LPrp;)e46k`i(UB8EwvEiYJD(a zI-2q>21<-|YR-&KTsU1|W;H%r7=N2pzw?>co$|LHURFNVe;{7=Fjn?3TJHtiCn@M* zT7PtD?~&-4Sn1Tb>nyF|4}=`CIMa_&v%aHx0Mz}jc}TzN83~@Lf2o|~+HgqLwoxEy zt`%h~AXG$Gt!MY~sU|U2PgWM?T*JHkKpm4Vzi!9A#eGwapy}{pDN*F?{{gwTN4>*fq!W)eCH{J$pr4kiV%w&N}KyGn0d44V$C5` zVM%u3C{7l0SR0VPvtTDLPV0QPCvRloU32ED@_u^tMN~)hpR+e_*^e+els7W=#tN9X zWFf3N__q!`sO`n7JCTaZVP>?u5@E_beq@P^OCc9+l4{jtx9DES_)H4#=D`9oqklsg zm@0(Q=>fp;J`MKVYM#GuCN?W4L{2h&8cgtN0UbOvq@kesORxFd)yO(`!>;3S(@8r?f;4 zGW1Cz&V&h5AhzzTZchE^`{ULtJ%7nYy4zi)x0!Tggwuid$9=sq{>2sezchTjvI_q# z@gpNyNQbY-(PU++nAArWzopxL390$4x6pe}sf-@I2`MMgC$UMK*fbEh;O#GcgnAfb zbrW?ZYpzJu&m4eMQITzW6`6R{GtkglEkG|*e;S^ZoKu+An&o2&I=aY%#(xFeox7}5 zN(m(ExEgzmXpF7PfQ^H=D6+2CMXATFv|kf{KM1xQv(&4r;Q*Zv2*jSl&PAynm#Dm6yQDbfKeS(z;4<%#B#ScgI3eUk6P@C=W|&7l;amQ(kE1YFCp z_MICk{-z{31v0m|=@Lg_UuX)P3X~(eJ_oYUq8633fU#M9Dhp&mLCkv#*(<`QXeA?Q~yl$aGx#N2rny66?@=XGh%Iij?vg! zqE!HO#?f+8)CITFeBkNFZIrb^P)PL@cs(nxWMD9xm!4ot_GVzf9Qgb6Is|x_O{;jO zPs@5x$Smhm7A}Jd>T>`r=B%J3MYg6hE4ZQozlNnA8hUY5Ab*I$^d6k{d=9zXucOxZ z9&;y*LEi~jP6cYzV!cB`Uv3f)&)B}LV-&Ycy`(a02DHa;twjH`L%HWc|MaPaJ$U+q zibMmgYD^RN=Z=NJi1#Yt7Lkc}HX8piKZYcZ(U)KR^B1$wWhB+Kf-k@L@;9M2Qg-Ia z|Nhs1))d^|%zws`&FTpm2Ax$FvM{0uhMv6cG%s$Je61^)zvO-76_eB`X31F8)~|hR z-FAG?RZZi1DS{<=3l|Wot=N*{eF$+pRZJ`<*?H2RVDYc>do1UL(;g0Q@^!ZCYC0sX*MG(0M7IMA9dpjN<{ZH46gDQ#1#pW)-ueL-k>rnNYc7P2K-c~X6f_Te_Ic3Bd~Gp<{GFukxJh;` zMt{G(L^lcWqXhj%eB)UNq|q(nUEz|JYw2-i{4D%Wvi`I!xNrPW0{rsGi&nyt`D{hi zuyrbymQ@cCXiGd8Iz)t?11Cxp6m4HsZJstK;`qWhu!8%6eH2yuY$4e4);8ngt{RSU z)!x+7X+(%h9_r{g`g{AEFWs6eV2=3TMt^>OkOC0u(Oc=|Z6^p8_3QwI)wh2`+6`Wa z(a!dSy_%A{D#(m2ZWHl&Y_Ksb5hF$mB05nzU#KFGMv?lqr*SP!S7L}N_!${0M_N0T zF>yT1xif>c!*{4J=@6Rg*R?uuGp!7h)igz zWyyM~%_Id{q;r}^xt{^}q6T#FD}XV4zut^~C`uYk!>+~97T|QkT{ale+(I%QNccUn{~+d_Zo$A7j>1pNABZZ zkP_o@S|vhF=@1;n8b{A+CB)^mKAEDAz)IS#XXdSfPPq!J4s~rR+6A7sU=bH?Wj7~x zLmP`84hz(a&nY2g$1B;Z{HQ@@KWEC#KInYIu%t$xuY7clggCdc_>-CC8hW1>5_sd^ ze~!)^+qr)`o~52)u@v}6`vuWL;`0-|BKnLz5d9L5jc$?aHR}B4SM26Qh|T0~etX#H z2a>(}8R&Lvw2pDgtK+YSe>r>w{1g6T4%>MiJ%maVYGE?2o{Q5X^0{M} zH!_VaQ5bIc>ncrmc5K&f68wXPT03r07t6fcqRH+HvKg@!QqYmR35++32l=MOLA=_R*jjLRe~CbG9&fe}M5t zg$!5lgAnE&7Yg?xNG4~h`!h*JFbg~Y&Y|8lOLJHh*JXR7VH3gH;!MX>eBE07hzt3l zRR%=oGNjL?+n8RqvbO}ca8~2Owvsz@COM^ot!@=tf+((i9jqLa6aC& zM{XstM1`V~w?Y`C;qic@u9R#ufgHi(=e19=1gGtkf6z|s!=t8Q(o%}nA4*!BXqMqJUmrKyiC~kRF5I+j zD4%9%nHKJ-Ag^jkBxI}$`XCo2cvbNI(c&lh#4q!o_>Er{e?l?xYq3yWtU742T&6n# zx-&`J77lM*eRH%2pRDgUer=*7tai?sfD5h#2q8G2Fngh61X4=W>5vwwOLy zKzAL;$Q0JdnP5hRv+oZI0hI}iq$xOB-Q}2L+a(B77?NiN ztD+B-&gRGqF1h>0yWQ;SIhz$Xs(hlA|J4q(zdN9xkx#wX{+{-Su}!o4*tPxSz=^#@ zUjt|544ayjs@Q%xz*J|GJiwg$mY(ZX#Q8w(j70xvGf9ot0a`*KU2OGwqA%bEnI-Fj*}F_2kjT z59Xebe|(Qer?V*TAW&UJ%1+dlr=isY$ZP_qtB$#d@f>DGoeOP_V|_W*KOmmAdx2vQ zNzsx`-RRo$Rd$wL46jU)+>ajN$1neNR9lfISAhaqserFmhmL(rTwMhIrj1C;Rh!@d z)Pe&LpV>#%v3021Z09?{yNy3DvSf7f{QTMJf1}e$RPbew5RlkRqJ~|TG8n^kNCE&Z zYE5%#yAx{lq{iz|SOQQ~#wDMq1)t7K)VA2C*9!rRlk7FdEB9!qg$dU+Jr7zJtzI)} zW&adCy%?P=UiwEQQFz8D<}&c&v^uorGZhNRc$9YM2qn4C{q{G}Pfp67Ups{-c~nI# zf8~s6z0QIFlTK~4Xo;YdQa1iTQnQ}c$+qCh9WHrYGBWaRNpR_ zUpmU+l8kn+NGX0(_UiFg7yQP;(^j48rIW5-kWfC$;oRNk(g6Z3NHS{G%jUU>6r=i~ zFEkpy!W%Q)M|pZ-RW>RP-A^!0J zC0|ypi5P@1jxF;d-^?o9~&RK5p zDOP;T{NxBma4-y*CH4+i)W|;GZrNz!);}|DH5vWz>f1DbOQtdjzbES-wpqEue{Kh> z51;B>c*H^;UU-CC+q(hUPF>S6%N#u^mkVo4o2be(u%Z^`LFS@-2CJ6;Jgsh0g{SGu z{aX5i_k{PdKN~M?lC?pQCPPFysYZCkBk-GYz6q3*;V4a&H<9>`w>Vf76Xe)+=_I}^i|+MR|iIMfECgSe~~Q~n9*Y4 zQ55pyLG^|>X2a^PiE$91|kQzW8BdBm_>EV7zPy%79>=7ttsVor~3Q2sCJ zqEFsYUr-hz;i|*>ek!GJbuxQ8`inbl?t_3}xI5yGq|~m)q_(?ag=Y9|(qyY;(xJIT zR!E)3bQ(cIXV#U1#S)5@e`D}!az0RH-TNvq!e*Q4kRB?uh+m@R`Qm4Z`(CA^;x5?{ z=x&pv#g0*a5-4Ba#r_$pyo?~ha7s;Ts2~WOb zA5t>-aARlYDAe`4Yl0fX!<4Twn7LI@TDc3%*v2%Fqq4235slJse~6CK5Iw_9=6<<< z6=__zjm%?ofqd%QHena!#)fZ3T^YqPYPeFc8LxaRPzlHS#Pr%llQXOZLD%hW*0=7D z=WY!Hnn~9fcf<7x6AvZ(`}9c1Y&cXhV1ZOeTTFD#Aa*S<^7F>8RQqHoS7>vd_%Hp{ zuH2@?1EXwalkz5!e@CygE1(GAqR_BoYgWb8w&GwdK9JzHWc`%-j6M~wu~G_CajH+D z?+ZZdx>GQ`Yxx0zZ$`j6_h4M4>B_Jf-2GZj9g|7Q6w6hNMTXkL@zq$v9KE;xVr`8t z{pIRhr3CHRwOYR?co}IoOh%7uU2VgQnt4}ob-62??ipzHf7s-3nLEQA|KFli3g?JI zc5Q()xZ8BSTKN8dUf->|k?N`+GRnmV+9^2SqTKS=D9o(C^PdPCG&XcUIeDbby?qKM zEgLyBbI_FkmY_b%ex(I4r{T$eCpS0l9m`wH_czHlD-xe;No7?AKO~3whh(o~Bj1y) zG5o(Z@iEi6e~_+xx~?N>`MeJp%l9~s8l9a!L?uSU(W0VgR>-UrzGtpbgi2LP)sCvt z&81G5Q>XQ&OQ6+P2`t%4YygRAs4Luntrf=|TTi7`DCvmCY}%iJ#_Ar6-c(^f!`1xi ze!jZS&m>Dq>X4*moru90H=9}I?c-KSRRNh*KfD@U@*m|Laq7pGwf&m( zqsaCpH+5x)WYw0BT$`{`eB(qujdNXm+$GyiN_xhsMaQ=@C#LqxTjKQ6NO_DsGBq)D zKScNJ`&?`DnV{H(*#J)V%wR1ku|0;>5&*fhLSFT%e;HjAj|w7 zF^;g$u8!Jp`;fO3tokc|IKW&z#}c|N)%Ketw~`d#PIDYxPQRo{J#eq3)H3E2chP!V z2?0yB4m&y$TuOnz{5EjceU-IU3OT*xB0O?n=c1D`k%5F@7oV1`KqkX7DG~#J^`}2~ zGE+X(s`0Ddc3sx@d-Oa)!=To`m1QDTN#JrQP7G4PM=ckUxVjJ|Xar{?Tf1D1K+Hlo ziWVb>%IY{cq5%T&JB^-XaPN>*tJuT7mq~~MB?6x~mvD#z6n{ibLoQMwKli@=f_b@r zOzSm;%-EeHQMY%H?~|4>kn1~ah-h!>=-1KT2B(U=f!fsVL5LvyN`6zjd!0;zYFW{m z2;I&Pc#~dfI++Hz3X_DAGVxgl||aV%){Zd@Q~`vhoRha zE`6~MZei>>;kk;KkdDOK+Kd`GhZN9g;<0Y2Vx85tPnUv;0uw4uI|3g3;AQ^KI%z&)Z}1z7npcN4+GGCyCzrp80wjO&IEh^yRmx!K6N4LSbVxqt z+k7L6m9&x;|DgnNWrKfed&z_<0Q44H%5E274eL=IB;D zyFnN1xRrkvurMSdy~8e-rWRg-%}uqneDvIup+`NVP|k}_N`yDDpPrgE6avU@D&vEK z$CZ&BX|^+s=1`>TYs*){eC6?2X}?PG#nnEi-`ml2+-O(o9nHZD=I_{pL`T)vTU+(S z?TPetFJBwKb2FfaO2FJ}eJ`o>X)jF5-;^kVMks&Q59?SR;7)D_znE? zc8Jo_-EBt66=b0?i@!Zp=f1e)#eCExp(M20RitCNPpq|K>`j{iNg?9I;L~>5b}LkX zs1MtkS)51aJ^MGz?cXuCpEN;#%rA^5qT)mA=|*GupA$i$+9b=pyf}aR?055*=YN>L ze)E6syVtKSOQgqxgLdde8wIAauFmEDZK5G6AEH=CgM4Te2%QuD?12sPNoNW5>9ptZ z^u0U8)}S&3 zmD8gZiFa#Zn%v^?LW*?Vf52Z(V`m|-m^FX>xJzebA4D1?V#bFAq6P-ipa?YaldUp| z#j78_|9<}V;>G;M`Lm06^YcGkTrPA=TK(>oQ+&AD|1gv2aCzKplKp*mJr|W&0P(LT zQe!mLs3@z(3mJm>lpiv+6vPwXw#3qBhjhmw8byD~)sDSy)FhL4q>xGsqKSIIL}x=< zIw^KYrB->HPxGCiJ9OS!9n>~^0OK4`Y^(y-Z5=B6ePb17sQV42zCl1P?0h$C;Rvmq zKiYqp9J5ykNdb9&^sJYmi~R@?(dz4`QM2H*| zbg%xbwH6*3!}9E)jDsuO?^541jK%ehWzy}Sa{RNFq76+v1pDl{0S&7HUltQUc$Wu_ z0w{kCGcb4jMpzAiAG$lVXOiMove$nozu@GgWZkeuM657dTYxXTtdUy-Cjt=;i%?jv zv6I>%O*9wou834Z{LIO6cmsNn&R^Y-XX4-VT(_->o^1?{FPwPm)3RgbhX;{|@W@^k z$v8P0k}z1X&%`F&z*I(|=T&;ROH+ZjLHC!gjRFaO$?i*RS@YDaOC~=KumE! zVc9go$c=R9=FE;WYI{~Fcq3Nu$$U+ zY~&yY=`(bZ&!u3s-!5O?=EOcJvl7S5S82rl^gNM^>d~o9wi@yRU)kn0FthTiw34=6 zSe*-h!ly2vp?G(YdK1aHRwai;>riOsDspDRgZ}jAg=Vqh2#r%=*=316uBwNjiD+!q z>n+(N66k~eotSyuuP{Xm8K5=|fs8dqD@_e1QARoCnolW3LekB)NAt*f11Hr94Jibv z%+lS#-8#7!*G1=a9#-@5EN5>T_;MaPANShfyPMFjBAeTK%+E$ewhs$;?SFm26X z&undi45OGmK5O2b9i0p0s{(j4ICLa2vEMh0-Le19?sNR1I8-J#33n_e>FnUOmd@!* z5blFCKX@oXKYS4ip!Qjpz!+fn3MvRDzO8VH_pI}~^Q9gn)8ial+dnG5`GOOTurW%1 zBUJy`WYfNasH`I96a3}x4`xx>rWX+F&ouKsUT5_C0Nz~A1j+E<8*l`u2JXW6J_nkV zadl5Ao9wbF^jdkfHYVTvN!HQr9>h)^9rJmlH3W}(Ev8f}x2e`xN^4fAL4mY&NxQM4 zga)gKueRHz`0JY_+Yb!C;c*Y$`x2Iaf2V8@Tv~90@w%HXQKi zP7?vJ+16ivz}>8V_V<;pCqpNrn;CDL>{I8|57Zflg{7S0q(P?UJImYtRg|T3KA^&ZPx;4ET5^hUnJ3v0K;Ie*3;!)U&Hl`&cvlV-jM#QqBWpymX%|_pXIYzlNUgwyM7Mf=*#iG%@sIlRdHl+#}x2-~R2>&ea^#C^N-|XQM zX(^#UZXc!l+DSwH-OtHW+LkH6ss*L&4`xt+q(tjzlxZ=T;0{qnQ*+b9Jplalh^ zdLt(WQ2jpLwS|M*w&@{vbC_ehzPyI@47;WsvB$bCGbr$=dE4ItfT3R@F#!r?M1KQ$ zHw|w#p{vdL-~)VyRlvC+b83n-TF#&Pda~=mo}Q2`_$Qh5#9W7iTp2I(4`qnh@asR2 z8)Jj{4sl|bdqOB&aUvqm#yIk3e0KlE$UjrtaQxWVdkBD6-_=SMl-;%ax}FIawAR9P zqA4-SUU*}fqoyO)=AO1CtNc$Tmw%o1Ng0qSii&^Cb^zj!wU`peu(?5*9=0|!6aXgY1R1>SoNtjj5?C?K_AbdHLv78vmgJ_7U+(d#Iq?kV z59+{6lDYJ5hrg}xUyP-j;ivmAO1c0u!vZI-j#_c1OlrbamH&2G-@Grss(-ZqyfR*0 zGXGb~|9VosWfhjZHQa)T(r`mgnh=X6q;<2~sPDzYIE1sFw`tK{R&%cT5W3a-R1EHA zvI1I141)Un*_#r+!hWeqor)IV3o`1KIuL!<_h*hhEFUAw^zo0sdp&>l`uE>GfAYT< zKAVMjNeh|ITWPfQf@!PBQ-5ttNKKB192lOyAXebD+5;`1NN0M)_J9BDV@PI-(*m^g zt@@dh#Y?x`+x7k8)b|3x3M3OTz^!fa724Bzj13?K-)u9aGWBf~Pc#6wHXpXR9?wEQ z?FiaK2a&|dnuy_EyUTxc7Q15{i*KL3dA81vtGCDPdF5LRzetG8Z0q)A@hY!9)h3Sg z5;o@`^SDO-uG-G}=9`V9>8v%x;YJF7nl>LzFMShSmk@8;HVRPu=drzH<|YkzD1aryd{J_u9Qy6%0T zks*~4a1ncFDm2{*5dFk<>Wx#W);1sqss2F2Lyd___+KSisXuq=S+Wy3)t5WZhOa(x z>9|MP#+ZQ|lXG@v-P%?3ytwA|W12}zkePH9d9J{maQc{e%p$Xz&LoxnQ0UX%cvTBb>Fl$Rf&j3SD`CEZMha8Gk$5&W$-{O{};6!=2L6D&{m zMu7O+noD_0!u zq+E--019!JICW)V(2cd|cIe29IV-5iopfx5qY}7bfN}#DDN?QPiBN`X=9%szGW-|n zI(W2%lXh3=mBox7Sw9W;T|5~OS%8qdtBxwQ5`Qd@#FZlGEjb^%fOle;%a(F+0zEBD zOa#+Qzyh7c$IT1KkKATCq)oDaUkhv6_D>XH=W!Z$;&VoDY)|8XV)mb}UjO)N{`U3v z7xP!=FE1{geO%i-e@wo*i^B=mD;2u{Za&$s+`#PS#VvV?rZ?3wrTk?p4y9`Xk^?Yj zeSh3ZFL7N+jWA9Yiu+j19S5-MF_SUo*4^A4G%mv86s2dLI6de@bx`x&X=hikZyNtX zw}b#-!OQXB;l+(~iaPj4%M|Sun^~7LfgS0K1ur{@0%77ZwjeULZYTJNo&Qo6pLC?0wVt)yEk zhsyBo0{R7sGU}{F0iAf#ok0SaMZZbzDbmm48o~O76LvQ3m9@rk z6qOW(xED~ft0M|XH@UpJE|1$pK!5%m2Oe@GTB|#L-NvJM`}||QUoQ512w^mrTMer@ z{GC%AP~_Z732-q{Q=5qM*pJY50Oh94Lz;E-YdtsJFK| zs|661G$bQ`KV|E>Mn|)D+(w{u66L2R(nXxm-3u3Vpi&HHTYTCvfa4ph1t?LK&u&p7qcXOg8 z5AzlGkMRmZk{RHNB zwFgc|xZR_yrC8ip+5k5+pkq5#!4g-A*p55r8R|OS!nJg@b~CNdjiAu#?LOS%*qq@4 zgzCLs2+b+e7M`_bjJe3^BpOzz+#lOf*X&u@QPh6Mvovf{OmDN&Ep3Tks?R z#{f0EP9-HWUJP8rLsvnEz!2Yz)*=Kdt!;3D2)A!svbG%Gc6cM(Q`jbUa<}lZMt*E= zNiiz7G6Qs~^{$k`I#p#knt_Ejgc*KS_9!(_OwbcTr$z-Gltm`896|pDzz4R3giwYK zS6~RqluxVJ86bmVu_9wDPy_Mi=smHPJfu+*V)!*0InW_)5VFF^i@H( zuinD`DH=rA&<62PX_>gyJ;RcAtW$)8R~o-9+0jC$7lny^6v?uw@U-{0bEp%xqP)%! z19W%tjp6`I!cTA0Wwrxo@G1M>k@~Ix3b)F)`Tp_V{wy}U@0^WR7H0LY2{0mi8bfjl z$_9<+&VNnCyd~LeNL;AV{vVKFyTl^E4hNv=$Q>0-(z@uIn0O%Eges=7#NbX`C+I11 z$3}pvOD2H@6($AQZQGhrZ>b&)B%cUEim#v)wAAd`;P>vB5x|uFx4ent}H|Q)RsB}whR<>Wk?Fs23p$+TeGJHCrzqz2i zn6OpWtMcE?2D*O5@Y-WXgornA|A+hJ_EXG4sk@RN|2y61dJ{yvGJsPY@?Bx{C~N7U zVz)raO)sn^AmG!fLdyNsiwj1ON>})9c1Bhs=5(uMHh*;=3~4AZR{T!CqblZNM1+cY zSeMVL-(M9|LhK7_k*d}{)to^!pJ>T9RCfk7(}6Az6wqx^{gL|e=dr5Fn|P4!q9u*) z^QrFtR}t%&;y;)o_Ec|MAYsC~MOliWA*(a-ak@3;L9(*@H4HwIw*MOYtr1HgR*}5>(HF6 zK<{n0W&CHhft>P67F}2(pV_{}5|+}@$LZ=ipX%Fw{~`NB3yTSwXfiD>2 z{upripTBrL|K^A9zJES{_WI?^@7|RoJX-N&0c9AD=|E|;I`c$4k502_c3&cqt`?iE1p3F9AhP#!vj??$qVc{Dw zaDUFikM~EksTOdH1|$o(d~4HLO2*^eEtsCIY_y;RSooK0JvGNHcIR})-YRU?>^?sy zsm+P+KDP#rA^k*0CTa7TT34i3=m0EnNndLQ6*ndApQLdwlN8I^-7C0n%ddQ{e(Y+h8ss~@~ z%e3oahsl8}`ZkWf9p}=Sg4Xd-JGP3K1Zh-*4&HtLALrQ7dU?p9_q$ud#ulR!C&}h4 z3w{qt$Vxxl#Z@|89e3*t5KcWEh00LNpFjpbY-{aw%cKBwc9}HVaXyy59D3%14u4v| z@Q-uYy52{hu$vW3)gkio^WUuBOV!>#%63!Ker}ffw_u!c_q|S+1YHe0FM-h(2Lu}e zX#52kfxb_Sc>H{C!FozCy-PwJz88*&Z)76iYm=y50xh_^+2{p&icH=2r_xbZK@yE->O=*k~TbtR)P!CM6@k_V9Z+}6q zhSN`4k{X*%U`Pp5UTf4@rx{(h7_1D_$sU(|p#mp=t*Mgj4%_nZ@}F0X>lz=bBjveE zPXbl`Ze#}Qz0^Le*5`5Y(<9#GNB$~1>&xA+N7?{vfgX&*dY;v2Gj3U=d0dr7Xxif# zCLPQ>DU6m*1(E2gsoYFMT(OCoriNo$PvwY>?dk*SX$EE3XAm-cXul0tGghA2Shrz z1gz?~j>)xmp*2<%7AB_QCx$BbAAntN5Vjd@0tfV@7^ zDXz(BQ8xMKheX=Xp@L$Y5zDirsP)Lp8h!jvzI=@?LM18^Z$p>o+9lFewgjSVU!o>| z!)oE|#Y-r4&z-SA%tt1ffFzSO>gt(S zVsVw~upT)=OLC=&ttMGv5B4d-H;yoc&hawosMZFKxzd-?i36BSft{2LpT>%Q^ZALU?%HUedZ=t6hAwI6d=%$}XOI3*e&_TU>Ds>Mflxj2mU{{x}<5 z!cqH;d+@t|$P8n6YN}M|xG_2$JL+<0q>u+tSoXCH;>;SpBOhX&BNv0^a#yL;#1Ejp zHvlyIpYE8b9!Ia5H~@7~yD2|_i#7o&4kX$E2r`~)em>GA&GE}5U@5%2Mi9B!C3_U0 z3Pz03T|saKFu*5gPwIxBd-XC!fW=MWg&X7D(P;vI(rbMofsL6s#B9EE{&Rkv@0F$u+{8=N8kAP|8Lv`k$1cd|L=7(D;Pjcog*~?kTU`HfSCuq#W z#B#Gj>@FeSoVz!bzUDGOTM2B#UHFG$I?+YyN2BzaO2m-qOI`aBHARyU-!Y#F{c_^|7_`l?Xq&%;4Saxq z;@iG`ktyId@TAAcZ7>kKy88B836K7K`he1NKc3SRTU8PCe1ccyG14WWQ##=rX&@@V zn8Q-e_5WYqb3?a6m;8K1Yc7$jlE*la$66wb51x${`~w|4l0HP{9)$%U#)<=~@oLfu zqgCHDmr<1HYwv5(Ex%rQtv0j>;8}owh4sTw+OOA|rF+Nbr>wuf1Ni4{QrwQ3ENA>L zu&lJ?g(F@KlCP5G!QD}J8=P8*Djrcj;32B0yW+cS8nF77|5RUEYUVlC= zBj_Gce=skUm-onX9#^j*A1q^4M#k23Z z&#?z`$o&uL84q|`WBdbG}7hyH5aP%5HB@jTFM}kx?f)QM|{QVdlr4SZhf`-c^6M5MXPH0Z`k1?-mFW`-lPT ztyIsDV_>qKpg_%$=k8GR53jy|dpCc3@n1h&T)vY?bL|*ZlMjLO5rKt7QajEEB zede?T5ABTQx&2(PwEl{)G_q(vLpwC)P6}_YFBm8b+1ky^ad?}JhCdR2XY^cOr+cv= zldTp}QJfsI4GP^C64I$dpoNC2C!#m3PjLvoSMLd=0;J#aHs3dPRb2Qm(LyWgqhIg= zQ`HPXj+&KD=&P?D*{2@WCI_n(=;teUvzJoEk!~GrE+KZ)HNX~1U5^^bvo={ZYs(jY zv_s1jN90U4E@ssgEH2%Di7yY|Z4Zl@A`#kjaX2^CIlKr?EUxF0*lyXC4DDKn%mqq; z7o(G8^ydC>TldeniMn|e$E)Q!DT-6>t9#9jn7XMb3DU4f_1#B(UM{WZ70W!`*JH5$(@?Uqz+I3`x`oBmKw zrDpH0M$7Bu9{w#9R!K{a(%k~>>@(a77HgdemnCBcYHF%Xvv!n$>+R5Qd%ra{4sLR* zJL4pgO>Zu3TZ_4WURp;bwK4J4uO6{IiaWKcSg<(Aaf>7f^d(TzU{(Jbm7F!PcAYr( zvJzYs^(2+~pj-~mN~Rx*X?#zl$gqi1M~v2AQSq39RG0ne0(~oiM3Ak&<2hS z?HJ74|}pPL4;AYh{hXkyqtK zLPt_n%i5qe_1DNLr(Tt1l8L0Sx~Jxtt^8d#r(4Un9r@ZSoIb$>7gU7vbvyRkE7lo0 zbtt=mXBn1%V4%?=kQ`}F$o`q=I7WI^{$vO6Oxp8zN0Coo+D@16Mi@rfzz zU>b_5LsaRO=59oJU|}(g%v}Pc%>&iymFjZ>Y%7LhC%~Ii(ttFyn)4nI{y+f`3$x{Y z3Gohp2m>j9$3>GDH8tJ0RUmLe-T2XRS#fCsXeHgj4ZPhQ1?T{FxsA_sVOho|SBuT2 z=ijdNs^$NEEqS~^f5@+$jgq_}&@*oCIMj{@+SLUUn_6q7 z*41Ku^!mD1$9@e3$o7I7ko0qt|JEpZ{8QzBbO-23Qd-`S=l=CWaur@C+w8haiZ0M< z$eET3xg$+^9IXM6RB}8^=-_;MW~092zYh5v&!3z&IV;q5QU4Z9nz2IDx0Kq{45zqh zoQGalPU5aWV^6wOdYw6Qq9KjK`qcSe9_q0~nn(%s*bpB#qZ8)D;xo%)CTIjNvYVrS z8)>FcCCDMFa|iL#8)AujeM18h22!>?icReiR+dDo&yP2^dbR9}0Z&B1UTQ0H+>2=s z2~*inVK75mFTlGBvrb0AE$a-!mCtN4lo>l337a9pCLX%HZX0LYH7i}i1d*XW;siac z#=A1k;VL~iQ`K9G4hHXIQ;_;FLXJEDGw9`?e*TbK^&r_j4e=BUFyg%@McFxdgd%&At%@a$1=eA@w zn;b;2K6_?=(eBCUb0-tM*O+ELI5RSXS+wfPnhHlx0 zH+rt4^O~0Z0{(Efm9QSB@Obxs_#8YjHGe$xLT%Xu114_V0%t%bom==!A86e`%E4OS zC;a%y@Z$B4{Fv;wbRk#1bEm(zqc!TAI{hInsIuf{o0DmEngryc&M-iomTz3?aYAsz z70X~HFlj4*@xvx7kaTPNuEIt_^+jB%=H7O{&=pJ^f6*L)>cf&gCvXmb$vVF|LT43V zQ3%d;iY}Fo;cwuxKKC4lyh1?Po+=oWO_d?w!rBUS65}fDP5X|A4IIAd=O&gqx7;K0 zeGrg;6NysumqpF$8GD5r`6Geq+>h2kfF@9QQ@{qv6zkGAJa^(po<-WpS6_|B^4j=x zv`!fEz4pdFd&=j7w=ydUVsh}5FaQEBg6h)r}ucm2#$K)A;?+s@tdd`EQ zh|33)-Kj|!o56&tTv99i2)MN4wv_lHJunFOU}0WFc(r_OI~%>q53$-~OAu9IY(I=u zOLh$JLpnN%?IOuOn%SNKYd^nx?3<%MR$N4hQFX&iR5o(X{p;^=QR~>f&J7{mHV9EN zDb2fbdy*n#wK~&(Ajv@$z0!_py)L3laxFE5`y?6Rj-p^Em`@BJ^1V}S@4mHDFXV6a5Z|#vbdhYGWOVjTqV|CqyPHU>dqeJ>p=zoS{MC-1PVsNR*PEv>285N;zrmSkC}@>_T5UZKDN~WcRD7R&+Q%Y?HBQxhQc#4OnI3i2se6ku=B&6n?h7WJ7Tvhy z4{mX+>p6FShFv#U%ImG4tk&zR*Fp-beOj)#29?9W8No~4n5m}367o!=pky*nO>kG5aQ+7h|1TJ7Y256}*d3v+)Y4N+NywaoQ=OOJ5n z+uDu3g%ev3@}bQw-P6(*^SeX3>7>F8UB(FE0v3Emkx^QZQ_ty-FE2!K83LFc9}^<2 zQl_&jzy{jr&!*YzbFR69yV@-`H>~e&THJM;DG@HVVnelVJ)qM=WV2Dn96hZC+wEy$_w~YZ zxQR1suBXT|TMIiZq|Qrgmh24Gr%>URXKWMVG0M7pt{ z%!b635nu= zP12Et04cFcq)&|C1cTGD*y1s|i9h~{B}1Oub&~CyWKg2P5F`h7G8a!4vEpmcD3uxD zf1SePt@TN-y<~9dCsejo?Y_;{D`%t$%$4$e{=2s(1q`yI+V!@_KT-cYan&{0~i)f@lFaL zg5<1dF^7DWRI?AOCel2=?zP*YYt(oO)S#lh?ChC4cD&bB1Hw9mzK4Rk^XSi~1ALUP zU^zZ>_R4^Az$G8^U}Rgoii;cfGU6rSZBDlcgBa z_u3h7wb3fB0DSMEDMa5UyCMB=R^;1szFR}QhfM9pedPiDlfNOn`HNDAzLu#;n-!be zL0h@#>~Q-#=S3X#IecRS0zOTD41W-Mek>y$WBO*DFWP#-KuTyE;@Vptr zt8zP~-%_;w%UkJox2^R1!HQy;Nua^ll5j6~E+@5_%~w%FoEZuHWxmdD?#pE5e;%NVJr6tEx$6>-bh_g4Y7M}+JsV%MEt547&8#bsM zg}Qv1?B928arB)}G31@yr;(Y~+xym{U_`06cC0Ay@qN41Hk~=!meKUZX6p^ed=bVakjWUuG=S8 zk2d#sXj+U7sB3sC{HjQc;ESI5J2l@-_)Bw6pX z} zdy541#lL~q{rjA*W67t}Ou4JDpC>vyB`tS;{C15FWGpNFrIll8cTA%&2r8;Ah#{|& z`@9a^SiWT!cR;DWkgz$1%x5W zi&nT=+r;bYYR;hNm_f`~oUJA%(P&C%7I%d7fkZ8!x_yw|`$mhm9Nt&0mtl zO1QeK;}RA;kwm2bcy{TrR}r0^MOXL$6Y5%;>On!h;NpjX)lG*6H zgXbo^4XQ>6t`3~=Bh@Er!&1VE_MuXe$vS#WohRL-b?6sSM1&OKT(f)jpvF62n&7k{ zX~yHIRDO^`%?5F&9qN2lEbtz9N%h|le3b~Xhn3b)yja6^;xBRklInCSJ1UjD5s6x` zV0&+W#H9!WUKguP|F{W>0PIo2get>c*KOkVFb0#67y5J$NA;S}rU8f64|!1y3V9lO zq3ah6WDXxu5cv4^pj2MJ*ag?E60FS(%&y1j~x;zOryF68(%y`#kkdNx0aHUpmDy* zSL}b>5Q|-$@qR6sQnc_gSQFG2meb#UlO6ys{wqe>zHSV)eaF11s&gAZwuj4h>GHdO z6<_S~Tr0ZkWqQy@D|wQA36c>{YR_VD`_1g*3yKS-ot00c`qy74X<)Fg@LbFRS_iKZ zfikTFCp6^0K@ZW!A<(<%6JIJ{e+(7aZ)F`@rW__!amZ0Z{Y8{P~cZXUF6GM1TPz|S7koO$Ev zPorr17U2|*i6HClLIEae6P*_qm@Ek{wU4Wt{U_4|xlxvU_RH{!DUu-0H!c<+Y6$+D z5wm|dnB!QjGI`G(n*ie<1PF}#UfxVBlX3sa|C@E>mqT84mr1|60XIp6KauhQlZ_tEP zp3C6fsxX>0g}~EnC)JG@YKFEFATME<^qK1tw!0%(jJ=r8y#q(BujN zy``I<_XEQ4R+HKdG%SK+lCd1c@o5yt1)*kXI^s#wXm#m263yKA(2+GJYh{hzy3oF( zP)qu;P5}@)MOobwN#vHjWt#&AK*ezx%jRZuXc)s2QB!kN7tCSgl$$w3LB`wm-Ysf1#AW#kiF z#cTj*kDXqCqA*2cndiEt4yn1$HR9e8>5V zsLKezMvNuhHvmfjZ4=y4pne`!u|#4q81M3g4DQ0+uEkG;k#fy6r`!z-8B~X{JTq`f z?Z`MGHz(XBe^Xj4*I?!HBPZyCSXp0dodu}g!yF1bWS?x3g6rpvl)=Z_afXF| zi$`D8%or@LY9wS}d>g28$pErrgVuk%216BXczDKP(^gyhP`}TZvn~C;hSEY$s*xBq zVdXM>QaK@9I-slVN<^nz7FZ`2^7z*kE-z8b;ocN;na#qG{TGW!#Ru6H!@jx+Y8Mc} za(~vgQuqqy>#PWlFcb0XR!EZ}A?~jd2qQOjtqih>Ri!yR4d&w+HKRbEKj3B}RRU55 z_x%#oB>^5CWkL;yGaNZUT$tLBuw$rwcldrx5syR4R!bWzzb^RnL&5k`5L}%0O0syV z_a_A}*j~WGK)VFl@Gx{_aWT$&-xLsNmSx4Hp0NXds5Ma&UBgWk=;%F0WiBRmgATT- zw~IKLp1OQeG#~&$61l(Me*0&`ZBSpsL}x4R;Pm*@uUaUjy?iH{lU@&=3QUK9{_l-L zJP6*uY%ct#$K_O-M6g$E;BL|Mz+1T(f_;*N*h;fNCXD42=)cV7EuGgZTu>VB-+xA{ zU*Y?vT8?4{C?-A1F4d;OVkx3~2PIJowBbx(F49h2^ayOk0dIzk&)<3DlJg6m;{itH zZ6T#rlOr#*4%;U5yn6gf#7V}RW3t1~j5{B2kUnLzxhaJa0#O*J&-~ci*LU3IDVM$o z`ZVd)-E#+pDXTP!!q*C~&KHy{bI>c(gupy-nQ8 zH48{H7T7whuK!pLvvSt<+dzP6+o_+N2;W@**-W@THqW^Ks^XLVZ_ zXKRQqPQ}olPsLTZkA3b`vVKlUcqurQM!# z&GZf(LH_t0&}owuu{{0}3?aV6q4+74FJsfpU!ES*qs(oISw6e)Xtq{d&(uxlBEAE< zJA@qK1OV}V8GJ75NA#t0z=9CqCkf#quNnEbIO2u8NX(AG(f}d}Lyy7I7(B^Nj-XR$ zaXKjTj-uI834OWxvhzk7_|}$CoSCseBlVD&(c#-*yz)vA2}n3)KoQVQbsz@iH{qYd z<6eO_lpW|H%K!P!!&9(V^0&lYspLbd@p@@IB8zy!`|hybc!s%v4V56_qC zL@IT>XP^t=bPP^Y@j=y$&Mi9w5I;DqBN;=VqQtIHd_=R%RHwWY;~D;9}WfJ$!h8 zUdif3lbBlAc)<^`t>yk5j+~UDhBw`qpUKCx|9&{5R6nQbquWLSk%!eujR%M=QKeGF zsKZEumt|g+5+LV{uaPstmau0uQ`oOB8ns#$zSnjS0c7D*8i5q+Nd!}b(-7tHa&k>cp|qnh;V@u4y8 zYh7*WQkD#r_r(FP>P*cSdK%*&G(62T5@BoMo*5#_kmF6-Ik%i0P1{jQ%|Z0En0Q&f6w;i0ALgP0`e8t zPUf^FJWep_i+M+p&?zxLd!CwrP<;YaW$EMYX7@hg%Z&suv9HP?9rOUOW!#JUDTj`^ zqQPn0S_AzypreDuP{z&UD4-<#^2LQy>~20LKv^b0x1SO#7T5o0f8IU`5sE-vFAm)sU*oSIeRrMBjn-qf;acL4z6C(lT!h#Zr_ZRMM%~Vm-m^Oi%7e!oB zR!vrDJms9;D(sZX-?K0?^eCOKUv2djxB;Js!)30OJW9Bi+TcifM{|LWc$-lJu`fw% zcG*PbQTtqeI#(XqUll+DdtTk8j8-9H14Zu2m4s?t57Iv|vD$y@9mDJOcCb1qB5Df& za)g!Ti!eUpUfwE(DIn%8^W)}Po?0;BD-cIQ{J_7^uT>5`Mo!t;ARJW$n zv8o}&p3r896@R-apI5UiN#Xtzd~gQXs?tkaKQn4-s$_<-GB-P;O0N ze)|B1qCfrNp=a4`Nn+a!&rjh3m2E~o6-iv2i)V{jaHQ6ZxQHQb0l{?K)AR$F!^>R5 z{3)FTNwZ>J3IQ%PaaSyP9Rz;|Dz-neQh&OWsGfIxmsb>;7DcZ!Yc; zBcJh7S39(l-XseYY&x?QB0#zSBgSj?cU4j*#&~e&ZalUS(uWM?k^H=ip@kYYw>tQ; z;mZyw{I^7>!ca%)Hc#It2Id(M0a-6mmGqiS8*-OPc1TisYWU&kQ%2~qG)-S+SYlAa zMxr7@pKK(Tq-Z=O>BPAyEGJwyvl|q3-uw$gNA~o{K&D1kq(=2&qNYZe0YjbCREOvE zrUt93!hbOJiAbr842$0#6vKH{KTAsyGPO!n9BPOLyd}`Y6JZK>jM53%0G1I#u;oY+ zC_9|*xNtrTU7n;AqRr->(W+m*yyQe1Ffw|lNK}^wV`vNyLc^hS7Ckj~e5)FQH9z^} zkGd$dECr5%Ft{yB;_voj#Qfg>0*BsPztwZdzJK1qH7eju_O-&C&LDC+lm&-*5MHv; zTJ&UfIiq&02X{||)o%uP+VToE1st|ICk@P;`7vgZLtR{AwHjs!aX6vm=y8Yak&%TKX z-SQ??-=b-!O-s1lxaYSG!c~gOZXhWR@ooj${TszhTQn&H`ej46@xG{Bs)RBNx=$1* zO@&Qz2zBT9hpf;gst@cd9->moGeF$imBwrs?h2q6Z|shUjP~DGw!Y>$e|%-Yw~xaI zI<-PoYDJiVoP`0~nhu>+32GYQype^l3ZZSkEr~?M*hOSa2dct>C@sn1M_9C`zON+G zmeB+tkkDc#*74iRuc@g6f z+!vP(p0G5E(4O-lD?BygoqD^cnLD81TX%{D2W^+^u(|4Kmwr1 zf<#rmmGK<2j+bVWFattP_P}eU^3uprV72MHC}y>~1Wm`@mSj_xKj#p!46$Mz+MGt?BQwZAwN|aH1 z?c6-p1k*1~N_N&z!gCLkVfoWH#uZD>VPlM-)GzQ^hWD1{?=MK|C=4ROXVOu0 z?0r9~82Bp}QNOOgHmIatws`>PwIRG3MYmDyo zaO=rybh>CG8z0)_Mm}hpOOY8!d=~hz?JP$0{rQ-r81Zi$nwSfW*R{n#)^H1rIc$bD z@taf3tG1c5B{00t*1p{l5X#Ij?04{qqs->mEYr>O?dCYMVFfu`BKImV65)#|KObnT zQ4bbpszJ3QMM)Zt4^B@YPyuMXvMCE+9jFO%Ur50^gKH&YBr{Gtna_)KMlKYYvI%zc zD0Dseb~V$8GzNi|Qd+lFGRO*AIQ99(0MyRIMfb417K&Or#%`EvB<$Rrk zTsP854hC+^YA?D;+`P_v`k4COq3jsvJoh8&TZBP;{ zCwv4c)@~QMrZNxN^O|3Jr60Z2OZK&X5v%-BB&+|`ty1qmkY*_nHHh%)HN3)w-57x(#_A{rSHL*Pe9-Jo8?g!tX9JN?TDZ< z%pm^*_`!T0zOU7dAM8LzuG%{ZicTBlYou{qvmm+U=0CY0V$`f*2zeqO``>-&L~(TY zIUTLyhsX)f%Ne-JVXGG%i!j=#{SEboD@6C#;Xt9a>17#?b#!(9`kA;byU+~!v7nT` zVj&@cc3rITAi#xtXU}a+T&@NpeswgUK%whR4EkEeI$MD#Oe)6-&R6Jkb z@^+er*yzo(yc$Z*v7e;$Ol>rSseCVIE0Q_|nBAxg1H^6B;V)rHC&^f@aX-bFq=PO>^8F{MG;-W8 z5v{xJ1F#+wr#2kyfp5cgp4wX|iajBMORZvvvDY*#oA7kPT{3Rwe)7v`YyeLkT4KlU zYG8KzsCfhG7EIL{a67k+5#2#zItNB@?ZiomTr`E;g><)8<3rhhF!{pg%0C&HD};F4 z_AffJ+{u@}!LhlK1_V>}9+WbYCTNrd5$@XN01Ag58g~M?HcJ^t|0t~rvr@)uyBZPO z8ptci{FVqe{~0y$U&eKNL#$VZhQCo7Ypz>z_R8iXJ1`6bnR(`@$g2`@vqHl^2Mad?mUe}vzw=kcIEFnDFDiQJ^k2shL@p!acgtP6g&Yc~G6 z{S$#cHvPkB{_aDvVTT)Q?kqF?lIx^p0h*!SLQSw1*o|EZKFWIjN;#?|%DJEWS(PH4 zs8T#7JIT*FfhHO-a+_e6I$$tsN9O?SLaGDSFZYm-rU_?SwD*sC-8nUVCsQSjT3#Fn^sL(qdWnDio)*SA@k%Cu$zlE9N>n^@%}RT9;_^Dn$M% zK&?A)p{bevK*K%?pj%`UII$G>Hvb5qm}E22l1eg5v_$JdR&wz+$IrhCXDTYPYl`It z>*NLDe*y) z)njZi4U~ve`ek%Y?1n|91%)mZ=(YC?NgkJ`hw|fk=Wk}THF0&Tg*A;RmiuOxIM*dX zxbAA14~KzWyg%3NE+Sx3AcVnvh(7723h_ zWGqVR3ha=s1u*$flA5?KNaUSN2qzOxq5ZRnk~W)@be;N9&AK2er+!1-jfMq_(b^+V z({Fyyfl)r{f90RFk;Q+F5(fmXSg3BnTZex#qwN;1=dUk6_zERx%m07Whlk!sY*foG zmXL1jO*uZ;GiT+7Pqp*1Gl~u2M(4K`<}N3%D1N_fo=o;|Op4@O}uAr}VQ+>!HeDi>U1g&f_&kq@(RL}Zd!F0o_+4ctM57^|ICDpRpQ zKi$9h%u0ah_bixOxC@fA{OmT==Dc}=Kt4paaiB;Hk&QDdeRGcAcz|L}l345v>)(8T zF!`j>2f$*kHbVQyq=jbrXW4;KTcZ9wv7{Zt9O~)KB_zt9Y1$JI#tv-&fwo~S^tlzr zs~{^qE-~ZKV@w%6Cu^6=wK8a)QnJ{2u&rxL3n6B9)}M!>atp}$C`i9!6)v*k1i=OQ89{gK?V>2vu^T2p?B7NrMs!`dUX z8qrz?_Hx1xBSmC5y-Yz(wO_nkc?xi@iGC5KV|Mv&X&r%G6O3}WfFvmS5P_<|VhwcF zu?PMcmAhTWsYNmZdWz(uQ1rn`hbAcYZ!@KG!0nS0?t?rUdzYpA@KT_w=V%6G`2?cV z>-G5gIdTF#f5P4$&3AeGbR?Lu`3{x89VhFCu;%S3X7hRsH3~cX&PQE5MG_D6AE?1g zO_Go+STJ(muZOwG!{d$=qVn!e^)X@x335IAcuDYk9zWXTd$YMfq5Vpm{SqxhlXG8` zsWz~UVso86Rb6rT*-S%SkB0$w+$hpEyN)&$PtRtZqf5|@S++XISS%m_uK2UAdKxDKwflPgw)26lW)`V-`lC1&zaxcrY!;9!g$tS;i|ko zA-RmoKJbN|iC>*}gVIK+&mCDjhD^Q(-TpparM+W`iS8!V{cm$+`TYy8x1TfU*^Kb5 zSs`Al`*k$M6YsOmQrFJ&hgHVTbEqt*E#N}c?=7bbQ)PcEXfQpj@#@Yj%z@;!MM*ot zGJtXn{i=I^zQm?|UIF<=NZNYeBQQ_!V)-CIMN@0h&c>+)GPH#V;om~cK;%qYB?Lc` z)jOZilIG+OVB$qqpE&;=-T9>NaMZO7tV`@aheGoLPA+cUVpgqMR!V!?0O11wdj$+I zg>YzE0HeJI7w~TPo<3tnOGNr`rQ?zzq@R6fx5Yt!uS)h+!9b-E&py32ViJ=lS!$Pf z8HQR0JvEfTab=9|`A))KoV(pb$Wc@&n*TyT{u`_nN!!xgkVCs76$S2VT|pm9$L#H^ z9N9j~+WDQ7pC&@8JsmOhd5<>1O%NDxKp!c)3(@e!H~D{N__*7`17!`I2f^N)`6!Y@ zy>`PKAYK2>;94K5B$&xjYf3la_iK-3Oz+IWTP)KBIBC>;qviBFDJT!sDi0ykvd)>FkVcwD<2pp5fVm?BLH0rs3E zcN&x%eiChkJ4m#eScygj2e&G-+ zA{xMj%$D=s!nP5MoF#Tl%HQhjS~$!k7JK9tbs4@RFy9A6Su3N_cADi~&)&#N94#eW z*Beq)m~aASlrY{bOD7E|?CGi6WN|=&}lANY_1^%<|$qOJQ=^ip2 zF&g?PUn3eGaAhHIr{UC8rP^}jl6JGwo`+Z&?;Pxve7*EER&awD2J1*$Mjl>m)#LID z-H%@tKXZul&_F(tLO8%;0UQyEZ%`;-b8qo$RH&~x{`m%RR&p1=h?V?U#s6*21XtHt z*lJuhrzVYGtLP3?_gwA{bh@L){k^P1W%t2G9LMzyS{N{qcAP7w_%qYyq&dz?nx*1T zLPH~zW4dm1JPG)3bQ70GmTNsg0htTu*%lvRe+l}L*&o&f><*r$Djc!y?du6dKl9GES5&VZ5ND$JnY@llu3L zgG4dy5Tb+e6qaMNnCB42$m5f~#D1OVolbafEsyJ}Q{477CRces42AU_IqNHFm1rSK z$WhAA1^X9O6X`X%4M0ha&srRZ(e`hPtgRMLda2ld#%;XLC7J$^`pF$s9DxZL?grg9 zhB-=6lw+T_i6Vu65r@xJFRT3w_&wR&m@2H0_4vl;$CEtzA}M8`$e3hLS8O6(vHfgC<1>)zLF4-Pdi!je^yWU%DJmLZ@uc8#VqJy>- zF#fVpRl`Rj>ZriweKz}aRq>4H33R=|gsfO0Q+_dHo_*) zD+XJ645dWN3^)jio(M$DGOzE)?a`%4*9ElN1tNA{KQo5KRr&D=tC#m9<9S%r5bvGg zHGWpR6*xj@PhjC%i7ti^knFJFWPn8$-dvf8D&r2>wO2?^|07pUaO>S|M`kJTZB<8) z%g~MA*-~&PKwRLi`ZUK}!nSvfW;NP8>}MpRP6*p-05YdEoaZKozl;ZPm$M8q)CBnD zL@||KnX?~fW9eZf&4RaB*+K34)1xG*HGaT{NYCPxUq$b>!nam(C1eVj)Wl|HI^~<4 zL_NJRVmm>(#s6t)a!r<|rCU*mtV0G+_jl!(<>;BxxCZzQGwsRty*{Mg;#`~hEguM1 zn+iPJ0eHYl1Flt)<$x0gh`;^lJb#0*jrko-c3x{4|8MF{0aE6R*^sJ~e3R-8$t9@_CTz0l4$LI%K_Yt4gmo&6g5m_gVkmw7kB} z=Ij$=#!IyODXHgTpHK9*=A2Vm4EK9IQ<$Sk(*5mVTvTqNV!_(2r{OGjASdCS$j*J+ zH*vd(M}RHGmE(TOAK?;vfi15t;|2FY3inG-KpctqQuB28cAfnq6AZ$c(Yu9$ct#a+ z1}u6<6!;y%Oa$f*!lVhDPT)?iJT5S~<33t>DZD6_1nIlI?34A4A;K6Ngp5gWr#4_v z)TOmWp}0|$!Tpc5JG5sp|;~ta`A7g5kB$pL|!4&>YK!2%O-IUrya!v-J zvh-&@7>(Uft%t|$!J_{!ne(=LzGpCTH6TDe({Nk5V9EC@LY=95nf`WXLAr_uv=PZ{O%-6nAWDdlve5@w7>|w+iphO zElwOx1T;!%LgORxV}FJQMHw5M`@may8DJB(Oa|j8C!C7mn$f*)Y$BXujmf1bs^^hw zgwx!3IK>teZ*bYS6132xL6SH83aB(5H5)(OK0VGTF(7mvKM3)$*QKF$Cbx9(tmzuxg7p7JsqM?dJFJ*@$2`jO)UhC2FkiuU*u5!HBIq=$OB}f(P;OeH&Cl3G9)EJEHf(Hxzsc!lQpc9 zhE`N#^t9XS_5O_gD1aN9)&z11^~^xy}t2~=mEL{5|pWe3O^#4va?(hfS@_wp(hwN zj{p{VFS;877XM2aYGktDXl+pav4tnw8#(ti>qLUiP*?vN<=<^+4Ct0KO)`$PY)ibR z_oDwNb8D%xKPa5ZaTD9*+3ijX$s*^2-y*Ox7mm?KRblo-a%$6?r&*4dqR;@{kdw3X zJMv9(?_odJ_3Qhf{#eov;(zdcZR$nvzfHtBl=Om#UFBod!b>+_A~vi=-%*{~F0Z3g zG&m1?ZJRm5pBU=f08kK93jdh-n}NU?HqgV9U&ia$Y>7QnziEtFJpUYjhRSW|w6rl2 zJBjh5tEJ^=w8^9G&Lox}sm1#uth*8#blB-8W^vT0NBv7~h3;rK`?CfP9IH&RbTDnS zF_qUfyP)sFwkdChtqP)8|JUjcYZ_b!-gJbFA(qFx5(*HT1Pt!B3Vjh$+a&I~RNH-| zu1Wl!h+*=ed#0GsQhsZTmFeh}^wRTvJ}}3h4DlzQAf3!^VPJIekfuMS<#8^Us9U@J zN)$!W{PNwLTDSdx?s{(Ro9p|$V8)d$6oj28b;N@A1fYgw!ww@e5J;?fRo<}ke*Xi7 z7nD}r8I*=!0P!%r-Nab^X=boS!__Kp?1)Jo6f5UFfd<$(MK0uKT|o+Ira7Q+ecmUp zn`IGM1bc`Xk^{@ZrR`%=F-WD}5wYbO(w^fQ_D1nwv(1zORq6Hg;^DBrSp`^$stww; zLV{0OyL`ET`{TNzE2jbx{r;+m$OLcGJaI-*b@D%~;i*k2QiGvWCW*Ld)bDuMmcx8wS5X+88T z2)*?gfbYv*XXI*zKRVBdtKWQ`W#1UPk}4VJmICFClKW`QhNg?H!SR0!lvgS4e0y2{ zW`amDTD*z1Mzfv>-pM@Q>)oh#gM&+V%Jp*SqJ3uYlbgUH5L=pGhP)e942`xdt={ z9SO3ji^W?_9UPf1QzJ)(fy{oeE^ofV>|a_Ws%@SI;l)I<222pN$J2;2ku>_3D_)p6 z?7+<(cLSKX1YPsSH_H+*+6r(Wf_Wgnh6}xYK zYk3?%a@g{lrjxl*p%|F&65|$!Ee1e#x?_E19rkGNTOeMP(*75}KsVH;e)?@hr<@f@ zCIvFdwr|$&A2Av!28Q?|X7}GBquKk$xkUM{Sv)|eW_1nu{PNFALvI1JYq)7DhQL~N zq&VeneY>m}3+<|@ek@7r^8+Xj@qv&myQ!?&HoSf`?C z<%0)~X2XErD}B9txVK=4G#J@si@9APdYEb7OtJ+JEROQ47%?y?v+16Q8EN2h>jis0 zTn>ON^Il_K(mr1cH9P`~_Mw*c?7E@7z-!Ow_6Z);-{mjn_&Mia(ko4|FvJ-0m!}pC z(&h9AUSEnk?vb>htq=~8DY>B+{=Gi#e67mSi`SQzpb(SrvAMZku6O|UNoj*@j&1|{!(v=>Q1~QLYCS7wk+3JS zPNdyN)d`LdLXFfqZ4mWYTd}%k-4EhIB-LdfE~L05kHUIk7UFB zUfHQobWiW})(lmVPWf7f*~zY@zw0v~QmL@)uO%{j@H++#!t-#|$8gn#cQ$}oZy7+Z zHT_@B$?A#~7uk(D*Bg2^3*y?cG4H2c-hS>~OUMRV;wnosrtcgcJK&s5zZ>yFWt(NY zpwPNXGBuA_NkC?676oSSokLovpz+>^0tW`?g7IgpflcoIKi{42&@-UPf7$jBGN146 zu+hZVb8VUbD1vHL0GiV!PxHXg@3U8>Yj`M`P-|Uz%yf#Aq7e;Yzez>Nj-5Rqa!Lc17|(Q|AThT5^b4j@ zsM3^8!4xI!O53?AaYGWTN6sOm2YZ?Yb=V>6cVh|huN+upA-fdKebq>{xeEZKma9Qj zVL;K}clclxx{wD`&IL8Nc*TZg4e0Rv4iil@K3dMrT$LCQEO)q!^zh*#CGtgPC!mxnq7#Fow`kOlcbwQ&op)@d_sH@ zAH=bAD!Fqe*UNb$5{qnTVB=BOZLc|v!~~z|jkYwV4XtlNIg4mV6ZO{k9Je@@azLSK zZx4o7^DSSP?@iiEn`uUqylhwZ=1Q!_fD3z9Ocz}+4!8wmb7S{Np*>*Stn&8VlGF{I z=TzsS8etAI&&UL@-YR-y{=UJkxCXeu7sT=CdwNX=&W@Kf) zYBJpk-eYGW(=2IB0Lnz zVe>^0rie)IEOA&AJqTcqf)viff!m>{4&+wFUR9}q!4#re02ATmB|yan^5<^C>^=Qy zAB_DjG11=ak;{GavGi`ak}n+#Z6V-MUweM`pg2kO$2RAeVd6I^+ZjF%SfbO*+eQK2 zF5pX(`YJwDCA}XZ5mBZv!7Ca$G&=TyJeY8|aKL5muaB<8%sYVcQt@!7P43ZC0m?v` zIsx-464Umj24csmPdw;62gXfgemaBuvUx8f0#zpZC+9A0xHtM2%7D#NIGzKW-=z=a zG*W=yv1-r#S)aAH4p7Hd3P=|2q>jXt;yAzu3Lucx>>>7h(r&s({`EPoqwuxoqaHuX zeS2ivroj4|vH;YXmCPL-)R`UboRa#H3i|#a22HdfOD6!{>w&kRd$TjHd zy<2DOcG5%PC?2|lq8+R%ro1xOUy#OmIUG6{$+8~vw8LdPYzDxJdK^mc86oDtkk|P^ zZGNh3T=G%O3!d@Nc%^?F_T5nD2_QWV!)`E_>38SrG6NoAhuuhLM|$phOs-w6`T$gT zC<2M4l0YPykR^9ypv|qMm(%b`Mkh=7?hWVcC#5`8@!GKE0{e0J` zo;J?S)c`JiJiwnHlCxF*_Wjqvmyeh?1)E)1lZq!f@lYZ^+Su;xuEnz{P|Z!i*F;X} zsFG(-^F_iWksxc4%ByDfrT_@rf2szpX?D|P7v~@d!^GPLn}`#!%`Dvz6{I4TZ0XG|^FvB_*yyjL7hC;To5KR%4q zEC}!eDLp%FM%;Wl#LFe$2GNC~`a%(VGazkOO#Jp6<*ds_3Xt53mO<};A*-SCQP$*? zPQcjt0D4sYQ>6pI_RjEGECi@X<)B*uP=$9&#oQ%QY(1wl>U#%1@v|0t$kuYlNH(M) zI~`Ix)?dQ_>JJRDi5Gdr4;9pa^~UPJH@!|6uX&D{r(pW6V9)k4)s)T^svaA;G$Er* zy{x*PlO(&=QwHD7OWW%T8n9vvZ?R4g2!Qjmy0C?KZOUq5KDz%Tx@Y>0n{r^HRdiJE zPhlQNdYPoySPBw#>Bcc3A}*I)M@_f1DZ@}{6C`Ovw!{k?#CQXPJZOVPBR!ff5&{v=-~UQFcce^Fm;PNY_7bah~vn2JFx? z3?~{L1RxWDHwg$e6QN`?*sL(~~_RYR!5aL9=P+|1Lloz*6q+ad!SKR?WD5TNM)3-t=wyn!9CO9wV zK#DW`Y+z4hJEV(p)39hP)tZtRU8Lm~=6t{skdUO8w69|Ts*qrr%wY*50oo)(p7{{Z z^8-mN26b%*NzodocvpgTef_4tF4Xd~v(c6ftq)S!p-IVUj5e(CW!&mL@SYHS7^Kg( zVA5v_hxWX$K{sV?PcA24%i3mC>t(I)7*VSh$<`m^HH~h4^Hgm^WvyDf^Sgi7pB8Yp z1=)ktKN66I?W}BWj2gu60Gf8KJ2fz~E72NHL7d*U;$LNqpPy2-7c(`q5lGHkCyz&7 zsuDSwhNAOhDCNlhXp|JYI?mxI(F{gUuBww0t5-_%9ua}Ub0hQ>w#xb?u>AfbgexpH z>`^>9Eqx2mngz9UsYPVI_U`91mPrTnD|qagH5!+Sx23fBLB4 z0#5ghL5wN(OiBoy>;cR~>V|~VV6hBTyQ+DJ;t3fblT-QAnStYfhss};j4UU%RTdNr zJ}nfgkmO5LhJ)oSQi<}-wxe4PDO!Mf2f2ZQvAn){0eT_gggot5pJ17OYADu^QLIyEJAC&_VBUUaujJ0Ydt7vyVKB zr0I$Xh*nmHS@^)p-eq#>UC7UN+lF5bPk#ZwC+X++IMnGHK)*p7QZ!eIj-ogk4KRF~ zStehh>=@`>f{&jJr4n{zR+d|%=6`(dd&Zqzw10|rZ0-_#7=qWZlW~8F;B)O%&SeGx z{4}N&T6;I;)DONoiAhf6Fd;ERQCm)iqL8gY#kr%hm-i+uvn@!6lY_(mLozK|;f!YZ z0G2r8bAuxb0A7WkmI;zUE35Z^Y!CBNUjkc5M|*PX&7HSA;XwPI6gupLV&3i{i&uFu zxJ9B|^b?Ey=NvA1@cvzE)P)49-ylKi0<-f}Eq=0f7d?X5*ZAxj-KKw)%-$dHx05}> zJP`Z-7}Gx=hL$)3f5&#Zuf-NFZ7`k=X4-X+cg4(0-L4NuSmNz0@Vhz>P^U9 zH*~KNTW|vN82;S;THm0->4-DCLhZk1=~!S-(=|=xe(1G>>ZMu}IABhx(iXZrwb75i z-Vlkoc%|Ao$LO)L=xY$$UFvv!j|{deqRr~2tq8SW*#(&8ZJ*A$36pCOm(bB`G=r_T zNYx$iKYDoXUYxReu%^QQF0i2OJs4hSs`kG_P&D*R# zwzvykF1Bh=+6YvOLXD9X0X6St{W!C$1iY#Wl@-3+pqYZdurb0zdTZ~rWA%KP*m973aqO>blL z&KJfU{(aSI1k`Qw+MIK5h}a()^VvHz&z_DW>$FfWQ6c?oOTefZxwUg5dw`Dw8YHwW zgBnZRn9Q7xRp%1#)longfk5d3?R&DmI;w9i@Mb1*XapZSW$j*Jt?V>iG+Pcs2V`;> zip{iB!#qPbVgo!LO!)X8Et_h5Qw4AT>(qeCDkFgG2aI^+)iml7X7|znDUyyr(!|#A z74AI2zl86mi~l>br;TPK5ru-m&XFORu1&v95N#iE6OlgGFi0|R)`zRggKhcfnYBr@ z=QTmPYayejB?N25dQGAf$o$6vIWpVomc*}G_K*rhM#;S5$OILkXl6=DLkAP3cu!TO zV!j;X0?@qK4)A^a(u{#wiGhv3TRd|AUG4iS`ZVv^uj~8xc$F9E zsb-H6!9@~Ot6zOu`S$H|xdcsRlDSvmYM6Tnwa?R+OPZXV95Ja*0mlGdGHq}wY~m5) z891dmdvdCkHxs5%JHS*Gm@MTkO8xR3&a0}O*+=?9zUi9w&C?-Xbt}uWcj2ns*M`dKEG5?A4oFPS_W-3XSaFc`ks;LvIGjSu z0La{`MV~Dq*HG>)5J78aVO&4G_z)E}QRdvs(e8aY2Kw(#eYW$wnUO1)425F!LfzuB zRcm>y+G!PC%-mVS~^=|C#9^&jSWw+cO(#}aT zc!sHU+b)ilD1x)x&peqDY8VWse9kVGRH+8NQmaf!Q6Ml6W`0fBt5Py31B*Q&MVu@g zb0LdKfWNWEx_ly+14dkl6y)T_Bn(NdohP`5o(hw(puU=ygku1J!vXQAxNoj(Lj-?j0jTbs!VBsH_$XUbI@84`=c~6 z3s7oK-FyGvIP}I}EpbmG#*)9dGG2N2=g4U^|c7M9{-i@ zg3^HGIi-19f?|W%1*WB2f+~YSazY`d-CBZ%AO>kC+YgD6Y5)Zns!iyqrUhAnDgeBH z`s6$TE49*A`DWdc_0rPKE(A%9b~nHg`jVCBcT~}T)c%H$`7PL2bB72bw-ng7UHU2qNF0Uv?yGd+LUnO& zXRvPx1Dl0R3kyT4DpRdU;~obt^2m%Wr4x_tBl-xn9MM84Hb zwkoX=Fc=u@Q7(7*RaMjP8nby^AJD4+O!YIMH;EE{I6BT!Pkfx3-*k}MV1TI~E9L$P zn^j+9F+0eP)%T0fcz|1;-8M@8m+0a|W_K_*wN(znwruO)Dw^;3loa0Ss!d&y1!a>= z<5>*9w6T9!#YPJnz*wAJR5#g!vZ8jR!ne{dmlHmbDV5F>G${z()A;^-JaG&ISLt~> z71TGDGi(5^823eA_sz`415iBf;2Pg4D0tyR7zU+Q)mtJlsR zC7UZp+l@?NPY%2^mcv&FX;`KDm|koY6RthZpL-U+6snw`vb&zAs8+}a7Z68SB5`zH zwY1&%B~1AYheLDf=15H6B2?j|SoIOkEe_2>vZSGIUn#P)_V``K3D~FwTtVlv^B{F8 zw%;ys`$Wt9A;uhtC`1-(M3wK^do9}`SrF8lugQ9!Q0MEq$7;CM9#(yF!$&-Bscu6Q_GY|D3#o9xZaOR*%T$pq&`a1L| zpx5`R`TVpmJ)9XT$l-5YDzFNY z7w5ZLieKn}4>6mMKa>E(fl)@(Dhnm)agt=uv@RR5;xW<_1gD;1JxJ7Gi68oXb7<%g zq5qt+xHQyt*D#5bGeLXCLo54Rf`2KE_o%(J8+{$bBW4Qg6Oe`8<2XZ z@Fh>9xyOFW%gQEGki{nO+ELU}CFXt{w3J3#j1@qd1PJx%Zev{&=?^Nd2l7&zMOOxA z`+o-!z1yXN;X(UrIkIIRG{2O)y z-K=juI&ri-QO$lr!xTvjJ{M=LGg!@HPeUwfiB^7h#8~G9t>4f@8adbM|IHV&G3^ z_Y%Kii#t%6mvdH!%HRI*2XiU-;v-@qTf)t=2=u`}%3JrGZVXw@D9uGC{5)Q2>KW%e z&`s;1e#BGcd~Nv;xyaReoO(@)e>80lX-dSA!jv9=w{81SR6-eiO^jSJ$CxNPr>X>> zZzUjTdx5Rq7X(8OYLbNki6-OPz_LVwq(K@As|5WYh^u&Ap_?ClpwjqRM38s|vhB`v z;%6b9oOLHyLWrN%)Ql)Wyj-Lb>F-M3VoLWwi9+ywyX9hujE6H;1(+3+QSLyq1mAaa zX76-=IFnx&%dEYKzY9xU&TSN^?Y!;WA7K|uRM=oImaHB#|osKaKxzWi^` zdWD`6r}CwfJ@t|#l}p{^IL%6?zQlhyDKVipSADt056!<|LSA3o7WcCCH zejb^c0dcAmm zURT9~kiR0h;B>cs2Eqzn$M`*a;j5EhsxJ59V=63Iy}Q_av0B_r1(_Rpn=NulN!njK zC4Pqz32%72TeY5N>@`R>IgOly)kgG_)c4?Q*$OriH0)+tJEt`h6G2oe*gWk=D@?$t z^<|cE3i?l6=gf^bgN(uqZt*AxlcWTHb@MiRb#Nm*%%eBB4QFgGx#CbiDr;F;J~Ec{ zb~8+WM}LR*GW$CufkS8{NMHK3_M6UKa%!QG-YwxfFk%b5ZC1Y5GHgO0o(Uk-RIP$( z4c4w-umKe8=t;dXWOp47)7LeY5#ri#46vJjMPYm`8H?GC+kd-u!F(QJk_DuHe9Qm4 zNw2qg8-Z|(^gTEjD=vh`;i?B3H?5e4UTpdt#|_%d%NA^4aa95Qf9dwb1P@Nciq(4F zsTls-+{qMB4i($mbe)%kPMju_U9n47?s@w3nCK;!Xp4b^N{gx93;#VQMPp?W3r5gB%9#@^a?fr?-^DOyc}vOo0KC~syJ99 z6Nx69NWJKO3&EQ6CaXA6F@dx#_vpUv(Ce7c;?Si-ZN&7{NH-`)vmgntw?tnJ<( zJ6Uiq3BH9;%ItiaPIbzE^gGj}25Gm9JMi>JIhOrQC6yOO;Rv_NKeg)mB;d1#DeVKb zM?WHrixc*f1VZlf?N+?XRhcy@ncvkb;6hJ6lZdn4YOcGmKWYv%rF6e)|9K^y_;?;H z87l<(;(U4o=CbH#^OKDmF)DiI?my;U zwYhg9{00!_+f>eF{eqs`$YDVzpAaYP@UF#JA5Ja>vpqAYd%KE@i{@cu0Vpc470;EsAFs`HFi=V;F?Qz-FXeU+h1Fz zCMj^cltV1`<*v9td47@P_YyuYk@G6aA-D;Gyic5dblkA5{C8)SJ z{MQ?teR*boa`BfKp4BX-{rFVhQ zL0f;uC?g#g$Q|^%@%qua zxq9w@E?fD1byI-Sh*(%4vC=J7TXow~gzg`;mvH69d&#F92TVfkMqHU~2qnfGakENq z69vF>^F;jpjwLl;sgQZt{?wvQ(Z(d}XRR5sEF_XaNY9SKr@(NgfN3&j)*;uAUG#!1 zo=PAagx*eA0Dq_-E!%7?aog~J**k#JO$zFgKWC4_r4EtRfdXyjqM$@a z*;AmaW*(MS{@Xt#NB??pbu6i##Tr05 z|9bW2wTI_mq9@#a?oYsZQt)%hqJybENocAcduB84sWebf+-qt_OcoWH|3-$R6%y`Y zxfsR1KV@4pou?&+e5N^y66>yhvKIS)2<`f8bOoc2zGJxg>FT{njo_$(pwx^=%Z1hK zTs(3GZ>CQHc7xqna7Vl39rR(m)1U{4IK`LYYFz3C#Q>02b15o#lxR%pU1$W6FxQ}T z0?s0=tIA+2b2Mf@tL$0%dnNNy7K#IpM`rf(X zYF0e@;+}%gQL0{g^sQ72%dSJ6RuEN_<&ET@0!MAXRtl7JJ*&QTr(u3u6mdqW#u44y zBH%k4)+^(Ub6JQ zCoCoX`#~Q&45~VQv)6wX`WGttDpM;HLIA(1-R?ChSNESv?UsI;Q{3Z!eX~A}LLYAn zB(|-5YxHkS@NdK}Y@Hk86SjOhJ|{o_n2cKaT++TI)3hf#g}f7i-jy911m2AI6|owmI0R&K-}$+S66S6-+%qPe}Uc*!9w~RzI|;7 zX#dC1N8;d7rXu0^Cm(NrSQ~)+jkoaTe0*+s^E3_J%w~@*z`#NbqgpBHVGMn5?mr7) zbpLJpw2T{wWHq=xxl`*Oak{?~NhOLCj1k*}RE0$@G~t`=I8lD>$44Fh*zJoo9)%7> z^2eT6yCW9eFV(N&XS?M4yu~E3Iq1Eh(%nq-O!qZWc$ys~!$dQGH(35kd@?RSvS;jz zBeKyFslsYajQ4xxkB3mbUA@m&-Tc=Q*em6U3Dj08tVnmesPZS5!XIZTvRo&ZtybTL zagCoeRi3(OXGog=X7$J^dh${}@;$yWVS!w|xf&lUWm`mHfkGolx@mCBh?rcg($eS} z8~jS9X&c@X+hU!6TQng&fDh?orR3A>&_-9K7jW-&948s^i15%rUf9SRoT3MVtFs6a-R~ly<}yifLmCV zB$&W+BkNl)SDD9FAIMi;a2zwu0zW8Uc~$iDTEp?8z0%++)VgW2irwHgP+`?^s#e7? z<1l7dP=noxev}gYkUxVIqJId%lz-s8(g^t=5Iy7`8;kzcZze{nz5xvZMW!+v{RY*@ z3Lu2d`dE~I^tr37ms(7p`hi&tgL*G{QX`k&HrT(KO2dFRR}640fNnq(<%m84H9?~v z#Pt_gSCc$C@^^W*m5W0hV;Ut4$Oe?^#EA%X{0s^0wf>Ua8*%f5DXQSJs4LoUC6+R5 zR>h;Zi>-ULL|tXpLofggT`&)~{uVvi<@c^9;w+MXvo6-Ay9?*Kz;os5%Oh?GlDwzo zdo4}y9Pd&p9(Mj+3M!{YLB+>Sx-OZ~*0J0#?2+-IpDQ6z9wK9|26#MQl`td=YY7mZ zuARnT?(fTLnt*8uDoS z6m$E3`%KE)=EuPr)^WxD&fL?_!&&ItCdyqUe>>J&v`&bby6F&E#<{Yga@PZ zCq?n6MC|bA#Gh0-FyaOK8D2))6m8zc{u|X@FFgi$>)m#yb@we9Yh0(hz0)*!-F4rs zf6m%?xEsdR7?^*|w0a|k6Wswtl^leFKEj?Fh0RPOLW99UoQy(dCM-hT1x92)=o*B7 zHv0u@w&9JcKT?|Q4^IbF9=rg3@)Yo)4Ni5n_nxnH}8ST`a zr1b!5(BXxi9+I?IQ|#4bvM=l z1iEjt)o@9J0loQkAlftPIDw{gqHLc*01zfrxouQ&Ie~6+Vs*r}`-FbsE?+HwC#XW( zq_R*G9~$P>5$Vwi?7A%qax>Lq^7T{@^bV*ZKhIQWTcR-1!|C9<$fz?lglAjs*%nKHfRO8ds-#` z2;$z5fK_!>&}2bNc5STHu+unyCkGB|A&(%*5WU0N_a26=ZZFpAVSaEUaynS7SF{lh zjo!eQXsLJm2DpM)kgyBf#FgcbR={`)dN+AtVk%|HMX}BzBQC{8u!ibO>{;D?F{Emy zy2w0vHj5&EUKfo(a-%>pTOS@)ADtJ|mfZqYFtIyW&maR_2GzijZ2i=KbI%`<+}0@< zyDia(SNqNJ0aJedTR0ywU)5xaYI;cTTE&Su-GD_ME5^Eu|-dJLdf4#?QM)W`h=xvZ2&-fEr{@S2y!!&;~?Po)EA#*(XcF6JBYBZ7>x`bs`$ z0cwT&2atv2ryy3xi1UPhj5w2eo0hTw^m*=3FfGZ$_}HnhS5p=^PNOC8dG@-n5l97> z8P0UL%HV@_mR%~9BS#EDXqr}}!YS_}yq@tzb}Vj{!owmETtIYC%nP6$kWDEx!XSaK zK!j>7H_|d~Nf9N0C425aRe#tlT~aHgN)HB%U~511fo7g4bL_o;&o(<{qYsLiQGR11 zVJx3Z<0tyY5DGe>jWk z2T6Ep_=dcpl-h?z9(VD`h5jBHZ$qr z&yidSbl{PGx9FQj*#wtWEM!ECxT&e#_qIR9HGNJ`h|j)bgx)QcY<1ZUEDgf`@~g%v zRJlM01qhO2j9Mn;o2@?n5GAA$@#zA!9bV9K_hB z6aj_23}bZRNERO1$5Q96GY>*uS?3wz5CNWWs@^|lRFu&Y>Y{0)qokdP`22l|gYbjS+QAb0i+08^0i_HdOuqNsx|rI91d+ z3l67*x0~fN9ReuCmEw zZWKBInl=lV<6~&gm9X?>@#RNTSu{p z@4b`21js#oUM-j`&XldNPzZk*of$_I7QxX)D1yqPm0ThB2x$JIkTqAY3_&U43bZ)D zNJX#7R`F-VN(LUpGRrn#AaO%4Q6Q#wG980|_aHi9e^k5Q4O$cfb^}r5!j?UaZn}D9 zRSoadws_ALWSgT3joxkd>ozEi>Q0PQQIkWu+7N~B*F$}hIbjE>}F&pdRz0+})(Tzl8`E}6w{M!{010PeWz@fv2UpO;Fn)LdQ(|dw{ zQXdT)=>zhP0-5+vruT(swb3f9NSivsM&&*XUvzV^W71vr@h+8`!w-$px*Bu1t=Iu2 zau{^)3QuG$%tL&KY7t!|D<`t~Y*0%j*nQbk4No_J81N< zTAv6eVn2sW#V~xuetl81$_>vjqaRm)#?}|t?AHkXQpY1{M8;YoRB>R6f)0+A{-D@j z7_u61dC}r8pu#6A0ljSGSK&6QJlC3N{Mn+K==`vv4eeQ!Ilmd~_UK(%JP9RGR+pDH z*4ByW`x$r|N4<2(Ay>r~%<5lb1wfHfg`4r@%CNw>!|Apv)y(g%SQ14-zS#jl^-nn^DI}Q<= zi91j~O#^i&&AyM&jj+3SgaMGu}`zUq@V z=>0gGQ%fZyw3G9QAVVIJuEfcS;g!Y#-UIGL;LJXm3!~A)ycCDoo15W2DtnCDbha|B zVcwt7!SC`#wk{jVJuCis`26VWl3(1>1|WzA8~S0}D4p7G2ch2D6>-)px)uk8A{SpC zm+x~)YVde?vrP*IMb+$o6FM2yg^cQC^zTD@8NK!?y?iG(ox2Y1Y3hGh+~$jM-F4Ga zeVOk@{g%+m4{yIST!CHnQ(|-uSZML{vz0XeDMN(t$6j$~#Hn<5@{i%NA-NjlEqzJe z8NDdDRX+y7#|}zA#z!t}iaXUnA9W(~>?)tunohbP; zjh6SjpxC(=^h@IBytyGSvQ4Y0e9ZEY`GEd+t8vmk71^(UZkw9SN1Db4|2%*Z;ai52 zVXW=Z_U;G=MWQL`@#;^*a{6j31v#>+r^W`UE}oC^#oHklk1+DP%Tw9Tl^?kmJNKQw z=mQdx2sCPSFb@a1OxT3ijT9qdiMiIL=P=`vYb8m|XBLMfO#uYWDJt7Y;{x_+O`pT9eO_x$Sg z`HOGAJ-v87@7)r`atsP{u)>G0mvE)V%xr#03}NPFxz9qnLB9vfw|GEld85sio<_4A z&9Kjd2wi^I=DRU<;LGtnJS5XBN)A#VhjzC%-;zXsYvKl?2^&TQI9zFG#?!h^?=3Nu z4>5g2O-lb>?E{skl5`=lPnCkG1JvKyS6(Vno|uA1#3YX))E9k3igc&-zux8_veKtJ zTfgHxGfz~`HT1#dfWF^?&6ly`nv|WFN#g@r`8ib^7}bl@DA0ZuCehGHW!MaG^ z+;phMGB>m0W@fj{fFI`4pS^Bx*dYu#ktGmmfx3|`cxkGwQ?G)+bBhLpA;RtJ($X|} z!0#ZR)$>S-3;gsc09l{l;OnrG{&NQTE7?VV6_?g9KuI^rFSkXDFHq&6E|)Q8gM74PBvmvk9kjRqOc2+8$Kl*?ZVk#MZT7?+WjISsmf^myv2Sa|dgz&kRv)+rkl3g4&O_r2Q* z+kGvc=^|d)m(Hl_=8l$M+pLnNb9&fE+?^#*cUJeHc1Qb-qnEW6)bQO$H7p)%rbu3_u2S)R0G}kw16i0C~mSD4>_tb8~89VKPl7 zwH!2t^UzOBC zpYT7*`8LbYpKhyHpF_6?Jtj#-b~J_BcP4t8N?%*RZA_r8K9ggvL`XpK)JoWYq0NSK zMq2%DRH@m2D~`AclOHz7(7i~P=tBcfR(_o=`0KcEzqZ&GnPGE-%^?2r;^T&7p6%@+ zV3O%GLk$mItKUnK#Q=N+EEls7y|GEF#ynk9vlM}9It4w6M?+Nr)V^C*`!T|C@vfJ<&6O?gs3=8^^6>><;m-Ha1|Im^Hy6`!IIG8^fQx748-0Ubu5|XWG z6Cocby}sUNAM#Yo7xUY7fxWT-e)eX+UhMX~?#NHEQX(svn2F#EVTqT2@dTjrwB0RX zeO*8arB7A0QYQjuzHESQxxR+(izpWxsZ;58%`DQu-ZNWni_J#b`)j=!VRw;?Dnf6l z7rM8D>HT$nyD#=`T2^F5#7^y%Eh4Nw1yz1<)A|#`tK^&rp)U7-@8jTZ1fh`BFDlxX&*HUy;MLcKw07#}ZDz9^N*?r1bQ@I+QyW+EC1uoq$vdM(yYCmq^1VaU{{x_NwULl=H!}>Cy=n6gbxf*QB(>1giqz|JhN^6<6Ki~S?-DMTq(dNe7^2=IF8QVXBlzt`y|Kf!^+tBp4C=8x=9KX*8*L9E21=GYqJK1bs2I0}a- zSy`R#oyN|ys*ionx8^)YNAu<4Y5DZO&Ycqf#wT60B$XI`2R3N@E%_fJ{g1>qV^}Yy z3?W(sqDg#zF4F6c=I(j-nWr1{p~sfeVg5Q?$>UAUzL|e_*Um?hRzk%H?om;}l7OVT z)J00Si~3}%A>~xp{kFQaTF>527vy<(xd`=Eqcu?i%c5^P^sUtAo?tPZ7f&4AUifWKp!mMC_^cQ$vW&hi3FDxRej40okDbH4| zY{m}NEgD74?5H;PZs*59WR?mdnqr?@o_s~*Cs5sT)^ME%cLCxb%mJKK*a+~hA*NL{? zAr#z?V+hn`ItOSnmYD#ixvlG_YeDR0cL0um$kFu=5l^D$fs~;gpG!yYQ_=QL%JfE1 zYqRBkBhU%cOJ*3_5S1FSt36%j>Fv6}c>-0ANWu?*P%iIe=>!)d1}AJ@y!@?m`0>jl z>B-!a&-6-h`$rk3J1tLl0(u+HiS% z=2?t2-zi`s0~V2Z6vO;&;@ zE?(Y+@J*D(%&qHQI5lI4Y(?f;;Kf5<<^5Cr{Fa6A$PDfn?)OVT9bo0`< z5gCgUMfXmC#sq{Sse7}9kc32k2o;E*pC%W9(W%}p$QSLDtD7IXJ;C0c+6|9x%B09% zR=RMIQJ|?p?wZ^?zH%d4rgSAH@8b!dtheWTRjduj)o+lApVvfqBm~ArBErt-KLvCG z;R7lvHvX@CX{KbUGy4EYD2O?7QVIrB5Z%P_NF&~nMw5PS+a^(V%Nc5aK7)ioy1j`O z_YX1w_Z=jiE^&3|61RbrDV=;l@WL_`i6X|U!I)aoW+j8(kT}(%6nn%V#8#q_atG*5 zl&<@h9=AO*yw|nG^L=<5Lp+!G#m1ji^$)qM?_(+B4VX zrvemA4sZ~hH_WtX6S)I_dE)h<@HX0GfFQQC=k8WwZpIM5k*cDGf?6F0892n{`6$Z?t2WMdb8J$E2XN?q^V?ojH;TCGy@xto`;5>t}1S%u>TSY}o#C>+-fv4BlyaifN|m#w?aXjF3DDdG z?6HmSDHW>Q@sz#mk3=PrZ|Wp5mC=JMsC)-_9l;KHf{d!$n>1WHxAjAijoykLpvZrxepofTuC(eHeax z`%WTdOr=z6loIP{gz_E0+VxGc{qU+yHGcrGhyE}`mNQM$U{TlxmNrz!>z%ch=X>&5 z@vKaY(#VW|i2odng@T(G87;s>8`R{3|Mhxkdb#0@cnNP>wX%*g|9OzmNmHh zgCOXsvofJ4+uj0fPBiG1PhC)4T=xJsta)a9iBgGE`*ZNn72`ZIk=@s-V3F&rPLiM*!01`1+r)@J>VkhJ`$y1!MBBI)-C=Z_;aKsf?NgZPrJp|F zQJLY(RYszpO<})>@3#ut4&dyr6ZzW$Y#+d44}y6F9Q&^dxQ;FOnK9Q3{oZGQUH`RF z&HKG}K}+ooYqdJS(@yXAyslO^tn7xCJr{E%U;s;5yy4gH8=ikDFB79WBVUM{r_Ake zq=O~I?Dh{Yvz0qhf(t92sul})x!&kaUb)XA9VGdf;FX#w(`QcgJzVhCw?kcdB;zJ(j_5AtaK2 zciZ02BfEDvHi+{-ihx~?=T_t`Wrmd)X);w#I+pHy$7`Q!}zr}1Ho)E4!rGXK+ zi@-g)0mcX3UM*j(H~UH=MP+T~mgUB&e=--`dWk?REh1uypKY3{&;O=-DQ#SbK_94? zlw#y9gnBIctC#(n{|mAxcUd%ag8RK&TkL%X+V+xA@2?p(*!cn3#XdX%*TzGC2R@TO z2O*zd#|(qZH{UJxbb3d~yx&MNqb_qx@j2zwK_@+|V>bx(g>8n|<=JX(p|rBQA=C(; zV7glx=syJ!?p#0hN=&S)Q1U*>Plc4(n0@*W>ETYqC{k4ZjTAR!4?b%T_1~WID6=D` zin2#tY24NKVzFoIVt;!l0?Vm?a~nCJXwIEn(G@*{|EVUDU#os}_3Zl>;-O>ouW`gQ z04Zv*%H}GgO7KtUAz?NHo%+b+-ZMG`MGxY+scEr4axr=9-C&k!%RSJN(ocbmeVY#i zh+aq*nL+7j2vk(G6{6BHSF)Ib;w}`wlh2V#Ngq&eRoRaW%GevFPkoku7P(*<`!pvI zCk6f#yjX9Q{00I_k?-IfPd=1YZ}~KEd6Y@b%S}gmLpWyJTg^_(w>mg?Q*DcN0d!Dg zOVB%nN+dTgAL!paSu)uHuhg4`?vbyNO0`1*f>B0F{8J`a6>ETZh}*hdJFd4IQk*O& zQ|`xmg!M(=%Owwjxpr88!A)8+%pgUoqORn{vei7OZGp;kq&GX|GLkkYZkFd*pg685 zzqC%U{5VGj-72$qzL+cGc1Ce5Cy$AM`>`o)?BW1qaBHa(N{z=HJUDe)+~T?dyzPZ`Y>?E zHS*xkw4{mxUrxI2(GTlwT6VK^F~BJjfI&ooZHIf&@D%7?I6VARVDh(FL#Fwr@MdkO z)7sB5L{#(}-BR_Iqlfj`w3g54RKJsJCn?`|s}J$LG{$bi{_fQ*s^Qrn?4!9lrsRSa zSF~P?wVraT_Cm9NM+0d?Y3~@%J0VyTEZKgm2v5agToEGU^TGa2lB*Zry|{Sy;<+(B z(p`CSldo82teDFs@A7)MLCJU^zd%9fu2ixQ37@H6)ONkXb0Z#Jc%4+rY%BLKNw3&8 zkNFAa-tx3#Vk?lcg)1swpJ<qA^aaJm zlWwTO&{#a{I5e^owUtFF6%Q|u!wD2?)l-fnDp8wCqwR9tYNL*vNWJIkM0iZ1F>FAW zW!@Hxn@}L0amTt(>Abk5Tsukc{!23I;Hi;$39Y@lqUq^pa?!%;U8~fSy(T!rozw-5 zJ$xv`RlHw+lk{4u$rm9dE_wOGci-ufOF1+Nm05jn49C%ifT=9=l3PrA`vK47Yk)WH z?gZl)(IZJ1jr1gaiIsK_?)G;2NQIIrFmk44wCS}vPvdL4?PW8t4Af5`J*Dg=i28Vq z$@BdyFw8$yXZ(4zgghAZ6?TJ+g#{Kgk!x!`*`2$8c?W}y`PY>PJ7i$`JWy6S#B%x# z;$_I#Qot3BdDofLShU=2(6lu=9(?(Y1gd-YoTQ%BIA3sp)f7<{NZmELrdZrbl)_$9JQpL`c07fK4!Sb=GwHu*+TD2HJRHTx7 zu@wXE#EGnYUEMa7F^ZtOlkK49oz1ZZP}`PasF)R*2&5$C93#^LgZ_Cmq^vdM*oT-= zOpmLPpq%;qbxWmI5+SktMBCF`u^4j`QIrmURVeCA6TECNq3SQ%$pfpbEbUA|z&gBb$LJ+N*7d^7c zu%R}^DqlP@nVKkMYNxj+(Y&zhjfg9m{u#<;y^8 z(1h!C(pi$j1Wn@kr($pf7wJ*Czn>=mdtdA%&2&mQ>uC}yn2)EHzU-CpYjHGz=OAxp zo|q7r_lBt48fP0AIi*!W&M~vBTHz$m5wKeGcZ-(*CNcVqr)E!^l^`(}gCB8!s^1Rj zJDd{5iEEn=W_S7-X{@0!C6vr;MgoZR(HV>;1g4;9mtpC?!7T&7=%QHd?=6MD6!1>= zIc>Oo`F^Do206na$=ug~ISEI$cVCGvbyC}9y>>B{Hrb}FWThFF?aRG*vuTpLcRww% zAo)v^0n}FakKM20q&Ipde~dwY?D{c)J9t-K@rbvzElIm0ul7&*dQ$;Nu4EH6=12ZG zrYp?{I{SOxc=V^i&Rs&>wSe2XzxJ%%Wx7r88-v>5uVY5lF|YsXwz(E84EFqua^5#K zEB^c|b>h!X=r`_A_qQ>hZ)GlSfhUst<4yCV$h|Tva9BD9B5%Ht%d`!Di~ACB(B#70 z4E3eN&olEvbbo~HSTh}5MfAjXeTyP*#J653)p6Iict!Ulli>FT%KZNRzR%Hmh2Pu6 z%mp*Hoz@`sNt0Mde}zHO(|&%xS!IG<54ESO@ABs|Tl(iZ0G~y_sKY$Fzx~3W@7K=y z@yI+REE8CHxB_Ka#2j|@x zV$=7G$eM#& zLyu<_3dC4K&Ug8J_E)5(^voHtp77LZ@=Suy^h~5$gf01(B{t4UwpK_cE%n#Jh4x7c zA0Lx-wiC4Wf6LN;{&WM4jW@bf%Im#*6;I40`hIXd?h7{wpWHL|f0HA(#h7Q%k00Tl z9q3{2QoHloxy(YTE=8fp6_irbsS{v?_uK&~1#Z`p%5~;Ul9l^s2jZqje=ARS`0DK5 zL;W(3PJMMuDe{ESPB~t!P8RiS0E~R)1i9R7lB$I)&c_*l+;!YW;{mCIg=9L@TzrN)B2kuktC*i ztH|YW_j?w#CjeB&mf$H{I3i9&H9x)yCgxEAxs--cBn40sb~avBQA-PsAwKA8Jho3 zxJzFSU*AwQJP>n=6AIWnWGtbV4QoOcZsumhqnW@OdgeB4j$3n``7%Q*6Ik2#7%yl_ zQ!7znC(2U-zyOgBGZ=jbD1%xdzzP^C%uQDh>0=Z34i}O@A#Rw@BVFby}{Myu)S~ z>=@%UT=Azg6~qNmnOUdMT?+!h)EB=ZD%9I&v^(3WO89eah=GIpoEg|}NqNemchw{cmDhlkbiDe?*E4k7uLoL|D%u{2a}+_qvF$~%B&njCAXAnYq~;7XRY zXFXGfGiKL1JwY|Q2pmo@&{35e7SdCb8|r*=yH8!iwp#4|XOA}}9Cw@r zLWgCF?YSUGY8|w-tT=$e5)b==^ud{bM{50Jn4{J>tUu7?0F&xZs z++zC^ZJsjzT<;BMsXNT&?jcEPX^1ZQ>mhqrB9akwYww=*2wJp2D%_o$si+mD3_6^14{v8 zm))lWFag<@4yXe$10Sy3mqMrmHh&kua4M7U(_7cYCQodmRLmQ27}7#tSA;DM2Ozot zt0ztF)C|x84v_w8d$W7%PK)i*e|uhNQV3?Gd`q$a4S}J1y#*ML;1OGjw0Gm2nEeN= zMG^ILB9NRVPb>%J$^5K-pU%aRfI!Kd2gU<2(S6k|X!^#`8r`!E|H&5zzJGeyrSYE} z)NQUn^H>T@7(!wV@3O5-(|bI)yN2Av?$Xa&BNyeEtECS@ButbY%2601>J$t6e(>V-LuroE=8$YN(2v#xp^+5J z9jFJ+%;U3?b1$F8X``TzgyVg$8oJlclcOIe(9+M62{9TcKOKh}?SXwOZ_YyB$Cn;_ zf~y}&eq7}JL(O1qSbxLDCu&d~r^(#ez_@wmq6y7$aVtF2PB|!dm{S;tJwgjvGKZ$Z zcIt}5483D@H>4#E?{me7k~=|%kEppSppoTjkPMdJ(|`Y>)lbL(sjC_T7MxeU?AScQ zT2t-K z5cCHao!7>K7r_~Nhq(&Fo{bkxQtSSc@3fpzVI$$`21-T*xQc&A@D9)1hW^|YE7)2EV1%k4F;-%CzZ zowBVE4#}>5G>!r0kg9P?;wr%(#%xWRR(32=;bq7hReuNe&MYWi9fNyaGtv(#@r+33 zdzILTnk3>PAq-1kB$<+uL@13sb$!%qU6Xy83w#{4014lpP^J~@W$q`|KJ0EH!2?f> z;4~DXcvq~8y?PpO3xCOzNG<5~l-L#0mc~!ZMY?LzrAi{z5mK3p_0wzp|3a@>x(Pm(FTr1fc$m(` zEaI18+x1rc7?%qD8i*64d{JY&5{&z!sy~Fy;N6+gOh#WlK2>wIEo}_O%*C4@zI)#6 zmQFJF$?neR1<74X3_W*gI}K2Hxg-v<5|0!_(SQ18l`nQRV+-pYxsij%lAa{*@Iy`j zUBBVXy@lxn8EMU2 z7J$p|?OK}r>(!gr_9&t8E3_v^GI#Nc$gCZkKL^?q&z8s)`m%+BC6a~qA^>PWm%nxH zgnUkW@IQ_|N@Bj-Fls?(4RJ!6UDPd~{wj2GGyQnCI53mAk^CrR1Bw&`LS zlmFGMg#8-O?VsR@kEGXSrFgNS6Xm6qZh3I4s&X`1EozmW^7Rq&)2ddJcg^(2w)8RM zTagQQXJasORnO^*3{SZ#1qC}E>ZT}-WiNj!h&h#CE9|C7vA3_y2!qQLbanLti2A!w zaZ!5?>E=gQvIAdyfU+QYr1qamhmC)Fw)-W0MKjN!%FMm@&}?jXPvxjAb1AGXr_{~G z>mrFtfbkclL-NtLVAv6LUW?-{@rx|Tu_ZMyz98OQ2`am1{1{|r!>xLgXDhG;uo{1e zw-(>P5@d_J0`&?DL4{Vw{5FG0j5#+=K%|B;gjRU1w3<`fWNii5{NU^Wk*>g_ZQNjq z+kdo8AJ9oi!eb*MgnZ4yUaqEBYT1ZZXCnB%Uu$V$VV4v4Q~__?Y42ICOx7O{^$%SM z_e#1OP#Zj$ec0tPFWA$Tn~1G05*>fM^4FOHwt>iir6c!%aa-lA1morcrhOU!$)kNG zxc$&Oqur%x2iy*;^p+J6sqIm@!sRj(=4Qqv4KvQ2ya(vQyAtp>sEp&#H3p;Esv0h} z3IuSShEr(FdRVMo`UuM&t)3?*K{j{ zLPL(RAdBSmxovoIm!&JWT4jFgmw~VYI0AXlm%Fe7asmC9F0lii0@sh1&and~8~5~~ zM0TRxG|IU^jfG6(+aOSYqv9510ln=7mk+W7X%!_kRE>q=J(;#>R=5$fao{V9|~&8<7U(Zhu`%H?vrX!~lg&)b)+@cH4hl%fS(D zZRs#Pn~i>|)s5~>BNnc(Bb5lfW^aeHJoU0j97|FIC?_X>PvR%GPiLxh&}rH$cb-D{ z4b$un+N8A9H&Jwberg)kIpW@U8l{^ZGZ&@6{yQ-`YraEIBg2F4b=yi} zm&n}MDMK;*N7UC#Nur;nidTQX1~;Anub>oxT^pKAgkAL81y;S39p*zbWU zN_C#TXH>GNoWr;lnvNFS$mg+4hd;+akxWS9VC3FjcQ^5ikc!g&<-vahmC*MdmN|Q7 zWH!BNN4*nAFP_Ntcw&?pjsdZfCsxT7Jk=(BFH^6_Tt8Abms&NJHE4Aea(NJVKT}0> zHv_zc*MH%i(sK1_n2YM4y`5P7v%0$Xp+uV1C)K~y7=NcE@|}sXFiXpsmYGb0beO47 zmrsO0=4&?}Fbx4oH3NUwq8taOxA^7vl;6<-qU+WBo>X6fN7;))uOGAU51UR*n{!TQ zK@xz-mLf`!i}Sj5#11{(gs4lYTlbe1Imz!eei(;15W)h=5H#!GiboS zZ`-eXL;D_$+R)E}O)_FfTV|C%$~QUioOV{$?@>{5){0A2lRJN^5C=4Q6d1uxoW`Ei zUk1xU-9I%KyB1O?Iu+1lP9^9vBWta35lc1_E2krJVph0gU&-1mYhPuES{kc#pOhw> zOzqPgy%V>_qq|q{q4dzj0mHD?BxqKqdYh@)%d2w1rdqHY4QqVR00#NPxrMSgn$bj$6_7@YX(1?D^~8@ zV-moq!BkrQos#cr-4t_A4MuE(;!ixL7=-3L^7-z*Lvazk{H<0fYDoq*)*FAyk0y|& zzx(IkOAua=&bQ@cnoK||EEoSMb{6{ZTOqT)^|-ql~L;JKDz!Wg6vC~72u(Sd*e zU#G;Ft!m?bC(txx&kzJxTS_}$k+jfmG_e2R&?4wOhS_r zyB>}vxRS)zRovX`1|_*mgW5EeDmlG$n_jf?fGl> zb=Lps(WU=M3~)n4u4j5t(ps{YY{KPH-saccWQW6eUi=GMWjPJM+3yl5UA%Kl~ZA6AMU!+3;p!8<&=Lv z*DXX}^bgxc<>@khV7A{5R{S7Cu`iYIQ2OmAWp(E||CKN!K5NGqx2L>=t_hvpOP~|M zTv9qj*0-0sAm&W0Dq2~qRn3U02cyOsD=m*o*^R${0p6(gLljbq%gdwQU9vAyBrYZ9 zzR0M36Ex>=5T}TlH=8}{g`{rlyyAZajFO|g?%oPdpL3x0kvYb2J%2wS-ra(H z*6h1Eb>-p8)J|$t^-$!e!Qu#qEj$%Y)znO31docOUKZ^qq_Tkh@y}v)P%VGr71fYe zPU&8t^hzY_@Ptr%@ozyKI|+eslep%B;40&Yxhg%h)P1q#W`FH0Ez98r1lrN7?_VZ= zeeovw_W7k(^k2(AL|n;#JU_0ZxsEDfBit?$O2!YRsI{50uO(6?=(c0Mjrr-KGPS`?M{*&-bHrhu)1}liC|}q6DC6?w+wQc1ipl%RFQE=2cB`Zvw>T zOJ$q!Nf8Wc6Ip0a7H%)~W4z5&Yn}{)Zr21_3U{cynMMUvZtUwqOEZ7lc!t|}ko#2x z8ETtyFhqX)_s{X?2KVUtash(l21IQ0*Y+Asup>8)wEVSuhJ3+NePiq24}l?5y52wK z!tMAt3}(H}1neqn!Lw#~X;s`xPW1yS)qphLzI~dX9g&Uyd@wEfF7$8-f&6doe<$C6 zfAai!@0!cQqj%Rk!9{-_-H!uNl;!EsJyE>H5%CwUj>g&Kdg6arK3e}3!>{yk$I9<& zijS0(o+Y|-w>>k6iqd#S&zvlqBj0*16sX<}IbVEme{pAfC+-kmWJA#1d9f+O^L0^) z*NgV|4SOpW<8nY&Xi9os%CN2yW_Nv_HjqO+czx?(fMM6-wsHNyucE$Z-8T*~fITlQI1$ zPfv*rr)jUHxP56t-;r!;Tg_03&U6LJVmSUC*TlWn#@d=A6i-U?%+ zT;3C;L%0V8gmJ};AJB|jy__1!Xr9bCfSOQ_BF#BDK22Ihv>UoF70?HC+&bmD&wW{g z_qtl}xBdXbgREphK6cV7|J{cT=EYN=hW}KOLG6DEt-ip9^TTTqhHDlVYEdC6q9VFi z?U#GjBIl{0KTK(3*PxoXboeDQ012E$O#XZww@+{LWD;d%#3)z#&r^y>Vlp)p@ZoA&|$xn@^`*Y{lALMrb(IFIodL0h)#5ft7 z-w=OFg6fDW9iE(MM%LbWQf5k7x4YYBmAq%9l9oYlsNed&MD|b}Vrpq<5BZka$hln4 zg?zLHwOamnT`b`ZL>=S^b)#3C=rNl6BSuXH*ska9E4J%Ry(@q2#U`5kHoxA(J^Ve> zZUC4xqzhHH0rK7>hG)-lMz9l6bt9_hP(^>R5Q+lSp53@(0Y98ivKr8VLbo+1bB4R= zU^Zdz4jO__>=?5Q<0ie&k@I}x)NaJo{=448|6@K48Bfj8Mt&~3R?H9Gf5+=fGxx#6 zOOI^4!?2BmBX%Rer7*RU2lK&eUO3e<+z7;CoX1_CYh~&k5>MxHPzVHY%A4ktAK`z! zGY@=x(2)X&1(Vz8^oBZ(kA{Ac--F4DfVG(DJ$ig@c?!I5G@tMe5zST0>~yR`)m|Nt z#tA97pRFopum9r+L*=&tY3Fp)cCgei#_vF}-5e(W{&zD{GKF^zwsO5k^^jdv?~ahTkM2yiZgFI_ZrHctENo6J{`_~dUANNPmi#s>dn-u@R%?Lh-db^M z)!K%er!t7SGX_`1 z!P-3_>9YG(F8pOS)hISGH0g32MQ)*JHFpw7&RpOa$KUzx9G zXdt|{d?}rT`Y{UJC1Vb~c!#8vUlIT|#4FvwKuoufwPRvMW_7Ys_r^@$=cC^M*}KqZ0S3U@#bpCQe`N%ug%wbsFvDO@yQG zpZR}j${c*u?WVV>xc=H@5(=QT6YN8Bw7e-!#LhZ-kCJl!ddgo<|5i%PGd2|k*lF_Z zi+3%zvI#vDCTSj4zFuQ~>YtwJr!7@93|1FYE7nXN(R=h?oE=$;D)nC^lSykQIORzI zOV{s*``zi*+L78M4*`F0RcHE%Ulfo~)U1CCjT3b$M1Kvw1wN@6kLssa=v%=b7TbbI zw!x6jw0d4`jJgJ*#Z*k=Jd0m3Fp6{?d-3ISIlSds_>s)XrG(DF6Vk{C@<>LOd~Sg9 zTBKH#{-ely^!00QZ9R^l^lWZ!0_3yTKf^qAt-$o&7n`)xWqwcS&$7ew7cWMe=dXWF zC+;QnO0GDlhTm_S2ezT+Tjc)Y;xNa^Kr{1K6*Y|(0O&#Q ztpD)A3agX~jnY%4YSHzV^@sN&`2gR6N+TJc`XmWQY8BoePvm0Lw>?pX!iJ4;y@K>& zeAJj%nl5O6bhWk|8bPchw=2TB++G}(whT!Q$%dboF70qw!-4C#VA>tmrN0fLkWms9^@ zNM0&1WMw$SkP+0ebyoIIJs?(QfY#{>o&$4(k!?^0E++t>G@;;5mhh5HT>S(|l`8 zhuM!&UH--?0IP$xPukc!{(yhV_Hn9vP7vvr+Z+-1l^Yl`@tmH%c;Cz$sh?cw(7`+A zExBedgphnh%|e5vwv~JVIZH~n5-3phQ>F+(NW1BFE9vz3GCNg}bIRY-w=XVUUA~xI zeE00?>c!Q7+KLw!9K!*12$$P}5L$A{TsnohnO4)amXf@Z8TmWlqac5d^PS-Y*0;QI}>Lc4_=-zF51xbBASs(K?Wy8lI-L!J47^f;!VnvJXTv1@bFz zV}ZoZZwTZG-r*k=e};j+pJqRz&7Ts#bL7vZ=5?MTl=TQvLSzH{+sz%Jt?@6P8?zNu zWB0w|kdPLtpFErgCA)v7h$i0^#61;(2)BUip{S5Q&7vz zRhm+favCJt0{Qw;qnsaaT;#ifCXrl#d*UuFD-#puSSS+qtXU@JM%k=%iU($>*PQj4 zT4@F$OpAh+l&_-!P{VDuW8EwKDvQkNkU%GhH%pvSGb$M^dX<0vo`ZPau+qppxI#ux z|DKK@U(_I{>|Dn6a#jjvbkC>!jMnRFX)urb8lW4B=W2$P5C3aJ5nxD}DWKvOCY)P0 zx8YCR>a^}iSc33YAyq?jmVUBeITE$>W0TTGpg0reX)1D zEV1OXsD;Be41sY#Xr5dat6T_llJCY|(;=tI7YurYKBt1{YCM(y)=Inp9xh+p$QK{a z2_+s**L?;RG1;#fsmIB;Qz}rHnQv%Db|N-3FjI{e#5R9h^=beu!N(x%t$v*ipTt9& zq7uygRnx-igDDI`vNn56N`p5#ziGK#Tw9AwaUfSK5(b2t{oxUJyGEb;&tNlPFLXg3 zv{^UeRaN`)dAMOd-(JGBmEkMr1oz*sJyBS?GBpZ@o`BQwbi_e6kDYJYaB@3@Nfv!{ z7G0i0Tc>}0hC~hiIG{ToB$l;%yymt_^8y%{k8tOyJZkcz3yR0}<6Kg51+J7Jua*2o zt0g|MPecS_kas%2%P5%%*<5*lorN_wlP(@0t-jTvd?!iizuYw5<<7L+F7Aj(t4OVX z1HlqBD)-B3>8?4+_$5p231>lZD>B1`hmTqxo(O+-kzJtgaP=ueAQ#H64J6!`X4+4^ z`%{YM_ZuU5a58~>pb=B<;!Y~Jj=oC%;GQpb%#%E}BxD?meLt*@%x%>V)NyYbT=8?R``+J@LSO59#W?CYZzF%!2G&Mf4&@mf{K0QVGQa zI7KCZ^I1vaTB-nE6P*!d22MZZ=?s0CsSSTJTV!r}2DJX@HIG&%6FoW^A)3`IwS6vH zzgv@$e8%TcSH~64xRie#IN=YLZ)ub#x0$g`y4H4zJIKV&bEH{rZ>35q+j(VAqAWIn z$x)aZW`KD(IDB*?5d#l2vULB4;80|>0tmP)@zFnh^?R|BciTsi_jNR}&UL9R=jd9M zxq4hLl5h4)XDudgi-!TnuRMH>htFD_V2YNBP#CBwEYv61!Qvnia644b_;?o6Xf0p` zfplt5A1gSk;5cqIPKW!QTp6yrI>piN(#IM5IP-@4)${NFAD2(c0~r{1>FUOcP@-u! z`=Z{n@x##Gj2_A}eEs{EfXV|J0ezR7$^&M932%$c%o{paE;4sH_upRWhWak4mrfYlOt4}d^AstUwXVZ(0ON#t$)s)ZS)N6EFYu+?}P~ zK}sEsWZQueR>Hh)ghxxagil#4cN}eAp3K|5Gf~&OOfrrvs&<4TnRMY4m5D^W!#kdT z`Uc6VOL*t(NA+;{0O z29vf13Z!FTd9~WZis!%{f^a}DtZBHH|H}gg3HJi_qo&2*iffk+%mWr2_q5K^btFWW zkgvDJl%y}Rh>H74oNCo*s)+YDmq5$|Mi}nW@@{UJ(7T7C-lXljl4RtvEyXLIKGK(- z%mX0-$(O*)11kZnm+Z^~8-H9dD6=0zaHFph7nbd6-Nrm9n$4#h-$^o`^X4Jz8$Pdk z42RIZC|QT0K>R&l&%h`*( zlUtIvdOO;mgVp>lU=i?=;ka)Lfl1c1V9@v&3{~V6;vGfohfLV6ntu}%%1l~NyV4oI z*&Tjy&tT@-e3=brkK|GHPO(Hx#%C%aFRQa_!w2M1Iy5R1XgJ#{lmsxl0g-m2rL&0Y zTEyJeEe)75oqcoj7}zSV`{RI`kacwQ1fp#F2%s9dgmM`>{#EX;1-qwMSAR=av;Ers z3ebxgbVK|*y}fnsIDa{ee-+zXr!(8Ynx*Bi2MK97e7UrjO};k-+r}#JB~Mze|0X{>0uz(f4Ox7N@Z|qf^e1 zZzMfCX(XN{n(n0twxR~a*=Y)6we3GRpPV`N8u=)wp8U2F)PHChgnE%T>F%x!M;)S! z30H1s3HLzaAp`M1jh`d)R0du%vbK7MxWd)7nv$9HS%(xa{sDkW~KMqTkjeqO$taLpd?Jcx>`JD!?t};n= z889J3JTLMaD)`z%ieOx^?YzFtBkqG`@Diu}mpQcO{Tw|`Ea)#V$eQGkRe1WN z0P_4aZA^gtSfX^i_Etp%>+7A6>C&L z&&2qZpStG@GcjT@rUr6{Oc{Kpb#Y01gD|t(FYfCs1d1X@zyInh3$x7fHR@%1=T*W0 z^1YdW79BRD*z(^~R`avjzZ6ycr^#GE zeSbCCAFzG`d~@!rdckv&m(IpxD&ydmAWQcQY`$(!RJ%GJ0Q>04Qt@rCou#LSpxKAR z0Jl8=*F%^@joDV+Kx4?AvppAZ)pCB8{0{u~|D>NOqfi6|3QqQE@&Mlw&7xH+9ZT$5NpH6o5iip&rY4%9feMir+MH zxFAK3z-f>>!m47qQKNku)r2(vNfggWK*r>9W|2p_MbLqPz^Le}Dys|qOrGz**nfNf z>S%nhfB5#*KljJ~c=_h};e_AM+Fdouf)>;rJ_X{F1`|WokHHR;^yCz`BEoJQ^Gehy~d+j;7yHNjK^F= z{SWrACcUt^#5h%R_pa%;^w#z*BuWSdc96yr9cD%Sk7T_=F)5rOVTUsqgS2rACi6cW zqS0K;Tj*VcrN!aO9Ep9p!+-bA&K}o)FB5IGqtHY&CXlr}PpKHR=}3|%R8^ePhF8L& z84u6j58u9#DIe;Bx=SeT2q63~ni~eiaOhr7no%Sehf=XMeftNHWM#SS9s0S7Zd--8 zMeeJev<3MgStG@or-uWNj*GK|eG*L)(`b>-SQTBxVx1M!_;{6Ju75AWU@q;BprTwj zEO;(xL?_v3D+&Oy@F>zsw2tzz%q70c2~qP+L#7U-NEJ%hD7{PHygia}tM+jPNe6vb z*i6a+iY*3`q5Wpfp0`yfJc`5hHrxiEo0>pn8nBX#a7C49TX8hARKpH?4*&A&j>af+ z6Qr}7f}OCJ4Q>`BV1F=;!4GerzuZ5hWg=G z`m#^%J@3!{@9r|tSBCfoZctG}R0<_BSe8~n+87d{D`vJ)!X1VxvGm9-B8Dr2P&Wua zqod1J05166(wFvMH|{Jj$_qrEwM4|eZ$nOkU+|G=6Vmq(9DmW$`kyO&rwJRc%lLdu zm1zF85_RaLeMM#u?71w=62E8$k}u#;@A9 zS<)XGjpKco{%%|Mr1UnJK4bogA*@)z_Y-mWPlC@@ZhEEtK z?;s=YwnS?a)hR6tvZ|46qFRspPDZupA8>G7Mei^-XmSp$KUhMTv)jW;A|%bl$hMeL z%?GURY9x7F3gio_$IPOFcOKAqEEYspmQXeV62 zlaf~Aq<_XZ^37wbD0Ya*wb4T*r)5!&H<~q~;904I%#$SToJ^OulukFZ>!@qKGg6{! zHCuot4J0E*0fIqFp>eqoW>b+5tkHRlT1t>Hh#71|sCOVL2LxKwXlFYpQ&%j6izi)m zCC18@ZeNZqCcmT00gGH_4SpuCUuNu;ifklt0)NAF@HVCwE>`O-=BexJA(?WD zkw|=t@q~016&f!k6oNZ>Ces~x9`cnrD^)~}SGgtbE0eKLNg-9e09@O z=zlLTDfAn<$R0$0m@Ax;LVtlNz0ZN=U0_P+`g?^_Qs^%*CE)>jfk_Dm%&VK0(ZPlj zJD~R}njhE7+eqq&v-*~(C{rv~ne;C_Q7$GcDPZ4%t8LMcydq(Kg?r2(fvCkP8qhQT z2Y$sj^(XP-8?ch$Fh~FsX2Je>8K#&h_?Fij*T7$&2AbI#=8eiF@BC4GyD)4UX*fnYW8u{Uvh z$LwK8aJ48RLho%6TQdT2l!#L;<6IQdZD;_ZoGb!cur`pI4p0Nk04nLUO0G=^G=PXa3{;*ckjE_ zFY>Yt2+yYX$J5>DZogV2{(lV@pPW#2NciJ1hsGOaWdpA+B%gG?B_G7+sF~9kDC2Vn z+&hwYgJ92D99BL=3?FzXXK^{sOnFWk=IwYhl0Br^`)T*YcwdP(0Y@_H?(^}EUHhK1 zXJ6;}IC$|a`u7J9zjL_)u8mR#d6D0`_wl0|yU!K=5Mxx)AdRd{+*sMCeGT3r7zNUa7gYk+{D+`Hd6HT zZ-_D!Swic?r3<+HJAVib%pEAsZk17*GxS#aAI=A2$@ddtXXDvwvE0Uge!qn!5w}J% z5A+ywx_^IEu9BOR$w+7?lSy5S5pFW!d}2<9+1!LZ_~H?45-%4)6GKL1jNTu-MAHE1 z2b7DxP$3OBDz#nsY2V9Qa9{S8^Nw))dIw0cjicyv1^ODr>wnT_m6bq+@GK4+_3a-V z_Se5c7oDo$wg1!6(K~ShTe_oT1Pr%98ed#$?+{v~0dYHvb2bYWqGUiZZn1YG|l8#K6 zFB-*yPH_S67Ju(V1UuU}W?;|Ye%^_xLUAzGb7o%9s+y}Bx-`ELGd!wtbMeWTEV=s% zHinLVe0^tpBssiyx}v^pl+Ndk;Y5_ziGF+Bs4syDL#Hdu674RH({t+T{&}iQWql|1 zlI|<-tkB*hT&iH$m_Bkx}p%bExS*R#CHDVXOxtv+L_(|A=S-7|fLKliVJ z@=VDfeafp#7Wp9|aR}5{dA(^_#xURmjn2{{W0#W4IKK^vX=9colFL&Jop-8~WyQ!b zEbX%@<$rKoagJiHT*9K?7#4hnnQl`|R@6@WJ`!1`0rTnh3S$p2RPB8jUNovNHH zUm_hp{(Nx^}uSa|wz{W!)qPtKiJ zfA1p!G<+(Bwch(6P`kpt3&bCNmY-HuY=TWzOHx~{8J;ytkmS5qd-KfY#w0pIl`zZ{ zwSS0$xxAGcDPr%)^=p>KCpmf=Pb=kEcX+tZ>6T%e2TU^(X@8-2v*1HYbz+wHRIRo7 z3G2<5#cV~+**s@93WUgh(I~+Ksd5KyWR{aiL6?#*JyWRCQ5Xsj2XQ)0f(`_t$Bmv6 z4Oy|%;DRs3GBVL2#i_hTYvUPT}GqF^W^I z^=uX-HZ-+!ZhfZfl+8VB!fektXnp!T+sBjxc*W%>?w%K8j} zfzfPk^nmjhW@4%!VV?;h^k+{8k$g1^4$X3~-+Vp$&F33Ig_19syRmsSlm8qQW|nNc zJ1@cNd}R}2BX#$bguo&Gqx_O~S?T3(Rm#EU*Mgn@K*8sYUpTi#8%cfol7H(fi*G;u ziG5x8N&J7ql&a`^jKnX>+244$Lic|1Sb`FRpOajw3&QZFC7#E{Te^9bnd5I>a1?9! zv@uTk;W@Z}!@0PBnHI%|G_ij(EEe6S7qVb%bHGoa{if`8 zoiTQVokps$#rHrQn$M}on1AX>U9N>MC#kFuTbQpCq?Qa*3NvM2Fkgc{xn zbY0;~+aX2f-a5p#`v`?eEl`W9s`)C5xC!QSPPqUjW-6`|ooR(IbJp2hs=-tzdYLX0 ziiZ?uuhIYsN{HMB(dJw%P2F13v!*m4|wd>L__#8Imc|cP1h2!P5w>_1|*qY7PQ?vY4~0@Tnno zVp3Se4rFmD3Uy#^yxj_bxY=Id2jBDpi>KZH<6r2eI^$ZG4atno!EGOnh`i?MI+LnN zM{0{dG(DRau;ASouYah+Qva|wneaTiq6^EoL)1<6JL2Ywcs#XBIOPK~9hm92O;0B? z#j3(Ufvi5g7Od2U8(5my8b8r0ULr>uj@soPHO4<2wQF+J+>mO@(qq3pH}lhU*th)k zEu1D9%|xGbN`B4qg{Qkx#yNDDiaw)n_c}H^XPAw9pEk1gc7Lh2_;IZ3z}CJxTbp)d zT^^WQrCZ4sxUMzbSnhxC4E@4ep=}+=J=l!W14%C)bUhONjM-azyu=ue ze&aElT*1C!k!~!q(2R{FFTP#W*=l$sFh73?@qKtExQ0S}#}-iw>nn^tJQ8>*{8bO5 zx>K+GB)Vv!Z}hH!=}*JKZA}02TptDH4}>T+SnxNd@K>_ntEHnvvh!k<&uqFq80glf z+tH~J5`TrItLU9_mU4An6%*gTY!;QPT-1cb8c`=D z$?r-o-N6FtSu}Z7@CYX`^*YT&8Br;`Qk@-)&wr+DV3-|eiLGSbAy8jmVAg%SjI5Yzn+?c)t7rbut?BIf!t^9Y*2Cv4Vs-IVe^jn`n#(@!k z`;5a$=7AAkH6s>52)`djY^4^sY);G>>VGvS4rLJ-7_!3<#xxul@`dR;Fy!k-&rTPt zIS}%6JTGaYSImaLUFU%Vro#)I^dRM4gn~r6XH+fMThyH3UKeM{EC}^3$!9R7fj@7& zR0Ds$ZuIonZ_8wwF0Ymb=Bu-pUM7z2CUn5+YPynk-= z?6N1U{^;!Ss>ERzXBi~m9z^@OOzR?8V4#RK7f^*Md#DA@RdAJ5H*no2QWS^R&^gh z4$bP-IeBK}aB20zTPMq2fYY?@HKS>Kmc(^0lqYe&t}*Pc9%Im62->j;hJRbE{TXht zYfaC7x0p!xyuoGWnjXw%nUr;hNfvSGZYtTxL*L7kQBDjA!nK0t$ z$NeKreGygZNe(;*%OS*dw0|goGtJYp1Sw1tK%%KPOqFPf4dnt-Z2G+3>=q4!GW<}kjMjLy>9euGS-taUY?Rc00@xP*Mp}H z%6sR|_=#5W5*gZX(k}g^4YkgHKj)2CbtrUxVe)>xW60=-1AlnE58#iuo`>}JaLl@i z_;rpMkg&+k{>Z5^jr&0mW4tJ4Nd`B>0slRy?-!w~BHp06Uy#0o=6>Di*(Jy{+`GQY zOVw;Tqbu(52TzyB1HCDh?)am3-GmPaUEyH$!aiQ zdIL$@gP)$J*{n=*`a{0^(jRAWnZ_^~{!5I3+Z3z3 z#`3rH*F2tLlOB%rml3~8lP`<^PNu?FxqBf5Oh+9W{KVC`n1}mgW*3HAsh06kmNQyUiNf)h(Uu8()@fQ`!1l})p7mLxO@X!#8=Pi8T@{@uIgmb2QmcnV_B@0 zVMM4wtixb=o#NLaz{AyXnVbMcdSi^U_jwQacNu6mZ$bVFQt@qh66a|}>k@+9J2`>j z#&wXGFn`AI+(|nLL5VEA!TFZOS(3+j7@6`n?|F?bSTEBLf&p zuYV5dh8OhjY*NvV{Cb|Ub$;Z^eCH{BA)&`gOYjfZR&-mZZu`?auhr{=cAHHds zfbu_9onGGIa|rVvZ_Vb#t#d5>c&jcxB>C1xrhmR~TmN`Qlzb+C#E!m-8glm=-s*iQ zh?ViygEDeq8V}0Ib)%<;J;RBZU6eW7b1Rdxv|?Wsc6_<22NpHr&a%(LLrZh|m&QZo z*9S1#fs0<4$^#d@ZuInWQQ&*mNXY#PEcJ?H;;$|Zf6F|^PrILS2MxmTx6XE)WFFY~ z)qe}aV{{S!T#5LS^0NDrrhgHE8b4CLcl)(}HIe%WnND$DMaRi$n$IG{vyP}zm0(Cb z?5H{gsGVpclE7oS`bmWOXyM>+g8S1Vo8daB9Q*(YYRm-p!tDtszUMzEu3!fibu!{_ zmhtpMe3Id&{m+Caxk>{^Jorc?Qxc#m-J-xRdvO44b)7<{Dw3+L4Azh8aazI2Lw3UqsH-Ffj zE{Dnk%f4>(3@I$kx0BD%TwD{amdVu1dVAOP8&sfgP6gr`U9&Pi&m+MD@wm*mh!&_P z6@8~DLRqo_|Ef;3x>VH#>^g<{Ml~oggAy~`h<(XC+=y4@>qkuNa}9U16i%vm%MN5Y zkVvjJrtoquL$vg!S zF7)2J-3vk0W@p3oxZ%PM*W-1gXW)7)6HuS3>ybKlaK!Rh5@{J_qQ=1y{@Xix^hC(v zCmW}(xHL2REcwPH!Qc70#KaK?$q7iB<$518KMXR*#uOf8j_XEG&GoXT&#@jurvTlnbUe zR)X%tC{va8A8V^c0CV558qgL-++E4+IdA>fSa`sL&<3{fm32Cgr!{fR5IPIi!d6wQ z1)u3|EDFYIy{b=(5?0C6Sb|t>&*1EEbfT}h0p-IWDAo^=0QTYI1%K^_j$ysnR*OYk z_MD~wZsYp_MA(W1f~8 z$lX40at$DN``L>$$!5K<7@#(;BK58b{cg2N*)kRC-305x5r4Yfns5#*Afmu3KPwgs zSYR)n2BaI4SwJI%t6glv!lo171yGq8@>+P{yC1S*`oV)ig1FkgtP{^2BOzQZUxO+F z_g83}w;)}Z0t8Sg8|{`2jogpIQr_FRIDupjS{i`ec%CQI3{-hsdf%RN!gpg0Q_4(( z*~XHs7I`nJz<&a@aTx(xK0K{BE+-Dt^{)r6wx^(lvr1-|buxfTK>08Psni0sapkb% z;xzY;MZ!2*>(rrM1ZIZO4je|Z&>pB7sYNY};wAdosx0C5^)7!K){U+1N$xhRjct`9 zv*e_)L39?d6CdYz4d9W9U>)tfr{87UcviqP|C?{P4|x^M(n)&R3`*y&b0nB2KpY}@mG@E($jfQcx zu97-%9hy)b82o#_k&4&Z9;UZCUZnNQe7W*0w+p%h<3E{`1aS#CKNc!$(HE7ffziU3 z9H8v%#ec#eR$I91fzQrD3RDx$#zMMn;@7H8s16Kx$#by}kp?x0&1&Jn>_4k5z-~M& zjBGN(W{Ymj;bUvVc4IqAKK2?N!r54suu3Z*+gBitwpp=8b>jtAGYZ)roZvQ2d_*}; zX79>k30JQdUkkJoSHLRPgmYt|g=M#)z&Un-TYosy_#`i?I-Q30Y7?*m8_#}Trqfd# zue{z_dJ3$Ww^?@|y|g4JxQ&yZn*x%c3Dt#xhabklaBeJtC!+oCS1kTX@YE0n0p`YW zkblfW?E%DU`*E7B`~rXivD+@=fc&aJ+HHwF`i&$C#M$-@>GW|XRiNO*hOd>ghv1@^ zP)-a$?|#G5fDSyhcnk_0n>M5e(_w-&`T~5+4R2x1iu1iG)&29J(m+;wvZ(js3l^w_ z3ta(RFr&{rcx8QqF`%3n)J^aj9hd`%n!tX1!54o(C%7MH)62In>b7sNqX(BiZ~%Rm z3$ca!H84}pJBfyIwtg3<9^qbrxZ5V7<7hxRF}U5b0|>i(x!d@Y>NHO(AIp&-?Y2K+ z;R){*AR(MB4+$>Nn1Sr}qO6avwW|E%XnP#K{+e)pECDX!0B+;^DT!yOAa)~>5M3?* zZxVldwx|i^z+fav_u^1Fsn5OR%6ngRwFqMlD)pUBx^N$!#>?b+k{63KkL#lJG8|8%zWCqg z!0(F8ds~FtdV719dc@Z@q!&|&hdO{e@nwHSk7YxsE(~bQ@4fy8a2LLx;go<7mw7m= z1?tE33SClq49Em=b*4S-7@(uw-p8~G5UCAmV?ryZU;WcC?$)4>2nXW;3I*7K$8YOu)oXut zv_DOkf!FO8pp6G>eHU4A;?WHZAgg_vhm}ziDU~ zyEQs`c>Val8^haU%;Q1Z?OoyZJ7`0C zFtJso7b*q~;?j-*8(`IqJou}(3p}_z5i4j5<1)$BrSQyeG_qk`*tDMq!oKk8Id1qi zR4T+7#jZ&zN9SBPF(NG;-vJN2Q1J|TyRzb{(lyzjf>X0&kTPXfE{>V z_&B77>1Z8fGX7^v^=pXHv;aHsc-3PKW3_Ho3ijZzY6`b7$r`*K6lR&;M%z`rT-E)o zDK=~y8(b$cBT7cbn z0<>+_H1ERV6@43E7LL_%mR6_q2oOHPHn1OG@K8ITJ1{0Qei!R?%DaD>v~m9@M(6KO zPm69`3d9n_;&b%n39x+=$`<6NsZT87-`%bDau||F9x+Lb26i>fQHhy!on z&NHEG3^En6uf3Tr*=~PLs~BodKz93O7O%yL??V*_xQ(+avQ=oMBusbfqcZmCF)ctR zp0gw9!LnT3(J45;w+t~ zeGn%`%;DVk877&u5Gyz3OC0~2|8_sD)=fd+qZg*=2h8g${6?=L;E zHo&`ZD!s7}MgzDLA4=O;)g%eId3Lq1F=O75u)foTv#=Byy{35D3y7|ke$$uTPVrElu{Xdh90`X|A7RBg4-ON| z#^Dzo-O?g|i)$O{)mj>0ZXDV${36b><9PZ(#D|Blb~bePvmckv_5&9x3FUFx zpezjNBj9O@KResJUsiRQ#GZH62AG8-#dY$Bd1@G|^@o=a_XBGIYnOZX10e@{sEp*W zEN7Ra_X92}n1l?4EkGMj;)&nEUtKNyyO9B`cB|tuISD@SHNb2fi-phci+^voI!c%O z_X8|{t0I(c#SQPriW?xH^mR07<9(mUe4l3t2f+l;y5ViCX>ITNee@Zh6;cDq; za1z4RvU*Wufldj;Zd&{&(1ahE~H`Ft>J1*@woSq zE^OE?Y=^0D1x+XihBa&`PIwgHRyM4KjSu5bDHhQR*$*AS9r(Q0w}xrA{y8pl?Q`q8#XncY#HzlyQy8v~=9Xd(t@A7%!b7JVxB_inR@@<)(q|C4@ zBfq1Us~TMv)O@_4_TzCALsy^TJ&ZelRj;4{zXPLF5fY|)ZKAO4xN$i>-Opj1$>v+A zqSoVaLhU!%N5Osrd#Pv7&J7jr+rO#$_U+nPoqhLY6oJ0Itb+UIjRm_6L+|@;YT2#a zR43d#w5QD;#RlxVquV{o`W1ow+$>qpjovP8U}EW|GkWwzf&FDw`HaUV6k@o4ef!@c z_CptGPv0NB`X1|s!nxj=?bOxIB3}NlYx-Hn(+?nF+@68Zdb^O0_cX0b>*LOyJC7bb zi15GgY5(``!$)`TMtAN%e01mT-A9k^Jc#bxeQ^KLUHJXdM&S9ZK#wnBD4&a`J-KW0 zx&4>F{3-fNM9Bwb>6(fPBxVJFXd1_qlyEm%VumaDJLYdj@I{v47x+-Ew#^8uv8>2i z2j^-B5F_qAZbLXKES)&HE#<1o4i!YEQpF|oidpe0*-3Ps)~9JsT~zCQdRi8Fv8tjh zUEo*vE277mI|~t~I--%sQ5KgcfDi^jVDQboJNNWBxoC2h!qKORK$kUtqS6D?N1?j? zTRQtRiB@@?W-yj0t)dwshN}qC%w)=jWn5KBB`1A^g=m0Dt}=i;&nq#dGO6(acbA$T zn?#RJii9T>OQCYWjpeds{}9dYL*qR&N90!8y|J&MjxL0iO) zgEc!5JHp9b1XGTur()peG42@r-{b(lxV1NjOJafpgIg@Iri-4JAN&IuAJOK*-f78V zF~u3}x*M(07!#r`U&r;T8tDO+A{y!jmsk7)AUR#wR@lK`<-QV&!6b>|*;$-V`G{w0 zE>Irx6vg80z==2K$t6{RN_kN?Nm<4zHlc#6Q!Hm5J-GLmu>1oR0hpJ@`~yBUxBrwb zv=s82)JmgIO!2K9$#>w^-Fn;tK2oeegR9|i11ylWrW-BHf|#x=12UTjb)hD;^J1+?+(`;DE!D zalSP|#V202NuLTn`GfM0~)%Db;W1mWP|O4T}_spE)1CeMBJqKPZUq^zkE|o z=>CnxeZm#;L}^(NWD;V_5uROD$Xa#IO**zMEel;Iuk8~R*x+tB$-s6szj2>s%x}6I z=0xrDtwqfnmEhATLd7jXjHrd%L9c%j*>mm1={sPgW3t;`YZFusj}8(Z1lM&9Z1Y2f z?Au-`2EhFrS_}^}5pM;lgNsQ)Qt$TW1k;l|&Ytc@d&h7n59u$!yvk?z(v!^85i#Qn34XL*;-6VnPNn*8m!D1i0mPxKslAM);NXg#E5 zHurv|&W)NN_TuhJZucix>yxNSSYk#@-Q1`Q)mag*N#^s@qB2$i1~z{Y1cjR=&4Gam z-7XSBZ2QWi!CQCsi!@Iw%yGJHbJ0-;ml{RJL{W^9QxyWWkUgcdEV34Cz{-kWisOJL z?PmL1V-I3OWL7X)L^zUG16Z7y$Z}m7`a?_Zc^pk%=Jevdp0Fy)#}!D1Dm&^PWYgG* zgzFGlN$%ePB>AdNq$+<)Iz|kl?qXRBjn<{dG;ovoMC}y;@w9o+T+Ew)@i7xq{8Zc! z`C9aR|Ha<>S4ZO)`$x}y8XvuUz5n+8(fIWtQ1$L#$vQ^M#HJxy61j1NZAlpga#Ksd zYdOO`x~2`h6HR#LJ3ys+8&tOG&57J?h?`kBtdN9LdvZIS5omw4LID&H155citCGOt zuru7rWFVu6YAAI&!miIX|WDb*ZCjW(}mlTM+U8e45aH z(o7xoUr7{gLM5{n*-=3FI0YV@ql!#~toVGy&6BQ9xU^hkNzMDX!6JZQYS45c2{GcS zDMxf4{!hMJOAdi)d2z%Op~3~9Xkqll4vITW zO7a9DlSz5>v5*}r@_WK6-I_Ye5Gt%c;=HG7B#j|hee>3muu|T}Tf!h@9+B6QZ^(xiZ>MLD>G@D2dkg!oKaOKA~J^y1PKhHrJU-W2r<%$RH(FR>voa+Pekx&wOs zU~BQrd3zdqUgQ4jpr*rk@`Y$B#{Ju;?&o9UrS&U5AUEEBmvQ;86>#cHef#W9VxC$NhtsIt2the~)$Jk`?ar94Ktagu<3AbO89* zbGBZ;htB^BV~f{HbX4yj#d(v;BN+P{_S5lN9v+m{@l47Ch^NxF%232u%f3%Td?H^x zxjmXcph4S+CHW0|ccEcsmY_2VpCYij@;8gR5;I-X`e0Jhy|3ug|S z>=O{de+__y^8#S9-j-~BOb=0ig(i0&!T;UA2mklzfy3&a00OZxzAor2xjRv~rKZwk zBqPD*1gG$vXURbL1oQD_yI<$9K(0#{an>G~It5+N4al5~hqrG0m~6%eP|K6k9>OX| zsc`G{%U7>n9&SN<_~)~OxBSmHdvD-h?H2X4f7ep*HumqBG{^Ew)(bE1MtdjXS?YMD z!*;vIHf}sq0{M#>oJ#XrhLcobo(A(MvD#PEjuR@HB1^W%b-cn`aW^6+@dN$Qe)0o0 zj$*=YgQ>TG1m7~A5_mrL!>sYRuO_<3_ZB`VE6Ico{YdH?cA3F zTWc|S-RQ82NwLJxR@AUmcnR0GP}G!=gJ#c!-LFdGnLJtJnQj{A_=Jp;p=W?-domTs z#%F1fv4!$xNTG{oV&vN-Q|ub|%gq+;e;k}&Z&c>>QNjYjPV|OHFE2m3d3TjOE96@o z3Jlb%z)#g7+7`%no5IJ<=0OwdLT^|^vh#wwyP*cd(rt{6L@53xvo2ZDEhw@jTB)PL z_`1X@Woa$l>3{+#&DQY;7SDvk6b|XJA>YBz^edt-@&9Ykjmh6A@$sAJe^`-_Jp$!QV)u`UL6F$PUZl*1)v>`A{1t9xtoe+0 zmq9w=bxOCBGV9T(XHO#=lee-{?zs?|9y5aMSgiRD#c zaukp^Dz*ODN0}&xI@&ttaDYb5jXGtMIlFJ73gAENw1u~`WL}#m25y}6ylhsGM-L4u5^D2BII1%qsF9gj+%6nsNayG*D^xT7UT{v->gXHhWH2DIWt{WYH*Fm9)t-B@q?tpSwvsr-KmOd7 zY?w~UWQ{vO$X)DlF4a3eFAd^rVl#;aE+Qc*kZqOF+M+DK@<;<4e^eT2&1wDe>l1UR zLTRxL*Nq}7R(m?x276rfn&VlFO!@(wu3nP$|h zZ_Fb@IPY?`xMI)_gEEOYW&f8+5VQS}ic;@~_j6CG?ot`i8r-W5s9tr)KY;N#R*NglV6SxoC& z^E3esVduXq>9*3X>K-2L9lbx?KQtJW8sRTn-1pY6O6n+AiBf^eTG*{zZqH(T9K1oo zUrv%N8FVMy!Z|j@MbkimsUDVobM!l9(d-*iV zkIVd*G%Xv!G^{5GCfrR*M2V#eKwL70ijq<5;lGPp3!X6W>fhm~!T(Q^9G|6=+3jUn zd|cl`N#PRig8=`(bMHYr{`b+tN5lK?7x}oE@4?&u`oH66Z=dfQEVvzc1^Z-7ZmXyq zJ-GMpws%opf1!PFywW-0cB6-P?y-j8LWeu(qpv}_Jn=?7H%oF z$g{*Jyc^)_sEW_{MVLYjpJQzpJBW}_BrKLxs78kNNq0`P!-ANU&au)# zT8;R9p5{p25)r;7vM*$opldd8$8-rpBl#^CG3-X9k(x}-d&X+h@+*LKHqhFKVKZxa$b>acA+Vw%Wj zSsX8C8p1c_gzHT-e8thvlb6vEdny`qEDa8IS1qjdV2o{Rkw~#?anlp>j_wF<73XVL ze;+kt=i||aEr(t;%Hk`Gn0)-K<n4fu<0cgS zLNwAS{l6vMA}Y#nt)4@|I(yx+FOR!j4g*c z9vU-ddrL!fP(kH{$e6p+L_zUT#(;rK)|7n%pZxfnw&p=o+O=n?+0Gshj_ROue~>pl ze9z|`PQ<1Z2R~!@=4LV@sye$KwcCzhhM2=l{(V#US4m;3;bg0?dwe$+cd1Mn#1!UT zYCR^t62)CB6h<#E>EZwMA%J3j1(xa&3)_& z$?0Z;RW=1SIuUY?BqMa2tGLBme>gweE-p-lEACPE(g@&3@jyiAOh)P*o}E{P`~@I% z8IDw19)Ud&TrQwQypMZ)yKR3(Wo6S*RAzXX5eqMwqeBA3l@vBiHPl8v0|w(4J&F~o zI8~D17%+?#N(s!1NIGUhqfL^THHqe_IJOiRDbDRkFj2vlD7J@&j`Ez|e`rMIwrJf= z#Mj)7lZYdp*UXIGR}5S(dPAJDeAIW^KD*G-yy2(Zys?$Tt;x)G(1eX>*t?M*=gv9b z3~DauK&q9aZvLh*T2Wf^rdQu6!B1ZDCIj+VK5U?(AY8b=VluoQDzgL9_ z4NB(P&x$y#vSKTj+a;B{e-j+GE9B4MpPz(GOK#Kc+tPbW${SJ#{Pnmh8{vFt=})JT zT;y#Ug}LW6U5I_VY*x}{a!qYj4f_u#_q=oyP{{uK@H@-?^XUFy|M?=H=KJ3sDS9LE zU-VR>^UYeEOpc%*1%+NHp9LwRA5+vYJe*y+k7d}245U1#7p$6`f4NHFOa;b5quP4R z8fD013i*Z5cG;6f@(5QZGrx-yjdOd-^W1GuTaI4KbUN_2K@!9Lfl+k1J{Sk=8{ron z??3!jdr6!i5dU}gyL;{TpNEg`Jsi&em-skE@WZ2nm(PyIhtGc6f4yfv{p<-bl`33N z7HLy4H}tfBtx|HGfBUVa&Ibto}? z;BQjFZ`p!Wk>SInzSu-j@&K7_D@M1d{^Ri?vn?SC0tDQJ6QVV0P_eiKooy8P6tseL z5vh7dJ_Z*elSnrg*alP8m1`edh^8h=4`G>P=6(oUi&}INf2D7dE2k10|1OC>E=!_= zGLFsEn_TM@HS9-rUkKW~Myp@}rjycSm$Gy+C>k5(=#*6(o?_b-d zi@;67`4`lmzigEXe(P8F8a)H{mK7(fge`yl&`xEeF09XCN*L$53DTKp(~UErddi*B zz{zd8e`g<5`yE*I#ngp2Ak;c=iYuoJVV|Sqz`AOd>~&%8Cucfvi`=GLqi9Ry+{1su zuL=H_(@z?mb~#NOrrHbGl$-BAmudCYpHTeQ{X6%p_n)Eu*O&Q-_n+TdHechB$9fbn zO3sK}8%E*>PN6WxnAOCQX8VwSAll$%aCTJeLnNMvE;F2x+*Q}T{cA^s!L)EnFuWocE5bO`ilMFn`^ zwyLJ0yb!PfnLD+nU^VTmQE+gVNWDUinZ|6`Wf*yh;n;z1-1Me~ivSJK4@Sz8n5vzf zf3idsAWC7uanC$^?wb8&*y~$7gEtiweyJacYG;_XzF48VsQ;mjI_0(B<~_69*b1%0 zr#E+Hftt%_c*CdhY4Cr_2>cb|fA2qP^Zy4A?+^U{OMILn^wGiIv;FZ;`+Lv#572e= z#e~0;otP=s6+(gH>5}Qsrk1{*9$@CwTuOI8t zap@?`#ntS$RkcnfW$$7-BER+9`8Kx$>FX!{$Ea04#ZEwv6Fk6jaT8>+6B#Q^9Cw5A z7|2Zd&JbCRsooGJ=j19zl&6U=ID){-p-hjHW+#CR6x0Mp|F@$j+g*h-aOAtue>Qnf z9>IK%I+&|w0RwOSBYfKYUz8R6g7tsz-T%(Y|M1|!z3&G8|0O<6|F36dLN>KHt1#2v z0kKO%7nthbU8O2P1GbtZ`B?+>w@4OSFoE!IC(6BL`j2GIepaJM6d9kvS4L~lBAjh? z5iSj@6R$fOz{q}%%bZ-j#6M)#e|IAj2LDjCvSF-_vveBmy?aUJW8q2wZrbhSE^Flc zuy?pW21vYRPwRSF?cTmUOURCZ3dbCTZY(ETlqa|2WqSMUuF<6|O2koQT)VDO9>^+0 zG|~z6s4fOpI+n@C!eebz^0|+@JWv1#(;gq}gI2eXE$*2)kBSmwJx>c!e~XpL#`()Y zAF6Rev$Ra69O@}bEWzd3J<7wQw+DMa?vLLdy!`Ry8NO^d zJ4;wPlbYs4Y{tn*K2}s*vr{bR63H!{tP$P&66s^kC8l$YL^BTfV>OyX(vV{;L0l#^ z+6iPO)?@Sur9j6M%8r7GxGA4IWjGT_4bv(`U3D6BVo|dO)+~loe*=50%GP^W>huT3 z_p}uurp`6YAAQkLoTUxHJm5;kPwm=!Vjpo(E#)3dL=ABsu?VVyJu{La%!N(} zDv!A2f<$^AltBEnBqLDfi9G~3uFF*|5}YPn*88G^IBlG~r@O7A$ekCtVE<2dTbFki z1UVDiV=`e?Of{oCk4PRTYfy1@p2wHN7X&N;>6h>q1Z)8#mt7bHDhQDA+FFF;WfW(8b=_&jbvl1p6BNzm z$0UZ+&q(oLUSg6$sh8K4!~V^}s7R7+6pU{rSXVLXxinYf9Aw#1x?^W%<{rA!DO7(~ zT*G`VQ$nO-xhxQzQ<8Hmxvo@7B?p(7MqVaA7rprMS|aY}iL6Y&O+(yO_9c=(8&Tsr zZo6ir1B5^5@Ah=$SkfN?oUbh3Q|V z%cs(bl;|2yKp?Z|f$YvYFzrWDb8>$&vBXbDNAI-cCUiDcsUypxlY*EaJv(C&FfBX- zC&uSwy67Z}(+U=LKn5E;?OJZ5Xih^sM+!-@t~vkKF&2OnDu`TiK@ho>MC^T2IFvwg zH^Ci80i!voenemf0-Itoa<8)4^P| z1Zm017Vp_xVOrWcow8?<=0Uh7YQg9+Nn~=889dbPG;FnW-zljXS4ZUiKv) zbfA}?)Q;lAY8g#YlCVqXsx&QvM+&8jw}3Dn;o9T{n{4nmH32SS(zNrWMg?DdJIlFr zkK68}3aC#y>^hSslQyp-9n62*HjK5d9a9e?WyaFCOeKH&W*;?ZvZy934L}o@c}J^a zExm-8x?zBHbjMYhsS6?2nNuKx10G;}e#Nn=oh$;>uENJkQD0K$KYFFR5*m*1bV zxkq({-*1Z_ca4Vvs|T!0v|KYy*|UZWb>e-uI>ka5oXN#p6XIM-A{w=a!TeF23hC2> zr$vts`jcsC#KwkINT(nE*52GBu6hQChH^Y0>gNNpOo%LD_ zR>lb7CfYV^Pd6P}w;VqWiYs`LSwfK=+HXsP99t|#h8@B*Y5ae(Mc;4z+U`f%>y19MhBbSMtNI`9)vM{kwW^VSj+uvlB!{rT(E18X@R;AlZpA0;Fz(Wl~ z!=9l>Rjf{`K3JPVF}1?lIVzVW3+E-uEjrr_Et;YI(0uigYtqZu$)-W&iJx%V;7S@t zEL5&Ow1bHnd_tEX9t1=nyK_f~7U*5v@hG6(dRQKj9hg>R!~R5XVos|LJ^bvMmxLY! zUw>oMUV@dh@12oN;TA4obX1yG0q-AubX{g=;{Xe5o_%;t6B%Eut|xiY;bB41F(GeyOKFgqzG2RkNjO!r{=uMd4Gdv(2buw)&hlLKrM26-<(kCKu*6XP>j@l z(PaEWYauC1aa9h>;L{;(LE3^~_KuIwu;f58dDMlJ$!E50hMX7bLISeG7CFV8**<_j zTQ*-QYBbl%XZ95wwz)uTKITr8Y11f?q7cl=VyW2jdAw#Nv?=4zHJYokf^xwnet)^H zr7HeyF41EL*Q(lVE1$KQvp_2QNULg<;PRbIhaR{&r(~pBQ_gT!zQ}7prr%cN$`U~& zc~NT70!2vKM}j6E$NqQltGe9KXH7;1Smpc1 zn0LAh<(s5N?c2Z!L&+1iUvV=hV}COr;zSxRVGWWdi>?)6waq%=vzPr(#ore*~ zaQ-g-Vp!wMLsfZpII_XR=|oHMY9^rTt8UhjzLkpQVBQFE-wwtT%TCR z2t{uSO6z<$Ez_lV!%Jn%7={2er9Tcok|oAO<%mfIxApW?TDGV_F_-uv)mG%c#}fs2 z({ZAsnB;)D)E5ZyMh&k?RDUJVGM1TPxm0sWe7p4&`kwJM>U>K(z4`Jav-FSgS?a0v z(u^R#Fva9=znX7H9Vgm4p`Yue-#Gswwa{fp0EN!~y@&VP{@-^V+#AmSm-z7gm*T0V zjnGI3P31K5X!0H;v0Hm5m>(R~+#2P^4@t5l&j*kr;ohqYiGhM2Z-00aeE)O*;PB;J za?!oBb9d*?R>xj9cjFL@az&qx{GUQ$94<2fyekp_~>2`RNQsrCCJw4 zM=v-jz2jK|pk&%$;D6`h?^L<-w%hT0(pbIgG`r}!gzdv|ec4mv{HxHG%M}0u=l{X| zdw1IR|Ghgy{l_ozQBhg0Gw;j-(cJxwAgE)ZC$ME-J+W%7A;FhWPniUD`cxGdvjU6? zACfgMWDfu_L;1a45eu6oy0EUOPs8cD1@eh9kI`Ga_BWWN^M83_)G|=%%Tvr14t;{4 za~`i9&TpLe$syyD=b^5VqekEw)<`~|awxG-xRmLMv>LWApq+H2h7GdUzg7iV{m{QX zLCWGd()w{LRJt+dE+<$7GW{eRbHm#3RRw%Qr$!gp+M156dt)pdXl5ln60xaLbM0t* zVzBJV%~7;W%74>%sUCI8WKo>K8er-m06ts+S+Hb{Z$sIafZAKecKc0?a<8###dzbo zj;SOXJtK)KBe4DCtMdrGB+fu@PV;#&;hiFDnst@~@eZbQZ#{M&1leUf2+6qU7@)hf zk=cu5dD{rW3%*AKH%~u>8=@Uk5t*DDs};WzC)wO`Jb!*hEd^noA--197#G`OhC~h^ z4Ob66l18T^ZQ8)a(K%h3oQ`w4P&B{FP=LRnM$|mp(gtW$_7SLVa1(Ziu(%Qj-^`GO zQV*xaIc<9O7-Hr`PO`#XM=n1b+(ntERJvTCW!vj%I5lZ2*59JHwH0of-Y+6iLNZNK z6=c+h?SIqSwjyl5kDUHBI*16n+83@goHS>$EQ=`&ZwEUtm^(hI)<*CiJq4n#8F52g z;Ht=y9qi6ig5E%CM}g_VG&dMojmQy@HV8Yk!Ah|k8yVE(pnYqDDBtGOWE&9ZBj=#c zNV*8Mhp2Ptz)1gtYLn%_I^iy&C$Q!fJ(2xQh<{W#^IEv=%Eu@%YBN%di%qqn#n6UN zb^&2br#*ogkK!_QhVQC5&uM7;+_#uawe8OZ)R0)OuN40EK27;QEw3Q`PcZ+_qlZ@h zANUON|Cjg}p5s`^40ix=XSh_9$gc%rkq_#_ND1zeO`!=cthpbY$e*9JSMB zIu*gj@R}X<9UjYx#?zB{%4s}2VI#P3$fa4*S<=)|?D-$Y^Ncw`kWZWQhcEP$;g8mw zbuniepD5)l)4|f+IML~3f7znE;9I{=RC+;cWMWWyfd9`VRM!nBdGc_(4WHpNd<`!5 O^Zx;>G#nlP=oJ90-vb^1 delta 209755 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%0D>U3E) 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 J67cB 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

ux^L@{Gs6-USPr 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 F6#&TCBE0|r From 1f93845a49683dd15b62adce33af9e6e7ca55351 Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 16:55:42 +0200 Subject: [PATCH 23/24] docs(search): tighten the wire-type and client comments Split mid-sentence colons and semicolons into sentences, and drop em dashes and contrast tails in the comments the generated client types brought, and in the vendoring note in docs/development.md. --- docs/development.md | 2 +- src/lib/search/operationPoll.ts | 2 +- src/lib/search/searchClient.ts | 4 ++-- src/lib/search/types.ts | 35 +++++++++++++++++---------------- src/lib/search/view.ts | 8 ++++---- 5 files changed, 26 insertions(+), 25 deletions(-) diff --git a/docs/development.md b/docs/development.md index 40e32a9..99e52f0 100644 --- a/docs/development.md +++ b/docs/development.md @@ -212,7 +212,7 @@ cd pnpm install ``` -A new package version packs under a new file name; point the `@developmentfinance/client` entry in `package.json` at it before re-locking. Commit the tarball and the lockfile together. +A new package version packs under a new file name. Point the `@developmentfinance/client` entry in `package.json` at it before re-locking. Commit the tarball and the lockfile together. ## Conventions diff --git a/src/lib/search/operationPoll.ts b/src/lib/search/operationPoll.ts index 12f65e4..52e7c57 100644 --- a/src/lib/search/operationPoll.ts +++ b/src/lib/search/operationPoll.ts @@ -16,7 +16,7 @@ * `fetchImpl`, a thin wrapper that resolves the envelope's own relative * `poll` path against wherever it needs to go (see searchClient.ts's * `mintDataset`, which polls through the site's own same-origin proxy, - * and snapshot.ts's `captureSnapshot`, which polls the Datasets API directly — + * and snapshot.ts's `captureSnapshot`, which polls the Datasets API directly, since * a done poll needs no principal header, unlike the `pin` call next to it). */ diff --git a/src/lib/search/searchClient.ts b/src/lib/search/searchClient.ts index f582b2f..6c53cb8 100644 --- a/src/lib/search/searchClient.ts +++ b/src/lib/search/searchClient.ts @@ -183,7 +183,7 @@ export type SearchEvent = kind: 'observations'; spec_id: string; /** The same shape the buffered path embeds at Spec.observations, - * deferred to a trailing event on SSE so the response isn't blocked + * deferred to a trailing event on SSE so the response does not wait * on the observation fetch. */ observations: SpecObservations; } @@ -568,7 +568,7 @@ function flattenPart(part: any): any { if (!part || typeof part !== 'object') return part; // The page Part's restatement, operations, warnings and departures are // required, on a part of any status; the wire's are optional. Default - // them here so a normalized Part never carries `undefined` for one. + // them here so a normalised Part never carries `undefined` for one. const defaults = { restatement: part.restatement ?? null, operations: part.operations ?? [], diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index 0c1090b..2fd5a9a 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -17,8 +17,8 @@ import { PART_STATUSES } from '@developmentfinance/client'; import type * as wire from '@developmentfinance/client/wire'; -/** The closed part of an open wire enum: the values this release names, without the `string` - * tail a newer server may fill. */ +/** The closed part of an open wire enum, holding the values this release names and omitting the + * `string` tail a newer server may fill. */ export type Known = T extends string ? (string extends T ? never : T) : T; /** True when `key` is one of `map`'s own keys, which narrows an open wire value to the closed @@ -168,7 +168,7 @@ export type DatasetResubmitEntry = wire.DatasetResubmitInput['entries'][number]; // --------------------------------------------------------------------------- /** - * A wire Spec flattened by `searchClient.flattenSpec`: `resolved` spread flat, with `spec_id`, + * A wire Spec flattened by `searchClient.flattenSpec`. `resolved` is spread flat, with `spec_id`, * the trace again as `resolution`, the definition's `identity`, and the `definition` itself (the * Datasets API mints unregistered specs from it). Specs nested in `equivalent_readings` stay in * the wire form. @@ -186,8 +186,8 @@ export type Spec = Omit & { export type FacetOptionsEntry = Omit; /** - * A wire Spec `flattenSpec` could not read: its `stat_vars` is not the wire's shape, or it lacks - * the definition/resolved split. It carries its `spec_id` and whichever page Spec members the body + * A wire Spec `flattenSpec` could not read, because its `stat_vars` is not the wire's shape or it + * lacks the definition/resolved split. It carries its `spec_id` and whichever page Spec members the body * held, so the page shows a failure state in its place. */ export type UnreadableSpec = Pick & @@ -227,7 +227,7 @@ type UnsupportedPart = PagePart; /** A part whose status this release knows; its `status` narrows it. */ type KnownPart = DefinitePart | CandidatesPart | NoDataPart | UnsupportedPart; -/** A part whose status this release does not know: its members pass through, with the defaults +/** A part whose status this release does not know. Its members pass through, with the defaults * `flattenPart` gives every part. */ type UnknownPart = wire.UnknownPart & PartDefaults; @@ -255,12 +255,13 @@ export type Resolution = Omit & { parts: Part[] }; export type ResolveResponse = Resolution | wire.CatalogueAnswer | wire.DeclinedAnswer; // --------------------------------------------------------------------------- -// Stream payloads, hand-written: the OpenAPI document does not describe the SSE stream +// Stream payloads, hand-written because the OpenAPI document does not describe the SSE stream // --------------------------------------------------------------------------- -/** Departures the stream's `done` event adds to one part: facts that depend on the observations - * read, which arrive after `response`. A folded part and the part it folded into share a - * spec_id, so `part_index` names the part; `spec_id` confirms it still holds that part's spec. */ +/** Departures the stream's `done` event adds to one part. They are facts that depend on the + * observations read, which arrive after `response`. A folded part and the part it folded into + * share a spec_id, so `part_index` names the part and `spec_id` confirms it holds that part's + * spec. */ export interface LateDepartures { part_index: number; spec_id: string; @@ -280,17 +281,17 @@ interface FrameStated { /** One place the part names, keyed by the request's text for it. */ interface FramePlace { - /** the request's text for the place; the dcid on the dataset_resubmit door */ + /** the request's text for the place, or the dcid on the dataset_resubmit door */ name: string; stated_by: FrameStatedBy; /** `both` is a place put on both axes, as a self-flow; `undirected` a place named with no * axis */ direction: 'origin' | 'destination' | 'both' | 'undirected'; - /** whether the request's words give the place its direction; a role read off the measure, + /** whether the request's words give the place its direction. A role read off the measure, * as in a possessive, states none */ direction_stated: boolean; - /** its members each as their own place, or the default: the set's node where it has one - * and its members otherwise */ + /** its members each as their own place, or the default, which is the set's node where it + * has one and its members otherwise */ reading: 'default' | 'members'; /** the dcid the caller pinned for the place, when it gave one */ pin?: string | null; @@ -338,9 +339,9 @@ interface FrameMeasure { interface FrameNormalisation { /** the normalisations the words name, sorted; "level" when they name none */ form: FrameStated; - /** the denominator the words name, as the quantity read chose it: a base the eligible shapes - * divide by under its graph name, else the words that name it; null when the words name - * none */ + /** the denominator the words name, as the quantity read chose it, either a base the eligible + * shapes divide by under its graph name or else the words that name it; null when the + * words name none */ denominator?: FrameStated | null; } diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index 344bdfa..ae2b47b 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -53,11 +53,11 @@ import { unitWithBasis } from './unitLabel.ts'; export const optionLabel = (option: OptionLike | null | undefined): string => option?.value?.ref?.label ?? option?.label ?? '—'; -/** True when searchClient.flattenSpec couldn't read this spec — its `stat_vars` - * is not the wire's ResolvedStatVars object shape, or it lacks the - * definition/resolved split — and already logged the raw value to the +/** True when searchClient.flattenSpec could not read this spec, because its `stat_vars` + * is not the wire's ResolvedStatVars object shape or it lacks the + * definition/resolved split, and logged the raw value to the * console at parse time. A card reading this spec's variable label should - * show an explicit failure state rather than an empty one. */ + * show a failure state. */ export function statVarsUnreadable(spec: PartSpec | null | undefined): spec is UnreadableSpec { return !!spec && 'stat_vars_unreadable' in spec; } From e7f43afe77394480d14d00c65298df45b24df11f Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 16:56:40 +0200 Subject: [PATCH 24/24] build: vendor @developmentfinance/client at sdk 0d64185 The package carries the tightened JSDoc in its type declarations. --- pnpm-lock.yaml | 2 +- vendor/developmentfinance-client-0.1.0.tgz | Bin 272070 -> 272060 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 96c30da..ab2d822 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -855,7 +855,7 @@ packages: postcss-selector-parser: ^7.1.1 '@developmentfinance/client@file:vendor/developmentfinance-client-0.1.0.tgz': - resolution: {integrity: sha512-+62nbUz2wUT6ctT/TknNxbwucpJMg1g549iA7Gtcj4wqVLdUNX5MiBH45W+U64Yn1v4aWoLVeB26yK5vLEfGLA==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} + resolution: {integrity: sha512-shJGkuZFt1Iny5g0E8wKdDdNLmyhbQpaySFVD++PcKeTm8do4igX6rCKHZGKbTgUFSQqtUXGF6TuHjsVZveFQA==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} version: 0.1.0 engines: {node: '>=22.18'} peerDependencies: diff --git a/vendor/developmentfinance-client-0.1.0.tgz b/vendor/developmentfinance-client-0.1.0.tgz index 59dcfa5555406aed768473c59691a6a8fb3e316d..bf2da8c0b5c46b52d953a6def05afea3669dca72 100644 GIT binary patch delta 267189 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�Xylv*ZaECO&(vjsJ|6$DeJ5`~fR$lHbu- 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�^$DSQ1<-KN8G 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 literal 0 HcmV?d00001 From 903b4b546297756354e2537910e48a096ebf5618 Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 11:33:54 +0200 Subject: [PATCH 15/24] refactor(graph): take graph wire types from the client package src/lib/graph/wire.ts re-exports the graph types from @developmentfinance/client, whose served document covers the Graph surface. The second generator goes: schema.d.ts, graph-api-schema.json, scripts/graph-wire.mts and its test, the graph:types and graph:schema scripts and recipes, and openapi-typescript. --- docs/development.md | 5 - justfile | 15 - package.json | 5 +- pnpm-lock.yaml | 178 +- scripts/graph-wire.mts | 116 - src/lib/graph/graph-api-schema.json | 7826 --------------------------- src/lib/graph/schema.d.ts | 2129 -------- src/lib/graph/test/wire.test.ts | 15 - src/lib/graph/wire.ts | 36 +- 9 files changed, 41 insertions(+), 10284 deletions(-) delete mode 100644 scripts/graph-wire.mts delete mode 100644 src/lib/graph/graph-api-schema.json delete mode 100644 src/lib/graph/schema.d.ts delete mode 100644 src/lib/graph/test/wire.test.ts diff --git a/docs/development.md b/docs/development.md index 4ab817c..0992eb3 100644 --- a/docs/development.md +++ b/docs/development.md @@ -199,11 +199,6 @@ The `apis`, `ai` and `dcp` repositories run their own dev services. `apis` and ` | `pnpm optimize:svg` | SVGO over `src/assets` (run after adding) | | `pnpm db:generate` | Generate a migration from `db/schema.ts` | | `pnpm db:migrate:local` | Apply migrations to the local database | -| `pnpm graph:types` | Regenerate the graph types from the snapshot | -| `pnpm graph:schema` | Refresh the graph schema snapshot from an apis | - -`pnpm graph:schema http://localhost:8083` reads the snapshot from dev apis -through the proxy in [Reach the dev APIs](#reach-the-dev-apis). ## Conventions diff --git a/justfile b/justfile index e2ec82f..d038393 100644 --- a/justfile +++ b/justfile @@ -172,21 +172,6 @@ test: build: pnpm build -# src/lib/graph/test/wire.test.ts fails until the committed types match the -# snapshot; the diff of this regeneration is the review artifact. -# -# Rewrite src/lib/graph/schema.d.ts from the Graph API schema snapshot -graph-types: - pnpm graph:types - -# Reads `GET /api/graph/schema` from the given dfo-apis, a local proxy to dev by -# default. The dev service admits only invoker identities, so start the proxy -# first (see "Reach the dev APIs" in docs/development.md). -# -# Refresh the Graph API schema snapshot from a deployed dfo-apis, then the types -graph-schema url="http://localhost:8083": - pnpm graph:schema {{url}} - # Everything ci.yml runs, in CI's order. Green here means green there. check: lint typecheck test build diff --git a/package.json b/package.json index fe9067d..0912f2f 100644 --- a/package.json +++ b/package.json @@ -14,9 +14,7 @@ "lint:css": "stylelint \"src/**/*.scss\"", "lint:css:fix": "stylelint \"src/**/*.scss\" --fix", "typecheck": "tsc --noEmit", - "test": "node --test db/test/*.test.ts src/lib/search/test/*.test.ts src/lib/studio/test/*.test.ts src/lib/chat/test/*.test.ts src/lib/proxy/test/*.test.ts src/lib/sources/test/*.test.ts src/lib/test/*.test.ts src/lib/docs/test/*.test.ts src/lib/graph/test/*.test.ts", - "graph:types": "node scripts/graph-wire.mts types", - "graph:schema": "node scripts/graph-wire.mts schema", + "test": "node --test db/test/*.test.ts src/lib/search/test/*.test.ts src/lib/studio/test/*.test.ts src/lib/chat/test/*.test.ts src/lib/proxy/test/*.test.ts src/lib/sources/test/*.test.ts src/lib/test/*.test.ts src/lib/docs/test/*.test.ts", "format": "prettier --write \"src/**/*.{ts,tsx,js,json,scss}\"", "optimize:svg": "svgo -f src/assets -r", "db:generate": "drizzle-kit generate", @@ -61,7 +59,6 @@ "esbuild": "^0.25.0", "eslint": "^9", "eslint-config-next": "16.3.0", - "openapi-typescript": "7.13.0", "postcss": "^8.5.26", "postcss-scss": "^4.0.9", "prettier": "3.9.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 69633e2..05befb7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,9 +114,6 @@ importers: eslint-config-next: specifier: 16.3.0 version: 16.3.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5)(typescript@5.9.3))(eslint@9.39.5)(typescript@5.9.3) - openapi-typescript: - specifier: 7.13.0 - version: 7.13.0(typescript@5.9.3) postcss: specifier: ^8.5.26 version: 8.5.26 @@ -2166,16 +2163,6 @@ packages: '@radix-ui/rect@1.1.3': resolution: {integrity: sha512-JtyZR+mqgBibTo8xea3B6ZRmzZiM/YeVBtUkas6zMuXjAlfIFIW2FgqeM9eLyvEaYX66vr6DJMK+4U6LV0KhNw==} - '@redocly/ajv@8.11.2': - resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} - - '@redocly/config@0.22.0': - resolution: {integrity: sha512-gAy93Ddo01Z3bHuVdPWfCwzgfaYgMdaZPcfL7JZ7hWJoK9V0lXDbigTWkhiPFAaLWzbOJ+kbUQG1+XwIm0KRGQ==} - - '@redocly/openapi-core@1.34.20': - resolution: {integrity: sha512-ypeBZ/6BKXR9+7/TtbKhbl4UgD7raHhPS12oknlKno2A8+lnFkxIwiE/Aklu6L2cd/ioH+fCWuMxi9/p3EyAPw==} - engines: {node: '>=18.17.0', npm: '>=9.5.0'} - '@rollup/plugin-commonjs@28.0.1': resolution: {integrity: sha512-+tNWdlWKbpB3WgBN7ijjYkq9X5uhjmcvyjEght4NmH5fAU++zfQzAJ6wumLS+dNcvwEZhKx2Z+skY8m7v0wGSA==} engines: {node: '>=16.0.0 || 14 >= 14.17'} @@ -2986,10 +2973,6 @@ packages: ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -3239,9 +3222,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - change-case@5.4.4: - resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} - character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -3293,9 +3273,6 @@ packages: colord@2.9.5: resolution: {integrity: sha512-1N4FZkdj0BvP78UatS8VQHP+DnRy/rAyh+eelOONgZNsgatenTe+uApmVrdfknjqvsPdsBhq5tQpnIvClcNWZA==} - colorette@1.4.0: - resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} - comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} @@ -4348,10 +4325,6 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - index-to-position@1.2.0: - resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} - engines: {node: '>=18'} - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -4533,10 +4506,6 @@ packages: jose@6.2.12: resolution: {integrity: sha512-9NiFmJEex0sy2Dk58j2UGBSHgUs2ypF9eZSu4L6vjOX3Dp96Sw1F3uL+H+D1sx02jZZdzUT0HgvCy59CuvXcWw==} - js-levenshtein@1.1.6: - resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} - engines: {node: '>=0.10.0'} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4544,10 +4513,6 @@ packages: resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} hasBin: true - js-yaml@4.3.2: - resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==} - hasBin: true - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -4865,10 +4830,6 @@ packages: minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} - engines: {node: '>=10'} - minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} @@ -5061,12 +5022,6 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - openapi-typescript@7.13.0: - resolution: {integrity: sha512-EFP392gcqXS7ntPvbhBzbF8TyBA+baIYEm791Hy5YkjDYKTnk/Tn5OQeKm5BIZvJihpp8Zzr4hzx0Irde1LNGQ==} - hasBin: true - peerDependencies: - typescript: ^5.x - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -5104,10 +5059,6 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parse-json@8.3.0: - resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} - engines: {node: '>=18'} - path-data-parser@0.1.0: resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} @@ -5179,10 +5130,6 @@ packages: resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} engines: {node: '>=12'} - pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - points-on-curve@0.2.0: resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} @@ -5835,10 +5782,6 @@ packages: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -5924,9 +5867,6 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - uri-js-replace@1.0.1: - resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==} - uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -6049,9 +5989,6 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml-ast-parser@0.0.43: - resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -6107,7 +6044,7 @@ snapshots: '@babel/types': 7.29.8 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -6159,7 +6096,7 @@ snapshots: '@babel/core': 7.29.7 '@babel/helper-compilation-targets': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 lodash.debounce: 4.0.8 resolve: 1.22.12 transitivePeerDependencies: @@ -6816,7 +6753,7 @@ snapshots: '@babel/parser': 7.29.8 '@babel/template': 7.29.7 '@babel/types': 7.29.8 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -7216,7 +7153,7 @@ snapshots: '@eslint/config-array@0.21.2': dependencies: '@eslint/object-schema': 2.1.7 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -7232,7 +7169,7 @@ snapshots: '@eslint/eslintrc@3.3.6': dependencies: ajv: 6.15.0 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -7959,29 +7896,6 @@ snapshots: '@radix-ui/rect@1.1.3': {} - '@redocly/ajv@8.11.2': - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js-replace: 1.0.1 - - '@redocly/config@0.22.0': {} - - '@redocly/openapi-core@1.34.20(supports-color@10.2.2)': - dependencies: - '@redocly/ajv': 8.11.2 - '@redocly/config': 0.22.0 - colorette: 1.4.0 - https-proxy-agent: 7.0.6(supports-color@10.2.2) - js-levenshtein: 1.1.6 - js-yaml: 4.3.2 - minimatch: 5.1.9 - pluralize: 8.0.0 - yaml-ast-parser: 0.0.43 - transitivePeerDependencies: - - supports-color - '@rollup/plugin-commonjs@28.0.1(rollup@4.63.4)': dependencies: '@rollup/pluginutils': 5.4.0(rollup@4.63.4) @@ -8587,7 +8501,7 @@ snapshots: '@typescript-eslint/types': 8.67.0 '@typescript-eslint/typescript-estree': 8.67.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.67.0 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 eslint: 9.39.5 typescript: 5.9.3 transitivePeerDependencies: @@ -8597,7 +8511,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.67.0(typescript@5.9.3) '@typescript-eslint/types': 8.67.0 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -8616,7 +8530,7 @@ snapshots: '@typescript-eslint/types': 8.67.0 '@typescript-eslint/typescript-estree': 8.67.0(typescript@5.9.3) '@typescript-eslint/utils': 8.67.0(eslint@9.39.5)(typescript@5.9.3) - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 eslint: 9.39.5 ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 @@ -8631,7 +8545,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.67.0(typescript@5.9.3) '@typescript-eslint/types': 8.67.0 '@typescript-eslint/visitor-keys': 8.67.0 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 minimatch: 10.2.6 semver: 7.8.5 tinyglobby: 0.2.17 @@ -8821,7 +8735,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -8850,8 +8764,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-colors@4.1.3: {} - ansi-regex@5.0.1: {} ansi-regex@6.3.0: {} @@ -9095,8 +9007,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - change-case@5.4.4: {} - character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -9143,8 +9053,6 @@ snapshots: colord@2.9.5: {} - colorette@1.4.0: {} - comma-separated-tokens@2.0.3: {} commander@11.1.0: {} @@ -9444,11 +9352,9 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.4.3(supports-color@10.2.2): + debug@4.4.3: dependencies: ms: 2.1.3 - optionalDependencies: - supports-color: 10.2.2 decode-named-character-reference@1.3.0: dependencies: @@ -9817,7 +9723,7 @@ snapshots: eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5)(typescript@5.9.3))(eslint@9.39.5))(eslint@9.39.5): dependencies: '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 eslint: 9.39.5 get-tsconfig: 4.14.3 is-bun-module: 2.0.0 @@ -9949,7 +9855,7 @@ snapshots: ajv: 6.15.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -10101,7 +10007,7 @@ snapshots: gaxios@7.1.3: dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.6(supports-color@10.2.2) + https-proxy-agent: 7.0.6 node-fetch: 3.3.2 rimraf: 5.0.10 transitivePeerDependencies: @@ -10110,7 +10016,7 @@ snapshots: gaxios@7.3.1: dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.6(supports-color@10.2.2) + https-proxy-agent: 7.0.6 node-fetch: 3.3.2 transitivePeerDependencies: - supports-color @@ -10118,7 +10024,7 @@ snapshots: gaxios@8.0.0: dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.6(supports-color@10.2.2) + https-proxy-agent: 7.0.6 node-fetch: 3.3.2 transitivePeerDependencies: - supports-color @@ -10382,21 +10288,21 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.6(supports-color@10.2.2): + https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -10431,8 +10337,6 @@ snapshots: imurmurhash@0.1.4: {} - index-to-position@1.2.0: {} - inherits@2.0.4: {} ini@1.3.8: {} @@ -10617,18 +10521,12 @@ snapshots: jose@6.2.12: {} - js-levenshtein@1.1.6: {} - js-tokens@4.0.0: {} js-yaml@4.3.1: dependencies: argparse: 2.0.1 - js-yaml@4.3.2: - dependencies: - argparse: 2.0.1 - jsesc@3.1.0: {} json-bigint@1.0.0: @@ -11121,7 +11019,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.13 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -11155,10 +11053,6 @@ snapshots: dependencies: brace-expansion: 1.1.18 - minimatch@5.1.9: - dependencies: - brace-expansion: 2.1.4 - minimatch@9.0.9: dependencies: brace-expansion: 2.1.4 @@ -11303,16 +11197,6 @@ snapshots: dependencies: wrappy: 1.0.2 - openapi-typescript@7.13.0(typescript@5.9.3): - dependencies: - '@redocly/openapi-core': 1.34.20(supports-color@10.2.2) - ansi-colors: 4.1.3 - change-case: 5.4.4 - parse-json: 8.3.0 - supports-color: 10.2.2 - typescript: 5.9.3 - yargs-parser: 21.1.1 - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -11364,12 +11248,6 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parse-json@8.3.0: - dependencies: - '@babel/code-frame': 7.29.7 - index-to-position: 1.2.0 - type-fest: 4.41.0 - path-data-parser@0.1.0: {} path-exists@4.0.0: {} @@ -11431,8 +11309,6 @@ snapshots: picomatch@4.0.5: {} - pluralize@8.0.0: {} - points-on-curve@0.2.0: {} points-on-path@0.2.1: @@ -11692,7 +11568,7 @@ snapshots: require-in-the-middle@8.0.1: dependencies: - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 module-details-from-path: 1.0.4 transitivePeerDependencies: - supports-color @@ -12130,7 +12006,7 @@ snapshots: cosmiconfig: 9.0.2(typescript@5.9.3) css-functions-list: 3.3.3 css-tree: 3.2.1 - debug: 4.4.3(supports-color@10.2.2) + debug: 4.4.3 fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 file-entry-cache: 11.1.5 @@ -12214,7 +12090,7 @@ snapshots: teeny-request@10.1.4: dependencies: http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6(supports-color@10.2.2) + https-proxy-agent: 7.0.6 node-fetch: 3.3.2 stream-events: 1.0.5 transitivePeerDependencies: @@ -12271,8 +12147,6 @@ snapshots: type-fest@0.7.1: {} - type-fest@4.41.0: {} - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -12412,8 +12286,6 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - uri-js-replace@1.0.1: {} - uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -12576,8 +12448,6 @@ snapshots: yallist@3.1.1: {} - yaml-ast-parser@0.0.43: {} - yargs-parser@21.1.1: {} yargs@17.7.3: diff --git a/scripts/graph-wire.mts b/scripts/graph-wire.mts deleted file mode 100644 index e442f7e..0000000 --- a/scripts/graph-wire.mts +++ /dev/null @@ -1,116 +0,0 @@ -// Generates src/lib/graph/schema.d.ts from the committed Graph API schema -// snapshot, src/lib/graph/graph-api-schema.json, which is the body of -// dfo-apis' `GET /api/graph/schema`. src/lib/graph/test/wire.test.ts fails -// when the committed types differ from what the snapshot generates. -// -// node scripts/graph-wire.mts types rewrite schema.d.ts from the snapshot -// node scripts/graph-wire.mts schema refresh the snapshot from a deployed -// dfo-apis, then rewrite schema.d.ts -// -// The dev apis admits only invokers, so for dev is a local -// `gcloud run services proxy dfo-dev-apis --region northamerica-northeast1 -// --project dev-fin-observatory --port 8083`, http://localhost:8083 -// (docs/development.md, "Reach the dev APIs"). -import { readFile, writeFile } from 'node:fs/promises'; -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; - -import openapiTS, { astToString } from 'openapi-typescript'; -import { format, resolveConfig } from 'prettier'; - -const GRAPH_DIR = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../src/lib/graph'); - -export const SNAPSHOT = path.join(GRAPH_DIR, 'graph-api-schema.json'); -export const TYPES = path.join(GRAPH_DIR, 'schema.d.ts'); - -const HEADER = `// Generated from src/lib/graph/graph-api-schema.json by \`pnpm graph:types\`. -// Do not edit by hand. - -`; - -type JsonSchema = { $defs?: Record; [member: string]: unknown }; - -/** Each served schema, under its served name, and the definitions the served - * schemas name, as one set of named schemas. A definition two schemas share - * must be the same in both, since the types hold one declaration for it. */ -function components(served: Record): Record { - const named: Record = {}; - - for (const [key, { $defs = {}, ...schema }] of Object.entries(served)) { - for (const [name, definition] of Object.entries($defs)) { - if (name in named && JSON.stringify(named[name]) !== JSON.stringify(definition)) { - throw new Error(`${key} defines ${name} differently from another schema`); - } - - named[name] = definition; - } - - named[key] = schema; - } - - return named; -} - -const prettierFormat = async (text: string, filepath: string) => - format(text, { ...(await resolveConfig(filepath)), filepath }); - -/** The declarations the snapshot generates. The served schemas go in as an - * OpenAPI 3.1 document's components, so each becomes - * `components['schemas'][name]`, and their `$defs` references point at the - * components instead. */ -export async function renderGraphWire(snapshot: string): Promise { - const { schemas } = JSON.parse(snapshot) as { schemas: Record }; - const document = JSON.stringify({ - openapi: '3.1.0', - info: { title: 'dfo-apis Graph API', version: 'snapshot' }, - paths: {}, - components: { schemas: components(schemas) }, - }).replaceAll('"#/$defs/', '"#/components/schemas/'); - const ast = await openapiTS(document, { silent: true }); - - return prettierFormat(HEADER + astToString(ast), TYPES); -} - -// Object keys sorted at every depth, so a refresh diffs by content alone. -const sortKeys = (value: unknown): unknown => { - if (Array.isArray(value)) return value.map(sortKeys); - if (!value || typeof value !== 'object') return value; - - return Object.fromEntries( - Object.entries(value) - .toSorted(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)) - .map(([key, member]) => [key, sortKeys(member)]), - ); -}; - -async function writeTypes(): Promise { - await writeFile(TYPES, await renderGraphWire(await readFile(SNAPSHOT, 'utf8'))); - console.log(`wrote ${path.relative(process.cwd(), TYPES)}`); -} - -async function refreshSnapshot(base: string): Promise { - const url = new URL('/api/graph/schema', base); - const res = await fetch(url); - - if (!res.ok) throw new Error(`${url} answered HTTP ${res.status}`); - - // One member per line, so a refresh diffs line by line. - const text = JSON.stringify(sortKeys(await res.json()), null, 4); - - await writeFile(SNAPSHOT, await prettierFormat(text, SNAPSHOT)); - console.log(`wrote ${path.relative(process.cwd(), SNAPSHOT)} from ${url}`); -} - -if (process.argv[1] === fileURLToPath(import.meta.url)) { - const [command, base] = process.argv.slice(2); - - if (command === 'types') { - await writeTypes(); - } else if (command === 'schema' && base) { - await refreshSnapshot(base); - await writeTypes(); - } else { - console.error('usage: node scripts/graph-wire.mts types | schema '); - process.exit(2); - } -} diff --git a/src/lib/graph/graph-api-schema.json b/src/lib/graph/graph-api-schema.json deleted file mode 100644 index a25b6c9..0000000 --- a/src/lib/graph/graph-api-schema.json +++ /dev/null @@ -1,7826 +0,0 @@ -{ - "capabilities": "/api/graph/capabilities", - "schemas": { - "health_response": { - "description": "`GET /healthz`'s own response body, shared across every surface.", - "properties": { - "build": { - "description": "the commit sha the image was built from, the same value the x-dfo-commit response header carries, \"unknown\" on a checkout run with no DFO_BUILD_COMMIT set", - "title": "Build", - "type": "string" - }, - "capability_version": { - "description": "this surface's own capability_version token", - "title": "Capability Version", - "type": "string" - }, - "status": { - "const": "ok", - "description": "always \"ok\" for a 200 response", - "title": "Status", - "type": "string" - } - }, - "required": ["status", "build", "capability_version"], - "title": "HealthResponse", - "type": "object" - }, - "members_response": { - "$defs": { - "AvailabilitySource": { - "description": "A source that holds the variable: its provenance, labelled with the catalogue's name.", - "properties": { - "documentation": { - "description": "the path of the provenance's source document", - "title": "Documentation", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label", "documentation"], - "title": "GraphAvailabilitySource", - "type": "object" - }, - "CodeItem": { - "description": "A code in a `codes` or `children` list, with its code and its parent's dcid.", - "properties": { - "code": { - "title": "Code", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "parent": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the parent code's dcid; null for a top-level code", - "title": "Parent" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label", "code", "parent"], - "title": "GraphCodeItem", - "type": "object" - }, - "FacetItem": { - "description": "One facet of a variable, as the `facets` list relation serves it. `ref` is the facet id,\nwhich hashes the facet's metadata.", - "properties": { - "first_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "First Year" - }, - "label": { - "default": null, - "title": "Label", - "type": "null" - }, - "last_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Year" - }, - "measurement_method": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ] - }, - "observation_period": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Observation Period" - }, - "observations": { - "title": "Observations", - "type": "integer" - }, - "places": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "null for a role-bearing variable", - "title": "Places" - }, - "ref": { - "title": "Ref", - "type": "string" - }, - "scaling": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Scaling" - }, - "source": { - "$ref": "#/$defs/AvailabilitySource" - }, - "unit": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "ref", - "label", - "source", - "unit", - "measurement_method", - "observation_period", - "scaling", - "first_year", - "last_year", - "observations", - "places" - ], - "title": "GraphFacetItem", - "type": "object" - }, - "MemberItem": { - "description": "One item of a list: its dcid and the owner's label for it, `null` where the owner holds\nno name.", - "properties": { - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label"], - "title": "GraphMemberItem", - "type": "object" - }, - "NodeRef": { - "description": "A graph reference. `label` is `null` when the target is not held, carries no `name`, or\ncarries only a `name` equal to its own dcid.", - "properties": { - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label"], - "title": "GraphNodeRef", - "type": "object" - }, - "Projection": { - "description": "A named cut of a membership by member class.", - "enum": [ - "countries", - "other_states", - "territories", - "former_states", - "institutions" - ], - "title": "Projection", - "type": "string" - } - }, - "description": "One page of `GET /api/graph/node/{dcid}/members`.", - "properties": { - "as_of": { - "anyOf": [ - { - "format": "date", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the date membership was read at; null for today", - "title": "As Of" - }, - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the list read", - "propertyNames": { - "enum": ["code_index", "origin_catalogue", "coverage_index", "membership"] - }, - "title": "Built From", - "type": "object" - }, - "complete": { - "description": "whether the walk reached the end of a list the owner holds in full", - "title": "Complete", - "type": "boolean" - }, - "gaps": { - "description": "the code of each way the list is partial", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "items": { - "items": { - "anyOf": [ - { - "$ref": "#/$defs/CodeItem" - }, - { - "$ref": "#/$defs/FacetItem" - }, - { - "$ref": "#/$defs/MemberItem" - } - ] - }, - "title": "Items", - "type": "array" - }, - "next_cursor": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the cursor for the next page; null when this page ends the list", - "title": "Next Cursor" - }, - "projection": { - "anyOf": [ - { - "$ref": "#/$defs/Projection" - }, - { - "type": "null" - } - ], - "description": "the membership projection listed; null for a relation that takes none" - }, - "ref": { - "description": "the node whose list this is", - "title": "Ref", - "type": "string" - }, - "relation": { - "enum": [ - "codes", - "children", - "datasets", - "variables", - "members", - "countries", - "facets" - ], - "title": "Relation", - "type": "string" - }, - "total": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "the list's length; null where the list is partial", - "title": "Total" - } - }, - "required": [ - "ref", - "relation", - "projection", - "as_of", - "items", - "next_cursor", - "complete", - "total", - "gaps", - "built_from" - ], - "title": "GraphMembersPage", - "type": "object" - }, - "node_response": { - "$defs": { - "AggregateNode": { - "properties": { - "aggregate": { - "$ref": "#/$defs/PartyBlock" - }, - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "aggregate", - "default": "aggregate", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "aggregate" - ], - "title": "AggregateNode", - "type": "object" - }, - "Authority": { - "description": "Where a membership's rows come from, with the data version that reproduces them.", - "properties": { - "name": { - "title": "Name", - "type": "string" - }, - "version": { - "title": "Version", - "type": "string" - } - }, - "required": ["name", "version"], - "title": "GraphMembershipAuthority", - "type": "object" - }, - "Availability": { - "description": "Where DFO holds observations of a variable. `sources: []` means it verifiably holds\nnone.", - "properties": { - "default": { - "anyOf": [ - { - "$ref": "#/$defs/AvailabilityDefault" - }, - { - "type": "null" - } - ], - "description": "null when no facet dispatches a request naming nothing" - }, - "more_sources": { - "description": "the sources past the first ten", - "title": "More Sources", - "type": "integer" - }, - "scope": { - "const": "dfo", - "default": "dfo", - "title": "Scope", - "type": "string" - }, - "sources": { - "items": { - "$ref": "#/$defs/SourceAvailability" - }, - "title": "Sources", - "type": "array" - }, - "summary": { - "$ref": "#/$defs/AvailabilitySummary" - } - }, - "required": ["scope", "summary", "default", "sources", "more_sources"], - "title": "GraphAvailability", - "type": "object" - }, - "AvailabilityDefault": { - "description": "What a data request naming no place, years or facet receives.", - "properties": { - "facets": { - "description": "the facet ids the request is served, in order", - "items": { - "type": "string" - }, - "title": "Facets", - "type": "array" - }, - "first_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "First Year" - }, - "last_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Year" - }, - "measurement_method": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ] - }, - "observation_period": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Observation Period" - }, - "places": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "null for a role-bearing variable", - "title": "Places" - }, - "source": { - "anyOf": [ - { - "$ref": "#/$defs/AvailabilitySource" - }, - { - "type": "null" - } - ] - }, - "unit": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ] - }, - "without_data": { - "description": "the places, or parties, holding the variable that the default leaves without data", - "title": "Without Data", - "type": "integer" - } - }, - "required": [ - "facets", - "source", - "unit", - "measurement_method", - "observation_period", - "first_year", - "last_year", - "places", - "without_data" - ], - "title": "GraphAvailabilityDefault", - "type": "object" - }, - "AvailabilitySource": { - "description": "A source that holds the variable: its provenance, labelled with the catalogue's name.", - "properties": { - "documentation": { - "description": "the path of the provenance's source document", - "title": "Documentation", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label", "documentation"], - "title": "GraphAvailabilitySource", - "type": "object" - }, - "AvailabilitySummary": { - "description": "The variable across every source.", - "properties": { - "entities": { - "anyOf": [ - { - "additionalProperties": { - "$ref": "#/$defs/EntityCounts" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "the entities covered per graph role; null for any other variable", - "title": "Entities" - }, - "facets": { - "title": "Facets", - "type": "integer" - }, - "first_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "First Year" - }, - "last_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Year" - }, - "places": { - "anyOf": [ - { - "additionalProperties": { - "type": "integer" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "the places covered by kind; null for a role-bearing variable, and while the places' kinds are unread (a transient gap)", - "title": "Places" - }, - "sources": { - "title": "Sources", - "type": "integer" - } - }, - "required": [ - "places", - "entities", - "first_year", - "last_year", - "sources", - "facets" - ], - "title": "GraphAvailabilitySummary", - "type": "object" - }, - "Binding": { - "description": "The `scope.facets` values that request a series from Datasets, in its leading unit.", - "properties": { - "measurementMethod": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Measurementmethod" - }, - "provenance": { - "title": "Provenance", - "type": "string" - }, - "unit": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Unit" - } - }, - "required": ["provenance", "measurementMethod", "unit"], - "title": "GraphAvailabilityBinding", - "type": "object" - }, - "CodeBlock": { - "description": "A code's detail block.", - "properties": { - "code": { - "title": "Code", - "type": "string" - }, - "code_system": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the system's graph node, such as `CRSPurposeCodeEnum`" - }, - "parent": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the code it specialises; null for a root" - }, - "property": { - "description": "the constraint property the code is a value of", - "title": "Property", - "type": "string" - }, - "synonyms": { - "items": { - "type": "string" - }, - "title": "Synonyms", - "type": "array" - } - }, - "required": ["code_system", "property", "code", "parent", "synonyms"], - "title": "GraphCodeBlock", - "type": "object" - }, - "CodeNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "code": { - "$ref": "#/$defs/CodeBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "code", - "default": "code", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "code" - ], - "title": "CodeNode", - "type": "object" - }, - "CodeSystemBlock": { - "description": "A code system's detail block.", - "properties": { - "code_count": { - "description": "how many codes the code index holds for the system", - "title": "Code Count", - "type": "integer" - }, - "declarations": { - "$ref": "#/$defs/CodeSystemDeclarations" - }, - "plain_name": { - "description": "the property's plain name, such as `sector`", - "title": "Plain Name", - "type": "string" - }, - "property": { - "description": "the constraint property the system governs", - "title": "Property", - "type": "string" - } - }, - "required": ["property", "plain_name", "declarations", "code_count"], - "title": "GraphCodeSystemBlock", - "type": "object" - }, - "CodeSystemDeclarations": { - "description": "The rules a code system declares (`code_index.types.CodeSystemDeclaration`).", - "properties": { - "absent_reading": { - "description": "how a variable that does not declare the property reads", - "enum": ["not_declared", "aggregate"], - "title": "Absent Reading", - "type": "string" - }, - "disjoint_from_children": { - "description": "whether a parent code's records sit apart from its children's, so a parent's total is its own records plus its descendants' (CRS purposes); false where a parent row already totals its children (DAC1 aid types)", - "title": "Disjoint From Children", - "type": "boolean" - }, - "hierarchical": { - "description": "whether its codes nest through specializationOf", - "title": "Hierarchical", - "type": "boolean" - }, - "summable": { - "description": "whether sibling values can rebuild a parent total", - "title": "Summable", - "type": "boolean" - } - }, - "required": [ - "hierarchical", - "disjoint_from_children", - "summable", - "absent_reading" - ], - "title": "GraphCodeSystemDeclarations", - "type": "object" - }, - "CodeSystemNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "code_system": { - "$ref": "#/$defs/CodeSystemBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "code_system", - "default": "code_system", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "code_system" - ], - "title": "CodeSystemNode", - "type": "object" - }, - "Constraint": { - "description": "One constraint: the property and the value the variable fixes it at.", - "properties": { - "property": { - "$ref": "#/$defs/NodeRef" - }, - "value": { - "$ref": "#/$defs/NodeRef" - } - }, - "required": ["property", "value"], - "title": "GraphDefinitionConstraint", - "type": "object" - }, - "ContinentNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "continent": { - "$ref": "#/$defs/PlaceBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "continent", - "default": "continent", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "continent" - ], - "title": "ContinentNode", - "type": "object" - }, - "ContinentalUnionNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "continental_union": { - "$ref": "#/$defs/PlaceBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "continental_union", - "default": "continental_union", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "continental_union" - ], - "title": "ContinentalUnionNode", - "type": "object" - }, - "CountryNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "country": { - "$ref": "#/$defs/PlaceBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "country", - "default": "country", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "country" - ], - "title": "CountryNode", - "type": "object" - }, - "DataCommonsRef": { - "description": "The Data Commons that serves a fact. `id` is the wire enum; `label` its display name.", - "properties": { - "id": { - "enum": ["dfo", "base", "un_system"], - "title": "Id", - "type": "string" - }, - "label": { - "title": "Label", - "type": "string" - } - }, - "required": ["id", "label"], - "title": "GraphDataCommonsRef", - "type": "object" - }, - "DatasetNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "dataset": { - "$ref": "#/$defs/SourceBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "dataset", - "default": "dataset", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "dataset" - ], - "title": "DatasetNode", - "type": "object" - }, - "DefinitionText": { - "description": "The graph's prose for one part of a definition.", - "properties": { - "of": { - "$ref": "#/$defs/NodeRef", - "description": "the part the text defines" - }, - "text": { - "title": "Text", - "type": "string" - } - }, - "required": ["of", "text"], - "title": "GraphDefinitionText", - "type": "object" - }, - "EntityCounts": { - "description": "The distinct entities in one role, split by their kind in the code index.", - "properties": { - "parties": { - "description": "entities with figures of their own", - "title": "Parties", - "type": "integer" - }, - "residual": { - "description": "entities holding figures no other entity does", - "title": "Residual", - "type": "integer" - }, - "totals": { - "description": "entities that hold other entities' figures", - "title": "Totals", - "type": "integer" - }, - "unclassified": { - "description": "entities the code index does not list", - "title": "Unclassified", - "type": "integer" - } - }, - "required": ["parties", "totals", "residual", "unclassified"], - "title": "GraphAvailabilityEntityCounts", - "type": "object" - }, - "Freshness": { - "description": "A source's own refresh cadence, read from DCP provenance arcs that imports populate\nunevenly: `dc/base/WHO_COVID19` carries both `sourceReleaseFrequency` and\n`automaticRefreshType`, `dc/base/BIS_CentralBankPolicyRate` only the second, and\n`dc/base/WHO_GHO` neither. Nullability is the contract.\n\n`release_frequency` is the raw `sourceReleaseFrequency` ISO 8601 duration (`P1M`);\n`release_frequency_label` is `materialise.cadence.cadence_label`'s display label for it\n(`Monthly`), or the raw token when that module does not recognise it.\n\n`refresh_type` is `automaticRefreshType`'s value: how this deployment refreshes the\nsource, such as `GCPCloudRunAutomaticRefresh`, or the sentinel `NoAutomaticRefresh`.", - "properties": { - "refresh_type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Refresh Type" - }, - "release_frequency": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Release Frequency" - }, - "release_frequency_label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Release Frequency Label" - } - }, - "required": ["release_frequency", "release_frequency_label", "refresh_type"], - "title": "Freshness", - "type": "object" - }, - "GroupNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "group": { - "$ref": "#/$defs/MembershipBlock" - }, - "kind": { - "const": "group", - "default": "group", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "group" - ], - "title": "GroupNode", - "type": "object" - }, - "Measure": { - "description": "What the variable counts or sums, as the code index names it.", - "properties": { - "label": { - "description": "the measure's noun phrase, such as `net disbursements`", - "title": "Label", - "type": "string" - } - }, - "required": ["label"], - "title": "GraphDefinitionMeasure", - "type": "object" - }, - "MembershipBlock": { - "description": "A group's or region's membership under its declared authority.", - "properties": { - "as_of": { - "anyOf": [ - { - "format": "date", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the date the read asked for; null for today", - "title": "As Of" - }, - "authority": { - "$ref": "#/$defs/Authority" - }, - "effective_date": { - "anyOf": [ - { - "format": "date", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the latest membership change on or before the date; null for an undated membership", - "title": "Effective Date" - }, - "projections": { - "items": { - "$ref": "#/$defs/ProjectionCount" - }, - "title": "Projections", - "type": "array" - } - }, - "required": ["authority", "as_of", "effective_date", "projections"], - "title": "GraphMembershipBlock", - "type": "object" - }, - "NationalCurrency": { - "description": "The units that are each covered place's own currency.", - "properties": { - "currencies": { - "title": "Currencies", - "type": "integer" - }, - "places": { - "title": "Places", - "type": "integer" - } - }, - "required": ["currencies", "places"], - "title": "GraphAvailabilityNationalCurrency", - "type": "object" - }, - "NodeRef": { - "description": "A graph reference. `label` is `null` when the target is not held, carries no `name`, or\ncarries only a `name` equal to its own dcid.", - "properties": { - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label"], - "title": "GraphNodeRef", - "type": "object" - }, - "OrganisationNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "organisation", - "default": "organisation", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "organisation": { - "$ref": "#/$defs/PartyBlock" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "organisation" - ], - "title": "OrganisationNode", - "type": "object" - }, - "OtherNode": { - "description": "A node no other kind fits. `types` and `description` carry what the graph holds.", - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "other", - "default": "other", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind" - ], - "title": "OtherNode", - "type": "object" - }, - "PartyBlock": { - "description": "An organisation's or aggregate's detail block.", - "properties": { - "roles": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "the role properties a node of these types can fill, by the role ranges the graph declares (rangeIncludes and its subClassOf closure); null when that read failed", - "title": "Roles" - } - }, - "required": ["roles"], - "title": "GraphPartyBlock", - "type": "object" - }, - "PlaceBlock": { - "description": "A place's detail block. `membership` is set for a region the membership policy holds.", - "properties": { - "contained_in": { - "description": "the containedInPlace targets", - "items": { - "$ref": "#/$defs/NodeRef" - }, - "title": "Contained In", - "type": "array" - }, - "membership": { - "anyOf": [ - { - "$ref": "#/$defs/MembershipBlock" - }, - { - "type": "null" - } - ] - } - }, - "required": ["contained_in", "membership"], - "title": "GraphPlaceBlock", - "type": "object" - }, - "PlaceOtherNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "place_other", - "default": "place_other", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "place_other": { - "$ref": "#/$defs/PlaceBlock" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "place_other" - ], - "title": "PlaceOtherNode", - "type": "object" - }, - "PriceBasisWords": { - "description": "Current or constant prices, with the base year of constant prices when known.", - "properties": { - "base_year": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Base Year" - }, - "prices": { - "enum": ["current", "constant"], - "title": "Prices", - "type": "string" - } - }, - "required": ["prices", "base_year"], - "title": "GraphPriceBasis", - "type": "object" - }, - "Projection": { - "description": "A named cut of a membership by member class.", - "enum": [ - "countries", - "other_states", - "territories", - "former_states", - "institutions" - ], - "title": "Projection", - "type": "string" - }, - "ProjectionCount": { - "description": "One projection of a membership and its member count at the block's date.", - "properties": { - "complete": { - "description": "false when the authority does not record the projection, or is known to hold it only in part (`membership_incomplete`)", - "title": "Complete", - "type": "boolean" - }, - "count": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "members under the projection; null when the authority does not record it", - "title": "Count" - }, - "projection": { - "$ref": "#/$defs/Projection" - } - }, - "required": ["projection", "count", "complete"], - "title": "GraphProjectionCount", - "type": "object" - }, - "ProvenanceNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "provenance", - "default": "provenance", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "provenance": { - "$ref": "#/$defs/SourceBlock" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "provenance" - ], - "title": "ProvenanceNode", - "type": "object" - }, - "Series": { - "description": "A source's facets sharing a measurement method, period and scaling.", - "properties": { - "binding": { - "$ref": "#/$defs/Binding" - }, - "first_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "First Year" - }, - "last_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Year" - }, - "measurement_method": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "null when no facet states a method: no stated method" - }, - "observation_period": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Observation Period" - }, - "observations": { - "title": "Observations", - "type": "integer" - }, - "places": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "null for a role-bearing variable", - "title": "Places" - }, - "scaling": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Scaling" - }, - "units": { - "$ref": "#/$defs/UnitsFold" - } - }, - "required": [ - "measurement_method", - "observation_period", - "scaling", - "first_year", - "last_year", - "places", - "observations", - "units", - "binding" - ], - "title": "GraphAvailabilitySeries", - "type": "object" - }, - "SourceAvailability": { - "description": "One source's facets of the variable, and their series.", - "properties": { - "entities": { - "anyOf": [ - { - "additionalProperties": { - "$ref": "#/$defs/EntityCounts" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "the entities covered per graph role; null for any other variable", - "title": "Entities" - }, - "facets": { - "title": "Facets", - "type": "integer" - }, - "first_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "First Year" - }, - "last_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Year" - }, - "places": { - "anyOf": [ - { - "additionalProperties": { - "type": "integer" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "the places covered by kind; null for a role-bearing variable, and while the places' kinds are unread (a transient gap)", - "title": "Places" - }, - "series": { - "items": { - "$ref": "#/$defs/Series" - }, - "title": "Series", - "type": "array" - }, - "source": { - "$ref": "#/$defs/AvailabilitySource" - } - }, - "required": [ - "source", - "places", - "entities", - "first_year", - "last_year", - "facets", - "series" - ], - "title": "GraphAvailabilitySourceEntry", - "type": "object" - }, - "SourceBlock": { - "description": "A Source, Dataset or Provenance's detail block. `documentation` is the path of the\nnode's source document on this API.", - "properties": { - "data_commons": { - "anyOf": [ - { - "$ref": "#/$defs/DataCommonsRef" - }, - { - "type": "null" - } - ], - "description": "the Data Commons serving this provenance, from the origin catalogue; null for a provenance the catalogue does not admit, a Dataset, or a Source" - }, - "description_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the descriptionUrl arc's value", - "title": "Description Url" - }, - "documentation": { - "description": "the path of the node's source document", - "title": "Documentation", - "type": "string" - }, - "earliest_observation_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the earliestObservationDate arc's value", - "title": "Earliest Observation Date" - }, - "freshness": { - "$ref": "#/$defs/Freshness" - }, - "last_data_refresh_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the lastDataRefreshDate arc's value", - "title": "Last Data Refresh Date" - }, - "latest_observation_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the latestObservationDate arc's value", - "title": "Latest Observation Date" - }, - "license": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "License" - }, - "license_type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "License Type" - }, - "next_data_refresh_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the nextDataRefreshDate arc's value", - "title": "Next Data Refresh Date" - }, - "parent": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the isPartOf arc's target; null when the node has no parent Dataset" - }, - "publisher": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the source arc's target; null when the node carries no source arc" - }, - "source_data_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the sourceDataUrl arc's value", - "title": "Source Data Url" - }, - "transformation_logic_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the dataTransformationLogic arc's value: a URL to the transformation code", - "title": "Transformation Logic Url" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "required": [ - "publisher", - "parent", - "license", - "license_type", - "url", - "source_data_url", - "description_url", - "transformation_logic_url", - "last_data_refresh_date", - "next_data_refresh_date", - "earliest_observation_date", - "latest_observation_date", - "freshness", - "data_commons", - "documentation" - ], - "title": "GraphSourceBlock", - "type": "object" - }, - "SourceNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "source", - "default": "source", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "source": { - "$ref": "#/$defs/SourceBlock" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "source" - ], - "title": "SourceNode", - "type": "object" - }, - "StatVarBlock": { - "description": "A variable's detail block: what it measures and where DFO holds observations of it.", - "properties": { - "availability": { - "anyOf": [ - { - "$ref": "#/$defs/Availability" - }, - { - "type": "null" - } - ], - "description": "where DFO holds observations of the variable; null, and named in gaps, when its read failed or the coverage index is not loaded" - }, - "definition": { - "$ref": "#/$defs/VariableDefinition" - } - }, - "required": ["definition", "availability"], - "title": "GraphStatVarBlock", - "type": "object" - }, - "StatVarNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "stat_var", - "default": "stat_var", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "stat_var": { - "$ref": "#/$defs/StatVarBlock" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "stat_var" - ], - "title": "StatVarNode", - "type": "object" - }, - "SubregionNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "subregion", - "default": "subregion", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "subregion": { - "$ref": "#/$defs/PlaceBlock" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "subregion" - ], - "title": "SubregionNode", - "type": "object" - }, - "UnitBlock": { - "description": "A unit's detail block: the words `unit_words` names it by.", - "properties": { - "changes_magnitude": { - "description": "whether the unit changes what a number means, so a heading states it", - "title": "Changes Magnitude", - "type": "boolean" - }, - "currency": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "its ISO 4217 code when it is a currency", - "title": "Currency" - }, - "currency_noun": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the plural noun a currency reads as, such as `US dollars`", - "title": "Currency Noun" - }, - "price_basis": { - "anyOf": [ - { - "$ref": "#/$defs/PriceBasisWords" - }, - { - "type": "null" - } - ], - "description": "the price basis the unit itself states; null when it states none" - }, - "unit_class": { - "$ref": "#/$defs/UnitKind", - "description": "currency, purchasing_power, percent, or other (`unit_words.unit_class`)" - } - }, - "required": [ - "unit_class", - "currency", - "currency_noun", - "price_basis", - "changes_magnitude" - ], - "title": "GraphUnitBlock", - "type": "object" - }, - "UnitCount": { - "description": "One unit of a series. `ref` is `null` for facets that state no unit.", - "properties": { - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "places": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "the places its facets cover; null for a role-bearing variable", - "title": "Places" - }, - "ref": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Ref" - } - }, - "required": ["ref", "label", "places"], - "title": "GraphAvailabilityUnit", - "type": "object" - }, - "UnitKind": { - "enum": ["currency", "purchasing_power", "percent", "other", "none"], - "type": "string" - }, - "UnitNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "unit", - "default": "unit", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - }, - "unit": { - "$ref": "#/$defs/UnitBlock" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "unit" - ], - "title": "UnitNode", - "type": "object" - }, - "UnitsFold": { - "description": "A series' units: how many, the two covering the most places, and how many more.", - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "leading": { - "items": { - "$ref": "#/$defs/UnitCount" - }, - "title": "Leading", - "type": "array" - }, - "more": { - "title": "More", - "type": "integer" - }, - "national_currency": { - "anyOf": [ - { - "$ref": "#/$defs/NationalCurrency" - }, - { - "type": "null" - } - ], - "description": "the units that are their places' national currency; null when none is" - } - }, - "required": ["count", "leading", "more", "national_currency"], - "title": "GraphAvailabilityUnits", - "type": "object" - }, - "VariableDefinition": { - "description": "What a variable measures, part by part.\n\n`constraints` are ordered by property dcid: the code index holds a variable's constraints\nas a mapping with no declared order, and the graph's `constraintProperties` arc has none.", - "properties": { - "constraints": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/Constraint" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "each constraint the measure does not state, ordered by property dcid; null when the read of a variable's constraint values failed", - "title": "Constraints" - }, - "definitions": { - "description": "the graph's prose per part: the variable's own, then the measure's, then each constraint value's, in constraint order; a part with none is left out", - "items": { - "$ref": "#/$defs/DefinitionText" - }, - "title": "Definitions", - "type": "array" - }, - "measure": { - "anyOf": [ - { - "$ref": "#/$defs/Measure" - }, - { - "type": "null" - } - ], - "description": "the measure the code index names; null when it names none" - }, - "measured_property": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the measuredProperty; null when the variable declares none" - }, - "population_type": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the populationType; null when the variable declares none" - }, - "roles": { - "description": "the entity roles the variable's observations carry, from its declared observationProperties, defaulting to observationAbout when it declares none", - "items": { - "type": "string" - }, - "title": "Roles", - "type": "array" - }, - "source_indicator_codes": { - "description": "the sourceIndicatorCode arc's values: the codes naming the source series, as the publisher codes it (IMF WEO GDP carries NGDP and NGDPD); empty when it has none", - "items": { - "type": "string" - }, - "title": "Source Indicator Codes", - "type": "array" - }, - "stat_type": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the statType; null when the variable declares none or its read failed" - } - }, - "required": [ - "population_type", - "measured_property", - "stat_type", - "measure", - "roles", - "source_indicator_codes", - "constraints", - "definitions" - ], - "title": "GraphVariableDefinition", - "type": "object" - } - }, - "discriminator": { - "mapping": { - "aggregate": "#/$defs/AggregateNode", - "code": "#/$defs/CodeNode", - "code_system": "#/$defs/CodeSystemNode", - "continent": "#/$defs/ContinentNode", - "continental_union": "#/$defs/ContinentalUnionNode", - "country": "#/$defs/CountryNode", - "dataset": "#/$defs/DatasetNode", - "group": "#/$defs/GroupNode", - "organisation": "#/$defs/OrganisationNode", - "other": "#/$defs/OtherNode", - "place_other": "#/$defs/PlaceOtherNode", - "provenance": "#/$defs/ProvenanceNode", - "source": "#/$defs/SourceNode", - "stat_var": "#/$defs/StatVarNode", - "subregion": "#/$defs/SubregionNode", - "unit": "#/$defs/UnitNode" - }, - "propertyName": "kind" - }, - "oneOf": [ - { - "$ref": "#/$defs/StatVarNode" - }, - { - "$ref": "#/$defs/CodeSystemNode" - }, - { - "$ref": "#/$defs/CodeNode" - }, - { - "$ref": "#/$defs/GroupNode" - }, - { - "$ref": "#/$defs/CountryNode" - }, - { - "$ref": "#/$defs/ContinentNode" - }, - { - "$ref": "#/$defs/SubregionNode" - }, - { - "$ref": "#/$defs/ContinentalUnionNode" - }, - { - "$ref": "#/$defs/PlaceOtherNode" - }, - { - "$ref": "#/$defs/OrganisationNode" - }, - { - "$ref": "#/$defs/AggregateNode" - }, - { - "$ref": "#/$defs/UnitNode" - }, - { - "$ref": "#/$defs/SourceNode" - }, - { - "$ref": "#/$defs/DatasetNode" - }, - { - "$ref": "#/$defs/ProvenanceNode" - }, - { - "$ref": "#/$defs/OtherNode" - } - ] - }, - "nodes_request": { - "additionalProperties": false, - "description": "`dcids`: 1 to `NODES_MAX_DCIDS` node dcids read as one batch, in one DCP-read\nexecutor job. Each dcid matches the GET route's `{dcid}` path syntax and its 512-character\nceiling.", - "properties": { - "dcids": { - "items": { - "maxLength": 512, - "pattern": "^[A-Za-z0-9_.\\-]+(?:/[A-Za-z0-9_.\\-]+)*$", - "type": "string" - }, - "maxItems": 50, - "minItems": 1, - "title": "Dcids", - "type": "array" - } - }, - "required": ["dcids"], - "title": "GraphNodesRequest", - "type": "object" - }, - "nodes_response": { - "$defs": { - "AggregateNode": { - "properties": { - "aggregate": { - "$ref": "#/$defs/PartyBlock" - }, - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "aggregate", - "default": "aggregate", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "aggregate" - ], - "title": "AggregateNode", - "type": "object" - }, - "Authority": { - "description": "Where a membership's rows come from, with the data version that reproduces them.", - "properties": { - "name": { - "title": "Name", - "type": "string" - }, - "version": { - "title": "Version", - "type": "string" - } - }, - "required": ["name", "version"], - "title": "GraphMembershipAuthority", - "type": "object" - }, - "Availability": { - "description": "Where DFO holds observations of a variable. `sources: []` means it verifiably holds\nnone.", - "properties": { - "default": { - "anyOf": [ - { - "$ref": "#/$defs/AvailabilityDefault" - }, - { - "type": "null" - } - ], - "description": "null when no facet dispatches a request naming nothing" - }, - "more_sources": { - "description": "the sources past the first ten", - "title": "More Sources", - "type": "integer" - }, - "scope": { - "const": "dfo", - "default": "dfo", - "title": "Scope", - "type": "string" - }, - "sources": { - "items": { - "$ref": "#/$defs/SourceAvailability" - }, - "title": "Sources", - "type": "array" - }, - "summary": { - "$ref": "#/$defs/AvailabilitySummary" - } - }, - "required": ["scope", "summary", "default", "sources", "more_sources"], - "title": "GraphAvailability", - "type": "object" - }, - "AvailabilityDefault": { - "description": "What a data request naming no place, years or facet receives.", - "properties": { - "facets": { - "description": "the facet ids the request is served, in order", - "items": { - "type": "string" - }, - "title": "Facets", - "type": "array" - }, - "first_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "First Year" - }, - "last_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Year" - }, - "measurement_method": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ] - }, - "observation_period": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Observation Period" - }, - "places": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "null for a role-bearing variable", - "title": "Places" - }, - "source": { - "anyOf": [ - { - "$ref": "#/$defs/AvailabilitySource" - }, - { - "type": "null" - } - ] - }, - "unit": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ] - }, - "without_data": { - "description": "the places, or parties, holding the variable that the default leaves without data", - "title": "Without Data", - "type": "integer" - } - }, - "required": [ - "facets", - "source", - "unit", - "measurement_method", - "observation_period", - "first_year", - "last_year", - "places", - "without_data" - ], - "title": "GraphAvailabilityDefault", - "type": "object" - }, - "AvailabilitySource": { - "description": "A source that holds the variable: its provenance, labelled with the catalogue's name.", - "properties": { - "documentation": { - "description": "the path of the provenance's source document", - "title": "Documentation", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label", "documentation"], - "title": "GraphAvailabilitySource", - "type": "object" - }, - "AvailabilitySummary": { - "description": "The variable across every source.", - "properties": { - "entities": { - "anyOf": [ - { - "additionalProperties": { - "$ref": "#/$defs/EntityCounts" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "the entities covered per graph role; null for any other variable", - "title": "Entities" - }, - "facets": { - "title": "Facets", - "type": "integer" - }, - "first_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "First Year" - }, - "last_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Year" - }, - "places": { - "anyOf": [ - { - "additionalProperties": { - "type": "integer" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "the places covered by kind; null for a role-bearing variable, and while the places' kinds are unread (a transient gap)", - "title": "Places" - }, - "sources": { - "title": "Sources", - "type": "integer" - } - }, - "required": [ - "places", - "entities", - "first_year", - "last_year", - "sources", - "facets" - ], - "title": "GraphAvailabilitySummary", - "type": "object" - }, - "Binding": { - "description": "The `scope.facets` values that request a series from Datasets, in its leading unit.", - "properties": { - "measurementMethod": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Measurementmethod" - }, - "provenance": { - "title": "Provenance", - "type": "string" - }, - "unit": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Unit" - } - }, - "required": ["provenance", "measurementMethod", "unit"], - "title": "GraphAvailabilityBinding", - "type": "object" - }, - "CodeBlock": { - "description": "A code's detail block.", - "properties": { - "code": { - "title": "Code", - "type": "string" - }, - "code_system": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the system's graph node, such as `CRSPurposeCodeEnum`" - }, - "parent": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the code it specialises; null for a root" - }, - "property": { - "description": "the constraint property the code is a value of", - "title": "Property", - "type": "string" - }, - "synonyms": { - "items": { - "type": "string" - }, - "title": "Synonyms", - "type": "array" - } - }, - "required": ["code_system", "property", "code", "parent", "synonyms"], - "title": "GraphCodeBlock", - "type": "object" - }, - "CodeNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "code": { - "$ref": "#/$defs/CodeBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "code", - "default": "code", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "code" - ], - "title": "CodeNode", - "type": "object" - }, - "CodeSystemBlock": { - "description": "A code system's detail block.", - "properties": { - "code_count": { - "description": "how many codes the code index holds for the system", - "title": "Code Count", - "type": "integer" - }, - "declarations": { - "$ref": "#/$defs/CodeSystemDeclarations" - }, - "plain_name": { - "description": "the property's plain name, such as `sector`", - "title": "Plain Name", - "type": "string" - }, - "property": { - "description": "the constraint property the system governs", - "title": "Property", - "type": "string" - } - }, - "required": ["property", "plain_name", "declarations", "code_count"], - "title": "GraphCodeSystemBlock", - "type": "object" - }, - "CodeSystemDeclarations": { - "description": "The rules a code system declares (`code_index.types.CodeSystemDeclaration`).", - "properties": { - "absent_reading": { - "description": "how a variable that does not declare the property reads", - "enum": ["not_declared", "aggregate"], - "title": "Absent Reading", - "type": "string" - }, - "disjoint_from_children": { - "description": "whether a parent code's records sit apart from its children's, so a parent's total is its own records plus its descendants' (CRS purposes); false where a parent row already totals its children (DAC1 aid types)", - "title": "Disjoint From Children", - "type": "boolean" - }, - "hierarchical": { - "description": "whether its codes nest through specializationOf", - "title": "Hierarchical", - "type": "boolean" - }, - "summable": { - "description": "whether sibling values can rebuild a parent total", - "title": "Summable", - "type": "boolean" - } - }, - "required": [ - "hierarchical", - "disjoint_from_children", - "summable", - "absent_reading" - ], - "title": "GraphCodeSystemDeclarations", - "type": "object" - }, - "CodeSystemNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "code_system": { - "$ref": "#/$defs/CodeSystemBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "code_system", - "default": "code_system", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "code_system" - ], - "title": "CodeSystemNode", - "type": "object" - }, - "Constraint": { - "description": "One constraint: the property and the value the variable fixes it at.", - "properties": { - "property": { - "$ref": "#/$defs/NodeRef" - }, - "value": { - "$ref": "#/$defs/NodeRef" - } - }, - "required": ["property", "value"], - "title": "GraphDefinitionConstraint", - "type": "object" - }, - "ContinentNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "continent": { - "$ref": "#/$defs/PlaceBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "continent", - "default": "continent", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "continent" - ], - "title": "ContinentNode", - "type": "object" - }, - "ContinentalUnionNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "continental_union": { - "$ref": "#/$defs/PlaceBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "continental_union", - "default": "continental_union", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "continental_union" - ], - "title": "ContinentalUnionNode", - "type": "object" - }, - "CountryNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "country": { - "$ref": "#/$defs/PlaceBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "country", - "default": "country", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "country" - ], - "title": "CountryNode", - "type": "object" - }, - "DataCommonsRef": { - "description": "The Data Commons that serves a fact. `id` is the wire enum; `label` its display name.", - "properties": { - "id": { - "enum": ["dfo", "base", "un_system"], - "title": "Id", - "type": "string" - }, - "label": { - "title": "Label", - "type": "string" - } - }, - "required": ["id", "label"], - "title": "GraphDataCommonsRef", - "type": "object" - }, - "DatasetNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "dataset": { - "$ref": "#/$defs/SourceBlock" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "dataset", - "default": "dataset", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "dataset" - ], - "title": "DatasetNode", - "type": "object" - }, - "DefinitionText": { - "description": "The graph's prose for one part of a definition.", - "properties": { - "of": { - "$ref": "#/$defs/NodeRef", - "description": "the part the text defines" - }, - "text": { - "title": "Text", - "type": "string" - } - }, - "required": ["of", "text"], - "title": "GraphDefinitionText", - "type": "object" - }, - "EntityCounts": { - "description": "The distinct entities in one role, split by their kind in the code index.", - "properties": { - "parties": { - "description": "entities with figures of their own", - "title": "Parties", - "type": "integer" - }, - "residual": { - "description": "entities holding figures no other entity does", - "title": "Residual", - "type": "integer" - }, - "totals": { - "description": "entities that hold other entities' figures", - "title": "Totals", - "type": "integer" - }, - "unclassified": { - "description": "entities the code index does not list", - "title": "Unclassified", - "type": "integer" - } - }, - "required": ["parties", "totals", "residual", "unclassified"], - "title": "GraphAvailabilityEntityCounts", - "type": "object" - }, - "Freshness": { - "description": "A source's own refresh cadence, read from DCP provenance arcs that imports populate\nunevenly: `dc/base/WHO_COVID19` carries both `sourceReleaseFrequency` and\n`automaticRefreshType`, `dc/base/BIS_CentralBankPolicyRate` only the second, and\n`dc/base/WHO_GHO` neither. Nullability is the contract.\n\n`release_frequency` is the raw `sourceReleaseFrequency` ISO 8601 duration (`P1M`);\n`release_frequency_label` is `materialise.cadence.cadence_label`'s display label for it\n(`Monthly`), or the raw token when that module does not recognise it.\n\n`refresh_type` is `automaticRefreshType`'s value: how this deployment refreshes the\nsource, such as `GCPCloudRunAutomaticRefresh`, or the sentinel `NoAutomaticRefresh`.", - "properties": { - "refresh_type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Refresh Type" - }, - "release_frequency": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Release Frequency" - }, - "release_frequency_label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Release Frequency Label" - } - }, - "required": ["release_frequency", "release_frequency_label", "refresh_type"], - "title": "Freshness", - "type": "object" - }, - "GroupNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "group": { - "$ref": "#/$defs/MembershipBlock" - }, - "kind": { - "const": "group", - "default": "group", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "group" - ], - "title": "GroupNode", - "type": "object" - }, - "Measure": { - "description": "What the variable counts or sums, as the code index names it.", - "properties": { - "label": { - "description": "the measure's noun phrase, such as `net disbursements`", - "title": "Label", - "type": "string" - } - }, - "required": ["label"], - "title": "GraphDefinitionMeasure", - "type": "object" - }, - "MembershipBlock": { - "description": "A group's or region's membership under its declared authority.", - "properties": { - "as_of": { - "anyOf": [ - { - "format": "date", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the date the read asked for; null for today", - "title": "As Of" - }, - "authority": { - "$ref": "#/$defs/Authority" - }, - "effective_date": { - "anyOf": [ - { - "format": "date", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the latest membership change on or before the date; null for an undated membership", - "title": "Effective Date" - }, - "projections": { - "items": { - "$ref": "#/$defs/ProjectionCount" - }, - "title": "Projections", - "type": "array" - } - }, - "required": ["authority", "as_of", "effective_date", "projections"], - "title": "GraphMembershipBlock", - "type": "object" - }, - "NationalCurrency": { - "description": "The units that are each covered place's own currency.", - "properties": { - "currencies": { - "title": "Currencies", - "type": "integer" - }, - "places": { - "title": "Places", - "type": "integer" - } - }, - "required": ["currencies", "places"], - "title": "GraphAvailabilityNationalCurrency", - "type": "object" - }, - "NodeRef": { - "description": "A graph reference. `label` is `null` when the target is not held, carries no `name`, or\ncarries only a `name` equal to its own dcid.", - "properties": { - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label"], - "title": "GraphNodeRef", - "type": "object" - }, - "NotHeldEntry": { - "description": "A batch entry for a dcid where `GET /api/graph/node/{dcid}` answers 404\n`node_not_held`.", - "properties": { - "ref": { - "title": "Ref", - "type": "string" - }, - "status": { - "const": "not_held", - "default": "not_held", - "title": "Status", - "type": "string" - } - }, - "required": ["ref", "status"], - "title": "GraphNotHeldEntry", - "type": "object" - }, - "OrganisationNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "organisation", - "default": "organisation", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "organisation": { - "$ref": "#/$defs/PartyBlock" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "organisation" - ], - "title": "OrganisationNode", - "type": "object" - }, - "OtherNode": { - "description": "A node no other kind fits. `types` and `description` carry what the graph holds.", - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "other", - "default": "other", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind" - ], - "title": "OtherNode", - "type": "object" - }, - "PartyBlock": { - "description": "An organisation's or aggregate's detail block.", - "properties": { - "roles": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "the role properties a node of these types can fill, by the role ranges the graph declares (rangeIncludes and its subClassOf closure); null when that read failed", - "title": "Roles" - } - }, - "required": ["roles"], - "title": "GraphPartyBlock", - "type": "object" - }, - "PlaceBlock": { - "description": "A place's detail block. `membership` is set for a region the membership policy holds.", - "properties": { - "contained_in": { - "description": "the containedInPlace targets", - "items": { - "$ref": "#/$defs/NodeRef" - }, - "title": "Contained In", - "type": "array" - }, - "membership": { - "anyOf": [ - { - "$ref": "#/$defs/MembershipBlock" - }, - { - "type": "null" - } - ] - } - }, - "required": ["contained_in", "membership"], - "title": "GraphPlaceBlock", - "type": "object" - }, - "PlaceOtherNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "place_other", - "default": "place_other", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "place_other": { - "$ref": "#/$defs/PlaceBlock" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "place_other" - ], - "title": "PlaceOtherNode", - "type": "object" - }, - "PriceBasisWords": { - "description": "Current or constant prices, with the base year of constant prices when known.", - "properties": { - "base_year": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Base Year" - }, - "prices": { - "enum": ["current", "constant"], - "title": "Prices", - "type": "string" - } - }, - "required": ["prices", "base_year"], - "title": "GraphPriceBasis", - "type": "object" - }, - "Projection": { - "description": "A named cut of a membership by member class.", - "enum": [ - "countries", - "other_states", - "territories", - "former_states", - "institutions" - ], - "title": "Projection", - "type": "string" - }, - "ProjectionCount": { - "description": "One projection of a membership and its member count at the block's date.", - "properties": { - "complete": { - "description": "false when the authority does not record the projection, or is known to hold it only in part (`membership_incomplete`)", - "title": "Complete", - "type": "boolean" - }, - "count": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "members under the projection; null when the authority does not record it", - "title": "Count" - }, - "projection": { - "$ref": "#/$defs/Projection" - } - }, - "required": ["projection", "count", "complete"], - "title": "GraphProjectionCount", - "type": "object" - }, - "ProvenanceNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "provenance", - "default": "provenance", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "provenance": { - "$ref": "#/$defs/SourceBlock" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "provenance" - ], - "title": "ProvenanceNode", - "type": "object" - }, - "Series": { - "description": "A source's facets sharing a measurement method, period and scaling.", - "properties": { - "binding": { - "$ref": "#/$defs/Binding" - }, - "first_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "First Year" - }, - "last_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Year" - }, - "measurement_method": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "null when no facet states a method: no stated method" - }, - "observation_period": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Observation Period" - }, - "observations": { - "title": "Observations", - "type": "integer" - }, - "places": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "null for a role-bearing variable", - "title": "Places" - }, - "scaling": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Scaling" - }, - "units": { - "$ref": "#/$defs/UnitsFold" - } - }, - "required": [ - "measurement_method", - "observation_period", - "scaling", - "first_year", - "last_year", - "places", - "observations", - "units", - "binding" - ], - "title": "GraphAvailabilitySeries", - "type": "object" - }, - "SourceAvailability": { - "description": "One source's facets of the variable, and their series.", - "properties": { - "entities": { - "anyOf": [ - { - "additionalProperties": { - "$ref": "#/$defs/EntityCounts" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "the entities covered per graph role; null for any other variable", - "title": "Entities" - }, - "facets": { - "title": "Facets", - "type": "integer" - }, - "first_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "First Year" - }, - "last_year": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Year" - }, - "places": { - "anyOf": [ - { - "additionalProperties": { - "type": "integer" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "the places covered by kind; null for a role-bearing variable, and while the places' kinds are unread (a transient gap)", - "title": "Places" - }, - "series": { - "items": { - "$ref": "#/$defs/Series" - }, - "title": "Series", - "type": "array" - }, - "source": { - "$ref": "#/$defs/AvailabilitySource" - } - }, - "required": [ - "source", - "places", - "entities", - "first_year", - "last_year", - "facets", - "series" - ], - "title": "GraphAvailabilitySourceEntry", - "type": "object" - }, - "SourceBlock": { - "description": "A Source, Dataset or Provenance's detail block. `documentation` is the path of the\nnode's source document on this API.", - "properties": { - "data_commons": { - "anyOf": [ - { - "$ref": "#/$defs/DataCommonsRef" - }, - { - "type": "null" - } - ], - "description": "the Data Commons serving this provenance, from the origin catalogue; null for a provenance the catalogue does not admit, a Dataset, or a Source" - }, - "description_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the descriptionUrl arc's value", - "title": "Description Url" - }, - "documentation": { - "description": "the path of the node's source document", - "title": "Documentation", - "type": "string" - }, - "earliest_observation_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the earliestObservationDate arc's value", - "title": "Earliest Observation Date" - }, - "freshness": { - "$ref": "#/$defs/Freshness" - }, - "last_data_refresh_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the lastDataRefreshDate arc's value", - "title": "Last Data Refresh Date" - }, - "latest_observation_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the latestObservationDate arc's value", - "title": "Latest Observation Date" - }, - "license": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "License" - }, - "license_type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "License Type" - }, - "next_data_refresh_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the nextDataRefreshDate arc's value", - "title": "Next Data Refresh Date" - }, - "parent": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the isPartOf arc's target; null when the node has no parent Dataset" - }, - "publisher": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the source arc's target; null when the node carries no source arc" - }, - "source_data_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the sourceDataUrl arc's value", - "title": "Source Data Url" - }, - "transformation_logic_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the dataTransformationLogic arc's value: a URL to the transformation code", - "title": "Transformation Logic Url" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "required": [ - "publisher", - "parent", - "license", - "license_type", - "url", - "source_data_url", - "description_url", - "transformation_logic_url", - "last_data_refresh_date", - "next_data_refresh_date", - "earliest_observation_date", - "latest_observation_date", - "freshness", - "data_commons", - "documentation" - ], - "title": "GraphSourceBlock", - "type": "object" - }, - "SourceNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "source", - "default": "source", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "source": { - "$ref": "#/$defs/SourceBlock" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "source" - ], - "title": "SourceNode", - "type": "object" - }, - "StatVarBlock": { - "description": "A variable's detail block: what it measures and where DFO holds observations of it.", - "properties": { - "availability": { - "anyOf": [ - { - "$ref": "#/$defs/Availability" - }, - { - "type": "null" - } - ], - "description": "where DFO holds observations of the variable; null, and named in gaps, when its read failed or the coverage index is not loaded" - }, - "definition": { - "$ref": "#/$defs/VariableDefinition" - } - }, - "required": ["definition", "availability"], - "title": "GraphStatVarBlock", - "type": "object" - }, - "StatVarNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "stat_var", - "default": "stat_var", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "stat_var": { - "$ref": "#/$defs/StatVarBlock" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "stat_var" - ], - "title": "StatVarNode", - "type": "object" - }, - "SubregionNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "subregion", - "default": "subregion", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "subregion": { - "$ref": "#/$defs/PlaceBlock" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "subregion" - ], - "title": "SubregionNode", - "type": "object" - }, - "UnitBlock": { - "description": "A unit's detail block: the words `unit_words` names it by.", - "properties": { - "changes_magnitude": { - "description": "whether the unit changes what a number means, so a heading states it", - "title": "Changes Magnitude", - "type": "boolean" - }, - "currency": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "its ISO 4217 code when it is a currency", - "title": "Currency" - }, - "currency_noun": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the plural noun a currency reads as, such as `US dollars`", - "title": "Currency Noun" - }, - "price_basis": { - "anyOf": [ - { - "$ref": "#/$defs/PriceBasisWords" - }, - { - "type": "null" - } - ], - "description": "the price basis the unit itself states; null when it states none" - }, - "unit_class": { - "$ref": "#/$defs/UnitKind", - "description": "currency, purchasing_power, percent, or other (`unit_words.unit_class`)" - } - }, - "required": [ - "unit_class", - "currency", - "currency_noun", - "price_basis", - "changes_magnitude" - ], - "title": "GraphUnitBlock", - "type": "object" - }, - "UnitCount": { - "description": "One unit of a series. `ref` is `null` for facets that state no unit.", - "properties": { - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "places": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "the places its facets cover; null for a role-bearing variable", - "title": "Places" - }, - "ref": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Ref" - } - }, - "required": ["ref", "label", "places"], - "title": "GraphAvailabilityUnit", - "type": "object" - }, - "UnitKind": { - "enum": ["currency", "purchasing_power", "percent", "other", "none"], - "type": "string" - }, - "UnitNode": { - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the response read", - "propertyNames": { - "enum": [ - "code_index", - "origin_catalogue", - "coverage_index", - "membership" - ] - }, - "title": "Built From", - "type": "object" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's prose in the graph; null when it has none", - "title": "Description" - }, - "gaps": { - "description": "the member path of every value this door cannot know", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "kind": { - "const": "unit", - "default": "unit", - "title": "Kind", - "type": "string" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none", - "title": "Label" - }, - "links": { - "additionalProperties": { - "type": "string" - }, - "description": "each list relation the node has, mapped to its route; empty when none", - "propertyNames": { - "enum": [ - "codes", - "children", - "members", - "countries", - "datasets", - "variables", - "facets" - ] - }, - "title": "Links", - "type": "object" - }, - "ref": { - "description": "the node's dcid", - "title": "Ref", - "type": "string" - }, - "types": { - "description": "the node's typeOf values, as the graph holds them", - "items": { - "type": "string" - }, - "title": "Types", - "type": "array" - }, - "unit": { - "$ref": "#/$defs/UnitBlock" - } - }, - "required": [ - "ref", - "label", - "types", - "description", - "links", - "gaps", - "built_from", - "kind", - "unit" - ], - "title": "UnitNode", - "type": "object" - }, - "UnitsFold": { - "description": "A series' units: how many, the two covering the most places, and how many more.", - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "leading": { - "items": { - "$ref": "#/$defs/UnitCount" - }, - "title": "Leading", - "type": "array" - }, - "more": { - "title": "More", - "type": "integer" - }, - "national_currency": { - "anyOf": [ - { - "$ref": "#/$defs/NationalCurrency" - }, - { - "type": "null" - } - ], - "description": "the units that are their places' national currency; null when none is" - } - }, - "required": ["count", "leading", "more", "national_currency"], - "title": "GraphAvailabilityUnits", - "type": "object" - }, - "VariableDefinition": { - "description": "What a variable measures, part by part.\n\n`constraints` are ordered by property dcid: the code index holds a variable's constraints\nas a mapping with no declared order, and the graph's `constraintProperties` arc has none.", - "properties": { - "constraints": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/Constraint" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "each constraint the measure does not state, ordered by property dcid; null when the read of a variable's constraint values failed", - "title": "Constraints" - }, - "definitions": { - "description": "the graph's prose per part: the variable's own, then the measure's, then each constraint value's, in constraint order; a part with none is left out", - "items": { - "$ref": "#/$defs/DefinitionText" - }, - "title": "Definitions", - "type": "array" - }, - "measure": { - "anyOf": [ - { - "$ref": "#/$defs/Measure" - }, - { - "type": "null" - } - ], - "description": "the measure the code index names; null when it names none" - }, - "measured_property": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the measuredProperty; null when the variable declares none" - }, - "population_type": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the populationType; null when the variable declares none" - }, - "roles": { - "description": "the entity roles the variable's observations carry, from its declared observationProperties, defaulting to observationAbout when it declares none", - "items": { - "type": "string" - }, - "title": "Roles", - "type": "array" - }, - "source_indicator_codes": { - "description": "the sourceIndicatorCode arc's values: the codes naming the source series, as the publisher codes it (IMF WEO GDP carries NGDP and NGDPD); empty when it has none", - "items": { - "type": "string" - }, - "title": "Source Indicator Codes", - "type": "array" - }, - "stat_type": { - "anyOf": [ - { - "$ref": "#/$defs/NodeRef" - }, - { - "type": "null" - } - ], - "description": "the statType; null when the variable declares none or its read failed" - } - }, - "required": [ - "population_type", - "measured_property", - "stat_type", - "measure", - "roles", - "source_indicator_codes", - "constraints", - "definitions" - ], - "title": "GraphVariableDefinition", - "type": "object" - } - }, - "description": "`nodes` is index-aligned with the request's `dcids`: a repeated dcid repeats its\nentry. Each entry is the body `GET /api/graph/node/{dcid}` returns for that dcid, or a\n`not_held` entry where that route answers 404.", - "properties": { - "nodes": { - "items": { - "anyOf": [ - { - "discriminator": { - "mapping": { - "aggregate": "#/$defs/AggregateNode", - "code": "#/$defs/CodeNode", - "code_system": "#/$defs/CodeSystemNode", - "continent": "#/$defs/ContinentNode", - "continental_union": "#/$defs/ContinentalUnionNode", - "country": "#/$defs/CountryNode", - "dataset": "#/$defs/DatasetNode", - "group": "#/$defs/GroupNode", - "organisation": "#/$defs/OrganisationNode", - "other": "#/$defs/OtherNode", - "place_other": "#/$defs/PlaceOtherNode", - "provenance": "#/$defs/ProvenanceNode", - "source": "#/$defs/SourceNode", - "stat_var": "#/$defs/StatVarNode", - "subregion": "#/$defs/SubregionNode", - "unit": "#/$defs/UnitNode" - }, - "propertyName": "kind" - }, - "oneOf": [ - { - "$ref": "#/$defs/StatVarNode" - }, - { - "$ref": "#/$defs/CodeSystemNode" - }, - { - "$ref": "#/$defs/CodeNode" - }, - { - "$ref": "#/$defs/GroupNode" - }, - { - "$ref": "#/$defs/CountryNode" - }, - { - "$ref": "#/$defs/ContinentNode" - }, - { - "$ref": "#/$defs/SubregionNode" - }, - { - "$ref": "#/$defs/ContinentalUnionNode" - }, - { - "$ref": "#/$defs/PlaceOtherNode" - }, - { - "$ref": "#/$defs/OrganisationNode" - }, - { - "$ref": "#/$defs/AggregateNode" - }, - { - "$ref": "#/$defs/UnitNode" - }, - { - "$ref": "#/$defs/SourceNode" - }, - { - "$ref": "#/$defs/DatasetNode" - }, - { - "$ref": "#/$defs/ProvenanceNode" - }, - { - "$ref": "#/$defs/OtherNode" - } - ] - }, - { - "$ref": "#/$defs/NotHeldEntry" - } - ] - }, - "title": "Nodes", - "type": "array" - } - }, - "required": ["nodes"], - "title": "NodesResponse", - "type": "object" - }, - "resolve_request": { - "additionalProperties": false, - "description": "`texts`: 1 to 25 strings resolved as one batch. Each is stripped of surrounding\nwhitespace and must then be 1 to 200 characters.\n\n`kinds` admits only candidates of those kinds. It defaults to `DEFAULT_RESOLVE_KINDS`, so a\nrequest that omits it equals one naming those eight. `code` searches the code index's labels\nand synonyms, and `code_system` narrows codes to one system's graph id\n(`CRSPurposeCodeEnum`); naming `code_system` without `code` in `kinds` is refused at\n`/code_system`. `expand: [\"members\"]` inlines a group's or region's members.", - "properties": { - "code_system": { - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Code System" - }, - "expand": { - "default": [], - "items": { - "const": "members", - "type": "string" - }, - "title": "Expand", - "type": "array" - }, - "kinds": { - "default": [ - "country", - "continent", - "subregion", - "continental_union", - "organisation", - "aggregate", - "place_other", - "group" - ], - "items": { - "enum": [ - "country", - "continent", - "subregion", - "continental_union", - "organisation", - "aggregate", - "place_other", - "group", - "code", - "other" - ], - "type": "string" - }, - "minItems": 1, - "title": "Kinds", - "type": "array" - }, - "texts": { - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 25, - "minItems": 1, - "title": "Texts", - "type": "array" - } - }, - "required": ["texts"], - "title": "GraphResolveRequest", - "type": "object" - }, - "resolve_response": { - "$defs": { - "EntityRef": { - "description": "A reference with its kind. `kind` is `null` only for a `not_held` entity, which the\ngraph holds no node to classify.", - "properties": { - "kind": { - "anyOf": [ - { - "enum": [ - "country", - "continent", - "subregion", - "continental_union", - "place_other", - "aggregate", - "organisation", - "group", - "stat_var", - "code_system", - "code", - "unit", - "source", - "dataset", - "provenance", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Kind" - }, - "label": { - "title": "Label", - "type": "string" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label", "kind"], - "title": "GraphResolveEntity", - "type": "object" - }, - "Matched": { - "description": "The listed text the input matched, and whether it is the entity's name, an alias, or a\ncode. A phrase naming a group's members (\"EU countries\") matches as `alias`.", - "properties": { - "as": { - "enum": ["name", "alias", "code"], - "title": "As", - "type": "string" - }, - "text": { - "title": "Text", - "type": "string" - } - }, - "required": ["text", "as"], - "title": "GraphResolveMatched", - "type": "object" - }, - "NodeRef": { - "description": "A graph reference. `label` is `null` when the target is not held, carries no `name`, or\ncarries only a `name` equal to its own dcid.", - "properties": { - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label"], - "title": "GraphNodeRef", - "type": "object" - }, - "Projection": { - "description": "A named cut of a membership by member class.", - "enum": [ - "countries", - "other_states", - "territories", - "former_states", - "institutions" - ], - "title": "Projection", - "type": "string" - }, - "ResolveResult": { - "description": "One text's outcome. `input` echoes the text; fields a status does not use are `null`.\n\n- `resolved`: `entity`, `matched` and `reading`. A group or region adds `projection`,\n `member_count` and `members`: the list route's link, or the members inline (at most\n 256) when the request expanded them. The three are `null` for a region the membership\n policy does not hold.\n- `ambiguous`: `candidates`, in the resolver's order.\n- `not_found`: `near_matches`, hints for a person; a program should pick none by id.\n- `not_held`: `entity`, the id the resolver named, which does not open on the node route.\n\n`reading` is `members` when the text names a group's members (\"EU countries\"), else\n`entity`.", - "properties": { - "candidates": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/EntityRef" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Candidates" - }, - "entity": { - "anyOf": [ - { - "$ref": "#/$defs/EntityRef" - }, - { - "type": "null" - } - ], - "default": null - }, - "input": { - "title": "Input", - "type": "string" - }, - "matched": { - "anyOf": [ - { - "$ref": "#/$defs/Matched" - }, - { - "type": "null" - } - ], - "default": null - }, - "member_count": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Member Count" - }, - "members": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "$ref": "#/$defs/NodeRef" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Members" - }, - "near_matches": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/EntityRef" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Near Matches" - }, - "projection": { - "anyOf": [ - { - "$ref": "#/$defs/Projection" - }, - { - "type": "null" - } - ], - "default": null - }, - "reading": { - "anyOf": [ - { - "enum": ["members", "entity"], - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Reading" - }, - "status": { - "enum": ["resolved", "ambiguous", "not_found", "not_held"], - "title": "Status", - "type": "string" - } - }, - "required": [ - "input", - "status", - "entity", - "matched", - "reading", - "projection", - "member_count", - "members", - "candidates", - "near_matches" - ], - "title": "GraphResolveResult", - "type": "object" - } - }, - "description": "`results` is index-aligned with the request's `texts`.", - "properties": { - "results": { - "items": { - "$ref": "#/$defs/ResolveResult" - }, - "title": "Results", - "type": "array" - } - }, - "required": ["results"], - "title": "GraphResolveResponse", - "type": "object" - }, - "roots_response": { - "$defs": { - "RootEntry": { - "description": "A place to start listing from, with the length of its list.", - "properties": { - "count": { - "description": "codes for a code system, members under the default projection for a group or region, Datasets for a source", - "title": "Count", - "type": "integer" - }, - "label": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Label" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label", "count"], - "title": "GraphRootEntry", - "type": "object" - } - }, - "description": "`GET /api/graph/roots`: where to start listing. Each list is ordered by dcid.", - "properties": { - "built_from": { - "additionalProperties": { - "type": "string" - }, - "description": "the build of each table the document read", - "propertyNames": { - "enum": ["code_index", "origin_catalogue", "coverage_index", "membership"] - }, - "title": "Built From", - "type": "object" - }, - "code_systems": { - "items": { - "$ref": "#/$defs/RootEntry" - }, - "title": "Code Systems", - "type": "array" - }, - "groups": { - "items": { - "$ref": "#/$defs/RootEntry" - }, - "title": "Groups", - "type": "array" - }, - "regions": { - "items": { - "$ref": "#/$defs/RootEntry" - }, - "title": "Regions", - "type": "array" - }, - "sources": { - "items": { - "$ref": "#/$defs/RootEntry" - }, - "title": "Sources", - "type": "array" - } - }, - "required": ["code_systems", "groups", "regions", "sources", "built_from"], - "title": "GraphRoots", - "type": "object" - }, - "source_catalogue_response": { - "$defs": { - "DataCommonsRef": { - "description": "The Data Commons that serves a fact. `id` is the wire enum; `label` its display name.", - "properties": { - "id": { - "enum": ["dfo", "base", "un_system"], - "title": "Id", - "type": "string" - }, - "label": { - "title": "Label", - "type": "string" - } - }, - "required": ["id", "label"], - "title": "GraphDataCommonsRef", - "type": "object" - }, - "DatasetEntry": { - "description": "A Dataset and the admitted provenances that belong to it. A provenance with\nno Dataset forms its own entry, keyed by the provenance, so `ref` and `label`\nare the provenance's and `provenances` holds that one provenance.\n\nThe card facts (`description`, `license_type`, `update_cadence`,\n`years_covered`, `source_url`) equal the same members of\n`GET /api/graph/documentation/{ref}` for the graph the loaded catalogue\nbuild read. They are null on UN System Data Commons entries.", - "properties": { - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "its sole Provenance's description, as `details.description`; null when it has several", - "title": "Description" - }, - "label": { - "title": "Label", - "type": "string" - }, - "license_type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "licence label every Provenance agrees on, as `license.type`; null when they disagree or one has none", - "title": "License Type" - }, - "provenances": { - "items": { - "$ref": "#/$defs/ProvenanceEntry" - }, - "title": "Provenances", - "type": "array" - }, - "ref": { - "title": "Ref", - "type": "string" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the publication's page, as `details.source_url`: the Dataset's url, else its sole Provenance's", - "title": "Source Url" - }, - "update_cadence": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "release cadence label every Provenance agrees on, as `license.update_cadence`; null when they disagree or one has none", - "title": "Update Cadence" - }, - "years_covered": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "`YYYY` or `YYYY-YYYY` span of its Provenances' observation dates, as `scope_and_units.years_covered`; null when either end is unknown", - "title": "Years Covered" - } - }, - "required": [ - "ref", - "label", - "provenances", - "description", - "license_type", - "update_cadence", - "years_covered", - "source_url" - ], - "title": "DatasetEntry", - "type": "object" - }, - "Exclusion": { - "description": "A provenance a base source holds that this deployment does not admit, because\nanother Data Commons supersedes it.", - "properties": { - "reason": { - "description": "superseded_by_dfo: an upstream copy of a dataset DFO imports. superseded_by_un_system: a UN System Data Commons agency's series replace it", - "enum": ["superseded_by_dfo", "superseded_by_un_system"], - "title": "Reason", - "type": "string" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "reason"], - "title": "Exclusion", - "type": "object" - }, - "ProvenanceEntry": { - "description": "One admitted provenance: its dcid and the provenance table's name for it.", - "properties": { - "label": { - "title": "Label", - "type": "string" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label"], - "title": "ProvenanceEntry", - "type": "object" - }, - "SourceCatalogueEntry": { - "description": "One source on one Data Commons, with the datasets this deployment\nadmits under it and the provenances it excludes. DFO provenances and UN\nagencies exclude nothing here.", - "properties": { - "data_commons": { - "$ref": "#/$defs/DataCommonsRef" - }, - "datasets": { - "items": { - "$ref": "#/$defs/DatasetEntry" - }, - "title": "Datasets", - "type": "array" - }, - "exclusions": { - "items": { - "$ref": "#/$defs/Exclusion" - }, - "title": "Exclusions", - "type": "array" - }, - "source": { - "$ref": "#/$defs/SourceNodeRef" - } - }, - "required": ["source", "data_commons", "datasets", "exclusions"], - "title": "SourceCatalogueEntry", - "type": "object" - }, - "SourceNodeRef": { - "description": "A Data Commons `Source` node (`dc/s/*`). On the UN System Data Commons, where every\nagency sits under one source, it is the agency provenance (`undata/p/*`).", - "properties": { - "label": { - "title": "Label", - "type": "string" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label"], - "title": "GraphSourceNodeRef", - "type": "object" - } - }, - "description": "The full `GET /api/graph/sources` response: DFO's sources, then the\norigin registry's base Data Commons entries and UN System Data Commons\nagencies in registry order, each with the provenances the request's\norigin catalogue admits under it, grouped by Dataset. UN agencies are left\nout when the UN origin is off. The response has no count and no pagination.", - "properties": { - "sources": { - "items": { - "$ref": "#/$defs/SourceCatalogueEntry" - }, - "title": "Sources", - "type": "array" - } - }, - "required": ["sources"], - "title": "SourceCatalogue", - "type": "object" - }, - "source_documentation_response": { - "$defs": { - "ChangeEntry": { - "description": "One change in a release.", - "properties": { - "kind": { - "description": "the Keep a Changelog group the change sits under", - "enum": [ - "added", - "changed", - "deprecated", - "removed", - "fixed", - "security" - ], - "title": "Kind", - "type": "string" - }, - "note": { - "description": "the change, as CommonMark", - "title": "Note", - "type": "string" - } - }, - "required": ["kind", "note"], - "title": "ChangeEntry", - "type": "object" - }, - "DataCommonsRef": { - "description": "The Data Commons that serves a fact. `id` is the wire enum; `label` its display name.", - "properties": { - "id": { - "enum": ["dfo", "base", "un_system"], - "title": "Id", - "type": "string" - }, - "label": { - "title": "Label", - "type": "string" - } - }, - "required": ["id", "label"], - "title": "GraphDataCommonsRef", - "type": "object" - }, - "DocumentErrorEntry": { - "description": "A Markdown document the source carries that this door could not serve.\nThe member it fills is empty and named in `gaps`.", - "properties": { - "line": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "1-based line in the decoded document where the problem starts, or null", - "title": "Line" - }, - "member": { - "description": "the wire path the document fills", - "enum": [ - "transformation_log", - "version_history", - "methodology.description", - "data_notes" - ], - "title": "Member", - "type": "string" - }, - "reason": { - "description": "the template rule the document breaks", - "enum": [ - "undecodable", - "empty_document", - "content_outside_section", - "unexpected_heading_level", - "heading_not_plain_text", - "empty_heading", - "empty_section", - "disallowed_block", - "raw_html", - "hard_break", - "invalid_release_heading", - "missing_release_title", - "release_dates_not_descending", - "duplicate_release_date", - "unknown_change_kind", - "duplicate_change_kind", - "not_single_bullet_list", - "list_item_not_single_paragraph", - "document_too_large", - "nesting_too_deep", - "conflicting_values" - ], - "title": "Reason", - "type": "string" - } - }, - "required": ["member", "line", "reason"], - "title": "DocumentErrorEntry", - "type": "object" - }, - "Methodology": { - "properties": { - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "how the publisher collects and compiles the data, as CommonMark", - "title": "Description" - } - }, - "required": ["description"], - "title": "Methodology", - "type": "object" - }, - "ScopeAndUnits": { - "description": "`countries` is always `[]`. `years_covered` is filled where the graph\nhas it. `currencies` lists every currency unit the coverage index gives the\nsource's Provenances, sorted, and `granularity` is filled where it gives\none period and axis pair for the source.", - "properties": { - "countries": { - "items": { - "type": "string" - }, - "title": "Countries", - "type": "array" - }, - "currencies": { - "items": { - "type": "string" - }, - "title": "Currencies", - "type": "array" - }, - "granularity": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Granularity" - }, - "years_covered": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Years Covered" - } - }, - "required": ["countries", "years_covered", "granularity", "currencies"], - "title": "ScopeAndUnits", - "type": "object" - }, - "SourceDetails": { - "properties": { - "citation": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the source's `licenseAttribution` text", - "title": "Citation" - }, - "data_commons": { - "anyOf": [ - { - "$ref": "#/$defs/DataCommonsRef" - }, - { - "type": "null" - } - ], - "description": "the Data Commons serving the documented Provenances, null unless the origin catalogue admits every one of them and they share one" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "name_of_source": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Name Of Source" - }, - "publisher": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Publisher" - }, - "source": { - "anyOf": [ - { - "$ref": "#/$defs/SourceNodeRef" - }, - { - "type": "null" - } - ], - "description": "the origin registry's source for the documented Provenances, null unless the origin catalogue admits every one of them and they share one" - }, - "source_data_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the file the pipeline downloads, the source's `sourceDataUrl`", - "title": "Source Data Url" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - } - }, - "required": [ - "name_of_source", - "publisher", - "source", - "data_commons", - "description", - "source_url", - "source_data_url", - "citation" - ], - "title": "SourceDetails", - "type": "object" - }, - "SourceLicense": { - "properties": { - "last_update": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Update" - }, - "next_expected_update": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Next Expected Update" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Type" - }, - "update_cadence": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Update Cadence" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "the licence text on the publisher's site, the source's `license`", - "title": "Url" - } - }, - "required": [ - "type", - "url", - "update_cadence", - "last_update", - "next_expected_update" - ], - "title": "SourceLicense", - "type": "object" - }, - "SourceNodeRef": { - "description": "A Data Commons `Source` node (`dc/s/*`). On the UN System Data Commons, where every\nagency sits under one source, it is the agency provenance (`undata/p/*`).", - "properties": { - "label": { - "title": "Label", - "type": "string" - }, - "ref": { - "title": "Ref", - "type": "string" - } - }, - "required": ["ref", "label"], - "title": "GraphSourceNodeRef", - "type": "object" - }, - "TransformationLogEntry": { - "description": "One step of the pipeline's transformations, in pipeline order.", - "properties": { - "description": { - "description": "what the step does, as CommonMark", - "title": "Description", - "type": "string" - }, - "transformation": { - "description": "the step title, plain text", - "title": "Transformation", - "type": "string" - } - }, - "required": ["transformation", "description"], - "title": "TransformationLogEntry", - "type": "object" - }, - "Usage": { - "description": "`api_access`/`python` are `None` for every source -- an absent\nmember, not a stand-in object -- named in `gaps` alongside\nevery other absent member. Built by `graph_api.usage.usage_document`,\nnever constructed inline at a call site.", - "properties": { - "api_access": { - "anyOf": [ - { - "$ref": "#/$defs/UsageEntry" - }, - { - "type": "null" - } - ], - "default": null - }, - "python": { - "anyOf": [ - { - "$ref": "#/$defs/UsageEntry" - }, - { - "type": "null" - } - ], - "default": null - } - }, - "required": ["api_access", "python"], - "title": "Usage", - "type": "object" - }, - "UsageEntry": { - "description": "The shape a non-null `Usage.api_access`/`.python` entry takes. Both\nof its own members are always `None`, and no dcid produces an entry at\nall -- `graph_api.usage`'s own docstring is the record of why.", - "properties": { - "code": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Code" - }, - "documentation_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Documentation Url" - } - }, - "required": ["documentation_url", "code"], - "title": "UsageEntry", - "type": "object" - }, - "VersionHistoryEntry": { - "description": "One release of the pipeline's changelog, newest first.", - "properties": { - "changes": { - "description": "every change, group by group in order", - "items": { - "$ref": "#/$defs/ChangeEntry" - }, - "title": "Changes", - "type": "array" - }, - "date": { - "description": "the release date, YYYY-MM-DD", - "title": "Date", - "type": "string" - }, - "title": { - "description": "the release title, plain text", - "title": "Title", - "type": "string" - } - }, - "required": ["date", "title", "changes"], - "title": "VersionHistoryEntry", - "type": "object" - } - }, - "description": "The full `GET /api/graph/documentation/{dcid}` response.", - "properties": { - "data_notes": { - "description": "one caveat per entry, as CommonMark", - "items": { - "type": "string" - }, - "title": "Data Notes", - "type": "array" - }, - "details": { - "$ref": "#/$defs/SourceDetails" - }, - "document_errors": { - "description": "each Markdown document the source carries but this door could not serve", - "items": { - "$ref": "#/$defs/DocumentErrorEntry" - }, - "title": "Document Errors", - "type": "array" - }, - "gaps": { - "description": "every member path that is null or empty for this source, in spec order, e.g. 'details.citation', 'scope_and_units.countries'", - "items": { - "type": "string" - }, - "title": "Gaps", - "type": "array" - }, - "license": { - "$ref": "#/$defs/SourceLicense" - }, - "methodology": { - "$ref": "#/$defs/Methodology" - }, - "scope_and_units": { - "$ref": "#/$defs/ScopeAndUnits" - }, - "transformation_log": { - "items": { - "$ref": "#/$defs/TransformationLogEntry" - }, - "title": "Transformation Log", - "type": "array" - }, - "usage": { - "$ref": "#/$defs/Usage" - }, - "version_history": { - "items": { - "$ref": "#/$defs/VersionHistoryEntry" - }, - "title": "Version History", - "type": "array" - } - }, - "required": [ - "details", - "license", - "scope_and_units", - "methodology", - "data_notes", - "usage", - "transformation_log", - "version_history", - "gaps", - "document_errors" - ], - "title": "SourceDocumentation", - "type": "object" - } - } -} diff --git a/src/lib/graph/schema.d.ts b/src/lib/graph/schema.d.ts deleted file mode 100644 index 89a4240..0000000 --- a/src/lib/graph/schema.d.ts +++ /dev/null @@ -1,2129 +0,0 @@ -// Generated from src/lib/graph/graph-api-schema.json by `pnpm graph:types`. -// Do not edit by hand. - -export type paths = Record; -export type webhooks = Record; -export interface components { - schemas: { - /** - * HealthResponse - * @description `GET /healthz`'s own response body, shared across every surface. - */ - health_response: { - /** - * Build - * @description the commit sha the image was built from, the same value the x-dfo-commit response header carries, "unknown" on a checkout run with no DFO_BUILD_COMMIT set - */ - build: string; - /** - * Capability Version - * @description this surface's own capability_version token - */ - capability_version: string; - /** - * Status - * @description always "ok" for a 200 response - * @constant - */ - status: 'ok'; - }; - /** - * GraphAvailabilitySource - * @description A source that holds the variable: its provenance, labelled with the catalogue's name. - */ - AvailabilitySource: { - /** - * Documentation - * @description the path of the provenance's source document - */ - documentation: string; - /** Label */ - label: string | null; - /** Ref */ - ref: string; - }; - /** - * GraphCodeItem - * @description A code in a `codes` or `children` list, with its code and its parent's dcid. - */ - CodeItem: { - /** Code */ - code: string; - /** Label */ - label: string | null; - /** - * Parent - * @description the parent code's dcid; null for a top-level code - */ - parent: string | null; - /** Ref */ - ref: string; - }; - /** - * GraphFacetItem - * @description One facet of a variable, as the `facets` list relation serves it. `ref` is the facet id, - * which hashes the facet's metadata. - */ - FacetItem: { - /** First Year */ - first_year: string | null; - /** - * Label - * @default null - */ - label: null; - /** Last Year */ - last_year: string | null; - measurement_method: components['schemas']['NodeRef'] | null; - /** Observation Period */ - observation_period: string | null; - /** Observations */ - observations: number; - /** - * Places - * @description null for a role-bearing variable - */ - places: number | null; - /** Ref */ - ref: string; - /** Scaling */ - scaling: string | null; - source: components['schemas']['AvailabilitySource']; - unit: components['schemas']['NodeRef'] | null; - }; - /** - * GraphMemberItem - * @description One item of a list: its dcid and the owner's label for it, `null` where the owner holds - * no name. - */ - MemberItem: { - /** Label */ - label: string | null; - /** Ref */ - ref: string; - }; - /** - * GraphNodeRef - * @description A graph reference. `label` is `null` when the target is not held, carries no `name`, or - * carries only a `name` equal to its own dcid. - */ - NodeRef: { - /** Label */ - label: string | null; - /** Ref */ - ref: string; - }; - /** - * Projection - * @description A named cut of a membership by member class. - * @enum {string} - */ - Projection: 'countries' | 'other_states' | 'territories' | 'former_states' | 'institutions'; - /** - * GraphMembersPage - * @description One page of `GET /api/graph/node/{dcid}/members`. - */ - members_response: { - /** - * As Of - * @description the date membership was read at; null for today - */ - as_of: string | null; - /** - * Built From - * @description the build of each table the list read - */ - built_from: { - [key: string]: string; - }; - /** - * Complete - * @description whether the walk reached the end of a list the owner holds in full - */ - complete: boolean; - /** - * Gaps - * @description the code of each way the list is partial - */ - gaps: string[]; - /** Items */ - items: ( - | components['schemas']['CodeItem'] - | components['schemas']['FacetItem'] - | components['schemas']['MemberItem'] - )[]; - /** - * Next Cursor - * @description the cursor for the next page; null when this page ends the list - */ - next_cursor: string | null; - /** @description the membership projection listed; null for a relation that takes none */ - projection: components['schemas']['Projection'] | null; - /** - * Ref - * @description the node whose list this is - */ - ref: string; - /** - * Relation - * @enum {string} - */ - relation: - | 'codes' - | 'children' - | 'datasets' - | 'variables' - | 'members' - | 'countries' - | 'facets'; - /** - * Total - * @description the list's length; null where the list is partial - */ - total: number | null; - }; - /** AggregateNode */ - AggregateNode: { - aggregate: components['schemas']['PartyBlock']; - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'aggregate'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphMembershipAuthority - * @description Where a membership's rows come from, with the data version that reproduces them. - */ - Authority: { - /** Name */ - name: string; - /** Version */ - version: string; - }; - /** - * GraphAvailability - * @description Where DFO holds observations of a variable. `sources: []` means it verifiably holds - * none. - */ - Availability: { - /** @description null when no facet dispatches a request naming nothing */ - default: components['schemas']['AvailabilityDefault'] | null; - /** - * More Sources - * @description the sources past the first ten - */ - more_sources: number; - /** - * Scope - * @default dfo - * @constant - */ - scope: 'dfo'; - /** Sources */ - sources: components['schemas']['SourceAvailability'][]; - summary: components['schemas']['AvailabilitySummary']; - }; - /** - * GraphAvailabilityDefault - * @description What a data request naming no place, years or facet receives. - */ - AvailabilityDefault: { - /** - * Facets - * @description the facet ids the request is served, in order - */ - facets: string[]; - /** First Year */ - first_year: string | null; - /** Last Year */ - last_year: string | null; - measurement_method: components['schemas']['NodeRef'] | null; - /** Observation Period */ - observation_period: string | null; - /** - * Places - * @description null for a role-bearing variable - */ - places: number | null; - source: components['schemas']['AvailabilitySource'] | null; - unit: components['schemas']['NodeRef'] | null; - /** - * Without Data - * @description the places, or parties, holding the variable that the default leaves without data - */ - without_data: number; - }; - /** - * GraphAvailabilitySummary - * @description The variable across every source. - */ - AvailabilitySummary: { - /** - * Entities - * @description the entities covered per graph role; null for any other variable - */ - entities: { - [key: string]: components['schemas']['EntityCounts']; - } | null; - /** Facets */ - facets: number; - /** First Year */ - first_year: string | null; - /** Last Year */ - last_year: string | null; - /** - * Places - * @description the places covered by kind; null for a role-bearing variable, and while the places' kinds are unread (a transient gap) - */ - places: { - [key: string]: number; - } | null; - /** Sources */ - sources: number; - }; - /** - * GraphAvailabilityBinding - * @description The `scope.facets` values that request a series from Datasets, in its leading unit. - */ - Binding: { - /** Measurementmethod */ - measurementMethod: string | null; - /** Provenance */ - provenance: string; - /** Unit */ - unit: string | null; - }; - /** - * GraphCodeBlock - * @description A code's detail block. - */ - CodeBlock: { - /** Code */ - code: string; - /** @description the system's graph node, such as `CRSPurposeCodeEnum` */ - code_system: components['schemas']['NodeRef'] | null; - /** @description the code it specialises; null for a root */ - parent: components['schemas']['NodeRef'] | null; - /** - * Property - * @description the constraint property the code is a value of - */ - property: string; - /** Synonyms */ - synonyms: string[]; - }; - /** CodeNode */ - CodeNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - code: components['schemas']['CodeBlock']; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'code'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphCodeSystemBlock - * @description A code system's detail block. - */ - CodeSystemBlock: { - /** - * Code Count - * @description how many codes the code index holds for the system - */ - code_count: number; - declarations: components['schemas']['CodeSystemDeclarations']; - /** - * Plain Name - * @description the property's plain name, such as `sector` - */ - plain_name: string; - /** - * Property - * @description the constraint property the system governs - */ - property: string; - }; - /** - * GraphCodeSystemDeclarations - * @description The rules a code system declares (`code_index.types.CodeSystemDeclaration`). - */ - CodeSystemDeclarations: { - /** - * Absent Reading - * @description how a variable that does not declare the property reads - * @enum {string} - */ - absent_reading: 'not_declared' | 'aggregate'; - /** - * Disjoint From Children - * @description whether a parent code's records sit apart from its children's, so a parent's total is its own records plus its descendants' (CRS purposes); false where a parent row already totals its children (DAC1 aid types) - */ - disjoint_from_children: boolean; - /** - * Hierarchical - * @description whether its codes nest through specializationOf - */ - hierarchical: boolean; - /** - * Summable - * @description whether sibling values can rebuild a parent total - */ - summable: boolean; - }; - /** CodeSystemNode */ - CodeSystemNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - code_system: components['schemas']['CodeSystemBlock']; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'code_system'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphDefinitionConstraint - * @description One constraint: the property and the value the variable fixes it at. - */ - Constraint: { - property: components['schemas']['NodeRef']; - value: components['schemas']['NodeRef']; - }; - /** ContinentNode */ - ContinentNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - continent: components['schemas']['PlaceBlock']; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'continent'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** ContinentalUnionNode */ - ContinentalUnionNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - continental_union: components['schemas']['PlaceBlock']; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'continental_union'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** CountryNode */ - CountryNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - country: components['schemas']['PlaceBlock']; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'country'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphDataCommonsRef - * @description The Data Commons that serves a fact. `id` is the wire enum; `label` its display name. - */ - DataCommonsRef: { - /** - * Id - * @enum {string} - */ - id: 'dfo' | 'base' | 'un_system'; - /** Label */ - label: string; - }; - /** DatasetNode */ - DatasetNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - dataset: components['schemas']['SourceBlock']; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'dataset'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphDefinitionText - * @description The graph's prose for one part of a definition. - */ - DefinitionText: { - /** @description the part the text defines */ - of: components['schemas']['NodeRef']; - /** Text */ - text: string; - }; - /** - * GraphAvailabilityEntityCounts - * @description The distinct entities in one role, split by their kind in the code index. - */ - EntityCounts: { - /** - * Parties - * @description entities with figures of their own - */ - parties: number; - /** - * Residual - * @description entities holding figures no other entity does - */ - residual: number; - /** - * Totals - * @description entities that hold other entities' figures - */ - totals: number; - /** - * Unclassified - * @description entities the code index does not list - */ - unclassified: number; - }; - /** - * Freshness - * @description A source's own refresh cadence, read from DCP provenance arcs that imports populate - * unevenly: `dc/base/WHO_COVID19` carries both `sourceReleaseFrequency` and - * `automaticRefreshType`, `dc/base/BIS_CentralBankPolicyRate` only the second, and - * `dc/base/WHO_GHO` neither. Nullability is the contract. - * - * `release_frequency` is the raw `sourceReleaseFrequency` ISO 8601 duration (`P1M`); - * `release_frequency_label` is `materialise.cadence.cadence_label`'s display label for it - * (`Monthly`), or the raw token when that module does not recognise it. - * - * `refresh_type` is `automaticRefreshType`'s value: how this deployment refreshes the - * source, such as `GCPCloudRunAutomaticRefresh`, or the sentinel `NoAutomaticRefresh`. - */ - Freshness: { - /** Refresh Type */ - refresh_type: string | null; - /** Release Frequency */ - release_frequency: string | null; - /** Release Frequency Label */ - release_frequency_label: string | null; - }; - /** GroupNode */ - GroupNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - group: components['schemas']['MembershipBlock']; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'group'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphDefinitionMeasure - * @description What the variable counts or sums, as the code index names it. - */ - Measure: { - /** - * Label - * @description the measure's noun phrase, such as `net disbursements` - */ - label: string; - }; - /** - * GraphMembershipBlock - * @description A group's or region's membership under its declared authority. - */ - MembershipBlock: { - /** - * As Of - * @description the date the read asked for; null for today - */ - as_of: string | null; - authority: components['schemas']['Authority']; - /** - * Effective Date - * @description the latest membership change on or before the date; null for an undated membership - */ - effective_date: string | null; - /** Projections */ - projections: components['schemas']['ProjectionCount'][]; - }; - /** - * GraphAvailabilityNationalCurrency - * @description The units that are each covered place's own currency. - */ - NationalCurrency: { - /** Currencies */ - currencies: number; - /** Places */ - places: number; - }; - /** OrganisationNode */ - OrganisationNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'organisation'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - organisation: components['schemas']['PartyBlock']; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * OtherNode - * @description A node no other kind fits. `types` and `description` carry what the graph holds. - */ - OtherNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'other'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphPartyBlock - * @description An organisation's or aggregate's detail block. - */ - PartyBlock: { - /** - * Roles - * @description the role properties a node of these types can fill, by the role ranges the graph declares (rangeIncludes and its subClassOf closure); null when that read failed - */ - roles: string[] | null; - }; - /** - * GraphPlaceBlock - * @description A place's detail block. `membership` is set for a region the membership policy holds. - */ - PlaceBlock: { - /** - * Contained In - * @description the containedInPlace targets - */ - contained_in: components['schemas']['NodeRef'][]; - membership: components['schemas']['MembershipBlock'] | null; - }; - /** PlaceOtherNode */ - PlaceOtherNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'place_other'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - place_other: components['schemas']['PlaceBlock']; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphPriceBasis - * @description Current or constant prices, with the base year of constant prices when known. - */ - PriceBasisWords: { - /** Base Year */ - base_year: number | null; - /** - * Prices - * @enum {string} - */ - prices: 'current' | 'constant'; - }; - /** - * GraphProjectionCount - * @description One projection of a membership and its member count at the block's date. - */ - ProjectionCount: { - /** - * Complete - * @description false when the authority does not record the projection, or is known to hold it only in part (`membership_incomplete`) - */ - complete: boolean; - /** - * Count - * @description members under the projection; null when the authority does not record it - */ - count: number | null; - projection: components['schemas']['Projection']; - }; - /** ProvenanceNode */ - ProvenanceNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'provenance'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - provenance: components['schemas']['SourceBlock']; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphAvailabilitySeries - * @description A source's facets sharing a measurement method, period and scaling. - */ - Series: { - binding: components['schemas']['Binding']; - /** First Year */ - first_year: string | null; - /** Last Year */ - last_year: string | null; - /** @description null when no facet states a method: no stated method */ - measurement_method: components['schemas']['NodeRef'] | null; - /** Observation Period */ - observation_period: string | null; - /** Observations */ - observations: number; - /** - * Places - * @description null for a role-bearing variable - */ - places: number | null; - /** Scaling */ - scaling: string | null; - units: components['schemas']['UnitsFold']; - }; - /** - * GraphAvailabilitySourceEntry - * @description One source's facets of the variable, and their series. - */ - SourceAvailability: { - /** - * Entities - * @description the entities covered per graph role; null for any other variable - */ - entities: { - [key: string]: components['schemas']['EntityCounts']; - } | null; - /** Facets */ - facets: number; - /** First Year */ - first_year: string | null; - /** Last Year */ - last_year: string | null; - /** - * Places - * @description the places covered by kind; null for a role-bearing variable, and while the places' kinds are unread (a transient gap) - */ - places: { - [key: string]: number; - } | null; - /** Series */ - series: components['schemas']['Series'][]; - source: components['schemas']['AvailabilitySource']; - }; - /** - * GraphSourceBlock - * @description A Source, Dataset or Provenance's detail block. `documentation` is the path of the - * node's source document on this API. - */ - SourceBlock: { - /** @description the Data Commons serving this provenance, from the origin catalogue; null for a provenance the catalogue does not admit, a Dataset, or a Source */ - data_commons: components['schemas']['DataCommonsRef'] | null; - /** - * Description Url - * @description the descriptionUrl arc's value - */ - description_url: string | null; - /** - * Documentation - * @description the path of the node's source document - */ - documentation: string; - /** - * Earliest Observation Date - * @description the earliestObservationDate arc's value - */ - earliest_observation_date: string | null; - freshness: components['schemas']['Freshness']; - /** - * Last Data Refresh Date - * @description the lastDataRefreshDate arc's value - */ - last_data_refresh_date: string | null; - /** - * Latest Observation Date - * @description the latestObservationDate arc's value - */ - latest_observation_date: string | null; - /** License */ - license: string | null; - /** License Type */ - license_type: string | null; - /** - * Next Data Refresh Date - * @description the nextDataRefreshDate arc's value - */ - next_data_refresh_date: string | null; - /** @description the isPartOf arc's target; null when the node has no parent Dataset */ - parent: components['schemas']['NodeRef'] | null; - /** @description the source arc's target; null when the node carries no source arc */ - publisher: components['schemas']['NodeRef'] | null; - /** - * Source Data Url - * @description the sourceDataUrl arc's value - */ - source_data_url: string | null; - /** - * Transformation Logic Url - * @description the dataTransformationLogic arc's value: a URL to the transformation code - */ - transformation_logic_url: string | null; - /** Url */ - url: string | null; - }; - /** SourceNode */ - SourceNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'source'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - source: components['schemas']['SourceBlock']; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphStatVarBlock - * @description A variable's detail block: what it measures and where DFO holds observations of it. - */ - StatVarBlock: { - /** @description where DFO holds observations of the variable; null, and named in gaps, when its read failed or the coverage index is not loaded */ - availability: components['schemas']['Availability'] | null; - definition: components['schemas']['VariableDefinition']; - }; - /** StatVarNode */ - StatVarNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'stat_var'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - stat_var: components['schemas']['StatVarBlock']; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** SubregionNode */ - SubregionNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'subregion'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - subregion: components['schemas']['PlaceBlock']; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - }; - /** - * GraphUnitBlock - * @description A unit's detail block: the words `unit_words` names it by. - */ - UnitBlock: { - /** - * Changes Magnitude - * @description whether the unit changes what a number means, so a heading states it - */ - changes_magnitude: boolean; - /** - * Currency - * @description its ISO 4217 code when it is a currency - */ - currency: string | null; - /** - * Currency Noun - * @description the plural noun a currency reads as, such as `US dollars` - */ - currency_noun: string | null; - /** @description the price basis the unit itself states; null when it states none */ - price_basis: components['schemas']['PriceBasisWords'] | null; - /** @description currency, purchasing_power, percent, or other (`unit_words.unit_class`) */ - unit_class: components['schemas']['UnitKind']; - }; - /** - * GraphAvailabilityUnit - * @description One unit of a series. `ref` is `null` for facets that state no unit. - */ - UnitCount: { - /** Label */ - label: string | null; - /** - * Places - * @description the places its facets cover; null for a role-bearing variable - */ - places: number | null; - /** Ref */ - ref: string | null; - }; - /** @enum {string} */ - UnitKind: 'currency' | 'purchasing_power' | 'percent' | 'other' | 'none'; - /** UnitNode */ - UnitNode: { - /** - * Built From - * @description the build of each table the response read - */ - built_from: { - [key: string]: string; - }; - /** - * Description - * @description the node's prose in the graph; null when it has none - */ - description: string | null; - /** - * Gaps - * @description the member path of every value this door cannot know - */ - gaps: string[]; - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - kind: 'unit'; - /** - * Label - * @description the node's name; for a Provenance, its parent Dataset's name where it has one. Null, and named in gaps, when the graph gives none - */ - label: string | null; - /** - * Links - * @description each list relation the node has, mapped to its route; empty when none - */ - links: { - [key: string]: string; - }; - /** - * Ref - * @description the node's dcid - */ - ref: string; - /** - * Types - * @description the node's typeOf values, as the graph holds them - */ - types: string[]; - unit: components['schemas']['UnitBlock']; - }; - /** - * GraphAvailabilityUnits - * @description A series' units: how many, the two covering the most places, and how many more. - */ - UnitsFold: { - /** Count */ - count: number; - /** Leading */ - leading: components['schemas']['UnitCount'][]; - /** More */ - more: number; - /** @description the units that are their places' national currency; null when none is */ - national_currency: components['schemas']['NationalCurrency'] | null; - }; - /** - * GraphVariableDefinition - * @description What a variable measures, part by part. - * - * `constraints` are ordered by property dcid: the code index holds a variable's constraints - * as a mapping with no declared order, and the graph's `constraintProperties` arc has none. - */ - VariableDefinition: { - /** - * Constraints - * @description each constraint the measure does not state, ordered by property dcid; null when the read of a variable's constraint values failed - */ - constraints: components['schemas']['Constraint'][] | null; - /** - * Definitions - * @description the graph's prose per part: the variable's own, then the measure's, then each constraint value's, in constraint order; a part with none is left out - */ - definitions: components['schemas']['DefinitionText'][]; - /** @description the measure the code index names; null when it names none */ - measure: components['schemas']['Measure'] | null; - /** @description the measuredProperty; null when the variable declares none */ - measured_property: components['schemas']['NodeRef'] | null; - /** @description the populationType; null when the variable declares none */ - population_type: components['schemas']['NodeRef'] | null; - /** - * Roles - * @description the entity roles the variable's observations carry, from its declared observationProperties, defaulting to observationAbout when it declares none - */ - roles: string[]; - /** - * Source Indicator Codes - * @description the sourceIndicatorCode arc's values: the codes naming the source series, as the publisher codes it (IMF WEO GDP carries NGDP and NGDPD); empty when it has none - */ - source_indicator_codes: string[]; - /** @description the statType; null when the variable declares none or its read failed */ - stat_type: components['schemas']['NodeRef'] | null; - }; - node_response: - | components['schemas']['StatVarNode'] - | components['schemas']['CodeSystemNode'] - | components['schemas']['CodeNode'] - | components['schemas']['GroupNode'] - | components['schemas']['CountryNode'] - | components['schemas']['ContinentNode'] - | components['schemas']['SubregionNode'] - | components['schemas']['ContinentalUnionNode'] - | components['schemas']['PlaceOtherNode'] - | components['schemas']['OrganisationNode'] - | components['schemas']['AggregateNode'] - | components['schemas']['UnitNode'] - | components['schemas']['SourceNode'] - | components['schemas']['DatasetNode'] - | components['schemas']['ProvenanceNode'] - | components['schemas']['OtherNode']; - /** - * GraphNodesRequest - * @description `dcids`: 1 to `NODES_MAX_DCIDS` node dcids read as one batch, in one DCP-read - * executor job. Each dcid matches the GET route's `{dcid}` path syntax and its 512-character - * ceiling. - */ - nodes_request: { - /** Dcids */ - dcids: string[]; - }; - /** - * GraphNotHeldEntry - * @description A batch entry for a dcid where `GET /api/graph/node/{dcid}` answers 404 - * `node_not_held`. - */ - NotHeldEntry: { - /** Ref */ - ref: string; - /** - * Status - * @default not_held - * @constant - */ - status: 'not_held'; - }; - /** - * NodesResponse - * @description `nodes` is index-aligned with the request's `dcids`: a repeated dcid repeats its - * entry. Each entry is the body `GET /api/graph/node/{dcid}` returns for that dcid, or a - * `not_held` entry where that route answers 404. - */ - nodes_response: { - /** Nodes */ - nodes: ( - | ( - | components['schemas']['StatVarNode'] - | components['schemas']['CodeSystemNode'] - | components['schemas']['CodeNode'] - | components['schemas']['GroupNode'] - | components['schemas']['CountryNode'] - | components['schemas']['ContinentNode'] - | components['schemas']['SubregionNode'] - | components['schemas']['ContinentalUnionNode'] - | components['schemas']['PlaceOtherNode'] - | components['schemas']['OrganisationNode'] - | components['schemas']['AggregateNode'] - | components['schemas']['UnitNode'] - | components['schemas']['SourceNode'] - | components['schemas']['DatasetNode'] - | components['schemas']['ProvenanceNode'] - | components['schemas']['OtherNode'] - ) - | components['schemas']['NotHeldEntry'] - )[]; - }; - /** - * GraphResolveRequest - * @description `texts`: 1 to 25 strings resolved as one batch. Each is stripped of surrounding - * whitespace and must then be 1 to 200 characters. - * - * `kinds` admits only candidates of those kinds. It defaults to `DEFAULT_RESOLVE_KINDS`, so a - * request that omits it equals one naming those eight. `code` searches the code index's labels - * and synonyms, and `code_system` narrows codes to one system's graph id - * (`CRSPurposeCodeEnum`); naming `code_system` without `code` in `kinds` is refused at - * `/code_system`. `expand: ["members"]` inlines a group's or region's members. - */ - resolve_request: { - /** - * Code System - * @default null - */ - code_system: string | null; - /** - * Expand - * @default [] - */ - expand: 'members'[]; - /** - * Kinds - * @default [ - * "country", - * "continent", - * "subregion", - * "continental_union", - * "organisation", - * "aggregate", - * "place_other", - * "group" - * ] - */ - kinds: ( - | 'country' - | 'continent' - | 'subregion' - | 'continental_union' - | 'organisation' - | 'aggregate' - | 'place_other' - | 'group' - | 'code' - | 'other' - )[]; - /** Texts */ - texts: string[]; - }; - /** - * GraphResolveEntity - * @description A reference with its kind. `kind` is `null` only for a `not_held` entity, which the - * graph holds no node to classify. - */ - EntityRef: { - /** Kind */ - kind: - | ( - | 'country' - | 'continent' - | 'subregion' - | 'continental_union' - | 'place_other' - | 'aggregate' - | 'organisation' - | 'group' - | 'stat_var' - | 'code_system' - | 'code' - | 'unit' - | 'source' - | 'dataset' - | 'provenance' - | 'other' - ) - | null; - /** Label */ - label: string; - /** Ref */ - ref: string; - }; - /** - * GraphResolveMatched - * @description The listed text the input matched, and whether it is the entity's name, an alias, or a - * code. A phrase naming a group's members ("EU countries") matches as `alias`. - */ - Matched: { - /** - * As - * @enum {string} - */ - as: 'name' | 'alias' | 'code'; - /** Text */ - text: string; - }; - /** - * GraphResolveResult - * @description One text's outcome. `input` echoes the text; fields a status does not use are `null`. - * - * - `resolved`: `entity`, `matched` and `reading`. A group or region adds `projection`, - * `member_count` and `members`: the list route's link, or the members inline (at most - * 256) when the request expanded them. The three are `null` for a region the membership - * policy does not hold. - * - `ambiguous`: `candidates`, in the resolver's order. - * - `not_found`: `near_matches`, hints for a person; a program should pick none by id. - * - `not_held`: `entity`, the id the resolver named, which does not open on the node route. - * - * `reading` is `members` when the text names a group's members ("EU countries"), else - * `entity`. - */ - ResolveResult: { - /** - * Candidates - * @default null - */ - candidates: components['schemas']['EntityRef'][] | null; - /** @default null */ - entity: components['schemas']['EntityRef'] | null; - /** Input */ - input: string; - /** @default null */ - matched: components['schemas']['Matched'] | null; - /** - * Member Count - * @default null - */ - member_count: number | null; - /** - * Members - * @default null - */ - members: string | components['schemas']['NodeRef'][] | null; - /** - * Near Matches - * @default null - */ - near_matches: components['schemas']['EntityRef'][] | null; - /** @default null */ - projection: components['schemas']['Projection'] | null; - /** - * Reading - * @default null - */ - reading: ('members' | 'entity') | null; - /** - * Status - * @enum {string} - */ - status: 'resolved' | 'ambiguous' | 'not_found' | 'not_held'; - }; - /** - * GraphResolveResponse - * @description `results` is index-aligned with the request's `texts`. - */ - resolve_response: { - /** Results */ - results: components['schemas']['ResolveResult'][]; - }; - /** - * GraphRootEntry - * @description A place to start listing from, with the length of its list. - */ - RootEntry: { - /** - * Count - * @description codes for a code system, members under the default projection for a group or region, Datasets for a source - */ - count: number; - /** Label */ - label: string | null; - /** Ref */ - ref: string; - }; - /** - * GraphRoots - * @description `GET /api/graph/roots`: where to start listing. Each list is ordered by dcid. - */ - roots_response: { - /** - * Built From - * @description the build of each table the document read - */ - built_from: { - [key: string]: string; - }; - /** Code Systems */ - code_systems: components['schemas']['RootEntry'][]; - /** Groups */ - groups: components['schemas']['RootEntry'][]; - /** Regions */ - regions: components['schemas']['RootEntry'][]; - /** Sources */ - sources: components['schemas']['RootEntry'][]; - }; - /** - * DatasetEntry - * @description A Dataset and the admitted provenances that belong to it. A provenance with - * no Dataset forms its own entry, keyed by the provenance, so `ref` and `label` - * are the provenance's and `provenances` holds that one provenance. - * - * The card facts (`description`, `license_type`, `update_cadence`, - * `years_covered`, `source_url`) equal the same members of - * `GET /api/graph/documentation/{ref}` for the graph the loaded catalogue - * build read. They are null on UN System Data Commons entries. - */ - DatasetEntry: { - /** - * Description - * @description its sole Provenance's description, as `details.description`; null when it has several - */ - description: string | null; - /** Label */ - label: string; - /** - * License Type - * @description licence label every Provenance agrees on, as `license.type`; null when they disagree or one has none - */ - license_type: string | null; - /** Provenances */ - provenances: components['schemas']['ProvenanceEntry'][]; - /** Ref */ - ref: string; - /** - * Source Url - * @description the publication's page, as `details.source_url`: the Dataset's url, else its sole Provenance's - */ - source_url: string | null; - /** - * Update Cadence - * @description release cadence label every Provenance agrees on, as `license.update_cadence`; null when they disagree or one has none - */ - update_cadence: string | null; - /** - * Years Covered - * @description `YYYY` or `YYYY-YYYY` span of its Provenances' observation dates, as `scope_and_units.years_covered`; null when either end is unknown - */ - years_covered: string | null; - }; - /** - * Exclusion - * @description A provenance a base source holds that this deployment does not admit, because - * another Data Commons supersedes it. - */ - Exclusion: { - /** - * Reason - * @description superseded_by_dfo: an upstream copy of a dataset DFO imports. superseded_by_un_system: a UN System Data Commons agency's series replace it - * @enum {string} - */ - reason: 'superseded_by_dfo' | 'superseded_by_un_system'; - /** Ref */ - ref: string; - }; - /** - * ProvenanceEntry - * @description One admitted provenance: its dcid and the provenance table's name for it. - */ - ProvenanceEntry: { - /** Label */ - label: string; - /** Ref */ - ref: string; - }; - /** - * SourceCatalogueEntry - * @description One source on one Data Commons, with the datasets this deployment - * admits under it and the provenances it excludes. DFO provenances and UN - * agencies exclude nothing here. - */ - SourceCatalogueEntry: { - data_commons: components['schemas']['DataCommonsRef']; - /** Datasets */ - datasets: components['schemas']['DatasetEntry'][]; - /** Exclusions */ - exclusions: components['schemas']['Exclusion'][]; - source: components['schemas']['SourceNodeRef']; - }; - /** - * GraphSourceNodeRef - * @description A Data Commons `Source` node (`dc/s/*`). On the UN System Data Commons, where every - * agency sits under one source, it is the agency provenance (`undata/p/*`). - */ - SourceNodeRef: { - /** Label */ - label: string; - /** Ref */ - ref: string; - }; - /** - * SourceCatalogue - * @description The full `GET /api/graph/sources` response: DFO's sources, then the - * origin registry's base Data Commons entries and UN System Data Commons - * agencies in registry order, each with the provenances the request's - * origin catalogue admits under it, grouped by Dataset. UN agencies are left - * out when the UN origin is off. The response has no count and no pagination. - */ - source_catalogue_response: { - /** Sources */ - sources: components['schemas']['SourceCatalogueEntry'][]; - }; - /** - * ChangeEntry - * @description One change in a release. - */ - ChangeEntry: { - /** - * Kind - * @description the Keep a Changelog group the change sits under - * @enum {string} - */ - kind: 'added' | 'changed' | 'deprecated' | 'removed' | 'fixed' | 'security'; - /** - * Note - * @description the change, as CommonMark - */ - note: string; - }; - /** - * DocumentErrorEntry - * @description A Markdown document the source carries that this door could not serve. - * The member it fills is empty and named in `gaps`. - */ - DocumentErrorEntry: { - /** - * Line - * @description 1-based line in the decoded document where the problem starts, or null - */ - line: number | null; - /** - * Member - * @description the wire path the document fills - * @enum {string} - */ - member: - 'transformation_log' | 'version_history' | 'methodology.description' | 'data_notes'; - /** - * Reason - * @description the template rule the document breaks - * @enum {string} - */ - reason: - | 'undecodable' - | 'empty_document' - | 'content_outside_section' - | 'unexpected_heading_level' - | 'heading_not_plain_text' - | 'empty_heading' - | 'empty_section' - | 'disallowed_block' - | 'raw_html' - | 'hard_break' - | 'invalid_release_heading' - | 'missing_release_title' - | 'release_dates_not_descending' - | 'duplicate_release_date' - | 'unknown_change_kind' - | 'duplicate_change_kind' - | 'not_single_bullet_list' - | 'list_item_not_single_paragraph' - | 'document_too_large' - | 'nesting_too_deep' - | 'conflicting_values'; - }; - /** Methodology */ - Methodology: { - /** - * Description - * @description how the publisher collects and compiles the data, as CommonMark - * @default null - */ - description: string | null; - }; - /** - * ScopeAndUnits - * @description `countries` is always `[]`. `years_covered` is filled where the graph - * has it. `currencies` lists every currency unit the coverage index gives the - * source's Provenances, sorted, and `granularity` is filled where it gives - * one period and axis pair for the source. - */ - ScopeAndUnits: { - /** Countries */ - countries: string[]; - /** Currencies */ - currencies: string[]; - /** - * Granularity - * @default null - */ - granularity: string | null; - /** - * Years Covered - * @default null - */ - years_covered: string | null; - }; - /** SourceDetails */ - SourceDetails: { - /** - * Citation - * @description the source's `licenseAttribution` text - */ - citation: string | null; - /** @description the Data Commons serving the documented Provenances, null unless the origin catalogue admits every one of them and they share one */ - data_commons: components['schemas']['DataCommonsRef'] | null; - /** Description */ - description: string | null; - /** Name Of Source */ - name_of_source: string | null; - /** Publisher */ - publisher: string | null; - /** @description the origin registry's source for the documented Provenances, null unless the origin catalogue admits every one of them and they share one */ - source: components['schemas']['SourceNodeRef'] | null; - /** - * Source Data Url - * @description the file the pipeline downloads, the source's `sourceDataUrl` - */ - source_data_url: string | null; - /** Source Url */ - source_url: string | null; - }; - /** SourceLicense */ - SourceLicense: { - /** Last Update */ - last_update: string | null; - /** Next Expected Update */ - next_expected_update: string | null; - /** Type */ - type: string | null; - /** Update Cadence */ - update_cadence: string | null; - /** - * Url - * @description the licence text on the publisher's site, the source's `license` - */ - url: string | null; - }; - /** - * TransformationLogEntry - * @description One step of the pipeline's transformations, in pipeline order. - */ - TransformationLogEntry: { - /** - * Description - * @description what the step does, as CommonMark - */ - description: string; - /** - * Transformation - * @description the step title, plain text - */ - transformation: string; - }; - /** - * Usage - * @description `api_access`/`python` are `None` for every source -- an absent - * member, not a stand-in object -- named in `gaps` alongside - * every other absent member. Built by `graph_api.usage.usage_document`, - * never constructed inline at a call site. - */ - Usage: { - /** @default null */ - api_access: components['schemas']['UsageEntry'] | null; - /** @default null */ - python: components['schemas']['UsageEntry'] | null; - }; - /** - * UsageEntry - * @description The shape a non-null `Usage.api_access`/`.python` entry takes. Both - * of its own members are always `None`, and no dcid produces an entry at - * all -- `graph_api.usage`'s own docstring is the record of why. - */ - UsageEntry: { - /** - * Code - * @default null - */ - code: string | null; - /** - * Documentation Url - * @default null - */ - documentation_url: string | null; - }; - /** - * VersionHistoryEntry - * @description One release of the pipeline's changelog, newest first. - */ - VersionHistoryEntry: { - /** - * Changes - * @description every change, group by group in order - */ - changes: components['schemas']['ChangeEntry'][]; - /** - * Date - * @description the release date, YYYY-MM-DD - */ - date: string; - /** - * Title - * @description the release title, plain text - */ - title: string; - }; - /** - * SourceDocumentation - * @description The full `GET /api/graph/documentation/{dcid}` response. - */ - source_documentation_response: { - /** - * Data Notes - * @description one caveat per entry, as CommonMark - */ - data_notes: string[]; - details: components['schemas']['SourceDetails']; - /** - * Document Errors - * @description each Markdown document the source carries but this door could not serve - */ - document_errors: components['schemas']['DocumentErrorEntry'][]; - /** - * Gaps - * @description every member path that is null or empty for this source, in spec order, e.g. 'details.citation', 'scope_and_units.countries' - */ - gaps: string[]; - license: components['schemas']['SourceLicense']; - methodology: components['schemas']['Methodology']; - scope_and_units: components['schemas']['ScopeAndUnits']; - /** Transformation Log */ - transformation_log: components['schemas']['TransformationLogEntry'][]; - usage: components['schemas']['Usage']; - /** Version History */ - version_history: components['schemas']['VersionHistoryEntry'][]; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} -export type $defs = Record; -export type operations = Record; diff --git a/src/lib/graph/test/wire.test.ts b/src/lib/graph/test/wire.test.ts deleted file mode 100644 index 1fb98b6..0000000 --- a/src/lib/graph/test/wire.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import assert from 'node:assert/strict'; -import { readFile } from 'node:fs/promises'; -import { test } from 'node:test'; - -import { renderGraphWire, SNAPSHOT, TYPES } from '../../../../scripts/graph-wire.mts'; - -test('schema.d.ts is what the committed Graph API schema snapshot generates', async () => { - const rendered = await renderGraphWire(await readFile(SNAPSHOT, 'utf8')); - - assert.equal( - await readFile(TYPES, 'utf8'), - rendered, - 'src/lib/graph/schema.d.ts differs from what the snapshot generates; run `pnpm graph:types` and review the diff', - ); -}); diff --git a/src/lib/graph/wire.ts b/src/lib/graph/wire.ts index c3d39fd..29aea28 100644 --- a/src/lib/graph/wire.ts +++ b/src/lib/graph/wire.ts @@ -1,25 +1,21 @@ /** - * Names for the Graph API bodies the site reads, taken from the types - * generated from the served schema (`schema.d.ts`, `pnpm graph:types`). + * Names for the Graph API bodies the site reads, from the client package's types generated from + * the served OpenAPI document. */ -import type { components } from './schema.d.ts'; +import type { NodesResponse } from '@developmentfinance/client/wire'; -type Schemas = components['schemas']; +export type { GraphNode } from '@developmentfinance/client'; +export type { + DatasetEntry, + DocumentErrorEntry, + NodesRequest, + SourceCatalogue, + SourceCatalogueEntry, + SourceDocumentation, + VersionHistoryEntry, +} from '@developmentfinance/client/wire'; -/** `POST /api/graph/nodes` request body. */ -export type NodesRequest = Schemas['nodes_request']; -/** One entry of the `POST /api/graph/nodes` response, which holds one per - * requested dcid, in order: a node's body, or a `not_held` entry. */ -export type NodeEntry = Schemas['nodes_response']['nodes'][number]; -/** `GET /api/graph/node/{dcid}` response body, discriminated by `kind`. */ -export type GraphNode = Schemas['node_response']; - -/** `GET /api/graph/sources` response body. */ -export type SourceCatalogue = Schemas['source_catalogue_response']; -export type SourceCatalogueEntry = Schemas['SourceCatalogueEntry']; -export type DatasetEntry = Schemas['DatasetEntry']; -/** `GET /api/graph/documentation/{dcid}` response body. */ -export type SourceDocumentation = Schemas['source_documentation_response']; -export type VersionHistoryEntry = Schemas['VersionHistoryEntry']; -export type DocumentErrorEntry = Schemas['DocumentErrorEntry']; +/** One entry of the `POST /api/graph/nodes` response, which holds one per requested dcid, in + * order: a node's body, or a `not_held` entry. */ +export type NodeEntry = NodesResponse['nodes'][number]; From a82df54fea9c2a5ca947ff27b5fec161c8d9e59a Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 11:33:54 +0200 Subject: [PATCH 16/24] refactor(search): type specs, slot options and assumptions from the wire flattenSpec takes the generated Spec and reads resolved.trace; the resolved.resolution fallback read a field the wire lacks and is gone. Slot options are the generated SlotOption, the share's assumptions column is typed as the wire's Assumption list, and ASSUMPTION_KINDS is a Record over the generated kind union, so a new kind fails the type check. Two fixes ride along. A shared answer whose assumption omits refs, which the wire allows, is accepted. A sentence token with no segment reads as heading in readingsSummary, as it does in sentenceBlocks, through the shared tokenSegment. --- db/schema.ts | 3 +- .../organisms/DataSearch/SearchSentence.tsx | 11 +-- .../organisms/DataSearch/editors.tsx | 2 +- src/lib/search/departures.ts | 17 +++-- src/lib/search/pickerState.ts | 2 +- src/lib/search/readings.ts | 4 +- src/lib/search/searchClient.ts | 38 ++++++---- src/lib/search/searchShare.ts | 2 +- src/lib/search/searchShareRequest.ts | 29 +++++--- src/lib/search/test/fixtures.test.ts | 2 +- .../search/test/fixtures/ambiguous-congo.ts | 5 +- src/lib/search/test/method.test.ts | 2 +- src/lib/search/test/readings.test.ts | 9 +++ src/lib/search/test/searchClient.test.ts | 69 +++++++------------ .../search/test/searchShareRequest.test.ts | 4 ++ src/lib/search/test/view.test.ts | 42 ++++++----- src/lib/search/types.ts | 9 ++- src/lib/search/view.ts | 24 ++++--- 18 files changed, 155 insertions(+), 119 deletions(-) diff --git a/db/schema.ts b/db/schema.ts index 52b870e..f4a3826 100644 --- a/db/schema.ts +++ b/db/schema.ts @@ -1,3 +1,4 @@ +import type { Assumption } from '@developmentfinance/client/wire'; import { sql } from 'drizzle-orm'; import { bigint, @@ -107,7 +108,7 @@ export const shareRef = pgTable( operations: jsonb('operations').notNull().default([]), // The part's assumptions as the response gave them, [] included, // which the replay echoes. Null for a share stored before the column. - assumptions: jsonb('assumptions'), + assumptions: jsonb('assumptions').$type(), }, (table) => [primaryKey({ columns: [table.shareId, table.partIndex] })], ); diff --git a/src/components/organisms/DataSearch/SearchSentence.tsx b/src/components/organisms/DataSearch/SearchSentence.tsx index b3adec7..c3d5af5 100644 --- a/src/components/organisms/DataSearch/SearchSentence.tsx +++ b/src/components/organisms/DataSearch/SearchSentence.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- takes specs, slots and open slot options as `any` and reads only the members it renders, tolerating any that is missing */ +/* eslint-disable @typescript-eslint/no-explicit-any -- takes specs, slots and options of either picker shape as `any` and reads only the members it renders, tolerating any that is missing */ 'use client'; import * as DropdownMenu from '@radix-ui/react-dropdown-menu'; @@ -139,6 +139,7 @@ import type { PlaceOptionsBySpec, RootGroup, SlotOptionsEntry, + SourceSlotOption, } from '@/lib/search/view'; import type { SharedEdit } from './useSearchRun'; @@ -1042,10 +1043,10 @@ export const SearchSentenceHeading = ({ // attribution rather than a filter: nothing to uncheck. const impliedDcid = boundDcid ?? - sourceOptions.find((option: any) => token.text.trim() === sourceOptionLabel(option)) + sourceOptions.find((option) => token.text.trim() === sourceOptionLabel(option)) ?.value?.ref?.ref; const { current, rest } = splitCurrentPick(sourceOptions, impliedDcid); - const sourceRow = (option: any, checked?: boolean) => { + const sourceRow = (option: SourceSlotOption, checked?: boolean) => { const dcid = option.value.ref.ref; return ( @@ -1081,7 +1082,7 @@ export const SearchSentenceHeading = ({ {sourceRow(current, true)} )} - {rest.map((option: any) => ( + {rest.map((option) => ( - {sourceOptions.map((option: any) => { + {sourceOptions.map((option) => { const dcid = option.value.ref.ref; const implicit = !boundDcid && token.text.trim() === sourceOptionLabel(option); diff --git a/src/components/organisms/DataSearch/editors.tsx b/src/components/organisms/DataSearch/editors.tsx index 26d3d93..0345e44 100644 --- a/src/components/organisms/DataSearch/editors.tsx +++ b/src/components/organisms/DataSearch/editors.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- takes specs and open slot options as `any` and reads only the members each editor shows, tolerating any that is missing */ +/* eslint-disable @typescript-eslint/no-explicit-any -- takes specs and options of either picker shape as `any` and reads only the members each editor shows, tolerating any that is missing */ 'use client'; import * as DropdownMenu from '@radix-ui/react-dropdown-menu'; diff --git a/src/lib/search/departures.ts b/src/lib/search/departures.ts index f69afb1..5882487 100644 --- a/src/lib/search/departures.ts +++ b/src/lib/search/departures.ts @@ -28,6 +28,15 @@ export type SentenceBlock = { tokens: SentenceToken[]; }; +/** The segment a token sits in as the site reads it: its own when the site + * knows it, else the heading, the wire's default for a token without one. */ +export function tokenSegment(token: SentenceToken): BlockSegment | 'departure' { + const { segment } = token; + + if (segment === 'departure') return 'departure'; + return segment !== undefined && hasKey(BLOCK_SEGMENTS, segment) ? segment : 'heading'; +} + const isSpacing = (token: SentenceToken) => token.kind === 'text' && token.text.trim() === ''; /** The plan's coverage opener, heading, byline and assumptions clause as @@ -42,12 +51,10 @@ export function sentenceBlocks(plan: readonly SentenceToken[] | null | undefined const blocks: SentenceBlock[] = []; for (const token of plan ?? []) { - if (token.segment === 'departure') continue; + const segment = tokenSegment(token); + + if (segment === 'departure') continue; - // A token without a segment is in the heading, the wire's default; - // so is one in a segment this site does not know. - const segment = - token.segment && hasKey(BLOCK_SEGMENTS, token.segment) ? token.segment : 'heading'; const last = blocks.at(-1); if (last?.segment === segment) last.tokens.push(token); diff --git a/src/lib/search/pickerState.ts b/src/lib/search/pickerState.ts index 9fe3773..3a70ae2 100644 --- a/src/lib/search/pickerState.ts +++ b/src/lib/search/pickerState.ts @@ -15,7 +15,7 @@ import type { Coverage, Warning } from './types.ts'; * view.ts's splitCurrentPick can bound its generic to it, rather than * taking unconstrained options and forcing a cast here. */ export interface OptionLike { - value?: { ref?: { ref?: string; label?: string } }; + value?: { ref?: { ref?: string; label?: string } | null }; dcid?: string; label?: string; coverage?: Coverage | null; diff --git a/src/lib/search/readings.ts b/src/lib/search/readings.ts index 836c249..b478163 100644 --- a/src/lib/search/readings.ts +++ b/src/lib/search/readings.ts @@ -5,7 +5,7 @@ * screen-reader text. Pure; no React. */ -import { refsStatedBesides, sentenceBlocks } from './departures.ts'; +import { refsStatedBesides, sentenceBlocks, tokenSegment } from './departures.ts'; import { planSentenceText, tokenPart } from './sentencePlan.ts'; import type { CandidateBasis, Part, SentenceToken } from './types'; @@ -58,7 +58,7 @@ export function readingOf(spec: { sentence_plan?: SentenceToken[] | null }): Rea * assumptions clause are left out, since the answer block states them. */ export function readingsSummary(plan: readonly SentenceToken[] | null | undefined): string { return (plan ?? []) - .filter((token) => token.segment === 'heading' || token.segment === 'byline') + .filter((token) => ['heading', 'byline'].includes(tokenSegment(token))) .map((token) => token.text) .join('') .trim(); diff --git a/src/lib/search/searchClient.ts b/src/lib/search/searchClient.ts index e79469a..f60e471 100644 --- a/src/lib/search/searchClient.ts +++ b/src/lib/search/searchClient.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- turns unvalidated response bodies and stream events into the page's shapes, so bodies and open slot options are `any` */ +/* eslint-disable @typescript-eslint/no-explicit-any -- turns unvalidated response bodies and stream events into the page's shapes, so bodies are `any` */ /** * Browser-side search client for the /prototype gut-check page. * @@ -31,6 +31,8 @@ import type { ProblemIssue, ServedMember, SlotKey, + SlotOption, + Spec as WireSpec, } from '@developmentfinance/client/wire'; import { datasetsFetch } from './datasetsFetch.ts'; @@ -58,6 +60,7 @@ import { type ResolveStatus, type RoleAxis, type SentenceToken, + type Spec, type SpecIdentity, type SpecObservations, type Warning, @@ -74,7 +77,7 @@ export type { SentenceToken }; export type SlotOptionsData = { key: SlotKey; - options: any[]; + options: SlotOption[]; truncated: boolean; source?: 'observed' | 'seed'; }; @@ -134,7 +137,13 @@ export type SearchEvent = ms?: number | null; } | { kind: 'response'; response: any } - | { kind: 'slot_options'; spec_id: string; key: SlotKey; options: any[]; truncated: boolean } + | { + kind: 'slot_options'; + spec_id: string; + key: SlotKey; + options: SlotOption[]; + truncated: boolean; + } | { /** Coverage-derived facet values (unit / measurementMethod / * provenance), streamed AFTER the response event — the response's @@ -261,8 +270,6 @@ export function buildRequest(input: SearchInput, includeCoverage: boolean) { // envelope enters: `resolved` is spread flat onto the Spec. // .no_data.gate needs no flattening. It's already a scalar. -type WireSpec = { spec_id: string; definition?: any; resolved?: any } & Record; - /** Why `validateResolvedStatVars` rejected a value, or that it passed. A * typed result rather than a bare boolean, so the one caller (below) can * report what specifically didn't match instead of re-deriving it from the @@ -296,8 +303,10 @@ function validateResolvedStatVars(value: unknown): StatVarsValidation { } /** Flatten one wire Spec to the page's Spec. */ -export function flattenSpec(spec: WireSpec | null | undefined): any { - if (!spec) return spec ?? null; +export function flattenSpec(spec: WireSpec): Spec; +export function flattenSpec(spec: WireSpec | null | undefined): Spec | null; +export function flattenSpec(spec: WireSpec | null | undefined): Spec | null { + if (!spec) return null; if (!spec.resolved) { // Every deployment sends the definition/resolved split (contract @@ -311,21 +320,22 @@ export function flattenSpec(spec: WireSpec | null | undefined): any { 'split (contract v1 requires both) — got', spec, ); - return { ...spec, stat_vars_unreadable: true }; + // The body broke the contract the type states, so it holds none of + // the resolved members; every reader checks statVarsUnreadable first. + return { ...spec, stat_vars_unreadable: true } as unknown as Spec; } - const { spec_id, definition, resolved, ...rest } = spec; - const flat = { - ...rest, + const { spec_id, definition, resolved } = spec; + const flat: Spec = { ...resolved, spec_id, // The wire's `trace` is the page's `resolution`. - resolution: resolved.trace ?? resolved.resolution ?? {}, + resolution: resolved.trace, // The hashed identity, echoed verbatim on a dataset_resubmit entry. - identity: definition?.identity ?? null, + identity: definition.identity, // The canonical definition — the Datasets API mints unregistered specs // from it (the "sidecar"). - definition: definition ?? null, + definition, }; // Contract boundary check, deliberately not a coercion. A `stat_vars` diff --git a/src/lib/search/searchShare.ts b/src/lib/search/searchShare.ts index c5475cf..cac8c54 100644 --- a/src/lib/search/searchShare.ts +++ b/src/lib/search/searchShare.ts @@ -146,7 +146,7 @@ export const getSearchShare = async (id: string): Promise => identity: ref.identity, entityGroups: ref.entityGroups as Record | null, operations: ref.operations as Operation[], - assumptions: ref.assumptions as Assumption[] | null, + assumptions: ref.assumptions, contentVersion: ref.contentVersion, artifactDigest: ref.artifactDigest, })), diff --git a/src/lib/search/searchShareRequest.ts b/src/lib/search/searchShareRequest.ts index 62796da..0d6730a 100644 --- a/src/lib/search/searchShareRequest.ts +++ b/src/lib/search/searchShareRequest.ts @@ -4,6 +4,7 @@ import { type AssumptionKind, type EntityGroup, type EntityRoleKey, + hasKey, type HydratedPart, knownPart, type Operation, @@ -87,11 +88,13 @@ const isEntityGroups = (value: any): value is Record => ([role, group]) => ENTITY_ROLE_KEYS.includes(role) && isEntityGroup(group), ); -const ASSUMPTION_KINDS: string[] = [ - 'declared_default', - 'open_role', - 'place_scope', -] satisfies AssumptionKind[]; +// Keyed by every kind the wire names, so a kind Search adds fails the type +// check until this list takes it. +const ASSUMPTION_KINDS: Record = { + declared_default: true, + open_role: true, + place_scope: true, +}; // Search's own bounds on an echoed `Assumption`: a text of 1 to 200 code // points, at most one ref of at most 1024 characters, a binding ref of at @@ -108,14 +111,18 @@ const isAssumption = (value: any): value is Assumption => Object.keys(value).every((member) => ['kind', 'binding_ref', 'refs', 'text'].includes(member), ) && - ASSUMPTION_KINDS.includes(value.kind) && + typeof value.kind === 'string' && + hasKey(ASSUMPTION_KINDS, value.kind) && typeof value.binding_ref === 'string' && value.binding_ref.length <= ASSUMPTION_BINDING_REF_MAX_LENGTH && - Array.isArray(value.refs) && - value.refs.length <= ASSUMPTION_MAX_REFS && - value.refs.every( - (ref: unknown) => typeof ref === 'string' && ref.length <= ASSUMPTION_REF_MAX_LENGTH, - ) && + // `refs` is optional on the wire, so an item may leave it out. + (value.refs === undefined || + (Array.isArray(value.refs) && + value.refs.length <= ASSUMPTION_MAX_REFS && + value.refs.every( + (ref: unknown) => + typeof ref === 'string' && ref.length <= ASSUMPTION_REF_MAX_LENGTH, + ))) && typeof value.text === 'string' && value.text.length > 0 && // A text within the bound spans at most two UTF-16 units per code point. diff --git a/src/lib/search/test/fixtures.test.ts b/src/lib/search/test/fixtures.test.ts index 8e2a1f2..a3bcbfb 100644 --- a/src/lib/search/test/fixtures.test.ts +++ b/src/lib/search/test/fixtures.test.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- these tests walk the raw wire envelope shape, pre-flatten (see searchClient.ts's own WireSpec) */ +/* eslint-disable @typescript-eslint/no-explicit-any -- these tests walk the raw wire envelope shape, pre-flatten, which the fixtures hold as `unknown` */ import assert from 'node:assert/strict'; import test from 'node:test'; import { flattenSpec, normalizeResponse, unflattenSpec } from '../searchClient.ts'; diff --git a/src/lib/search/test/fixtures/ambiguous-congo.ts b/src/lib/search/test/fixtures/ambiguous-congo.ts index a7b29b1..42827d9 100644 --- a/src/lib/search/test/fixtures/ambiguous-congo.ts +++ b/src/lib/search/test/fixtures/ambiguous-congo.ts @@ -2,9 +2,8 @@ * Trimmed from two real captured `/api/search/resolve` responses, both * entity_ambiguous on "Congo" (DRC vs. Republic of Congo). Neither capture's * own deployment sends `no_data.ambiguous_entities` yet, so that field is - * added by hand here, in the shape the API ships (models/outcomes.py's - * AmbiguousEntityGroup/AmbiguousEntityCandidate): `{text, candidates: - * [{dcid, label, kind}]}`. The two real Congo dcids (country/COD, + * added by hand here, typed by the generated `NoData`: `{text, candidates: + * [{ref, label, kind}]}`. The two real Congo dcids (country/COD, * country/COG) and the candidate labels are the ones the captures' own * `rendered_sentence` already names ("Congo [DRC]"/"Congo [Republic]"). * The "ODA to the Congo" refusal also carries `no_data.options`, one ready diff --git a/src/lib/search/test/method.test.ts b/src/lib/search/test/method.test.ts index 4a5637a..de1ab9c 100644 --- a/src/lib/search/test/method.test.ts +++ b/src/lib/search/test/method.test.ts @@ -322,7 +322,7 @@ test('sourceSlotOptions still reads only the provenance axis', () => { const options = sourceSlotOptions(specOf(methodUnbound)); assert.deepEqual( - options.map((option) => option.value.ref.ref), + options.map((option) => option.value.ref?.ref), [ 'dc/base/India_NationalAccountsStatistics', 'dc/base/India_RBIStateDomesticProduct_AggCountry', diff --git a/src/lib/search/test/readings.test.ts b/src/lib/search/test/readings.test.ts index 0917a7e..b60572f 100644 --- a/src/lib/search/test/readings.test.ts +++ b/src/lib/search/test/readings.test.ts @@ -83,6 +83,15 @@ test('readingsSummary reads the whole summary plan, byline included', () => { ); }); +test('readingsSummary reads a token with no segment as heading, the wire default', () => { + const [lead, ...rest] = summaryPlan(); + + assert.equal( + readingsSummary([{ ...lead, segment: undefined }, ...rest]), + readingsSummary(summaryPlan()), + ); +}); + test("foldReadings folds a candidates part's summary into one what-token named by its variable text", () => { const folded = foldReadings(summaryPlan(0), [ { status: 'candidates', variable_text: 'poverty reduction grants' }, diff --git a/src/lib/search/test/searchClient.test.ts b/src/lib/search/test/searchClient.test.ts index 2f297db..5283b84 100644 --- a/src/lib/search/test/searchClient.test.ts +++ b/src/lib/search/test/searchClient.test.ts @@ -19,6 +19,8 @@ import { resolveSuggestion, type SearchEvent, } from '../searchClient.ts'; +import type { Spec as WireSpec } from '@developmentfinance/client/wire'; + import type { SpecIdentity, Warning } from '../types.ts'; import { fixtures } from './fixtures/index.ts'; import { @@ -40,14 +42,15 @@ const OPTIONS_IDENTITY: SpecIdentity = { }; // A minimal but wire-shaped WireSpec: the definition/resolved split contract -// v1 requires, with a well-formed `stat_vars`. -function wireSpec(statVars: unknown) { +// v1 requires, carrying `statVars` as its `stat_vars`. The tests pass broken +// values here on purpose, which is the one place a body leaves the type. +function wireSpec(statVars: unknown): WireSpec { return { spec_id: 'spec-1', definition: { schema_version: 1, spec_id: 'spec-1', - identity: { identity_version: 'spec1' }, + identity: OPTIONS_IDENTITY, }, resolved: { shape: { @@ -57,10 +60,10 @@ function wireSpec(statVars: unknown) { member_count: 1, }, slots: [], - stat_vars: statVars, + stat_vars: statVars as WireSpec['resolved']['stat_vars'], entities: [], coverage: { kind: 'bare', has_data: true }, - trace: {}, + trace: { resolved_entities: [], resolved_sources: [], slot_filters: [] }, }, }; } @@ -121,10 +124,9 @@ test('flattenSpec flags a null stat_vars as unreadable', () => { }); test('flattenSpec flags a spec missing the definition/resolved split as unreadable, rather than passing it through as a flat pre-v1 body', () => { - const flat = flattenSpec({ - spec_id: 'spec-1', - stat_vars: ['dcid/GdpNominal'], - }); + // A flat pre-v1 body, which the wire type rules out. + const preV1 = { spec_id: 'spec-1', stat_vars: ['dcid/GdpNominal'] }; + const flat = flattenSpec(preV1 as unknown as WireSpec); assert.equal(statVarsUnreadable(flat), true); }); @@ -413,44 +415,25 @@ test('placeOptionValues returns an empty list for an empty/absent items array', }); test('flattenSpec reads a SlotOptions payload carrying truncated (post-drift-correction shape)', () => { - const wire = { - spec_id: 'spec-1', - definition: { - schema_version: 1, - spec_id: 'spec-1', - identity: { identity_version: 'spec1' }, - }, - resolved: { - shape: { - shape_id: 'shape-1', - label: 'Development finance', - slot_keys: [], - member_count: 1, + const wire = wireSpec({ member_count: 1, member_count_exact: true, served_count: 1 }); + + wire.resolved.slot_options = [ + { + key: { + axis: 'how', + property: { ref: 'crsPurpose', label: 'purpose' }, + label: 'purpose', }, - slots: [], - slot_options: [ - { - key: { - axis: 'how', - property: { ref: 'crsPurpose', label: 'purpose' }, - label: 'purpose', - }, - options: [{ value: { value_kind: 'enum_value' } }], - truncated: false, - source: 'seed', - }, - ], - stat_vars: { member_count: 1, member_count_exact: true, served_count: 1 }, - entities: [], - coverage: { kind: 'bare', has_data: true }, - trace: {}, + options: [{ value: { value_kind: 'enum_value' } }], + truncated: false, + source: 'seed', }, - }; + ]; - const flat = flattenSpec(wire); + const [options] = flattenSpec(wire).slot_options ?? []; - assert.equal(flat.slot_options[0].truncated, false); - assert.equal('complete' in flat.slot_options[0], false); + assert.equal(options?.truncated, false); + assert.ok(options && !('complete' in options)); }); test('isLevelScopedOptions is true once relation is populated on the list', () => { diff --git a/src/lib/search/test/searchShareRequest.test.ts b/src/lib/search/test/searchShareRequest.test.ts index c70cef3..85746b3 100644 --- a/src/lib/search/test/searchShareRequest.test.ts +++ b/src/lib/search/test/searchShareRequest.test.ts @@ -105,8 +105,11 @@ test('a part reads with its assumptions, [] and null included, and a malformed o text: 'official development assistance', }; const scope = { kind: 'place_scope', binding_ref: 'where:', refs: [], text: 'every country' }; + // The wire's `refs` is optional, so an item without it reads. + const donors = { kind: 'open_role', binding_ref: 'origin:', text: 'every donor' }; assert.deepEqual(reads([oda, scope])?.assumptions, [oda, scope]); + assert.deepEqual(reads([donors])?.assumptions, [donors]); assert.deepEqual(reads([])?.assumptions, []); assert.equal(reads(null)?.assumptions, null); assert.ok(reads(undefined)); @@ -115,6 +118,7 @@ test('a part reads with its assumptions, [] and null included, and a malformed o oda, [{ ...oda, kind: 'guess' }], [{ ...oda, refs: [27] }], + [{ ...oda, refs: null }], [{ ...oda, text: null }], [{ ...oda, note: 'extra' }], [{ ...oda, text: '' }], diff --git a/src/lib/search/test/view.test.ts b/src/lib/search/test/view.test.ts index 2c105b9..69321dc 100644 --- a/src/lib/search/test/view.test.ts +++ b/src/lib/search/test/view.test.ts @@ -50,7 +50,15 @@ import { splitCurrentPick, } from '../view.ts'; import type { EntityOptionsBySpec, PlaceOptionScopeResult, PlaceOptionsEntry } from '../view.ts'; -import type { SentenceToken } from '../types.ts'; +import type { SentenceToken, SlotOption } from '../types.ts'; + +/** A slot option binding `ref`, or the one that binds no value. */ +const slotOption = (ref?: string, label = ref): SlotOption => ({ + value: { + value_kind: 'enum_value', + ref: ref === undefined ? null : { ref, label: label ?? ref }, + }, +}); test('entity_options reducer preserves the SSE truncation flag for a destination', () => { const entries = mergeEntityOptionsEntry({}, 'spec-1', { @@ -594,7 +602,7 @@ test('slotOptionsEntry returns an empty, non-truncated entry when the spec_id is test('slotOptionsEntry returns an empty, non-truncated entry when the spec is present but the key is absent', () => { const bySpec = { - 'spec-1': { 'what:crsPurpose': { options: [{ value: {} }], truncated: true } }, + 'spec-1': { 'what:crsPurpose': { options: [slotOption()], truncated: true } }, }; assert.deepEqual(slotOptionsEntry(bySpec, 'spec-1', 'where:'), { @@ -605,7 +613,7 @@ test('slotOptionsEntry returns an empty, non-truncated entry when the spec is pr test('slotOptionsEntry reads back a populated entry, truncated true preserved', () => { const entry = { - options: [{ value: { ref: { ref: 'country/KEN', label: 'Kenya' } } }], + options: [slotOption('country/KEN', 'Kenya')], truncated: true, }; const bySpec = { 'spec-1': { 'where:': entry } }; @@ -615,7 +623,7 @@ test('slotOptionsEntry reads back a populated entry, truncated true preserved', test('slotOptionsEntry does not leak a same-named key from a different spec_id', () => { const bySpec = { - 'spec-1': { 'where:': { options: [{ value: {} }], truncated: false } }, + 'spec-1': { 'where:': { options: [slotOption()], truncated: false } }, }; assert.deepEqual(slotOptionsEntry(bySpec, 'spec-2', 'where:'), { @@ -627,7 +635,7 @@ test('slotOptionsEntry does not leak a same-named key from a different spec_id', // --- mergeSlotOptionsEntry ---------------------------------------------- test('mergeSlotOptionsEntry seeds a brand new spec/key pair into an empty map', () => { - const entry = { options: [{ value: {} }], truncated: false }; + const entry = { options: [slotOption()], truncated: false }; assert.deepEqual(mergeSlotOptionsEntry({}, 'spec-1', 'where:', entry), { 'spec-1': { 'where:': entry }, @@ -635,8 +643,8 @@ test('mergeSlotOptionsEntry seeds a brand new spec/key pair into an empty map', }); test('mergeSlotOptionsEntry adds a second key under a spec without dropping a sibling key already there', () => { - const first = { options: [{ value: { ref: { ref: 'country/KEN' } } }], truncated: false }; - const second = { options: [{ value: { ref: { ref: 'crsPurpose/110' } } }], truncated: true }; + const first = { options: [slotOption('country/KEN')], truncated: false }; + const second = { options: [slotOption('crsPurpose/110')], truncated: true }; const bySpec = mergeSlotOptionsEntry({}, 'spec-1', 'where:', first); assert.deepEqual(mergeSlotOptionsEntry(bySpec, 'spec-1', 'how:crsPurpose', second), { @@ -645,8 +653,8 @@ test('mergeSlotOptionsEntry adds a second key under a spec without dropping a si }); test("mergeSlotOptionsEntry overwrites an existing key's entry, options and truncated both replaced", () => { - const stale = { options: [{ value: { ref: { ref: 'a' } } }], truncated: true }; - const fresh = { options: [{ value: { ref: { ref: 'b' } } }], truncated: false }; + const stale = { options: [slotOption('a')], truncated: true }; + const fresh = { options: [slotOption('b')], truncated: false }; const bySpec = mergeSlotOptionsEntry({}, 'spec-1', 'where:', stale); assert.deepEqual(mergeSlotOptionsEntry(bySpec, 'spec-1', 'where:', fresh), { @@ -655,9 +663,9 @@ test("mergeSlotOptionsEntry overwrites an existing key's entry, options and trun }); test("mergeSlotOptionsEntry leaves a different spec's entries untouched", () => { - const otherSpecEntry = { options: [{ value: {} }], truncated: false }; + const otherSpecEntry = { options: [slotOption()], truncated: false }; const bySpec = mergeSlotOptionsEntry({}, 'spec-1', 'where:', otherSpecEntry); - const newEntry = { options: [{ value: {} }], truncated: true }; + const newEntry = { options: [slotOption()], truncated: true }; const next = mergeSlotOptionsEntry(bySpec, 'spec-2', 'where:', newEntry); @@ -708,9 +716,7 @@ test('showGroupHeadings is true for two groups', () => { // exactly the decision Add Criteria's shared renderer makes off it. test("a level-scoped option list stays level-scoped after slotOptionsEntry's lookup, so a shared renderer would route it through the hierarchy branch", () => { - const levelScoped = [ - { value: { ref: { ref: 'crsPurpose/100' } }, relation: 'root', member_count: 12 }, - ]; + const levelScoped = [{ ...slotOption('crsPurpose/100'), relation: 'root', member_count: 12 }]; const bySpec = mergeSlotOptionsEntry({}, 'spec-1', 'how:crsPurpose', { options: levelScoped, truncated: false, @@ -723,7 +729,7 @@ test("a level-scoped option list stays level-scoped after slotOptionsEntry's loo }); test("a flat option list stays flat after slotOptionsEntry's lookup, so a shared renderer would route it through the flat branch", () => { - const flat = [{ value: { ref: { ref: 'country/KEN' } } }]; + const flat = [slotOption('country/KEN')]; const bySpec = mergeSlotOptionsEntry({}, 'spec-1', 'where:', { options: flat, truncated: false, @@ -733,7 +739,7 @@ test("a flat option list stays flat after slotOptionsEntry's lookup, so a shared }); test('mergeSlotOptionsEntry then slotOptionsEntry round-trips a truncated entry exactly, not just its option list', () => { - const entry = { options: [{ value: { ref: { ref: 'crsTypeOfFlow/110' } } }], truncated: true }; + const entry = { options: [slotOption('crsTypeOfFlow/110')], truncated: true }; const bySpec = mergeSlotOptionsEntry({}, 'spec-1', 'how:crsTypeOfFlow', entry); assert.deepEqual(slotOptionsEntry(bySpec, 'spec-1', 'how:crsTypeOfFlow'), entry); @@ -1976,7 +1982,7 @@ test('slotOffersChoice offers a value binding its other options, and an unbound download: { rows: 1284, rows_exact: true }, }; const one = (served_rows: number | null) => ({ - options: [{ value: { ref: { ref: 'Net' } }, served_rows }], + options: [{ ...slotOption('Net'), served_rows }], truncated: false, }); @@ -1993,7 +1999,7 @@ test('slotOffersChoice offers a value binding its other options, and an unbound binding: { kind: 'set', values: dcids.map((dcid) => ({ ref: { ref: dcid } })) }, }); const members = (...dcids: string[]) => ({ - options: dcids.map((dcid) => ({ value: { ref: { ref: dcid } }, served_rows: null })), + options: dcids.map((dcid) => ({ ...slotOption(dcid), served_rows: null })), truncated: false, }); diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index c3a7308..323f30c 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -36,8 +36,6 @@ type Present = Exclude; // --------------------------------------------------------------------------- export type { - AmbiguousEntityCandidate, - AmbiguousEntityGroup, Assumption, BaseIdentity, CatalogueAnswer, @@ -67,6 +65,8 @@ export type { SentenceToken, Shape, Slot, + SlotOption, + SlotOptions, SpecAlternativeMeasure, SpecObservations, TimeWindow, @@ -177,6 +177,9 @@ export type Spec = wire.ResolvedSpec & { resolution: wire.ResolutionTrace; identity: SpecIdentity | null; definition: wire.SpecDefinition | null; + /** set by `flattenSpec` when `stat_vars` is not the wire's shape, so the page shows a failure + * state */ + stat_vars_unreadable?: true; }; /** A set of competing Specs, each flattened. */ @@ -237,7 +240,7 @@ export type Resolution = Omit & { parts: Part[] }; export type ResolveResponse = Resolution | wire.CatalogueAnswer | wire.DeclinedAnswer; // --------------------------------------------------------------------------- -// Stream payloads the OpenAPI document does not describe +// Stream payloads, hand-written: the OpenAPI document does not describe the SSE stream // --------------------------------------------------------------------------- /** Departures the stream's `done` event adds to one part: facts that depend on the observations diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index e55e76a..3426001 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-explicit-any -- reads specs and open slot options as `any`, each helper dereferencing only the members it names and tolerating any that is missing */ +/* eslint-disable @typescript-eslint/no-explicit-any -- reads specs and options of either picker shape as `any`, each helper dereferencing only the members it names and tolerating any that is missing */ /** * View helpers: flatten a resolved Spec into UI-ready rows and summaries. * Deliberately defensive — the engine contract is authoritative, the UI reads @@ -21,6 +21,7 @@ import { type EntityOptions, type EntityRoleKey, type FacetBasis, + type GraphRef, hasKey, type IdentityFacetBinding, type Known, @@ -36,6 +37,7 @@ import { type PlaceOptionsScope, type RoleAxis, type SentenceToken, + type SlotOption, type UnitAlternative, type Warning, } from './types.ts'; @@ -69,14 +71,14 @@ export const cardText = (spec: any, fallbackText?: string | null): string | unde * ref, in the engine's own rank order (in-window observation count). An * option with no ref (measurementMethod and unit only) stands for the * facets that declare no value on the axis, and is kept once. */ -const facetAxisOptions = (spec: any, axis: string): any[] => { +const facetAxisOptions = (spec: any, axis: string): SlotOption[] => { const seen = new Set(); - const out: any[] = []; + const out: SlotOption[] = []; (spec?.facet_options ?? []) .filter((entry: any) => entry?.axis === axis) .forEach((entry: any) => { - (entry.options ?? []).forEach((option: any) => { + (entry.options ?? []).forEach((option: SlotOption) => { const value = option?.value; if (!value || (value.ref && !value.ref.ref)) { @@ -104,11 +106,15 @@ const facetAxisOptions = (spec: any, axis: string): any[] => { * such a ref comes back definite with the sentence gaining "according to …". * Reshaped to the slot-option contract so the pickers treat them uniformly. */ -export const sourceSlotOptions = (spec: any): any[] => +export const sourceSlotOptions = (spec: any): SourceSlotOption[] => facetAxisOptions(spec, 'provenance').filter( - (option) => option.value.ref && option.value.value_kind === 'source', + (option): option is SourceSlotOption => + !!option.value.ref && option.value.value_kind === 'source', ); +/** A source slot's option: a provenance, so its value always carries a ref. */ +export type SourceSlotOption = SlotOption & { value: { ref: GraphRef } }; + /** * Provenance labels arrive dcid-squished ("WorldDevelopmentIndicators") while * the engine's own rendered sentence spaces them out — mirror that spacing. @@ -800,7 +806,7 @@ export const levelMenu = (binding: any, options: any[]): LevelMenu => { * accumulate it: the whole `{options, truncated}` pair the wire event * carries, not just the option list — the shape every menu renders from * (see mergeSlotOptionsEntry below). */ -export type SlotOptionsEntry = { options: any[]; truncated: boolean }; +export type SlotOptionsEntry = { options: SlotOption[]; truncated: boolean }; const EMPTY_OPTIONS_ENTRY: SlotOptionsEntry = { options: [], truncated: false }; @@ -894,7 +900,7 @@ export const servedSeriesCount = (spec: any): number | null => * that serves every row, narrows nothing. */ export const slotOffersChoice = (slot: any, entry: SlotOptionsEntry, spec: any): boolean => { const bound = new Set(slotBoundDcids(slot)); - const binds = (option: any) => bound.has(option?.value?.ref?.ref); + const binds = (option: SlotOption) => bound.has(option.value.ref?.ref ?? ''); if (bound.size > 0 && !entry.options.every(binds)) return true; if (bound.size === 1) return false; @@ -2060,7 +2066,7 @@ export const methodPicker = (spec: any): MethodPicker | null => { const boundRefs: (string | null)[] = bound?.state === 'set' ? bound.refs : bound && 'ref' in bound ? [bound.ref] : []; const served = servedMethod(spec); - const optionRef = (option: any): string | null => option.value.ref?.ref ?? null; + const optionRef = (option: SlotOption): string | null => option.value.ref?.ref ?? null; if (boundRefs.length === 0 && options.length === 1 && served.ref === optionRef(options[0])) { return null; From fd33f869406763d6d6a4b425737413c75b9471fe Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 12:00:57 +0200 Subject: [PATCH 17/24] refactor(search): read stream, option and observation members as wire types The stream payloads keep their hand-written envelope, since the OpenAPI document does not describe the SSE stream, and every wire member inside them takes its generated type: slot options, sentence slots, observations, facet and entity options, and the normalised response. SlotOption and ObservationPoint reads go through the generated types, and normalizeResponse returns the page ResolveResponse; tests read fixtures through resolution(), which narrows on kind. Every reader treats a token with no segment as heading through tokenSegment in sentencePlan.ts, and a segment the site does not know stays its own block, which no reader draws. The share's entityGroups and operations columns are typed from the wire, and docs/development.md says where the vendored client package comes from and how to refresh it. --- db/schema.ts | 6 +- docs/development.md | 14 ++ .../organisms/DataSearch/SearchSentence.tsx | 60 ++++--- .../organisms/DataSearch/editors.tsx | 9 +- src/lib/search/departures.ts | 34 +--- src/lib/search/readings.ts | 4 +- src/lib/search/searchClient.ts | 65 ++++--- src/lib/search/searchShare.ts | 4 +- src/lib/search/sentencePlan.ts | 11 +- src/lib/search/test/datasetEntries.test.ts | 9 +- src/lib/search/test/departures.test.ts | 21 ++- src/lib/search/test/fixtures.test.ts | 41 ++--- src/lib/search/test/fixtures/resolution.ts | 41 +++++ src/lib/search/test/fixtures/served-answer.ts | 12 +- src/lib/search/test/method.test.ts | 4 +- src/lib/search/test/operations.test.ts | 4 +- src/lib/search/test/parsedEdit.test.ts | 4 +- src/lib/search/test/searchClient.test.ts | 120 +++++++------ .../search/test/searchShareRequest.test.ts | 6 +- src/lib/search/test/sentencePlan.test.ts | 8 + src/lib/search/test/studioHandoff.test.ts | 23 ++- src/lib/search/test/tokenAbout.test.ts | 4 +- src/lib/search/test/unitPicker.test.ts | 6 +- src/lib/search/test/view.test.ts | 158 ++++++++++-------- src/lib/search/tokenAbout.ts | 7 +- src/lib/search/types.ts | 1 + src/lib/search/view.ts | 121 ++++++++------ 27 files changed, 464 insertions(+), 333 deletions(-) create mode 100644 src/lib/search/test/fixtures/resolution.ts diff --git a/db/schema.ts b/db/schema.ts index f4a3826..978344f 100644 --- a/db/schema.ts +++ b/db/schema.ts @@ -1,4 +1,4 @@ -import type { Assumption } from '@developmentfinance/client/wire'; +import type { Assumption, EntityGroup, RequestedOperation } from '@developmentfinance/client/wire'; import { sql } from 'drizzle-orm'; import { bigint, @@ -100,12 +100,12 @@ export const shareRef = pgTable( specId: text('spec_id').notNull(), identity: jsonb('identity').notNull(), // Null when no role was asked for as a group. - entityGroups: jsonb('entity_groups'), + entityGroups: jsonb('entity_groups').$type>(), variableText: text('variable_text'), contentVersion: text('content_version'), // Null for a live share and for snapshots stored before the column. artifactDigest: text('artifact_digest'), - operations: jsonb('operations').notNull().default([]), + operations: jsonb('operations').$type().notNull().default([]), // The part's assumptions as the response gave them, [] included, // which the replay echoes. Null for a share stored before the column. assumptions: jsonb('assumptions').$type(), diff --git a/docs/development.md b/docs/development.md index 0992eb3..40e32a9 100644 --- a/docs/development.md +++ b/docs/development.md @@ -200,6 +200,20 @@ The `apis`, `ai` and `dcp` repositories run their own dev services. `apis` and ` | `pnpm db:generate` | Generate a migration from `db/schema.ts` | | `pnpm db:migrate:local` | Apply migrations to the local database | +## API client package + +The Search, Datasets and Graph types come from `@developmentfinance/client`, vendored as `vendor/developmentfinance-client-0.1.0.tgz`. The tarball is the `typescript/` package of the sdk repository, built and packed. To refresh it, pack that package into `vendor/` and re-lock, so `pnpm-lock.yaml` carries the new tarball's integrity: + +```sh +cd /typescript +pnpm install && pnpm run build +pnpm pack --pack-destination /vendor +cd +pnpm install +``` + +A new package version packs under a new file name; point the `@developmentfinance/client` entry in `package.json` at it before re-locking. Commit the tarball and the lockfile together. + ## Conventions - Styles: global partials live in `src/styles` (`_variables`, `_mixins`, `_breakpoints`, …). They are on the Sass load path, so import them from anywhere as `@use "variables" as *;` with no relative paths. Fluid rem sizing, `html { font-size: vw(16px) }`, scales the whole layout with the viewport (separate bases for desktop, tablet and phone, see `$widths`). Size things with `rem()` and `@include font-size()`, and write every design px value as `rem(x)`. Breakpoints are `@include breakpoint(phone)` (< 660px) and `@include breakpoint(tablet)` (660–1023px). diff --git a/src/components/organisms/DataSearch/SearchSentence.tsx b/src/components/organisms/DataSearch/SearchSentence.tsx index c3d5af5..710b85f 100644 --- a/src/components/organisms/DataSearch/SearchSentence.tsx +++ b/src/components/organisms/DataSearch/SearchSentence.tsx @@ -54,6 +54,7 @@ import { entityOptionDcid, filterOptionsByQuery, optionCoverageRankingBlocked, + type OptionLike, shouldShowOptionFilter, } from '@/lib/search/pickerState'; import { spliceSentence } from '@/lib/search/refine'; @@ -72,6 +73,7 @@ import { type ParsedPart, type RoleAxis, type SentenceToken, + type SlotOption, type SpecAlternativeMeasure, } from '@/lib/search/types'; import type { WindowApplyValue } from '@/lib/search/windowState'; @@ -199,8 +201,8 @@ export const answerRefineItems = ({ : []; // An option's info icon, when the option names a graph node. -const optionInfo = (option: any) => { - const dcid = option?.value?.ref?.ref; +const optionInfo = (option: OptionLike) => { + const dcid = option.value?.ref?.ref; return dcid ? : undefined; }; @@ -246,10 +248,14 @@ const MethodChoices = ({ * in this file uses, and a child pick comes back on the next response * already scoped to its own level. */ -const renderLevelOptions = (slot: any, options: any[], onSelect: (binding: any) => void) => { - const optionItem = (option: any, direction?: 'up' | 'down') => ( +const renderLevelOptions = ( + slot: any, + options: readonly SlotOption[], + onSelect: (binding: any) => void, +) => { + const optionItem = (option: SlotOption, direction?: 'up' | 'down') => ( onSelect({ kind: 'value', value: option.value })} > @@ -268,7 +274,7 @@ const renderLevelOptions = (slot: any, options: any[], onSelect: (binding: any) optionItem(root) ) : ( @@ -338,7 +344,7 @@ const FlatOptionList = ({ onSelect, }: { slot: any; - options: any[]; + options: SlotOption[]; onSelect: (binding: any) => void; }) => { const [filter, setFilter] = useState(''); @@ -372,8 +378,8 @@ const FlatOptionList = ({ )} - {shown.map((option: any) => { - const dcid = option?.value?.ref?.ref; + {shown.map((option) => { + const dcid = option.value.ref?.ref; const label = slotOptionLabel(slot, option); return ( @@ -557,7 +563,7 @@ const EntityOptionRows = ({ rankingBlocked, onApply, }: { - options: any[]; + options: SlotOption[]; role: RoleAxis; currentDcids: string[]; rankingBlocked: boolean; @@ -598,7 +604,7 @@ const EntityOptionRows = ({ /> )} - {current.map((option: any) => { + {current.map((option) => { const dcid = entityOptionDcid(option); return ( @@ -622,8 +628,8 @@ const EntityOptionRows = ({ ); })} - {shown.map((option: any) => { - const dcid = option?.value?.ref?.ref; + {shown.map((option) => { + const dcid = option.value.ref?.ref; return ( - {entityOptions.map((option: any) => { - const checked = currentEntities.includes(option?.value?.ref?.ref); + {entityOptions.map((option) => { + const dcid = option.value.ref?.ref; + const checked = !!dcid && currentEntities.includes(dcid); return ( - onEditShared({ - axis: 'entity', - role: entityRole, - dcid: option.value.ref.ref, - }) - } + onSelect={() => { + if (dcid) + onEditShared({ axis: 'entity', role: entityRole, dcid }); + }} > onEditEntity(part.index, spec, role, [option.value.ref.ref]); + const pick = (option: SlotOption) => { + const dcid = option.value.ref?.ref; + + if (dcid) onEditEntity(part.index, spec, role, [dcid]); + }; const [only] = entry.options; if (entry.options.length === 1 && !entry.truncated) { @@ -2173,9 +2181,9 @@ const RefineEntry = ({ return ( - {entry.options.map((option: any) => ( + {entry.options.map((option) => ( pick(option)} > diff --git a/src/components/organisms/DataSearch/editors.tsx b/src/components/organisms/DataSearch/editors.tsx index 0345e44..043270f 100644 --- a/src/components/organisms/DataSearch/editors.tsx +++ b/src/components/organisms/DataSearch/editors.tsx @@ -27,6 +27,7 @@ import { entityOptions } from '@/lib/search/searchClient'; import type { EntityRoleKey, IdentityWindow, PlaceOptionsScope } from '@/lib/search/types'; import { buildPlaceOptionGroups, + observationSeries, optionCoverageLabel, optionMuted, placeEditorScopes, @@ -60,10 +61,10 @@ export const WindowEditor = ({ onApply: (value: WindowApplyValue) => void; }) => { const requestedWindow: IdentityWindow | undefined = spec?.identity?.requested_window; - const years = (spec?.observations?.series ?? []) - .flatMap((series: any) => series?.points ?? []) - .map((point: any) => parseInt(point?.date, 10)) - .filter((year: number) => !Number.isNaN(year)); + const years = observationSeries(spec) + .flatMap((series) => series.points) + .map((point) => parseInt(point.date, 10)) + .filter((year) => !Number.isNaN(year)); const seed = seedWindowYears({ requestedWindow, coverageWindow: spec?.coverage?.window, diff --git a/src/lib/search/departures.ts b/src/lib/search/departures.ts index 5882487..856084c 100644 --- a/src/lib/search/departures.ts +++ b/src/lib/search/departures.ts @@ -3,40 +3,14 @@ * each offers. No React. */ import { offersStudioCallout } from './resultNotes.ts'; -import { tokenPart } from './sentencePlan.ts'; -import { - type Departure, - hasKey, - type Known, - type NoDataPart, - type Part, - type SentenceSegment, - type SentenceToken, -} from './types.ts'; - -type BlockSegment = Exclude, 'departure'>; - -const BLOCK_SEGMENTS: Record = { - coverage: true, - heading: true, - byline: true, - assumption: true, -}; +import { tokenPart, tokenSegment } from './sentencePlan.ts'; +import type { Departure, NoDataPart, Part, SentenceSegment, SentenceToken } from './types.ts'; export type SentenceBlock = { - segment: BlockSegment; + segment: Exclude; tokens: SentenceToken[]; }; -/** The segment a token sits in as the site reads it: its own when the site - * knows it, else the heading, the wire's default for a token without one. */ -export function tokenSegment(token: SentenceToken): BlockSegment | 'departure' { - const { segment } = token; - - if (segment === 'departure') return 'departure'; - return segment !== undefined && hasKey(BLOCK_SEGMENTS, segment) ? segment : 'heading'; -} - const isSpacing = (token: SentenceToken) => token.kind === 'text' && token.text.trim() === ''; /** The plan's coverage opener, heading, byline and assumptions clause as @@ -139,7 +113,7 @@ const isVisibleSlotOf = ( return ( token.kind === 'slot' && - (token.segment === 'heading' || token.segment === 'byline') && + ['heading', 'byline'].includes(tokenSegment(token)) && token.text.trim() !== '' && (owner === partIndex || owner === null) ); diff --git a/src/lib/search/readings.ts b/src/lib/search/readings.ts index b478163..f73bf91 100644 --- a/src/lib/search/readings.ts +++ b/src/lib/search/readings.ts @@ -5,8 +5,8 @@ * screen-reader text. Pure; no React. */ -import { refsStatedBesides, sentenceBlocks, tokenSegment } from './departures.ts'; -import { planSentenceText, tokenPart } from './sentencePlan.ts'; +import { refsStatedBesides, sentenceBlocks } from './departures.ts'; +import { planSentenceText, tokenPart, tokenSegment } from './sentencePlan.ts'; import type { CandidateBasis, Part, SentenceToken } from './types'; /** What one reading card shows: its heading and byline as plain text, the diff --git a/src/lib/search/searchClient.ts b/src/lib/search/searchClient.ts index f60e471..b238ab5 100644 --- a/src/lib/search/searchClient.ts +++ b/src/lib/search/searchClient.ts @@ -47,6 +47,7 @@ import { } from './versionLink.ts'; import { type Assumption, + type Coverage, type DatasetResubmitEntry, type EntityGroup, type EntityRoleKey, @@ -57,9 +58,12 @@ import { type Part, type PlaceOptionsScope, type Resolution, + type ResolveResponse, type ResolveStatus, type RoleAxis, type SentenceToken, + type Slot, + type SlotOptions, type Spec, type SpecIdentity, type SpecObservations, @@ -68,20 +72,11 @@ import { export const SEARCH_BASE = process.env.NEXT_PUBLIC_SEARCH_API_BASE ?? ''; -// Deliberately shallow types: the gut-check renders whatever the engine sends, -// so only the fields the page dereferences are typed; the rest stays `any`. export type { SlotKey }; // The stream's sentence plans carry the same token shape as the response's. export type { SentenceToken }; -export type SlotOptionsData = { - key: SlotKey; - options: SlotOption[]; - truncated: boolean; - source?: 'observed' | 'seed'; -}; - export type SearchEvent = | { kind: 'interpretation'; @@ -113,7 +108,7 @@ export type SearchEvent = label: string; slot_keys: SlotKey[]; sentence_plan: SentenceToken[]; - slot_options: SlotOptionsData[]; + slot_options: SlotOptions[]; refine_supported: boolean; } | { @@ -127,7 +122,7 @@ export type SearchEvent = variable_index: number; spec_id: string; sentence_plan: SentenceToken[]; - slots: any[]; + slots: Slot[]; } | { kind: 'step'; @@ -136,7 +131,7 @@ export type SearchEvent = ran: boolean; ms?: number | null; } - | { kind: 'response'; response: any } + | { kind: 'response'; response: ResolveResponse } | { kind: 'slot_options'; spec_id: string; @@ -151,7 +146,7 @@ export type SearchEvent = kind: 'facet_options'; spec_id: string; axis: string; - options: any[]; + options: SlotOption[]; truncated?: boolean; } | { @@ -161,7 +156,7 @@ export type SearchEvent = // their candidate list. entity_ref?: string | null; role: RoleAxis; - options: any[]; + options: SlotOption[]; truncated: boolean; } | { @@ -184,10 +179,10 @@ export type SearchEvent = | { kind: 'observations'; spec_id: string; - /** SpecObservations (see lib/search/types.ts): same shape the buffered - * path embeds at Spec.observations, deferred to a trailing event on SSE - * so the response isn't blocked on the observation fetch. */ - observations: any; + /** The same shape the buffered path embeds at Spec.observations, + * deferred to a trailing event on SSE so the response isn't blocked + * on the observation fetch. */ + observations: SpecObservations; } | { kind: 'done'; @@ -321,7 +316,9 @@ export function flattenSpec(spec: WireSpec | null | undefined): Spec | null { spec, ); // The body broke the contract the type states, so it holds none of - // the resolved members; every reader checks statVarsUnreadable first. + // the resolved members. SearchCards, ReadingCards and the Studio + // handoff check statVarsUnreadable first; every other reader reads + // each member optionally. return { ...spec, stat_vars_unreadable: true } as unknown as Spec; } @@ -628,7 +625,7 @@ function flattenPart(part: any): any { * place is an error, never a guess. resolveStream turns the throw into the * run's `error` event. */ -export function normalizeResponse(body: any): any { +export function normalizeResponse(body: any): ResolveResponse { if (body?.kind === 'resolution' && Array.isArray(body.parts)) { return { ...body, parts: body.parts.map(flattenPart) }; } @@ -735,7 +732,7 @@ export type EntityOptionsRequest = { scope: 'peers' | 'children'; }; -export type EntityOption = { dcid: string; label: string; coverage?: any }; +export type EntityOption = { dcid: string; label: string; coverage?: Coverage | null }; /** `options.items` from a POST /api/search/options body, or the wire * SlotOption[] a `place_options` SSE event carries (same per-item shape — @@ -743,14 +740,12 @@ export type EntityOption = { dcid: string; label: string; coverage?: any }; * `items` wrapper) — reshaped to the flat client `EntityOption` PlaceEditor * renders. An item missing a dcid or label is dropped rather than shown * half-filled. */ -export function placeOptionValues(items: any[]): EntityOption[] { - return (items ?? []) - .filter((item) => item?.value?.ref?.ref && item?.value?.ref?.label) - .map((item) => ({ - dcid: item.value.ref.ref, - label: item.value.ref.label, - coverage: item.coverage ?? undefined, - })); +export function placeOptionValues(items: readonly SlotOption[]): EntityOption[] { + return items.flatMap(({ value, coverage }) => + value.ref?.ref && value.ref.label + ? [{ dcid: value.ref.ref, label: value.ref.label, coverage: coverage ?? undefined }] + : [], + ); } export async function entityOptions( @@ -1033,7 +1028,7 @@ function readOrStall( * is not one the page can render (see normalizeResponse). False on the * error. */ function emitResponse(onEvent: (ev: SearchEvent) => void, body: unknown, frame?: object): boolean { - let response: any; + let response: ResolveResponse; try { response = normalizeResponse(body); } catch (error) { @@ -1156,7 +1151,7 @@ export async function resolveStream( * Rejects on an `error` event before the response, on a stream that ends * without one, and with AbortError on an abort. */ -export function resolveSuggestion(query: string, signal: AbortSignal): Promise { +export function resolveSuggestion(query: string, signal: AbortSignal): Promise { return new Promise((resolve, reject) => { resolveStream( buildRequest({ kind: 'raw_text', query }, true), @@ -1176,7 +1171,7 @@ export function resolveSuggestion(query: string, signal: AbortSignal): Promise; + suggest(query: string): Promise; /** Aborts the live stream unless it asked `query`; null aborts it * whatever it asked. */ keepOnly(query: string | null): void; @@ -1192,7 +1187,11 @@ export type SuggestionSlot = { * retries. */ export function createSuggestionSlot(): SuggestionSlot { - let live: { query: string; controller: AbortController; response: Promise } | null = null; + let live: { + query: string; + controller: AbortController; + response: Promise; + } | null = null; const keepOnly = (query: string | null) => { if (live && live.query !== query) { diff --git a/src/lib/search/searchShare.ts b/src/lib/search/searchShare.ts index cac8c54..688b09a 100644 --- a/src/lib/search/searchShare.ts +++ b/src/lib/search/searchShare.ts @@ -144,8 +144,8 @@ export const getSearchShare = async (id: string): Promise => variableText: ref.variableText, specId: ref.specId, identity: ref.identity, - entityGroups: ref.entityGroups as Record | null, - operations: ref.operations as Operation[], + entityGroups: ref.entityGroups, + operations: ref.operations, assumptions: ref.assumptions, contentVersion: ref.contentVersion, artifactDigest: ref.artifactDigest, diff --git a/src/lib/search/sentencePlan.ts b/src/lib/search/sentencePlan.ts index af4ab5c..16d0b69 100644 --- a/src/lib/search/sentencePlan.ts +++ b/src/lib/search/sentencePlan.ts @@ -6,7 +6,12 @@ * layout. Pure; no React. */ -import type { SentenceToken } from './types'; +import type { SentenceSegment, SentenceToken } from './types'; + +/** The segment a token sits in: its own, or the heading, the wire's default + * for a token without one. A segment the site does not know stays as it is, + * so no reader draws it. */ +export const tokenSegment = (token: SentenceToken): SentenceSegment => token.segment ?? 'heading'; /** The part `token` belongs to, in a response of `partCount` parts. With * one part (or none yet), every token is that part's, whatever indexes @@ -52,10 +57,10 @@ export function earlySentenceTokens( const segmentText = ( plan: readonly SentenceToken[] | null | undefined, - segment: SentenceToken['segment'], + segment: SentenceSegment, ): string => (plan ?? []) - .filter((token) => token.segment === segment) + .filter((token) => tokenSegment(token) === segment) .map((token) => token.text) .join('') .trim(); diff --git a/src/lib/search/test/datasetEntries.test.ts b/src/lib/search/test/datasetEntries.test.ts index 8d9660b..85ed4e2 100644 --- a/src/lib/search/test/datasetEntries.test.ts +++ b/src/lib/search/test/datasetEntries.test.ts @@ -3,7 +3,7 @@ import test from 'node:test'; import { buildDatasetEntries, candidatePickEntry, sharedRefEntry } from '../datasetEntries.ts'; import { withEntityEdit } from '../promote.ts'; -import { normalizeResponse, restorePlaceholderParts } from '../searchClient.ts'; +import { restorePlaceholderParts } from '../searchClient.ts'; import { type Assumption, type DatasetCandidatesEntry, @@ -15,11 +15,12 @@ import { type Resolution, type Spec, } from '../types.ts'; +import { resolution } from './fixtures/resolution.ts'; import { fixtures, type FixtureName } from './fixtures/index.ts'; /** The fixture's normalized parts as a settled run holds them. */ function hydratedParts(name: FixtureName): HydratedPart[] { - const parts: Part[] = normalizeResponse(fixtures[name]).parts; + const parts: Part[] = resolution(fixtures[name]).parts; return parts.map((part, index) => { const known = knownPart(part); @@ -82,8 +83,8 @@ test('a pick on part 1 of two posts the parsed entry there and keeps part 0 as i test("the pick's answer lands at part 1 and part 0 keeps its dataset", () => { const parts = hydratedParts('two-part-ambiguous'); - const [pick] = normalizeResponse(fixtures['definite-rank-operation']).parts; - const answer: Resolution = normalizeResponse(fixtures['two-part-ambiguous']); + const [pick] = resolution(fixtures['definite-rank-operation']).parts; + const answer: Resolution = resolution(fixtures['two-part-ambiguous']); // The door's answer: part 0 re-resolved from its identity entry, part 1 // resolved from the pinned parsed entry. const posted: Resolution = { ...answer, parts: [answer.parts[0], pick] }; diff --git a/src/lib/search/test/departures.test.ts b/src/lib/search/test/departures.test.ts index 64d263d..879ec6e 100644 --- a/src/lib/search/test/departures.test.ts +++ b/src/lib/search/test/departures.test.ts @@ -10,8 +10,8 @@ import { sentenceBlocks, statingTokenIndex, } from '../departures.ts'; -import { normalizeResponse } from '../searchClient.ts'; import { planCoverageText, planSentenceText } from '../sentencePlan.ts'; +import { resolution } from './fixtures/resolution.ts'; import { fixtures } from './fixtures/index.ts'; import { noDataResponse, wireSpec } from './fixtures/no-data.ts'; import { servedAnswer } from './fixtures/served-answer.ts'; @@ -66,16 +66,19 @@ test('sentenceBlocks joins heading runs a departure separated -- a no_data part assert.deepEqual(sentenceBlocks(null), []); }); -test('sentenceBlocks reads a token with no segment, or one it does not know, as heading', () => { +test('sentenceBlocks reads a token with no segment as heading, and keeps one it does not know out of the heading', () => { assert.deepEqual( blockTexts([ { kind: 'text', text: 'Aid' }, - { kind: 'text', text: ' to Kenya.', segment: 'aside' }, + { kind: 'text', text: ' to Kenya.', segment: 'heading' }, { kind: 'text', text: ' ' }, + { kind: 'text', text: 'Figures are provisional.', segment: 'aside' }, + { kind: 'text', text: ' ', segment: 'byline' }, { kind: 'text', text: 'OECD.', segment: 'byline' }, ]), [ ['heading', 'Aid to Kenya.'], + ['aside', 'Figures are provisional.'], ['byline', 'OECD.'], ], ); @@ -317,7 +320,7 @@ test('answerDepartures hands an operation to Studio unless the part draws the St const action = (part: Parameters[0][number]) => answerDepartures([{ ...part, departures: [ranking] }], crs045.sentence_plan)[0].action; const noDataPart = (nearFields: Record) => - normalizeResponse(noDataResponse('variable_not_resolved', null, nearFields)).parts[0]; + resolution(noDataResponse('variable_not_resolved', null, nearFields)).parts[0]; // The generic no_data callout already offers Studio. assert.equal(action(noDataPart({})), null); @@ -390,6 +393,16 @@ test('departureAction opens the token that states a ref it does not carry as its plan[statingTokenIndex(plan, 1, 0, 'how:crsTypeOfFlow')].text, 'gross ODA disbursements', ); + + // A heading token without a segment, the wire default, states it alike. + const unsegmented = plan.map((token): SentenceToken => + token.segment === 'heading' ? { ...token, segment: undefined } : token, + ); + + assert.equal( + statingTokenIndex(unsegmented, 1, 0, 'how:crsTypeOfFlow'), + statingTokenIndex(plan, 1, 0, 'how:crsTypeOfFlow'), + ); }); test('departureAction opens the source token for a source departure, through states or on a wire without them', () => { diff --git a/src/lib/search/test/fixtures.test.ts b/src/lib/search/test/fixtures.test.ts index a3bcbfb..802c6e2 100644 --- a/src/lib/search/test/fixtures.test.ts +++ b/src/lib/search/test/fixtures.test.ts @@ -4,6 +4,8 @@ import test from 'node:test'; import { flattenSpec, normalizeResponse, unflattenSpec } from '../searchClient.ts'; import { primaryStatVarLabel, statVarsUnreadable } from '../view.ts'; import { fixtureNames, fixtures, specFixtureNames } from './fixtures/index.ts'; +import { definite, noData, resolution } from './fixtures/resolution.ts'; +import { knownPart, type Spec } from '../types.ts'; /** * Fixture-set invariant tests: real captured `/api/search/resolve` @@ -41,8 +43,8 @@ for (const name of fixtureNames) { test(`${name}: only a resolution carries parts, and every normalized part carries operations`, () => { const normalized = normalizeResponse(body); - if (body.kind !== 'resolution') { - assert.equal(normalized.parts, undefined); + if (normalized.kind !== 'resolution') { + assert.equal('parts' in normalized, false); return; } assert.ok(normalized.parts.length > 0); @@ -122,14 +124,16 @@ for (const name of specFixtureNames) { }); test(`${name}: flattenSpec reads every spec without setting stat_vars_unreadable`, () => { - const normalized = normalizeResponse(body); + const normalized = resolution(body); for (const part of normalized.parts) { + const known = knownPart(part); const specs = [ - part.spec, - ...(part.candidates?.specs ?? []), - ...(part.no_data?.nearest_real ?? []), - part.no_data?.flagged_match, - ].filter(Boolean); + known?.status === 'definite' ? known.spec : null, + ...(known?.status === 'candidates' ? known.candidates.specs : []), + ...(known?.status === 'no_data' + ? [...(known.no_data.nearest_real ?? []), known.no_data.flagged_match] + : []), + ].filter((spec): spec is Spec => !!spec); assert.ok(specs.length > 0); for (const spec of specs) { @@ -167,7 +171,7 @@ test('declined-out-of-scope: normalizes to the same body, reason and empty scope const normalized = normalizeResponse(body); assert.equal(normalized, body); - assert.equal(normalized.kind, 'declined'); + assert.ok(normalized.kind === 'declined'); assert.equal(normalized.reason, 'out_of_scope'); assert.deepEqual(normalized.scope, { place: null }); }); @@ -177,29 +181,28 @@ test('catalogue-kenya: normalizes to the same body, scoped to the confirmed coun const normalized = normalizeResponse(body); assert.equal(normalized, body); - assert.equal(normalized.kind, 'catalogue'); + assert.ok(normalized.kind === 'catalogue'); assert.deepEqual(normalized.scope.place, { ref: 'country/KEN', label: 'Kenya' }); }); test('definite-rank-operation: the definite part keeps its rank operation and flattens its spec', () => { - const normalized = normalizeResponse(fixtures['definite-rank-operation']); - const [part] = normalized.parts; + const normalized = resolution(fixtures['definite-rank-operation']); + const part = definite(normalized.parts[0]); - assert.equal(part.status, 'definite'); assert.deepEqual(part.operations, [{ verb: 'rank', phrase: 'top 5 donors', over: 'origin' }]); - assert.equal(part.spec.resolved, undefined, 'flattenSpec spreads `resolved` flat'); + assert.equal('resolved' in part.spec, false, 'flattenSpec spreads `resolved` flat'); assert.ok(part.spec.identity, 'flattenSpec keeps the definition identity'); }); test('entity-ambiguous: operations default to empty and each option rides through', () => { - const normalized = normalizeResponse(fixtures['entity-ambiguous']); - const [part] = normalized.parts; + const normalized = resolution(fixtures['entity-ambiguous']); + const part = noData(normalized.parts[0]); assert.deepEqual(part.operations, []); assert.equal(part.no_data.reason, 'entity_ambiguous'); assert.deepEqual( - part.no_data.options.map((option: any) => - option.data_query.parts[0].entities.map((entity: any) => entity.dcid ?? null), + part.no_data.options?.map((option) => + option.data_query.parts[0]?.entities?.map((entity) => entity.dcid ?? null), ), [ ['country/COD', 'country/FRA'], @@ -207,7 +210,7 @@ test('entity-ambiguous: operations default to empty and each option rides throug ], ); assert.deepEqual( - part.no_data.ambiguous_entities[0].candidates.map((candidate: any) => candidate.ref), + part.no_data.ambiguous_entities?.[0]?.candidates.map((candidate) => candidate.ref), ['country/COD', 'country/COG'], ); }); diff --git a/src/lib/search/test/fixtures/resolution.ts b/src/lib/search/test/fixtures/resolution.ts new file mode 100644 index 0000000..7d034e8 --- /dev/null +++ b/src/lib/search/test/fixtures/resolution.ts @@ -0,0 +1,41 @@ +import { normalizeResponse } from '../../searchClient.ts'; +import { knownPart, type Part, type Resolution } from '../../types.ts'; + +/** A resolve body normalised as the page reads it. Throws when the body is a + * catalogue or declined answer, so a test that expects a resolution fails + * at the fixture instead of on a missing `parts`. */ +export function resolution(body: unknown): Resolution { + const response = normalizeResponse(body); + + if (response.kind !== 'resolution') { + throw new Error(`expected a resolution body, got kind "${response.kind}"`); + } + return response; +} + +const statusError = (expected: string, part: Part | null | undefined) => + new Error(`expected a ${expected} part, got ${part ? `"${part.status}"` : 'none'}`); + +/** `part` as a definite part; throws for any other status. */ +export function definite(part: Part | null | undefined) { + const known = knownPart(part); + + if (known?.status !== 'definite') throw statusError('definite', part); + return known; +} + +/** `part` as a candidates part; throws for any other status. */ +export function candidates(part: Part | null | undefined) { + const known = knownPart(part); + + if (known?.status !== 'candidates') throw statusError('candidates', part); + return known; +} + +/** `part` as a no_data part; throws for any other status. */ +export function noData(part: Part | null | undefined) { + const known = knownPart(part); + + if (known?.status !== 'no_data') throw statusError('no_data', part); + return known; +} diff --git a/src/lib/search/test/fixtures/served-answer.ts b/src/lib/search/test/fixtures/served-answer.ts index 2d0b644..a1168a3 100644 --- a/src/lib/search/test/fixtures/served-answer.ts +++ b/src/lib/search/test/fixtures/served-answer.ts @@ -6,10 +6,11 @@ * response's own lists first, then each later `slot_options` event). */ -import { keyRef, normalizeResponse } from '../../searchClient.ts'; +import { keyRef } from '../../searchClient.ts'; import type { RefinePart } from '../../refineMenu.ts'; import type { SentenceToken } from '../../types.ts'; import { mergeSlotOptionsEntry, type SlotOptionsEntry } from '../../view.ts'; +import { resolution } from './resolution.ts'; export type ServedAnswer = { plan: SentenceToken[]; @@ -19,7 +20,7 @@ export type ServedAnswer = { }; export function servedAnswer(body: unknown, events: unknown = []): ServedAnswer { - const response = normalizeResponse(body); + const response = resolution(body); const parts: RefinePart[] = response.parts.flatMap((part: any, index: number) => part.status === 'definite' ? [{ index, variableText: part.variable_text ?? null, spec: part.spec }] @@ -40,5 +41,10 @@ export function servedAnswer(body: unknown, events: unknown = []): ServedAnswer {} as Record>, ); - return { plan: response.sentence_plan, partCount: response.parts.length, parts, optionsBySpec }; + return { + plan: response.sentence_plan ?? [], + partCount: response.parts.length, + parts, + optionsBySpec, + }; } diff --git a/src/lib/search/test/method.test.ts b/src/lib/search/test/method.test.ts index de1ab9c..fee374c 100644 --- a/src/lib/search/test/method.test.ts +++ b/src/lib/search/test/method.test.ts @@ -4,7 +4,6 @@ import test from 'node:test'; import { withFacetEdit } from '../promote.ts'; import { METHOD_REF, refineItems, refineKey } from '../refineMenu.ts'; -import { normalizeResponse } from '../searchClient.ts'; import { statingTokenIndex } from '../departures.ts'; import type { BaseIdentity, @@ -25,8 +24,9 @@ import { } from '../view.ts'; import { methodBound, methodUnbound } from './fixtures/index.ts'; import { servedAnswer } from './fixtures/served-answer.ts'; +import { definite, resolution } from './fixtures/resolution.ts'; -const specOf = (body: unknown): any => normalizeResponse(body).parts[0].spec; +const specOf = (body: unknown): any => definite(resolution(body).parts[0]).spec; /** The unbound fixture's spec as a StatVar with recorded values and one * projection facet would arrive. The served series' facet states no method diff --git a/src/lib/search/test/operations.test.ts b/src/lib/search/test/operations.test.ts index 60b0af3..1fea861 100644 --- a/src/lib/search/test/operations.test.ts +++ b/src/lib/search/test/operations.test.ts @@ -2,8 +2,8 @@ import assert from 'node:assert/strict'; import test from 'node:test'; import { operationButtonLabel } from '../operations.ts'; -import { normalizeResponse } from '../searchClient.ts'; import type { Part } from '../types.ts'; +import { resolution } from './fixtures/resolution.ts'; import { fixtures } from './fixtures/index.ts'; test('operationButtonLabel names each verb', () => { @@ -25,7 +25,7 @@ test('operationButtonLabel names each verb', () => { }); test("the rank fixture's operation names its Studio button", () => { - const [part]: Part[] = normalizeResponse(fixtures['definite-rank-operation']).parts; + const [part]: Part[] = resolution(fixtures['definite-rank-operation']).parts; assert.equal(part.status, 'definite'); assert.equal(operationButtonLabel(part.operations[0].verb), 'Rank in Studio'); diff --git a/src/lib/search/test/parsedEdit.test.ts b/src/lib/search/test/parsedEdit.test.ts index 726afc9..31a150f 100644 --- a/src/lib/search/test/parsedEdit.test.ts +++ b/src/lib/search/test/parsedEdit.test.ts @@ -15,7 +15,7 @@ import { odaToCongoNoData, odaToCongoRestatement, } from './fixtures/ambiguous-congo.ts'; -import { normalizeResponse } from '../searchClient.ts'; +import { resolution } from './fixtures/resolution.ts'; import { fixtures } from './fixtures/index.ts'; import type { NoData, ParsedPart, RoleAxis, SlotAxis } from '../types.ts'; @@ -202,7 +202,7 @@ test('resolveTypedEdit is null for a how token even with a restatement present', // --------------------------------------------------------------------------- const congoPart = () => { - const [part] = normalizeResponse(fixtures['entity-ambiguous']).parts; + const [part] = resolution(fixtures['entity-ambiguous']).parts; return part as { no_data: NoData; restatement: ParsedPart }; }; diff --git a/src/lib/search/test/searchClient.test.ts b/src/lib/search/test/searchClient.test.ts index 5283b84..378345e 100644 --- a/src/lib/search/test/searchClient.test.ts +++ b/src/lib/search/test/searchClient.test.ts @@ -19,9 +19,10 @@ import { resolveSuggestion, type SearchEvent, } from '../searchClient.ts'; -import type { Spec as WireSpec } from '@developmentfinance/client/wire'; +import type { SlotOption, Spec as WireSpec } from '@developmentfinance/client/wire'; -import type { SpecIdentity, Warning } from '../types.ts'; +import type { Part, SpecIdentity, Warning } from '../types.ts'; +import { definite, resolution } from './fixtures/resolution.ts'; import { fixtures } from './fixtures/index.ts'; import { currentEntityDcid, @@ -355,18 +356,10 @@ test("entityOptions reports the door's own truncated flag from the response", as // --- placeOptionValues (the place_options SSE event's own "parse" step) -- -// Shaped from dfo-apis events.py's PlaceOptionsEvent.options: list[SlotOption] -// (models/options.py's SlotOption -- value: SlotValue, coverage), SlotValue's -// own ref: GraphRef (models/grammar.py -- {ref, label}). A captured -// place_options frame for "Population of Kenya" would carry Kenya's own -// peers this way, coverage populated (the event always sets include_coverage -// true). -const capturedPlaceOptionsEvent = { - kind: 'place_options', - spec_id: 'spec-1', - role: 'observationAbout', - scope: 'peers', - anchor_ref: 'country/KEN', +// A place_options frame for "Population of Kenya" carries Kenya's peers as +// wire SlotOptions, coverage populated (the event always sets +// include_coverage true). +const capturedPlaceOptionsEvent: { options: SlotOption[]; truncated: boolean } = { options: [ { value: { ref: { ref: 'country/GHA', label: 'Ghana' }, value_kind: 'entity' }, @@ -438,13 +431,23 @@ test('flattenSpec reads a SlotOptions payload carrying truncated (post-drift-cor test('isLevelScopedOptions is true once relation is populated on the list', () => { assert.equal( - isLevelScopedOptions([{ value: { ref: { ref: 'x', label: 'X' } }, relation: 'root' }]), + isLevelScopedOptions([ + { + value: { value_kind: 'enum_value', ref: { ref: 'x', label: 'X' } }, + relation: 'root', + }, + ]), true, ); }); test('isLevelScopedOptions is false for a flat/seed option list (relation absent)', () => { - assert.equal(isLevelScopedOptions([{ value: { ref: { ref: 'x', label: 'X' } } }]), false); + assert.equal( + isLevelScopedOptions([ + { value: { value_kind: 'enum_value', ref: { ref: 'x', label: 'X' } } }, + ]), + false, + ); }); test('isLevelScopedOptions is false for an empty option list', () => { @@ -452,13 +455,16 @@ test('isLevelScopedOptions is false for an empty option list', () => { }); test("partitionLevelOptions splits a bound node's neighbours into one parent and its children", () => { - const parent = { - value: { ref: { ref: 'infectious', label: 'Infectious disease control' } }, + const parent: SlotOption = { + value: { + value_kind: 'enum_value', + ref: { ref: 'infectious', label: 'Infectious disease control' }, + }, relation: 'parent', member_count: 1204, }; - const child = { - value: { ref: { ref: 'tb', label: 'Tuberculosis control' } }, + const child: SlotOption = { + value: { value_kind: 'enum_value', ref: { ref: 'tb', label: 'Tuberculosis control' } }, relation: 'child', member_count: 88, }; @@ -471,9 +477,17 @@ test("partitionLevelOptions splits a bound node's neighbours into one parent and }); test('partitionLevelOptions reads every entry as a root when the slot is unbound or its code system is flat', () => { - const roots = [ - { value: { ref: { ref: 'a', label: 'A' } }, relation: 'root', member_count: 5 }, - { value: { ref: { ref: 'b', label: 'B' } }, relation: 'root', member_count: 2 }, + const roots: SlotOption[] = [ + { + value: { value_kind: 'enum_value', ref: { ref: 'a', label: 'A' } }, + relation: 'root', + member_count: 5, + }, + { + value: { value_kind: 'enum_value', ref: { ref: 'b', label: 'B' } }, + relation: 'root', + member_count: 2, + }, ]; const partition = partitionLevelOptions(roots); @@ -538,8 +552,8 @@ test('currentEntityDcid is undefined with no entity in the requested role', () = }); test('mergeLateWarnings attaches a done event warning to the definite part carrying its spec_id', () => { - const response = normalizeResponse(fixtures['definite-single']); - const specId = response.parts[0].spec.spec_id; + const response = resolution(fixtures['definite-single']); + const specId = definite(response.parts[0]).spec.spec_id; const merged = mergeLateWarnings(response, [ { @@ -564,12 +578,12 @@ test('mergeLateWarnings attaches a done event warning to the definite part carry }); test('mergeLateWarnings attaches a late warning to a definite part whose warnings key is missing', () => { - const response = normalizeResponse(fixtures['definite-single']); - const specId = response.parts[0].spec.spec_id; + const response = resolution(fixtures['definite-single']); + const specId = definite(response.parts[0]).spec.spec_id; // Part.warnings is typed as required, but the wire can leave the key off a // definite part. Deleting the key exercises that path. An empty array // would not. - delete response.parts[0].warnings; + delete (response.parts[0] as Partial).warnings; const warning = { code: 'observations_timed_out', severity: 'warn' as const, @@ -583,8 +597,8 @@ test('mergeLateWarnings attaches a late warning to a definite part whose warning }); test("mergeLateWarnings keeps a part's existing warnings and appends the late one to them", () => { - const response = normalizeResponse(fixtures['broad-truncated']); - const specId = response.parts[0].spec.spec_id; + const response = resolution(fixtures['broad-truncated']); + const specId = definite(response.parts[0]).spec.spec_id; const before = response.parts[0].warnings.length; const merged = mergeLateWarnings(response, [ @@ -605,8 +619,8 @@ test("mergeLateWarnings keeps a part's existing warnings and appends the late on }); test('mergeLateWarnings dedupes a done warning identical (code + message + spec_id) to one the part already carries', () => { - const response = normalizeResponse(fixtures['broad-truncated']); - const specId = response.parts[0].spec.spec_id; + const response = resolution(fixtures['broad-truncated']); + const specId = definite(response.parts[0]).spec.spec_id; const before: Warning[] = response.parts[0].warnings; const shipped = before.find((warning) => warning.code === 'observations_series_truncated'); @@ -619,8 +633,8 @@ test('mergeLateWarnings dedupes a done warning identical (code + message + spec_ }); test('mergeLateWarnings still appends a done warning sharing a code with one already on the part, when its message differs', () => { - const response = normalizeResponse(fixtures['broad-truncated']); - const specId = response.parts[0].spec.spec_id; + const response = resolution(fixtures['broad-truncated']); + const specId = definite(response.parts[0]).spec.spec_id; const before = response.parts[0].warnings.length; const merged = mergeLateWarnings(response, [ @@ -644,7 +658,7 @@ test('mergeLateWarnings still appends a done warning sharing a code with one alr }); test('mergeLateWarnings drops a warning naming a spec_id no definite part carries (a candidates part, here)', () => { - const response = normalizeResponse(fixtures['multi-candidate']); + const response = resolution(fixtures['multi-candidate']); const merged = mergeLateWarnings(response, [ { @@ -659,8 +673,8 @@ test('mergeLateWarnings drops a warning naming a spec_id no definite part carrie }); test('mergeLateWarnings dedupes two structurally identical warnings arriving in the same done batch', () => { - const response = normalizeResponse(fixtures['definite-single']); - const specId = response.parts[0].spec.spec_id; + const response = resolution(fixtures['definite-single']); + const specId = definite(response.parts[0]).spec.spec_id; const warning = { code: 'observations_timed_out', severity: 'warn' as const, @@ -674,7 +688,7 @@ test('mergeLateWarnings dedupes two structurally identical warnings arriving in }); test('mergeLateWarnings is a no-op, returning the same response instance, when no warning carries a spec_id', () => { - const response = normalizeResponse(fixtures['definite-single']); + const response = resolution(fixtures['definite-single']); const merged = mergeLateWarnings(response, [ { code: 'run_level_signal', severity: 'info', message: 'no spec_id here' }, @@ -684,8 +698,8 @@ test('mergeLateWarnings is a no-op, returning the same response instance, when n }); test('mergeLateWarnings keeps two warnings distinct whose code/message boundary would collide under a space separator', () => { - const response = normalizeResponse(fixtures['definite-single']); - const specId = response.parts[0].spec.spec_id; + const response = resolution(fixtures['definite-single']); + const specId = definite(response.parts[0]).spec.spec_id; // Under a single-space separator both identities would be "a b c ": // first_pair = "a" + " " + "b c", second_pair = "a b" + " " + "c". The real // separator is `\u0000`, so the two stay distinct. @@ -705,8 +719,8 @@ const modelledLate = { }; test('applyDoneEvent folds late warnings into the definite part carrying the spec_id and sets its late departures', () => { - const response = normalizeResponse(fixtures['definite-single']); - const specId = response.parts[0].spec.spec_id; + const response = resolution(fixtures['definite-single']); + const specId = definite(response.parts[0]).spec.spec_id; const warning = { code: 'observations_timed_out', severity: 'warn' as const, @@ -725,8 +739,8 @@ test('applyDoneEvent folds late warnings into the definite part carrying the spe }); test('applyDoneEvent replaces the shipped departures with the late list, whole', () => { - const single = normalizeResponse(fixtures['definite-single']); - const specId = single.parts[0].spec.spec_id; + const single = resolution(fixtures['definite-single']); + const specId = definite(single.parts[0]).spec.spec_id; const shipped = { code: 'entity_unavailable' as const, binding_ref: null, @@ -744,9 +758,9 @@ test('applyDoneEvent replaces the shipped departures with the late list, whole', }); test('applyDoneEvent gives each part sharing a spec_id its own late list', () => { - const single = normalizeResponse(fixtures['definite-single']); + const single = resolution(fixtures['definite-single']); const response = { ...single, parts: [single.parts[0], { ...single.parts[0] }] }; - const specId = single.parts[0].spec.spec_id; + const specId = definite(single.parts[0]).spec.spec_id; const unavailable = { code: 'entity_unavailable' as const, binding_ref: null, @@ -768,13 +782,17 @@ test('applyDoneEvent gives each part sharing a spec_id its own late list', () => }); test('applyDoneEvent touches only the part at part_index when parts share a spec_id', () => { - const single = normalizeResponse(fixtures['definite-single']); + const single = resolution(fixtures['definite-single']); const response = { ...single, parts: [single.parts[0], { ...single.parts[0] }] }; const merged = applyDoneEvent(response, { warnings: [], late_departures: [ - { part_index: 1, spec_id: single.parts[0].spec.spec_id, departures: [modelledLate] }, + { + part_index: 1, + spec_id: definite(single.parts[0]).spec.spec_id, + departures: [modelledLate], + }, ], }); @@ -783,7 +801,7 @@ test('applyDoneEvent touches only the part at part_index when parts share a spec }); test('applyDoneEvent returns the same response when no late departure names a definite part', () => { - const response = normalizeResponse(fixtures['definite-single']); + const response = resolution(fixtures['definite-single']); assert.equal(applyDoneEvent(response, { warnings: [] }), response); assert.equal( @@ -793,7 +811,7 @@ test('applyDoneEvent returns the same response when no late departure names a de { part_index: 0, spec_id: 'spec_elsewhere', departures: [modelledLate] }, { part_index: 5, - spec_id: response.parts[0].spec.spec_id, + spec_id: definite(response.parts[0]).spec.spec_id, departures: [modelledLate], }, ], @@ -1139,7 +1157,7 @@ for (const name of ['catalogue-kenya', 'declined-out-of-scope'] as const) { } test('mintDataset posts the spec id and definition and no StatVar list', async (t) => { - const spec = normalizeResponse(fixtures['definite-single']).parts[0].spec; + const spec = definite(resolution(fixtures['definite-single']).parts[0]).spec; const fetchMock = t.mock.method( globalThis, 'fetch', diff --git a/src/lib/search/test/searchShareRequest.test.ts b/src/lib/search/test/searchShareRequest.test.ts index 85746b3..d6fb0b3 100644 --- a/src/lib/search/test/searchShareRequest.test.ts +++ b/src/lib/search/test/searchShareRequest.test.ts @@ -1,13 +1,13 @@ import assert from 'node:assert/strict'; import test from 'node:test'; -import { normalizeResponse } from '../searchClient.ts'; import { readSearchShareRequest, SEARCH_SHARE_MAX_PARTS, searchSharePart, } from '../searchShareRequest.ts'; import type { HydratedPart, Spec } from '../types.ts'; +import { definite, resolution } from './fixtures/resolution.ts'; import { fixtures } from './fixtures/index.ts'; const part = (partIndex: number) => ({ @@ -147,12 +147,12 @@ test('a part whose identity holds entity_groups is refused', () => { }); test("a definite part shares its Spec's groups beside the identity, and null when it has none", () => { - const [response] = normalizeResponse(fixtures['definite-rank-operation']).parts; + const response = definite(resolution(fixtures['definite-rank-operation']).parts[0]); const hydrated: HydratedPart = { index: 0, variableText: response.variable_text ?? null, part: response, - hydratedSpec: response.spec!, + hydratedSpec: response.spec, observationsPending: false, phase: 'done', editError: null, diff --git a/src/lib/search/test/sentencePlan.test.ts b/src/lib/search/test/sentencePlan.test.ts index a865d6d..03f8b52 100644 --- a/src/lib/search/test/sentencePlan.test.ts +++ b/src/lib/search/test/sentencePlan.test.ts @@ -144,3 +144,11 @@ test('planSentenceText reads the heading alone, leaving out the byline and depar ); assert.equal(planSentenceText(null), ''); }); + +test('planSentenceText reads a token with no segment as heading, the wire default', () => { + const plan = crs038.sentence_plan.map((token): SentenceToken => + token.segment === 'heading' ? { ...token, segment: undefined } : token, + ); + + assert.equal(planSentenceText(plan), planSentenceText(crs038.sentence_plan)); +}); diff --git a/src/lib/search/test/studioHandoff.test.ts b/src/lib/search/test/studioHandoff.test.ts index 9c240af..2d30f24 100644 --- a/src/lib/search/test/studioHandoff.test.ts +++ b/src/lib/search/test/studioHandoff.test.ts @@ -9,15 +9,22 @@ import test from 'node:test'; import { MAX_PROPS_BYTES } from '../../events/limits.ts'; import { EVENT_SAMPLE, searchEventName, searchEventProps } from '../searchEvents.ts'; -import { flattenSpec, normalizeResponse, unflattenSpec } from '../searchClient.ts'; +import { flattenSpec, unflattenSpec } from '../searchClient.ts'; import { planSentenceText } from '../sentencePlan.ts'; import { handoffEdited, handoffQuestion, handoffSeeds, studioHref } from '../studioHandoff.ts'; -import { type HydratedPart, knownPart, type Operation, type Part } from '../types.ts'; +import { + type HydratedPart, + knownPart, + type Operation, + type Part, + type SentenceToken, +} from '../types.ts'; +import { resolution } from './fixtures/resolution.ts'; import { fixtures, type FixtureName } from './fixtures/index.ts'; /** The fixture's normalized parts as a settled run holds them. */ function hydratedParts(name: FixtureName): HydratedPart[] { - const parts: Part[] = normalizeResponse(fixtures[name]).parts; + const parts: Part[] = resolution(fixtures[name]).parts; return parts.map((part, index) => { const known = knownPart(part); @@ -144,7 +151,7 @@ test('a Studio click after a place and year edit hands over the edited question query, edited: false, sentence: planSentenceText( - normalizeResponse(fixtures['definite-explain-operation']).sentence_plan, + resolution(fixtures['definite-explain-operation']).sentence_plan, ), }), query, @@ -154,7 +161,7 @@ test('a Studio click after a place and year edit hands over the edited question }); // The edit's answer replaces every part; the user has an edit on record. - const edited = normalizeResponse(fixtures['definite-explain-edited']); + const edited = resolution(fixtures['definite-explain-edited']); const after = hydratedParts('definite-explain-edited'); const question = handoffQuestion({ query, @@ -199,9 +206,9 @@ test('a Studio click on an opened share saved after an edit hands over the sente // original query, and the opener has made no edit of their own. const query = 'Why did the population of Ethiopia fall in 2023?'; // The plan's byline stays off the question. - const opened = normalizeResponse(fixtures['definite-explain-edited']); - const plan = [ - ...opened.sentence_plan, + const opened = resolution(fixtures['definite-explain-edited']); + const plan: SentenceToken[] = [ + ...(opened.sentence_plan ?? []), { kind: 'slot', text: ' Persons.', axis: 'unit', segment: 'byline', entity_refs: [] }, ]; const edited = handoffEdited({ editCount: 0, fromShare: true }); diff --git a/src/lib/search/test/tokenAbout.test.ts b/src/lib/search/test/tokenAbout.test.ts index f32cdd0..adcf2b5 100644 --- a/src/lib/search/test/tokenAbout.test.ts +++ b/src/lib/search/test/tokenAbout.test.ts @@ -8,9 +8,9 @@ import { singleStatVarSpec, tokenAbout, } from '../tokenAbout.ts'; -import { normalizeResponse } from '../searchClient.ts'; import { priceBasis } from '../unitLabel.ts'; import type { SentenceToken } from '../types.ts'; +import { definite, resolution } from './fixtures/resolution.ts'; import { fixtures } from './fixtures/index.ts'; const slot = (fields: Partial): SentenceToken => ({ @@ -183,7 +183,7 @@ test('a continent or UN subregion group counts the countries and territories it test('the served Africa region reads as its countries and territories', () => { const body = fixtures['region-group'] as { sentence_plan: SentenceToken[] }; const token = body.sentence_plan.find((candidate) => candidate.axis === 'where'); - const [{ spec }] = normalizeResponse(body).parts; + const { spec } = definite(resolution(body).parts[0]); assert.ok(token); const about = tokenAbout(token, spec); diff --git a/src/lib/search/test/unitPicker.test.ts b/src/lib/search/test/unitPicker.test.ts index f2681be..336906e 100644 --- a/src/lib/search/test/unitPicker.test.ts +++ b/src/lib/search/test/unitPicker.test.ts @@ -3,7 +3,6 @@ import assert from 'node:assert/strict'; import test from 'node:test'; import { buildDatasetEntries } from '../datasetEntries.ts'; -import { normalizeResponse } from '../searchClient.ts'; import { currencyName } from '../tokenAbout.ts'; import type { HydratedPart, UnitConversion } from '../types.ts'; import { @@ -27,12 +26,13 @@ import { unitDebt, unitHealth, } from './fixtures/unit-conversion.ts'; +import { definite, resolution } from './fixtures/resolution.ts'; -const specOf = (body: unknown): any => normalizeResponse(body).parts[0].spec; +const specOf = (body: unknown): any => definite(resolution(body).parts[0]).spec; /** `body`'s parts as the page hydrates them, each spec as served. */ const hydratedParts = (body: unknown): HydratedPart[] => - normalizeResponse(body).parts.map((part: any, index: number) => ({ + resolution(body).parts.map((part: any, index: number) => ({ index, variableText: part.variable_text ?? null, part, diff --git a/src/lib/search/test/view.test.ts b/src/lib/search/test/view.test.ts index 69321dc..cf32667 100644 --- a/src/lib/search/test/view.test.ts +++ b/src/lib/search/test/view.test.ts @@ -1,8 +1,9 @@ import assert from 'node:assert/strict'; import test from 'node:test'; -import { keyRef, normalizeResponse } from '../searchClient.ts'; +import { keyRef } from '../searchClient.ts'; import { tokenPart } from '../sentencePlan.ts'; +import { definite, noData, resolution } from './fixtures/resolution.ts'; import { fixtures } from './fixtures/index.ts'; import { noDataResponse, wireSpec } from './fixtures/no-data.ts'; import { servedAnswer } from './fixtures/served-answer.ts'; @@ -50,7 +51,8 @@ import { splitCurrentPick, } from '../view.ts'; import type { EntityOptionsBySpec, PlaceOptionScopeResult, PlaceOptionsEntry } from '../view.ts'; -import type { SentenceToken, SlotOption } from '../types.ts'; +import type { SentenceToken, Slot, SlotOption } from '../types.ts'; +import type { EntityOption } from '../searchClient.ts'; /** A slot option binding `ref`, or the one that binds no value. */ const slotOption = (ref?: string, label = ref): SlotOption => ({ @@ -248,7 +250,7 @@ test('noDataCallout hands the flagged match the full question as editText when t const response = noDataResponse('role_incompatible', null, { flagged_match: wireSpec('spec_flagged'), }); - const part = normalizeResponse(response).parts[0]; + const part = resolution(response).parts[0]; const callout = noDataCallout(part, QUESTION); @@ -265,7 +267,7 @@ test('noDataCallout hands the flagged match its own rendered sentence as editTex const response = noDataResponse('role_incompatible', null, { flagged_match: wireSpec('spec_flagged', { rendered_sentence: sentence }), }); - const part = normalizeResponse(response).parts[0]; + const part = resolution(response).parts[0]; const callout = noDataCallout(part, QUESTION); @@ -277,7 +279,7 @@ test('noDataCallout offers the alternate match, not Studio, for an only_alternat const response = noDataResponse('no_matching_slice', 'only_alternate_has_data', { alternate_match: wireSpec('spec_alternate'), }); - const part = normalizeResponse(response).parts[0]; + const part = resolution(response).parts[0]; const callout = noDataCallout(part, QUESTION); @@ -287,7 +289,7 @@ test('noDataCallout offers the alternate match, not Studio, for an only_alternat test('noDataCallout falls back to Studio when neither a flagged nor alternate match exists and nearest_real is empty', () => { const response = noDataResponse('variable_not_resolved', null, {}); - const part = normalizeResponse(response).parts[0]; + const part = resolution(response).parts[0]; assert.deepEqual(noDataCallout(part, QUESTION), { kind: 'studio' }); }); @@ -296,7 +298,7 @@ test('noDataCallout is null when nearest_real is non-empty, leaving the nearest- const response = noDataResponse('no_observations', null, { nearest_real: [wireSpec('spec_near')], }); - const part = normalizeResponse(response).parts[0]; + const part = resolution(response).parts[0]; assert.equal(noDataCallout(part, QUESTION), null); }); @@ -748,8 +750,8 @@ test('mergeSlotOptionsEntry then slotOptionsEntry round-trips a truncated entry // --- optionMuted ------------------------------------------------------ test('optionMuted is true for a flat option the probe confirmed has no data', () => { - const option = { - value: { ref: { ref: 'country/LVA' } }, + const option: SlotOption = { + ...slotOption('country/LVA'), coverage: { kind: 'bare', has_data: false }, }; @@ -757,25 +759,25 @@ test('optionMuted is true for a flat option the probe confirmed has no data', () }); test('optionMuted is false for an observed option, and false for a never-probed one', () => { - const observed = { - value: { ref: { ref: 'country/DEU' } }, + const observed: SlotOption = { + ...slotOption('country/DEU'), coverage: { kind: 'bare', has_data: true }, }; - const unprobed = { value: { ref: { ref: 'country/KEN' } } }; + const unprobed: SlotOption = slotOption('country/KEN'); assert.equal(optionMuted(observed), false); assert.equal(optionMuted(unprobed), false); }); test('optionMuted reads a probed-zero level-scoped parent the same way it reads a flat option (F2)', () => { - const options = [ + const options: SlotOption[] = [ { - value: { ref: { ref: 'crsPurpose/100' } }, + ...slotOption('crsPurpose/100'), relation: 'parent', member_count: 40, coverage: { kind: 'bare', has_data: false }, }, - { value: { ref: { ref: 'crsPurpose/110' } }, relation: 'child', member_count: 12 }, + { ...slotOption('crsPurpose/110'), relation: 'child', member_count: 12 }, ]; const partition = partitionLevelOptions(options); @@ -783,10 +785,10 @@ test('optionMuted reads a probed-zero level-scoped parent the same way it reads }); test('optionMuted reads a probed-zero level-scoped child the same way it reads a flat option', () => { - const options = [ - { value: { ref: { ref: 'crsPurpose/100' } }, relation: 'parent', member_count: 40 }, + const options: SlotOption[] = [ + { ...slotOption('crsPurpose/100'), relation: 'parent', member_count: 40 }, { - value: { ref: { ref: 'crsPurpose/110' } }, + ...slotOption('crsPurpose/110'), relation: 'child', member_count: 12, coverage: { kind: 'bare', has_data: false }, @@ -800,51 +802,48 @@ test('optionMuted reads a probed-zero level-scoped child the same way it reads a // --- rankOptionsByCoverage ---------------------------------------------- test('rankOptionsByCoverage passes a flat list through unchanged when nothing carries a probed verdict', () => { - const options = [ - { value: { ref: { ref: 'country/DEU' } } }, - { value: { ref: { ref: 'country/KEN' } } }, - ]; + const options: SlotOption[] = [slotOption('country/DEU'), slotOption('country/KEN')]; assert.deepEqual(rankOptionsByCoverage(options, 'country/KEN'), options); }); test('rankOptionsByCoverage ranks a flat option list richest-first and demotes a probed-zero option to the end', () => { - const options = [ - { value: { ref: { ref: 'country/LVA' } }, coverage: { kind: 'bare', has_data: false } }, + const options: SlotOption[] = [ + { ...slotOption('country/LVA'), coverage: { kind: 'bare', has_data: false } }, { - value: { ref: { ref: 'country/DEU' } }, + ...slotOption('country/DEU'), coverage: { kind: 'exact', has_data: true, observation_count: 18 }, }, { - value: { ref: { ref: 'country/KEN' } }, + ...slotOption('country/KEN'), coverage: { kind: 'exact', has_data: true, observation_count: 5 }, }, ]; assert.deepEqual( - rankOptionsByCoverage(options, null).map((o) => o.value.ref.ref), + rankOptionsByCoverage(options, null).map((o) => o.value.ref?.ref), ['country/DEU', 'country/KEN', 'country/LVA'], ); }); test('rankOptionsByCoverage keeps the bound option visible ahead of other probed-zero options, even when it is itself probed-zero', () => { - const options = [ - { value: { ref: { ref: 'country/LVA' } }, coverage: { kind: 'bare', has_data: false } }, - { value: { ref: { ref: 'country/CZE' } }, coverage: { kind: 'bare', has_data: false } }, + const options: SlotOption[] = [ + { ...slotOption('country/LVA'), coverage: { kind: 'bare', has_data: false } }, + { ...slotOption('country/CZE'), coverage: { kind: 'bare', has_data: false } }, { - value: { ref: { ref: 'country/DEU' } }, + ...slotOption('country/DEU'), coverage: { kind: 'exact', has_data: true, observation_count: 18 }, }, ]; assert.deepEqual( - rankOptionsByCoverage(options, 'country/CZE').map((o) => o.value.ref.ref), + rankOptionsByCoverage(options, 'country/CZE').map((o) => o.value.ref?.ref), ['country/DEU', 'country/CZE', 'country/LVA'], ); }); test('rankOptionsByCoverage keeps a probed-zero current pick visible on the flat EntityOption shape PlaceScopeEditor feeds it', () => { - const options = [ + const options: EntityOption[] = [ { dcid: 'country/LVA', label: 'Latvia', coverage: { kind: 'bare', has_data: false } }, { dcid: 'country/CZE', label: 'Czechia', coverage: { kind: 'bare', has_data: false } }, { @@ -1085,7 +1084,7 @@ function kenyaFixtureSpec() { }, ]; - return normalizeResponse(body).parts[0].spec; + return definite(resolution(body).parts[0]).spec; } const kenyaWhereToken: SentenceToken = { @@ -1676,8 +1675,8 @@ test('operationProgressText formats rows written against the estimate', () => { }); test("a single-part entity_ambiguous plan routes its wording token to that wording's candidates", () => { - const response = normalizeResponse(fixtures['world-bank-ambiguous']); - const plan: SentenceToken[] = response.sentence_plan; + const response = resolution(fixtures['world-bank-ambiguous']); + const plan = response.sentence_plan ?? []; const slots = plan.filter((token) => token.kind === 'slot'); assert.equal(slots.length, 1); @@ -1687,7 +1686,7 @@ test("a single-part entity_ambiguous plan routes its wording token to that wordi assert.equal(partIndex, 0); assert.equal(wording.role, 'origin'); assert.deepEqual( - ambiguousWordingGroup(wording, response.parts[0].no_data)?.options.map( + ambiguousWordingGroup(wording, noData(response.parts[0]).no_data)?.options.map( (option) => option.label, ), [ @@ -1698,7 +1697,7 @@ test("a single-part entity_ambiguous plan routes its wording token to that wordi }); test('ambiguousWordingGroup refuses the variable slot and an entity read-back', () => { - const { no_data: noData } = normalizeResponse(fixtures['world-bank-ambiguous']).parts[0]; + const { no_data: refusal } = noData(resolution(fixtures['world-bank-ambiguous']).parts[0]); const token: SentenceToken = { kind: 'slot', text: 'World Bank', @@ -1706,19 +1705,23 @@ test('ambiguousWordingGroup refuses the variable slot and an entity read-back', role: 'origin', }; - assert.ok(ambiguousWordingGroup(token, noData)); - assert.equal(ambiguousWordingGroup({ ...token, axis: 'what' }, noData), null); - assert.equal(ambiguousWordingGroup({ ...token, entity_refs: ['WorldBank'] }, noData), null); - assert.equal(ambiguousWordingGroup({ ...token, kind: 'text' }, noData), null); - assert.equal(ambiguousWordingGroup({ ...token, text: 'IFC' }, noData), null); + assert.ok(ambiguousWordingGroup(token, refusal)); + assert.equal(ambiguousWordingGroup({ ...token, axis: 'what' }, refusal), null); + assert.equal(ambiguousWordingGroup({ ...token, entity_refs: ['WorldBank'] }, refusal), null); + assert.equal(ambiguousWordingGroup({ ...token, kind: 'text' }, refusal), null); + assert.equal(ambiguousWordingGroup({ ...token, text: 'IFC' }, refusal), null); }); test("ambiguousEntityMenuTitle titles the menu by the ambiguous wording's role", () => { - const part = normalizeResponse(fixtures['entity-ambiguous']).parts[0]; + const part = noData(resolution(fixtures['entity-ambiguous']).parts[0]); + const { restatement } = part; + + assert.ok(restatement); + const withRole = (roleText: string | null) => ({ ...part, restatement: { - ...part.restatement, + ...restatement, entities: [ { text: 'Congo', role_text: roleText }, { text: 'France', role_text: 'from' }, @@ -1734,8 +1737,12 @@ test("ambiguousEntityMenuTitle titles the menu by the ambiguous wording's role", }); test('ambiguousEntityMenuTitle names every ambiguous wording a shared menu offers', () => { - const part = normalizeResponse(fixtures['entity-ambiguous']).parts[0]; - const [congo] = part.no_data.options; + const part = noData(resolution(fixtures['entity-ambiguous']).parts[0]); + const { restatement } = part; + const [congo] = part.no_data.options ?? []; + + assert.ok(restatement && congo); + const bothAmbiguous = { ...part, no_data: { @@ -1746,7 +1753,7 @@ test('ambiguousEntityMenuTitle names every ambiguous wording a shared menu offer ], }, restatement: { - ...part.restatement, + ...restatement, entities: [ { text: 'World Bank', role_text: 'from' }, { text: 'Georgia', role_text: 'to' }, @@ -1758,16 +1765,20 @@ test('ambiguousEntityMenuTitle names every ambiguous wording a shared menu offer }); test('ambiguousEntityMenuTitle reads a restatement whose entities are null', () => { - const part = normalizeResponse(fixtures['entity-ambiguous']).parts[0]; - const withoutEntities = { ...part, restatement: { ...part.restatement, entities: null } }; + const part = noData(resolution(fixtures['entity-ambiguous']).parts[0]); + const { restatement } = part; + + assert.ok(restatement); + + const withoutEntities = { ...part, restatement: { ...restatement, entities: null } }; assert.equal(ambiguousEntityMenuTitle(withoutEntities), 'Select Place'); }); // --- rootGroups ------------------------------------------------------------ -const levelOption = (dcid: string, relation: string, parent?: string) => ({ - value: { ref: { ref: dcid, label: dcid } }, +const levelOption = (dcid: string, relation: string, parent?: string): SlotOption => ({ + ...slotOption(dcid), relation, ...(parent ? { parent } : {}), }); @@ -1786,8 +1797,8 @@ test('rootGroups puts each child under the root its parent names, in wire order' assert.deepEqual( groups.map(({ root, children }) => [ - root.value.ref.ref, - children.map((child) => child.value.ref.ref), + root.value.ref?.ref, + children.map((child) => child.value.ref?.ref), ]), [ ['crsPurpose/100', ['crsPurpose/120', 'crsPurpose/110']], @@ -1822,7 +1833,7 @@ test('rootGroups reads a root whose one child serves the same rows as that child assert.deepEqual( rootGroups(partitionLevelOptions(options)).map(({ root, children }) => [ - root.value.ref.label, + root.value.ref?.label, root.served_rows, children.length, ]), @@ -1838,15 +1849,14 @@ test('rootGroups reads a root whose one child serves the same rows as that child // --- levelMenu --------------------------------------------------------- -const valueBinding = (dcid: string) => ({ +const valueBinding = (dcid: string): Slot['binding'] => ({ kind: 'value', value: { value_kind: 'taxonomy', ref: { ref: dcid, label: dcid } }, }); -const dcids = (options: { value: { ref: { ref: string } } }[]) => - options.map((option) => option.value.ref.ref); +const dcids = (options: SlotOption[]) => options.map((option) => option.value.ref?.ref); -const boundMenu = (binding: unknown, options: unknown[]) => { +const boundMenu = (binding: Slot['binding'], options: SlotOption[]) => { const menu = levelMenu(binding, options); assert.equal(menu.kind, 'bound'); @@ -1855,19 +1865,25 @@ const boundMenu = (binding: unknown, options: unknown[]) => { }; test('levelMenu groups an unbound slot, or one bound to a set, by root', () => { - const options = [ + const options: SlotOption[] = [ levelOption('CRSPurposeCode100', 'root'), levelOption('CRSPurposeCode110', 'child', 'CRSPurposeCode100'), levelOption('CRSPurposeCode200', 'root'), ]; - for (const binding of [{ kind: 'unbound' }, { kind: 'set', values: [] }, undefined]) { + const bindings: (Slot['binding'] | undefined)[] = [ + { kind: 'unbound' }, + { kind: 'set', values: [] }, + undefined, + ]; + + for (const binding of bindings) { const menu = levelMenu(binding, options); assert.equal(menu.kind, 'unbound'); assert.deepEqual( menu.kind === 'unbound' && - menu.groups.map(({ root, children }) => [root.value.ref.ref, dcids(children)]), + menu.groups.map(({ root, children }) => [root.value.ref?.ref, dcids(children)]), [ ['CRSPurposeCode100', ['CRSPurposeCode110']], ['CRSPurposeCode200', []], @@ -1883,8 +1899,8 @@ test('levelMenu puts a bound non-root between its parent and its children', () = levelOption('CRSPurposeCode100', 'parent'), ]); - assert.equal(menu.up?.value.ref.ref, 'CRSPurposeCode100'); - assert.equal(menu.current.value.ref.ref, 'CRSPurposeCode120'); + assert.equal(menu.up?.value.ref?.ref, 'CRSPurposeCode100'); + assert.equal(menu.current.value.ref?.ref, 'CRSPurposeCode120'); assert.deepEqual(dcids(menu.down), ['CRSPurposeCode122', 'CRSPurposeCode121']); assert.deepEqual(menu.sideways, []); }); @@ -1898,10 +1914,10 @@ test('levelMenu keeps a bound root as the current pick, its children down and th ]); assert.equal(menu.up, null); - assert.equal(menu.current.value.ref.ref, 'CRSPurposeCode100'); + assert.equal(menu.current.value.ref?.ref, 'CRSPurposeCode100'); assert.deepEqual(dcids(menu.down), ['CRSPurposeCode110', 'CRSPurposeCode120']); assert.deepEqual( - menu.sideways.map(({ root, children }) => [root.value.ref.ref, dcids(children)]), + menu.sideways.map(({ root, children }) => [root.value.ref?.ref, dcids(children)]), [ ['CRSPurposeCode200', []], ['CRSPurposeCode300', []], @@ -1915,10 +1931,10 @@ test('levelMenu keeps a childless bound root as the current pick beside the othe levelOption('DAC2aAidType207', 'root'), ]); - assert.equal(menu.current.value.ref.ref, 'DAC2aAidType216'); + assert.equal(menu.current.value.ref?.ref, 'DAC2aAidType216'); assert.deepEqual(menu.down, []); assert.deepEqual( - menu.sideways.map(({ root }) => root.value.ref.ref), + menu.sideways.map(({ root }) => root.value.ref?.ref), ['DAC2aAidType206', 'DAC2aAidType207'], ); }); @@ -1931,7 +1947,7 @@ test("levelMenu takes a flat code system's bound value from the list, with its r assert.equal(menu.current.served_rows, 7); assert.deepEqual( - menu.sideways.map(({ root }) => root.value.ref.ref), + menu.sideways.map(({ root }) => root.value.ref?.ref), ['crsTypeOfFlow/11'], ); }); @@ -1946,10 +1962,10 @@ test('levelMenu keeps every child reachable under its root for a binding the cod levelOption('CRSPurposeCode210', 'child', 'CRSPurposeCode200'), ]); - assert.equal(menu.current.value.ref.ref, 'CRSPurposeCode999'); + assert.equal(menu.current.value.ref?.ref, 'CRSPurposeCode999'); assert.deepEqual(menu.down, []); assert.deepEqual( - menu.sideways.map(({ root, children }) => [root.value.ref.ref, dcids(children)]), + menu.sideways.map(({ root, children }) => [root.value.ref?.ref, dcids(children)]), [ ['CRSPurposeCode100', ['CRSPurposeCode110']], ['CRSPurposeCode200', ['CRSPurposeCode210']], diff --git a/src/lib/search/tokenAbout.ts b/src/lib/search/tokenAbout.ts index fa4693a..70c9f6d 100644 --- a/src/lib/search/tokenAbout.ts +++ b/src/lib/search/tokenAbout.ts @@ -25,6 +25,7 @@ import { axisLabel, formatCount, formatWindow, + observationSeries, provenanceOrigin, rowsLabel, servedSeriesCount, @@ -96,10 +97,8 @@ export const servedSpan = (spec: any): string | null => { export const latestDate = (spec: any): string | null => { const end: unknown = spec?.stat_vars?.data_date_range?.end; const ends: string[] = typeof end === 'string' && end ? [end] : []; - const points: string[] = (spec?.observations?.series ?? []).flatMap((series: any) => - (series?.points ?? []) - .filter((point: any) => point?.value != null) - .map((point: any) => point.date), + const points = observationSeries(spec).flatMap((series) => + series.points.filter((point) => point.value != null).map((point) => point.date), ); return [...ends, ...points].toSorted().at(-1) ?? null; diff --git a/src/lib/search/types.ts b/src/lib/search/types.ts index 323f30c..eaf94c0 100644 --- a/src/lib/search/types.ts +++ b/src/lib/search/types.ts @@ -49,6 +49,7 @@ export type { MeasureAxisValue, NoDataDenominator, NoDataOption, + ObservationSeries, ObservationsOmission, OpenConstraintAxisFact, ParsedPart, diff --git a/src/lib/search/view.ts b/src/lib/search/view.ts index 3426001..23a6cc3 100644 --- a/src/lib/search/view.ts +++ b/src/lib/search/view.ts @@ -21,6 +21,7 @@ import { type EntityOptions, type EntityRoleKey, type FacetBasis, + type ObservationSeries, type GraphRef, hasKey, type IdentityFacetBinding, @@ -37,7 +38,9 @@ import { type PlaceOptionsScope, type RoleAxis, type SentenceToken, + type Slot, type SlotOption, + type Spec, type UnitAlternative, type Warning, } from './types.ts'; @@ -45,7 +48,7 @@ import { keyRef, sentenceOf } from './searchClient.ts'; import { unitWithBasis } from './unitLabel.ts'; /** Display label of a slot/entity option, wherever the engine put it. */ -export const optionLabel = (option: any): string => +export const optionLabel = (option: OptionLike | null | undefined): string => option?.value?.ref?.label ?? option?.label ?? '—'; /** True when searchClient.flattenSpec couldn't read this spec's `stat_vars` @@ -71,17 +74,20 @@ export const cardText = (spec: any, fallbackText?: string | null): string | unde * ref, in the engine's own rank order (in-window observation count). An * option with no ref (measurementMethod and unit only) stands for the * facets that declare no value on the axis, and is kept once. */ -const facetAxisOptions = (spec: any, axis: string): SlotOption[] => { +const facetAxisOptions = ( + spec: Pick | null | undefined, + axis: string, +): SlotOption[] => { const seen = new Set(); const out: SlotOption[] = []; (spec?.facet_options ?? []) - .filter((entry: any) => entry?.axis === axis) - .forEach((entry: any) => { - (entry.options ?? []).forEach((option: SlotOption) => { - const value = option?.value; + .filter((entry) => entry.axis === axis) + .forEach((entry) => { + entry.options.forEach((option) => { + const { value } = option; - if (!value || (value.ref && !value.ref.ref)) { + if (value.ref && !value.ref.ref) { return; } @@ -119,7 +125,7 @@ export type SourceSlotOption = SlotOption & { value: { ref: GraphRef } }; * Provenance labels arrive dcid-squished ("WorldDevelopmentIndicators") while * the engine's own rendered sentence spaces them out — mirror that spacing. */ -export const sourceOptionLabel = (option: any): string => +export const sourceOptionLabel = (option: OptionLike | null | undefined): string => optionLabel(option) .replace(/_/g, ' ') .replace(/([a-z0-9])([A-Z])/g, '$1 $2'); @@ -258,13 +264,11 @@ export const sharedEntityOptions = ( if (completeEntries.length === 0 || completeEntries.length !== entries.length) return undefined; const [first, ...rest] = completeEntries; - const options = first.options.filter((option: any) => { - const dcid = option?.value?.ref?.ref; + const options = first.options.filter((option) => { + const dcid = option.value.ref?.ref; return ( dcid && - rest.every((entry) => - entry.options.some((other: any) => other?.value?.ref?.ref === dcid), - ) + rest.every((entry) => entry.options.some((other) => other.value.ref?.ref === dcid)) ); }); @@ -655,28 +659,24 @@ export const planPlaceOptions = ( * the years dimension ("24 yrs"), else nothing. Slot options read * `optionSeriesLabel` instead. */ -export const optionCoverageLabel = (option: any): string | null => { - if (typeof option?.obs_count === 'number') { - return `${formatCount(option.obs_count)} obs`; - } - +export const optionCoverageLabel = (option: OptionLike | null | undefined): string | null => { const coverage = option?.coverage; if (!coverage) { return null; } - const dims: any[] = coverage.dimensions ?? []; + const dims = (coverage.kind === 'bare' ? null : coverage.dimensions) ?? []; const obs = - typeof coverage.observation_count === 'number' + coverage.kind === 'exact' ? coverage.observation_count - : dims.find((d) => d?.label === 'observations')?.count; + : dims.find((d) => d.label === 'observations')?.count; if (typeof obs === 'number') { return `${formatCount(obs)} obs`; } - const years = dims.find((d) => d?.label === 'years')?.count; + const years = dims.find((d) => d.label === 'years')?.count; if (typeof years === 'number') { return `${formatCount(years)} yrs`; @@ -691,7 +691,7 @@ export const optionCoverageLabel = (option: any): string | null => { * (dfo-apis src/search/models/options.py) is populated on every option or * none for a given list, so checking one option settles it for the rest. */ -export const isLevelScopedOptions = (options: any[]): boolean => +export const isLevelScopedOptions = (options: readonly SlotOption[]): boolean => options.length > 0 && options[0]?.relation != null; /** @@ -705,12 +705,12 @@ export const isLevelScopedOptions = (options: any[]): boolean => * parent, child, or root option. */ export type LevelPartition = { - parent: any | null; - children: any[]; - roots: any[]; + parent: SlotOption | null; + children: SlotOption[]; + roots: SlotOption[]; }; -export const partitionLevelOptions = (options: any[]): LevelPartition => ({ +export const partitionLevelOptions = (options: readonly SlotOption[]): LevelPartition => ({ parent: options.find((option) => option?.relation === 'parent') ?? null, children: options.filter((option) => option?.relation === 'child'), roots: options.filter((option) => option?.relation === 'root'), @@ -718,7 +718,7 @@ export const partitionLevelOptions = (options: any[]): LevelPartition => ({ /** One root of an unbound level-scoped slot's two-level menu, with the * children the wire sent under it. */ -export type RootGroup = { root: any; children: any[] }; +export type RootGroup = { root: SlotOption; children: SlotOption[] }; /** * An unbound hierarchical slot's roots, each with its children grouped by @@ -729,10 +729,10 @@ export type RootGroup = { root: any; children: any[] }; * served count is that child alone. */ export const rootGroups = (partition: LevelPartition): RootGroup[] => { - const byParent = new Map(); + const byParent = new Map(); for (const child of partition.children) { - const parent: string | undefined = child?.parent; + const { parent } = child; if (!parent) continue; @@ -746,7 +746,7 @@ export const rootGroups = (partition: LevelPartition): RootGroup[] => { } return partition.roots.map((root) => { - const dcid: string | undefined = root?.value?.ref?.ref; + const dcid = root.value.ref?.ref; const children = dcid ? (byParent.get(dcid) ?? []) : []; const [only] = children; @@ -754,7 +754,7 @@ export const rootGroups = (partition: LevelPartition): RootGroup[] => { // pick twice ("project-type intervention (group)" and "project-type // intervention"): the child stands for both. return children.length === 1 && - root?.served_rows != null && + root.served_rows != null && only?.served_rows === root.served_rows ? { root: only, children: [] } : { root, children }; @@ -777,17 +777,26 @@ export const rootGroups = (partition: LevelPartition): RootGroup[] => { */ export type LevelMenu = | { kind: 'unbound'; groups: RootGroup[] } - | { kind: 'bound'; up: any | null; current: any; down: any[]; sideways: RootGroup[] }; - -export const levelMenu = (binding: any, options: any[]): LevelMenu => { + | { + kind: 'bound'; + up: SlotOption | null; + current: SlotOption; + down: SlotOption[]; + sideways: RootGroup[]; + }; + +export const levelMenu = ( + binding: Slot['binding'] | null | undefined, + options: readonly SlotOption[], +): LevelMenu => { const partition = partitionLevelOptions(options); const boundValue = binding?.kind === 'value' ? binding.value : null; - const boundDcid: string | undefined = boundValue?.ref?.ref; + const boundDcid = boundValue?.ref?.ref; - if (!boundDcid) return { kind: 'unbound', groups: rootGroups(partition) }; + if (!boundValue || !boundDcid) return { kind: 'unbound', groups: rootGroups(partition) }; const { current, rest } = splitCurrentPick(partition.roots, boundDcid); - const isDown = (child: any) => child?.parent === boundDcid; + const isDown = (child: SlotOption) => child.parent === boundDcid; return { kind: 'bound', @@ -839,7 +848,7 @@ export const mergeSlotOptionsEntry = ( * reads the taxonomy label directly. The one check both a bound slot's * menu and Add Criteria's submenu need, so the same slot doesn't gain a * different label depending on which entry point rendered it. */ -export const slotOptionLabel = (slot: any, option: any): string => +export const slotOptionLabel = (slot: any, option: OptionLike): string => slot?.key?.axis === 'source' ? sourceOptionLabel(option) : optionLabel(option); /** "1,284 rows", or "up to 1,284 rows" when `exact` is false, for a count @@ -917,7 +926,7 @@ export const slotOffersChoice = (slot: any, entry: SlotOptionsEntry, spec: any): /** True once the engine confirmed no data for an entity option * (optionCoverage's 'probed-zero'): the row stays in its menu but reads * muted rather than vanishing, whether or not it's also the current pick. */ -export const optionMuted = (option: any): boolean => +export const optionMuted = (option: OptionLike | null | undefined): boolean => coverageState(option?.coverage) === 'probed-zero'; /** @@ -932,10 +941,13 @@ export const optionMuted = (option: any): boolean => * shape (`value.ref.ref`) or PlaceScopeEditor's flat EntityOption shape * (`dcid`). */ -export const rankOptionsByCoverage = (options: any[], boundDcid?: string | null): any[] => { +export const rankOptionsByCoverage = ( + options: T[], + boundDcid?: string | null, +): T[] => { const { main, hidden } = partitionOptions(options, { - state: (option) => coverageState(option?.coverage), - richness: (option) => coverageRichness(option?.coverage), + state: (option) => coverageState(option.coverage), + richness: (option) => coverageRichness(option.coverage), label: (option) => optionLabel(option), isPinned: (option) => boundDcid != null && entityOptionDcid(option) === boundDcid, }); @@ -1714,7 +1726,7 @@ const LEGACY_SLOT_HEADINGS: Record = { how: 'Sector', what: 'Typ // The cells of one series' rows: one per entity role and one per axis // property, or, without axes, the subject entity and the how and what // slots' bound values. -const seriesCells = (s: any, spec: any, axes: boolean): Record => { +const seriesCells = (s: ObservationSeries, spec: any, axes: boolean): Record => { if (!axes) { const subject = seriesEntity(s); @@ -1886,7 +1898,7 @@ export const previewColumns = (parts: { spec: any }[]): PreviewColumn[] => { }; // A series' party kind per entity column. -const seriesKinds = (s: any): Record => { +const seriesKinds = (s: ObservationSeries): Record => { const kinds: Record = {}; for (const entity of s?.entities ?? []) { @@ -1952,26 +1964,31 @@ export const previewCellText = ( // `conversion` record), where the Spec's identity states the basis the // values were converted to. A preview that could not apply the conversion // keeps the unit the points are in. -const seriesUnit = (series: any, spec: any): string | null => +const seriesUnit = (series: ObservationSeries, spec: any): string | null => (series?.conversion ? unitWithBasis(spec) : null) ?? formatUnit(series?.facet?.unit) ?? formatUnit(spec?.facets?.unit); +/** The observation series a Spec carries; none before its observations + * arrive. */ +export const observationSeries = ( + spec: Pick | null | undefined, +): ObservationSeries[] => spec?.observations?.series ?? []; + export const flattenRows = (spec: any): ResultRow[] => { - const series = spec?.observations?.series ?? []; const axes = carriesAxes(spec); - const rows: ResultRow[] = series.flatMap((s: any) => { + const rows: ResultRow[] = observationSeries(spec).flatMap((s) => { const cells = seriesCells(s, spec, axes); const kinds = seriesKinds(s); - return (s?.points ?? []).map((point: any) => ({ - year: String(point?.date ?? '—'), + return s.points.map((point) => ({ + year: point.date, cells, kinds, - value: typeof point?.value === 'number' ? point.value : null, + value: point.value, unit: seriesUnit(s, spec), - method: formatMethod(s?.facet?.measurementMethod), + method: formatMethod(s.facet?.measurementMethod), })); }); From 22498e6a3d666416c2bd91d7e4a04ac07bf4ae7c Mon Sep 17 00:00:00 2001 From: Jorge Rivera Date: Wed, 21 Oct 2026 13:36:34 +0200 Subject: [PATCH 18/24] build: vendor the client package built from the sdk at 69f7439 vendor/developmentfinance-client-0.1.0.tgz is the TypeScript client at the sdk commit 69f7439, with the contract timeouts, assumptions on candidates and datasets, and the generated warning codes; pnpm-lock.yaml carries its integrity. --- pnpm-lock.yaml | 2 +- vendor/developmentfinance-client-0.1.0.tgz | Bin 251831 -> 260138 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05befb7..d807ba2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -855,7 +855,7 @@ packages: postcss-selector-parser: ^7.1.1 '@developmentfinance/client@file:vendor/developmentfinance-client-0.1.0.tgz': - resolution: {integrity: sha512-xATRLrOEdeK2lqQEMtKzA7G3kWfl8oWd2N2ZTDUOFW/fA+IrEjzHOFl+LbuppGxZyZ0sg3MwBlwnVZMSpIZHhQ==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} + resolution: {integrity: sha512-a45T55vuyb+TdkikNwa9aH504xg3037wgG7FZI0VHfYXtvHmgHE7SB8AuaFHakxifAPJHcaqQ3zcHD/QKA8w0Q==, tarball: file:vendor/developmentfinance-client-0.1.0.tgz} version: 0.1.0 engines: {node: '>=22.18'} peerDependencies: diff --git a/vendor/developmentfinance-client-0.1.0.tgz b/vendor/developmentfinance-client-0.1.0.tgz index 0bdb14a1a02fa717917a1cc3f27fb03d858e3080..8ec4ad56c84cfe408b9c5464f38887b12e5c5cfe 100644 GIT binary patch literal 260138 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