structural-codes-viewer 0.1.0-alpha.2 → 0.1.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +34 -101
  2. package/package-dist/styles.css +7 -172
  3. package/package.json +4 -46
  4. package/package-dist/chatntc/canonicalization.d.ts +0 -15
  5. package/package-dist/chatntc/canonicalization.js +0 -107
  6. package/package-dist/chatntc/canonicalization.js.map +0 -1
  7. package/package-dist/chatntc/directives.d.ts +0 -2
  8. package/package-dist/chatntc/directives.js +0 -38
  9. package/package-dist/chatntc/directives.js.map +0 -1
  10. package/package-dist/chatntc/evidence.d.ts +0 -17
  11. package/package-dist/chatntc/evidence.js +0 -116
  12. package/package-dist/chatntc/evidence.js.map +0 -1
  13. package/package-dist/chatntc/index.d.ts +0 -10
  14. package/package-dist/chatntc/index.js +0 -9
  15. package/package-dist/chatntc/index.js.map +0 -1
  16. package/package-dist/chatntc/issueCategories.d.ts +0 -2
  17. package/package-dist/chatntc/issueCategories.js +0 -11
  18. package/package-dist/chatntc/issueCategories.js.map +0 -1
  19. package/package-dist/chatntc/policy.d.ts +0 -35
  20. package/package-dist/chatntc/policy.js +0 -36
  21. package/package-dist/chatntc/policy.js.map +0 -1
  22. package/package-dist/chatntc/provider.d.ts +0 -42
  23. package/package-dist/chatntc/provider.js +0 -2
  24. package/package-dist/chatntc/provider.js.map +0 -1
  25. package/package-dist/chatntc/responseContract.d.ts +0 -52
  26. package/package-dist/chatntc/responseContract.js +0 -73
  27. package/package-dist/chatntc/responseContract.js.map +0 -1
  28. package/package-dist/chatntc/retrieval.d.ts +0 -5
  29. package/package-dist/chatntc/retrieval.js +0 -220
  30. package/package-dist/chatntc/retrieval.js.map +0 -1
  31. package/package-dist/chatntc/types.d.ts +0 -240
  32. package/package-dist/chatntc/types.js +0 -2
  33. package/package-dist/chatntc/types.js.map +0 -1
  34. package/package-dist/chatntc/validation.d.ts +0 -8
  35. package/package-dist/chatntc/validation.js +0 -299
  36. package/package-dist/chatntc/validation.js.map +0 -1
  37. package/package-dist/chatntc/viewerArtifacts.d.ts +0 -14
  38. package/package-dist/chatntc/viewerArtifacts.js +0 -168
  39. package/package-dist/chatntc/viewerArtifacts.js.map +0 -1
  40. package/package-dist/chatntc-history/index.d.ts +0 -2
  41. package/package-dist/chatntc-history/index.js +0 -3
  42. package/package-dist/chatntc-history/index.js.map +0 -1
  43. package/package-dist/chatntc-history/indexedDb.d.ts +0 -27
  44. package/package-dist/chatntc-history/indexedDb.js +0 -258
  45. package/package-dist/chatntc-history/indexedDb.js.map +0 -1
  46. package/package-dist/chatntc-history/schema.d.ts +0 -5
  47. package/package-dist/chatntc-history/schema.js +0 -102
  48. package/package-dist/chatntc-history/schema.js.map +0 -1
  49. package/package-dist/chatntc-history/types.d.ts +0 -78
  50. package/package-dist/chatntc-history/types.js +0 -23
  51. package/package-dist/chatntc-history/types.js.map +0 -1
  52. package/package-dist/chatntc-ui/ChatNTCHistoryPanel.d.ts +0 -9
  53. package/package-dist/chatntc-ui/ChatNTCHistoryPanel.js +0 -239
  54. package/package-dist/chatntc-ui/ChatNTCHistoryPanel.js.map +0 -1
  55. package/package-dist/chatntc-ui/ChatNTCIcons.d.ts +0 -10
  56. package/package-dist/chatntc-ui/ChatNTCIcons.js +0 -20
  57. package/package-dist/chatntc-ui/ChatNTCIcons.js.map +0 -1
  58. package/package-dist/chatntc-ui/ChatNTCLoadingSkeleton.d.ts +0 -1
  59. package/package-dist/chatntc-ui/ChatNTCLoadingSkeleton.js +0 -5
  60. package/package-dist/chatntc-ui/ChatNTCLoadingSkeleton.js.map +0 -1
  61. package/package-dist/chatntc-ui/ChatNTCMarkdown.d.ts +0 -14
  62. package/package-dist/chatntc-ui/ChatNTCMarkdown.js +0 -112
  63. package/package-dist/chatntc-ui/ChatNTCMarkdown.js.map +0 -1
  64. package/package-dist/chatntc-ui/ChatNTCPanel.d.ts +0 -29
  65. package/package-dist/chatntc-ui/ChatNTCPanel.js +0 -241
  66. package/package-dist/chatntc-ui/ChatNTCPanel.js.map +0 -1
  67. package/package-dist/chatntc-ui/historyMessages.d.ts +0 -5
  68. package/package-dist/chatntc-ui/historyMessages.js +0 -53
  69. package/package-dist/chatntc-ui/historyMessages.js.map +0 -1
  70. package/package-dist/chatntc-ui/index.d.ts +0 -3
  71. package/package-dist/chatntc-ui/index.js +0 -4
  72. package/package-dist/chatntc-ui/index.js.map +0 -1
  73. package/package-dist/chatntc-ui/transport.d.ts +0 -51
  74. package/package-dist/chatntc-ui/transport.js +0 -9
  75. package/package-dist/chatntc-ui/transport.js.map +0 -1
