urma-mcp 0.1.0-rc.1
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/LICENSE +201 -0
- package/README.md +389 -0
- package/assets/urma-banner.png +0 -0
- package/assets/urma-logo.png +0 -0
- package/dist/src/acquisition/frame-panel.d.ts +22 -0
- package/dist/src/acquisition/frame-panel.js +110 -0
- package/dist/src/acquisition/frame-panel.js.map +1 -0
- package/dist/src/acquisition/frames.d.ts +37 -0
- package/dist/src/acquisition/frames.js +463 -0
- package/dist/src/acquisition/frames.js.map +1 -0
- package/dist/src/acquisition/media.d.ts +59 -0
- package/dist/src/acquisition/media.js +946 -0
- package/dist/src/acquisition/media.js.map +1 -0
- package/dist/src/acquisition/overview.d.ts +31 -0
- package/dist/src/acquisition/overview.js +335 -0
- package/dist/src/acquisition/overview.js.map +1 -0
- package/dist/src/acquisition/panel.d.ts +16 -0
- package/dist/src/acquisition/panel.js +125 -0
- package/dist/src/acquisition/panel.js.map +1 -0
- package/dist/src/acquisition/records.d.ts +24 -0
- package/dist/src/acquisition/records.js +127 -0
- package/dist/src/acquisition/records.js.map +1 -0
- package/dist/src/acquisition/remote-budget.d.ts +4 -0
- package/dist/src/acquisition/remote-budget.js +121 -0
- package/dist/src/acquisition/remote-budget.js.map +1 -0
- package/dist/src/acquisition/singleflight.d.ts +10 -0
- package/dist/src/acquisition/singleflight.js +75 -0
- package/dist/src/acquisition/singleflight.js.map +1 -0
- package/dist/src/acquisition/storyboard.d.ts +36 -0
- package/dist/src/acquisition/storyboard.js +324 -0
- package/dist/src/acquisition/storyboard.js.map +1 -0
- package/dist/src/acquisition/transcript.d.ts +25 -0
- package/dist/src/acquisition/transcript.js +367 -0
- package/dist/src/acquisition/transcript.js.map +1 -0
- package/dist/src/acquisition/transport-policy.d.ts +7 -0
- package/dist/src/acquisition/transport-policy.js +22 -0
- package/dist/src/acquisition/transport-policy.js.map +1 -0
- package/dist/src/acquisition/video-timing.d.ts +24 -0
- package/dist/src/acquisition/video-timing.js +249 -0
- package/dist/src/acquisition/video-timing.js.map +1 -0
- package/dist/src/app.d.ts +49 -0
- package/dist/src/app.js +31 -0
- package/dist/src/app.js.map +1 -0
- package/dist/src/cli/doctor.d.ts +24 -0
- package/dist/src/cli/doctor.js +368 -0
- package/dist/src/cli/doctor.js.map +1 -0
- package/dist/src/cli/main.d.ts +2 -0
- package/dist/src/cli/main.js +79 -0
- package/dist/src/cli/main.js.map +1 -0
- package/dist/src/config.d.ts +36 -0
- package/dist/src/config.js +110 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/core/coverage.d.ts +20 -0
- package/dist/src/core/coverage.js +89 -0
- package/dist/src/core/coverage.js.map +1 -0
- package/dist/src/core/diagnostics.d.ts +58 -0
- package/dist/src/core/diagnostics.js +451 -0
- package/dist/src/core/diagnostics.js.map +1 -0
- package/dist/src/core/errors.d.ts +13 -0
- package/dist/src/core/errors.js +57 -0
- package/dist/src/core/errors.js.map +1 -0
- package/dist/src/core/frame-schedule.d.ts +16 -0
- package/dist/src/core/frame-schedule.js +52 -0
- package/dist/src/core/frame-schedule.js.map +1 -0
- package/dist/src/core/ids.d.ts +48 -0
- package/dist/src/core/ids.js +122 -0
- package/dist/src/core/ids.js.map +1 -0
- package/dist/src/core/model.d.ts +216 -0
- package/dist/src/core/model.js +2 -0
- package/dist/src/core/model.js.map +1 -0
- package/dist/src/core/request-key.d.ts +1 -0
- package/dist/src/core/request-key.js +8 -0
- package/dist/src/core/request-key.js.map +1 -0
- package/dist/src/core/search-limits.d.ts +11 -0
- package/dist/src/core/search-limits.js +13 -0
- package/dist/src/core/search-limits.js.map +1 -0
- package/dist/src/distribution/active.d.ts +20 -0
- package/dist/src/distribution/active.js +169 -0
- package/dist/src/distribution/active.js.map +1 -0
- package/dist/src/distribution/archive.d.ts +8 -0
- package/dist/src/distribution/archive.js +368 -0
- package/dist/src/distribution/archive.js.map +1 -0
- package/dist/src/distribution/download.d.ts +8 -0
- package/dist/src/distribution/download.js +93 -0
- package/dist/src/distribution/download.js.map +1 -0
- package/dist/src/distribution/host-registration.d.ts +7 -0
- package/dist/src/distribution/host-registration.js +64 -0
- package/dist/src/distribution/host-registration.js.map +1 -0
- package/dist/src/distribution/installer.d.ts +38 -0
- package/dist/src/distribution/installer.js +445 -0
- package/dist/src/distribution/installer.js.map +1 -0
- package/dist/src/distribution/integrity.d.ts +8 -0
- package/dist/src/distribution/integrity.js +131 -0
- package/dist/src/distribution/integrity.js.map +1 -0
- package/dist/src/distribution/lock.d.ts +14 -0
- package/dist/src/distribution/lock.js +136 -0
- package/dist/src/distribution/lock.js.map +1 -0
- package/dist/src/distribution/manifest.d.ts +46 -0
- package/dist/src/distribution/manifest.js +202 -0
- package/dist/src/distribution/manifest.js.map +1 -0
- package/dist/src/distribution/paths.d.ts +30 -0
- package/dist/src/distribution/paths.js +154 -0
- package/dist/src/distribution/paths.js.map +1 -0
- package/dist/src/distribution/platform.d.ts +15 -0
- package/dist/src/distribution/platform.js +76 -0
- package/dist/src/distribution/platform.js.map +1 -0
- package/dist/src/distribution/qualification.d.ts +26 -0
- package/dist/src/distribution/qualification.js +265 -0
- package/dist/src/distribution/qualification.js.map +1 -0
- package/dist/src/distribution/receipt.d.ts +52 -0
- package/dist/src/distribution/receipt.js +142 -0
- package/dist/src/distribution/receipt.js.map +1 -0
- package/dist/src/distribution/runtime.d.ts +8 -0
- package/dist/src/distribution/runtime.js +173 -0
- package/dist/src/distribution/runtime.js.map +1 -0
- package/dist/src/evidence/service.d.ts +959 -0
- package/dist/src/evidence/service.js +1455 -0
- package/dist/src/evidence/service.js.map +1 -0
- package/dist/src/evidence/state.d.ts +52 -0
- package/dist/src/evidence/state.js +362 -0
- package/dist/src/evidence/state.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mcp/logo.d.ts +5 -0
- package/dist/src/mcp/logo.js +11 -0
- package/dist/src/mcp/logo.js.map +1 -0
- package/dist/src/mcp/projection.d.ts +4 -0
- package/dist/src/mcp/projection.js +144 -0
- package/dist/src/mcp/projection.js.map +1 -0
- package/dist/src/mcp/schemas.d.ts +1744 -0
- package/dist/src/mcp/schemas.js +662 -0
- package/dist/src/mcp/schemas.js.map +1 -0
- package/dist/src/mcp/server.d.ts +6 -0
- package/dist/src/mcp/server.js +470 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/stdio.d.ts +1 -0
- package/dist/src/mcp/stdio.js +36 -0
- package/dist/src/mcp/stdio.js.map +1 -0
- package/dist/src/remote/egress.d.ts +42 -0
- package/dist/src/remote/egress.js +611 -0
- package/dist/src/remote/egress.js.map +1 -0
- package/dist/src/remote/formats.d.ts +5 -0
- package/dist/src/remote/formats.js +30 -0
- package/dist/src/remote/formats.js.map +1 -0
- package/dist/src/remote/lease.d.ts +15 -0
- package/dist/src/remote/lease.js +2 -0
- package/dist/src/remote/lease.js.map +1 -0
- package/dist/src/remote/normalize.d.ts +14 -0
- package/dist/src/remote/normalize.js +243 -0
- package/dist/src/remote/normalize.js.map +1 -0
- package/dist/src/remote/policy.d.ts +13 -0
- package/dist/src/remote/policy.js +107 -0
- package/dist/src/remote/policy.js.map +1 -0
- package/dist/src/remote/worker.d.ts +14 -0
- package/dist/src/remote/worker.js +40 -0
- package/dist/src/remote/worker.js.map +1 -0
- package/dist/src/sources/candidates.d.ts +18 -0
- package/dist/src/sources/candidates.js +23 -0
- package/dist/src/sources/candidates.js.map +1 -0
- package/dist/src/sources/caption-tracks.d.ts +12 -0
- package/dist/src/sources/caption-tracks.js +75 -0
- package/dist/src/sources/caption-tracks.js.map +1 -0
- package/dist/src/sources/local.d.ts +42 -0
- package/dist/src/sources/local.js +203 -0
- package/dist/src/sources/local.js.map +1 -0
- package/dist/src/sources/metadata.d.ts +15 -0
- package/dist/src/sources/metadata.js +513 -0
- package/dist/src/sources/metadata.js.map +1 -0
- package/dist/src/sources/resolver.d.ts +22 -0
- package/dist/src/sources/resolver.js +363 -0
- package/dist/src/sources/resolver.js.map +1 -0
- package/dist/src/sources/timeline.d.ts +23 -0
- package/dist/src/sources/timeline.js +145 -0
- package/dist/src/sources/timeline.js.map +1 -0
- package/dist/src/sources/types.d.ts +67 -0
- package/dist/src/sources/types.js +2 -0
- package/dist/src/sources/types.js.map +1 -0
- package/dist/src/sources/youtube.d.ts +10 -0
- package/dist/src/sources/youtube.js +59 -0
- package/dist/src/sources/youtube.js.map +1 -0
- package/dist/src/store/blob-store.d.ts +20 -0
- package/dist/src/store/blob-store.js +156 -0
- package/dist/src/store/blob-store.js.map +1 -0
- package/dist/src/store/schema.d.ts +4 -0
- package/dist/src/store/schema.js +169 -0
- package/dist/src/store/schema.js.map +1 -0
- package/dist/src/store/sqlite-store.d.ts +47 -0
- package/dist/src/store/sqlite-store.js +545 -0
- package/dist/src/store/sqlite-store.js.map +1 -0
- package/dist/src/store/store.d.ts +138 -0
- package/dist/src/store/store.js +2 -0
- package/dist/src/store/store.js.map +1 -0
- package/dist/src/subprocess/ffmpeg.d.ts +18 -0
- package/dist/src/subprocess/ffmpeg.js +117 -0
- package/dist/src/subprocess/ffmpeg.js.map +1 -0
- package/dist/src/subprocess/ffprobe.d.ts +11 -0
- package/dist/src/subprocess/ffprobe.js +62 -0
- package/dist/src/subprocess/ffprobe.js.map +1 -0
- package/dist/src/subprocess/redaction.d.ts +3 -0
- package/dist/src/subprocess/redaction.js +31 -0
- package/dist/src/subprocess/redaction.js.map +1 -0
- package/dist/src/subprocess/remote-media.d.ts +3 -0
- package/dist/src/subprocess/remote-media.js +27 -0
- package/dist/src/subprocess/remote-media.js.map +1 -0
- package/dist/src/subprocess/runner.d.ts +23 -0
- package/dist/src/subprocess/runner.js +197 -0
- package/dist/src/subprocess/runner.js.map +1 -0
- package/dist/src/subprocess/versions.d.ts +8 -0
- package/dist/src/subprocess/versions.js +46 -0
- package/dist/src/subprocess/versions.js.map +1 -0
- package/dist/src/subprocess/ytdlp.d.ts +39 -0
- package/dist/src/subprocess/ytdlp.js +326 -0
- package/dist/src/subprocess/ytdlp.js.map +1 -0
- package/dist/src/version.d.ts +8 -0
- package/dist/src/version.js +44 -0
- package/dist/src/version.js.map +1 -0
- package/docs/ARCHITECTURE.md +273 -0
- package/docs/CONTRIBUTING.md +101 -0
- package/docs/EVIDENCE_MODEL.md +292 -0
- package/docs/PRODUCT_SCOPE.md +115 -0
- package/docs/SECURITY.md +182 -0
- package/docs/assets/architecture.png +0 -0
- package/docs/assets/contribution.png +0 -0
- package/docs/assets/evidence-model.png +0 -0
- package/docs/assets/product-scope.png +0 -0
- package/docs/assets/security.png +0 -0
- package/launcher-v1.mjs +430 -0
- package/package.json +45 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { UrmaConfig } from "../config.js";
|
|
2
|
+
import type { InvestigationRef } from "../core/ids.js";
|
|
3
|
+
import type { ArtifactKind } from "../core/model.js";
|
|
4
|
+
import type { FormatSummary, ResolvedSource } from "../sources/types.js";
|
|
5
|
+
import { YtDlp } from "../subprocess/ytdlp.js";
|
|
6
|
+
import type { RemoteOperationContext } from "../remote/worker.js";
|
|
7
|
+
import { BlobStore } from "../store/blob-store.js";
|
|
8
|
+
import type { StoredArtifact, UrmaStore } from "../store/store.js";
|
|
9
|
+
type Downloader = Pick<YtDlp, "run"> & Partial<Pick<YtDlp, "lease">>;
|
|
10
|
+
type DownloadSpec = Readonly<{
|
|
11
|
+
operation: string;
|
|
12
|
+
kind: ArtifactKind;
|
|
13
|
+
startMs: number;
|
|
14
|
+
endMs: number;
|
|
15
|
+
format: FormatSummary;
|
|
16
|
+
args: string[];
|
|
17
|
+
version: string;
|
|
18
|
+
params: Record<string, unknown>;
|
|
19
|
+
}>;
|
|
20
|
+
type AcquiredMedia = Readonly<{
|
|
21
|
+
artifact: StoredArtifact;
|
|
22
|
+
path: string;
|
|
23
|
+
cacheHit: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
export type SectionBatchRequirement = Readonly<{
|
|
26
|
+
source: ResolvedSource;
|
|
27
|
+
investigationRef: InvestigationRef;
|
|
28
|
+
startMs: number;
|
|
29
|
+
endMs: number;
|
|
30
|
+
}>;
|
|
31
|
+
export type SectionAcquisitionOutcome = Readonly<{
|
|
32
|
+
requirement: SectionBatchRequirement;
|
|
33
|
+
status: "fulfilled";
|
|
34
|
+
value: AcquiredMedia;
|
|
35
|
+
}> | Readonly<{
|
|
36
|
+
requirement: SectionBatchRequirement;
|
|
37
|
+
status: "rejected";
|
|
38
|
+
reason: unknown;
|
|
39
|
+
}>;
|
|
40
|
+
/** Describe the selected exact-frame transport representation without acquiring media */
|
|
41
|
+
export declare function frameEvidenceRepresentation(config: UrmaConfig, source: ResolvedSource): Readonly<Record<string, unknown>>;
|
|
42
|
+
/** Group section requests by the effective bounded-section acquisition key */
|
|
43
|
+
export declare function groupCompatibleSectionRequirements(config: UrmaConfig, requirements: readonly SectionBatchRequirement[]): SectionBatchRequirement[][];
|
|
44
|
+
export declare function mediaBudgetBytes(config: UrmaConfig, kind: ArtifactKind): number;
|
|
45
|
+
export declare function expectedMediaBytes(source: ResolvedSource, spec: Pick<DownloadSpec, "kind" | "startMs" | "endMs" | "format">): number | null;
|
|
46
|
+
export declare class MediaAcquirer {
|
|
47
|
+
#private;
|
|
48
|
+
readonly config: UrmaConfig;
|
|
49
|
+
readonly store: UrmaStore;
|
|
50
|
+
readonly blobs: BlobStore;
|
|
51
|
+
readonly remoteContext: RemoteOperationContext | null;
|
|
52
|
+
readonly downloader: Downloader;
|
|
53
|
+
constructor(config: UrmaConfig, store: UrmaStore, blobs: BlobStore, downloader?: Downloader, remoteContext?: RemoteOperationContext | null);
|
|
54
|
+
navigation(source: ResolvedSource, ref: InvestigationRef, signal?: AbortSignal): Promise<AcquiredMedia>;
|
|
55
|
+
reusableEvidence(source: ResolvedSource, ref: InvestigationRef, signal?: AbortSignal): Promise<AcquiredMedia>;
|
|
56
|
+
section(source: ResolvedSource, ref: InvestigationRef, startMs: number, endMs: number, signal?: AbortSignal): Promise<AcquiredMedia>;
|
|
57
|
+
sections(requirements: readonly SectionBatchRequirement[], signal?: AbortSignal): Promise<SectionAcquisitionOutcome[]>;
|
|
58
|
+
}
|
|
59
|
+
export {};
|