🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@marrowid/sdk

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@marrowid/sdk - npm Package Compare versions

Comparing version
1.0.10
to
1.0.11
+6
-25
dist/client.d.ts

@@ -1,2 +0,2 @@

import type { AddMessagesOptions, AskOptions, Claim, ClaimDeleteReceipt, ClaimHistoryEntry, ClaimMutationOptions, ClaimsListOptions, ClaimsQueryOptions, ContextOptions, EventStatus, FileIngestOptions, IngestJobListResponse, IngestJobResponse, IngestPlanResponse, ListJobsOptions, MarrowOptions, MemoryContext, Message, MessageInput, MessagesCreateReceipt, Page, PeerRecord, QueryOptions, QueryResult, QueueStatus, RepresentationResponse, SessionContextOptions, SessionRecord, UrlIngestOptions, WaitForJobOptions, Workspace, ClaimUpdateResult, CurrentAccess } from "./types.js";
import type { AddMessagesOptions, AskOptions, Claim, ClaimDeleteReceipt, ClaimHistoryEntry, ClaimMutationOptions, ClaimsListOptions, ClaimsQueryOptions, ContextOptions, EventStatus, FileIngestOptions, IngestJobListResponse, IngestJobResponse, IngestPlanResponse, ListJobsOptions, MarrowOptions, Message, MessageInput, MessagesCreateReceipt, Page, PeerRecord, QueryOptions, QueryResult, QueueStatus, RepresentationResponse, SessionContextOptions, SessionRecord, UrlIngestOptions, WaitForJobOptions, Workspace, ClaimUpdateResult, CurrentAccess } from "./types.js";
type RequestBody = Readonly<Record<string, unknown>>;

@@ -11,21 +11,2 @@ declare class Requester {

}
export declare class Context {
readonly raw: MemoryContext;
readonly status: MemoryContext["status"];
readonly placement: string;
readonly context: string;
readonly messages: MemoryContext["messages"];
readonly blocks: MemoryContext["blocks"];
readonly citations: MemoryContext["citations"];
readonly conflicts: MemoryContext["conflicts"];
readonly warnings: MemoryContext["warnings"];
constructor(raw: MemoryContext);
toOpenAI(): readonly [{
readonly role: "system";
readonly content: string;
}];
toAnthropic(): {
readonly system: string;
};
}
export declare class Peer {

@@ -37,4 +18,4 @@ #private;

get(): Promise<PeerRecord>;
ask(query: string, options?: AskOptions): Promise<Context>;
context(options?: ContextOptions): Promise<Context>;
ask(query: string, options: AskOptions): Promise<QueryResult>;
context(options: ContextOptions): Promise<QueryResult>;
representation(): Promise<RepresentationResponse>;

@@ -51,3 +32,3 @@ delete(): Promise<EventStatus>;

messages(): Promise<Page<Message>>;
context(options: SessionContextOptions): Promise<Context>;
context(options: SessionContextOptions): Promise<QueryResult>;
delete(): Promise<EventStatus>;

@@ -74,3 +55,3 @@ }

constructor(requester: Requester, workspace: string);
query(query: string, options: ClaimsQueryOptions): Promise<Page<Claim>>;
query(query: string, options: ClaimsQueryOptions): Promise<QueryResult>;
list(options: ClaimsListOptions): Promise<Page<Claim>>;

@@ -124,3 +105,3 @@ get(claimId: string): Promise<Claim>;

session(sessionId: string): Session;
query(query: string, options?: QueryOptions): Promise<QueryResult>;
query(query: string | undefined, options: QueryOptions): Promise<QueryResult>;
access(): Promise<CurrentAccess>;

@@ -127,0 +108,0 @@ }

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"client.d.ts","sources":["marrow-sdk:///src/client.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"client.d.ts","sources":["marrow-sdk:///src/client.ts"],"names":[],"mappings":"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"}
import { ConflictError, ForbiddenScopeError, MarrowApiError, MarrowConfigError, MarrowError, MarrowResponseError, NotFoundError, ValidationError, WrongCredentialClassError, } from "./errors.js";
import { assertContext, assertPage, projectDto, projectIngestJobList, projectIngestJobResponse, projectIngestSubmission, projectQueryResult, } from "./projection.js";
import { assertPage, projectDto, projectIngestJobList, projectIngestJobResponse, projectIngestSubmission, projectQueryResult, } from "./projection.js";
const DEFAULT_BASE_URL = "https://api.marrow.id";

@@ -58,2 +58,9 @@ const DEFAULT_WORKSPACE = "default";

}
function queryIdempotencyKey(value) {
const key = value.trim();
if (key.length < 8 || key.length > 160) {
throw new MarrowConfigError("idempotencyKey must be between 8 and 160 characters");
}
return key;
}
function compact(value) {

@@ -183,35 +190,2 @@ return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined));

}
export class Context {
raw;
status;
placement;
context;
messages;
blocks;
citations;
conflicts;
warnings;
constructor(raw) {
this.raw = raw;
this.status = raw.status;
this.placement = raw.placement;
this.context = raw.context;
this.messages = raw.messages;
this.blocks = raw.blocks;
this.citations = raw.citations;
this.conflicts = raw.conflicts;
this.warnings = raw.warnings;
}
toOpenAI() {
return [{ role: "system", content: this.context }];
}
toAnthropic() {
return { system: this.context };
}
}
function contextFrom(value) {
const projected = projectDto("memoryContext", value);
assertContext(projected);
return new Context(projected);
}
function recordWithId(id, value) {

@@ -240,10 +214,28 @@ const projected = projectDto(id, value);

}
async ask(query, options = {}) {
return contextFrom(await this.#requester.request("POST", this.#path("/ask"), {
body: compact({ query, session_id: options.session, top_k: options.topK }),
async ask(query, options) {
return projectQueryResult(await this.#requester.request("POST", "/v1/query", {
body: compact({
idempotencyKey: queryIdempotencyKey(options.idempotencyKey),
mode: "answer",
preset: options.preset ?? "accuracy",
query,
workspace: this.#workspace,
peer_ids: [this.id],
session_ids: options.session ? [options.session] : undefined,
agent_id: options.agentId,
}),
}));
}
async context(options = {}) {
return contextFrom(await this.#requester.request("GET", this.#path("/context"), {
query: compact({ session: options.session, q: options.q }),
async context(options) {
return projectQueryResult(await this.#requester.request("POST", "/v1/query", {
body: compact({
idempotencyKey: queryIdempotencyKey(options.idempotencyKey),
mode: "context",
preset: options.preset ?? "accuracy",
query: options.q,
workspace: this.#workspace,
peer_ids: [this.id],
session_ids: options.session ? [options.session] : undefined,
agent_id: options.agentId,
}),
}));

@@ -305,4 +297,13 @@ }

async context(options) {
return contextFrom(await this.#requester.request("GET", this.#path("/context"), {
query: compact({ peer: options.peer, q: options.q }),
return projectQueryResult(await this.#requester.request("POST", "/v1/query", {
body: compact({
idempotencyKey: queryIdempotencyKey(options.idempotencyKey),
mode: "context",
preset: options.preset ?? "accuracy",
query: options.q,
workspace: this.#workspace,
peer_ids: [options.peer],
session_ids: [this.id],
agent_id: options.agentId,
}),
}));

@@ -357,7 +358,14 @@ }

async query(query, options) {
const projected = projectDto("Page_Claim", await this.#requester.request("POST", this.#path("/query"), {
body: compact({ query, peer_id: options.peerId, agent_id: options.agentId, session_id: options.sessionId, top_k: options.topK }),
return projectQueryResult(await this.#requester.request("POST", "/v1/query", {
body: compact({
idempotencyKey: queryIdempotencyKey(options.idempotencyKey),
mode: "evidence",
preset: options.preset ?? "accuracy",
query,
workspace: this.#workspace,
peer_ids: [options.peerId],
session_ids: options.sessionId ? [options.sessionId] : undefined,
agent_id: options.agentId,
}),
}));
assertPage(projected, "Page_Claim");
return projected;
}