@@ -1,299 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import { findCrossReferences } from "../crossReferences.js";
13
- import { citationForEvidence, evidencePackageId, evidenceUnits, evidenceUnitSelectionLength, projectEvidenceBlock, projectEvidenceHierarchy, projectEvidenceUnit, stableJson } from "./evidence.js";
14
- import { CHATNTC_EPISTEMIC_POLICY } from "./policy.js";
15
- import { chatNTCIssueCategory } from "./issueCategories.js";
16
- import { isChatNTCResponse } from "./responseContract.js";
17
- /**
18
- * The package is supplied by the application, never by the provider. Provider output is unknown.
19
- * Current v3 responses are checked for package/corpus integrity and canonical references only.
20
- * Legacy claim accounting remains readable for saved v1/v2 responses. Success does NOT establish semantic support.
21
- * Repository I/O failures reject the promise, never turn into successful validation.
22
- */
23
- export async function validateChatNTCResponse(response, evidence, repository) {
24
- var _a, _b, _c, _d;
25
- const issueMap = new Map();
26
- const issues = [];
27
- const add = (code, path, message, details = {}) => {
28
- var _a, _b;
29
- const issue = Object.assign({ code, path, message, category: chatNTCIssueCategory(code) }, details);
30
- const key = `${code}\u0000${path}\u0000${(_a = details.reference) !== null && _a !== void 0 ? _a : ""}\u0000${stableJson((_b = details.targets) !== null && _b !== void 0 ? _b : [])}`;
31
- if (!issueMap.has(key)) {
32
- issueMap.set(key, issue);
33
- issues.push(issue);
34
- }
35
- };
36
- const finish = () => ({ valid: issues.length === 0, issues });
37
- if (!isChatNTCResponse(response)) {
38
- add("invalid-response-shape", "response", "La risposta non rispetta il contratto ChatNTC v1/v2.");
39
- return finish();
40
- }
41
- const { packageId } = evidence, packageBody = __rest(evidence, ["packageId"]);
42
- if (evidence.formatVersion !== 1 || evidence.policyVersion !== CHATNTC_EPISTEMIC_POLICY.version)
43
- add("unsupported-package", "evidence", "Formato o policy non supportati.");
44
- if (packageId !== await evidencePackageId(packageBody))
45
- add("package-integrity", "evidence.packageId", "Il contenuto del pacchetto è cambiato.");
46
- if (response.evidencePackageId !== packageId)
47
- add("wrong-package", "response.evidencePackageId", "Risposta associata a un altro Evidence Package.");
48
- if (stableJson(evidence.corpus) !== stableJson(await repository.identity()))
49
- add("corpus-mismatch", "evidence.corpus", "Il repository non corrisponde allo snapshot del pacchetto.");
50
- const records = new Map();
51
- const getUnit = (id) => {
52
- let pending = records.get(id);
53
- if (!pending) {
54
- pending = repository.getUnit(id);
55
- records.set(id, pending);
56
- }
57
- return pending;
58
- };
59
- const evidenceIds = new Set();
60
- const assets = new Set();
61
- const selected = evidenceUnits(evidence);
62
- for (const [position, unit] of selected.entries()) {
63
- const path = `evidence.units[${position}]`;
64
- if (evidenceIds.has(unit.evidenceId))
65
- add("duplicate-evidence", path, "Evidence ID duplicato.");
66
- evidenceIds.add(unit.evidenceId);
67
- const record = await getUnit(unit.unitId);
68
- if (!record) {
69
- add("unknown-unit", path, "Unità assente dal corpus.");
70
- continue;
71
- }
72
- const metadata = Object.assign({}, unit);
73
- delete metadata.reasons;
74
- delete metadata.blocks;
75
- delete metadata.selection;
76
- const hierarchy = await projectEvidenceHierarchy(record, getUnit);
77
- if (stableJson(metadata) !== stableJson(projectEvidenceUnit(record, hierarchy)))
78
- add("evidence-metadata-mismatch", path, "Identità, gerarchia, stato editoriale o provenienza non corrispondono al corpus.");
79
- if (!record.unit.id.startsWith(`urn:structural-codes:it:unit:${record.unit.document}:`))
80
- add("canonical-document-mismatch", path, "Il documento non corrisponde all'ID canonico.");
81
- if (!unit.blocks.length)
82
- add("empty-evidence", path, "Una unità senza blocchi selezionati non è evidence.");
83
- let previousPosition = -1;
84
- for (const block of unit.blocks) {
85
- if (evidenceIds.has(block.evidenceId))
86
- add("duplicate-evidence", path, "Evidence ID duplicato.");
87
- evidenceIds.add(block.evidenceId);
88
- const blockPosition = record.unit.blocks.findIndex((candidate) => candidate.blockId === block.blockId);
89
- const source = record.unit.blocks[blockPosition];
90
- if (!source)
91
- add("unknown-block", path, "Blocco assente dall'unità canonica.");
92
- else {
93
- if (blockPosition <= previousPosition)
94
- add("evidence-order", path, "Ordine o unicità dei blocchi non corrispondenti al corpus.");
95
- previousPosition = blockPosition;
96
- if (stableJson(block) !== stableJson(projectEvidenceBlock(source, record)))
97
- add("evidence-content-mismatch", path, "Contenuto o provenienza del blocco non corrispondenti al corpus.");
98
- }
99
- if (block.assetId) {
100
- if (assets.has(block.assetId))
101
- add("duplicate-asset", path, "Asset ripetuto nel pacchetto.");
102
- assets.add(block.assetId);
103
- }
104
- }
105
- if (unit.selection.omittedBlocks !== record.unit.blocks.length - unit.blocks.length
106
- || unit.selection.complete !== (unit.selection.omittedBlocks === 0))
107
- add("selection-mismatch", path, "Copertura dei blocchi dichiarata non corretta.");
108
- }
109
- const characters = selected.reduce((sum, unit) => sum + evidenceUnitSelectionLength(unit), 0);
110
- if (characters !== evidence.retrieval.evidenceCharacters || characters > evidence.retrieval.options.maxEvidenceCharacters)
111
- add("evidence-budget", "evidence.retrieval", "Budget evidence incoerente.");
112
- if (response.formatVersion === 3) {
113
- const canonicalReferences = [];
114
- const canonicalTargets = new Set();
115
- for (const [position, citation] of response.verifiedReferences.entries()) {
116
- const path = `response.verifiedReferences[${position}]`;
117
- const initialIssues = issues.length;
118
- const targetKey = stableJson({ unitId: citation.unitId, blockId: citation.blockId, assetId: citation.assetId });
119
- if (canonicalTargets.has(targetKey))
120
- add("duplicate-citation", path, "Target canonico ripetuto.");
121
- canonicalTargets.add(targetKey);
122
- const record = await getUnit(citation.unitId);
123
- if (!record)
124
- add("unknown-unit", path, "Unità citata assente dal corpus.");
125
- else {
126
- if (citation.document !== record.unit.document || citation.numbering !== record.unit.numbering.official) {
127
- add("citation-identity-mismatch", path, "Documento o numbering non corrispondono all'ID canonico.");
128
- }
129
- const block = citation.blockId ? record.unit.blocks.find((entry) => entry.blockId === citation.blockId)
130
- : citation.assetId ? record.unit.blocks.find((entry) => entry.assetId === citation.assetId) : undefined;
131
- if (citation.blockId && !block)
132
- add("unknown-block", path, "Blocco citato assente dall'unità.");
133
- if (citation.assetId) {
134
- const assetKind = record.assets.formulas[citation.assetId] ? "formula"
135
- : record.assets.tables[citation.assetId] ? "table" : record.assets.figures[citation.assetId] ? "figure" : null;
136
- const asset = (_b = (_a = record.assets.formulas[citation.assetId]) !== null && _a !== void 0 ? _a : record.assets.tables[citation.assetId]) !== null && _b !== void 0 ? _b : record.assets.figures[citation.assetId];
137
- if (!asset || !record.unit.blocks.some((entry) => entry.assetId === citation.assetId))
138
- add("unknown-asset", path, "Asset citato assente dall'unità.");
139
- if (!block || block.assetId !== citation.assetId)
140
- add("asset-block-mismatch", path, "Asset e blocco citati non corrispondono.");
141
- if (asset && citation.assetNumber !== asset.officialNumber)
142
- add("asset-number-mismatch", path, "Numero ufficiale dell'asset non corrispondente.");
143
- if (assetKind && citation.kind !== assetKind)
144
- add("reference-kind-mismatch", path, "Tipo del riferimento non corrispondente all'asset canonico.");
145
- }
146
- else {
147
- if (citation.assetNumber !== undefined)
148
- add("asset-number-without-asset", path, "Numero asset privo di assetId.");
149
- const expectedKind = citation.blockId ? "block" : "unit";
150
- if (citation.kind !== expectedKind)
151
- add("reference-kind-mismatch", path, "Tipo del riferimento non corrispondente al target canonico.");
152
- }
153
- }
154
- if (issues.length === initialIssues)
155
- canonicalReferences.push(citation);
156
- }
157
- for (const reference of findCrossReferences(response.answerMarkdown)) {
158
- const targets = await repository.resolveExact(reference.text);
159
- if (!(targets === null || targets === void 0 ? void 0 : targets.length)) {
160
- add("unresolved-reference", "response.answerMarkdown", `Riferimento normativo non risolvibile: ${reference.text}`, { reference: reference.text });
161
- continue;
162
- }
163
- const matched = canonicalReferences.some((citation) => targets.some((target) => citation.unitId === target.unitId
164
- && (!target.blockId || citation.blockId === target.blockId) && (!target.assetId || citation.assetId === target.assetId)));
165
- if (!matched)
166
- add("canonical-reference-missing", "response.verifiedReferences", `Riferimento testuale privo del corrispondente riferimento canonico: ${reference.text}`, { reference: reference.text });
167
- }
168
- return finish();
169
- }
170
- const used = new Set();
171
- const validCitations = [];
172
- const claimIds = new Set();
173
- for (const [claimPosition, claim] of response.claims.entries()) {
174
- const path = `response.claims[${claimPosition}]`;
175
- if (claimIds.has(claim.id))
176
- add("duplicate-claim", path, "Claim ID duplicato.");
177
- claimIds.add(claim.id);
178
- if (claim.classification === "external-source")
179
- add("external-source-disabled", path, "Le fonti esterne non sono abilitate in questa fase.");
180
- if (!claim.citations.length)
181
- add("uncovered-claim", path, "Il claim richiede almeno una citazione di evidence selezionata.");
182
- if (claim.classification === "combined-reference" && new Set(claim.citations.map((citation) => citation.evidenceId)).size < 2)
183
- add("insufficient-combined-evidence", path, "Un claim combinato richiede almeno due evidence distinte.");
184
- if (claim.classification === "interpretation" && response.classification !== "interpretation")
185
- add("interpretation-not-declared", path, "La risposta deve dichiarare la presenza di interpretazioni.");
186
- const claimEvidence = new Set();
187
- const validForClaim = [];
188
- for (const [citationPosition, citation] of claim.citations.entries()) {
189
- const citationPath = `${path}.citations[${citationPosition}]`;
190
- const initialIssues = issues.length;
191
- if (claimEvidence.has(citation.evidenceId))
192
- add("duplicate-citation", citationPath, "Evidence ripetuta nello stesso claim.");
193
- claimEvidence.add(citation.evidenceId);
194
- used.add(citation.evidenceId);
195
- const record = await getUnit(citation.unitId);
196
- if (!record)
197
- add("unknown-unit", citationPath, "Unità citata assente dal corpus.");
198
- else {
199
- if (citation.document !== record.unit.document || citation.numbering !== record.unit.numbering.official)
200
- add("citation-identity-mismatch", citationPath, "Documento o numbering non corrispondono all'ID canonico.");
201
- const block = citation.blockId ? record.unit.blocks.find((entry) => entry.blockId === citation.blockId) : undefined;
202
- if (citation.blockId && !block)
203
- add("unknown-block", citationPath, "Blocco citato assente dall'unità.");
204
- if (citation.assetId) {
205
- const asset = (_d = (_c = record.assets.formulas[citation.assetId]) !== null && _c !== void 0 ? _c : record.assets.tables[citation.assetId]) !== null && _d !== void 0 ? _d : record.assets.figures[citation.assetId];
206
- if (!asset || !record.unit.blocks.some((entry) => entry.assetId === citation.assetId))
207
- add("unknown-asset", citationPath, "Asset citato assente dall'unità.");
208
- if (!block || block.assetId !== citation.assetId)
209
- add("asset-block-mismatch", citationPath, "Asset e blocco citati non corrispondono.");
210
- if (asset && citation.assetNumber !== asset.officialNumber)
211
- add("asset-number-mismatch", citationPath, "Numero ufficiale dell'asset non corrispondente.");
212
- }
213
- else if (citation.assetNumber !== undefined)
214
- add("asset-number-without-asset", citationPath, "Numero asset privo di assetId.");
215
- }
216
- if (!evidenceIds.has(citation.evidenceId))
217
- add("evidence-not-selected", citationPath, "Evidence non inclusa nel pacchetto.");
218
- else if (stableJson(citation) !== stableJson(citationForEvidence(evidence, citation.evidenceId)))
219
- add("citation-target-mismatch", citationPath, "La citazione non coincide con il target dell'evidence selezionata.");
220
- if (issues.length === initialIssues) {
221
- validCitations.push(citation);
222
- validForClaim.push(citation);
223
- }
224
- }
225
- await checkMentions(claim.text, validForClaim, path);
226
- }
227
- if (new Set(response.usedEvidenceIds).size !== response.usedEvidenceIds.length)
228
- add("duplicate-used-evidence", "response.usedEvidenceIds", "Evidence ID utilizzati duplicati.");
229
- const declaredUsed = new Set(response.usedEvidenceIds);
230
- for (const evidenceId of declaredUsed) {
231
- if (!evidenceIds.has(evidenceId))
232
- add("evidence-not-selected", "response.usedEvidenceIds", "Evidence dichiarata come utilizzata ma non inclusa nel pacchetto.");
233
- }
234
- if ([...used].some((evidenceId) => !declaredUsed.has(evidenceId)))
235
- add("used-evidence-mismatch", "response.usedEvidenceIds", "Gli ID utilizzati devono includere tutte le citazioni dei claim.");
236
- if (response.classification === "external-source")
237
- add("external-source-disabled", "response.classification", "Le fonti esterne non sono abilitate in questa fase.");
238
- const status = response.formatVersion === 2 ? response.status
239
- : response.classification === "no-direct-reference" ? "abstained" : response.needsMoreEvidence ? "partial" : "answered";
240
- if (status === "abstained") {
241
- if (response.classification !== "no-direct-reference")
242
- add("abstention-classification", "response.classification", "L'astensione deve usare no-direct-reference.");
243
- if (used.size || response.claims.length)
244
- add("abstention-with-citations", "response", "L'astensione non può dichiarare claim o citazioni normative.");
245
- if (!response.needsMoreEvidence)
246
- add("abstention-needs-evidence", "response.needsMoreEvidence", "L'astensione deve indicare evidence insufficiente.");
247
- }
248
- else {
249
- if (!response.claims.length || !used.size)
250
- add("uncovered-answer", "response.claims", "Una risposta utile deve dichiarare claim e citazioni.");
251
- if (status === "partial" && !response.needsMoreEvidence)
252
- add("partial-needs-evidence", "response.needsMoreEvidence", "Una risposta parziale deve dichiarare la necessità di altra evidence.");
253
- if (status === "answered" && response.needsMoreEvidence)
254
- add("answered-needs-evidence", "response.needsMoreEvidence", "Una risposta completa non può dichiarare evidence insufficiente.");
255
- }
256
- if (response.classification === "combined-reference" && declaredUsed.size < 2)
257
- add("insufficient-combined-evidence", "response", "Una risposta combinata richiede almeno due evidence distinte.");
258
- const answerCitations = response.usedEvidenceIds.filter((id) => evidenceIds.has(id)).map((id) => citationForEvidence(evidence, id));
259
- const answerMentionIds = await checkMentions(response.answer, answerCitations, "response.answer");
260
- const accountedIds = new Set([...used, ...answerMentionIds]);
261
- if ([...declaredUsed].some((evidenceId) => !accountedIds.has(evidenceId)))
262
- add("used-evidence-mismatch", "response.usedEvidenceIds", "Gli ID utilizzati devono derivare dai claim o da riferimenti espliciti nella risposta.");
263
- return finish();
264
- async function checkMentions(value, citations, path) {
265
- // Lexical accounting only. It cannot decide whether these sources prove the sentence.
266
- const matchedIds = new Set();
267
- const seen = new Set();
268
- for (const reference of findCrossReferences(value)) {
269
- const targets = await repository.resolveExact(reference.text);
270
- const targetDetails = (targets !== null && targets !== void 0 ? targets : []).map(({ unitId, blockId, assetId }) => (Object.assign(Object.assign({ unitId }, (blockId ? { blockId } : {})), (assetId ? { assetId } : {}))));
271
- const mentionKey = `${reference.kind}:${reference.number}:${stableJson(targetDetails)}`;
272
- if (seen.has(mentionKey))
273
- continue;
274
- seen.add(mentionKey);
275
- if (!(targets === null || targets === void 0 ? void 0 : targets.length)) {
276
- add("unresolved-reference", path, `Riferimento normativo non risolvibile: ${reference.text}`, { reference: reference.text });
277
- continue;
278
- }
279
- const matching = citations.filter((citation) => targets.some((target) => citation.unitId === target.unitId
280
- && (!target.blockId || citation.blockId === target.blockId)
281
- && (!target.assetId || citation.assetId === target.assetId)));
282
- for (const citation of matching)
283
- matchedIds.add(citation.evidenceId);
284
- const covered = matching.length > 0;
285
- if (!covered) {
286
- const selectedCitations = [...evidenceIds].map((id) => citationForEvidence(evidence, id));
287
- const selectedTarget = targets.some((target) => selectedCitations.some((citation) => citation.unitId === target.unitId
288
- && (!target.blockId || citation.blockId === target.blockId)
289
- && (!target.assetId || citation.assetId === target.assetId)));
290
- // Legacy v1/v2 cannot represent post-hoc references without inventing an evidenceId.
291
- // Keep enforcing missing bookkeeping only for targets already selected in that old wire format.
292
- if (selectedTarget)
293
- add("untracked-reference", path, `Riferimento testuale senza citazione associata: ${reference.text}`, { reference: reference.text, targets: targetDetails });
294
- }
295
- }
296
- return matchedIds;
297
- }
298
- }
299
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../shared/chatntc/validation.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { type CorpusChunk, type CorpusManifest, type CrossReferenceIndex, type DocumentId, type DocumentIndex, type RelationsIndex, type SearchIndex } from "../corpusData.js";
2
- import type { ChatNTCRepository } from "./types.js";
3
- /** Injectable artifact access. Tests can supply files or memory without an HTTP server. */
4
- export interface ChatNTCArtifactLoader {
5
- manifest(): Promise<CorpusManifest>;
6
- documentIndex(manifest: CorpusManifest, document: DocumentId): Promise<DocumentIndex>;
7
- chunk(path: string): Promise<CorpusChunk>;
8
- searchIndex(manifest: CorpusManifest): Promise<SearchIndex>;
9
- crossReferenceIndex(manifest: CorpusManifest): Promise<CrossReferenceIndex>;
10
- relations(manifest: CorpusManifest): Promise<RelationsIndex>;
11
- }
12
- export declare function createArtifactRepository(loader: ChatNTCArtifactLoader): ChatNTCRepository;
13
- /** Thin default transport adapter; all fetching and JSON caching stay in corpusData. */
14
- export declare function createViewerArtifactRepository(dataBaseUrl?: string): ChatNTCRepository;
@@ -1,168 +0,0 @@
1
- import { createDocumentLookup, loadChunk, loadCrossReferenceIndex, loadDocumentIndex, loadManifest, loadRelations, loadSearchIndex, parseNormativeReference, } from "../corpusData.js";
2
- import { createSearchEngine } from "../searchEngine.js";
3
- import { createCrossReferenceLookup, findCrossReferences, resolveCrossReference } from "../crossReferences.js";
4
- function lazy(read) {
5
- let pending;
6
- return () => {
7
- if (!pending)
8
- pending = read().catch((error) => { pending = undefined; throw error; });
9
- return pending;
10
- };
11
- }
12
- export function createArtifactRepository(loader) {
13
- const manifest = lazy(async () => {
14
- const value = await loader.manifest();
15
- if (value.formatVersion !== 2 || !value.corpusFingerprintSha256 || !value.generatedArtifactFingerprintSha256) {
16
- throw new Error("ChatNTC: manifest senza formato/fingerprint supportati.");
17
- }
18
- return value;
19
- });
20
- const indexes = (document) => lazy(async () => {
21
- const value = await loader.documentIndex(await manifest(), document);
22
- if (value.formatVersion !== 2 || value.document !== document)
23
- throw new Error("ChatNTC: indice documento incoerente.");
24
- return { index: value, lookup: createDocumentLookup(value) };
25
- });
26
- const documents = { ntc2018: indexes("ntc2018"), circ2019: indexes("circ2019") };
27
- const search = lazy(async () => createSearchEngine(await loader.searchIndex(await manifest())));
28
- const crossReferences = lazy(async () => {
29
- const value = await loader.crossReferenceIndex(await manifest());
30
- if (value.formatVersion !== 1)
31
- throw new Error("ChatNTC: indice rimandi non supportato.");
32
- return createCrossReferenceLookup(value);
33
- });
34
- const relations = lazy(async () => {
35
- const value = await loader.relations(await manifest());
36
- if (value.formatVersion !== 2 || value.sourceOfTruth !== "explicit-corpus-relations" || value.inferredRelationsIncluded !== false) {
37
- throw new Error("ChatNTC: le relazioni devono provenire dal corpus esplicito.");
38
- }
39
- return value.relations;
40
- });
41
- async function summary(unitId) {
42
- for (const document of ["ntc2018", "circ2019"]) {
43
- const found = (await documents[document]()).lookup.unitById.get(unitId);
44
- if (found)
45
- return found;
46
- }
47
- return null;
48
- }
49
- const repository = {
50
- async identity() {
51
- const value = await manifest();
52
- const documentSources = {};
53
- for (const document of ["ntc2018", "circ2019"]) {
54
- const { shortLabel, sourceId, sourceUrl, sourceSha256, publicationUrl } = value.documents[document];
55
- documentSources[document] = { shortLabel, sourceId, sourceUrl, sourceSha256, publicationUrl };
56
- }
57
- return {
58
- sourceOfTruth: "structural-codes", version: value.structuralCodesVersion,
59
- schemaVersion: value.schemaVersion, assetSchemaVersion: value.assetSchemaVersion,
60
- fingerprint: value.corpusFingerprintSha256, artifactFingerprint: value.generatedArtifactFingerprintSha256,
61
- status: value.status, disclaimer: value.disclaimer, documents: documentSources,
62
- };
63
- },
64
- async resolveExact(query, document) {
65
- var _a, _b;
66
- const reference = parseNormativeReference(query);
67
- if (reference) {
68
- if (document && reference.documentHint && document !== reference.documentHint)
69
- return [];
70
- const selected = (_b = (_a = reference.documentHint) !== null && _a !== void 0 ? _a : document) !== null && _b !== void 0 ? _b : "ntc2018";
71
- const found = (await documents[selected]()).lookup.unitByNumbering.get(reference.numbering);
72
- return found ? [{ unitId: found.id, score: 4000000, match: "exact-reference" }] : [];
73
- }
74
- const trimmed = query.trim();
75
- const references = findCrossReferences(trimmed);
76
- const asset = references.find((item) => item.kind !== "unit" && item.start === 0 && item.end === trimmed.length);
77
- if (!asset)
78
- return null;
79
- if (document && asset.documentHint && document !== asset.documentHint)
80
- return [];
81
- const found = resolveCrossReference(await crossReferences(), asset, document !== null && document !== void 0 ? document : "ntc2018");
82
- if (!(found === null || found === void 0 ? void 0 : found.asset) || (document && found.unit.document !== document)
83
- || (asset.documentHint && found.unit.document !== asset.documentHint))
84
- return [];
85
- return [{ unitId: found.unit.id, blockId: found.asset.blockId, assetId: found.asset.id, score: 4000000, match: "exact-reference" }];
86
- },
87
- async search(query, limit, document) {
88
- const engine = await search();
89
- const hits = engine.search({ query, limit, mode: document === "ntc2018" ? "ntc" : document === "circ2019" ? "circ" : "combined" });
90
- return hits.map((hit) => ({ unitId: hit.id, score: hit.score, match: hit.matchKind }));
91
- },
92
- async getUnit(unitId) {
93
- const found = await summary(unitId);
94
- if (!found)
95
- return null;
96
- const chunk = await loader.chunk(found.chunkPath);
97
- const expected = (await manifest()).chunks.find((entry) => entry.path === found.chunkPath);
98
- if (chunk.formatVersion !== 2 || chunk.document !== found.document
99
- || !expected || chunk.contentFingerprintSha256 !== expected.contentFingerprintSha256) {
100
- throw new Error(`ChatNTC: chunk non coerente con il manifest: ${found.chunkPath}`);
101
- }
102
- const matchingUnits = chunk.units.filter((entry) => entry.id === unitId);
103
- const unit = matchingUnits[0];
104
- if (matchingUnits.length !== 1 || unit.document !== found.document || unit.numbering.official !== found.numbering.official) {
105
- throw new Error(`ChatNTC: unità non coerente con l'indice: ${unitId}`);
106
- }
107
- return { unit, assets: chunk.assets, provenance: { chunkPath: found.chunkPath, chunkFingerprint: chunk.contentFingerprintSha256 } };
108
- },
109
- async related(unitId) {
110
- var _a;
111
- const record = await repository.getUnit(unitId);
112
- if (!record)
113
- return [];
114
- const { unit } = record;
115
- const [index, edges, lookup] = await Promise.all([documents[unit.document](), relations(), crossReferences()]);
116
- const result = [];
117
- if (unit.hierarchy.parentId)
118
- result.push({ kind: "parent", fromUnitId: unit.id, unitId: unit.hierarchy.parentId });
119
- for (const child of index.index.units.filter((entry) => entry.hierarchy.parentId === unit.id)) {
120
- result.push({ kind: "child", fromUnitId: unit.id, unitId: child.id });
121
- }
122
- for (const edge of edges) {
123
- if (edge.review.status === "rejected")
124
- continue;
125
- if (edge.sourceUnitId !== unit.id && edge.targetUnitId !== unit.id)
126
- continue;
127
- result.push({
128
- kind: "explicit-relation", fromUnitId: unit.id,
129
- unitId: edge.sourceUnitId === unit.id ? edge.targetUnitId : edge.sourceUnitId,
130
- direction: edge.sourceUnitId === unit.id ? "outgoing" : "incoming",
131
- relationId: edge.relationId, relationType: edge.type, basis: edge.basis,
132
- reviewStatus: edge.review.status, evidenceBlockIds: edge.evidenceBlockIds,
133
- });
134
- }
135
- // Reuse the viewer's recognizer/resolver, including asset references omitted from backlinks.
136
- for (const block of unit.blocks) {
137
- if (!block.text || block.blockId === unit.titleBlockId)
138
- continue;
139
- for (const reference of findCrossReferences(block.text.normalized)) {
140
- const found = resolveCrossReference(lookup, reference, unit.document);
141
- if (!found || (reference.documentHint && found.unit.document !== reference.documentHint))
142
- continue;
143
- if (found.unit.id === unit.id)
144
- continue; // Its linked assets are already collected with the unit.
145
- result.push(Object.assign({ kind: "cross-reference", fromUnitId: unit.id, sourceBlockId: block.blockId, direction: "outgoing", unitId: found.unit.id }, (found.asset ? { blockId: found.asset.blockId, assetId: found.asset.id } : {})));
146
- }
147
- }
148
- for (const backlink of (_a = lookup.backlinksByTarget.get(`unit:${unit.id}`)) !== null && _a !== void 0 ? _a : []) {
149
- result.push({ kind: "cross-reference", fromUnitId: unit.id, direction: "incoming",
150
- unitId: backlink.sourceUnitId, blockId: backlink.sourceBlockId, sourceBlockId: backlink.sourceBlockId });
151
- }
152
- return result;
153
- },
154
- };
155
- return repository;
156
- }
157
- /** Thin default transport adapter; all fetching and JSON caching stay in corpusData. */
158
- export function createViewerArtifactRepository(dataBaseUrl = "/data/codes") {
159
- return createArtifactRepository({
160
- manifest: () => loadManifest(dataBaseUrl),
161
- documentIndex: (manifest, document) => loadDocumentIndex(manifest, document, dataBaseUrl),
162
- chunk: (path) => loadChunk(path, dataBaseUrl),
163
- searchIndex: (manifest) => loadSearchIndex(manifest, dataBaseUrl),
164
- crossReferenceIndex: (manifest) => loadCrossReferenceIndex(manifest, dataBaseUrl),
165
- relations: (manifest) => loadRelations(manifest, dataBaseUrl),
166
- });
167
- }
168
- //# sourceMappingURL=viewerArtifacts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viewerArtifacts.js","sourceRoot":"","sources":["../../shared/chatntc/viewerArtifacts.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from "./types.js";
2
- export { IndexedDbChatHistoryStore } from "./indexedDb.js";
@@ -1,3 +0,0 @@
1
- export * from "./types.js";
2
- export { IndexedDbChatHistoryStore } from "./indexedDb.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../shared/chatntc-history/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,27 +0,0 @@
1
- import { type ChatConversation, type ChatConversationSummary, type ChatHistoryStore } from "./types.js";
2
- /** Opt-in and lazy: importing or constructing this adapter does not open a database. */
3
- export declare class IndexedDbChatHistoryStore implements ChatHistoryStore {
4
- private readonly options;
5
- private opening?;
6
- constructor(options?: {
7
- name?: string;
8
- indexedDB?: IDBFactory;
9
- now?: () => Date;
10
- id?: () => string;
11
- });
12
- private open;
13
- close(): Promise<void>;
14
- /** Resolve only after commit. All IDB requests are queued synchronously in request handlers. */
15
- private transaction;
16
- listConversations(): Promise<ChatConversationSummary[]>;
17
- getConversation(id: string): Promise<ChatConversation | null>;
18
- createConversation(input: Parameters<ChatHistoryStore["createConversation"]>[0]): Promise<ChatConversation>;
19
- updateConversation(id: string, patch: Parameters<ChatHistoryStore["updateConversation"]>[1], expectedRevision: number): Promise<ChatConversation>;
20
- deleteConversation(id: string, expectedRevision: number): Promise<void>;
21
- deleteAllConversations(expected: {
22
- id: string;
23
- revision: number;
24
- }[]): Promise<void>;
25
- getActiveConversationId(): Promise<string | null>;
26
- setActiveConversationId(id: string | null): Promise<void>;
27
- }