@fortemi/core 2026.7.13 → 2026.7.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -2
- package/dist/aiwg-index-schema.d.ts +0 -1
- package/dist/aiwg-index-schema.js +49 -0
- package/dist/aiwg-index-schema.js.map +1 -1
- package/dist/{aiwg-index-shard-BhF8kKAU.d.ts → aiwg-index-shard-BCdaz0X1.d.ts} +26 -0
- package/dist/aiwg-index-shard.d.ts +1 -1
- package/dist/aiwg-index-shard.js +863 -28
- package/dist/aiwg-index-shard.js.map +1 -1
- package/dist/aiwg-index.d.ts +53 -28
- package/dist/aiwg-index.js +8 -8
- package/dist/aiwg-index.js.map +1 -1
- package/dist/index.d.ts +548 -577
- package/dist/index.js +1600 -1245
- package/dist/index.js.map +1 -1
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -167,6 +167,37 @@ attachment byte, and can add an Ed25519 publisher signature. Live values that
|
|
|
167
167
|
cannot satisfy the authority schema, including non-768-dimensional embedding
|
|
168
168
|
vectors, return `archive: null` with a typed capability loss.
|
|
169
169
|
|
|
170
|
+
PGlite advertises exact `2.0.0/full-v1` import and export only because
|
|
171
|
+
`schemas/knowledge-shard-v2.cross-repository.receipt.json` binds the released
|
|
172
|
+
PGlite and AIWG archives to clean repeated PGlite and Fortemi destinations,
|
|
173
|
+
complete per-cell semantic/rejection coverage, immutable package and authority
|
|
174
|
+
identities, and delivered CI. Advertisement is computed from that receipt at
|
|
175
|
+
runtime; drifting any bound authority, archive, implementation, or Fortemi
|
|
176
|
+
receipt disables the claim, while the verifier requires the packaged receipt
|
|
177
|
+
bytes to match their declared digests. RecordStore remains `record-v1` only.
|
|
178
|
+
This receipt does not establish suite-wide portability or complete backup.
|
|
179
|
+
|
|
180
|
+
### Supported-platform conformance
|
|
181
|
+
|
|
182
|
+
The authority-owned suite matrix treats Fortemi as the schema/API/runtime
|
|
183
|
+
authority, `@fortemi/core` as the reusable conformance consumer, and HotM as an
|
|
184
|
+
application consumer. [Fortemi run
|
|
185
|
+
6393](https://git.integrolabs.net/Fortemi/fortemi/actions/runs/6393) passed the
|
|
186
|
+
same receipt-bound contract on Linux x86_64, Linux arm64, and macOS arm64. Its
|
|
187
|
+
React/Core participant is commit
|
|
188
|
+
`ccf96fad6025025293e40e250c85f088c8999d86`,
|
|
189
|
+
`@fortemi/core@2026.7.14`, with tgz SHA-256
|
|
190
|
+
`e282f504a842261c3f598a7f2ee0d6a85e03dc213ddf545a18daf5f603a742cc`
|
|
191
|
+
and tar payload SHA-256
|
|
192
|
+
`47482320b543307c2d44f3a87a2268ead6faf265c6bd38cf33011e0ac7f8e77a`.
|
|
193
|
+
|
|
194
|
+
The supported claim is limited to the declared contract surface and exact
|
|
195
|
+
Knowledge Shard `2.0.0/full-v1` tuple on those platform cells. Windows remains
|
|
196
|
+
deferred to [Fortemi
|
|
197
|
+
#1096](https://git.integrolabs.net/Fortemi/fortemi/issues/1096). This does not
|
|
198
|
+
change the Fortemi #1081 `NO-GO` audit or prove complete backup, universal
|
|
199
|
+
portability, launched GUI/native-dialog behavior, or RecordStore `full-v1`.
|
|
200
|
+
|
|
170
201
|
Knowledge Shard 2.0 treats absent, `null`, empty, and non-empty values as
|
|
171
202
|
distinct authority states. PGlite persists `core-v1` field presence in a
|
|
172
203
|
transactional sidecar, while RecordStore carries its `record-v1` projection and
|
|
@@ -194,8 +225,16 @@ can also read optional rich fields from full records:
|
|
|
194
225
|
These fields are additive to `aiwg.fortemi.index.record.v1`. Version 2 records
|
|
195
226
|
can also carry AIWG migration fields such as `search`, `chunks`, `embeddings`,
|
|
196
227
|
`source.origin`, `source.generated`, `source.checksum`, `source.updated_at`,
|
|
197
|
-
`privacy.locality`, and compatibility
|
|
198
|
-
and `chunks` text when the old top-level
|
|
228
|
+
`privacy.locality`, `operational_state`, `state_transfer`, and compatibility
|
|
229
|
+
metadata. Query helpers use v2 `search` and `chunks` text when the old top-level
|
|
230
|
+
`title`/`text` fields are absent.
|
|
231
|
+
|
|
232
|
+
The reduced `core-v1` converter maps directory prefixes from
|
|
233
|
+
`source.repo_relative_path` to deterministic native collections and assigns
|
|
234
|
+
each note to the leaf collection. A note tombstone is emitted only from an
|
|
235
|
+
explicit `state_transfer.deleted_at`; `operational_state` remains provenance
|
|
236
|
+
about an observed external system and never implies deletion. The full source
|
|
237
|
+
record remains embedded in note metadata for reverse conversion.
|
|
199
238
|
Existing consumers can ignore the v2 fields and continue querying the flat
|
|
200
239
|
fields. Chunked indexes with a projection keep rich metadata in detail records;
|
|
201
240
|
call `getRecord(id)` before rendering a metadata panel.
|
|
@@ -5,5 +5,4 @@ interface AiwgIndexSchemaValidationResult {
|
|
|
5
5
|
declare function getAiwgFortemiIndexExportSchema(): unknown;
|
|
6
6
|
declare function validateAiwgFortemiIndexExportSchema(value: unknown): AiwgIndexSchemaValidationResult;
|
|
7
7
|
declare function validateAiwgFortemiProjectedRecordSchema(value: unknown): AiwgIndexSchemaValidationResult;
|
|
8
|
-
|
|
9
8
|
export { type AiwgIndexSchemaValidationResult, getAiwgFortemiIndexExportSchema, validateAiwgFortemiIndexExportSchema, validateAiwgFortemiProjectedRecordSchema };
|
|
@@ -171,6 +171,12 @@ var aiwg_fortemi_index_export_schema_default = {
|
|
|
171
171
|
},
|
|
172
172
|
{
|
|
173
173
|
required: ["provenance_events"]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
required: ["operational_state"]
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
required: ["state_transfer"]
|
|
174
180
|
}
|
|
175
181
|
]
|
|
176
182
|
},
|
|
@@ -626,11 +632,54 @@ var aiwg_fortemi_index_export_schema_default = {
|
|
|
626
632
|
}
|
|
627
633
|
}
|
|
628
634
|
},
|
|
635
|
+
operational_state: {
|
|
636
|
+
$ref: "#/$defs/operationalState"
|
|
637
|
+
},
|
|
638
|
+
state_transfer: {
|
|
639
|
+
$ref: "#/$defs/stateTransfer"
|
|
640
|
+
},
|
|
629
641
|
updated_at: {
|
|
630
642
|
type: "string",
|
|
631
643
|
format: "date-time"
|
|
632
644
|
}
|
|
633
645
|
}
|
|
646
|
+
},
|
|
647
|
+
operationalState: {
|
|
648
|
+
type: "object",
|
|
649
|
+
additionalProperties: false,
|
|
650
|
+
required: ["classification"],
|
|
651
|
+
properties: {
|
|
652
|
+
source_repo: { type: "string", minLength: 1 },
|
|
653
|
+
source_kind: { type: "string", minLength: 1 },
|
|
654
|
+
source_id: { type: "string", minLength: 1 },
|
|
655
|
+
observed_state: { type: "string", minLength: 1 },
|
|
656
|
+
observed_at: { type: "string", format: "date-time" },
|
|
657
|
+
source_updated_at: { type: "string", format: "date-time" },
|
|
658
|
+
evidence_url: { type: "string", format: "uri" },
|
|
659
|
+
evidence_path: { type: "string", minLength: 1 },
|
|
660
|
+
observer: { type: "string", minLength: 1 },
|
|
661
|
+
supersedes: { $ref: "#/$defs/stringArray" },
|
|
662
|
+
contradicts: { $ref: "#/$defs/stringArray" },
|
|
663
|
+
stale_after: { type: "string", format: "date-time" },
|
|
664
|
+
classification: {
|
|
665
|
+
enum: ["fresh", "historical", "superseded", "contradicted", "needs-source"]
|
|
666
|
+
},
|
|
667
|
+
confidence: {
|
|
668
|
+
enum: ["source", "candidate", "reviewed", "rejected"]
|
|
669
|
+
},
|
|
670
|
+
current_action_selector: { type: "boolean" }
|
|
671
|
+
}
|
|
672
|
+
},
|
|
673
|
+
stateTransfer: {
|
|
674
|
+
type: "object",
|
|
675
|
+
additionalProperties: false,
|
|
676
|
+
required: ["deleted_at"],
|
|
677
|
+
properties: {
|
|
678
|
+
deleted_at: {
|
|
679
|
+
type: ["string", "null"],
|
|
680
|
+
format: "date-time"
|
|
681
|
+
}
|
|
682
|
+
}
|
|
634
683
|
}
|
|
635
684
|
}
|
|
636
685
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../schemas/aiwg-fortemi-index-export.schema.json","../src/aiwg-index-schema.ts"],"names":[],"mappings":"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","file":"aiwg-index-schema.js","sourcesContent":["{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://aiwg.io/schemas/aiwg-fortemi-index-export.json\",\n \"title\": \"AIWG Fortemi Index Export\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"schema_version\", \"generated_at\", \"source\", \"items\"],\n \"properties\": {\n \"schema_version\": {\n \"enum\": [\"aiwg.fortemi.index.export.v1\", \"aiwg.fortemi.index.export.v2\"]\n },\n \"generated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"source\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"repo\", \"privacy\"],\n \"properties\": {\n \"repo\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"graph\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n }\n },\n \"compatibility\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"previous_schema_version\", \"strategy\"],\n \"properties\": {\n \"previous_schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v1\"\n },\n \"strategy\": {\n \"const\": \"supported\"\n }\n }\n },\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/record\"\n }\n }\n },\n \"allOf\": [\n {\n \"if\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v1\"\n }\n }\n },\n \"then\": {\n \"not\": {\n \"required\": [\"compatibility\"]\n },\n \"properties\": {\n \"source\": {\n \"not\": {\n \"required\": [\"graph\"]\n }\n },\n \"items\": {\n \"items\": {\n \"allOf\": [\n {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.record.v1\"\n }\n }\n },\n {\n \"$ref\": \"#/$defs/v1RecordCompatibility\"\n }\n ]\n }\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v2\"\n }\n }\n },\n \"then\": {\n \"required\": [\"compatibility\"],\n \"properties\": {\n \"source\": {\n \"required\": [\"graph\"]\n },\n \"items\": {\n \"items\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.record.v2\"\n }\n }\n }\n }\n }\n }\n }\n ],\n \"$defs\": {\n \"privacy\": {\n \"enum\": [\"private\", \"sanitized\", \"public\"]\n },\n \"recordType\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"numberArray\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n }\n },\n \"v1RecordCompatibility\": {\n \"type\": \"object\",\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"name\"]\n },\n {\n \"required\": [\"summary\"]\n },\n {\n \"required\": [\"search\"]\n },\n {\n \"required\": [\"chunks\"]\n },\n {\n \"required\": [\"embeddings\"]\n },\n {\n \"required\": [\"compatibility\"]\n },\n {\n \"required\": [\"skos_concepts\"]\n },\n {\n \"required\": [\"skos_relations\"]\n },\n {\n \"required\": [\"provenance_events\"]\n }\n ]\n },\n \"properties\": {\n \"source\": {\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"origin\"]\n },\n {\n \"required\": [\"generated\"]\n },\n {\n \"required\": [\"checksum\"]\n },\n {\n \"required\": [\"updated_at\"]\n }\n ]\n }\n },\n \"relationships\": {\n \"items\": {\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"target_path\"]\n },\n {\n \"required\": [\"direction\"]\n },\n {\n \"required\": [\"label\"]\n },\n {\n \"required\": [\"confidence\"]\n },\n {\n \"required\": [\"privacy\"]\n },\n {\n \"required\": [\"metadata\"]\n }\n ]\n }\n }\n },\n \"privacy\": {\n \"not\": {\n \"required\": [\"locality\"]\n }\n }\n }\n },\n \"record\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"schema_version\",\n \"id\",\n \"type\",\n \"source\",\n \"title\",\n \"text\",\n \"facets\",\n \"tags\",\n \"concepts\",\n \"relationships\",\n \"provenance\",\n \"privacy\",\n \"updated_at\"\n ],\n \"properties\": {\n \"schema_version\": {\n \"enum\": [\n \"aiwg.fortemi.index.record.v1\",\n \"aiwg.fortemi.index.record.v2\"\n ]\n },\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"type\": {\n \"$ref\": \"#/$defs/recordType\"\n },\n \"source\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"path\", \"repo_relative_path\", \"locator\"],\n \"properties\": {\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"repo_relative_path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"locator\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"origin\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"generated\": {\n \"type\": \"boolean\"\n },\n \"checksum\": {\n \"type\": \"string\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n }\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"text\": {\n \"type\": \"string\"\n },\n \"search\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"title\",\n \"body\",\n \"triggers\",\n \"aliases\",\n \"tags\",\n \"frontmatter\"\n ],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"body\": {\n \"type\": \"string\"\n },\n \"triggers\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"aliases\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"capability\": {\n \"type\": \"string\"\n },\n \"tags\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"phase\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"frontmatter\": {\n \"type\": \"object\"\n }\n }\n },\n \"facets\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"tags\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"concepts\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"relationships\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"type\", \"target_id\"],\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"target_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"target_path\": {\n \"type\": \"string\"\n },\n \"direction\": {\n \"enum\": [\"upstream\", \"downstream\", \"related\"]\n },\n \"label\": {\n \"type\": \"string\"\n },\n \"confidence\": {\n \"type\": \"number\"\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"provenance\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"field\", \"source\", \"path\", \"confidence\", \"privacy\"],\n \"properties\": {\n \"field\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n }\n }\n }\n },\n \"privacy\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"classification\", \"pii\"],\n \"properties\": {\n \"classification\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"pii\": {\n \"type\": \"boolean\"\n },\n \"locality\": {\n \"enum\": [\"project\", \"framework\", \"external\"]\n }\n }\n },\n \"chunks\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"text\": {\n \"type\": \"string\"\n },\n \"body\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"checksum\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"embeddings\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"model\": {\n \"type\": \"string\"\n },\n \"embedding\": {\n \"$ref\": \"#/$defs/numberArray\"\n },\n \"vector\": {\n \"$ref\": \"#/$defs/numberArray\"\n },\n \"granularity\": {\n \"type\": \"string\"\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"chunk_id\": {\n \"type\": \"string\"\n },\n \"vector_ref\": {\n \"type\": \"string\"\n },\n \"input_hash\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"compatibility\": {\n \"type\": \"object\"\n },\n \"skos_concepts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"id\", \"prefLabel\"],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"prefLabel\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"definition\": {\n \"type\": \"string\"\n },\n \"scheme\": {\n \"type\": \"string\"\n },\n \"notation\": {\n \"type\": \"string\"\n },\n \"uri\": {\n \"type\": \"string\"\n },\n \"altLabels\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"skos_relations\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"type\", \"source_id\", \"target_id\"],\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"target_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"provenance_events\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"activity\"],\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"activity\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"agent\": {\n \"type\": \"string\"\n },\n \"started_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"ended_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"source\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"attributes\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n }\n }\n }\n}\n","import Ajv2020 from 'ajv/dist/2020.js'\nimport type { ErrorObject, ValidateFunction } from 'ajv'\nimport schema from '../schemas/aiwg-fortemi-index-export.schema.json' with { type: 'json' }\n\nexport interface AiwgIndexSchemaValidationResult {\n valid: boolean\n errors: string[]\n}\n\nconst PROJECTED_FIELDS = [\n 'schema_version',\n 'id',\n 'type',\n 'title',\n 'text',\n 'facets',\n 'tags',\n 'concepts',\n 'privacy',\n] as const\n\nlet ajvInstance: Ajv2020 | undefined\nlet exportValidator: ValidateFunction | undefined\nlet projectedRecordValidator: ValidateFunction | undefined\n\nexport function getAiwgFortemiIndexExportSchema(): unknown {\n return schema\n}\n\nfunction getAjv(): Ajv2020 {\n if (!ajvInstance) {\n ajvInstance = new Ajv2020({\n allErrors: true,\n strict: false,\n validateFormats: false,\n })\n ajvInstance.addSchema(schema)\n }\n return ajvInstance\n}\n\nfunction formatErrors(errors: ErrorObject[] | null | undefined): string[] {\n return (errors ?? []).map((error) => {\n const path = error.instancePath || '(root)'\n return `${path} ${error.message ?? 'is invalid'}`\n })\n}\n\nfunction getExportValidator(): ValidateFunction {\n exportValidator ??= getAjv().getSchema(schema.$id) ?? getAjv().compile(schema)\n return exportValidator\n}\n\nfunction getProjectedRecordValidator(): ValidateFunction {\n if (!projectedRecordValidator) {\n const properties = Object.fromEntries(Object.keys(schema.$defs.record.properties).map((field) => [\n field,\n { $ref: `${schema.$id}#/$defs/record/properties/${field}` },\n ]))\n projectedRecordValidator = getAjv().compile({\n type: 'object',\n required: PROJECTED_FIELDS,\n properties,\n additionalProperties: true,\n allOf: [\n {\n if: {\n properties: {\n schema_version: { const: 'aiwg.fortemi.index.record.v1' },\n },\n },\n then: { $ref: `${schema.$id}#/$defs/v1RecordCompatibility` },\n },\n ],\n })\n }\n return projectedRecordValidator\n}\n\nexport function validateAiwgFortemiIndexExportSchema(value: unknown): AiwgIndexSchemaValidationResult {\n const validate = getExportValidator()\n // `binary_sources` is a documented fortemi-react attachment-text extension;\n // upstream intentionally omits it. Validate every upstream field against the\n // pinned authority while keeping that local extension out of the schema input.\n const schemaValue = value && typeof value === 'object' && Array.isArray((value as { items?: unknown }).items)\n ? {\n ...(value as Record<string, unknown>),\n items: (value as { items: unknown[] }).items.map((item) => {\n if (!item || typeof item !== 'object' || Array.isArray(item)) return item\n const schemaRecord = { ...(item as Record<string, unknown>) }\n Reflect.deleteProperty(schemaRecord, 'binary_sources')\n return schemaRecord\n }),\n }\n : value\n const valid = validate(schemaValue)\n return { valid, errors: formatErrors(validate.errors) }\n}\n\nexport function validateAiwgFortemiProjectedRecordSchema(value: unknown): AiwgIndexSchemaValidationResult {\n const validate = getProjectedRecordValidator()\n const valid = validate(value)\n return { valid, errors: formatErrors(validate.errors) }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../schemas/aiwg-fortemi-index-export.schema.json","../src/aiwg-index-schema.ts"],"names":[],"mappings":"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","file":"aiwg-index-schema.js","sourcesContent":["{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://aiwg.io/schemas/aiwg-fortemi-index-export.json\",\n \"title\": \"AIWG Fortemi Index Export\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"schema_version\", \"generated_at\", \"source\", \"items\"],\n \"properties\": {\n \"schema_version\": {\n \"enum\": [\"aiwg.fortemi.index.export.v1\", \"aiwg.fortemi.index.export.v2\"]\n },\n \"generated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"source\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"repo\", \"privacy\"],\n \"properties\": {\n \"repo\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"graph\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n }\n },\n \"compatibility\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"previous_schema_version\", \"strategy\"],\n \"properties\": {\n \"previous_schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v1\"\n },\n \"strategy\": {\n \"const\": \"supported\"\n }\n }\n },\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/record\"\n }\n }\n },\n \"allOf\": [\n {\n \"if\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v1\"\n }\n }\n },\n \"then\": {\n \"not\": {\n \"required\": [\"compatibility\"]\n },\n \"properties\": {\n \"source\": {\n \"not\": {\n \"required\": [\"graph\"]\n }\n },\n \"items\": {\n \"items\": {\n \"allOf\": [\n {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.record.v1\"\n }\n }\n },\n {\n \"$ref\": \"#/$defs/v1RecordCompatibility\"\n }\n ]\n }\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v2\"\n }\n }\n },\n \"then\": {\n \"required\": [\"compatibility\"],\n \"properties\": {\n \"source\": {\n \"required\": [\"graph\"]\n },\n \"items\": {\n \"items\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.record.v2\"\n }\n }\n }\n }\n }\n }\n }\n ],\n \"$defs\": {\n \"privacy\": {\n \"enum\": [\"private\", \"sanitized\", \"public\"]\n },\n \"recordType\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"numberArray\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n }\n },\n \"v1RecordCompatibility\": {\n \"type\": \"object\",\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"name\"]\n },\n {\n \"required\": [\"summary\"]\n },\n {\n \"required\": [\"search\"]\n },\n {\n \"required\": [\"chunks\"]\n },\n {\n \"required\": [\"embeddings\"]\n },\n {\n \"required\": [\"compatibility\"]\n },\n {\n \"required\": [\"skos_concepts\"]\n },\n {\n \"required\": [\"skos_relations\"]\n },\n {\n \"required\": [\"provenance_events\"]\n },\n {\n \"required\": [\"operational_state\"]\n },\n {\n \"required\": [\"state_transfer\"]\n }\n ]\n },\n \"properties\": {\n \"source\": {\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"origin\"]\n },\n {\n \"required\": [\"generated\"]\n },\n {\n \"required\": [\"checksum\"]\n },\n {\n \"required\": [\"updated_at\"]\n }\n ]\n }\n },\n \"relationships\": {\n \"items\": {\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"target_path\"]\n },\n {\n \"required\": [\"direction\"]\n },\n {\n \"required\": [\"label\"]\n },\n {\n \"required\": [\"confidence\"]\n },\n {\n \"required\": [\"privacy\"]\n },\n {\n \"required\": [\"metadata\"]\n }\n ]\n }\n }\n },\n \"privacy\": {\n \"not\": {\n \"required\": [\"locality\"]\n }\n }\n }\n },\n \"record\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"schema_version\",\n \"id\",\n \"type\",\n \"source\",\n \"title\",\n \"text\",\n \"facets\",\n \"tags\",\n \"concepts\",\n \"relationships\",\n \"provenance\",\n \"privacy\",\n \"updated_at\"\n ],\n \"properties\": {\n \"schema_version\": {\n \"enum\": [\n \"aiwg.fortemi.index.record.v1\",\n \"aiwg.fortemi.index.record.v2\"\n ]\n },\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"type\": {\n \"$ref\": \"#/$defs/recordType\"\n },\n \"source\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"path\", \"repo_relative_path\", \"locator\"],\n \"properties\": {\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"repo_relative_path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"locator\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"origin\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"generated\": {\n \"type\": \"boolean\"\n },\n \"checksum\": {\n \"type\": \"string\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n }\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"text\": {\n \"type\": \"string\"\n },\n \"search\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"title\",\n \"body\",\n \"triggers\",\n \"aliases\",\n \"tags\",\n \"frontmatter\"\n ],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"body\": {\n \"type\": \"string\"\n },\n \"triggers\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"aliases\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"capability\": {\n \"type\": \"string\"\n },\n \"tags\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"phase\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"frontmatter\": {\n \"type\": \"object\"\n }\n }\n },\n \"facets\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"tags\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"concepts\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"relationships\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"type\", \"target_id\"],\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"target_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"target_path\": {\n \"type\": \"string\"\n },\n \"direction\": {\n \"enum\": [\"upstream\", \"downstream\", \"related\"]\n },\n \"label\": {\n \"type\": \"string\"\n },\n \"confidence\": {\n \"type\": \"number\"\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"provenance\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"field\", \"source\", \"path\", \"confidence\", \"privacy\"],\n \"properties\": {\n \"field\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n }\n }\n }\n },\n \"privacy\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"classification\", \"pii\"],\n \"properties\": {\n \"classification\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"pii\": {\n \"type\": \"boolean\"\n },\n \"locality\": {\n \"enum\": [\"project\", \"framework\", \"external\"]\n }\n }\n },\n \"chunks\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"text\": {\n \"type\": \"string\"\n },\n \"body\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"checksum\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"embeddings\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"model\": {\n \"type\": \"string\"\n },\n \"embedding\": {\n \"$ref\": \"#/$defs/numberArray\"\n },\n \"vector\": {\n \"$ref\": \"#/$defs/numberArray\"\n },\n \"granularity\": {\n \"type\": \"string\"\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"chunk_id\": {\n \"type\": \"string\"\n },\n \"vector_ref\": {\n \"type\": \"string\"\n },\n \"input_hash\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"compatibility\": {\n \"type\": \"object\"\n },\n \"skos_concepts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"id\", \"prefLabel\"],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"prefLabel\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"definition\": {\n \"type\": \"string\"\n },\n \"scheme\": {\n \"type\": \"string\"\n },\n \"notation\": {\n \"type\": \"string\"\n },\n \"uri\": {\n \"type\": \"string\"\n },\n \"altLabels\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"skos_relations\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"type\", \"source_id\", \"target_id\"],\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"target_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"provenance_events\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"activity\"],\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"activity\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"agent\": {\n \"type\": \"string\"\n },\n \"started_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"ended_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"source\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"attributes\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"operational_state\": {\n \"$ref\": \"#/$defs/operationalState\"\n },\n \"state_transfer\": {\n \"$ref\": \"#/$defs/stateTransfer\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n }\n },\n \"operationalState\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"classification\"],\n \"properties\": {\n \"source_repo\": { \"type\": \"string\", \"minLength\": 1 },\n \"source_kind\": { \"type\": \"string\", \"minLength\": 1 },\n \"source_id\": { \"type\": \"string\", \"minLength\": 1 },\n \"observed_state\": { \"type\": \"string\", \"minLength\": 1 },\n \"observed_at\": { \"type\": \"string\", \"format\": \"date-time\" },\n \"source_updated_at\": { \"type\": \"string\", \"format\": \"date-time\" },\n \"evidence_url\": { \"type\": \"string\", \"format\": \"uri\" },\n \"evidence_path\": { \"type\": \"string\", \"minLength\": 1 },\n \"observer\": { \"type\": \"string\", \"minLength\": 1 },\n \"supersedes\": { \"$ref\": \"#/$defs/stringArray\" },\n \"contradicts\": { \"$ref\": \"#/$defs/stringArray\" },\n \"stale_after\": { \"type\": \"string\", \"format\": \"date-time\" },\n \"classification\": {\n \"enum\": [\"fresh\", \"historical\", \"superseded\", \"contradicted\", \"needs-source\"]\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"current_action_selector\": { \"type\": \"boolean\" }\n }\n },\n \"stateTransfer\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"deleted_at\"],\n \"properties\": {\n \"deleted_at\": {\n \"type\": [\"string\", \"null\"],\n \"format\": \"date-time\"\n }\n }\n }\n }\n}\n","import Ajv2020 from 'ajv/dist/2020.js'\nimport type { ErrorObject, ValidateFunction } from 'ajv'\nimport schema from '../schemas/aiwg-fortemi-index-export.schema.json' with { type: 'json' }\n\nexport interface AiwgIndexSchemaValidationResult {\n valid: boolean\n errors: string[]\n}\n\nconst PROJECTED_FIELDS = [\n 'schema_version',\n 'id',\n 'type',\n 'title',\n 'text',\n 'facets',\n 'tags',\n 'concepts',\n 'privacy',\n] as const\n\nlet ajvInstance: Ajv2020 | undefined\nlet exportValidator: ValidateFunction | undefined\nlet projectedRecordValidator: ValidateFunction | undefined\n\nexport function getAiwgFortemiIndexExportSchema(): unknown {\n return schema\n}\n\nfunction getAjv(): Ajv2020 {\n if (!ajvInstance) {\n ajvInstance = new Ajv2020({\n allErrors: true,\n strict: false,\n validateFormats: false,\n })\n ajvInstance.addSchema(schema)\n }\n return ajvInstance\n}\n\nfunction formatErrors(errors: ErrorObject[] | null | undefined): string[] {\n return (errors ?? []).map((error) => {\n const path = error.instancePath || '(root)'\n return `${path} ${error.message ?? 'is invalid'}`\n })\n}\n\nfunction getExportValidator(): ValidateFunction {\n exportValidator ??= getAjv().getSchema(schema.$id) ?? getAjv().compile(schema)\n return exportValidator\n}\n\nfunction getProjectedRecordValidator(): ValidateFunction {\n if (!projectedRecordValidator) {\n const properties = Object.fromEntries(Object.keys(schema.$defs.record.properties).map((field) => [\n field,\n { $ref: `${schema.$id}#/$defs/record/properties/${field}` },\n ]))\n projectedRecordValidator = getAjv().compile({\n type: 'object',\n required: PROJECTED_FIELDS,\n properties,\n additionalProperties: true,\n allOf: [\n {\n if: {\n properties: {\n schema_version: { const: 'aiwg.fortemi.index.record.v1' },\n },\n },\n then: { $ref: `${schema.$id}#/$defs/v1RecordCompatibility` },\n },\n ],\n })\n }\n return projectedRecordValidator\n}\n\nexport function validateAiwgFortemiIndexExportSchema(value: unknown): AiwgIndexSchemaValidationResult {\n const validate = getExportValidator()\n // `binary_sources` is a documented fortemi-react attachment-text extension;\n // upstream intentionally omits it. Validate every upstream field against the\n // pinned authority while keeping that local extension out of the schema input.\n const schemaValue = value && typeof value === 'object' && Array.isArray((value as { items?: unknown }).items)\n ? {\n ...(value as Record<string, unknown>),\n items: (value as { items: unknown[] }).items.map((item) => {\n if (!item || typeof item !== 'object' || Array.isArray(item)) return item\n const schemaRecord = { ...(item as Record<string, unknown>) }\n Reflect.deleteProperty(schemaRecord, 'binary_sources')\n return schemaRecord\n }),\n }\n : value\n const valid = validate(schemaValue)\n return { valid, errors: formatErrors(validate.errors) }\n}\n\nexport function validateAiwgFortemiProjectedRecordSchema(value: unknown): AiwgIndexSchemaValidationResult {\n const validate = getProjectedRecordValidator()\n const valid = validate(value)\n return { valid, errors: formatErrors(validate.errors) }\n}\n"]}
|
|
@@ -691,6 +691,8 @@ type AiwgPrivacyClassification = 'private' | 'sanitized' | 'public';
|
|
|
691
691
|
type AiwgProvenanceConfidence = 'source' | 'candidate' | 'reviewed' | 'rejected';
|
|
692
692
|
type AiwgReviewAction = 'accept' | 'reject' | 'defer';
|
|
693
693
|
type AiwgFortemiRelationshipDirection = 'upstream' | 'downstream' | 'related';
|
|
694
|
+
type AiwgOperationalStateClassification = 'fresh' | 'historical' | 'superseded' | 'contradicted' | 'needs-source';
|
|
695
|
+
type AiwgOperationalStateConfidence = 'source' | 'candidate' | 'reviewed' | 'rejected';
|
|
694
696
|
interface AiwgFortemiRecordSource {
|
|
695
697
|
path: string;
|
|
696
698
|
repo_relative_path: string;
|
|
@@ -794,6 +796,26 @@ interface AiwgFortemiBinarySource {
|
|
|
794
796
|
reason?: null | 'extraction_pending' | 'extractor_failed' | 'quarantined' | 'large_binary' | 'unsupported_mime' | 'no_extracted_text';
|
|
795
797
|
attachment: AiwgFortemiAttachmentReference;
|
|
796
798
|
}
|
|
799
|
+
interface AiwgOperationalState {
|
|
800
|
+
source_repo?: string;
|
|
801
|
+
source_kind?: string;
|
|
802
|
+
source_id?: string;
|
|
803
|
+
observed_state?: string;
|
|
804
|
+
observed_at?: string;
|
|
805
|
+
source_updated_at?: string;
|
|
806
|
+
evidence_url?: string;
|
|
807
|
+
evidence_path?: string;
|
|
808
|
+
observer?: string;
|
|
809
|
+
supersedes?: string[];
|
|
810
|
+
contradicts?: string[];
|
|
811
|
+
stale_after?: string;
|
|
812
|
+
classification: AiwgOperationalStateClassification;
|
|
813
|
+
confidence?: AiwgOperationalStateConfidence;
|
|
814
|
+
current_action_selector?: boolean;
|
|
815
|
+
}
|
|
816
|
+
interface AiwgStateTransfer {
|
|
817
|
+
deleted_at: string | null;
|
|
818
|
+
}
|
|
797
819
|
interface AiwgFortemiRecord {
|
|
798
820
|
schema_version: AiwgFortemiRecordSchemaVersion;
|
|
799
821
|
id: string;
|
|
@@ -817,6 +839,10 @@ interface AiwgFortemiRecord {
|
|
|
817
839
|
skos_relations?: AiwgFortemiSkosRelation[];
|
|
818
840
|
/** Optional W3C PROV-style activity chain for this record. */
|
|
819
841
|
provenance_events?: AiwgFortemiProvenanceEvent[];
|
|
842
|
+
/** Observed external state provenance. This is not a persistence tombstone. */
|
|
843
|
+
operational_state?: AiwgOperationalState;
|
|
844
|
+
/** Source-authored state projected into portable persistence semantics. */
|
|
845
|
+
state_transfer?: AiwgStateTransfer;
|
|
820
846
|
privacy: {
|
|
821
847
|
classification: AiwgPrivacyClassification;
|
|
822
848
|
pii: boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { am as AiwgKnowledgeShardConversionResult, an as AiwgKnowledgeShardOptions, b8 as aiwgFortemiIndexFromKnowledgeShard, ba as aiwgFortemiIndexToKnowledgeShard, bb as aiwgFortemiIndexToKnowledgeShardWithReport } from './aiwg-index-shard-
|
|
1
|
+
export { am as AiwgKnowledgeShardConversionResult, an as AiwgKnowledgeShardOptions, b8 as aiwgFortemiIndexFromKnowledgeShard, ba as aiwgFortemiIndexToKnowledgeShard, bb as aiwgFortemiIndexToKnowledgeShardWithReport } from './aiwg-index-shard-BCdaz0X1.js';
|
|
2
2
|
import '@bytecask/core';
|