feat(admin): add safe processing monitor and operation correlation

This commit is contained in:
cesnimda
2026-10-28 19:31:32 +01:00
parent 1f87301ee9
commit d52403dba8
19 changed files with 1064 additions and 6 deletions
+152
View File
@@ -2,6 +2,82 @@ export type UiLanguage = "en" | "nb";
export const translations = {
en: {
processingTitle: "Processing monitor",
processingSubtitle: "Document and AI operations, their owners and safe processing history.",
processingDetails: "Processing details",
processingJobs: "Processing jobs",
processingEvents: "Processing events",
processingViewDetails: "View processing details {id}",
processingPause: "Pause updates",
processingResume: "Resume updates",
processingConnected: "Automatic updates enabled",
processingPaused: "Updates paused",
processingReconnecting: "Reconnecting",
processingDenied: "Administrator access is required.",
processingLoadFailed: "Processing information could not be loaded. The last displayed information may be out of date. Retry or wait for reconnection.",
processingNoJobs: "No processing jobs match these filters.",
processingNoEvents: "No retained events. Older jobs may predate event recording.",
processingPrevious: "Previous page",
processingNext: "Next page",
processingPage: "Page {page} of {total}",
processingOwner: "Owner",
processingStatus: "Status",
processingTask: "Task",
processingAll: "All",
processingApplyFilters: "Apply filters",
processingOwnerFilter: "Owner ID",
processingWorker: "Worker",
processingWorkerDocument: "Document processing",
processingWorkerAi: "AI operations",
processingWorkerUntracked: "Unregistered worker",
processingWorkerEnrichment: "Job enrichment",
processingWorkerRules: "Rules",
processingWorkerReminders: "Follow-up reminders",
processingWorkerExport: "Daily exports",
processingWorkerSearch: "Saved search alerts",
processingEnabled: "Enabled",
processingDisabled: "Disabled",
processingWorkerFlags: "Configured worker switches",
processingWorkerFlagsHelp: "Additional feature settings may also be required. Only document and AI operations publish individual job history here; enabled does not confirm worker health.",
processingAiDescription: "CV imports use deterministic interpretation. AI worker availability is shown above; model health and extraction quality are not checked by this view.",
processingCorrelation: "Correlation ID",
processingCopy: "Copy ID",
processingCopied: "ID copied",
processingCopyFailed: "Clipboard unavailable. Select and copy the ID field.",
processingCreated: "Created",
processingStarted: "Started",
processingCompleted: "Completed",
processingLastSeen: "Last heartbeat",
processingDuration: "{count} seconds",
processingAttempts: "Attempt {count} of {max}",
processingNotAvailable: "Not recorded",
processingSource: "Source document",
processingBytes: "{count} bytes",
processingPages: "{count} pages",
processingSourceApplied: "Approved changes applied to Career Profile",
processingSourceExpired: "Source document expired",
processingOlder: "Older events",
processingLatest: "Latest events",
processingRetention: "This view keeps up to 200 events. History is retained for 30 days. Loading an older page pauses automatic updates.",
processingUnknown: "Unknown",
processingOther: "Other operation",
processingEventCreated: "Job created",
processingEventClaimed: "Worker claimed job",
processingEventStageChanged: "Processing stage changed",
processingEventCompleted: "Processing completed",
processingEventRetryScheduled: "Retry scheduled",
processingEventFailed: "Processing failed",
processingEventCancellationRequested: "Cancellation requested",
processingEventCancelled: "Processing cancelled",
processingEventRetried: "Job retried",
processingEventLeaseRecovered: "Stopped worker recovered",
processingEventExpired: "Worker lease or deadline expired",
processingFailureGeneric: "Processing failed. Check service configuration and availability.",
processingFailureTimeout: "Processing timed out.",
processingFailureLease: "The worker stopped responding before processing completed.",
processingFailureDeadline: "The processing deadline elapsed.",
processingFailureAccess: "AI access changed before processing began.",
processingLastUpdated: "Updated {time}",
cvImportReviewHelp: "Review every field. Nothing changes in your Career Profile until you apply your choices.",
cvImportPanels: "Import source and review",
cvImportSourcePanel: "Source document",
@@ -3032,6 +3108,82 @@ export const translations = {
coverAiReject: "Reject",
},
nb: {
processingTitle: "Behandlingsovervåking",
processingSubtitle: "Dokument- og KI-oppgaver, eiere og trygg behandlingshistorikk.",
processingDetails: "Behandlingsdetaljer",
processingJobs: "Behandlingsoppgaver",
processingEvents: "Behandlingshendelser",
processingViewDetails: "Vis behandlingsdetaljer {id}",
processingPause: "Sett oppdateringer på pause",
processingResume: "Fortsett oppdateringer",
processingConnected: "Automatiske oppdateringer er aktivert",
processingPaused: "Oppdateringer er satt på pause",
processingReconnecting: "Kobler til på nytt",
processingDenied: "Administratortilgang kreves.",
processingLoadFailed: "Behandlingsinformasjonen kunne ikke lastes. Informasjonen som vises, kan være utdatert. Prøv igjen eller vent på ny tilkobling.",
processingNoJobs: "Ingen behandlingsoppgaver samsvarer med filtrene.",
processingNoEvents: "Ingen lagrede hendelser. Eldre oppgaver kan være fra før hendelsesregistrering ble innført.",
processingPrevious: "Forrige side",
processingNext: "Neste side",
processingPage: "Side {page} av {total}",
processingOwner: "Eier",
processingStatus: "Status",
processingTask: "Oppgave",
processingAll: "Alle",
processingApplyFilters: "Bruk filtre",
processingOwnerFilter: "Eier-ID",
processingWorker: "Bakgrunnsprosess",
processingWorkerDocument: "Dokumentbehandling",
processingWorkerAi: "KI-oppgaver",
processingWorkerUntracked: "Uregistrert bakgrunnsprosess",
processingWorkerEnrichment: "Jobbberikelse",
processingWorkerRules: "Regler",
processingWorkerReminders: "Oppfølgingspåminnelser",
processingWorkerExport: "Daglige eksporter",
processingWorkerSearch: "Varsler for lagrede søk",
processingEnabled: "Aktivert",
processingDisabled: "Deaktivert",
processingWorkerFlags: "Konfigurerte brytere for bakgrunnsprosesser",
processingWorkerFlagsHelp: "Andre funksjonsinnstillinger kan også være nødvendige. Bare dokument- og KI-oppgaver registrerer individuell oppgavehistorikk her. Aktivert bekrefter ikke at prosessen fungerer.",
processingAiDescription: "CV-import bruker deterministisk tolkning. Tilgjengeligheten til KI-prosessen vises ovenfor. Denne visningen kontrollerer ikke modelltilstand eller uttrekkskvalitet.",
processingCorrelation: "Korrelasjons-ID",
processingCopy: "Kopier ID",
processingCopied: "ID kopiert",
processingCopyFailed: "Utklippstavlen er utilgjengelig. Merk og kopier ID-feltet.",
processingCreated: "Opprettet",
processingStarted: "Startet",
processingCompleted: "Fullført",
processingLastSeen: "Siste livstegn",
processingDuration: "{count} sekunder",
processingAttempts: "Forsøk {count} av {max}",
processingNotAvailable: "Ikke registrert",
processingSource: "Kildedokument",
processingBytes: "{count} byte",
processingPages: "{count} sider",
processingSourceApplied: "Godkjente endringer er lagt til i karriereprofilen",
processingSourceExpired: "Kildedokumentet er utløpt",
processingOlder: "Eldre hendelser",
processingLatest: "Nyeste hendelser",
processingRetention: "Visningen beholder opptil 200 hendelser. Historikk lagres i 30 dager. Lasting av en eldre side setter automatiske oppdateringer på pause.",
processingUnknown: "Ukjent",
processingOther: "Annen oppgave",
processingEventCreated: "Oppgave opprettet",
processingEventClaimed: "Bakgrunnsprosessen hentet oppgaven",
processingEventStageChanged: "Behandlingstrinn endret",
processingEventCompleted: "Behandling fullført",
processingEventRetryScheduled: "Nytt forsøk planlagt",
processingEventFailed: "Behandling mislyktes",
processingEventCancellationRequested: "Avbrudd forespurt",
processingEventCancelled: "Behandling avbrutt",
processingEventRetried: "Oppgave startet på nytt",
processingEventLeaseRecovered: "Stanset bakgrunnsprosess gjenopprettet",
processingEventExpired: "Arbeidsleie eller tidsfrist utløpt",
processingFailureGeneric: "Behandlingen mislyktes. Kontroller tjenestekonfigurasjon og tilgjengelighet.",
processingFailureTimeout: "Behandlingen tok for lang tid.",
processingFailureLease: "Bakgrunnsprosessen sluttet å svare før behandlingen var fullført.",
processingFailureDeadline: "Tidsfristen for behandlingen er utløpt.",
processingFailureAccess: "KI-tilgangen ble endret før behandlingen startet.",
processingLastUpdated: "Oppdatert {time}",
cvImportReviewHelp: "Gå gjennom hvert felt. Karriereprofilen endres først når du bruker valgene dine.",
cvImportPanels: "Kilde og gjennomgang av import",
cvImportSourcePanel: "Kildedokument",