Directories
¶
| Path | Synopsis |
|---|---|
|
Package appdeps assembles the backend's handler dependencies from resolved configuration, shared by both entrypoints: cmd/lcatd (the standalone/container server) and cmd/lcatd-lambda (the AWS Lambda function).
|
Package appdeps assembles the backend's handler dependencies from resolved configuration, shared by both entrypoints: cmd/lcatd (the standalone/container server) and cmd/lcatd-lambda (the AWS Lambda function). |
|
Package auth defines the backend's identity model -- roles with capability checks, the TokenVerifier seam, multi-issuer dispatch, and the HTTP middleware guarding staff routes.
|
Package auth defines the backend's identity model -- roles with capability checks, the TokenVerifier seam, multi-issuer dispatch, and the HTTP middleware guarding staff routes. |
|
local
Package local is the backend's built-in user management -- the auth path for deployments without an external IdP, coexisting with auth/oidc behind auth.Multi.
|
Package local is the backend's built-in user management -- the auth path for deployments without an external IdP, coexisting with auth/oidc behind auth.Multi. |
|
oidc
Package oidc verifies bearer tokens from an external OIDC issuer -- the pluggable-SSO half of the backend's auth (auth/local is the built-in half).
|
Package oidc verifies bearer tokens from an external OIDC issuer -- the pluggable-SSO half of the backend's auth (auth/local is the built-in half). |
|
sitegate
Package sitegate is a reusable login gate for a statically hosted site behind CloudFront: authorization code + PKCE against an OIDC issuer as a public client, id_token verification through auth/oidc (JWKS signature, issuer, audience, expiry), a ranked-role check, then CloudFront signed cookies (custom policy) that unlock every other path on the distribution.
|
Package sitegate is a reusable login gate for a statically hosted site behind CloudFront: authorization code + PKCE against an OIDC issuer as a public client, id_token verification through auth/oidc (JWKS signature, issuer, audience, expiry), a ranked-role check, then CloudFront signed cookies (custom policy) that unlock every other path on the distribution. |
|
Package authoritiesvc is the local-authority editing service (tasks/046): CRUD over authority grains for a deployment's own headings, authority merge with corpus-wide reference rewrite, and the on-save auto-linker that turns string subjects into moderated linking suggestions.
|
Package authoritiesvc is the local-authority editing service (tasks/046): CRUD over authority grains for a deployment's own headings, authority merge with corpus-wide reference rewrite, and the on-save auto-linker that turns string subjects into moderated linking suggestions. |
|
Package awslambda adapts the backend's http.Handler to API Gateway v2 HTTP events, so cmd/lcatd-lambda serves exactly what cmd/lcatd serves.
|
Package awslambda adapts the backend's http.Handler to API Gateway v2 HTTP events, so cmd/lcatd-lambda serves exactly what cmd/lcatd serves. |
|
Package awsstore constructs the AWS-backed store.Store and blob.Store implementations from resolved configuration.
|
Package awsstore constructs the AWS-backed store.Store and blob.Store implementations from resolved configuration. |
|
Package batch is the one op-list machinery behind Koha's batch record modification, MARC modification templates, and advanced-editor macros (tasks/047): a Selection names a set of Works, an editor.Op list names the edit, and the executor applies it per grain with per-record results -- dry-run first, exact quad deltas, everything audited.
|
Package batch is the one op-list machinery behind Koha's batch record modification, MARC modification templates, and advanced-editor macros (tasks/047): a Selection names a set of Works, an editor.Op list names the edit, and the executor applies it per grain with per-record results -- dry-run first, exact quad deltas, everything audited. |
|
Package blobs3 implements blob.Store on S3-compatible object storage -- AWS S3, Cloudflare R2, MinIO -- using conditional writes (If-Match / If-None-Match on PutObject) for the optimistic concurrency the grain-store contract requires, and presigned GETs for the Signer capability.
|
Package blobs3 implements blob.Store on S3-compatible object storage -- AWS S3, Cloudflare R2, MinIO -- using conditional writes (If-Match / If-None-Match on PutObject) for the optimistic concurrency the grain-store contract requires, and presigned GETs for the Signer capability. |
|
cmd
|
|
|
lcatd
command
Command lcatd serves the libcat dynamic backend as a standalone HTTP server -- the container / self-host deployment shape.
|
Command lcatd serves the libcat dynamic backend as a standalone HTTP server -- the container / self-host deployment shape. |
|
lcatd-lambda
command
Command lcatd-lambda serves the libcat dynamic backend under AWS Lambda behind a Function URL (or API Gateway v2 HTTP API; both deliver the v2 HTTP payload).
|
Command lcatd-lambda serves the libcat dynamic backend under AWS Lambda behind a Function URL (or API Gateway v2 HTTP API; both deliver the v2 HTTP payload). |
|
Package config carries the backend's deployment configuration, read from the environment.
|
Package config carries the backend's deployment configuration, read from the environment. |
|
Package copycat is Koha's Z39.50/SRU copy cataloging and staged-import workflow over the shared ingest pipeline (tasks/050): external targets are searched through the libcodex protocol clients, results and .mrc uploads stage into datastore batches (nothing touches the grain tree), every staged record carries its identity-resolver match ("would merge with Work w…"), and commit runs the batch through the same clustering pipeline every feed uses -- store-backed, CAS-guarded, editorial always preserved.
|
Package copycat is Koha's Z39.50/SRU copy cataloging and staged-import workflow over the shared ingest pipeline (tasks/050): external targets are searched through the libcodex protocol clients, results and .mrc uploads stage into datastore batches (nothing touches the grain tree), every staged record carries its identity-resolver match ("would merge with Work w…"), and commit runs the batch through the same clustering pipeline every feed uses -- store-backed, CAS-guarded, editorial always preserved. |
|
Package editor is the record-editing service surface: the JSON patch shape the API accepts, its validation against the editorial predicate whitelist, and the conversion to bibframe editorial patches.
|
Package editor is the record-editing service surface: the JSON patch shape the API accepts, its validation against the editorial predicate whitelist, and the conversion to bibframe editorial patches. |
|
Package enrich executes enrichment sources against the deployment's grain store in one of two modes: direct (auto-approve -- assertions land in the source's enrichment:<name> graph) or queue (candidates become PIPELINE-provenance suggestions for moderation).
|
Package enrich executes enrichment sources against the deployment's grain store in one of two modes: direct (auto-approve -- assertions land in the source's enrichment:<name> graph) or queue (candidates become PIPELINE-provenance suggestions for moderation). |
|
Package export runs catalog export jobs: a selected subset (or all) of the Works emitted as MARC, N-Quads, JSON-LD, or CSV, written to the blob store, and handed back as a time-limited download link (presigned when the store signs URLs, an HMAC-token route otherwise).
|
Package export runs catalog export jobs: a selected subset (or all) of the Works emitted as MARC, N-Quads, JSON-LD, or CSV, written to the blob store, and handed back as a time-limited download link (presigned when the store signs URLs, an HMAC-token route otherwise). |
|
Package httpapi assembles the backend's HTTP surface as a plain net/http.Handler, independent of how it is served: cmd/lcatd wraps it in a listener, cmd/lcatd-lambda wraps it in the Lambda runtime.
|
Package httpapi assembles the backend's HTTP surface as a plain net/http.Handler, independent of how it is served: cmd/lcatd wraps it in a listener, cmd/lcatd-lambda wraps it in the Lambda runtime. |
|
Package marcview is the MARC half of the dual-view editor (tasks/049): it materializes a grain's records as an editable field array (via the framework-aware decode, so overrides shadow and verbatim sidecar fields appear), and writes an edited array back as a *diff* -- the edited record re-crosswalks to BIBFRAME, the result is compared to the original decode per (subject, predicate) group, and only the changed groups land as editorial quads with the tasks/042 override semantics.
|
Package marcview is the MARC half of the dual-view editor (tasks/049): it materializes a grain's records as an editable field array (via the framework-aware decode, so overrides shadow and verbatim sidecar fields appear), and writes an edited array back as a *diff* -- the edited record re-crosswalks to BIBFRAME, the result is compared to the original decode per (subject, predicate) group, and only the changed groups land as editorial quads with the tasks/042 override semantics. |
|
Package profiles defines editing profiles -- the JSON documents that replace MARC frameworks (Koha's tag/subfield configuration) for the BIBFRAME-native editor.
|
Package profiles defines editing profiles -- the JSON documents that replace MARC frameworks (Koha's tag/subfield configuration) for the BIBFRAME-native editor. |
|
Package profilesvc holds the live editing-profile set: the shipped defaults overlaid with a deployment's blob-persisted overrides, editable at runtime.
|
Package profilesvc holds the live editing-profile set: the shipped defaults overlaid with a deployment's blob-persisted overrides, editable at runtime. |
|
Package publish carries approved queue decisions into the BIBFRAME grain store: editorial quads written under ETag optimistic concurrency, the advisory ingest lease, and the downstream rebuild trigger.
|
Package publish carries approved queue decisions into the BIBFRAME grain store: editorial quads written under ETag optimistic concurrency, the advisory ingest lease, and the downstream rebuild trigger. |
|
Package store defines the backend's document datastore: a composite-key (pk/sk) record store with optimistic-concurrency conditional writes, prefix queries, TTL, and atomic counters.
|
Package store defines the backend's document datastore: a composite-key (pk/sk) record store with optimistic-concurrency conditional writes, prefix queries, TTL, and atomic counters. |
|
dynamo
Package dynamo implements store.Store on a single DynamoDB table (hash key "pk", range key "sk", TTL attribute "expireAt").
|
Package dynamo implements store.Store on a single DynamoDB table (hash key "pk", range key "sk", TTL attribute "expireAt"). |
|
storetest
Package storetest is the conformance suite every store.Store implementation must pass.
|
Package storetest is the conformance suite every store.Store implementation must pass. |
|
Package suggest implements the community suggestion queue: an ephemeral store aggregating anonymous patron suggestions and flags per (work, term) pair for staff review, generalized from qllpoc's single-vocabulary DynamoDB implementation onto the portable document store and arbitrary vocabularies (controlled TermRefs or folksonomy tags).
|
Package suggest implements the community suggestion queue: an ephemeral store aggregating anonymous patron suggestions and flags per (work, term) pair for staff review, generalized from qllpoc's single-vocabulary DynamoDB implementation onto the portable document store and arbitrary vocabularies (controlled TermRefs or folksonomy tags). |
|
Package trigger notifies downstream rebuild machinery that grains changed: after a publish, something must re-run serialize/project/index and redeploy the static site.
|
Package trigger notifies downstream rebuild machinery that grains changed: after a publish, something must re-run serialize/project/index and redeploy the static site. |
|
awstrigger
Package awstrigger delivers trigger events over AWS messaging: an SQS queue (a worker consumes and rebuilds) or an EventBridge bus (fan-out to CodeBuild/Step Functions).
|
Package awstrigger delivers trigger events over AWS messaging: an SQS queue (a worker consumes and rebuilds) or an EventBridge bus (fan-out to CodeBuild/Step Functions). |
|
Package ui embeds the built cataloging SPA (Svelte, see src/) so lcatd serves it as static files -- one deployable, no CORS.
|
Package ui embeds the built cataloging SPA (Svelte, see src/) so lcatd serves it as static files -- one deployable, no CORS. |
|
Sidecar index reader (tasks/167): serves one scheme from the artifacts BuildSidecar wrote, holding only the small structures resident -- the URI and identifier RRILs, the RRTI search router, and the RRSR offset index -- while search postings and Term payloads range-fetch from the store on demand (a bounded cache absorbs the editor's hot set).
|
Sidecar index reader (tasks/167): serves one scheme from the artifacts BuildSidecar wrote, holding only the small structures resident -- the URI and identifier RRILs, the RRTI search router, and the RRSR offset index -- while search postings and Term payloads range-fetch from the store on demand (a bounded cache absorbs the editor's hot set). |
|
Package vocabsrc manages public authority sources (tasks/067): a registry of live-suggest and downloadable vocabulary sources seeded with built-ins (id.loc.gov datasets, Wikidata, VIAF), snapshot download jobs that convert public SKOS RDF dumps into authority-tree N-Quads the vocab index loads atomically, and the live typeahead proxy the picker and enrichment reconcile through.
|
Package vocabsrc manages public authority sources (tasks/067): a registry of live-suggest and downloadable vocabulary sources seeded with built-ins (id.loc.gov datasets, Wikidata, VIAF), snapshot download jobs that convert public SKOS RDF dumps into authority-tree N-Quads the vocab index loads atomically, and the live typeahead proxy the picker and enrichment reconcile through. |
|
Change feed for the work index (tasks/156): a best-effort accelerator that gives cross-container read-your-writes without a corpus List.
|
Change feed for the work index (tasks/156): a best-effort accelerator that gives cross-container read-your-writes without a corpus List. |
Click to show internal directories.
Click to hide internal directories.