diff --git a/.changeset/update-dsh-rc2.md b/.changeset/update-dsh-rc2.md new file mode 100644 index 0000000..2fd7385 --- /dev/null +++ b/.changeset/update-dsh-rc2.md @@ -0,0 +1,5 @@ +--- +"@orbisapp/remote-dsh": patch +--- + +Update the Orbis DSH plugin to the DSH 0.1.1-rc.2 SDK and extend the Orbis v2 bridge with capability-gated image upload/download, file and session prompt-reference completion, Ask User question responses, plan-mode selection, and read-only subagent listings. Project DSH plan-mode, goal/todo, and question state plus run-activity and presence signals into canonical Orbis snapshots and events; preserve interrupted assistant messages as aborted entries; and expand disposable real-profile smoke coverage for the new protocol paths. diff --git a/packages/orbis-agent-backend/src/backend.ts b/packages/orbis-agent-backend/src/backend.ts index 6ea7bf7..6c975a6 100644 --- a/packages/orbis-agent-backend/src/backend.ts +++ b/packages/orbis-agent-backend/src/backend.ts @@ -1,10 +1,14 @@ import type { AgentDriverDescriptor } from "./capabilities"; import { AgentBackendError } from "./errors"; import type { + AgentAttachmentReadResult, AgentJsonValue, AgentModelSelection, + AgentPromptContentBlock, AgentPermissionResponseInput, AgentPermissionResponseResult, + AgentQuestionResponseInput, + AgentQuestionResponseResult, AgentSessionEventListener, } from "./events"; import type { @@ -18,6 +22,11 @@ import type { } from "./identifiers"; import { agentBackendId } from "./identifiers"; import type { AgentSessionProjection } from "./projection"; +import type { + AgentPromptReferenceCompletionInput, + AgentPromptReferenceCompletionResult, +} from "./references"; +import type { AgentSessionSubagentEntry } from "./subagents"; export type AgentBackendKind = "local" | "remote"; @@ -51,6 +60,9 @@ export type AgentRuntimeStatus = | "ready" | "running"; +/** Observes lifecycle transitions for one session runtime façade. */ +export type AgentRuntimeStatusListener = (status: AgentRuntimeStatus) => void; + export interface AgentSessionRecord { readonly createdAt: AgentTimestamp; readonly ref: AgentSessionRef; @@ -146,6 +158,7 @@ export interface AgentWorkspaceRegisterResult { /** Client-writable session state. Runtime and transcript fields are event-owned. */ export interface AgentSessionUpdatePatch { readonly configOptions?: Readonly>; + /** Driver-owned session mode; plan mode uses the canonical "plan" value. */ readonly mode?: string | null; readonly model?: AgentModelSelection | null; readonly title?: string | null; @@ -172,9 +185,9 @@ export type AgentPromptDelivery = | "steer"; export interface AgentPromptInput { + readonly content: readonly AgentPromptContentBlock[]; readonly delivery?: AgentPromptDelivery; readonly idempotencyKey?: string; - readonly text: string; } export interface AgentPromptReceipt { @@ -196,8 +209,10 @@ export interface AgentSessionRuntime { cancel(input?: AgentCancelInput): Promise; close(): Promise; getStatus(): AgentRuntimeStatus; + observeStatus(listener: AgentRuntimeStatusListener): () => void; prompt(input: AgentPromptInput): Promise; respondPermission(input: AgentPermissionResponseInput): Promise; + respondQuestion(input: AgentQuestionResponseInput): Promise; subscribe(listener: AgentSessionEventListener): () => void; } @@ -210,13 +225,25 @@ export interface AgentHarnessDriver { close(): Promise; connectRuntime(ref: AgentSessionRef): Promise; + completePromptReferences( + input: AgentPromptReferenceCompletionInput, + ): Promise; createSession(input?: Omit): Promise; listModels(): Promise; listWorkspaces(): Promise; listSessions( input?: Omit, ): Promise; + listSessionSubagents( + ref: AgentSessionRef, + signal?: AbortSignal, + ): Promise; readSession(ref: AgentSessionRef): Promise; + readAttachment( + ref: AgentSessionRef, + attachmentId: string, + signal?: AbortSignal, + ): Promise; updateSession( ref: AgentSessionRef, input: AgentSessionUpdateInput, @@ -241,7 +268,19 @@ export interface AgentBackend { listModels(input?: AgentModelListInput): Promise; listWorkspaces(input: AgentWorkspaceListInput): Promise; listSessions(input?: AgentSessionListInput): Promise; + listSessionSubagents( + ref: AgentSessionRef, + signal?: AbortSignal, + ): Promise; readSession(ref: AgentSessionRef): Promise; + completePromptReferences( + input: AgentPromptReferenceCompletionInput, + ): Promise; + readAttachment( + ref: AgentSessionRef, + attachmentId: string, + signal?: AbortSignal, + ): Promise; registerWorkspace(input: AgentWorkspaceRegisterInput): Promise; updateSession( ref: AgentSessionRef, diff --git a/packages/orbis-agent-backend/src/capabilities.ts b/packages/orbis-agent-backend/src/capabilities.ts index e97e8af..2111a70 100644 --- a/packages/orbis-agent-backend/src/capabilities.ts +++ b/packages/orbis-agent-backend/src/capabilities.ts @@ -5,8 +5,12 @@ export const AGENT_DRIVER_CAPABILITIES = [ "input.attachments", "model.select", "permission.respond", + "plan.select", "prompt.follow_up", + "prompt.references.files", + "prompt.references.sessions", "prompt.steer", + "question.respond", "run.cancel", "session.create", "session.dispose", @@ -14,6 +18,7 @@ export const AGENT_DRIVER_CAPABILITIES = [ "session.list", "session.read", "session.resume", + "session.subagents.list", "thinking.select", "workspace.open", "workspace.select", diff --git a/packages/orbis-agent-backend/src/contract.test.ts b/packages/orbis-agent-backend/src/contract.test.ts index cfb1f66..1379e99 100644 --- a/packages/orbis-agent-backend/src/contract.test.ts +++ b/packages/orbis-agent-backend/src/contract.test.ts @@ -12,8 +12,16 @@ import { createAgentDriverDescriptor, createAgentSessionProjection, createAgentSessionRef, + hasAgentDriverCapability, validateAgentPermissionRequest, validateAgentPermissionResponseInput, + validateAgentPromptInput, + validateAgentQuestionRequest, + validateAgentQuestionResponseForRequest, + validateAgentQuestionResponseInput, + validateAgentSessionSubagentEntry, + validateAgentSessionSubagentList, + validateAgentWorkState, type AgentEntryAppendedEvent, type AgentEntryDeltaEvent, type AgentSessionStateChangedEvent, @@ -84,6 +92,192 @@ function projectionFixture() { return { metadata, ref }; } +function subagentRef(nativeSessionId: string) { + return createAgentSessionRef({ + backendId: "dsh-host", + driverId: "dsh", + nativeSessionId, + sessionId: nativeSessionId, + }); +} + +test("validates subagent child/diagnostic rows and preserves pre-order", () => { + const root = subagentRef("root"); + const child = subagentRef("child"); + const diagnostic = subagentRef("broken"); + const entries = validateAgentSessionSubagentList([ + { + activity: "running", + depth: 1, + hasChildren: true, + kind: "child", + mode: "continuable", + parentRef: root, + ref: child, + label: "Build helper", + }, + { depth: 2, kind: "diagnostic", parentRef: child, reason: "corrupt", ref: diagnostic }, + ], root); + + expect(entries.map((entry) => entry.ref.sessionId)).toEqual(["child", "broken"]); + expect(Object.isFrozen(entries)).toBe(true); + expect(() => + validateAgentSessionSubagentEntry({ + activity: "inactive", + depth: 1, + hasChildren: false, + kind: "child", + mode: "continuable", + parentRef: root, + ref: child, + }), + ).toThrow(/label/i); +}); + +test("rejects malformed subagent identities, duplicate rows, and invalid enums", () => { + const root = subagentRef("root"); + const child = subagentRef("child"); + expect(() => + validateAgentSessionSubagentEntry({ + activity: "running", + depth: 0, + hasChildren: false, + kind: "child", + mode: "one-shot", + parentRef: root, + ref: child, + }), + ).toThrow(/depth/i); + expect(() => + validateAgentSessionSubagentList([ + { + depth: 1, + kind: "diagnostic", + parentRef: root, + reason: "corrupt", + ref: child, + }, + { + depth: 1, + kind: "diagnostic", + parentRef: root, + reason: "corrupt", + ref: child, + }, + ], root), + ).toThrow(/duplicate/i); + expect(() => + validateAgentSessionSubagentEntry({ + depth: 1, + kind: "diagnostic", + parentRef: root, + reason: "unknown", + ref: child, + }), + ).toThrow(/reason/i); + const catalogChild = createAgentSessionRef({ + backendId: root.backendId, + driverId: root.driverId, + nativeSessionId: "child-native", + sessionId: "catalog-child", + }); + expect(() => + validateAgentSessionSubagentList( + [ + { + activity: "running", + depth: 1, + hasChildren: false, + kind: "child", + mode: "one-shot", + parentRef: root, + ref: catalogChild, + }, + ], + root, + ), + ).not.toThrow(); +}); + +test("root-aware subagent validation rejects foreign, orphaned, and misnested rows", () => { + const root = createAgentSessionRef({ + backendId: "remote:host", + driverId: "dsh", + nativeSessionId: "native-root", + sessionId: "catalog-root", + }); + const child = createAgentSessionRef({ + backendId: root.backendId, + driverId: root.driverId, + nativeSessionId: "native-child", + sessionId: "catalog-child", + }); + const grandchild = createAgentSessionRef({ + backendId: root.backendId, + driverId: root.driverId, + nativeSessionId: "native-grandchild", + sessionId: "catalog-grandchild", + }); + const foreign = createAgentSessionRef({ + backendId: "other-host", + driverId: root.driverId, + nativeSessionId: "native-foreign", + sessionId: "catalog-foreign", + }); + const orphan = createAgentSessionRef({ + backendId: root.backendId, + driverId: root.driverId, + nativeSessionId: "native-orphan", + sessionId: "catalog-orphan", + }); + const childRow = { + activity: "inactive" as const, + depth: 1, + hasChildren: true, + kind: "child" as const, + mode: "continuable" as const, + parentRef: root, + ref: child, + label: "Child", + }; + expect( + validateAgentSessionSubagentList( + [childRow, { ...childRow, depth: 2, parentRef: child, ref: grandchild }], + root, + ), + ).toHaveLength(2); + expect(() => + validateAgentSessionSubagentList([{ ...childRow, ref: foreign }], root), + ).toThrow(/foreign/i); + expect(() => + validateAgentSessionSubagentList( + [{ ...childRow, depth: 2, parentRef: orphan, ref: grandchild }], + root, + ), + ).toThrow(/pre-order/i); + expect(() => + validateAgentSessionSubagentList( + [{ ...childRow, depth: 3, parentRef: child, ref: grandchild }], + root, + ), + ).toThrow(/pre-order/i); + expect(() => + validateAgentSessionSubagentList( + [ + { + depth: 1, + kind: "diagnostic" as const, + parentRef: root, + reason: "unavailable" as const, + ref: orphan, + }, + { ...childRow, depth: 2, parentRef: orphan, ref: grandchild }, + ], + root, + ), + ).toThrow(/pre-order/i); +}); + function durableEntryEvent( cursor: number, eventId: string, @@ -145,6 +339,39 @@ async function expectUnavailable(operation: () => Promise): Promise { + test("requires canonical base64 for inline image prompt blocks", () => { + expect(() => + validateAgentPromptInput({ + content: [{ data: "AB==", mimeType: "image/png", type: "image" }], + }), + ).toThrow(/canonical base64/u); + expect( + validateAgentPromptInput({ + content: [{ data: "AA==", mimeType: "image/png", type: "image" }], + }), + ).toMatchObject({ content: [{ data: "AA==", type: "image" }] }); + }); + + test("seeds runtime status observers, emits real transitions, and closes after publishing closed", async () => { + const backend = createBackend(); + const record = await backend.getDriver("pi").createSession(); + const runtime = await backend.connectRuntime(record.ref); + const statuses: string[] = []; + + runtime.observeStatus((status) => statuses.push(status)); + runtime.observeStatus(() => { + throw new Error("observer failure"); + }); + expect(statuses).toEqual(["ready"]); + + await runtime.prompt({ content: [{ text: "Run", type: "text" }] }); + await runtime.finish("completed"); + await runtime.close(); + + expect(statuses).toEqual(["ready", "running", "ready", "closed"]); + expect(runtime.getStatus()).toBe("closed"); + }); + test("allows a local backend to host Pi and DSH sessions concurrently without tying a run to a UI subscription", async () => { const backend = createBackend(); const pi = backend.getDriver("pi"); @@ -156,9 +383,11 @@ describe("agent backend contract", () => { const piEvents: AgentSessionEvent[] = []; const unsubscribe = piRuntime.subscribe((event) => piEvents.push(event)); - await piRuntime.prompt({ text: "Keep running while the UI switches away" }); + await piRuntime.prompt({ + content: [{ text: "Keep running while the UI switches away", type: "text" }], + }); unsubscribe(); - await dshRuntime.prompt({ text: "A separate DSH run" }); + await dshRuntime.prompt({ content: [{ text: "A separate DSH run", type: "text" }] }); await piRuntime.commitAssistantText("Pi completed a durable response after the switch"); expect(piRuntime.getStatus()).toBe("running"); @@ -181,8 +410,8 @@ describe("agent backend contract", () => { const firstRuntime = await backend.connectRuntime(first.ref); const secondRuntime = await backend.connectRuntime(second.ref); - await firstRuntime.prompt({ text: "First run" }); - await secondRuntime.prompt({ text: "Second run" }); + await firstRuntime.prompt({ content: [{ text: "First run", type: "text" }] }); + await secondRuntime.prompt({ content: [{ text: "Second run", type: "text" }] }); await firstRuntime.close(); expect(firstRuntime.getStatus()).toBe("closed"); @@ -410,4 +639,223 @@ describe("agent backend contract", () => { }), ).toEqual({ optionId: "allow-once", requestId: "request-1" }); }); + + test("keeps Ask User separate from permission and validates full-set opaque answers", () => { + const request = validateAgentQuestionRequest({ + questions: [ + { + detail: "# Review\n\nChoose the deployment target.", + header: "Target", + intent: { approveOptionId: "yes", kind: "plan-review" }, + multiSelect: false, + options: [ + { label: "Approve", optionId: "yes" }, + { description: "Do not continue", label: "Reject", optionId: "no" }, + ], + question: "Continue with this plan?", + questionId: "deploy", + }, + { + multiSelect: true, + options: [{ label: "Email", optionId: "email" }], + question: "Which notifications should be enabled?", + questionId: "notifications", + }, + ], + requestId: "question-1", + requestedAt: FIXED_TIME, + }); + expect(request.questions.map((question) => question.questionId)).toEqual([ + "deploy", + "notifications", + ]); + expect(request.questions[0]?.detail).toContain("\n"); + + expect( + validateAgentQuestionResponseForRequest( + { + requestId: "question-1", + response: { + answers: [ + { customText: "Looks good", optionIds: ["email"], questionId: "notifications" }, + { optionIds: ["yes"], questionId: "deploy" }, + ], + kind: "answered", + }, + }, + request, + ), + ).toMatchObject({ + response: { + answers: [ + { optionIds: ["yes"], questionId: "deploy" }, + { optionIds: ["email"], questionId: "notifications" }, + ], + }, + }); + expect( + validateAgentQuestionResponseInput({ + requestId: "question-1", + response: { kind: "cancelled" }, + }), + ).toMatchObject({ response: { kind: "cancelled" } }); + expect(() => + validateAgentQuestionRequest({ + questions: [ + { + intent: { approveOptionId: "missing", kind: "plan-review" }, + multiSelect: false, + options: [{ label: "Approve", optionId: "yes" }], + question: "Invalid plan", + questionId: "plan", + }, + ], + requestId: "question-bad-intent", + requestedAt: FIXED_TIME, + }), + ).toThrow(/reference an option/u); + expect(() => + validateAgentQuestionResponseForRequest( + { + requestId: "question-1", + response: { + answers: [ + { optionIds: ["yes"], questionId: "deploy" }, + { optionIds: [], questionId: "deploy" }, + ], + kind: "answered", + }, + }, + request, + ), + ).toThrow(/unique/u); + expect(() => + validateAgentQuestionResponseForRequest( + { + requestId: "question-1", + response: { + answers: [ + { customText: "Cannot combine", optionIds: ["yes"], questionId: "deploy" }, + { optionIds: ["email"], questionId: "notifications" }, + ], + kind: "answered", + }, + }, + request, + ), + ).toThrow(/combine/u); + expect(() => + validateAgentQuestionRequest({ + questions: [ + { + intent: { approveOptionId: "yes", kind: "plan-review" }, + multiSelect: false, + options: [{ label: "Approve", optionId: "yes" }], + question: "Missing detail", + questionId: "plan", + }, + ], + requestId: "question-bad-detail", + requestedAt: FIXED_TIME, + }), + ).toThrow(/require detail/u); + }); + + test("replaces and clears pending questions and work state as whole snapshots", () => { + const { ref } = projectionFixture(); + const request = validateAgentQuestionRequest({ + questions: [ + { + multiSelect: false, + options: [{ label: "Yes", optionId: "yes" }], + question: "Continue?", + questionId: "continue", + }, + ], + requestId: "question-state", + requestedAt: FIXED_TIME, + }); + const first = expectApplied({ + durability: "transient", + eventId: agentEventId("state-questions"), + occurredAt: FIXED_TIME, + payload: { + patch: { + pendingQuestions: [request], + workState: validateAgentWorkState({ + goal: { + createdAt: FIXED_TIME, + id: "goal-1", + maxGoalRounds: 4, + objective: "Ship the feature", + phase: "active", + revision: 1, + roundsStarted: 1, + updatedAt: FIXED_TIME, + }, + todos: [{ content: "Review", status: "in_progress" }], + }), + }, + revision: 1, + }, + sessionId: ref.sessionId, + source: { backendId: ref.backendId, driverId: ref.driverId }, + type: "session.state.changed", + }); + expect(first.pendingQuestions).toEqual([request]); + expect(first.workState.goal?.id).toBe("goal-1"); + expect(first.workState.todos).toEqual([{ content: "Review", status: "in_progress" }]); + + const cleared = expectApplied( + { + durability: "transient", + eventId: agentEventId("state-clear"), + occurredAt: FIXED_TIME, + payload: { + patch: { pendingQuestions: [], workState: { goal: null, todos: [] } }, + revision: 2, + }, + sessionId: ref.sessionId, + source: { backendId: ref.backendId, driverId: ref.driverId }, + type: "session.state.changed", + }, + first, + ); + expect(cleared.pendingQuestions).toEqual([]); + expect(cleared.workState).toEqual({ goal: null, todos: [] }); + expect(() => + validateAgentWorkState({ + goal: { + createdAt: FIXED_TIME, + id: "goal-0", + maxGoalRounds: 0, + objective: "Invalid", + phase: "active", + revision: 0, + roundsStarted: 0, + updatedAt: FIXED_TIME, + }, + todos: [], + }), + ).toThrow(/invalid/u); + expect(() => + validateAgentWorkState({ + goal: null, + todos: [ + { content: "Same", status: "pending" }, + { content: "Same", status: "completed" }, + ], + }), + ).toThrow(/unique/u); + }); + + test("advertises independent plan and question capabilities", () => { + const driver = createAgentDriverDescriptor({ + capabilities: ["plan.select", "question.respond"], + displayName: "Questions", + id: "questions", + }); + expect(hasAgentDriverCapability(driver, "plan.select")).toBe(true); + expect(hasAgentDriverCapability(driver, "question.respond")).toBe(true); + }); }); diff --git a/packages/orbis-agent-backend/src/events.ts b/packages/orbis-agent-backend/src/events.ts index 7806d56..d1ba831 100644 --- a/packages/orbis-agent-backend/src/events.ts +++ b/packages/orbis-agent-backend/src/events.ts @@ -55,7 +55,21 @@ export type AgentMessageRole = "assistant" | "system" | "user"; export type AgentContentBlock = | { readonly text: string; readonly type: "text" } - | { readonly data: string; readonly mimeType: string; readonly type: "image" } + | { + readonly data: string; + readonly mimeType: string; + readonly name?: string; + readonly type: "image"; + } + | { + readonly attachmentId: string; + readonly bytes?: number; + readonly height?: number; + readonly mimeType: string; + readonly name?: string; + readonly type: "image_reference"; + readonly width?: number; + } | { readonly redacted?: boolean; readonly text: string; readonly type: "thinking" } | { readonly callId: string; @@ -65,6 +79,27 @@ export type AgentContentBlock = } | { readonly name: string; readonly type: "resource"; readonly uri: string }; +/** Prompt content accepted by a backend runtime after attachment admission. */ +export type AgentPromptContentBlock = + | { readonly text: string; readonly type: "text" } + | { + readonly data: string; + readonly mimeType: string; + readonly name?: string; + readonly type: "image"; + }; + +/** Canonical encoded payload returned by the backend attachment read seam. */ +export interface AgentAttachmentReadResult { + readonly attachmentId: string; + readonly bytes?: number; + readonly data: string; + readonly height?: number; + readonly mimeType: string; + readonly name?: string; + readonly width?: number; +} + interface AgentSessionEntryBase { readonly createdAt: AgentTimestamp; /** Parent in the driver's durable entry tree; host adapters may materialize it. */ @@ -147,6 +182,37 @@ export interface AgentQueuedInput { readonly queuedAt: AgentTimestamp; } +export type AgentGoalPhase = "active" | "blocked" | "complete" | "paused"; + +export interface AgentGoalBlockedReason { + readonly code: string; + readonly message: string; +} + +/** Whole durable goal snapshot, independent of any one harness implementation. */ +export interface AgentGoal { + readonly blockedReason?: AgentGoalBlockedReason; + readonly createdAt: AgentTimestamp; + readonly id: string; + readonly maxGoalRounds: number; + readonly objective: string; + readonly phase: AgentGoalPhase; + readonly revision: number; + readonly roundsStarted: number; + readonly updatedAt: AgentTimestamp; +} + +export interface AgentTodoItem { + readonly content: string; + readonly status: "completed" | "in_progress" | "pending"; +} + +/** Stable whole snapshot used by goal/todo-capable drivers. */ +export interface AgentWorkState { + readonly goal: AgentGoal | null; + readonly todos: readonly AgentTodoItem[]; +} + export type AgentPermissionOptionKind = | "allow_always" | "allow_once" @@ -178,6 +244,57 @@ export interface AgentPermissionResponseResult { readonly accepted: boolean; } +/** A display-safe option in a driver-owned Ask User question. */ +export interface AgentQuestionOption { + readonly description?: string; + /** Opaque protocol identity; clients must not substitute the label here. */ + readonly optionId: string; + readonly label: string; +} + +export interface AgentQuestionPlanReviewIntent { + readonly approveOptionId: string; + readonly kind: "plan-review"; +} + +/** One item in a full-set Ask User request. */ +export interface AgentQuestionItem { + readonly detail?: string; + readonly header?: string; + readonly intent?: AgentQuestionPlanReviewIntent; + readonly multiSelect: boolean; + readonly options: readonly AgentQuestionOption[]; + readonly question: string; + readonly questionId: string; +} + +/** The complete set of questions owned by one paused driver interaction. */ +export interface AgentQuestionRequest { + readonly questions: readonly AgentQuestionItem[]; + readonly requestedAt: AgentTimestamp; + readonly requestId: string; +} + +export interface AgentQuestionAnswerItem { + readonly customText?: string; + readonly optionIds: readonly string[]; + readonly questionId: string; +} + +export type AgentQuestionResponse = + | { readonly answers: readonly AgentQuestionAnswerItem[]; readonly kind: "answered" } + | { readonly kind: "cancelled" }; + +export interface AgentQuestionResponseInput { + readonly idempotencyKey?: string; + readonly requestId: string; + readonly response: AgentQuestionResponse; +} + +export interface AgentQuestionResponseResult { + readonly accepted: boolean; +} + export interface AgentPublicError { readonly code: string; readonly message: string; @@ -243,11 +360,15 @@ export interface AgentSessionStatePatch { readonly model?: AgentModelSelection | null; readonly pendingInputs?: readonly AgentQueuedInput[]; readonly pendingPermissions?: readonly AgentPermissionRequest[]; + /** Complete current Ask User request set; omitted only when unchanged. */ + readonly pendingQuestions?: readonly AgentQuestionRequest[]; readonly runState?: AgentSessionRunState; readonly title?: string | null; readonly updatedAt?: AgentTimestamp; readonly usageTotal?: AgentUsage | null; readonly workspaceRef?: string | null; + /** Complete harness-neutral goal/todo snapshot; omitted only when unchanged. */ + readonly workState?: AgentWorkState; } export interface AgentSessionStateChangedEvent extends AgentTransientEventBase { diff --git a/packages/orbis-agent-backend/src/index.ts b/packages/orbis-agent-backend/src/index.ts index 78810d1..20eb3d7 100644 --- a/packages/orbis-agent-backend/src/index.ts +++ b/packages/orbis-agent-backend/src/index.ts @@ -21,6 +21,7 @@ export { type AgentPromptDelivery, type AgentPromptInput, type AgentPromptReceipt, + type AgentRuntimeStatusListener, type AgentRuntimeStatus, type AgentSessionCatalog, type AgentSessionCreateInput, @@ -50,6 +51,7 @@ export { type AgentBackendErrorOptions, } from "./errors"; export type { + AgentAttachmentReadResult, AgentContentBlock, AgentContextEntry, AgentContextOrigin, @@ -58,6 +60,9 @@ export type { AgentEntryAppendedEvent, AgentEventSource, AgentJsonValue, + AgentGoal, + AgentGoalBlockedReason, + AgentGoalPhase, AgentMessageEntry, AgentMessageRole, AgentModelSelection, @@ -66,6 +71,14 @@ export type { AgentPermissionRequest, AgentPermissionResponseInput, AgentPermissionResponseResult, + AgentQuestionAnswerItem, + AgentQuestionItem, + AgentQuestionOption, + AgentQuestionPlanReviewIntent, + AgentQuestionRequest, + AgentQuestionResponse, + AgentQuestionResponseInput, + AgentQuestionResponseResult, AgentNoticeEntry, AgentPresenceChangedEvent, AgentPresenceDevice, @@ -87,6 +100,8 @@ export type { AgentToolEntry, AgentTransientSessionEvent, AgentUsage, + AgentTodoItem, + AgentWorkState, } from "./events"; export { agentBackendId, @@ -124,7 +139,43 @@ export { type AgentRunSummary, type AgentSessionProjection, } from "./projection"; +export { validateAgentAttachmentReadResult, validateAgentPromptInput } from "./prompt"; +export type { AgentPromptContentBlock } from "./events"; +export { + AGENT_PROMPT_REFERENCE_MAX_CANDIDATES, + AGENT_PROMPT_REFERENCE_MAX_DETAIL_LENGTH, + AGENT_PROMPT_REFERENCE_MAX_INSERT_TEXT_LENGTH, + AGENT_PROMPT_REFERENCE_MAX_LABEL_LENGTH, + AGENT_PROMPT_REFERENCE_MAX_LIMIT, + AGENT_PROMPT_REFERENCE_MAX_TEXT_LENGTH, + validateAgentPromptReferenceCompletionInput, + validateAgentPromptReferenceCompletionResult, + type AgentPromptReferenceCandidate, + type AgentPromptReferenceCandidateKind, + type AgentPromptReferenceCompletionInput, + type AgentPromptReferenceCompletionResult, + type AgentPromptReferenceSource, +} from "./references"; +export { + validateAgentQuestionRequest, + validateAgentQuestionResponseForRequest, + validateAgentQuestionResponseInput, +} from "./questions"; export { validateAgentPermissionRequest, validateAgentPermissionResponseInput, } from "./permissions"; +export { validateAgentGoal, validateAgentTodoItem, validateAgentWorkState } from "./work-state"; +export { + AGENT_SESSION_SUBAGENT_MAX_DEPTH, + AGENT_SESSION_SUBAGENT_MAX_ENTRIES, + AGENT_SESSION_SUBAGENT_MAX_LABEL_LENGTH, + validateAgentSessionSubagentEntry, + validateAgentSessionSubagentList, + type AgentSessionSubagentActivity, + type AgentSessionSubagentChild, + type AgentSessionSubagentDiagnostic, + type AgentSessionSubagentDiagnosticReason, + type AgentSessionSubagentEntry, + type AgentSessionSubagentMode, +} from "./subagents"; diff --git a/packages/orbis-agent-backend/src/projection.ts b/packages/orbis-agent-backend/src/projection.ts index 3fa9f39..c1a7013 100644 --- a/packages/orbis-agent-backend/src/projection.ts +++ b/packages/orbis-agent-backend/src/projection.ts @@ -1,6 +1,7 @@ import { AgentBackendError } from "./errors"; import type { AgentPermissionRequest, + AgentQuestionRequest, AgentQueuedInput, AgentDurableSessionEvent, AgentPublicError, @@ -10,6 +11,7 @@ import type { AgentSessionConfigOption, AgentSessionStateChangedEvent, AgentUsage, + AgentWorkState, } from "./events"; import { agentDeliveryCursor, @@ -59,11 +61,13 @@ export interface AgentSessionProjection { readonly metadata: AgentSessionMetadata; readonly pendingInputs?: readonly AgentQueuedInput[]; readonly pendingPermissions?: readonly AgentPermissionRequest[]; + readonly pendingQuestions: readonly AgentQuestionRequest[]; readonly ref: AgentSessionRef; readonly revision: number; readonly state: AgentProjectionState; readonly usageTotal?: AgentUsage; readonly workspaceRef?: string | null; + readonly workState: AgentWorkState; } export type AgentProjectionApplyResult = @@ -96,9 +100,11 @@ export function createAgentSessionProjection( cursor: agentDeliveryCursor(0), entries: [], metadata, + pendingQuestions: [], ref, revision: 0, state: "idle", + workState: { goal: null, todos: [] }, }; } @@ -219,12 +225,14 @@ function applyStateChanged( ...(patch.pendingPermissions === undefined ? {} : { pendingPermissions: patch.pendingPermissions }), + ...(patch.pendingQuestions === undefined ? {} : { pendingQuestions: patch.pendingQuestions }), revision, ...(runState === undefined ? {} : { state: runState }), ...(patch.usageTotal === undefined ? {} : { usageTotal: patch.usageTotal === null ? undefined : patch.usageTotal }), ...(patch.workspaceRef === undefined ? {} : { workspaceRef: patch.workspaceRef }), + ...(patch.workState === undefined ? {} : { workState: patch.workState }), }, }; } diff --git a/packages/orbis-agent-backend/src/prompt.ts b/packages/orbis-agent-backend/src/prompt.ts new file mode 100644 index 0000000..eb07f5f --- /dev/null +++ b/packages/orbis-agent-backend/src/prompt.ts @@ -0,0 +1,144 @@ +import type { AgentPromptInput } from "./backend"; +import { AgentBackendError } from "./errors"; +import type { AgentPromptContentBlock } from "./events"; +import { agentTimestamp } from "./identifiers"; + +const MAX_PROMPT_TEXT_LENGTH = 65_536; +const MAX_IMAGE_NAME_LENGTH = 512; + +function invalid(message: string): never { + throw new AgentBackendError("invalid_argument", message); +} + +function record(value: unknown, label: string): Record { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + return invalid(`${label} is invalid`); + } + return value as Record; +} + +function text(value: unknown, label: string): string { + if (typeof value !== "string" || value.length === 0 || value.length > MAX_PROMPT_TEXT_LENGTH) { + return invalid(`${label} is invalid`); + } + for (const character of value) { + const code = character.charCodeAt(0); + if (code === 0x7f || (code <= 0x1f && code !== 0x09 && code !== 0x0a && code !== 0x0d)) { + return invalid(`${label} is invalid`); + } + } + return value; +} + +function nonEmpty(value: unknown, label: string, maxLength = 256): string { + if ( + typeof value !== "string" || + value.length === 0 || + value.length > maxLength || + value !== value.trim() + ) { + return invalid(`${label} is invalid`); + } + for (const character of value) { + const code = character.charCodeAt(0); + if (code <= 0x1f || code === 0x7f) return invalid(`${label} is invalid`); + } + return value; +} + +function base64(value: unknown, label: string): string { + if ( + typeof value !== "string" || + value.length === 0 || + value.length % 4 === 1 || + !/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u.test(value) + ) { + return invalid(`${label} is invalid`); + } + const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + const significantEnd = value.endsWith("==") + ? value.length - 2 + : value.endsWith("=") + ? value.length - 1 + : value.length; + const trailingIndex = alphabet.indexOf(value[significantEnd - 1] ?? ""); + if (value.endsWith("==") && (trailingIndex < 0 || (trailingIndex & 0x0f) !== 0)) { + return invalid(`${label} is not canonical base64`); + } + if ( + value.endsWith("=") && + !value.endsWith("==") && + (trailingIndex < 0 || (trailingIndex & 0x03) !== 0) + ) { + return invalid(`${label} is not canonical base64`); + } + return value; +} + +function promptBlock(value: unknown): AgentPromptContentBlock { + const input = record(value, "Prompt content block"); + if (input.type === "text") { + return { text: text(input.text, "Prompt text"), type: "text" }; + } + if (input.type === "image") { + return { + data: base64(input.data, "Prompt image data"), + mimeType: nonEmpty(input.mimeType, "Prompt image MIME type"), + ...(input.name === undefined + ? {} + : { name: nonEmpty(input.name, "Prompt image name", MAX_IMAGE_NAME_LENGTH) }), + type: "image", + }; + } + return invalid("Prompt content block type is invalid"); +} + +/** Validate the narrow prompt surface before a backend driver receives it. */ +export function validateAgentPromptInput(value: unknown): AgentPromptInput { + const input = record(value, "Prompt input"); + if (!Array.isArray(input.content) || input.content.length === 0) { + return invalid("Prompt content is required"); + } + const content = input.content.map(promptBlock); + if (!content.some((block) => block.type === "image" || block.text.trim().length > 0)) { + return invalid("Prompt content must not be empty"); + } + return { + content, + ...(input.delivery === undefined + ? {} + : input.delivery === "steer" || input.delivery === "follow_up" + ? { delivery: input.delivery } + : invalid("Prompt delivery is invalid")), + ...(input.idempotencyKey === undefined + ? {} + : { idempotencyKey: nonEmpty(input.idempotencyKey, "Prompt idempotency key", 1024) }), + }; +} + +export function validateAgentAttachmentReadResult(value: unknown) { + const input = record(value, "Attachment read result"); + const result = { + attachmentId: nonEmpty(input.attachmentId, "Attachment id", 1024), + data: base64(input.data, "Attachment data"), + mimeType: nonEmpty(input.mimeType, "Attachment MIME type"), + ...(input.name === undefined + ? {} + : { name: nonEmpty(input.name, "Attachment name", MAX_IMAGE_NAME_LENGTH) }), + ...(input.bytes === undefined + ? {} + : { bytes: positiveInteger(input.bytes, "Attachment bytes") }), + ...(input.width === undefined + ? {} + : { width: positiveInteger(input.width, "Attachment width") }), + ...(input.height === undefined + ? {} + : { height: positiveInteger(input.height, "Attachment height") }), + }; + return result; +} + +function positiveInteger(value: unknown, label: string): number { + if (!Number.isSafeInteger(value) || (value as number) < 1) return invalid(`${label} is invalid`); + return value as number; +} diff --git a/packages/orbis-agent-backend/src/questions.ts b/packages/orbis-agent-backend/src/questions.ts new file mode 100644 index 0000000..8552b98 --- /dev/null +++ b/packages/orbis-agent-backend/src/questions.ts @@ -0,0 +1,217 @@ +import { AgentBackendError } from "./errors"; +import type { + AgentQuestionAnswerItem, + AgentQuestionItem, + AgentQuestionOption, + AgentQuestionRequest, + AgentQuestionResponseInput, +} from "./events"; +import { agentTimestamp } from "./identifiers"; + +const MAX_QUESTION_TEXT_LENGTH = 2048; +const MAX_QUESTION_DETAIL_LENGTH = 65_536; +const MAX_QUESTION_COUNT = 32; +const MAX_QUESTION_OPTIONS = 32; + +function invalid(message: string): never { + throw new AgentBackendError("invalid_argument", message); +} + +function record(value: unknown, label: string): Record { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + return invalid(`${label} is invalid`); + } + return value as Record; +} + +function displayText(value: unknown, label: string, max: number, multiline: boolean): string { + if (typeof value !== "string" || value.length === 0 || value.length > max || !value.trim()) { + return invalid(`${label} is invalid`); + } + for (const character of value) { + const code = character.charCodeAt(0); + if ( + code === 0x7f || + (code <= 0x1f && (!multiline || (code !== 0x09 && code !== 0x0a && code !== 0x0d))) + ) { + return invalid(`${label} is invalid`); + } + } + return value; +} + +function id(value: unknown, label: string): string { + const result = displayText(value, label, 1024, false); + if (result !== result.trim()) return invalid(`${label} is invalid`); + return result; +} + +function text(value: unknown, label: string): string { + return displayText(value, label, MAX_QUESTION_TEXT_LENGTH, true); +} + +function singleLine(value: unknown, label: string): string { + return displayText(value, label, MAX_QUESTION_TEXT_LENGTH, false); +} + +function detail(value: unknown, label: string): string { + return displayText(value, label, MAX_QUESTION_DETAIL_LENGTH, true); +} + +function option(value: unknown): AgentQuestionOption { + const input = record(value, "Question option"); + return { + ...(input.description === undefined + ? {} + : { description: text(input.description, "Question option description") }), + label: singleLine(input.label, "Question option label"), + optionId: id(input.optionId, "Question option id"), + }; +} + +function questionItem(value: unknown): AgentQuestionItem { + const input = record(value, "Question item"); + const rawOptions = input.options; + if (!Array.isArray(rawOptions) || rawOptions.length > MAX_QUESTION_OPTIONS) { + return invalid("Question item options are invalid"); + } + const options = rawOptions.map(option); + if (new Set(options.map((item) => item.optionId)).size !== options.length) { + return invalid("Question option ids must be unique"); + } + const multiSelect = input.multiSelect; + if (typeof multiSelect !== "boolean") return invalid("Question multi-select flag is invalid"); + + let intent: AgentQuestionItem["intent"]; + if (input.intent !== undefined) { + const rawIntent = record(input.intent, "Question intent"); + if (rawIntent.kind !== "plan-review") return invalid("Question intent is invalid"); + const approveOptionId = id(rawIntent.approveOptionId, "Question approve option id"); + if (!options.some((item) => item.optionId === approveOptionId)) { + return invalid("Question approve option id must reference an option"); + } + if (input.detail === undefined) return invalid("Plan-review questions require detail"); + intent = { approveOptionId, kind: "plan-review" }; + } + + return { + ...(input.detail === undefined ? {} : { detail: detail(input.detail, "Question detail") }), + ...(input.header === undefined ? {} : { header: singleLine(input.header, "Question header") }), + ...(intent === undefined ? {} : { intent }), + multiSelect, + options, + question: text(input.question, "Question text"), + questionId: id(input.questionId, "Question id"), + }; +} + +/** Validate and normalize a complete driver-owned Ask User request. */ +export function validateAgentQuestionRequest(value: unknown): AgentQuestionRequest { + const input = record(value, "Question request"); + if ( + !Array.isArray(input.questions) || + input.questions.length === 0 || + input.questions.length > MAX_QUESTION_COUNT + ) { + return invalid("Question request questions are invalid"); + } + const questions = input.questions.map(questionItem); + if (new Set(questions.map((item) => item.questionId)).size !== questions.length) { + return invalid("Question ids must be unique"); + } + if (typeof input.requestedAt !== "string") + return invalid("Question request timestamp is invalid"); + return { + questions, + requestedAt: agentTimestamp(input.requestedAt), + requestId: id(input.requestId, "Question request id"), + }; +} + +function answerItem(value: unknown): AgentQuestionAnswerItem { + const input = record(value, "Question answer"); + if (!Array.isArray(input.optionIds)) return invalid("Question answer option ids are invalid"); + const optionIds = input.optionIds.map((optionId) => id(optionId, "Question option id")); + if (new Set(optionIds).size !== optionIds.length) { + return invalid("Question answer option ids must be unique"); + } + return { + ...(input.customText === undefined + ? {} + : { customText: detail(input.customText, "Question custom text") }), + optionIds, + questionId: id(input.questionId, "Question id"), + }; +} + +/** Validate response shape without resolving it against a pending request. */ +export function validateAgentQuestionResponseInput(value: unknown): AgentQuestionResponseInput { + const input = record(value, "Question response"); + const response = record(input.response, "Question response body"); + const kind = response.kind; + if (kind === "cancelled") { + return { + ...(input.idempotencyKey === undefined + ? {} + : { idempotencyKey: id(input.idempotencyKey, "Question idempotency key") }), + requestId: id(input.requestId, "Question request id"), + response: { kind }, + }; + } + if (kind !== "answered" || !Array.isArray(response.answers)) { + return invalid("Question response kind or answers are invalid"); + } + const answers = response.answers.map(answerItem); + if (new Set(answers.map((item) => item.questionId)).size !== answers.length) { + return invalid("Question answer question ids must be unique"); + } + return { + ...(input.idempotencyKey === undefined + ? {} + : { idempotencyKey: id(input.idempotencyKey, "Question idempotency key") }), + requestId: id(input.requestId, "Question request id"), + response: { answers, kind }, + }; +} + +/** + * Resolve a response against the current full request. Answered responses must + * include exactly one answer for every question and may only reference the + * options advertised by that question. The returned answer order follows the + * request order so reconnects and stores have one canonical representation. + */ +export function validateAgentQuestionResponseForRequest( + value: unknown, + request: AgentQuestionRequest, +): AgentQuestionResponseInput { + const response = validateAgentQuestionResponseInput(value); + if (response.requestId !== request.requestId) + return invalid("Question request id does not match"); + if (response.response.kind === "cancelled") return response; + + const byId = new Map(request.questions.map((question) => [question.questionId, question])); + const answerById = new Map( + response.response.answers.map((answer) => [answer.questionId, answer]), + ); + if (answerById.size !== request.questions.length) { + return invalid("Question response must answer every question exactly once"); + } + const answers = request.questions.map((question) => { + const answer = answerById.get(question.questionId); + if (answer === undefined || !byId.has(answer.questionId)) { + return invalid("Question response must answer every question exactly once"); + } + if (!question.multiSelect && answer.optionIds.length > 1) { + return invalid("A single-select question cannot have multiple options"); + } + if (!question.multiSelect && answer.optionIds.length > 0 && answer.customText !== undefined) { + return invalid("A single-select question cannot combine options and custom text"); + } + const optionIds = new Set(question.options.map((option) => option.optionId)); + if (answer.optionIds.some((optionId) => !optionIds.has(optionId))) { + return invalid("Question response references an unknown option"); + } + return answer; + }); + return { ...response, response: { answers, kind: "answered" } }; +} diff --git a/packages/orbis-agent-backend/src/references.test.ts b/packages/orbis-agent-backend/src/references.test.ts new file mode 100644 index 0000000..56a77c2 --- /dev/null +++ b/packages/orbis-agent-backend/src/references.test.ts @@ -0,0 +1,86 @@ +import { describe, expect, test } from "vitest"; + +import { createAgentSessionRef } from "./identifiers"; +import { + validateAgentPromptReferenceCompletionInput, + validateAgentPromptReferenceCompletionResult, +} from "./references"; + +const ref = createAgentSessionRef({ + backendId: "remote:test", + driverId: "dsh", + nativeSessionId: "native", + sessionId: "session", +}); + +const input = { + cursor: 8, + limit: 4, + ref, + source: "files" as const, + text: "See @src", +}; + +describe("prompt reference completion contract", () => { + test("keeps UTF-16 cursor and multiline replacement ranges", () => { + const validated = validateAgentPromptReferenceCompletionInput({ + ...input, + cursor: "你好 @src".length, + text: "你好\n@src", + }); + expect(validated.cursor).toBe(7); + expect(validated.text).toBe("你好\n@src"); + }); + + test("validates source-specific candidates and bounds", () => { + const validated = validateAgentPromptReferenceCompletionInput(input); + expect( + validateAgentPromptReferenceCompletionResult( + { + candidates: [ + { insertText: "@src/", kind: "directory", label: "src" }, + { insertText: "@README.md", kind: "file", label: "README.md" }, + ], + end: 8, + start: 4, + }, + validated, + ), + ).toMatchObject({ start: 4, end: 8 }); + expect(() => + validateAgentPromptReferenceCompletionResult( + { + candidates: [{ insertText: "@[other](dsh-session:x)", kind: "session", label: "other" }], + end: 8, + start: 4, + }, + validated, + ), + ).toThrow(/source/u); + }); + + test("rejects unsafe text, invalid cursor, and duplicate insertions", () => { + expect(() => + validateAgentPromptReferenceCompletionInput({ ...input, text: "bad\u0000text" }), + ).toThrow(); + expect(() => validateAgentPromptReferenceCompletionInput({ ...input, cursor: 99 })).toThrow(); + const validated = validateAgentPromptReferenceCompletionInput(input); + expect(() => + validateAgentPromptReferenceCompletionResult( + { + candidates: [ + { insertText: "@same", kind: "file", label: "a" }, + { insertText: "@same", kind: "file", label: "b" }, + ], + end: 8, + start: 4, + }, + validated, + ), + ).toThrow(/unique/u); + }); + + test("returns undefined for no active token result", () => { + expect(validateAgentPromptReferenceCompletionResult(undefined, input)).toBeUndefined(); + }); +}); diff --git a/packages/orbis-agent-backend/src/references.ts b/packages/orbis-agent-backend/src/references.ts new file mode 100644 index 0000000..a07e58d --- /dev/null +++ b/packages/orbis-agent-backend/src/references.ts @@ -0,0 +1,180 @@ +import { AgentBackendError } from "./errors"; +import { createAgentSessionRef, type AgentSessionRef } from "./identifiers"; + +export type AgentPromptReferenceSource = "files" | "sessions"; + +export interface AgentPromptReferenceCompletionInput { + readonly cursor: number; + readonly limit: number; + readonly ref: AgentSessionRef; + readonly signal?: AbortSignal; + readonly source: AgentPromptReferenceSource; + readonly text: string; +} + +export type AgentPromptReferenceCandidateKind = "directory" | "file" | "session"; + +export interface AgentPromptReferenceCandidate { + readonly detail?: string; + readonly insertText: string; + readonly kind: AgentPromptReferenceCandidateKind; + readonly label: string; +} + +export interface AgentPromptReferenceCompletionResult { + readonly candidates: readonly AgentPromptReferenceCandidate[]; + readonly end: number; + readonly start: number; +} + +export const AGENT_PROMPT_REFERENCE_MAX_TEXT_LENGTH = 65_536; +export const AGENT_PROMPT_REFERENCE_MAX_LIMIT = 64; +export const AGENT_PROMPT_REFERENCE_MAX_CANDIDATES = 64; +export const AGENT_PROMPT_REFERENCE_MAX_LABEL_LENGTH = 512; +export const AGENT_PROMPT_REFERENCE_MAX_DETAIL_LENGTH = 2_048; +export const AGENT_PROMPT_REFERENCE_MAX_INSERT_TEXT_LENGTH = 4_096; + +function invalid(message: string): never { + throw new AgentBackendError("invalid_argument", message); +} + +function record(value: unknown, label: string): Record { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + return invalid(`${label} is invalid`); + } + return value as Record; +} + +function hasUnsafeControl(value: string, multiline: boolean): boolean { + for (const character of value) { + const code = character.charCodeAt(0); + if (code === 0x7f || (code <= 0x1f && (!multiline || ![0x09, 0x0a, 0x0d].includes(code)))) { + return true; + } + } + return false; +} + +function text(value: unknown, label: string, max: number, multiline: boolean): string { + if (typeof value !== "string" || value.length > max || hasUnsafeControl(value, multiline)) { + return invalid(`${label} is invalid`); + } + return value; +} + +function display(value: unknown, label: string, max: number): string { + if ( + typeof value !== "string" || + value.length === 0 || + value.length > max || + value !== value.trim() || + hasUnsafeControl(value, false) + ) { + return invalid(`${label} is invalid`); + } + return value; +} + +function position(value: unknown, label: string): number { + if (!Number.isSafeInteger(value) || (value as number) < 0) { + return invalid(`${label} is invalid`); + } + return value as number; +} + +function source(value: unknown): AgentPromptReferenceSource { + if (value !== "files" && value !== "sessions") return invalid("Reference source is invalid"); + return value; +} + +function ref(value: unknown): AgentSessionRef { + const input = record(value, "Reference completion session ref"); + if ( + typeof input.backendId !== "string" || + typeof input.driverId !== "string" || + typeof input.nativeSessionId !== "string" || + typeof input.sessionId !== "string" + ) { + return invalid("Reference completion session ref is invalid"); + } + return createAgentSessionRef({ + backendId: input.backendId, + driverId: input.driverId, + nativeSessionId: input.nativeSessionId, + sessionId: input.sessionId, + }); +} + +function kind(value: unknown): AgentPromptReferenceCandidateKind { + if (value !== "file" && value !== "directory" && value !== "session") { + return invalid("Reference candidate kind is invalid"); + } + return value; +} + +function candidate(value: unknown): AgentPromptReferenceCandidate { + const input = record(value, "Reference candidate"); + return { + ...(input.detail === undefined + ? {} + : { detail: display(input.detail, "Reference candidate detail", AGENT_PROMPT_REFERENCE_MAX_DETAIL_LENGTH) }), + insertText: display( + input.insertText, + "Reference candidate insertion", + AGENT_PROMPT_REFERENCE_MAX_INSERT_TEXT_LENGTH, + ), + kind: kind(input.kind), + label: display(input.label, "Reference candidate label", AGENT_PROMPT_REFERENCE_MAX_LABEL_LENGTH), + }; +} + +export function validateAgentPromptReferenceCompletionInput( + value: unknown, +): AgentPromptReferenceCompletionInput { + const input = record(value, "Reference completion input"); + const cursor = position(input.cursor, "Reference completion cursor"); + const limit = position(input.limit, "Reference completion limit"); + if (limit < 1 || limit > AGENT_PROMPT_REFERENCE_MAX_LIMIT) { + return invalid("Reference completion limit is invalid"); + } + const textValue = text(input.text, "Reference completion text", AGENT_PROMPT_REFERENCE_MAX_TEXT_LENGTH, true); + if (cursor > textValue.length) return invalid("Reference completion cursor is out of range"); + return { + cursor, + limit, + ref: ref(input.ref), + signal: input.signal instanceof AbortSignal ? input.signal : undefined, + source: source(input.source), + text: textValue, + }; +} + +export function validateAgentPromptReferenceCompletionResult( + value: unknown, + input?: Pick, +): AgentPromptReferenceCompletionResult | undefined { + if (value === undefined || value === null) return undefined; + const raw = record(value, "Reference completion result"); + const start = position(raw.start, "Reference completion start"); + const end = position(raw.end, "Reference completion end"); + const candidatesValue = raw.candidates; + if (!Array.isArray(candidatesValue) || candidatesValue.length > AGENT_PROMPT_REFERENCE_MAX_CANDIDATES) { + return invalid("Reference completion candidates are invalid"); + } + const candidates = candidatesValue.map(candidate); + if (input !== undefined) { + if (start > end || end > input.cursor || end > input.text.length) { + return invalid("Reference completion replacement range is invalid"); + } + if (candidates.length > input.limit) return invalid("Reference completion exceeds the requested limit"); + const expectedKind = input.source === "files" ? new Set(["file", "directory"]) : new Set(["session"]); + if (candidates.some((item) => !expectedKind.has(item.kind))) { + return invalid("Reference completion candidate source is invalid"); + } + } else if (start > end) { + return invalid("Reference completion replacement range is invalid"); + } + const insertions = new Set(candidates.map((item) => item.insertText)); + if (insertions.size !== candidates.length) return invalid("Reference completion candidates must be unique"); + return { candidates, end, start }; +} diff --git a/packages/orbis-agent-backend/src/subagents.ts b/packages/orbis-agent-backend/src/subagents.ts new file mode 100644 index 0000000..11d59e5 --- /dev/null +++ b/packages/orbis-agent-backend/src/subagents.ts @@ -0,0 +1,199 @@ +import { AgentBackendError } from "./errors"; +import { + createAgentSessionRef, + isSameAgentSessionRef, + agentSessionLocatorKey, + type AgentSessionRef, +} from "./identifiers"; + +export type AgentSessionSubagentActivity = "inactive" | "running"; +export type AgentSessionSubagentMode = "continuable" | "one-shot"; +export type AgentSessionSubagentDiagnosticReason = "corrupt" | "unavailable" | "unsupported"; + +interface AgentSessionSubagentIdentity { + readonly depth: number; + readonly parentRef: AgentSessionRef; + readonly ref: AgentSessionRef; +} + +export type AgentSessionSubagentChild = AgentSessionSubagentIdentity & { + readonly activity: AgentSessionSubagentActivity; + readonly hasChildren: boolean; + readonly kind: "child"; +} & ( + | { readonly label?: string; readonly mode: "one-shot" } + | { readonly label: string; readonly mode: "continuable" } + ); + +export type AgentSessionSubagentDiagnostic = AgentSessionSubagentIdentity & { + readonly kind: "diagnostic"; + readonly reason: AgentSessionSubagentDiagnosticReason; +}; + +/** One stable pre-order row returned by a backend-owned subagent listing. */ +export type AgentSessionSubagentEntry = + | AgentSessionSubagentChild + | AgentSessionSubagentDiagnostic; + +export const AGENT_SESSION_SUBAGENT_MAX_ENTRIES = 1024; +export const AGENT_SESSION_SUBAGENT_MAX_DEPTH = 1024; +export const AGENT_SESSION_SUBAGENT_MAX_LABEL_LENGTH = 512; + +function invalid(message: string): never { + throw new AgentBackendError("invalid_argument", message); +} + +function record(value: unknown, label: string): Record { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + return invalid(`${label} is invalid`); + } + return value as Record; +} + +function display(value: unknown, label: string): string { + if ( + typeof value !== "string" || + value.length === 0 || + value.length > AGENT_SESSION_SUBAGENT_MAX_LABEL_LENGTH || + value !== value.trim() || + [...value].some((character) => { + const code = character.charCodeAt(0); + return code <= 0x1f || code === 0x7f; + }) + ) { + return invalid(`${label} is invalid`); + } + return value; +} + +function sessionRef(value: unknown, label: string): AgentSessionRef { + const input = record(value, label); + if ( + typeof input.backendId !== "string" || + typeof input.driverId !== "string" || + typeof input.nativeSessionId !== "string" || + typeof input.sessionId !== "string" + ) { + return invalid(`${label} is invalid`); + } + const ref = createAgentSessionRef({ + backendId: input.backendId, + driverId: input.driverId, + nativeSessionId: input.nativeSessionId, + sessionId: input.sessionId, + }); + return ref; +} + +function depth(value: unknown): number { + if ( + !Number.isSafeInteger(value) || + (value as number) < 1 || + (value as number) > AGENT_SESSION_SUBAGENT_MAX_DEPTH + ) { + return invalid("Subagent depth is invalid"); + } + return value as number; +} + +function activity(value: unknown): AgentSessionSubagentActivity { + if (value !== "running" && value !== "inactive") { + return invalid("Subagent activity is invalid"); + } + return value; +} + +function mode(value: unknown): AgentSessionSubagentMode { + if (value !== "one-shot" && value !== "continuable") { + return invalid("Subagent mode is invalid"); + } + return value; +} + +function reason(value: unknown): AgentSessionSubagentDiagnosticReason { + if (value !== "corrupt" && value !== "unavailable" && value !== "unsupported") { + return invalid("Subagent diagnostic reason is invalid"); + } + return value; +} + +export function validateAgentSessionSubagentEntry( + value: unknown, +): AgentSessionSubagentEntry { + const input = record(value, "Subagent entry"); + const ref = sessionRef(input.ref, "Subagent ref"); + const parentRef = sessionRef(input.parentRef, "Subagent parent ref"); + if (isSameAgentSessionRef(ref, parentRef)) { + return invalid("Subagent ref and parent ref must differ"); + } + const entryDepth = depth(input.depth); + if (input.kind === "diagnostic") { + return { + depth: entryDepth, + kind: "diagnostic", + parentRef, + reason: reason(input.reason), + ref, + }; + } + if (input.kind !== "child") return invalid("Subagent entry kind is invalid"); + const entryMode = mode(input.mode); + const label = input.label === undefined ? undefined : display(input.label, "Subagent label"); + if (entryMode === "continuable" && label === undefined) { + return invalid("Continuable subagents require a label"); + } + if (typeof input.activity !== "string") return invalid("Subagent activity is invalid"); + if (typeof input.hasChildren !== "boolean") return invalid("Subagent hasChildren is invalid"); + return { + activity: activity(input.activity), + depth: entryDepth, + hasChildren: input.hasChildren, + kind: "child", + ...(label === undefined ? {} : { label }), + mode: entryMode, + parentRef, + ref, + } as AgentSessionSubagentChild; +} + +/** Validates and preserves the backend's stable pre-order entry sequence. */ +export function validateAgentSessionSubagentList( + value: unknown, + rootRef: AgentSessionRef, +): readonly AgentSessionSubagentEntry[] { + if (!Array.isArray(value) || value.length > AGENT_SESSION_SUBAGENT_MAX_ENTRIES) { + return invalid("Subagent list is invalid"); + } + const validatedRoot = sessionRef(rootRef, "Subagent root ref"); + const rootKey = agentSessionLocatorKey(validatedRoot); + const seen = new Set(); + const seenChildren = new Map(); + const entries = value.map((entry) => { + const validated = validateAgentSessionSubagentEntry(entry); + const key = agentSessionLocatorKey(validated.ref); + if (seen.has(key)) return invalid("Subagent list contains duplicate refs"); + if (key === rootKey) return invalid("Subagent list contains its root ref"); + if ( + validated.ref.backendId !== validatedRoot.backendId || + validated.ref.driverId !== validatedRoot.driverId || + validated.parentRef.backendId !== validatedRoot.backendId || + validated.parentRef.driverId !== validatedRoot.driverId + ) { + return invalid("Subagent list contains a foreign backend or driver ref"); + } + if (validated.depth === 1) { + if (!isSameAgentSessionRef(validated.parentRef, validatedRoot)) { + return invalid("Depth-one subagents must refer to the root ref"); + } + } else { + const parentDepth = seenChildren.get(agentSessionLocatorKey(validated.parentRef)); + if (parentDepth === undefined || validated.depth !== parentDepth + 1) { + return invalid("Subagent list is not in stable pre-order"); + } + } + seen.add(key); + if (validated.kind === "child") seenChildren.set(key, validated.depth); + return validated; + }); + return Object.freeze(entries); +} diff --git a/packages/orbis-agent-backend/src/testkit.ts b/packages/orbis-agent-backend/src/testkit.ts index 156e50c..84f09e7 100644 --- a/packages/orbis-agent-backend/src/testkit.ts +++ b/packages/orbis-agent-backend/src/testkit.ts @@ -16,6 +16,7 @@ import type { AgentWorkspaceRegisterResult, AgentPromptInput, AgentPromptReceipt, + AgentRuntimeStatusListener, AgentRuntimeStatus, AgentSessionCreateInput, AgentSessionListInput, @@ -25,9 +26,15 @@ import type { AgentSessionUpdateInput, AgentSessionUpdateResult, } from "./backend"; +import type { AgentSessionSubagentEntry } from "./subagents"; +import type { + AgentPromptReferenceCompletionInput, + AgentPromptReferenceCompletionResult, +} from "./references"; import type { AgentDriverDescriptor } from "./capabilities"; import { AgentBackendError } from "./errors"; import type { + AgentAttachmentReadResult, AgentEntryAppendedEvent, AgentEntryDeltaEvent, AgentRunOutcome, @@ -37,6 +44,8 @@ import type { AgentSessionStateChangedEvent, AgentPermissionResponseInput, AgentPermissionResponseResult, + AgentQuestionResponseInput, + AgentQuestionResponseResult, } from "./events"; import { agentDeliveryCursor, @@ -248,6 +257,13 @@ export class FakeAgentBackend implements AgentBackend, FakeRuntimeHost { return input.limit === undefined ? sessions : sessions.slice(0, input.limit); } + async listSessionSubagents( + _ref: AgentSessionRef, + _signal?: AbortSignal, + ): Promise { + throw new AgentBackendError("unsupported", "The fake backend cannot list session subagents"); + } + async readSession(ref: AgentSessionRef): Promise { this.assertOpen(); this.recordFor(ref); @@ -260,6 +276,20 @@ export class FakeAgentBackend implements AgentBackend, FakeRuntimeHost { return projection; } + async completePromptReferences( + _input: AgentPromptReferenceCompletionInput, + ): Promise { + throw new AgentBackendError("unsupported", "The fake backend cannot complete prompt references"); + } + + async readAttachment( + _ref: AgentSessionRef, + _attachmentId: string, + _signal?: AbortSignal, + ): Promise { + throw new AgentBackendError("unsupported", "The fake backend cannot read attachments"); + } + async updateSession( ref: AgentSessionRef, _input: AgentSessionUpdateInput, @@ -413,6 +443,14 @@ export class FakeAgentHarnessDriver implements AgentHarnessDriver { return this.backend.listSessions({ ...input, driverId: this.descriptor.id }); } + async listSessionSubagents( + ref: AgentSessionRef, + signal?: AbortSignal, + ): Promise { + this.assertRef(ref); + return this.backend.listSessionSubagents(ref, signal); + } + async listModels(): Promise { return this.backend.listModels({ driverId: this.descriptor.id }); } @@ -426,6 +464,22 @@ export class FakeAgentHarnessDriver implements AgentHarnessDriver { return this.backend.readSession(ref); } + async completePromptReferences( + input: AgentPromptReferenceCompletionInput, + ): Promise { + this.assertRef(input.ref); + return this.backend.completePromptReferences(input); + } + + async readAttachment( + ref: AgentSessionRef, + attachmentId: string, + signal?: AbortSignal, + ): Promise { + this.assertRef(ref); + return this.backend.readAttachment(ref, attachmentId, signal); + } + async updateSession( ref: AgentSessionRef, input: AgentSessionUpdateInput, @@ -451,6 +505,7 @@ export class FakeAgentSessionRuntime implements AgentSessionRuntime { private stateRevision = 0; private readonly deltaSequence = new Map(); private readonly listeners = new Set(); + private readonly statusListeners = new Set(); private status: AgentRuntimeStatus; constructor( @@ -480,12 +535,18 @@ export class FakeAgentSessionRuntime implements AgentSessionRuntime { return { accepted: false }; } + async respondQuestion(_input: AgentQuestionResponseInput): Promise { + this.assertOpen(); + return { accepted: false }; + } + async close(): Promise { if (this.status === "closed") return; - this.status = "closed"; + this.setStatus("closed"); this.activeRunId = undefined; this.activeRunStartedAt = undefined; this.listeners.clear(); + this.statusListeners.clear(); } async commitAssistantText(text: string): Promise { @@ -570,13 +631,13 @@ export class FakeAgentSessionRuntime implements AgentSessionRuntime { const previousStatus = this.status; this.activeRunId = undefined; this.activeRunStartedAt = undefined; - this.status = outcome === "failed" ? "error" : "ready"; + this.setStatus(outcome === "failed" ? "error" : "ready"); try { this.host.commit(this, event); } catch (error) { this.activeRunId = runId; this.activeRunStartedAt = event.payload.patch.lastRun?.startedAt; - this.status = previousStatus; + this.setStatus(previousStatus); throw error; } return event; @@ -586,9 +647,23 @@ export class FakeAgentSessionRuntime implements AgentSessionRuntime { return this.status; } + /** Allows mobile/runtime tests to model a transport lifecycle transition. */ + setStatusForTest(status: AgentRuntimeStatus): void { + this.setStatus(status); + } + + observeStatus(listener: AgentRuntimeStatusListener): () => void { + this.statusListeners.add(listener); + this.notifyStatus(listener, this.status); + return () => this.statusListeners.delete(listener); + } + async prompt(input: AgentPromptInput): Promise { this.assertOpen(); - if (!input.text.trim()) { + if ( + input.content.length === 0 || + !input.content.some((block) => block.type === "image" || block.text.trim().length > 0) + ) { throw new AgentBackendError("invalid_argument", "A prompt must not be empty"); } if (this.status === "running") { @@ -612,12 +687,12 @@ export class FakeAgentSessionRuntime implements AgentSessionRuntime { const previousStatus = this.status; this.activeRunId = runId; this.activeRunStartedAt = acceptedAt; - this.status = "running"; + this.setStatus("running"); try { this.host.commit(this, event); } catch (error) { this.activeRunId = undefined; - this.status = previousStatus; + this.setStatus(previousStatus); throw error; } return { acceptedAt, runId }; @@ -644,4 +719,18 @@ export class FakeAgentSessionRuntime implements AgentSessionRuntime { throw new AgentBackendError("closed", "The fake runtime is closed"); } } + + private setStatus(status: AgentRuntimeStatus): void { + if (this.status === status) return; + this.status = status; + for (const listener of this.statusListeners) this.notifyStatus(listener, status); + } + + private notifyStatus(listener: AgentRuntimeStatusListener, status: AgentRuntimeStatus): void { + try { + listener(status); + } catch { + // Runtime status observers are passive and cannot own the fake lifecycle. + } + } } diff --git a/packages/orbis-agent-backend/src/work-state.ts b/packages/orbis-agent-backend/src/work-state.ts new file mode 100644 index 0000000..eb00741 --- /dev/null +++ b/packages/orbis-agent-backend/src/work-state.ts @@ -0,0 +1,130 @@ +import { AgentBackendError } from "./errors"; +import type { AgentGoal, AgentGoalBlockedReason, AgentTodoItem, AgentWorkState } from "./events"; +import { agentTimestamp } from "./identifiers"; + +const MAX_WORK_TEXT_LENGTH = 65_536; +const MAX_TODO_TEXT_LENGTH = 2_048; +const MAX_TODO_COUNT = 256; + +function invalid(message: string): never { + throw new AgentBackendError("invalid_argument", message); +} + +function record(value: unknown, label: string): Record { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + return invalid(`${label} is invalid`); + } + return value as Record; +} + +function displayText(value: unknown, label: string, max: number, multiline: boolean): string { + if (typeof value !== "string" || value.length === 0 || value.length > max || !value.trim()) { + return invalid(`${label} is invalid`); + } + for (const character of value) { + const code = character.charCodeAt(0); + if ( + code === 0x7f || + (code <= 0x1f && (!multiline || (code !== 0x09 && code !== 0x0a && code !== 0x0d))) + ) { + return invalid(`${label} is invalid`); + } + } + return value; +} + +function text(value: unknown, label: string): string { + return displayText(value, label, MAX_WORK_TEXT_LENGTH, true); +} + +function todoText(value: unknown, label: string): string { + return displayText(value, label, MAX_TODO_TEXT_LENGTH, false); +} + +function identifier(value: unknown, label: string): string { + const result = todoText(value, label); + if (result.length > 1024 || result !== result.trim()) return invalid(`${label} is invalid`); + return result; +} + +function nonNegativeInteger(value: unknown, label: string): number { + if (!Number.isSafeInteger(value) || (value as number) < 0) return invalid(`${label} is invalid`); + return value as number; +} + +function positiveInteger(value: unknown, label: string): number { + if (!Number.isSafeInteger(value) || (value as number) < 1) return invalid(`${label} is invalid`); + return value as number; +} + +function blockedReason(value: unknown): AgentGoalBlockedReason { + const input = record(value, "Goal blocked reason"); + return { + code: identifier(input.code, "Goal blocked reason code"), + message: text(input.message, "Goal blocked reason message"), + }; +} + +function goal(value: unknown): AgentGoal { + const input = record(value, "Goal"); + const phase = input.phase; + if (phase !== "active" && phase !== "blocked" && phase !== "complete" && phase !== "paused") { + return invalid("Goal phase is invalid"); + } + const hasBlockedReason = input.blockedReason !== undefined; + if (phase === "blocked" && !hasBlockedReason) return invalid("Blocked goals require a reason"); + if (phase !== "blocked" && hasBlockedReason) + return invalid("Only blocked goals may have a reason"); + return { + ...(hasBlockedReason ? { blockedReason: blockedReason(input.blockedReason) } : {}), + createdAt: agentTimestamp( + typeof input.createdAt === "string" + ? input.createdAt + : invalid("Goal created time is invalid"), + ), + id: identifier(input.id, "Goal id"), + maxGoalRounds: positiveInteger(input.maxGoalRounds, "Goal max rounds"), + objective: text(input.objective, "Goal objective"), + phase, + revision: positiveInteger(input.revision, "Goal revision"), + roundsStarted: nonNegativeInteger(input.roundsStarted, "Goal started rounds"), + updatedAt: agentTimestamp( + typeof input.updatedAt === "string" + ? input.updatedAt + : invalid("Goal updated time is invalid"), + ), + }; +} + +function todo(value: unknown): AgentTodoItem { + const input = record(value, "Todo item"); + const status = input.status; + if (status !== "pending" && status !== "in_progress" && status !== "completed") { + return invalid("Todo status is invalid"); + } + return { content: todoText(input.content, "Todo content"), status }; +} + +export function validateAgentGoal(value: unknown): AgentGoal { + return goal(value); +} + +export function validateAgentTodoItem(value: unknown): AgentTodoItem { + return todo(value); +} + +/** Validate a complete goal/todo snapshot; no incremental native fields enter the contract. */ +export function validateAgentWorkState(value: unknown): AgentWorkState { + const input = record(value, "Work state"); + if (!Array.isArray(input.todos) || input.todos.length > MAX_TODO_COUNT) { + return invalid("Work state todos are invalid"); + } + const todos = input.todos.map(todo); + if (new Set(todos.map((item) => item.content)).size !== todos.length) { + return invalid("Todo contents must be unique"); + } + return { + goal: input.goal === null ? null : goal(input.goal), + todos, + }; +} diff --git a/packages/orbis-remote-agent-protocol/src/host.ts b/packages/orbis-remote-agent-protocol/src/host.ts index 029357b..38de186 100644 --- a/packages/orbis-remote-agent-protocol/src/host.ts +++ b/packages/orbis-remote-agent-protocol/src/host.ts @@ -9,6 +9,10 @@ export interface RemoteAgentHostPeer { readonly id: string; /** Connection-scoped address used only to send an encrypted transport frame. */ readonly transportId: string; + /** Authenticated descriptor identity exposed by the transport for presence. */ + readonly deviceId: string; + /** Optional human-readable authenticated descriptor name. */ + readonly deviceName?: string; } export interface RemoteAgentHostRequestContext { @@ -20,6 +24,8 @@ export interface RemoteAgentHostRequestContext { /** A host-specific transport composition sends one encrypted frame to one paired peer. */ export interface RemoteAgentHostDeliveryTransport { + /** Called when an authenticated peer's connection is closed or detached. */ + onPeerDisconnected?(listener: (peer: RemoteAgentHostPeer) => void): () => void; send(peer: RemoteAgentHostPeer, event: TransportEvent): Promise; } @@ -32,6 +38,8 @@ function peerIdentity(parts: readonly string[]): string { /** Converts an authenticated transport peer to v2's stable delivery identity. */ export function createRemoteAgentHostPeer(peer: RemoteHostPeer): RemoteAgentHostPeer { return { + ...(peer.descriptor.deviceName === undefined ? {} : { deviceName: peer.descriptor.deviceName }), + deviceId: peer.descriptor.deviceId, id: peerIdentity([peer.keyId, peer.descriptor.deviceId]), transportId: peer.handshakeId, }; diff --git a/packages/orbis-remote-agent-protocol/src/index.ts b/packages/orbis-remote-agent-protocol/src/index.ts index 9dd1286..896ef4b 100644 --- a/packages/orbis-remote-agent-protocol/src/index.ts +++ b/packages/orbis-remote-agent-protocol/src/index.ts @@ -63,7 +63,15 @@ export type { RemoteAgentV2Overlay, RemoteAgentV2PermissionRequest, RemoteAgentV2PermissionResponseInput, + RemoteAgentV2QuestionAnswerItem, + RemoteAgentV2QuestionItem, + RemoteAgentV2QuestionOption, + RemoteAgentV2QuestionPlanReviewIntent, + RemoteAgentV2QuestionRequest, + RemoteAgentV2QuestionResponse, + RemoteAgentV2QuestionResponseInput, RemoteAgentV2PromptInput, + RemoteAgentV2PromptContentBlock, RemoteAgentV2PromptReceipt, RemoteAgentV2QueuedInput, RemoteAgentV2RunState, @@ -75,7 +83,9 @@ export type { RemoteAgentV2SessionState, RemoteAgentV2SessionStatePatch, RemoteAgentV2SessionSummary, + RemoteAgentV2SubagentEntry, RemoteAgentV2Usage, + RemoteAgentV2WorkState, RemoteAgentV2UpdateInput, RemoteAgentV2WorkspaceBrowseInput, RemoteAgentV2WorkspaceCreateFolderInput, diff --git a/packages/orbis-remote-agent-protocol/src/v2-connection.test.ts b/packages/orbis-remote-agent-protocol/src/v2-connection.test.ts index 4904355..0bbd44f 100644 --- a/packages/orbis-remote-agent-protocol/src/v2-connection.test.ts +++ b/packages/orbis-remote-agent-protocol/src/v2-connection.test.ts @@ -29,13 +29,23 @@ async function rejected(operation: () => Promise): Promise { throw new Error("Expected the operation to reject"); } +function params(value: unknown): JsonValue { + return JSON.parse(JSON.stringify(value)) as JsonValue; +} + class FakeV2Transport { - readonly methods = ORBIS_REMOTE_AGENT_V2_METHOD_LIST; + readonly methods: readonly string[]; readonly requests: Array<{ readonly method: string; readonly params: JsonValue }> = []; + readonly requestSignals: Array = []; private readonly closeListeners = new Set<() => void>(); private readonly eventListeners = new Set<(event: TransportEvent) => void>(); private readonly errors = new Map(); private readonly responses = new Map(); + private readonly responders = new Map JsonValue>(); + + constructor(methods: readonly string[] = ORBIS_REMOTE_AGENT_V2_METHOD_LIST) { + this.methods = methods; + } close(): void { for (const listener of this.closeListeners) listener(); @@ -55,10 +65,17 @@ class FakeV2Transport { return () => this.eventListeners.delete(listener); } - async request(method: string, params: JsonValue): Promise { + async request( + method: string, + params: JsonValue, + options?: { readonly signal?: AbortSignal }, + ): Promise { this.requests.push({ method, params }); + this.requestSignals.push(options?.signal); const error = this.errors.get(method); if (error !== undefined) throw error; + const responder = this.responders.get(method); + if (responder !== undefined) return responder(params); const response = this.responses.get(method); if (response === undefined) throw new Error(`Missing response for ${method}`); return response; @@ -71,6 +88,25 @@ class FakeV2Transport { respond(method: string, value: JsonValue): void { this.responses.set(method, value); } + + respondWith(method: string, responder: (params: JsonValue) => JsonValue): void { + this.responders.set(method, responder); + } +} + +function subagentHelloResult(): JsonValue { + const result = helloResult() as unknown as { + readonly drivers: readonly Record[]; + }; + return { + ...result, + drivers: [ + { + ...result.drivers[0], + capabilities: ["session.subagents.list"], + }, + ], + }; } function helloResult(): JsonValue { @@ -95,6 +131,50 @@ function helloResult(): JsonValue { }; } +function attachmentHelloResult( + input: { + readonly maxImageBytes?: number; + readonly downloadChunkBytes?: number; + readonly uploadChunkBytes?: number; + } = {}, +): JsonValue { + return { + capabilities: { + attachments: { + downloadChunkBytes: input.downloadChunkBytes ?? 3, + maxImageBytes: input.maxImageBytes ?? 6, + maxImagesPerMessage: 4, + maxMessageImageBytes: 12, + mimeTypes: ["image/png"], + uploadChunkBytes: input.uploadChunkBytes ?? 3, + }, + dispose: false, + fork: false, + presence: false, + }, + drivers: [{ capabilities: [], displayName: "DeepSeek Harness", id: "dsh" }], + hostId: "remote:host-a", + hostRevision: "revision-a", + limits: { maxPromptBytes: 1024, maxReplayBatch: 16, maxSnapshotWindow: 16 }, + version: 2, + }; +} + +function referenceHelloResult(): JsonValue { + const result = helloResult() as unknown as { + readonly drivers: readonly Record[]; + }; + return { + ...result, + drivers: [ + { + ...result.drivers[0], + capabilities: ["prompt.references.files", "prompt.references.sessions"], + }, + ], + }; +} + function entryEvent(): TransportEvent { const occurredAt = agentTimestamp("2026-08-11T00:00:01.000Z"); const event = { @@ -392,6 +472,216 @@ test("v2 connection decodes tool state and tool input events", async () => { ]); }); +test("v2 connection round-trips canonical question responses and whole work state", async () => { + const transport = new FakeV2Transport(); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, helloResult()); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondQuestion, { accepted: true }); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSync, { + entries: [], + hasOlder: false, + hostRevision: "revision-question", + kind: "snapshot", + oldestCursor: 0, + state: { + configOptions: [], + createdAt: "2026-08-11T00:00:00.000Z", + cwd: null, + leafEntryId: null, + mode: "plan", + model: null, + pendingInputs: [], + pendingPermissions: [], + pendingQuestions: [ + { + questions: [ + { + multiSelect: false, + options: [{ label: "Approve", optionId: "approve" }], + question: "Continue?", + questionId: "plan-review", + }, + ], + requestId: "question-1", + requestedAt: "2026-08-11T00:00:00.000Z", + }, + ], + ref: { + backendId: ref.backendId, + driverId: ref.driverId, + nativeSessionId: ref.nativeSessionId, + sessionId: ref.sessionId, + }, + revision: 1, + runState: "idle", + title: null, + updatedAt: "2026-08-11T00:00:00.000Z", + workState: { + goal: null, + todos: [{ content: "Review", status: "pending" }], + }, + workspaceRef: null, + }, + }); + const connection = new OrbisRemoteAgentV2Connection(transport); + await connection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + + await expect( + connection.respondQuestion({ + idempotencyKey: "question-response-1", + ref, + requestId: "question-1", + response: { kind: "cancelled" }, + }), + ).resolves.toEqual({ accepted: true }); + const sync = await connection.sync({ mode: "once", ref }); + + expect(sync).toMatchObject({ + state: { + mode: "plan", + pendingQuestions: [{ requestId: "question-1" }], + workState: { goal: null, todos: [{ content: "Review", status: "pending" }] }, + }, + }); + expect(transport.requests.at(-2)).toEqual({ + method: ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondQuestion, + params: { + idempotencyKey: "question-response-1", + ref: { + backendId: ref.backendId, + driverId: ref.driverId, + nativeSessionId: ref.nativeSessionId, + sessionId: ref.sessionId, + }, + requestId: "question-1", + response: { kind: "cancelled" }, + }, + }); +}); + +test("v2 connection uploads canonical chunks with raw-byte offsets", async () => { + const transport = new FakeV2Transport(); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, attachmentHelloResult()); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadBegin, { uploadId: "upload-1" }); + transport.respondWith(ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadChunk, (params) => { + const input = params as { readonly data: string; readonly offset: number }; + const chunkBytes = input.data === "AQID" || input.data === "BAUG" ? 3 : 0; + return { nextOffset: input.offset + chunkBytes, uploadId: "upload-1" }; + }); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadFinish, { + uploadId: "upload-1", + }); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadAbort, { + aborted: true, + uploadId: "upload-1", + }); + const connection = new OrbisRemoteAgentV2Connection(transport); + await connection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + + await expect( + connection.uploadAttachment({ + data: "AQIDBAUG", + mimeType: "image/png", + ref, + totalBytes: 6, + uploadId: "upload-1", + }), + ).resolves.toEqual({ uploadId: "upload-1" }); + expect( + transport.requests + .filter(({ method }) => method === ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadChunk) + .map(({ params }) => params as { readonly data: string; readonly offset: number }), + ).toEqual([ + expect.objectContaining({ data: "AQID", offset: 0 }), + expect.objectContaining({ data: "BAUG", offset: 3 }), + ]); + await expect(connection.abortAttachment("upload-1")).resolves.toEqual({ + aborted: true, + uploadId: "upload-1", + }); +}); + +test("v2 connection reconstructs bounded attachment reads and rejects unstable metadata", async () => { + const transport = new FakeV2Transport(); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, attachmentHelloResult()); + transport.respondWith(ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead, (params) => { + const input = params as { readonly offset: number }; + return input.offset === 0 + ? { + attachmentId: "attachment-1", + bytes: 6, + data: "AQID", + eof: false, + height: 2, + mimeType: "image/png", + name: "image.png", + nextOffset: 3, + width: 3, + } + : { + attachmentId: "attachment-1", + bytes: 6, + data: "BAUG", + eof: true, + height: 2, + mimeType: "image/png", + name: "image.png", + nextOffset: 6, + width: 3, + }; + }); + const connection = new OrbisRemoteAgentV2Connection(transport); + await connection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + await expect(connection.readAttachment(ref, "attachment-1")).resolves.toEqual({ + attachmentId: "attachment-1", + bytes: 6, + data: "AQIDBAUG", + height: 2, + mimeType: "image/png", + name: "image.png", + width: 3, + }); + + const oversized = new FakeV2Transport(); + oversized.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, attachmentHelloResult()); + oversized.respond(ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead, { + attachmentId: "attachment-oversized", + bytes: 7, + data: "AQID", + eof: false, + mimeType: "image/png", + nextOffset: 3, + }); + const oversizedConnection = new OrbisRemoteAgentV2Connection(oversized); + await oversizedConnection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + expect( + await rejected(() => oversizedConnection.readAttachment(ref, "attachment-oversized")), + ).toMatchObject({ + code: "protocol", + }); + + const unstable = new FakeV2Transport(); + unstable.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, attachmentHelloResult()); + unstable.respondWith(ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead, (params) => { + const input = params as { readonly offset: number }; + return { + attachmentId: "attachment-unstable", + bytes: 6, + data: input.offset === 0 ? "AQID" : "BAUG", + eof: input.offset !== 0, + mimeType: "image/png", + name: input.offset === 0 ? "first.png" : "changed.png", + nextOffset: input.offset + 3, + }; + }); + const unstableConnection = new OrbisRemoteAgentV2Connection(unstable); + await unstableConnection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + expect( + await rejected(() => unstableConnection.readAttachment(ref, "attachment-unstable")), + ).toMatchObject({ + code: "protocol", + }); +}); + test("v2 connection preserves protocol failures returned by the host", async () => { const transport = new FakeV2Transport(); transport.reject( @@ -432,6 +722,146 @@ test("ignores unknown state/transient events but rejects unknown replayable even expect(deliveries).toHaveLength(0); }); +test("v2 prompt reference completion selects the source method and forwards cancellation", async () => { + const transport = new FakeV2Transport(); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, referenceHelloResult()); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.promptReferencesFiles, { + candidates: [{ insertText: "@src/", kind: "directory", label: "src" }], + end: 8, + start: 4, + }); + const connection = new OrbisRemoteAgentV2Connection(transport); + await connection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + const signal = new AbortController().signal; + await expect( + connection.completePromptReferences({ + cursor: 8, + limit: 4, + ref, + signal, + source: "files", + text: "See @src", + }), + ).resolves.toMatchObject({ start: 4, end: 8 }); + expect(transport.requests.at(-1)).toEqual({ + method: ORBIS_REMOTE_AGENT_V2_METHODS.promptReferencesFiles, + params: { + cursor: 8, + limit: 4, + ref: { + backendId: ref.backendId, + driverId: ref.driverId, + nativeSessionId: ref.nativeSessionId, + sessionId: ref.sessionId, + }, + source: "files", + text: "See @src", + }, + }); +}); + +test("v2 subagent listing gates the driver and validates nested stable order", async () => { + const transport = new FakeV2Transport(); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, subagentHelloResult()); + transport.respond( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSubagentsList, + params({ + entries: [ + { + activity: "running", + depth: 1, + hasChildren: true, + kind: "child", + label: "Worker", + mode: "continuable", + parentRef: ref, + ref: { ...ref, nativeSessionId: "native-child", sessionId: "child" }, + }, + { + depth: 2, + kind: "diagnostic", + parentRef: { ...ref, nativeSessionId: "native-child", sessionId: "child" }, + reason: "unavailable", + ref: { ...ref, nativeSessionId: "native-diagnostic", sessionId: "diagnostic" }, + }, + ], + }), + ); + const connection = new OrbisRemoteAgentV2Connection(transport); + await connection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + const controller = new AbortController(); + const entries = await connection.listSessionSubagents(ref, controller.signal); + + expect(entries.map((entry) => entry.ref.sessionId)).toEqual(["child", "diagnostic"]); + expect(transport.requests.at(-1)).toMatchObject({ + method: ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSubagentsList, + params: { ref }, + }); + expect(transport.requestSignals.at(-1)).toBe(controller.signal); +}); + +test("v2 subagent listing rejects an unadvertised driver capability", async () => { + const transport = new FakeV2Transport(); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, helloResult()); + const connection = new OrbisRemoteAgentV2Connection(transport); + await connection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + + expect(await rejected(() => connection.listSessionSubagents(ref))).toMatchObject({ + code: "unsupported", + }); + expect(transport.requests).toHaveLength(1); +}); + +test("v2 subagent listing rejects a host that does not advertise the method", async () => { + const transport = new FakeV2Transport( + ORBIS_REMOTE_AGENT_V2_METHOD_LIST.filter( + (method) => method !== ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSubagentsList, + ), + ); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, subagentHelloResult()); + const connection = new OrbisRemoteAgentV2Connection(transport); + await connection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + + expect(await rejected(() => connection.listSessionSubagents(ref))).toMatchObject({ + code: "unsupported", + }); + expect(transport.requests).toHaveLength(1); +}); + +test("v2 prompt reference completion rejects unsupported drivers and mixed source candidates", async () => { + const transport = new FakeV2Transport(); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, referenceHelloResult()); + transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.promptReferencesSessions, { + candidates: [{ insertText: "@path", kind: "file", label: "path" }], + end: 8, + start: 4, + }); + const connection = new OrbisRemoteAgentV2Connection(transport); + await connection.hello({ device: { name: "Test phone" }, supportedVersions: [2] }); + expect( + await rejected(() => + connection.completePromptReferences({ + cursor: 8, + limit: 4, + ref: { ...ref, driverId: "other" as typeof ref.driverId }, + source: "files", + text: "See @src", + }), + ), + ).toMatchObject({ code: "unsupported" }); + expect( + await rejected(() => + connection.completePromptReferences({ + cursor: 8, + limit: 4, + ref, + source: "sessions", + text: "See @src", + }), + ), + ).toMatchObject({ code: "protocol" }); +}); + test("v2 sync validates the cursor and entry identity pair", async () => { const transport = new FakeV2Transport(); transport.respond(ORBIS_REMOTE_AGENT_V2_METHODS.hello, helloResult()); @@ -491,6 +921,7 @@ test("v2 sync returns the host revision used for cache reconciliation", async () model: null, pendingInputs: [], pendingPermissions: [], + pendingQuestions: [], ref: { backendId: ref.backendId, driverId: ref.driverId, @@ -502,6 +933,7 @@ test("v2 sync returns the host revision used for cache reconciliation", async () title: null, updatedAt: "2026-08-11T00:00:00.000Z", workspaceRef: null, + workState: { goal: null, todos: [] }, }, }); const connection = new OrbisRemoteAgentV2Connection(transport); diff --git a/packages/orbis-remote-agent-protocol/src/v2-connection.ts b/packages/orbis-remote-agent-protocol/src/v2-connection.ts index a5bbb16..876b735 100644 --- a/packages/orbis-remote-agent-protocol/src/v2-connection.ts +++ b/packages/orbis-remote-agent-protocol/src/v2-connection.ts @@ -12,6 +12,12 @@ import { createAgentDriverDescriptor, isAgentBackendError, validateAgentPermissionRequest, + validateAgentQuestionRequest, + validateAgentQuestionResponseInput, + validateAgentPromptReferenceCompletionInput, + validateAgentPromptReferenceCompletionResult, + validateAgentSessionSubagentList, + validateAgentWorkState, type AgentBackendErrorCode, type AgentDriverDescriptor, type AgentJsonValue, @@ -21,6 +27,9 @@ import { type AgentWorkspaceFolderDescriptor, type AgentWorkspaceFolderListing, type AgentWorkspaceRegisterResult, + type AgentPromptReferenceCompletionInput, + type AgentPromptReferenceCompletionResult, + type AgentSessionSubagentEntry, } from "@orbisapp/orbis-agent-backend"; import { isOrbisTransportError, @@ -33,6 +42,7 @@ import { import { ORBIS_REMOTE_AGENT_V2_EVENT_TYPE, ORBIS_REMOTE_AGENT_V2_METHODS } from "./v2-constants"; import { v2ContentBlockSchema, + v2PromptContentBlockSchema, v2DriverSchema, v2EntrySchema, v2HelloInputSchema, @@ -46,9 +56,13 @@ import { v2RefSchema, v2SessionEventSchema, v2SessionSummarySchema, + v2QuestionResponseInputSchema, v2StatePatchSchema, v2StateSchema, v2SyncResultSchema, + v2PromptReferenceCompletionResponseSchema, + v2SubagentEntrySchema, + v2SubagentListResponseSchema, } from "./v2-schemas"; import type { RemoteAgentV2CancelInput, @@ -63,7 +77,10 @@ import type { RemoteAgentV2ModelSelection, RemoteAgentV2Overlay, RemoteAgentV2PermissionRequest, + RemoteAgentV2QuestionRequest, + RemoteAgentV2QuestionResponseInput, RemoteAgentV2PromptInput, + RemoteAgentV2PromptContentBlock, RemoteAgentV2PromptReceipt, RemoteAgentV2RunSummary, RemoteAgentV2SessionEvent, @@ -71,6 +88,7 @@ import type { RemoteAgentV2SessionState, RemoteAgentV2SessionStatePatch, RemoteAgentV2SessionSummary, + RemoteAgentV2SubagentEntry, RemoteAgentV2UpdateInput, RemoteAgentV2WorkspaceBrowseInput, RemoteAgentV2WorkspaceCreateFolderInput, @@ -107,6 +125,9 @@ export interface RemoteAgentV2Connection { cancel(input: RemoteAgentV2CancelInput): Promise<{ readonly cancelled: boolean }>; close(): void; createSession(input: RemoteAgentV2CreateInput): Promise; + completePromptReferences( + input: AgentPromptReferenceCompletionInput, + ): Promise; entries(input: { readonly ref: AgentSessionRef; readonly beforeCursor: number; @@ -135,16 +156,41 @@ export interface RemoteAgentV2Connection { readonly sessions: readonly RemoteAgentV2SessionSummary[]; readonly nextCursor?: string; }>; + listSessionSubagents( + ref: AgentSessionRef, + signal?: AbortSignal, + ): Promise; onClose(listener: () => void): () => void; onEvent(listener: (delivery: RemoteAgentV2Delivery) => void): () => void; onProtocolError(listener: (error: AgentBackendError) => void): () => void; prompt(input: RemoteAgentV2PromptInput): Promise; + uploadAttachment(input: { + readonly ref: AgentSessionRef; + readonly uploadId: string; + readonly totalBytes: number; + readonly mimeType: string; + readonly name?: string; + readonly data: string; + }): Promise<{ readonly uploadId: string }>; + abortAttachment( + uploadId: string, + ): Promise<{ readonly aborted: boolean; readonly uploadId: string }>; + readAttachment( + ref: AgentSessionRef, + attachmentId: string, + ): Promise; respondPermission(input: { readonly ref: AgentSessionRef; readonly requestId: string; readonly optionId: string; readonly idempotencyKey: string; }): Promise<{ readonly accepted: boolean }>; + respondQuestion(input: { + readonly ref: AgentSessionRef; + readonly requestId: string; + readonly response: RemoteAgentV2QuestionResponseInput["response"]; + readonly idempotencyKey: string; + }): Promise<{ readonly accepted: boolean }>; sync(input: { readonly ref: AgentSessionRef; readonly afterCursor?: number; @@ -255,6 +301,10 @@ function parseContent(value: unknown): RemoteAgentV2ContentBlock { return parseSchema(v2ContentBlockSchema, value, "Content block"); } +function parsePromptContent(value: unknown): RemoteAgentV2PromptContentBlock { + return parseSchema(v2PromptContentBlockSchema, value, "Prompt content block"); +} + function parseUsage(value: unknown): RemoteAgentV2Usage { const input = record(value, "Usage"); const optional = (key: string): number | undefined => @@ -377,6 +427,8 @@ function parseState(value: unknown): RemoteAgentV2SessionState { : { lastRun: parseRun(input.lastRun) }), pendingInputs: input.pendingInputs.map(parseQueuedInput), pendingPermissions: input.pendingPermissions.map(parsePermission), + pendingQuestions: input.pendingQuestions.map(parseQuestionRequest), + workState: parseWorkState(input.workState), ...(input.usageTotal === undefined || input.usageTotal === null ? {} : { usageTotal: parseUsage(input.usageTotal) }), @@ -407,6 +459,42 @@ function parsePermission(value: unknown): RemoteAgentV2PermissionRequest { } } +function parseQuestionRequest(value: unknown): RemoteAgentV2QuestionRequest { + try { + return validateAgentQuestionRequest(value); + } catch { + protocolError("Question request is invalid"); + } +} + +function parseSubagentEntry(value: unknown): AgentSessionSubagentEntry { + const input = parseSchema(v2SubagentEntrySchema, value, "Subagent entry"); + const base = { + depth: input.depth, + parentRef: parseRef(input.parentRef), + ref: parseRef(input.ref), + }; + if (input.kind === "diagnostic") { + return { ...base, kind: "diagnostic", reason: input.reason }; + } + return { + ...base, + activity: input.activity, + hasChildren: input.hasChildren, + kind: "child", + ...(input.label === undefined ? {} : { label: input.label }), + mode: input.mode, + } as AgentSessionSubagentEntry; +} + +function parseWorkState(value: unknown): RemoteAgentV2SessionState["workState"] { + try { + return validateAgentWorkState(value); + } catch { + protocolError("Work state is invalid"); + } +} + function parseSummary(value: unknown): RemoteAgentV2SessionSummary { const input = parseSchema(v2SessionSummarySchema, value, "Session summary"); return { @@ -510,10 +598,24 @@ function parseAttachments( ): NonNullable { const input = record(value, "Attachment capability"); return { - maxBytes: integer(input, "maxBytes", "Attachment max bytes", 1), + downloadChunkBytes: integer(input, "downloadChunkBytes", "Attachment download chunk bytes", 1), + maxImageBytes: integer(input, "maxImageBytes", "Attachment max image bytes", 1), + maxImagesPerMessage: integer( + input, + "maxImagesPerMessage", + "Attachment max images per message", + 1, + ), + maxMessageImageBytes: integer( + input, + "maxMessageImageBytes", + "Attachment max message image bytes", + 1, + ), mimeTypes: array(input, "mimeTypes", "Attachment MIME types").map((item) => stringValue(item, "Attachment MIME type"), ), + uploadChunkBytes: integer(input, "uploadChunkBytes", "Attachment upload chunk bytes", 1), }; } @@ -665,6 +767,10 @@ function parsePatch(value: unknown): RemoteAgentV2SessionStatePatch { ...(input.pendingPermissions === undefined ? {} : { pendingPermissions: input.pendingPermissions.map(parsePermission) }), + ...(input.pendingQuestions === undefined + ? {} + : { pendingQuestions: input.pendingQuestions.map(parseQuestionRequest) }), + ...(input.workState === undefined ? {} : { workState: parseWorkState(input.workState) }), ...(input.usageTotal === undefined ? {} : { usageTotal: input.usageTotal === null ? null : parseUsage(input.usageTotal) }), @@ -775,6 +881,25 @@ function toJson(value: unknown): JsonValue { return jsonValueSchema.parse(JSON.parse(JSON.stringify(value))) as JsonValue; } +function decodeBase64(value: string): Uint8Array { + try { + const binary = atob(value); + if (btoa(binary) !== value) protocolError("Attachment data is not canonical base64"); + return Uint8Array.from(binary, (character) => character.charCodeAt(0)); + } catch { + protocolError("Attachment data is not valid base64"); + } +} + +function encodeBase64(value: Uint8Array): string { + let binary = ""; + const chunkSize = 0x8000; + for (let offset = 0; offset < value.length; offset += chunkSize) { + binary += String.fromCharCode(...value.subarray(offset, offset + chunkSize)); + } + return btoa(binary); +} + export class OrbisRemoteAgentV2Connection implements RemoteAgentV2Connection { private readonly closeListeners = new Set<() => void>(); private readonly eventListeners = new Set<(delivery: RemoteAgentV2Delivery) => void>(); @@ -925,6 +1050,32 @@ export class OrbisRemoteAgentV2Connection implements RemoteAgentV2Connection { }); } + async listSessionSubagents( + ref: AgentSessionRef, + signal?: AbortSignal, + ): Promise { + const driver = this.helloResult?.drivers.find((candidate) => candidate.id === ref.driverId); + if (driver === undefined || !driver.capabilities.includes("session.subagents.list")) { + throw new AgentBackendError( + "unsupported", + "The driver does not support listing session subagents", + ); + } + const value = await this.request( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSubagentsList, + { ref: refPayload(ref) }, + (result) => parseSchema(v2SubagentListResponseSchema, result, "Subagent list result"), + false, + signal, + ); + const entries = value.entries.map(parseSubagentEntry); + try { + return validateAgentSessionSubagentList(entries, ref); + } catch { + protocolError("Subagent list result is invalid"); + } + } + async createSession(input: RemoteAgentV2CreateInput) { return this.request( ORBIS_REMOTE_AGENT_V2_METHODS.sessionsCreate, @@ -939,6 +1090,54 @@ export class OrbisRemoteAgentV2Connection implements RemoteAgentV2Connection { ); } + async completePromptReferences( + input: AgentPromptReferenceCompletionInput, + ): Promise { + const validated = validateAgentPromptReferenceCompletionInput(input); + const capability = + validated.source === "files" ? "prompt.references.files" : "prompt.references.sessions"; + const driver = this.helloResult?.drivers.find( + (candidate) => candidate.id === validated.ref.driverId, + ); + if (driver === undefined || !driver.capabilities.includes(capability)) { + throw new AgentBackendError( + "unsupported", + `The driver does not support ${validated.source} prompt references`, + ); + } + const value = await this.request( + validated.source === "files" + ? ORBIS_REMOTE_AGENT_V2_METHODS.promptReferencesFiles + : ORBIS_REMOTE_AGENT_V2_METHODS.promptReferencesSessions, + { + cursor: validated.cursor, + limit: validated.limit, + ref: refPayload(validated.ref), + source: validated.source, + text: validated.text, + }, + (result) => + parseSchema( + v2PromptReferenceCompletionResponseSchema, + result, + "Reference completion result", + ), + false, + validated.signal, + ); + try { + return validateAgentPromptReferenceCompletionResult(value, validated); + } catch (error) { + if (isAgentBackendError(error) && error.code === "invalid_argument") { + throw new AgentBackendError( + "protocol", + "The remote prompt reference completion is invalid", + ); + } + throw error; + } + } + async sync(input: { readonly ref: AgentSessionRef; readonly afterCursor?: number; @@ -1011,6 +1210,213 @@ export class OrbisRemoteAgentV2Connection implements RemoteAgentV2Connection { ); } + async uploadAttachment(input: { + readonly ref: AgentSessionRef; + readonly uploadId: string; + readonly totalBytes: number; + readonly mimeType: string; + readonly name?: string; + readonly data: string; + }): Promise<{ readonly uploadId: string }> { + if (this.helloResult?.capabilities.attachments === false || this.helloResult === undefined) { + throw new AgentBackendError("unsupported", "The remote host does not support attachments"); + } + const capability = this.helloResult.capabilities.attachments; + const bytes = decodeBase64(input.data); + if (bytes.byteLength !== input.totalBytes) { + throw new AgentBackendError("invalid_argument", "Attachment byte count does not match data"); + } + if (bytes.byteLength > capability.maxImageBytes) { + throw new AgentBackendError("invalid_argument", "Attachment exceeds the image byte limit"); + } + await this.request( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadBegin, + { + idempotencyKey: `${input.uploadId}:begin`, + mimeType: input.mimeType, + ...(input.name === undefined ? {} : { name: input.name }), + ref: refPayload(input.ref), + totalBytes: input.totalBytes, + uploadId: input.uploadId, + }, + (value) => { + const output = record(value, "Attachment upload begin result"); + return { uploadId: string(output, "uploadId", "Attachment upload id") }; + }, + ); + const rawChunkBytes = Math.max(3, Math.floor(capability.uploadChunkBytes / 3) * 3); + const encodedChunkChars = (rawChunkBytes / 3) * 4; + let encodedOffset = 0; + let rawOffset = 0; + while (encodedOffset < input.data.length) { + const isFinal = encodedOffset + encodedChunkChars >= input.data.length; + const chunk = input.data.slice( + encodedOffset, + isFinal ? undefined : encodedOffset + encodedChunkChars, + ); + const chunkBytes = decodeBase64(chunk); + await this.request( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadChunk, + { + data: chunk, + idempotencyKey: `${input.uploadId}:chunk:${rawOffset}`, + offset: rawOffset, + uploadId: input.uploadId, + }, + (value) => { + const output = record(value, "Attachment upload chunk result"); + return { + nextOffset: integer(output, "nextOffset", "Attachment next offset"), + uploadId: string(output, "uploadId", "Attachment upload id"), + }; + }, + ).then((result) => { + if (result.uploadId !== input.uploadId) protocolError("Attachment upload id changed"); + if (result.nextOffset !== rawOffset + chunkBytes.byteLength) { + protocolError("Attachment upload offset did not advance by the chunk size"); + } + }); + rawOffset += chunkBytes.byteLength; + encodedOffset += chunk.length; + } + return this.request( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadFinish, + { idempotencyKey: `${input.uploadId}:finish`, uploadId: input.uploadId }, + (value) => { + const output = record(value, "Attachment upload finish result"); + return { uploadId: string(output, "uploadId", "Attachment upload id") }; + }, + ); + } + + async abortAttachment( + uploadId: string, + ): Promise<{ readonly aborted: boolean; readonly uploadId: string }> { + if (this.helloResult?.capabilities.attachments === false || this.helloResult === undefined) { + throw new AgentBackendError("unsupported", "The remote host does not support attachments"); + } + return this.request( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadAbort, + { idempotencyKey: `${uploadId}:abort`, uploadId }, + (value) => { + const output = record(value, "Attachment upload abort result"); + return { + aborted: boolean(output, "aborted", "Attachment abort result"), + uploadId: string(output, "uploadId", "Attachment upload id"), + }; + }, + ); + } + + async readAttachment( + ref: AgentSessionRef, + attachmentId: string, + ): Promise { + if (this.helloResult?.capabilities.attachments === false || this.helloResult === undefined) { + throw new AgentBackendError("unsupported", "The remote host does not support attachments"); + } + let offset = 0; + let metadata: + | { + attachmentId: string; + bytes?: number; + height?: number; + mimeType: string; + name?: string; + width?: number; + } + | undefined; + const chunks: Uint8Array[] = []; + let expectedBytes: number | undefined; + for (;;) { + const result = await this.request( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead, + { attachmentId, offset, ref: refPayload(ref) }, + (value) => { + const output = record(value, "Attachment read result"); + return { + attachmentId: string(output, "attachmentId", "Attachment id"), + data: string(output, "data", "Attachment data"), + eof: boolean(output, "eof", "Attachment EOF"), + mimeType: string(output, "mimeType", "Attachment MIME type"), + nextOffset: integer(output, "nextOffset", "Attachment next offset"), + ...(output.name === undefined + ? {} + : { name: string(output, "name", "Attachment name") }), + ...(output.bytes === undefined + ? {} + : { bytes: integer(output, "bytes", "Attachment bytes", 1) }), + ...(output.width === undefined + ? {} + : { width: integer(output, "width", "Attachment width", 1) }), + ...(output.height === undefined + ? {} + : { height: integer(output, "height", "Attachment height", 1) }), + }; + }, + ); + if (result.attachmentId !== attachmentId) protocolError("Attachment id changed during read"); + const chunk = decodeBase64(result.data); + if (!result.eof && chunk.byteLength % 3 !== 0) { + protocolError("Non-final attachment chunks must be three-byte aligned"); + } + if (chunk.byteLength > this.helloResult.capabilities.attachments.downloadChunkBytes) { + protocolError("Attachment read chunk exceeds the advertised limit"); + } + if (result.nextOffset !== offset + chunk.byteLength) { + protocolError("Attachment read offset does not match the chunk size"); + } + if (result.nextOffset > this.helloResult.capabilities.attachments.maxImageBytes) { + protocolError("Attachment read exceeds the advertised image limit"); + } + if (metadata === undefined) { + if (result.bytes === undefined) protocolError("Attachment byte count is missing"); + if (result.bytes > this.helloResult.capabilities.attachments.maxImageBytes) { + protocolError("Attachment byte count exceeds the advertised image limit"); + } + expectedBytes = result.bytes; + metadata = { + attachmentId: result.attachmentId, + ...(result.bytes === undefined ? {} : { bytes: result.bytes }), + ...(result.height === undefined ? {} : { height: result.height }), + mimeType: result.mimeType, + ...(result.name === undefined ? {} : { name: result.name }), + ...(result.width === undefined ? {} : { width: result.width }), + }; + } else if ( + result.mimeType !== metadata.mimeType || + result.bytes !== metadata.bytes || + result.name !== metadata.name || + result.width !== metadata.width || + result.height !== metadata.height + ) { + protocolError("Attachment metadata changed during read"); + } + if (expectedBytes !== undefined && result.nextOffset > expectedBytes) { + protocolError("Attachment read exceeds the declared byte count"); + } + if (!result.eof && expectedBytes !== undefined && result.nextOffset >= expectedBytes) { + protocolError("Attachment read reached the declared byte count before EOF"); + } + chunks.push(chunk); + if (result.eof) { + if (expectedBytes !== result.nextOffset) + protocolError("Attachment EOF byte count is invalid"); + break; + } + if (result.nextOffset <= offset) protocolError("Attachment read did not advance"); + offset = result.nextOffset; + } + const size = chunks.reduce((total, chunk) => total + chunk.byteLength, 0); + const bytes = new Uint8Array(size); + let cursor = 0; + for (const chunk of chunks) { + bytes.set(chunk, cursor); + cursor += chunk.byteLength; + } + return { ...metadata!, data: encodeBase64(bytes) }; + } + cancel(input: RemoteAgentV2CancelInput) { return this.request( ORBIS_REMOTE_AGENT_V2_METHODS.sessionsCancel, @@ -1046,6 +1452,30 @@ export class OrbisRemoteAgentV2Connection implements RemoteAgentV2Connection { ); } + respondQuestion(input: { + readonly ref: AgentSessionRef; + readonly requestId: string; + readonly response: RemoteAgentV2QuestionResponseInput["response"]; + readonly idempotencyKey: string; + }) { + const validated = validateAgentQuestionResponseInput({ + idempotencyKey: input.idempotencyKey, + requestId: input.requestId, + response: input.response, + }); + return this.request( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondQuestion, + { + ...validated, + ref: refPayload(input.ref), + }, + (value) => { + const output = record(value, "Question result"); + return { accepted: boolean(output, "accepted", "Question accepted") }; + }, + ); + } + fork(input: { readonly ref: AgentSessionRef; readonly fromEntryId?: string; diff --git a/packages/orbis-remote-agent-protocol/src/v2-constants.ts b/packages/orbis-remote-agent-protocol/src/v2-constants.ts index ba74612..78fba0d 100644 --- a/packages/orbis-remote-agent-protocol/src/v2-constants.ts +++ b/packages/orbis-remote-agent-protocol/src/v2-constants.ts @@ -6,11 +6,14 @@ export const ORBIS_REMOTE_AGENT_V2_EVENT_TYPE = "orbis.event" as const; export const ORBIS_REMOTE_AGENT_V2_METHODS = { hello: "orbis.hello", modelsList: "orbis.models.list", + promptReferencesFiles: "orbis.prompt.references.files", + promptReferencesSessions: "orbis.prompt.references.sessions", workspacesList: "orbis.workspaces.list", workspacesBrowse: "orbis.workspaces.browse", workspacesCreateFolder: "orbis.workspaces.createFolder", workspacesRegister: "orbis.workspaces.register", sessionsList: "orbis.sessions.list", + sessionsSubagentsList: "orbis.session.subagents.list", sessionsCreate: "orbis.sessions.create", sessionsSync: "orbis.sessions.sync", sessionsEntries: "orbis.sessions.entries", @@ -18,6 +21,12 @@ export const ORBIS_REMOTE_AGENT_V2_METHODS = { sessionsCancel: "orbis.sessions.cancel", sessionsUpdate: "orbis.sessions.update", sessionsRespondPermission: "orbis.sessions.respondPermission", + sessionsRespondQuestion: "orbis.sessions.respondQuestion", + attachmentsUploadBegin: "orbis.attachments.upload.begin", + attachmentsUploadChunk: "orbis.attachments.upload.chunk", + attachmentsUploadFinish: "orbis.attachments.upload.finish", + attachmentsUploadAbort: "orbis.attachments.upload.abort", + attachmentsRead: "orbis.attachments.read", sessionsFork: "orbis.sessions.fork", sessionsDispose: "orbis.sessions.dispose", } as const; @@ -25,6 +34,8 @@ export const ORBIS_REMOTE_AGENT_V2_METHODS = { export const ORBIS_REMOTE_AGENT_V2_METHOD_SCOPES = { [ORBIS_REMOTE_AGENT_V2_METHODS.hello]: [ORBIS_REMOTE_SCOPES.agentRead], [ORBIS_REMOTE_AGENT_V2_METHODS.modelsList]: [ORBIS_REMOTE_SCOPES.agentRead], + [ORBIS_REMOTE_AGENT_V2_METHODS.promptReferencesFiles]: [ORBIS_REMOTE_SCOPES.workspaceBrowse], + [ORBIS_REMOTE_AGENT_V2_METHODS.promptReferencesSessions]: [ORBIS_REMOTE_SCOPES.agentRead], [ORBIS_REMOTE_AGENT_V2_METHODS.workspacesList]: [ORBIS_REMOTE_SCOPES.agentRead], [ORBIS_REMOTE_AGENT_V2_METHODS.workspacesBrowse]: [ORBIS_REMOTE_SCOPES.workspaceBrowse], [ORBIS_REMOTE_AGENT_V2_METHODS.workspacesCreateFolder]: [ @@ -36,6 +47,7 @@ export const ORBIS_REMOTE_AGENT_V2_METHOD_SCOPES = { ORBIS_REMOTE_SCOPES.agentWrite, ], [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsList]: [ORBIS_REMOTE_SCOPES.agentRead], + [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSubagentsList]: [ORBIS_REMOTE_SCOPES.agentRead], [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsCreate]: [ORBIS_REMOTE_SCOPES.agentWrite], [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSync]: [ORBIS_REMOTE_SCOPES.agentRead], [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsEntries]: [ORBIS_REMOTE_SCOPES.agentRead], @@ -43,6 +55,12 @@ export const ORBIS_REMOTE_AGENT_V2_METHOD_SCOPES = { [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsCancel]: [ORBIS_REMOTE_SCOPES.agentWrite], [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsUpdate]: [ORBIS_REMOTE_SCOPES.agentWrite], [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondPermission]: [ORBIS_REMOTE_SCOPES.agentWrite], + [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondQuestion]: [ORBIS_REMOTE_SCOPES.agentWrite], + [ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadBegin]: [ORBIS_REMOTE_SCOPES.agentWrite], + [ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadChunk]: [ORBIS_REMOTE_SCOPES.agentWrite], + [ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadFinish]: [ORBIS_REMOTE_SCOPES.agentWrite], + [ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadAbort]: [ORBIS_REMOTE_SCOPES.agentWrite], + [ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead]: [ORBIS_REMOTE_SCOPES.agentRead], [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsFork]: [ORBIS_REMOTE_SCOPES.agentWrite], [ORBIS_REMOTE_AGENT_V2_METHODS.sessionsDispose]: [ORBIS_REMOTE_SCOPES.agentWrite], } as const; diff --git a/packages/orbis-remote-agent-protocol/src/v2-host-transport.test.ts b/packages/orbis-remote-agent-protocol/src/v2-host-transport.test.ts new file mode 100644 index 0000000..9e449e6 --- /dev/null +++ b/packages/orbis-remote-agent-protocol/src/v2-host-transport.test.ts @@ -0,0 +1,80 @@ +import type { RemoteHostPeer, TransportEvent, WebSocketEvent } from "@orbisapp/transport"; +import { expect, test } from "vitest"; + +import type { RemoteAgentHostPeer } from "./host"; +import { ORBIS_REMOTE_AGENT_V2_METHODS } from "./v2-constants"; +import { + createRemoteAgentV2HostRequestHandler, + OrbisRemoteAgentV2HostTransport, +} from "./v2-host-transport"; + +const authenticatedPeer: RemoteHostPeer = { + descriptor: { + deviceId: "device-a", + deviceName: "Phone A", + role: "client", + version: "1", + }, + handshakeId: "transport-a", + keyId: "sha256:phone-key", + mode: "authenticated", + publicKey: "public-key", + scopes: [], +}; + +class FakeHostConnection { + peers: readonly RemoteHostPeer[] = [authenticatedPeer]; + private readonly closeListeners = new Set<(event: WebSocketEvent) => void>(); + + onClose(listener: (event: WebSocketEvent) => void): () => void { + this.closeListeners.add(listener); + return () => this.closeListeners.delete(listener); + } + + async sendEvent(_handshakeId: string, _event: TransportEvent): Promise {} + + close(): void { + this.peers = []; + for (const listener of this.closeListeners) listener({}); + } +} + +test("host transport reports authenticated peers on connection close", () => { + const transport = new OrbisRemoteAgentV2HostTransport(); + const connection = new FakeHostConnection(); + const disconnected: RemoteAgentHostPeer[] = []; + transport.onPeerDisconnected((peer) => disconnected.push(peer)); + transport.attach(connection); + + connection.close(); + + expect(disconnected).toEqual([ + { + deviceId: "device-a", + deviceName: "Phone A", + id: "16:sha256:phone-key|8:device-a", + transportId: "transport-a", + }, + ]); +}); + +test("host request handler enforces the subagent read scope", async () => { + const handler = createRemoteAgentV2HostRequestHandler({ + handleRequest: async () => { + throw new Error("must not reach host"); + }, + } as never); + + await expect( + handler( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSubagentsList, + {}, + { + maxResponseBytes: 1024, + peer: authenticatedPeer, + requestId: "request-a", + signal: new AbortController().signal, + }, + ), + ).rejects.toMatchObject({ code: "authentication", serverCode: "forbidden" }); +}); diff --git a/packages/orbis-remote-agent-protocol/src/v2-host-transport.ts b/packages/orbis-remote-agent-protocol/src/v2-host-transport.ts index ef654f4..377e898 100644 --- a/packages/orbis-remote-agent-protocol/src/v2-host-transport.ts +++ b/packages/orbis-remote-agent-protocol/src/v2-host-transport.ts @@ -15,18 +15,43 @@ import { import { ORBIS_REMOTE_AGENT_V2_METHOD_SCOPES } from "./v2-constants"; import { OrbisRemoteAgentV2Host } from "./v2-host"; -type HostConnectionPort = Pick; +type HostConnectionPort = Pick & + Partial>; /** Sends v2 envelopes through the existing authenticated encrypted transport. */ export class OrbisRemoteAgentV2HostTransport implements RemoteAgentHostDeliveryTransport { private readonly connections = new Set(); + private readonly peerDisconnectedListeners = new Set<(peer: RemoteAgentHostPeer) => void>(); + + onPeerDisconnected(listener: (peer: RemoteAgentHostPeer) => void): () => void { + this.peerDisconnectedListeners.add(listener); + return () => this.peerDisconnectedListeners.delete(listener); + } attach(connection: HostConnectionPort): () => void { this.connections.add(connection); - const detachClosed = connection.onClose(() => this.connections.delete(connection)); + const knownPeers = new Map(); + const rememberPeers = (peers: readonly RemoteHostPeer[]): void => { + for (const peer of peers) { + const mapped = createRemoteAgentHostPeer(peer); + knownPeers.set(mapped.transportId, mapped); + } + }; + rememberPeers(connection.peers); + const notifyDisconnected = (): void => { + const peers = [...knownPeers.values()]; + knownPeers.clear(); + this.connections.delete(connection); + for (const peer of peers) { + for (const listener of this.peerDisconnectedListeners) listener(peer); + } + }; + const detachPeer = connection.onPeer?.((peer) => rememberPeers([peer])); + const detachClosed = connection.onClose(notifyDisconnected); return () => { + notifyDisconnected(); + detachPeer?.(); detachClosed(); - this.connections.delete(connection); }; } diff --git a/packages/orbis-remote-agent-protocol/src/v2-host.test.ts b/packages/orbis-remote-agent-protocol/src/v2-host.test.ts index f4a7732..66bbe6b 100644 --- a/packages/orbis-remote-agent-protocol/src/v2-host.test.ts +++ b/packages/orbis-remote-agent-protocol/src/v2-host.test.ts @@ -1,4 +1,5 @@ import { + AgentBackendError, agentBackendId, agentDeliveryCursor, agentDriverId, @@ -6,6 +7,7 @@ import { agentEventId, agentRunId, agentTimestamp, + type AgentPromptContentBlock, createAgentDriverDescriptor, createAgentSessionRef, type AgentJsonValue, @@ -16,11 +18,14 @@ import { expect, test } from "vitest"; import { OrbisRemoteAgentV2Host, + type RemoteAgentHostDeliveryTransport, + type RemoteAgentHostPeer, type RemoteAgentV2Backend, type RemoteAgentV2HostEvent, type RemoteAgentV2HostStore, type RemoteAgentV2IdempotencyClaim, type RemoteAgentV2Runtime, + type RemoteAgentV2QuestionRequest, type RemoteAgentV2SessionEvent, type RemoteAgentV2SessionSnapshot, type RemoteAgentV2SessionSummary, @@ -53,7 +58,12 @@ const otherPublicRef = createAgentSessionRef({ nativeSessionId: "session-b", sessionId: "session-b", }); -const peer = { id: "peer-a", transportId: "transport-a" }; +const peer = { + deviceId: "device-a", + deviceName: "Test Device", + id: "peer-a", + transportId: "transport-a", +}; const now = agentTimestamp("2026-08-11T00:00:00.000Z"); class MemoryStore implements RemoteAgentV2HostStore { @@ -118,6 +128,7 @@ function entry(id: string): RemoteAgentV2SessionSnapshot["entries"][number] { function snapshot( entries: readonly RemoteAgentV2SessionSnapshot["entries"][number][], revision = entries.length, + statePatch: Partial = {}, ): RemoteAgentV2SessionSnapshot { return { entries, @@ -130,12 +141,15 @@ function snapshot( model: null, pendingInputs: [], pendingPermissions: [], + pendingQuestions: [], ref: nativeRef, revision, runState: "idle", title: null, updatedAt: now, workspaceRef: "workspace-a", + workState: { goal: null, todos: [] }, + ...statePatch, }, }; } @@ -143,11 +157,75 @@ function snapshot( function context(transportId = peer.transportId, maxResponseBytes = 1024 * 1024) { return { maxResponseBytes, - peer: { id: peer.id, transportId }, + peer: { ...peer, transportId }, signal: new AbortController().signal, }; } +function presenceBackend( + listeners: Set<(event: RemoteAgentV2SessionEvent) => void>, + options: { + readonly onPrompt?: (content: readonly AgentPromptContentBlock[]) => void; + readonly readAttachment?: RemoteAgentV2Backend["readAttachment"]; + } = {}, +): RemoteAgentV2Backend { + const runtime: RemoteAgentV2Runtime = { + cancel: async () => ({ cancelled: false }), + close: async () => undefined, + prompt: async (input) => { + options.onPrompt?.(input.content); + return { acceptedAt: now, queued: false, runId: agentRunId("run-1") }; + }, + respondPermission: async () => ({ accepted: true }), + respondQuestion: async () => ({ accepted: true }), + ref: nativeRef, + subscribe: (listener) => { + listeners.add(listener); + return () => listeners.delete(listener); + }, + }; + return { + browseWorkspaceFolders: async () => ({ + breadcrumbs: [], + current: null, + entries: [], + truncated: false, + }), + close: async () => undefined, + completePromptReferences: async () => undefined, + connectRuntime: async () => runtime, + createSession: async () => { + throw new Error("unused"); + }, + createWorkspaceFolder: async () => { + throw new Error("unused"); + }, + hostId: agentBackendId("native"), + listDrivers: async () => [], + listModels: async () => [], + listSessions: async () => [], + listSessionSubagents: async () => [], + listWorkspaces: async () => [], + readSession: async () => snapshot([]), + readAttachment: + options.readAttachment ?? + (async () => { + throw new Error("unused"); + }), + registerWorkspace: async () => { + throw new Error("unused"); + }, + updateSession: async () => undefined, + }; +} + +function sessionEventFromTransport(event: TransportEvent): RemoteAgentV2SessionEvent | undefined { + const payload = event.payload as { readonly event?: unknown }; + return typeof payload.event === "object" && payload.event !== null + ? (payload.event as RemoteAgentV2SessionEvent) + : undefined; +} + function params(value: unknown): JsonValue { return JSON.parse(JSON.stringify(value)) as JsonValue; } @@ -171,6 +249,7 @@ test("v2 host replays native entries from its cursor index without ACK state", a expect(input).toMatchObject({ optionId: "allow-once", requestId: "permission-1" }); return { accepted: true }; }, + respondQuestion: async () => ({ accepted: true }), ref: nativeRef, subscribe: (listener) => { runtimeListeners.add(listener); @@ -187,6 +266,7 @@ test("v2 host replays native entries from its cursor index without ACK state", a truncated: false, }), close: async () => undefined, + completePromptReferences: async () => undefined, connectRuntime: async () => runtime, createSession: async () => ({ createdAt: now, @@ -205,7 +285,15 @@ test("v2 host replays native entries from its cursor index without ACK state", a hostId: agentBackendId("native"), listDrivers: async () => [ createAgentDriverDescriptor({ - capabilities: ["model.select", "permission.respond", "session.list", "workspace.open"], + capabilities: [ + "model.select", + "permission.respond", + "plan.select", + "question.respond", + "session.subagents.list", + "session.list", + "workspace.open", + ], displayName: "DSH", id: "dsh", }), @@ -228,7 +316,43 @@ test("v2 host replays native entries from its cursor index without ACK state", a updatedAt: agentTimestamp("2026-08-11T00:00:01.000Z"), }, ], + listSessionSubagents: async (ref) => { + const childRef = createAgentSessionRef({ + backendId: ref.backendId, + driverId: ref.driverId, + nativeSessionId: "session-a-child", + sessionId: "session-a-child", + }); + const diagnosticRef = createAgentSessionRef({ + backendId: ref.backendId, + driverId: ref.driverId, + nativeSessionId: "session-a-diagnostic", + sessionId: "session-a-diagnostic", + }); + return [ + { + activity: "running" as const, + depth: 1, + hasChildren: true, + kind: "child" as const, + label: "Worker", + mode: "continuable" as const, + parentRef: ref, + ref: childRef, + }, + { + depth: 2, + kind: "diagnostic" as const, + parentRef: childRef, + reason: "unavailable" as const, + ref: diagnosticRef, + }, + ]; + }, readSession: async () => current, + readAttachment: async () => { + throw new Error("unused"); + }, registerWorkspace: async () => ({ created: true, workspace: { displayName: "Orbis", ref: "workspace-a" }, @@ -291,6 +415,19 @@ test("v2 host replays native entries from its cursor index without ACK state", a ); expect(hello).toMatchObject({ hostId: "remote:host-a", version: 2 }); + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSubagentsList, + params({ ref: publicRef }), + context(), + ), + ).resolves.toEqual({ + entries: [ + expect.objectContaining({ depth: 1, kind: "child", parentRef: publicRef }), + expect.objectContaining({ depth: 2, kind: "diagnostic" }), + ], + }); + expect( await host.handleRequest( ORBIS_REMOTE_AGENT_V2_METHODS.workspacesList, @@ -500,6 +637,61 @@ test("v2 host replays native entries from its cursor index without ACK state", a ).resolves.toEqual({ accepted: true }); expect(permissionResponses).toBe(1); + const pendingQuestion: RemoteAgentV2QuestionRequest = { + questions: [ + { + multiSelect: false, + options: [{ label: "Approve", optionId: "approve" }], + question: "Continue?", + questionId: "question-item-1", + }, + ], + requestId: "question-1", + requestedAt: now, + }; + current = snapshot([nextEntry, burstEntry], 2, { pendingQuestions: [pendingQuestion] }); + await host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSync, + params({ mode: "once", ref: publicRef }), + context(), + ); + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondQuestion, + params({ + idempotencyKey: "question-invalid-option", + ref: publicRef, + requestId: "question-1", + response: { + answers: [{ optionIds: ["unknown"], questionId: "question-item-1" }], + kind: "answered", + }, + }), + context(), + ), + ).rejects.toMatchObject({ code: "invalid_argument" }); + + const question = { + idempotencyKey: "question-cancel-1", + ref: publicRef, + requestId: "question-1", + response: { kind: "cancelled" }, + }; + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondQuestion, + params(question), + context(), + ), + ).resolves.toEqual({ accepted: true }); + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondQuestion, + params(question), + context(), + ), + ).resolves.toEqual({ accepted: true }); + const retryablePrompt = { ...prompt, expectedRevision: 2, @@ -666,6 +858,7 @@ test("v2 host announces catalog rows that move outside its own session runtimes" truncated: false, }), close: async () => undefined, + completePromptReferences: async () => undefined, connectRuntime: async () => { throw new Error("unused"); }, @@ -683,6 +876,7 @@ test("v2 host announces catalog rows that move outside its own session runtimes" listCalls += 1; return [...catalog.values()]; }, + listSessionSubagents: async () => [], observeCatalog: (listener) => { notifyCatalog = listener; return () => { @@ -690,6 +884,9 @@ test("v2 host announces catalog rows that move outside its own session runtimes" }; }, readSession: async () => snapshot([]), + readAttachment: async () => { + throw new Error("unused"); + }, registerWorkspace: async () => { throw new Error("unused"); }, @@ -802,3 +999,470 @@ test("v2 host announces catalog rows that move outside its own session runtimes" } expect(detachedCatalog).toBe(true); }); + +test("v2 host owns live presence membership and converges disconnects", async () => { + const runtimeListeners = new Set<(event: RemoteAgentV2SessionEvent) => void>(); + const received = new Map(); + let failedDeviceId: string | undefined; + let disconnectPeer: ((peer: RemoteAgentHostPeer) => void) | undefined; + let clockTick = 0; + const clock = () => + agentTimestamp(`2026-08-11T00:00:${String(++clockTick).padStart(2, "0")}.000Z`); + const transport: RemoteAgentHostDeliveryTransport = { + onPeerDisconnected: (listener) => { + disconnectPeer = listener; + return () => { + if (disconnectPeer === listener) disconnectPeer = undefined; + }; + }, + send: async (target, frame) => { + const event = sessionEventFromTransport(frame); + if (event?.type === "presence.changed" && target.deviceId === failedDeviceId) { + throw new Error("peer send failed"); + } + if (event === undefined) return; + const events = received.get(target.id) ?? []; + events.push(event); + received.set(target.id, events); + }, + }; + const backend = presenceBackend(runtimeListeners); + const host = new OrbisRemoteAgentV2Host({ + backend, + backendId: "remote:host-a", + capabilities: { presence: true }, + clock, + store: new MemoryStore(), + transport, + }); + const peerA: RemoteAgentHostPeer = { + deviceId: "device-a", + deviceName: "Phone A", + id: "peer-a", + transportId: "transport-a", + }; + const peerB: RemoteAgentHostPeer = { + deviceId: "device-b", + deviceName: "Phone B", + id: "peer-b", + transportId: "transport-b", + }; + const requestContext = (target: RemoteAgentHostPeer) => ({ + maxResponseBytes: 1024 * 1024, + peer: target, + signal: new AbortController().signal, + }); + const hello = (target: RemoteAgentHostPeer) => + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.hello, + { + device: { + ...(target.deviceName === undefined ? {} : { name: target.deviceName }), + platform: "node", + }, + supportedVersions: [2], + }, + requestContext(target), + ); + const sync = (target: RemoteAgentHostPeer, mode: "live" | "once") => + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSync, + params({ mode, ref: publicRef }), + requestContext(target), + ); + const latestPresence = (target: RemoteAgentHostPeer) => { + const events = received.get(target.id) ?? []; + const event = [...events].reverse().find((candidate) => candidate.type === "presence.changed"); + if (event?.type !== "presence.changed") throw new Error("Missing presence event"); + return event; + }; + + try { + await hello(peerA); + await hello(peerB); + await sync(peerA, "live"); + const first = latestPresence(peerA); + expect(first.devices).toEqual([ + { deviceId: "device-a", name: "Phone A", since: "2026-08-11T00:00:01.000Z", viewing: true }, + ]); + + await sync(peerA, "live"); + expect(latestPresence(peerA).devices[0]?.since).toBe(first.devices[0]?.since); + + await sync(peerB, "live"); + expect(latestPresence(peerA).devices).toHaveLength(2); + expect(latestPresence(peerB).devices).toHaveLength(2); + + const peerBEventCountBeforeDisconnect = (received.get(peerB.id) ?? []).length; + disconnectPeer?.(peerB); + await new Promise((resolve) => setTimeout(resolve, 0)); + expect(latestPresence(peerA).devices).toEqual([ + { deviceId: "device-a", name: "Phone A", since: first.devices[0]?.since, viewing: true }, + ]); + expect((received.get(peerB.id) ?? []).length).toBe(peerBEventCountBeforeDisconnect); + await hello(peerB); + await sync(peerB, "live"); + + const peerBEventCount = (received.get(peerB.id) ?? []).length; + await sync(peerB, "once"); + expect(latestPresence(peerA).devices).toEqual([ + { deviceId: "device-a", name: "Phone A", since: first.devices[0]?.since, viewing: true }, + ]); + expect((received.get(peerB.id) ?? []).length).toBe(peerBEventCount); + + const peerAReconnect: RemoteAgentHostPeer = { ...peerA, transportId: "transport-a-new" }; + await hello(peerAReconnect); + await sync(peerAReconnect, "live"); + expect(latestPresence(peerAReconnect).devices[0]?.since).toBe(first.devices[0]?.since); + disconnectPeer?.(peerA); + await new Promise((resolve) => setTimeout(resolve, 0)); + await sync(peerAReconnect, "live"); + expect(latestPresence(peerAReconnect).devices[0]?.deviceId).toBe("device-a"); + + await sync(peerB, "live"); + failedDeviceId = "device-b"; + await sync(peerAReconnect, "live"); + expect(latestPresence(peerAReconnect).devices).toEqual([ + { deviceId: "device-a", name: "Phone A", since: first.devices[0]?.since, viewing: true }, + ]); + } finally { + await host.close(); + } +}); + +test("v2 host leaves presence disabled by default", async () => { + const runtimeListeners = new Set<(event: RemoteAgentV2SessionEvent) => void>(); + const presenceEvents: RemoteAgentV2SessionEvent[] = []; + const host = new OrbisRemoteAgentV2Host({ + backend: presenceBackend(runtimeListeners), + backendId: "remote:host-a", + store: new MemoryStore(), + transport: { + send: async (_target, frame) => { + const event = sessionEventFromTransport(frame); + if (event?.type === "presence.changed") presenceEvents.push(event); + }, + }, + }); + try { + await host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.hello, + { device: { name: "Test", platform: "node" }, supportedVersions: [2] }, + context(), + ); + await host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSync, + params({ mode: "live", ref: publicRef }), + context(), + ); + expect(presenceEvents).toEqual([]); + } finally { + await host.close(); + } +}); + +test("v2 host validates staged uploads, consumes successful prompts, and bounds reads", async () => { + const runtimeListeners = new Set<(event: RemoteAgentV2SessionEvent) => void>(); + const prompted: AgentPromptContentBlock[][] = []; + let failPrompt = false; + let readData = "AQIDBAUG"; + const peerB: RemoteAgentHostPeer = { + deviceId: "device-b", + deviceName: "Test Device B", + id: "peer-b", + transportId: "transport-b", + }; + let disconnectPeer: ((peer: RemoteAgentHostPeer) => void) | undefined; + const backend = presenceBackend(runtimeListeners, { + onPrompt: (content) => { + if (failPrompt) { + failPrompt = false; + throw new AgentBackendError("unavailable", "test prompt failure"); + } + prompted.push([...content]); + }, + readAttachment: async (native, attachmentId) => { + expect(native.sessionId).toBe("session-a"); + if (attachmentId !== "att-1" && attachmentId !== "att-too-large") { + throw new AgentBackendError("not_found", "attachment not found"); + } + const bytes = attachmentId === "att-too-large" ? "AQIDBAUGBwgJCg==" : readData; + return { + attachmentId, + bytes: bytes === readData ? 6 : 10, + data: bytes, + mimeType: "image/png", + }; + }, + }); + const host = new OrbisRemoteAgentV2Host({ + backend, + backendId: "remote:host-a", + capabilities: { + attachments: { + downloadChunkBytes: 3, + maxImageBytes: 9, + maxImagesPerMessage: 4, + maxMessageImageBytes: 12, + mimeTypes: ["image/png"], + uploadChunkBytes: 3, + }, + }, + store: new MemoryStore(), + transport: { + onPeerDisconnected: (listener) => { + disconnectPeer = listener; + return () => { + if (disconnectPeer === listener) disconnectPeer = undefined; + }; + }, + send: async () => undefined, + }, + }); + const requestContext = (target: RemoteAgentHostPeer = peer) => ({ + maxResponseBytes: 1024 * 1024, + peer: target, + signal: new AbortController().signal, + }); + const begin = (target: RemoteAgentHostPeer, uploadId: string, totalBytes: number) => + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadBegin, + params({ + idempotencyKey: `${uploadId}:begin`, + mimeType: "image/png", + ref: publicRef, + totalBytes, + uploadId, + }), + requestContext(target), + ); + const chunk = (target: RemoteAgentHostPeer, uploadId: string, offset: number, data: string) => + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadChunk, + params({ + data, + idempotencyKey: `${uploadId}:chunk:${offset}:${data}`, + offset, + uploadId, + }), + requestContext(target), + ); + const abort = ( + target: RemoteAgentHostPeer, + uploadId: string, + idempotencyKey = `${uploadId}:abort`, + ) => + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadAbort, + params({ idempotencyKey, uploadId }), + requestContext(target), + ); + try { + await host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.hello, + { device: { name: "Test", platform: "node" }, supportedVersions: [2] }, + requestContext(), + ); + await host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.hello, + { device: { name: "Test B", platform: "node" }, supportedVersions: [2] }, + requestContext(peerB), + ); + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsPrompt, + params({ + content: [ + { data: "AA==", mimeType: "image/png", type: "image_upload", uploadId: "raw-image" }, + ], + idempotencyKey: "prompt-raw-image", + ref: publicRef, + }), + requestContext(), + ), + ).rejects.toMatchObject({ code: "invalid_argument" }); + + await expect(begin(peer, "upload-1", 6)).resolves.toEqual({ uploadId: "upload-1" }); + await expect(begin(peer, "upload-2", 6)).resolves.toEqual({ uploadId: "upload-2" }); + await expect(begin(peer, "upload-3", 1)).rejects.toMatchObject({ code: "invalid_argument" }); + await expect(chunk(peer, "upload-1", 0, "A===")).rejects.toMatchObject({ + code: "invalid_argument", + }); + await expect(chunk(peer, "upload-1", 1, "AQID")).rejects.toMatchObject({ + code: "invalid_argument", + }); + await expect(chunk(peer, "upload-1", 0, "AQID")).resolves.toMatchObject({ nextOffset: 3 }); + await expect(chunk(peer, "upload-1", 3, "BAUG")).resolves.toMatchObject({ nextOffset: 6 }); + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadFinish, + params({ idempotencyKey: "upload-1:finish", uploadId: "upload-1" }), + requestContext(), + ), + ).resolves.toEqual({ uploadId: "upload-1" }); + await expect(begin(peerB, "upload-2", 3)).resolves.toEqual({ uploadId: "upload-2" }); + await expect(abort(peer, "upload-2")).resolves.toEqual({ + aborted: true, + uploadId: "upload-2", + }); + await expect(abort(peer, "upload-2")).resolves.toEqual({ + aborted: true, + uploadId: "upload-2", + }); + await expect(chunk(peer, "upload-2", 0, "AQID")).rejects.toMatchObject({ + serverCode: "not_found", + }); + await expect(chunk(peerB, "upload-2", 0, "AQID")).resolves.toMatchObject({ nextOffset: 3 }); + + const uploadPrompt = { + content: [{ mimeType: "image/png", type: "image_upload", uploadId: "upload-1" }], + idempotencyKey: "prompt-image-failed", + ref: publicRef, + }; + failPrompt = true; + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsPrompt, + params(uploadPrompt), + requestContext(), + ), + ).rejects.toMatchObject({ serverCode: "unavailable" }); + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsPrompt, + params({ ...uploadPrompt, idempotencyKey: "prompt-image-success" }), + requestContext(), + ), + ).resolves.toMatchObject({ runId: "run-1" }); + expect(prompted).toEqual([[{ data: "AQIDBAUG", mimeType: "image/png", type: "image" }]]); + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsPrompt, + params({ ...uploadPrompt, idempotencyKey: "prompt-image-success" }), + requestContext(), + ), + ).resolves.toMatchObject({ runId: "run-1" }); + expect(prompted).toHaveLength(1); + + await begin(peerB, "peer-upload", 3); + disconnectPeer?.(peerB); + await host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.hello, + { device: { name: "Test B", platform: "node" }, supportedVersions: [2] }, + requestContext(peerB), + ); + await expect(chunk(peerB, "peer-upload", 0, "AQID")).rejects.toMatchObject({ + serverCode: "not_found", + }); + + const firstRead = await host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead, + params({ attachmentId: "att-1", offset: 0, ref: publicRef }), + requestContext(), + ); + expect(firstRead).toMatchObject({ + attachmentId: "att-1", + bytes: 6, + data: "AQID", + eof: false, + nextOffset: 3, + }); + const secondRead = await host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead, + params({ attachmentId: "att-1", offset: 3, ref: publicRef }), + requestContext(), + ); + expect(secondRead).toMatchObject({ data: "BAUG", eof: true, nextOffset: 6 }); + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead, + params({ attachmentId: "missing", offset: 0, ref: publicRef }), + requestContext(), + ), + ).rejects.toMatchObject({ serverCode: "not_found" }); + await expect( + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead, + params({ attachmentId: "att-too-large", offset: 0, ref: publicRef }), + requestContext(), + ), + ).rejects.toMatchObject({ code: "protocol" }); + } finally { + await host.close(); + } +}); + +test("v2 host keeps presence convergence finite across cascading send failures", async () => { + const runtimeListeners = new Set<(event: RemoteAgentV2SessionEvent) => void>(); + const received = new Map(); + let cFailed = false; + let bFailed = false; + const transport: RemoteAgentHostDeliveryTransport = { + send: async (target, frame) => { + const event = sessionEventFromTransport(frame); + if (event?.type !== "presence.changed") return; + if (target.deviceId === "device-c" && !cFailed) { + cFailed = true; + throw new Error("peer C send failed"); + } + if (target.deviceId === "device-b" && cFailed && event.devices.length === 2 && !bFailed) { + bFailed = true; + throw new Error("peer B convergence send failed"); + } + const events = received.get(target.id) ?? []; + events.push(event); + received.set(target.id, events); + }, + }; + const host = new OrbisRemoteAgentV2Host({ + backend: presenceBackend(runtimeListeners), + backendId: "remote:host-a", + capabilities: { presence: true }, + clock: () => now, + store: new MemoryStore(), + transport, + }); + const peers: readonly RemoteAgentHostPeer[] = [ + { deviceId: "device-a", deviceName: "Phone A", id: "peer-a", transportId: "transport-a" }, + { deviceId: "device-b", deviceName: "Phone B", id: "peer-b", transportId: "transport-b" }, + { deviceId: "device-c", deviceName: "Phone C", id: "peer-c", transportId: "transport-c" }, + ]; + const requestContext = (target: RemoteAgentHostPeer) => ({ + maxResponseBytes: 1024 * 1024, + peer: target, + signal: new AbortController().signal, + }); + const hello = (target: RemoteAgentHostPeer) => + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.hello, + { + device: { + ...(target.deviceName === undefined ? {} : { name: target.deviceName }), + platform: "node", + }, + supportedVersions: [2], + }, + requestContext(target), + ); + const sync = (target: RemoteAgentHostPeer) => + host.handleRequest( + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSync, + params({ mode: "live", ref: publicRef }), + requestContext(target), + ); + + try { + for (const target of peers) await hello(target); + for (const target of peers) await sync(target); + const eventsForA = received.get("peer-a") ?? []; + const latest = [...eventsForA].reverse().find((event) => event.type === "presence.changed"); + expect(cFailed).toBe(true); + expect(bFailed).toBe(true); + expect(latest).toMatchObject({ + devices: [{ deviceId: "device-a", name: "Phone A", since: now, viewing: true }], + type: "presence.changed", + }); + } finally { + await host.close(); + } +}); diff --git a/packages/orbis-remote-agent-protocol/src/v2-host.ts b/packages/orbis-remote-agent-protocol/src/v2-host.ts index 2039e8f..e460405 100644 --- a/packages/orbis-remote-agent-protocol/src/v2-host.ts +++ b/packages/orbis-remote-agent-protocol/src/v2-host.ts @@ -10,11 +10,21 @@ import { createAgentSessionRef, hasAgentDriverCapability, isSameAgentSessionRef, + validateAgentQuestionResponseForRequest, + validateAgentQuestionResponseInput, + validateAgentPromptInput, + validateAgentPromptReferenceCompletionInput, + validateAgentPromptReferenceCompletionResult, + validateAgentSessionSubagentList, type AgentBackendId, + type AgentPromptContentBlock, type AgentDeliveryCursor, type AgentEntryId, type AgentJsonValue, type AgentSessionRef, + type AgentTimestamp, + type AgentAttachmentReadResult, + type AgentPromptReferenceCompletionInput, } from "@orbisapp/orbis-agent-backend"; import { jsonValueSchema, @@ -36,6 +46,7 @@ import { import { v2CancelInputSchema, v2ContentBlockSchema, + v2PromptContentBlockSchema, v2CreateInputSchema, v2DeviceSchema, v2EntriesInputSchema, @@ -49,9 +60,18 @@ import { v2WorkspacesRegisterInputSchema, v2PromptInputSchema, v2PermissionResponseInputSchema, + v2QuestionResponseInputSchema, v2RefSchema, v2SyncInputSchema, v2UpdateInputSchema, + v2AttachmentUploadBeginInputSchema, + v2AttachmentUploadChunkInputSchema, + v2AttachmentUploadFinishInputSchema, + v2AttachmentUploadAbortInputSchema, + v2AttachmentReadInputSchema, + v2PromptReferenceCompletionInputSchema, + v2SubagentListInputSchema, + v2SubagentListResponseSchema, } from "./v2-schemas"; import type { RemoteAgentV2Backend, @@ -66,7 +86,9 @@ import type { RemoteAgentV2Limits, RemoteAgentV2ModelSelection, RemoteAgentV2PromptInput, + RemoteAgentV2PromptContentBlock, RemoteAgentV2PermissionResponseInput, + RemoteAgentV2QuestionResponseInput, RemoteAgentV2SessionEvent, RemoteAgentV2SessionRecord, RemoteAgentV2SessionSnapshot, @@ -129,6 +151,8 @@ export interface RemoteAgentV2HostOptions { * row has distinct states. */ readonly catalogCoalesceMs?: number; + /** Clock used for in-memory presence membership timestamps. */ + readonly clock?: () => AgentTimestamp; readonly limits?: Partial; readonly onError?: (error: AgentBackendError) => void; readonly scheduler?: RemoteAgentV2HostScheduler; @@ -136,10 +160,15 @@ export interface RemoteAgentV2HostOptions { readonly transport: RemoteAgentHostDeliveryTransport; } +interface RemoteAgentV2Subscriber { + readonly peer: RemoteAgentHostPeer; + readonly since: AgentTimestamp; +} + interface Owner { readonly nativeRef: AgentSessionRef; readonly ref: AgentSessionRef; - readonly subscribers: Map; + readonly subscribers: Map; initializing: Promise; index?: RemoteAgentV2StoredSessionIndex; runtime?: RemoteAgentV2Runtime; @@ -147,6 +176,27 @@ interface Owner { tail: Promise; unsubscribe?: () => void; transientSeq: number; + presenceSeq: number; +} + +interface AttachmentUpload { + readonly peerId: string; + readonly transportId: string; + readonly ref: AgentSessionRef; + readonly uploadId: string; + readonly totalBytes: number; + readonly mimeType: string; + readonly name?: string; + readonly chunks: Uint8Array[]; + nextOffset: number; + complete: boolean; +} + +interface AttachmentReadCache { + readonly peerId: string; + readonly transportId: string; + readonly ref: AgentSessionRef; + readonly value: AgentAttachmentReadResult; } function invalid(message: string): never { @@ -181,6 +231,47 @@ function jsonByteLength(value: unknown): number { return new TextEncoder().encode(JSON.stringify(value)).byteLength; } +function base64Bytes(value: string, label: string): Uint8Array { + try { + const binary = atob(value); + const bytes = Uint8Array.from(binary, (character) => character.charCodeAt(0)); + if (btoa(binary) !== value) protocol(`${label} is not canonical base64`); + return bytes; + } catch { + protocol(`${label} is not canonical base64`); + } +} + +function uploadBase64Bytes(value: string): Uint8Array { + try { + const binary = atob(value); + if (btoa(binary) !== value) throw new Error("non-canonical"); + return Uint8Array.from(binary, (character) => character.charCodeAt(0)); + } catch { + throw new AgentBackendError("invalid_argument", "Attachment chunk is not canonical base64"); + } +} + +function encodedBytes(value: Uint8Array): string { + let binary = ""; + const chunkSize = 0x8000; + for (let offset = 0; offset < value.length; offset += chunkSize) { + binary += String.fromCharCode(...value.subarray(offset, offset + chunkSize)); + } + return btoa(binary); +} + +function concatBytes(chunks: readonly Uint8Array[]): Uint8Array { + const size = chunks.reduce((total, chunk) => total + chunk.byteLength, 0); + const result = new Uint8Array(size); + let offset = 0; + for (const chunk of chunks) { + result.set(chunk, offset); + offset += chunk.byteLength; + } + return result; +} + function responseTooLarge(code: "entry_too_large" | "response_too_large", message: string): never { throw new OrbisTransportError("remote_request", message, { serverCode: code }); } @@ -318,6 +409,10 @@ function parseContent(value: unknown): RemoteAgentV2ContentBlock { return parseSchema(v2ContentBlockSchema, value, "Content block"); } +function parsePromptContent(value: unknown): RemoteAgentV2PromptContentBlock { + return parseSchema(v2PromptContentBlockSchema, value, "Prompt content block"); +} + function parseDevice(value: unknown): RemoteAgentV2DeviceDescriptor { return parseSchema(v2DeviceSchema, value, "Device descriptor"); } @@ -353,6 +448,11 @@ function parseListInput(value: JsonValue): { }; } +function parseSubagentListInput(value: JsonValue): { readonly ref: AgentSessionRef } { + const input = parseSchema(v2SubagentListInputSchema, value, "Subagent list input"); + return { ref: parseRef(input.ref) }; +} + function parseSyncInput(value: JsonValue): { readonly afterCursor?: number; readonly afterEntryId?: string | null; @@ -373,7 +473,7 @@ function parseSyncInput(value: JsonValue): { function parsePromptInput(value: JsonValue): RemoteAgentV2PromptInput { const input = parseSchema(v2PromptInputSchema, value, "Prompt input"); return { - content: input.content.map((item) => parseContent(item)), + content: input.content.map((item) => parsePromptContent(item)), ...(input.delivery === undefined ? {} : { delivery: input.delivery }), ...(input.expectedRevision === undefined ? {} : { expectedRevision: input.expectedRevision }), idempotencyKey: input.idempotencyKey, @@ -381,6 +481,23 @@ function parsePromptInput(value: JsonValue): RemoteAgentV2PromptInput { }; } +function parsePromptReferenceCompletionInput( + value: JsonValue, +): AgentPromptReferenceCompletionInput { + const input = parseSchema( + v2PromptReferenceCompletionInputSchema, + value, + "Prompt reference completion input", + ); + return validateAgentPromptReferenceCompletionInput({ + cursor: input.cursor, + limit: input.limit, + ref: parseRef(input.ref), + source: input.source, + text: input.text, + }); +} + function parseCancelInput(value: JsonValue): RemoteAgentV2CancelInput { const input = parseSchema(v2CancelInputSchema, value, "Cancel input"); return { @@ -422,6 +539,21 @@ function parsePermissionResponseInput(value: JsonValue): RemoteAgentV2Permission }; } +function parseQuestionResponseInput(value: JsonValue): RemoteAgentV2QuestionResponseInput { + const input = parseSchema(v2QuestionResponseInputSchema, value, "Question response input"); + try { + const validated = validateAgentQuestionResponseInput(input); + return { + idempotencyKey: validated.idempotencyKey ?? input.idempotencyKey, + ref: parseRef(input.ref), + requestId: validated.requestId, + response: validated.response, + }; + } catch { + invalid("Question response input is invalid"); + } +} + function publicRef(backendId: AgentBackendId, nativeRef: AgentSessionRef): AgentSessionRef { return createAgentSessionRef({ backendId, @@ -698,11 +830,15 @@ const defaultScheduler: RemoteAgentV2HostScheduler = { schedule: (callback, delayMs) => setTimeout(callback, delayMs), }; +const defaultPresenceClock = (): AgentTimestamp => agentTimestamp(new Date().toISOString()); + /** Host-side v2 owner: native transcript plus a small cursor/index store. */ export class OrbisRemoteAgentV2Host { private readonly backend: RemoteAgentV2Backend; private readonly backendId: AgentBackendId; private readonly owners = new Map(); + private readonly uploadsByPeer = new Map>(); + private readonly attachmentReads = new Map(); private readonly helloPeers = new Map(); private readonly store: RemoteAgentV2HostStore; private readonly transport: RemoteAgentHostDeliveryTransport; @@ -710,8 +846,10 @@ export class OrbisRemoteAgentV2Host { private readonly limits: RemoteAgentV2Limits; private readonly onError: ((error: AgentBackendError) => void) | undefined; private readonly scheduler: RemoteAgentV2HostScheduler; + private readonly clock: () => AgentTimestamp; private readonly catalogCoalesceMs: number; private readonly detachCatalog: (() => void) | undefined; + private readonly detachPeerDisconnected: (() => void) | undefined; /** Last catalog the host published, keyed by public session id. */ private catalogBaseline: Map | undefined; private catalogHandle: unknown; @@ -745,8 +883,12 @@ export class OrbisRemoteAgentV2Host { ...options.limits, }; this.scheduler = options.scheduler ?? defaultScheduler; + this.clock = options.clock ?? defaultPresenceClock; this.catalogCoalesceMs = options.catalogCoalesceMs ?? DEFAULT_CATALOG_COALESCE_MS; this.detachCatalog = this.backend.observeCatalog?.(() => this.scheduleCatalogSweep()); + this.detachPeerDisconnected = this.transport.onPeerDisconnected?.((peer) => { + this.handlePeerDisconnected(peer); + }); } async handleRequest( @@ -806,8 +948,14 @@ export class OrbisRemoteAgentV2Host { return await this.registerWorkspace(params, context); case ORBIS_REMOTE_AGENT_V2_METHODS.sessionsList: return toJsonResult(await this.listSessions(parseListInput(params))); + case ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSubagentsList: + return await this.listSessionSubagents(parseSubagentListInput(params), context); case ORBIS_REMOTE_AGENT_V2_METHODS.sessionsCreate: return await this.createSession(params, context); + case ORBIS_REMOTE_AGENT_V2_METHODS.promptReferencesFiles: + return await this.completePromptReferences(params, context, "files"); + case ORBIS_REMOTE_AGENT_V2_METHODS.promptReferencesSessions: + return await this.completePromptReferences(params, context, "sessions"); case ORBIS_REMOTE_AGENT_V2_METHODS.sessionsSync: return await this.sync(parseSyncInput(params), context); case ORBIS_REMOTE_AGENT_V2_METHODS.sessionsEntries: @@ -818,6 +966,18 @@ export class OrbisRemoteAgentV2Host { return await this.cancel(parseCancelInput(params), context); case ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondPermission: return await this.respondPermission(parsePermissionResponseInput(params), context); + case ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondQuestion: + return await this.respondQuestion(parseQuestionResponseInput(params), context); + case ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadBegin: + return await this.attachmentUploadBegin(params, context); + case ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadChunk: + return await this.attachmentUploadChunk(params, context); + case ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadFinish: + return await this.attachmentUploadFinish(params, context); + case ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadAbort: + return await this.attachmentUploadAbort(params, context); + case ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsRead: + return await this.attachmentRead(params, context); case ORBIS_REMOTE_AGENT_V2_METHODS.sessionsUpdate: return await this.update(parseUpdateInput(params), context); case ORBIS_REMOTE_AGENT_V2_METHODS.sessionsFork: @@ -840,6 +1000,7 @@ export class OrbisRemoteAgentV2Host { if (this.closed) return; this.closed = true; this.detachCatalog?.(); + this.detachPeerDisconnected?.(); if (this.catalogHandle !== undefined) { this.scheduler.cancel(this.catalogHandle); this.catalogHandle = undefined; @@ -847,6 +1008,8 @@ export class OrbisRemoteAgentV2Host { const owners = [...this.owners.values()]; this.owners.clear(); this.helloPeers.clear(); + this.uploadsByPeer.clear(); + this.attachmentReads.clear(); await Promise.all( owners.map(async (owner) => { owner.unsubscribe?.(); @@ -903,6 +1066,40 @@ export class OrbisRemoteAgentV2Host { }); } + private async listSessionSubagents( + input: { readonly ref: AgentSessionRef }, + context: RemoteAgentHostRequestContext, + ): Promise { + const owner = await this.ownerFor(input.ref); + return this.enqueue(owner, async () => { + this.assertRequestActive(context); + await this.assertDriverCapability(owner.nativeRef.driverId, "session.subagents.list"); + const entries = validateAgentSessionSubagentList( + await this.backend.listSessionSubagents(owner.nativeRef, context.signal), + owner.nativeRef, + ); + this.assertRequestActive(context); + const publicEntries = entries.map((entry) => ({ + ...entry, + parentRef: publicRef(this.backendId, entry.parentRef), + ref: publicRef(this.backendId, entry.ref), + })); + const validatedPublicEntries = validateAgentSessionSubagentList(publicEntries, owner.ref); + const result = parseSchema( + v2SubagentListResponseSchema, + { entries: validatedPublicEntries }, + "Subagent list result", + ); + if (jsonByteLength(result) > context.maxResponseBytes) { + responseTooLarge( + "response_too_large", + "The subagent list cannot fit in one encrypted transport frame", + ); + } + return toJsonResult(result); + }); + } + private async browseWorkspaces(params: JsonValue, context: RemoteAgentHostRequestContext) { const input = parseSchema(v2WorkspacesBrowseInputSchema, params, "Workspace browse input"); const driverId = agentDriverId(input.driverId); @@ -1030,9 +1227,19 @@ export class OrbisRemoteAgentV2Host { const owner = await this.ownerFor(input.ref); return this.enqueue(owner, async () => { this.assertRequestActive(context); - if (input.mode === "live") owner.subscribers.set(context.peer.id, context.peer); - else owner.subscribers.delete(context.peer.id); + if (input.mode === "live") { + const existing = owner.subscribers.get(context.peer.id); + owner.subscribers.set(context.peer.id, { + peer: context.peer, + since: existing?.since ?? this.clock(), + }); + } else { + this.removePeer(owner, context.peer); + } await this.refreshOwner(owner); + if (this.capabilities.presence) { + await this.broadcastPresence(owner); + } const snapshot = this.requiredSnapshot(owner); const hostRevision = await this.store.readHostRevision(); const limit = Math.min(input.limit ?? this.limits.maxReplayBatch, this.limits.maxReplayBatch); @@ -1103,6 +1310,39 @@ export class OrbisRemoteAgentV2Host { }); } + private async completePromptReferences( + params: JsonValue, + context: RemoteAgentHostRequestContext, + expectedSource: "files" | "sessions", + ): Promise { + const input = parsePromptReferenceCompletionInput(params); + if (input.source !== expectedSource) { + invalid("Prompt reference completion source does not match the method"); + } + await this.assertDriverCapability( + input.ref.driverId, + expectedSource === "files" ? "prompt.references.files" : "prompt.references.sessions", + ); + const owner = await this.ownerFor(input.ref); + return this.enqueue(owner, async () => { + this.assertRequestActive(context); + const result = await this.backend.completePromptReferences({ + ...input, + ref: owner.nativeRef, + signal: context.signal, + }); + const validated = validateAgentPromptReferenceCompletionResult(result, input); + const wire = validated === undefined ? null : validated; + if (jsonByteLength(wire) > context.maxResponseBytes) { + responseTooLarge( + "response_too_large", + "Prompt reference completion exceeds the response budget", + ); + } + return json(wire); + }); + } + private async prompt( input: RemoteAgentV2PromptInput, context: RemoteAgentHostRequestContext, @@ -1127,17 +1367,374 @@ export class OrbisRemoteAgentV2Host { }); this.assertExpectedRevision(owner, input.expectedRevision); const runtime = this.requiredRuntime(owner); - const receipt = await runtime.prompt({ - content: input.content, + const resolvedContent = this.resolvePromptContent(owner, context.peer, input.content); + const canonicalInput = validateAgentPromptInput({ + content: resolvedContent, ...(input.delivery === undefined ? {} : { delivery: input.delivery }), - idempotencyKey: input.idempotencyKey, + ...(input.idempotencyKey === undefined ? {} : { idempotencyKey: input.idempotencyKey }), + }); + const receipt = await runtime.prompt({ + content: canonicalInput.content, + ...(canonicalInput.delivery === undefined ? {} : { delivery: canonicalInput.delivery }), + ...(canonicalInput.idempotencyKey === undefined + ? {} + : { idempotencyKey: canonicalInput.idempotencyKey }), }); const result = toJsonResult(receipt); await this.store.completeIdempotency(key, result as AgentJsonValue); + this.consumePromptUploads(context.peer, input.ref, input.content); + return result; + }); + } + + private async attachmentUploadBegin( + params: JsonValue, + context: RemoteAgentHostRequestContext, + ): Promise { + const input = parseSchema( + v2AttachmentUploadBeginInputSchema, + params, + "Attachment upload begin input", + ); + const capability = this.requireAttachmentCapability(); + const ref = parseRef(input.ref); + const owner = await this.ownerFor(ref); + return this.enqueue(owner, async () => { + this.assertRequestActive(context); + if (!capability.mimeTypes.includes(input.mimeType)) { + throw new AgentBackendError("invalid_argument", "Attachment MIME type is not supported"); + } + if (input.totalBytes > capability.maxImageBytes) { + throw new AgentBackendError("invalid_argument", "Attachment exceeds the image byte limit"); + } + const key = this.idempotencyKey( + context.peer, + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadBegin, + input.idempotencyKey, + input.uploadId, + ); + const claim = await this.store.claimIdempotency(key); + if (claim.kind === "accepted") return toJsonResult(claim.result); + if (claim.kind === "pending") { + throw new AgentBackendError("unavailable", "The attachment upload is still reconciling", { + retryable: true, + }); + } + const uploads = this.uploadsFor(context.peer); + const existing = uploads.get(input.uploadId); + if (existing !== undefined) { + if ( + existing.transportId !== context.peer.transportId || + !isSameAgentSessionRef(existing.ref, ref) || + existing.totalBytes !== input.totalBytes || + existing.mimeType !== input.mimeType || + existing.name !== input.name + ) { + throw new AgentBackendError("protocol", "Attachment upload identity was reused"); + } + } else { + const stagedCount = uploads.size; + const stagedBytes = [...uploads.values()].reduce( + (total, upload) => total + upload.totalBytes, + 0, + ); + if (stagedCount >= capability.maxImagesPerMessage) { + throw new AgentBackendError( + "invalid_argument", + "The peer has reached the staged image count limit", + ); + } + if (stagedBytes + input.totalBytes > capability.maxMessageImageBytes) { + throw new AgentBackendError( + "invalid_argument", + "The peer has reached the staged image byte limit", + ); + } + uploads.set(input.uploadId, { + chunks: [], + complete: false, + mimeType: input.mimeType, + name: input.name, + nextOffset: 0, + peerId: context.peer.id, + ref, + totalBytes: input.totalBytes, + transportId: context.peer.transportId, + uploadId: input.uploadId, + }); + } + const result = toJsonResult({ uploadId: input.uploadId }); + await this.store.completeIdempotency(key, result as AgentJsonValue); + return result; + }); + } + + private async attachmentUploadChunk( + params: JsonValue, + context: RemoteAgentHostRequestContext, + ): Promise { + const input = parseSchema( + v2AttachmentUploadChunkInputSchema, + params, + "Attachment upload chunk input", + ); + const capability = this.requireAttachmentCapability(); + const upload = this.uploadsFor(context.peer).get(input.uploadId); + if (upload === undefined || upload.transportId !== context.peer.transportId) { + throw new AgentBackendError("not_found", "The attachment upload was not found"); + } + const owner = await this.ownerFor(upload.ref); + return this.enqueue(owner, async () => { + this.assertRequestActive(context); + if (upload.complete) + throw new AgentBackendError("conflict", "The attachment upload is complete"); + const key = this.idempotencyKey( + context.peer, + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadChunk, + input.idempotencyKey, + `${input.uploadId}:${input.offset}`, + ); + const claim = await this.store.claimIdempotency(key); + if (claim.kind === "accepted") return toJsonResult(claim.result); + if (claim.kind === "pending") { + throw new AgentBackendError("unavailable", "The attachment chunk is still reconciling", { + retryable: true, + }); + } + if (input.offset !== upload.nextOffset) { + throw new AgentBackendError("invalid_argument", "Attachment chunks must be ordered"); + } + const bytes = uploadBase64Bytes(input.data); + if (bytes.byteLength === 0 || bytes.byteLength > capability.uploadChunkBytes) { + throw new AgentBackendError("invalid_argument", "Attachment chunk size is invalid"); + } + if (upload.nextOffset + bytes.byteLength > upload.totalBytes) { + throw new AgentBackendError("invalid_argument", "Attachment chunks exceed declared size"); + } + upload.chunks.push(bytes); + upload.nextOffset += bytes.byteLength; + const result = toJsonResult({ nextOffset: upload.nextOffset, uploadId: upload.uploadId }); + await this.store.completeIdempotency(key, result as AgentJsonValue); return result; }); } + private async attachmentUploadFinish( + params: JsonValue, + context: RemoteAgentHostRequestContext, + ): Promise { + this.requireAttachmentCapability(); + const input = parseSchema( + v2AttachmentUploadFinishInputSchema, + params, + "Attachment upload finish input", + ); + const upload = this.uploadsFor(context.peer).get(input.uploadId); + if (upload === undefined || upload.transportId !== context.peer.transportId) { + throw new AgentBackendError("not_found", "The attachment upload was not found"); + } + const owner = await this.ownerFor(upload.ref); + return this.enqueue(owner, async () => { + this.assertRequestActive(context); + const key = this.idempotencyKey( + context.peer, + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadFinish, + input.idempotencyKey, + input.uploadId, + ); + const claim = await this.store.claimIdempotency(key); + if (claim.kind === "accepted") return toJsonResult(claim.result); + if (claim.kind === "pending") { + throw new AgentBackendError("unavailable", "The attachment upload is still reconciling", { + retryable: true, + }); + } + if (upload.nextOffset !== upload.totalBytes) { + throw new AgentBackendError("invalid_argument", "The attachment upload is incomplete"); + } + upload.complete = true; + const result = toJsonResult({ uploadId: upload.uploadId }); + await this.store.completeIdempotency(key, result as AgentJsonValue); + return result; + }); + } + + private async attachmentUploadAbort( + params: JsonValue, + context: RemoteAgentHostRequestContext, + ): Promise { + this.requireAttachmentCapability(); + const input = parseSchema( + v2AttachmentUploadAbortInputSchema, + params, + "Attachment upload abort input", + ); + this.assertRequestActive(context); + const key = this.idempotencyKey( + context.peer, + ORBIS_REMOTE_AGENT_V2_METHODS.attachmentsUploadAbort, + input.idempotencyKey, + input.uploadId, + ); + const claim = await this.store.claimIdempotency(key); + if (claim.kind === "accepted") return toJsonResult(claim.result); + if (claim.kind === "pending") { + throw new AgentBackendError("unavailable", "The attachment abort is still reconciling", { + retryable: true, + }); + } + const uploads = this.uploadsFor(context.peer); + const upload = uploads.get(input.uploadId); + const aborted = upload !== undefined && upload.transportId === context.peer.transportId; + if (aborted) uploads.delete(input.uploadId); + if (uploads.size === 0) this.uploadsByPeer.delete(context.peer.id); + const result = toJsonResult({ aborted, uploadId: input.uploadId }); + await this.store.completeIdempotency(key, result as AgentJsonValue); + return result; + } + + private async attachmentRead( + params: JsonValue, + context: RemoteAgentHostRequestContext, + ): Promise { + const capability = this.requireAttachmentCapability(); + const input = parseSchema(v2AttachmentReadInputSchema, params, "Attachment read input"); + const ref = parseRef(input.ref); + const owner = await this.ownerFor(ref); + return this.enqueue(owner, async () => { + this.assertRequestActive(context); + const cacheKey = `${context.peer.id}\u0000${ref.sessionId}\u0000${input.attachmentId}`; + let cached = this.attachmentReads.get(cacheKey); + if (cached !== undefined && cached.transportId !== context.peer.transportId) + cached = undefined; + if (cached === undefined) { + const value = await this.backend.readAttachment( + owner.nativeRef, + input.attachmentId, + context.signal, + ); + cached = { + peerId: context.peer.id, + ref, + transportId: context.peer.transportId, + value, + }; + this.attachmentReads.set(cacheKey, cached); + } + const bytes = base64Bytes(cached.value.data, "Attachment data"); + if (!capability.mimeTypes.includes(cached.value.mimeType)) { + throw new AgentBackendError("protocol", "Attachment MIME type is not advertised"); + } + if (bytes.byteLength > capability.maxImageBytes) { + throw new AgentBackendError("protocol", "Attachment exceeds the advertised image limit"); + } + if (cached.value.bytes !== undefined && cached.value.bytes !== bytes.byteLength) { + throw new AgentBackendError("protocol", "Attachment metadata byte count is invalid"); + } + const rawChunkBytes = Math.max(3, Math.floor(capability.downloadChunkBytes / 3) * 3); + if (input.offset > bytes.byteLength) { + throw new AgentBackendError("invalid_argument", "Attachment read offset is out of range"); + } + const remaining = bytes.byteLength - input.offset; + const length = Math.min(remaining, rawChunkBytes); + const chunk = bytes.slice(input.offset, input.offset + length); + const eof = input.offset + length === bytes.byteLength; + if (!eof && chunk.byteLength % 3 !== 0) { + throw new AgentBackendError("protocol", "Attachment download chunk alignment is invalid"); + } + if (eof) this.attachmentReads.delete(cacheKey); + return toJsonResult({ + attachmentId: cached.value.attachmentId, + data: encodedBytes(chunk), + eof, + mimeType: cached.value.mimeType, + nextOffset: input.offset + chunk.byteLength, + ...(cached.value.name === undefined ? {} : { name: cached.value.name }), + ...(cached.value.bytes === undefined ? {} : { bytes: cached.value.bytes }), + ...(cached.value.width === undefined ? {} : { width: cached.value.width }), + ...(cached.value.height === undefined ? {} : { height: cached.value.height }), + }); + }); + } + + private requireAttachmentCapability(): Exclude< + RemoteAgentV2HostCapabilities["attachments"], + false + > { + if (this.capabilities.attachments === false) { + throw new AgentBackendError("unsupported", "This host does not support attachments"); + } + return this.capabilities.attachments; + } + + private uploadsFor(peer: RemoteAgentHostPeer): Map { + let uploads = this.uploadsByPeer.get(peer.id); + if (uploads === undefined) { + uploads = new Map(); + this.uploadsByPeer.set(peer.id, uploads); + } + return uploads; + } + + private resolvePromptContent( + owner: Owner, + peer: RemoteAgentHostPeer, + content: readonly RemoteAgentV2PromptContentBlock[], + ): readonly AgentPromptContentBlock[] { + const uploads = this.uploadsFor(peer); + const imageUploads = content.filter((block) => block.type === "image_upload"); + const capability = imageUploads.length === 0 ? undefined : this.requireAttachmentCapability(); + if (capability !== undefined && imageUploads.length > capability.maxImagesPerMessage) { + throw new AgentBackendError("invalid_argument", "Prompt contains too many images"); + } + let imageBytes = 0; + const resolved = content.map((block) => { + if (block.type === "text") return block; + const upload = uploads.get(block.uploadId); + if ( + upload === undefined || + !upload.complete || + upload.transportId !== peer.transportId || + !isSameAgentSessionRef(upload.ref, owner.ref) || + upload.mimeType !== block.mimeType || + upload.name !== block.name + ) { + throw new AgentBackendError("invalid_argument", "Prompt image upload is not available"); + } + imageBytes += upload.totalBytes; + return { + data: encodedBytes(concatBytes(upload.chunks)), + ...(upload.name === undefined ? {} : { name: upload.name }), + mimeType: upload.mimeType, + type: "image" as const, + }; + }); + if (capability !== undefined && imageBytes > capability.maxMessageImageBytes) { + throw new AgentBackendError( + "invalid_argument", + "Prompt images exceed the aggregate byte limit", + ); + } + return resolved; + } + + private consumePromptUploads( + peer: RemoteAgentHostPeer, + ref: AgentSessionRef, + content: readonly RemoteAgentV2PromptContentBlock[], + ): void { + const uploads = this.uploadsByPeer.get(peer.id); + if (uploads === undefined) return; + for (const block of content) { + if (block.type !== "image_upload") continue; + const upload = uploads.get(block.uploadId); + if (upload !== undefined && upload.complete && isSameAgentSessionRef(upload.ref, ref)) { + uploads.delete(block.uploadId); + } + } + if (uploads.size === 0) this.uploadsByPeer.delete(peer.id); + } + private async cancel( input: RemoteAgentV2CancelInput, context: RemoteAgentHostRequestContext, @@ -1204,6 +1801,57 @@ export class OrbisRemoteAgentV2Host { }); } + private async respondQuestion( + input: RemoteAgentV2QuestionResponseInput, + context: RemoteAgentHostRequestContext, + ): Promise { + const owner = await this.ownerFor(input.ref); + return this.enqueue(owner, async () => { + this.assertRequestActive(context); + await this.assertDriverCapability(owner.nativeRef.driverId, "question.respond"); + const key = this.idempotencyKey( + context.peer, + ORBIS_REMOTE_AGENT_V2_METHODS.sessionsRespondQuestion, + input.idempotencyKey, + input.ref.sessionId, + ); + const claim = await this.store.claimIdempotency(key); + if (claim.kind === "accepted") return toJsonResult(claim.result); + if (claim.kind === "pending") { + throw new AgentBackendError( + "unavailable", + "The prior question response is still reconciling", + { retryable: true }, + ); + } + const request = this.requiredSnapshot(owner).state.pendingQuestions.find( + (candidate) => candidate.requestId === input.requestId, + ); + if (request !== undefined) { + // Enforce full-set/question-option membership at the host boundary while + // allowing the runtime to return accepted:false for an already-resolved + // request that is no longer present in the snapshot. + validateAgentQuestionResponseForRequest( + { + idempotencyKey: input.idempotencyKey, + requestId: input.requestId, + response: input.response, + }, + request, + ); + } + const result = toJsonResult( + await this.requiredRuntime(owner).respondQuestion({ + requestId: input.requestId, + response: input.response, + idempotencyKey: input.idempotencyKey, + }), + ); + await this.store.completeIdempotency(key, result as AgentJsonValue); + return result; + }); + } + private async update( input: RemoteAgentV2UpdateInput, context: RemoteAgentHostRequestContext, @@ -1225,6 +1873,9 @@ export class OrbisRemoteAgentV2Host { throw new AgentBackendError("unsupported", "The session driver cannot select models"); } } + if (input.patch.mode === "plan" || input.patch.mode === null) { + await this.assertDriverCapability(owner.nativeRef.driverId, "plan.select"); + } const key = this.idempotencyKey( context.peer, ORBIS_REMOTE_AGENT_V2_METHODS.sessionsUpdate, @@ -1268,6 +1919,7 @@ export class OrbisRemoteAgentV2Host { ref, subscribers: new Map(), tail: Promise.resolve(), + presenceSeq: 0, transientSeq: 0, }; this.owners.set(key, owner); @@ -1410,15 +2062,60 @@ export class OrbisRemoteAgentV2Host { private async deliverLive(owner: Owner, event: RemoteAgentV2SessionEvent): Promise { const frame = transportEvent(owner.ref, event, ++owner.transientSeq); + let removedPeer = false; await Promise.all( - [...owner.subscribers.values()].map(async (peer) => { + [...owner.subscribers.values()].map(async (subscriber) => { try { - await this.transport.send(peer, frame); + await this.transport.send(subscriber.peer, frame); } catch { - this.removePeer(owner, peer); + removedPeer = this.removePeer(owner, subscriber.peer) || removedPeer; } }), ); + if (removedPeer && this.capabilities.presence) await this.broadcastPresence(owner); + } + + private async broadcastPresence(owner: Owner): Promise { + if (!this.capabilities.presence) return; + + // A failed send removes a subscriber. Keep publishing the newly reduced + // snapshot until one complete round succeeds, so a second failure during + // convergence cannot leave the remaining peers with stale viewers. + while (owner.subscribers.size > 0) { + const devices = [...owner.subscribers.values()] + .map(({ peer, since }) => ({ + deviceId: peer.deviceId, + ...(peer.deviceName === undefined ? {} : { name: peer.deviceName }), + since, + viewing: true as const, + })) + .sort((left, right) => left.deviceId.localeCompare(right.deviceId)); + const event: RemoteAgentV2SessionEvent = { + channel: "transient", + devices, + eventId: agentEventId(`presence:${owner.ref.sessionId}:${++owner.presenceSeq}`), + occurredAt: this.clock(), + sessionId: owner.ref.sessionId, + source: { + backendId: owner.ref.backendId, + driverId: owner.ref.driverId, + nativeType: "orbis/presence", + }, + type: "presence.changed", + }; + const frame = transportEvent(owner.ref, event, ++owner.transientSeq); + let removedPeer = false; + await Promise.all( + [...owner.subscribers.values()].map(async (subscriber) => { + try { + await this.transport.send(subscriber.peer, frame); + } catch { + removedPeer = this.removePeer(owner, subscriber.peer) || removedPeer; + } + }), + ); + if (!removedPeer) return; + } } /** @@ -1514,7 +2211,8 @@ export class OrbisRemoteAgentV2Host { try { await this.transport.send(peer, transportEvent(owner.ref, event, ++owner.transientSeq)); } catch (error) { - this.removePeer(owner, peer); + const removed = this.removePeer(owner, peer); + if (removed && this.capabilities.presence) await this.broadcastPresence(owner); if (error instanceof OrbisTransportError && error.serverCode === "frame_too_large") { responseTooLarge( "entry_too_large", @@ -1545,7 +2243,14 @@ export class OrbisRemoteAgentV2Host { private async assertDriverCapability( driverId: AgentSessionRef["driverId"], - capability: "permission.respond" | "workspace.open", + capability: + | "permission.respond" + | "plan.select" + | "prompt.references.files" + | "prompt.references.sessions" + | "question.respond" + | "session.subagents.list" + | "workspace.open", ): Promise { const driver = (await this.backend.listDrivers()).find( (candidate) => candidate.id === driverId, @@ -1556,7 +2261,17 @@ export class OrbisRemoteAgentV2Host { "unsupported", capability === "permission.respond" ? "The driver cannot respond to permission requests" - : "The driver cannot open server workspaces", + : capability === "question.respond" + ? "The driver cannot respond to questions" + : capability === "plan.select" + ? "The driver cannot select plan mode" + : capability === "prompt.references.files" + ? "The driver cannot complete file references" + : capability === "prompt.references.sessions" + ? "The driver cannot complete session references" + : capability === "session.subagents.list" + ? "The driver cannot list session subagents" + : "The driver cannot open server workspaces", ); } } @@ -1593,9 +2308,38 @@ export class OrbisRemoteAgentV2Host { return task; } - private removePeer(owner: Owner, peer: RemoteAgentHostPeer): void { + private removePeer(owner: Owner, peer: RemoteAgentHostPeer): boolean { const current = owner.subscribers.get(peer.id); - if (current?.transportId === peer.transportId) owner.subscribers.delete(peer.id); + if (current?.peer.transportId !== peer.transportId) return false; + return owner.subscribers.delete(peer.id); + } + + private handlePeerDisconnected(peer: RemoteAgentHostPeer): void { + const known = this.helloPeers.get(peer.transportId); + if (known?.id === peer.id) this.helloPeers.delete(peer.transportId); + const uploads = this.uploadsByPeer.get(peer.id); + if (uploads !== undefined) { + const hasCurrentTransport = [...uploads.values()].some( + (upload) => upload.transportId !== peer.transportId, + ); + if (!hasCurrentTransport) this.uploadsByPeer.delete(peer.id); + else { + for (const [uploadId, upload] of uploads) { + if (upload.transportId === peer.transportId) uploads.delete(uploadId); + } + } + } + for (const [key, cache] of this.attachmentReads) { + if (cache.peerId === peer.id && cache.transportId === peer.transportId) { + this.attachmentReads.delete(key); + } + } + for (const owner of this.owners.values()) { + void this.enqueue(owner, async () => { + if (!this.removePeer(owner, peer) || !this.capabilities.presence) return; + await this.broadcastPresence(owner); + }).catch((error) => this.report(error)); + } } private assertRequestActive(context: RemoteAgentHostRequestContext): void { diff --git a/packages/orbis-remote-agent-protocol/src/v2-schemas.ts b/packages/orbis-remote-agent-protocol/src/v2-schemas.ts index 3789c85..0a08da7 100644 --- a/packages/orbis-remote-agent-protocol/src/v2-schemas.ts +++ b/packages/orbis-remote-agent-protocol/src/v2-schemas.ts @@ -22,11 +22,75 @@ const boundedPermissionDetail = z } return true; }); +const boundedQuestionText = z + .string() + .min(1) + .max(2_048) + .refine((value) => value.trim().length > 0) + .refine((value) => { + for (const character of value) { + const code = character.charCodeAt(0); + if (code === 0x7f || (code <= 0x1f && code !== 0x09 && code !== 0x0a && code !== 0x0d)) { + return false; + } + } + return true; + }); +const boundedQuestionDetail = z + .string() + .min(1) + .max(65_536) + .refine((value) => value.trim().length > 0) + .refine((value) => { + for (const character of value) { + const code = character.charCodeAt(0); + if (code === 0x7f || (code <= 0x1f && code !== 0x09 && code !== 0x0a && code !== 0x0d)) { + return false; + } + } + return true; + }); +const boundedQuestionSingleLine = z + .string() + .min(1) + .max(2_048) + .refine((value) => value.trim().length > 0) + .refine((value) => { + for (const character of value) { + const code = character.charCodeAt(0); + if (code <= 0x1f || code === 0x7f) return false; + } + return true; + }); const safeInteger = z.number().int().refine(Number.isSafeInteger); const nonNegativeInteger = safeInteger.min(0); const positiveInteger = safeInteger.min(1); const timestamp = nonEmptyString; const jsonObject = z.record(z.string(), jsonValueSchema); +const boundedReferenceText = z + .string() + .max(65_536) + .refine((value) => { + for (const character of value) { + const code = character.charCodeAt(0); + if (code === 0x7f || (code <= 0x1f && code !== 0x09 && code !== 0x0a && code !== 0x0d)) { + return false; + } + } + return true; + }); +const boundedReferenceDisplay = z + .string() + .min(1) + .max(4_096) + .refine((value) => value === value.trim()) + .refine((value) => { + for (const character of value) { + const code = character.charCodeAt(0); + if (code <= 0x1f || code === 0x7f) return false; + } + return true; + }); export const v2RefSchema = z .object({ @@ -101,7 +165,23 @@ export const v2SessionConfigOptionSchema = z export const v2ContentBlockSchema = z.discriminatedUnion("type", [ z.object({ text: z.string(), type: z.literal("text") }).passthrough(), z - .object({ data: nonEmptyString, mimeType: nonEmptyString, type: z.literal("image") }) + .object({ + data: nonEmptyString, + mimeType: nonEmptyString, + name: nonEmptyString.optional(), + type: z.literal("image"), + }) + .passthrough(), + z + .object({ + attachmentId: nonEmptyString, + bytes: positiveInteger.optional(), + height: positiveInteger.optional(), + mimeType: nonEmptyString, + name: nonEmptyString.optional(), + type: z.literal("image_reference"), + width: positiveInteger.optional(), + }) .passthrough(), z .object({ redacted: z.boolean().optional(), text: z.string(), type: z.literal("thinking") }) @@ -119,6 +199,19 @@ export const v2ContentBlockSchema = z.discriminatedUnion("type", [ .passthrough(), ]); +/** Prompt transport deliberately accepts only text and completed-upload refs. */ +export const v2PromptContentBlockSchema = z.discriminatedUnion("type", [ + z.object({ text: z.string(), type: z.literal("text") }).strict(), + z + .object({ + uploadId: nonEmptyString, + mimeType: nonEmptyString, + name: nonEmptyString.optional(), + type: z.literal("image_upload"), + }) + .strict(), +]); + export const v2StreamingContentBlockSchema = z.discriminatedUnion("type", [ z.object({ text: z.string(), type: z.literal("text") }).passthrough(), z @@ -256,6 +349,135 @@ export const v2PermissionSchema = z } }); +const v2QuestionOptionSchema = z + .object({ + description: boundedQuestionText.optional(), + label: boundedQuestionSingleLine, + optionId: boundedPermissionId, + }) + .passthrough(); + +const v2QuestionItemSchema = z + .object({ + detail: boundedQuestionDetail.optional(), + header: boundedQuestionSingleLine.optional(), + intent: z + .object({ kind: z.literal("plan-review"), approveOptionId: boundedPermissionId }) + .passthrough() + .optional(), + multiSelect: z.boolean(), + options: z.array(v2QuestionOptionSchema).max(32), + question: boundedQuestionText, + questionId: boundedPermissionId, + }) + .passthrough() + .superRefine((value, context) => { + const optionIds = new Set(value.options.map((option) => option.optionId)); + if (optionIds.size !== value.options.length) { + context.addIssue({ + code: z.ZodIssueCode.custom, + message: "Question option ids must be unique", + }); + } + if (value.intent !== undefined && value.detail === undefined) { + context.addIssue({ + code: z.ZodIssueCode.custom, + message: "Plan-review questions require detail", + }); + } + if (value.intent !== undefined && !optionIds.has(value.intent.approveOptionId)) { + context.addIssue({ + code: z.ZodIssueCode.custom, + message: "Question approve option id must reference an option", + }); + } + }); + +export const v2QuestionRequestSchema = z + .object({ + questions: z.array(v2QuestionItemSchema).min(1).max(32), + requestedAt: timestamp, + requestId: boundedPermissionId, + }) + .passthrough() + .superRefine((value, context) => { + const questionIds = new Set(value.questions.map((question) => question.questionId)); + if (questionIds.size !== value.questions.length) { + context.addIssue({ code: z.ZodIssueCode.custom, message: "Question ids must be unique" }); + } + }); + +const v2QuestionAnswerItemSchema = z + .object({ + customText: boundedQuestionDetail.optional(), + optionIds: z.array(boundedPermissionId), + questionId: boundedPermissionId, + }) + .passthrough() + .superRefine((value, context) => { + if (new Set(value.optionIds).size !== value.optionIds.length) { + context.addIssue({ + code: z.ZodIssueCode.custom, + message: "Question answer option ids must be unique", + }); + } + }); + +export const v2QuestionResponseSchema = z.discriminatedUnion("kind", [ + z + .object({ answers: z.array(v2QuestionAnswerItemSchema), kind: z.literal("answered") }) + .passthrough(), + z.object({ kind: z.literal("cancelled") }).passthrough(), +]); + +const v2WorkStateGoalSchema = z + .object({ + blockedReason: z + .object({ code: boundedPermissionId, message: boundedQuestionDetail }) + .passthrough() + .optional(), + createdAt: timestamp, + id: boundedPermissionId, + maxGoalRounds: positiveInteger, + objective: boundedQuestionDetail, + phase: z.enum(["active", "blocked", "complete", "paused"]), + revision: positiveInteger, + roundsStarted: nonNegativeInteger, + updatedAt: timestamp, + }) + .passthrough() + .superRefine((value, context) => { + if (value.phase === "blocked" && value.blockedReason === undefined) { + context.addIssue({ code: z.ZodIssueCode.custom, message: "Blocked goals require a reason" }); + } + if (value.phase !== "blocked" && value.blockedReason !== undefined) { + context.addIssue({ + code: z.ZodIssueCode.custom, + message: "Only blocked goals may have a reason", + }); + } + }); + +const v2TodoSchema = z + .object({ + content: boundedQuestionSingleLine, + status: z.enum(["pending", "in_progress", "completed"]), + }) + .passthrough(); + +const v2WorkStateSchema = z + .object({ + goal: v2WorkStateGoalSchema.nullable(), + todos: z.array(v2TodoSchema).max(256), + }) + .passthrough() + .superRefine((value, context) => { + const contents = new Set(value.todos.map((todo) => todo.content)); + if (contents.size !== value.todos.length) { + context.addIssue({ code: z.ZodIssueCode.custom, message: "Todo contents must be unique" }); + } + }); + export const v2StateSchema = z .object({ activeRun: v2RunSummarySchema.nullable().optional(), @@ -268,6 +490,7 @@ export const v2StateSchema = z model: v2ModelSchema.nullable(), pendingInputs: z.array(v2QueuedInputSchema), pendingPermissions: z.array(v2PermissionSchema), + pendingQuestions: z.array(v2QuestionRequestSchema), ref: v2RefSchema, revision: nonNegativeInteger, runState: z.enum(["idle", "running", "suspended", "error"]), @@ -275,6 +498,7 @@ export const v2StateSchema = z updatedAt: timestamp, usageTotal: v2UsageSchema.nullable().optional(), workspaceRef: z.string().nullable(), + workState: v2WorkStateSchema, }) .passthrough(); @@ -289,11 +513,13 @@ export const v2StatePatchSchema = z model: v2ModelSchema.nullable().optional(), pendingInputs: z.array(v2QueuedInputSchema).optional(), pendingPermissions: z.array(v2PermissionSchema).optional(), + pendingQuestions: z.array(v2QuestionRequestSchema).optional(), runState: z.enum(["idle", "running", "suspended", "error"]).optional(), title: z.string().nullable().optional(), updatedAt: timestamp.optional(), usageTotal: v2UsageSchema.nullable().optional(), workspaceRef: z.string().nullable().optional(), + workState: v2WorkStateSchema.optional(), }) .passthrough(); @@ -377,7 +603,16 @@ export const v2HelloResultSchema = z .object({ attachments: z.union([ z.literal(false), - z.object({ maxBytes: positiveInteger, mimeTypes: z.array(nonEmptyString) }).passthrough(), + z + .object({ + downloadChunkBytes: positiveInteger, + maxImageBytes: positiveInteger, + maxImagesPerMessage: positiveInteger, + maxMessageImageBytes: positiveInteger, + mimeTypes: z.array(nonEmptyString).min(1), + uploadChunkBytes: positiveInteger, + }) + .passthrough(), ]), dispose: z.boolean(), fork: z.boolean(), @@ -404,6 +639,83 @@ export const v2ListInputSchema = z }) .passthrough(); +const boundedSubagentId = z + .string() + .min(1) + .max(256) + .refine((value) => value === value.trim()) + .refine((value) => { + for (const character of value) { + const code = character.charCodeAt(0); + if (code <= 0x1f || code === 0x7f) return false; + } + return true; + }); + +const boundedSubagentLabel = z + .string() + .min(1) + .max(512) + .refine((value) => value === value.trim()) + .refine((value) => { + for (const character of value) { + const code = character.charCodeAt(0); + if (code <= 0x1f || code === 0x7f) return false; + } + return true; + }); + +const v2SubagentRefSchema = z + .object({ + backendId: boundedSubagentId, + driverId: boundedSubagentId, + nativeSessionId: boundedSubagentId, + sessionId: boundedSubagentId, + }) + .strict(); + +const v2SubagentChildSchema = z + .object({ + activity: z.enum(["inactive", "running"]), + depth: positiveInteger.max(1024), + hasChildren: z.boolean(), + kind: z.literal("child"), + label: boundedSubagentLabel.optional(), + mode: z.enum(["continuable", "one-shot"]), + parentRef: v2SubagentRefSchema, + ref: v2SubagentRefSchema, + }) + .strict() + .superRefine((value, context) => { + if (value.mode === "continuable" && value.label === undefined) { + context.addIssue({ + code: z.ZodIssueCode.custom, + message: "Continuable subagents require label", + }); + } + }); + +const v2SubagentDiagnosticSchema = z + .object({ + depth: positiveInteger.max(1024), + kind: z.literal("diagnostic"), + parentRef: v2SubagentRefSchema, + reason: z.enum(["corrupt", "unavailable", "unsupported"]), + ref: v2SubagentRefSchema, + }) + .strict(); + +export const v2SubagentEntrySchema = z.discriminatedUnion("kind", [ + v2SubagentChildSchema, + v2SubagentDiagnosticSchema, +]); + +export const v2SubagentListInputSchema = z.object({ ref: v2SubagentRefSchema }).strict(); + +export const v2SubagentListResponseSchema = z + .object({ entries: z.array(v2SubagentEntrySchema).max(1024) }) + .strict(); + export const v2ModelsListInputSchema = z .object({ driverId: nonEmptyString.optional() }) .passthrough(); @@ -479,7 +791,7 @@ export const v2CreateInputSchema = z export const v2PromptInputSchema = z .object({ - content: z.array(v2ContentBlockSchema), + content: z.array(v2PromptContentBlockSchema).min(1), delivery: z.enum(["steer", "follow_up"]).optional(), expectedRevision: nonNegativeInteger.optional(), idempotencyKey: nonEmptyString, @@ -487,6 +799,80 @@ export const v2PromptInputSchema = z }) .passthrough(); +export const v2PromptReferenceCompletionInputSchema = z + .object({ + cursor: nonNegativeInteger, + limit: positiveInteger.max(64), + ref: v2RefSchema, + source: z.enum(["files", "sessions"]), + text: boundedReferenceText, + }) + .passthrough(); + +export const v2PromptReferenceCompletionResultSchema = z + .object({ + candidates: z + .array( + z + .object({ + detail: boundedReferenceDisplay.max(2_048).optional(), + insertText: boundedReferenceDisplay, + kind: z.enum(["directory", "file", "session"]), + label: boundedReferenceDisplay.max(512), + }) + .strict(), + ) + .max(64), + end: nonNegativeInteger, + start: nonNegativeInteger, + }) + .strict(); + +export const v2PromptReferenceCompletionResponseSchema = + v2PromptReferenceCompletionResultSchema.nullable(); + +export const v2AttachmentUploadBeginInputSchema = z + .object({ + idempotencyKey: nonEmptyString, + mimeType: nonEmptyString, + name: nonEmptyString.optional(), + ref: v2RefSchema, + totalBytes: positiveInteger, + uploadId: boundedPermissionId, + }) + .passthrough(); + +export const v2AttachmentUploadChunkInputSchema = z + .object({ + data: nonEmptyString, + idempotencyKey: nonEmptyString, + offset: nonNegativeInteger, + uploadId: boundedPermissionId, + }) + .passthrough(); + +export const v2AttachmentUploadFinishInputSchema = z + .object({ + idempotencyKey: nonEmptyString, + uploadId: boundedPermissionId, + }) + .passthrough(); + +export const v2AttachmentUploadAbortInputSchema = z + .object({ + idempotencyKey: nonEmptyString, + uploadId: boundedPermissionId, + }) + .passthrough(); + +export const v2AttachmentReadInputSchema = z + .object({ + attachmentId: boundedPermissionId, + offset: nonNegativeInteger, + ref: v2RefSchema, + }) + .passthrough(); + export const v2CancelInputSchema = z .object({ idempotencyKey: nonEmptyString, @@ -529,6 +915,15 @@ export const v2PermissionResponseInputSchema = z }) .passthrough(); +export const v2QuestionResponseInputSchema = z + .object({ + idempotencyKey: boundedPermissionId, + ref: v2RefSchema, + requestId: boundedPermissionId, + response: v2QuestionResponseSchema, + }) + .passthrough(); + export const v2ForkInputSchema = z .object({ fromEntryId: nonEmptyString.optional(), diff --git a/packages/orbis-remote-agent-protocol/src/v2-types.ts b/packages/orbis-remote-agent-protocol/src/v2-types.ts index 9c15c80..f141c6b 100644 --- a/packages/orbis-remote-agent-protocol/src/v2-types.ts +++ b/packages/orbis-remote-agent-protocol/src/v2-types.ts @@ -1,16 +1,28 @@ import type { AgentContentBlock, + AgentAttachmentReadResult, + AgentPromptContentBlock, AgentDriverDescriptor, AgentJsonValue, AgentModelMetadata, AgentModelSelection, AgentSessionConfigOption, AgentSessionRef, + AgentQuestionAnswerItem, + AgentQuestionItem, + AgentQuestionOption, + AgentQuestionPlanReviewIntent, + AgentQuestionRequest, + AgentQuestionResponse, + AgentWorkState, AgentWorkspaceDescriptor, AgentWorkspaceFolderDescriptor, AgentWorkspaceFolderListing, AgentWorkspaceRegisterResult, AgentPermissionOption, + AgentPromptReferenceCompletionInput, + AgentPromptReferenceCompletionResult, + AgentSessionSubagentEntry, } from "@orbisapp/orbis-agent-backend"; import type { AgentBackendId, @@ -25,6 +37,17 @@ import type { RemoteAgentHostPeer, RemoteAgentHostRequestContext } from "./host" export type RemoteAgentV2JsonValue = AgentJsonValue; export type RemoteAgentV2ContentBlock = AgentContentBlock; +/** Prompt wire blocks never carry raw image bytes. Images reference a completed + * peer-scoped upload, which the host resolves before invoking the runtime. */ +export type RemoteAgentV2PromptContentBlock = + | { readonly text: string; readonly type: "text" } + | { + /** Peer-scoped completed upload identity; not a durable attachment id. */ + readonly uploadId: string; + readonly mimeType: string; + readonly name?: string; + readonly type: "image_upload"; + }; export type RemoteAgentV2SessionConfigOption = AgentSessionConfigOption; export type RemoteAgentV2StreamingContentBlock = Extract< RemoteAgentV2ContentBlock, @@ -65,6 +88,16 @@ export interface RemoteAgentV2PermissionRequest { readonly requestedAt: AgentTimestamp; } +/** Ask User is a canonical interaction domain, independent from permission. */ +export type RemoteAgentV2QuestionOption = AgentQuestionOption; +export type RemoteAgentV2QuestionPlanReviewIntent = AgentQuestionPlanReviewIntent; +export type RemoteAgentV2QuestionItem = AgentQuestionItem; +export type RemoteAgentV2QuestionRequest = AgentQuestionRequest; +export type RemoteAgentV2QuestionAnswerItem = AgentQuestionAnswerItem; +export type RemoteAgentV2QuestionResponse = AgentQuestionResponse; +export type RemoteAgentV2WorkState = AgentWorkState; +export type RemoteAgentV2SubagentEntry = AgentSessionSubagentEntry; + export type RemoteAgentV2RunState = "idle" | "running" | "suspended" | "error"; export interface RemoteAgentV2SessionState { @@ -81,6 +114,8 @@ export interface RemoteAgentV2SessionState { readonly lastRun?: RemoteAgentV2RunSummary; readonly pendingInputs: readonly RemoteAgentV2QueuedInput[]; readonly pendingPermissions: readonly RemoteAgentV2PermissionRequest[]; + readonly pendingQuestions: readonly RemoteAgentV2QuestionRequest[]; + readonly workState: RemoteAgentV2WorkState; readonly usageTotal?: RemoteAgentV2Usage; readonly createdAt: AgentTimestamp; readonly updatedAt: AgentTimestamp; @@ -184,7 +219,14 @@ export interface RemoteAgentV2SessionRecord extends RemoteAgentV2SessionSummary export interface RemoteAgentV2HostCapabilities { readonly presence: boolean; readonly attachments: - | { readonly maxBytes: number; readonly mimeTypes: readonly string[] } + | { + readonly downloadChunkBytes: number; + readonly maxImageBytes: number; + readonly maxImagesPerMessage: number; + readonly maxMessageImageBytes: number; + readonly mimeTypes: readonly string[]; + readonly uploadChunkBytes: number; + } | false; readonly fork: boolean; readonly dispose: boolean; @@ -241,7 +283,7 @@ export interface RemoteAgentV2WorkspaceCreateFolderInput { export interface RemoteAgentV2PromptInput { readonly ref: AgentSessionRef; - readonly content: readonly RemoteAgentV2ContentBlock[]; + readonly content: readonly RemoteAgentV2PromptContentBlock[]; readonly delivery?: "steer" | "follow_up"; readonly expectedRevision?: number; readonly idempotencyKey: string; @@ -281,7 +323,8 @@ export interface RemoteAgentV2Runtime { ): Promise<{ readonly cancelled: boolean }>; close(): Promise; prompt( - input: Omit & { + input: Omit & { + readonly content: readonly AgentPromptContentBlock[]; readonly idempotencyKey?: string; }, ): Promise; @@ -290,6 +333,11 @@ export interface RemoteAgentV2Runtime { readonly idempotencyKey?: string; }, ): Promise<{ readonly accepted: boolean }>; + respondQuestion( + input: Omit & { + readonly idempotencyKey?: string; + }, + ): Promise<{ readonly accepted: boolean }>; subscribe(listener: (event: RemoteAgentV2SessionEvent) => void): () => void; } @@ -300,6 +348,13 @@ export interface RemoteAgentV2PermissionResponseInput { readonly idempotencyKey: string; } +export interface RemoteAgentV2QuestionResponseInput { + readonly ref: AgentSessionRef; + readonly requestId: string; + readonly response: RemoteAgentV2QuestionResponse; + readonly idempotencyKey: string; +} + export interface RemoteAgentV2Backend { readonly hostId: AgentBackendId; close(): Promise; @@ -314,6 +369,9 @@ export interface RemoteAgentV2Backend { name: string, ): Promise; connectRuntime(ref: AgentSessionRef): Promise; + completePromptReferences( + input: AgentPromptReferenceCompletionInput, + ): Promise; createSession( input: Omit, ): Promise; @@ -325,6 +383,10 @@ export interface RemoteAgentV2Backend { listSessions(input: { readonly driverId?: AgentSessionRef["driverId"]; }): Promise; + listSessionSubagents( + ref: AgentSessionRef, + signal?: AbortSignal, + ): Promise; /** * Optional freshness hint for catalog rows the host is not already tracking * through a session runtime — a session created or advanced directly in the @@ -334,6 +396,11 @@ export interface RemoteAgentV2Backend { */ observeCatalog?(listener: () => void): () => void; readSession(ref: AgentSessionRef): Promise; + readAttachment( + ref: AgentSessionRef, + attachmentId: string, + signal?: AbortSignal, + ): Promise; registerWorkspace( driverId: AgentSessionRef["driverId"], folderRef: string, diff --git a/packages/orbis-remote-dsh/package.json b/packages/orbis-remote-dsh/package.json index 77c40c2..43647d8 100644 --- a/packages/orbis-remote-dsh/package.json +++ b/packages/orbis-remote-dsh/package.json @@ -48,24 +48,29 @@ "devDependencies": { "@deepseek-ai/cordis": "^4.0.1", "@deepseek-ai/cordis-plugin-group": "^1.0.1", - "@deepseek-ai/dsh": "^0.1.0-rc.7", - "@deepseek-ai/dsh-agent": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-locale": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-ui-settings": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.7", - "@deepseek-ai/dsh-credentials": "^0.1.0-rc.7", - "@deepseek-ai/dsh-home-paths": "^0.1.0-rc.7", - "@deepseek-ai/dsh-host-apiproxy": "^0.1.0-rc.7", - "@deepseek-ai/dsh-host-directory-picker": "^0.1.0-rc.7", - "@deepseek-ai/dsh-host-directory-picker-browse": "^0.1.0-rc.7", - "@deepseek-ai/dsh-host-webserver": "^0.1.0-rc.7", - "@deepseek-ai/dsh-llm": "^0.1.0-rc.7", - "@deepseek-ai/dsh-session": "^0.1.0-rc.7", - "@deepseek-ai/dsh-session-persistence": "^0.1.0-rc.7", - "@deepseek-ai/dsh-session-projection-cache": "^0.1.0-rc.7", - "@deepseek-ai/dsh-workspace": "^0.1.0-rc.7", + "@deepseek-ai/dsh": "^0.1.1-rc.2", + "@deepseek-ai/dsh-agent": "^0.1.1-rc.2", + "@deepseek-ai/dsh-attachment": "^0.1.1-rc.2", + "@deepseek-ai/dsh-file-reference": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-locale": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-runtime": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-ui-primitives": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-ui-settings": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-ui-slots": "^0.1.1-rc.2", + "@deepseek-ai/dsh-credentials": "^0.1.1-rc.2", + "@deepseek-ai/dsh-home-paths": "^0.1.1-rc.2", + "@deepseek-ai/dsh-host-apiproxy": "^0.1.1-rc.2", + "@deepseek-ai/dsh-host-directory-picker": "^0.1.1-rc.2", + "@deepseek-ai/dsh-host-directory-picker-browse": "^0.1.1-rc.2", + "@deepseek-ai/dsh-host-webserver": "^0.1.1-rc.2", + "@deepseek-ai/dsh-llm": "^0.1.1-rc.2", + "@deepseek-ai/dsh-session-reference": "^0.1.1-rc.2", + "@deepseek-ai/dsh-plan-mode": "^0.1.1-rc.2", + "@deepseek-ai/dsh-subagent": "^0.1.1-rc.2", + "@deepseek-ai/dsh-session": "^0.1.1-rc.2", + "@deepseek-ai/dsh-session-persistence": "^0.1.1-rc.2", + "@deepseek-ai/dsh-session-projection-cache": "^0.1.1-rc.2", + "@deepseek-ai/dsh-workspace": "^0.1.1-rc.2", "@deepseek-ai/schemastery": "^3.18.1", "@orbisapp/orbis-agent-backend": "workspace:*", "@orbisapp/remote-agent-node-store": "workspace:*", @@ -86,23 +91,28 @@ }, "peerDependencies": { "@deepseek-ai/cordis": "^4.0.1", - "@deepseek-ai/dsh-agent": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-locale": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-ui-settings": "^0.1.0-rc.7", - "@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.7", - "@deepseek-ai/dsh-credentials": "^0.1.0-rc.7", - "@deepseek-ai/dsh-home-paths": "^0.1.0-rc.7", - "@deepseek-ai/dsh-host-apiproxy": "^0.1.0-rc.7", - "@deepseek-ai/dsh-host-directory-picker": "^0.1.0-rc.7", - "@deepseek-ai/dsh-host-directory-picker-browse": "^0.1.0-rc.7", - "@deepseek-ai/dsh-host-webserver": "^0.1.0-rc.7", - "@deepseek-ai/dsh-llm": "^0.1.0-rc.7", - "@deepseek-ai/dsh-session": "^0.1.0-rc.7", - "@deepseek-ai/dsh-session-persistence": "^0.1.0-rc.7", - "@deepseek-ai/dsh-session-projection-cache": "^0.1.0-rc.7", - "@deepseek-ai/dsh-workspace": "^0.1.0-rc.7", + "@deepseek-ai/dsh-agent": "^0.1.1-rc.2", + "@deepseek-ai/dsh-attachment": "^0.1.1-rc.2", + "@deepseek-ai/dsh-file-reference": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-locale": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-runtime": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-ui-primitives": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-ui-settings": "^0.1.1-rc.2", + "@deepseek-ai/dsh-client-ui-slots": "^0.1.1-rc.2", + "@deepseek-ai/dsh-credentials": "^0.1.1-rc.2", + "@deepseek-ai/dsh-home-paths": "^0.1.1-rc.2", + "@deepseek-ai/dsh-host-apiproxy": "^0.1.1-rc.2", + "@deepseek-ai/dsh-host-directory-picker": "^0.1.1-rc.2", + "@deepseek-ai/dsh-host-directory-picker-browse": "^0.1.1-rc.2", + "@deepseek-ai/dsh-host-webserver": "^0.1.1-rc.2", + "@deepseek-ai/dsh-llm": "^0.1.1-rc.2", + "@deepseek-ai/dsh-session-reference": "^0.1.1-rc.2", + "@deepseek-ai/dsh-plan-mode": "^0.1.1-rc.2", + "@deepseek-ai/dsh-subagent": "^0.1.1-rc.2", + "@deepseek-ai/dsh-session": "^0.1.1-rc.2", + "@deepseek-ai/dsh-session-persistence": "^0.1.1-rc.2", + "@deepseek-ai/dsh-session-projection-cache": "^0.1.1-rc.2", + "@deepseek-ai/dsh-workspace": "^0.1.1-rc.2", "@deepseek-ai/schemastery": "^3.18.1", "react": "^18.2.0 || ^19.0.0", "react-dom": "^18.2.0 || ^19.0.0", @@ -115,6 +125,12 @@ "@deepseek-ai/dsh-agent": { "optional": true }, + "@deepseek-ai/dsh-attachment": { + "optional": true + }, + "@deepseek-ai/dsh-file-reference": { + "optional": true + }, "@deepseek-ai/dsh-client-locale": { "optional": true }, @@ -151,9 +167,18 @@ "@deepseek-ai/dsh-llm": { "optional": true }, + "@deepseek-ai/dsh-plan-mode": { + "optional": true + }, + "@deepseek-ai/dsh-subagent": { + "optional": true + }, "@deepseek-ai/dsh-session": { "optional": true }, + "@deepseek-ai/dsh-session-reference": { + "optional": true + }, "@deepseek-ai/dsh-session-persistence": { "optional": true }, diff --git a/packages/orbis-remote-dsh/scripts/real-profile-e2e.ts b/packages/orbis-remote-dsh/scripts/real-profile-e2e.ts index 47ae440..5a355f8 100644 --- a/packages/orbis-remote-dsh/scripts/real-profile-e2e.ts +++ b/packages/orbis-remote-dsh/scripts/real-profile-e2e.ts @@ -22,7 +22,7 @@ import { parsePairingInvitation, } from "@orbisapp/transport"; -import { createNodeWebSocketFactory } from "../src/node-websocket.ts"; +import { createNodeWebSocketFactory } from "../src/plugin/node-websocket.ts"; import { delay, waitFor } from "./real-profile-e2e-utils.ts"; const PACKAGE_DIRECTORY = resolve(dirname(fileURLToPath(import.meta.url)), ".."); @@ -343,7 +343,7 @@ async function persistedIndexEntryCount(path) { } async function assertDshCompatibility() { - const expected = process.env.ORBIS_DSH_EXPECTED_VERSION ?? "0.1.0-rc.6"; + const expected = process.env.ORBIS_DSH_EXPECTED_VERSION ?? "0.1.1-rc.2"; const probeRoot = await mkdtemp(join(tmpdir(), "orbis-dsh-compat-")); const probeEnv = { ...process.env, diff --git a/packages/orbis-remote-dsh/src/adapter/dsh-local-backend.test.ts b/packages/orbis-remote-dsh/src/adapter/dsh-local-backend.test.ts index 16ab82f..75c0d63 100644 --- a/packages/orbis-remote-dsh/src/adapter/dsh-local-backend.test.ts +++ b/packages/orbis-remote-dsh/src/adapter/dsh-local-backend.test.ts @@ -13,13 +13,17 @@ import type { DshAgentHandle, DshAgentInboxEvent, DshAgentOptions, - DshApiApprovalResponse, + DshApiInteractionResponse, DshApiMuxRequest, DshContext, + DshImageAttachmentReference, DshSession, DshSessionCatalogEntry, + DshSessionAttachmentPort, DshSessionEvent, DshSessionHeader, + DshSessionModeProvider, + DshSessionSubagentProvider, DshUserMessage, } from "./dsh-types"; @@ -94,7 +98,7 @@ class TestDsh { string, { readonly model: string; readonly provider: string } >(); - readonly approvalResponses: DshApiApprovalResponse[] = []; + readonly approvalResponses: DshApiInteractionResponse[] = []; approvalResponse: { readonly accepted: boolean; readonly reason?: "not-pending" | "bad-response"; @@ -192,7 +196,7 @@ class TestDsh { events: { mux: (_request: unknown, signal: AbortSignal) => this.approvalMux(signal), }, - respond: async (message: DshApiApprovalResponse) => { + respond: async (message: DshApiInteractionResponse) => { this.approvalResponses.push(message); return this.approvalResponse; }, @@ -367,11 +371,19 @@ function createBackend( testDsh: TestDsh, listSessionCatalog?: () => Promise, now: () => AgentTimestamp = () => FIXED_TIME, + planMode?: DshSessionModeProvider, + onError?: (error: { readonly code: string }) => void, + attachments?: DshSessionAttachmentPort, + subagents?: DshSessionSubagentProvider, ): DshLocalBackend { return new DshLocalBackend({ context: testDsh.context, createSessionId: () => "created-session", - createUserMessage: ({ content }) => asUserMessage(content[0].text), + createUserMessage: ({ content }) => { + const first = content[0]; + if (first?.type === "text" && content.length === 1) return asUserMessage(first.text); + return { content, id: "user-image" }; + }, listSessionCatalog: listSessionCatalog ?? (async () => @@ -381,6 +393,10 @@ function createBackend( updatedAt: header.createdAt, }))), now, + ...(planMode === undefined ? {} : { planMode }), + ...(onError === undefined ? {} : { onError }), + ...(attachments === undefined ? {} : { attachments }), + ...(subagents === undefined ? {} : { subagents }), toSessionId: (id) => id, }); } @@ -416,6 +432,36 @@ function approvalRequested(approvalId: string, toolName: string): DshApiMuxReque }; } +function questionRequested(rpcId: string): DshApiMuxRequest { + return { + payload: { + questions: [ + { + detail: "# Plan\n\nDo these steps?", + header: "Review", + id: "plan-review", + intent: { approve: "Approve", kind: "plan-review" }, + multiSelect: false, + options: [ + { description: "Continue with the plan", label: "Approve" }, + { label: "Keep planning" }, + ], + question: "Approve this plan?", + }, + { + id: "format", + multiSelect: true, + options: [{ label: "JSON" }, { label: "Markdown" }], + question: "Which formats?", + }, + ], + sessionId: "created-session", + type: "question/requested", + }, + rpcId, + }; +} + function pendingPermissionIds(events: readonly AgentSessionEvent[]): string[] { const state = [...events] .reverse() @@ -427,7 +473,345 @@ function pendingPermissionIds(events: readonly AgentSessionEvent[]): string[] { return state?.payload.patch.pendingPermissions?.map((request) => request.requestId) ?? []; } +function pendingQuestions(events: readonly AgentSessionEvent[]) { + const state = [...events] + .reverse() + .find( + (native): native is Extract => + native.type === "session.state.changed" && + native.payload.patch.pendingQuestions !== undefined, + ); + return state?.payload.patch.pendingQuestions ?? []; +} + describe("DSH local backend", () => { + test("advertises input.attachments only when the composition port is mounted", async () => { + const withoutAttachments = createBackend(new TestDsh()); + expect(withoutAttachments.driverDescriptor.capabilities).not.toContain("input.attachments"); + + const attachments: DshSessionAttachmentPort = { + admitEncodedImages: async () => [], + readImage: async (reference) => ({ data: new Uint8Array(), reference }), + }; + const withAttachments = createBackend( + new TestDsh(), + undefined, + () => FIXED_TIME, + undefined, + undefined, + attachments, + ); + expect(withAttachments.driverDescriptor.capabilities).toContain("input.attachments"); + await withoutAttachments.close(); + await withAttachments.close(); + }); + + test("advertises and maps authoritative subagent descendants only when mounted", async () => { + const signal = new AbortController().signal; + let receivedId: string | undefined; + let receivedSignal: AbortSignal | undefined; + const subagents: DshSessionSubagentProvider = { + listDescendants: async (nativeSessionId, requestSignal) => { + receivedId = nativeSessionId; + receivedSignal = requestSignal; + return [ + { + activity: "running", + depth: 1, + hasChildren: true, + id: "child-1", + kind: "child", + mode: "continuable", + parentId: "root", + label: "Research", + }, + { + activity: "inactive", + depth: 2, + hasChildren: false, + id: "child-2", + kind: "child", + mode: "one-shot", + parentId: "child-1", + }, + { + depth: 1, + id: "diagnostic-1", + kind: "diagnostic", + parentId: "root", + reason: "corrupt", + }, + ]; + }, + }; + const withoutProvider = createBackend(new TestDsh()); + expect(withoutProvider.driverDescriptor.capabilities).not.toContain("session.subagents.list"); + const rootRef = createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "root", + sessionId: "root", + }); + await expect(withoutProvider.listSessionSubagents(rootRef)).rejects.toMatchObject({ + code: "unsupported", + }); + + const backend = createBackend( + new TestDsh(), + undefined, + () => FIXED_TIME, + undefined, + undefined, + undefined, + subagents, + ); + expect(backend.driverDescriptor.capabilities).toContain("session.subagents.list"); + await expect(backend.listSessionSubagents(rootRef, signal)).resolves.toEqual([ + { + activity: "running", + depth: 1, + hasChildren: true, + kind: "child", + label: "Research", + mode: "continuable", + parentRef: rootRef, + ref: createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "child-1", + sessionId: "child-1", + }), + }, + { + activity: "inactive", + depth: 2, + hasChildren: false, + kind: "child", + mode: "one-shot", + parentRef: createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "child-1", + sessionId: "child-1", + }), + ref: createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "child-2", + sessionId: "child-2", + }), + }, + { + depth: 1, + kind: "diagnostic", + parentRef: rootRef, + reason: "corrupt", + ref: createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "diagnostic-1", + sessionId: "diagnostic-1", + }), + }, + ]); + expect(receivedId).toBe("root"); + expect(receivedSignal).toBe(signal); + await withoutProvider.close(); + await backend.close(); + }); + + test("rejects malformed native subagent identities as protocol errors", async () => { + const backend = createBackend( + new TestDsh(), + undefined, + () => FIXED_TIME, + undefined, + undefined, + undefined, + { + listDescendants: async () => [ + { + activity: "running", + depth: 1, + hasChildren: false, + id: {} as never, + kind: "child", + mode: "one-shot", + parentId: undefined, + }, + ], + }, + ); + const rootRef = createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "root", + sessionId: "root", + }); + await expect(backend.listSessionSubagents(rootRef)).rejects.toMatchObject({ code: "protocol" }); + await backend.close(); + }); + + test("rejects continuable descendants without a label as protocol errors", async () => { + const backend = createBackend( + new TestDsh(), + undefined, + () => FIXED_TIME, + undefined, + undefined, + undefined, + { + listDescendants: async () => [ + { + activity: "running", + depth: 1, + hasChildren: false, + id: "child-1", + kind: "child", + mode: "continuable", + parentId: "root", + }, + ], + }, + ); + const rootRef = createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "root", + sessionId: "root", + }); + await expect(backend.listSessionSubagents(rootRef)).rejects.toMatchObject({ code: "protocol" }); + await backend.close(); + }); + + test("admits image-only and mixed prompts as durable DSH attachment refs", async () => { + const testDsh = new TestDsh(); + const admitted: string[][] = []; + const attachmentPort: DshSessionAttachmentPort = { + admitEncodedImages: async (images) => { + admitted.push(images.map((image) => image.data)); + return images.map( + (image, index): DshImageAttachmentReference => ({ + attachmentId: `attachment-${admitted.length}-${index}`, + bytes: (image.data.length / 4) * 3, + height: 10, + mediaType: image.mediaType, + width: 10, + }), + ); + }, + readImage: async (reference) => ({ data: new Uint8Array([1, 2, 3]), reference }), + }; + const backend = createBackend( + testDsh, + undefined, + () => FIXED_TIME, + undefined, + undefined, + attachmentPort, + ); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + + await runtime.prompt({ + content: [{ data: "AQID", mimeType: "image/png", type: "image" }], + }); + expect(admitted).toEqual([["AQID"]]); + expect(testDsh.agent("created-session").followups[0]?.content).toEqual([ + { + attachment: { + attachmentId: "attachment-1-0", + bytes: 3, + height: 10, + mediaType: "image/png", + width: 10, + }, + type: "image", + }, + ]); + + await runtime.cancel(); + await runtime.prompt({ + content: [ + { text: "Describe these", type: "text" }, + { data: "BAUG", mimeType: "image/png", type: "image" }, + { data: "BwgJ", mimeType: "image/jpeg", type: "image" }, + ], + }); + expect(admitted).toEqual([["AQID"], ["BAUG", "BwgJ"]]); + expect(testDsh.agent("created-session").followups.at(-1)?.content).toMatchObject([ + { text: "Describe these", type: "text" }, + { type: "image", attachment: { attachmentId: "attachment-2-0" } }, + { type: "image", attachment: { attachmentId: "attachment-2-1" } }, + ]); + }); + + test("projects image references and authorizes DSH attachment reads by session log", async () => { + const testDsh = new TestDsh(); + const reference: DshImageAttachmentReference = { + attachmentId: "history-image", + bytes: 3, + height: 2, + mediaType: "image/png", + name: "diagram.png", + width: 3, + }; + testDsh.addPersistedSession("image-history", [ + event("user/message", 0, { + content: [{ attachment: reference, type: "image" }], + id: "user-image", + role: "user", + source: { kind: "user" }, + }), + ]); + testDsh.addPersistedSession("other-history", []); + const reads: string[] = []; + const backend = createBackend(testDsh, undefined, () => FIXED_TIME, undefined, undefined, { + admitEncodedImages: async () => [], + readImage: async (readReference) => { + reads.push(readReference.attachmentId); + return { data: new Uint8Array([1, 2, 3]), reference: readReference }; + }, + }); + const ref = createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "image-history", + sessionId: "image-history", + }); + const projection = await backend.readSession(ref); + expect(projection.entries[0]).toMatchObject({ + content: [ + { + attachmentId: "history-image", + bytes: 3, + height: 2, + mimeType: "image/png", + name: "diagram.png", + type: "image_reference", + width: 3, + }, + ], + }); + await expect(backend.readAttachment(ref, "history-image")).resolves.toMatchObject({ + attachmentId: "history-image", + data: "AQID", + mimeType: "image/png", + }); + await expectCode(() => backend.readAttachment(ref, "missing"), "not_found"); + const otherRef = createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "other-history", + sessionId: "other-history", + }); + await expectCode(() => backend.readAttachment(otherRef, "history-image"), "not_found"); + expect(reads).toEqual(["history-image"]); + }); + test("projects the DSH provider catalog into v2 model metadata", async () => { const backend = createBackend(new TestDsh()); @@ -683,10 +1067,68 @@ describe("DSH local backend", () => { status: "success", }, ]); + expect(projection.entries[1]).not.toHaveProperty("stopReason"); expect(projection.lastRun).toMatchObject({ id: "turn-1", state: "completed" }); expect(projection.state).toBe("idle"); }); + test("projects DSH interrupted assistant messages as canonical aborted entries", async () => { + const interruptedMessage = { + message: { + content: [{ text: "The response was interrupted.", type: "text" }], + role: "assistant", + }, + interrupted: true, + step: 1, + turn: 1, + }; + const testDsh = new TestDsh(); + testDsh.addPersistedSession("interrupted", [ + event("turn/start", 0, { turn: 1 }), + event("assistant/message", 1, interruptedMessage), + event("turn/end", 2, { reason: { kind: "aborted" }, turn: 1 }), + ]); + const backend = createBackend(testDsh); + const ref = createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "interrupted", + sessionId: "interrupted", + }); + + const projection = await backend.readSession(ref); + + expect(projection.entries).toMatchObject([ + { + content: [{ text: "The response was interrupted.", type: "text" }], + kind: "message", + role: "assistant", + stopReason: "aborted", + }, + ]); + expect(projection.entries[0]).not.toHaveProperty("interrupted"); + + const liveRecord = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(liveRecord.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + + testDsh.emit("created-session", event("assistant/message", 1, interruptedMessage)); + + expect(events.find((native) => native.type === "entry.appended")).toMatchObject({ + payload: { + entry: { + kind: "message", + role: "assistant", + stopReason: "aborted", + }, + }, + }); + }); + test("emits DSH tool input and execution state as distinct transient events", async () => { const testDsh = new TestDsh(); const backend = createBackend(testDsh); @@ -783,7 +1225,96 @@ describe("DSH local backend", () => { }); }); - test("bridges approval mux requests, responses, resolution, and reconnect state", async () => { + test("maps active DSH lifecycle records to canonical run activity", async () => { + const testDsh = new TestDsh(); + const backend = createBackend(testDsh); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + + testDsh.emit("created-session", event("turn/start", 0, { turn: 1 })); + testDsh.emit("created-session", event("step/start", 1, { step: 1, turn: 1 })); + testDsh.emit("created-session", event("assistant/chunk", 2, { step: 1, turn: 1 })); + testDsh.emit("created-session", event("llm/retry-started", 3, { retry: 1, step: 1, turn: 1 })); + testDsh.emit( + "created-session", + event("llm/retry", 4, { delayMs: 250, maxRetries: 3, retry: 2, step: 1, turn: 1 }), + ); + testDsh.emit( + "created-session", + event("compaction/start", 5, { compactionId: "compact-1", turn: 1 }), + ); + testDsh.emit( + "created-session", + event("compaction/start", 6, { compactionId: "compact-standalone", turn: null }), + ); + testDsh.emit( + "created-session", + event("compaction/start", 7, { compactionId: "compact-other-turn", turn: 2 }), + ); + testDsh.emit( + "created-session", + event("turn/end", 8, { reason: { kind: "completed" }, turn: 1 }), + ); + testDsh.emit( + "created-session", + event("compaction/start", 9, { compactionId: "compact-after-end", turn: 1 }), + ); + + expect(events.filter((native) => native.type === "run.activity")).toMatchObject([ + { payload: { kind: "thinking", runId: "turn-1" } }, + { payload: { kind: "thinking", runId: "turn-1" } }, + { + payload: { + detail: "Retry 2/3 · waiting 250ms", + kind: "retry", + runId: "turn-1", + }, + }, + { payload: { kind: "summarizing", runId: "turn-1" } }, + ]); + expect(events.filter((native) => native.type === "run.activity")).toHaveLength(4); + expect( + events.some( + (native) => + native.type === "run.activity" && native.source.nativeType === "assistant/chunk", + ), + ).toBe(false); + + await backend.close(); + }); + + test("reports malformed DSH activity payloads without publishing activity", async () => { + const errors: string[] = []; + const testDsh = new TestDsh(); + const backend = createBackend( + testDsh, + undefined, + () => FIXED_TIME, + undefined, + (error) => errors.push(error.code), + ); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + + testDsh.emit("created-session", event("turn/start", 0, { turn: 1 })); + testDsh.emit("created-session", event("step/start", 1, { step: 0, turn: 1 })); + + expect(errors).toContain("protocol"); + expect(events.filter((native) => native.type === "run.activity")).toEqual([]); + await backend.close(); + }); + + test("bridges permission interactions, responses, resolution, and reconnect state", async () => { const testDsh = new TestDsh(true); const backend = createBackend(testDsh); const record = await backend.createSession({ @@ -872,6 +1403,379 @@ describe("DSH local backend", () => { await backend.close(); }); + test("bridges a full Ask User batch with opaque option ids and reconnect replay", async () => { + const testDsh = new TestDsh(true); + const backend = createBackend(testDsh); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + + testDsh.emitApproval(questionRequested("question-rpc-1")); + await waitFor(() => pendingQuestions(events).length === 1); + const request = pendingQuestions(events)[0]; + expect(request?.requestId).toBe("question-rpc-1"); + expect(request?.questions[0]?.questionId).toBe("plan-review"); + expect(request?.questions[0]?.intent?.approveOptionId).toBe("dsh-option-0-0"); + expect(request?.questions[0]?.options.map((option) => option.label)).toEqual([ + "Approve", + "Keep planning", + ]); + expect(request?.questions[0]?.options.map((option) => option.optionId)).not.toEqual([ + "Approve", + "Keep planning", + ]); + const requestedAt = request?.requestedAt; + + await expect( + runtime.respondQuestion({ + requestId: "question-rpc-1", + response: { + answers: [ + { optionIds: ["dsh-option-1-0", "dsh-option-1-1"], questionId: "format" }, + { optionIds: ["dsh-option-0-0"], questionId: "plan-review" }, + ], + kind: "answered", + }, + }), + ).resolves.toEqual({ accepted: true }); + expect(testDsh.approvalResponses.at(-1)).toMatchObject({ + result: { + ok: true, + value: { + answer: { + answers: [ + { id: "plan-review", selected: ["Approve"] }, + { id: "format", selected: ["JSON", "Markdown"] }, + ], + }, + sessionId: "created-session", + }, + }, + rpcId: "question-rpc-1", + }); + await waitFor(() => pendingQuestions(events).length === 0); + + testDsh.emitApproval(questionRequested("question-rpc-2")); + await waitFor(() => pendingQuestions(events).length === 1); + const beforeReconnect = pendingQuestions(events)[0]?.requestedAt; + expect(beforeReconnect).toBe(requestedAt); + await runtime.close(); + const reconnected = await backend.connectRuntime(record.ref); + const reconnectEvents: AgentSessionEvent[] = []; + reconnected.subscribe((native) => reconnectEvents.push(native)); + expect(pendingQuestions(reconnectEvents)[0]?.requestedAt).toBe(beforeReconnect); + + await expect( + reconnected.respondQuestion({ requestId: "question-rpc-2", response: { kind: "cancelled" } }), + ).resolves.toEqual({ accepted: true }); + expect(testDsh.approvalResponses.at(-1)).toMatchObject({ + result: { error: { code: "cancelled" }, ok: false }, + rpcId: "question-rpc-2", + }); + await backend.close(); + }); + + test("keeps a pending question after a bad native response receipt", async () => { + const testDsh = new TestDsh(true); + const backend = createBackend(testDsh); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + testDsh.emitApproval(questionRequested("question-bad")); + await waitFor(() => pendingQuestions(events).length === 1); + testDsh.approvalResponse = { accepted: false, reason: "bad-response" }; + await expectCode( + () => + runtime.respondQuestion({ + requestId: "question-bad", + response: { kind: "cancelled" }, + }), + "protocol", + ); + expect(pendingQuestions(events)).toHaveLength(1); + expect(pendingQuestions(events)[0]?.requestId).toBe("question-bad"); + await backend.close(); + }); + + test("resolves a pending question from the shared interaction mux", async () => { + const testDsh = new TestDsh(true); + const backend = createBackend(testDsh); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + + testDsh.emitApproval(questionRequested("question-resolved")); + await waitFor(() => pendingQuestions(events).length === 1); + testDsh.emitApproval({ + payload: { + questionRpcId: "question-resolved", + sessionId: "created-session", + type: "question/resolved", + }, + rpcId: "question-resolution-receipt", + }); + await waitFor(() => pendingQuestions(events).length === 0); + await backend.close(); + }); + + test("rejects interaction replays that change the native request payload", async () => { + const errors: string[] = []; + const testDsh = new TestDsh(true); + const backend = createBackend( + testDsh, + undefined, + () => FIXED_TIME, + undefined, + (error) => { + errors.push(error.code); + }, + ); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + + const request = approvalRequested("approval-replay", "read"); + testDsh.emitApproval(request); + await waitFor(() => pendingPermissionIds(events).join(",") === "approval-replay"); + testDsh.emitApproval({ + payload: { ...request.payload, reason: "changed" }, + rpcId: request.rpcId, + }); + await waitFor(() => errors.includes("protocol")); + expect(pendingPermissionIds(events)).toEqual(["approval-replay"]); + await backend.close(); + }); + + test("rejects a permission replay when its rpc id changes", async () => { + const errors: string[] = []; + const testDsh = new TestDsh(true); + const backend = createBackend( + testDsh, + undefined, + () => FIXED_TIME, + undefined, + (error) => { + errors.push(error.code); + }, + ); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + + const request = approvalRequested("approval-rpc-replay", "read"); + testDsh.emitApproval(request); + await waitFor(() => pendingPermissionIds(events).join(",") === "approval-rpc-replay"); + testDsh.emitApproval({ ...request, rpcId: "different-rpc-id" }); + await waitFor(() => errors.includes("protocol")); + expect(pendingPermissionIds(events)).toEqual(["approval-rpc-replay"]); + await backend.close(); + }); + + test("rejects a question replay when its payload changes under one rpc id", async () => { + const errors: string[] = []; + const testDsh = new TestDsh(true); + const backend = createBackend( + testDsh, + undefined, + () => FIXED_TIME, + undefined, + (error) => { + errors.push(error.code); + }, + ); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + + const request = questionRequested("question-payload-replay"); + testDsh.emitApproval(request); + await waitFor(() => pendingQuestions(events).length === 1); + testDsh.emitApproval({ + payload: { + ...request.payload, + questions: request.payload.questions?.map((question, index) => + index === 0 ? { ...question, question: "Changed after replay" } : question, + ), + }, + rpcId: request.rpcId, + }); + await waitFor(() => errors.includes("protocol")); + expect(pendingQuestions(events)[0]?.requestId).toBe("question-payload-replay"); + await backend.close(); + }); + + test("rejects duplicate native option labels before exposing a question", async () => { + const testDsh = new TestDsh(true); + const backend = createBackend(testDsh); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + const runtime = await backend.connectRuntime(record.ref); + const events: AgentSessionEvent[] = []; + runtime.subscribe((native) => events.push(native)); + testDsh.emitApproval({ + payload: { + questions: [ + { + id: "duplicate", + options: [{ label: "same" }, { label: "same" }], + question: "Invalid?", + }, + ], + sessionId: "created-session", + type: "question/requested", + }, + rpcId: "question-duplicate", + }); + await new Promise((resolve) => setTimeout(resolve, 20)); + expect(pendingQuestions(events)).toEqual([]); + await backend.close(); + }); + + test("folds DSH mode, goal tombstones, and whole todo snapshots", async () => { + const testDsh = new TestDsh(); + testDsh.addPersistedSession("work-state", [ + event("plan/mode", 0, { active: true }), + event("goal/change", 1, { + createdAt: EPOCH, + goal: { + id: "goal-1", + maxGoalRounds: 3, + objective: "Ship the public bridge", + phase: "active", + revision: 1, + }, + kind: "goal/change", + operation: "create", + roundsStarted: 0, + updatedAt: EPOCH, + version: 1, + }), + event("todo/write", 2, { + todos: [ + { content: "Implement adapter", status: "in_progress" }, + { content: "Add tests", status: "pending" }, + ], + }), + event("turn/start", 3, { turn: 1 }), + event("turn/end", 4, { reason: { kind: "completed" }, turn: 1 }), + event("todo/write", 5, { todos: [{ content: "Implement adapter", status: "completed" }] }), + event("turn/start", 6, { turn: 2 }), + event("goal/change", 7, { + createdAt: EPOCH, + goal: { + id: "goal-1", + maxGoalRounds: 3, + objective: "Ship the public bridge", + phase: "complete", + revision: 2, + }, + kind: "goal/change", + operation: "complete", + roundsStarted: 1, + updatedAt: EPOCH + 1_000, + version: 1, + }), + event("goal/change", 8, { + cleared: { id: "goal-1", revision: 3 }, + clearedAt: EPOCH + 2_000, + kind: "goal/change", + operation: "clear", + version: 1, + }), + event("plan/mode", 9, { active: false }), + ]); + const backend = createBackend(testDsh); + const projection = await backend.readSession( + createAgentSessionRef({ + backendId: "local", + driverId: "dsh", + nativeSessionId: "work-state", + sessionId: "work-state", + }), + ); + expect(projection.mode).toBeNull(); + expect(projection.workState).toEqual({ goal: null, todos: [] }); + await backend.close(); + }); + + test("publishes committed plan mode and leaves queued selection authoritative", async () => { + const testDsh = new TestDsh(); + const planMode: DshSessionModeProvider = { + get: (agent) => ({ + active: + agent.session.events.at(-1)?.type === "plan/mode" && + (agent.session.events.at(-1)?.data as { readonly active?: boolean }).active === true, + }), + set: (agent, active) => { + if (agent.status === "running") return "queued"; + testDsh.emit( + "created-session", + event("plan/mode", agent.session.events.length + 1, { active }), + ); + return "committed"; + }, + }; + const backend = createBackend(testDsh, undefined, () => FIXED_TIME, planMode); + const record = await backend.createSession({ + driverId: agentDriverId("dsh"), + workspaceRef: "workspace-1", + }); + expect((await backend.listDrivers())[0]?.capabilities).toContain("plan.select"); + const runtime = await backend.connectRuntime(record.ref); + const before = await backend.readStateRevision(record.ref); + await expect( + backend.updateSession(record.ref, { patch: { mode: "plan" }, expectedRevision: before }), + ).resolves.toEqual({ revision: before + 1 }); + await expect(backend.readSession(record.ref)).resolves.toMatchObject({ mode: "plan" }); + + await runtime.prompt({ content: [{ text: "Start the run", type: "text" }] }); + const queuedRevision = await backend.readStateRevision(record.ref); + await expect( + backend.updateSession(record.ref, { + patch: { mode: null }, + expectedRevision: queuedRevision, + }), + ).resolves.toEqual({ revision: queuedRevision }); + await expect(backend.readSession(record.ref)).resolves.toMatchObject({ mode: "plan" }); + await expectCode( + () => backend.updateSession(record.ref, { patch: { mode: "interactive" } }), + "invalid_argument", + ); + await backend.close(); + }); + + test("does not advertise plan.select without the plan-mode seam", async () => { + const backend = createBackend(new TestDsh()); + await expect((await backend.listDrivers())[0]?.capabilities).not.toContain("plan.select"); + await backend.close(); + }); + test("keeps a pending approval visible when native DSH cancel fails", async () => { const testDsh = new TestDsh(true); const backend = createBackend(testDsh); @@ -883,7 +1787,7 @@ describe("DSH local backend", () => { const events: AgentSessionEvent[] = []; runtime.subscribe((native) => events.push(native)); - await runtime.prompt({ text: "Start a run" }); + await runtime.prompt({ content: [{ text: "Start a run", type: "text" }] }); testDsh.emitApproval(approvalRequested("approval-cancel", "delete")); await waitFor(() => pendingPermissionIds(events).join(",") === "approval-cancel"); testDsh.agent("created-session").cancelFailure = true; @@ -991,7 +1895,9 @@ describe("DSH local backend", () => { const firstEvents: AgentSessionEvent[] = []; firstRuntime.subscribe((native) => firstEvents.push(native)); - const receipt = await firstRuntime.prompt({ text: "Keep running" }); + const receipt = await firstRuntime.prompt({ + content: [{ text: "Keep running", type: "text" }], + }); expect(receipt).toMatchObject({ acceptedAt: FIXED_TIME, runId: "turn-1" }); expect(testDsh.agent("created-session").followups).toHaveLength(1); testDsh.emit("created-session", event("turn/start", 0, { turn: 1 })); @@ -1123,13 +2029,20 @@ describe("DSH local backend", () => { const runtime = await backend.connectRuntime(record.ref); await expectCode( - () => runtime.prompt({ delivery: "follow_up", text: "Queued before a run" }), + () => + runtime.prompt({ + content: [{ text: "Queued before a run", type: "text" }], + delivery: "follow_up", + }), "conflict", ); expect(testDsh.agent("created-session").followups).toHaveLength(0); - await runtime.prompt({ text: "Start" }); - const queued = await runtime.prompt({ delivery: "steer", text: "Change direction" }); + await runtime.prompt({ content: [{ text: "Start", type: "text" }] }); + const queued = await runtime.prompt({ + content: [{ text: "Change direction", type: "text" }], + delivery: "steer", + }); expect(String(queued.runId)).toBe("turn-1"); expect(testDsh.agent("created-session").steers).toHaveLength(1); expect(await runtime.cancel({ keepInbox: true })).toEqual({ cancelled: true }); diff --git a/packages/orbis-remote-dsh/src/adapter/dsh-local-backend.ts b/packages/orbis-remote-dsh/src/adapter/dsh-local-backend.ts index 79c0cfc..6722c5e 100644 --- a/packages/orbis-remote-dsh/src/adapter/dsh-local-backend.ts +++ b/packages/orbis-remote-dsh/src/adapter/dsh-local-backend.ts @@ -12,9 +12,16 @@ import { isAgentBackendError, isSameAgentSessionRef, nextAgentDeliveryCursor, + validateAgentQuestionRequest, + validateAgentQuestionResponseForRequest, + validateAgentSessionSubagentList, + validateAgentPromptInput, + validateAgentPromptReferenceCompletionInput, + validateAgentPromptReferenceCompletionResult, validateAgentPermissionRequest, validateAgentPermissionResponseInput, type AgentBackend, + type AgentAttachmentReadResult, type AgentBackendDescriptor, type AgentCancelInput, type AgentCancelResult, @@ -29,6 +36,10 @@ import { type AgentPermissionRequest, type AgentPermissionResponseInput, type AgentPermissionResponseResult, + type AgentQuestionRequest, + type AgentQuestionResponseInput, + type AgentQuestionResponseResult, + type AgentWorkState, type AgentJsonValue, type AgentWorkspaceDescriptor, type AgentWorkspaceBrowseInput, @@ -38,7 +49,11 @@ import { type AgentWorkspaceRegisterInput, type AgentWorkspaceRegisterResult, type AgentPromptInput, + type AgentPromptContentBlock, type AgentPromptReceipt, + type AgentPromptReferenceCompletionInput, + type AgentPromptReferenceCompletionResult, + type AgentRuntimeStatusListener, type AgentRuntimeStatus, type AgentSessionCreateInput, type AgentSessionConfigOption, @@ -50,6 +65,7 @@ import { type AgentSessionRuntime, type AgentSessionSummary, type AgentSessionStatePatch, + type AgentSessionSubagentEntry, type AgentSessionUpdateInput, type AgentSessionUpdateResult, type AgentTimestamp, @@ -60,7 +76,10 @@ import { dshEventIdentity, dshContentBlocks, dshJson, + dshRunId, dshTimestamp, + dshProjectionState, + reduceDshProjectionState, metadataPatchForDshEvent, nextDshRunId, readDshSessionProjection, @@ -74,9 +93,12 @@ import type { DshAgentInboxEvent, DshAgentOptions, DshApiResponse, - DshApiApprovalResponse, + DshApiInteractionResponse, DshApiMuxFrame, DshApiMuxRequest, + DshApiQuestionResponse, + DshEncodedImageAttachment, + DshImageAttachmentReference, DshContext, DshModelTarget, DshSession, @@ -84,6 +106,12 @@ import type { DshSessionEvent, DshSessionInspection, DshSessionPermissionProvider, + DshSessionModeProvider, + DshSessionSubagentProvider, + DshSessionSubagentEntry, + DshSessionAttachmentPort, + DshPromptReferenceProvider, + DshUserMessageContent, DshUserMessage, DshWorkspace, DshWorkspaceId, @@ -102,25 +130,29 @@ const DSH_LOCAL_CAPABILITIES = [ "workspace.select", ] as const; -interface DshApprovalPending { +interface DshPermissionPending { readonly request: AgentPermissionRequest; readonly rpcId: string; } -class DshPermissionBridge { - private readonly pending = new Map(); +class DshPermissionInteraction { + private readonly pending = new Map(); constructor( private readonly sessionId: string, - private readonly now: () => AgentTimestamp, private readonly apiProxy: NonNullable, private readonly onChanged: (pending: readonly AgentPermissionRequest[]) => void, ) {} - requested(frame: DshApiMuxFrame, rpcId: string): void { + requested(frame: DshApiMuxFrame, rpcId: string, requestedAt: AgentTimestamp): void { if (frame.approvalId === undefined || frame.toolName === undefined) return; const existing = this.pending.get(frame.approvalId); - if (existing !== undefined && existing.rpcId === rpcId) return; + if (existing !== undefined) { + if (existing.rpcId !== rpcId) { + throw new AgentBackendError("protocol", "DSH permission rpc id changed during replay"); + } + return; + } const request = validateAgentPermissionRequest({ ...(frame.callId === undefined ? {} : { callId: frame.callId }), ...(frame.reason === undefined ? {} : { detail: frame.reason }), @@ -128,7 +160,7 @@ class DshPermissionBridge { { kind: "allow_once", label: "Allow once", optionId: "allow_once" }, { kind: "reject_once", label: "Reject", optionId: "reject_once" }, ], - requestedAt: this.now(), + requestedAt, requestId: frame.approvalId, title: frame.toolName, }); @@ -154,7 +186,7 @@ class DshPermissionBridge { "Permission option is not valid for this request", ); } - const message: DshApiApprovalResponse = { + const message: DshApiInteractionResponse = { result: { ok: true, value: { @@ -168,7 +200,7 @@ class DshPermissionBridge { }; const receipt = await this.apiProxy.respond?.(message); if (receipt === undefined) { - throw new AgentBackendError("unsupported", "DSH approval response is unavailable"); + throw new AgentBackendError("unsupported", "DSH permission response is unavailable"); } if (!receipt.accepted) { if (receipt.reason === "not-pending") { @@ -176,7 +208,7 @@ class DshPermissionBridge { this.publish(); return { accepted: false }; } - throw new AgentBackendError("protocol", "DSH rejected the approval response"); + throw new AgentBackendError("protocol", "DSH rejected the permission response"); } this.pending.delete(validated.requestId); this.publish(); @@ -198,6 +230,181 @@ class DshPermissionBridge { } } +interface DshQuestionPending { + readonly optionLabels: ReadonlyMap; + readonly request: AgentQuestionRequest; + readonly rpcId: string; +} + +/** Maps one DSH Ask User batch to the canonical, opaque-id question domain. */ +class DshQuestionBridge { + private readonly pending = new Map(); + + constructor( + private readonly sessionId: string, + private readonly apiProxy: NonNullable, + private readonly onChanged: (pending: readonly AgentQuestionRequest[]) => void, + ) {} + + requested(frame: DshApiMuxFrame, rpcId: string, requestedAt: AgentTimestamp): void { + if (frame.type !== "question/requested" || !Array.isArray(frame.questions)) { + throw new AgentBackendError("protocol", "DSH question request is invalid"); + } + const requestId = rpcId.trim(); + if (!requestId) throw new AgentBackendError("protocol", "DSH question rpc id is invalid"); + const existing = this.pending.get(requestId); + if (existing !== undefined) { + if (existing.rpcId !== rpcId) { + throw new AgentBackendError("protocol", "DSH question rpc id changed during replay"); + } + return; + } + + const optionLabels = new Map(); + const questions = frame.questions.map((raw, questionIndex) => { + if (typeof raw.id !== "string" || !raw.id.trim() || raw.id !== raw.id.trim()) { + throw new AgentBackendError("protocol", "DSH question id is invalid"); + } + if (typeof raw.question !== "string" || !raw.question.trim()) { + throw new AgentBackendError("protocol", "DSH question text is invalid"); + } + const nativeOptions = raw.options ?? []; + if (!Array.isArray(nativeOptions)) { + throw new AgentBackendError("protocol", "DSH question options are invalid"); + } + const labels = new Set(); + const options = nativeOptions.map((option, optionIndex) => { + if (typeof option.label !== "string" || !option.label.trim()) { + throw new AgentBackendError("protocol", "DSH question option is invalid"); + } + if (labels.has(option.label)) { + throw new AgentBackendError("protocol", "DSH question option labels must be unique"); + } + labels.add(option.label); + const optionId = `dsh-option-${questionIndex}-${optionIndex}`; + optionLabels.set(`${raw.id}\u0000${optionId}`, option.label); + return { + ...(option.description === undefined ? {} : { description: option.description }), + label: option.label, + optionId, + }; + }); + const intent = + raw.intent === undefined + ? undefined + : (() => { + if (raw.intent.kind !== "plan-review" || typeof raw.intent.approve !== "string") { + throw new AgentBackendError("protocol", "DSH question intent is invalid"); + } + const approveIndex = nativeOptions.findIndex( + (option) => option.label === raw.intent?.approve, + ); + if (approveIndex < 0) { + throw new AgentBackendError( + "protocol", + "DSH plan-review intent references an unknown option", + ); + } + return { + approveOptionId: `dsh-option-${questionIndex}-${approveIndex}`, + kind: "plan-review" as const, + }; + })(); + return { + ...(raw.detail === undefined ? {} : { detail: raw.detail }), + ...(raw.header === undefined ? {} : { header: raw.header }), + ...(intent === undefined ? {} : { intent }), + multiSelect: raw.multiSelect ?? false, + options, + question: raw.question, + questionId: raw.id, + }; + }); + const request = validateAgentQuestionRequest({ + questions, + requestedAt, + requestId, + }); + this.pending.set(requestId, { optionLabels, request, rpcId }); + this.publish(); + } + + resolved(questionRpcId: string | undefined): void { + if (questionRpcId === undefined || !this.pending.delete(questionRpcId)) return; + this.publish(); + } + + async respond(input: AgentQuestionResponseInput): Promise { + const pending = this.pending.get(input.requestId); + if (pending === undefined) return { accepted: false }; + const validated = validateAgentQuestionResponseForRequest(input, pending.request); + if (validated.response.kind === "cancelled") { + const message: DshApiQuestionResponse = { + result: { + error: { code: "cancelled", message: "The question response was cancelled" }, + ok: false, + }, + rpcId: pending.rpcId, + type: "client-response", + }; + return this.send(pending, message, input.requestId); + } + const answers = validated.response.answers.map((answer) => ({ + ...(answer.customText === undefined ? {} : { custom: answer.customText }), + id: answer.questionId, + selected: answer.optionIds.map((optionId) => { + const label = pending.optionLabels.get(`${answer.questionId}\u0000${optionId}`); + if (label === undefined) { + throw new AgentBackendError("protocol", "DSH question option mapping is invalid"); + } + return label; + }), + })); + const message: DshApiQuestionResponse = { + result: { ok: true, value: { answer: { answers }, sessionId: this.sessionId } }, + rpcId: pending.rpcId, + type: "client-response", + }; + return this.send(pending, message, input.requestId); + } + + close(): void { + if (this.pending.size === 0) return; + this.pending.clear(); + this.publish(); + } + + snapshot(): readonly AgentQuestionRequest[] { + return [...this.pending.values()].map((item) => item.request); + } + + private async send( + pending: DshQuestionPending, + message: DshApiQuestionResponse, + requestId: string, + ): Promise { + const receipt = await this.apiProxy.respond?.(message); + if (receipt === undefined) { + throw new AgentBackendError("unsupported", "DSH question response is unavailable"); + } + if (!receipt.accepted) { + if (receipt.reason === "not-pending") { + this.pending.delete(requestId); + this.publish(); + return { accepted: false }; + } + throw new AgentBackendError("protocol", "DSH rejected the question response"); + } + this.pending.delete(requestId); + this.publish(); + return { accepted: true }; + } + + private publish(): void { + this.onChanged(this.snapshot()); + } +} + export interface DshLocalBackendOptions { /** Defaults to the local product backend: `local` / `This device`. */ readonly backend?: { @@ -213,7 +420,7 @@ export interface DshLocalBackendOptions { readonly listSessionCatalog: () => Promise; /** DSH's `createUserMessage`, injected from `@deepseek-ai/dsh-llm`. */ readonly createUserMessage: (input: { - readonly content: readonly [{ readonly text: string; readonly type: "text" }]; + readonly content: readonly DshUserMessageContent[]; readonly source: { readonly kind: "user" }; }) => DshUserMessage; /** Allows the composing host to provide a deterministic session-id source. */ @@ -226,9 +433,16 @@ export interface DshLocalBackendOptions { /** Defaults applied by DSH whenever a new/reopened agent is acquired. */ readonly agentOptions?: DshAgentOptions; readonly now?: () => AgentTimestamp; + readonly attachments?: DshSessionAttachmentPort; + /** DSH-owned @file/@session grammar and candidate discovery. */ + readonly promptReferences?: DshPromptReferenceProvider; readonly onError?: (error: AgentBackendError) => void; /** Optional composition seam for DSH's session permission preset service. */ readonly permissionPresets?: DshSessionPermissionProvider; + /** Optional composition seam for DSH's logged plan-mode service. */ + readonly planMode?: DshSessionModeProvider; + /** Optional composition seam for DSH's authoritative subagent listing. */ + readonly subagents?: DshSessionSubagentProvider; /** DSH's branded `SessionId` constructor, injected from `@deepseek-ai/dsh-session`. */ readonly toSessionId: (value: string) => unknown; } @@ -246,10 +460,16 @@ export type DshLocalCatalogListener = (change: DshLocalCatalogChange) => void; interface DshLocalControllerHost { readonly driverDescriptor: AgentDriverDescriptor; + readonly attachments?: DshSessionAttachmentPort; - createUserMessage(text: string): DshUserMessage; + createUserMessage(content: readonly DshUserMessageContent[]): DshUserMessage; detachController(controller: DshLocalSessionController): void; inspect(ref: AgentSessionRef): Promise; + readAttachment( + ref: AgentSessionRef, + attachmentId: string, + signal?: AbortSignal, + ): Promise; isCurrentAgent(agent: DshAgent): boolean; now(): AgentTimestamp; readCurrentModel(ref: AgentSessionRef): Promise; @@ -262,10 +482,69 @@ interface DshLocalControllerHost { ref: AgentSessionRef, events?: readonly DshSessionEvent[], ): AgentSessionConfigOption | undefined; + readonly planMode?: DshSessionModeProvider; + readPlanMode( + agent: DshAgent, + ): { readonly active: boolean; readonly pending?: boolean } | undefined; + setPlanMode( + agent: DshAgent, + active: boolean, + ): Promise<"committed" | "queued" | "cancelled" | "noop">; } type DshInboxTarget = "next-step" | "next-turn"; +function encodeBase64(value: Uint8Array): string { + let binary = ""; + const chunkSize = 0x8000; + for (let offset = 0; offset < value.length; offset += chunkSize) { + binary += String.fromCharCode(...value.subarray(offset, offset + chunkSize)); + } + return btoa(binary); +} + +function findDshAttachmentReference( + events: readonly DshSessionEvent[], + attachmentId: string, +): DshImageAttachmentReference | undefined { + for (const event of events) { + if (event.type !== "user/message") continue; + const data = event.data; + if (typeof data !== "object" || data === null || Array.isArray(data)) continue; + const content = (data as Record).content; + if (!Array.isArray(content)) continue; + for (const block of content) { + if (typeof block !== "object" || block === null || Array.isArray(block)) continue; + const image = block as Record; + if ( + image.type !== "image" || + typeof image.attachment !== "object" || + image.attachment === null + ) { + continue; + } + const reference = image.attachment as Record; + if ( + reference.attachmentId === attachmentId && + typeof reference.mediaType === "string" && + typeof reference.bytes === "number" && + typeof reference.width === "number" && + typeof reference.height === "number" + ) { + return { + attachmentId, + bytes: reference.bytes, + height: reference.height, + mediaType: reference.mediaType, + ...(typeof reference.name === "string" ? { name: reference.name } : {}), + width: reference.width, + }; + } + } + } + return undefined; +} + function defaultNow(): AgentTimestamp { return agentTimestamp(new Date().toISOString()); } @@ -352,7 +631,11 @@ function stateRevisionForEvents(events: readonly DshSessionEvent[]): number { runFinishForDshEvent(event) !== undefined || metadataPatchForDshEvent(event) !== undefined || isDshPermissionConfigEvent(event) || - event.type === "agent/inbox/spliced" + event.type === "agent/inbox/spliced" || + event.type === "plan/mode" || + event.type === "goal/change" || + event.type === "todo/write" || + event.type === "turn/start" ) { revision += 1; } @@ -360,6 +643,36 @@ function stateRevisionForEvents(events: readonly DshSessionEvent[]): number { return revision; } +/** + * Replayed interaction requests must describe the same native request. The + * mux's rpc id is the correlation key, but it is not permission to silently + * replace a question batch (or an approval's details) under that key. + */ +function sameInteractionRequestFrame(left: DshApiMuxFrame, right: DshApiMuxFrame): boolean { + if (left.type !== right.type) return false; + if (left.type.endsWith("/resolved")) return true; + try { + if (left.type === "question/requested" && right.type === "question/requested") { + return ( + String(left.sessionId) === String(right.sessionId) && + JSON.stringify(left.questions ?? []) === JSON.stringify(right.questions ?? []) + ); + } + if (left.type === "approval/requested" && right.type === "approval/requested") { + return ( + String(left.sessionId) === String(right.sessionId) && + left.approvalId === right.approvalId && + left.toolName === right.toolName && + left.callId === right.callId && + left.reason === right.reason + ); + } + return true; + } catch { + return false; + } +} + function isDshPermissionConfigEvent(event: DshSessionEvent): boolean { return ( event.type === "permission/preset" || @@ -437,6 +750,82 @@ function activeRunId(inspection: DshSessionInspection): ReturnType>; + +function dshActivityRecord(value: unknown, label: string): DshActivityRecord { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + throw new AgentBackendError("protocol", `DSH ${label} is invalid`); + } + return value as DshActivityRecord; +} + +function dshActivityInteger( + data: DshActivityRecord, + key: string, + label: string, + minimum = 1, +): number { + const value = data[key]; + if (!Number.isSafeInteger(value) || (value as number) < minimum) { + throw new AgentBackendError("protocol", `DSH ${label} is invalid`); + } + return value as number; +} + +/** Maps the stable, user-useful DSH lifecycle records to one transient event. */ +function runActivityForDshEvent( + event: DshSessionEvent, + currentRunId: ReturnType | undefined, +): Extract["payload"] | undefined { + if ( + event.type === "step/start" || + event.type === "llm/retry-started" || + event.type === "llm/retry" + ) { + const data = dshActivityRecord(event.data, event.type); + const turn = dshActivityInteger(data, "turn", `${event.type} turn`, 1); + dshActivityInteger(data, "step", `${event.type} step`); + if (event.type === "llm/retry-started") { + dshActivityInteger(data, "retry", "retry number", 1); + } + if (event.type === "llm/retry") { + const retry = dshActivityInteger(data, "retry", "retry number", 1); + const maxRetries = data.maxRetries; + if ( + maxRetries !== undefined && + (!Number.isSafeInteger(maxRetries) || (maxRetries as number) < retry) + ) { + throw new AgentBackendError("protocol", "DSH retry maximum is invalid"); + } + const delayMs = dshActivityInteger(data, "delayMs", "retry delay", 0); + if (currentRunId === undefined || dshRunId(turn) !== currentRunId) return undefined; + const retryLabel = + maxRetries === undefined ? `Retry ${retry}` : `Retry ${retry}/${maxRetries}`; + return { + detail: `${retryLabel} · waiting ${delayMs}ms`, + kind: "retry", + runId: currentRunId, + }; + } + if (currentRunId === undefined || dshRunId(turn) !== currentRunId) return undefined; + return { kind: "thinking", runId: currentRunId }; + } + + if (event.type === "compaction/start") { + const data = dshActivityRecord(event.data, "compaction start"); + const compactionId = data.compactionId; + if (typeof compactionId !== "string" || compactionId.length === 0) { + throw new AgentBackendError("protocol", "DSH compaction id is invalid"); + } + if (data.turn === null) return undefined; + const turn = dshActivityInteger(data, "turn", "compaction turn", 1); + if (currentRunId === undefined || dshRunId(turn) !== currentRunId) return undefined; + return { kind: "summarizing", runId: currentRunId }; + } + + return undefined; +} + /** * A harness-neutral local DSH backend over DSH's durable session-persistence * catalog. The adapter never treats its active-agent map as history authority. @@ -444,6 +833,9 @@ function activeRunId(inspection: DshSessionInspection): ReturnType(); @@ -454,11 +846,18 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { private readonly catalogListeners = new Set(); private readonly driver: DshLocalHarnessDriver; private readonly clock: () => AgentTimestamp; - private approvalAbortController: AbortController | undefined; - private approvalPump: Promise | undefined; - private readonly approvalFrames = new Map< + private interactionAbortController: AbortController | undefined; + private interactionPump: Promise | undefined; + private readonly interactionFrames = new Map< string, - Map + Map< + string, + { + readonly firstSeenAt: AgentTimestamp; + readonly frame: DshApiMuxFrame; + readonly rpcId: string; + } + > >(); private rpcSequence = 0; @@ -472,7 +871,17 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { const capabilities: AgentDriverCapability[] = [ ...DSH_LOCAL_CAPABILITIES, ...(options.context.apiProxy === undefined ? [] : (["model.select"] as const)), - ...(this.hasApprovalProxy(options.context.apiProxy) ? (["permission.respond"] as const) : []), + ...(this.hasInteractionProxy(options.context.apiProxy) + ? (["permission.respond", "question.respond"] as const) + : []), + ...(options.planMode === undefined && options.context.planMode === undefined + ? [] + : (["plan.select"] as const)), + ...(options.attachments === undefined ? [] : (["input.attachments"] as const)), + ...(options.promptReferences === undefined + ? [] + : (["prompt.references.files", "prompt.references.sessions"] as const)), + ...(options.subagents === undefined ? [] : (["session.subagents.list"] as const)), ]; this.driverDescriptor = createAgentDriverDescriptor({ capabilities, @@ -495,17 +904,17 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { this.forwardInboxEvent(agent); }), ); - if (this.hasApprovalProxy(options.context.apiProxy)) { - this.approvalAbortController = new AbortController(); - this.approvalPump = this.consumeApprovalMux(this.approvalAbortController.signal); + if (this.hasInteractionProxy(options.context.apiProxy)) { + this.interactionAbortController = new AbortController(); + this.interactionPump = this.consumeInteractionMux(this.interactionAbortController.signal); } } async close(): Promise { if (this.closed) return; this.closed = true; - this.approvalAbortController?.abort(); - await this.approvalPump?.catch(() => undefined); + this.interactionAbortController?.abort(); + await this.interactionPump?.catch(() => undefined); this.removeEventListener(); for (const remove of this.removeInboxEventListeners) remove(); this.catalogListeners.clear(); @@ -694,6 +1103,75 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { }); } + async listSessionSubagents( + ref: AgentSessionRef, + signal?: AbortSignal, + ): Promise { + this.assertOpen(); + this.assertDshRef(ref); + const provider = this.options.subagents; + if (provider === undefined) { + throw new AgentBackendError("unsupported", "DSH subagent listing is unavailable"); + } + if (signal?.aborted) { + throw publicUnavailable("The DSH subagent listing was cancelled"); + } + return this.withPublicErrors(async () => { + try { + const nativeEntries = await provider.listDescendants(ref.nativeSessionId, signal); + if (signal?.aborted) { + throw publicUnavailable("The DSH subagent listing was cancelled"); + } + const entries = nativeEntries.map((entry): AgentSessionSubagentEntry => { + const childRef = this.refForNativeId(nativeSubagentId(entry.id, "Subagent id")); + const parentRef = this.refForNativeId( + nativeSubagentId(entry.parentId, "Subagent parent id"), + ); + if (entry.kind === "diagnostic") { + return { + depth: entry.depth, + kind: "diagnostic", + parentRef, + reason: entry.reason, + ref: childRef, + }; + } + if (entry.mode === "continuable") { + if (typeof entry.label !== "string") { + throw new AgentBackendError("protocol", "DSH continuable subagent label is invalid"); + } + return { + activity: entry.activity, + depth: entry.depth, + hasChildren: entry.hasChildren, + kind: "child", + label: entry.label, + mode: "continuable", + parentRef, + ref: childRef, + }; + } + return { + activity: entry.activity, + depth: entry.depth, + hasChildren: entry.hasChildren, + kind: "child", + ...(entry.label === undefined ? {} : { label: entry.label }), + mode: "one-shot", + parentRef, + ref: childRef, + }; + }); + return validateAgentSessionSubagentList(entries, ref); + } catch (error) { + if (isDshCancellation(error)) { + throw publicUnavailable("The DSH subagent listing was cancelled"); + } + throw error; + } + }); + } + async readSession(ref: AgentSessionRef): Promise { this.assertOpen(); this.assertDshRef(ref); @@ -722,6 +1200,30 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { }); } + async completePromptReferences( + input: AgentPromptReferenceCompletionInput, + ): Promise { + this.assertOpen(); + this.assertDshRef(input.ref); + const validated = validateAgentPromptReferenceCompletionInput(input); + const provider = this.options.promptReferences; + if (provider === undefined) { + throw new AgentBackendError("unsupported", "DSH prompt reference completion is unavailable"); + } + const controller = await this.controllerFor(validated.ref); + return this.withPublicErrors(async () => { + const result = await provider.complete({ + agent: controller.agentForMode(), + cursor: validated.cursor, + limit: validated.limit, + ...(validated.signal === undefined ? {} : { signal: validated.signal }), + source: validated.source, + text: validated.text, + }); + return validateAgentPromptReferenceCompletionResult(result, validated); + }); + } + async updateSession( ref: AgentSessionRef, input: AgentSessionUpdateInput, @@ -732,6 +1234,12 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { if (keys.length === 0) { throw new AgentBackendError("invalid_argument", "A DSH session update requires a patch"); } + if ( + input.expectedRevision !== undefined && + (!Number.isSafeInteger(input.expectedRevision) || input.expectedRevision < 0) + ) { + throw new AgentBackendError("invalid_argument", "Expected session revision is invalid"); + } if (input.patch.configOptions !== undefined) { const value = input.patch.configOptions.permissions; if (keys.length !== 1 || Object.keys(input.patch.configOptions).length !== 1) { @@ -759,6 +1267,24 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { return { revision: await this.readStateRevision(ref) }; }); } + if (input.patch.mode !== undefined) { + if (keys.length !== 1 || (input.patch.mode !== "plan" && input.patch.mode !== null)) { + throw new AgentBackendError("invalid_argument", "DSH session mode must be plan or null"); + } + const provider = this.options.planMode ?? this.options.context.planMode; + if (provider === undefined) { + throw new AgentBackendError("unsupported", "DSH plan mode updates are unavailable"); + } + const controller = await this.controllerFor(ref); + const currentRevision = controller.currentStateRevision(); + if (input.expectedRevision !== undefined && input.expectedRevision !== currentRevision) { + throw new AgentBackendError("revision_conflict", "The DSH session state has changed", { + details: { currentRevision, expectedRevision: input.expectedRevision }, + }); + } + await provider.set(controller.agentForMode(), input.patch.mode === "plan"); + return { revision: controller.currentStateRevision() }; + } if (keys.length !== 1 || input.patch.model === undefined) { throw new AgentBackendError("unsupported", "DSH only supports session model updates"); } @@ -766,12 +1292,6 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { throw new AgentBackendError("unsupported", "A DSH session model cannot be cleared"); } const model = optionalModel(input.patch.model)!; - if ( - input.expectedRevision !== undefined && - (!Number.isSafeInteger(input.expectedRevision) || input.expectedRevision < 0) - ) { - throw new AgentBackendError("invalid_argument", "Expected session revision is invalid"); - } return this.withPublicErrors(async () => { const controller = await this.controllerFor(ref); return { revision: await controller.selectModel(model, input.expectedRevision) }; @@ -806,13 +1326,40 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { ); } - createUserMessage(text: string): DshUserMessage { + createUserMessage(content: readonly DshUserMessageContent[]): DshUserMessage { return this.options.createUserMessage({ - content: [{ text, type: "text" }], + content, source: { kind: "user" }, }); } + async readAttachment( + ref: AgentSessionRef, + attachmentId: string, + signal?: AbortSignal, + ): Promise { + this.assertDshRef(ref); + const port = this.options.attachments; + if (port === undefined) { + throw new AgentBackendError("unsupported", "DSH attachment reads are unavailable"); + } + const inspection = await this.inspect(ref); + const reference = findDshAttachmentReference(inspection.events, attachmentId); + if (reference === undefined) { + throw new AgentBackendError("not_found", "The attachment is not part of this session"); + } + const stored = await port.readImage(reference, signal); + return { + attachmentId: stored.reference.attachmentId, + bytes: stored.reference.bytes, + data: encodeBase64(stored.data), + height: stored.reference.height, + mimeType: stored.reference.mediaType, + ...(stored.reference.name === undefined ? {} : { name: stored.reference.name }), + width: stored.reference.width, + }; + } + isCurrentAgent(agent: DshAgent): boolean { return this.options.context.agents.get(agent.id) === agent; } @@ -828,6 +1375,23 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { return this.options.permissionPresets?.describe(ref.nativeSessionId, events); } + readPlanMode( + agent: DshAgent, + ): { readonly active: boolean; readonly pending?: boolean } | undefined { + return (this.options.planMode ?? this.options.context.planMode)?.get(agent); + } + + async setPlanMode( + agent: DshAgent, + active: boolean, + ): Promise<"committed" | "queued" | "cancelled" | "noop"> { + const provider = this.options.planMode ?? this.options.context.planMode; + if (provider === undefined) { + throw new AgentBackendError("unsupported", "DSH plan mode updates are unavailable"); + } + return await provider.set(agent, active); + } + async readCurrentModel(ref: AgentSessionRef): Promise { const apiProxy = this.options.context.apiProxy; if (apiProxy === undefined) return undefined; @@ -908,7 +1472,7 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { ) { throw new AgentBackendError( "invalid_argument", - "The DSH API proxy approval service is invalid", + "The DSH API proxy interaction service is invalid", ); } if ( @@ -917,7 +1481,7 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { ) { throw new AgentBackendError( "invalid_argument", - "The DSH API proxy approval response is unavailable", + "The DSH API proxy interaction response is unavailable", ); } if ( @@ -926,51 +1490,90 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { ) { throw new AgentBackendError( "invalid_argument", - "The DSH API proxy approval mux is unavailable", + "The DSH API proxy interaction mux is unavailable", ); } } - private hasApprovalProxy(apiProxy: DshContext["apiProxy"]): boolean { + private hasInteractionProxy(apiProxy: DshContext["apiProxy"]): boolean { return apiProxy?.events?.mux !== undefined && apiProxy.respond !== undefined; } - private async consumeApprovalMux(signal: AbortSignal): Promise { + private async consumeInteractionMux(signal: AbortSignal): Promise { const apiProxy = this.options.context.apiProxy; - if (!this.hasApprovalProxy(apiProxy)) return; + if (!this.hasInteractionProxy(apiProxy)) return; const mux = apiProxy?.events?.mux; if (mux === undefined) return; try { for await (const request of mux({ payload: {}, rpcId: this.nextRpcId() }, signal)) { if (signal.aborted || this.closed) return; - this.receiveApprovalFrame(request); + this.receiveInteractionFrame(request); } } catch (error) { - if (!signal.aborted) this.report(publicUnavailable("The DSH approval stream is unavailable")); - void error; + if (!signal.aborted) { + this.report( + isAgentBackendError(error) + ? error + : publicUnavailable("The DSH interaction stream is unavailable"), + ); + } } } - private receiveApprovalFrame(request: DshApiMuxRequest): void { + private receiveInteractionFrame(request: DshApiMuxRequest): void { const frame = request.payload; - if (frame.type !== "approval/requested" && frame.type !== "approval/resolved") return; + if ( + frame.type !== "approval/requested" && + frame.type !== "approval/resolved" && + frame.type !== "question/requested" && + frame.type !== "question/resolved" + ) + return; const sessionId = frame.sessionId === undefined ? undefined : String(frame.sessionId); - if (sessionId === undefined || frame.approvalId === undefined) return; + if (sessionId === undefined) return; + const interactionId = frame.type.startsWith("approval/") + ? frame.approvalId + : frame.type === "question/requested" + ? request.rpcId + : frame.questionRpcId; + if (interactionId === undefined || !interactionId.trim()) { + throw new AgentBackendError("protocol", "DSH interaction identity is invalid"); + } const ref = this.refForNativeId(sessionId); const key = agentSessionLocatorKey(ref); - const frames = this.approvalFrames.get(sessionId) ?? new Map(); - if (frame.type === "approval/requested") { - frames.set(frame.approvalId, { frame, rpcId: request.rpcId }); + const frames = this.interactionFrames.get(sessionId) ?? new Map(); + if (frame.type === "approval/requested" || frame.type === "question/requested") { + const existing = frames.get(interactionId); + if (existing !== undefined && existing.rpcId !== request.rpcId) { + throw new AgentBackendError("protocol", "DSH interaction rpc id changed during replay"); + } + if (existing !== undefined && !sameInteractionRequestFrame(existing.frame, frame)) { + throw new AgentBackendError( + "protocol", + "DSH interaction replay changed the request payload", + ); + } + const stored = + existing === undefined + ? { firstSeenAt: this.now(), frame, rpcId: request.rpcId } + : existing; + frames.set(interactionId, stored); } else { - frames.delete(frame.approvalId); + frames.delete(interactionId); } - if (frames.size === 0) this.approvalFrames.delete(sessionId); - else this.approvalFrames.set(sessionId, frames); + if (frames.size === 0) this.interactionFrames.delete(sessionId); + else this.interactionFrames.set(sessionId, frames); const controller = this.controllers.get(key); if (controller === undefined) return; + const firstSeenAt = frames.get(interactionId)?.firstSeenAt ?? this.now(); + const storedRpcId = frames.get(interactionId)?.rpcId ?? request.rpcId; if (frame.type === "approval/requested") - controller.receiveApprovalRequested(frame, request.rpcId); - else controller.receiveApprovalResolved(frame.approvalId); + controller.receivePermissionRequested(frame, storedRpcId, firstSeenAt); + else if (frame.type === "approval/resolved") + controller.receivePermissionResolved(frame.approvalId); + else if (frame.type === "question/requested") + controller.receiveQuestionRequested(frame, storedRpcId, firstSeenAt); + else controller.receiveQuestionResolved(frame.questionRpcId); } private apiValue(response: DshApiResponse, unavailableMessage: string): T { @@ -1121,20 +1724,38 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { } let controller: DshLocalSessionController | undefined; const apiProxy = this.options.context.apiProxy; - const bridge = this.hasApprovalProxy(apiProxy) - ? new DshPermissionBridge( + const permissionBridge = this.hasInteractionProxy(apiProxy) + ? new DshPermissionInteraction( ref.nativeSessionId, - () => this.now(), apiProxy as NonNullable, (pending) => controller?.publishPermissionState(pending), ) : undefined; - controller = new DshLocalSessionController(this, ref, agent, ownedHandle, bridge); + const questionBridge = this.hasInteractionProxy(apiProxy) + ? new DshQuestionBridge( + ref.nativeSessionId, + apiProxy as NonNullable, + (pending) => controller?.publishQuestionState(pending), + ) + : undefined; + controller = new DshLocalSessionController( + this, + ref, + agent, + ownedHandle, + permissionBridge, + questionBridge, + ); this.controllers.set(key, controller); - for (const pending of this.approvalFrames.get(ref.nativeSessionId)?.values() ?? []) { - bridge?.requested(pending.frame, pending.rpcId); - } - if (bridge !== undefined) controller.publishPermissionState(bridge.snapshot()); + for (const pending of this.interactionFrames.get(ref.nativeSessionId)?.values() ?? []) { + if (pending.frame.type === "approval/requested") + permissionBridge?.requested(pending.frame, pending.rpcId, pending.firstSeenAt); + else if (pending.frame.type === "question/requested") + questionBridge?.requested(pending.frame, pending.rpcId, pending.firstSeenAt); + } + if (permissionBridge !== undefined) + controller.publishPermissionState(permissionBridge.snapshot()); + if (questionBridge !== undefined) controller.publishQuestionState(questionBridge.snapshot()); return controller; } @@ -1201,6 +1822,29 @@ export class DshLocalBackend implements AgentBackend, DshLocalControllerHost { } } +function isDshCancellation(error: unknown): boolean { + if (error instanceof Error && error.name === "AbortError") return true; + if (typeof error !== "object" || error === null) return false; + const code = (error as { readonly code?: unknown }).code; + return code === "CANCELLED" || code === "cancelled"; +} + +function nativeSubagentId(value: unknown, label: string): string { + if ( + typeof value !== "string" || + value.length === 0 || + value.length > 256 || + value !== value.trim() || + [...value].some((character) => { + const code = character.charCodeAt(0); + return code <= 0x1f || code === 0x7f; + }) + ) { + throw new AgentBackendError("protocol", `DSH ${label.toLowerCase()} is invalid`); + } + return value; +} + /** DSH's driver view over one backend. */ export class DshLocalHarnessDriver implements AgentHarnessDriver { readonly descriptor: AgentDriverDescriptor; @@ -1229,6 +1873,13 @@ export class DshLocalHarnessDriver implements AgentHarnessDriver { return this.backend.listSessions({ ...input, driverId: this.descriptor.id }); } + async listSessionSubagents( + ref: AgentSessionRef, + signal?: AbortSignal, + ): Promise { + return this.backend.listSessionSubagents(ref, signal); + } + async listModels(): Promise { return this.backend.listModels({ driverId: this.descriptor.id }); } @@ -1241,6 +1892,20 @@ export class DshLocalHarnessDriver implements AgentHarnessDriver { return this.backend.readSession(ref); } + async completePromptReferences( + input: AgentPromptReferenceCompletionInput, + ): Promise { + return this.backend.completePromptReferences(input); + } + + async readAttachment( + ref: AgentSessionRef, + attachmentId: string, + signal?: AbortSignal, + ): Promise { + return this.backend.readAttachment(ref, attachmentId, signal); + } + async updateSession( ref: AgentSessionRef, input: AgentSessionUpdateInput, @@ -1255,12 +1920,15 @@ export class DshLocalSessionRuntime implements AgentSessionRuntime { private closed = false; private readonly listeners = new Set(); + private readonly statusListeners = new Set(); + private observedStatus: AgentRuntimeStatus; constructor( private readonly controller: DshLocalSessionController, ref: AgentSessionRef, ) { this.ref = ref; + this.observedStatus = controller.runtimeStatus(); } async cancel(input: AgentCancelInput = {}): Promise { @@ -1277,6 +1945,14 @@ export class DshLocalSessionRuntime implements AgentSessionRuntime { return this.closed ? "closed" : this.controller.runtimeStatus(); } + observeStatus(listener: AgentRuntimeStatusListener): () => void { + const status = this.getStatus(); + this.observedStatus = status; + this.statusListeners.add(listener); + this.notifyStatus(listener, status); + return () => this.statusListeners.delete(listener); + } + pendingInputs(): readonly AgentQueuedInput[] { return this.controller.pendingInputs(); } @@ -1293,17 +1969,27 @@ export class DshLocalSessionRuntime implements AgentSessionRuntime { return this.controller.respondPermission(this, input); } + async respondQuestion(input: AgentQuestionResponseInput): Promise { + this.assertOpen(); + return this.controller.respondQuestion(this, input); + } + subscribe(listener: AgentSessionEventListener): () => void { this.assertOpen(); this.listeners.add(listener); const pending = this.controller.permissionSnapshot(); if (pending.length > 0) this.controller.publishPermissionState(pending); + const questions = this.controller.questionSnapshot(); + if (questions.length > 0) this.controller.publishQuestionState(questions); return () => this.listeners.delete(listener); } markClosed(): void { + if (this.closed) return; this.closed = true; + this.publishStatus(); this.listeners.clear(); + this.statusListeners.clear(); } publish(event: AgentSessionEvent): void { @@ -1315,11 +2001,27 @@ export class DshLocalSessionRuntime implements AgentSessionRuntime { // Observers cannot corrupt a DSH agent's lifecycle. } } + if (event.type === "session.state.changed") this.publishStatus(); } private assertOpen(): void { if (this.closed) throw new AgentBackendError("closed", "The DSH session runtime is closed"); } + + private publishStatus(): void { + const status = this.getStatus(); + if (status === this.observedStatus) return; + this.observedStatus = status; + for (const listener of this.statusListeners) this.notifyStatus(listener, status); + } + + private notifyStatus(listener: AgentRuntimeStatusListener, status: AgentRuntimeStatus): void { + try { + listener(status); + } catch { + // Runtime status observers are passive and cannot own the DSH lifecycle. + } + } } /** Owns one DSH agent acquisition and survives runtime-façade/page switches. */ @@ -1327,6 +2029,7 @@ class DshLocalSessionController { readonly ref: AgentSessionRef; private cursor = agentDeliveryCursor(0); + private activeRunId: ReturnType | undefined; private activeRunStartedAt: AgentTimestamp | undefined; /** Folded incrementally so catalog listings never rescan a live transcript. */ private title: string | undefined; @@ -1343,7 +2046,10 @@ class DshLocalSessionController { "next-turn": [], }; private readonly pendingInputTimes = new Map(); - private readonly permissionBridge: DshPermissionBridge | undefined; + private readonly permissionBridge: DshPermissionInteraction | undefined; + private readonly questionBridge: DshQuestionBridge | undefined; + private mode: "plan" | null; + private workState: AgentWorkState; private readonly overlayTools = new Map< string, { readonly callId: string; readonly name: string } @@ -1354,10 +2060,16 @@ class DshLocalSessionController { ref: AgentSessionRef, private readonly agent: DshAgent, private readonly ownedHandle?: DshAgentHandle, - permissionBridge?: DshPermissionBridge, + permissionBridge?: DshPermissionInteraction, + questionBridge?: DshQuestionBridge, ) { this.ref = ref; this.permissionBridge = permissionBridge; + this.questionBridge = questionBridge; + const folded = dshProjectionState(agent.session.events); + this.mode = folded.mode; + this.workState = folded.workState; + this.activeRunId = activeRunId({ events: agent.session.events, meta: agent.session.header }); this.stateRevision = stateRevisionForEvents(agent.session.events); // Seed stateful tool-call correlation without replaying historical events. for (const event of agent.session.events) { @@ -1375,6 +2087,10 @@ class DshLocalSessionController { return this.permissionBridge?.snapshot() ?? []; } + questionSnapshot(): readonly AgentQuestionRequest[] { + return this.questionBridge?.snapshot() ?? []; + } + async initializeModelSelection(selection: AgentModelSelection): Promise { this.assertOpen(); this.selectedModel = await this.host.selectCurrentModel(this.ref, selection); @@ -1422,6 +2138,11 @@ class DshLocalSessionController { return !this.disposed && this.host.isCurrentAgent(this.agent); } + agentForMode(): DshAgent { + this.assertOpen(); + return this.agent; + } + connect(): DshLocalSessionRuntime { this.assertOpen(); if (this.runtime !== undefined && this.runtime.getStatus() !== "closed") return this.runtime; @@ -1445,6 +2166,7 @@ class DshLocalSessionController { throw publicUnavailable("The DSH run could not be cancelled"); } this.permissionBridge?.close(); + this.questionBridge?.close(); return { cancelled: true }; } @@ -1463,6 +2185,7 @@ class DshLocalSessionController { this.runtime?.markClosed(); this.runtime = undefined; this.permissionBridge?.close(); + this.questionBridge?.close(); try { await this.ownedHandle?.dispose(); } finally { @@ -1475,17 +2198,28 @@ class DshLocalSessionController { this.permissionBridge === undefined ? {} : { pendingPermissions: this.permissionBridge.snapshot() }; + const questions = + this.questionBridge === undefined ? {} : { pendingQuestions: this.questionBridge.snapshot() }; if (!this.modelInitialized || this.selectedModel === undefined) { - return { ...projection, ...permissions }; + return { + ...projection, + ...permissions, + ...questions, + mode: this.mode, + workState: this.workState, + }; } return { ...projection, ...permissions, + ...questions, + mode: this.mode, metadata: { ...projection.metadata, model: this.selectedModel, updatedAt: this.modelSelectedAt ?? projection.metadata.updatedAt, }, + workState: this.workState, }; } @@ -1512,8 +2246,7 @@ class DshLocalSessionController { input: AgentPromptInput, ): Promise { this.assertAttached(runtime); - const text = input.text.trim(); - if (!text) throw new AgentBackendError("invalid_argument", "Prompt text is required"); + const canonical = validateAgentPromptInput(input); const inspection = await this.host.inspect(this.ref); const running = this.agent.status === "running"; if (input.delivery !== undefined && !running) { @@ -1526,7 +2259,32 @@ class DshLocalSessionController { throw new AgentBackendError("conflict", "A DSH run is already active for this session"); } - const message = this.createUserMessage(text); + const imageInputs = canonical.content.filter( + (block): block is Extract => + block.type === "image", + ); + const attachmentPort = imageInputs.length === 0 ? undefined : this.host.attachments; + if (imageInputs.length > 0 && attachmentPort === undefined) { + throw new AgentBackendError("unsupported", "DSH image prompts are unavailable"); + } + const imageRefs = + attachmentPort === undefined + ? [] + : await attachmentPort.admitEncodedImages( + imageInputs.map((image) => ({ + data: image.data, + mediaType: image.mimeType, + ...(image.name === undefined ? {} : { name: image.name }), + })), + ); + if (imageRefs.length !== imageInputs.length) { + throw new AgentBackendError("protocol", "DSH attachment admission returned the wrong count"); + } + let imageIndex = 0; + const messageContent: DshUserMessageContent[] = canonical.content.map((block) => + block.type === "text" ? block : { attachment: imageRefs[imageIndex++]!, type: "image" }, + ); + const message = this.createUserMessage(messageContent); const runId = running ? (activeRunId(inspection) ?? nextDshRunId(inspection.events)) : nextDshRunId(inspection.events); @@ -1550,14 +2308,41 @@ class DshLocalSessionController { return this.permissionBridge.respond(input); } - receiveApprovalRequested(frame: DshApiMuxFrame, rpcId: string): void { - this.permissionBridge?.requested(frame, rpcId); + async respondQuestion( + runtime: DshLocalSessionRuntime, + input: AgentQuestionResponseInput, + ): Promise { + this.assertAttached(runtime); + if (this.questionBridge === undefined) { + throw new AgentBackendError("unsupported", "DSH question responses are unavailable"); + } + return this.questionBridge.respond(input); } - receiveApprovalResolved(approvalId: string): void { + receivePermissionRequested( + frame: DshApiMuxFrame, + rpcId: string, + requestedAt: AgentTimestamp, + ): void { + this.permissionBridge?.requested(frame, rpcId, requestedAt); + } + + receivePermissionResolved(approvalId: string | undefined): void { this.permissionBridge?.resolved(approvalId); } + receiveQuestionRequested( + frame: DshApiMuxFrame, + rpcId: string, + requestedAt: AgentTimestamp, + ): void { + this.questionBridge?.requested(frame, rpcId, requestedAt); + } + + receiveQuestionResolved(questionRpcId: string | undefined): void { + this.questionBridge?.resolved(questionRpcId); + } + publishPermissionState(pending: readonly AgentPermissionRequest[]): void { if (this.disposed || this.permissionBridge === undefined) return; const native = @@ -1568,16 +2353,39 @@ class DshLocalSessionController { }); } + publishQuestionState(pending: readonly AgentQuestionRequest[]): void { + if (this.disposed || this.questionBridge === undefined) return; + const native = + this.agent.session.events.at(-1) ?? + ({ data: {}, seq: 0, time: Date.now(), type: "question/state" } satisfies DshSessionEvent); + this.emitState(native, `question-${this.stateRevision + 1}`, { + pendingQuestions: pending, + }); + } + receive(event: DshSessionEvent): void { if (this.disposed) return; try { + const folded = reduceDshProjectionState( + { mode: this.mode, workState: this.workState }, + event, + ); this.recordInboxSplice(event); const started = runStartForDshEvent(event); if (started !== undefined) { + this.activeRunId = started.id; this.activeRunStartedAt = started.startedAt; - this.emitState(event, "run-start", { activeRun: started, runState: "running" }); + if (event.type === "turn/start") this.workState = folded.workState; + this.emitState(event, "run-start", { + activeRun: started, + ...(event.type === "turn/start" ? { workState: this.workState } : {}), + runState: "running", + }); } + const activity = runActivityForDshEvent(event, this.activeRunId); + if (activity !== undefined) this.emitActivity(event, activity); + const metadata = metadataPatchForDshEvent(event); if (metadata !== undefined) { // An explicit null clears the title; an absent key leaves it alone. @@ -1585,6 +2393,15 @@ class DshLocalSessionController { this.emitState(event, "metadata", metadata); } + if (event.type === "plan/mode") { + this.mode = folded.mode; + this.emitState(event, "plan-mode", { mode: this.mode }); + } + if (event.type === "goal/change" || event.type === "todo/write") { + this.workState = folded.workState; + this.emitState(event, "work-state", { workState: this.workState }); + } + if (isDshPermissionConfigEvent(event)) { const permissionOptions = this.host.permissionOptions(this.ref, this.agent.session.events); if (permissionOptions !== undefined) { @@ -1622,6 +2439,7 @@ class DshLocalSessionController { if (finished !== undefined) { const startedAt = this.activeRunStartedAt ?? finished.finishedAt; this.activeRunStartedAt = undefined; + this.activeRunId = undefined; this.emitState(event, "run-finish", { activeRun: null, lastRun: { @@ -1749,8 +2567,8 @@ class DshLocalSessionController { for (const id of insertedIds) this.pendingInputTimes.set(id, queuedAt); } - private createUserMessage(text: string): DshUserMessage { - return this.host.createUserMessage(text); + private createUserMessage(content: readonly DshUserMessageContent[]): DshUserMessage { + return this.host.createUserMessage(content); } private emitDurable( @@ -1859,6 +2677,21 @@ class DshLocalSessionController { }); } + private emitActivity( + native: DshSessionEvent, + payload: Extract["payload"], + ): void { + this.runtime?.publish({ + durability: "transient", + eventId: agentEventId(dshEventIdentity(native, "activity")), + occurredAt: dshTimestamp(native.time), + payload, + sessionId: this.ref.sessionId, + source: this.source(native.type), + type: "run.activity", + }); + } + private emitModelState(occurredAt: AgentTimestamp, suffix: string): void { if (this.selectedModel === undefined) return; this.stateRevision += 1; diff --git a/packages/orbis-remote-dsh/src/adapter/dsh-projection.ts b/packages/orbis-remote-dsh/src/adapter/dsh-projection.ts index cfcd602..655db3b 100644 --- a/packages/orbis-remote-dsh/src/adapter/dsh-projection.ts +++ b/packages/orbis-remote-dsh/src/adapter/dsh-projection.ts @@ -5,12 +5,14 @@ import { agentRunId, agentTimestamp, createAgentSessionProjection, + validateAgentWorkState, type AgentContentBlock, type AgentContextEntry, type AgentContextOrigin, type AgentJsonValue, type AgentMessageEntry, type AgentModelSelection, + type AgentWorkState, type AgentPublicError, type AgentRunOutcome, type AgentRunSummary, @@ -53,6 +55,35 @@ function optionalString(value: JsonRecord, key: string): string | undefined { return typeof candidate === "string" && candidate.length > 0 ? candidate : undefined; } +function imageReference(value: JsonRecord): AgentContentBlock { + const attachment = record(value.attachment, "image attachment"); + const attachmentId = requiredString(attachment, "attachmentId", "image attachment id"); + const mediaType = requiredString(attachment, "mediaType", "image attachment media type"); + const bytes = attachment.bytes; + const width = attachment.width; + const height = attachment.height; + if ( + !Number.isSafeInteger(bytes) || + (bytes as number) < 1 || + !Number.isSafeInteger(width) || + (width as number) < 1 || + !Number.isSafeInteger(height) || + (height as number) < 1 + ) { + throw new AgentBackendError("protocol", "DSH image attachment metadata is invalid"); + } + const name = optionalString(attachment, "name"); + return { + attachmentId, + bytes: bytes as number, + height: height as number, + mimeType: mediaType, + ...(name === undefined ? {} : { name }), + type: "image_reference", + width: width as number, + }; +} + export function dshTimestamp(value: number, label = "event timestamp"): AgentTimestamp { if (!Number.isFinite(value)) { throw new AgentBackendError("protocol", `DSH ${label} is invalid`); @@ -138,6 +169,9 @@ function contentBlocks(value: unknown, toolCalls: Map): Age case "reasoning": blocks.push({ text: requiredString(block, "text", "reasoning block"), type: "thinking" }); break; + case "image": + blocks.push(imageReference(block)); + break; case "tool-call": { const callId = requiredString(block, "id", "tool call id"); const name = requiredString(block, "name", "tool call name"); @@ -189,6 +223,8 @@ function toolResultContentBlocks(value: unknown): readonly AgentContentBlock[] { blocks.push({ text: block.text, type: "text" }); } else if (block.type === "reasoning" && typeof block.text === "string") { blocks.push({ text: block.text, type: "thinking" }); + } else if (block.type === "image") { + blocks.push(imageReference(block)); } else if ( block.type === "resource" && typeof block.name === "string" && @@ -305,6 +341,12 @@ function projectAssistantMessage( const provider = source === undefined ? undefined : optionalString(source, "provider"); const modelId = source === undefined ? undefined : optionalString(source, "model"); const usage = usageFromDsh(data.usage); + // DSH 0.1.1 marks an assistant message that was interrupted before a + // terminal turn event with its native interrupted flag. Keep that + // vocabulary inside the adapter and expose only the canonical protocol + // stop reason. + const stopReason: AgentMessageEntry["stopReason"] = + data.interrupted === true ? "aborted" : undefined; // DSH permits an empty assistant message to carry usage at a max-token // boundary. It is not a transcript entry. if (content.length === 0) return undefined; @@ -317,6 +359,7 @@ function projectAssistantMessage( ...(modelId === undefined || provider === undefined ? {} : { model: { modelId, provider } }), parentId: null, role: "assistant", + ...(stopReason === undefined ? {} : { stopReason }), ...(usage === undefined ? {} : { usage }), }; } @@ -462,6 +505,120 @@ function metadataForInspection(inspection: DshSessionInspection): AgentSessionMe }; } +export interface DshNativeProjectionState { + readonly mode: "plan" | null; + readonly workState: AgentWorkState; +} + +function protocolStateError(message: string, cause?: unknown): AgentBackendError { + if (cause instanceof AgentBackendError && cause.code === "protocol") return cause; + return new AgentBackendError("protocol", message); +} + +function goalFromDshChange(data: JsonRecord): AgentWorkState["goal"] { + if (data.kind !== "goal/change" || data.version !== 1) { + throw new AgentBackendError("protocol", "DSH goal change is invalid"); + } + const operation = data.operation; + if (operation === "clear") { + const cleared = record(data.cleared, "goal clear tombstone"); + if ( + typeof cleared.id !== "string" || + !cleared.id.trim() || + !Number.isSafeInteger(cleared.revision) || + (cleared.revision as number) < 1 || + !Number.isSafeInteger(data.clearedAt) || + (data.clearedAt as number) < 0 + ) { + throw new AgentBackendError("protocol", "DSH goal clear tombstone is invalid"); + } + return null; + } + if ( + operation !== "create" && + operation !== "edit" && + operation !== "pause" && + operation !== "resume" && + operation !== "complete" && + operation !== "block" + ) { + throw new AgentBackendError("protocol", "DSH goal change operation is invalid"); + } + const nativeGoal = record(data.goal, "goal change goal"); + if ( + !Number.isSafeInteger(data.roundsStarted) || + (data.roundsStarted as number) < 0 || + !Number.isSafeInteger(data.createdAt) || + (data.createdAt as number) < 0 || + !Number.isSafeInteger(data.updatedAt) || + (data.updatedAt as number) < 0 + ) { + throw new AgentBackendError("protocol", "DSH goal change counters are invalid"); + } + const blocked = nativeGoal.blockedReason; + const goal = { + ...(blocked === undefined ? {} : { blockedReason: blocked }), + createdAt: dshTimestamp(data.createdAt as number, "goal created timestamp"), + id: nativeGoal.id, + maxGoalRounds: nativeGoal.maxGoalRounds, + objective: nativeGoal.objective, + phase: nativeGoal.phase, + revision: nativeGoal.revision, + roundsStarted: data.roundsStarted, + updatedAt: dshTimestamp(data.updatedAt as number, "goal updated timestamp"), + }; + try { + return validateAgentWorkState({ goal, todos: [] }).goal; + } catch (error) { + throw protocolStateError("DSH goal change snapshot is invalid", error); + } +} + +export function reduceDshProjectionState( + state: DshNativeProjectionState, + event: DshSessionEvent, +): DshNativeProjectionState { + try { + if (event.type === "plan/mode") { + const data = record(event.data, "plan mode"); + if (typeof data.active !== "boolean") { + throw new AgentBackendError("protocol", "DSH plan mode state is invalid"); + } + return { ...state, mode: data.active ? "plan" : null }; + } + if (event.type === "goal/change") { + return { + ...state, + workState: { + goal: goalFromDshChange(record(event.data, "goal change")), + todos: state.workState.todos, + }, + }; + } + if (event.type === "todo/write") { + const data = record(event.data, "todo write"); + const workState = validateAgentWorkState({ goal: state.workState.goal, todos: data.todos }); + return { ...state, workState }; + } + if (event.type === "turn/start") { + return { ...state, workState: { ...state.workState, todos: [] } }; + } + return state; + } catch (error) { + throw protocolStateError(`DSH ${event.type} state is invalid`, error); + } +} + +function foldDshProjectionState(events: readonly DshSessionEvent[]): DshNativeProjectionState { + let state: DshNativeProjectionState = { mode: null, workState: { goal: null, todos: [] } }; + for (const event of events) state = reduceDshProjectionState(state, event); + return state; +} + +export function dshProjectionState(events: readonly DshSessionEvent[]): DshNativeProjectionState { + return foldDshProjectionState(events); +} + function turnNumber(event: DshSessionEvent, label: string): number { const turn = record(event.data, label).turn; if (!Number.isSafeInteger(turn) || (turn as number) < 1) { @@ -579,6 +736,7 @@ export function readDshSessionProjection( const projector = new DshSessionEntryProjector(); const snapshot = createAgentSessionProjection(ref, metadataForInspection(inspection)); const run = runStateForInspection(inspection.events); + const state = foldDshProjectionState(inspection.events); return { ...snapshot, ...(run.activeRun === undefined ? {} : { activeRun: run.activeRun }), @@ -587,7 +745,9 @@ export function readDshSessionProjection( return entry === undefined ? [] : [entry]; }), ...(run.lastRun === undefined ? {} : { lastRun: run.lastRun }), + mode: state.mode, revision: inspection.events.length, state: run.state, + workState: state.workState, }; } diff --git a/packages/orbis-remote-dsh/src/adapter/dsh-types.ts b/packages/orbis-remote-dsh/src/adapter/dsh-types.ts index 3239890..23c74d6 100644 --- a/packages/orbis-remote-dsh/src/adapter/dsh-types.ts +++ b/packages/orbis-remote-dsh/src/adapter/dsh-types.ts @@ -4,7 +4,11 @@ * packages; the DSH bundle is the sole runtime composition point. */ -import type { AgentSessionConfigOption } from "@orbisapp/orbis-agent-backend"; +import type { + AgentPromptReferenceCompletionResult, + AgentPromptReferenceSource, + AgentSessionConfigOption, +} from "@orbisapp/orbis-agent-backend"; export type DshWorkspaceId = string & { readonly __dshWorkspaceId: unique symbol }; @@ -22,6 +26,8 @@ export interface DshSessionHeader { export interface DshSessionCatalogEntry { readonly createdAt: number; readonly id: unknown; + readonly origin?: "subagent"; + readonly parentSession?: unknown; /** Optional log-folded title supplied by the DSH session-query service. */ readonly title?: string; readonly updatedAt: number; @@ -54,6 +60,63 @@ export interface DshSessionPermissionProvider { set(nativeSessionId: string, value: string): void | Promise; } +/** Narrow composition seam for DSH's logged plan-mode service. */ +export interface DshSessionModeProvider { + get(agent: DshAgent): { readonly active: boolean; readonly pending?: boolean }; + set( + agent: DshAgent, + active: boolean, + ): + | "committed" + | "queued" + | "cancelled" + | "noop" + | Promise<"committed" | "queued" | "cancelled" | "noop">; +} + +/** DSH-owned grammar and candidate discovery for prompt references. */ +export interface DshPromptReferenceProvider { + complete(input: { + readonly agent: DshAgent; + readonly cursor: number; + readonly limit: number; + readonly signal?: AbortSignal; + readonly source: AgentPromptReferenceSource; + readonly text: string; + }): Promise; +} + +/** + * Narrow composition seam for DSH's authoritative descendant listing. The + * plugin maps the official DSH rows into this structural shape; the adapter + * owns conversion to canonical AgentSessionRef values and validation. + */ +export type DshSessionSubagentEntry = + | { + readonly activity: "inactive" | "running"; + readonly depth: number; + readonly hasChildren: boolean; + readonly id: unknown; + readonly kind: "child"; + readonly label?: string; + readonly mode: "continuable" | "one-shot"; + readonly parentId: unknown; + } + | { + readonly depth: number; + readonly id: unknown; + readonly kind: "diagnostic"; + readonly parentId: unknown; + readonly reason: "corrupt" | "unavailable" | "unsupported"; + }; + +export interface DshSessionSubagentProvider { + listDescendants( + nativeSessionId: string, + signal?: AbortSignal, + ): Promise; +} + /** DSH's durable session catalog and append-only history seam. */ export interface DshSessionPersistence { inspect(id: unknown, signal?: AbortSignal): Promise; @@ -66,6 +129,37 @@ export interface DshUserMessage { readonly id: unknown; } +/** DSH's provider-neutral durable image reference. */ +export interface DshImageAttachmentReference { + readonly attachmentId: string; + readonly bytes: number; + readonly height: number; + readonly mediaType: string; + readonly name?: string; + readonly width: number; +} + +export interface DshEncodedImageAttachment { + readonly data: string; + readonly mediaType: string; + readonly name?: string; +} + +/** Narrow attachment port owned by the DSH plugin composition. */ +export interface DshSessionAttachmentPort { + admitEncodedImages( + images: readonly DshEncodedImageAttachment[], + ): Promise; + readImage( + reference: DshImageAttachmentReference, + signal?: AbortSignal, + ): Promise<{ readonly data: Uint8Array; readonly reference: DshImageAttachmentReference }>; +} + +export type DshUserMessageContent = + | { readonly text: string; readonly type: "text" } + | { readonly attachment: DshImageAttachmentReference; readonly type: "image" }; + export interface DshInbox { readonly nextStep: readonly DshUserMessage[]; readonly nextTurn: readonly DshUserMessage[]; @@ -112,6 +206,32 @@ export interface DshApiError { readonly message: string; } +export interface DshApiQuestionOption { + readonly description?: string; + readonly label: string; +} + +export interface DshApiQuestionIntent { + readonly approve: string; + readonly kind: "plan-review"; +} + +export interface DshApiQuestionItem { + readonly detail?: string; + readonly header?: string; + readonly id: string; + readonly intent?: DshApiQuestionIntent; + readonly multiSelect?: boolean; + readonly options?: readonly DshApiQuestionOption[]; + readonly question: string; +} + +export interface DshApiQuestionAnswerItem { + readonly custom?: string; + readonly id: string; + readonly selected: readonly string[]; +} + export interface DshApiResponse { readonly result: | { readonly ok: true; readonly value: T } @@ -123,16 +243,22 @@ export interface DshApiMuxFrame { readonly type: | "approval/requested" | "approval/resolved" + | "question/requested" + | "question/resolved" | "session/event" | "session/subscribed" | "stream/error"; readonly sessionId?: unknown; readonly approvalId?: string; + /** The DSH question request itself; its rpc id is the enclosing request.rpcId. */ + readonly questions?: readonly DshApiQuestionItem[]; + /** The enclosing request rpc id echoed by a question resolution. */ + readonly questionRpcId?: string; readonly rpcId?: string; readonly toolName?: string; readonly callId?: string; readonly reason?: string; - readonly outcome?: "allowed-once" | "rejected" | "cancelled" | "unavailable"; + readonly outcome?: "allowed-once" | "rejected" | "cancelled" | "unavailable" | "answered"; } export interface DshApiMuxRequest { @@ -140,7 +266,7 @@ export interface DshApiMuxRequest { readonly rpcId: string; } -export interface DshApiApprovalResponse { +export interface DshApiPermissionResponse { readonly type: "client-response"; readonly rpcId: string; readonly result: { @@ -153,6 +279,22 @@ export interface DshApiApprovalResponse { }; } +export interface DshApiQuestionResponse { + readonly type: "client-response"; + readonly rpcId: string; + readonly result: + | { + readonly ok: true; + readonly value: { + readonly answer: { readonly answers: readonly DshApiQuestionAnswerItem[] }; + readonly sessionId: unknown; + }; + } + | { readonly ok: false; readonly error: DshApiError }; +} + +export type DshApiInteractionResponse = DshApiPermissionResponse | DshApiQuestionResponse; + /** Public DSH gateway seam shared by Web and other interactive front doors. */ export interface DshApiProxy { readonly llm: { @@ -188,7 +330,7 @@ export interface DshApiProxy { signal: AbortSignal, ): AsyncIterable; }; - readonly respond?: (message: DshApiApprovalResponse) => Promise<{ + readonly respond?: (message: DshApiInteractionResponse) => Promise<{ readonly accepted: boolean; readonly reason?: "not-pending" | "bad-response"; }>; @@ -248,6 +390,7 @@ export interface DshContext { /** Present when DSH's shared Web/API gateway owns session model targets. */ readonly apiProxy?: DshApiProxy; readonly agents: DshAgentRegistry; + readonly planMode?: DshSessionModeProvider; readonly sessionPersistence: DshSessionPersistence; readonly workspace: DshWorkspaceRegistry; on( diff --git a/packages/orbis-remote-dsh/src/adapter/index.ts b/packages/orbis-remote-dsh/src/adapter/index.ts index f68dfd8..0eb1d8f 100644 --- a/packages/orbis-remote-dsh/src/adapter/index.ts +++ b/packages/orbis-remote-dsh/src/adapter/index.ts @@ -9,6 +9,8 @@ export { } from "./dsh-local-backend"; export type { DshAgent, + DshEncodedImageAttachment, + DshImageAttachmentReference, DshAgentInboxEvent, DshAgentHandle, DshAgentOptions, @@ -16,6 +18,14 @@ export type { DshApiError, DshApiProxy, DshApiResponse, + DshApiInteractionResponse, + DshApiPermissionResponse, + DshApiQuestionAnswerItem, + DshApiQuestionItem, + DshApiQuestionOption, + DshApiQuestionResponse, + DshApiMuxFrame, + DshApiMuxRequest, DshContext, DshInbox, DshModelCatalogModel, @@ -25,12 +35,18 @@ export type { DshModelTarget, DshSession, DshSessionCatalogEntry, + DshSessionSubagentEntry, + DshSessionSubagentProvider, DshSessionEvent, DshSessionHeader, DshSessionInspection, DshSessionPermissionProvider, + DshSessionModeProvider, + DshSessionAttachmentPort, + DshPromptReferenceProvider, DshSessionPersistence, DshUserMessage, + DshUserMessageContent, DshWorkspace, DshWorkspaceId, DshWorkspaceRegistry, diff --git a/packages/orbis-remote-dsh/src/host/dsh-v2-backend.ts b/packages/orbis-remote-dsh/src/host/dsh-v2-backend.ts index 8f55a8e..4b43615 100644 --- a/packages/orbis-remote-dsh/src/host/dsh-v2-backend.ts +++ b/packages/orbis-remote-dsh/src/host/dsh-v2-backend.ts @@ -8,6 +8,9 @@ import { type AgentJsonValue, type AgentQueuedInput, type AgentContentBlock, + type AgentPromptContentBlock, + type AgentPromptReferenceCompletionInput, + type AgentPromptReferenceCompletionResult, type AgentDriverDescriptor, type AgentModelMetadata, type AgentSessionEntry, @@ -15,6 +18,7 @@ import { type AgentSessionProjection, type AgentSessionRef, type AgentSessionStatePatch, + type AgentSessionSubagentEntry, type AgentWorkspaceFolderDescriptor, type AgentWorkspaceFolderListing, type AgentWorkspaceRegisterResult, @@ -146,16 +150,18 @@ function v2Snapshot( cwd: context.cwd ?? null, lastRun: projection.lastRun === undefined ? undefined : runSummary(projection.lastRun), leafEntryId: entries.at(-1)?.id ?? null, - mode: null, + mode: projection.mode ?? null, model: projection.metadata.model ?? null, pendingInputs: context.pendingInputs ?? [], pendingPermissions: projection.pendingPermissions ?? [], + pendingQuestions: projection.pendingQuestions, ref, revision: stateRevision, runState: runState(projection), title: projection.metadata.title ?? null, updatedAt: projection.metadata.updatedAt, workspaceRef: projection.workspaceRef ?? null, + workState: projection.workState, }; return { ...(overlay === undefined ? {} : { overlay }), entries, state }; } @@ -198,16 +204,6 @@ function eventEntry( }; } -function textFromContent(content: readonly RemoteAgentV2ContentBlock[]): string { - const text = content - .filter((block): block is Extract => block.type === "text") - .map((block) => block.text) - .join(""); - if (!text.trim()) - throw new AgentBackendError("invalid_argument", "A DSH prompt requires text content"); - return text; -} - function transientDelta( ref: AgentSessionRef, event: Extract, @@ -273,11 +269,13 @@ function statePatch(patch: AgentSessionStatePatch): RemoteAgentV2SessionStatePat ...(patch.pendingPermissions === undefined ? {} : { pendingPermissions: patch.pendingPermissions }), + ...(patch.pendingQuestions === undefined ? {} : { pendingQuestions: patch.pendingQuestions }), ...(patch.runState === undefined ? {} : { runState: patch.runState }), ...(patch.title === undefined ? {} : { title: patch.title }), ...(patch.updatedAt === undefined ? {} : { updatedAt: patch.updatedAt }), ...(patch.usageTotal === undefined ? {} : { usageTotal: patch.usageTotal }), ...(patch.workspaceRef === undefined ? {} : { workspaceRef: patch.workspaceRef }), + ...(patch.workState === undefined ? {} : { workState: patch.workState }), }; } @@ -338,7 +336,7 @@ class DshV2Runtime implements RemoteAgentV2Runtime { } async prompt(input: { - readonly content: readonly RemoteAgentV2ContentBlock[]; + readonly content: readonly AgentPromptContentBlock[]; readonly delivery?: "steer" | "follow_up"; readonly idempotencyKey?: string; }): Promise<{ @@ -350,7 +348,7 @@ class DshV2Runtime implements RemoteAgentV2Runtime { const receipt = await this.native.prompt({ ...(input.delivery === undefined ? {} : { delivery: input.delivery }), ...(input.idempotencyKey === undefined ? {} : { idempotencyKey: input.idempotencyKey }), - text: textFromContent(input.content), + content: input.content, }); return { acceptedAt: receipt.acceptedAt, @@ -372,6 +370,19 @@ class DshV2Runtime implements RemoteAgentV2Runtime { }); } + async respondQuestion(input: { + readonly requestId: string; + readonly response: Parameters[0]["response"]; + readonly idempotencyKey?: string; + }): Promise<{ readonly accepted: boolean }> { + this.assertOpen(); + return this.native.respondQuestion({ + ...(input.idempotencyKey === undefined ? {} : { idempotencyKey: input.idempotencyKey }), + requestId: input.requestId, + response: input.response, + }); + } + subscribe(listener: (event: RemoteAgentV2SessionEvent) => void): () => void { this.assertOpen(); this.listeners.add(listener); @@ -654,7 +665,7 @@ export class DshRemoteV2Backend implements RemoteAgentV2Backend { readonly nativeSessionId?: string; }): Promise { if (input.mode !== undefined) { - throw new AgentBackendError("unsupported", "DSH sessions do not support session modes"); + throw new AgentBackendError("unsupported", "DSH session mode is selected after creation"); } const record = await this.native.createSession({ driverId: input.driverId, @@ -740,6 +751,16 @@ export class DshRemoteV2Backend implements RemoteAgentV2Backend { await this.native.updateSession(ref, { patch }); } + async readAttachment(ref: AgentSessionRef, attachmentId: string, signal?: AbortSignal) { + return this.native.readAttachment(ref, attachmentId, signal); + } + + async completePromptReferences( + input: AgentPromptReferenceCompletionInput, + ): Promise { + return this.native.completePromptReferences(input); + } + async listSessions(input: { readonly driverId?: AgentSessionRef["driverId"]; }): Promise { @@ -753,6 +774,14 @@ export class DshRemoteV2Backend implements RemoteAgentV2Backend { })); } + async listSessionSubagents( + ref: AgentSessionRef, + signal?: AbortSignal, + ): Promise { + this.assertDshDriver(ref.driverId); + return this.native.listSessionSubagents(ref, signal); + } + observeCatalog(listener: () => void): () => void { return this.native.observeCatalog(() => listener()); } diff --git a/packages/orbis-remote-dsh/src/host/orbis-remote-dsh-host.test.ts b/packages/orbis-remote-dsh/src/host/orbis-remote-dsh-host.test.ts index 3a0189b..869432a 100644 --- a/packages/orbis-remote-dsh/src/host/orbis-remote-dsh-host.test.ts +++ b/packages/orbis-remote-dsh/src/host/orbis-remote-dsh-host.test.ts @@ -20,6 +20,8 @@ import { expect, test } from "vitest"; import type { DshAgent, DshAgentInboxEvent, + DshApiInteractionResponse, + DshApiMuxRequest, DshSession, DshSessionEvent, DshUserMessage, @@ -286,6 +288,7 @@ test("composes a remote DSH catalog behind the v2 request handler", async () => ); expect(result).toMatchObject({ + capabilities: { presence: true }, drivers: [{ displayName: "DeepSeek Harness", id: "dsh" }], version: 2, }); @@ -615,9 +618,72 @@ test("delivers DSH v2 live entries through the attached host transport", async ( const sessions = new Map(); const agents = new Map(); const nativeListeners = new Set<(session: DshSession, event: DshSessionEvent) => void>(); + const interactionResponses: DshApiInteractionResponse[] = []; + const interactionQueue: DshApiMuxRequest[] = []; + const interactionWaiters: Array<(request: DshApiMuxRequest | undefined) => void> = []; + const emitInteraction = (request: DshApiMuxRequest): void => { + const waiter = interactionWaiters.shift(); + if (waiter === undefined) interactionQueue.push(request); + else waiter(request); + }; + const interactionMux = async function* (signal: AbortSignal): AsyncIterable { + while (!signal.aborted) { + const request = await new Promise((resolve) => { + if (signal.aborted) { + resolve(undefined); + return; + } + const queued = interactionQueue.shift(); + if (queued !== undefined) { + resolve(queued); + return; + } + const abort = () => { + signal.removeEventListener("abort", abort); + resolve(undefined); + }; + signal.addEventListener("abort", abort, { once: true }); + interactionWaiters.push((value) => { + signal.removeEventListener("abort", abort); + resolve(value); + }); + }); + if (request === undefined) return; + yield request; + } + }; const host = new OrbisRemoteDshHost({ dsh: { context: { + apiProxy: { + llm: { + models: async ({ rpcId }) => ({ + result: { ok: true as const, value: { failures: [], groups: [] } }, + rpcId, + }), + }, + sessions: { + models: async ({ rpcId }) => ({ + result: { + ok: true as const, + value: { current: { model: "test-model", provider: "test-provider" } }, + }, + rpcId, + }), + selectModel: async ({ payload, rpcId }) => ({ + result: { + ok: true as const, + value: { selected: { model: payload.model, provider: payload.provider } }, + }, + rpcId, + }), + }, + events: { mux: (_request, signal) => interactionMux(signal) }, + respond: async (message: DshApiInteractionResponse) => { + interactionResponses.push(message); + return { accepted: true }; + }, + }, agents: { create: async ({ agentOptions, sessionId }) => { const id = String(sessionId); @@ -748,6 +814,53 @@ test("delivers DSH v2 live entries through the attached host transport", async ( type: "assistant/message", }); + emitNative({ + data: { active: true }, + seq: 2, + time: Date.parse("2026-08-10T00:00:05.000Z"), + type: "plan/mode", + }); + emitNative({ + data: { + createdAt: Date.parse("2026-08-10T00:00:06.000Z"), + goal: { + id: "goal-host", + maxGoalRounds: 2, + objective: "Verify the DSH host bridge", + phase: "active", + revision: 1, + }, + kind: "goal/change", + operation: "create", + roundsStarted: 0, + updatedAt: Date.parse("2026-08-10T00:00:06.000Z"), + version: 1, + }, + seq: 3, + time: Date.parse("2026-08-10T00:00:06.000Z"), + type: "goal/change", + }); + emitNative({ + data: { todos: [{ content: "Inspect snapshot", status: "in_progress" }] }, + seq: 4, + time: Date.parse("2026-08-10T00:00:07.000Z"), + type: "todo/write", + }); + emitInteraction({ + payload: { + questions: [ + { + id: "host-question", + options: [{ label: "Yes" }, { label: "No" }], + question: "Continue the host bridge test?", + }, + ], + sessionId: "native-transport", + type: "question/requested", + }, + rpcId: "host-question", + }); + await eventually(() => deliveries.some( (delivery) => @@ -756,6 +869,60 @@ test("delivers DSH v2 live entries through the attached host transport", async ( delivery.event.entry.id === "message-1-1", ), ); + await eventually( + () => + deliveries.some( + (delivery) => + delivery.ref?.sessionId === created.ref.sessionId && + delivery.event.type === "session.state.changed" && + delivery.event.patch.mode === "plan", + ) && + deliveries.some( + (delivery) => + delivery.ref?.sessionId === created.ref.sessionId && + delivery.event.type === "session.state.changed" && + delivery.event.patch.workState?.goal?.id === "goal-host" && + delivery.event.patch.workState?.todos[0]?.content === "Inspect snapshot", + ) && + deliveries.some( + (delivery) => + delivery.ref?.sessionId === created.ref.sessionId && + delivery.event.type === "session.state.changed" && + delivery.event.patch.pendingQuestions?.[0]?.requestId === "host-question", + ), + ); + const snapshot = await client.sync({ mode: "once", ref: created.ref }); + expect(snapshot).toMatchObject({ + state: { + mode: "plan", + pendingQuestions: [{ requestId: "host-question" }], + workState: { + goal: { id: "goal-host", objective: "Verify the DSH host bridge" }, + todos: [{ content: "Inspect snapshot", status: "in_progress" }], + }, + }, + }); + await expect( + client.respondQuestion({ + idempotencyKey: "host-question-answer", + ref: created.ref, + requestId: "host-question", + response: { + answers: [{ optionIds: ["dsh-option-0-0"], questionId: "host-question" }], + kind: "answered", + }, + }), + ).resolves.toEqual({ accepted: true }); + expect(interactionResponses.at(-1)).toMatchObject({ + result: { + ok: true, + value: { + answer: { answers: [{ id: "host-question", selected: ["Yes"] }] }, + sessionId: "native-transport", + }, + }, + rpcId: "host-question", + }); expect(deliveries.some((delivery) => delivery.event.type === "host.session.added")).toBe(true); } finally { removeDeliveries(); diff --git a/packages/orbis-remote-dsh/src/host/orbis-remote-dsh-host.ts b/packages/orbis-remote-dsh/src/host/orbis-remote-dsh-host.ts index 0577188..e2e387c 100644 --- a/packages/orbis-remote-dsh/src/host/orbis-remote-dsh-host.ts +++ b/packages/orbis-remote-dsh/src/host/orbis-remote-dsh-host.ts @@ -79,6 +79,20 @@ export class OrbisRemoteDshHost { this.agentHost = new OrbisRemoteAgentV2Host({ backend: new DshRemoteV2Backend(this.nativeBackend, options.workspaceProvider), backendId: `remote:${options.hostId}`, + capabilities: { + attachments: + options.dsh.attachments === undefined + ? false + : { + downloadChunkBytes: 192 * 1024, + maxImageBytes: 5 * 1024 * 1024, + maxImagesPerMessage: 4, + maxMessageImageBytes: 20 * 1024 * 1024, + mimeTypes: ["image/png", "image/jpeg", "image/webp", "image/gif"], + uploadChunkBytes: 192 * 1024, + }, + presence: true, + }, onError: options.onError, store, transport: this.transport, diff --git a/packages/orbis-remote-dsh/src/plugin/dsh-plugin.test.ts b/packages/orbis-remote-dsh/src/plugin/dsh-plugin.test.ts new file mode 100644 index 0000000..5dcf34a --- /dev/null +++ b/packages/orbis-remote-dsh/src/plugin/dsh-plugin.test.ts @@ -0,0 +1,99 @@ +import type { Context } from "@deepseek-ai/cordis"; +import type { Agent } from "@deepseek-ai/dsh-agent"; +import type { AttachmentStore } from "@deepseek-ai/dsh-attachment"; +import { SessionId } from "@deepseek-ai/dsh-session"; +import type { SubagentDescendantListEntry } from "@deepseek-ai/dsh-subagent"; +import { expect, test, vi } from "vitest"; + +import { + createDshAttachmentPort, + createDshPlanModeProvider, + createDshSessionSubagentProvider, + inject, +} from "./dsh-plugin"; + +const image = { data: "AA==", mediaType: "image/png" } as const; + +function contextFor(store: AttachmentStore): Context { + return { attachments: store } as unknown as Context; +} + +test("maps DSH image admission failures to invalid_argument", async () => { + const error = Object.assign(new Error("bad image"), { code: "INVALID_IMAGE" }); + const store = { + saveImages: async () => { + throw error; + }, + } as unknown as AttachmentStore; + const port = createDshAttachmentPort(contextFor(store)); + await expect(port?.admitEncodedImages([image])).rejects.toMatchObject({ + code: "invalid_argument", + }); +}); + +test("does not mislabel attachment storage failures as invalid user input", async () => { + const error = new Error("disk unavailable"); + const store = { + saveImages: async () => { + throw error; + }, + } as unknown as AttachmentStore; + const port = createDshAttachmentPort(contextFor(store)); + await expect(port?.admitEncodedImages([image])).rejects.toBe(error); +}); + +test("injects and forwards the official DSH subagent listing unchanged", async () => { + expect(inject).toContain("subagents"); + const signal = new AbortController().signal; + const rows = [ + { + activity: "running", + depth: 1, + hasChildren: false, + id: "child-1", + kind: "child", + mode: "continuable", + parentId: "root", + label: "Research", + }, + ] as unknown as readonly SubagentDescendantListEntry[]; + const listDescendants = vi.fn(async () => rows); + const context = { + subagents: { listDescendants }, + } as unknown as Context; + const provider = createDshSessionSubagentProvider(context); + expect(provider).toBeDefined(); + await expect(provider?.listDescendants("root", signal)).resolves.toBe(rows); + expect(listDescendants).toHaveBeenCalledWith(SessionId("root"), signal); +}); + +test("does not advertise a provider when the DSH service is absent", () => { + expect(createDshSessionSubagentProvider({} as Context)).toBeUndefined(); +}); + +test("does not require or advertise plan mode when the optional service is absent", () => { + const get = vi.fn(() => undefined); + const context = { get } as unknown as Context; + + expect(inject).not.toContain("planMode"); + expect(createDshPlanModeProvider(context)).toBeUndefined(); + expect(get).toHaveBeenCalledWith("planMode"); +}); + +test("uses the optional plan mode service when it is present", () => { + const agent = {} as Agent; + const planMode = { + get: vi.fn(() => ({ active: true })), + set: vi.fn(() => "committed" as const), + }; + const context = { + get: vi.fn((name: string) => (name === "planMode" ? planMode : undefined)), + } as unknown as Context; + + const provider = createDshPlanModeProvider(context); + expect(provider).toBeDefined(); + expect(provider?.get(agent)).toEqual({ active: true }); + expect(provider?.set(agent, false)).toBe("committed"); + expect(planMode.get).toHaveBeenCalledWith(agent); + expect(planMode.set).toHaveBeenCalledWith(agent, false); +}); diff --git a/packages/orbis-remote-dsh/src/plugin/dsh-plugin.ts b/packages/orbis-remote-dsh/src/plugin/dsh-plugin.ts index e096665..3d10893 100644 --- a/packages/orbis-remote-dsh/src/plugin/dsh-plugin.ts +++ b/packages/orbis-remote-dsh/src/plugin/dsh-plugin.ts @@ -1,22 +1,44 @@ import { join, resolve } from "node:path"; import type { Context } from "@deepseek-ai/cordis"; +import type { Agent } from "@deepseek-ai/dsh-agent"; import type {} from "@deepseek-ai/dsh-agent"; +import { + admitEncodedImages, + isImageAdmissionError, + type AttachmentStore, +} from "@deepseek-ai/dsh-attachment"; +import type { EncodedImageAttachment, ImageAttachmentRef } from "@deepseek-ai/dsh-attachment/types"; import type {} from "@deepseek-ai/dsh-credentials"; +import type {} from "@deepseek-ai/dsh-file-reference"; import { resolveDshHome } from "@deepseek-ai/dsh-home-paths"; import type {} from "@deepseek-ai/dsh-host-apiproxy"; import type { DirectoryPickerBrowseCapability } from "@deepseek-ai/dsh-host-directory-picker"; import type {} from "@deepseek-ai/dsh-host-webserver"; import { createUserMessage } from "@deepseek-ai/dsh-llm"; +import type { ContentBlock } from "@deepseek-ai/dsh-llm/types"; +import type {} from "@deepseek-ai/dsh-plan-mode"; import { SessionId } from "@deepseek-ai/dsh-session"; import type {} from "@deepseek-ai/dsh-session-persistence"; import type {} from "@deepseek-ai/dsh-session-projection-cache"; +import type {} from "@deepseek-ai/dsh-session-reference"; +import type { SubagentDescendantListEntry, SubagentRuntime } from "@deepseek-ai/dsh-subagent"; +import type {} from "@deepseek-ai/dsh-subagent"; import type {} from "@deepseek-ai/dsh-workspace"; import z from "@deepseek-ai/schemastery"; +import { AgentBackendError } from "@orbisapp/orbis-agent-backend"; -import type { DshSessionPermissionProvider } from "../adapter"; +import type { + DshEncodedImageAttachment, + DshImageAttachmentReference, + DshSessionAttachmentPort, + DshSessionModeProvider, + DshSessionPermissionProvider, + DshSessionSubagentProvider, +} from "../adapter"; import { OrbisRemoteDshHost, type OrbisRemoteDshHostDshOptions } from "../host"; import { ORBIS_DSH_DRIVER_VERSION } from "./constants"; +import { createDshPromptReferenceProvider } from "./dsh-prompt-reference-provider"; import { listDshSessionCatalog, type DshSessionProjectionCache } from "./dsh-session-catalog"; import { OrbisDshFileLogger } from "./file-logger"; import { OrbisDshHostService, type OrbisDshCredentials } from "./host-service"; @@ -27,12 +49,16 @@ import { createDshWorkspaceFolderProvider } from "./workspace-folder-provider"; export const name = "orbis-dsh-remote"; export const inject = [ "agents", + "subagents", + "attachments", + "fileReferences", "apiProxy", "credentials", "directoryPicker", "webServer", "sessionPersistence", "sessionProjectionCache", + "sessionReferenceResolver", "sessions", "permissionPresets", "workspaceRegistry", @@ -60,19 +86,84 @@ export const Config: z = z.object({ }); function createDshUserMessage(input: { - readonly content: readonly [{ readonly text: string; readonly type: "text" }]; + readonly content: readonly unknown[]; readonly source: { readonly kind: "user" }; }) { + const content = input.content.map((block): ContentBlock => { + if (typeof block !== "object" || block === null || Array.isArray(block)) { + throw new AgentBackendError("protocol", "The DSH user message content is invalid"); + } + const candidate = block as Record; + if (candidate.type === "text" && typeof candidate.text === "string") { + return { text: candidate.text, type: "text" }; + } + if ( + candidate.type === "image" && + typeof candidate.attachment === "object" && + candidate.attachment !== null + ) { + return { attachment: candidate.attachment as ImageAttachmentRef, type: "image" }; + } + throw new AgentBackendError("protocol", "The DSH user message content is invalid"); + }); return createUserMessage({ - content: [...input.content], + content, source: input.source, }); } +function dshImageReference(reference: ImageAttachmentRef): DshImageAttachmentReference { + return { + attachmentId: String(reference.attachmentId), + bytes: reference.bytes, + height: reference.height, + mediaType: reference.mediaType, + ...(reference.name === undefined ? {} : { name: reference.name }), + width: reference.width, + }; +} + +export function createDshAttachmentPort(context: Context): DshSessionAttachmentPort | undefined { + const attachments = (context as Context & { readonly attachments?: AttachmentStore }).attachments; + if (attachments === undefined) return undefined; + return { + async admitEncodedImages(images: readonly DshEncodedImageAttachment[]) { + try { + const refs = await admitEncodedImages( + attachments, + images.map( + (image): EncodedImageAttachment => ({ + data: image.data, + mediaType: image.mediaType as EncodedImageAttachment["mediaType"], + ...(image.name === undefined ? {} : { name: image.name }), + }), + ), + ); + return refs.map(dshImageReference); + } catch (error) { + if (isImageAdmissionError(error)) { + throw new AgentBackendError("invalid_argument", "The image attachment was rejected"); + } + throw error; + } + }, + async readImage(reference, signal) { + const stored = await attachments.readImage(reference as ImageAttachmentRef, signal); + return { data: stored.data, reference: dshImageReference(stored.ref) }; + }, + }; +} + +function dshPlanMode(context: Context): Context["planMode"] | undefined { + return context.get("planMode"); +} + function createOrbisDshContext(context: Context): OrbisRemoteDshHostDshOptions["context"] { + const planMode = dshPlanMode(context); return { ...(context.apiProxy === undefined ? {} : { apiProxy: context.apiProxy }), agents: context.agents, + ...(planMode === undefined ? {} : { planMode }), on: context.on.bind(context), sessionPersistence: context.sessionPersistence, // The generic Orbis backend keeps its own narrow DSH port named @@ -131,6 +222,36 @@ function createDshPermissionProvider(context: Context): DshSessionPermissionProv }; } +export function createDshPlanModeProvider(context: Context): DshSessionModeProvider | undefined { + const planMode = dshPlanMode(context); + if (planMode === undefined) return undefined; + return { + get(agent) { + return planMode.get(agent as unknown as Agent); + }, + set(agent, active) { + return planMode.set(agent as unknown as Agent, active); + }, + }; +} + +/** + * Keeps the official DSH descendant listing authoritative. The adapter owns + * native-id to canonical-ref mapping; this composition seam only supplies the + * exact DSH rows and caller cancellation signal without parsing or reordering. + */ +export function createDshSessionSubagentProvider( + context: Context, +): DshSessionSubagentProvider | undefined { + const subagents = (context as Context & { readonly subagents?: SubagentRuntime }).subagents; + if (subagents === undefined) return undefined; + return { + listDescendants(nativeSessionId, signal): Promise { + return subagents.listDescendants(SessionId(nativeSessionId), signal); + }, + }; +} + /** * Mount the DSH remote harness adapter plus the loopback-only Orbis device * management route. The plugin deliberately refuses a LAN-bound DSH web @@ -178,6 +299,10 @@ export async function apply(context: Context, config?: Config): Promise { context.sessionProjectionCache as DshSessionProjectionCache, ), permissionPresets: createDshPermissionProvider(context), + planMode: createDshPlanModeProvider(context), + attachments: createDshAttachmentPort(context), + promptReferences: createDshPromptReferenceProvider(context), + subagents: createDshSessionSubagentProvider(context), toSessionId: SessionId, }, hostId, diff --git a/packages/orbis-remote-dsh/src/plugin/dsh-prompt-reference-provider.test.ts b/packages/orbis-remote-dsh/src/plugin/dsh-prompt-reference-provider.test.ts new file mode 100644 index 0000000..5b81280 --- /dev/null +++ b/packages/orbis-remote-dsh/src/plugin/dsh-prompt-reference-provider.test.ts @@ -0,0 +1,74 @@ +import type { Context } from "@deepseek-ai/cordis"; +import { expect, test, vi } from "vitest"; + +import type { DshAgent } from "../adapter"; +import { createDshPromptReferenceProvider } from "./dsh-prompt-reference-provider"; + +const agent = { id: "current", session: { header: {}, events: [] } } as unknown as DshAgent; + +function contextFor( + fileReferences: { list: (...args: never[]) => Promise }, + sessionReferenceResolver: { listCandidates: (...args: never[]) => Promise }, +): Context { + return { fileReferences, sessionReferenceResolver } as unknown as Context; +} + +test("maps quoted file candidates and preserves multiline replacement boundaries", async () => { + const signal = new AbortController().signal; + const list = vi.fn(async () => [ + { kind: "directory", path: "src/lib" }, + { kind: "file", path: "README.md" }, + { kind: "file", path: 'unsafe"name' }, + ]); + const provider = createDshPromptReferenceProvider( + contextFor({ list }, { listCandidates: async () => [] }), + ); + const result = await provider.complete({ + agent, + cursor: "你好\n@\"src".length, + limit: 8, + signal, + source: "files", + text: "你好\n@\"src", + }); + expect(result).toMatchObject({ end: 8, start: 3 }); + expect(result?.candidates).toEqual([ + { insertText: '@"src/lib/', kind: "directory", label: "src/lib" }, + { insertText: '@"README.md"', kind: "file", label: "README.md" }, + ]); + expect(list).toHaveBeenCalledWith(agent, "src", signal); +}); + +test("does not trigger on email-like text and uses canonical session mentions", async () => { + const listCandidates = vi.fn(async () => [ + { createdAt: 1, cwd: "/work", label: "Build notes", sessionId: "session-2" }, + ]); + const provider = createDshPromptReferenceProvider( + contextFor({ list: async () => [] }, { listCandidates }), + ); + await expect( + provider.complete({ + agent, + cursor: 13, + limit: 4, + source: "sessions", + text: "mail a@b.test", + }), + ).resolves.toBeUndefined(); + const signal = new AbortController().signal; + const result = await provider.complete({ + agent, + cursor: 8, + limit: 1, + signal, + source: "sessions", + text: "Open @Bu", + }); + expect(result?.candidates[0]).toMatchObject({ + detail: "/work", + kind: "session", + label: "Build notes", + }); + expect(result?.candidates[0]?.insertText).toMatch(/^@\[Build notes\]\(dsh-session:/u); + expect(listCandidates).toHaveBeenCalledWith(agent, "Bu", 1, signal); +}); diff --git a/packages/orbis-remote-dsh/src/plugin/dsh-prompt-reference-provider.ts b/packages/orbis-remote-dsh/src/plugin/dsh-prompt-reference-provider.ts new file mode 100644 index 0000000..f4f84cd --- /dev/null +++ b/packages/orbis-remote-dsh/src/plugin/dsh-prompt-reference-provider.ts @@ -0,0 +1,86 @@ +import type { Context } from "@deepseek-ai/cordis"; +import type { Agent } from "@deepseek-ai/dsh-agent"; +import { + activeAtToken, + formatFileMention, + type FileReferenceCandidate, +} from "@deepseek-ai/dsh-file-reference"; +import { + formatSessionReferenceMention, + type SessionReferenceCandidate, +} from "@deepseek-ai/dsh-session-reference"; +import type { + AgentPromptReferenceCompletionResult, +} from "@orbisapp/orbis-agent-backend"; + +import type { DshAgent, DshPromptReferenceProvider } from "../adapter"; + +function lineAtCursor(text: string, cursor: number): { readonly line: string; readonly lineStart: number } { + const lineStart = text.lastIndexOf("\n", cursor - 1) + 1; + const lineEnd = text.indexOf("\n", cursor); + return { + line: text.slice(lineStart, lineEnd === -1 ? text.length : lineEnd), + lineStart, + }; +} + +function fileCandidates( + candidates: readonly FileReferenceCandidate[], + quoted: boolean, +): AgentPromptReferenceCompletionResult["candidates"] { + return candidates.flatMap((candidate) => { + const insertText = formatFileMention(candidate, quoted); + if (insertText === undefined) return []; + return [{ insertText, kind: candidate.kind, label: candidate.path }]; + }); +} + +function sessionCandidates( + candidates: readonly SessionReferenceCandidate[], +): AgentPromptReferenceCompletionResult["candidates"] { + return candidates.map((candidate) => ({ + ...(candidate.cwd === undefined ? {} : { detail: candidate.cwd }), + insertText: formatSessionReferenceMention({ + label: candidate.label, + sessionId: candidate.sessionId, + }), + kind: "session" as const, + label: candidate.label, + })); +} + +export function createDshPromptReferenceProvider(context: Context): DshPromptReferenceProvider { + const fileReferences = context.fileReferences; + const sessionReferenceResolver = context.sessionReferenceResolver; + return { + async complete(input) { + const { line, lineStart } = lineAtCursor(input.text, input.cursor); + const token = activeAtToken(line, input.cursor - lineStart); + if (token === undefined) return undefined; + const signal = input.signal ?? new AbortController().signal; + if (input.source === "files") { + const candidates = await fileReferences.list( + input.agent as unknown as Agent, + token.query, + signal, + ); + return { + candidates: fileCandidates(candidates, token.quoted).slice(0, input.limit), + end: input.cursor, + start: input.cursor - token.prefix.length, + }; + } + const candidates = await sessionReferenceResolver.listCandidates( + input.agent as unknown as Agent, + token.query, + input.limit, + signal, + ); + return { + candidates: sessionCandidates(candidates), + end: input.cursor, + start: input.cursor - token.prefix.length, + }; + }, + }; +} diff --git a/packages/orbis-remote-dsh/src/plugin/dsh-session-catalog.test.ts b/packages/orbis-remote-dsh/src/plugin/dsh-session-catalog.test.ts index 5621973..5d615d7 100644 --- a/packages/orbis-remote-dsh/src/plugin/dsh-session-catalog.test.ts +++ b/packages/orbis-remote-dsh/src/plugin/dsh-session-catalog.test.ts @@ -47,4 +47,31 @@ describe("DSH session catalog", () => { { createdAt: 10, id: "legacy", updatedAt: 10 }, ]); }); + + test("hides only subagent-origin rows while retaining ordinary parent-session forks", async () => { + const cachedIds: unknown[] = []; + const persistence: DshCatalogPersistence = { + list: async () => [ + { createdAt: 10, id: "child", origin: "subagent", parentSession: "root" }, + { createdAt: 20, id: "fork", parentSession: "root" }, + ], + }; + const projectionCache: DshSessionProjectionCache = { + cachedSnapshot: (header) => { + cachedIds.push(header.id); + return { values: { title: "Fork title" } }; + }, + }; + + await expect(listDshSessionCatalog(persistence, projectionCache)).resolves.toEqual([ + { + createdAt: 20, + id: "fork", + parentSession: "root", + title: "Fork title", + updatedAt: 20, + }, + ]); + expect(cachedIds).toEqual(["fork"]); + }); }); diff --git a/packages/orbis-remote-dsh/src/plugin/dsh-session-catalog.ts b/packages/orbis-remote-dsh/src/plugin/dsh-session-catalog.ts index d8044c2..f788533 100644 --- a/packages/orbis-remote-dsh/src/plugin/dsh-session-catalog.ts +++ b/packages/orbis-remote-dsh/src/plugin/dsh-session-catalog.ts @@ -4,6 +4,8 @@ import { stat } from "node:fs/promises"; export interface DshCatalogHeader { readonly createdAt: number; readonly id: unknown; + readonly origin?: "subagent"; + readonly parentSession?: unknown; } export interface DshCatalogPersistence { @@ -15,6 +17,8 @@ export interface DshCatalogPersistence { export interface DshSessionCatalogEntry { readonly createdAt: number; readonly id: unknown; + readonly origin?: "subagent"; + readonly parentSession?: unknown; readonly title?: string; readonly updatedAt: number; } @@ -39,7 +43,7 @@ export async function listDshSessionCatalog( persistence: DshCatalogPersistence, projectionCache: DshSessionProjectionCache, ): Promise { - const headers = await persistence.list(); + const headers = (await persistence.list()).filter((header) => header.origin !== "subagent"); return await Promise.all( headers.map(async (header) => { let updatedAt = header.createdAt; @@ -56,6 +60,8 @@ export async function listDshSessionCatalog( return { createdAt: header.createdAt, id: header.id, + ...(header.origin === undefined ? {} : { origin: header.origin }), + ...(header.parentSession === undefined ? {} : { parentSession: header.parentSession }), ...(title === undefined ? {} : { title }), updatedAt, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 47454a4..13199ee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -80,59 +80,74 @@ importers: specifier: ^1.0.1 version: 1.0.1(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(dae76ef0faa9a0d18a9ed8231e7e2271) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(b2bace9301ffa465c6cb11f7fae1f096) '@deepseek-ai/dsh-agent': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-attachment': + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-client-locale': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) '@deepseek-ai/dsh-client-runtime': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) '@deepseek-ai/dsh-client-ui-primitives': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-client-ui-settings': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) '@deepseek-ai/dsh-client-ui-slots': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-credentials': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-file-reference': + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/dsh-home-paths': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-host-apiproxy': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(20514f3a3e01200624daa2ce81cb702e) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(7a1c54e2b954eca6f88bad802758761b) '@deepseek-ai/dsh-host-directory-picker': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-host-directory-picker-browse': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-host-webserver': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-llm': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-plan-mode': + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(b66cd71ae35f2828793c3b8a2858d514) '@deepseek-ai/dsh-session': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) '@deepseek-ai/dsh-session-persistence': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/dsh-session-projection-cache': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(5ae699d01eec9f3ccaa1e8c13f88dd36) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(5675a3df65adc346aa213cdd0bac196b) + '@deepseek-ai/dsh-session-reference': + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(535ff208b76500c8770cfd701efd9f97) + '@deepseek-ai/dsh-subagent': + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) '@deepseek-ai/dsh-workspace': - specifier: ^0.1.0-rc.7 - version: 0.1.0-rc.7(52d55750df813bb508c3c8815dfcc2bd) + specifier: ^0.1.1-rc.2 + version: 0.1.1-rc.2(ca1aef6913f66bb64a14405a8170db89) '@deepseek-ai/schemastery': specifier: ^3.18.1 version: 3.18.1 @@ -452,1484 +467,1482 @@ packages: '@deepseek-ai/cosmokit@1.8.2': resolution: {integrity: sha512-muBOKtSrUKU5m/xpq8ZXWL6hQ/jgd4PhU2PqH97bcxIiLEJfNwZOGQEx4t/aS/GgxRAR+ra9pMHPMtTHU4sqqA==} - '@deepseek-ai/dsh-agent-default-model@0.1.0-rc.7': - resolution: {integrity: sha512-zHtD4FAqxzidyNiyx1bpvLHdOTTsKnmjlHRqDS1KegIMSTNFmmp1B2bHdAUXp/OH7fPDmv+1ZXzDoJhBNUY9jA==} + '@deepseek-ai/dsh-agent-default-model@0.1.1-rc.2': + resolution: {integrity: sha512-Pv+4p20Eol7Ds/n0OS0vjtChCWfFTJAMThxugXcEcLKEJ9WAtpI4mzWfLgjmeVXnwD2yvp6HlLKDrrQV9PIkww==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 - '@deepseek-ai/dsh-agent-instructions@0.1.0-rc.7': - resolution: {integrity: sha512-laLz5ee7tKqVzrj15ztHuOnJLxDiGlqFOm6mEJUjJPWWD9Yzj1Iq+6WHZZ3Hw66vrNzYKqEN0TBofWF3DA7OzQ==} + '@deepseek-ai/dsh-agent-instructions@0.1.1-rc.2': + resolution: {integrity: sha512-a3xKsOsqmlWZaGxXfIr97ULJlXSI1clZt0DCSjCaULW4Z1y67DzG8w/kRsb+/Z1pksRMrJE7faLMC/i9S5Y2Ew==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-fs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-home-paths': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-fs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-agent-loop@0.1.0-rc.7': - resolution: {integrity: sha512-98jV+6XnkZ93g4C1BJ/hCcC8k4GVhH+oNrkhLFvc6aOQz6o+9kdV8IrgEVr0qRcAfHKlCMfiV4BIDz4eBBoziw==} + '@deepseek-ai/dsh-agent-loop@0.1.1-rc.2': + resolution: {integrity: sha512-2uJZ6kjJ3IYLRGn6/NhiZgD576ABcbERB/nkReR9TEUMO2zWkz6OuKtVwLyFCFSni2T25Jv+clKQWt7D4MhU3A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-agent-presets@0.1.0-rc.7': - resolution: {integrity: sha512-T/VcMV7lrXCFmRKrtoMTAz5DAdUmku6hz95wbikRvRc0WizIwQ3R04ke9KIeDiQcxK8xkE8cx+IYqEWa9C5gPg==} + '@deepseek-ai/dsh-agent-presets@0.1.1-rc.2': + resolution: {integrity: sha512-88r3jkrbdwTgcP3MZLIUX458Ecu8JcLmZa7PtPszwf33yFoWlZvZmgjyn5ETHV55plNQ8gKMRm9a0RwzGGmzCw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-include': ^1.0.6 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-atomic-write': ^0.1.0-rc.7 - '@deepseek-ai/dsh-home-paths': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-atomic-write': ^0.1.1-rc.2 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 - '@deepseek-ai/dsh-agent-tool-presentation@0.1.0-rc.7': - resolution: {integrity: sha512-RAtrfRyLZ/ob9lW5/fKeU7T4LYPTXYP7qCmu2i7ZBqwHseMdYHk0U1Ti8z2kr2NF4LIzHNUXIwaE9s7za5cwuA==} + '@deepseek-ai/dsh-agent-tool-presentation@0.1.1-rc.2': + resolution: {integrity: sha512-l1C7Z+erWcfj6Ak5EQbcCAPW/0+na4iOXwGknozHgKILLCK2C9CWcrTK0LwozvUPdqh0gFUucSOhi68HQ61srg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-agent@0.1.0-rc.7': - resolution: {integrity: sha512-AqBQavJYgbCUUYBHP7OGCaw8WN5082NXYQOoOfNRO72bub3E+/nWkl8b4B7BAJdFfyLo9ce+Kgb1BCHSJU/JLg==} + '@deepseek-ai/dsh-agent@0.1.1-rc.2': + resolution: {integrity: sha512-cC7lnJe7JgPFcreNXxcxLMxQd78LnpVO9ZXROjZsGRQN1zGH6i/DduI892F1am85IfzzO+XTxMwwUHmfwamb0g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-anonymous-user-id@0.1.0-rc.7': - resolution: {integrity: sha512-g39W2HSWum6ghJG3src3rLVR8mnCsc0xCBSRpef1Fxgsjjn1LS2KNstKThXQtn7lYQZM/DNE7uiaOmsLxayeJQ==} + '@deepseek-ai/dsh-anonymous-user-id@0.1.1-rc.2': + resolution: {integrity: sha512-ZQBsDhI0VuFwoDnq75VT2gPJdMPmBYfWM3EBDmUkwHM0E2dmyr+iLGXxp33a7M64r79x7kN+81KOTEL5LS0E8A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-home-paths': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-api-gateway@0.1.0-rc.7': - resolution: {integrity: sha512-tcoOuHMSqYqCtMxLjWBHKN+glS56XaUo3ImphvDvUkB84FyU3btHNJbYeAt2oXoWbHfOedcIRWpfNN4tSmhPwQ==} + '@deepseek-ai/dsh-api-gateway@0.1.1-rc.2': + resolution: {integrity: sha512-i/e/Ecg1QCjMePUFHBfjRQU3NbDV0IdORwQbQD6RpiirzyvAIm4vvZgmW/FfgkO2XYJHHIVjo3i1i0YaHPcQag==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-registry': ^0.1.0-rc.7 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-registry': ^0.1.1-rc.2 - '@deepseek-ai/dsh-api-remotes@0.1.0-rc.7': - resolution: {integrity: sha512-dsP69u0avHRcJTPzngudqCm73UaTxNvGi/557DNPi3cOSoIh1SyPzPgk8W8rQQEFTL07rkwt8KfdQoMU5ga1fg==} + '@deepseek-ai/dsh-api-remotes@0.1.1-rc.2': + resolution: {integrity: sha512-mtmMxA0TZwTjy46E2DF0kmsPCXVq6RBhrwEHWXBaRzc0DLjnYqmJODrZ0X+XwXOkwFZtDxWSv/uheiIsXf8now==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-agent-presets': ^0.1.0-rc.7 - '@deepseek-ai/dsh-api-gateway': ^0.1.0-rc.7 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-cordis-host-runner': ^0.1.0-rc.7 - '@deepseek-ai/dsh-credentials': ^0.1.0-rc.7 - '@deepseek-ai/dsh-goal': ^0.1.0-rc.7 - '@deepseek-ai/dsh-host-plugin-inventory': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-message-feedback': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-registry': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-agent-presets': ^0.1.1-rc.2 + '@deepseek-ai/dsh-api-gateway': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-cordis-host-runner': ^0.1.1-rc.2 + '@deepseek-ai/dsh-credentials': ^0.1.1-rc.2 + '@deepseek-ai/dsh-file-reference': ^0.1.1-rc.2 + '@deepseek-ai/dsh-goal': ^0.1.1-rc.2 + '@deepseek-ai/dsh-host-plugin-inventory': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-message-feedback': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-reference': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-registry': ^0.1.1-rc.2 - '@deepseek-ai/dsh-app-boot@0.1.0-rc.7': - resolution: {integrity: sha512-3qgv994YzNGrlDcOyarL4vqNky3ttmYsUhDsMgGdefALK6gpL7ZCWF+9m0ehZjGY0Rb4VcBdieJYOY2EgpWb0w==} + '@deepseek-ai/dsh-app-boot@0.1.1-rc.2': + resolution: {integrity: sha512-eynZWb0oNPKc4OO3HPokqFfz4b5sUEq+EjqhKE2TUWsUsOTgFO43l2Ai3LibqLu6XTpYeHCTbsRLM4Aqg0deBQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-group': ^1.0.1 '@deepseek-ai/cordis-plugin-hmr': ^1.0.16 '@deepseek-ai/cordis-plugin-include': ^1.0.6 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-home-paths': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-launch-environment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-launch-environment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 peerDependenciesMeta: '@deepseek-ai/cordis-plugin-hmr': optional: true - '@deepseek-ai/dsh-atomic-write@0.1.0-rc.7': - resolution: {integrity: sha512-LxRx6K8FJ8bXZHiNhH6Rvj+jh/ZIpolmsmi138XrvMUGvbOBWE6QLbdzcgTgwrYZm5GP2kqqLe/3gQlgtt2bXA==} + '@deepseek-ai/dsh-atomic-write@0.1.1-rc.2': + resolution: {integrity: sha512-QqNSF0+Ddn6qWY480dlilwEy6FLv3JKEWx1UQgoNJrxD4y54SDRzqBQB9yDXWKOoOGyC+05TN6/Px10GNIzMWA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-attachment-local@0.1.0-rc.7': - resolution: {integrity: sha512-7i2Fuj811MFeqrUYnpEG3VBoShZEjQ7zNXdLOa1W5hZ4TWV+tUjX7pJoN88U1LOgEOWMc9uzSPqGA5/aKBYgdQ==} + '@deepseek-ai/dsh-attachment-local@0.1.1-rc.2': + resolution: {integrity: sha512-bU24CZc2ElJ7JPUUeWLcibRsiuXjsj9dVuUu8yx6t2vensjbqo70kzAIA4eh9q6ai4CeU1/9cRnKLcMQbgNxMQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-attachment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-home-paths': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-attachment@0.1.0-rc.7': - resolution: {integrity: sha512-rsR/xVNOGIig8gXxhrKnkd6YD7aYliGtA/e7b4DlPawMpLhsItAh0HQ832n8LJn1aGZxKf68y9PRgzfljsveOQ==} + '@deepseek-ai/dsh-attachment@0.1.1-rc.2': + resolution: {integrity: sha512-rCYAt8QsawP1yfDCU7XxNwYT/XWvyFsxYrkwhLLkdfW83QVD0CQHizSkTQE7RFX74nKUD1z3sTLfnLr7xneArw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-base@0.1.0-rc.7': - resolution: {integrity: sha512-lpAMUO3PdxZwLnCQOdOZ/fu7eI27Ckz3Ec9MB9QYL4u34yatndCliTrGaFBDoNHoWt3V4gojzszRFrEx+Vce/g==} + '@deepseek-ai/dsh-authorization@0.1.1-rc.2': + resolution: {integrity: sha512-+ye7d4XzenQ4kpfY2nMIlUhoIbcprotL9fmkTBahafIPDhyyph0JzmUVhz1AGnkIqZc8TltjGzX2ssald+f+3A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-credentials': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 - '@deepseek-ai/dsh-bash-local@0.1.0-rc.7': - resolution: {integrity: sha512-fsw2Ex5ExyX4A62P1+fodbnUG4PXOSyHAM4YtaLg2kcPcElLwatYNPG3gEuulxwbpWDlx/OWvbjHThnJUuzaoA==} + '@deepseek-ai/dsh-base@0.1.1-rc.2': + resolution: {integrity: sha512-DT1kSaseoTZ0b8pwZ5biRkqez2K8AnsLataRiCPsn3uUuxupZOjM1e8x9W+kpkWWFykWy1mbCPhzDRVJ+pLCbg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subprocess': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-bash-sandbox@0.1.0-rc.7': - resolution: {integrity: sha512-xX+XhqPeRaOqMPDNk8dPboHza2pP13hTIMt+ztvd8WpD0t35idrNrcsXEYs+CtKiFWn6I05WB1BeAimWkLDOcg==} + '@deepseek-ai/dsh-bash-local@0.1.1-rc.2': + resolution: {integrity: sha512-GAjYTVsJKXkAptjO767xqt0otMufZRtj2qvOAvkx5Bfusd5R6+mMUkSbcx2K2A8WMbltyCbjwhZf4Tu4xyJAdw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-bash-local': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subprocess': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-brand@0.1.0-rc.7': - resolution: {integrity: sha512-P7+w0fN40yXXQkV360p6jQi63pcl68OOWebNGN5gf8w8sguvni2mA1cU8RLZzDkRNFSZD+BCw3D4uWYM+hhh7A==} + '@deepseek-ai/dsh-bash-sandbox@0.1.1-rc.2': + resolution: {integrity: sha512-bagZDMZ73C1dVDBjFCn1flNZ8aOEel4dsmDJTfmagqeYPXfIJDFKPhDc3lWjc+o6jMNfmumeUJ62dwhHkjJHKA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-bash-local': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-connection@0.1.0-rc.7': - resolution: {integrity: sha512-JZWDKCbwKHOUcm7+JadKA3aJCSEB34XfPycCtPgdWfABIiHMaSpnmSVy/8Jed4hw6hxhnR6A3rnvW02Xr2yqwA==} + '@deepseek-ai/dsh-brand@0.1.1-rc.2': + resolution: {integrity: sha512-8vXsAXoUdzKAgvd/E9DgyT6HKmR6ZM4rtJ3fs/XoJ6n2kBk4tWil8Lv+jxCMWJeMOnTJF55gu2+NWQ3ECFPtJw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-host-webserver': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-hmr@0.1.0-rc.7': - resolution: {integrity: sha512-uJVHLMgmf19JI7UCqrC8jipf/5oaM539RPJ5sNv+BJCbt9Ik6VqaKbu4uiF+gz8i8EqbXV3D9criL1IiCS+pdg==} + '@deepseek-ai/dsh-client-connection@0.1.1-rc.2': + resolution: {integrity: sha512-YX2WLA/aZdDQsien4Zo7IHTEfYVJ+4QhRXbgA6BrRUM23NSP/+V3K00dQYyQVsF3ZwocE5uyvlZvbYeg1Iz4ug==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-host-apiproxy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-host-webserver': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-hmr@0.1.1-rc.2': + resolution: {integrity: sha512-q2YqCvIWXfVQBh+AWLQFDF2cMu2ZabgahGKrWXHqQ5q1dY0ae9CvDV+bCMf8+EwQgz1axSOXWQ35+SSKPGwGlw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-client-modules': ^0.1.0-rc.7 - '@deepseek-ai/dsh-host-webserver': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-client-modules': ^0.1.1-rc.2 + '@deepseek-ai/dsh-host-webserver': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-locale@0.1.1-rc.2': + resolution: {integrity: sha512-AMoR4FwMPLmt6WlYd4m0PCoxXj4qqMhpElBQZSc3r3NyGCZIuleU8tCG1xphGtr/w9mA1Y0kUX7Ftdmf7yV4FQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-locale@0.1.0-rc.7': - resolution: {integrity: sha512-1onX79wXJfAzdwIJPUI9jEVYeVQJfWwyQvyL/OmGrnkCs8srJHIXBdYtsUC7ILlR13y5nOY4j6bifBOAoGRn6w==} + '@deepseek-ai/dsh-client-modules@0.1.1-rc.2': + resolution: {integrity: sha512-D0vRgJJpMeTB4ExJTGHk9ay01kLxfK5zvp6bgFjYGlk9sBJgCE3qsOGBFNqD369ylJx4W2oyExAH9lOZGNk3Rw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-modules@0.1.0-rc.7': - resolution: {integrity: sha512-hczFl0TRH5sLt/dS0+TMCtQvfDoeLw/r88L6n3rXfY6Q1e4Yddg6RAv4kGsUoMoLYgWi7qPwD6HcUGgyKkDPHg==} - peerDependencies: + '@deepseek-ai/cordis-plugin-loader': ^1.0.2 + '@deepseek-ai/dsh-host-webserver': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-runtime@0.1.1-rc.2': + resolution: {integrity: sha512-o1FH7Rlns0Xaxh4SBOWZ1wpa0ViGw6DXWNm5NFpsBTGYD94RGdIrud3QxgrfzmQKLzu33gvS8JL/IjqbzWyYsg==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-host-apiproxy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm-retry': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-title': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-registry': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-agent-preset@0.1.1-rc.2': + resolution: {integrity: sha512-U8iT0+jQSbIdPPF4rYYEhmFaTyewryOgL/ye3322UhuFXFapjQcPTBkchvZYYWnTJ/SGB2CpKXLQqiVSjsN2tA==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-attachment@0.1.1-rc.2': + resolution: {integrity: sha512-c3tLJL7Qhok4NzVTE/OomBAsNSLbryT0UndqLaxx/9hcS4W7A984SD0iOF9VuZT4dgZ6dQjMse9eIe9M7Kg08Q==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-brand-official@0.1.1-rc.2': + resolution: {integrity: sha512-ORrj3w92n5tif0ecKQy/xGd6vlHPkK3XZCxT0+7JUeA1GRo4TW/wc5ljm0/6hM4FcqKf2x7ndW+OdWfZ2Rwfdg==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-sidebar': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-commands@0.1.1-rc.2': + resolution: {integrity: sha512-k7gIeD/+zRF2jtGPi5tG2vZMUkgVnS9HYPA2yzwB0ilB1NhvL/Xbne1Y9vO4aBAakFE1Be1/1RMIKW4PMv0fkA==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2': + resolution: {integrity: sha512-5PCyHw2Y7nz9geEUT23et3h2XghJm7/3iWDAKa1/4ldIfCnjfxiZ5ZNRdZ9Xxpj32tBmh2lc6yxIJwrtepIyTg==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-layout': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-compaction': ^0.1.1-rc.2 + '@deepseek-ai/dsh-goal': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm-retry': ^0.1.1-rc.2 + '@deepseek-ai/dsh-permission-presets': ^0.1.1-rc.2 + '@deepseek-ai/dsh-plan-mode': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-stats': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-token-meter': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tool-todo': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-cordis@0.1.1-rc.2': + resolution: {integrity: sha512-zUtgUW1N9m+rnyGxVI1uXmXxWA11JxK0/W5sI3ZiwhIzYJNvIMtkMyBjsoNVOVpgd3krwViBxFfbFpP20ew4pA==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-sidebar': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-tool': ^0.1.1-rc.2 + '@deepseek-ai/dsh-cordis-client-runner': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-deliverables@0.1.1-rc.2': + resolution: {integrity: sha512-VA6tXDGTgHUvudrbPqgvUCnZcuJOc49OTm4k2tGrazm3uUdO7W5uO/VeuAVD8eEA9afS/0IBqqs0WHc3Q8Cojw==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-directory-picker-browse@0.1.1-rc.2': + resolution: {integrity: sha512-O4fd87GB6Pt0+FgiiygbV/5+DmLI+sPHEBOWouyWqkDKZ19pgRZ541FpYNOmxf6Hjhf8wiG+Zpy3CYi9+n0+vw==} + peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-workspace': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-runtime@0.1.0-rc.7': - resolution: {integrity: sha512-Ish2uFML2FibTpzo7QyVSt29jf/iG4j9BFQ41ychVMPRR3trJGM3h8CMuam3oKWlvB8OXVXFd6gO929w6PI0Ew==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-registry': ^0.1.0-rc.7 - - '@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7': - resolution: {integrity: sha512-acGeXjGl2lMqCO+jY1z9/FKbIiskk7FZO266OSBOwHJQP6yBd5MBnrvtPJUB3glP6xsQK8neFLLtRwVgRJ+GqQ==} + '@deepseek-ai/dsh-client-ui-directory-picker-native@0.1.1-rc.2': + resolution: {integrity: sha512-ubC7861LSIIKLR8AU/vR/V79tOffQE7bhzaKbGl1A0IPruCZCFZiyYD5J8P0RPvWPSaePXjF/P49or5bF//tdg==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - - '@deepseek-ai/dsh-client-ui-agent-preset@0.1.0-rc.7': - resolution: {integrity: sha512-85GLGfg3iEISMhHxn9ZePkB/mtXIJdWkpvSHCm9bZizK8KiyRfA/OjDpKfk5kvG16xKNV0KQo65HOf0JdwtyXQ==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-web-react': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-workspace': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-attachment@0.1.0-rc.7': - resolution: {integrity: sha512-IRA778yZpOaoJEkODlfydd6yuASf7hF229s64IY5zaY+22K7D+X1cmDo8D13UylxQXFPAomTlHtQtQpCtghKXw==} + '@deepseek-ai/dsh-client-ui-goal@0.1.1-rc.2': + resolution: {integrity: sha512-nyoloPDya2sdsTSn4cFJmJBZWpr2EVgJ+oWAkwIrDGWpDTkQXaX2G44bDmMZas8dY6F2uODfLIBp/rYe4ZdPOQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - - '@deepseek-ai/dsh-client-ui-commands@0.1.0-rc.7': - resolution: {integrity: sha512-gLuzEmgVhEIjVeLlmIAdKX/SEEFavnVOD0mQPlHIMqFAX/80yzYfRD7CMxXc0amOj7uBcw7qsSa4WzFvaWso3w==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7': - resolution: {integrity: sha512-CyjFjP+oRJQ4ydX8WVrKUeloQnAJRA/fN6RRY6NAHldFC9pd1l8YogmTcR1JuCIlqzMnLRyYlGODQBYz8WOjmA==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-attachment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-attachment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-compaction': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm-retry': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-stats': ^0.1.0-rc.7 - '@deepseek-ai/dsh-token-meter': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-cordis@0.1.0-rc.7': - resolution: {integrity: sha512-8OwbFdMHRIE7L2PvoIGwSOkhUYsznr9u773K3s64DMxp4oLLl3ZzHc2hfaOfQTTmyE7ItpDJm8Von42LsJBKaw==} + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-goal': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-input-trigger@0.1.1-rc.2': + resolution: {integrity: sha512-jro0WgcJdi/ClpyKGWg+/0nEq9mmcda1KIoMsB+o9lLqebDUce/enxdEP0UtIEpQVOJ6EMMDY5Bsn+WtrdJNhg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-sidebar': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-tool': ^0.1.0-rc.7 - '@deepseek-ai/dsh-cordis-client-runner': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-file-reference': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-deliverables@0.1.0-rc.7': - resolution: {integrity: sha512-uVN7TXKrGQMACKToSTPxOIeDlebQgi2OMiKBaKrYcI7jBsCRief3CTLziZ6Kups2h2s72Eo6gu/0eueccwLYew==} + '@deepseek-ai/dsh-client-ui-jobs@0.1.1-rc.2': + resolution: {integrity: sha512-G2yJqYpvfEvqSSJ8Rl61gSfoCcX2v3yGEidKzN5InbS0mcewMqLUfn8RihV2fDKu6UG3nggDGN6aahg0csq93Q==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - - '@deepseek-ai/dsh-client-ui-directory-picker-browse@0.1.0-rc.7': - resolution: {integrity: sha512-5lj27c68wWqroyIOXmFPGUDFQxICDYEcYAJSuV5ZbnHXyN2cBTTDTW4zJPwisY5GhKfiJXjhS0YZqLi54/Xn+Q==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-workspace': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-directory-picker-native@0.1.0-rc.7': - resolution: {integrity: sha512-SZ9NuuIDrBjHJsEcnqwhbiCZknjkyNd0ZBHDl453p2WHkfA8zwDMUJRdAMWd0sC95WH2Yu4rMzkAVYjZwCBjVw==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-workspace': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-goal@0.1.0-rc.7': - resolution: {integrity: sha512-zZEAbaA6ZCMw2ZDGMWFm+nBXnBBRfI8StRtx33GoFcJHlMIP5mJfuSm2gcFHdO+3aeAmuTf5G++DdWwLRLZv9A==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-goal': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-input-trigger@0.1.0-rc.7': - resolution: {integrity: sha512-Sfn4YlS6dKm/ojGRyZL5oq34+GSeyirzGkmqhtoX7hpjHAhBVmugz2jku2ijYEjjFtD6YKYdWwvQxHdRaHFZ+w==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-jobs@0.1.0-rc.7': - resolution: {integrity: sha512-q8WvaB1gxj4OBPCLC/luDLQ7TRY2iwuhOZKrwG1MbXhSmfd14RiyKHG1p/5HIxwTJZfqnxuN69NzdAZY6cjU8g==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - - '@deepseek-ai/dsh-client-ui-layout@0.1.0-rc.7': - resolution: {integrity: sha512-4z5xkH/O8GT6ve1IX15WTel236fJwSuRZusMKJ9qIxdslZZ1h+wMbtgX3tCqg7mTtMznRDspCpC1b1QSAt4nTg==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-theme': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-message-feedback@0.1.0-rc.7': - resolution: {integrity: sha512-B8y2+tu1xorpHmwo8KWsLFZwa4P0uFCI32H1SwYyQjBjoTbSb+TOfPA3i6na988XMiF8NCcxynTFzHRv/77AJw==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-message-feedback': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-model-selection@0.1.0-rc.7': - resolution: {integrity: sha512-Gr5goo9dEGCR/CqpeJgO1mGO1ZqoX4tpuAMuZoq3wmLwaeK8qOMMhHGTxGOI9NbBD1snvbUzOJP/LUoNrS61YQ==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - clsx: ^2.1.1 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-permission-presets@0.1.0-rc.7': - resolution: {integrity: sha512-OO/miNmPCJS/5GffqXeBnPvdx1HnHvi9AHb4Uoy9N+zucwo7ZQV40lQ+ODcAX9UaRW/6x3a8CxQ3G4q1t/ltKQ==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-schema-form': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-permission-presets': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-plan@0.1.0-rc.7': - resolution: {integrity: sha512-b6qqGcq5MxulD+XBxcD3ZewgJ17OUegeSA0Ov0afC4hvgyhWhZP3b+odH92ax7Ckaat8/Yx2j4NPpu81e30qLA==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-plan-mode': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7': - resolution: {integrity: sha512-x3cnIAeOdDMd7no8JwP65q7J9Fj4xQWAZPPJY4MzgfQAAOcHJb0T0d5Uo4FXMiCcTeU/73n7BssS5PE7jjgiDg==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - - '@deepseek-ai/dsh-client-ui-settings-general@0.1.0-rc.7': - resolution: {integrity: sha512-L5heQqyzZ/Kd+/hj8Ptd89OOss6FI8TjD3iwC47V3Xj/8ZgtnHwEA7vSqeoTe03uzRz8Zd8ec+bz/q47z8/I/Q==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-sidebar': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-web-react': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-settings-models@0.1.0-rc.7': - resolution: {integrity: sha512-q73sXPomdUGpucj6pgKuO3WrGzqCoqyZhbqOZQL7EIdJcl9N3P+tNhsNj+ls1UOcOpb36Ou2NzUdIeyHSNVmKg==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-schema-form': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-web-react': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-settings-plugin-inventory@0.1.0-rc.7': - resolution: {integrity: sha512-Ei6q5/UdUC9SxrTcbn/XR1NCe4iZgovhmbKCKBKBHMCNxhE0umdUJL8M7uKZdlpItJQ2ggiK9L8RmztKDmv59A==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-settings-plugins@0.1.0-rc.7': - resolution: {integrity: sha512-oOOgj9NTv1GE+QdKhBfkcWG2+WS9uJz5NYgIZzahbg6xCbu4a2vugcCKcyslQEKKOB35mGHH/orPcoj2N+DeHg==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-web-react': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-settings@0.1.0-rc.7': - resolution: {integrity: sha512-I02BGKw3/yG25yf5omsMwmwJ2CnFyxTvbxqgRgSmTCUxATkLT87K8SxcemRZqXnFXQZhm6Il6bwVCpVfRfmNoA==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-schema-form': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-sidebar@0.1.0-rc.7': - resolution: {integrity: sha512-YduvLROf3gniqYggfRfkvNDMtqvWlREmwxVtxullWTXhrgXmcPya7GCKJeru8ZuyrF3FU1XqOR8KJT+OzLSv7w==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 - - '@deepseek-ai/dsh-client-ui-skill@0.1.0-rc.7': - resolution: {integrity: sha512-jxqQhu4RkNjEf2zTm/h9qJZ+q/mHdSBVC05XqfsdNP1VRni9k9L/LcR2TWHfyuvM61drtdi5s+/ZW9pbxaQPiQ==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-tool': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7': - resolution: {integrity: sha512-5rPP/6IWZflhiegVHU56IOPGHtrhLgBV44mOFn2JNVwiwxxmKeIhEcnYD4M0eKkI+pRiJIO5WvkRYokIGgyFiA==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2': + resolution: {integrity: sha512-y7xSQyQYGuahLyJcSXpB+JbH1F5lGEc3L9K8cjLy5vd/L9N6gLFLWyeGdlGxxM4jxRt1+rAHDDZ/zl7b8GC5zQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-theme': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-subagent@0.1.0-rc.7': - resolution: {integrity: sha512-geEZbS5N68tYJIPSToWIFPj0EjRiJBzryLvv3VL+INqt6urYCEm2uY7arNLUFJhHpjOJVi45ZM8qlh0qw5Sk7Q==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-token-meter': ^0.1.0-rc.7 + '@deepseek-ai/dsh-client-ui-message-feedback@0.1.1-rc.2': + resolution: {integrity: sha512-ABh9GhtUmwUXtBMQg/rMrTgyEXrCIuv7gK2UGJ2waurhblSrw2br7EYqTcIsZbVdFIec9+sHHVCmowqJf3lGog==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-message-feedback': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-theme@0.1.0-rc.7': - resolution: {integrity: sha512-T5YaUZEJv0XHL0VYuP4/Vg+tbQGgRq0+gqsbqryuU5nq59PPISDED81zpCSb1jkZ/xFNc5Weq68+54cUGndpQg==} + '@deepseek-ai/dsh-client-ui-model-selection@0.1.1-rc.2': + resolution: {integrity: sha512-CEFpGeEL6gtz0jTRWEpHcEH1cBIwzY9023vWmgyjjcFDOcaKv3G324n+IXweHDttbWGSKdtxfpi4FMOu14W3Og==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-host-webserver': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-tool@0.1.0-rc.7': - resolution: {integrity: sha512-smo+6QWddCdtLQb4AUVbaaxsu3h8ImQlMDTBYK4qeoxlVTQdKgrNdgtQe5YoB8bvuGLQd6obVVwwScPNaD73xw==} + '@deepseek-ai/dsh-client-ui-permission-presets@0.1.1-rc.2': + resolution: {integrity: sha512-dR+7VNod6b1OU3NF8eeAC8if1K+Aj8Z80gj/ly5sBcfV2ezRuhWMwiazFrQfFum5k/EDuoKTL5lOt3pciWEu5w==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-permission-presets': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-trajectory@0.1.0-rc.7': - resolution: {integrity: sha512-Iuksc3q9Rpwj+EQMoCv9BqfLBEclDiUGiGwUec2p2FhZjr1yEBK4ujlQK2N71EteyBjQ5yODE+/S+TzNkrou9w==} + '@deepseek-ai/dsh-client-ui-plan@0.1.1-rc.2': + resolution: {integrity: sha512-1kMI5AgyX3LPdXNEr75CaLwC40SIpYUCxWkyVO0xcoZ5VIXuB/E9jmBXTkEXS5US6IzSHWvam5Pm9PahPwX/dA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-compaction': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - react: ^18.2.0 - react-dom: ^18.2.0 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-plan-mode': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-user-questions@0.1.0-rc.7': - resolution: {integrity: sha512-HrFy3NpBx8J1Az+4WCljgXQvt/TTa6G3SKgtF0ZxdstB+BYoiMyBjO8aXAKQ94BM7zLcOVfUmL1bCb9t6tFmvg==} + '@deepseek-ai/dsh-client-ui-primitives@0.1.1-rc.2': + resolution: {integrity: sha512-vCWEha1yhY//26j/LppHC/xZrU6MOuw6lcI4bJr5L7ppbY8h7GAR24ozBr+4ESMtQ5OmsvqGnsa/Kj5ZjSLfEQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-workflow-run@0.1.0-rc.7': - resolution: {integrity: sha512-XTKDLADe621GN+D2ysnOdVFvK1Et4nxvdrvsCxl7epsfrelsZD4l+/BleUQ+G/vQVZt3v03VkVVnE0SPGpt9Fg==} + '@deepseek-ai/dsh-client-ui-reference@0.1.1-rc.2': + resolution: {integrity: sha512-45Fsle7tGJsIjODdFFESK5PvO0Uk505UgRAy8vKUz36VGUl4v5WpofW562hFSaDBkUztbJQ6/UpCeEQnWs4bjw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tool-workflow': ^0.1.0-rc.7 - '@deepseek-ai/dsh-workflow': ^0.1.0-rc.7 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.1-rc.2 + '@deepseek-ai/dsh-file-reference': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-reference': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-ui-workspace@0.1.0-rc.7': - resolution: {integrity: sha512-+8TmQprJ4y1J9AyM+/ABkndWsv6/lwA7by6HlRup4Ks2auQBhejFG7FjZPFACjkWLuJaIgDUN1aRQ5MNFCanfQ==} + '@deepseek-ai/dsh-client-ui-renderer@0.1.1-rc.2': + resolution: {integrity: sha512-yCpJWKrA4DLd9lwHuUUIdId8H9Vcoq6xtQoNh3UxOYy4KDeoKbcMsRpOOShlnkxdJYGKOoRk3GpRaDw5RPlrwA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-web-react@0.1.0-rc.7': - resolution: {integrity: sha512-aw8s6RgMVJNNPTHB4TzVmKsuROp9yZDMKKXsMEEha8CESlHhCF1c+qxLsjAcilwY5CYCwin2T/3lot88k+ITiw==} + '@deepseek-ai/dsh-client-ui-settings-general@0.1.1-rc.2': + resolution: {integrity: sha512-0hXnCb+nKBdlNPgblzhckUQNVrUsfhwDWsexYWs2wFoSWcfALfwjwgN9ZMwS5dj9LLvl/rWib8w9a4miuhFENw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-sidebar': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 - '@deepseek-ai/dsh-client-web@0.1.0-rc.7': - resolution: {integrity: sha512-1pb5B7V8vhrgoCFsBwa8A+MsXkPvwPJ8fJ5ldMZ4Cd1RyFPgVev48LW/z2WF4tc6qkots2wnjZ2i6bMz8wvk2g==} + '@deepseek-ai/dsh-client-ui-settings-models@0.1.1-rc.2': + resolution: {integrity: sha512-LfGTsbJpCNG0nhT9nBzUucVxnJ5tlY78i5JmlUEb3fwEFUM2cq9pmhv5sXWFdn3LOAnGr0QcyTm+08iBubc6zQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-cmdline@0.1.0-rc.7': - resolution: {integrity: sha512-jNY9OOSpcH3csXqCwj8MMinByo42aUVIEauTSK1tNIOn6h6q0Y7SPu1ObIo5i3k0Khh/OWIiBTS1SbBlxcJHjw==} + '@deepseek-ai/dsh-client-ui-settings-plugin-inventory@0.1.1-rc.2': + resolution: {integrity: sha512-HSxcn/UbifCGsVSYPxd2dHlURTOqRQ0a907rmQ5TMdPCabEauD+yc0m910XcL+3rRlyTsfW/Vy6AjpNK8cAeJQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-settings-plugins@0.1.1-rc.2': + resolution: {integrity: sha512-NspsecIb4YdvE54jmaGBW/MjFyuu/MwUjQeM/I9iAgMOpLO+jOsoCOT4M8Su1Nfy1bxokgks9XcBJOcNGjN4Vg==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-settings@0.1.1-rc.2': + resolution: {integrity: sha512-WqEQkyjW467leTJoA31BgqM+nALI3JnrvN1IXDhJuKd8E9nXhTLJcRgDrovEUkh2cjbHF8g8gQJ5Qafg9PzJiQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2': + resolution: {integrity: sha512-UCilyaNPwMO54JYtpCW5leLL+ecwtoRd4sHNVNG94aPQAqZOrqH+hqrBBsuolDJ9d0cKG9K5Mtew0fPz/hByZA==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-layout': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-skill@0.1.1-rc.2': + resolution: {integrity: sha512-LMpSKA/QIqsv6uGawiMUOY0wgdCzoohBm2Dg7+DGvMmbxdHiUkp0N6HM1SbgO35sS/KP3qBmyDmDrvHrye2EDA==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-tool': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-slots@0.1.1-rc.2': + resolution: {integrity: sha512-6uBi+Wq+dH1Q8RaJpbK66TjzPlkcSNDWvNZgQXw45RRQCi1gnm/gxFOyJcSQvgqk4pvm2/h/aIvaM/Pa5PRFCA==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-subagent@0.1.1-rc.2': + resolution: {integrity: sha512-YvlWV2GpDVKR/0Ay4rn9whgPx1o0cLBV1TsOzGAp1yQbm2nKjJ3fUJgwcq2Tf6LAZLpJqGxmg8ji0upmkLBjUg==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-input-trigger': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-token-meter': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2': + resolution: {integrity: sha512-gRKI92D+EZtOy7UBkRfNvyL4e/3HikZ7exQSfgGpLEJ278/aXMvStNbL5ZgWVC41+MSZsBUk3dZAfbXNjelz2g==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-host-webserver': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-tool@0.1.1-rc.2': + resolution: {integrity: sha512-JLLkipHwhpjJsUTECuS7jMq8z1YD9CVYS5ZRZvIYvOd0OxgvBB/ga/CJ5MIIBQhCj8/gLvseAOiqV3wm2OF2Hw==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-trajectory@0.1.1-rc.2': + resolution: {integrity: sha512-8w8klclVCsqqVM6shVWe0vXtfs6pfEfviKHXPLtX70J+yW042wrRkOqcNh61W14QR+OCfq75TIJZbNPDiIf+2Q==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-compaction': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-user-questions@0.1.1-rc.2': + resolution: {integrity: sha512-rIyokmmWzOvT5W4zBRlPEs84PtcUXKleGW3oABHaAyIidCcWylT868xzXtUiPBh19Wkr734sZT3rYppoC9fqmQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-workflow-run@0.1.1-rc.2': + resolution: {integrity: sha512-XuAZStSyy834UdX3jcobv4ZleLXcuwGsn9BVk4/SSi6GKOG1wzsVgxJFi7IhaKGURxuCpheUQKe8+TuE1ScePQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tool-workflow': ^0.1.1-rc.2 + '@deepseek-ai/dsh-workflow': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-client-ui-workspace@0.1.1-rc.2': + resolution: {integrity: sha512-k/jB5ke2e+oNyNKzu4/PBlriwCHKVg5bY3kn7Co3MtWZdqbJ42hfwZkRNMnn+nmziQXCVXWRzuiHZt0xNTAveA==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-sidebar': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-cmdline@0.1.1-rc.2': + resolution: {integrity: sha512-0/dEVUm7Xy0aBo0DBqC5F3kxC5ahzKcmHOF+Q6E1lBqTwN2xytGYTh0TSfj+6rS31jDqxeIvWxy35bLl83n/Sg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-code-runtime-worker-thread@0.1.0-rc.7': - resolution: {integrity: sha512-CEGOMie1k733yc6TCSZuAtgbcs5H2QPO9wZnDnkx/kqaj3W+cEZGz6zZvljYNMWspNpomDTqOqpcB4ZAOI/K3g==} + '@deepseek-ai/dsh-code-runtime-worker-thread@0.1.1-rc.2': + resolution: {integrity: sha512-wE+6x4yGsyg4kntVQFOcb5PiAg2Wb3gs1UNY7SHWC7WOcWCAbREZRfqaoAAxO7AZuqlFhBou7wWc6dZqtGENkw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-code-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-code-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-code-runtime@0.1.0-rc.7': - resolution: {integrity: sha512-vzW82eU4so0qJQ/XS7BGBUSguJMAgEOW3GaJJW0g+W5ysBJg+UC/Jjo1Np8mPjSpjjl4eoyXpshJzrwjoxCpRg==} + '@deepseek-ai/dsh-code-runtime@0.1.1-rc.2': + resolution: {integrity: sha512-SgFresqH5UABzRQZ7tOfqzOLMHF7089VeH+mfcwNQH5peOavgEKrAGOYz/9RnISH0XmMrj/x177t8gfO8Uvo/w==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-command-compact@0.1.0-rc.7': - resolution: {integrity: sha512-zDBNVlCAwnieffyctzqZ7hUGLJqyTjqvtCEvzSNckmd2owyuYNPDIeFu4NTo/xN8Z/TISiuGbgA0wnIBCIsNtQ==} + '@deepseek-ai/dsh-command-compact@0.1.1-rc.2': + resolution: {integrity: sha512-rLNBnq5jo9nm4Etw5PrVtcYlFDTM8IQt8w5aL+7CQiEpC6OevP7QzvGrIbJ2VTG2GX9yN6fJosPd0Ky18EQuYQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-compaction': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-compaction': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-command-feedback@0.1.0-rc.7': - resolution: {integrity: sha512-DM/EGrz8vvgRJSxV4UAWtyJpxFi1v8gWkj/iT9q5iGex0zNdDO4Ml0/u/e73brmN3bsGyubsdUuIdkGsl8n/Ig==} + '@deepseek-ai/dsh-command-feedback@0.1.1-rc.2': + resolution: {integrity: sha512-0i0EDLFP0h1UpeWq1KrrUXKJFBK7aoCFfzcWnrrD9Lj36I09XfjNDJIm4kcYNTkbOFb4o3MWNw01FKC5rNJjXA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-anonymous-user-id': ^0.1.0-rc.7 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-telemetry': ^0.1.0-rc.7 + '@deepseek-ai/dsh-anonymous-user-id': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-telemetry': ^0.1.1-rc.2 - '@deepseek-ai/dsh-command-goal@0.1.0-rc.7': - resolution: {integrity: sha512-ezuYaKmblRkOaFLUpzrTK9DiTrbES2lBtmkzo/Fg4UteDHLBVEaBgoips0J15gXJm8mE6o3LHhsgmGCIdNepKQ==} + '@deepseek-ai/dsh-command-goal@0.1.1-rc.2': + resolution: {integrity: sha512-AfiBUOd2QjM2PW73nwQJtSDUri8RtEB6l3XVlznUrfY3VFu5tF7GcFUXffTxgtroWrvaqETs/vQJc/zsn8tGwQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-goal': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-goal': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 - '@deepseek-ai/dsh-commands@0.1.0-rc.7': - resolution: {integrity: sha512-SYrQpJZQ4fvfyfw3IJ5j0goUiOFZb1ZhcANgUp99HVlhhN/l1oEOAvEZL1efaSE7KIG6qp4JEn7iLtNdo8+mEA==} + '@deepseek-ai/dsh-commands@0.1.1-rc.2': + resolution: {integrity: sha512-BOIe4Sht9rmMv1a6b3GWjWBbeWr7PtHlAy41vgpaymvUUuzOapOIA648ZMGCI/crRIt72Umev2FHtSwCNSbYZg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-compaction-basic@0.1.0-rc.7': - resolution: {integrity: sha512-c4bkTsJMKeDDgN3F9GBvEJCnsaLyl3I+uXb42rBPhOzH85bG2x55fMO9lBhtpvE5h5JUOP/tBMtTAW2OCe10Mg==} + '@deepseek-ai/dsh-compaction-basic@0.1.1-rc.2': + resolution: {integrity: sha512-qNg4JqWlZ5NvlFmaVZtJ+RuvJUtYFgdS7xXlhhBGSHbMZi4sHgB63Mo+9Y0Rl8glLSxLjo2reMMPlECN+duUuw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-compaction': ^0.1.0-rc.7 - '@deepseek-ai/dsh-compaction-tool-result-pruner': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-token-meter': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-compaction': ^0.1.1-rc.2 + '@deepseek-ai/dsh-compaction-tool-result-pruner': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-token-meter': ^0.1.1-rc.2 peerDependenciesMeta: '@deepseek-ai/dsh-compaction-tool-result-pruner': optional: true - '@deepseek-ai/dsh-compaction-tool-result-pruner@0.1.0-rc.7': - resolution: {integrity: sha512-W4SbSgHlAhCB6ZXjr1/BdRiTn1F1x5nZdCY+0AazHoJY9FDACN0hUd6Rlkc40n3x0BHxXN/sZFDHCtT/26Fw+Q==} + '@deepseek-ai/dsh-compaction-tool-result-pruner@0.1.1-rc.2': + resolution: {integrity: sha512-HUS95EsuveR8fuzaZW0qSv90mVWbv6aj7W9zfWPbr5BmLJsmomQlw6jFX3GodN1Iv8qWtrzFkMuxDHk4ZTHcAA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-compaction': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-token-meter': ^0.1.0-rc.7 + '@deepseek-ai/dsh-compaction': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-token-meter': ^0.1.1-rc.2 - '@deepseek-ai/dsh-compaction@0.1.0-rc.7': - resolution: {integrity: sha512-9SDsfhfOzriMw4AF/md6MDOjl+YOwtE9BKFwunCGzfyWZnOUljoKEZxjtU0w1sIESSAjJnTicqb2NBOAIV9YQQ==} + '@deepseek-ai/dsh-compaction@0.1.1-rc.2': + resolution: {integrity: sha512-LV5GAIx7GO8DCRivnN2bmLmuucsYDG+ifG18BaXBqsVKdrzmaIu5o+CBxQAI2bX1N6mfBenLxmvCnROkyumLTg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-cordis-client-runner@0.1.0-rc.7': - resolution: {integrity: sha512-D8A93lu2T1/QfT9yRErxI3ptgTyGwJUIorzf5WQe4+3/buv1LUKCXJHabm0fknaDiQdUOge+MjdZDNV2SoYGvw==} + '@deepseek-ai/dsh-cordis-client-runner@0.1.1-rc.2': + resolution: {integrity: sha512-4/DNA4fCSa1nIb52mbRT3TV8wpsnDzjMRJfPbffk8+Fv/bj50jaeQY5yMgUXsUYWX98/RlekXTK4u4LdjtyHKQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-api-remotes': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-connection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-modules': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-theme': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 + '@deepseek-ai/dsh-api-remotes': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-connection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-modules': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-theme': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-cordis-host-runner@0.1.0-rc.7': - resolution: {integrity: sha512-A7R39cSNsLwjm+P54bUFBUd5+YbdyKkC5cLQqYt12STt0Z06az10Qt5rsL25rnWkxW7x7Ql0wVA83tOmO2oy0g==} + '@deepseek-ai/dsh-cordis-host-runner@0.1.1-rc.2': + resolution: {integrity: sha512-+AQGegPy+gdtcjTTPxDDYwAFUn6BB1J/MFFbmpPr+WIqJoDyVsuCDe8Rr8mCJmxs12CmTZXXSOE03LW203W8fA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-credentials-local@0.1.0-rc.7': - resolution: {integrity: sha512-3HB4nHXzR3HreJE4MfVSX45Am1/JiKFSDOYmrnyX7kK3Hvb9qH1J2Mm4gCzNislCemhZ+wlYQgevrvyH1L1PvQ==} + '@deepseek-ai/dsh-credentials-local@0.1.1-rc.2': + resolution: {integrity: sha512-xlDyX9BrfT579qv6ilh4EsqtMs4A4oYsuCYHvK8UWQ6YRflxC4GiXDU44iNfosQo5BQwzJzUlBmwHy9id3e71g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-atomic-write': ^0.1.0-rc.7 - '@deepseek-ai/dsh-credentials': ^0.1.0-rc.7 - '@deepseek-ai/dsh-home-paths': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-launch-environment': ^0.1.0-rc.7 + '@deepseek-ai/dsh-atomic-write': ^0.1.1-rc.2 + '@deepseek-ai/dsh-credentials': ^0.1.1-rc.2 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-launch-environment': ^0.1.1-rc.2 - '@deepseek-ai/dsh-credentials@0.1.0-rc.7': - resolution: {integrity: sha512-24oY36x90GN3QG2BASlryjzsO5eLA1U9vsvH1tPtBRJ1pBC6JqnW2v0SfDI/pcMT0ZbWo0uEATiik8rrv6xRpA==} + '@deepseek-ai/dsh-credentials@0.1.1-rc.2': + resolution: {integrity: sha512-aeVBaH07rox7NuSNbSqbz8g0eNb2IIhNbrZngj/VxUsr/TR9TXOq7lm1CL6SBUDlstGw3vNWeXyhim/DmA5iSQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-fs-local@0.1.0-rc.7': - resolution: {integrity: sha512-gbiH8xBrBw/1iRM3MLwI9zlFqLRg+1d+hNs8Etdn240xjWPuFdv5Hjg+eu4V5I+lU3M/lZieahEUpwYRScGuVw==} + '@deepseek-ai/dsh-file-reference-local@0.1.1-rc.2': + resolution: {integrity: sha512-aFOn9vsRfjWJYJyBLLD/kItD/KxAzxLNpKTUlxy8mSBMPUM5HEpUkAopgOg265OsjfvKdAVSt+eY1snrURXNgA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-fs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-file-reference': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-fs-observation-policy@0.1.0-rc.7': - resolution: {integrity: sha512-UbLBBWzUfBHAaZ6xGY/pPlIemGKz2iPoiCfmMkFQeLXVlLzeMrsTY4mvdx5ywu63tKYHvPpHHGdXMRFHqrTBvw==} + '@deepseek-ai/dsh-file-reference@0.1.1-rc.2': + resolution: {integrity: sha512-8Pd4SNHhV6OlbwfV5K4qmFb709I0Z68qgaUQJ7zM4BTjClNe1/dktQnETtWPfqbPTx/2sNKXM1rz4WXuROrIfQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-fs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-fs-sandbox@0.1.0-rc.7': - resolution: {integrity: sha512-QMv2QbqVAKkFAmIIPFmW8cvjk8U9T4ZEVsoPdbanw5Enrg3qEYZUmii9WBkAxNtQhG5MRUf5Tg8jDkZqPScYrQ==} + '@deepseek-ai/dsh-fs-local@0.1.1-rc.2': + resolution: {integrity: sha512-jvn1MsAMqCmt5SjRNkPjmpc+RIWrZQrBVtf/OpmKr2PaBEGqSbCkPApWDE9iSMhcuQg6k5evScOXwAsduzKOLA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-fs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-fs-local': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 + '@deepseek-ai/dsh-fs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-fs@0.1.0-rc.7': - resolution: {integrity: sha512-l4jEcfjrV7hWTQo6sH0oXntg4pz1nVuDXRcprps6NhZ0/OOer/9SzUx7J9aLnLeX9XDtExXsFbxkXW5Js3ZFwg==} + '@deepseek-ai/dsh-fs-observation-policy@0.1.1-rc.2': + resolution: {integrity: sha512-rlq7yu4xavkKK1Oa1/aNCOeUW7t/3OXJJOfOcZXuUgJn5f8G0AbpTDpp2CeuL1cHlKpbunGhEkKQ2N/dv7ZR9w==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 + '@deepseek-ai/dsh-fs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-goal-round-driver@0.1.0-rc.7': - resolution: {integrity: sha512-PWIaza45vFqqrf8bYyw5tPgEXRqLliHqAn3uKEwui8b1hM6UHJtApq1jX83PO4gtJZs/yAnRK6LCbaS5VJBC9A==} + '@deepseek-ai/dsh-fs-sandbox@0.1.1-rc.2': + resolution: {integrity: sha512-PI65uLZ3ARkfVV/PXvACS1HEXggoOaXgYQzXQFdLOfm7AiHOdZWZccUAXBetpZhcNYIOKsVoLnfZkXcHByqecQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-goal': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-fs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-fs-local': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 - '@deepseek-ai/dsh-goal@0.1.0-rc.7': - resolution: {integrity: sha512-/pI2o0YcP21ReT+OQx7aA8SyUsnuEHxTQtMbu3DvN9ChvaFeptCTXGvHWocwVtzEEi48mdvAXF4Mx0Ptj1LJYA==} + '@deepseek-ai/dsh-fs@0.1.1-rc.2': + resolution: {integrity: sha512-8j+6MffvCHATLQrhAVfc9rKyunKu/O7mjjJzmdsUSdID7V4iUYMwqPamhlAyI+tfohZu/vcforKzCRIZGmCYug==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 - '@deepseek-ai/dsh-headless@0.1.0-rc.7': - resolution: {integrity: sha512-EKn/wrMKgqxPUPwLgoTGk3BY8vFcYSYBWfXxnc8ZOKiH2pmprKnzm89AcOkbERNBJzPySQEsDdSoWwWJ2Mut4w==} + '@deepseek-ai/dsh-goal-round-driver@0.1.1-rc.2': + resolution: {integrity: sha512-pWipAFKx0l+ai/gJvNQNNk+ukHkb5Rb85llAhJVwyk7YfXLC2G8lIfnG7ln58M3vfUKuLxQLE/GL1Qbr7FQuyQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-goal': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-goal@0.1.1-rc.2': + resolution: {integrity: sha512-lSHTh4vfS6eRb9to/y+bjRf2+0QkNpY3tHJ29HMTewR9fJYZsEVVu4Hc+GPhPEjF7RpiD35/sKx+akijtDasyg==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-headless@0.1.1-rc.2': + resolution: {integrity: sha512-Pk50xwmUUehOxNe8DJ2/tThj7Aw1MmJQeUkfAQh9miF7Tm+WOOxiOOei/H4wjH9cf+FuqtbLDw6jrHmGotfhjw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-agent-default-model': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-agent-default-model': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-home-paths@0.1.0-rc.7': - resolution: {integrity: sha512-9Bu0eAbPw/FfCNpiX9hvyP5wedMUUQBc2sVTtU+xtH27/iUPxXoamFtBt3ydBJUeuVhja/leuhJ/d3MRhXO9fQ==} + '@deepseek-ai/dsh-home-paths@0.1.1-rc.2': + resolution: {integrity: sha512-lGsP7sbnu20AiRAb+gxYiKx9oa9r1D/8Fr6BwWHXpaPx6ZE4Qg0+ybh5SZVfGQ+XhLcQisu3nwWemEjtTJGiig==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-host-apiproxy@0.1.0-rc.7': - resolution: {integrity: sha512-oBCIJzzvVXijtxAPqSlQUlYTywEmkn3JEpMB2PM8W4UafnxNhqvDh8ikGE7/1y6KWoFUS4jHGwerUzyp3C6oWw==} + '@deepseek-ai/dsh-host-apiproxy@0.1.1-rc.2': + resolution: {integrity: sha512-dplRnGGXXsQYFQ1KMHymAM0iaxuE9Z153JHYcGEgOwXNkS3HA20gSi3yMt6fz+zi/cMHYXvY1JQhS54BTc761A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent-presets': ^0.1.0-rc.7 - '@deepseek-ai/dsh-cordis-host-runner': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent-presets': ^0.1.1-rc.2 + '@deepseek-ai/dsh-cordis-host-runner': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-host-directory-picker-auto@0.1.0-rc.7': - resolution: {integrity: sha512-QFuI5xGvVQAtbgN5xEZddM9+s5/2GWem8Gvq5hQpi1faUPyY/GS34B3lpuui0khSyS2NTa5GUXtYhDN1qZTVjw==} + '@deepseek-ai/dsh-host-directory-picker-auto@0.1.1-rc.2': + resolution: {integrity: sha512-YW79cegRtVJ3zeVEvYPCpyfIGZV8l5iXUfdm2DI2lwUZsbQ0ZH09AeeLyy6fREmbtuy99l9MExKG1KYWl9No4Q==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-client-ui-directory-picker-browse': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-directory-picker-native': ^0.1.0-rc.7 - '@deepseek-ai/dsh-host-directory-picker-browse': ^0.1.0-rc.7 - '@deepseek-ai/dsh-host-directory-picker-native': ^0.1.0-rc.7 - '@deepseek-ai/dsh-host-webserver': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-client-ui-directory-picker-browse': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-directory-picker-native': ^0.1.1-rc.2 + '@deepseek-ai/dsh-host-directory-picker-browse': ^0.1.1-rc.2 + '@deepseek-ai/dsh-host-directory-picker-native': ^0.1.1-rc.2 + '@deepseek-ai/dsh-host-webserver': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-host-directory-picker-browse@0.1.0-rc.7': - resolution: {integrity: sha512-yVHhAPK61gurrgys+xKia3RCr2OlwFCSb/XGzSDuzkVtAmqtG03oWTvnMiNpRKUyGCRFdgN0TP3QDg46rRlQ/g==} + '@deepseek-ai/dsh-host-directory-picker-browse@0.1.1-rc.2': + resolution: {integrity: sha512-iLIXqO2fWDsItbtiNPE2Yv2KK0u5A4W5xDbNgd9jpLvzB9vg0NLv4wG9zI4azQ0zf0XgmfPt7BK7UpMM8iStKA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-host-directory-picker-native@0.1.0-rc.7': - resolution: {integrity: sha512-CMHnPXL0oqwCnwt4TVRBAUfM4GNwkcZ1yURLlUo11ISBYh11LbOCXri3LoDjXzdCaZ21CWEKl25sZHnHnQ2GWg==} + '@deepseek-ai/dsh-host-directory-picker-native@0.1.1-rc.2': + resolution: {integrity: sha512-EvCe+NWYCMvJM1FCZCqrT9ggwcQjCGfnI+9t9F1ZIXbjmnhTD1X9K9xt0Ber61lO7ZN20h98Hls8gkzWbHt42A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-host-directory-picker@0.1.0-rc.7': - resolution: {integrity: sha512-CamVZ4wOjGcgzOiRFQtG0J0hy4EY3nXJBRFs0S397+H7b9eJUTtaMdOxP5w7VhMQ0Aq2ND7gpadwIcFaqINsMw==} + '@deepseek-ai/dsh-host-directory-picker@0.1.1-rc.2': + resolution: {integrity: sha512-m3puwS+bvJQ1eASdpEEwlQqKa9znhBSgtoSSI0GZN5VMynZVl7E31HMltENz3QC2Nd+C3bh7vNjrJFtumUDsLQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-host-frontend-static@0.1.0-rc.7': - resolution: {integrity: sha512-qSKYgM2W5EV8mE5J3OEujTY4z7mRwPBCRK3hQrl8vm4IAuSf0vfv2qrS9rpgU2SUrpHlQCqsu44bp8OPX+XeUg==} + '@deepseek-ai/dsh-host-frontend-static@0.1.1-rc.2': + resolution: {integrity: sha512-KmdcBiprbRPuCK2d5e6VmXbXmT6fwd6nwGtqU6iOxh/Tl3/1V3c/lg7dvJu1LeOmyw8epXFbzgEQNw5ATJtaBA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-host-webserver': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-host-webserver': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-host-plugin-inventory@0.1.0-rc.7': - resolution: {integrity: sha512-B8ITfMnBAdgkkuvoMrBdVgydhsCYGnP8XIGXIouOQyT9/eWbD3WqO76XG+u+e2G36ACXu2NaIxsRh3ijzyorwg==} + '@deepseek-ai/dsh-host-plugin-inventory@0.1.1-rc.2': + resolution: {integrity: sha512-Hud9ezW0bexWfhX7C+c5rdUDX1xzbEGDzj1lGQyj/QxdrxHYHjGrJq3tLRyvN6K4FSmEdG2IBKdQGCOLVrIthA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-host-webserver@0.1.0-rc.7': - resolution: {integrity: sha512-ip6HeN9YpWJXgWKAWsL3JUrI8j+MHEvbQ/m3U5ubP/Pc0AQ9x+6xZ/nYe+22112I12rihiwb85ykFwFfx0QbKQ==} + '@deepseek-ai/dsh-host-webserver@0.1.1-rc.2': + resolution: {integrity: sha512-t9MrjC65QHiiWhG9V8UZxgfE/aWYhJHHrIM0kbTvtXxg4tLGIKo/upHp7iiag65F3HTkVLrH/DUyPMi4v2ZA7g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-invariants@0.1.0-rc.7': - resolution: {integrity: sha512-PnO1F4aZGUmqZPyuPJpBUfQ4DZmjCGCNGr0yuN2iURTP/e6h0kGnTNTYgR2NqMvAtpP66WNiHhvH2LMqumk1+A==} + '@deepseek-ai/dsh-invariants@0.1.1-rc.2': + resolution: {integrity: sha512-l+1Om/EDFyMjhgSuEx2WDLLA2fia/+ga9mBTCoT/MMslsnWaK5G0/lWwbwlTBSaJ6OfmYc3DuBgox8DbgIGHRQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-jobs-local@0.1.0-rc.7': - resolution: {integrity: sha512-DAC8i+sshAkXPI8IcrUp5O6cOOkLLsKsD7mAcorFFbQjcPVBLdeRmtko3E1J9Jmf79IjoAvKVE+J+y84km9yKA==} + '@deepseek-ai/dsh-jobs-local@0.1.1-rc.2': + resolution: {integrity: sha512-26lg7mi9RKnu8IP8SWLbY+uZenbqF2AkAZvgZaLDlw1z58NtBsbgKgh6FNC8JXEyknAwYc6auQQKF+nLTlEjCw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-jobs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-jobs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-jobs@0.1.0-rc.7': - resolution: {integrity: sha512-+omM89dEsaiAL1XtsSTMmRF46POp5g25Qs5KVj+Zfrk7whlXjLXwFiaukt/htdVdHIOM51qM+tCleqlHOU0Chw==} + '@deepseek-ai/dsh-jobs@0.1.1-rc.2': + resolution: {integrity: sha512-SXvDJMvcUrGrlzIyE7j8/lI4Pj1nDe/UOR8C05Zagp+/0R8p46n6KylySvZdPAFENV5t8WX3Fw3eOaS4No0+wQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-launch-environment@0.1.0-rc.7': - resolution: {integrity: sha512-ATVyi47hyAWFINOxi8TGurRF8rShW/WzqWKqjxEQU5gLZbWtAMgkpAc+hwlyo/lXytGaj5cMXyzeyjpD6URHFg==} + '@deepseek-ai/dsh-launch-environment@0.1.1-rc.2': + resolution: {integrity: sha512-LIjPUPwaZ2cIiz98Oqxn9TDKXhWlp+0EGmUhk4RerBAkqRVtDl0B/leK1pSZLLIR+qcr+VAwLGJagY8Xm9XWvw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-llm-deepseek@0.1.0-rc.7': - resolution: {integrity: sha512-cWNbBF+LeFrexht5V8cFeo4Kb0KeFaQWtemPJeTHRcijafq4OuQvgJEPx1IyelzzX6vctLQGSlmvvCNesLvIcw==} + '@deepseek-ai/dsh-llm-deepseek@0.1.1-rc.2': + resolution: {integrity: sha512-GH9AukC2kozv6Q8/9DDhACHSe7fpTG7o0iWGUEN/m7/qajCJ8abySOFi3N7otdVmolR6Mvz2GZDTn2HdHqkWWg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-anonymous-user-id': ^0.1.0-rc.7 - '@deepseek-ai/dsh-credentials': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-launch-environment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-anonymous-user-id': ^0.1.1-rc.2 + '@deepseek-ai/dsh-atomic-write': ^0.1.1-rc.2 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-credentials': ^0.1.1-rc.2 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-launch-environment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-llm-pi-ai@0.1.0-rc.7': - resolution: {integrity: sha512-8sZuvgylK9ZKQmZtUU4z3DVBcM4Q4SH4OWo4qeOahLOsteT9NdIwZFer6f0QwqH6DjXIqz2Gq+XtntYXznGZPw==} + '@deepseek-ai/dsh-llm-pi-ai@0.1.1-rc.2': + resolution: {integrity: sha512-/02zlUjTHlJkme5+eM6VFtuiK6TacI5rxwIWMaxItp/s8rz91grzWir+qxRsPrz6XIrmKXagyvi3m/tuRCtk5A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-attachment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-credentials': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-launch-environment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-authorization': ^0.1.1-rc.2 + '@deepseek-ai/dsh-credentials': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-launch-environment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-llm-retry@0.1.0-rc.7': - resolution: {integrity: sha512-yyn5Yqth6vdScgmcYDF7L3a1jbfcu2y205HyTx9d84H+eU+h9m8k0Mc+1l8VCJbv9GILPCvoijP8wFTPDas7gQ==} + '@deepseek-ai/dsh-llm-retry@0.1.1-rc.2': + resolution: {integrity: sha512-a13Fpmn8HFy8LCjl6gljaNPxcVjO/R+/uMPDl0QLjwQcHWVyGW38ZA8jP5iRuFgdyNNXpyxLWuZXi/0VOH00tA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-llm@0.1.0-rc.7': - resolution: {integrity: sha512-VaB9kQ8XOA+R5jtsWf92QMc1WpaatEAFUvQePGUYrzQ7Z86b9VhQQzmchh5VmknT4oRSSdn0re5tReCvfcYNXQ==} + '@deepseek-ai/dsh-llm@0.1.1-rc.2': + resolution: {integrity: sha512-ASJfjIdZbIXvLwi3rGo+eZb/GxMVV/WO5/XVD3B96mT8EIzrlw3+nMR6/CvmJVzcycKQ2XN0wj7jD6TasPRySA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-attachment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-mcp-client@0.1.0-rc.7': - resolution: {integrity: sha512-hjdki2TTXfyZMJuddOVXV0lEhZjdku2aoPagVKV4TOhqz3jDJE0mQds87mtDOI9J4pyRGWfYXky6HN9Bi/usgg==} + '@deepseek-ai/dsh-mcp-client@0.1.1-rc.2': + resolution: {integrity: sha512-oxNes59UTkXuTmOqQr6+GhZW7u2JtqSYiI5eZyBQ6K+yjPEQESa3/rYnRI+gHGAtx8EFgn6hsdOS5uoEwtFuXg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-attachment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subprocess': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subprocess': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-message-feedback@0.1.0-rc.7': - resolution: {integrity: sha512-P/Inw7dQMZCC6I6NC6G0UF9SeOVlpQxOBg2+LoCdvyTt40itDow2wmlThqkQDIt4UMHLT4yRc0Gd6a4gmTNJ2w==} + '@deepseek-ai/dsh-message-feedback@0.1.1-rc.2': + resolution: {integrity: sha512-GzxDiNvyUVs/bbbm+Hr3MfuU3wM8ErRF5z9XadnSGPYZvipZDAMrvrS5v6JgOUaZt6ApBpEMJ4xVgIel1VnGYQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-storage-domain': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-storage-domain': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-native-command@0.1.0-rc.7': - resolution: {integrity: sha512-c7NiAYPx5Ho2ZYOODRvt0yTZ9l00n7QvRh8paiyLaYBOuzo30KDo5wTJXGLxMkfzi6EQsWw1tljd8MnpGL2P4Q==} + '@deepseek-ai/dsh-native-command@0.1.1-rc.2': + resolution: {integrity: sha512-GIknPrwU7vZOUQ2o/ES7Z0uUhUrZGp/yigKP+RXEu41VI9tcybiXQAA8CEdDFmNQ11R2wfYQhr3WO5vy35akWg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-output-retention@0.1.0-rc.7': - resolution: {integrity: sha512-bhmSfXIaLWLrYwC4ziMZ7GkNy5i9ltGBvlNZ5eB7NZoDAMh0Du7pKkMY+oqm2ajvx5O5qiFkHEhYoypRpEB56g==} + '@deepseek-ai/dsh-output-retention@0.1.1-rc.2': + resolution: {integrity: sha512-tCni+bTEp/FWokfz3fqn4p6SzHn6pkY6H3HkS9UY5PHrztUE1ESUQUp41kIVtwUhRmJU7yissqjxe6kLDB6t2Q==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-permission-presets@0.1.0-rc.7': - resolution: {integrity: sha512-AC6cyrinc3fQ2/TKmm8V1r/32f3VekR/w6rS1+RWGefRm6PDGnNo4T96/U4EoMyWDq0VBCn1Oye+uqhWPtl/3g==} + '@deepseek-ai/dsh-permission-presets@0.1.1-rc.2': + resolution: {integrity: sha512-k9hdF0lXV6dmVNBeWTmJpk0okaaH3hnvpQVRfUja8mlpJgPr482QMReuQsGJkY8ztzSE+JtzZndPSXjRrvLzSw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell': ^0.1.0-rc.7 - '@deepseek-ai/dsh-user-approval': ^0.1.0-rc.7 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell': ^0.1.1-rc.2 + '@deepseek-ai/dsh-user-approval': ^0.1.1-rc.2 - '@deepseek-ai/dsh-persona@0.1.0-rc.7': - resolution: {integrity: sha512-1XhQNi3pIQ9TMUiquo+RRS4VpbXYhpFmZJ845kaVGToAexS2gJRVte8i/wKaDHDp/huAhJIsZemHlX0qADDsjw==} + '@deepseek-ai/dsh-persona@0.1.1-rc.2': + resolution: {integrity: sha512-3pQjr8qSCVmGtExX9WzGNF9tNHKAFjtDyX6g/2HY3Br/hzANfQY13F/HqdjxufB3K0Rsu4CNkq78TyweXVUZew==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 - '@deepseek-ai/dsh-plan-mode@0.1.0-rc.7': - resolution: {integrity: sha512-VXUxBvmZ9PYinVbYsu7GmT8BZMXCfAbqExNMoR4RoZm+leOLzZOkWOKea9THoJwIik0lUbAO5lzrqaeVKa99Dw==} + '@deepseek-ai/dsh-plan-mode@0.1.1-rc.2': + resolution: {integrity: sha512-jIQ71skseprYkwcIkZfS5jtClF6Z5oDC8JIwMN5ukGRDkkoKTT+uLWnw3AgArAOBi0CIy8j5Khy7GP7v+02F5g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-user-questions': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-user-questions': ^0.1.1-rc.2 peerDependenciesMeta: '@deepseek-ai/dsh-commands': optional: true - '@deepseek-ai/dsh-pwsh-local@0.1.0-rc.7': - resolution: {integrity: sha512-AImknM43+7bIR9BzEatmbZMvhjgBgAt7MWqJzmTo1KnBNTY1j7r/RmOiQTBX4R+tpsLXMza5oW7svHSAYw/ypw==} + '@deepseek-ai/dsh-pwsh-local@0.1.1-rc.2': + resolution: {integrity: sha512-MtX+IN0dN60n9F8A07ugz4+GptSaoj2Jyub1vkUFkgpdiph9lDAh+PVVG4EKrusu5YG8eXDCDDnb3S1UNtrNiw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subprocess': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subprocess': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-pwsh-sandbox@0.1.0-rc.7': - resolution: {integrity: sha512-mXJcllRKoGnFhVs1mtUjjmqdfMymTRif5lrtxdhlkpegH6E9qKF7Wyq1Wnjkpsk6QW/iCicrRkXF2Bw623eDag==} + '@deepseek-ai/dsh-pwsh-sandbox@0.1.1-rc.2': + resolution: {integrity: sha512-hBUTg5p8TTQifZrfstbimVlBFyUOb7JhNkWKc+n6UpTzoFRSkPAvrjGeXKDmFI6jXpL4nXzLJoaIssfYnRg7bw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-pwsh-local': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-pwsh-local': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell': ^0.1.1-rc.2 - '@deepseek-ai/dsh-repeat-tool-reminder@0.1.0-rc.7': - resolution: {integrity: sha512-AdG/wyhpWSJcLkRqs3j2VVgS6uH5xQf0mK7WZsdQ/RidB3OVYZiBg9Mto7Of25AtV5lP7ZN6TrqCqWgi60XwFA==} + '@deepseek-ai/dsh-repeat-tool-reminder@0.1.1-rc.2': + resolution: {integrity: sha512-alDGjPdN1o7BVnBy2h4WZa+Zgb6yT76fyAQ7T7wN6K9jbnenSuvCjQyhoehhSFZUEl8ldRqaafFhS9ErGpVmDg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-sandbox-local@0.1.0-rc.7': - resolution: {integrity: sha512-jahNeS/WnBinCisOB4O+zeS366v7gWt6Uzfso0/C5He/vZFEITW5jPfWrJkZLuuN5S55LshaDEnegsddEIp6kw==} + '@deepseek-ai/dsh-sandbox-local@0.1.1-rc.2': + resolution: {integrity: sha512-Sn1RTGRFLA3fB+thcBwyyfDRdpgXJ7/6qBz/piFh+emJ4IfGFlBEUz7H2QfuwOGAmzlOmncxf2brcM5SfAgJ2A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-sandbox-policy@0.1.0-rc.7': - resolution: {integrity: sha512-TnOy1SnnSNPVZyw9UFNwQ7eE2lGxQBU6kye7+aAwDbNvSnudCJDEnQJhjTvGewHWA6PYA0O60XERKcCQAnK+dw==} + '@deepseek-ai/dsh-sandbox-policy@0.1.1-rc.2': + resolution: {integrity: sha512-cpoIUxCzpZJDTMXVt9gS+qgWEDAWf6rIe715uY1NF0ROoiEXPlmToLsHLF+4pXTW3wWWzpGVswO0bPYEKrQr3g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 - '@deepseek-ai/dsh-sandbox-windows-acl@0.1.0-rc.7': - resolution: {integrity: sha512-Br+Ocg+dr1PcCA71DxPJd7/7Cel+HLnRyglbkhSPx9mEYpXXgioVCkDHJh7J9OvjRw19UF56g2CvgVah6HwFww==} + '@deepseek-ai/dsh-sandbox-windows-acl@0.1.1-rc.2': + resolution: {integrity: sha512-DJ5jI8uzJA2VJiIgkUrqNDo1oKMJMaQ1Z8F7kFpxEkI3IMRSfMyqTur740ERBkX3pVc5uDLx6HNeEBx/JR43SQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-sandbox@0.1.0-rc.7': - resolution: {integrity: sha512-he43z39/SC8cMzPDsoP7EEXiXKjav3VClj/U943pxycvRL78JGkNEQQjv21n5mnuto0ti/gFBquybSI4sBAFqA==} + '@deepseek-ai/dsh-sandbox@0.1.1-rc.2': + resolution: {integrity: sha512-rnO2RqZ+ycpwrXrXlMcrhWAICdui3ZVTjNQ8eZrOPE18hAbX3tw0nLFq26sBjMSnBfDQHNZ4VaFpt0p8qhkPWQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-schedule@0.1.0-rc.7': - resolution: {integrity: sha512-vlvjvhE2B07XG3X+jUsfEDUjsiEGln8GFdy+ojWm27FKtA8JuoMdrMMUcCuVHnyr23jyk2Ft/qGA3JIJUOvIKQ==} + '@deepseek-ai/dsh-schedule@0.1.1-rc.2': + resolution: {integrity: sha512-I/uuXlZv6gc71SdXoV5sGQhh95nNjhy0zJWfhttfapNvuQYxZEzQU0vTAOsQB5FtdZ/xvDZm86z01/E8+usLAA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-scope@0.1.0-rc.7': - resolution: {integrity: sha512-8gn+sANXhpv+9egbNwq49/uI3XhbmB33obo9yMyzyzruan3zFoxeH4UV54jTC2hjbu8gFNPsyNam9AAtRV8/Cg==} + '@deepseek-ai/dsh-scope@0.1.1-rc.2': + resolution: {integrity: sha512-Xy3ejL6dwVSluZL7XOWy76ya4pCw1uHwxodDK4O9XiQUiUV4FBXnt0aNJUtMeAFN0c1YujxxCmRniMvuuNn1Nw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-checkpoint-policy@0.1.0-rc.7': - resolution: {integrity: sha512-Gw8GDvEJsH815NQuKkWhPPmw61hqhcdVpaaTXbCTAq/+0YdgNzNxAGIzizufAmq099QsqVWX0zs7IWGpWzCfEw==} + '@deepseek-ai/dsh-session-checkpoint-policy@0.1.1-rc.2': + resolution: {integrity: sha512-VmnQBKuWEHD78CtK1W5Auhz9VayTiNQTpbsNFex4uD/9h0XglFxVN7G3/XVUDOp8VHxReV/Mh8F1RS9s/2yoxg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-log-export@0.1.0-rc.7': - resolution: {integrity: sha512-yToQnjzMGl5KCq//k9bN4OUXxpyRRjh3hBtnf/9AVVSvvV5DGDLHryEm7erECLOnoWZnng5J5SDERcykrVbYlA==} + '@deepseek-ai/dsh-session-log-export@0.1.1-rc.2': + resolution: {integrity: sha512-IQ0itJ5VsmvTkBZYNnwNIj7h2qaw7dlHrnKt7toUiAc5gC12tFwKouMFdBS5VtOSsxTuQLdnVNPa81XOy24opg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-client-locale': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-conversation': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-primitives': ^0.1.0-rc.7 - '@deepseek-ai/dsh-client-ui-slots': ^0.1.0-rc.7 - '@deepseek-ai/dsh-commands': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - react: ^18.2.0 + '@deepseek-ai/dsh-client-locale': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-client-ui-conversation': ^0.1.1-rc.2 + '@deepseek-ai/dsh-commands': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-persistence-jsonl@0.1.0-rc.7': - resolution: {integrity: sha512-amPgKP84E99YEiOroeoQNya3Rjm1VRWWU6y0ft02iVtFohTmWRMLESArkAAtFfap76bk34xEkvujp34nJl40Ow==} + '@deepseek-ai/dsh-session-persistence-jsonl@0.1.1-rc.2': + resolution: {integrity: sha512-1H+boST8tlc8fu5VVClcCRFGI18dH1EOAzfC+HsQZ+GiC7jhPN112oJWyzxKot1P07bmKdKev3un4VR2Chr/aw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-persistence@0.1.0-rc.7': - resolution: {integrity: sha512-NFH1uIGQDgMFOijgAv8lLWRiY3eHFEZW2alwuHlu4C32P4+jdChh9fjPlzBar3ZZTq0ZW0qWCdbYZS02DNxsvA==} + '@deepseek-ai/dsh-session-persistence@0.1.1-rc.2': + resolution: {integrity: sha512-dxdYxRfmK5jWtiFFabqRNb/jGGjkXyF2djI7O8IIKmDVjhQiv170zpvhbAhRUuqClEdseCtbQpLBrRm2blzt3g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-projection-cache@0.1.0-rc.7': - resolution: {integrity: sha512-qWf7p2Xgr0LnY4o466ei3L/81QbGFQcCbEi+4XX9rxLKgnU+RvlQzwmIilrgz9N2hK/RqwS1Nb03bFRisxVeaw==} + '@deepseek-ai/dsh-session-projection-cache@0.1.1-rc.2': + resolution: {integrity: sha512-UvCRpIb+LoQI/nCLof17xc2P2KuZoucU3VuzfAukfsF3dYZAy5OP7jrCRdVZIvjRfvFUd7G+awdS9sWbnjcolg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-storage-domain': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-storage-domain': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-projection@0.1.0-rc.7': - resolution: {integrity: sha512-BXehLYt6wYnV0PNNhv5GECePkH1w+1yuu/R63d2tdYdUQ7XVrd6tu5hMwfTH0P9AnBDxJir08FRu2WKO69JypA==} + '@deepseek-ai/dsh-session-projection@0.1.1-rc.2': + resolution: {integrity: sha512-SNaOrjRS4RMXocna6uL33TeS/uhcQ7jDJtJZ1HyDPL06mXUdAgje2MVt8OZCh6dH95xIiqpQQm+KjzeiQnhYSQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-query-sqlite@0.1.0-rc.7': - resolution: {integrity: sha512-XuhVkX2V+tx/xO9/gCzPHGbovoApwaojwCjNFAuBUbHLMvMl1wMdxvxSgk/xLPKnll98daXRPoq5Csg6hrG8MA==} + '@deepseek-ai/dsh-session-query-sqlite@0.1.1-rc.2': + resolution: {integrity: sha512-gZ9q3v+NdQC5jaArBMQfpX36wLXXvhtEfKK3zu3jOd9HopYxgNKnm/mUX8Ma9P42gR3Q+m5SGU42pow5vy34Cw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-query': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-query': ^0.1.1-rc.2 peerDependenciesMeta: '@deepseek-ai/dsh-session-persistence': optional: true - '@deepseek-ai/dsh-session-query@0.1.0-rc.7': - resolution: {integrity: sha512-JKlEpByllYQU9JZLadrS3ClWCVZMcKRB4nc6iCWuNExyRi/Whwa5GicKFs+jXwGKe/rdSbTCom/jYLwkqipjuw==} + '@deepseek-ai/dsh-session-query@0.1.1-rc.2': + resolution: {integrity: sha512-QxQFRg/KnrZnYiO7fNtTJVTakuGs9ZFRkGGgYuNPzSz1pRqiohGNE/JZzBtq+HMv38RRTRZrM4aIOUV8OgqoXQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-title': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-title': ^0.1.1-rc.2 peerDependenciesMeta: '@deepseek-ai/dsh-session-persistence': optional: true - '@deepseek-ai/dsh-session-reference@0.1.0-rc.7': - resolution: {integrity: sha512-lyD9VbGrOSVkAV8mr6aIl22bdWIe61lC9/dtZ6CtS3DLnewvSkZ4CNlUDG/qS1SUIZfk7A2UixgXYBIB2771xw==} + '@deepseek-ai/dsh-session-reference@0.1.1-rc.2': + resolution: {integrity: sha512-c9mz19ndxjVxSnXEhmJwGDjyKG4oNmu4Sfneix8OUJ+mAr3jIgb/QZZ8rYEc8Bi+Dd1z7Wr90IeWOBF0nolU3A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-compaction': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-output-retention': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-query': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-compaction': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-output-retention': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-query': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-stats@0.1.0-rc.7': - resolution: {integrity: sha512-ryf7HSYdmLbrTv4HQmeW/h0bHLiCNnSZYiY9RoBrzg2qh89MU8S+Q/a9CLVWA06TRXKt7tNbizF82dCj2/O0bQ==} + '@deepseek-ai/dsh-session-stats@0.1.1-rc.2': + resolution: {integrity: sha512-SKGUZicnHHU8+zCswoluBCHSbTkA5ARQjl7YNxN6qY01ud/azpPdbcVaKO2MUy60Q1myx3W0Xk93VzF7sMt6cA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-telemetry-otel@0.1.0-rc.7': - resolution: {integrity: sha512-k5zHavA2RoBtZ5igD+qpbdfyxKvesZa2w+YKLfMtUnZOj7HZM9qcxvfYo4xJ9spNLpN5OGY/sWZBB5itilZlCw==} + '@deepseek-ai/dsh-session-telemetry-otel@0.1.1-rc.2': + resolution: {integrity: sha512-a+kmjEWvRZTMW/oGzoF0LwlsEOdtr4zCv0PeFPG5+wA3XGqn+uukgh5LnXJt4htApxPfWVj1qBz5GFRgg6MkNQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-anonymous-user-id': ^0.1.0-rc.7 - '@deepseek-ai/dsh-command-feedback': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-telemetry': ^0.1.0-rc.7 + '@deepseek-ai/dsh-anonymous-user-id': ^0.1.1-rc.2 + '@deepseek-ai/dsh-command-feedback': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-telemetry': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-telemetry@0.1.0-rc.7': - resolution: {integrity: sha512-6f5U7nt5Iqwh5RAFBqV2Ib7LJU2o89Et0r0eV7bskYws+PNM7ZRRW/Nw4a12ZcnuTp1eKPyVE8H6oJua6/7XLA==} + '@deepseek-ai/dsh-session-telemetry@0.1.1-rc.2': + resolution: {integrity: sha512-yYNUtpxykp10m6YVCcfmxtfiRZeNr9g+Mg5/37oO6W5Fs9A6L3vfCM4Ppn47lwLbQetejsR1QClV4P4I//c01g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-title-first-prompt-llm@0.1.0-rc.7': - resolution: {integrity: sha512-tFocCpSglf69VC6a23R9OcomMBQdfQZm8MvAOGgENBzWz9htDLuyq6jukKzPdTtS3VdRDu4wzJtaWKAYBUCX4w==} + '@deepseek-ai/dsh-session-title-first-prompt-llm@0.1.1-rc.2': + resolution: {integrity: sha512-HWgRO5C+xFOq8dEKwotJ+jNj9SLo222EIlZuTCV3kdEjblLkSJES8jmXsahzLsIEqXfwdplHfgpG+365XE8NWQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-title': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-title-llm': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-title': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-title-llm': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-title-llm@0.1.0-rc.7': - resolution: {integrity: sha512-mpQo/1x4jaWNdQAXckOs68U59u+/WHJlb/BX1zAvr02eJPV3Wac2/7NP+/vTw5TElEyzIAU8k0f3PMgvozUk0g==} + '@deepseek-ai/dsh-session-title-llm@0.1.1-rc.2': + resolution: {integrity: sha512-UTdH4h5zuMsNDSEAa3xp6YsfVbLRCCkm/0uBt8wKhu7+rWh7OCgvAgvvwaIKEGST8/8NWC6ogdT2GFNCX4WizQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-title': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-title': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session-title@0.1.0-rc.7': - resolution: {integrity: sha512-jhFiZa/C58zchuJkBodnkiPil7AEK8mHfB/hMOAW3N/7tUg5nbMLBERNqHdDMbIrvhTndrF4SN9qy+ltUf0cOQ==} + '@deepseek-ai/dsh-session-title@0.1.1-rc.2': + resolution: {integrity: sha512-qHv+9nE6J/piHsWwckmbJBS1sJjunCWsv00arhsgjW1XMLCHxG6QOB+U48P4EBZjve798Tz8AQIlWZy+9T8XmA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 - '@deepseek-ai/dsh-session@0.1.0-rc.7': - resolution: {integrity: sha512-02WVTkqIH+TyDL7dhMN3Hm+qcTEdhD0fVDC0aIAyND2fBdXj3CagEXXvpmt3mzwWfKwOTGL1RdxtC6pMA4Bl1A==} + '@deepseek-ai/dsh-session@0.1.1-rc.2': + resolution: {integrity: sha512-4/cv6X9HPhm47eyRhCu/WZwzrtJKegk5J+0xaxcZ9i8S0smdxP57tqy8a0jkSshLQn7BzMFxneQrlYExrLrDhQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.1-rc.2 - '@deepseek-ai/dsh-settings-file@0.1.0-rc.7': - resolution: {integrity: sha512-ODz9QWtCOjmwX7gxewPBfIHkA9twPiHDpcwgAW4sQUztgsJZKUtoe2T47loNH6QlHBPcSL5WMP4/QlnkRVKC0Q==} + '@deepseek-ai/dsh-settings-file@0.1.1-rc.2': + resolution: {integrity: sha512-6EKER/KLEOwmTkB0AMb/Or/UVkeaqxisZ4WKo+tgsYyJYDTBTDOZjVRz+nedK7vLj1AH8JiEKvmAf6FMxkZvrw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-atomic-write': ^0.1.0-rc.7 - '@deepseek-ai/dsh-home-paths': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 + '@deepseek-ai/dsh-atomic-write': ^0.1.1-rc.2 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 - '@deepseek-ai/dsh-settings@0.1.0-rc.7': - resolution: {integrity: sha512-cS1+StK2xIVykrskw+KrO+hKJxYaVVgY2Jex2we5zASTNLHYCj74WQluPlaFjFgnXoZ1RYz8HNXL5/Ho6h1Ynw==} + '@deepseek-ai/dsh-settings@0.1.1-rc.2': + resolution: {integrity: sha512-iGdKEt91Im3gE7xA9CzRfTJsPcFcxDeDOCLhAjzbpjEv7TAjx/EoYP7lPtiy+QmOjKSKy206SEtAKol9PXWbOw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 '@deepseek-ai/schemastery': ^3.18.1 - '@deepseek-ai/dsh-shell-env@0.1.0-rc.7': - resolution: {integrity: sha512-joSBNw/d54gq/VjkHLGSJ6y/Qr+594sObF4ApbJi2eEopx41L0Ky7kNW/W7cbrGIIN3KBGRDdiGv1s1paWzsMw==} + '@deepseek-ai/dsh-shell-env@0.1.1-rc.2': + resolution: {integrity: sha512-dDKKqsxsbklUpxX5ornd/SKJ2yfr/SOHOWDgeJkYvx3SMSXq8EvhCK/VEvHswXQ25rRLFWM4/Mr3htk1hn/GPA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-home-paths': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-shell@0.1.0-rc.7': - resolution: {integrity: sha512-in3ifbq80tn5cf1ICBBsRdwKjURB0g0dIRdCVUgl/GDqCdC/S0TjMLXw4nmFdCssYLm7JbG5a59BfJG0KFuz6Q==} + '@deepseek-ai/dsh-shell@0.1.1-rc.2': + resolution: {integrity: sha512-gEqPUxKOpOV66wvM4o8Z5FEuWmsEvYzD9OQy3cyo/kjzlx+2+KUWi22cl/YWtBs/zUtRJbdG5UqMnh8GUeO8Hg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subprocess': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subprocess': ^0.1.1-rc.2 - '@deepseek-ai/dsh-skill-badge@0.1.0-rc.7': - resolution: {integrity: sha512-01Ue3mvLYyBwNj+fAuTUZN4gJLuDySPDqAZhCtWoYagZudCuLB8kAdpYWztKA4TRVSyml+EfGo1LrWvQeTD1wQ==} + '@deepseek-ai/dsh-skill-badge@0.1.1-rc.2': + resolution: {integrity: sha512-1JL4KdWk8pApJAVGlX7SS7p/MIhFKSq7GgA32qHIKWZBnL0qkwtaDdGbk2mam00NVcfGnpTPBXjwL1kOboPn8Q==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-skill': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-skill': ^0.1.1-rc.2 - '@deepseek-ai/dsh-skill-filesystem@0.1.0-rc.7': - resolution: {integrity: sha512-i95xycP3vkz4IZnIO4BTzGNB6waKl1M5AsW2x04C0FIqLa4BSILvVUVwqcbwpBZm7Cd/KF50Q050au3NvauGrw==} + '@deepseek-ai/dsh-skill-filesystem@0.1.1-rc.2': + resolution: {integrity: sha512-eyQGv4046c392kIvOCom+gvJpiFbkWsf/VqB7dCQXTZrdXEx99P8oOm3jsagnllcLKYyZVVETs75pPgznye/iw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-fs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-home-paths': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-skill': ^0.1.0-rc.7 + '@deepseek-ai/dsh-fs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-home-paths': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-skill': ^0.1.1-rc.2 - '@deepseek-ai/dsh-skill@0.1.0-rc.7': - resolution: {integrity: sha512-tDaqB1TOs27fSt6FZdjvPs4THXAFKoKOEgQG+iFUv63O5bm+glyLY3K1LTK8JeofB4lg3+4JIAeWRslnLJH57w==} + '@deepseek-ai/dsh-skill@0.1.1-rc.2': + resolution: {integrity: sha512-FACjlOqdsWX+0RtSs3RWrdY0QQEpPJrBfvxUbWSh7E8UyCM8dKdIbsQnuXIjsAgC7GgYp7lyFDSCMovQ3ARp8g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 - '@deepseek-ai/dsh-spill-local@0.1.0-rc.7': - resolution: {integrity: sha512-jx198A2cc1gxsoKb2pRmXnDbIwIHAKg78ZjRMyiLRGpOFEZugVudILdDMp8u+lGpavP9xVAxBc1n75Z5NDRw7g==} + '@deepseek-ai/dsh-spill-local@0.1.1-rc.2': + resolution: {integrity: sha512-I2t9BRjFw33Ya7c/nSZEwZeDSOCk06fDnGvTmXZoaP+Y4mWRBKStfRk4DvBsUQJW+/ov/E5OEvhNhzhZcUnXgw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-spill': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-spill': ^0.1.1-rc.2 - '@deepseek-ai/dsh-spill-policy@0.1.0-rc.7': - resolution: {integrity: sha512-fYypZXcXFkXybf8N0tz70+XCtxvnn9mDN8JiKnTp2ZNhXb/zvFbdf661Pp45lFWS6j0cHZsdZ5T8DfuQjfO94Q==} + '@deepseek-ai/dsh-spill-policy@0.1.1-rc.2': + resolution: {integrity: sha512-ulkAuhjIm9sOzNdZ7TDqXyvk601Wn3mN/d1QkBBNmCnxt8yQY/nS4ixGtqCVWCu/tdzQOlVw55qKrcNvsQAJ0A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-output-retention': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-spill': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-output-retention': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-spill': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-spill@0.1.0-rc.7': - resolution: {integrity: sha512-EdX5AZElelHlCKlbflZipl4KRDiEHWLN/8smgnkzAhJgpXFq5dyp9jK58dO5v7cuODeq+/SfeDyUE5Mffdhh8Q==} + '@deepseek-ai/dsh-spill@0.1.1-rc.2': + resolution: {integrity: sha512-iayBN51zRj0+ER6KKJM6UlN1dfKXe5eDJeSwYmH+j3wLbCBQTD7Axnhmo9t68JBRrg+eczg2epFMR5RrXrisUQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-storage-domain@0.1.0-rc.7': - resolution: {integrity: sha512-UxXwoCB0q4+/F+zddvi8I4LknTIlGD/1ec57Ym52kWRb7a8qGgrcIYrOC3yPCozn8rkirAuhEAkyAhR6AO5QDw==} + '@deepseek-ai/dsh-storage-domain@0.1.1-rc.2': + resolution: {integrity: sha512-9/3OuaZpxf9NZWhrARpgZ7UBa03pPaTIiDBw+SfESfwVk42NNLVCQgvnEbrWoNwdtzmv0aYCEV23sKwwlQ0LBA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-storage': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-storage': ^0.1.1-rc.2 - '@deepseek-ai/dsh-storage-json@0.1.0-rc.7': - resolution: {integrity: sha512-xYvEY3+ttxJg4/UPzXuxgeKcLxKvDP4alvPpEfRwuMBcp//O6FtzEJSqV8zycJVYHU8V0wmUKRIn4V1ycXlFgA==} + '@deepseek-ai/dsh-storage-json@0.1.1-rc.2': + resolution: {integrity: sha512-UNq6yn/iCh6T1TJ+4XN1Gofam3oqqNgENxAcnajRaD8KIsryVstS7Nke+j3vLdu6MDiGjCsilxyZYtqduE+Dog==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-storage': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-storage': ^0.1.1-rc.2 - '@deepseek-ai/dsh-storage@0.1.0-rc.7': - resolution: {integrity: sha512-M+6+SOjWWcfYoGASBMx+b1sHmWPFAHXF57rE/Mew9k5tHC5bEV8+owWwYOWQfv41eO1FfRMibZd0rH6mwPNApg==} + '@deepseek-ai/dsh-storage@0.1.1-rc.2': + resolution: {integrity: sha512-ptJ1ss8spF+Y2VXjsMV37Qh1+hviYWZylDvXtfEBXjLbPi/BP3dktT4B6OMIAD1rRN+0A4HdTqJBgLk7Gp1rig==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-subagent-fork-in-process@0.1.0-rc.7': - resolution: {integrity: sha512-PnT/poBisBmA9U+mLZeyQJfHS4Ps8kwN1ioZEmv36TwnROCrmwzog5FB33r9rXU/gKVX0dD/LkjxxTGmzC1xCA==} + '@deepseek-ai/dsh-subagent-fork-in-process@0.1.1-rc.2': + resolution: {integrity: sha512-m5qWHamlJqpwJEUZIZHfKEERhCmsR74B93jGo9ues2pMB7yYjk297oRLQXmaJrQi9FD6zmFntgpwXStK20mbWQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent-in-process-driver': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent-in-process-driver': ^0.1.1-rc.2 - '@deepseek-ai/dsh-subagent-in-process-driver@0.1.0-rc.7': - resolution: {integrity: sha512-YleMt6xtXmW8LkHZ95MLPq1urIt1+sBUK908GCQ2EhV6nyfUwNog4XVDlVbzf3GXzc+3z/xiMW2GvVp3IQ5NIA==} + '@deepseek-ai/dsh-subagent-in-process-driver@0.1.1-rc.2': + resolution: {integrity: sha512-+GCNjPnRJOB4fv6pc4b9qQZvzoluH9neOLCrKEpJsoNn1c2XCQMaylc8G+WEziIbvzDvHcpKJJWm50XlKuDfMg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-subagent-spawn-in-process@0.1.0-rc.7': - resolution: {integrity: sha512-4C06MeBvsbgiUrWh+tge91wRLSOOJDU/Ub7b9Q6nTxQKEMJooJwCQRPfgaWtdXuNHrJGIJ87GKsgqV2iwfQ/jA==} + '@deepseek-ai/dsh-subagent-spawn-in-process@0.1.1-rc.2': + resolution: {integrity: sha512-Xxe9GzhOK4gIfNUG/Wgx3vsCx7aGZTt268943aRO0wlKQ7Jcku5rH84KfJ+IP2ZY0954KRm4+GQLOKJc/1SSjw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent-in-process-driver': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent-in-process-driver': ^0.1.1-rc.2 - '@deepseek-ai/dsh-subagent@0.1.0-rc.7': - resolution: {integrity: sha512-PEpA9XT6E4hg7N8m7GYQyDLwFUwoqWTz0Cm9SrdAoNcju4byG08qy4+muDZbG0a1tm3PR4rxNB5zKcobDhDocg==} + '@deepseek-ai/dsh-subagent@0.1.1-rc.2': + resolution: {integrity: sha512-CNa0WuFCR69TMnBKYQInz49/olDSaVHiYkDTyTuDh7YW7Y80/f/HjQe5G0fQaqZMLla3IUSXCIPl5EssWmjcQw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-agent-presets': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-jobs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection-cache': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-user-approval': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-agent-presets': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-jobs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection-cache': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-user-approval': ^0.1.1-rc.2 peerDependenciesMeta: '@deepseek-ai/dsh-agent-presets': optional: true @@ -1948,423 +1961,433 @@ packages: '@deepseek-ai/dsh-user-approval': optional: true - '@deepseek-ai/dsh-subprocess-local@0.1.0-rc.7': - resolution: {integrity: sha512-Q1zl35fRNSASv2FOi6viwR29cn3vtOcyKfamcmRB789m6sb6CdlhIMettvcxxDDHwTSH/jjz3hqb0JAx2GT32g==} + '@deepseek-ai/dsh-subprocess-local@0.1.1-rc.2': + resolution: {integrity: sha512-I4pyzpohZEVRQQbuEpMP0t8oKsf+XIlRo64aJVKGXI2eMcg9f9gbfhKQNYNqRGbegQL1HYpSLU6Rzyibldgwaw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subprocess': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subprocess': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 - '@deepseek-ai/dsh-subprocess@0.1.0-rc.7': - resolution: {integrity: sha512-xiHD61S2trIZ0CzhSMgXxZJVyJ2c76DkX4eqP3Of4mBEnm6C7g7FChII6uL0z5v1bnOnTmpHzwPX8YCwqb7dbg==} + '@deepseek-ai/dsh-subprocess@0.1.1-rc.2': + resolution: {integrity: sha512-YXEBaUfdkCJm4Wj/w08imS+1TMd3K4Rjr/xD5tuJR1I4/EnBCseP6AOlwjcrDP5PPWfOZghrK8H01sk6cqiK8Q==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-system-prompt@0.1.0-rc.7': - resolution: {integrity: sha512-Rair2ZkzgoIIr+UstYVYeqeUgORNPIW1LNcsXz3Zjglx4FGjsmzs0UALdNYvSBpBvCLNmt4E6+XQIrBbS/s9jw==} + '@deepseek-ai/dsh-system-prompt@0.1.1-rc.2': + resolution: {integrity: sha512-on4hjAlYI5uX9q7Sf95YkMMBVe6heywtA/H50ksrIMUub8U2B98hO9iQpHhjwIO1F1vu+5pLcPvRr6yUGGmtXQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 - '@deepseek-ai/dsh-terminal-bash@0.1.0-rc.7': - resolution: {integrity: sha512-2muS7xmy4olNEpGANp0ViK3/r4A4UlfQa5w24HJ2PrCy0J3qlk1vwHrpj30nAGK6sCaxbXmb8IjYUfNs7st7zw==} + '@deepseek-ai/dsh-terminal-bash@0.1.1-rc.2': + resolution: {integrity: sha512-ltR4K6OBe/7I04w4gCGgbxIv8/qVYHO13vAvwfwmrDM5jePbrEPMu5/xpwPbR28C0kOb7dQy2Z1+FwtVGxviqg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subprocess': ^0.1.0-rc.7 - '@deepseek-ai/dsh-terminal': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subprocess': ^0.1.1-rc.2 + '@deepseek-ai/dsh-terminal': ^0.1.1-rc.2 - '@deepseek-ai/dsh-terminal@0.1.0-rc.7': - resolution: {integrity: sha512-B22qppmKWvw5Ez9eMKnppHiaMrikIcHmfmvyd296EspnhTBJAvXDnc9NggT0DUnSvm+2gh5ffohhMJel9A2pSA==} + '@deepseek-ai/dsh-terminal@0.1.1-rc.2': + resolution: {integrity: sha512-NOsajXg4cX09coiLtCMgSqXAw90uptqyA9Njv6MVAOLgh6ctpjsolL3VIIWapSJ6AngsCTqVXW7sxexwpl0yUw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-time-context@0.1.0-rc.7': - resolution: {integrity: sha512-rZhEYA/urMq8sReaMc5rb9A/p7X1MXwktoF5Y6SwGUWqJQsdvHzXppksOEqJpg4a1pNDBe2N9X5o+wMKPmukMQ==} + '@deepseek-ai/dsh-time-context@0.1.1-rc.2': + resolution: {integrity: sha512-4Q1sCr06SfJ7jkhrvfdg8ZSFp5Ohtl4E9nH19nUbIjcGK8F5yA2h68HPEglztDo54vxI5HZSblLIjdGKZkY+FQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-timeout@0.1.0-rc.7': - resolution: {integrity: sha512-Ufl9G7zP7Tky/zkXscavEiolEfAwutfbPeLb5sUU/tPQlDykhh1NwGrarNJ11fdR723zmA/3co4LgxtDtWCOEQ==} + '@deepseek-ai/dsh-timeout@0.1.1-rc.2': + resolution: {integrity: sha512-RrouVgU3G5gXr9zHhpThkMG6YKdcRJzXXdPm1dq3ioBxbvxlfMSfNY4tN8lWMJxLyGtvWkPra0HQX+YWxvdOOA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tmux-context@0.1.0-rc.7': - resolution: {integrity: sha512-DYoWGpJglqzWxCFDzynJ7ebt9m7Redlm2Iuon5U2tJ0rsyOSRIgKuwQMXI67FdN/MNVXvSQ2xybUqu+5V0krnA==} + '@deepseek-ai/dsh-tmux-context@0.1.1-rc.2': + resolution: {integrity: sha512-gsOY/pbm9gdO2sKlqWymv4UxGocm3/4hU+84eTD/Wi6Vnt0QOPDSHEO/SjZ/sdIxiTxoKQLz4mqy0LYmc7DNDA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell': ^0.1.1-rc.2 - '@deepseek-ai/dsh-token-meter@0.1.0-rc.7': - resolution: {integrity: sha512-i2WOx26otsAt3sTFOoXjo2xsdvUyC5CAuNiJyRQoo6yn1smx+NX541clIOYdx1uneZFmV0T6bK46JpdXasxaAA==} + '@deepseek-ai/dsh-token-meter@0.1.1-rc.2': + resolution: {integrity: sha512-XHSgvMga4h73LHzuG8gztocs74+6NYg7ciHdu2aM2PYC59/rPfxq4Kz9Hq6TTvYa4a/sDgCij/T0tZBNvQixDQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-compaction': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection': ^0.1.0-rc.7 + '@deepseek-ai/dsh-compaction': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-ask-user@0.1.0-rc.7': - resolution: {integrity: sha512-ZqwrTw+w4GepNCVQ7NIq71s+Hlrqu3jAfYCdKuNbkUy461EjlRLGMcHspSHAt1uhdwL9QDTodB6RRhpg65Hozw==} + '@deepseek-ai/dsh-tool-ask-user@0.1.1-rc.2': + resolution: {integrity: sha512-6zSUxSducAdrSJ9J172rzJrqv0I/LbZQZa2ri3k0shYzM2reOi1tf+xWDxVFafUscxeyBpnpmNfXXBuZPt0HZw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-user-questions': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-user-questions': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-bash-persistent@0.1.0-rc.7': - resolution: {integrity: sha512-5tMC1TuWiGDerYd0UuUUzRdmv+uy/22lXbxmmrmUfR8aACeK6T76yXorvuvJSDYjhPpLoUovz9XU5LqGm3D2Wg==} + '@deepseek-ai/dsh-tool-bash-persistent@0.1.1-rc.2': + resolution: {integrity: sha512-pPI2ln6OdlCW6Kks5VWsFm7sC5NEkZetKOJ8TUrsXkbCM32wWLEaMPVsN9p5XcG/ao99p+Nh0Rdx7PYn4lfg0g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-terminal': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-terminal': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-bash@0.1.0-rc.7': - resolution: {integrity: sha512-nfc0SI3Xk36rgIOLmTBDSrSTN3Ufp9Wvefta/M82kbBCo6fesB4lst+VAw74039jzHUboXc2gwQ/j5rRcOpiuw==} + '@deepseek-ai/dsh-tool-bash@0.1.1-rc.2': + resolution: {integrity: sha512-YNmrKmBanj5EQn1zejjbo4UUFtg2/h3s9y0lY3vBu+dezNz4HdUlSkSZACbNUAZywyLomdhlt4rJdtdnrqyS7Q==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-jobs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell-env': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-user-approval': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-jobs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell-env': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-user-approval': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-call-timeout-policy@0.1.0-rc.7': - resolution: {integrity: sha512-GKmrKxwfIhk51dEEzWjvPKTZ2SK/RNxKXROAaSsZ/HGcerv2kmBHRCEPlaphKBoWhFuw7KAhDnzI6foXLg4BWQ==} + '@deepseek-ai/dsh-tool-call-timeout-policy@0.1.1-rc.2': + resolution: {integrity: sha512-vPYSRvYV9mDSNRl3BU4M76cIA4oigBD16eS/TxFjAj6fpkdc4JgLA9nsvl515/1DJLEIYnp3HQF3iCsptEdurw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-cordis@0.1.0-rc.7': - resolution: {integrity: sha512-tzZ1A+HhfqkMyOWwPgkWezY34rrK/OHD6BBX9DZ4km5/545JZ37+jmViza4TwrUhVxbs+Szhrx6g6V3Hm+674A==} + '@deepseek-ai/dsh-tool-cordis@0.1.1-rc.2': + resolution: {integrity: sha512-cBgfa+0Al94/ur+jaWk2uHZ2ChFw3Mf9nmgaFcToFxkBDAcSCpeKjXK27aw/g2EIz3MvPMzOJo9MLDF3WkUEZg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-cordis-host-runner': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-cordis-host-runner': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-fs-search@0.1.0-rc.7': - resolution: {integrity: sha512-0Lo6bbpPcSMKZlWkBGx2KjwyLy5zYJKMH8fmwz8orwOKHjbfYQT51GV9cpdhLq6NYTwKeMUaxTZC4xPlZ03SAg==} + '@deepseek-ai/dsh-tool-fs-search@0.1.1-rc.2': + resolution: {integrity: sha512-gHu+6Cs9zs1EYd5KSEJxAsw29sz8pGaj+wJb1cwbK39gzK0AUQ10RlBYuxee6SXgMMnD/vFJZFjxRtCAdo1CCA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-output-retention': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-spill': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subprocess': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-output-retention': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-spill': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subprocess': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-fs@0.1.0-rc.7': - resolution: {integrity: sha512-/Uf2z6OZckk0Nz7XjVbzf/yUnvDeY58CkUjAqy2FxgGuNc0rvIR6VzRER5NZ+30bXeB8TPnjMuCVB+j/8zltrw==} + '@deepseek-ai/dsh-tool-fs@0.1.1-rc.2': + resolution: {integrity: sha512-llX8AWbaI3CGme/a2eeTSfy5atk8u3iJeOFzmZV/KZ0v0hMhKZIK1xQInWwC9OmSDJ/StStJe0hDPVLWbB7hVg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-attachment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-fs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-user-approval': ^0.1.0-rc.7 + '@deepseek-ai/dsh-attachment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-fs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-user-approval': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-goal@0.1.0-rc.7': - resolution: {integrity: sha512-bQTVYD7nAtddefQZvvoKsoRHehA/hAHIPbNRdY+L97HVwKnowg5rlcUn/v+MJFQ1NPaTrTAfVQiHXGKEeeI9tA==} + '@deepseek-ai/dsh-tool-goal@0.1.1-rc.2': + resolution: {integrity: sha512-kTECpE732uwlxRJr/jBZb1BqaxZzrA7Rv4KuM3eolvhoTJ5zjyiR2YHmDmCSfuI6zmA/BEfWss7D0mLbVtJEZA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-goal': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-goal': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-jobs@0.1.0-rc.7': - resolution: {integrity: sha512-n/YcmHVTBrN3soZqzMElsnzIQoClOS3U1n5oqpg+oPyesMehpp7DFjdqh7kCZGEmI8chtq4AhYsPUWTPo85G7g==} + '@deepseek-ai/dsh-tool-jobs@0.1.1-rc.2': + resolution: {integrity: sha512-wCU7mo2uoQcAtz7de4ZXP2es9lALsmz6XzC+KAlS2e7/yTBi9a5LL2vdSr6XhExVAuhu/6f9eM/w4EQBOxtKlw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-jobs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-output-retention': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-jobs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-output-retention': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-pwsh@0.1.0-rc.7': - resolution: {integrity: sha512-J24DC4otd3gAVvJ2jPpCfxrrujB/5isEqScp53O2vSvFP7rKn/Rwo8ddr1v462JVWyUG5HtyKpR23cPmQrP0+w==} + '@deepseek-ai/dsh-tool-pwsh-persistent@0.1.1-rc.2': + resolution: {integrity: sha512-h/CgOw+pZQDl+upWeFdUF1wzgZQ4NgTSMAmlOe60QRObEP8rEYggELP3QQiJbgXs34N5E6Ovf4W/ADtnFJVsEw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-jobs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell-env': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-user-approval': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-terminal': ^0.1.1-rc.2 + '@deepseek-ai/dsh-timeout': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-ralph@0.1.0-rc.7': - resolution: {integrity: sha512-1ZCj5w7GRcbs0zuDiDpZLJKc1zs/WSn1WX9VWTuXvWocV66Rq8GGMZLGDksBeltd+jv/dym7xro4+xFl87059Q==} + '@deepseek-ai/dsh-tool-pwsh@0.1.1-rc.2': + resolution: {integrity: sha512-Gr0F4VWCIIR25qWVv4mMEJnewXILHLCkZwrLfbHA2OOI7DNvvdB5wjJxhuo+ZQa8/3KJ/byQGtEBqCY9mb10Zg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-workflow': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-jobs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell-env': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-user-approval': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-skill@0.1.0-rc.7': - resolution: {integrity: sha512-AnXLgiDXq8qB196qq4LnJ6rC5ukoPA4WZH+ILSFpLm59owkfwJLS9rGsfP+PGqiTN7NhoZtAwGmZoYCdSDi0kA==} + '@deepseek-ai/dsh-tool-ralph@0.1.1-rc.2': + resolution: {integrity: sha512-SGOMIJPufjz+eia6p8lRIZ9ybflk/6m1E+MAm6zg4QeCnXcGr2z3fkA8+/CTViosj9wh8NfXJYMFweRpbigkDA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-skill': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-workflow': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-str-replace-editor@0.1.0-rc.7': - resolution: {integrity: sha512-p4GmCg5wC9uw9BaVK9W0hOnEnjGvhhRF234ClVnQMbHwzfgPbhc0eSYUNJQmouqxLAa4kVuiF0nVZvc3aftCeQ==} + '@deepseek-ai/dsh-tool-skill@0.1.1-rc.2': + resolution: {integrity: sha512-ADOjLELlf6QgrJDFdieNDN42pInPHL39ZU/+v+MXxkhE6poM+kcZmn/eCxbfSvMBFQm9E58Zvg60c0hrsi5BCg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-fs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.7 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-skill': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-subagent-control@0.1.0-rc.7': - resolution: {integrity: sha512-VPWUrhTc+X9DcrM/WC+ikM7vCjW54KzRU9wfdhFbXD6hea3hBQ4AlhEdtFtRwmgv3HmjYIUgHkPA3h7pqTsB1Q==} + '@deepseek-ai/dsh-tool-str-replace-editor@0.1.1-rc.2': + resolution: {integrity: sha512-Pzyjfr3T9VSUKyAmxoejp4GVvwup9gmj2Kx6WmoUEMK17NPZrhRXgMXbzFu2JnRjxRp2p1FSs4JDb2734xMQzA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-fs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox': ^0.1.1-rc.2 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-subagent-report@0.1.0-rc.7': - resolution: {integrity: sha512-bdDcRsiB9t4EILfA4gO+FWwXrj6SA12SP0nqymz5yOI5AJWR6pzuIOwRk7IdguHBzq8pDyfelw0YxN+EtkS+tA==} + '@deepseek-ai/dsh-tool-subagent-control@0.1.1-rc.2': + resolution: {integrity: sha512-I1enWV1Pm045l5usFwpJtbzJEpic/XdPdWOg+l0it4ia1jUq9l5jPZeQ85Z2x4UbyxtXFOMDGvSL+9kMi0LzLQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-subagent@0.1.0-rc.7': - resolution: {integrity: sha512-QWs7SeItxpaJ3zY5Vh0scAv84QI+ZRyg9+dws15H88T+dp9dRr4gmR+fqEUdwd9JhPJF5VIORtKY/MqVtaiYQA==} + '@deepseek-ai/dsh-tool-subagent-report@0.1.1-rc.2': + resolution: {integrity: sha512-nxy8Y4PhhaasMewLb/Cj+gU/CthtXgtrPuR2NZmYr49xWYXBu8A2IoWFwf6Y7HkbZRSPg6LPsQJEpftjnIYc2g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-jobs': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-todo@0.1.0-rc.7': - resolution: {integrity: sha512-Jm00eSYvNq8Qj5GmXdsC7EY3Q6TLSzBTiODNAu2bs5HxEqE5ssQ/fdcxuAXAfSFmh2Vq0ENLZckDg3q5Xvj6Qg==} + '@deepseek-ai/dsh-tool-subagent@0.1.1-rc.2': + resolution: {integrity: sha512-26TuzAuxy8x/jDuWJdvCSRQ/ojm7++5FQ6CRLCdZcgU/3Iw2ZY9TKqAIz48cFHOv/wS3+ru0rX3fF1etv6a11Q==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-projection': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-jobs': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-web@0.1.0-rc.7': - resolution: {integrity: sha512-FJyrD+LspCOIP05/v9hv6MJNkTbgDw8ZpmyAXk6sRopA3yOUju5SnN5HpSZ97ZAK65T6tHYbTMdJhy51D41wOw==} + '@deepseek-ai/dsh-tool-todo@0.1.1-rc.2': + resolution: {integrity: sha512-YKP77X/fiKxva/ZzcqkDy6WhNUWYA9oTrAPLAVf3GP+ubIu+r4/cPxu6f2+/8rXLYSi47HXAHajeqQbw2UNXnQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-web': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-projection': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tool-workflow@0.1.0-rc.7': - resolution: {integrity: sha512-EF9qbGiCK+SdFhckVcS8o4F0Rrib4VEbt5yCe0njj4UrHubjz5Ldmz68TqdrvFqw6mvQ11SUqAm1ookp5hp8gA==} + '@deepseek-ai/dsh-tool-web@0.1.1-rc.2': + resolution: {integrity: sha512-oV54OJFYYseJCT77F8lr9ZU/f/x8ZbPTmgQpYPC/O24Hw5uqUHEADkukC2ajrltZSTd0+OVqxHFwpWH4gjDoHQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-workflow': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-web': ^0.1.1-rc.2 - '@deepseek-ai/dsh-tools@0.1.0-rc.7': - resolution: {integrity: sha512-7Kq3EEv354aNcxbS0NRfxxyJiZhCsvFV/03a3MdkYO/gG2eM9+E4xQum0N2FL5bw7JiGlgw8jdLMkcNGmavEaA==} + '@deepseek-ai/dsh-tool-workflow@0.1.1-rc.2': + resolution: {integrity: sha512-tOLaym8/eyHOATADljSbUYBizaYZTqMKp8p+r2SwiWqIjnRral67BwoO5boX+3t+m2Z45+mvrEnHCu1deYLuaA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-code-runtime': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 - '@deepseek-ai/dsh-user-approval': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-workflow': ^0.1.1-rc.2 - '@deepseek-ai/dsh-typert-loader@0.1.0-rc.7': - resolution: {integrity: sha512-0sU6QDo5/8/F7eIi9YGOqI4PTz34O6+NOUr3qRK6U3m6YWh4SVzn1Fc5LXqpnaZPNQpetuLnkvTvFylewBghJA==} + '@deepseek-ai/dsh-tools@0.1.1-rc.2': + resolution: {integrity: sha512-0GGL4D55MwYDepzZMOI3L0ycu5b2qr96GL0Y7snwhAnpK2Di61rbX3fJE+PB3ZrovGX0csIRdt9n3iJZDVtDrw==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-code-runtime': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 + '@deepseek-ai/dsh-user-approval': ^0.1.1-rc.2 + + '@deepseek-ai/dsh-typert-loader@0.1.1-rc.2': + resolution: {integrity: sha512-YTShO0kcBBwXDx8J1Xgn0z4l9nNBqBbpHh2wFAN+PXPORXn0p0F4RY5z2YUVLKLJaL8XRjNKdl43hHK/ttomqw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-typert-registry': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-typert-registry': ^0.1.1-rc.2 - '@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7': - resolution: {integrity: sha512-R7qdvaRRHbz5xijoVOxueeBB/VT0eDzuQNQN4iNEBUbI/L9xG9bZutktTQlgrIlBSn1sPH4pLqiCiM6ErQPTaQ==} + '@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2': + resolution: {integrity: sha512-lxBssDc5Pz1qBE5kuIyaArA7AvIPq9rpaVclylodiSzVJe95e2xruBg73tflyjtd8y00toet+DLgQ6tSSsq6Kw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-typert-registry@0.1.0-rc.7': - resolution: {integrity: sha512-7AQNJLNZTw7/5DzjbfBy4dRqr6VSwc74HBOSPpxm0zzzbmXOEqRCRzMps25IByoAeltRz1ZyY4fzN3tcYa+XwQ==} + '@deepseek-ai/dsh-typert-registry@0.1.1-rc.2': + resolution: {integrity: sha512-ATZu3i7UId+ktsWW3pUFm5Hi1fVsRXFmByATVPp2RlxH1zjxXnauVW6k70ZwU/4FOsphRzo65SXOlAXA+natYg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 - '@deepseek-ai/dsh-user-approval@0.1.0-rc.7': - resolution: {integrity: sha512-kYMpU6eg1m1BcfSC4FLWUcNH/QAE8tcu0WRkQzqzoCw8bK/Nl3dqHtd2qSVzI/emIviTulM5I230e4wPi/kuVg==} + '@deepseek-ai/dsh-user-approval@0.1.1-rc.2': + resolution: {integrity: sha512-SdsO4Rs+NeJFoertkVilXBACREOLfkKPJJznYKqDhJxeRo38RJ56dtj0Xd0/6rERmsQiMck4Bwdrzg1ubUqPNA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-scope': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 - '@deepseek-ai/dsh-user-questions@0.1.0-rc.7': - resolution: {integrity: sha512-dfT6pj84lJdhrtbW2pV6hRftoKDkqx0aJevrhUhOy7Lv3CqTOheuLwwyT69Lww+n/q80Z+yp41qJq9loCkrOaw==} + '@deepseek-ai/dsh-user-questions@0.1.1-rc.2': + resolution: {integrity: sha512-9lYoB7qCFE+Vvgwjny3MnRfS7QUefOspj4KpE3b30DAAJfxwrU4hRtLCHOKxyurF01qrkoEBBpXn4H5ilXYTKg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 - '@deepseek-ai/dsh-web-app@0.1.0-rc.7': - resolution: {integrity: sha512-hcpVwEk5/SgZ63TRUmGaQsC1p2zBBSO8/KAr4xfM2XSwq/tbvpMLrkyt1zehBXcsx6ijB2s62bsr6AYOz9EczA==} + '@deepseek-ai/dsh-web-app@0.1.1-rc.2': + resolution: {integrity: sha512-1zGHY7qwBVlVJrzIWu+86SuBZXaVUxe2JRfffsuRvKXq2QcR/K4CoJJfZ43cDoWKu9xPvvxz7w2ezV+EdXgg1A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/cordis-plugin-loader': ^1.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-shell-env': ^0.1.0-rc.7 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-shell-env': ^0.1.1-rc.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.1-rc.2 - '@deepseek-ai/dsh-web-frontend@0.1.0-rc.7': - resolution: {integrity: sha512-U9Neu6x2/0hrDwCeExEjGO9KkXiJEoJgp61QF/XQkaHyg4E7YSWZDG9NttlhepqFgqs6Dn/qcjrL5G0JGuWYeA==} + '@deepseek-ai/dsh-web-frontend@0.1.1-rc.2': + resolution: {integrity: sha512-1cjf39g6RW7cgtvwhIF6MSnp5sk3KYRkmRhZM4GETWLXCrTfMD0WCJr3yME1uvJsYPTk28XmKXwwMUPrO3kksQ==} - '@deepseek-ai/dsh-web-search-deepseek@0.1.0-rc.7': - resolution: {integrity: sha512-NciK9Tm68RK5XOzl+Jcr4+eG6M5Svq1/23Mhjor9QVYPW1J+wnyxUt6RKLIrmjyiS6VOCOCcZVtyITFkkfVaSQ==} + '@deepseek-ai/dsh-web-search-deepseek@0.1.1-rc.2': + resolution: {integrity: sha512-g8wl7k0Htd0MI5CCh0XHK768P5u05ge0JRThMSgNYQvuKJ+gY4uVwzPXJb7eZ7xNWgXt8ERLXIOMVRylaJX1XQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-credentials': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-launch-environment': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-settings': ^0.1.0-rc.7 - '@deepseek-ai/dsh-web': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-credentials': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-launch-environment': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-settings': ^0.1.1-rc.2 + '@deepseek-ai/dsh-web': ^0.1.1-rc.2 - '@deepseek-ai/dsh-web@0.1.0-rc.7': - resolution: {integrity: sha512-v3Wx/Kn57RyLDqvEhmz0m0p4YluLGSabmMp7dRVJSemYUzT6ZB0JCtMhWkXh6O3kNHSBGpfxeY9Pk+8k80X11Q==} + '@deepseek-ai/dsh-web@0.1.1-rc.2': + resolution: {integrity: sha512-Rtikc8RUlfx6m9+hYvKB3JlAD34PrI2UFHEu1h8UMb7pM/ulIRpjBF7TPlg537WRK4ufCysqCJm0RheNMoYCcQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 - '@deepseek-ai/dsh-workflow-worker-thread@0.1.0-rc.7': - resolution: {integrity: sha512-v0YIoPylB1SJW5gBV8gaqoE0PCAZLzEgIU5OqckBKiApHBd0jIo7EzCeTW9+9Tzd8gwwcBQYv7Yxr++rmH8WGQ==} + '@deepseek-ai/dsh-workflow-worker-thread@0.1.1-rc.2': + resolution: {integrity: sha512-DdMO6gn56wakPTetkLKwuuj7cI3y3ji6c0oR3ksFQLhkYwaYV1hZSxVU6HEiW3hl2so8C163ms8QBgDyIWZsXg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-subagent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-tools': ^0.1.0-rc.7 - '@deepseek-ai/dsh-workflow': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-subagent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-tools': ^0.1.1-rc.2 + '@deepseek-ai/dsh-workflow': ^0.1.1-rc.2 - '@deepseek-ai/dsh-workflow@0.1.0-rc.7': - resolution: {integrity: sha512-PRGT0iF2KcOTxDC1DDIrNOe9bID3zZms902ScrxGAGj8AksRO97kj+3U2MOhRPfHkkNhSQMHCLt42DiclYhWtA==} + '@deepseek-ai/dsh-workflow@0.1.1-rc.2': + resolution: {integrity: sha512-YHUGOBfHGXVr9RRAdCvKZ/1SeeKx4jRumSBMNJo1ETbVqEK+ov2kV61pHFfLu1h+heCsEbOsEJeVXvgYC8EBhw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.7 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 + '@deepseek-ai/dsh-agent': ^0.1.1-rc.2 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-llm': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 - '@deepseek-ai/dsh-workspace@0.1.0-rc.7': - resolution: {integrity: sha512-0czW0bI+uFFOS8h8eJ9SGZSdv+StEsa/+E1WEjZQXVeIOxo520Pv47dq+Z3mTyBfV8gJB+UcY0AQ3F0FddYohg==} + '@deepseek-ai/dsh-workspace@0.1.1-rc.2': + resolution: {integrity: sha512-jBUob4H5TZAiExq9YNVCglKAFmAKMtd1UbyqFfnZZ1Owm+3c3NbAXY947MHiD6NwCwFEW1y7FjrFj66UQvG90A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.7 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session': ^0.1.0-rc.7 - '@deepseek-ai/dsh-session-persistence': ^0.1.0-rc.7 - '@deepseek-ai/dsh-storage': ^0.1.0-rc.7 - '@deepseek-ai/dsh-storage-domain': ^0.1.0-rc.7 + '@deepseek-ai/dsh-brand': ^0.1.1-rc.2 + '@deepseek-ai/dsh-invariants': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session': ^0.1.1-rc.2 + '@deepseek-ai/dsh-session-persistence': ^0.1.1-rc.2 + '@deepseek-ai/dsh-storage': ^0.1.1-rc.2 + '@deepseek-ai/dsh-storage-domain': ^0.1.1-rc.2 - '@deepseek-ai/dsh@0.1.0-rc.7': - resolution: {integrity: sha512-ZceDCJ8FAywih+USW/OMk9jEhunlvJBGEz4kqrhau23hPzbciOazZrywH0nBRsaalSeAJ1JGBmjtw4OSjToStw==} + '@deepseek-ai/dsh@0.1.1-rc.2': + resolution: {integrity: sha512-UP1UIh6q3Gme/yXRn/QL2P8IsVlv8Shpg22TRJIZPsCRWLm4CBiA1MUvXmJAfsOEETBMLAl+xWPtFw6ICsN3wg==} hasBin: true '@deepseek-ai/node-addon-landlock-run-linux-arm64@0.1.1': @@ -3445,6 +3468,10 @@ packages: buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -3550,6 +3577,18 @@ packages: decode-named-character-reference@1.3.0: resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} + + default-browser@5.5.1: + resolution: {integrity: sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==} + engines: {node: '>=18'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -3783,9 +3822,27 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-in-ssh@1.0.0: + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} + engines: {node: '>=20'} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -4174,6 +4231,10 @@ packages: oniguruma-to-es@4.3.6: resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==} + open@11.0.1: + resolution: {integrity: sha512-NzwMUB6C1D0+Kd+9iMS/H4k+Ck3cTX6Ckyfr/gAGlmvSE1LUQZnEZvWBi4PYmMwH/S5SMeTXnE+9uAz8uF+pWw==} + engines: {node: '>=20'} + openai@6.26.0: resolution: {integrity: sha512-zd23dbWTjiJ6sSAX6s0HrCZi41JwTA1bQVs0wLQPZ2/5o2gxOJA5wh7yOAUgwYybfhDXyhwlpeQf7Mlgx8EOCA==} hasBin: true @@ -4225,6 +4286,14 @@ packages: resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} engines: {node: ^10 || ^12 || >=14} + powershell-utils@0.1.0: + resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} + engines: {node: '>=20'} + + powershell-utils@0.2.0: + resolution: {integrity: sha512-ZlsFlG7MtSFCoc5xreOvBAozCJ6Pf06opgJjh9ONEv418xpZSAzNjstD36C6+JwOnfSqOW/9uDkqKjezTdxZhw==} + engines: {node: '>=20'} + property-information@7.2.0: resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} @@ -4296,6 +4365,10 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -4590,6 +4663,10 @@ packages: utf-8-validate: optional: true + wsl-utils@1.0.0: + resolution: {integrity: sha512-Hl0ZOAs672vg+06kfujwRhoS6/jehvULrlFkuF2dRu6pHgA8U06h3xqNIqNNU1LTXPcedxByAR4GS6pwQK0mgA==} + engines: {node: '>=20'} + yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} @@ -5013,232 +5090,242 @@ snapshots: '@deepseek-ai/cosmokit@1.8.2': {} - '@deepseek-ai/dsh-agent-default-model@0.1.0-rc.7(1eb7ceb2998733be9eba21a37a3dc291)': + '@deepseek-ai/dsh-agent-default-model@0.1.1-rc.2(cffd0b3811dd3fb50ded7f3d23c3fd53)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-agent-instructions@0.1.0-rc.7(93b00e8961a24ed58236184dea3d0e10)': + '@deepseek-ai/dsh-agent-instructions@0.1.1-rc.2(aea42a70663db470994f4176a9619635)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-fs': 0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-fs': 0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-agent-loop@0.1.0-rc.7(c781feb845781bb9aab3d875c8c71a7b)': + '@deepseek-ai/dsh-agent-loop@0.1.1-rc.2(ecf90c249e2d9dbb5492af64a9f4bd5d)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-agent-presets@0.1.0-rc.7(c0f9f44edab94cddae92cd4b4f319bab)': + '@deepseek-ai/dsh-agent-presets@0.1.1-rc.2(5200ead8959daeaefdf3dd69ba905368)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-include': 1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-atomic-write': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-atomic-write': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/schemastery': 3.18.1 js-yaml: 4.3.1 - '@deepseek-ai/dsh-agent-tool-presentation@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa))': + '@deepseek-ai/dsh-agent-tool-presentation@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08)': + '@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-anonymous-user-id@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-anonymous-user-id@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-api-gateway@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-api-gateway@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-typert-registry': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-typert-registry': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c)': + '@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-agent-presets': 0.1.0-rc.7(c0f9f44edab94cddae92cd4b4f319bab) - '@deepseek-ai/dsh-api-gateway': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-cordis-host-runner': 0.1.0-rc.7(2a80d56ba6af58ca8075e00e0fa2157b) - '@deepseek-ai/dsh-credentials': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-goal': 0.1.0-rc.7(9616cea51a4bea931c5522310292a042) - '@deepseek-ai/dsh-host-plugin-inventory': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-message-feedback': 0.1.0-rc.7(1fcfefbbf5e365eda1a59fadd94056b9) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-typert-registry': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-agent-presets': 0.1.1-rc.2(5200ead8959daeaefdf3dd69ba905368) + '@deepseek-ai/dsh-api-gateway': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-cordis-host-runner': 0.1.1-rc.2(c90d5f481a921221b380b90110ccbd94) + '@deepseek-ai/dsh-credentials': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-file-reference': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-goal': 0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe) + '@deepseek-ai/dsh-host-plugin-inventory': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-message-feedback': 0.1.1-rc.2(b957b1ba06764ef01eadad39e9185151) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session-reference': 0.1.1-rc.2(535ff208b76500c8770cfd701efd9f97) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-typert-registry': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-app-boot@0.1.0-rc.7(aad8c687644ca696866ebd36b8ea50bc)': + '@deepseek-ai/dsh-app-boot@0.1.1-rc.2(d7ed335ddbfb7670edc51bd2c8928580)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-group': 1.0.1(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/cordis-plugin-include': 1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-launch-environment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-launch-environment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) js-yaml: 4.3.1 optionalDependencies: '@deepseek-ai/cordis-plugin-hmr': 1.0.16(@deepseek-ai/cordis-plugin-timer@1.1.3(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-atomic-write@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-atomic-write@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-attachment-local@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@types/node@24.13.3)': + '@deepseek-ai/dsh-attachment-local@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@types/node@24.13.3)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.1 sharp: 0.35.3(@types/node@24.13.3) transitivePeerDependencies: - '@types/node' - '@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-base@0.1.0-rc.7(4c3fa475d545dd2f3d9478300ee8f37f)': + '@deepseek-ai/dsh-authorization@0.1.1-rc.2(e0350187351f9d964689a3e0122aa410)': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-credentials': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + + '@deepseek-ai/dsh-base@0.1.1-rc.2(b2e5f31b0997e336ef5fc165c5dc16ff)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-hmr': 1.0.16(@deepseek-ai/cordis-plugin-timer@1.1.3(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/cordis-plugin-timer': 1.1.3(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-agent-default-model': 0.1.0-rc.7(1eb7ceb2998733be9eba21a37a3dc291) - '@deepseek-ai/dsh-agent-instructions': 0.1.0-rc.7(93b00e8961a24ed58236184dea3d0e10) - '@deepseek-ai/dsh-agent-loop': 0.1.0-rc.7(c781feb845781bb9aab3d875c8c71a7b) - '@deepseek-ai/dsh-api-gateway': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-attachment-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@types/node@24.13.3) - '@deepseek-ai/dsh-bash-sandbox': 0.1.0-rc.7(685f6ca975e6615c43b38d43329eb0bf) - '@deepseek-ai/dsh-command-compact': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-command-feedback': 0.1.0-rc.7(8240ebd5c5c18b0099c826ca9c37a21e) - '@deepseek-ai/dsh-command-goal': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-goal@0.1.0-rc.7(9616cea51a4bea931c5522310292a042))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-compaction-basic': 0.1.0-rc.7(f519e9ab3c16060968f3852a830521b6) - '@deepseek-ai/dsh-compaction-tool-result-pruner': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-token-meter@0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09)) - '@deepseek-ai/dsh-credentials-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-atomic-write@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-credentials@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-launch-environment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-fs-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-fs-observation-policy': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-fs-sandbox': 0.1.0-rc.7(e2c3f749b35e7992023fc11ff304b924) - '@deepseek-ai/dsh-goal': 0.1.0-rc.7(9616cea51a4bea931c5522310292a042) - '@deepseek-ai/dsh-goal-round-driver': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-goal@0.1.0-rc.7(9616cea51a4bea931c5522310292a042))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-jobs-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-jobs@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-llm-deepseek': 0.1.0-rc.7(1b165c0b687652478be7b7375cfce4e5) - '@deepseek-ai/dsh-llm-pi-ai': 0.1.0-rc.7(7012acaf3effe0bd7eda8406abb0be6d) - '@deepseek-ai/dsh-llm-retry': 0.1.0-rc.7(f6ee553b5544017c93f5bcbec0012ce3) - '@deepseek-ai/dsh-permission-presets': 0.1.0-rc.7(bd0acd1ff6121b02d9866ecbfc1d9b12) - '@deepseek-ai/dsh-plan-mode': 0.1.0-rc.7(3abfc5979880a1c8e6bc377abfd69758) - '@deepseek-ai/dsh-pwsh-sandbox': 0.1.0-rc.7(01b43dee0e175c8dd5e3a7e6517088bf) - '@deepseek-ai/dsh-repeat-tool-reminder': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-sandbox-local': 0.1.0-rc.7(dbd40ab583e375c407ea206b169b3049) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-checkpoint-policy': 0.1.0-rc.7(1a5c4e40a544406e1e82bb99610f66a3) - '@deepseek-ai/dsh-session-persistence-jsonl': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-session-query-sqlite': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session-query@0.1.0-rc.7(fa24861d08a9d735fc78888af6ddf326))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-session-telemetry-otel': 0.1.0-rc.7(2ea544043975e11edf40fad6b8322b79) - '@deepseek-ai/dsh-session-title': 0.1.0-rc.7(54a387d0d580a07b8dbef208df0b04c2) - '@deepseek-ai/dsh-session-title-first-prompt-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session-title-llm@0.1.0-rc.7(6fcdcafdc6a942dddc20da358d69b413))(@deepseek-ai/dsh-session-title@0.1.0-rc.7(54a387d0d580a07b8dbef208df0b04c2))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-settings-file': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-atomic-write@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) - '@deepseek-ai/dsh-shell-env': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-skill': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-skill-badge': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-skill@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))) - '@deepseek-ai/dsh-skill-filesystem': 0.1.0-rc.7(cea9f3527f4d5c630f6db1120eda1b51) - '@deepseek-ai/dsh-spill-local': 0.1.0-rc.7(fa23de144536b578bc3d547e7122cf66) - '@deepseek-ai/dsh-spill-policy': 0.1.0-rc.7(a25502e01591be81db4b639e945e283f) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-subagent-fork-in-process': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-subagent-in-process-driver@0.1.0-rc.7(89bd93a5134bf339611454c0aa5ecf19))(@deepseek-ai/dsh-subagent@0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da)) - '@deepseek-ai/dsh-subagent-spawn-in-process': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-subagent-in-process-driver@0.1.0-rc.7(89bd93a5134bf339611454c0aa5ecf19))(@deepseek-ai/dsh-subagent@0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da)) - '@deepseek-ai/dsh-subprocess-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-subprocess@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-token-meter': 0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09) - '@deepseek-ai/dsh-tool-bash': 0.1.0-rc.7(e6524a4741ca5f7a041a012548fcf420) - '@deepseek-ai/dsh-tool-call-timeout-policy': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-tool-fs': 0.1.0-rc.7(e7d989b5e5a4423849aa5d8248287fa2) - '@deepseek-ai/dsh-tool-fs-search': 0.1.0-rc.7(b32686f6bdfad4e2bac19ddddae90f15) - '@deepseek-ai/dsh-tool-goal': 0.1.0-rc.7(180e0f3f329d9b10860ecf7e00313277) - '@deepseek-ai/dsh-tool-jobs': 0.1.0-rc.7(9946e50f0ee52458165c230dc9c7c6b5) - '@deepseek-ai/dsh-tool-pwsh': 0.1.0-rc.7(e6524a4741ca5f7a041a012548fcf420) - '@deepseek-ai/dsh-tool-ralph': 0.1.0-rc.7(bab3281304625d6d534bd32fe485cf79) - '@deepseek-ai/dsh-tool-skill': 0.1.0-rc.7(df0d23800fad5b2ada25025e060bda44) - '@deepseek-ai/dsh-tool-str-replace-editor': 0.1.0-rc.7(3bd2fa864f678fb2dc668eb7729286c2) - '@deepseek-ai/dsh-tool-subagent': 0.1.0-rc.7(1222888b06fba7e9c8bcaa54a558d14e) - '@deepseek-ai/dsh-tool-subagent-control': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-subagent@0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-tool-subagent-report': 0.1.0-rc.7(640d921ae2b98078971463f9056a34f9) - '@deepseek-ai/dsh-tool-todo': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-projection@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-tool-web': 0.1.0-rc.7(a1e227eab3db3d5fdb80246cd440578f) - '@deepseek-ai/dsh-tool-workflow': 0.1.0-rc.7(568ef6a59b3c44062c8cbf5cb759c397) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-typert-loader': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-typert-registry': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.7(6b8cefd624fd84694a941b103cc9b3fb) - '@deepseek-ai/dsh-user-questions': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))) - '@deepseek-ai/dsh-web': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))) - '@deepseek-ai/dsh-web-search-deepseek': 0.1.0-rc.7(682f945d61f3362c5b4bd1233bf7a050) - '@deepseek-ai/dsh-workflow-worker-thread': 0.1.0-rc.7(6ad95a742535dff29ed317a2fc297623) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-agent-default-model': 0.1.1-rc.2(cffd0b3811dd3fb50ded7f3d23c3fd53) + '@deepseek-ai/dsh-agent-instructions': 0.1.1-rc.2(aea42a70663db470994f4176a9619635) + '@deepseek-ai/dsh-agent-loop': 0.1.1-rc.2(ecf90c249e2d9dbb5492af64a9f4bd5d) + '@deepseek-ai/dsh-api-gateway': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-attachment-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@types/node@24.13.3) + '@deepseek-ai/dsh-bash-sandbox': 0.1.1-rc.2(32261fed60bdf99896314676329dfd15) + '@deepseek-ai/dsh-command-compact': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-command-feedback': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-anonymous-user-id@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-telemetry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-command-goal': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-goal@0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-compaction-basic': 0.1.1-rc.2(a2e753ab8e1623cdff452f5c725a14ee) + '@deepseek-ai/dsh-compaction-tool-result-pruner': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-token-meter@0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd)) + '@deepseek-ai/dsh-credentials-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-atomic-write@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-credentials@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-launch-environment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-fs-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-fs-observation-policy': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-fs-sandbox': 0.1.1-rc.2(d98be351079aaebc5a69640aaaa0d713) + '@deepseek-ai/dsh-goal': 0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe) + '@deepseek-ai/dsh-goal-round-driver': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-goal@0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-jobs-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-jobs@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-llm-deepseek': 0.1.1-rc.2(a4f32a8d2888fcc753211ed9471efdc6) + '@deepseek-ai/dsh-llm-pi-ai': 0.1.1-rc.2(236ec8963c16cce3286da2b293de8170) + '@deepseek-ai/dsh-llm-retry': 0.1.1-rc.2(a0b14eb40667f7e2f3e22b89a59650a0) + '@deepseek-ai/dsh-permission-presets': 0.1.1-rc.2(658be80606d82afcf6677e29de924cf8) + '@deepseek-ai/dsh-plan-mode': 0.1.1-rc.2(b66cd71ae35f2828793c3b8a2858d514) + '@deepseek-ai/dsh-pwsh-sandbox': 0.1.1-rc.2(98fad6318009d5d616f13ecbe715da01) + '@deepseek-ai/dsh-repeat-tool-reminder': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-sandbox-local': 0.1.1-rc.2(ddbef8a0a0c6994b3eac1d46b05a15b8) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-checkpoint-policy': 0.1.1-rc.2(a89f7fb723bc2edff23ecaedc7d274b5) + '@deepseek-ai/dsh-session-persistence-jsonl': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-session-query-sqlite': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session-query@0.1.1-rc.2(d854f9afd763ce298cb594d238b23507))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-session-telemetry-otel': 0.1.1-rc.2(0e329a50b6fe6a15de6a41bb5c1b84f9) + '@deepseek-ai/dsh-session-title': 0.1.1-rc.2(54f3cb7dfcb0c20072924b6c262cea76) + '@deepseek-ai/dsh-session-title-first-prompt-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session-title-llm@0.1.1-rc.2(496254830230f8a6b76f3b008de343df))(@deepseek-ai/dsh-session-title@0.1.1-rc.2(54f3cb7dfcb0c20072924b6c262cea76))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-settings-file': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-atomic-write@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-shell-env': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-skill': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-skill-badge': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-skill@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-skill-filesystem': 0.1.1-rc.2(48868494a4b9bcea1966f12a762e8376) + '@deepseek-ai/dsh-spill-local': 0.1.1-rc.2(7314b9cfa55168b22f8f6fda35aa8983) + '@deepseek-ai/dsh-spill-policy': 0.1.1-rc.2(e1dbdbedb702b4f2dade0823c7cbe27b) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-subagent-fork-in-process': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-subagent-in-process-driver@0.1.1-rc.2(be871aa02352f784a61c36caf4b59900))(@deepseek-ai/dsh-subagent@0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b)) + '@deepseek-ai/dsh-subagent-spawn-in-process': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-subagent-in-process-driver@0.1.1-rc.2(be871aa02352f784a61c36caf4b59900))(@deepseek-ai/dsh-subagent@0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b)) + '@deepseek-ai/dsh-subprocess-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-subprocess@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-token-meter': 0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd) + '@deepseek-ai/dsh-tool-bash': 0.1.1-rc.2(05a4ab9bdde8ba7591263d161ac5ed9d) + '@deepseek-ai/dsh-tool-call-timeout-policy': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-tool-fs': 0.1.1-rc.2(1bedc55125eccc12456b08e283ea8a8e) + '@deepseek-ai/dsh-tool-fs-search': 0.1.1-rc.2(8f26a32987bc67ff94da7068f226f993) + '@deepseek-ai/dsh-tool-goal': 0.1.1-rc.2(6508b6d44139ca8ca60da0e22a530313) + '@deepseek-ai/dsh-tool-jobs': 0.1.1-rc.2(47973f80f86a218f479fbdcf19fb4ae2) + '@deepseek-ai/dsh-tool-pwsh': 0.1.1-rc.2(05a4ab9bdde8ba7591263d161ac5ed9d) + '@deepseek-ai/dsh-tool-ralph': 0.1.1-rc.2(431cab7d0fcdc7d04f22e1644af6dad7) + '@deepseek-ai/dsh-tool-skill': 0.1.1-rc.2(933d784142a998775a8022e1081fa8f7) + '@deepseek-ai/dsh-tool-str-replace-editor': 0.1.1-rc.2(488c585b6cb94a33954defbdc193572b) + '@deepseek-ai/dsh-tool-subagent': 0.1.1-rc.2(fff99afb66eb5f78f92e1168a4be0359) + '@deepseek-ai/dsh-tool-subagent-control': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-subagent@0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-tool-subagent-report': 0.1.1-rc.2(8dfd53b4bcfab7f587161115768d470a) + '@deepseek-ai/dsh-tool-todo': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-projection@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-tool-web': 0.1.1-rc.2(1c5a0234715166d758e366fe9c921b2f) + '@deepseek-ai/dsh-tool-workflow': 0.1.1-rc.2(910301586bd16051b44e5fe8055952d4) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-typert-loader': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-typert-registry': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-user-approval': 0.1.1-rc.2(09871eaf880be2109e9d668352ef8c05) + '@deepseek-ai/dsh-user-questions': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-web': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-web-search-deepseek': 0.1.1-rc.2(8e47c89c848a591c17689609bee09251) + '@deepseek-ai/dsh-workflow-worker-thread': 0.1.1-rc.2(7ff539779842715217130c18ca64c09c) transitivePeerDependencies: - '@deepseek-ai/cordis-plugin-loader' - '@deepseek-ai/dsh-agent-presets' - '@deepseek-ai/dsh-anonymous-user-id' - '@deepseek-ai/dsh-atomic-write' - '@deepseek-ai/dsh-attachment' + - '@deepseek-ai/dsh-authorization' - '@deepseek-ai/dsh-bash-local' - '@deepseek-ai/dsh-brand' - '@deepseek-ai/dsh-client-connection' @@ -5274,373 +5361,294 @@ snapshots: - ws - zod - '@deepseek-ai/dsh-bash-local@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-subprocess@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-bash-local@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-subprocess@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-shell': 0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61) - '@deepseek-ai/dsh-subprocess': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-shell': 0.1.1-rc.2(206e5a113efc0246947fa5321bc71187) + '@deepseek-ai/dsh-subprocess': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-bash-sandbox@0.1.0-rc.7(685f6ca975e6615c43b38d43329eb0bf)': + '@deepseek-ai/dsh-bash-sandbox@0.1.1-rc.2(32261fed60bdf99896314676329dfd15)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-bash-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-subprocess@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-shell': 0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61) + '@deepseek-ai/dsh-bash-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-subprocess@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-shell': 0.1.1-rc.2(206e5a113efc0246947fa5321bc71187) - '@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-client-connection@0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd)': + '@deepseek-ai/dsh-client-connection@0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-host-apiproxy': 0.1.0-rc.7(20514f3a3e01200624daa2ce81cb702e) - '@deepseek-ai/dsh-host-webserver': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-host-apiproxy': 0.1.1-rc.2(7a1c54e2b954eca6f88bad802758761b) + '@deepseek-ai/dsh-host-webserver': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 ws: 8.21.3 transitivePeerDependencies: - - '@deepseek-ai/dsh-agent' - - '@deepseek-ai/dsh-agent-presets' - - '@deepseek-ai/dsh-api-gateway' - - '@deepseek-ai/dsh-brand' - - '@deepseek-ai/dsh-code-runtime' - - '@deepseek-ai/dsh-cordis-host-runner' - - '@deepseek-ai/dsh-host-plugin-inventory' - - '@deepseek-ai/dsh-message-feedback' - - '@deepseek-ai/dsh-sandbox' - - '@deepseek-ai/dsh-sandbox-policy' - - '@deepseek-ai/dsh-scope' - - '@deepseek-ai/dsh-storage' - - '@deepseek-ai/dsh-storage-domain' - - '@deepseek-ai/dsh-system-prompt' - - '@deepseek-ai/dsh-timeout' - - '@deepseek-ai/dsh-typert-protocol' - - '@deepseek-ai/dsh-typert-registry' - - '@deepseek-ai/dsh-user-approval' - bufferutil - utf-8-validate - '@deepseek-ai/dsh-client-hmr@0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-modules@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-host-webserver@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-client-hmr@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-modules@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-client-modules': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-host-webserver': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-client-modules': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-host-webserver': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57)': + '@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) '@deepseek-ai/schemastery': 3.18.1 - react: 18.3.1 - transitivePeerDependencies: - - '@deepseek-ai/dsh-brand' - '@deepseek-ai/dsh-client-modules@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-client-modules@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - - '@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c)': - dependencies: - '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-host-apiproxy': 0.1.0-rc.7(20514f3a3e01200624daa2ce81cb702e) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-llm-retry': 0.1.0-rc.7(f6ee553b5544017c93f5bcbec0012ce3) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-session-title': 0.1.0-rc.7(54a387d0d580a07b8dbef208df0b04c2) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-typert-registry': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) + '@deepseek-ai/dsh-host-webserver': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + + '@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2)': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-host-apiproxy': 0.1.1-rc.2(7a1c54e2b954eca6f88bad802758761b) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-llm-retry': 0.1.1-rc.2(a0b14eb40667f7e2f3e22b89a59650a0) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-session-title': 0.1.1-rc.2(54f3cb7dfcb0c20072924b6c262cea76) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-typert-registry': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) immer: 10.2.0 - react: 18.3.1 zustand: 4.4.7(@types/react@18.3.31)(immer@10.2.0)(react@18.3.1) transitivePeerDependencies: - - '@deepseek-ai/dsh-agent-presets' - - '@deepseek-ai/dsh-api-gateway' - - '@deepseek-ai/dsh-brand' - - '@deepseek-ai/dsh-code-runtime' - - '@deepseek-ai/dsh-cordis-host-runner' - - '@deepseek-ai/dsh-host-plugin-inventory' - - '@deepseek-ai/dsh-host-webserver' - - '@deepseek-ai/dsh-message-feedback' - - '@deepseek-ai/dsh-sandbox' - - '@deepseek-ai/dsh-sandbox-policy' - - '@deepseek-ai/dsh-scope' - - '@deepseek-ai/dsh-storage' - - '@deepseek-ai/dsh-storage-domain' - - '@deepseek-ai/dsh-system-prompt' - - '@deepseek-ai/dsh-timeout' - - '@deepseek-ai/dsh-user-approval' - '@types/react' - - bufferutil - - utf-8-validate + - react - '@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-client-ui-agent-preset@0.1.1-rc.2(1111e99e69f0e28476abba73902ee420)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-client-ui-agent-preset@0.1.0-rc.7(092e33411eff9776175f385698af28c7)': + '@deepseek-ai/dsh-client-ui-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-web-react': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + clsx: 2.1.1 - '@deepseek-ai/dsh-client-ui-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-client-ui-brand-official@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - clsx: 2.1.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@deepseek-ai/dsh-brand' - - supports-color + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-client-ui-sidebar': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-client-ui-commands@0.1.0-rc.7(b330b9ac6a437574c18f8dc88bbc5382)': + '@deepseek-ai/dsh-client-ui-commands@0.1.1-rc.2(80d6629d43b7b3bd56c4112e453f2af8)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) clsx: 2.1.1 - react: 18.3.1 - '@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad)': - dependencies: - '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-compaction': 0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm-retry': 0.1.0-rc.7(f6ee553b5544017c93f5bcbec0012ce3) - '@deepseek-ai/dsh-session-stats': 0.1.0-rc.7(162e09a00c830c72cf271bc0dbd64697) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-token-meter': 0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602)': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-layout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-compaction': 0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd) + '@deepseek-ai/dsh-goal': 0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm-retry': 0.1.1-rc.2(a0b14eb40667f7e2f3e22b89a59650a0) + '@deepseek-ai/dsh-permission-presets': 0.1.1-rc.2(658be80606d82afcf6677e29de924cf8) + '@deepseek-ai/dsh-plan-mode': 0.1.1-rc.2(b66cd71ae35f2828793c3b8a2858d514) + '@deepseek-ai/dsh-session-stats': 0.1.1-rc.2(4f68681cfc87663aed983da8df0554ed) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-token-meter': 0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd) + '@deepseek-ai/dsh-tool-todo': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-projection@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 clsx: 2.1.1 - react: 18.3.1 - '@deepseek-ai/dsh-client-ui-cordis@0.1.0-rc.7(94cc423b4e0a6447b728d8f370d5b499)': + '@deepseek-ai/dsh-client-ui-cordis@0.1.1-rc.2(0f47f3917aacd37f0258ecbb92c181e5)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-sidebar': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-tool': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-cordis-client-runner': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-modules@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-theme@0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-sidebar': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-tool': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-cordis-client-runner': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-modules@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-client-ui-deliverables@0.1.0-rc.7(d0332dbf10a7abbf780b87d4568fb79b)': + '@deepseek-ai/dsh-client-ui-deliverables@0.1.1-rc.2(5adf45826fd511287e2072b6a9f9439e)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - react: 18.3.1 + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-client-ui-directory-picker-browse@0.1.0-rc.7(75199c38fc5ce25fe383d589d47836a3)': + '@deepseek-ai/dsh-client-ui-directory-picker-browse@0.1.1-rc.2(e266472b05d0f28968096fd7865f8cdf)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-workspace': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-workspace': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) clsx: 2.1.1 - react: 18.3.1 - '@deepseek-ai/dsh-client-ui-directory-picker-native@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-workspace@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-directory-picker-native@0.1.1-rc.2(cc9ce2bdeeee3666067732c6d16f5e8a)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-workspace': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-workspace': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-client-ui-goal@0.1.0-rc.7(023f91d27e825e07e0a62608d594f3da)': + '@deepseek-ai/dsh-client-ui-goal@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-goal@0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-goal': 0.1.0-rc.7(9616cea51a4bea931c5522310292a042) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-goal': 0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-input-trigger@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-input-trigger@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-file-reference': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) clsx: 2.1.1 - react: 18.3.1 - '@deepseek-ai/dsh-client-ui-jobs@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-client-ui-jobs@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-client-ui-layout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-theme@0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-theme': 0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-theme': 0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - ? '@deepseek-ai/dsh-client-ui-message-feedback@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-message-feedback@0.1.0-rc.7(1fcfefbbf5e365eda1a59fadd94056b9))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(react@18.3.1)' - : dependencies: + '@deepseek-ai/dsh-client-ui-message-feedback@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-message-feedback@0.1.1-rc.2(b957b1ba06764ef01eadad39e9185151))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': + dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-message-feedback': 0.1.0-rc.7(1fcfefbbf5e365eda1a59fadd94056b9) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - react: 18.3.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-message-feedback': 0.1.1-rc.2(b957b1ba06764ef01eadad39e9185151) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-model-selection@0.1.0-rc.7(e7b2f4cf85446ddea11824e855597da2)': + '@deepseek-ai/dsh-client-ui-model-selection@0.1.1-rc.2(53eeac97c6a89cc0743be95559f46241)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-commands': 0.1.0-rc.7(b330b9ac6a437574c18f8dc88bbc5382) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-commands': 0.1.1-rc.2(80d6629d43b7b3bd56c4112e453f2af8) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) clsx: 2.1.1 - react: 18.3.1 - '@deepseek-ai/dsh-client-ui-permission-presets@0.1.0-rc.7(cc5311c5c155a3fe13138a3153352f0d)': - dependencies: - '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-schema-form': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-commands': 0.1.0-rc.7(b330b9ac6a437574c18f8dc88bbc5382) - '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-permission-presets': 0.1.0-rc.7(bd0acd1ff6121b02d9866ecbfc1d9b12) - react: 18.3.1 + '@deepseek-ai/dsh-client-ui-permission-presets@0.1.1-rc.2(fb27e6658a69257b1cc8a891ff242b7a)': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-commands': 0.1.1-rc.2(80d6629d43b7b3bd56c4112e453f2af8) + '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-permission-presets': 0.1.1-rc.2(658be80606d82afcf6677e29de924cf8) - '@deepseek-ai/dsh-client-ui-plan@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-plan-mode@0.1.0-rc.7(3abfc5979880a1c8e6bc377abfd69758))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-plan@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-plan-mode@0.1.1-rc.2(b66cd71ae35f2828793c3b8a2858d514))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-plan-mode': 0.1.0-rc.7(3abfc5979880a1c8e6bc377abfd69758) - react: 18.3.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-plan-mode': 0.1.1-rc.2(b66cd71ae35f2828793c3b8a2858d514) - '@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-client-ui-primitives@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) '@shikijs/langs': 4.4.3 '@types/mdast': 4.0.4 anser: 2.3.5 @@ -5664,524 +5672,461 @@ snapshots: transitivePeerDependencies: - supports-color - '@deepseek-ai/dsh-client-ui-settings-general@0.1.0-rc.7(17db20b30331ad10fde8ba24334c51c7)': + '@deepseek-ai/dsh-client-ui-reference@0.1.1-rc.2(806a1e677854eee81b0fd9515e8e3246)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-sidebar': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-web-react': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/schemastery': 3.18.1 - clsx: 2.1.1 - react: 18.3.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-file-reference': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session-reference': 0.1.1-rc.2(535ff208b76500c8770cfd701efd9f97) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + + '@deepseek-ai/dsh-client-ui-renderer@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(react@18.3.1)': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + use-sync-external-store: 1.2.0(react@18.3.1) transitivePeerDependencies: - - '@deepseek-ai/dsh-brand' + - react - '@deepseek-ai/dsh-client-ui-settings-models@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-web-react@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-settings-general@0.1.1-rc.2(39939b11bffa728699baa1443ccf961d)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-schema-form': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-web-react': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-client-ui-sidebar': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/schemastery': 3.18.1 + clsx: 2.1.1 - '@deepseek-ai/dsh-client-ui-settings-plugin-inventory@0.1.0-rc.7(149ef5ab011d66b3eec477b1929c30e3)': + '@deepseek-ai/dsh-client-ui-settings-models@0.1.1-rc.2(82a05e91338c2739cf35f94a3adf926b)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-client-ui-settings-plugins@0.1.0-rc.7(c6de3cc411994af2dc30d1274b088d2a)': + ? '@deepseek-ai/dsh-client-ui-settings-plugin-inventory@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))' + : dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + + '@deepseek-ai/dsh-client-ui-settings-plugins@0.1.1-rc.2(82a05e91338c2739cf35f94a3adf926b)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-web-react': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) clsx: 2.1.1 - react: 18.3.1 - '@deepseek-ai/dsh-client-ui-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-schema-form': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - react: 18.3.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-client-ui-sidebar@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-layout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) clsx: 2.1.1 - react: 18.3.1 - '@deepseek-ai/dsh-client-ui-skill@0.1.0-rc.7(54c8f42d28b0e88089f5329c613b3d3c)': + '@deepseek-ai/dsh-client-ui-skill@0.1.1-rc.2(aaff6a1c91fce58050a8b0ac2de071bf)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-tool': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-tool': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-client-ui-slots@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-client-ui-subagent@0.1.0-rc.7(4336a6d2c7f94fd0dcaa3b7a76aa6ff8)': + '@deepseek-ai/dsh-client-ui-subagent@0.1.1-rc.2(9180e4dde96c0415bfbb66860ba35686)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-token-meter': 0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09) - react: 18.3.1 + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-token-meter': 0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd) - '@deepseek-ai/dsh-client-ui-theme@0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c)': + '@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-host-webserver': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-host-webserver': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) '@deepseek-ai/schemastery': 3.18.1 clsx: 2.1.1 - react: 18.3.1 - transitivePeerDependencies: - - '@deepseek-ai/dsh-brand' - '@deepseek-ai/dsh-client-ui-tool@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-tool@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) clsx: 2.1.1 - react: 18.3.1 - '@deepseek-ai/dsh-client-ui-trajectory@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-trajectory@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-compaction': 0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-compaction': 0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@tanstack/react-virtual': 3.14.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) diff: 9.0.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@deepseek-ai/dsh-client-ui-user-questions@0.1.0-rc.7(71ef2433bcd98d5c873d3a4bc68f2226)': - dependencies: - '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - clsx: 2.1.1 - react: 18.3.1 transitivePeerDependencies: - - '@deepseek-ai/dsh-agent' - - '@deepseek-ai/dsh-agent-presets' - - '@deepseek-ai/dsh-api-gateway' - - '@deepseek-ai/dsh-attachment' - - '@deepseek-ai/dsh-brand' - - '@deepseek-ai/dsh-client-ui-attachment' - - '@deepseek-ai/dsh-client-ui-input-trigger' - - '@deepseek-ai/dsh-client-ui-settings' - - '@deepseek-ai/dsh-code-runtime' - - '@deepseek-ai/dsh-commands' - - '@deepseek-ai/dsh-compaction' - - '@deepseek-ai/dsh-cordis-host-runner' - - '@deepseek-ai/dsh-host-plugin-inventory' - - '@deepseek-ai/dsh-host-webserver' - - '@deepseek-ai/dsh-llm-retry' - - '@deepseek-ai/dsh-message-feedback' - - '@deepseek-ai/dsh-sandbox' - - '@deepseek-ai/dsh-sandbox-policy' - - '@deepseek-ai/dsh-scope' - - '@deepseek-ai/dsh-session-stats' - - '@deepseek-ai/dsh-storage' - - '@deepseek-ai/dsh-storage-domain' - - '@deepseek-ai/dsh-system-prompt' - - '@deepseek-ai/dsh-timeout' - - '@deepseek-ai/dsh-token-meter' - - '@deepseek-ai/dsh-tools' - - '@deepseek-ai/dsh-typert-protocol' - - '@deepseek-ai/dsh-typert-registry' - - '@deepseek-ai/dsh-user-approval' - - '@types/react' - - bufferutil - - supports-color - - utf-8-validate - - '@deepseek-ai/dsh-client-ui-workflow-run@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-tool-workflow@0.1.0-rc.7(568ef6a59b3c44062c8cbf5cb759c397))(@deepseek-ai/dsh-workflow@0.1.0-rc.7(1238b6f54f01b13da1636d404c6902fd))': - dependencies: - '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-tool-workflow': 0.1.0-rc.7(568ef6a59b3c44062c8cbf5cb759c397) - '@deepseek-ai/dsh-workflow': 0.1.0-rc.7(1238b6f54f01b13da1636d404c6902fd) - react: 18.3.1 + - react + - react-dom - '@deepseek-ai/dsh-client-ui-workspace@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1)': + '@deepseek-ai/dsh-client-ui-user-questions@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) clsx: 2.1.1 - react: 18.3.1 - '@deepseek-ai/dsh-client-web-react@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-client-ui-workflow-run@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-tool-workflow@0.1.1-rc.2(910301586bd16051b44e5fe8055952d4))(@deepseek-ai/dsh-workflow@0.1.1-rc.2(be2dac4e15e11ce84de4558727259db8))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 - use-sync-external-store: 1.2.0(react@18.3.1) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-tool-workflow': 0.1.1-rc.2(910301586bd16051b44e5fe8055952d4) + '@deepseek-ai/dsh-workflow': 0.1.1-rc.2(be2dac4e15e11ce84de4558727259db8) - '@deepseek-ai/dsh-client-web@0.1.0-rc.7(39c75729bad275f57cea9a6c6f862438)': + '@deepseek-ai/dsh-client-ui-workspace@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-client-modules': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-schema-form': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-theme': 0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c) - '@deepseek-ai/dsh-client-web-react': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@deepseek-ai/dsh-api-remotes' - - '@deepseek-ai/dsh-brand' - - '@deepseek-ai/dsh-client-connection' - - '@deepseek-ai/dsh-client-locale' - - '@deepseek-ai/dsh-client-runtime' - - '@deepseek-ai/dsh-client-ui-settings' - - '@deepseek-ai/dsh-host-webserver' - - supports-color + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-client-ui-sidebar': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + clsx: 2.1.1 - '@deepseek-ai/dsh-cmdline@0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-cmdline@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-code-runtime-worker-thread@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-code-runtime@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-code-runtime-worker-thread@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-code-runtime@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-code-runtime': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-code-runtime': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-code-runtime@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-code-runtime@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-command-compact@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-command-compact@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-compaction': 0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-compaction': 0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-command-feedback@0.1.0-rc.7(8240ebd5c5c18b0099c826ca9c37a21e)': + '@deepseek-ai/dsh-command-feedback@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-anonymous-user-id@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-telemetry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-anonymous-user-id': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-telemetry': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) + '@deepseek-ai/dsh-anonymous-user-id': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-telemetry': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) - '@deepseek-ai/dsh-command-goal@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-goal@0.1.0-rc.7(9616cea51a4bea931c5522310292a042))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-command-goal@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-goal@0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-goal': 0.1.0-rc.7(9616cea51a4bea931c5522310292a042) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-goal': 0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-commands@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) zod: 4.4.3 - '@deepseek-ai/dsh-compaction-basic@0.1.0-rc.7(f519e9ab3c16060968f3852a830521b6)': + '@deepseek-ai/dsh-compaction-basic@0.1.1-rc.2(a2e753ab8e1623cdff452f5c725a14ee)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-compaction': 0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-token-meter': 0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-compaction': 0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-token-meter': 0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd) '@deepseek-ai/schemastery': 3.18.1 optionalDependencies: - '@deepseek-ai/dsh-compaction-tool-result-pruner': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-token-meter@0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09)) + '@deepseek-ai/dsh-compaction-tool-result-pruner': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-token-meter@0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd)) - '@deepseek-ai/dsh-compaction-tool-result-pruner@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-token-meter@0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09))': + '@deepseek-ai/dsh-compaction-tool-result-pruner@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-token-meter@0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-compaction': 0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-token-meter': 0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09) + '@deepseek-ai/dsh-compaction': 0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-token-meter': 0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97)': + '@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) - '@deepseek-ai/dsh-cordis-client-runner@0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-modules@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-theme@0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1)': + '@deepseek-ai/dsh-cordis-client-runner@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-modules@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-modules': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-theme': 0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 - - '@deepseek-ai/dsh-cordis-host-runner@0.1.0-rc.7(2a80d56ba6af58ca8075e00e0fa2157b)': - dependencies: - '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-modules': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-theme': 0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + + '@deepseek-ai/dsh-cordis-host-runner@0.1.1-rc.2(c90d5f481a921221b380b90110ccbd94)': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 zod: 4.4.3 - '@deepseek-ai/dsh-credentials-local@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-atomic-write@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-credentials@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-launch-environment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-credentials-local@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-atomic-write@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-credentials@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-launch-environment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-atomic-write': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-credentials': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-launch-environment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-atomic-write': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-credentials': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-launch-environment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 chokidar: 4.0.3 yaml: 2.9.0 - '@deepseek-ai/dsh-credentials@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-credentials@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + + '@deepseek-ai/dsh-file-reference-local@0.1.1-rc.2(37f0a793562929d03bc6499724f01bd5)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-file-reference': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/schemastery': 3.18.1 + + '@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + zod: 4.4.3 - '@deepseek-ai/dsh-fs-local@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-fs-local@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-fs': 0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-fs': 0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.1 koffi: 3.1.5 - '@deepseek-ai/dsh-fs-observation-policy@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-fs-observation-policy@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-fs': 0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-fs': 0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-fs-sandbox@0.1.0-rc.7(e2c3f749b35e7992023fc11ff304b924)': + '@deepseek-ai/dsh-fs-sandbox@0.1.1-rc.2(d98be351079aaebc5a69640aaaa0d713)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-fs': 0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed) - '@deepseek-ai/dsh-fs-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) + '@deepseek-ai/dsh-fs': 0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36) + '@deepseek-ai/dsh-fs-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) - '@deepseek-ai/dsh-fs@0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed)': + '@deepseek-ai/dsh-fs@0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) - '@deepseek-ai/dsh-goal-round-driver@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-goal@0.1.0-rc.7(9616cea51a4bea931c5522310292a042))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))': + '@deepseek-ai/dsh-goal-round-driver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-goal@0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-goal': 0.1.0-rc.7(9616cea51a4bea931c5522310292a042) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-goal': 0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) - '@deepseek-ai/dsh-goal@0.1.0-rc.7(9616cea51a4bea931c5522310292a042)': + '@deepseek-ai/dsh-goal@0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 zod: 4.4.3 - '@deepseek-ai/dsh-headless@0.1.0-rc.7(85cf737328c42864c624534435ec3820)': + '@deepseek-ai/dsh-headless@0.1.1-rc.2(6f2d1767c8b04054fa31cea644d40f88)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-agent-default-model': 0.1.0-rc.7(1eb7ceb2998733be9eba21a37a3dc291) - '@deepseek-ai/dsh-cmdline': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-code-runtime-worker-thread': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-code-runtime@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-agent-default-model': 0.1.1-rc.2(cffd0b3811dd3fb50ded7f3d23c3fd53) + '@deepseek-ai/dsh-cmdline': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-code-runtime-worker-thread': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-code-runtime@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) '@deepseek-ai/schemastery': 3.18.1 commander: 15.0.0 transitivePeerDependencies: - '@deepseek-ai/dsh-code-runtime' - '@deepseek-ai/dsh-timeout' - '@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': - dependencies: - '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - - '@deepseek-ai/dsh-host-apiproxy@0.1.0-rc.7(20514f3a3e01200624daa2ce81cb702e)': - dependencies: - '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-agent-default-model': 0.1.0-rc.7(1eb7ceb2998733be9eba21a37a3dc291) - '@deepseek-ai/dsh-agent-presets': 0.1.0-rc.7(c0f9f44edab94cddae92cd4b4f319bab) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-cordis-host-runner': 0.1.0-rc.7(2a80d56ba6af58ca8075e00e0fa2157b) - '@deepseek-ai/dsh-credentials': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-goal': 0.1.0-rc.7(9616cea51a4bea931c5522310292a042) - '@deepseek-ai/dsh-host-directory-picker': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-jobs': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-native-command': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-session-projection-cache': 0.1.0-rc.7(5ae699d01eec9f3ccaa1e8c13f88dd36) - '@deepseek-ai/dsh-session-query': 0.1.0-rc.7(fa24861d08a9d735fc78888af6ddf326) - '@deepseek-ai/dsh-session-title': 0.1.0-rc.7(54a387d0d580a07b8dbef208df0b04c2) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-skill': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.7(6b8cefd624fd84694a941b103cc9b3fb) - '@deepseek-ai/dsh-user-questions': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))) - '@deepseek-ai/dsh-workspace': 0.1.0-rc.7(52d55750df813bb508c3c8815dfcc2bd) + '@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + + '@deepseek-ai/dsh-host-apiproxy@0.1.1-rc.2(7a1c54e2b954eca6f88bad802758761b)': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-agent-default-model': 0.1.1-rc.2(cffd0b3811dd3fb50ded7f3d23c3fd53) + '@deepseek-ai/dsh-agent-presets': 0.1.1-rc.2(5200ead8959daeaefdf3dd69ba905368) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-cordis-host-runner': 0.1.1-rc.2(c90d5f481a921221b380b90110ccbd94) + '@deepseek-ai/dsh-credentials': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-goal': 0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe) + '@deepseek-ai/dsh-host-directory-picker': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-jobs': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-native-command': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-session-projection-cache': 0.1.1-rc.2(5675a3df65adc346aa213cdd0bac196b) + '@deepseek-ai/dsh-session-query': 0.1.1-rc.2(d854f9afd763ce298cb594d238b23507) + '@deepseek-ai/dsh-session-title': 0.1.1-rc.2(54f3cb7dfcb0c20072924b6c262cea76) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-skill': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-user-approval': 0.1.1-rc.2(09871eaf880be2109e9d668352ef8c05) + '@deepseek-ai/dsh-user-questions': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-workspace': 0.1.1-rc.2(ca1aef6913f66bb64a14405a8170db89) '@deepseek-ai/schemastery': 3.18.1 fflate: 0.8.3 zod: 4.4.3 transitivePeerDependencies: - '@deepseek-ai/dsh-api-gateway' - '@deepseek-ai/dsh-code-runtime' + - '@deepseek-ai/dsh-file-reference' - '@deepseek-ai/dsh-host-plugin-inventory' - '@deepseek-ai/dsh-message-feedback' - '@deepseek-ai/dsh-sandbox' - '@deepseek-ai/dsh-sandbox-policy' - '@deepseek-ai/dsh-scope' + - '@deepseek-ai/dsh-session-reference' - '@deepseek-ai/dsh-storage' - '@deepseek-ai/dsh-storage-domain' - '@deepseek-ai/dsh-system-prompt' @@ -6189,110 +6134,115 @@ snapshots: - '@deepseek-ai/dsh-typert-protocol' - '@deepseek-ai/dsh-typert-registry' - '@deepseek-ai/dsh-host-directory-picker-auto@0.1.0-rc.7(d0ea8c263f5157fa168b3fa633cb79f4)': + '@deepseek-ai/dsh-host-directory-picker-auto@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-ui-directory-picker-browse@0.1.1-rc.2(e266472b05d0f28968096fd7865f8cdf))(@deepseek-ai/dsh-client-ui-directory-picker-native@0.1.1-rc.2(cc9ce2bdeeee3666067732c6d16f5e8a))(@deepseek-ai/dsh-host-directory-picker-browse@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-host-directory-picker-native@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-client-ui-directory-picker-browse': 0.1.0-rc.7(75199c38fc5ce25fe383d589d47836a3) - '@deepseek-ai/dsh-client-ui-directory-picker-native': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-workspace@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-host-directory-picker-browse': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-host-directory-picker-native': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-host-webserver': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-client-ui-directory-picker-browse': 0.1.1-rc.2(e266472b05d0f28968096fd7865f8cdf) + '@deepseek-ai/dsh-client-ui-directory-picker-native': 0.1.1-rc.2(cc9ce2bdeeee3666067732c6d16f5e8a) + '@deepseek-ai/dsh-host-directory-picker-browse': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-host-directory-picker-native': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-host-webserver': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-host-directory-picker-browse@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-host-directory-picker-browse@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-host-directory-picker': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-host-directory-picker': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-host-directory-picker-native@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-host-directory-picker-native@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-host-directory-picker': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-native-command': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-host-directory-picker': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-native-command': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) koffi: 3.1.5 - '@deepseek-ai/dsh-host-directory-picker@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-host-directory-picker@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-host-frontend-static@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-host-frontend-static@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-host-webserver': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-host-webserver': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-host-plugin-inventory@0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-host-plugin-inventory@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) zod: 4.4.3 - '@deepseek-ai/dsh-host-webserver@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)': + '@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-jobs-local@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-jobs@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-jobs-local@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-jobs@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-jobs': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-jobs': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-jobs@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))': + '@deepseek-ai/dsh-jobs@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) - '@deepseek-ai/dsh-launch-environment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-launch-environment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm-deepseek@0.1.0-rc.7(1b165c0b687652478be7b7375cfce4e5)': + '@deepseek-ai/dsh-llm-deepseek@0.1.1-rc.2(a4f32a8d2888fcc753211ed9471efdc6)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-anonymous-user-id': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-credentials': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-launch-environment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-anonymous-user-id': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-atomic-write': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-credentials': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-launch-environment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 eventsource-parser: 3.1.1 - '@deepseek-ai/dsh-llm-pi-ai@0.1.0-rc.7(7012acaf3effe0bd7eda8406abb0be6d)': + '@deepseek-ai/dsh-llm-pi-ai@0.1.1-rc.2(236ec8963c16cce3286da2b293de8170)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-credentials': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-launch-environment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-authorization': 0.1.1-rc.2(e0350187351f9d964689a3e0122aa410) + '@deepseek-ai/dsh-credentials': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-launch-environment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 '@earendil-works/pi-ai': 0.82.1(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))(ws@8.21.3)(zod@4.4.3) transitivePeerDependencies: @@ -6303,35 +6253,35 @@ snapshots: - ws - zod - '@deepseek-ai/dsh-llm-retry@0.1.0-rc.7(f6ee553b5544017c93f5bcbec0012ce3)': + '@deepseek-ai/dsh-llm-retry@0.1.1-rc.2(a0b14eb40667f7e2f3e22b89a59650a0)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-mcp-client@0.1.0-rc.7(8a97403e980dbcaa31e3631c5bdae10e)': + '@deepseek-ai/dsh-mcp-client@0.1.1-rc.2(b23e1476680e2fc848944102d2a500cd)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-subprocess': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-subprocess': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 '@modelcontextprotocol/sdk': 1.30.0(zod@4.4.3) zod: 4.4.3 @@ -6339,252 +6289,251 @@ snapshots: - '@cfworker/json-schema' - supports-color - '@deepseek-ai/dsh-message-feedback@0.1.0-rc.7(1fcfefbbf5e365eda1a59fadd94056b9)': + '@deepseek-ai/dsh-message-feedback@0.1.1-rc.2(b957b1ba06764ef01eadad39e9185151)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-storage-domain': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-storage-domain': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 zod: 4.4.3 - '@deepseek-ai/dsh-native-command@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-native-command@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-output-retention@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-output-retention@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-permission-presets@0.1.0-rc.7(bd0acd1ff6121b02d9866ecbfc1d9b12)': + '@deepseek-ai/dsh-permission-presets@0.1.1-rc.2(658be80606d82afcf6677e29de924cf8)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-shell': 0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.7(6b8cefd624fd84694a941b103cc9b3fb) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-shell': 0.1.1-rc.2(206e5a113efc0246947fa5321bc71187) + '@deepseek-ai/dsh-user-approval': 0.1.1-rc.2(09871eaf880be2109e9d668352ef8c05) '@deepseek-ai/schemastery': 3.18.1 zod: 4.4.3 - '@deepseek-ai/dsh-persona@0.1.0-rc.7(cd103793887a77cfa11721505870efe9)': + '@deepseek-ai/dsh-persona@0.1.1-rc.2(c46449525c16bef5ec3490eab6722d56)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-plan-mode@0.1.0-rc.7(3abfc5979880a1c8e6bc377abfd69758)': + '@deepseek-ai/dsh-plan-mode@0.1.1-rc.2(b66cd71ae35f2828793c3b8a2858d514)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-user-questions': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-user-questions': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) zod: 4.4.3 optionalDependencies: - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) - '@deepseek-ai/dsh-pwsh-local@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-subprocess@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-pwsh-local@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-subprocess@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-shell': 0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61) - '@deepseek-ai/dsh-subprocess': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-shell': 0.1.1-rc.2(206e5a113efc0246947fa5321bc71187) + '@deepseek-ai/dsh-subprocess': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-pwsh-sandbox@0.1.0-rc.7(01b43dee0e175c8dd5e3a7e6517088bf)': + '@deepseek-ai/dsh-pwsh-sandbox@0.1.1-rc.2(98fad6318009d5d616f13ecbe715da01)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-pwsh-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-subprocess@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-shell': 0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-pwsh-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-subprocess@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-shell': 0.1.1-rc.2(206e5a113efc0246947fa5321bc71187) - '@deepseek-ai/dsh-repeat-tool-reminder@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa))': + '@deepseek-ai/dsh-repeat-tool-reminder@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-sandbox-local@0.1.0-rc.7(dbd40ab583e375c407ea206b169b3049)': + '@deepseek-ai/dsh-sandbox-local@0.1.1-rc.2(ddbef8a0a0c6994b3eac1d46b05a15b8)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-windows-acl': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-windows-acl': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) '@deepseek-ai/node-addon-landlock-run': 0.1.1 '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-sandbox-policy@0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483)': + '@deepseek-ai/dsh-sandbox-policy@0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-sandbox-windows-acl@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-sandbox-windows-acl@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) koffi: 3.1.5 - '@deepseek-ai/dsh-sandbox@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))': + '@deepseek-ai/dsh-sandbox@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) - '@deepseek-ai/dsh-schedule@0.1.0-rc.7(2a787269d0a16d51cbe6213bebf2cad4)': + '@deepseek-ai/dsh-schedule@0.1.1-rc.2(ba4be3be61a5e95bc9db203ae9a1ac61)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) - '@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session-checkpoint-policy@0.1.0-rc.7(1a5c4e40a544406e1e82bb99610f66a3)': + '@deepseek-ai/dsh-session-checkpoint-policy@0.1.1-rc.2(a89f7fb723bc2edff23ecaedc7d274b5)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) - '@deepseek-ai/dsh-session-log-export@0.1.0-rc.7(ad4617b6594db42e595f9b03b38df05f)': + '@deepseek-ai/dsh-session-log-export@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-commands@0.1.1-rc.2(80d6629d43b7b3bd56c4112e453f2af8))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-commands': 0.1.0-rc.7(b330b9ac6a437574c18f8dc88bbc5382) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-slots': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-commands': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - react: 18.3.1 + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-commands': 0.1.1-rc.2(80d6629d43b7b3bd56c4112e453f2af8) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-commands': 0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session-persistence-jsonl@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))': + '@deepseek-ai/dsh-session-persistence-jsonl@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/schemastery': 3.18.1 koffi: 3.1.5 - '@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session-projection-cache@0.1.0-rc.7(5ae699d01eec9f3ccaa1e8c13f88dd36)': + '@deepseek-ai/dsh-session-projection-cache@0.1.1-rc.2(5675a3df65adc346aa213cdd0bac196b)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-storage-domain': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-storage-domain': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/schemastery': 3.18.1 zod: 4.4.3 - '@deepseek-ai/dsh-session-projection@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))': + '@deepseek-ai/dsh-session-projection@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) zod: 4.4.3 - '@deepseek-ai/dsh-session-query-sqlite@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session-query@0.1.0-rc.7(fa24861d08a9d735fc78888af6ddf326))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))': + '@deepseek-ai/dsh-session-query-sqlite@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session-query@0.1.1-rc.2(d854f9afd763ce298cb594d238b23507))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-query': 0.1.0-rc.7(fa24861d08a9d735fc78888af6ddf326) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-query': 0.1.1-rc.2(d854f9afd763ce298cb594d238b23507) '@deepseek-ai/schemastery': 3.18.1 optionalDependencies: - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session-query@0.1.0-rc.7(fa24861d08a9d735fc78888af6ddf326)': + '@deepseek-ai/dsh-session-query@0.1.1-rc.2(d854f9afd763ce298cb594d238b23507)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-title': 0.1.0-rc.7(54a387d0d580a07b8dbef208df0b04c2) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-title': 0.1.1-rc.2(54f3cb7dfcb0c20072924b6c262cea76) optionalDependencies: - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session-reference@0.1.0-rc.7(fe3daefbd216dec211872eab9ee75662)': + '@deepseek-ai/dsh-session-reference@0.1.1-rc.2(535ff208b76500c8770cfd701efd9f97)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-compaction': 0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-output-retention': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-query': 0.1.0-rc.7(fa24861d08a9d735fc78888af6ddf326) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-compaction': 0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-output-retention': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-query': 0.1.1-rc.2(d854f9afd763ce298cb594d238b23507) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 + zod: 4.4.3 - '@deepseek-ai/dsh-session-stats@0.1.0-rc.7(162e09a00c830c72cf271bc0dbd64697)': + '@deepseek-ai/dsh-session-stats@0.1.1-rc.2(4f68681cfc87663aed983da8df0554ed)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) zod: 4.4.3 - '@deepseek-ai/dsh-session-telemetry-otel@0.1.0-rc.7(2ea544043975e11edf40fad6b8322b79)': + '@deepseek-ai/dsh-session-telemetry-otel@0.1.1-rc.2(0e329a50b6fe6a15de6a41bb5c1b84f9)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-anonymous-user-id': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-command-feedback': 0.1.0-rc.7(8240ebd5c5c18b0099c826ca9c37a21e) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-telemetry': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) + '@deepseek-ai/dsh-anonymous-user-id': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-command-feedback': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-anonymous-user-id@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-telemetry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-telemetry': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) '@deepseek-ai/schemastery': 3.18.1 '@opentelemetry/api': 1.9.1 '@opentelemetry/api-logs': 0.220.0 @@ -6593,624 +6542,650 @@ snapshots: '@opentelemetry/resources': 2.10.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-logs': 0.220.0(@opentelemetry/api@1.9.1) - '@deepseek-ai/dsh-session-telemetry@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))': + '@deepseek-ai/dsh-session-telemetry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) - ? '@deepseek-ai/dsh-session-title-first-prompt-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session-title-llm@0.1.0-rc.7(6fcdcafdc6a942dddc20da358d69b413))(@deepseek-ai/dsh-session-title@0.1.0-rc.7(54a387d0d580a07b8dbef208df0b04c2))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))' + ? '@deepseek-ai/dsh-session-title-first-prompt-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session-title-llm@0.1.1-rc.2(496254830230f8a6b76f3b008de343df))(@deepseek-ai/dsh-session-title@0.1.1-rc.2(54f3cb7dfcb0c20072924b6c262cea76))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))' : dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-title': 0.1.0-rc.7(54a387d0d580a07b8dbef208df0b04c2) - '@deepseek-ai/dsh-session-title-llm': 0.1.0-rc.7(6fcdcafdc6a942dddc20da358d69b413) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-title': 0.1.1-rc.2(54f3cb7dfcb0c20072924b6c262cea76) + '@deepseek-ai/dsh-session-title-llm': 0.1.1-rc.2(496254830230f8a6b76f3b008de343df) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-session-title-llm@0.1.0-rc.7(6fcdcafdc6a942dddc20da358d69b413)': + '@deepseek-ai/dsh-session-title-llm@0.1.1-rc.2(496254830230f8a6b76f3b008de343df)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-title': 0.1.0-rc.7(54a387d0d580a07b8dbef208df0b04c2) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-title': 0.1.1-rc.2(54f3cb7dfcb0c20072924b6c262cea76) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-session-title@0.1.0-rc.7(54a387d0d580a07b8dbef208df0b04c2)': + '@deepseek-ai/dsh-session-title@0.1.1-rc.2(54f3cb7dfcb0c20072924b6c262cea76)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) '@deepseek-ai/schemastery': 3.18.1 zod: 4.4.3 - '@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)': + '@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-settings-file@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-atomic-write@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))': + '@deepseek-ai/dsh-settings-file@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-atomic-write@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-atomic-write': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-atomic-write': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) '@deepseek-ai/schemastery': 3.18.1 chokidar: 4.0.3 yaml: 2.9.0 - '@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)': + '@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-shell-env@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa))': + '@deepseek-ai/dsh-shell-env@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-shell': 0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-shell': 0.1.1-rc.2(206e5a113efc0246947fa5321bc71187) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61)': + '@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-subprocess': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-subprocess': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) - ? '@deepseek-ai/dsh-skill-badge@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-skill@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))' + ? '@deepseek-ai/dsh-skill-badge@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-skill@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))' : dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-skill': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-skill': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-skill-filesystem@0.1.0-rc.7(cea9f3527f4d5c630f6db1120eda1b51)': + '@deepseek-ai/dsh-skill-filesystem@0.1.1-rc.2(48868494a4b9bcea1966f12a762e8376)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-fs': 0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-skill': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-fs': 0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-skill': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/schemastery': 3.18.1 chokidar: 5.0.0 yaml: 2.9.0 - '@deepseek-ai/dsh-skill@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-skill@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-spill-local@0.1.0-rc.7(fa23de144536b578bc3d547e7122cf66)': + '@deepseek-ai/dsh-spill-local@0.1.1-rc.2(7314b9cfa55168b22f8f6fda35aa8983)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-spill': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-spill': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-spill-policy@0.1.0-rc.7(a25502e01591be81db4b639e945e283f)': + '@deepseek-ai/dsh-spill-policy@0.1.1-rc.2(e1dbdbedb702b4f2dade0823c7cbe27b)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-output-retention': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-spill': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-output-retention': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-spill': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-spill@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))': + '@deepseek-ai/dsh-spill@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) - '@deepseek-ai/dsh-storage-domain@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-storage-domain@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-storage': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-storage': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 zod: 4.4.3 - '@deepseek-ai/dsh-storage-json@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-storage-json@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-storage': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-storage': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-storage@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-storage@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-subagent-fork-in-process@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-subagent-in-process-driver@0.1.0-rc.7(89bd93a5134bf339611454c0aa5ecf19))(@deepseek-ai/dsh-subagent@0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da))': + '@deepseek-ai/dsh-subagent-fork-in-process@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-subagent-in-process-driver@0.1.1-rc.2(be871aa02352f784a61c36caf4b59900))(@deepseek-ai/dsh-subagent@0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-subagent-in-process-driver': 0.1.0-rc.7(89bd93a5134bf339611454c0aa5ecf19) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-subagent-in-process-driver': 0.1.1-rc.2(be871aa02352f784a61c36caf4b59900) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-subagent-in-process-driver@0.1.0-rc.7(89bd93a5134bf339611454c0aa5ecf19)': + '@deepseek-ai/dsh-subagent-in-process-driver@0.1.1-rc.2(be871aa02352f784a61c36caf4b59900)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) - '@deepseek-ai/dsh-subagent-spawn-in-process@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-subagent-in-process-driver@0.1.0-rc.7(89bd93a5134bf339611454c0aa5ecf19))(@deepseek-ai/dsh-subagent@0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da))': + '@deepseek-ai/dsh-subagent-spawn-in-process@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-subagent-in-process-driver@0.1.1-rc.2(be871aa02352f784a61c36caf4b59900))(@deepseek-ai/dsh-subagent@0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-subagent-in-process-driver': 0.1.0-rc.7(89bd93a5134bf339611454c0aa5ecf19) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-subagent-in-process-driver': 0.1.1-rc.2(be871aa02352f784a61c36caf4b59900) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-subagent@0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da)': + '@deepseek-ai/dsh-subagent@0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) zod: 4.4.3 optionalDependencies: - '@deepseek-ai/dsh-agent-presets': 0.1.0-rc.7(c0f9f44edab94cddae92cd4b4f319bab) - '@deepseek-ai/dsh-jobs': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-session-projection-cache': 0.1.0-rc.7(5ae699d01eec9f3ccaa1e8c13f88dd36) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.7(6b8cefd624fd84694a941b103cc9b3fb) + '@deepseek-ai/dsh-agent-presets': 0.1.1-rc.2(5200ead8959daeaefdf3dd69ba905368) + '@deepseek-ai/dsh-jobs': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-session-projection-cache': 0.1.1-rc.2(5675a3df65adc346aa213cdd0bac196b) + '@deepseek-ai/dsh-user-approval': 0.1.1-rc.2(09871eaf880be2109e9d668352ef8c05) - '@deepseek-ai/dsh-subprocess-local@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-subprocess@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-subprocess-local@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-subprocess@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-subprocess': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-subprocess': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + koffi: 3.1.5 node-pty: 1.2.0-beta.15 - '@deepseek-ai/dsh-subprocess@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-subprocess@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-system-prompt@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-system-prompt@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-terminal-bash@0.1.0-rc.7(7aaa5987c1b1e28d6b4d7d8b7331d572)': + '@deepseek-ai/dsh-terminal-bash@0.1.1-rc.2(1465e18d402b84e5ee4627d11f6909e4)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-subprocess': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-terminal': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-pwsh-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-subprocess@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-subprocess': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-terminal': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 + transitivePeerDependencies: + - '@deepseek-ai/dsh-settings' + - '@deepseek-ai/dsh-shell' + - '@deepseek-ai/dsh-timeout' - '@deepseek-ai/dsh-terminal@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-terminal@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-time-context@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))': + '@deepseek-ai/dsh-time-context@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-tmux-context@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))': + '@deepseek-ai/dsh-tmux-context@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-shell': 0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-shell': 0.1.1-rc.2(206e5a113efc0246947fa5321bc71187) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-token-meter@0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09)': + '@deepseek-ai/dsh-token-meter@0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-compaction': 0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) + '@deepseek-ai/dsh-compaction': 0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) '@deepseek-ai/schemastery': 3.18.1 zod: 4.4.3 - '@deepseek-ai/dsh-tool-ask-user@0.1.0-rc.7(05bf1b7f9211140e40ee17108b703815)': + '@deepseek-ai/dsh-tool-ask-user@0.1.1-rc.2(069f59b18a572f4c5f154827c6bc8db5)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-user-questions': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-user-questions': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) - '@deepseek-ai/dsh-tool-bash-persistent@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-terminal@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa))': + '@deepseek-ai/dsh-tool-bash-persistent@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-terminal@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-terminal': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-terminal': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-bash@0.1.0-rc.7(e6524a4741ca5f7a041a012548fcf420)': + '@deepseek-ai/dsh-tool-bash@0.1.1-rc.2(05a4ab9bdde8ba7591263d161ac5ed9d)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-jobs': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-shell': 0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61) - '@deepseek-ai/dsh-shell-env': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.7(6b8cefd624fd84694a941b103cc9b3fb) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-jobs': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-shell': 0.1.1-rc.2(206e5a113efc0246947fa5321bc71187) + '@deepseek-ai/dsh-shell-env': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-user-approval': 0.1.1-rc.2(09871eaf880be2109e9d668352ef8c05) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-call-timeout-policy@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa))': + '@deepseek-ai/dsh-tool-call-timeout-policy@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) - '@deepseek-ai/dsh-tool-cordis@0.1.0-rc.7(95cde96399f26bc61668514b17303d00)': + '@deepseek-ai/dsh-tool-cordis@0.1.1-rc.2(ebe01c96ca701907cae1737d2a408b47)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-cordis-host-runner': 0.1.0-rc.7(2a80d56ba6af58ca8075e00e0fa2157b) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-cordis-host-runner': 0.1.1-rc.2(c90d5f481a921221b380b90110ccbd94) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) - '@deepseek-ai/dsh-tool-fs-search@0.1.0-rc.7(b32686f6bdfad4e2bac19ddddae90f15)': + '@deepseek-ai/dsh-tool-fs-search@0.1.1-rc.2(8f26a32987bc67ff94da7068f226f993)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-output-retention': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-spill': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-subprocess': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-output-retention': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-spill': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-subprocess': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 '@vscode/ripgrep': 1.18.0 - '@deepseek-ai/dsh-tool-fs@0.1.0-rc.7(e7d989b5e5a4423849aa5d8248287fa2)': + '@deepseek-ai/dsh-tool-fs@0.1.1-rc.2(1bedc55125eccc12456b08e283ea8a8e)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-attachment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-fs': 0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.7(6b8cefd624fd84694a941b103cc9b3fb) + '@deepseek-ai/dsh-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-fs': 0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-user-approval': 0.1.1-rc.2(09871eaf880be2109e9d668352ef8c05) '@deepseek-ai/schemastery': 3.18.1 diff: 9.0.0 - '@deepseek-ai/dsh-tool-goal@0.1.0-rc.7(180e0f3f329d9b10860ecf7e00313277)': + '@deepseek-ai/dsh-tool-goal@0.1.1-rc.2(6508b6d44139ca8ca60da0e22a530313)': + dependencies: + '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-goal': 0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/schemastery': 3.18.1 + + '@deepseek-ai/dsh-tool-jobs@0.1.1-rc.2(47973f80f86a218f479fbdcf19fb4ae2)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-goal': 0.1.0-rc.7(9616cea51a4bea931c5522310292a042) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-jobs': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-output-retention': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-jobs@0.1.0-rc.7(9946e50f0ee52458165c230dc9c7c6b5)': + '@deepseek-ai/dsh-tool-pwsh-persistent@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-terminal@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-jobs': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-output-retention': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-terminal': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-timeout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-pwsh@0.1.0-rc.7(e6524a4741ca5f7a041a012548fcf420)': + '@deepseek-ai/dsh-tool-pwsh@0.1.1-rc.2(05a4ab9bdde8ba7591263d161ac5ed9d)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-jobs': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-shell': 0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61) - '@deepseek-ai/dsh-shell-env': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.7(6b8cefd624fd84694a941b103cc9b3fb) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-jobs': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-shell': 0.1.1-rc.2(206e5a113efc0246947fa5321bc71187) + '@deepseek-ai/dsh-shell-env': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-user-approval': 0.1.1-rc.2(09871eaf880be2109e9d668352ef8c05) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-ralph@0.1.0-rc.7(bab3281304625d6d534bd32fe485cf79)': + '@deepseek-ai/dsh-tool-ralph@0.1.1-rc.2(431cab7d0fcdc7d04f22e1644af6dad7)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-workflow': 0.1.0-rc.7(1238b6f54f01b13da1636d404c6902fd) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-workflow': 0.1.1-rc.2(be2dac4e15e11ce84de4558727259db8) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-skill@0.1.0-rc.7(df0d23800fad5b2ada25025e060bda44)': + '@deepseek-ai/dsh-tool-skill@0.1.1-rc.2(933d784142a998775a8022e1081fa8f7)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-skill': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-skill': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-str-replace-editor@0.1.0-rc.7(3bd2fa864f678fb2dc668eb7729286c2)': + '@deepseek-ai/dsh-tool-str-replace-editor@0.1.1-rc.2(488c585b6cb94a33954defbdc193572b)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-fs': 0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-sandbox-policy': 0.1.0-rc.7(3ced98780dcdd5e8fdc23c5292f54483) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-fs': 0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-sandbox': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-sandbox-policy': 0.1.1-rc.2(7b0710aaf8575f4849d2fecbf6f2f5f9) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-subagent-control@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-subagent@0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa))': + '@deepseek-ai/dsh-tool-subagent-control@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-subagent@0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) - '@deepseek-ai/dsh-tool-subagent-report@0.1.0-rc.7(640d921ae2b98078971463f9056a34f9)': + '@deepseek-ai/dsh-tool-subagent-report@0.1.1-rc.2(8dfd53b4bcfab7f587161115768d470a)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-subagent@0.1.0-rc.7(1222888b06fba7e9c8bcaa54a558d14e)': + '@deepseek-ai/dsh-tool-subagent@0.1.1-rc.2(fff99afb66eb5f78f92e1168a4be0359)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-jobs': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-jobs': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tool-todo@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-projection@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa))': + '@deepseek-ai/dsh-tool-todo@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-projection@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) '@deepseek-ai/schemastery': 3.18.1 zod: 4.4.3 - '@deepseek-ai/dsh-tool-web@0.1.0-rc.7(a1e227eab3db3d5fdb80246cd440578f)': + '@deepseek-ai/dsh-tool-web@0.1.1-rc.2(1c5a0234715166d758e366fe9c921b2f)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-web': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-web': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) '@deepseek-ai/schemastery': 3.18.1 '@joplin/turndown-plugin-gfm': 1.0.67 turndown: 7.2.4 - '@deepseek-ai/dsh-tool-workflow@0.1.0-rc.7(568ef6a59b3c44062c8cbf5cb759c397)': + '@deepseek-ai/dsh-tool-workflow@0.1.1-rc.2(910301586bd16051b44e5fe8055952d4)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-workflow': 0.1.0-rc.7(1238b6f54f01b13da1636d404c6902fd) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-workflow': 0.1.1-rc.2(be2dac4e15e11ce84de4558727259db8) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)': + '@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-code-runtime': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.7(6b8cefd624fd84694a941b103cc9b3fb) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-code-runtime': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-user-approval': 0.1.1-rc.2(09871eaf880be2109e9d668352ef8c05) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-typert-loader@0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-typert-loader@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-registry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-typert-registry': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-typert-registry': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-typert-registry@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-typert-registry@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-typert-protocol': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) zod: 4.4.3 - '@deepseek-ai/dsh-user-approval@0.1.0-rc.7(6b8cefd624fd84694a941b103cc9b3fb)': + '@deepseek-ai/dsh-user-approval@0.1.1-rc.2(09871eaf880be2109e9d668352ef8c05)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-scope': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-user-questions@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))': + '@deepseek-ai/dsh-user-questions@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-web-app@0.1.0-rc.7(26bc512d711f6c22275ef6497f3d5888)': + '@deepseek-ai/dsh-web-app@0.1.1-rc.2(47ff1a0efa86c1b3e3a5000e8a113462)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) - '@deepseek-ai/dsh-agent-presets': 0.1.0-rc.7(c0f9f44edab94cddae92cd4b4f319bab) - '@deepseek-ai/dsh-api-remotes': 0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c) - '@deepseek-ai/dsh-app-boot': 0.1.0-rc.7(aad8c687644ca696866ebd36b8ea50bc) - '@deepseek-ai/dsh-client-connection': 0.1.0-rc.7(2f10e3fb58d0d825de6c330674be43fd) - '@deepseek-ai/dsh-client-hmr': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-modules@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-host-webserver@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-locale': 0.1.0-rc.7(66106c234ef39ef4834895adfee02d57) - '@deepseek-ai/dsh-client-modules': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-runtime': 0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c) - '@deepseek-ai/dsh-client-ui-agent-preset': 0.1.0-rc.7(092e33411eff9776175f385698af28c7) - '@deepseek-ai/dsh-client-ui-commands': 0.1.0-rc.7(b330b9ac6a437574c18f8dc88bbc5382) - '@deepseek-ai/dsh-client-ui-conversation': 0.1.0-rc.7(a194e12526085e6162ef9c78b813baad) - '@deepseek-ai/dsh-client-ui-cordis': 0.1.0-rc.7(94cc423b4e0a6447b728d8f370d5b499) - '@deepseek-ai/dsh-client-ui-deliverables': 0.1.0-rc.7(d0332dbf10a7abbf780b87d4568fb79b) - '@deepseek-ai/dsh-client-ui-directory-picker-browse': 0.1.0-rc.7(75199c38fc5ce25fe383d589d47836a3) - '@deepseek-ai/dsh-client-ui-directory-picker-native': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-workspace@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-goal': 0.1.0-rc.7(023f91d27e825e07e0a62608d594f3da) - '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-jobs': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-client-ui-layout': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-theme@0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-message-feedback': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-message-feedback@0.1.0-rc.7(1fcfefbbf5e365eda1a59fadd94056b9))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-model-selection': 0.1.0-rc.7(e7b2f4cf85446ddea11824e855597da2) - '@deepseek-ai/dsh-client-ui-permission-presets': 0.1.0-rc.7(cc5311c5c155a3fe13138a3153352f0d) - '@deepseek-ai/dsh-client-ui-plan': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-plan-mode@0.1.0-rc.7(3abfc5979880a1c8e6bc377abfd69758))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-settings-general': 0.1.0-rc.7(17db20b30331ad10fde8ba24334c51c7) - '@deepseek-ai/dsh-client-ui-settings-models': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-web-react@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-settings-plugin-inventory': 0.1.0-rc.7(149ef5ab011d66b3eec477b1929c30e3) - '@deepseek-ai/dsh-client-ui-settings-plugins': 0.1.0-rc.7(c6de3cc411994af2dc30d1274b088d2a) - '@deepseek-ai/dsh-client-ui-sidebar': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-skill': 0.1.0-rc.7(54c8f42d28b0e88089f5329c613b3d3c) - '@deepseek-ai/dsh-client-ui-subagent': 0.1.0-rc.7(4336a6d2c7f94fd0dcaa3b7a76aa6ff8) - '@deepseek-ai/dsh-client-ui-theme': 0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c) - '@deepseek-ai/dsh-client-ui-tool': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-trajectory': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@deepseek-ai/dsh-client-ui-user-questions': 0.1.0-rc.7(71ef2433bcd98d5c873d3a4bc68f2226) - '@deepseek-ai/dsh-client-ui-workflow-run': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7(a194e12526085e6162ef9c78b813baad))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-tool-workflow@0.1.0-rc.7(568ef6a59b3c44062c8cbf5cb759c397))(@deepseek-ai/dsh-workflow@0.1.0-rc.7(1238b6f54f01b13da1636d404c6902fd)) - '@deepseek-ai/dsh-client-ui-workspace': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.0-rc.7(66106c234ef39ef4834895adfee02d57))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-cmdline': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-code-runtime-worker-thread': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-code-runtime@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-cordis-client-runner': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-modules@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-theme@0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-cordis-host-runner': 0.1.0-rc.7(2a80d56ba6af58ca8075e00e0fa2157b) - '@deepseek-ai/dsh-host-apiproxy': 0.1.0-rc.7(20514f3a3e01200624daa2ce81cb702e) - '@deepseek-ai/dsh-host-directory-picker-auto': 0.1.0-rc.7(d0ea8c263f5157fa168b3fa633cb79f4) - '@deepseek-ai/dsh-host-directory-picker-browse': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-host-directory-picker-native': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-host-frontend-static': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-host-plugin-inventory': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-host-webserver': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-message-feedback': 0.1.0-rc.7(1fcfefbbf5e365eda1a59fadd94056b9) - '@deepseek-ai/dsh-session-log-export': 0.1.0-rc.7(ad4617b6594db42e595f9b03b38df05f) - '@deepseek-ai/dsh-session-projection-cache': 0.1.0-rc.7(5ae699d01eec9f3ccaa1e8c13f88dd36) - '@deepseek-ai/dsh-session-stats': 0.1.0-rc.7(162e09a00c830c72cf271bc0dbd64697) - '@deepseek-ai/dsh-shell-env': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-storage': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-storage-domain': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-storage-json': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-web-frontend': 0.1.0-rc.7(39c75729bad275f57cea9a6c6f862438) - '@deepseek-ai/dsh-workspace': 0.1.0-rc.7(52d55750df813bb508c3c8815dfcc2bd) + '@deepseek-ai/dsh-agent-presets': 0.1.1-rc.2(5200ead8959daeaefdf3dd69ba905368) + '@deepseek-ai/dsh-api-remotes': 0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e) + '@deepseek-ai/dsh-app-boot': 0.1.1-rc.2(d7ed335ddbfb7670edc51bd2c8928580) + '@deepseek-ai/dsh-client-connection': 0.1.1-rc.2(9b40f28fccfb9ee3f86188afc9586c29) + '@deepseek-ai/dsh-client-hmr': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-modules@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-locale': 0.1.1-rc.2(048e7c438545728704e82d9acbc5c221) + '@deepseek-ai/dsh-client-modules': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-runtime': 0.1.1-rc.2(601e9129357dc48738583e18d75d19b2) + '@deepseek-ai/dsh-client-ui-agent-preset': 0.1.1-rc.2(1111e99e69f0e28476abba73902ee420) + '@deepseek-ai/dsh-client-ui-attachment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-brand-official': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-commands': 0.1.1-rc.2(80d6629d43b7b3bd56c4112e453f2af8) + '@deepseek-ai/dsh-client-ui-conversation': 0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602) + '@deepseek-ai/dsh-client-ui-cordis': 0.1.1-rc.2(0f47f3917aacd37f0258ecbb92c181e5) + '@deepseek-ai/dsh-client-ui-deliverables': 0.1.1-rc.2(5adf45826fd511287e2072b6a9f9439e) + '@deepseek-ai/dsh-client-ui-directory-picker-browse': 0.1.1-rc.2(e266472b05d0f28968096fd7865f8cdf) + '@deepseek-ai/dsh-client-ui-directory-picker-native': 0.1.1-rc.2(cc9ce2bdeeee3666067732c6d16f5e8a) + '@deepseek-ai/dsh-client-ui-goal': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-goal@0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-client-ui-input-trigger': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-file-reference@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-jobs': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-layout': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-message-feedback': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-message-feedback@0.1.1-rc.2(b957b1ba06764ef01eadad39e9185151))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-client-ui-model-selection': 0.1.1-rc.2(53eeac97c6a89cc0743be95559f46241) + '@deepseek-ai/dsh-client-ui-permission-presets': 0.1.1-rc.2(fb27e6658a69257b1cc8a891ff242b7a) + '@deepseek-ai/dsh-client-ui-plan': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-plan-mode@0.1.1-rc.2(b66cd71ae35f2828793c3b8a2858d514)) + '@deepseek-ai/dsh-client-ui-reference': 0.1.1-rc.2(806a1e677854eee81b0fd9515e8e3246) + '@deepseek-ai/dsh-client-ui-renderer': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(react@18.3.1) + '@deepseek-ai/dsh-client-ui-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)) + '@deepseek-ai/dsh-client-ui-settings-general': 0.1.1-rc.2(39939b11bffa728699baa1443ccf961d) + '@deepseek-ai/dsh-client-ui-settings-models': 0.1.1-rc.2(82a05e91338c2739cf35f94a3adf926b) + '@deepseek-ai/dsh-client-ui-settings-plugin-inventory': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-settings-plugins': 0.1.1-rc.2(82a05e91338c2739cf35f94a3adf926b) + '@deepseek-ai/dsh-client-ui-sidebar': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-skill': 0.1.1-rc.2(aaff6a1c91fce58050a8b0ac2de071bf) + '@deepseek-ai/dsh-client-ui-subagent': 0.1.1-rc.2(9180e4dde96c0415bfbb66860ba35686) + '@deepseek-ai/dsh-client-ui-theme': 0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7) + '@deepseek-ai/dsh-client-ui-tool': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-trajectory': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@deepseek-ai/dsh-client-ui-user-questions': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-client-ui-workflow-run': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-tool-workflow@0.1.1-rc.2(910301586bd16051b44e5fe8055952d4))(@deepseek-ai/dsh-workflow@0.1.1-rc.2(be2dac4e15e11ce84de4558727259db8)) + '@deepseek-ai/dsh-client-ui-workspace': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-cmdline': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-code-runtime-worker-thread': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-code-runtime@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-cordis-client-runner': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-modules@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-cordis-host-runner': 0.1.1-rc.2(c90d5f481a921221b380b90110ccbd94) + '@deepseek-ai/dsh-file-reference': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-file-reference-local': 0.1.1-rc.2(37f0a793562929d03bc6499724f01bd5) + '@deepseek-ai/dsh-host-apiproxy': 0.1.1-rc.2(7a1c54e2b954eca6f88bad802758761b) + '@deepseek-ai/dsh-host-directory-picker-auto': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-ui-directory-picker-browse@0.1.1-rc.2(e266472b05d0f28968096fd7865f8cdf))(@deepseek-ai/dsh-client-ui-directory-picker-native@0.1.1-rc.2(cc9ce2bdeeee3666067732c6d16f5e8a))(@deepseek-ai/dsh-host-directory-picker-browse@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-host-directory-picker-native@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-host-directory-picker-browse': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-host-directory-picker-native': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-host-frontend-static': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-host-plugin-inventory': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-host-webserver': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-launch-environment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-message-feedback': 0.1.1-rc.2(b957b1ba06764ef01eadad39e9185151) + '@deepseek-ai/dsh-session-log-export': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-client-locale@0.1.1-rc.2(048e7c438545728704e82d9acbc5c221))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-commands@0.1.1-rc.2(80d6629d43b7b3bd56c4112e453f2af8))(@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2(b441692b8d185dbf8cce39ef789ff602))(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session-projection-cache': 0.1.1-rc.2(5675a3df65adc346aa213cdd0bac196b) + '@deepseek-ai/dsh-session-reference': 0.1.1-rc.2(535ff208b76500c8770cfd701efd9f97) + '@deepseek-ai/dsh-session-stats': 0.1.1-rc.2(4f68681cfc87663aed983da8df0554ed) + '@deepseek-ai/dsh-shell-env': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-home-paths@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-persistence@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-storage': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-storage-domain': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-storage-json': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-subprocess': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-system-prompt': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-web-frontend': 0.1.1-rc.2 + '@deepseek-ai/dsh-workspace': 0.1.1-rc.2(ca1aef6913f66bb64a14405a8170db89) '@deepseek-ai/schemastery': 3.18.1 commander: 15.0.0 + open: 11.0.1 transitivePeerDependencies: - '@deepseek-ai/cordis-plugin-group' - '@deepseek-ai/cordis-plugin-hmr' @@ -7220,20 +7195,15 @@ snapshots: - '@deepseek-ai/dsh-atomic-write' - '@deepseek-ai/dsh-attachment' - '@deepseek-ai/dsh-brand' - - '@deepseek-ai/dsh-client-schema-form' - - '@deepseek-ai/dsh-client-ui-attachment' - - '@deepseek-ai/dsh-client-ui-primitives' - - '@deepseek-ai/dsh-client-ui-slots' - - '@deepseek-ai/dsh-client-web-react' - '@deepseek-ai/dsh-code-runtime' - '@deepseek-ai/dsh-commands' - '@deepseek-ai/dsh-compaction' - '@deepseek-ai/dsh-credentials' - '@deepseek-ai/dsh-goal' - '@deepseek-ai/dsh-home-paths' - - '@deepseek-ai/dsh-launch-environment' - '@deepseek-ai/dsh-llm' - '@deepseek-ai/dsh-llm-retry' + - '@deepseek-ai/dsh-output-retention' - '@deepseek-ai/dsh-permission-presets' - '@deepseek-ai/dsh-plan-mode' - '@deepseek-ai/dsh-sandbox' @@ -7242,154 +7212,139 @@ snapshots: - '@deepseek-ai/dsh-session' - '@deepseek-ai/dsh-session-persistence' - '@deepseek-ai/dsh-session-projection' + - '@deepseek-ai/dsh-session-query' + - '@deepseek-ai/dsh-session-title' - '@deepseek-ai/dsh-settings' - '@deepseek-ai/dsh-subagent' - '@deepseek-ai/dsh-timeout' - '@deepseek-ai/dsh-token-meter' + - '@deepseek-ai/dsh-tool-todo' - '@deepseek-ai/dsh-tool-workflow' - '@deepseek-ai/dsh-tools' - '@deepseek-ai/dsh-typert-protocol' - '@deepseek-ai/dsh-typert-registry' - - '@deepseek-ai/dsh-user-approval' - '@deepseek-ai/dsh-workflow' - '@types/react' - bufferutil - - clsx - react - react-dom - - supports-color - utf-8-validate - '@deepseek-ai/dsh-web-frontend@0.1.0-rc.7(39c75729bad275f57cea9a6c6f862438)': - dependencies: - '@deepseek-ai/dsh-client-web': 0.1.0-rc.7(39c75729bad275f57cea9a6c6f862438) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@deepseek-ai/cordis' - - '@deepseek-ai/cordis-plugin-loader' - - '@deepseek-ai/dsh-api-remotes' - - '@deepseek-ai/dsh-brand' - - '@deepseek-ai/dsh-client-connection' - - '@deepseek-ai/dsh-client-locale' - - '@deepseek-ai/dsh-client-runtime' - - '@deepseek-ai/dsh-client-ui-settings' - - '@deepseek-ai/dsh-host-webserver' - - '@deepseek-ai/dsh-invariants' - - supports-color + '@deepseek-ai/dsh-web-frontend@0.1.1-rc.2': {} - '@deepseek-ai/dsh-web-search-deepseek@0.1.0-rc.7(682f945d61f3362c5b4bd1233bf7a050)': + '@deepseek-ai/dsh-web-search-deepseek@0.1.1-rc.2(8e47c89c848a591c17689609bee09251)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-credentials': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-launch-environment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-settings': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) - '@deepseek-ai/dsh-web': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-credentials': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-launch-environment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-settings': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1) + '@deepseek-ai/dsh-web': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-web@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))': + '@deepseek-ai/dsh-web@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-workflow-worker-thread@0.1.0-rc.7(6ad95a742535dff29ed317a2fc297623)': + '@deepseek-ai/dsh-workflow-worker-thread@0.1.1-rc.2(7ff539779842715217130c18ca64c09c)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-subagent': 0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da) - '@deepseek-ai/dsh-tools': 0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa) - '@deepseek-ai/dsh-workflow': 0.1.0-rc.7(1238b6f54f01b13da1636d404c6902fd) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-subagent': 0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b) + '@deepseek-ai/dsh-tools': 0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3) + '@deepseek-ai/dsh-workflow': 0.1.1-rc.2(be2dac4e15e11ce84de4558727259db8) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-workflow@0.1.0-rc.7(1238b6f54f01b13da1636d404c6902fd)': + '@deepseek-ai/dsh-workflow@0.1.1-rc.2(be2dac4e15e11ce84de4558727259db8)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-agent': 0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) + '@deepseek-ai/dsh-agent': 0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) - '@deepseek-ai/dsh-workspace@0.1.0-rc.7(52d55750df813bb508c3c8815dfcc2bd)': + '@deepseek-ai/dsh-workspace@0.1.1-rc.2(ca1aef6913f66bb64a14405a8170db89)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-brand': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346) - '@deepseek-ai/dsh-session-persistence': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-storage': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-storage-domain': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-brand': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc) + '@deepseek-ai/dsh-session-persistence': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-storage': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-storage-domain': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-storage@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) zod: 4.4.3 - '@deepseek-ai/dsh@0.1.0-rc.7(dae76ef0faa9a0d18a9ed8231e7e2271)': + '@deepseek-ai/dsh@0.1.1-rc.2(b2bace9301ffa465c6cb11f7fae1f096)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-hmr': 1.0.16(@deepseek-ai/cordis-plugin-timer@1.1.3(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/cordis-plugin-include': 1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/cordis-plugin-loader': 1.0.2(@deepseek-ai/cordis@4.0.1)(node-addon-require-builtin@0.1.5) '@deepseek-ai/cordis-plugin-timer': 1.1.3(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-agent-instructions': 0.1.0-rc.7(93b00e8961a24ed58236184dea3d0e10) - '@deepseek-ai/dsh-agent-tool-presentation': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-app-boot': 0.1.0-rc.7(aad8c687644ca696866ebd36b8ea50bc) - '@deepseek-ai/dsh-base': 0.1.0-rc.7(4c3fa475d545dd2f3d9478300ee8f37f) - '@deepseek-ai/dsh-client-ui-agent-preset': 0.1.0-rc.7(092e33411eff9776175f385698af28c7) - '@deepseek-ai/dsh-client-ui-cordis': 0.1.0-rc.7(94cc423b4e0a6447b728d8f370d5b499) - '@deepseek-ai/dsh-cmdline': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-command-compact': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-command-goal': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-goal@0.1.0-rc.7(9616cea51a4bea931c5522310292a042))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-compaction-basic': 0.1.0-rc.7(f519e9ab3c16060968f3852a830521b6) - '@deepseek-ai/dsh-compaction-tool-result-pruner': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-compaction@0.1.0-rc.7(ac3d6d77b7cdaaa87ab91cb7b4cb6c97))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-token-meter@0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09)) - '@deepseek-ai/dsh-cordis-client-runner': 0.1.0-rc.7(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.0-rc.7(022498c733cc9b813e36f108b907ce4c))(@deepseek-ai/dsh-client-connection@0.1.0-rc.7)(@deepseek-ai/dsh-client-modules@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.0-rc.7(11df6d8ef30a53864b55067ff57aa69c))(@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-ui-theme@0.1.0-rc.7(77cea1f9005ef7a5e77e5d35fe4bca8c))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(react@18.3.1) - '@deepseek-ai/dsh-fs-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.0-rc.7(7991753c264b1d907549a3df5a6ef9ed))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-goal': 0.1.0-rc.7(9616cea51a4bea931c5522310292a042) - '@deepseek-ai/dsh-goal-round-driver': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-goal@0.1.0-rc.7(9616cea51a4bea931c5522310292a042))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-headless': 0.1.0-rc.7(85cf737328c42864c624534435ec3820) - '@deepseek-ai/dsh-home-paths': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-jobs-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-jobs@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-launch-environment': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-mcp-client': 0.1.0-rc.7(8a97403e980dbcaa31e3631c5bdae10e) - '@deepseek-ai/dsh-persona': 0.1.0-rc.7(cd103793887a77cfa11721505870efe9) - '@deepseek-ai/dsh-plan-mode': 0.1.0-rc.7(3abfc5979880a1c8e6bc377abfd69758) - '@deepseek-ai/dsh-pwsh-local': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61))(@deepseek-ai/dsh-subprocess@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-pwsh-sandbox': 0.1.0-rc.7(01b43dee0e175c8dd5e3a7e6517088bf) - '@deepseek-ai/dsh-schedule': 0.1.0-rc.7(2a787269d0a16d51cbe6213bebf2cad4) - '@deepseek-ai/dsh-session-projection': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-session-reference': 0.1.0-rc.7(fe3daefbd216dec211872eab9ee75662) - '@deepseek-ai/dsh-skill': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-skill-filesystem': 0.1.0-rc.7(cea9f3527f4d5c630f6db1120eda1b51) - '@deepseek-ai/dsh-terminal': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-terminal-bash': 0.1.0-rc.7(7aaa5987c1b1e28d6b4d7d8b7331d572) - '@deepseek-ai/dsh-time-context': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)) - '@deepseek-ai/dsh-tmux-context': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-shell@0.1.0-rc.7(d3f5c9e8227ec47baf7983a7b3f12a61)) - '@deepseek-ai/dsh-token-meter': 0.1.0-rc.7(2fa39e651d6b4d00840b5133c167cc09) - '@deepseek-ai/dsh-tool-ask-user': 0.1.0-rc.7(05bf1b7f9211140e40ee17108b703815) - '@deepseek-ai/dsh-tool-bash': 0.1.0-rc.7(e6524a4741ca5f7a041a012548fcf420) - '@deepseek-ai/dsh-tool-bash-persistent': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-terminal@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-tool-cordis': 0.1.0-rc.7(95cde96399f26bc61668514b17303d00) - '@deepseek-ai/dsh-tool-fs': 0.1.0-rc.7(e7d989b5e5a4423849aa5d8248287fa2) - '@deepseek-ai/dsh-tool-fs-search': 0.1.0-rc.7(b32686f6bdfad4e2bac19ddddae90f15) - '@deepseek-ai/dsh-tool-goal': 0.1.0-rc.7(180e0f3f329d9b10860ecf7e00313277) - '@deepseek-ai/dsh-tool-jobs': 0.1.0-rc.7(9946e50f0ee52458165c230dc9c7c6b5) - '@deepseek-ai/dsh-tool-pwsh': 0.1.0-rc.7(e6524a4741ca5f7a041a012548fcf420) - '@deepseek-ai/dsh-tool-ralph': 0.1.0-rc.7(bab3281304625d6d534bd32fe485cf79) - '@deepseek-ai/dsh-tool-skill': 0.1.0-rc.7(df0d23800fad5b2ada25025e060bda44) - '@deepseek-ai/dsh-tool-str-replace-editor': 0.1.0-rc.7(3bd2fa864f678fb2dc668eb7729286c2) - '@deepseek-ai/dsh-tool-subagent': 0.1.0-rc.7(1222888b06fba7e9c8bcaa54a558d14e) - '@deepseek-ai/dsh-tool-subagent-control': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-subagent@0.1.0-rc.7(ff6197eb44fe7f35d2672b0aeeb186da))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-tool-todo': 0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.0-rc.7(1e28fca6adb316c000fd361f8e5f3a08))(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-projection@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.7(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346)))(@deepseek-ai/dsh-session@0.1.0-rc.7(1dcde9bfc9fa0140c66648fbcb67b346))(@deepseek-ai/dsh-tools@0.1.0-rc.7(38c91eb2d47c5b4ba2c8ead86dfcb4aa)) - '@deepseek-ai/dsh-tool-web': 0.1.0-rc.7(a1e227eab3db3d5fdb80246cd440578f) - '@deepseek-ai/dsh-tool-workflow': 0.1.0-rc.7(568ef6a59b3c44062c8cbf5cb759c397) - '@deepseek-ai/dsh-web-app': 0.1.0-rc.7(26bc512d711f6c22275ef6497f3d5888) - '@deepseek-ai/dsh-workflow-worker-thread': 0.1.0-rc.7(6ad95a742535dff29ed317a2fc297623) + '@deepseek-ai/dsh-agent-instructions': 0.1.1-rc.2(aea42a70663db470994f4176a9619635) + '@deepseek-ai/dsh-agent-tool-presentation': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-app-boot': 0.1.1-rc.2(d7ed335ddbfb7670edc51bd2c8928580) + '@deepseek-ai/dsh-base': 0.1.1-rc.2(b2e5f31b0997e336ef5fc165c5dc16ff) + '@deepseek-ai/dsh-client-ui-agent-preset': 0.1.1-rc.2(1111e99e69f0e28476abba73902ee420) + '@deepseek-ai/dsh-client-ui-cordis': 0.1.1-rc.2(0f47f3917aacd37f0258ecbb92c181e5) + '@deepseek-ai/dsh-cmdline': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-command-compact': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-command-goal': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-commands@0.1.1-rc.2(0ecd3a66a950f0a38490382753aa1d93))(@deepseek-ai/dsh-goal@0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-compaction-basic': 0.1.1-rc.2(a2e753ab8e1623cdff452f5c725a14ee) + '@deepseek-ai/dsh-compaction-tool-result-pruner': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-compaction@0.1.1-rc.2(80d45efbb3b7de81b65c253ede5096fd))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-token-meter@0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd)) + '@deepseek-ai/dsh-cordis-client-runner': 0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(0037c360ed8ef45e74e856e82932995e))(@deepseek-ai/dsh-client-connection@0.1.1-rc.2)(@deepseek-ai/dsh-client-modules@0.1.1-rc.2(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-host-webserver@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-client-runtime@0.1.1-rc.2(601e9129357dc48738583e18d75d19b2))(@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2(a6c39110759121c55549be9a5dac7bf7))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-fs-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.1-rc.2(369bb7c3e084bdd2eec52747b4523f36))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-goal': 0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe) + '@deepseek-ai/dsh-goal-round-driver': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-goal@0.1.1-rc.2(a40f169b35a63b1d25a94e0ed91514fe))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-headless': 0.1.1-rc.2(6f2d1767c8b04054fa31cea644d40f88) + '@deepseek-ai/dsh-home-paths': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-jobs-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-jobs@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-launch-environment': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-mcp-client': 0.1.1-rc.2(b23e1476680e2fc848944102d2a500cd) + '@deepseek-ai/dsh-persona': 0.1.1-rc.2(c46449525c16bef5ec3490eab6722d56) + '@deepseek-ai/dsh-plan-mode': 0.1.1-rc.2(b66cd71ae35f2828793c3b8a2858d514) + '@deepseek-ai/dsh-pwsh-local': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-settings@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/schemastery@3.18.1))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187))(@deepseek-ai/dsh-subprocess@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-pwsh-sandbox': 0.1.1-rc.2(98fad6318009d5d616f13ecbe715da01) + '@deepseek-ai/dsh-schedule': 0.1.1-rc.2(ba4be3be61a5e95bc9db203ae9a1ac61) + '@deepseek-ai/dsh-session-projection': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-session-reference': 0.1.1-rc.2(535ff208b76500c8770cfd701efd9f97) + '@deepseek-ai/dsh-skill': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-skill-filesystem': 0.1.1-rc.2(48868494a4b9bcea1966f12a762e8376) + '@deepseek-ai/dsh-terminal': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-terminal-bash': 0.1.1-rc.2(1465e18d402b84e5ee4627d11f6909e4) + '@deepseek-ai/dsh-time-context': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)) + '@deepseek-ai/dsh-tmux-context': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-shell@0.1.1-rc.2(206e5a113efc0246947fa5321bc71187)) + '@deepseek-ai/dsh-token-meter': 0.1.1-rc.2(1159d8efe00425ee77a142a2325d2efd) + '@deepseek-ai/dsh-tool-ask-user': 0.1.1-rc.2(069f59b18a572f4c5f154827c6bc8db5) + '@deepseek-ai/dsh-tool-bash': 0.1.1-rc.2(05a4ab9bdde8ba7591263d161ac5ed9d) + '@deepseek-ai/dsh-tool-bash-persistent': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-terminal@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-tool-cordis': 0.1.1-rc.2(ebe01c96ca701907cae1737d2a408b47) + '@deepseek-ai/dsh-tool-fs': 0.1.1-rc.2(1bedc55125eccc12456b08e283ea8a8e) + '@deepseek-ai/dsh-tool-fs-search': 0.1.1-rc.2(8f26a32987bc67ff94da7068f226f993) + '@deepseek-ai/dsh-tool-goal': 0.1.1-rc.2(6508b6d44139ca8ca60da0e22a530313) + '@deepseek-ai/dsh-tool-jobs': 0.1.1-rc.2(47973f80f86a218f479fbdcf19fb4ae2) + '@deepseek-ai/dsh-tool-pwsh': 0.1.1-rc.2(05a4ab9bdde8ba7591263d161ac5ed9d) + '@deepseek-ai/dsh-tool-pwsh-persistent': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-terminal@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-tool-ralph': 0.1.1-rc.2(431cab7d0fcdc7d04f22e1644af6dad7) + '@deepseek-ai/dsh-tool-skill': 0.1.1-rc.2(933d784142a998775a8022e1081fa8f7) + '@deepseek-ai/dsh-tool-str-replace-editor': 0.1.1-rc.2(488c585b6cb94a33954defbdc193572b) + '@deepseek-ai/dsh-tool-subagent': 0.1.1-rc.2(fff99afb66eb5f78f92e1168a4be0359) + '@deepseek-ai/dsh-tool-subagent-control': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-subagent@0.1.1-rc.2(41d5ff529e06289e51a68d84fe32d51b))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-tool-todo': 0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.1-rc.2(c1537a8836b04097f168b024f1e38d85))(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session-projection@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.1-rc.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc)))(@deepseek-ai/dsh-session@0.1.1-rc.2(a4e4bb24a1f3580ac25e11cfa3c6b8cc))(@deepseek-ai/dsh-tools@0.1.1-rc.2(119bc70f73f8eddebfaa6b47561adeb3)) + '@deepseek-ai/dsh-tool-web': 0.1.1-rc.2(1c5a0234715166d758e366fe9c921b2f) + '@deepseek-ai/dsh-tool-workflow': 0.1.1-rc.2(910301586bd16051b44e5fe8055952d4) + '@deepseek-ai/dsh-web-app': 0.1.1-rc.2(47ff1a0efa86c1b3e3a5000e8a113462) + '@deepseek-ai/dsh-workflow-worker-thread': 0.1.1-rc.2(7ff539779842715217130c18ca64c09c) commander: 15.0.0 js-yaml: 4.3.1 node-addon-require-builtin: 0.1.5 @@ -7404,23 +7359,19 @@ snapshots: - '@deepseek-ai/dsh-api-remotes' - '@deepseek-ai/dsh-atomic-write' - '@deepseek-ai/dsh-attachment' + - '@deepseek-ai/dsh-authorization' - '@deepseek-ai/dsh-bash-local' - '@deepseek-ai/dsh-brand' - '@deepseek-ai/dsh-client-connection' - '@deepseek-ai/dsh-client-locale' - '@deepseek-ai/dsh-client-modules' - '@deepseek-ai/dsh-client-runtime' - - '@deepseek-ai/dsh-client-schema-form' - - '@deepseek-ai/dsh-client-ui-attachment' - '@deepseek-ai/dsh-client-ui-conversation' - '@deepseek-ai/dsh-client-ui-input-trigger' - - '@deepseek-ai/dsh-client-ui-primitives' - '@deepseek-ai/dsh-client-ui-settings' - '@deepseek-ai/dsh-client-ui-sidebar' - - '@deepseek-ai/dsh-client-ui-slots' - '@deepseek-ai/dsh-client-ui-theme' - '@deepseek-ai/dsh-client-ui-tool' - - '@deepseek-ai/dsh-client-web-react' - '@deepseek-ai/dsh-code-runtime' - '@deepseek-ai/dsh-commands' - '@deepseek-ai/dsh-compaction' @@ -7441,6 +7392,7 @@ snapshots: - '@deepseek-ai/dsh-session-projection-cache' - '@deepseek-ai/dsh-session-query' - '@deepseek-ai/dsh-session-telemetry' + - '@deepseek-ai/dsh-session-title' - '@deepseek-ai/dsh-session-title-llm' - '@deepseek-ai/dsh-settings' - '@deepseek-ai/dsh-shell' @@ -7462,7 +7414,6 @@ snapshots: - '@types/node' - '@types/react' - bufferutil - - clsx - react - react-dom - supports-color @@ -8320,6 +8271,10 @@ snapshots: buffer-equal-constant-time@1.0.1: {} + bundle-name@4.1.0: + dependencies: + run-applescript: 7.1.0 + bytes@3.1.2: {} cac@7.0.0: {} @@ -8395,6 +8350,15 @@ snapshots: dependencies: character-entities: 2.0.2 + default-browser-id@5.0.1: {} + + default-browser@5.5.1: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.1 + + define-lazy-prop@3.0.0: {} + depd@2.0.0: {} dequal@2.0.3: {} @@ -8685,8 +8649,20 @@ snapshots: ipaddr.js@1.9.1: {} + is-docker@3.0.0: {} + + is-in-ssh@1.0.0: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + is-promise@4.0.0: {} + is-wsl@3.1.1: + dependencies: + is-inside-container: 1.0.0 + isexe@2.0.0: {} jju@1.4.0: {} @@ -9245,6 +9221,15 @@ snapshots: regex: 6.1.0 regex-recursion: 6.0.2 + open@11.0.1: + dependencies: + default-browser: 5.5.1 + define-lazy-prop: 3.0.0 + is-in-ssh: 1.0.0 + is-inside-container: 1.0.0 + powershell-utils: 0.2.0 + wsl-utils: 1.0.0 + openai@6.26.0(ws@8.21.3)(zod@4.4.3): optionalDependencies: ws: 8.21.3 @@ -9279,6 +9264,10 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + powershell-utils@0.1.0: {} + + powershell-utils@0.2.0: {} + property-information@7.2.0: {} protobufjs@7.6.5: @@ -9376,6 +9365,8 @@ snapshots: transitivePeerDependencies: - supports-color + run-applescript@7.1.0: {} + safe-buffer@5.2.1: {} safer-buffer@2.1.2: {} @@ -9705,6 +9696,11 @@ snapshots: ws@8.21.3: {} + wsl-utils@1.0.0: + dependencies: + is-wsl: 3.1.1 + powershell-utils: 0.1.0 + yaml@2.9.0: {} zod-to-json-schema@3.25.2(zod@4.4.3): diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d25756c..4c1061a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,189 +9,193 @@ allowBuilds: protobufjs: false autoInstallPeers: true minimumReleaseAgeExclude: - - '@deepseek-ai/dsh-agent-default-model@0.1.0-rc.7' - - '@deepseek-ai/dsh-agent-instructions@0.1.0-rc.7' - - '@deepseek-ai/dsh-agent-loop@0.1.0-rc.7' - - '@deepseek-ai/dsh-agent-presets@0.1.0-rc.7' - - '@deepseek-ai/dsh-agent-tool-presentation@0.1.0-rc.7' - - '@deepseek-ai/dsh-agent@0.1.0-rc.7' - - '@deepseek-ai/dsh-anonymous-user-id@0.1.0-rc.7' - - '@deepseek-ai/dsh-api-gateway@0.1.0-rc.7' - - '@deepseek-ai/dsh-api-remotes@0.1.0-rc.7' - - '@deepseek-ai/dsh-app-boot@0.1.0-rc.7' - - '@deepseek-ai/dsh-atomic-write@0.1.0-rc.7' - - '@deepseek-ai/dsh-attachment-local@0.1.0-rc.7' - - '@deepseek-ai/dsh-attachment@0.1.0-rc.7' - - '@deepseek-ai/dsh-base@0.1.0-rc.7' - - '@deepseek-ai/dsh-bash-local@0.1.0-rc.7' - - '@deepseek-ai/dsh-bash-sandbox@0.1.0-rc.7' - - '@deepseek-ai/dsh-brand@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-connection@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-hmr@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-locale@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-modules@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-runtime@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-schema-form@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-agent-preset@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-attachment@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-commands@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-cordis@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-deliverables@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-directory-picker-browse@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-directory-picker-native@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-goal@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-input-trigger@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-jobs@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-layout@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-message-feedback@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-model-selection@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-permission-presets@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-plan@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-primitives@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-settings-general@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-settings-models@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-settings-plugin-inventory@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-settings-plugins@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-settings@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-sidebar@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-skill@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-slots@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-subagent@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-theme@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-tool@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-trajectory@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-user-questions@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-workflow-run@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-ui-workspace@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-web-react@0.1.0-rc.7' - - '@deepseek-ai/dsh-client-web@0.1.0-rc.7' - - '@deepseek-ai/dsh-cmdline@0.1.0-rc.7' - - '@deepseek-ai/dsh-code-runtime-worker-thread@0.1.0-rc.7' - - '@deepseek-ai/dsh-code-runtime@0.1.0-rc.7' - - '@deepseek-ai/dsh-command-compact@0.1.0-rc.7' - - '@deepseek-ai/dsh-command-feedback@0.1.0-rc.7' - - '@deepseek-ai/dsh-command-goal@0.1.0-rc.7' - - '@deepseek-ai/dsh-commands@0.1.0-rc.7' - - '@deepseek-ai/dsh-compaction-basic@0.1.0-rc.7' - - '@deepseek-ai/dsh-compaction-tool-result-pruner@0.1.0-rc.7' - - '@deepseek-ai/dsh-compaction@0.1.0-rc.7' - - '@deepseek-ai/dsh-cordis-client-runner@0.1.0-rc.7' - - '@deepseek-ai/dsh-cordis-host-runner@0.1.0-rc.7' - - '@deepseek-ai/dsh-credentials-local@0.1.0-rc.7' - - '@deepseek-ai/dsh-credentials@0.1.0-rc.7' - - '@deepseek-ai/dsh-fs-local@0.1.0-rc.7' - - '@deepseek-ai/dsh-fs-observation-policy@0.1.0-rc.7' - - '@deepseek-ai/dsh-fs-sandbox@0.1.0-rc.7' - - '@deepseek-ai/dsh-fs@0.1.0-rc.7' - - '@deepseek-ai/dsh-goal-round-driver@0.1.0-rc.7' - - '@deepseek-ai/dsh-goal@0.1.0-rc.7' - - '@deepseek-ai/dsh-headless@0.1.0-rc.7' - - '@deepseek-ai/dsh-home-paths@0.1.0-rc.7' - - '@deepseek-ai/dsh-host-apiproxy@0.1.0-rc.7' - - '@deepseek-ai/dsh-host-directory-picker-auto@0.1.0-rc.7' - - '@deepseek-ai/dsh-host-directory-picker-browse@0.1.0-rc.7' - - '@deepseek-ai/dsh-host-directory-picker-native@0.1.0-rc.7' - - '@deepseek-ai/dsh-host-directory-picker@0.1.0-rc.7' - - '@deepseek-ai/dsh-host-frontend-static@0.1.0-rc.7' - - '@deepseek-ai/dsh-host-plugin-inventory@0.1.0-rc.7' - - '@deepseek-ai/dsh-host-webserver@0.1.0-rc.7' - - '@deepseek-ai/dsh-invariants@0.1.0-rc.7' - - '@deepseek-ai/dsh-jobs-local@0.1.0-rc.7' - - '@deepseek-ai/dsh-jobs@0.1.0-rc.7' - - '@deepseek-ai/dsh-launch-environment@0.1.0-rc.7' - - '@deepseek-ai/dsh-llm-deepseek@0.1.0-rc.7' - - '@deepseek-ai/dsh-llm-pi-ai@0.1.0-rc.7' - - '@deepseek-ai/dsh-llm-retry@0.1.0-rc.7' - - '@deepseek-ai/dsh-llm@0.1.0-rc.7' - - '@deepseek-ai/dsh-mcp-client@0.1.0-rc.7' - - '@deepseek-ai/dsh-message-feedback@0.1.0-rc.7' - - '@deepseek-ai/dsh-native-command@0.1.0-rc.7' - - '@deepseek-ai/dsh-output-retention@0.1.0-rc.7' - - '@deepseek-ai/dsh-permission-presets@0.1.0-rc.7' - - '@deepseek-ai/dsh-persona@0.1.0-rc.7' - - '@deepseek-ai/dsh-plan-mode@0.1.0-rc.7' - - '@deepseek-ai/dsh-pwsh-local@0.1.0-rc.7' - - '@deepseek-ai/dsh-pwsh-sandbox@0.1.0-rc.7' - - '@deepseek-ai/dsh-repeat-tool-reminder@0.1.0-rc.7' - - '@deepseek-ai/dsh-sandbox-local@0.1.0-rc.7' - - '@deepseek-ai/dsh-sandbox-policy@0.1.0-rc.7' - - '@deepseek-ai/dsh-sandbox-windows-acl@0.1.0-rc.7' - - '@deepseek-ai/dsh-sandbox@0.1.0-rc.7' - - '@deepseek-ai/dsh-schedule@0.1.0-rc.7' - - '@deepseek-ai/dsh-scope@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-checkpoint-policy@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-log-export@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-persistence-jsonl@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-persistence@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-projection-cache@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-projection@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-query-sqlite@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-query@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-reference@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-stats@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-telemetry-otel@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-telemetry@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-title-first-prompt-llm@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-title-llm@0.1.0-rc.7' - - '@deepseek-ai/dsh-session-title@0.1.0-rc.7' - - '@deepseek-ai/dsh-session@0.1.0-rc.7' - - '@deepseek-ai/dsh-settings-file@0.1.0-rc.7' - - '@deepseek-ai/dsh-settings@0.1.0-rc.7' - - '@deepseek-ai/dsh-shell-env@0.1.0-rc.7' - - '@deepseek-ai/dsh-shell@0.1.0-rc.7' - - '@deepseek-ai/dsh-skill-badge@0.1.0-rc.7' - - '@deepseek-ai/dsh-skill-filesystem@0.1.0-rc.7' - - '@deepseek-ai/dsh-skill@0.1.0-rc.7' - - '@deepseek-ai/dsh-spill-local@0.1.0-rc.7' - - '@deepseek-ai/dsh-spill-policy@0.1.0-rc.7' - - '@deepseek-ai/dsh-spill@0.1.0-rc.7' - - '@deepseek-ai/dsh-storage-domain@0.1.0-rc.7' - - '@deepseek-ai/dsh-storage-json@0.1.0-rc.7' - - '@deepseek-ai/dsh-storage@0.1.0-rc.7' - - '@deepseek-ai/dsh-subagent-fork-in-process@0.1.0-rc.7' - - '@deepseek-ai/dsh-subagent-in-process-driver@0.1.0-rc.7' - - '@deepseek-ai/dsh-subagent-spawn-in-process@0.1.0-rc.7' - - '@deepseek-ai/dsh-subagent@0.1.0-rc.7' - - '@deepseek-ai/dsh-subprocess-local@0.1.0-rc.7' - - '@deepseek-ai/dsh-subprocess@0.1.0-rc.7' - - '@deepseek-ai/dsh-system-prompt@0.1.0-rc.7' - - '@deepseek-ai/dsh-terminal-bash@0.1.0-rc.7' - - '@deepseek-ai/dsh-terminal@0.1.0-rc.7' - - '@deepseek-ai/dsh-time-context@0.1.0-rc.7' - - '@deepseek-ai/dsh-timeout@0.1.0-rc.7' - - '@deepseek-ai/dsh-tmux-context@0.1.0-rc.7' - - '@deepseek-ai/dsh-token-meter@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-ask-user@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-bash-persistent@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-bash@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-call-timeout-policy@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-cordis@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-fs-search@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-fs@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-goal@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-jobs@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-pwsh@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-ralph@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-skill@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-str-replace-editor@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-subagent-control@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-subagent-report@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-subagent@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-todo@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-web@0.1.0-rc.7' - - '@deepseek-ai/dsh-tool-workflow@0.1.0-rc.7' - - '@deepseek-ai/dsh-tools@0.1.0-rc.7' - - '@deepseek-ai/dsh-typert-loader@0.1.0-rc.7' - - '@deepseek-ai/dsh-typert-protocol@0.1.0-rc.7' - - '@deepseek-ai/dsh-typert-registry@0.1.0-rc.7' - - '@deepseek-ai/dsh-user-approval@0.1.0-rc.7' - - '@deepseek-ai/dsh-user-questions@0.1.0-rc.7' - - '@deepseek-ai/dsh-web-app@0.1.0-rc.7' - - '@deepseek-ai/dsh-web-frontend@0.1.0-rc.7' - - '@deepseek-ai/dsh-web-search-deepseek@0.1.0-rc.7' - - '@deepseek-ai/dsh-web@0.1.0-rc.7' - - '@deepseek-ai/dsh-workflow-worker-thread@0.1.0-rc.7' - - '@deepseek-ai/dsh-workflow@0.1.0-rc.7' - - '@deepseek-ai/dsh-workspace@0.1.0-rc.7' - - '@deepseek-ai/dsh@0.1.0-rc.7' + - '@deepseek-ai/dsh-agent-default-model@0.1.1-rc.2' + - '@deepseek-ai/dsh-agent-instructions@0.1.1-rc.2' + - '@deepseek-ai/dsh-agent-loop@0.1.1-rc.2' + - '@deepseek-ai/dsh-agent-presets@0.1.1-rc.2' + - '@deepseek-ai/dsh-agent-tool-presentation@0.1.1-rc.2' + - '@deepseek-ai/dsh-agent@0.1.1-rc.2' + - '@deepseek-ai/dsh-anonymous-user-id@0.1.1-rc.2' + - '@deepseek-ai/dsh-api-gateway@0.1.1-rc.2' + - '@deepseek-ai/dsh-api-remotes@0.1.1-rc.2' + - '@deepseek-ai/dsh-app-boot@0.1.1-rc.2' + - '@deepseek-ai/dsh-atomic-write@0.1.1-rc.2' + - '@deepseek-ai/dsh-attachment-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-attachment@0.1.1-rc.2' + - '@deepseek-ai/dsh-authorization@0.1.1-rc.2' + - '@deepseek-ai/dsh-base@0.1.1-rc.2' + - '@deepseek-ai/dsh-bash-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-bash-sandbox@0.1.1-rc.2' + - '@deepseek-ai/dsh-brand@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-connection@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-hmr@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-locale@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-modules@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-runtime@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-agent-preset@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-attachment@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-brand-official@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-commands@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-cordis@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-deliverables@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-directory-picker-browse@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-directory-picker-native@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-goal@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-input-trigger@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-jobs@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-layout@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-message-feedback@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-model-selection@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-permission-presets@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-plan@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-primitives@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-reference@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-renderer@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-settings-general@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-settings-models@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-settings-plugin-inventory@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-settings-plugins@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-settings@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-skill@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-slots@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-subagent@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-theme@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-tool@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-trajectory@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-user-questions@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-workflow-run@0.1.1-rc.2' + - '@deepseek-ai/dsh-client-ui-workspace@0.1.1-rc.2' + - '@deepseek-ai/dsh-cmdline@0.1.1-rc.2' + - '@deepseek-ai/dsh-code-runtime-worker-thread@0.1.1-rc.2' + - '@deepseek-ai/dsh-code-runtime@0.1.1-rc.2' + - '@deepseek-ai/dsh-command-compact@0.1.1-rc.2' + - '@deepseek-ai/dsh-command-feedback@0.1.1-rc.2' + - '@deepseek-ai/dsh-command-goal@0.1.1-rc.2' + - '@deepseek-ai/dsh-commands@0.1.1-rc.2' + - '@deepseek-ai/dsh-compaction-basic@0.1.1-rc.2' + - '@deepseek-ai/dsh-compaction-tool-result-pruner@0.1.1-rc.2' + - '@deepseek-ai/dsh-compaction@0.1.1-rc.2' + - '@deepseek-ai/dsh-cordis-client-runner@0.1.1-rc.2' + - '@deepseek-ai/dsh-cordis-host-runner@0.1.1-rc.2' + - '@deepseek-ai/dsh-credentials-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-credentials@0.1.1-rc.2' + - '@deepseek-ai/dsh-file-reference-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-file-reference@0.1.1-rc.2' + - '@deepseek-ai/dsh-fs-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-fs-observation-policy@0.1.1-rc.2' + - '@deepseek-ai/dsh-fs-sandbox@0.1.1-rc.2' + - '@deepseek-ai/dsh-fs@0.1.1-rc.2' + - '@deepseek-ai/dsh-goal-round-driver@0.1.1-rc.2' + - '@deepseek-ai/dsh-goal@0.1.1-rc.2' + - '@deepseek-ai/dsh-headless@0.1.1-rc.2' + - '@deepseek-ai/dsh-home-paths@0.1.1-rc.2' + - '@deepseek-ai/dsh-host-apiproxy@0.1.1-rc.2' + - '@deepseek-ai/dsh-host-directory-picker-auto@0.1.1-rc.2' + - '@deepseek-ai/dsh-host-directory-picker-browse@0.1.1-rc.2' + - '@deepseek-ai/dsh-host-directory-picker-native@0.1.1-rc.2' + - '@deepseek-ai/dsh-host-directory-picker@0.1.1-rc.2' + - '@deepseek-ai/dsh-host-frontend-static@0.1.1-rc.2' + - '@deepseek-ai/dsh-host-plugin-inventory@0.1.1-rc.2' + - '@deepseek-ai/dsh-host-webserver@0.1.1-rc.2' + - '@deepseek-ai/dsh-invariants@0.1.1-rc.2' + - '@deepseek-ai/dsh-jobs-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-jobs@0.1.1-rc.2' + - '@deepseek-ai/dsh-launch-environment@0.1.1-rc.2' + - '@deepseek-ai/dsh-llm-deepseek@0.1.1-rc.2' + - '@deepseek-ai/dsh-llm-pi-ai@0.1.1-rc.2' + - '@deepseek-ai/dsh-llm-retry@0.1.1-rc.2' + - '@deepseek-ai/dsh-llm@0.1.1-rc.2' + - '@deepseek-ai/dsh-mcp-client@0.1.1-rc.2' + - '@deepseek-ai/dsh-message-feedback@0.1.1-rc.2' + - '@deepseek-ai/dsh-native-command@0.1.1-rc.2' + - '@deepseek-ai/dsh-output-retention@0.1.1-rc.2' + - '@deepseek-ai/dsh-permission-presets@0.1.1-rc.2' + - '@deepseek-ai/dsh-persona@0.1.1-rc.2' + - '@deepseek-ai/dsh-plan-mode@0.1.1-rc.2' + - '@deepseek-ai/dsh-pwsh-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-pwsh-sandbox@0.1.1-rc.2' + - '@deepseek-ai/dsh-repeat-tool-reminder@0.1.1-rc.2' + - '@deepseek-ai/dsh-sandbox-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-sandbox-policy@0.1.1-rc.2' + - '@deepseek-ai/dsh-sandbox-windows-acl@0.1.1-rc.2' + - '@deepseek-ai/dsh-sandbox@0.1.1-rc.2' + - '@deepseek-ai/dsh-schedule@0.1.1-rc.2' + - '@deepseek-ai/dsh-scope@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-checkpoint-policy@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-log-export@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-persistence-jsonl@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-persistence@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-projection-cache@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-projection@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-query-sqlite@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-query@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-reference@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-stats@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-telemetry-otel@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-telemetry@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-title-first-prompt-llm@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-title-llm@0.1.1-rc.2' + - '@deepseek-ai/dsh-session-title@0.1.1-rc.2' + - '@deepseek-ai/dsh-session@0.1.1-rc.2' + - '@deepseek-ai/dsh-settings-file@0.1.1-rc.2' + - '@deepseek-ai/dsh-settings@0.1.1-rc.2' + - '@deepseek-ai/dsh-shell-env@0.1.1-rc.2' + - '@deepseek-ai/dsh-shell@0.1.1-rc.2' + - '@deepseek-ai/dsh-skill-badge@0.1.1-rc.2' + - '@deepseek-ai/dsh-skill-filesystem@0.1.1-rc.2' + - '@deepseek-ai/dsh-skill@0.1.1-rc.2' + - '@deepseek-ai/dsh-spill-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-spill-policy@0.1.1-rc.2' + - '@deepseek-ai/dsh-spill@0.1.1-rc.2' + - '@deepseek-ai/dsh-storage-domain@0.1.1-rc.2' + - '@deepseek-ai/dsh-storage-json@0.1.1-rc.2' + - '@deepseek-ai/dsh-storage@0.1.1-rc.2' + - '@deepseek-ai/dsh-subagent-fork-in-process@0.1.1-rc.2' + - '@deepseek-ai/dsh-subagent-in-process-driver@0.1.1-rc.2' + - '@deepseek-ai/dsh-subagent-spawn-in-process@0.1.1-rc.2' + - '@deepseek-ai/dsh-subagent@0.1.1-rc.2' + - '@deepseek-ai/dsh-subprocess-local@0.1.1-rc.2' + - '@deepseek-ai/dsh-subprocess@0.1.1-rc.2' + - '@deepseek-ai/dsh-system-prompt@0.1.1-rc.2' + - '@deepseek-ai/dsh-terminal-bash@0.1.1-rc.2' + - '@deepseek-ai/dsh-terminal@0.1.1-rc.2' + - '@deepseek-ai/dsh-time-context@0.1.1-rc.2' + - '@deepseek-ai/dsh-timeout@0.1.1-rc.2' + - '@deepseek-ai/dsh-tmux-context@0.1.1-rc.2' + - '@deepseek-ai/dsh-token-meter@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-ask-user@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-bash-persistent@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-bash@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-call-timeout-policy@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-cordis@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-fs-search@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-fs@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-goal@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-jobs@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-pwsh-persistent@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-pwsh@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-ralph@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-skill@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-str-replace-editor@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-subagent-control@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-subagent-report@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-subagent@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-todo@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-web@0.1.1-rc.2' + - '@deepseek-ai/dsh-tool-workflow@0.1.1-rc.2' + - '@deepseek-ai/dsh-tools@0.1.1-rc.2' + - '@deepseek-ai/dsh-typert-loader@0.1.1-rc.2' + - '@deepseek-ai/dsh-typert-protocol@0.1.1-rc.2' + - '@deepseek-ai/dsh-typert-registry@0.1.1-rc.2' + - '@deepseek-ai/dsh-user-approval@0.1.1-rc.2' + - '@deepseek-ai/dsh-user-questions@0.1.1-rc.2' + - '@deepseek-ai/dsh-web-app@0.1.1-rc.2' + - '@deepseek-ai/dsh-web-frontend@0.1.1-rc.2' + - '@deepseek-ai/dsh-web-search-deepseek@0.1.1-rc.2' + - '@deepseek-ai/dsh-web@0.1.1-rc.2' + - '@deepseek-ai/dsh-workflow-worker-thread@0.1.1-rc.2' + - '@deepseek-ai/dsh-workflow@0.1.1-rc.2' + - '@deepseek-ai/dsh-workspace@0.1.1-rc.2' + - '@deepseek-ai/dsh@0.1.1-rc.2'