@@ -534,5 +542,9 @@ async list(options) {

session(sessionId) { return new Session(this.#requester, this.#workspace, sessionId); }
async query(query, options = {}) {
if (typeof query !== "string" || query.trim().length === 0)
throw new MarrowConfigError("query must be a non-empty string");
async query(query, options) {
const normalizedQuery = typeof query === "string" && query.trim().length > 0 ? query.trim() : undefined;
if (!normalizedQuery && !(options.mode === "context"
&& (options.sourceIds?.length || options.peerIds?.length || options.sessionIds?.length || options.agentId))) {
throw new MarrowConfigError("query is required except for Context with an explicit selector");
}
const operationKey = idempotencyKey(options.idempotencyKey, false);
const workspace = options.workspace ?? this.#workspace;

@@ -544,5 +556,6 @@ segment(workspace, "workspace");

body: compact({
query: query.trim(),
limit: positiveInteger(options.limit ?? 5, "limit", 20),
evidenceLimit: positiveInteger(options.evidenceLimit ?? 3, "evidenceLimit", 10),
idempotencyKey: operationKey,
mode: options.mode,
preset: options.preset ?? "accuracy",
query: normalizedQuery,
workspace,

@@ -553,2 +566,3 @@ audience: options.audience,

session_ids: querySelector(options.sessionIds, "sessionIds"),
agent_id: options.agentId,
}),

@@ -555,0 +569,0 @@ }));

@@ -1,1 +0,1 @@

{"version":3,"file":"client.js","sources":["marrow-sdk:///src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,yBAAyB,GAE1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAsCzB,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,MAAM,iBAAiB,GAAG,SAAS,CAAC;AACpC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AACzC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3E,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAI9E,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CACzB,+FAA+F,CAChG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAAE,MAAM,IAAI,iBAAiB,CAAC,gDAAgD,CAAC,CAAC;IACtH,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,sDAAsD,CAAC,CAAC;IACtH,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC1G,MAAM,IAAI,iBAAiB,CACzB,gFAAgF,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,IAAY;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,IAAI,6BAA6B,CAAC,CAAC;IACvH,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,IAAY,EAAE,OAAe;IACnE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;QAC7D,MAAM,IAAI,iBAAiB,CAAC,GAAG,IAAI,qCAAqC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,MAAqC,EAAE,IAAY;IACxE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,iBAAiB,CAAC,GAAG,IAAI,kCAAkC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB,EAAE,MAAe;IAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,iBAAiB,CAAC,qFAAqF,CAAC,CAAC;QACrH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,iBAAiB,CAAC,qDAAqD,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAC,KAAkB;IACjC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B,EAAE,KAAa,EAAE,KAAa;IACjF,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5D,MAAM,IAAI,mBAAmB,CAAC,GAAG,KAAK,IAAI,KAAK,6BAA6B,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B,EAAE,KAAa,EAAE,KAAa;IACjF,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,mBAAmB,CAAC,GAAG,KAAK,IAAI,KAAK,mBAAmB,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/E,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,SAAS;QAChF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAA2B,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;QACzH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,KAAc;IACnD,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACnF,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC5G,CAAC,CAAC,QAAQ,CAAC,KAAgC;QAC3C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC;IACpH,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,SAAS,GAAG,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;QACtD,CAAC,CAAC,QAAQ,CAAC,SAAS;QACpB,CAAC,CAAC,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7G,CAAC,CAAC,MAAM,CAAC,OAAkC;QAC3C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAChE,IAAI,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,wBAAwB;QAAE,OAAO,IAAI,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChH,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAkB;IAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,mBAAmB,CAAC,6CAA6C,CAAC,CAAC;QAC9F,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,SAAS;IACJ,OAAO,CAAS;IAChB,QAAQ,CAAS;IACjB,UAAU,CAAS;IACnB,MAAM,CAAY;IAE3B,YAAY,OAAsB;QAChC,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,iBAAiB,CAAC,8EAA8E,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;YACvG,MAAM,IAAI,iBAAiB,CAAC,qCAAqC,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,iBAAiB,CAAC,yDAAyD,CAAC,CAAC;QACpH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAyC,EACzC,IAAY,EACZ,UAAyE,EAAE;QAE3E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBAChC,MAAM;gBACN,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE;oBACvC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;iBAC9E;gBACD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7E,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,WAAW,CAAC,kCAAkC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;YAC5G,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,OAAO;IACT,GAAG,CAAgB;IACnB,MAAM,CAA0B;IAChC,SAAS,CAAS;IAClB,OAAO,CAAS;IAChB,QAAQ,CAA4B;IACpC,MAAM,CAA0B;IAChC,SAAS,CAA6B;IACtC,SAAS,CAA6B;IACtC,QAAQ,CAA4B;IAE7C,YAAY,GAAkB;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,WAAW;QACT,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACrD,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,OAAO,IAAI,OAAO,CAAC,SAAqC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAI,EAA8C,EAAE,KAAc;IACrF,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACxC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,SAAc,CAAC;AACxB,CAAC;AAED,MAAM,OAAO,IAAI;IACN,EAAE,CAAS;IACX,UAAU,CAAY;IACtB,UAAU,CAAS;IAE5B,YAAY,SAAoB,EAAE,SAAiB,EAAE,EAAU;QAC7D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,GAAG,EAAE;QACf,OAAO,kBAAkB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,MAAM,EAAE,CAAC;IACjH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACjK,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,UAAsB,EAAE;QAC/C,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC3E,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;SAC3E,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAA0B,EAAE;QACxC,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC9E,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,SAAS,GAAG,UAAU,CAAC,wBAAwB,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3I,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAC9D,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACnE,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAC5D,OAAO,SAA8C,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnG,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACpD,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAClD,OAAO,SAAmC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,OAAO;IACT,EAAE,CAAS;IACX,UAAU,CAAY;IACtB,UAAU,CAAS;IAE5B,YAAY,SAAoB,EAAE,SAAiB,EAAE,EAAU;QAC7D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,GAAG,EAAE;QACf,OAAO,kBAAkB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,aAAa,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,MAAM,EAAE,CAAC;IACvH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,YAAY,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACvK,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,YAAY,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAiC,EAAE,OAA2B;QAC9E,MAAM,SAAS,GAAG,UAAU,CAAC,uBAAuB,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACnH,IAAI,EAAE,OAAO,CAAC;gBACZ,OAAO,EAAE,OAAO,CAAC,MAAM;gBACvB,QAAQ,EAAE,OAAO,CAAC,OAAO;gBACzB,QAAQ;gBACR,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,eAAe,EAAE,OAAO,CAAC,cAAc;aACxC,CAAC;SACH,CAAC,CAAC,CAAC;QACJ,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAC9D,OAAO,SAA6C,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAChI,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACtC,OAAO,SAAqC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA8B;QAC1C,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC9E,KAAK,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnG,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACpD,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAClD,OAAO,SAAmC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,UAAU;IACL,UAAU,CAAY;IAC/B,YAAY,SAAoB,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAElE,KAAK,CAAC,MAAM,CAAC,EAAW;QACtB,OAAO,YAAY,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE;YACvF,IAAI,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3H,UAAU,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACxC,OAAO,SAAuC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,KAAK;IACA,UAAU,CAAY;IACtB,UAAU,CAAS;IAC5B,YAAY,SAAoB,EAAE,SAAiB,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAElH,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACrK,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACnC,OAAO,SAAwC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,QAAQ;IACH,UAAU,CAAY;IACtB,UAAU,CAAS;IAC5B,YAAY,SAAoB,EAAE,SAAiB,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAElH,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3K,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACtC,OAAO,SAA2C,CAAC;IACrD,CAAC;CACF;AAED,MAAM,MAAM;IACD,UAAU,CAAY;IACtB,UAAU,CAAS;IAC5B,YAAY,SAAoB,EAAE,SAAiB,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAClH,KAAK,CAAC,MAAc,IAAY,OAAO,kBAAkB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC;IAEnH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,OAA2B;QACpD,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACrG,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;SACjI,CAAC,CAAC,CAAC;QACJ,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACpC,OAAO,SAAmC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA0B;QACnC,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACpG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;SACtJ,CAAC,CAAC,CAAC;QACJ,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACpC,OAAO,SAAmC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,yCAAyC,CAAC,CAAC;QACpG,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,mBAAmB,EAAE,KAAK,CAAiC,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,OAA6B;QAC1E,MAAM,SAAS,GAAG,UAAU,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE;YACrI,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SACxF,CAAC,CAAC,CAAC;QACJ,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAC/D,OAAO,SAAyC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAA6B;QACzD,MAAM,SAAS,GAAG,UAAU,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE;YACzI,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SAC/E,CAAC,CAAC,CAAC;QACJ,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACrD,OAAO,SAA0C,CAAC;IACpD,CAAC;CACF;AAED,MAAM,MAAM;IACD,UAAU,CAAY;IACtB,UAAU,CAAS;IAC5B,YAAY,SAAoB,EAAE,SAAiB,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAElH,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACpL,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACpD,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAClD,OAAO,SAAmC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,KAAK;IACA,UAAU,CAAY;IACtB,UAAU,CAAS;IAC5B,YAAY,SAAoB,EAAE,SAAiB,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAElH,KAAK,CAAC,MAAM;QACV,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1J,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;YAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACjH,OAAO,SAAmC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,UAAU;IACL,UAAU,CAAY;IAC/B,YAAY,SAAoB,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAElE,KAAK,CAAC,IAAI,CAAC,UAA2B,EAAE;QACtC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,oBAAoB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa;QACrB,OAAO,wBAAwB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACvH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,UAA6B,EAAE;QACvD,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACtF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,iBAAiB,CAAC,8CAA8C,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,GAAG,WAAW,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QACD,MAAM,IAAI,WAAW,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,0CAA0C,WAAW,WAAW,CAAC,CAAC;IAC7H,CAAC;CACF;AAED,MAAM,OAAO;IACF,UAAU,CAAY;IAC/B,YAAY,SAAoB,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAElE,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,OAAO,wBAAwB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5H,CAAC;CACF;AAED,KAAK,UAAU,SAAS,CAAC,KAA2C;IAClE,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3G,IAAI,KAAK,YAAY,WAAW;QAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACvG,MAAM,IAAI,iBAAiB,CAAC,+DAA+D,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,MAAM,CAAC,KAAiB;IAC/B,MAAM,QAAQ,GAAG,kEAAkE,CAAC;IACpF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QACnD,MAAM,IAAI,QAAQ,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,QAAQ,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtE,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAkB;IAC9C,IAAI,UAAU,GAAG,qBAAqB,EAAE,CAAC;QACvC,MAAM,IAAI,iBAAiB,CAAC,yBAAyB,qBAAqB,iBAAiB,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,MAAM,MAAM;IACD,IAAI,CAAa;IACjB,UAAU,CAAY;IAC/B,YAAY,SAAoB,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEzG,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,UAA4B,EAAE;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACtC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,uBAAuB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE;YACrF,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;SAC9E,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA0B;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACtC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,uBAAuB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE;YACtF,IAAI,EAAE,OAAO,CAAC;gBACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC;gBAC9B,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,cAAc,EAAE,GAAG;aACpB,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AAED,MAAM,OAAO,MAAM;IACR,UAAU,CAAa;IACvB,KAAK,CAAQ;IACb,QAAQ,CAAW;IACnB,MAAM,CAAS;IACf,MAAM,CAAS;IACf,KAAK,CAAQ;IACb,MAAM,CAAS;IACf,OAAO,CAAU;IACjB,UAAU,CAAY;IACtB,UAAU,CAAS;IAE5B,YAAY,OAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,MAAc,IAAU,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,SAAiB,IAAa,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAExG,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,UAAwB,EAAE;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,kCAAkC,CAAC,CAAC;QAC5H,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC;QACvD,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1E,OAAO,kBAAkB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE;YAC3E,IAAI,EAAE,OAAO,CAAC;gBACZ,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;gBACnB,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;gBACvD,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC;gBAC/E,SAAS;gBACT,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;gBACzD,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;gBACnD,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC;aAC7D,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;QAClG,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QAC3D,OAAO,SAAqC,CAAC;IAC/C,CAAC;CACF","sourcesContent":["import {\n ConflictError,\n ForbiddenScopeError,\n MarrowApiError,\n MarrowConfigError,\n MarrowError,\n MarrowResponseError,\n NotFoundError,\n ValidationError,\n WrongCredentialClassError,\n type ValidationIssue,\n} from \"./errors.js\";\nimport {\n assertContext,\n assertPage,\n projectDto,\n projectIngestJobList,\n projectIngestJobResponse,\n projectIngestSubmission,\n projectQueryResult,\n} from \"./projection.js\";\nimport type {\n AddMessagesOptions,\n AskOptions,\n Claim,\n ClaimDeleteReceipt,\n ClaimHistoryEntry,\n ClaimMutationOptions,\n ClaimsListOptions,\n ClaimsQueryOptions,\n ContextOptions,\n EventStatus,\n FetchLike,\n FileIngestOptions,\n IngestJobListResponse,\n IngestJobResponse,\n IngestPlanResponse,\n ListJobsOptions,\n MarrowOptions,\n MemoryContext,\n Message,\n MessageInput,\n MessagesCreateReceipt,\n Page,\n PeerRecord,\n QueryOptions,\n QueryResult,\n QueueStatus,\n RepresentationResponse,\n SessionContextOptions,\n SessionRecord,\n UrlIngestOptions,\n WaitForJobOptions,\n Workspace,\n ClaimUpdateResult,\n CurrentAccess,\n} from \"./types.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.marrow.id\";\nconst DEFAULT_WORKSPACE = \"default\";\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst MAX_FILE_INGEST_BYTES = 50_000_000;\nconst LOOPBACK_HOSTS = new Set([\"localhost\", \"127.0.0.1\", \"::1\", \"[::1]\"]);\nconst TERMINAL_JOB_STATUSES = new Set([\"succeeded\", \"failed\", \"quarantined\"]);\n\ntype RequestBody = Readonly<Record<string, unknown>>;\n\nfunction validateBaseURL(value: string): string {\n let parsed: URL;\n try {\n parsed = new URL(value);\n } catch {\n throw new MarrowConfigError(\n \"baseURL must be an absolute HTTPS URL; HTTP is allowed only for localhost, 127.0.0.1, or ::1.\",\n );\n }\n if (parsed.username || parsed.password) throw new MarrowConfigError(\"baseURL must not contain embedded credentials.\");\n if (parsed.search || parsed.hash) throw new MarrowConfigError(\"baseURL must not contain a query string or fragment.\");\n if (parsed.protocol !== \"https:\" && !(parsed.protocol === \"http:\" && LOOPBACK_HOSTS.has(parsed.hostname))) {\n throw new MarrowConfigError(\n \"baseURL must use HTTPS; HTTP is allowed only for localhost, 127.0.0.1, or ::1.\",\n );\n }\n return value.replace(/\\/+$/, \"\");\n}\n\nfunction segment(value: string, name: string): string {\n if (typeof value !== \"string\" || value.length === 0) throw new MarrowConfigError(`${name} must be a non-empty string`);\n return encodeURIComponent(value);\n}\n\nfunction positiveInteger(value: number, name: string, maximum: number): number {\n if (!Number.isInteger(value) || value < 1 || value > maximum) {\n throw new MarrowConfigError(`${name} must be an integer between 1 and ${maximum}`);\n }\n return value;\n}\n\nfunction querySelector(values: readonly string[] | undefined, name: string): readonly string[] | undefined {\n if (values === undefined) return undefined;\n if (!Array.isArray(values) || values.length === 0) {\n throw new MarrowConfigError(`${name} must contain at least one value`);\n }\n return values;\n}\n\nfunction idempotencyKey(value: string | undefined, dryRun: boolean): string | undefined {\n if (value === undefined) {\n if (!dryRun) {\n throw new MarrowConfigError(\"idempotencyKey is required for live ingest; use dryRun: true to preview without one\");\n }\n return undefined;\n }\n const key = value.trim();\n if (key.length < 8 || key.length > 160) {\n throw new MarrowConfigError(\"idempotencyKey must be between 8 and 160 characters\");\n }\n return key;\n}\n\nfunction compact(value: RequestBody): RequestBody {\n return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined));\n}\n\nfunction requireString(value: Record<string, unknown>, field: string, owner: string): void {\n if (typeof value[field] !== \"string\" || value[field] === \"\") {\n throw new MarrowResponseError(`${owner}.${field} must be a non-empty string`);\n }\n}\n\nfunction requireNumber(value: Record<string, unknown>, field: string, owner: string): void {\n if (typeof value[field] !== \"number\" || !Number.isFinite(value[field])) {\n throw new MarrowResponseError(`${owner}.${field} must be a number`);\n }\n}\n\nfunction parseIssues(value: unknown): readonly ValidationIssue[] {\n if (!Array.isArray(value)) return [];\n const issues: ValidationIssue[] = [];\n for (const item of value) {\n if (typeof item !== \"object\" || item === null || Array.isArray(item)) continue;\n const record = item as Record<string, unknown>;\n if (!Array.isArray(record.path) || typeof record.message !== \"string\") continue;\n const path = record.path.filter((part): part is string | number => typeof part === \"string\" || typeof part === \"number\");\n issues.push({ path, message: record.message });\n }\n return issues;\n}\n\nfunction buildApiError(status: number, value: unknown): MarrowApiError {\n const envelope = typeof value === \"object\" && value !== null && !Array.isArray(value)\n ? value as Record<string, unknown>\n : {};\n const nested = typeof envelope.error === \"object\" && envelope.error !== null && !Array.isArray(envelope.error)\n ? envelope.error as Record<string, unknown>\n : {};\n const message = typeof nested.message === \"string\" && nested.message.length > 0 ? nested.message : `HTTP ${status}`;\n const code = typeof nested.code === \"string\" ? nested.code : undefined;\n const requestId = typeof envelope.requestId === \"string\"\n ? envelope.requestId\n : typeof envelope.request_id === \"string\" ? envelope.request_id : undefined;\n const details = typeof nested.details === \"object\" && nested.details !== null && !Array.isArray(nested.details)\n ? nested.details as Record<string, unknown>\n : {};\n const issues = parseIssues(nested.issues ?? details.issues);\n const options = { statusCode: status, code, requestId, issues };\n if (status === 403 && code === \"wrong_credential_class\") return new WrongCredentialClassError(message, options);\n if (status === 403) return new ForbiddenScopeError(message, options);\n if (status === 404) return new NotFoundError(message, options);\n if (status === 409) return new ConflictError(message, options);\n if (status === 400) return new ValidationError(message, options);\n return new MarrowApiError(message, options);\n}\n\nasync function decodeResponse(response: Response): Promise<unknown> {\n const text = await response.text();\n if (text.length === 0) return null;\n try {\n return JSON.parse(text) as unknown;\n } catch {\n if (response.ok) throw new MarrowResponseError(\"Marrow returned a non-JSON success response\");\n return {};\n }\n}\n\nclass Requester {\n readonly #apiKey: string;\n readonly #baseURL: string;\n readonly #timeoutMs: number;\n readonly #fetch: FetchLike;\n\n constructor(options: MarrowOptions) {\n if (typeof options.apiKey !== \"string\" || options.apiKey.length === 0) {\n throw new MarrowConfigError(\"apiKey is required (a customer API key with scopes for the routes you call).\");\n }\n if (options.timeoutMs !== undefined && (!Number.isFinite(options.timeoutMs) || options.timeoutMs <= 0)) {\n throw new MarrowConfigError(\"timeoutMs must be a positive number\");\n }\n const fetchImpl = options.fetch ?? globalThis.fetch?.bind(globalThis);\n if (fetchImpl === undefined) throw new MarrowConfigError(\"A standards-compatible fetch implementation is required\");\n this.#apiKey = options.apiKey;\n this.#baseURL = validateBaseURL(options.baseURL ?? DEFAULT_BASE_URL);\n this.#timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n this.#fetch = fetchImpl;\n }\n\n async request(\n method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\",\n path: string,\n options: { readonly body?: RequestBody; readonly query?: RequestBody } = {},\n ): Promise<unknown> {\n const url = new URL(`${this.#baseURL}${path}`);\n for (const [key, value] of Object.entries(options.query ?? {})) {\n if (value !== undefined) url.searchParams.set(key, String(value));\n }\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), this.#timeoutMs);\n let response: Response;\n try {\n response = await this.#fetch(url, {\n method,\n headers: {\n authorization: `Bearer ${this.#apiKey}`,\n ...(options.body === undefined ? {} : { \"content-type\": \"application/json\" }),\n },\n ...(options.body === undefined ? {} : { body: JSON.stringify(options.body) }),\n signal: controller.signal,\n });\n } catch (error) {\n if (controller.signal.aborted) throw new MarrowError(`Marrow request timed out after ${this.#timeoutMs}ms`);\n throw error;\n } finally {\n clearTimeout(timer);\n }\n const decoded = await decodeResponse(response);\n if (!response.ok) throw buildApiError(response.status, decoded);\n return decoded;\n }\n}\n\nexport class Context {\n readonly raw: MemoryContext;\n readonly status: MemoryContext[\"status\"];\n readonly placement: string;\n readonly context: string;\n readonly messages: MemoryContext[\"messages\"];\n readonly blocks: MemoryContext[\"blocks\"];\n readonly citations: MemoryContext[\"citations\"];\n readonly conflicts: MemoryContext[\"conflicts\"];\n readonly warnings: MemoryContext[\"warnings\"];\n\n constructor(raw: MemoryContext) {\n this.raw = raw;\n this.status = raw.status;\n this.placement = raw.placement;\n this.context = raw.context;\n this.messages = raw.messages;\n this.blocks = raw.blocks;\n this.citations = raw.citations;\n this.conflicts = raw.conflicts;\n this.warnings = raw.warnings;\n }\n\n toOpenAI(): readonly [{ readonly role: \"system\"; readonly content: string }] {\n return [{ role: \"system\", content: this.context }];\n }\n\n toAnthropic(): { readonly system: string } {\n return { system: this.context };\n }\n}\n\nfunction contextFrom(value: unknown): Context {\n const projected = projectDto(\"memoryContext\", value);\n assertContext(projected);\n return new Context(projected as unknown as MemoryContext);\n}\n\nfunction recordWithId<T>(id: \"workspace\" | \"peer\" | \"session\" | \"claim\", value: unknown): T {\n const projected = projectDto(id, value);\n requireString(projected, \"id\", id);\n return projected as T;\n}\n\nexport class Peer {\n readonly id: string;\n readonly #requester: Requester;\n readonly #workspace: string;\n\n constructor(requester: Requester, workspace: string, id: string) {\n this.#requester = requester;\n this.#workspace = workspace;\n this.id = id;\n }\n\n #path(suffix = \"\"): string {\n return `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/peers/${segment(this.id, \"peer id\")}${suffix}`;\n }\n\n async create(): Promise<PeerRecord> {\n return recordWithId(\"peer\", await this.#requester.request(\"POST\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/peers`, { body: { id: this.id } }));\n }\n\n async get(): Promise<PeerRecord> {\n return recordWithId(\"peer\", await this.#requester.request(\"GET\", this.#path()));\n }\n\n async ask(query: string, options: AskOptions = {}): Promise<Context> {\n return contextFrom(await this.#requester.request(\"POST\", this.#path(\"/ask\"), {\n body: compact({ query, session_id: options.session, top_k: options.topK }),\n }));\n }\n\n async context(options: ContextOptions = {}): Promise<Context> {\n return contextFrom(await this.#requester.request(\"GET\", this.#path(\"/context\"), {\n query: compact({ session: options.session, q: options.q }),\n }));\n }\n\n async representation(): Promise<RepresentationResponse> {\n const projected = projectDto(\"representationResponse\", await this.#requester.request(\"POST\", this.#path(\"/representation\"), { body: {} }));\n requireString(projected, \"peer_id\", \"representationResponse\");\n requireString(projected, \"generated_at\", \"representationResponse\");\n requireNumber(projected, \"count\", \"representationResponse\");\n return projected as unknown as RepresentationResponse;\n }\n\n async delete(): Promise<EventStatus> {\n const projected = projectDto(\"eventStatus\", await this.#requester.request(\"DELETE\", this.#path()));\n requireString(projected, \"event_id\", \"eventStatus\");\n requireString(projected, \"status\", \"eventStatus\");\n return projected as unknown as EventStatus;\n }\n}\n\nexport class Session {\n readonly id: string;\n readonly #requester: Requester;\n readonly #workspace: string;\n\n constructor(requester: Requester, workspace: string, id: string) {\n this.#requester = requester;\n this.#workspace = workspace;\n this.id = id;\n }\n\n #path(suffix = \"\"): string {\n return `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/sessions/${segment(this.id, \"session id\")}${suffix}`;\n }\n\n async create(): Promise<SessionRecord> {\n return recordWithId(\"session\", await this.#requester.request(\"POST\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/sessions`, { body: { id: this.id } }));\n }\n\n async get(): Promise<SessionRecord> {\n return recordWithId(\"session\", await this.#requester.request(\"GET\", this.#path()));\n }\n\n async addMessages(messages: readonly MessageInput[], options: AddMessagesOptions): Promise<MessagesCreateReceipt> {\n const projected = projectDto(\"messagesCreateReceipt\", await this.#requester.request(\"POST\", this.#path(\"/messages\"), {\n body: compact({\n peer_id: options.peerId,\n agent_id: options.agentId,\n messages,\n infer: options.infer,\n created_at: options.createdAt,\n metadata: options.metadata,\n source_ids: options.sourceIds,\n idempotency_key: options.idempotencyKey,\n }),\n }));\n requireString(projected, \"event_id\", \"messagesCreateReceipt\");\n return projected as unknown as MessagesCreateReceipt;\n }\n\n async messages(): Promise<Page<Message>> {\n const projected = projectDto(\"Page_Message\", await this.#requester.request(\"POST\", this.#path(\"/messages/list\"), { body: {} }));\n assertPage(projected, \"Page_Message\");\n return projected as unknown as Page<Message>;\n }\n\n async context(options: SessionContextOptions): Promise<Context> {\n return contextFrom(await this.#requester.request(\"GET\", this.#path(\"/context\"), {\n query: compact({ peer: options.peer, q: options.q }),\n }));\n }\n\n async delete(): Promise<EventStatus> {\n const projected = projectDto(\"eventStatus\", await this.#requester.request(\"DELETE\", this.#path()));\n requireString(projected, \"event_id\", \"eventStatus\");\n requireString(projected, \"status\", \"eventStatus\");\n return projected as unknown as EventStatus;\n }\n}\n\nclass Workspaces {\n readonly #requester: Requester;\n constructor(requester: Requester) { this.#requester = requester; }\n\n async upsert(id?: string): Promise<Workspace> {\n return recordWithId(\"workspace\", await this.#requester.request(\"POST\", \"/v1/workspaces\", {\n body: id === undefined ? {} : { id: segment(id, \"workspace\") },\n }));\n }\n\n async list(): Promise<Page<Workspace>> {\n const projected = projectDto(\"Page_Workspace\", await this.#requester.request(\"POST\", \"/v1/workspaces/list\", { body: {} }));\n assertPage(projected, \"Page_Workspace\");\n return projected as unknown as Page<Workspace>;\n }\n}\n\nclass Peers {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n\n async list(): Promise<Page<PeerRecord>> {\n const projected = projectDto(\"Page_Peer\", await this.#requester.request(\"POST\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/peers/list`, { body: {} }));\n assertPage(projected, \"Page_Peer\");\n return projected as unknown as Page<PeerRecord>;\n }\n}\n\nclass Sessions {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n\n async list(): Promise<Page<SessionRecord>> {\n const projected = projectDto(\"Page_Session\", await this.#requester.request(\"POST\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/sessions/list`, { body: {} }));\n assertPage(projected, \"Page_Session\");\n return projected as unknown as Page<SessionRecord>;\n }\n}\n\nclass Claims {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n #path(suffix: string): string { return `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/claims${suffix}`; }\n\n async query(query: string, options: ClaimsQueryOptions): Promise<Page<Claim>> {\n const projected = projectDto(\"Page_Claim\", await this.#requester.request(\"POST\", this.#path(\"/query\"), {\n body: compact({ query, peer_id: options.peerId, agent_id: options.agentId, session_id: options.sessionId, top_k: options.topK }),\n }));\n assertPage(projected, \"Page_Claim\");\n return projected as unknown as Page<Claim>;\n }\n\n async list(options: ClaimsListOptions): Promise<Page<Claim>> {\n const projected = projectDto(\"Page_Claim\", await this.#requester.request(\"POST\", this.#path(\"/list\"), {\n body: compact({ peer_id: options.peerId, agent_id: options.agentId, session_id: options.sessionId, page: options.page, page_size: options.pageSize }),\n }));\n assertPage(projected, \"Page_Claim\");\n return projected as unknown as Page<Claim>;\n }\n\n async get(claimId: string): Promise<Claim> {\n return recordWithId(\"claim\", await this.#requester.request(\"GET\", this.#path(`/${segment(claimId, \"claim id\")}`)));\n }\n\n async history(claimId: string): Promise<readonly ClaimHistoryEntry[]> {\n const value = await this.#requester.request(\"GET\", this.#path(`/${segment(claimId, \"claim id\")}/history`));\n if (!Array.isArray(value)) throw new MarrowResponseError(\"claim history response must be an array\");\n return value.map((entry) => projectDto(\"claimHistoryEntry\", entry) as unknown as ClaimHistoryEntry);\n }\n\n async update(claimId: string, content: string, options: ClaimMutationOptions): Promise<ClaimUpdateResult> {\n const projected = projectDto(\"claimUpdateResult\", await this.#requester.request(\"PUT\", this.#path(`/${segment(claimId, \"claim id\")}`), {\n body: compact({ content, head_revision: options.headRevision, reason: options.reason }),\n }));\n requireString(projected, \"head_revision\", \"claimUpdateResult\");\n return projected as unknown as ClaimUpdateResult;\n }\n\n async delete(claimId: string, options: ClaimMutationOptions): Promise<ClaimDeleteReceipt> {\n const projected = projectDto(\"claimDeleteReceipt\", await this.#requester.request(\"DELETE\", this.#path(`/${segment(claimId, \"claim id\")}`), {\n body: compact({ head_revision: options.headRevision, reason: options.reason }),\n }));\n requireString(projected, \"id\", \"claimDeleteReceipt\");\n return projected as unknown as ClaimDeleteReceipt;\n }\n}\n\nclass Events {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n\n async get(eventId: string): Promise<EventStatus> {\n const projected = projectDto(\"eventStatus\", await this.#requester.request(\"GET\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/events/${segment(eventId, \"event id\")}`));\n requireString(projected, \"event_id\", \"eventStatus\");\n requireString(projected, \"status\", \"eventStatus\");\n return projected as unknown as EventStatus;\n }\n}\n\nclass Queue {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n\n async status(): Promise<QueueStatus> {\n const projected = projectDto(\"queueStatus\", await this.#requester.request(\"GET\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/queue/status`));\n for (const field of [\"queued\", \"running\", \"succeeded\", \"failed\"]) requireNumber(projected, field, \"queueStatus\");\n return projected as unknown as QueueStatus;\n }\n}\n\nclass IngestJobs {\n readonly #requester: Requester;\n constructor(requester: Requester) { this.#requester = requester; }\n\n async list(options: ListJobsOptions = {}): Promise<IngestJobListResponse> {\n const limit = positiveInteger(options.limit ?? 20, \"limit\", 100);\n return projectIngestJobList(await this.#requester.request(\"GET\", \"/v1/ingest/jobs\", { query: { limit } }));\n }\n\n async get(jobId: string): Promise<IngestJobResponse> {\n return projectIngestJobResponse(await this.#requester.request(\"GET\", `/v1/ingest/jobs/${segment(jobId, \"job id\")}`));\n }\n\n async wait(jobId: string, options: WaitForJobOptions = {}): Promise<IngestJobResponse> {\n const maxAttempts = positiveInteger(options.maxAttempts ?? 60, \"maxAttempts\", 10_000);\n const pollIntervalMs = options.pollIntervalMs ?? 1_000;\n if (!Number.isFinite(pollIntervalMs) || pollIntervalMs < 0) {\n throw new MarrowConfigError(\"pollIntervalMs must be a non-negative number\");\n }\n for (let attempt = 0; attempt < maxAttempts; attempt += 1) {\n const result = await this.get(jobId);\n if (TERMINAL_JOB_STATUSES.has(result.job.status)) return result;\n if (attempt + 1 < maxAttempts && pollIntervalMs > 0) {\n await new Promise<void>((resolve) => setTimeout(resolve, pollIntervalMs));\n }\n }\n throw new MarrowError(`ingest job ${JSON.stringify(jobId)} did not reach a terminal status after ${maxAttempts} attempts`);\n }\n}\n\nclass Sources {\n readonly #requester: Requester;\n constructor(requester: Requester) { this.#requester = requester; }\n\n async delete(sourceId: string): Promise<IngestJobResponse> {\n return projectIngestJobResponse(await this.#requester.request(\"DELETE\", `/v1/sources/${segment(sourceId, \"source id\")}`));\n }\n}\n\nasync function bytesFrom(value: Blob | ArrayBuffer | ArrayBufferView): Promise<Uint8Array> {\n if (typeof Blob !== \"undefined\" && value instanceof Blob) return new Uint8Array(await value.arrayBuffer());\n if (value instanceof ArrayBuffer) return new Uint8Array(value);\n if (ArrayBuffer.isView(value)) return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n throw new MarrowConfigError(\"file content must be a Blob, ArrayBuffer, or typed-array view\");\n}\n\nfunction base64(value: Uint8Array): string {\n const alphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n let output = \"\";\n for (let index = 0; index < value.length; index += 3) {\n const first = value[index] ?? 0;\n const second = value[index + 1] ?? 0;\n const third = value[index + 2] ?? 0;\n const bits = (first << 16) | (second << 8) | third;\n output += alphabet[(bits >> 18) & 63];\n output += alphabet[(bits >> 12) & 63];\n output += index + 1 < value.length ? alphabet[(bits >> 6) & 63] : \"=\";\n output += index + 2 < value.length ? alphabet[bits & 63] : \"=\";\n }\n return output;\n}\n\nfunction assertFileIngestSize(byteLength: number): void {\n if (byteLength > MAX_FILE_INGEST_BYTES) {\n throw new MarrowConfigError(`Uploaded file exceeds ${MAX_FILE_INGEST_BYTES} decoded bytes.`);\n }\n}\n\nclass Ingest {\n readonly jobs: IngestJobs;\n readonly #requester: Requester;\n constructor(requester: Requester) { this.#requester = requester; this.jobs = new IngestJobs(requester); }\n\n async url(url: string, options: UrlIngestOptions = {}): Promise<IngestPlanResponse | IngestJobResponse> {\n const dryRun = options.dryRun ?? true;\n const key = idempotencyKey(options.idempotencyKey, dryRun);\n return projectIngestSubmission(await this.#requester.request(\"POST\", \"/v1/ingest/url\", {\n body: compact({ url, dryRun, datedAt: options.datedAt, idempotencyKey: key }),\n }));\n }\n\n async file(options: FileIngestOptions): Promise<IngestPlanResponse | IngestJobResponse> {\n const dryRun = options.dryRun ?? true;\n const key = idempotencyKey(options.idempotencyKey, dryRun);\n const content = await bytesFrom(options.content);\n assertFileIngestSize(content.byteLength);\n return projectIngestSubmission(await this.#requester.request(\"POST\", \"/v1/ingest/file\", {\n body: compact({\n filename: options.filename,\n contentType: options.contentType,\n contentBase64: base64(content),\n dryRun,\n datedAt: options.datedAt,\n idempotencyKey: key,\n }),\n }));\n }\n}\n\nexport class Marrow {\n readonly workspaces: Workspaces;\n readonly peers: Peers;\n readonly sessions: Sessions;\n readonly claims: Claims;\n readonly events: Events;\n readonly queue: Queue;\n readonly ingest: Ingest;\n readonly sources: Sources;\n readonly #requester: Requester;\n readonly #workspace: string;\n\n constructor(options: MarrowOptions) {\n this.#requester = new Requester(options);\n this.#workspace = options.workspace ?? DEFAULT_WORKSPACE;\n segment(this.#workspace, \"workspace\");\n this.workspaces = new Workspaces(this.#requester);\n this.peers = new Peers(this.#requester, this.#workspace);\n this.sessions = new Sessions(this.#requester, this.#workspace);\n this.claims = new Claims(this.#requester, this.#workspace);\n this.events = new Events(this.#requester, this.#workspace);\n this.queue = new Queue(this.#requester, this.#workspace);\n this.ingest = new Ingest(this.#requester);\n this.sources = new Sources(this.#requester);\n }\n\n peer(peerId: string): Peer { return new Peer(this.#requester, this.#workspace, peerId); }\n session(sessionId: string): Session { return new Session(this.#requester, this.#workspace, sessionId); }\n\n async query(query: string, options: QueryOptions = {}): Promise<QueryResult> {\n if (typeof query !== \"string\" || query.trim().length === 0) throw new MarrowConfigError(\"query must be a non-empty string\");\n const workspace = options.workspace ?? this.#workspace;\n segment(workspace, \"workspace\");\n if (options.audience !== undefined) segment(options.audience, \"audience\");\n return projectQueryResult(await this.#requester.request(\"POST\", \"/v1/query\", {\n body: compact({\n query: query.trim(),\n limit: positiveInteger(options.limit ?? 5, \"limit\", 20),\n evidenceLimit: positiveInteger(options.evidenceLimit ?? 3, \"evidenceLimit\", 10),\n workspace,\n audience: options.audience,\n source_ids: querySelector(options.sourceIds, \"sourceIds\"),\n peer_ids: querySelector(options.peerIds, \"peerIds\"),\n session_ids: querySelector(options.sessionIds, \"sessionIds\"),\n }),\n }));\n }\n\n async access(): Promise<CurrentAccess> {\n const projected = projectDto(\"currentAccess\", await this.#requester.request(\"GET\", \"/v1/access\"));\n requireString(projected, \"schemaVersion\", \"currentAccess\");\n return projected as unknown as CurrentAccess;\n }\n}\n"]}
{"version":3,"file":"client.js","sources":["marrow-sdk:///src/client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ConflictError,\n ForbiddenScopeError,\n MarrowApiError,\n MarrowConfigError,\n MarrowError,\n MarrowResponseError,\n NotFoundError,\n ValidationError,\n WrongCredentialClassError,\n type ValidationIssue,\n} from \"./errors.js\";\nimport {\n assertPage,\n projectDto,\n projectIngestJobList,\n projectIngestJobResponse,\n projectIngestSubmission,\n projectQueryResult,\n} from \"./projection.js\";\nimport type {\n AddMessagesOptions,\n AskOptions,\n Claim,\n ClaimDeleteReceipt,\n ClaimHistoryEntry,\n ClaimMutationOptions,\n ClaimsListOptions,\n ClaimsQueryOptions,\n ContextOptions,\n EventStatus,\n FetchLike,\n FileIngestOptions,\n IngestJobListResponse,\n IngestJobResponse,\n IngestPlanResponse,\n ListJobsOptions,\n MarrowOptions,\n Message,\n MessageInput,\n MessagesCreateReceipt,\n Page,\n PeerRecord,\n QueryOptions,\n QueryResult,\n QueueStatus,\n RepresentationResponse,\n SessionContextOptions,\n SessionRecord,\n UrlIngestOptions,\n WaitForJobOptions,\n Workspace,\n ClaimUpdateResult,\n CurrentAccess,\n} from \"./types.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.marrow.id\";\nconst DEFAULT_WORKSPACE = \"default\";\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst MAX_FILE_INGEST_BYTES = 50_000_000;\nconst LOOPBACK_HOSTS = new Set([\"localhost\", \"127.0.0.1\", \"::1\", \"[::1]\"]);\nconst TERMINAL_JOB_STATUSES = new Set([\"succeeded\", \"failed\", \"quarantined\"]);\n\ntype RequestBody = Readonly<Record<string, unknown>>;\n\nfunction validateBaseURL(value: string): string {\n let parsed: URL;\n try {\n parsed = new URL(value);\n } catch {\n throw new MarrowConfigError(\n \"baseURL must be an absolute HTTPS URL; HTTP is allowed only for localhost, 127.0.0.1, or ::1.\",\n );\n }\n if (parsed.username || parsed.password) throw new MarrowConfigError(\"baseURL must not contain embedded credentials.\");\n if (parsed.search || parsed.hash) throw new MarrowConfigError(\"baseURL must not contain a query string or fragment.\");\n if (parsed.protocol !== \"https:\" && !(parsed.protocol === \"http:\" && LOOPBACK_HOSTS.has(parsed.hostname))) {\n throw new MarrowConfigError(\n \"baseURL must use HTTPS; HTTP is allowed only for localhost, 127.0.0.1, or ::1.\",\n );\n }\n return value.replace(/\\/+$/, \"\");\n}\n\nfunction segment(value: string, name: string): string {\n if (typeof value !== \"string\" || value.length === 0) throw new MarrowConfigError(`${name} must be a non-empty string`);\n return encodeURIComponent(value);\n}\n\nfunction positiveInteger(value: number, name: string, maximum: number): number {\n if (!Number.isInteger(value) || value < 1 || value > maximum) {\n throw new MarrowConfigError(`${name} must be an integer between 1 and ${maximum}`);\n }\n return value;\n}\n\nfunction querySelector(values: readonly string[] | undefined, name: string): readonly string[] | undefined {\n if (values === undefined) return undefined;\n if (!Array.isArray(values) || values.length === 0) {\n throw new MarrowConfigError(`${name} must contain at least one value`);\n }\n return values;\n}\n\nfunction idempotencyKey(value: string | undefined, dryRun: boolean): string | undefined {\n if (value === undefined) {\n if (!dryRun) {\n throw new MarrowConfigError(\"idempotencyKey is required for live ingest; use dryRun: true to preview without one\");\n }\n return undefined;\n }\n const key = value.trim();\n if (key.length < 8 || key.length > 160) {\n throw new MarrowConfigError(\"idempotencyKey must be between 8 and 160 characters\");\n }\n return key;\n}\n\nfunction queryIdempotencyKey(value: string): string {\n const key = value.trim();\n if (key.length < 8 || key.length > 160) {\n throw new MarrowConfigError(\"idempotencyKey must be between 8 and 160 characters\");\n }\n return key;\n}\n\nfunction compact(value: RequestBody): RequestBody {\n return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined));\n}\n\nfunction requireString(value: Record<string, unknown>, field: string, owner: string): void {\n if (typeof value[field] !== \"string\" || value[field] === \"\") {\n throw new MarrowResponseError(`${owner}.${field} must be a non-empty string`);\n }\n}\n\nfunction requireNumber(value: Record<string, unknown>, field: string, owner: string): void {\n if (typeof value[field] !== \"number\" || !Number.isFinite(value[field])) {\n throw new MarrowResponseError(`${owner}.${field} must be a number`);\n }\n}\n\nfunction parseIssues(value: unknown): readonly ValidationIssue[] {\n if (!Array.isArray(value)) return [];\n const issues: ValidationIssue[] = [];\n for (const item of value) {\n if (typeof item !== \"object\" || item === null || Array.isArray(item)) continue;\n const record = item as Record<string, unknown>;\n if (!Array.isArray(record.path) || typeof record.message !== \"string\") continue;\n const path = record.path.filter((part): part is string | number => typeof part === \"string\" || typeof part === \"number\");\n issues.push({ path, message: record.message });\n }\n return issues;\n}\n\nfunction buildApiError(status: number, value: unknown): MarrowApiError {\n const envelope = typeof value === \"object\" && value !== null && !Array.isArray(value)\n ? value as Record<string, unknown>\n : {};\n const nested = typeof envelope.error === \"object\" && envelope.error !== null && !Array.isArray(envelope.error)\n ? envelope.error as Record<string, unknown>\n : {};\n const message = typeof nested.message === \"string\" && nested.message.length > 0 ? nested.message : `HTTP ${status}`;\n const code = typeof nested.code === \"string\" ? nested.code : undefined;\n const requestId = typeof envelope.requestId === \"string\"\n ? envelope.requestId\n : typeof envelope.request_id === \"string\" ? envelope.request_id : undefined;\n const details = typeof nested.details === \"object\" && nested.details !== null && !Array.isArray(nested.details)\n ? nested.details as Record<string, unknown>\n : {};\n const issues = parseIssues(nested.issues ?? details.issues);\n const options = { statusCode: status, code, requestId, issues };\n if (status === 403 && code === \"wrong_credential_class\") return new WrongCredentialClassError(message, options);\n if (status === 403) return new ForbiddenScopeError(message, options);\n if (status === 404) return new NotFoundError(message, options);\n if (status === 409) return new ConflictError(message, options);\n if (status === 400) return new ValidationError(message, options);\n return new MarrowApiError(message, options);\n}\n\nasync function decodeResponse(response: Response): Promise<unknown> {\n const text = await response.text();\n if (text.length === 0) return null;\n try {\n return JSON.parse(text) as unknown;\n } catch {\n if (response.ok) throw new MarrowResponseError(\"Marrow returned a non-JSON success response\");\n return {};\n }\n}\n\nclass Requester {\n readonly #apiKey: string;\n readonly #baseURL: string;\n readonly #timeoutMs: number;\n readonly #fetch: FetchLike;\n\n constructor(options: MarrowOptions) {\n if (typeof options.apiKey !== \"string\" || options.apiKey.length === 0) {\n throw new MarrowConfigError(\"apiKey is required (a customer API key with scopes for the routes you call).\");\n }\n if (options.timeoutMs !== undefined && (!Number.isFinite(options.timeoutMs) || options.timeoutMs <= 0)) {\n throw new MarrowConfigError(\"timeoutMs must be a positive number\");\n }\n const fetchImpl = options.fetch ?? globalThis.fetch?.bind(globalThis);\n if (fetchImpl === undefined) throw new MarrowConfigError(\"A standards-compatible fetch implementation is required\");\n this.#apiKey = options.apiKey;\n this.#baseURL = validateBaseURL(options.baseURL ?? DEFAULT_BASE_URL);\n this.#timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n this.#fetch = fetchImpl;\n }\n\n async request(\n method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\",\n path: string,\n options: { readonly body?: RequestBody; readonly query?: RequestBody } = {},\n ): Promise<unknown> {\n const url = new URL(`${this.#baseURL}${path}`);\n for (const [key, value] of Object.entries(options.query ?? {})) {\n if (value !== undefined) url.searchParams.set(key, String(value));\n }\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), this.#timeoutMs);\n let response: Response;\n try {\n response = await this.#fetch(url, {\n method,\n headers: {\n authorization: `Bearer ${this.#apiKey}`,\n ...(options.body === undefined ? {} : { \"content-type\": \"application/json\" }),\n },\n ...(options.body === undefined ? {} : { body: JSON.stringify(options.body) }),\n signal: controller.signal,\n });\n } catch (error) {\n if (controller.signal.aborted) throw new MarrowError(`Marrow request timed out after ${this.#timeoutMs}ms`);\n throw error;\n } finally {\n clearTimeout(timer);\n }\n const decoded = await decodeResponse(response);\n if (!response.ok) throw buildApiError(response.status, decoded);\n return decoded;\n }\n}\n\nfunction recordWithId<T>(id: \"workspace\" | \"peer\" | \"session\" | \"claim\", value: unknown): T {\n const projected = projectDto(id, value);\n requireString(projected, \"id\", id);\n return projected as T;\n}\n\nexport class Peer {\n readonly id: string;\n readonly #requester: Requester;\n readonly #workspace: string;\n\n constructor(requester: Requester, workspace: string, id: string) {\n this.#requester = requester;\n this.#workspace = workspace;\n this.id = id;\n }\n\n #path(suffix = \"\"): string {\n return `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/peers/${segment(this.id, \"peer id\")}${suffix}`;\n }\n\n async create(): Promise<PeerRecord> {\n return recordWithId(\"peer\", await this.#requester.request(\"POST\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/peers`, { body: { id: this.id } }));\n }\n\n async get(): Promise<PeerRecord> {\n return recordWithId(\"peer\", await this.#requester.request(\"GET\", this.#path()));\n }\n\n async ask(query: string, options: AskOptions): Promise<QueryResult> {\n return projectQueryResult(await this.#requester.request(\"POST\", \"/v1/query\", {\n body: compact({\n idempotencyKey: queryIdempotencyKey(options.idempotencyKey),\n mode: \"answer\",\n preset: options.preset ?? \"accuracy\",\n query,\n workspace: this.#workspace,\n peer_ids: [this.id],\n session_ids: options.session ? [options.session] : undefined,\n agent_id: options.agentId,\n }),\n }));\n }\n\n async context(options: ContextOptions): Promise<QueryResult> {\n return projectQueryResult(await this.#requester.request(\"POST\", \"/v1/query\", {\n body: compact({\n idempotencyKey: queryIdempotencyKey(options.idempotencyKey),\n mode: \"context\",\n preset: options.preset ?? \"accuracy\",\n query: options.q,\n workspace: this.#workspace,\n peer_ids: [this.id],\n session_ids: options.session ? [options.session] : undefined,\n agent_id: options.agentId,\n }),\n }));\n }\n\n async representation(): Promise<RepresentationResponse> {\n const projected = projectDto(\"representationResponse\", await this.#requester.request(\"POST\", this.#path(\"/representation\"), { body: {} }));\n requireString(projected, \"peer_id\", \"representationResponse\");\n requireString(projected, \"generated_at\", \"representationResponse\");\n requireNumber(projected, \"count\", \"representationResponse\");\n return projected as unknown as RepresentationResponse;\n }\n\n async delete(): Promise<EventStatus> {\n const projected = projectDto(\"eventStatus\", await this.#requester.request(\"DELETE\", this.#path()));\n requireString(projected, \"event_id\", \"eventStatus\");\n requireString(projected, \"status\", \"eventStatus\");\n return projected as unknown as EventStatus;\n }\n}\n\nexport class Session {\n readonly id: string;\n readonly #requester: Requester;\n readonly #workspace: string;\n\n constructor(requester: Requester, workspace: string, id: string) {\n this.#requester = requester;\n this.#workspace = workspace;\n this.id = id;\n }\n\n #path(suffix = \"\"): string {\n return `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/sessions/${segment(this.id, \"session id\")}${suffix}`;\n }\n\n async create(): Promise<SessionRecord> {\n return recordWithId(\"session\", await this.#requester.request(\"POST\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/sessions`, { body: { id: this.id } }));\n }\n\n async get(): Promise<SessionRecord> {\n return recordWithId(\"session\", await this.#requester.request(\"GET\", this.#path()));\n }\n\n async addMessages(messages: readonly MessageInput[], options: AddMessagesOptions): Promise<MessagesCreateReceipt> {\n const projected = projectDto(\"messagesCreateReceipt\", await this.#requester.request(\"POST\", this.#path(\"/messages\"), {\n body: compact({\n peer_id: options.peerId,\n agent_id: options.agentId,\n messages,\n infer: options.infer,\n created_at: options.createdAt,\n metadata: options.metadata,\n source_ids: options.sourceIds,\n idempotency_key: options.idempotencyKey,\n }),\n }));\n requireString(projected, \"event_id\", \"messagesCreateReceipt\");\n return projected as unknown as MessagesCreateReceipt;\n }\n\n async messages(): Promise<Page<Message>> {\n const projected = projectDto(\"Page_Message\", await this.#requester.request(\"POST\", this.#path(\"/messages/list\"), { body: {} }));\n assertPage(projected, \"Page_Message\");\n return projected as unknown as Page<Message>;\n }\n\n async context(options: SessionContextOptions): Promise<QueryResult> {\n return projectQueryResult(await this.#requester.request(\"POST\", \"/v1/query\", {\n body: compact({\n idempotencyKey: queryIdempotencyKey(options.idempotencyKey),\n mode: \"context\",\n preset: options.preset ?? \"accuracy\",\n query: options.q,\n workspace: this.#workspace,\n peer_ids: [options.peer],\n session_ids: [this.id],\n agent_id: options.agentId,\n }),\n }));\n }\n\n async delete(): Promise<EventStatus> {\n const projected = projectDto(\"eventStatus\", await this.#requester.request(\"DELETE\", this.#path()));\n requireString(projected, \"event_id\", \"eventStatus\");\n requireString(projected, \"status\", \"eventStatus\");\n return projected as unknown as EventStatus;\n }\n}\n\nclass Workspaces {\n readonly #requester: Requester;\n constructor(requester: Requester) { this.#requester = requester; }\n\n async upsert(id?: string): Promise<Workspace> {\n return recordWithId(\"workspace\", await this.#requester.request(\"POST\", \"/v1/workspaces\", {\n body: id === undefined ? {} : { id: segment(id, \"workspace\") },\n }));\n }\n\n async list(): Promise<Page<Workspace>> {\n const projected = projectDto(\"Page_Workspace\", await this.#requester.request(\"POST\", \"/v1/workspaces/list\", { body: {} }));\n assertPage(projected, \"Page_Workspace\");\n return projected as unknown as Page<Workspace>;\n }\n}\n\nclass Peers {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n\n async list(): Promise<Page<PeerRecord>> {\n const projected = projectDto(\"Page_Peer\", await this.#requester.request(\"POST\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/peers/list`, { body: {} }));\n assertPage(projected, \"Page_Peer\");\n return projected as unknown as Page<PeerRecord>;\n }\n}\n\nclass Sessions {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n\n async list(): Promise<Page<SessionRecord>> {\n const projected = projectDto(\"Page_Session\", await this.#requester.request(\"POST\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/sessions/list`, { body: {} }));\n assertPage(projected, \"Page_Session\");\n return projected as unknown as Page<SessionRecord>;\n }\n}\n\nclass Claims {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n #path(suffix: string): string { return `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/claims${suffix}`; }\n\n async query(query: string, options: ClaimsQueryOptions): Promise<QueryResult> {\n return projectQueryResult(await this.#requester.request(\"POST\", \"/v1/query\", {\n body: compact({\n idempotencyKey: queryIdempotencyKey(options.idempotencyKey),\n mode: \"evidence\",\n preset: options.preset ?? \"accuracy\",\n query,\n workspace: this.#workspace,\n peer_ids: [options.peerId],\n session_ids: options.sessionId ? [options.sessionId] : undefined,\n agent_id: options.agentId,\n }),\n }));\n }\n\n async list(options: ClaimsListOptions): Promise<Page<Claim>> {\n const projected = projectDto(\"Page_Claim\", await this.#requester.request(\"POST\", this.#path(\"/list\"), {\n body: compact({ peer_id: options.peerId, agent_id: options.agentId, session_id: options.sessionId, page: options.page, page_size: options.pageSize }),\n }));\n assertPage(projected, \"Page_Claim\");\n return projected as unknown as Page<Claim>;\n }\n\n async get(claimId: string): Promise<Claim> {\n return recordWithId(\"claim\", await this.#requester.request(\"GET\", this.#path(`/${segment(claimId, \"claim id\")}`)));\n }\n\n async history(claimId: string): Promise<readonly ClaimHistoryEntry[]> {\n const value = await this.#requester.request(\"GET\", this.#path(`/${segment(claimId, \"claim id\")}/history`));\n if (!Array.isArray(value)) throw new MarrowResponseError(\"claim history response must be an array\");\n return value.map((entry) => projectDto(\"claimHistoryEntry\", entry) as unknown as ClaimHistoryEntry);\n }\n\n async update(claimId: string, content: string, options: ClaimMutationOptions): Promise<ClaimUpdateResult> {\n const projected = projectDto(\"claimUpdateResult\", await this.#requester.request(\"PUT\", this.#path(`/${segment(claimId, \"claim id\")}`), {\n body: compact({ content, head_revision: options.headRevision, reason: options.reason }),\n }));\n requireString(projected, \"head_revision\", \"claimUpdateResult\");\n return projected as unknown as ClaimUpdateResult;\n }\n\n async delete(claimId: string, options: ClaimMutationOptions): Promise<ClaimDeleteReceipt> {\n const projected = projectDto(\"claimDeleteReceipt\", await this.#requester.request(\"DELETE\", this.#path(`/${segment(claimId, \"claim id\")}`), {\n body: compact({ head_revision: options.headRevision, reason: options.reason }),\n }));\n requireString(projected, \"id\", \"claimDeleteReceipt\");\n return projected as unknown as ClaimDeleteReceipt;\n }\n}\n\nclass Events {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n\n async get(eventId: string): Promise<EventStatus> {\n const projected = projectDto(\"eventStatus\", await this.#requester.request(\"GET\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/events/${segment(eventId, \"event id\")}`));\n requireString(projected, \"event_id\", \"eventStatus\");\n requireString(projected, \"status\", \"eventStatus\");\n return projected as unknown as EventStatus;\n }\n}\n\nclass Queue {\n readonly #requester: Requester;\n readonly #workspace: string;\n constructor(requester: Requester, workspace: string) { this.#requester = requester; this.#workspace = workspace; }\n\n async status(): Promise<QueueStatus> {\n const projected = projectDto(\"queueStatus\", await this.#requester.request(\"GET\", `/v1/workspaces/${segment(this.#workspace, \"workspace\")}/queue/status`));\n for (const field of [\"queued\", \"running\", \"succeeded\", \"failed\"]) requireNumber(projected, field, \"queueStatus\");\n return projected as unknown as QueueStatus;\n }\n}\n\nclass IngestJobs {\n readonly #requester: Requester;\n constructor(requester: Requester) { this.#requester = requester; }\n\n async list(options: ListJobsOptions = {}): Promise<IngestJobListResponse> {\n const limit = positiveInteger(options.limit ?? 20, \"limit\", 100);\n return projectIngestJobList(await this.#requester.request(\"GET\", \"/v1/ingest/jobs\", { query: { limit } }));\n }\n\n async get(jobId: string): Promise<IngestJobResponse> {\n return projectIngestJobResponse(await this.#requester.request(\"GET\", `/v1/ingest/jobs/${segment(jobId, \"job id\")}`));\n }\n\n async wait(jobId: string, options: WaitForJobOptions = {}): Promise<IngestJobResponse> {\n const maxAttempts = positiveInteger(options.maxAttempts ?? 60, \"maxAttempts\", 10_000);\n const pollIntervalMs = options.pollIntervalMs ?? 1_000;\n if (!Number.isFinite(pollIntervalMs) || pollIntervalMs < 0) {\n throw new MarrowConfigError(\"pollIntervalMs must be a non-negative number\");\n }\n for (let attempt = 0; attempt < maxAttempts; attempt += 1) {\n const result = await this.get(jobId);\n if (TERMINAL_JOB_STATUSES.has(result.job.status)) return result;\n if (attempt + 1 < maxAttempts && pollIntervalMs > 0) {\n await new Promise<void>((resolve) => setTimeout(resolve, pollIntervalMs));\n }\n }\n throw new MarrowError(`ingest job ${JSON.stringify(jobId)} did not reach a terminal status after ${maxAttempts} attempts`);\n }\n}\n\nclass Sources {\n readonly #requester: Requester;\n constructor(requester: Requester) { this.#requester = requester; }\n\n async delete(sourceId: string): Promise<IngestJobResponse> {\n return projectIngestJobResponse(await this.#requester.request(\"DELETE\", `/v1/sources/${segment(sourceId, \"source id\")}`));\n }\n}\n\nasync function bytesFrom(value: Blob | ArrayBuffer | ArrayBufferView): Promise<Uint8Array> {\n if (typeof Blob !== \"undefined\" && value instanceof Blob) return new Uint8Array(await value.arrayBuffer());\n if (value instanceof ArrayBuffer) return new Uint8Array(value);\n if (ArrayBuffer.isView(value)) return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n throw new MarrowConfigError(\"file content must be a Blob, ArrayBuffer, or typed-array view\");\n}\n\nfunction base64(value: Uint8Array): string {\n const alphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n let output = \"\";\n for (let index = 0; index < value.length; index += 3) {\n const first = value[index] ?? 0;\n const second = value[index + 1] ?? 0;\n const third = value[index + 2] ?? 0;\n const bits = (first << 16) | (second << 8) | third;\n output += alphabet[(bits >> 18) & 63];\n output += alphabet[(bits >> 12) & 63];\n output += index + 1 < value.length ? alphabet[(bits >> 6) & 63] : \"=\";\n output += index + 2 < value.length ? alphabet[bits & 63] : \"=\";\n }\n return output;\n}\n\nfunction assertFileIngestSize(byteLength: number): void {\n if (byteLength > MAX_FILE_INGEST_BYTES) {\n throw new MarrowConfigError(`Uploaded file exceeds ${MAX_FILE_INGEST_BYTES} decoded bytes.`);\n }\n}\n\nclass Ingest {\n readonly jobs: IngestJobs;\n readonly #requester: Requester;\n constructor(requester: Requester) { this.#requester = requester; this.jobs = new IngestJobs(requester); }\n\n async url(url: string, options: UrlIngestOptions = {}): Promise<IngestPlanResponse | IngestJobResponse> {\n const dryRun = options.dryRun ?? true;\n const key = idempotencyKey(options.idempotencyKey, dryRun);\n return projectIngestSubmission(await this.#requester.request(\"POST\", \"/v1/ingest/url\", {\n body: compact({ url, dryRun, datedAt: options.datedAt, idempotencyKey: key }),\n }));\n }\n\n async file(options: FileIngestOptions): Promise<IngestPlanResponse | IngestJobResponse> {\n const dryRun = options.dryRun ?? true;\n const key = idempotencyKey(options.idempotencyKey, dryRun);\n const content = await bytesFrom(options.content);\n assertFileIngestSize(content.byteLength);\n return projectIngestSubmission(await this.#requester.request(\"POST\", \"/v1/ingest/file\", {\n body: compact({\n filename: options.filename,\n contentType: options.contentType,\n contentBase64: base64(content),\n dryRun,\n datedAt: options.datedAt,\n idempotencyKey: key,\n }),\n }));\n }\n}\n\nexport class Marrow {\n readonly workspaces: Workspaces;\n readonly peers: Peers;\n readonly sessions: Sessions;\n readonly claims: Claims;\n readonly events: Events;\n readonly queue: Queue;\n readonly ingest: Ingest;\n readonly sources: Sources;\n readonly #requester: Requester;\n readonly #workspace: string;\n\n constructor(options: MarrowOptions) {\n this.#requester = new Requester(options);\n this.#workspace = options.workspace ?? DEFAULT_WORKSPACE;\n segment(this.#workspace, \"workspace\");\n this.workspaces = new Workspaces(this.#requester);\n this.peers = new Peers(this.#requester, this.#workspace);\n this.sessions = new Sessions(this.#requester, this.#workspace);\n this.claims = new Claims(this.#requester, this.#workspace);\n this.events = new Events(this.#requester, this.#workspace);\n this.queue = new Queue(this.#requester, this.#workspace);\n this.ingest = new Ingest(this.#requester);\n this.sources = new Sources(this.#requester);\n }\n\n peer(peerId: string): Peer { return new Peer(this.#requester, this.#workspace, peerId); }\n session(sessionId: string): Session { return new Session(this.#requester, this.#workspace, sessionId); }\n\n async query(query: string | undefined, options: QueryOptions): Promise<QueryResult> {\n const normalizedQuery = typeof query === \"string\" && query.trim().length > 0 ? query.trim() : undefined;\n if (!normalizedQuery && !(\n options.mode === \"context\"\n && (options.sourceIds?.length || options.peerIds?.length || options.sessionIds?.length || options.agentId)\n )) {\n throw new MarrowConfigError(\"query is required except for Context with an explicit selector\");\n }\n const operationKey = idempotencyKey(options.idempotencyKey, false);\n const workspace = options.workspace ?? this.#workspace;\n segment(workspace, \"workspace\");\n if (options.audience !== undefined) segment(options.audience, \"audience\");\n return projectQueryResult(await this.#requester.request(\"POST\", \"/v1/query\", {\n body: compact({\n idempotencyKey: operationKey,\n mode: options.mode,\n preset: options.preset ?? \"accuracy\",\n query: normalizedQuery,\n workspace,\n audience: options.audience,\n source_ids: querySelector(options.sourceIds, \"sourceIds\"),\n peer_ids: querySelector(options.peerIds, \"peerIds\"),\n session_ids: querySelector(options.sessionIds, \"sessionIds\"),\n agent_id: options.agentId,\n }),\n }));\n }\n\n async access(): Promise<CurrentAccess> {\n const projected = projectDto(\"currentAccess\", await this.#requester.request(\"GET\", \"/v1/access\"));\n requireString(projected, \"schemaVersion\", \"currentAccess\");\n return projected as unknown as CurrentAccess;\n }\n}\n"]}

@@ -1,5 +0,5 @@

export { Context, Marrow, Peer, Session } from "./client.js";
export { Marrow, Peer, Session } from "./client.js";
export { ConflictError, ForbiddenScopeError, MarrowApiError, MarrowConfigError, MarrowError, MarrowResponseError, NotFoundError, ValidationError, WrongCredentialClassError, } from "./errors.js";
export type { ValidationIssue } from "./errors.js";
export type { AccountCreditBalance, AccountUsageQuotaCounter, AccountUsageQuotaPair, AccountUsageQuotas, AddMessagesOptions, AskOptions, Claim, ClaimCitation, ClaimDeleteReceipt, ClaimHistoryEntry, ClaimMutationOptions, ClaimsListOptions, ClaimsQueryOptions, ContextBlock, ContextMessage, ContextOptions, ContextStatus, CurrentAccess, CurrentAccessContext, CurrentAccessCredential, EventStatus, EvidenceAnswer, EvidenceCitation, EvidenceResult, FetchLike, FileIngestOptions, IngestJob, IngestJobFailure, IngestJobRequest, IngestJobRequestSource, IngestJobResult, IngestJobListResponse, IngestJobResponse, IngestPlan, IngestPlanResponse, JobStatus, JsonObject, JsonPrimitive, JsonValue, ListJobsOptions, MarrowOptions, MemoryContext, Message, MessageInput, MessagesCreateReceipt, Page, OperationCharge, OperationCreditBalance, PeerRecord, QueryOptions, QueryResult, QueryStatus, QueueStatus, RepresentationResponse, SessionContextOptions, SessionRecord, UrlIngestOptions, WaitForJobOptions, Workspace, ClaimUpdateResult, } from "./types.js";
export type { AccountCreditBalance, AccountUsageQuotaCounter, AccountUsageQuotaPair, AccountUsageQuotas, AddMessagesOptions, AskOptions, Claim, ClaimCitation, ClaimDeleteReceipt, ClaimHistoryEntry, ClaimMutationOptions, ClaimsListOptions, ClaimsQueryOptions, ContextOptions, CurrentAccess, CurrentAccessContext, CurrentAccessCredential, EventStatus, EvidenceAnswer, EvidenceCitation, EvidenceResult, FetchLike, FileIngestOptions, IngestJob, IngestJobFailure, IngestJobRequest, IngestJobRequestSource, IngestJobResult, IngestJobListResponse, IngestJobResponse, IngestPlan, IngestPlanResponse, JobStatus, JsonObject, JsonPrimitive, JsonValue, ListJobsOptions, MarrowOptions, Message, MessageInput, MessagesCreateReceipt, Page, OperationCharge, OperationCreditBalance, PeerRecord, QueryOptions, QueryAnswer, QueryCitation, QueryContext, QueryContextFragment, QueryCoverage, QueryEvidenceUnit, QueryExecution, QueryMode, QueryOperation, QueryPreset, QueryResult, QueryStopReason, QueryStatus, QueueStatus, RepresentationResponse, SessionContextOptions, SessionRecord, UrlIngestOptions, WaitForJobOptions, Workspace, ClaimUpdateResult, } from "./types.js";
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sources":["marrow-sdk:///src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACV,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,aAAa,EACb,OAAO,EACP,YAAY,EACZ,qBAAqB,EACrB,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
{"version":3,"file":"index.d.ts","sources":["marrow-sdk:///src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACV,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,OAAO,EACP,YAAY,EACZ,qBAAqB,EACrB,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,YAAY,CAAC"}

@@ -1,3 +0,3 @@

export { Context, Marrow, Peer, Session } from "./client.js";
export { Marrow, Peer, Session } from "./client.js";
export { ConflictError, ForbiddenScopeError, MarrowApiError, MarrowConfigError, MarrowError, MarrowResponseError, NotFoundError, ValidationError, WrongCredentialClassError, } from "./errors.js";
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sources":["marrow-sdk:///src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,yBAAyB,GAC1B,MAAM,aAAa,CAAC","sourcesContent":["export { Context, Marrow, Peer, Session } from \"./client.js\";\nexport {\n ConflictError,\n ForbiddenScopeError,\n MarrowApiError,\n MarrowConfigError,\n MarrowError,\n MarrowResponseError,\n NotFoundError,\n ValidationError,\n WrongCredentialClassError,\n} from \"./errors.js\";\nexport type { ValidationIssue } from \"./errors.js\";\nexport type {\n AccountCreditBalance,\n AccountUsageQuotaCounter,\n AccountUsageQuotaPair,\n AccountUsageQuotas,\n AddMessagesOptions,\n AskOptions,\n Claim,\n ClaimCitation,\n ClaimDeleteReceipt,\n ClaimHistoryEntry,\n ClaimMutationOptions,\n ClaimsListOptions,\n ClaimsQueryOptions,\n ContextBlock,\n ContextMessage,\n ContextOptions,\n ContextStatus,\n CurrentAccess,\n CurrentAccessContext,\n CurrentAccessCredential,\n EventStatus,\n EvidenceAnswer,\n EvidenceCitation,\n EvidenceResult,\n FetchLike,\n FileIngestOptions,\n IngestJob,\n IngestJobFailure,\n IngestJobRequest,\n IngestJobRequestSource,\n IngestJobResult,\n IngestJobListResponse,\n IngestJobResponse,\n IngestPlan,\n IngestPlanResponse,\n JobStatus,\n JsonObject,\n JsonPrimitive,\n JsonValue,\n ListJobsOptions,\n MarrowOptions,\n MemoryContext,\n Message,\n MessageInput,\n MessagesCreateReceipt,\n Page,\n OperationCharge,\n OperationCreditBalance,\n PeerRecord,\n QueryOptions,\n QueryResult,\n QueryStatus,\n QueueStatus,\n RepresentationResponse,\n SessionContextOptions,\n SessionRecord,\n UrlIngestOptions,\n WaitForJobOptions,\n Workspace,\n ClaimUpdateResult,\n} from \"./types.js\";\n"]}
{"version":3,"file":"index.js","sources":["marrow-sdk:///src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,yBAAyB,GAC1B,MAAM,aAAa,CAAC","sourcesContent":["export { Marrow, Peer, Session } from \"./client.js\";\nexport {\n ConflictError,\n ForbiddenScopeError,\n MarrowApiError,\n MarrowConfigError,\n MarrowError,\n MarrowResponseError,\n NotFoundError,\n ValidationError,\n WrongCredentialClassError,\n} from \"./errors.js\";\nexport type { ValidationIssue } from \"./errors.js\";\nexport type {\n AccountCreditBalance,\n AccountUsageQuotaCounter,\n AccountUsageQuotaPair,\n AccountUsageQuotas,\n AddMessagesOptions,\n AskOptions,\n Claim,\n ClaimCitation,\n ClaimDeleteReceipt,\n ClaimHistoryEntry,\n ClaimMutationOptions,\n ClaimsListOptions,\n ClaimsQueryOptions,\n ContextOptions,\n CurrentAccess,\n CurrentAccessContext,\n CurrentAccessCredential,\n EventStatus,\n EvidenceAnswer,\n EvidenceCitation,\n EvidenceResult,\n FetchLike,\n FileIngestOptions,\n IngestJob,\n IngestJobFailure,\n IngestJobRequest,\n IngestJobRequestSource,\n IngestJobResult,\n IngestJobListResponse,\n IngestJobResponse,\n IngestPlan,\n IngestPlanResponse,\n JobStatus,\n JsonObject,\n JsonPrimitive,\n JsonValue,\n ListJobsOptions,\n MarrowOptions,\n Message,\n MessageInput,\n MessagesCreateReceipt,\n Page,\n OperationCharge,\n OperationCreditBalance,\n PeerRecord,\n QueryOptions,\n QueryAnswer,\n QueryCitation,\n QueryContext,\n QueryContextFragment,\n QueryCoverage,\n QueryEvidenceUnit,\n QueryExecution,\n QueryMode,\n QueryOperation,\n QueryPreset,\n QueryResult,\n QueryStopReason,\n QueryStatus,\n QueueStatus,\n RepresentationResponse,\n SessionContextOptions,\n SessionRecord,\n UrlIngestOptions,\n WaitForJobOptions,\n Workspace,\n ClaimUpdateResult,\n} from \"./types.js\";\n"]}
import type { IngestJobListResponse, IngestJobResponse, IngestPlanResponse, QueryResult } from "./types.js";
declare const DTO_FIELDS: {
readonly evidenceQueryResult: readonly ["schemaVersion", "generatedAt", "query", "answer", "results", "persona", "warnings", "operation"];
readonly queryResult: readonly ["schemaVersion", "presetContractVersion", "requestedPreset", "resolvedPreset", "generatedAt", "query", "mode", "coverage", "execution", "stopReason", "answer", "evidence", "context", "citations", "limitations", "gaps", "conflicts", "operation"];
readonly queryAnswer: readonly ["disposition", "text", "propositions"];
readonly queryProposition: readonly ["text", "support", "citationHandles"];
readonly queryEvidence: readonly ["citationHandle", "text", "sourceLabel", "support", "authority"];
readonly queryContext: readonly ["text", "tokenEstimate", "fragments"];
readonly queryContextFragment: readonly ["kind", "text", "citable", "promptEligible", "sourceLabel"];
readonly queryCitation: readonly ["citationHandle", "displayOrdinal", "excerpt", "sourceLabel", "support", "charOffsetStart", "charOffsetEnd"];
readonly queryGap: readonly ["code", "description", "required"];
readonly queryConflict: readonly ["code", "description", "citationHandles"];
readonly queryOperation: readonly ["id", "state", "creditsCharged", "balance", "usage"];
readonly queryOperationUsage: readonly ["elapsedMs", "contextCharacters", "inputTokens", "outputTokens", "totalTokens", "providerCalls"];
readonly operationCharge: readonly ["correlationId", "creditsCharged", "balance"];
readonly operationCreditBalance: readonly ["totalCreditsRemaining", "monthlyCreditsRemaining", "onboardingCreditsRemaining"];
readonly evidenceAnswer: readonly ["status", "text", "citations", "limitations"];
readonly evidenceResult: readonly ["rank", "title", "snippet", "evidence", "authority", "supportStatus", "enclosingContext"];
readonly evidenceCitation: readonly ["citationId", "excerpt", "sourceLabel", "support", "charOffsetStart", "charOffsetEnd"];
readonly evidenceEnclosingContext: readonly ["sessionLabel", "sessionDate", "window", "synthesis"];
readonly evidenceWindowMember: readonly ["excerpt", "charOffsetStart", "charOffsetEnd"];
readonly ingestJob: readonly ["id", "sourceId", "kind", "status", "request", "result", "failure", "attempts", "maxAttempts", "completedAt", "createdAt", "updatedAt", "operation"];

@@ -26,5 +31,2 @@ readonly ingestJobRequest: readonly ["source"];

readonly claimDeleteReceipt: readonly ["id", "invalid_at", "expired_at"];
readonly memoryContext: readonly ["status", "placement", "context", "messages", "blocks", "citations", "conflicts", "warnings"];
readonly contextBlock: readonly ["authority", "state", "text", "support_status", "citations"];
readonly contextMessage: readonly ["role", "content"];
readonly messagesCreateReceipt: readonly ["event_id", "status", "results", "authority", "eligibility"];

@@ -60,4 +62,3 @@ readonly claimRef: readonly ["id"];

export declare function assertPage(value: Record<string, unknown>, owner: string): void;
export declare function assertContext(value: Record<string, unknown>): void;
export {};
//# sourceMappingURL=projection.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"projection.d.ts","sources":["marrow-sdk:///src/projection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAElB,WAAW,EACZ,MAAM,YAAY,CAAC;AAQpB,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDN,CAAC;AAoGX,eAAO,MAAM,mBAAmB,EAE1B,QAAQ,CAAC,MAAM,CAAC,MAAM,OAAO,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;AAsJnE,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,OAAO,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2B/F;AAiED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAa9D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,iBAAiB,CAiB9F;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAc1E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAS1E;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG9E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAMlE"}
{"version":3,"file":"projection.d.ts","sources":["marrow-sdk:///src/projection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAElB,WAAW,EACZ,MAAM,YAAY,CAAC;AAQpB,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDN,CAAC;AAiGX,eAAO,MAAM,mBAAmB,EAE1B,QAAQ,CAAC,MAAM,CAAC,MAAM,OAAO,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;AAwKnE,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,OAAO,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0B/F;AAoDD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CA+B9D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,iBAAiB,CAiB9F;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAc1E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAS1E;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG9E"}
import { MarrowResponseError } from "./errors.js";
const DTO_FIELDS = {
evidenceQueryResult: ["schemaVersion", "generatedAt", "query", "answer", "results", "persona", "warnings", "operation"],
queryResult: ["schemaVersion", "presetContractVersion", "requestedPreset", "resolvedPreset", "generatedAt", "query", "mode", "coverage", "execution", "stopReason", "answer", "evidence", "context", "citations", "limitations", "gaps", "conflicts", "operation"],
queryAnswer: ["disposition", "text", "propositions"],
queryProposition: ["text", "support", "citationHandles"],
queryEvidence: ["citationHandle", "text", "sourceLabel", "support", "authority"],
queryContext: ["text", "tokenEstimate", "fragments"],
queryContextFragment: ["kind", "text", "citable", "promptEligible", "sourceLabel"],
queryCitation: ["citationHandle", "displayOrdinal", "excerpt", "sourceLabel", "support", "charOffsetStart", "charOffsetEnd"],
queryGap: ["code", "description", "required"],
queryConflict: ["code", "description", "citationHandles"],
queryOperation: ["id", "state", "creditsCharged", "balance", "usage"],
queryOperationUsage: ["elapsedMs", "contextCharacters", "inputTokens", "outputTokens", "totalTokens", "providerCalls"],
operationCharge: ["correlationId", "creditsCharged", "balance"],
operationCreditBalance: ["totalCreditsRemaining", "monthlyCreditsRemaining", "onboardingCreditsRemaining"],
evidenceAnswer: ["status", "text", "citations", "limitations"],
evidenceResult: ["rank", "title", "snippet", "evidence", "authority", "supportStatus", "enclosingContext"],
evidenceCitation: ["citationId", "excerpt", "sourceLabel", "support", "charOffsetStart", "charOffsetEnd"],
evidenceEnclosingContext: ["sessionLabel", "sessionDate", "window", "synthesis"],
evidenceWindowMember: ["excerpt", "charOffsetStart", "charOffsetEnd"],
ingestJob: ["id", "sourceId", "kind", "status", "request", "result", "failure", "attempts", "maxAttempts", "completedAt", "createdAt", "updatedAt", "operation"],

@@ -26,5 +31,2 @@ ingestJobRequest: ["source"],

claimDeleteReceipt: ["id", "invalid_at", "expired_at"],
memoryContext: ["status", "placement", "context", "messages", "blocks", "citations", "conflicts", "warnings"],
contextBlock: ["authority", "state", "text", "support_status", "citations"],
contextMessage: ["role", "content"],
messagesCreateReceipt: ["event_id", "status", "results", "authority", "eligibility"],

@@ -54,7 +56,27 @@ claimRef: ["id"],

const DESCRIPTORS = {
evidenceQueryResult: [
{ key: "schemaVersion" }, { key: "generatedAt" }, { key: "query" },
{ key: "answer", nested: "evidenceAnswer" }, { key: "results", items: "evidenceResult" },
{ key: "persona" }, { key: "warnings" }, { key: "operation", nested: "operationCharge" },
queryResult: [
...DTO_FIELDS.queryResult.slice(0, 10).map((key) => ({ key })),
{ key: "answer", nested: "queryAnswer" },
{ key: "evidence", items: "queryEvidence" },
{ key: "context", nested: "queryContext" },
{ key: "citations", items: "queryCitation" },
{ key: "limitations" },
{ key: "gaps", items: "queryGap" },
{ key: "conflicts", items: "queryConflict" },
{ key: "operation", nested: "queryOperation" },
],
queryAnswer: [{ key: "disposition" }, { key: "text" }, { key: "propositions", items: "queryProposition" }],
queryProposition: DTO_FIELDS.queryProposition.map((key) => ({ key })),
queryEvidence: DTO_FIELDS.queryEvidence.map((key) => ({ key })),
queryContext: [{ key: "text" }, { key: "tokenEstimate" }, { key: "fragments", items: "queryContextFragment" }],
queryContextFragment: DTO_FIELDS.queryContextFragment.map((key) => ({ key })),
queryCitation: DTO_FIELDS.queryCitation.map((key) => ({ key })),
queryGap: DTO_FIELDS.queryGap.map((key) => ({ key })),
queryConflict: DTO_FIELDS.queryConflict.map((key) => ({ key })),
queryOperation: [
{ key: "id" }, { key: "state" }, { key: "creditsCharged" },
{ key: "balance", nested: "operationCreditBalance" },
{ key: "usage", nested: "queryOperationUsage" },
],
queryOperationUsage: DTO_FIELDS.queryOperationUsage.map((key) => ({ key })),
operationCharge: [

@@ -64,15 +86,2 @@ { key: "correlationId" }, { key: "creditsCharged" }, { key: "balance", nested: "operationCreditBalance" },

operationCreditBalance: DTO_FIELDS.operationCreditBalance.map((key) => ({ key })),
evidenceAnswer: [
{ key: "status" }, { key: "text" }, { key: "citations", items: "evidenceCitation" }, { key: "limitations" },
],
evidenceResult: [
{ key: "rank" }, { key: "title" }, { key: "snippet" },
{ key: "evidence", items: "evidenceCitation" }, { key: "authority" }, { key: "supportStatus" },
{ key: "enclosingContext", nested: "evidenceEnclosingContext" },
],
evidenceCitation: DTO_FIELDS.evidenceCitation.map((key) => ({ key })),
evidenceEnclosingContext: [
{ key: "sessionLabel" }, { key: "sessionDate" }, { key: "window", items: "evidenceWindowMember" }, { key: "synthesis" },
],
evidenceWindowMember: DTO_FIELDS.evidenceWindowMember.map((key) => ({ key })),
ingestJob: [

@@ -110,12 +119,2 @@ { key: "id" }, { key: "sourceId" }, { key: "kind" }, { key: "status" }, { key: "request", nested: "ingestJobRequest" },

claimDeleteReceipt: DTO_FIELDS.claimDeleteReceipt.map((key) => ({ key })),
memoryContext: [
{ key: "status" }, { key: "placement" }, { key: "context" }, { key: "messages", items: "contextMessage" },
{ key: "blocks", items: "contextBlock" }, { key: "citations", items: "claimCitation" },
{ key: "conflicts" }, { key: "warnings" },
],
contextBlock: [
{ key: "authority" }, { key: "state" }, { key: "text" }, { key: "support_status" },
{ key: "citations", items: "claimCitation" },
],
contextMessage: DTO_FIELDS.contextMessage.map((key) => ({ key })),
messagesCreateReceipt: [

@@ -161,6 +160,13 @@ { key: "event_id" }, { key: "status" }, { key: "results", items: "claimRef" },

const REQUIRED_FIELDS = {
evidenceQueryResult: ["schemaVersion", "generatedAt", "query", "answer", "results", "warnings"],
evidenceAnswer: ["status", "text", "citations", "limitations"],
evidenceResult: ["rank", "title", "snippet", "evidence"],
evidenceCitation: ["citationId", "excerpt", "sourceLabel"],
queryResult: DTO_FIELDS.queryResult,
queryAnswer: DTO_FIELDS.queryAnswer,
queryProposition: DTO_FIELDS.queryProposition,
queryEvidence: ["citationHandle", "text", "sourceLabel"],
queryContext: DTO_FIELDS.queryContext,
queryContextFragment: ["kind", "text", "citable", "promptEligible"],
queryCitation: ["citationHandle", "displayOrdinal", "excerpt", "sourceLabel"],
queryGap: DTO_FIELDS.queryGap,
queryConflict: DTO_FIELDS.queryConflict,
queryOperation: ["id", "state", "creditsCharged", "usage"],
queryOperationUsage: DTO_FIELDS.queryOperationUsage,
ingestJob: ["id", "kind", "status", "createdAt"],

@@ -177,5 +183,2 @@ ingestJobRequest: ["source"],

claimDeleteReceipt: DTO_FIELDS.claimDeleteReceipt,
memoryContext: DTO_FIELDS.memoryContext,
contextBlock: DTO_FIELDS.contextBlock,
contextMessage: DTO_FIELDS.contextMessage,
messagesCreateReceipt: DTO_FIELDS.messagesCreateReceipt,

@@ -204,2 +207,3 @@ claimRef: DTO_FIELDS.claimRef,

const NULLABLE_FIELDS = {
queryResult: ["answer", "context"],
ingestJob: ["result", "failure", "completedAt"],

@@ -216,5 +220,17 @@ currentAccessCredential: ["expiresAt"],

const LITERAL_RULES = {
evidenceQueryResult: { schemaVersion: ["marrow-evidence-query-v2"] },
evidenceAnswer: { status: ["partial", "insufficient_evidence"] },
evidenceCitation: { support: ["quotation", "compression", "inference"] },
queryResult: {
schemaVersion: ["marrow-query-result-v1"],
presetContractVersion: ["marrow-query-presets-v1"],
requestedPreset: ["efficient", "accuracy"],
resolvedPreset: ["efficient", "accuracy"],
mode: ["evidence", "context", "answer"],
coverage: ["complete", "partial", "unknown", "not_applicable"],
execution: ["ready", "degraded", "provider_required", "preparing"],
stopReason: ["complete", "evidence_exhausted", "budget_exhausted", "deadline", "provider_unavailable", "preparing", "owner_review_required", "failed"],
},
queryAnswer: { disposition: ["answered", "partial", "insufficient_evidence", "conflicted", "withheld"] },
queryProposition: { support: ["quotation", "compression", "inference"] },
queryEvidence: { support: ["quotation", "compression", "inference"] },
queryContextFragment: { kind: ["evidence", "message", "representation", "generated_context"] },
queryCitation: { support: ["quotation", "compression", "inference"] },
ingestJob: {

@@ -234,3 +250,2 @@ kind: ["url", "file", "source_deletion"],

},
memoryContext: { status: ["ready", "partial", "insufficient_evidence", "conflicted", "withheld"] },
messagesCreateReceipt: { status: ["processing"] },

@@ -243,10 +258,15 @@ eventStatus: { status: ["queued", "running", "succeeded", "failed", "quarantined"] },

const SCALAR_RULES = {
evidenceQueryResult: { schemaVersion: "string", generatedAt: "string", query: "string", persona: "string", warnings: "strings" },
queryResult: { schemaVersion: "string", presetContractVersion: "string", requestedPreset: "string", resolvedPreset: "string", generatedAt: "string", query: "string", mode: "string", coverage: "string", execution: "string", stopReason: "string", limitations: "strings" },
queryAnswer: { disposition: "string", text: "string" },
queryProposition: { text: "string", support: "string", citationHandles: "strings" },
queryEvidence: { citationHandle: "string", text: "string", sourceLabel: "string", support: "string", authority: "string" },
queryContext: { text: "string", tokenEstimate: "integer" },
queryContextFragment: { kind: "string", text: "string", citable: "boolean", promptEligible: "boolean", sourceLabel: "string" },
queryCitation: { citationHandle: "string", displayOrdinal: "integer", excerpt: "string", sourceLabel: "string", support: "string", charOffsetStart: "integer", charOffsetEnd: "integer" },
queryGap: { code: "string", description: "string", required: "boolean" },
queryConflict: { code: "string", description: "string", citationHandles: "strings" },
queryOperation: { id: "string", state: "string", creditsCharged: "integer" },
queryOperationUsage: { elapsedMs: "number", contextCharacters: "integer", inputTokens: "integer", outputTokens: "integer", totalTokens: "integer", providerCalls: "integer" },
operationCharge: { correlationId: "string", creditsCharged: "integer" },
operationCreditBalance: { totalCreditsRemaining: "integer", monthlyCreditsRemaining: "integer", onboardingCreditsRemaining: "integer" },
evidenceAnswer: { status: "string", text: "string", limitations: "strings" },
evidenceResult: { rank: "integer", title: "string", snippet: "string", authority: "string", supportStatus: "string" },
evidenceCitation: { citationId: "integer", excerpt: "string", sourceLabel: "string", support: "string", charOffsetStart: "integer", charOffsetEnd: "integer" },
evidenceEnclosingContext: { sessionLabel: "string", sessionDate: "string", synthesis: "string" },
evidenceWindowMember: { excerpt: "string", charOffsetStart: "integer", charOffsetEnd: "integer" },
ingestJob: { id: "string", sourceId: "string", kind: "string", status: "string", attempts: "integer", maxAttempts: "integer", completedAt: "nullable-string", createdAt: "string", updatedAt: "string" },

@@ -266,5 +286,2 @@ ingestJobRequestSource: { kind: "string", url: "string", filename: "string", contentType: "string", datedAt: "string", bytes: "integer" },

claimDeleteReceipt: { id: "string", invalid_at: "string", expired_at: "string" },
memoryContext: { status: "string", placement: "string", context: "string", conflicts: "strings", warnings: "strings" },
contextBlock: { authority: "string", state: "string", text: "string", support_status: "string" },
contextMessage: { role: "string", content: "string" },
messagesCreateReceipt: { event_id: "string", status: "string", authority: "string", eligibility: "string" },

@@ -333,3 +350,2 @@ claimRef: { id: "string" },

validateLiteralFields(id, output);
validateDependentFields(id, output);
return output;

@@ -346,9 +362,11 @@ }

? found === null || typeof found === "string"
: rule === "integer"
? typeof found === "number" && Number.isSafeInteger(found)
: rule === "boolean"
? typeof found === "boolean"
: rule === "strings"
? Array.isArray(found) && found.every((item) => typeof item === "string")
: found === null || (Array.isArray(found) && found.every((item) => typeof item === "string"));
: rule === "number"
? typeof found === "number" && Number.isFinite(found)
: rule === "integer"
? typeof found === "number" && Number.isSafeInteger(found)
: rule === "boolean"
? typeof found === "boolean"
: rule === "strings"
? Array.isArray(found) && found.every((item) => typeof item === "string")
: found === null || (Array.isArray(found) && found.every((item) => typeof item === "string"));
if (!valid)

@@ -367,17 +385,2 @@ throw new MarrowResponseError(`${id}.${field} has an invalid public value`);

}
function validateDependentFields(id, value) {
if (id !== "evidenceCitation")
return;
if (value.citationId < 1) {
throw new MarrowResponseError("evidenceCitation.citationId must be at least 1");
}
const hasStart = Object.hasOwn(value, "charOffsetStart");
const hasEnd = Object.hasOwn(value, "charOffsetEnd");
if (hasStart !== hasEnd) {
throw new MarrowResponseError("evidenceCitation.charOffsetStart and charOffsetEnd must be provided together");
}
if (hasStart && (value.charOffsetStart < 0 || value.charOffsetEnd < 0)) {
throw new MarrowResponseError("evidenceCitation character offsets must be at least 0");
}
}
function requireString(value, field, owner) {

@@ -404,15 +407,30 @@ const found = value[field];

export function projectQueryResult(value) {
const result = projectDto("evidenceQueryResult", value);
if (result.schemaVersion !== "marrow-evidence-query-v2") {
throw new MarrowResponseError("query response must use marrow-evidence-query-v2");
const projected = projectDto("queryResult", value);
const mode = projected.mode;
if (mode === "answer"
&& projected.answer === null
&& projected.execution !== "provider_required"
&& projected.execution !== "degraded"
&& projected.execution !== "preparing") {
throw new MarrowResponseError("ready answer-mode query response must include an answer");
}
requireString(result, "generatedAt", "query response");
requireString(result, "query", "query response");
const answer = result.answer;
if (answer.status !== "partial" && answer.status !== "insufficient_evidence") {
throw new MarrowResponseError("query response answer.status must be partial or insufficient_evidence");
if (mode !== "answer" && projected.answer !== null) {
throw new MarrowResponseError("non-answer query response must not include an answer");
}
if (typeof answer.text !== "string")
throw new MarrowResponseError("query response answer.text must be a string");
return result;
if ((mode === "context" || mode === "answer") && !isRecord(projected.context)) {
throw new MarrowResponseError("context and answer query responses must include context");
}
if (mode === "evidence" && projected.context !== null) {
throw new MarrowResponseError("evidence query response must not include context");
}
const contextRecord = isRecord(projected.context) ? projected.context : null;
const contextText = contextRecord && typeof contextRecord.text === "string" ? contextRecord.text : "";
const context = contextRecord
? {
...contextRecord,
toOpenAI: () => [{ role: "system", content: contextText }],
toAnthropic: () => ({ system: contextText }),
}
: null;
return { ...projected, context };
}

@@ -473,10 +491,2 @@ export function projectIngestSubmission(value) {

}
export function assertContext(value) {
if (!["ready", "partial", "insufficient_evidence", "conflicted", "withheld"].includes(String(value.status))) {
throw new MarrowResponseError("memoryContext.status is invalid");
}
requireString(value, "placement", "memoryContext");
if (typeof value.context !== "string")
throw new MarrowResponseError("memoryContext.context must be a string");
}
//# sourceMappingURL=projection.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"projection.js","sources":["marrow-sdk:///src/projection.ts"],"names":[],"mappings":"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","sourcesContent":["import { MarrowResponseError } from \"./errors.js\";\nimport type {\n IngestJobListResponse,\n IngestJobResponse,\n IngestPlanResponse,\n JobStatus,\n QueryResult,\n} from \"./types.js\";\n\ninterface FieldDescriptor {\n readonly key: string;\n readonly nested?: string;\n readonly items?: string;\n}\n\nconst DTO_FIELDS = {\n evidenceQueryResult: [\"schemaVersion\", \"generatedAt\", \"query\", \"answer\", \"results\", \"persona\", \"warnings\", \"operation\"],\n operationCharge: [\"correlationId\", \"creditsCharged\", \"balance\"],\n operationCreditBalance: [\"totalCreditsRemaining\", \"monthlyCreditsRemaining\", \"onboardingCreditsRemaining\"],\n evidenceAnswer: [\"status\", \"text\", \"citations\", \"limitations\"],\n evidenceResult: [\"rank\", \"title\", \"snippet\", \"evidence\", \"authority\", \"supportStatus\", \"enclosingContext\"],\n evidenceCitation: [\"citationId\", \"excerpt\", \"sourceLabel\", \"support\", \"charOffsetStart\", \"charOffsetEnd\"],\n evidenceEnclosingContext: [\"sessionLabel\", \"sessionDate\", \"window\", \"synthesis\"],\n evidenceWindowMember: [\"excerpt\", \"charOffsetStart\", \"charOffsetEnd\"],\n ingestJob: [\"id\", \"sourceId\", \"kind\", \"status\", \"request\", \"result\", \"failure\", \"attempts\", \"maxAttempts\", \"completedAt\", \"createdAt\", \"updatedAt\", \"operation\"],\n ingestJobRequest: [\"source\"],\n ingestJobRequestSource: [\"kind\", \"url\", \"filename\", \"contentType\", \"datedAt\", \"bytes\"],\n ingestJobResult: [\"mode\", \"records\", \"warnings\", \"source\", \"review\"],\n ingestJobFailure: [\"code\", \"category\", \"stage\", \"message\", \"requestId\", \"retryable\", \"failedAt\", \"metric\", \"limit\", \"estimate\", \"unit\", \"limitWindow\", \"creditsRemaining\", \"resetAt\", \"nextAction\"],\n ingestPlan: [\"dryRun\", \"status\", \"planId\", \"expiresAt\", \"consumed\", \"estimatedCredits\", \"committable\", \"commitRequires\", \"fileType\", \"source\", \"records\", \"sourcePreviews\", \"review\", \"warnings\", \"nextAction\"],\n ingestSource: [\"kind\", \"path\", \"bytes\", \"pages\", \"lines\", \"url\", \"title\", \"contentType\", \"datedAt\"],\n ingestSourcePreview: [\"title\", \"wordCount\", \"textPreview\"],\n ingestReview: [\"status\", \"warnings\"],\n ingestRecordSummary: [\"total\", \"sourceExcerpts\", \"facts\", \"links\"],\n claim: [\"id\", \"content\", \"peer_id\", \"agent_id\", \"session_id\", \"authority\", \"state\", \"eligibility\", \"support_status\", \"valid_at\", \"invalid_at\", \"created_at\", \"updated_at\", \"head_revision\", \"metadata\", \"categories\", \"citations\"],\n claimCitation: [\"excerpt\", \"source_label\", \"char_offset_start\", \"char_offset_end\"],\n claimHistoryEntry: [\"id\", \"event\", \"prior_claim\", \"successor_claim\", \"valid_at\", \"invalid_at\", \"created_at\", \"deterministic\"],\n claimUpdateResult: [\"id\", \"content\", \"event\", \"message\", \"valid_at\", \"invalid_at\", \"deterministic\", \"authority\", \"state\", \"eligibility\", \"head_revision\"],\n claimDeleteReceipt: [\"id\", \"invalid_at\", \"expired_at\"],\n memoryContext: [\"status\", \"placement\", \"context\", \"messages\", \"blocks\", \"citations\", \"conflicts\", \"warnings\"],\n contextBlock: [\"authority\", \"state\", \"text\", \"support_status\", \"citations\"],\n contextMessage: [\"role\", \"content\"],\n messagesCreateReceipt: [\"event_id\", \"status\", \"results\", \"authority\", \"eligibility\"],\n claimRef: [\"id\"],\n representationResponse: [\"peer_id\", \"generated_at\", \"count\", \"claims\"],\n eventStatus: [\"event_id\", \"status\"],\n queueStatus: [\"queued\", \"running\", \"succeeded\", \"failed\"],\n peer: [\"id\", \"metadata\", \"created_at\"],\n session: [\"id\", \"metadata\", \"peer_ids\", \"created_at\"],\n message: [\"role\", \"content\", \"peer_id\", \"created_at\"],\n workspace: [\"id\", \"created_at\"],\n memoryMetadata: [],\n Page_Claim: [\"items\", \"total\", \"page\", \"size\"],\n Page_Peer: [\"items\", \"total\", \"page\", \"size\"],\n Page_Session: [\"items\", \"total\", \"page\", \"size\"],\n Page_Message: [\"items\", \"total\", \"page\", \"size\"],\n Page_Workspace: [\"items\", \"total\", \"page\", \"size\"],\n currentAccess: [\"schemaVersion\", \"credential\", \"context\", \"quotas\", \"credits\"],\n currentAccessCredential: [\"id\", \"name\", \"type\", \"scopes\", \"expiresAt\"],\n currentAccessContext: [\"allowedWorkspaces\", \"allowedAudiences\", \"defaultWorkspace\", \"defaultAudience\"],\n accountUsageQuotas: [\"query\", \"ingest\"],\n accountUsageQuotaPair: [\"day\", \"month\"],\n accountUsageQuotaCounter: [\"period\", \"periodStart\", \"limit\", \"used\", \"remaining\", \"resetAt\"],\n accountCreditBalance: [\"monthlyPeriodStart\", \"monthlyCreditsGranted\", \"monthlyCreditsRemaining\", \"onboardingCreditsGranted\", \"onboardingCreditsRemaining\", \"totalCreditsGranted\", \"totalCreditsRemaining\", \"updatedAt\"],\n} as const;\n\nconst DESCRIPTORS: Readonly<Record<keyof typeof DTO_FIELDS, readonly FieldDescriptor[]>> = {\n evidenceQueryResult: [\n { key: \"schemaVersion\" }, { key: \"generatedAt\" }, { key: \"query\" },\n { key: \"answer\", nested: \"evidenceAnswer\" }, { key: \"results\", items: \"evidenceResult\" },\n { key: \"persona\" }, { key: \"warnings\" }, { key: \"operation\", nested: \"operationCharge\" },\n ],\n operationCharge: [\n { key: \"correlationId\" }, { key: \"creditsCharged\" }, { key: \"balance\", nested: \"operationCreditBalance\" },\n ],\n operationCreditBalance: DTO_FIELDS.operationCreditBalance.map((key) => ({ key })),\n evidenceAnswer: [\n { key: \"status\" }, { key: \"text\" }, { key: \"citations\", items: \"evidenceCitation\" }, { key: \"limitations\" },\n ],\n evidenceResult: [\n { key: \"rank\" }, { key: \"title\" }, { key: \"snippet\" },\n { key: \"evidence\", items: \"evidenceCitation\" }, { key: \"authority\" }, { key: \"supportStatus\" },\n { key: \"enclosingContext\", nested: \"evidenceEnclosingContext\" },\n ],\n evidenceCitation: DTO_FIELDS.evidenceCitation.map((key) => ({ key })),\n evidenceEnclosingContext: [\n { key: \"sessionLabel\" }, { key: \"sessionDate\" }, { key: \"window\", items: \"evidenceWindowMember\" }, { key: \"synthesis\" },\n ],\n evidenceWindowMember: DTO_FIELDS.evidenceWindowMember.map((key) => ({ key })),\n ingestJob: [\n { key: \"id\" }, { key: \"sourceId\" }, { key: \"kind\" }, { key: \"status\" }, { key: \"request\", nested: \"ingestJobRequest\" },\n { key: \"result\", nested: \"ingestJobResult\" }, { key: \"failure\", nested: \"ingestJobFailure\" },\n { key: \"attempts\" }, { key: \"maxAttempts\" }, { key: \"completedAt\" }, { key: \"createdAt\" }, { key: \"updatedAt\" },\n { key: \"operation\", nested: \"operationCharge\" },\n ],\n ingestJobRequest: [{ key: \"source\", nested: \"ingestJobRequestSource\" }],\n ingestJobRequestSource: DTO_FIELDS.ingestJobRequestSource.map((key) => ({ key })),\n ingestJobResult: [\n { key: \"mode\" }, { key: \"records\", nested: \"ingestRecordSummary\" }, { key: \"warnings\" },\n { key: \"source\", nested: \"ingestSource\" }, { key: \"review\", nested: \"ingestReview\" },\n ],\n ingestJobFailure: DTO_FIELDS.ingestJobFailure.map((key) => ({ key })),\n ingestPlan: [\n { key: \"dryRun\" }, { key: \"status\" }, { key: \"planId\" }, { key: \"expiresAt\" },\n { key: \"consumed\" }, { key: \"estimatedCredits\" }, { key: \"committable\" }, { key: \"commitRequires\" },\n { key: \"fileType\" }, { key: \"source\", nested: \"ingestSource\" },\n { key: \"records\", nested: \"ingestRecordSummary\" }, { key: \"sourcePreviews\", items: \"ingestSourcePreview\" },\n { key: \"review\", nested: \"ingestReview\" }, { key: \"warnings\" }, { key: \"nextAction\" },\n ],\n ingestSource: DTO_FIELDS.ingestSource.map((key) => ({ key })),\n ingestSourcePreview: DTO_FIELDS.ingestSourcePreview.map((key) => ({ key })),\n ingestReview: DTO_FIELDS.ingestReview.map((key) => ({ key })),\n ingestRecordSummary: DTO_FIELDS.ingestRecordSummary.map((key) => ({ key })),\n claim: [\n ...DTO_FIELDS.claim.slice(0, 14).map((key) => ({ key })),\n { key: \"metadata\", nested: \"memoryMetadata\" }, { key: \"categories\" }, { key: \"citations\", items: \"claimCitation\" },\n ],\n claimCitation: DTO_FIELDS.claimCitation.map((key) => ({ key })),\n claimHistoryEntry: DTO_FIELDS.claimHistoryEntry.map((key) => ({ key })),\n claimUpdateResult: DTO_FIELDS.claimUpdateResult.map((key) => ({ key })),\n claimDeleteReceipt: DTO_FIELDS.claimDeleteReceipt.map((key) => ({ key })),\n memoryContext: [\n { key: \"status\" }, { key: \"placement\" }, { key: \"context\" }, { key: \"messages\", items: \"contextMessage\" },\n { key: \"blocks\", items: \"contextBlock\" }, { key: \"citations\", items: \"claimCitation\" },\n { key: \"conflicts\" }, { key: \"warnings\" },\n ],\n contextBlock: [\n { key: \"authority\" }, { key: \"state\" }, { key: \"text\" }, { key: \"support_status\" },\n { key: \"citations\", items: \"claimCitation\" },\n ],\n contextMessage: DTO_FIELDS.contextMessage.map((key) => ({ key })),\n messagesCreateReceipt: [\n { key: \"event_id\" }, { key: \"status\" }, { key: \"results\", items: \"claimRef\" },\n { key: \"authority\" }, { key: \"eligibility\" },\n ],\n claimRef: DTO_FIELDS.claimRef.map((key) => ({ key })),\n representationResponse: [\n { key: \"peer_id\" }, { key: \"generated_at\" }, { key: \"count\" }, { key: \"claims\", items: \"claim\" },\n ],\n eventStatus: DTO_FIELDS.eventStatus.map((key) => ({ key })),\n queueStatus: DTO_FIELDS.queueStatus.map((key) => ({ key })),\n peer: [{ key: \"id\" }, { key: \"metadata\", nested: \"memoryMetadata\" }, { key: \"created_at\" }],\n session: [{ key: \"id\" }, { key: \"metadata\", nested: \"memoryMetadata\" }, { key: \"peer_ids\" }, { key: \"created_at\" }],\n message: DTO_FIELDS.message.map((key) => ({ key })),\n workspace: DTO_FIELDS.workspace.map((key) => ({ key })),\n memoryMetadata: [],\n Page_Claim: [{ key: \"items\", items: \"claim\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n Page_Peer: [{ key: \"items\", items: \"peer\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n Page_Session: [{ key: \"items\", items: \"session\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n Page_Message: [{ key: \"items\", items: \"message\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n Page_Workspace: [{ key: \"items\", items: \"workspace\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n currentAccess: [\n { key: \"schemaVersion\" }, { key: \"credential\", nested: \"currentAccessCredential\" },\n { key: \"context\", nested: \"currentAccessContext\" }, { key: \"quotas\", nested: \"accountUsageQuotas\" },\n { key: \"credits\", nested: \"accountCreditBalance\" },\n ],\n currentAccessCredential: DTO_FIELDS.currentAccessCredential.map((key) => ({ key })),\n currentAccessContext: DTO_FIELDS.currentAccessContext.map((key) => ({ key })),\n accountUsageQuotas: [{ key: \"query\", nested: \"accountUsageQuotaPair\" }, { key: \"ingest\", nested: \"accountUsageQuotaPair\" }],\n accountUsageQuotaPair: [{ key: \"day\", nested: \"accountUsageQuotaCounter\" }, { key: \"month\", nested: \"accountUsageQuotaCounter\" }],\n accountUsageQuotaCounter: DTO_FIELDS.accountUsageQuotaCounter.map((key) => ({ key })),\n accountCreditBalance: DTO_FIELDS.accountCreditBalance.map((key) => ({ key })),\n};\n\nexport const SDK_RESPONSE_FIELDS = Object.freeze(Object.fromEntries(\n Object.entries(DESCRIPTORS).map(([id, fields]) => [id, Object.freeze(fields.map((field) => field.key))]),\n)) as Readonly<Record<keyof typeof DTO_FIELDS, readonly string[]>>;\n\nfor (const id of Object.keys(DTO_FIELDS) as Array<keyof typeof DTO_FIELDS>) {\n if (DTO_FIELDS[id].length !== SDK_RESPONSE_FIELDS[id].length\n || DTO_FIELDS[id].some((field, index) => SDK_RESPONSE_FIELDS[id][index] !== field)) {\n throw new Error(`TypeScript SDK response projection descriptor drift for ${id}`);\n }\n}\n\nconst REQUIRED_FIELDS: Readonly<Partial<Record<keyof typeof DTO_FIELDS, readonly string[]>>> = {\n evidenceQueryResult: [\"schemaVersion\", \"generatedAt\", \"query\", \"answer\", \"results\", \"warnings\"],\n evidenceAnswer: [\"status\", \"text\", \"citations\", \"limitations\"],\n evidenceResult: [\"rank\", \"title\", \"snippet\", \"evidence\"],\n evidenceCitation: [\"citationId\", \"excerpt\", \"sourceLabel\"],\n ingestJob: [\"id\", \"kind\", \"status\", \"createdAt\"],\n ingestJobRequest: [\"source\"],\n ingestJobResult: [\"mode\"],\n ingestJobFailure: DTO_FIELDS.ingestJobFailure,\n ingestPlan: [\"dryRun\", \"status\", \"source\", \"records\", \"review\", \"warnings\", \"nextAction\"],\n ingestSourcePreview: [\"wordCount\"],\n claim: [\"id\", \"content\", \"peer_id\", \"agent_id\", \"session_id\", \"authority\", \"state\", \"eligibility\", \"support_status\", \"valid_at\", \"invalid_at\", \"created_at\", \"updated_at\", \"head_revision\", \"categories\", \"citations\"],\n claimCitation: [\"excerpt\", \"source_label\", \"char_offset_start\", \"char_offset_end\"],\n claimHistoryEntry: [\"id\", \"event\", \"prior_claim\", \"successor_claim\", \"valid_at\", \"invalid_at\", \"created_at\", \"deterministic\"],\n claimUpdateResult: DTO_FIELDS.claimUpdateResult,\n claimDeleteReceipt: DTO_FIELDS.claimDeleteReceipt,\n memoryContext: DTO_FIELDS.memoryContext,\n contextBlock: DTO_FIELDS.contextBlock,\n contextMessage: DTO_FIELDS.contextMessage,\n messagesCreateReceipt: DTO_FIELDS.messagesCreateReceipt,\n claimRef: DTO_FIELDS.claimRef,\n representationResponse: DTO_FIELDS.representationResponse,\n eventStatus: DTO_FIELDS.eventStatus,\n queueStatus: DTO_FIELDS.queueStatus,\n peer: DTO_FIELDS.peer,\n session: DTO_FIELDS.session,\n message: DTO_FIELDS.message,\n workspace: DTO_FIELDS.workspace,\n Page_Claim: DTO_FIELDS.Page_Claim,\n Page_Peer: DTO_FIELDS.Page_Peer,\n Page_Session: DTO_FIELDS.Page_Session,\n Page_Message: DTO_FIELDS.Page_Message,\n Page_Workspace: DTO_FIELDS.Page_Workspace,\n currentAccess: DTO_FIELDS.currentAccess,\n currentAccessCredential: DTO_FIELDS.currentAccessCredential,\n currentAccessContext: DTO_FIELDS.currentAccessContext,\n accountUsageQuotas: DTO_FIELDS.accountUsageQuotas,\n accountUsageQuotaPair: DTO_FIELDS.accountUsageQuotaPair,\n accountUsageQuotaCounter: DTO_FIELDS.accountUsageQuotaCounter,\n accountCreditBalance: DTO_FIELDS.accountCreditBalance,\n};\n\nconst NULLABLE_FIELDS: Readonly<Partial<Record<keyof typeof DTO_FIELDS, readonly string[]>>> = {\n ingestJob: [\"result\", \"failure\", \"completedAt\"],\n currentAccessCredential: [\"expiresAt\"],\n claim: [\"peer_id\", \"agent_id\", \"session_id\", \"valid_at\", \"invalid_at\", \"created_at\", \"updated_at\"],\n claimHistoryEntry: [\"prior_claim\", \"successor_claim\", \"valid_at\", \"invalid_at\", \"created_at\"],\n claimUpdateResult: [\"invalid_at\"],\n peer: [\"created_at\"],\n session: [\"peer_ids\", \"created_at\"],\n message: [\"peer_id\", \"created_at\"],\n workspace: [\"created_at\"],\n};\n\nconst LITERAL_RULES: Readonly<Partial<Record<keyof typeof DTO_FIELDS, Readonly<Record<string, readonly (string | boolean)[]>>>>> = {\n evidenceQueryResult: { schemaVersion: [\"marrow-evidence-query-v2\"] },\n evidenceAnswer: { status: [\"partial\", \"insufficient_evidence\"] },\n evidenceCitation: { support: [\"quotation\", \"compression\", \"inference\"] },\n ingestJob: {\n kind: [\"url\", \"file\", \"source_deletion\"],\n status: [\"queued\", \"running\", \"succeeded\", \"failed\", \"quarantined\"],\n },\n ingestJobResult: { mode: [\"completed\", \"review_required\", \"unknown\"] },\n ingestPlan: { dryRun: [true], status: [\"preview_ready\"] },\n ingestReview: { status: [\"ready\", \"not_recommended\", \"needs_review\"] },\n claimHistoryEntry: { event: [\"ADD\", \"UPDATE\", \"DELETE\"] },\n claimUpdateResult: {\n event: [\"UPDATE\"],\n authority: [\"correction_memory\"],\n state: [\"current\"],\n eligibility: [\"eligible\"],\n },\n memoryContext: { status: [\"ready\", \"partial\", \"insufficient_evidence\", \"conflicted\", \"withheld\"] },\n messagesCreateReceipt: { status: [\"processing\"] },\n eventStatus: { status: [\"queued\", \"running\", \"succeeded\", \"failed\", \"quarantined\"] },\n message: { role: [\"user\", \"assistant\", \"system\", \"tool\"] },\n currentAccess: { schemaVersion: [\"marrow-access-v1\"] },\n currentAccessCredential: { type: [\"customer_api_key\"] },\n};\n\ntype ScalarRule = \"string\" | \"nullable-string\" | \"integer\" | \"boolean\" | \"strings\" | \"nullable-strings\";\n\nconst SCALAR_RULES: Readonly<Partial<Record<keyof typeof DTO_FIELDS, Readonly<Record<string, ScalarRule>>>>> = {\n evidenceQueryResult: { schemaVersion: \"string\", generatedAt: \"string\", query: \"string\", persona: \"string\", warnings: \"strings\" },\n operationCharge: { correlationId: \"string\", creditsCharged: \"integer\" },\n operationCreditBalance: { totalCreditsRemaining: \"integer\", monthlyCreditsRemaining: \"integer\", onboardingCreditsRemaining: \"integer\" },\n evidenceAnswer: { status: \"string\", text: \"string\", limitations: \"strings\" },\n evidenceResult: { rank: \"integer\", title: \"string\", snippet: \"string\", authority: \"string\", supportStatus: \"string\" },\n evidenceCitation: { citationId: \"integer\", excerpt: \"string\", sourceLabel: \"string\", support: \"string\", charOffsetStart: \"integer\", charOffsetEnd: \"integer\" },\n evidenceEnclosingContext: { sessionLabel: \"string\", sessionDate: \"string\", synthesis: \"string\" },\n evidenceWindowMember: { excerpt: \"string\", charOffsetStart: \"integer\", charOffsetEnd: \"integer\" },\n ingestJob: { id: \"string\", sourceId: \"string\", kind: \"string\", status: \"string\", attempts: \"integer\", maxAttempts: \"integer\", completedAt: \"nullable-string\", createdAt: \"string\", updatedAt: \"string\" },\n ingestJobRequestSource: { kind: \"string\", url: \"string\", filename: \"string\", contentType: \"string\", datedAt: \"string\", bytes: \"integer\" },\n ingestJobResult: { mode: \"string\", warnings: \"strings\" },\n ingestJobFailure: { code: \"string\", category: \"string\", stage: \"string\", message: \"string\", requestId: \"string\", retryable: \"boolean\", failedAt: \"string\", metric: \"string\", limit: \"integer\", estimate: \"integer\", unit: \"string\", limitWindow: \"string\", creditsRemaining: \"integer\", resetAt: \"nullable-string\", nextAction: \"string\" },\n ingestPlan: { dryRun: \"boolean\", status: \"string\", planId: \"string\", expiresAt: \"string\", consumed: \"boolean\", estimatedCredits: \"integer\", fileType: \"string\", warnings: \"strings\", nextAction: \"string\" },\n ingestSource: { kind: \"string\", path: \"string\", bytes: \"integer\", pages: \"integer\", lines: \"integer\", url: \"string\", title: \"string\", contentType: \"string\", datedAt: \"string\" },\n ingestSourcePreview: { title: \"string\", wordCount: \"integer\", textPreview: \"string\" },\n ingestReview: { status: \"string\", warnings: \"strings\" },\n ingestRecordSummary: { total: \"integer\", sourceExcerpts: \"integer\", facts: \"integer\", links: \"integer\" },\n claim: { id: \"string\", content: \"string\", peer_id: \"nullable-string\", agent_id: \"nullable-string\", session_id: \"nullable-string\", authority: \"string\", state: \"string\", eligibility: \"string\", support_status: \"string\", valid_at: \"nullable-string\", invalid_at: \"nullable-string\", created_at: \"nullable-string\", updated_at: \"nullable-string\", head_revision: \"string\", categories: \"strings\" },\n claimCitation: { excerpt: \"string\", source_label: \"string\", char_offset_start: \"integer\", char_offset_end: \"integer\" },\n claimHistoryEntry: { id: \"string\", event: \"string\", prior_claim: \"nullable-string\", successor_claim: \"nullable-string\", valid_at: \"nullable-string\", invalid_at: \"nullable-string\", created_at: \"nullable-string\", deterministic: \"boolean\" },\n claimUpdateResult: { id: \"string\", content: \"string\", event: \"string\", message: \"string\", valid_at: \"string\", invalid_at: \"nullable-string\", deterministic: \"boolean\", authority: \"string\", state: \"string\", eligibility: \"string\", head_revision: \"string\" },\n claimDeleteReceipt: { id: \"string\", invalid_at: \"string\", expired_at: \"string\" },\n memoryContext: { status: \"string\", placement: \"string\", context: \"string\", conflicts: \"strings\", warnings: \"strings\" },\n contextBlock: { authority: \"string\", state: \"string\", text: \"string\", support_status: \"string\" },\n contextMessage: { role: \"string\", content: \"string\" },\n messagesCreateReceipt: { event_id: \"string\", status: \"string\", authority: \"string\", eligibility: \"string\" },\n claimRef: { id: \"string\" },\n representationResponse: { peer_id: \"string\", generated_at: \"string\", count: \"integer\" },\n eventStatus: { event_id: \"string\", status: \"string\" },\n queueStatus: { queued: \"integer\", running: \"integer\", succeeded: \"integer\", failed: \"integer\" },\n peer: { id: \"string\", created_at: \"nullable-string\" },\n session: { id: \"string\", peer_ids: \"nullable-strings\", created_at: \"nullable-string\" },\n message: { role: \"string\", content: \"string\", peer_id: \"nullable-string\", created_at: \"nullable-string\" },\n workspace: { id: \"string\", created_at: \"nullable-string\" },\n Page_Claim: { total: \"integer\", page: \"integer\", size: \"integer\" },\n Page_Peer: { total: \"integer\", page: \"integer\", size: \"integer\" },\n Page_Session: { total: \"integer\", page: \"integer\", size: \"integer\" },\n Page_Message: { total: \"integer\", page: \"integer\", size: \"integer\" },\n Page_Workspace: { total: \"integer\", page: \"integer\", size: \"integer\" },\n currentAccess: { schemaVersion: \"string\" },\n currentAccessCredential: { id: \"string\", name: \"string\", type: \"string\", scopes: \"strings\", expiresAt: \"nullable-string\" },\n currentAccessContext: { allowedWorkspaces: \"strings\", allowedAudiences: \"strings\", defaultWorkspace: \"string\", defaultAudience: \"string\" },\n accountUsageQuotaCounter: { period: \"string\", periodStart: \"string\", limit: \"integer\", used: \"integer\", remaining: \"integer\", resetAt: \"string\" },\n accountCreditBalance: { monthlyPeriodStart: \"string\", monthlyCreditsGranted: \"integer\", monthlyCreditsRemaining: \"integer\", onboardingCreditsGranted: \"integer\", onboardingCreditsRemaining: \"integer\", totalCreditsGranted: \"integer\", totalCreditsRemaining: \"integer\", updatedAt: \"string\" },\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction projectLeaf(value: unknown, path: string): unknown {\n if (value === null || [\"string\", \"number\", \"boolean\"].includes(typeof value)) return value;\n if (Array.isArray(value)) {\n return value.map((item, index) => projectLeaf(item, `${path}[${index}]`));\n }\n throw new MarrowResponseError(`${path} must contain only public scalar values`);\n}\n\nexport function projectDto(id: keyof typeof DTO_FIELDS, value: unknown): Record<string, unknown> {\n if (!isRecord(value)) throw new MarrowResponseError(`${id} response must be an object`);\n const output: Record<string, unknown> = {};\n for (const field of DESCRIPTORS[id]) {\n if (!Object.hasOwn(value, field.key)) continue;\n const fieldValue = value[field.key];\n if (fieldValue === null) {\n if (!(NULLABLE_FIELDS[id] ?? []).includes(field.key)) {\n throw new MarrowResponseError(`${id}.${field.key} cannot be null`);\n }\n output[field.key] = null;\n } else if (field.nested !== undefined) {\n output[field.key] = projectDto(field.nested as keyof typeof DTO_FIELDS, fieldValue);\n } else if (field.items !== undefined) {\n if (!Array.isArray(fieldValue)) throw new MarrowResponseError(`${id}.${field.key} must be an array`);\n output[field.key] = fieldValue.map((item) => projectDto(field.items as keyof typeof DTO_FIELDS, item));\n } else {\n output[field.key] = projectLeaf(fieldValue, `${id}.${field.key}`);\n }\n }\n for (const field of REQUIRED_FIELDS[id] ?? []) {\n if (!Object.hasOwn(output, field)) throw new MarrowResponseError(`${id}.${field} is required`);\n }\n validateScalarFields(id, output);\n validateLiteralFields(id, output);\n validateDependentFields(id, output);\n return output;\n}\n\nfunction validateScalarFields(id: keyof typeof DTO_FIELDS, value: Record<string, unknown>): void {\n for (const [field, rule] of Object.entries(SCALAR_RULES[id] ?? {})) {\n if (!Object.hasOwn(value, field)) continue;\n const found = value[field];\n const valid = rule === \"string\"\n ? typeof found === \"string\"\n : rule === \"nullable-string\"\n ? found === null || typeof found === \"string\"\n : rule === \"integer\"\n ? typeof found === \"number\" && Number.isSafeInteger(found)\n : rule === \"boolean\"\n ? typeof found === \"boolean\"\n : rule === \"strings\"\n ? Array.isArray(found) && found.every((item) => typeof item === \"string\")\n : found === null || (Array.isArray(found) && found.every((item) => typeof item === \"string\"));\n if (!valid) throw new MarrowResponseError(`${id}.${field} has an invalid public value`);\n }\n}\n\nfunction validateLiteralFields(id: keyof typeof DTO_FIELDS, value: Record<string, unknown>): void {\n for (const [field, allowed] of Object.entries(LITERAL_RULES[id] ?? {})) {\n if (!Object.hasOwn(value, field)) continue;\n if (!allowed.includes(value[field] as string | boolean)) {\n throw new MarrowResponseError(`${id}.${field} has an invalid public literal`);\n }\n }\n}\n\nfunction validateDependentFields(id: keyof typeof DTO_FIELDS, value: Record<string, unknown>): void {\n if (id !== \"evidenceCitation\") return;\n if ((value.citationId as number) < 1) {\n throw new MarrowResponseError(\"evidenceCitation.citationId must be at least 1\");\n }\n const hasStart = Object.hasOwn(value, \"charOffsetStart\");\n const hasEnd = Object.hasOwn(value, \"charOffsetEnd\");\n if (hasStart !== hasEnd) {\n throw new MarrowResponseError(\"evidenceCitation.charOffsetStart and charOffsetEnd must be provided together\");\n }\n if (hasStart && ((value.charOffsetStart as number) < 0 || (value.charOffsetEnd as number) < 0)) {\n throw new MarrowResponseError(\"evidenceCitation character offsets must be at least 0\");\n }\n}\n\nfunction requireString(value: Record<string, unknown>, field: string, owner: string): string {\n const found = value[field];\n if (typeof found !== \"string\" || found.length === 0) throw new MarrowResponseError(`${owner}.${field} must be a non-empty string`);\n return found;\n}\n\nfunction requireNumber(value: Record<string, unknown>, field: string, owner: string): number {\n const found = value[field];\n if (typeof found !== \"number\" || !Number.isFinite(found)) throw new MarrowResponseError(`${owner}.${field} must be a number`);\n return found;\n}\n\nfunction projectPagination(value: unknown): Record<string, unknown> {\n if (!isRecord(value)) throw new MarrowResponseError(\"ingest pagination must be an object\");\n return {\n ...(typeof value.limit === \"number\" ? { limit: value.limit } : {}),\n ...(typeof value.nextCursor === \"string\" || value.nextCursor === null ? { nextCursor: value.nextCursor } : {}),\n };\n}\n\nexport function projectQueryResult(value: unknown): QueryResult {\n const result = projectDto(\"evidenceQueryResult\", value);\n if (result.schemaVersion !== \"marrow-evidence-query-v2\") {\n throw new MarrowResponseError(\"query response must use marrow-evidence-query-v2\");\n }\n requireString(result, \"generatedAt\", \"query response\");\n requireString(result, \"query\", \"query response\");\n const answer = result.answer as Record<string, unknown>;\n if (answer.status !== \"partial\" && answer.status !== \"insufficient_evidence\") {\n throw new MarrowResponseError(\"query response answer.status must be partial or insufficient_evidence\");\n }\n if (typeof answer.text !== \"string\") throw new MarrowResponseError(\"query response answer.text must be a string\");\n return result as unknown as QueryResult;\n}\n\nexport function projectIngestSubmission(value: unknown): IngestPlanResponse | IngestJobResponse {\n if (!isRecord(value)) throw new MarrowResponseError(\"ingest response must be an object\");\n if (value.schemaVersion === \"marrow-ingest-job-v1\") return projectIngestJobResponse(value);\n if (value.schemaVersion !== \"marrow-url-ingest-plan-v1\" && value.schemaVersion !== \"marrow-file-ingest-plan-v1\") {\n throw new MarrowResponseError(\"ingest response has an unsupported schemaVersion\");\n }\n if (value.mode !== \"dry-run\") throw new MarrowResponseError(\"ingest plan mode must be dry-run\");\n const plan = projectDto(\"ingestPlan\", value.plan);\n if (plan.dryRun !== true || plan.status !== \"preview_ready\") {\n throw new MarrowResponseError(\"ingest plan must be a preview_ready dry run\");\n }\n return {\n schemaVersion: value.schemaVersion,\n mode: \"dry-run\",\n plan,\n ...(Array.isArray(value.warnings) ? { warnings: projectLeaf(value.warnings, \"ingest.warnings\") } : {}),\n } as unknown as IngestPlanResponse;\n}\n\nconst JOB_STATUSES = new Set<JobStatus>([\"queued\", \"running\", \"succeeded\", \"failed\", \"quarantined\"]);\n\nexport function projectIngestJobResponse(value: unknown): IngestJobResponse {\n if (!isRecord(value) || value.schemaVersion !== \"marrow-ingest-job-v1\") {\n throw new MarrowResponseError(\"ingest job response must use marrow-ingest-job-v1\");\n }\n const job = projectDto(\"ingestJob\", value.job);\n requireString(job, \"id\", \"ingest job\");\n requireString(job, \"createdAt\", \"ingest job\");\n if (!JOB_STATUSES.has(job.status as JobStatus)) throw new MarrowResponseError(\"ingest job status is invalid\");\n return {\n schemaVersion: \"marrow-ingest-job-v1\",\n ...(value.mode === \"queued\" ? { mode: \"queued\" as const } : {}),\n ...(typeof value.created === \"boolean\" ? { created: value.created } : {}),\n job,\n } as unknown as IngestJobResponse;\n}\n\nexport function projectIngestJobList(value: unknown): IngestJobListResponse {\n if (!isRecord(value) || value.schemaVersion !== \"marrow-ingest-job-list-v1\" || !Array.isArray(value.jobs)) {\n throw new MarrowResponseError(\"ingest job list must use marrow-ingest-job-list-v1 and include jobs\");\n }\n return {\n schemaVersion: \"marrow-ingest-job-list-v1\",\n jobs: value.jobs.map((job) => projectIngestJobResponse({ schemaVersion: \"marrow-ingest-job-v1\", job }).job),\n pagination: projectPagination(value.pagination),\n };\n}\n\nexport function assertPage(value: Record<string, unknown>, owner: string): void {\n if (!Array.isArray(value.items)) throw new MarrowResponseError(`${owner}.items must be an array`);\n for (const field of [\"total\", \"page\", \"size\"]) requireNumber(value, field, owner);\n}\n\nexport function assertContext(value: Record<string, unknown>): void {\n if (![\"ready\", \"partial\", \"insufficient_evidence\", \"conflicted\", \"withheld\"].includes(String(value.status))) {\n throw new MarrowResponseError(\"memoryContext.status is invalid\");\n }\n requireString(value, \"placement\", \"memoryContext\");\n if (typeof value.context !== \"string\") throw new MarrowResponseError(\"memoryContext.context must be a string\");\n}\n"]}
{"version":3,"file":"projection.js","sources":["marrow-sdk:///src/projection.ts"],"names":[],"mappings":"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","sourcesContent":["import { MarrowResponseError } from \"./errors.js\";\nimport type {\n IngestJobListResponse,\n IngestJobResponse,\n IngestPlanResponse,\n JobStatus,\n QueryResult,\n} from \"./types.js\";\n\ninterface FieldDescriptor {\n readonly key: string;\n readonly nested?: string;\n readonly items?: string;\n}\n\nconst DTO_FIELDS = {\n queryResult: [\"schemaVersion\", \"presetContractVersion\", \"requestedPreset\", \"resolvedPreset\", \"generatedAt\", \"query\", \"mode\", \"coverage\", \"execution\", \"stopReason\", \"answer\", \"evidence\", \"context\", \"citations\", \"limitations\", \"gaps\", \"conflicts\", \"operation\"],\n queryAnswer: [\"disposition\", \"text\", \"propositions\"],\n queryProposition: [\"text\", \"support\", \"citationHandles\"],\n queryEvidence: [\"citationHandle\", \"text\", \"sourceLabel\", \"support\", \"authority\"],\n queryContext: [\"text\", \"tokenEstimate\", \"fragments\"],\n queryContextFragment: [\"kind\", \"text\", \"citable\", \"promptEligible\", \"sourceLabel\"],\n queryCitation: [\"citationHandle\", \"displayOrdinal\", \"excerpt\", \"sourceLabel\", \"support\", \"charOffsetStart\", \"charOffsetEnd\"],\n queryGap: [\"code\", \"description\", \"required\"],\n queryConflict: [\"code\", \"description\", \"citationHandles\"],\n queryOperation: [\"id\", \"state\", \"creditsCharged\", \"balance\", \"usage\"],\n queryOperationUsage: [\"elapsedMs\", \"contextCharacters\", \"inputTokens\", \"outputTokens\", \"totalTokens\", \"providerCalls\"],\n operationCharge: [\"correlationId\", \"creditsCharged\", \"balance\"],\n operationCreditBalance: [\"totalCreditsRemaining\", \"monthlyCreditsRemaining\", \"onboardingCreditsRemaining\"],\n ingestJob: [\"id\", \"sourceId\", \"kind\", \"status\", \"request\", \"result\", \"failure\", \"attempts\", \"maxAttempts\", \"completedAt\", \"createdAt\", \"updatedAt\", \"operation\"],\n ingestJobRequest: [\"source\"],\n ingestJobRequestSource: [\"kind\", \"url\", \"filename\", \"contentType\", \"datedAt\", \"bytes\"],\n ingestJobResult: [\"mode\", \"records\", \"warnings\", \"source\", \"review\"],\n ingestJobFailure: [\"code\", \"category\", \"stage\", \"message\", \"requestId\", \"retryable\", \"failedAt\", \"metric\", \"limit\", \"estimate\", \"unit\", \"limitWindow\", \"creditsRemaining\", \"resetAt\", \"nextAction\"],\n ingestPlan: [\"dryRun\", \"status\", \"planId\", \"expiresAt\", \"consumed\", \"estimatedCredits\", \"committable\", \"commitRequires\", \"fileType\", \"source\", \"records\", \"sourcePreviews\", \"review\", \"warnings\", \"nextAction\"],\n ingestSource: [\"kind\", \"path\", \"bytes\", \"pages\", \"lines\", \"url\", \"title\", \"contentType\", \"datedAt\"],\n ingestSourcePreview: [\"title\", \"wordCount\", \"textPreview\"],\n ingestReview: [\"status\", \"warnings\"],\n ingestRecordSummary: [\"total\", \"sourceExcerpts\", \"facts\", \"links\"],\n claim: [\"id\", \"content\", \"peer_id\", \"agent_id\", \"session_id\", \"authority\", \"state\", \"eligibility\", \"support_status\", \"valid_at\", \"invalid_at\", \"created_at\", \"updated_at\", \"head_revision\", \"metadata\", \"categories\", \"citations\"],\n claimCitation: [\"excerpt\", \"source_label\", \"char_offset_start\", \"char_offset_end\"],\n claimHistoryEntry: [\"id\", \"event\", \"prior_claim\", \"successor_claim\", \"valid_at\", \"invalid_at\", \"created_at\", \"deterministic\"],\n claimUpdateResult: [\"id\", \"content\", \"event\", \"message\", \"valid_at\", \"invalid_at\", \"deterministic\", \"authority\", \"state\", \"eligibility\", \"head_revision\"],\n claimDeleteReceipt: [\"id\", \"invalid_at\", \"expired_at\"],\n messagesCreateReceipt: [\"event_id\", \"status\", \"results\", \"authority\", \"eligibility\"],\n claimRef: [\"id\"],\n representationResponse: [\"peer_id\", \"generated_at\", \"count\", \"claims\"],\n eventStatus: [\"event_id\", \"status\"],\n queueStatus: [\"queued\", \"running\", \"succeeded\", \"failed\"],\n peer: [\"id\", \"metadata\", \"created_at\"],\n session: [\"id\", \"metadata\", \"peer_ids\", \"created_at\"],\n message: [\"role\", \"content\", \"peer_id\", \"created_at\"],\n workspace: [\"id\", \"created_at\"],\n memoryMetadata: [],\n Page_Claim: [\"items\", \"total\", \"page\", \"size\"],\n Page_Peer: [\"items\", \"total\", \"page\", \"size\"],\n Page_Session: [\"items\", \"total\", \"page\", \"size\"],\n Page_Message: [\"items\", \"total\", \"page\", \"size\"],\n Page_Workspace: [\"items\", \"total\", \"page\", \"size\"],\n currentAccess: [\"schemaVersion\", \"credential\", \"context\", \"quotas\", \"credits\"],\n currentAccessCredential: [\"id\", \"name\", \"type\", \"scopes\", \"expiresAt\"],\n currentAccessContext: [\"allowedWorkspaces\", \"allowedAudiences\", \"defaultWorkspace\", \"defaultAudience\"],\n accountUsageQuotas: [\"query\", \"ingest\"],\n accountUsageQuotaPair: [\"day\", \"month\"],\n accountUsageQuotaCounter: [\"period\", \"periodStart\", \"limit\", \"used\", \"remaining\", \"resetAt\"],\n accountCreditBalance: [\"monthlyPeriodStart\", \"monthlyCreditsGranted\", \"monthlyCreditsRemaining\", \"onboardingCreditsGranted\", \"onboardingCreditsRemaining\", \"totalCreditsGranted\", \"totalCreditsRemaining\", \"updatedAt\"],\n} as const;\n\nconst DESCRIPTORS: Readonly<Record<keyof typeof DTO_FIELDS, readonly FieldDescriptor[]>> = {\n queryResult: [\n ...DTO_FIELDS.queryResult.slice(0, 10).map((key) => ({ key })),\n { key: \"answer\", nested: \"queryAnswer\" },\n { key: \"evidence\", items: \"queryEvidence\" },\n { key: \"context\", nested: \"queryContext\" },\n { key: \"citations\", items: \"queryCitation\" },\n { key: \"limitations\" },\n { key: \"gaps\", items: \"queryGap\" },\n { key: \"conflicts\", items: \"queryConflict\" },\n { key: \"operation\", nested: \"queryOperation\" },\n ],\n queryAnswer: [{ key: \"disposition\" }, { key: \"text\" }, { key: \"propositions\", items: \"queryProposition\" }],\n queryProposition: DTO_FIELDS.queryProposition.map((key) => ({ key })),\n queryEvidence: DTO_FIELDS.queryEvidence.map((key) => ({ key })),\n queryContext: [{ key: \"text\" }, { key: \"tokenEstimate\" }, { key: \"fragments\", items: \"queryContextFragment\" }],\n queryContextFragment: DTO_FIELDS.queryContextFragment.map((key) => ({ key })),\n queryCitation: DTO_FIELDS.queryCitation.map((key) => ({ key })),\n queryGap: DTO_FIELDS.queryGap.map((key) => ({ key })),\n queryConflict: DTO_FIELDS.queryConflict.map((key) => ({ key })),\n queryOperation: [\n { key: \"id\" }, { key: \"state\" }, { key: \"creditsCharged\" },\n { key: \"balance\", nested: \"operationCreditBalance\" },\n { key: \"usage\", nested: \"queryOperationUsage\" },\n ],\n queryOperationUsage: DTO_FIELDS.queryOperationUsage.map((key) => ({ key })),\n operationCharge: [\n { key: \"correlationId\" }, { key: \"creditsCharged\" }, { key: \"balance\", nested: \"operationCreditBalance\" },\n ],\n operationCreditBalance: DTO_FIELDS.operationCreditBalance.map((key) => ({ key })),\n ingestJob: [\n { key: \"id\" }, { key: \"sourceId\" }, { key: \"kind\" }, { key: \"status\" }, { key: \"request\", nested: \"ingestJobRequest\" },\n { key: \"result\", nested: \"ingestJobResult\" }, { key: \"failure\", nested: \"ingestJobFailure\" },\n { key: \"attempts\" }, { key: \"maxAttempts\" }, { key: \"completedAt\" }, { key: \"createdAt\" }, { key: \"updatedAt\" },\n { key: \"operation\", nested: \"operationCharge\" },\n ],\n ingestJobRequest: [{ key: \"source\", nested: \"ingestJobRequestSource\" }],\n ingestJobRequestSource: DTO_FIELDS.ingestJobRequestSource.map((key) => ({ key })),\n ingestJobResult: [\n { key: \"mode\" }, { key: \"records\", nested: \"ingestRecordSummary\" }, { key: \"warnings\" },\n { key: \"source\", nested: \"ingestSource\" }, { key: \"review\", nested: \"ingestReview\" },\n ],\n ingestJobFailure: DTO_FIELDS.ingestJobFailure.map((key) => ({ key })),\n ingestPlan: [\n { key: \"dryRun\" }, { key: \"status\" }, { key: \"planId\" }, { key: \"expiresAt\" },\n { key: \"consumed\" }, { key: \"estimatedCredits\" }, { key: \"committable\" }, { key: \"commitRequires\" },\n { key: \"fileType\" }, { key: \"source\", nested: \"ingestSource\" },\n { key: \"records\", nested: \"ingestRecordSummary\" }, { key: \"sourcePreviews\", items: \"ingestSourcePreview\" },\n { key: \"review\", nested: \"ingestReview\" }, { key: \"warnings\" }, { key: \"nextAction\" },\n ],\n ingestSource: DTO_FIELDS.ingestSource.map((key) => ({ key })),\n ingestSourcePreview: DTO_FIELDS.ingestSourcePreview.map((key) => ({ key })),\n ingestReview: DTO_FIELDS.ingestReview.map((key) => ({ key })),\n ingestRecordSummary: DTO_FIELDS.ingestRecordSummary.map((key) => ({ key })),\n claim: [\n ...DTO_FIELDS.claim.slice(0, 14).map((key) => ({ key })),\n { key: \"metadata\", nested: \"memoryMetadata\" }, { key: \"categories\" }, { key: \"citations\", items: \"claimCitation\" },\n ],\n claimCitation: DTO_FIELDS.claimCitation.map((key) => ({ key })),\n claimHistoryEntry: DTO_FIELDS.claimHistoryEntry.map((key) => ({ key })),\n claimUpdateResult: DTO_FIELDS.claimUpdateResult.map((key) => ({ key })),\n claimDeleteReceipt: DTO_FIELDS.claimDeleteReceipt.map((key) => ({ key })),\n messagesCreateReceipt: [\n { key: \"event_id\" }, { key: \"status\" }, { key: \"results\", items: \"claimRef\" },\n { key: \"authority\" }, { key: \"eligibility\" },\n ],\n claimRef: DTO_FIELDS.claimRef.map((key) => ({ key })),\n representationResponse: [\n { key: \"peer_id\" }, { key: \"generated_at\" }, { key: \"count\" }, { key: \"claims\", items: \"claim\" },\n ],\n eventStatus: DTO_FIELDS.eventStatus.map((key) => ({ key })),\n queueStatus: DTO_FIELDS.queueStatus.map((key) => ({ key })),\n peer: [{ key: \"id\" }, { key: \"metadata\", nested: \"memoryMetadata\" }, { key: \"created_at\" }],\n session: [{ key: \"id\" }, { key: \"metadata\", nested: \"memoryMetadata\" }, { key: \"peer_ids\" }, { key: \"created_at\" }],\n message: DTO_FIELDS.message.map((key) => ({ key })),\n workspace: DTO_FIELDS.workspace.map((key) => ({ key })),\n memoryMetadata: [],\n Page_Claim: [{ key: \"items\", items: \"claim\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n Page_Peer: [{ key: \"items\", items: \"peer\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n Page_Session: [{ key: \"items\", items: \"session\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n Page_Message: [{ key: \"items\", items: \"message\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n Page_Workspace: [{ key: \"items\", items: \"workspace\" }, { key: \"total\" }, { key: \"page\" }, { key: \"size\" }],\n currentAccess: [\n { key: \"schemaVersion\" }, { key: \"credential\", nested: \"currentAccessCredential\" },\n { key: \"context\", nested: \"currentAccessContext\" }, { key: \"quotas\", nested: \"accountUsageQuotas\" },\n { key: \"credits\", nested: \"accountCreditBalance\" },\n ],\n currentAccessCredential: DTO_FIELDS.currentAccessCredential.map((key) => ({ key })),\n currentAccessContext: DTO_FIELDS.currentAccessContext.map((key) => ({ key })),\n accountUsageQuotas: [{ key: \"query\", nested: \"accountUsageQuotaPair\" }, { key: \"ingest\", nested: \"accountUsageQuotaPair\" }],\n accountUsageQuotaPair: [{ key: \"day\", nested: \"accountUsageQuotaCounter\" }, { key: \"month\", nested: \"accountUsageQuotaCounter\" }],\n accountUsageQuotaCounter: DTO_FIELDS.accountUsageQuotaCounter.map((key) => ({ key })),\n accountCreditBalance: DTO_FIELDS.accountCreditBalance.map((key) => ({ key })),\n};\n\nexport const SDK_RESPONSE_FIELDS = Object.freeze(Object.fromEntries(\n Object.entries(DESCRIPTORS).map(([id, fields]) => [id, Object.freeze(fields.map((field) => field.key))]),\n)) as Readonly<Record<keyof typeof DTO_FIELDS, readonly string[]>>;\n\nfor (const id of Object.keys(DTO_FIELDS) as Array<keyof typeof DTO_FIELDS>) {\n if (DTO_FIELDS[id].length !== SDK_RESPONSE_FIELDS[id].length\n || DTO_FIELDS[id].some((field, index) => SDK_RESPONSE_FIELDS[id][index] !== field)) {\n throw new Error(`TypeScript SDK response projection descriptor drift for ${id}`);\n }\n}\n\nconst REQUIRED_FIELDS: Readonly<Partial<Record<keyof typeof DTO_FIELDS, readonly string[]>>> = {\n queryResult: DTO_FIELDS.queryResult,\n queryAnswer: DTO_FIELDS.queryAnswer,\n queryProposition: DTO_FIELDS.queryProposition,\n queryEvidence: [\"citationHandle\", \"text\", \"sourceLabel\"],\n queryContext: DTO_FIELDS.queryContext,\n queryContextFragment: [\"kind\", \"text\", \"citable\", \"promptEligible\"],\n queryCitation: [\"citationHandle\", \"displayOrdinal\", \"excerpt\", \"sourceLabel\"],\n queryGap: DTO_FIELDS.queryGap,\n queryConflict: DTO_FIELDS.queryConflict,\n queryOperation: [\"id\", \"state\", \"creditsCharged\", \"usage\"],\n queryOperationUsage: DTO_FIELDS.queryOperationUsage,\n ingestJob: [\"id\", \"kind\", \"status\", \"createdAt\"],\n ingestJobRequest: [\"source\"],\n ingestJobResult: [\"mode\"],\n ingestJobFailure: DTO_FIELDS.ingestJobFailure,\n ingestPlan: [\"dryRun\", \"status\", \"source\", \"records\", \"review\", \"warnings\", \"nextAction\"],\n ingestSourcePreview: [\"wordCount\"],\n claim: [\"id\", \"content\", \"peer_id\", \"agent_id\", \"session_id\", \"authority\", \"state\", \"eligibility\", \"support_status\", \"valid_at\", \"invalid_at\", \"created_at\", \"updated_at\", \"head_revision\", \"categories\", \"citations\"],\n claimCitation: [\"excerpt\", \"source_label\", \"char_offset_start\", \"char_offset_end\"],\n claimHistoryEntry: [\"id\", \"event\", \"prior_claim\", \"successor_claim\", \"valid_at\", \"invalid_at\", \"created_at\", \"deterministic\"],\n claimUpdateResult: DTO_FIELDS.claimUpdateResult,\n claimDeleteReceipt: DTO_FIELDS.claimDeleteReceipt,\n messagesCreateReceipt: DTO_FIELDS.messagesCreateReceipt,\n claimRef: DTO_FIELDS.claimRef,\n representationResponse: DTO_FIELDS.representationResponse,\n eventStatus: DTO_FIELDS.eventStatus,\n queueStatus: DTO_FIELDS.queueStatus,\n peer: DTO_FIELDS.peer,\n session: DTO_FIELDS.session,\n message: DTO_FIELDS.message,\n workspace: DTO_FIELDS.workspace,\n Page_Claim: DTO_FIELDS.Page_Claim,\n Page_Peer: DTO_FIELDS.Page_Peer,\n Page_Session: DTO_FIELDS.Page_Session,\n Page_Message: DTO_FIELDS.Page_Message,\n Page_Workspace: DTO_FIELDS.Page_Workspace,\n currentAccess: DTO_FIELDS.currentAccess,\n currentAccessCredential: DTO_FIELDS.currentAccessCredential,\n currentAccessContext: DTO_FIELDS.currentAccessContext,\n accountUsageQuotas: DTO_FIELDS.accountUsageQuotas,\n accountUsageQuotaPair: DTO_FIELDS.accountUsageQuotaPair,\n accountUsageQuotaCounter: DTO_FIELDS.accountUsageQuotaCounter,\n accountCreditBalance: DTO_FIELDS.accountCreditBalance,\n};\n\nconst NULLABLE_FIELDS: Readonly<Partial<Record<keyof typeof DTO_FIELDS, readonly string[]>>> = {\n queryResult: [\"answer\", \"context\"],\n ingestJob: [\"result\", \"failure\", \"completedAt\"],\n currentAccessCredential: [\"expiresAt\"],\n claim: [\"peer_id\", \"agent_id\", \"session_id\", \"valid_at\", \"invalid_at\", \"created_at\", \"updated_at\"],\n claimHistoryEntry: [\"prior_claim\", \"successor_claim\", \"valid_at\", \"invalid_at\", \"created_at\"],\n claimUpdateResult: [\"invalid_at\"],\n peer: [\"created_at\"],\n session: [\"peer_ids\", \"created_at\"],\n message: [\"peer_id\", \"created_at\"],\n workspace: [\"created_at\"],\n};\n\nconst LITERAL_RULES: Readonly<Partial<Record<keyof typeof DTO_FIELDS, Readonly<Record<string, readonly (string | boolean)[]>>>>> = {\n queryResult: {\n schemaVersion: [\"marrow-query-result-v1\"],\n presetContractVersion: [\"marrow-query-presets-v1\"],\n requestedPreset: [\"efficient\", \"accuracy\"],\n resolvedPreset: [\"efficient\", \"accuracy\"],\n mode: [\"evidence\", \"context\", \"answer\"],\n coverage: [\"complete\", \"partial\", \"unknown\", \"not_applicable\"],\n execution: [\"ready\", \"degraded\", \"provider_required\", \"preparing\"],\n stopReason: [\"complete\", \"evidence_exhausted\", \"budget_exhausted\", \"deadline\", \"provider_unavailable\", \"preparing\", \"owner_review_required\", \"failed\"],\n },\n queryAnswer: { disposition: [\"answered\", \"partial\", \"insufficient_evidence\", \"conflicted\", \"withheld\"] },\n queryProposition: { support: [\"quotation\", \"compression\", \"inference\"] },\n queryEvidence: { support: [\"quotation\", \"compression\", \"inference\"] },\n queryContextFragment: { kind: [\"evidence\", \"message\", \"representation\", \"generated_context\"] },\n queryCitation: { support: [\"quotation\", \"compression\", \"inference\"] },\n ingestJob: {\n kind: [\"url\", \"file\", \"source_deletion\"],\n status: [\"queued\", \"running\", \"succeeded\", \"failed\", \"quarantined\"],\n },\n ingestJobResult: { mode: [\"completed\", \"review_required\", \"unknown\"] },\n ingestPlan: { dryRun: [true], status: [\"preview_ready\"] },\n ingestReview: { status: [\"ready\", \"not_recommended\", \"needs_review\"] },\n claimHistoryEntry: { event: [\"ADD\", \"UPDATE\", \"DELETE\"] },\n claimUpdateResult: {\n event: [\"UPDATE\"],\n authority: [\"correction_memory\"],\n state: [\"current\"],\n eligibility: [\"eligible\"],\n },\n messagesCreateReceipt: { status: [\"processing\"] },\n eventStatus: { status: [\"queued\", \"running\", \"succeeded\", \"failed\", \"quarantined\"] },\n message: { role: [\"user\", \"assistant\", \"system\", \"tool\"] },\n currentAccess: { schemaVersion: [\"marrow-access-v1\"] },\n currentAccessCredential: { type: [\"customer_api_key\"] },\n};\n\ntype ScalarRule = \"string\" | \"nullable-string\" | \"number\" | \"integer\" | \"boolean\" | \"strings\" | \"nullable-strings\";\n\nconst SCALAR_RULES: Readonly<Partial<Record<keyof typeof DTO_FIELDS, Readonly<Record<string, ScalarRule>>>>> = {\n queryResult: { schemaVersion: \"string\", presetContractVersion: \"string\", requestedPreset: \"string\", resolvedPreset: \"string\", generatedAt: \"string\", query: \"string\", mode: \"string\", coverage: \"string\", execution: \"string\", stopReason: \"string\", limitations: \"strings\" },\n queryAnswer: { disposition: \"string\", text: \"string\" },\n queryProposition: { text: \"string\", support: \"string\", citationHandles: \"strings\" },\n queryEvidence: { citationHandle: \"string\", text: \"string\", sourceLabel: \"string\", support: \"string\", authority: \"string\" },\n queryContext: { text: \"string\", tokenEstimate: \"integer\" },\n queryContextFragment: { kind: \"string\", text: \"string\", citable: \"boolean\", promptEligible: \"boolean\", sourceLabel: \"string\" },\n queryCitation: { citationHandle: \"string\", displayOrdinal: \"integer\", excerpt: \"string\", sourceLabel: \"string\", support: \"string\", charOffsetStart: \"integer\", charOffsetEnd: \"integer\" },\n queryGap: { code: \"string\", description: \"string\", required: \"boolean\" },\n queryConflict: { code: \"string\", description: \"string\", citationHandles: \"strings\" },\n queryOperation: { id: \"string\", state: \"string\", creditsCharged: \"integer\" },\n queryOperationUsage: { elapsedMs: \"number\", contextCharacters: \"integer\", inputTokens: \"integer\", outputTokens: \"integer\", totalTokens: \"integer\", providerCalls: \"integer\" },\n operationCharge: { correlationId: \"string\", creditsCharged: \"integer\" },\n operationCreditBalance: { totalCreditsRemaining: \"integer\", monthlyCreditsRemaining: \"integer\", onboardingCreditsRemaining: \"integer\" },\n ingestJob: { id: \"string\", sourceId: \"string\", kind: \"string\", status: \"string\", attempts: \"integer\", maxAttempts: \"integer\", completedAt: \"nullable-string\", createdAt: \"string\", updatedAt: \"string\" },\n ingestJobRequestSource: { kind: \"string\", url: \"string\", filename: \"string\", contentType: \"string\", datedAt: \"string\", bytes: \"integer\" },\n ingestJobResult: { mode: \"string\", warnings: \"strings\" },\n ingestJobFailure: { code: \"string\", category: \"string\", stage: \"string\", message: \"string\", requestId: \"string\", retryable: \"boolean\", failedAt: \"string\", metric: \"string\", limit: \"integer\", estimate: \"integer\", unit: \"string\", limitWindow: \"string\", creditsRemaining: \"integer\", resetAt: \"nullable-string\", nextAction: \"string\" },\n ingestPlan: { dryRun: \"boolean\", status: \"string\", planId: \"string\", expiresAt: \"string\", consumed: \"boolean\", estimatedCredits: \"integer\", fileType: \"string\", warnings: \"strings\", nextAction: \"string\" },\n ingestSource: { kind: \"string\", path: \"string\", bytes: \"integer\", pages: \"integer\", lines: \"integer\", url: \"string\", title: \"string\", contentType: \"string\", datedAt: \"string\" },\n ingestSourcePreview: { title: \"string\", wordCount: \"integer\", textPreview: \"string\" },\n ingestReview: { status: \"string\", warnings: \"strings\" },\n ingestRecordSummary: { total: \"integer\", sourceExcerpts: \"integer\", facts: \"integer\", links: \"integer\" },\n claim: { id: \"string\", content: \"string\", peer_id: \"nullable-string\", agent_id: \"nullable-string\", session_id: \"nullable-string\", authority: \"string\", state: \"string\", eligibility: \"string\", support_status: \"string\", valid_at: \"nullable-string\", invalid_at: \"nullable-string\", created_at: \"nullable-string\", updated_at: \"nullable-string\", head_revision: \"string\", categories: \"strings\" },\n claimCitation: { excerpt: \"string\", source_label: \"string\", char_offset_start: \"integer\", char_offset_end: \"integer\" },\n claimHistoryEntry: { id: \"string\", event: \"string\", prior_claim: \"nullable-string\", successor_claim: \"nullable-string\", valid_at: \"nullable-string\", invalid_at: \"nullable-string\", created_at: \"nullable-string\", deterministic: \"boolean\" },\n claimUpdateResult: { id: \"string\", content: \"string\", event: \"string\", message: \"string\", valid_at: \"string\", invalid_at: \"nullable-string\", deterministic: \"boolean\", authority: \"string\", state: \"string\", eligibility: \"string\", head_revision: \"string\" },\n claimDeleteReceipt: { id: \"string\", invalid_at: \"string\", expired_at: \"string\" },\n messagesCreateReceipt: { event_id: \"string\", status: \"string\", authority: \"string\", eligibility: \"string\" },\n claimRef: { id: \"string\" },\n representationResponse: { peer_id: \"string\", generated_at: \"string\", count: \"integer\" },\n eventStatus: { event_id: \"string\", status: \"string\" },\n queueStatus: { queued: \"integer\", running: \"integer\", succeeded: \"integer\", failed: \"integer\" },\n peer: { id: \"string\", created_at: \"nullable-string\" },\n session: { id: \"string\", peer_ids: \"nullable-strings\", created_at: \"nullable-string\" },\n message: { role: \"string\", content: \"string\", peer_id: \"nullable-string\", created_at: \"nullable-string\" },\n workspace: { id: \"string\", created_at: \"nullable-string\" },\n Page_Claim: { total: \"integer\", page: \"integer\", size: \"integer\" },\n Page_Peer: { total: \"integer\", page: \"integer\", size: \"integer\" },\n Page_Session: { total: \"integer\", page: \"integer\", size: \"integer\" },\n Page_Message: { total: \"integer\", page: \"integer\", size: \"integer\" },\n Page_Workspace: { total: \"integer\", page: \"integer\", size: \"integer\" },\n currentAccess: { schemaVersion: \"string\" },\n currentAccessCredential: { id: \"string\", name: \"string\", type: \"string\", scopes: \"strings\", expiresAt: \"nullable-string\" },\n currentAccessContext: { allowedWorkspaces: \"strings\", allowedAudiences: \"strings\", defaultWorkspace: \"string\", defaultAudience: \"string\" },\n accountUsageQuotaCounter: { period: \"string\", periodStart: \"string\", limit: \"integer\", used: \"integer\", remaining: \"integer\", resetAt: \"string\" },\n accountCreditBalance: { monthlyPeriodStart: \"string\", monthlyCreditsGranted: \"integer\", monthlyCreditsRemaining: \"integer\", onboardingCreditsGranted: \"integer\", onboardingCreditsRemaining: \"integer\", totalCreditsGranted: \"integer\", totalCreditsRemaining: \"integer\", updatedAt: \"string\" },\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction projectLeaf(value: unknown, path: string): unknown {\n if (value === null || [\"string\", \"number\", \"boolean\"].includes(typeof value)) return value;\n if (Array.isArray(value)) {\n return value.map((item, index) => projectLeaf(item, `${path}[${index}]`));\n }\n throw new MarrowResponseError(`${path} must contain only public scalar values`);\n}\n\nexport function projectDto(id: keyof typeof DTO_FIELDS, value: unknown): Record<string, unknown> {\n if (!isRecord(value)) throw new MarrowResponseError(`${id} response must be an object`);\n const output: Record<string, unknown> = {};\n for (const field of DESCRIPTORS[id]) {\n if (!Object.hasOwn(value, field.key)) continue;\n const fieldValue = value[field.key];\n if (fieldValue === null) {\n if (!(NULLABLE_FIELDS[id] ?? []).includes(field.key)) {\n throw new MarrowResponseError(`${id}.${field.key} cannot be null`);\n }\n output[field.key] = null;\n } else if (field.nested !== undefined) {\n output[field.key] = projectDto(field.nested as keyof typeof DTO_FIELDS, fieldValue);\n } else if (field.items !== undefined) {\n if (!Array.isArray(fieldValue)) throw new MarrowResponseError(`${id}.${field.key} must be an array`);\n output[field.key] = fieldValue.map((item) => projectDto(field.items as keyof typeof DTO_FIELDS, item));\n } else {\n output[field.key] = projectLeaf(fieldValue, `${id}.${field.key}`);\n }\n }\n for (const field of REQUIRED_FIELDS[id] ?? []) {\n if (!Object.hasOwn(output, field)) throw new MarrowResponseError(`${id}.${field} is required`);\n }\n validateScalarFields(id, output);\n validateLiteralFields(id, output);\n return output;\n}\n\nfunction validateScalarFields(id: keyof typeof DTO_FIELDS, value: Record<string, unknown>): void {\n for (const [field, rule] of Object.entries(SCALAR_RULES[id] ?? {})) {\n if (!Object.hasOwn(value, field)) continue;\n const found = value[field];\n const valid = rule === \"string\"\n ? typeof found === \"string\"\n : rule === \"nullable-string\"\n ? found === null || typeof found === \"string\"\n : rule === \"number\"\n ? typeof found === \"number\" && Number.isFinite(found)\n : rule === \"integer\"\n ? typeof found === \"number\" && Number.isSafeInteger(found)\n : rule === \"boolean\"\n ? typeof found === \"boolean\"\n : rule === \"strings\"\n ? Array.isArray(found) && found.every((item) => typeof item === \"string\")\n : found === null || (Array.isArray(found) && found.every((item) => typeof item === \"string\"));\n if (!valid) throw new MarrowResponseError(`${id}.${field} has an invalid public value`);\n }\n}\n\nfunction validateLiteralFields(id: keyof typeof DTO_FIELDS, value: Record<string, unknown>): void {\n for (const [field, allowed] of Object.entries(LITERAL_RULES[id] ?? {})) {\n if (!Object.hasOwn(value, field)) continue;\n if (!allowed.includes(value[field] as string | boolean)) {\n throw new MarrowResponseError(`${id}.${field} has an invalid public literal`);\n }\n }\n}\n\nfunction requireString(value: Record<string, unknown>, field: string, owner: string): string {\n const found = value[field];\n if (typeof found !== \"string\" || found.length === 0) throw new MarrowResponseError(`${owner}.${field} must be a non-empty string`);\n return found;\n}\n\nfunction requireNumber(value: Record<string, unknown>, field: string, owner: string): number {\n const found = value[field];\n if (typeof found !== \"number\" || !Number.isFinite(found)) throw new MarrowResponseError(`${owner}.${field} must be a number`);\n return found;\n}\n\nfunction projectPagination(value: unknown): Record<string, unknown> {\n if (!isRecord(value)) throw new MarrowResponseError(\"ingest pagination must be an object\");\n return {\n ...(typeof value.limit === \"number\" ? { limit: value.limit } : {}),\n ...(typeof value.nextCursor === \"string\" || value.nextCursor === null ? { nextCursor: value.nextCursor } : {}),\n };\n}\n\nexport function projectQueryResult(value: unknown): QueryResult {\n const projected = projectDto(\"queryResult\", value);\n const mode = projected.mode;\n if (\n mode === \"answer\"\n && projected.answer === null\n && projected.execution !== \"provider_required\"\n && projected.execution !== \"degraded\"\n && projected.execution !== \"preparing\"\n ) {\n throw new MarrowResponseError(\"ready answer-mode query response must include an answer\");\n }\n if (mode !== \"answer\" && projected.answer !== null) {\n throw new MarrowResponseError(\"non-answer query response must not include an answer\");\n }\n if ((mode === \"context\" || mode === \"answer\") && !isRecord(projected.context)) {\n throw new MarrowResponseError(\"context and answer query responses must include context\");\n }\n if (mode === \"evidence\" && projected.context !== null) {\n throw new MarrowResponseError(\"evidence query response must not include context\");\n }\n const contextRecord = isRecord(projected.context) ? projected.context : null;\n const contextText = contextRecord && typeof contextRecord.text === \"string\" ? contextRecord.text : \"\";\n const context = contextRecord\n ? {\n ...contextRecord,\n toOpenAI: () => [{ role: \"system\" as const, content: contextText }] as const,\n toAnthropic: () => ({ system: contextText }),\n }\n : null;\n return { ...projected, context } as unknown as QueryResult;\n}\n\nexport function projectIngestSubmission(value: unknown): IngestPlanResponse | IngestJobResponse {\n if (!isRecord(value)) throw new MarrowResponseError(\"ingest response must be an object\");\n if (value.schemaVersion === \"marrow-ingest-job-v1\") return projectIngestJobResponse(value);\n if (value.schemaVersion !== \"marrow-url-ingest-plan-v1\" && value.schemaVersion !== \"marrow-file-ingest-plan-v1\") {\n throw new MarrowResponseError(\"ingest response has an unsupported schemaVersion\");\n }\n if (value.mode !== \"dry-run\") throw new MarrowResponseError(\"ingest plan mode must be dry-run\");\n const plan = projectDto(\"ingestPlan\", value.plan);\n if (plan.dryRun !== true || plan.status !== \"preview_ready\") {\n throw new MarrowResponseError(\"ingest plan must be a preview_ready dry run\");\n }\n return {\n schemaVersion: value.schemaVersion,\n mode: \"dry-run\",\n plan,\n ...(Array.isArray(value.warnings) ? { warnings: projectLeaf(value.warnings, \"ingest.warnings\") } : {}),\n } as unknown as IngestPlanResponse;\n}\n\nconst JOB_STATUSES = new Set<JobStatus>([\"queued\", \"running\", \"succeeded\", \"failed\", \"quarantined\"]);\n\nexport function projectIngestJobResponse(value: unknown): IngestJobResponse {\n if (!isRecord(value) || value.schemaVersion !== \"marrow-ingest-job-v1\") {\n throw new MarrowResponseError(\"ingest job response must use marrow-ingest-job-v1\");\n }\n const job = projectDto(\"ingestJob\", value.job);\n requireString(job, \"id\", \"ingest job\");\n requireString(job, \"createdAt\", \"ingest job\");\n if (!JOB_STATUSES.has(job.status as JobStatus)) throw new MarrowResponseError(\"ingest job status is invalid\");\n return {\n schemaVersion: \"marrow-ingest-job-v1\",\n ...(value.mode === \"queued\" ? { mode: \"queued\" as const } : {}),\n ...(typeof value.created === \"boolean\" ? { created: value.created } : {}),\n job,\n } as unknown as IngestJobResponse;\n}\n\nexport function projectIngestJobList(value: unknown): IngestJobListResponse {\n if (!isRecord(value) || value.schemaVersion !== \"marrow-ingest-job-list-v1\" || !Array.isArray(value.jobs)) {\n throw new MarrowResponseError(\"ingest job list must use marrow-ingest-job-list-v1 and include jobs\");\n }\n return {\n schemaVersion: \"marrow-ingest-job-list-v1\",\n jobs: value.jobs.map((job) => projectIngestJobResponse({ schemaVersion: \"marrow-ingest-job-v1\", job }).job),\n pagination: projectPagination(value.pagination),\n };\n}\n\nexport function assertPage(value: Record<string, unknown>, owner: string): void {\n if (!Array.isArray(value.items)) throw new MarrowResponseError(`${owner}.items must be an array`);\n for (const field of [\"total\", \"page\", \"size\"]) requireNumber(value, field, owner);\n}\n"]}

@@ -14,3 +14,2 @@ export type JsonPrimitive = string | number | boolean | null;

}
export type ContextStatus = "ready" | "partial" | "insufficient_evidence" | "conflicted" | "withheld";
export type QueryStatus = "partial" | "insufficient_evidence";

@@ -59,11 +58,95 @@ export type JobStatus = "queued" | "running" | "succeeded" | "failed" | "quarantined";

}
export type QueryMode = "evidence" | "context" | "answer";
export type QueryPreset = "efficient" | "accuracy";
export type QueryCoverage = "complete" | "partial" | "unknown" | "not_applicable";
export type QueryExecution = "ready" | "degraded" | "provider_required" | "preparing";
export type QueryStopReason = "complete" | "evidence_exhausted" | "budget_exhausted" | "deadline" | "provider_unavailable" | "preparing" | "owner_review_required" | "failed";
export interface QueryCitation {
readonly citationHandle: string;
readonly displayOrdinal: number;
readonly excerpt: string;
readonly sourceLabel: string;
readonly support?: "quotation" | "compression" | "inference";
readonly charOffsetStart?: number;
readonly charOffsetEnd?: number;
}
export interface QueryEvidenceUnit {
readonly citationHandle: string;
readonly text: string;
readonly sourceLabel: string;
readonly support?: "quotation" | "compression" | "inference";
}
export interface QueryContextFragment {
readonly kind: "evidence" | "message" | "representation" | "generated_context";
readonly text: string;
readonly citable: boolean;
readonly promptEligible: boolean;
readonly sourceLabel?: string;
}
export interface QueryContext {
readonly text: string;
readonly tokenEstimate: number;
readonly fragments: readonly QueryContextFragment[];
toOpenAI(): readonly [{
readonly role: "system";
readonly content: string;
}];
toAnthropic(): {
readonly system: string;
};
}
export interface QueryAnswer {
readonly disposition: "answered" | "partial" | "insufficient_evidence" | "conflicted" | "withheld";
readonly text: string;
readonly propositions: readonly {
readonly text: string;
readonly support: "quotation" | "compression" | "inference";
readonly citationHandles: readonly string[];
}[];
}
export interface QueryOperation {
readonly id: string;
readonly state: string;
readonly creditsCharged: number;
readonly balance?: {
readonly totalCreditsRemaining: number;
readonly monthlyCreditsRemaining?: number;
readonly onboardingCreditsRemaining?: number;
};
readonly usage: {
readonly elapsedMs: number;
readonly contextCharacters: number;
readonly inputTokens: number;
readonly outputTokens: number;
readonly totalTokens: number;
readonly providerCalls: number;
};
}
export interface QueryResult {
readonly schemaVersion: "marrow-evidence-query-v2";
readonly schemaVersion: "marrow-query-result-v1";
readonly presetContractVersion: "marrow-query-presets-v1";
readonly requestedPreset: QueryPreset;
readonly resolvedPreset: QueryPreset;
readonly generatedAt: string;
readonly query: string;
readonly answer: EvidenceAnswer;
readonly results: readonly EvidenceResult[];
readonly persona?: string;
readonly warnings: readonly string[];
readonly operation?: OperationCharge;
readonly mode: QueryMode;
readonly coverage: QueryCoverage;
readonly execution: QueryExecution;
readonly stopReason: QueryStopReason;
readonly answer: QueryAnswer | null;
readonly evidence: readonly QueryEvidenceUnit[];
readonly context: QueryContext | null;
readonly citations: readonly QueryCitation[];
readonly limitations: readonly string[];
readonly gaps: readonly {
readonly code: string;
readonly description: string;
readonly required: boolean;
}[];
readonly conflicts: readonly {
readonly code: string;
readonly description: string;
readonly citationHandles: readonly string[];
}[];
readonly operation: QueryOperation;
}

@@ -305,23 +388,2 @@ export interface OperationCreditBalance {

}
export interface ContextMessage {
readonly role: string;
readonly content: string;
}
export interface ContextBlock {
readonly authority: string;
readonly state: string;
readonly text: string;
readonly support_status: string;
readonly citations: readonly ClaimCitation[];
}
export interface MemoryContext {
readonly status: ContextStatus;
readonly placement: string;
readonly context: string;
readonly messages: readonly ContextMessage[];
readonly blocks: readonly ContextBlock[];
readonly citations: readonly ClaimCitation[];
readonly conflicts: readonly string[];
readonly warnings: readonly string[];
}
export interface MessagesCreateReceipt {

@@ -359,4 +421,5 @@ readonly event_id: string;

export interface QueryOptions {
readonly limit?: number;
readonly evidenceLimit?: number;
readonly mode: QueryMode;
readonly idempotencyKey: string;
readonly preset?: QueryPreset;
readonly workspace?: string;

@@ -367,2 +430,3 @@ readonly audience?: string;

readonly sessionIds?: readonly string[];
readonly agentId?: string;
}

@@ -387,11 +451,19 @@ export interface UrlIngestOptions {

export interface AskOptions {
readonly idempotencyKey: string;
readonly preset?: QueryPreset;
readonly session?: string;
readonly topK?: number;
readonly agentId?: string;
}
export interface ContextOptions {
readonly idempotencyKey: string;
readonly preset?: QueryPreset;
readonly session?: string;
readonly agentId?: string;
readonly q?: string;
}
export interface SessionContextOptions {
readonly idempotencyKey: string;
readonly preset?: QueryPreset;
readonly peer: string;
readonly agentId?: string;
readonly q?: string;

@@ -413,6 +485,7 @@ }

export interface ClaimsQueryOptions {
readonly idempotencyKey: string;
readonly preset?: QueryPreset;
readonly peerId: string;
readonly agentId?: string;
readonly sessionId?: string;
readonly topK?: number;
}

@@ -419,0 +492,0 @@ export interface ClaimsListOptions {

@@ -1,1 +0,1 @@

{"version":3,"file":"types.d.ts","sources":["marrow-sdk:///src/types.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"types.d.ts","sources":["marrow-sdk:///src/types.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"types.js","sources":["marrow-sdk:///src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type JsonPrimitive = string | number | boolean | null;\nexport type JsonValue = JsonPrimitive | JsonObject | readonly JsonValue[];\nexport interface JsonObject { readonly [key: string]: JsonValue }\n\nexport type FetchLike = (\n input: string | URL | Request,\n init?: RequestInit,\n) => Promise<Response>;\n\nexport interface MarrowOptions {\n readonly apiKey: string;\n readonly baseURL?: string;\n readonly workspace?: string;\n readonly timeoutMs?: number;\n readonly fetch?: FetchLike;\n}\n\nexport type ContextStatus = \"ready\" | \"partial\" | \"insufficient_evidence\" | \"conflicted\" | \"withheld\";\nexport type QueryStatus = \"partial\" | \"insufficient_evidence\";\nexport type JobStatus = \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"quarantined\";\nexport type MessageRole = \"user\" | \"assistant\" | \"system\" | \"tool\";\n\nexport interface ClaimCitation {\n readonly excerpt: string;\n readonly source_label: string;\n readonly char_offset_start: number;\n readonly char_offset_end: number;\n}\n\nexport interface EvidenceCitation {\n readonly citationId: number;\n readonly excerpt: string;\n readonly sourceLabel: string;\n readonly support?: \"quotation\" | \"compression\" | \"inference\";\n readonly charOffsetStart?: number;\n readonly charOffsetEnd?: number;\n}\n\nexport interface EvidenceAnswer {\n readonly status: QueryStatus;\n readonly text: string;\n readonly citations: readonly EvidenceCitation[];\n readonly limitations: readonly string[];\n}\n\nexport interface EvidenceWindowMember {\n readonly excerpt?: string;\n readonly charOffsetStart?: number;\n readonly charOffsetEnd?: number;\n}\n\nexport interface EvidenceEnclosingContext {\n readonly sessionLabel?: string;\n readonly sessionDate?: string;\n readonly window?: readonly EvidenceWindowMember[];\n readonly synthesis?: string;\n}\n\nexport interface EvidenceResult {\n readonly rank: number;\n readonly title: string;\n readonly snippet: string;\n readonly evidence: readonly EvidenceCitation[];\n readonly authority?: string;\n readonly supportStatus?: string;\n readonly enclosingContext?: EvidenceEnclosingContext;\n}\n\nexport interface QueryResult {\n readonly schemaVersion: \"marrow-evidence-query-v2\";\n readonly generatedAt: string;\n readonly query: string;\n readonly answer: EvidenceAnswer;\n readonly results: readonly EvidenceResult[];\n readonly persona?: string;\n readonly warnings: readonly string[];\n readonly operation?: OperationCharge;\n}\n\nexport interface OperationCreditBalance {\n readonly totalCreditsRemaining: number;\n readonly monthlyCreditsRemaining: number;\n readonly onboardingCreditsRemaining: number;\n}\n\nexport interface OperationCharge {\n readonly correlationId: string;\n readonly creditsCharged: number;\n readonly balance: OperationCreditBalance;\n}\n\nexport interface IngestSource {\n readonly kind?: string;\n readonly path?: string;\n readonly bytes?: number;\n readonly pages?: number;\n readonly lines?: number;\n readonly url?: string;\n readonly title?: string;\n readonly contentType?: string;\n readonly datedAt?: string;\n}\n\nexport interface IngestRecordSummary {\n readonly total?: number;\n readonly sourceExcerpts?: number;\n readonly facts?: number;\n readonly links?: number;\n}\n\nexport interface IngestReview {\n readonly status?: \"ready\" | \"not_recommended\" | \"needs_review\";\n readonly warnings?: readonly string[];\n}\n\nexport interface IngestPlan {\n readonly dryRun: true;\n readonly status: \"preview_ready\";\n readonly planId?: string;\n readonly expiresAt?: string;\n readonly consumed?: boolean;\n readonly estimatedCredits?: number;\n readonly fileType?: string;\n readonly source: IngestSource;\n readonly records: IngestRecordSummary;\n readonly sourcePreviews?: readonly {\n readonly title?: string;\n readonly wordCount: number;\n readonly textPreview?: string;\n }[];\n readonly review: IngestReview;\n readonly warnings: readonly string[];\n readonly nextAction: string;\n}\n\nexport interface IngestPlanResponse {\n readonly schemaVersion: \"marrow-url-ingest-plan-v1\" | \"marrow-file-ingest-plan-v1\";\n readonly mode: \"dry-run\";\n readonly plan: IngestPlan;\n readonly warnings?: readonly string[];\n}\n\nexport interface IngestJob {\n readonly id: string;\n readonly sourceId?: string;\n readonly kind: \"url\" | \"file\" | \"source_deletion\";\n readonly status: JobStatus;\n readonly request?: IngestJobRequest | null;\n readonly result?: IngestJobResult | null;\n readonly failure?: IngestJobFailure | null;\n readonly attempts?: number;\n readonly maxAttempts?: number;\n readonly completedAt?: string | null;\n readonly createdAt: string;\n readonly updatedAt?: string;\n readonly operation?: OperationCharge;\n}\n\nexport interface IngestJobRequestSource {\n readonly kind?: string;\n readonly url?: string;\n readonly filename?: string;\n readonly contentType?: string;\n readonly datedAt?: string;\n readonly bytes?: number;\n}\n\nexport interface IngestJobRequest { readonly source: IngestJobRequestSource }\n\nexport interface IngestJobResult {\n readonly mode: \"completed\" | \"review_required\" | \"unknown\";\n readonly records?: IngestRecordSummary;\n readonly warnings?: readonly string[];\n readonly source?: IngestSource;\n readonly review?: IngestReview;\n}\n\nexport interface IngestJobFailure {\n readonly code?: \"account_credits_exhausted\" | \"processing_budget_exceeded\" | \"pdf_parser_unavailable\" | \"pdf_parser_timeout\" | \"pdf_parser_output_limit\" | \"pdf_parse_failed\" | \"ingest_job_failed\";\n readonly category?: \"account_credits\" | \"processing_budget\" | \"document_parsing\" | \"processing\";\n readonly stage?: \"parsing\" | \"processing\";\n readonly message: string;\n readonly requestId?: string;\n readonly retryable: boolean;\n readonly failedAt: string;\n readonly metric?: string;\n readonly limit?: number;\n readonly estimate?: number;\n readonly unit?: string;\n readonly limitWindow?: string;\n readonly creditsRemaining?: number;\n readonly resetAt?: string | null;\n readonly nextAction?: string;\n}\n\nexport interface IngestJobResponse {\n readonly schemaVersion: \"marrow-ingest-job-v1\";\n readonly mode?: \"queued\";\n readonly created?: boolean;\n readonly job: IngestJob;\n}\n\nexport interface Pagination {\n readonly limit?: number;\n readonly nextCursor?: string | null;\n}\n\nexport interface IngestJobListResponse {\n readonly schemaVersion: \"marrow-ingest-job-list-v1\";\n readonly jobs: readonly IngestJob[];\n readonly pagination: Pagination;\n}\n\nexport interface Workspace {\n readonly id: string;\n readonly created_at: string | null;\n}\n\nexport interface PeerRecord {\n readonly id: string;\n readonly metadata: Readonly<Record<string, never>>;\n readonly created_at: string | null;\n}\n\nexport interface SessionRecord {\n readonly id: string;\n readonly metadata: Readonly<Record<string, never>>;\n readonly peer_ids: readonly string[] | null;\n readonly created_at: string | null;\n}\n\nexport interface Message {\n readonly role: MessageRole;\n readonly content: string;\n readonly peer_id: string | null;\n readonly created_at: string | null;\n}\n\nexport interface Claim {\n readonly id: string;\n readonly content: string;\n readonly peer_id: string | null;\n readonly agent_id: string | null;\n readonly session_id: string | null;\n readonly authority: string;\n readonly state: string;\n readonly eligibility: string;\n readonly support_status: string;\n readonly valid_at: string | null;\n readonly invalid_at: string | null;\n readonly created_at: string | null;\n readonly updated_at: string | null;\n readonly head_revision: string;\n readonly metadata?: Readonly<Record<string, never>>;\n readonly categories: readonly string[];\n readonly citations: readonly ClaimCitation[];\n}\n\nexport interface ClaimHistoryEntry {\n readonly id: string;\n readonly event: \"ADD\" | \"UPDATE\" | \"DELETE\";\n readonly prior_claim: string | null;\n readonly successor_claim: string | null;\n readonly valid_at: string | null;\n readonly invalid_at: string | null;\n readonly created_at: string | null;\n readonly deterministic: boolean;\n}\n\nexport interface ClaimUpdateResult {\n readonly id: string;\n readonly content: string;\n readonly event: \"UPDATE\";\n readonly message: string;\n readonly valid_at: string;\n readonly invalid_at: string | null;\n readonly deterministic: boolean;\n readonly authority: \"correction_memory\";\n readonly state: \"current\";\n readonly eligibility: \"eligible\";\n readonly head_revision: string;\n}\n\nexport interface CurrentAccessCredential {\n readonly id: string;\n readonly name: string;\n readonly type: \"customer_api_key\";\n readonly scopes: readonly string[];\n readonly expiresAt: string | null;\n}\n\nexport interface CurrentAccessContext {\n readonly allowedWorkspaces: readonly string[];\n readonly allowedAudiences: readonly string[];\n readonly defaultWorkspace: string;\n readonly defaultAudience: string;\n}\n\nexport interface AccountUsageQuotaCounter {\n readonly period: string;\n readonly periodStart: string;\n readonly limit: number;\n readonly used: number;\n readonly remaining: number;\n readonly resetAt: string;\n}\n\nexport interface AccountUsageQuotaPair {\n readonly day: AccountUsageQuotaCounter;\n readonly month: AccountUsageQuotaCounter;\n}\n\nexport interface AccountUsageQuotas {\n readonly query: AccountUsageQuotaPair;\n readonly ingest: AccountUsageQuotaPair;\n}\n\nexport interface AccountCreditBalance {\n readonly monthlyPeriodStart: string;\n readonly monthlyCreditsGranted: number;\n readonly monthlyCreditsRemaining: number;\n readonly onboardingCreditsGranted: number;\n readonly onboardingCreditsRemaining: number;\n readonly totalCreditsGranted: number;\n readonly totalCreditsRemaining: number;\n readonly updatedAt: string;\n}\n\nexport interface CurrentAccess {\n readonly schemaVersion: \"marrow-access-v1\";\n readonly credential: CurrentAccessCredential;\n readonly context: CurrentAccessContext;\n readonly quotas: AccountUsageQuotas;\n readonly credits: AccountCreditBalance;\n}\n\nexport interface ClaimDeleteReceipt {\n readonly id: string;\n readonly invalid_at: string;\n readonly expired_at: string;\n}\n\nexport interface ContextMessage {\n readonly role: string;\n readonly content: string;\n}\n\nexport interface ContextBlock {\n readonly authority: string;\n readonly state: string;\n readonly text: string;\n readonly support_status: string;\n readonly citations: readonly ClaimCitation[];\n}\n\nexport interface MemoryContext {\n readonly status: ContextStatus;\n readonly placement: string;\n readonly context: string;\n readonly messages: readonly ContextMessage[];\n readonly blocks: readonly ContextBlock[];\n readonly citations: readonly ClaimCitation[];\n readonly conflicts: readonly string[];\n readonly warnings: readonly string[];\n}\n\nexport interface MessagesCreateReceipt {\n readonly event_id: string;\n readonly status: \"processing\";\n readonly results: readonly { readonly id: string }[];\n readonly authority: string;\n readonly eligibility: string;\n}\n\nexport interface RepresentationResponse {\n readonly peer_id: string;\n readonly generated_at: string;\n readonly count: number;\n readonly claims: readonly Claim[];\n}\n\nexport interface EventStatus {\n readonly event_id: string;\n readonly status: JobStatus;\n}\n\nexport interface QueueStatus {\n readonly queued: number;\n readonly running: number;\n readonly succeeded: number;\n readonly failed: number;\n}\n\nexport interface Page<T> {\n readonly items: readonly T[];\n readonly total: number;\n readonly page: number;\n readonly size: number;\n}\n\nexport interface QueryOptions {\n readonly limit?: number;\n readonly evidenceLimit?: number;\n readonly workspace?: string;\n readonly audience?: string;\n readonly sourceIds?: readonly string[];\n readonly peerIds?: readonly string[];\n readonly sessionIds?: readonly string[];\n}\n\nexport interface UrlIngestOptions {\n readonly dryRun?: boolean;\n readonly datedAt?: string;\n readonly idempotencyKey?: string;\n}\n\nexport interface FileIngestOptions extends UrlIngestOptions {\n readonly filename: string;\n readonly content: Blob | ArrayBuffer | ArrayBufferView;\n readonly contentType?: string;\n}\n\nexport interface ListJobsOptions { readonly limit?: number }\nexport interface WaitForJobOptions { readonly maxAttempts?: number; readonly pollIntervalMs?: number }\nexport interface AskOptions { readonly session?: string; readonly topK?: number }\nexport interface ContextOptions { readonly session?: string; readonly q?: string }\nexport interface SessionContextOptions { readonly peer: string; readonly q?: string }\nexport interface MessageInput { readonly role: MessageRole; readonly content: string }\nexport interface AddMessagesOptions {\n readonly peerId: string;\n readonly agentId?: string;\n readonly infer?: boolean;\n readonly createdAt?: string;\n readonly metadata?: Readonly<Record<string, JsonValue>>;\n readonly sourceIds?: readonly string[];\n readonly idempotencyKey?: string;\n}\nexport interface ClaimsQueryOptions {\n readonly peerId: string;\n readonly agentId?: string;\n readonly sessionId?: string;\n readonly topK?: number;\n}\nexport interface ClaimsListOptions {\n readonly peerId: string;\n readonly agentId?: string;\n readonly sessionId?: string;\n readonly page?: number;\n readonly pageSize?: number;\n}\nexport interface ClaimMutationOptions { readonly headRevision: string; readonly reason?: string }\n"]}
{"version":3,"file":"types.js","sources":["marrow-sdk:///src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type JsonPrimitive = string | number | boolean | null;\nexport type JsonValue = JsonPrimitive | JsonObject | readonly JsonValue[];\nexport interface JsonObject { readonly [key: string]: JsonValue }\n\nexport type FetchLike = (\n input: string | URL | Request,\n init?: RequestInit,\n) => Promise<Response>;\n\nexport interface MarrowOptions {\n readonly apiKey: string;\n readonly baseURL?: string;\n readonly workspace?: string;\n readonly timeoutMs?: number;\n readonly fetch?: FetchLike;\n}\n\nexport type QueryStatus = \"partial\" | \"insufficient_evidence\";\nexport type JobStatus = \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"quarantined\";\nexport type MessageRole = \"user\" | \"assistant\" | \"system\" | \"tool\";\n\nexport interface ClaimCitation {\n readonly excerpt: string;\n readonly source_label: string;\n readonly char_offset_start: number;\n readonly char_offset_end: number;\n}\n\nexport interface EvidenceCitation {\n readonly citationId: number;\n readonly excerpt: string;\n readonly sourceLabel: string;\n readonly support?: \"quotation\" | \"compression\" | \"inference\";\n readonly charOffsetStart?: number;\n readonly charOffsetEnd?: number;\n}\n\nexport interface EvidenceAnswer {\n readonly status: QueryStatus;\n readonly text: string;\n readonly citations: readonly EvidenceCitation[];\n readonly limitations: readonly string[];\n}\n\nexport interface EvidenceWindowMember {\n readonly excerpt?: string;\n readonly charOffsetStart?: number;\n readonly charOffsetEnd?: number;\n}\n\nexport interface EvidenceEnclosingContext {\n readonly sessionLabel?: string;\n readonly sessionDate?: string;\n readonly window?: readonly EvidenceWindowMember[];\n readonly synthesis?: string;\n}\n\nexport interface EvidenceResult {\n readonly rank: number;\n readonly title: string;\n readonly snippet: string;\n readonly evidence: readonly EvidenceCitation[];\n readonly authority?: string;\n readonly supportStatus?: string;\n readonly enclosingContext?: EvidenceEnclosingContext;\n}\n\nexport type QueryMode = \"evidence\" | \"context\" | \"answer\";\nexport type QueryPreset = \"efficient\" | \"accuracy\";\nexport type QueryCoverage = \"complete\" | \"partial\" | \"unknown\" | \"not_applicable\";\nexport type QueryExecution = \"ready\" | \"degraded\" | \"provider_required\" | \"preparing\";\nexport type QueryStopReason =\n | \"complete\"\n | \"evidence_exhausted\"\n | \"budget_exhausted\"\n | \"deadline\"\n | \"provider_unavailable\"\n | \"preparing\"\n | \"owner_review_required\"\n | \"failed\";\n\nexport interface QueryCitation {\n readonly citationHandle: string;\n readonly displayOrdinal: number;\n readonly excerpt: string;\n readonly sourceLabel: string;\n readonly support?: \"quotation\" | \"compression\" | \"inference\";\n readonly charOffsetStart?: number;\n readonly charOffsetEnd?: number;\n}\n\nexport interface QueryEvidenceUnit {\n readonly citationHandle: string;\n readonly text: string;\n readonly sourceLabel: string;\n readonly support?: \"quotation\" | \"compression\" | \"inference\";\n}\n\nexport interface QueryContextFragment {\n readonly kind: \"evidence\" | \"message\" | \"representation\" | \"generated_context\";\n readonly text: string;\n readonly citable: boolean;\n readonly promptEligible: boolean;\n readonly sourceLabel?: string;\n}\n\nexport interface QueryContext {\n readonly text: string;\n readonly tokenEstimate: number;\n readonly fragments: readonly QueryContextFragment[];\n toOpenAI(): readonly [{ readonly role: \"system\"; readonly content: string }];\n toAnthropic(): { readonly system: string };\n}\n\nexport interface QueryAnswer {\n readonly disposition: \"answered\" | \"partial\" | \"insufficient_evidence\" | \"conflicted\" | \"withheld\";\n readonly text: string;\n readonly propositions: readonly {\n readonly text: string;\n readonly support: \"quotation\" | \"compression\" | \"inference\";\n readonly citationHandles: readonly string[];\n }[];\n}\n\nexport interface QueryOperation {\n readonly id: string;\n readonly state: string;\n readonly creditsCharged: number;\n readonly balance?: {\n readonly totalCreditsRemaining: number;\n readonly monthlyCreditsRemaining?: number;\n readonly onboardingCreditsRemaining?: number;\n };\n readonly usage: {\n readonly elapsedMs: number;\n readonly contextCharacters: number;\n readonly inputTokens: number;\n readonly outputTokens: number;\n readonly totalTokens: number;\n readonly providerCalls: number;\n };\n}\n\nexport interface QueryResult {\n readonly schemaVersion: \"marrow-query-result-v1\";\n readonly presetContractVersion: \"marrow-query-presets-v1\";\n readonly requestedPreset: QueryPreset;\n readonly resolvedPreset: QueryPreset;\n readonly generatedAt: string;\n readonly query: string;\n readonly mode: QueryMode;\n readonly coverage: QueryCoverage;\n readonly execution: QueryExecution;\n readonly stopReason: QueryStopReason;\n readonly answer: QueryAnswer | null;\n readonly evidence: readonly QueryEvidenceUnit[];\n readonly context: QueryContext | null;\n readonly citations: readonly QueryCitation[];\n readonly limitations: readonly string[];\n readonly gaps: readonly { readonly code: string; readonly description: string; readonly required: boolean }[];\n readonly conflicts: readonly { readonly code: string; readonly description: string; readonly citationHandles: readonly string[] }[];\n readonly operation: QueryOperation;\n}\n\nexport interface OperationCreditBalance {\n readonly totalCreditsRemaining: number;\n readonly monthlyCreditsRemaining: number;\n readonly onboardingCreditsRemaining: number;\n}\n\nexport interface OperationCharge {\n readonly correlationId: string;\n readonly creditsCharged: number;\n readonly balance: OperationCreditBalance;\n}\n\nexport interface IngestSource {\n readonly kind?: string;\n readonly path?: string;\n readonly bytes?: number;\n readonly pages?: number;\n readonly lines?: number;\n readonly url?: string;\n readonly title?: string;\n readonly contentType?: string;\n readonly datedAt?: string;\n}\n\nexport interface IngestRecordSummary {\n readonly total?: number;\n readonly sourceExcerpts?: number;\n readonly facts?: number;\n readonly links?: number;\n}\n\nexport interface IngestReview {\n readonly status?: \"ready\" | \"not_recommended\" | \"needs_review\";\n readonly warnings?: readonly string[];\n}\n\nexport interface IngestPlan {\n readonly dryRun: true;\n readonly status: \"preview_ready\";\n readonly planId?: string;\n readonly expiresAt?: string;\n readonly consumed?: boolean;\n readonly estimatedCredits?: number;\n readonly fileType?: string;\n readonly source: IngestSource;\n readonly records: IngestRecordSummary;\n readonly sourcePreviews?: readonly {\n readonly title?: string;\n readonly wordCount: number;\n readonly textPreview?: string;\n }[];\n readonly review: IngestReview;\n readonly warnings: readonly string[];\n readonly nextAction: string;\n}\n\nexport interface IngestPlanResponse {\n readonly schemaVersion: \"marrow-url-ingest-plan-v1\" | \"marrow-file-ingest-plan-v1\";\n readonly mode: \"dry-run\";\n readonly plan: IngestPlan;\n readonly warnings?: readonly string[];\n}\n\nexport interface IngestJob {\n readonly id: string;\n readonly sourceId?: string;\n readonly kind: \"url\" | \"file\" | \"source_deletion\";\n readonly status: JobStatus;\n readonly request?: IngestJobRequest | null;\n readonly result?: IngestJobResult | null;\n readonly failure?: IngestJobFailure | null;\n readonly attempts?: number;\n readonly maxAttempts?: number;\n readonly completedAt?: string | null;\n readonly createdAt: string;\n readonly updatedAt?: string;\n readonly operation?: OperationCharge;\n}\n\nexport interface IngestJobRequestSource {\n readonly kind?: string;\n readonly url?: string;\n readonly filename?: string;\n readonly contentType?: string;\n readonly datedAt?: string;\n readonly bytes?: number;\n}\n\nexport interface IngestJobRequest { readonly source: IngestJobRequestSource }\n\nexport interface IngestJobResult {\n readonly mode: \"completed\" | \"review_required\" | \"unknown\";\n readonly records?: IngestRecordSummary;\n readonly warnings?: readonly string[];\n readonly source?: IngestSource;\n readonly review?: IngestReview;\n}\n\nexport interface IngestJobFailure {\n readonly code?: \"account_credits_exhausted\" | \"processing_budget_exceeded\" | \"pdf_parser_unavailable\" | \"pdf_parser_timeout\" | \"pdf_parser_output_limit\" | \"pdf_parse_failed\" | \"ingest_job_failed\";\n readonly category?: \"account_credits\" | \"processing_budget\" | \"document_parsing\" | \"processing\";\n readonly stage?: \"parsing\" | \"processing\";\n readonly message: string;\n readonly requestId?: string;\n readonly retryable: boolean;\n readonly failedAt: string;\n readonly metric?: string;\n readonly limit?: number;\n readonly estimate?: number;\n readonly unit?: string;\n readonly limitWindow?: string;\n readonly creditsRemaining?: number;\n readonly resetAt?: string | null;\n readonly nextAction?: string;\n}\n\nexport interface IngestJobResponse {\n readonly schemaVersion: \"marrow-ingest-job-v1\";\n readonly mode?: \"queued\";\n readonly created?: boolean;\n readonly job: IngestJob;\n}\n\nexport interface Pagination {\n readonly limit?: number;\n readonly nextCursor?: string | null;\n}\n\nexport interface IngestJobListResponse {\n readonly schemaVersion: \"marrow-ingest-job-list-v1\";\n readonly jobs: readonly IngestJob[];\n readonly pagination: Pagination;\n}\n\nexport interface Workspace {\n readonly id: string;\n readonly created_at: string | null;\n}\n\nexport interface PeerRecord {\n readonly id: string;\n readonly metadata: Readonly<Record<string, never>>;\n readonly created_at: string | null;\n}\n\nexport interface SessionRecord {\n readonly id: string;\n readonly metadata: Readonly<Record<string, never>>;\n readonly peer_ids: readonly string[] | null;\n readonly created_at: string | null;\n}\n\nexport interface Message {\n readonly role: MessageRole;\n readonly content: string;\n readonly peer_id: string | null;\n readonly created_at: string | null;\n}\n\nexport interface Claim {\n readonly id: string;\n readonly content: string;\n readonly peer_id: string | null;\n readonly agent_id: string | null;\n readonly session_id: string | null;\n readonly authority: string;\n readonly state: string;\n readonly eligibility: string;\n readonly support_status: string;\n readonly valid_at: string | null;\n readonly invalid_at: string | null;\n readonly created_at: string | null;\n readonly updated_at: string | null;\n readonly head_revision: string;\n readonly metadata?: Readonly<Record<string, never>>;\n readonly categories: readonly string[];\n readonly citations: readonly ClaimCitation[];\n}\n\nexport interface ClaimHistoryEntry {\n readonly id: string;\n readonly event: \"ADD\" | \"UPDATE\" | \"DELETE\";\n readonly prior_claim: string | null;\n readonly successor_claim: string | null;\n readonly valid_at: string | null;\n readonly invalid_at: string | null;\n readonly created_at: string | null;\n readonly deterministic: boolean;\n}\n\nexport interface ClaimUpdateResult {\n readonly id: string;\n readonly content: string;\n readonly event: \"UPDATE\";\n readonly message: string;\n readonly valid_at: string;\n readonly invalid_at: string | null;\n readonly deterministic: boolean;\n readonly authority: \"correction_memory\";\n readonly state: \"current\";\n readonly eligibility: \"eligible\";\n readonly head_revision: string;\n}\n\nexport interface CurrentAccessCredential {\n readonly id: string;\n readonly name: string;\n readonly type: \"customer_api_key\";\n readonly scopes: readonly string[];\n readonly expiresAt: string | null;\n}\n\nexport interface CurrentAccessContext {\n readonly allowedWorkspaces: readonly string[];\n readonly allowedAudiences: readonly string[];\n readonly defaultWorkspace: string;\n readonly defaultAudience: string;\n}\n\nexport interface AccountUsageQuotaCounter {\n readonly period: string;\n readonly periodStart: string;\n readonly limit: number;\n readonly used: number;\n readonly remaining: number;\n readonly resetAt: string;\n}\n\nexport interface AccountUsageQuotaPair {\n readonly day: AccountUsageQuotaCounter;\n readonly month: AccountUsageQuotaCounter;\n}\n\nexport interface AccountUsageQuotas {\n readonly query: AccountUsageQuotaPair;\n readonly ingest: AccountUsageQuotaPair;\n}\n\nexport interface AccountCreditBalance {\n readonly monthlyPeriodStart: string;\n readonly monthlyCreditsGranted: number;\n readonly monthlyCreditsRemaining: number;\n readonly onboardingCreditsGranted: number;\n readonly onboardingCreditsRemaining: number;\n readonly totalCreditsGranted: number;\n readonly totalCreditsRemaining: number;\n readonly updatedAt: string;\n}\n\nexport interface CurrentAccess {\n readonly schemaVersion: \"marrow-access-v1\";\n readonly credential: CurrentAccessCredential;\n readonly context: CurrentAccessContext;\n readonly quotas: AccountUsageQuotas;\n readonly credits: AccountCreditBalance;\n}\n\nexport interface ClaimDeleteReceipt {\n readonly id: string;\n readonly invalid_at: string;\n readonly expired_at: string;\n}\n\nexport interface MessagesCreateReceipt {\n readonly event_id: string;\n readonly status: \"processing\";\n readonly results: readonly { readonly id: string }[];\n readonly authority: string;\n readonly eligibility: string;\n}\n\nexport interface RepresentationResponse {\n readonly peer_id: string;\n readonly generated_at: string;\n readonly count: number;\n readonly claims: readonly Claim[];\n}\n\nexport interface EventStatus {\n readonly event_id: string;\n readonly status: JobStatus;\n}\n\nexport interface QueueStatus {\n readonly queued: number;\n readonly running: number;\n readonly succeeded: number;\n readonly failed: number;\n}\n\nexport interface Page<T> {\n readonly items: readonly T[];\n readonly total: number;\n readonly page: number;\n readonly size: number;\n}\n\nexport interface QueryOptions {\n readonly mode: QueryMode;\n readonly idempotencyKey: string;\n readonly preset?: QueryPreset;\n readonly workspace?: string;\n readonly audience?: string;\n readonly sourceIds?: readonly string[];\n readonly peerIds?: readonly string[];\n readonly sessionIds?: readonly string[];\n readonly agentId?: string;\n}\n\nexport interface UrlIngestOptions {\n readonly dryRun?: boolean;\n readonly datedAt?: string;\n readonly idempotencyKey?: string;\n}\n\nexport interface FileIngestOptions extends UrlIngestOptions {\n readonly filename: string;\n readonly content: Blob | ArrayBuffer | ArrayBufferView;\n readonly contentType?: string;\n}\n\nexport interface ListJobsOptions { readonly limit?: number }\nexport interface WaitForJobOptions { readonly maxAttempts?: number; readonly pollIntervalMs?: number }\nexport interface AskOptions {\n readonly idempotencyKey: string;\n readonly preset?: QueryPreset;\n readonly session?: string;\n readonly agentId?: string;\n}\nexport interface ContextOptions {\n readonly idempotencyKey: string;\n readonly preset?: QueryPreset;\n readonly session?: string;\n readonly agentId?: string;\n readonly q?: string;\n}\nexport interface SessionContextOptions {\n readonly idempotencyKey: string;\n readonly preset?: QueryPreset;\n readonly peer: string;\n readonly agentId?: string;\n readonly q?: string;\n}\nexport interface MessageInput { readonly role: MessageRole; readonly content: string }\nexport interface AddMessagesOptions {\n readonly peerId: string;\n readonly agentId?: string;\n readonly infer?: boolean;\n readonly createdAt?: string;\n readonly metadata?: Readonly<Record<string, JsonValue>>;\n readonly sourceIds?: readonly string[];\n readonly idempotencyKey?: string;\n}\nexport interface ClaimsQueryOptions {\n readonly idempotencyKey: string;\n readonly preset?: QueryPreset;\n readonly peerId: string;\n readonly agentId?: string;\n readonly sessionId?: string;\n}\nexport interface ClaimsListOptions {\n readonly peerId: string;\n readonly agentId?: string;\n readonly sessionId?: string;\n readonly page?: number;\n readonly pageSize?: number;\n}\nexport interface ClaimMutationOptions { readonly headRevision: string; readonly reason?: string }\n"]}
{
"name": "@marrowid/sdk",
"version": "1.0.10",
"gitHead": "40f5fdc9371ce2bb098c5eb9faa1cbd5135acc72",
"version": "1.0.11",
"gitHead": "5e878e91c8291c3e4884fb18ee76b62b7ff1a175",
"description": "Typed Marrow client for evidence-grounded, correctable agent memory.",

@@ -6,0 +6,0 @@ "homepage": "https://marrow.id",

@@ -10,3 +10,3 @@ # @marrowid/sdk

```bash
npm install @marrowid/sdk@1.0.10
npm install @marrowid/sdk@1.0.11
```

@@ -13,0 +13,0 @@