From 2635049e3be723b1a754d4bee9f6f8f820d4ed12 Mon Sep 17 00:00:00 2001 From: HuanLinOTO Date: Fri, 28 Aug 2026 14:14:15 +0800 Subject: [PATCH 1/5] fix: adapt to dsh v0.1.2-alpha.1 - dsh-llm renamed CallId to ToolCallId: switch the three tool test files to the new export (constructor shape unchanged) - pnpm-workspace: autoInstallPeers false, so @deepseek-ai peers resolve from the host install instead of auto-installed rc.6 copies - refresh pnpm-lock.yaml accordingly Host-side APIs used by this plugin (defineTool, ToolExecution, presentCall card views, systemPrompt.section, HarnessError, invariants) are unchanged in alpha.1; no src changes were needed. --- packages/tool/tests/live-tool.spec.ts | 4 +- .../tool/tests/loader-composition.spec.ts | 6 +-- packages/tool/tests/tool-codegraph.spec.ts | 18 +++---- pnpm-lock.yaml | 54 ++++++++++++++----- pnpm-workspace.yaml | 3 +- 5 files changed, 56 insertions(+), 29 deletions(-) diff --git a/packages/tool/tests/live-tool.spec.ts b/packages/tool/tests/live-tool.spec.ts index 897be24..8ebd7b7 100644 --- a/packages/tool/tests/live-tool.spec.ts +++ b/packages/tool/tests/live-tool.spec.ts @@ -10,7 +10,7 @@ import { afterEach, describe, expect, it } from 'vitest' import { Context } from '@deepseek-ai/cordis' import Loader from '@deepseek-ai/cordis-plugin-loader' import Include from '@deepseek-ai/cordis-plugin-include' -import { CallId } from '@deepseek-ai/dsh-llm' +import { ToolCallId } from '@deepseek-ai/dsh-llm' import { SESSION_FORMAT_VERSION, Session, SessionId } from '@deepseek-ai/dsh-session' import AgentRegistry, { Inbox } from '@deepseek-ai/dsh-agent' import type { Agent } from '@deepseek-ai/dsh-agent' @@ -112,7 +112,7 @@ describe.skipIf(!present)('tool-codegraph against a live external index', () => for (const [index, args] of calls.entries()) { const result = await ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId(`live-${index}`), + callId: ToolCallId(`live-${index}`), name: 'codegraph', arguments: args, agent: owner, diff --git a/packages/tool/tests/loader-composition.spec.ts b/packages/tool/tests/loader-composition.spec.ts index c886608..037309c 100644 --- a/packages/tool/tests/loader-composition.spec.ts +++ b/packages/tool/tests/loader-composition.spec.ts @@ -8,7 +8,7 @@ import { afterEach, describe, expect, it } from 'vitest' import { Context } from '@deepseek-ai/cordis' import Loader from '@deepseek-ai/cordis-plugin-loader' import Include from '@deepseek-ai/cordis-plugin-include' -import { CallId } from '@deepseek-ai/dsh-llm' +import { ToolCallId } from '@deepseek-ai/dsh-llm' import { SESSION_FORMAT_VERSION, Session, SessionId } from '@deepseek-ai/dsh-session' import AgentRegistry, { Inbox } from '@deepseek-ai/dsh-agent' import type { Agent } from '@deepseek-ai/dsh-agent' @@ -138,7 +138,7 @@ async function boot(projectRoot: string, toolConfigLines: readonly string[] = [] async function call(ctx: Context, owner: Agent, args: Record, id = 'call') { return ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId(id), + callId: ToolCallId(id), name: 'codegraph', arguments: args, agent: owner, @@ -309,7 +309,7 @@ describe('codegraph_index real Loader composition through cordis.yml', () => { const indexResult = await ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId('index'), + callId: ToolCallId('index'), name: 'codegraph_index', arguments: {}, agent: owner, diff --git a/packages/tool/tests/tool-codegraph.spec.ts b/packages/tool/tests/tool-codegraph.spec.ts index 814ea7f..ac727d7 100644 --- a/packages/tool/tests/tool-codegraph.spec.ts +++ b/packages/tool/tests/tool-codegraph.spec.ts @@ -3,7 +3,7 @@ import { tmpdir } from 'node:os' import { join } from 'node:path' import { afterEach, describe, expect, it } from 'vitest' import { Context } from '@deepseek-ai/cordis' -import { CallId } from '@deepseek-ai/dsh-llm' +import { ToolCallId } from '@deepseek-ai/dsh-llm' import { SESSION_FORMAT_VERSION, Session, SessionId } from '@deepseek-ai/dsh-session' import AgentRegistry, { Inbox } from '@deepseek-ai/dsh-agent' import type { Agent } from '@deepseek-ai/dsh-agent' @@ -475,7 +475,7 @@ describe('the tool plugin', () => { async function call(ctx: Context, owner: Agent, args: Record, id = 'unit') { return ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId(id), + callId: ToolCallId(id), name: 'codegraph', arguments: args, agent: owner, @@ -485,7 +485,7 @@ describe('the tool plugin', () => { async function callIndex(ctx: Context, owner: Agent | undefined, args: Record, id = 'index') { return ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId(id), + callId: ToolCallId(id), name: 'codegraph_index', arguments: args, ...owner === undefined ? {} : { agent: owner }, @@ -622,7 +622,7 @@ describe('the tool plugin', () => { const ctx = await mount(root) const result = await ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId('no-agent'), + callId: ToolCallId('no-agent'), name: 'codegraph', arguments: { operation: 'status' }, }) @@ -673,7 +673,7 @@ describe('status against a root no store claims', () => { const ctx = await mountWithoutStore(root) const result = await ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId('unindexed-status'), + callId: ToolCallId('unindexed-status'), name: 'codegraph', arguments: { operation: 'status' }, agent: owner(ctx, root), @@ -760,7 +760,7 @@ describe('answers a store returns when nothing resolves', () => { const ctx = await mountEmpty(root) const result = await ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId(`empty-${label}`), + callId: ToolCallId(`empty-${label}`), name: 'codegraph', arguments: args, agent: owner(ctx, root), @@ -775,7 +775,7 @@ describe('answers a store returns when nothing resolves', () => { for (const args of [{ operation: 'search', query: 'gone' }, { operation: 'files' }]) { const result = await ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId(`bare-${args.operation}`), + callId: ToolCallId(`bare-${args.operation}`), name: 'codegraph', arguments: args, agent: agentValue, @@ -789,7 +789,7 @@ describe('answers a store returns when nothing resolves', () => { const ctx = await mountEmpty(root) const result = await ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId('explore-missing'), + callId: ToolCallId('explore-missing'), name: 'codegraph', arguments: { operation: 'explore', query: 'gone' }, agent: owner(ctx, root), @@ -840,7 +840,7 @@ describe('the last shapes a trace answer can take', () => { ctx.agents.register(value) const result = await ctx.tools.execute({ signal: new AbortController().signal, - callId: CallId('trace-no-origin'), + callId: ToolCallId('trace-no-origin'), name: 'codegraph', arguments: { operation: 'trace', from: 'gone', to: 'main' }, agent: value, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b9ff56..b2ce2d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,7 +1,7 @@ lockfileVersion: '9.0' settings: - autoInstallPeers: true + autoInstallPeers: false excludeLinksFromLockfile: false importers: @@ -10,19 +10,19 @@ importers: devDependencies: '@deepseek-ai/cordis-plugin-include': specifier: ^1.0.6 - version: 1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1) + version: 1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/cordis-plugin-loader': specifier: ^1.0.2 - version: 1.0.2(@deepseek-ai/cordis@4.0.1) + version: 1.0.2 '@deepseek-ai/dsh-agent': specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(b0514d7a320728b6d8f5a31eb3960e10) + version: 0.1.0-rc.6(@deepseek-ai/dsh-session@0.1.0-rc.6) '@deepseek-ai/dsh-fs-local': specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.0-rc.6(6889042eed4b1d3d73c9a7bc6cc8e4e3))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) + version: 0.1.0-rc.6 '@deepseek-ai/dsh-session': specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(6fd26f59436a18b115f326d6060415e6) + version: 0.1.0-rc.6 '@types/node': specifier: ^22.10.0 version: 22.20.1 @@ -37,7 +37,7 @@ importers: version: 5.1.4(typescript@5.9.2)(vite@8.2.1(@types/node@22.20.1)) vitest: specifier: ^4.1.8 - version: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(vite@8.2.1(@types/node@22.20.1)) + version: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10) packages/bundle: dependencies: @@ -813,6 +813,7 @@ packages: tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} + deprecated: unmaintained hasBin: true peerDependencies: typescript: ^5.0.0 @@ -895,7 +896,6 @@ packages: '@vitest/ui': 4.1.10 happy-dom: '*' jsdom: '*' - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -950,17 +950,29 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} + '@deepseek-ai/cordis-plugin-include@1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2)': + dependencies: + '@deepseek-ai/cordis-plugin-loader': 1.0.2 + '@deepseek-ai/cosmokit': 1.8.2 + js-yaml: 4.3.1 + '@deepseek-ai/cordis-plugin-include@1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.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) '@deepseek-ai/cosmokit': 1.8.2 js-yaml: 4.3.1 + optional: true + + '@deepseek-ai/cordis-plugin-loader@1.0.2': + dependencies: + '@deepseek-ai/cosmokit': 1.8.2 '@deepseek-ai/cordis-plugin-loader@1.0.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/cosmokit': 1.8.2 + optional: true '@deepseek-ai/cordis@4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2)': dependencies: @@ -972,6 +984,10 @@ snapshots: '@deepseek-ai/cosmokit@1.8.2': {} + '@deepseek-ai/dsh-agent@0.1.0-rc.6(@deepseek-ai/dsh-session@0.1.0-rc.6)': + dependencies: + '@deepseek-ai/dsh-session': 0.1.0-rc.6 + '@deepseek-ai/dsh-agent@0.1.0-rc.6(b0514d7a320728b6d8f5a31eb3960e10)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) @@ -998,11 +1014,8 @@ snapshots: '@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.6(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-fs-local@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.0-rc.6(6889042eed4b1d3d73c9a7bc6cc8e4e3))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-fs-local@0.1.0-rc.6': 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.6(6889042eed4b1d3d73c9a7bc6cc8e4e3) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.1 koffi: 3.1.5 @@ -1040,6 +1053,8 @@ snapshots: '@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.6(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session@0.1.0-rc.6': {} + '@deepseek-ai/dsh-session@0.1.0-rc.6(6fd26f59436a18b115f326d6060415e6)': dependencies: '@deepseek-ai/cordis': 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) @@ -1226,7 +1241,7 @@ snapshots: obug: 2.1.4 std-env: 4.2.0 tinyrainbow: 3.1.1 - vitest: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(vite@8.2.1(@types/node@22.20.1)) + vitest: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10) '@vitest/expect@4.1.10': dependencies: @@ -1505,7 +1520,7 @@ snapshots: '@types/node': 22.20.1 fsevents: 2.3.3 - vitest@4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(vite@8.2.1(@types/node@22.20.1)): + vitest@4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10): dependencies: '@vitest/expect': 4.1.10 '@vitest/mocker': 4.1.10(vite@8.2.1(@types/node@22.20.1)) @@ -1531,7 +1546,18 @@ snapshots: '@types/node': 22.20.1 '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) transitivePeerDependencies: + - '@vitejs/devtools' + - esbuild + - jiti + - less - msw + - sass + - sass-embedded + - stylus + - sugarss + - terser + - tsx + - yaml web-tree-sitter@0.25.10: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 9ca2c71..b876b72 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,7 @@ packages: - 'packages/*' +autoInstallPeers: false allowBuilds: - koffi: true + koffi: set this to true or false onlyBuiltDependencies: - koffi From b969b356b446fc48560bd524aa906636e5ba5570 Mon Sep 17 00:00:00 2001 From: HuanLinOTO Date: Tue, 1 Sep 2026 22:46:23 +0800 Subject: [PATCH 2/5] fix: follow dsh 0.1.2-alpha.2 package moves (assertNever -> dsh-util-values) --- package.json | 6 +- packages/bundle/package.json | 2 +- packages/service/package.json | 8 +- packages/sqlite/package.json | 10 +- packages/tool/package.json | 18 +- packages/tool/src/index.ts | 2 +- packages/tool/src/render.ts | 2 +- packages/tree-sitter/package.json | 4 +- pnpm-lock.yaml | 481 ++++++++++++++++-------------- pnpm-workspace.yaml | 21 +- 10 files changed, 299 insertions(+), 255 deletions(-) diff --git a/package.json b/package.json index 0ae4712..274abff 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,9 @@ "devDependencies": { "@deepseek-ai/cordis-plugin-include": "^1.0.6", "@deepseek-ai/cordis-plugin-loader": "^1.0.2", - "@deepseek-ai/dsh-agent": "0.1.0-rc.6", - "@deepseek-ai/dsh-fs-local": "0.1.0-rc.6", - "@deepseek-ai/dsh-session": "0.1.0-rc.6", + "@deepseek-ai/dsh-agent": "0.1.2-alpha.2", + "@deepseek-ai/dsh-fs-local": "0.1.2-alpha.2", + "@deepseek-ai/dsh-session": "0.1.2-alpha.2", "@types/node": "^22.10.0", "@vitest/coverage-v8": "^4.1.8", "typescript": "^5.9.0", diff --git a/packages/bundle/package.json b/packages/bundle/package.json index 84b75b4..313745f 100644 --- a/packages/bundle/package.json +++ b/packages/bundle/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph", - "version": "0.1.6", + "version": "0.1.7", "description": "Structural code intelligence for DeepSeek Harness — gives the agent codegraph and codegraph_index tools to find where a symbol is declared, what calls it, what a change reaches, and how one symbol reaches another, from a tree-sitter index it builds itself", "keywords": [ "dsh", diff --git a/packages/service/package.json b/packages/service/package.json index 738b94f..53b14ee 100644 --- a/packages/service/package.json +++ b/packages/service/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph-service", - "version": "0.1.6", + "version": "0.1.7", "description": "Service Definition for the DeepSeek Harness code-graph capability seam (ctx.codegraph): a graph-store and graph-indexer provider registry with per-query, order-independent selection over eight normalized structural queries", "keywords": [ "dsh", @@ -53,8 +53,8 @@ }, "devDependencies": { "@deepseek-ai/cordis": "^4.0.1", - "@deepseek-ai/dsh-brand": "0.1.0-rc.6", - "@deepseek-ai/dsh-invariants": "0.1.0-rc.6", - "@deepseek-ai/dsh-llm": "0.1.0-rc.6" + "@deepseek-ai/dsh-brand": "0.1.2-alpha.2", + "@deepseek-ai/dsh-invariants": "0.1.2-alpha.2", + "@deepseek-ai/dsh-llm": "0.1.2-alpha.2" } } diff --git a/packages/sqlite/package.json b/packages/sqlite/package.json index f411380..831e99e 100644 --- a/packages/sqlite/package.json +++ b/packages/sqlite/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph-sqlite", - "version": "0.1.6", + "version": "0.1.7", "description": "Read-only SQLite store for the DeepSeek Harness code-graph seam — serves structural queries from the schema-v4 graph at .codegraph/codegraph.db, the same on-disk format the codegraph CLI writes", "keywords": [ "dsh", @@ -52,11 +52,13 @@ "peerDependencies": { "@deepseek-ai/cordis": ">=4.0.1", "@deepseek-ai/dsh-invariants": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-llm": ">=0.1.0-rc.6" + "@deepseek-ai/dsh-llm": ">=0.1.0-rc.6", + "@deepseek-ai/dsh-util-values": ">=0.1.2-alpha.2" }, "devDependencies": { "@deepseek-ai/cordis": "^4.0.1", - "@deepseek-ai/dsh-invariants": "0.1.0-rc.6", - "@deepseek-ai/dsh-llm": "0.1.0-rc.6" + "@deepseek-ai/dsh-invariants": "0.1.2-alpha.2", + "@deepseek-ai/dsh-llm": "0.1.2-alpha.2", + "@deepseek-ai/dsh-util-values": "0.1.2-alpha.2" } } diff --git a/packages/tool/package.json b/packages/tool/package.json index f224674..170a1d0 100644 --- a/packages/tool/package.json +++ b/packages/tool/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph-tool", - "version": "0.1.6", + "version": "0.1.7", "description": "Model-facing codegraph tools for DeepSeek Harness — a read-only codegraph tool with ten structural query operations plus a codegraph_index tool that builds or refreshes the index on its own timeout budget", "keywords": [ "dsh", @@ -58,16 +58,18 @@ "@deepseek-ai/dsh-llm": ">=0.1.0-rc.6", "@deepseek-ai/dsh-system-prompt": ">=0.1.0-rc.6", "@deepseek-ai/dsh-timeout": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-tools": ">=0.1.0-rc.6" + "@deepseek-ai/dsh-tools": ">=0.1.0-rc.6", + "@deepseek-ai/dsh-util-values": ">=0.1.2-alpha.2" }, "devDependencies": { "@deepseek-ai/cordis": "^4.0.1", - "@deepseek-ai/dsh-fs": "0.1.0-rc.6", - "@deepseek-ai/dsh-invariants": "0.1.0-rc.6", - "@deepseek-ai/dsh-llm": "0.1.0-rc.6", - "@deepseek-ai/dsh-system-prompt": "0.1.0-rc.6", - "@deepseek-ai/dsh-timeout": "0.1.0-rc.6", - "@deepseek-ai/dsh-tools": "0.1.0-rc.6", + "@deepseek-ai/dsh-fs": "0.1.2-alpha.2", + "@deepseek-ai/dsh-invariants": "0.1.2-alpha.2", + "@deepseek-ai/dsh-llm": "0.1.2-alpha.2", + "@deepseek-ai/dsh-system-prompt": "0.1.2-alpha.2", + "@deepseek-ai/dsh-timeout": "0.1.2-alpha.2", + "@deepseek-ai/dsh-tools": "0.1.2-alpha.2", + "@deepseek-ai/dsh-util-values": "0.1.2-alpha.2", "dsh-plugin-codegraph-sqlite": "workspace:^", "dsh-plugin-codegraph-tree-sitter": "workspace:^" } diff --git a/packages/tool/src/index.ts b/packages/tool/src/index.ts index 582c2ab..97364f1 100644 --- a/packages/tool/src/index.ts +++ b/packages/tool/src/index.ts @@ -24,7 +24,7 @@ import { CodegraphError } from 'dsh-plugin-codegraph-service' import type { CodegraphNode, CodegraphRelation } from 'dsh-plugin-codegraph-service' import type {} from '@deepseek-ai/dsh-fs' import type {} from '@deepseek-ai/dsh-system-prompt' -import { assertNever } from '@deepseek-ai/dsh-llm' +import { assertNever } from '@deepseek-ai/dsh-util-values' import { MAX_TIMER_DELAY_MS } from '@deepseek-ai/dsh-timeout' import { declarationsOnly, groupByFile, mergeByHits, mergeRelations, taskTerms } from './compose.ts' import type { FileGroup } from './compose.ts' diff --git a/packages/tool/src/render.ts b/packages/tool/src/render.ts index bec17a7..ef29938 100644 --- a/packages/tool/src/render.ts +++ b/packages/tool/src/render.ts @@ -7,7 +7,7 @@ * @module dsh-plugin-codegraph-tool/render */ -import { assertNever } from '@deepseek-ai/dsh-llm' +import { assertNever } from '@deepseek-ai/dsh-util-values' import type { CodegraphToolValue } from './schema.ts' /** A symbol as one scannable line. */ diff --git a/packages/tree-sitter/package.json b/packages/tree-sitter/package.json index 568fcb9..412e8db 100644 --- a/packages/tree-sitter/package.json +++ b/packages/tree-sitter/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph-tree-sitter", - "version": "0.1.6", + "version": "0.1.7", "description": "Self-built code-graph indexer for DeepSeek Harness — parses a workspace with web-tree-sitter and writes schema version 4 to .codegraph/codegraph.db, the same on-disk format the codegraph CLI writes, so no external indexer is required", "keywords": [ "dsh", @@ -59,6 +59,6 @@ }, "devDependencies": { "@deepseek-ai/cordis": "^4.0.1", - "@deepseek-ai/dsh-invariants": "0.1.0-rc.6" + "@deepseek-ai/dsh-invariants": "0.1.2-alpha.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b2ce2d8..ccd24c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,7 +1,7 @@ lockfileVersion: '9.0' settings: - autoInstallPeers: false + autoInstallPeers: true excludeLinksFromLockfile: false importers: @@ -10,19 +10,19 @@ importers: devDependencies: '@deepseek-ai/cordis-plugin-include': specifier: ^1.0.6 - version: 1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2) + version: 1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/cordis-plugin-loader': specifier: ^1.0.2 - version: 1.0.2 + version: 1.0.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-agent': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/dsh-session@0.1.0-rc.6) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(407610d7e33d94ed2f35cda382fd094b) '@deepseek-ai/dsh-fs-local': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6 + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(9ef5f4eae03587e923023838fa56d348) '@deepseek-ai/dsh-session': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6 + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) '@types/node': specifier: ^22.10.0 version: 22.20.1 @@ -37,7 +37,7 @@ importers: version: 5.1.4(typescript@5.9.2)(vite@8.2.1(@types/node@22.20.1)) vitest: specifier: ^4.1.8 - version: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10) + version: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(vite@8.2.1(@types/node@22.20.1)) packages/bundle: dependencies: @@ -60,14 +60,14 @@ importers: specifier: ^4.0.1 version: 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/dsh-brand': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-invariants': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-llm': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) packages/sqlite: dependencies: @@ -82,11 +82,14 @@ importers: specifier: ^4.0.1 version: 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/dsh-invariants': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-llm': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-util-values': + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) packages/tool: dependencies: @@ -101,23 +104,26 @@ importers: specifier: ^4.0.1 version: 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/dsh-fs': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(6889042eed4b1d3d73c9a7bc6cc8e4e3) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))) '@deepseek-ai/dsh-invariants': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-llm': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-system-prompt': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/dsh-timeout': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-tools': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(f8724372086ccc1457fc84e7becee2e0) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(9a0cd7ba1eb8d884c3613e6ef779e635) + '@deepseek-ai/dsh-util-values': + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) dsh-plugin-codegraph-sqlite: specifier: workspace:^ version: link:../sqlite @@ -144,8 +150,8 @@ importers: specifier: ^4.0.1 version: 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/dsh-invariants': - specifier: 0.1.0-rc.6 - version: 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) + specifier: 0.1.2-alpha.2 + version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) packages: @@ -200,138 +206,149 @@ packages: '@deepseek-ai/cosmokit@1.8.2': resolution: {integrity: sha512-muBOKtSrUKU5m/xpq8ZXWL6hQ/jgd4PhU2PqH97bcxIiLEJfNwZOGQEx4t/aS/GgxRAR+ra9pMHPMtTHU4sqqA==} - '@deepseek-ai/dsh-agent@0.1.0-rc.6': - resolution: {integrity: sha512-vtqq2pWTrzn0dKfj5kREZRpP82AwtGjGx9V1lYnKvF+Uc/a8zyWbSvjDE7V1d3YQAQJzs2cWO31hURWDekDXIA==} + '@deepseek-ai/cosmokit@1.8.3': + resolution: {integrity: sha512-qBo+ronVM6Eu2WNVJXi8JcMiqZ19T9BRIpV+5qJUFPXjGH/Z0QKcQMC/IZJ7L394YTOtJgcovbk9qP0w2GsBXQ==} + + '@deepseek-ai/dsh-agent@0.1.2-alpha.2': + resolution: {integrity: sha512-K7B5XSQ7byB/IoNGj7n+lBgHCpVPJqEPvpGoHKc1dBS8fPo2yYp/ALFag4YOfrXVP3jQ9A8di20BbvIlp79SoA==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.6 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.6 - '@deepseek-ai/dsh-session': ^0.1.0-rc.6 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.6 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.6 - - '@deepseek-ai/dsh-attachment@0.1.0-rc.6': - resolution: {integrity: sha512-3P6N17NQ8jqSQGzeCs+svCIqArU8oq0YmgEAo+axN9aVuUDferWU4DLRSX59UGpmyldX4LQn81toA+c+DqMcHg==} + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-llm': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-session': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-session-projection': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-typert-protocol': ^0.1.2-alpha.2 + + '@deepseek-ai/dsh-brand@0.1.2-alpha.2': + resolution: {integrity: sha512-sWFbShCe8LNLuqD3gdQeneUGxFtZ/rywe6Tmi2eteBDubecHnf04XurtF38Epno42bnNTMYWuKwt1cihcbHL3A==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.6 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-brand@0.1.0-rc.6': - resolution: {integrity: sha512-E8j9Nby24qP4rfrdcfc7bpt1CHpGT3tYmycOJJkEOH4ptIdT1m2ro9nmnSd5CWYukTr64A77vjm2WGqHRI92UA==} + '@deepseek-ai/dsh-code-runtime@0.1.0-rc.8': + resolution: {integrity: sha512-6ZKyEE7dHH1UkKe5b0lg18Byww/7ocZyrNMVjAoUWEWp5i96Brf9Eavu9q3zepBMDMZJErCfV0pyt7KDhBJSig==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 + '@deepseek-ai/dsh-invariants': ^0.1.0-rc.8 - '@deepseek-ai/dsh-code-runtime@0.1.0-rc.6': - resolution: {integrity: sha512-aw8D4IOeMo11A3uxQeE4LFoW3bvaQnVkGFqqtS+lsINDARrOCJHXLUgecoKpys+Lc5erZZ4UQDnymJmL4OCcKA==} + '@deepseek-ai/dsh-fs-local@0.1.2-alpha.2': + resolution: {integrity: sha512-IIpZAxGw8wr+xpZQhvuHB9JtUeE6V03e45njfFah1eRl0miaHV5CxCRlFwkMLrow5I2zCCsCPPmdEaouGxTGSA==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-fs': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-fs-local@0.1.0-rc.6': - resolution: {integrity: sha512-zP0OW474s7tvzEVQnBBTGL6Jrv/YyQXt4nswIbc3Aqr9JyHSfhZ/5IJoipZqfYXLS3ISWMhrF2npRg8L1NGsIQ==} + '@deepseek-ai/dsh-fs@0.1.2-alpha.2': + resolution: {integrity: sha512-wx5n0QS5rfZ2LPVocMNfuOUh0RYH/QuLoCEy+qI8U3nKmSZ8GSTASURLg+0pVxckHpLElo38U+S/lkLxRK1rpQ==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-fs': ^0.1.0-rc.6 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-brand': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-llm': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-sandbox': ^0.1.2-alpha.2 + + '@deepseek-ai/dsh-invariants@0.1.2-alpha.2': + resolution: {integrity: sha512-1ewUeCzUHbaqhtW5rG1/eujIXXzy2VhwvMa16RpcTuJp5qcU1NtAf/+COkmvI7qtkyNY61vWg1Ez5qL9hKIUpQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-fs@0.1.0-rc.6': - resolution: {integrity: sha512-OTkwb4QsZgmjtA/8ZEPh1FapmrBr3N989/G4Wmo1JkAvKbMxkYty6LxjckOawTTz7GJTfUoZCrw9uopDfIMMNw==} + '@deepseek-ai/dsh-llm@0.1.2-alpha.2': + resolution: {integrity: sha512-ip6yMxwHugxQm4VCbwX/FDnlTeeBM9VBkIn0+74ityQy7Z3yKREJ1Ov8Z04l4G3duRzeGRsQ4ztOFZ01oNfKIw==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.6 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.6 - '@deepseek-ai/dsh-sandbox': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants@0.1.0-rc.6': - resolution: {integrity: sha512-WfEfOi99a4cpOugRAHTBSTnesLieu3ist1q9PXDXFBHX++K1rAl9+sB7YrdnbB8LH0UOY532gS9xJUYU6w0SLw==} + '@deepseek-ai/dsh-sandbox@0.1.0-rc.8': + resolution: {integrity: sha512-dJpy5p/KjKkHG9AnMKU4+/ilj/4DCglsq3kof/jhIwtsZJCix07TEXP9vV8LCv4fU8af7cK3antXw4eVMqkwuQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 + '@deepseek-ai/dsh-invariants': ^0.1.0-rc.8 + '@deepseek-ai/dsh-llm': ^0.1.0-rc.8 + '@deepseek-ai/dsh-session': ^0.1.0-rc.8 - '@deepseek-ai/dsh-llm@0.1.0-rc.6': - resolution: {integrity: sha512-kuFGC8bHlzGTwlRxQhXjf3CYWl8M4NzH+EYIkrW8rri4iMc9W53xrdvkil5No/DUlMm8g1u7GdeiWYFy0TMvtA==} + '@deepseek-ai/dsh-scope@0.1.0-rc.8': + resolution: {integrity: sha512-/o+PxkVV2zUy9lYlMFr4TWSb+ESW4DE+fI891yIbsLzOJdFgfbmmLpGrlWgnz8/unIGJZxjeXdwyppV04Z277Q==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-attachment': ^0.1.0-rc.6 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.6 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-timeout': ^0.1.0-rc.6 + '@deepseek-ai/dsh-invariants': ^0.1.0-rc.8 - '@deepseek-ai/dsh-sandbox@0.1.0-rc.6': - resolution: {integrity: sha512-SLZjuivQQKHTx4H7xlsjraEGGMIEA8BYOwvlm/9uZBrBrlttMU+d8Ne6QYpDcOwIEubL8mvrWRg8j3rtY3lVyA==} + '@deepseek-ai/dsh-session-projection@0.1.2-alpha.2': + resolution: {integrity: sha512-E5NYRAOQwiYYu56WSHTlnI2MkyqznA4ePlOdOQvpF97a7ZG2BkRfflwvQ5NHIPv8FABemoSCGMiI3/0GSfqvBg==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.6 - '@deepseek-ai/dsh-session': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-session': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-scope@0.1.0-rc.6': - resolution: {integrity: sha512-UlDLV4syLoJinNg9imhXrSAHrdaTa5Ff8gg46rzjFJGPUOhAk3DZff0hryT5OhrBi0A5Tj92qVpg2pRVvxnUzQ==} + '@deepseek-ai/dsh-session@0.1.2-alpha.2': + resolution: {integrity: sha512-RfikXscYTDXDr7CD7C/8oGJZaH8Egclj7pmXRtd90QcB5L8RIQ7069xrHZjds8OjNrFo69qQwNK3gYLUVZy9PA==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-session@0.1.0-rc.6': - resolution: {integrity: sha512-8tu8I6VWC7050GAUXWhcEWQw4pakALQc8TlhKr52m7Y4+kIKeNt3FBgP86PaGPBtpK0p5zUPRQNkFpzZbBdxyw==} + '@deepseek-ai/dsh-system-prompt@0.1.2-alpha.2': + resolution: {integrity: sha512-qT9PZEVMAbszsg1UVUvuovfWFS5unjy08KV0rnOc89TJCgkb2CnlknSyIQs0lXc/UiqT6ZQ59i4ClAFrXhxfxQ==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.6 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.6 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.6 - '@deepseek-ai/dsh-typert-protocol': ^0.1.0-rc.6 - - '@deepseek-ai/dsh-system-prompt@0.1.0-rc.6': - resolution: {integrity: sha512-E7g+XChh4q4/wX++v56z1pV4SA1Rtz42xkznLPPi9FlXrrzJxwHMOUzBZ9Rz3Y1kLhQ++HJG3ZatmNx3rjFilg==} + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-llm': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.2 + + '@deepseek-ai/dsh-timeout@0.1.2-alpha.2': + resolution: {integrity: sha512-8q5cd55aMoOvrPaqSws/3xiyzHhs1bfjdtAs4YHWimQgMd+yMrDnlu8i+zFOkWoSc0A2wPkXcCYR8xogl4gerA==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.6 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-timeout@0.1.0-rc.6': - resolution: {integrity: sha512-CUean0fAnfsJVszFEip7PsU/S26W+JfDFfsza2dCtlw8n6xlkbHA9Gjxdk2aTwqDGCgXEPkRW7mYkdJ0n6FR7w==} + '@deepseek-ai/dsh-tools@0.1.2-alpha.2': + resolution: {integrity: sha512-trk0fkmCDp64pqdcr8u7rCcRrwNi+93FKuznTnCD+YsPGFygcSG/6n+Wsh4+9A6oI1fM4/Ecq6Baa9vq1sNhJg==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-agent': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-code-runtime': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-llm': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-session': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-user-approval': ^0.1.2-alpha.2 + + '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.2': + resolution: {integrity: sha512-U3j/usWHRllaJMdTr4GuVkkUciHWyq01mvMtWeGT+RY2hb+ysTxeuLEiV0Lh5EyVScgFdDLbe/GtTZ2OkGsGwQ==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-tools@0.1.0-rc.6': - resolution: {integrity: sha512-Tu08EPK3JyK0iNjH4FGzu/1uADynNSS6SmwOLdfytUN0YNqwNuKFSt2OJUg19famNlTgy992DcHfDu0T+gLXFg==} + '@deepseek-ai/dsh-user-approval@0.1.0-rc.8': + resolution: {integrity: sha512-6SFCxp7dgNFEyzQIcs5i9C+5djgXsAeV0iKmZUCLlcIeVM1chcCMHyGcoXlw8yyB14qFMrMs+TPvhvpu2WWxAw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.6 - '@deepseek-ai/dsh-code-runtime': ^0.1.0-rc.6 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.6 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.6 - '@deepseek-ai/dsh-session': ^0.1.0-rc.6 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.6 - '@deepseek-ai/dsh-user-approval': ^0.1.0-rc.6 - - '@deepseek-ai/dsh-typert-protocol@0.1.0-rc.6': - resolution: {integrity: sha512-weWzN8r01YCkoDCAM7BsKw2YhRrD4zL8N2SAZu9hovYtXSq8xHXsP4Zh8RLYIlYcuotjyff/6hic+0TJPd14YA==} + '@deepseek-ai/dsh-agent': ^0.1.0-rc.8 + '@deepseek-ai/dsh-brand': ^0.1.0-rc.8 + '@deepseek-ai/dsh-invariants': ^0.1.0-rc.8 + '@deepseek-ai/dsh-llm': ^0.1.0-rc.8 + '@deepseek-ai/dsh-scope': ^0.1.0-rc.8 + '@deepseek-ai/dsh-session': ^0.1.0-rc.8 + '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.8 + + '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.2': + resolution: {integrity: sha512-03WVzlgLErJRRGMqaMdx5ufEoN3Scpdsnd0f8vXMhcbeEzKZ61lbI8z/m6ZttM/LhpzPALuFtDc5u+N5LFP8Fg==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-user-approval@0.1.0-rc.6': - resolution: {integrity: sha512-9rnkSDGOpu2XUeGwbPeTzVUTFWTND1PMPM5L/ZQPptV5yyZlQiNxM2rCC6OdL+ZVerwxEqrRhZIQn/KVtQfKag==} + '@deepseek-ai/dsh-util-values@0.1.2-alpha.2': + resolution: {integrity: sha512-ZyZHTqGQ/8S5ZYflTkuiZGPxhkuHa9Uy5G+teEmnmnkhiN/UVPGQvI//CXRNmxpTKjfx+qcVVmr5x6bohplsQg==} peerDependencies: - '@deepseek-ai/cordis': ^4.0.1 - '@deepseek-ai/dsh-agent': ^0.1.0-rc.6 - '@deepseek-ai/dsh-brand': ^0.1.0-rc.6 - '@deepseek-ai/dsh-invariants': ^0.1.0-rc.6 - '@deepseek-ai/dsh-llm': ^0.1.0-rc.6 - '@deepseek-ai/dsh-scope': ^0.1.0-rc.6 - '@deepseek-ai/dsh-session': ^0.1.0-rc.6 - '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.6 + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 '@deepseek-ai/schemastery@3.18.1': resolution: {integrity: sha512-Qn0FCSwCQnpnj6SB31I6i2sIKgKWnkbJM8O0EU91Gv2UsYVvtZTl6IA0sCwk2e2MZf5S8w5hpq9QkeVvK9qwxg==} + '@deepseek-ai/schemastery@3.18.2': + resolution: {integrity: sha512-njDtZsznjYxok7KLLlHOPyuv2efdWVbSflAHgztSfbMsg+CVraEoRe2DjOCgClYv3ZCSm7WXoaUkbB/+RY7tWQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -896,6 +913,7 @@ packages: '@vitest/ui': 4.1.10 happy-dom: '*' jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -933,6 +951,9 @@ packages: engines: {node: '>=8'} hasBin: true + zod@4.5.4: + resolution: {integrity: sha512-sC95tT5iHHH9gtpj6A81kh+NEaRAUFN+qlUPDUbRfOMvNf5QCBqsb3WgvnpVtK5Y+4UfA6KqufotuTvMGiTlsA==} + snapshots: '@babel/helper-string-parser@7.29.7': {} @@ -950,29 +971,17 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@deepseek-ai/cordis-plugin-include@1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2)': - dependencies: - '@deepseek-ai/cordis-plugin-loader': 1.0.2 - '@deepseek-ai/cosmokit': 1.8.2 - js-yaml: 4.3.1 - '@deepseek-ai/cordis-plugin-include@1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.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) '@deepseek-ai/cosmokit': 1.8.2 js-yaml: 4.3.1 - optional: true - - '@deepseek-ai/cordis-plugin-loader@1.0.2': - dependencies: - '@deepseek-ai/cosmokit': 1.8.2 '@deepseek-ai/cordis-plugin-loader@1.0.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/cosmokit': 1.8.2 - optional: true '@deepseek-ai/cordis@4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2)': dependencies: @@ -984,134 +993,157 @@ snapshots: '@deepseek-ai/cosmokit@1.8.2': {} - '@deepseek-ai/dsh-agent@0.1.0-rc.6(@deepseek-ai/dsh-session@0.1.0-rc.6)': - dependencies: - '@deepseek-ai/dsh-session': 0.1.0-rc.6 + '@deepseek-ai/cosmokit@1.8.3': {} - '@deepseek-ai/dsh-agent@0.1.0-rc.6(b0514d7a320728b6d8f5a31eb3960e10)': + '@deepseek-ai/dsh-agent@0.1.2-alpha.2(407610d7e33d94ed2f35cda382fd094b)': 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.6(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.6(6fd26f59436a18b115f326d6060415e6) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - - '@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session-projection': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + + '@deepseek-ai/dsh-brand@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-code-runtime@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-code-runtime@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-fs-local@0.1.2-alpha.2(9ef5f4eae03587e923023838fa56d348)': 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.6(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-fs': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/schemastery': 3.18.2 + koffi: 3.1.5 - '@deepseek-ai/dsh-fs-local@0.1.0-rc.6': + '@deepseek-ai/dsh-fs@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))))': dependencies: - '@deepseek-ai/schemastery': 3.18.1 - koffi: 3.1.5 + '@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.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-sandbox': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))) - '@deepseek-ai/dsh-fs@0.1.0-rc.6(6889042eed4b1d3d73c9a7bc6cc8e4e3)': + '@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.6(6fd26f59436a18b115f326d6060415e6)) + '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)': + '@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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-brand': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-timeout': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-util-crypto': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-util-values': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/schemastery': 3.18.2 + zod: 4.5.4 + transitivePeerDependencies: + - '@deepseek-ai/dsh-invariants' - '@deepseek-ai/dsh-llm@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-brand': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-timeout': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-sandbox@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-session@0.1.0-rc.6(6fd26f59436a18b115f326d6060415e6))': + '@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session': 0.1.0-rc.6(6fd26f59436a18b115f326d6060415e6) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-session-projection@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + zod: 4.5.4 - '@deepseek-ai/dsh-session@0.1.0-rc.6': {} + '@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-util-values': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + transitivePeerDependencies: + - '@deepseek-ai/dsh-invariants' - '@deepseek-ai/dsh-session@0.1.0-rc.6(6fd26f59436a18b115f326d6060415e6)': + '@deepseek-ai/dsh-system-prompt@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-typert-protocol': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-system-prompt@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-timeout@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-tools@0.1.2-alpha.2(9a0cd7ba1eb8d884c3613e6ef779e635)': + 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.2-alpha.2(407610d7e33d94ed2f35cda382fd094b) + '@deepseek-ai/dsh-brand': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-code-runtime': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-user-approval': 0.1.0-rc.8(be8bae1b41bf0b90b2fae7f9f4061b30) + '@deepseek-ai/dsh-util-values': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/schemastery': 3.18.2 + + '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-tools@0.1.0-rc.6(f8724372086ccc1457fc84e7becee2e0)': + '@deepseek-ai/dsh-user-approval@0.1.0-rc.8(be8bae1b41bf0b90b2fae7f9f4061b30)': 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.6(b0514d7a320728b6d8f5a31eb3960e10) - '@deepseek-ai/dsh-code-runtime': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.6(6fd26f59436a18b115f326d6060415e6) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.6(dbdaba06c174c5e30e3a58edf3cc27a9) + '@deepseek-ai/dsh-agent': 0.1.2-alpha.2(407610d7e33d94ed2f35cda382fd094b) + '@deepseek-ai/dsh-brand': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/schemastery': 3.18.1 - '@deepseek-ai/dsh-typert-protocol@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-user-approval@0.1.0-rc.6(dbdaba06c174c5e30e3a58edf3cc27a9)': + '@deepseek-ai/dsh-util-values@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.6(b0514d7a320728b6d8f5a31eb3960e10) - '@deepseek-ai/dsh-brand': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-scope': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.0-rc.6(6fd26f59436a18b115f326d6060415e6) - '@deepseek-ai/dsh-system-prompt': 0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-attachment@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-brand@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-timeout@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-scope@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.0-rc.6(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery@3.18.1': dependencies: '@deepseek-ai/cosmokit': 1.8.2 '@standard-schema/spec': 1.1.0 + '@deepseek-ai/schemastery@3.18.2': + dependencies: + '@deepseek-ai/cosmokit': 1.8.3 + '@standard-schema/spec': 1.1.0 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/sourcemap-codec@1.4.14': {} @@ -1241,7 +1273,7 @@ snapshots: obug: 2.1.4 std-env: 4.2.0 tinyrainbow: 3.1.1 - vitest: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10) + vitest: 4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(vite@8.2.1(@types/node@22.20.1)) '@vitest/expect@4.1.10': dependencies: @@ -1520,7 +1552,7 @@ snapshots: '@types/node': 22.20.1 fsevents: 2.3.3 - vitest@4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10): + vitest@4.1.10(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(vite@8.2.1(@types/node@22.20.1)): dependencies: '@vitest/expect': 4.1.10 '@vitest/mocker': 4.1.10(vite@8.2.1(@types/node@22.20.1)) @@ -1546,18 +1578,7 @@ snapshots: '@types/node': 22.20.1 '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) transitivePeerDependencies: - - '@vitejs/devtools' - - esbuild - - jiti - - less - msw - - sass - - sass-embedded - - stylus - - sugarss - - terser - - tsx - - yaml web-tree-sitter@0.25.10: {} @@ -1565,3 +1586,5 @@ snapshots: dependencies: siginfo: 2.0.0 stackback: 0.0.2 + + zod@4.5.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b876b72..cba0fd3 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,7 +1,24 @@ packages: - 'packages/*' -autoInstallPeers: false +autoInstallPeers: true allowBuilds: - koffi: set this to true or false + koffi: true onlyBuiltDependencies: - koffi +minimumReleaseAgeExclude: + - '@deepseek-ai/dsh-util-values@0.1.2-alpha.2' + - '@deepseek-ai/cosmokit@1.8.3' + - '@deepseek-ai/dsh-agent@0.1.2-alpha.2' + - '@deepseek-ai/dsh-brand@0.1.2-alpha.2' + - '@deepseek-ai/dsh-fs-local@0.1.2-alpha.2' + - '@deepseek-ai/dsh-fs@0.1.2-alpha.2' + - '@deepseek-ai/dsh-invariants@0.1.2-alpha.2' + - '@deepseek-ai/dsh-llm@0.1.2-alpha.2' + - '@deepseek-ai/dsh-session-projection@0.1.2-alpha.2' + - '@deepseek-ai/dsh-session@0.1.2-alpha.2' + - '@deepseek-ai/dsh-system-prompt@0.1.2-alpha.2' + - '@deepseek-ai/dsh-timeout@0.1.2-alpha.2' + - '@deepseek-ai/dsh-tools@0.1.2-alpha.2' + - '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.2' + - '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.2' + - '@deepseek-ai/schemastery@3.18.2' From 56d10a8657f1d323c8a779f32d0584615430f148 Mon Sep 17 00:00:00 2001 From: HuanLinOTO Date: Tue, 1 Sep 2026 22:46:46 +0800 Subject: [PATCH 3/5] feat: read the codegraph CLI's schema-v8 index alongside tree-sitter's v4 The codegraph CLI >=1.5 stamps schema v8 (new project_metadata and name_segment_vocab tables, reshaped unresolved_refs, extra nodes columns); the store's queries touch only nodes/edges/files/nodes_fts, which v8 keeps in the exact shape v4 had. Gate accepts {4, 8}; status now reports the version actually recorded on disk instead of the support ceiling. --- CLAUDE.md | 2 +- packages/bundle/package.json | 2 +- packages/service/package.json | 2 +- packages/sqlite/README.md | 2 +- packages/sqlite/package.json | 2 +- packages/sqlite/src/database.ts | 18 ++++++++++++------ packages/sqlite/src/index.ts | 4 ++-- packages/sqlite/src/queries.ts | 6 ++++-- packages/sqlite/tests/store.spec.ts | 14 ++++++++++++++ packages/tool/package.json | 2 +- packages/tree-sitter/package.json | 2 +- 11 files changed, 39 insertions(+), 17 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 3082e35..78dc620 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -40,7 +40,7 @@ Five packages under `packages/*`, split along a strict seam so that adding a new **Call resolution favors a missing edge over a wrong one.** Order: import-resolved-to-an-indexed-file wins; else a workspace-unique name wins; else no edge is emitted and the site is recorded as unresolved. A wrong `callers` result sends the model to edit the wrong file; a missing one just falls back to text search. -**The on-disk format is an external contract, not ours to change freely.** `sqlite`/`tree-sitter` read and write schema v4 at `/.codegraph/codegraph.db`, the same path/format as the `@colbymchenry/codegraph` CLI. Compatibility here is deliberate — don't add fields or change the schema without checking that CLI-built graphs still load and vice versa. +**The on-disk format is an external contract, not ours to change freely.** `tree-sitter` writes schema v4 and `sqlite` reads both v4 and v8 at `/.codegraph/codegraph.db`, the same path/format as the `@colbymchenry/codegraph` CLI — the CLI ≥1.5 stamps v8, whose `nodes`/`edges`/`files`/`nodes_fts` keep every column the store reads (its reshaped `unresolved_refs`, `project_metadata`, and `name_segment_vocab` are unread by any store query). Compatibility here is deliberate — don't add fields or change the schema without checking that CLI-built graphs still load and vice versa. **A `DefinitionRule.kind` is not always fixed per rule.** For a grammar where one node type conflates several seam kinds by an inspectable value or keyword rather than a distinct node type per kind — Zig's `variable_declaration` (struct/enum/constant/variable, by the value's shape), Kotlin's `class_declaration` (class/interface/enum, by a bare keyword), Swift's `class_declaration`/`property_declaration` (struct/class/enum; field/constant/variable) — `LANGUAGE_TABLE` carries a placeholder `kind`, and `extractFile` (`extract.ts`) computes the real one per node instead, keyed on `spec.language === '…' && node.type === '…'`. Also worth knowing before adding a new grammar: some bundled `tree-sitter-wasms` grammars bind zero fields at all (verified via `Language.fieldCount`/`fieldNameForId`, not guessed) — Kotlin is one — which forces name/callee resolution onto positional child access and a language-guarded bypass of `callFunctionField` in `extractFile`'s call-handling branch (see `kotlinDeclaredName`/`kotlinCallee`); always check `fieldCount` for a new grammar before assuming `childForFieldName` will work at all. diff --git a/packages/bundle/package.json b/packages/bundle/package.json index 313745f..9ba549b 100644 --- a/packages/bundle/package.json +++ b/packages/bundle/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph", - "version": "0.1.7", + "version": "0.1.8", "description": "Structural code intelligence for DeepSeek Harness — gives the agent codegraph and codegraph_index tools to find where a symbol is declared, what calls it, what a change reaches, and how one symbol reaches another, from a tree-sitter index it builds itself", "keywords": [ "dsh", diff --git a/packages/service/package.json b/packages/service/package.json index 53b14ee..6c44aad 100644 --- a/packages/service/package.json +++ b/packages/service/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph-service", - "version": "0.1.7", + "version": "0.1.8", "description": "Service Definition for the DeepSeek Harness code-graph capability seam (ctx.codegraph): a graph-store and graph-indexer provider registry with per-query, order-independent selection over eight normalized structural queries", "keywords": [ "dsh", diff --git a/packages/sqlite/README.md b/packages/sqlite/README.md index cd7ccf7..717f93f 100644 --- a/packages/sqlite/README.md +++ b/packages/sqlite/README.md @@ -1,6 +1,6 @@ # dsh-plugin-codegraph-sqlite -Read-only SQLite store for the code-graph seam. Serves structural queries from the schema-v4 graph at `.codegraph/codegraph.db` — the same on-disk format the `codegraph` CLI writes — opening it read-only and gating on its recorded format version. +Read-only SQLite store for the code-graph seam. Serves structural queries from the graph at `.codegraph/codegraph.db` — the same on-disk format the `codegraph` CLI writes — opening it read-only and gating on its recorded format version. Reads schema v4 (what `dsh-plugin-codegraph-tree-sitter` builds) and schema v8 (what the `codegraph` CLI ≥1.5 writes); the queries touch only the tables both versions share. Part of **[dsh-plugin-codegraph](https://github.com/CC19990113/dsh-plugin-codegraph)** — structural code intelligence for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness). diff --git a/packages/sqlite/package.json b/packages/sqlite/package.json index 831e99e..b0099b9 100644 --- a/packages/sqlite/package.json +++ b/packages/sqlite/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph-sqlite", - "version": "0.1.7", + "version": "0.1.8", "description": "Read-only SQLite store for the DeepSeek Harness code-graph seam — serves structural queries from the schema-v4 graph at .codegraph/codegraph.db, the same on-disk format the codegraph CLI writes", "keywords": [ "dsh", diff --git a/packages/sqlite/src/database.ts b/packages/sqlite/src/database.ts index c2203a5..0101a2f 100644 --- a/packages/sqlite/src/database.ts +++ b/packages/sqlite/src/database.ts @@ -22,11 +22,17 @@ import { CodegraphError } from 'dsh-plugin-codegraph-service' export const DATABASE_RELATIVE_PATH = '.codegraph/codegraph.db' /** - * The single on-disk format version this store reads. The format is an external specification, so - * support is a fixed fact rather than a deployment choice; a database at any other version fails - * loud instead of being read through assumptions that no longer hold. + * The on-disk format versions this store reads. The format is an external specification, so support + * is a fixed fact rather than a deployment choice; a database at any other version fails loud + * instead of being read through assumptions that no longer hold. + * + * Two writers share this file, one per version: `dsh-plugin-codegraph-tree-sitter` builds schema v4, + * and the `@colbymchenry/codegraph` CLI (≥1.5, whose daemon may own the same index) stamps schema + * v8 — its `nodes`/`edges`/`files`/`nodes_fts` tables keep every column the store reads and only add + * ones the store never touches (`unresolved_refs` is reshaped, `project_metadata` and + * `name_segment_vocab` are new, and no store query reads any of the three). */ -export const SUPPORTED_FORMAT_VERSION = 4 +export const SUPPORTED_FORMAT_VERSIONS: readonly number[] = [4, 8] /** * The absolute path of a project root's graph database. @@ -108,10 +114,10 @@ export function openGraph(projectRoot: string): DatabaseSync { db.close() throw error } - if (version !== SUPPORTED_FORMAT_VERSION) { + if (!SUPPORTED_FORMAT_VERSIONS.includes(version)) { db.close() throw new CodegraphError( - `the code graph at "${path}" is format version ${version}; this store reads version ${SUPPORTED_FORMAT_VERSION}`, + `the code graph at "${path}" is format version ${version}; this store reads version ${SUPPORTED_FORMAT_VERSIONS.join(' or ')}`, 'CODEGRAPH_UNSUPPORTED_FORMAT', ) } diff --git a/packages/sqlite/src/index.ts b/packages/sqlite/src/index.ts index b4c96ab..1098dd7 100644 --- a/packages/sqlite/src/index.ts +++ b/packages/sqlite/src/index.ts @@ -24,7 +24,7 @@ import type { CodegraphStoreProvider, } from 'dsh-plugin-codegraph-service' import type {} from 'dsh-plugin-codegraph-service' -import { assertNever } from '@deepseek-ai/dsh-llm' +import { assertNever } from '@deepseek-ai/dsh-util-values' import { GraphPool, databasePath } from './database.ts' import { files, impact, node, relations, search, status, trace } from './queries.ts' import { walkImpact, walkTrace } from './traverse.ts' @@ -32,7 +32,7 @@ import { walkImpact, walkTrace } from './traverse.ts' export { DATABASE_RELATIVE_PATH, GraphPool, - SUPPORTED_FORMAT_VERSION, + SUPPORTED_FORMAT_VERSIONS, databasePath, openGraph, } from './database.ts' diff --git a/packages/sqlite/src/queries.ts b/packages/sqlite/src/queries.ts index 1cdcd30..f642c40 100644 --- a/packages/sqlite/src/queries.ts +++ b/packages/sqlite/src/queries.ts @@ -30,7 +30,6 @@ import type { CodegraphTraceRequest, CodegraphTraceResult, } from 'dsh-plugin-codegraph-service' -import { SUPPORTED_FORMAT_VERSION } from './database.ts' import type { ImpactWalk, TraceWalk } from './traverse.ts' import { toEdge, toFile, toNode } from './rows.ts' import type { NodeRow } from './rows.ts' @@ -379,7 +378,10 @@ export function status(db: DatabaseSync, projectRoot: string, maxStalenessChecks nodeCount: scalar(db, 'SELECT count(*) AS c FROM nodes'), edgeCount: scalar(db, 'SELECT count(*) AS c FROM edges'), languages, - formatVersion: SUPPORTED_FORMAT_VERSION, + // The version actually recorded on disk, not the store's support ceiling: two writers stamp + // different supported versions (tree-sitter writes v4, the CLI writes v8), so echoing the + // database's own row is the honest answer. + formatVersion: scalar(db, 'SELECT MAX(version) AS version FROM schema_versions'), indexedAt: indexedAt === 0 ? null : indexedAt, staleFileCount, staleFileCountTruncated, diff --git a/packages/sqlite/tests/store.spec.ts b/packages/sqlite/tests/store.spec.ts index 05435fc..a8f771e 100644 --- a/packages/sqlite/tests/store.spec.ts +++ b/packages/sqlite/tests/store.spec.ts @@ -73,6 +73,20 @@ describe('graph database', () => { ) }) + it('serves a schema-v8 database the codegraph CLI wrote', async () => { + // The CLI (≥1.5) stamps v8: same nodes/edges/files/fts shape the store reads, plus columns and + // tables (unresolved_refs reshaped, project_metadata, name_segment_vocab) no store query touches. + // The fixture's stand-in keeps the shared tables and stamps v8, which is exactly the surface the + // store's SQL reaches. + const root = await project({ ...SEED, formatVersion: 8 }) + const db = openGraph(root) + const summary = status(db, root, 100) + expect(summary.formatVersion).toBe(8) + expect(search(db, { operation: 'search', ...AT(root), query: 'helper', limit: 5 }).nodes.length) + .toBeGreaterThan(0) + db.close() + }) + it('refuses a graph that records no version at all', async () => { const root = await project({}) const db = new DatabaseSync(databasePath(root)) diff --git a/packages/tool/package.json b/packages/tool/package.json index 170a1d0..d4a4b4d 100644 --- a/packages/tool/package.json +++ b/packages/tool/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph-tool", - "version": "0.1.7", + "version": "0.1.8", "description": "Model-facing codegraph tools for DeepSeek Harness — a read-only codegraph tool with ten structural query operations plus a codegraph_index tool that builds or refreshes the index on its own timeout budget", "keywords": [ "dsh", diff --git a/packages/tree-sitter/package.json b/packages/tree-sitter/package.json index 412e8db..774be24 100644 --- a/packages/tree-sitter/package.json +++ b/packages/tree-sitter/package.json @@ -1,6 +1,6 @@ { "name": "dsh-plugin-codegraph-tree-sitter", - "version": "0.1.7", + "version": "0.1.8", "description": "Self-built code-graph indexer for DeepSeek Harness — parses a workspace with web-tree-sitter and writes schema version 4 to .codegraph/codegraph.db, the same on-disk format the codegraph CLI writes, so no external indexer is required", "keywords": [ "dsh", From bd8a353bb3251ff7c92816ee22c709695f05f22e Mon Sep 17 00:00:00 2001 From: HuanLinOTO Date: Thu, 3 Sep 2026 20:47:10 +0800 Subject: [PATCH 4/5] adapt to dsh v0.1.2-rc.1: drop invariant companions, session header isSeeded, bump deps --- CLAUDE.md | 2 +- package.json | 6 +- packages/service/package.json | 12 +- packages/service/src/invariant.ts | 30 -- packages/service/tests/invariant.spec.ts | 30 -- packages/sqlite/package.json | 14 +- packages/sqlite/src/invariant.ts | 31 -- packages/sqlite/tests/invariant.spec.ts | 30 -- packages/tool/package.json | 28 +- packages/tool/src/invariant.ts | 30 -- packages/tool/tests/invariant.spec.ts | 30 -- packages/tool/tests/live-tool.spec.ts | 2 +- .../tool/tests/loader-composition.spec.ts | 2 +- packages/tool/tests/tool-codegraph.spec.ts | 8 +- packages/tree-sitter/package.json | 10 +- packages/tree-sitter/src/invariant.ts | 33 --- packages/tree-sitter/tests/invariant.spec.ts | 30 -- pnpm-lock.yaml | 280 ++++++++---------- pnpm-workspace.yaml | 12 + tsconfig.base.json | 6 +- 20 files changed, 169 insertions(+), 457 deletions(-) delete mode 100644 packages/service/src/invariant.ts delete mode 100644 packages/service/tests/invariant.spec.ts delete mode 100644 packages/sqlite/src/invariant.ts delete mode 100644 packages/sqlite/tests/invariant.spec.ts delete mode 100644 packages/tool/src/invariant.ts delete mode 100644 packages/tool/tests/invariant.spec.ts delete mode 100644 packages/tree-sitter/src/invariant.ts delete mode 100644 packages/tree-sitter/tests/invariant.spec.ts diff --git a/CLAUDE.md b/CLAUDE.md index 78dc620..397fd1a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -44,7 +44,7 @@ Five packages under `packages/*`, split along a strict seam so that adding a new **A `DefinitionRule.kind` is not always fixed per rule.** For a grammar where one node type conflates several seam kinds by an inspectable value or keyword rather than a distinct node type per kind — Zig's `variable_declaration` (struct/enum/constant/variable, by the value's shape), Kotlin's `class_declaration` (class/interface/enum, by a bare keyword), Swift's `class_declaration`/`property_declaration` (struct/class/enum; field/constant/variable) — `LANGUAGE_TABLE` carries a placeholder `kind`, and `extractFile` (`extract.ts`) computes the real one per node instead, keyed on `spec.language === '…' && node.type === '…'`. Also worth knowing before adding a new grammar: some bundled `tree-sitter-wasms` grammars bind zero fields at all (verified via `Language.fieldCount`/`fieldNameForId`, not guessed) — Kotlin is one — which forces name/callee resolution onto positional child access and a language-guarded bypass of `callFunctionField` in `extractFile`'s call-handling branch (see `kotlinDeclaredName`/`kotlinCallee`); always check `fieldCount` for a new grammar before assuming `childForFieldName` will work at all. -**Every package (except `bundle`) ships an `invariant.ts` companion**, exported at the `/invariant` subpath. It's a Cordis plugin (`name`, `inject: ['invariants']`, `apply(ctx)`) that registers a package-owned runtime invariant with `ctx.invariants` when that optional service is present in the host. Follow the existing shape (see any `packages/*/src/invariant.ts`) when adding one for a new package: `PACKAGE_NAME` constant, an `InvariantInstaller`, `apply` returning the registration's disposer. +**No package ships an `invariant.ts` companion.** Upstream v0.1.2-rc.1 tightened the invariant rule (AGENTS.md): publish `./invariant` only when independent observations can diverge; empty installers and service-presence checks are invalid. All four packages' former companions were empty installers, so the `./invariant` subpath exports, `src/invariant.ts` files, and `@deepseek-ai/dsh-invariants` peer/dev deps were removed in the rc.1 adaptation. Don't reintroduce one without a real divergent observation. **Tests resolve to live `src/`, never to built `lib/`.** `tsconfig.base.json`'s `paths` map (e.g. `dsh-plugin-codegraph-service` → `./packages/service/src`) is read by `vite-tsconfig-paths` in `vitest.config.ts` and takes priority over each package's `exports`. This exists so a test never accidentally loads a second copy of a module singleton through a stale `lib/` build — don't add `include`/`files` to `tsconfig.base.json`, it would narrow that match-all facade and break resolution for other packages' tests. diff --git a/package.json b/package.json index 274abff..2a02a58 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,9 @@ "devDependencies": { "@deepseek-ai/cordis-plugin-include": "^1.0.6", "@deepseek-ai/cordis-plugin-loader": "^1.0.2", - "@deepseek-ai/dsh-agent": "0.1.2-alpha.2", - "@deepseek-ai/dsh-fs-local": "0.1.2-alpha.2", - "@deepseek-ai/dsh-session": "0.1.2-alpha.2", + "@deepseek-ai/dsh-agent": "0.1.2-rc.1", + "@deepseek-ai/dsh-fs-local": "0.1.2-rc.1", + "@deepseek-ai/dsh-session": "0.1.2-rc.1", "@types/node": "^22.10.0", "@vitest/coverage-v8": "^4.1.8", "typescript": "^5.9.0", diff --git a/packages/service/package.json b/packages/service/package.json index 6c44aad..5bcaf86 100644 --- a/packages/service/package.json +++ b/packages/service/package.json @@ -31,10 +31,6 @@ "types": "./lib/index.d.ts", "default": "./lib/index.js" }, - "./invariant": { - "types": "./lib/invariant.d.ts", - "default": "./lib/invariant.js" - }, "./package.json": "./package.json" }, "files": [ @@ -48,13 +44,11 @@ "peerDependencies": { "@deepseek-ai/cordis": ">=4.0.1", "@deepseek-ai/dsh-brand": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-invariants": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-llm": ">=0.1.0-rc.6" + "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1" }, "devDependencies": { "@deepseek-ai/cordis": "^4.0.1", - "@deepseek-ai/dsh-brand": "0.1.2-alpha.2", - "@deepseek-ai/dsh-invariants": "0.1.2-alpha.2", - "@deepseek-ai/dsh-llm": "0.1.2-alpha.2" + "@deepseek-ai/dsh-brand": "0.1.2-rc.1", + "@deepseek-ai/dsh-llm": "0.1.2-rc.1" } } diff --git a/packages/service/src/invariant.ts b/packages/service/src/invariant.ts deleted file mode 100644 index a796151..0000000 --- a/packages/service/src/invariant.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Package-owned invariant companion for `dsh-plugin-codegraph-service`. - * @module dsh-plugin-codegraph-service/invariant - */ - -/* jscpd:ignore-start */ -import type { Context } from '@deepseek-ai/cordis' -import type { InvariantInstaller } from '@deepseek-ai/dsh-invariants' - -const PACKAGE_NAME = 'dsh-plugin-codegraph-service' - -/** Cordis companion plugin name. */ -export const name = 'codegraph-invariant' -/** Service required before the companion can reserve package ownership. */ -export const inject = ['invariants'] - -/** - * No runtime invariant: store reservations are private state resolved per query, and the seam emits - * no lifecycle event and exposes no enumerable snapshot to compare an owned relation against. - */ -const install: InvariantInstaller = () => {} - -/** - * Register this package's invariant companion. - * @param ctx - Cordis context carrying the invariant service. - * @returns the installed registration's disposer after setup succeeds. - */ -export const apply = (ctx: Context): Promise<() => void> => - Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install)) -/* jscpd:ignore-end */ diff --git a/packages/service/tests/invariant.spec.ts b/packages/service/tests/invariant.spec.ts deleted file mode 100644 index ea13f27..0000000 --- a/packages/service/tests/invariant.spec.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { describe, expect, it, vi } from 'vitest' -import { Context } from '@deepseek-ai/cordis' -import { InvariantRegistry } from '@deepseek-ai/dsh-invariants' -import { apply, inject, name } from '../src/invariant.ts' - -const PACKAGE_NAME = 'dsh-plugin-codegraph-service' - -async function seam(): Promise { - const ctx = new Context() - await ctx.plugin(InvariantRegistry) - return ctx -} - -describe('service invariant companion', () => { - it('names itself and declares its invariants dependency', () => { - expect(name).toBe('codegraph-invariant') - expect(inject).toEqual(['invariants']) - }) - - it('registers the package invariant and hands back a working disposer', async () => { - const ctx = await seam() - const registerSpy = vi.spyOn(ctx.invariants, 'register') - - const dispose = await apply(ctx) - - expect(registerSpy).toHaveBeenCalledWith(PACKAGE_NAME, expect.any(Function)) - expect(dispose).toBeTypeOf('function') - await dispose() - }) -}) diff --git a/packages/sqlite/package.json b/packages/sqlite/package.json index b0099b9..8d27b9c 100644 --- a/packages/sqlite/package.json +++ b/packages/sqlite/package.json @@ -31,10 +31,6 @@ "types": "./lib/index.d.ts", "default": "./lib/index.js" }, - "./invariant": { - "types": "./lib/invariant.d.ts", - "default": "./lib/invariant.js" - }, "./package.json": "./package.json" }, "files": [ @@ -51,14 +47,12 @@ }, "peerDependencies": { "@deepseek-ai/cordis": ">=4.0.1", - "@deepseek-ai/dsh-invariants": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-llm": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-util-values": ">=0.1.2-alpha.2" + "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1", + "@deepseek-ai/dsh-util-values": ">=0.1.2-rc.1" }, "devDependencies": { "@deepseek-ai/cordis": "^4.0.1", - "@deepseek-ai/dsh-invariants": "0.1.2-alpha.2", - "@deepseek-ai/dsh-llm": "0.1.2-alpha.2", - "@deepseek-ai/dsh-util-values": "0.1.2-alpha.2" + "@deepseek-ai/dsh-llm": "0.1.2-rc.1", + "@deepseek-ai/dsh-util-values": "0.1.2-rc.1" } } diff --git a/packages/sqlite/src/invariant.ts b/packages/sqlite/src/invariant.ts deleted file mode 100644 index 71e9bd7..0000000 --- a/packages/sqlite/src/invariant.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Package-owned invariant companion for `dsh-plugin-codegraph-sqlite`. - * @module dsh-plugin-codegraph-sqlite/invariant - */ - -/* jscpd:ignore-start */ -import type { Context } from '@deepseek-ai/cordis' -import type { InvariantInstaller } from '@deepseek-ai/dsh-invariants' - -const PACKAGE_NAME = 'dsh-plugin-codegraph-sqlite' - -/** Cordis companion plugin name. */ -export const name = 'codegraph-sqlite-invariant' -/** Service required before the companion can reserve package ownership. */ -export const inject = ['invariants'] - -/** - * No runtime invariant: the store owns no mutable harness data and emits no event. Its connection - * pool is private, and the graph it reads is a file another tool writes, so there is no owned - * relation between two harness-visible values to compare. - */ -const install: InvariantInstaller = () => {} - -/** - * Register this package's invariant companion. - * @param ctx - Cordis context carrying the invariant service. - * @returns the installed registration's disposer after setup succeeds. - */ -export const apply = (ctx: Context): Promise<() => void> => - Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install)) -/* jscpd:ignore-end */ diff --git a/packages/sqlite/tests/invariant.spec.ts b/packages/sqlite/tests/invariant.spec.ts deleted file mode 100644 index eda7447..0000000 --- a/packages/sqlite/tests/invariant.spec.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { describe, expect, it, vi } from 'vitest' -import { Context } from '@deepseek-ai/cordis' -import { InvariantRegistry } from '@deepseek-ai/dsh-invariants' -import { apply, inject, name } from '../src/invariant.ts' - -const PACKAGE_NAME = 'dsh-plugin-codegraph-sqlite' - -async function seam(): Promise { - const ctx = new Context() - await ctx.plugin(InvariantRegistry) - return ctx -} - -describe('sqlite invariant companion', () => { - it('names itself and declares its invariants dependency', () => { - expect(name).toBe('codegraph-sqlite-invariant') - expect(inject).toEqual(['invariants']) - }) - - it('registers the package invariant and hands back a working disposer', async () => { - const ctx = await seam() - const registerSpy = vi.spyOn(ctx.invariants, 'register') - - const dispose = await apply(ctx) - - expect(registerSpy).toHaveBeenCalledWith(PACKAGE_NAME, expect.any(Function)) - expect(dispose).toBeTypeOf('function') - await dispose() - }) -}) diff --git a/packages/tool/package.json b/packages/tool/package.json index d4a4b4d..64848bc 100644 --- a/packages/tool/package.json +++ b/packages/tool/package.json @@ -33,10 +33,6 @@ "types": "./lib/index.d.ts", "default": "./lib/index.js" }, - "./invariant": { - "types": "./lib/invariant.d.ts", - "default": "./lib/invariant.js" - }, "./package.json": "./package.json" }, "files": [ @@ -53,23 +49,21 @@ }, "peerDependencies": { "@deepseek-ai/cordis": ">=4.0.1", - "@deepseek-ai/dsh-fs": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-invariants": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-llm": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-system-prompt": ">=0.1.0-rc.6", + "@deepseek-ai/dsh-fs": ">=0.1.2-rc.1", + "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1", + "@deepseek-ai/dsh-system-prompt": ">=0.1.2-rc.1", "@deepseek-ai/dsh-timeout": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-tools": ">=0.1.0-rc.6", - "@deepseek-ai/dsh-util-values": ">=0.1.2-alpha.2" + "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1", + "@deepseek-ai/dsh-util-values": ">=0.1.2-rc.1" }, "devDependencies": { "@deepseek-ai/cordis": "^4.0.1", - "@deepseek-ai/dsh-fs": "0.1.2-alpha.2", - "@deepseek-ai/dsh-invariants": "0.1.2-alpha.2", - "@deepseek-ai/dsh-llm": "0.1.2-alpha.2", - "@deepseek-ai/dsh-system-prompt": "0.1.2-alpha.2", - "@deepseek-ai/dsh-timeout": "0.1.2-alpha.2", - "@deepseek-ai/dsh-tools": "0.1.2-alpha.2", - "@deepseek-ai/dsh-util-values": "0.1.2-alpha.2", + "@deepseek-ai/dsh-fs": "0.1.2-rc.1", + "@deepseek-ai/dsh-llm": "0.1.2-rc.1", + "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1", + "@deepseek-ai/dsh-timeout": "0.1.2-rc.1", + "@deepseek-ai/dsh-tools": "0.1.2-rc.1", + "@deepseek-ai/dsh-util-values": "0.1.2-rc.1", "dsh-plugin-codegraph-sqlite": "workspace:^", "dsh-plugin-codegraph-tree-sitter": "workspace:^" } diff --git a/packages/tool/src/invariant.ts b/packages/tool/src/invariant.ts deleted file mode 100644 index 51fa862..0000000 --- a/packages/tool/src/invariant.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Package-owned invariant companion for `dsh-plugin-codegraph-tool`. - * @module dsh-plugin-codegraph-tool/invariant - */ - -/* jscpd:ignore-start */ -import type { Context } from '@deepseek-ai/cordis' -import type { InvariantInstaller } from '@deepseek-ai/dsh-invariants' - -const PACKAGE_NAME = 'dsh-plugin-codegraph-tool' - -/** Cordis companion plugin name. */ -export const name = 'tool-codegraph-invariant' -/** Service required before the companion can reserve package ownership. */ -export const inject = ['invariants'] - -/** - * No runtime invariant: this stateless adapter contributes one tool and prompt section, while graph - * query results and source retrieval remain owned by the codegraph and filesystem seams it composes. - */ -const install: InvariantInstaller = () => {} - -/** - * Register this package's invariant companion. - * @param ctx - Cordis context carrying the invariant service. - * @returns the installed registration's disposer after setup succeeds. - */ -export const apply = (ctx: Context): Promise<() => void> => - Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install)) -/* jscpd:ignore-end */ diff --git a/packages/tool/tests/invariant.spec.ts b/packages/tool/tests/invariant.spec.ts deleted file mode 100644 index cfd06e0..0000000 --- a/packages/tool/tests/invariant.spec.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { describe, expect, it, vi } from 'vitest' -import { Context } from '@deepseek-ai/cordis' -import { InvariantRegistry } from '@deepseek-ai/dsh-invariants' -import { apply, inject, name } from '../src/invariant.ts' - -const PACKAGE_NAME = 'dsh-plugin-codegraph-tool' - -async function seam(): Promise { - const ctx = new Context() - await ctx.plugin(InvariantRegistry) - return ctx -} - -describe('tool invariant companion', () => { - it('names itself and declares its invariants dependency', () => { - expect(name).toBe('tool-codegraph-invariant') - expect(inject).toEqual(['invariants']) - }) - - it('registers the package invariant and hands back a working disposer', async () => { - const ctx = await seam() - const registerSpy = vi.spyOn(ctx.invariants, 'register') - - const dispose = await apply(ctx) - - expect(registerSpy).toHaveBeenCalledWith(PACKAGE_NAME, expect.any(Function)) - expect(dispose).toBeTypeOf('function') - await dispose() - }) -}) diff --git a/packages/tool/tests/live-tool.spec.ts b/packages/tool/tests/live-tool.spec.ts index 8ebd7b7..f492fe1 100644 --- a/packages/tool/tests/live-tool.spec.ts +++ b/packages/tool/tests/live-tool.spec.ts @@ -78,7 +78,7 @@ describe.skipIf(!present)('tool-codegraph against a live external index', () => const scope = ctx.plugin(() => {}) const id = SessionId('codegraph-live') - const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd: WORKSPACE }) + const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd: WORKSPACE, isSeeded: false }) const owner: Agent = { id, options: {}, diff --git a/packages/tool/tests/loader-composition.spec.ts b/packages/tool/tests/loader-composition.spec.ts index 037309c..7ecd6f6 100644 --- a/packages/tool/tests/loader-composition.spec.ts +++ b/packages/tool/tests/loader-composition.spec.ts @@ -63,7 +63,7 @@ const SEED = { function agent(ctx: Context, cwd: string): Agent { const scope = ctx.plugin(() => {}) const id = SessionId('codegraph-loader-agent') - const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd }) + const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd, isSeeded: false }) const value: Agent = { id, options: {}, diff --git a/packages/tool/tests/tool-codegraph.spec.ts b/packages/tool/tests/tool-codegraph.spec.ts index ac727d7..c2eb622 100644 --- a/packages/tool/tests/tool-codegraph.spec.ts +++ b/packages/tool/tests/tool-codegraph.spec.ts @@ -459,7 +459,7 @@ describe('the tool plugin', () => { function agent(ctx: Context, cwd: string): Agent { const scope = ctx.plugin(() => {}) const id = SessionId('codegraph-unit') - const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd }) + const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd, isSeeded: false }) const value: Agent = { id, options: {}, session, inbox: new Inbox(session, { inserted: () => {}, discarded: () => {}, claimed: () => {} }), @@ -655,7 +655,7 @@ describe('status against a root no store claims', () => { function owner(ctx: Context, cwd: string): Agent { const scope = ctx.plugin(() => {}) const id = SessionId('codegraph-unindexed') - const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd }) + const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd, isSeeded: false }) const value: Agent = { id, options: {}, session, inbox: new Inbox(session, { inserted: () => {}, discarded: () => {}, claimed: () => {} }), @@ -736,7 +736,7 @@ describe('answers a store returns when nothing resolves', () => { function owner(ctx: Context, cwd: string): Agent { const scope = ctx.plugin(() => {}) const id = SessionId('codegraph-empty') - const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd }) + const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd, isSeeded: false }) const value: Agent = { id, options: {}, session, inbox: new Inbox(session, { inserted: () => {}, discarded: () => {}, claimed: () => {} }), @@ -828,7 +828,7 @@ describe('the last shapes a trace answer can take', () => { await ctx.plugin(ToolCodegraph) const scope = ctx.plugin(() => {}) const id = SessionId('codegraph-no-origin') - const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd: root }) + const session = Session.create(id, [], { version: SESSION_FORMAT_VERSION, id, createdAt: 0, cwd: root, isSeeded: false }) const value: Agent = { id, options: {}, session, inbox: new Inbox(session, { inserted: () => {}, discarded: () => {}, claimed: () => {} }), diff --git a/packages/tree-sitter/package.json b/packages/tree-sitter/package.json index 774be24..b5af88c 100644 --- a/packages/tree-sitter/package.json +++ b/packages/tree-sitter/package.json @@ -33,10 +33,6 @@ "types": "./lib/index.d.ts", "default": "./lib/index.js" }, - "./invariant": { - "types": "./lib/invariant.d.ts", - "default": "./lib/invariant.js" - }, "./package.json": "./package.json" }, "files": [ @@ -54,11 +50,9 @@ "web-tree-sitter": "^0.25.10" }, "peerDependencies": { - "@deepseek-ai/cordis": ">=4.0.1", - "@deepseek-ai/dsh-invariants": ">=0.1.0-rc.6" + "@deepseek-ai/cordis": ">=4.0.1" }, "devDependencies": { - "@deepseek-ai/cordis": "^4.0.1", - "@deepseek-ai/dsh-invariants": "0.1.2-alpha.2" + "@deepseek-ai/cordis": "^4.0.1" } } diff --git a/packages/tree-sitter/src/invariant.ts b/packages/tree-sitter/src/invariant.ts deleted file mode 100644 index 6a9ca48..0000000 --- a/packages/tree-sitter/src/invariant.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Package-owned invariant companion for `dsh-plugin-codegraph-tree-sitter`. - * @module dsh-plugin-codegraph-tree-sitter/invariant - */ - -/* jscpd:ignore-start */ -import type { Context } from '@deepseek-ai/cordis' -import type { InvariantInstaller } from '@deepseek-ai/dsh-invariants' - -const PACKAGE_NAME = 'dsh-plugin-codegraph-tree-sitter' - -/** Cordis companion plugin name. */ -export const name = 'codegraph-tree-sitter-invariant' -/** Service required before the companion can reserve package ownership. */ -export const inject = ['invariants'] - -/** - * No runtime invariant: an indexing run is a one-shot, caller-awaited operation, and the optional file - * watcher this package can start keeps its per-root state (`Watcher` instances, debounce timers, - * pending-path sets) private to the plugin's own closure — never registered on `ctx` or exposed to - * another plugin. There is no cross-plugin relation here for an invariant to describe, only - * process-local bookkeeping the plugin's own `ctx.effect` cleanup already tears down on unload. - */ -const install: InvariantInstaller = () => {} - -/** - * Register this package's invariant companion. - * @param ctx - Cordis context carrying the invariant service. - * @returns the installed registration's disposer after setup succeeds. - */ -export const apply = (ctx: Context): Promise<() => void> => - Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install)) -/* jscpd:ignore-end */ diff --git a/packages/tree-sitter/tests/invariant.spec.ts b/packages/tree-sitter/tests/invariant.spec.ts deleted file mode 100644 index 000d990..0000000 --- a/packages/tree-sitter/tests/invariant.spec.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { describe, expect, it, vi } from 'vitest' -import { Context } from '@deepseek-ai/cordis' -import { InvariantRegistry } from '@deepseek-ai/dsh-invariants' -import { apply, inject, name } from '../src/invariant.ts' - -const PACKAGE_NAME = 'dsh-plugin-codegraph-tree-sitter' - -async function seam(): Promise { - const ctx = new Context() - await ctx.plugin(InvariantRegistry) - return ctx -} - -describe('tree-sitter invariant companion', () => { - it('names itself and declares its invariants dependency', () => { - expect(name).toBe('codegraph-tree-sitter-invariant') - expect(inject).toEqual(['invariants']) - }) - - it('registers the package invariant and hands back a working disposer', async () => { - const ctx = await seam() - const registerSpy = vi.spyOn(ctx.invariants, 'register') - - const dispose = await apply(ctx) - - expect(registerSpy).toHaveBeenCalledWith(PACKAGE_NAME, expect.any(Function)) - expect(dispose).toBeTypeOf('function') - await dispose() - }) -}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ccd24c5..19e3191 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,14 +15,14 @@ importers: specifier: ^1.0.2 version: 1.0.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-agent': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(407610d7e33d94ed2f35cda382fd094b) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(7509b9b8290b0b3321e85585ea1cc71f) '@deepseek-ai/dsh-fs-local': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(9ef5f4eae03587e923023838fa56d348) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))))) '@deepseek-ai/dsh-session': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) '@types/node': specifier: ^22.10.0 version: 22.20.1 @@ -60,14 +60,11 @@ importers: specifier: ^4.0.1 version: 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/dsh-brand': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-invariants': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-llm': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) packages/sqlite: dependencies: @@ -81,15 +78,12 @@ importers: '@deepseek-ai/cordis': specifier: ^4.0.1 version: 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-llm': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-util-values': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) packages/tool: dependencies: @@ -104,26 +98,23 @@ importers: specifier: ^4.0.1 version: 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) '@deepseek-ai/dsh-fs': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))) - '@deepseek-ai/dsh-invariants': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))) '@deepseek-ai/dsh-llm': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-system-prompt': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/dsh-timeout': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-tools': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(9a0cd7ba1eb8d884c3613e6ef779e635) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(8d439b6fd88e6dd40183c5330683b6d8) '@deepseek-ai/dsh-util-values': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + specifier: 0.1.2-rc.1 + version: 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) dsh-plugin-codegraph-sqlite: specifier: workspace:^ version: link:../sqlite @@ -149,9 +140,6 @@ importers: '@deepseek-ai/cordis': specifier: ^4.0.1 version: 4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2) - '@deepseek-ai/dsh-invariants': - specifier: 0.1.2-alpha.2 - version: 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) packages: @@ -209,23 +197,22 @@ packages: '@deepseek-ai/cosmokit@1.8.3': resolution: {integrity: sha512-qBo+ronVM6Eu2WNVJXi8JcMiqZ19T9BRIpV+5qJUFPXjGH/Z0QKcQMC/IZJ7L394YTOtJgcovbk9qP0w2GsBXQ==} - '@deepseek-ai/dsh-agent@0.1.2-alpha.2': - resolution: {integrity: sha512-K7B5XSQ7byB/IoNGj7n+lBgHCpVPJqEPvpGoHKc1dBS8fPo2yYp/ALFag4YOfrXVP3jQ9A8di20BbvIlp79SoA==} + '@deepseek-ai/dsh-agent@0.1.2-rc.1': + resolution: {integrity: sha512-lfaqN34vUCWvbn1kJVHrhfJ6Dvt1HDHCm33ZCpmKkl07/5q6FxWqVv6rOdVX5QnM/9xz/uYiN0nQwUtBg4+Skg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-llm': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-session': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-session-projection': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-typert-protocol': ^0.1.2-alpha.2 - - '@deepseek-ai/dsh-brand@0.1.2-alpha.2': - resolution: {integrity: sha512-sWFbShCe8LNLuqD3gdQeneUGxFtZ/rywe6Tmi2eteBDubecHnf04XurtF38Epno42bnNTMYWuKwt1cihcbHL3A==} + '@deepseek-ai/dsh-invariants': ^0.1.2-rc.1 + '@deepseek-ai/dsh-llm': ^0.1.2-rc.1 + '@deepseek-ai/dsh-scope': ^0.1.2-rc.1 + '@deepseek-ai/dsh-session': ^0.1.2-rc.1 + '@deepseek-ai/dsh-session-projection': ^0.1.2-rc.1 + '@deepseek-ai/dsh-system-prompt': ^0.1.2-rc.1 + '@deepseek-ai/dsh-typert-protocol': ^0.1.2-rc.1 + + '@deepseek-ai/dsh-brand@0.1.2-rc.1': + resolution: {integrity: sha512-y2RHIag3kzLdY8kTBuSUSTsKzWPscJrysNObXTiNM7stXLpa3jXpshsB1caqGzNx50vYcmHeN1gFVECgx3NZHg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 '@deepseek-ai/dsh-code-runtime@0.1.0-rc.8': resolution: {integrity: sha512-6ZKyEE7dHH1UkKe5b0lg18Byww/7ocZyrNMVjAoUWEWp5i96Brf9Eavu9q3zepBMDMZJErCfV0pyt7KDhBJSig==} @@ -233,29 +220,28 @@ packages: '@deepseek-ai/cordis': ^4.0.1 '@deepseek-ai/dsh-invariants': ^0.1.0-rc.8 - '@deepseek-ai/dsh-fs-local@0.1.2-alpha.2': - resolution: {integrity: sha512-IIpZAxGw8wr+xpZQhvuHB9JtUeE6V03e45njfFah1eRl0miaHV5CxCRlFwkMLrow5I2zCCsCPPmdEaouGxTGSA==} + '@deepseek-ai/dsh-fs-local@0.1.2-rc.1': + resolution: {integrity: sha512-tFHHKtD11tIk3FpkWF0vBKdX05zKbwqXQW9LhreA5hErCKEsulUsQLamf+kF1D8fuKqa8Yb+yWQIfYS93cy39w==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-fs': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-fs': ^0.1.2-rc.1 - '@deepseek-ai/dsh-fs@0.1.2-alpha.2': - resolution: {integrity: sha512-wx5n0QS5rfZ2LPVocMNfuOUh0RYH/QuLoCEy+qI8U3nKmSZ8GSTASURLg+0pVxckHpLElo38U+S/lkLxRK1rpQ==} + '@deepseek-ai/dsh-fs@0.1.2-rc.1': + resolution: {integrity: sha512-BSIB2j8WvATQ1mf7wUIpHPftDwbzz246qp6aUpLGSzBWGmLBdX3O1oDhyNV1YhgPmDQlwovac2odcAb62tuDdw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-brand': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-llm': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-sandbox': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-brand': ^0.1.2-rc.1 + '@deepseek-ai/dsh-invariants': ^0.1.2-rc.1 + '@deepseek-ai/dsh-llm': ^0.1.2-rc.1 + '@deepseek-ai/dsh-sandbox': ^0.1.2-rc.1 '@deepseek-ai/dsh-invariants@0.1.2-alpha.2': resolution: {integrity: sha512-1ewUeCzUHbaqhtW5rG1/eujIXXzy2VhwvMa16RpcTuJp5qcU1NtAf/+COkmvI7qtkyNY61vWg1Ez5qL9hKIUpQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-llm@0.1.2-alpha.2': - resolution: {integrity: sha512-ip6yMxwHugxQm4VCbwX/FDnlTeeBM9VBkIn0+74ityQy7Z3yKREJ1Ov8Z04l4G3duRzeGRsQ4ztOFZ01oNfKIw==} + '@deepseek-ai/dsh-llm@0.1.2-rc.1': + resolution: {integrity: sha512-7VYsha5AXsVLnsAwYJffWXz9bwUbElw8i5N8tlTSdai9Bupk3sMbsotzPf8ZbsuGAxQYErahMwQwgGEu4qZO6g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 @@ -280,44 +266,42 @@ packages: '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 '@deepseek-ai/dsh-session': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-session@0.1.2-alpha.2': - resolution: {integrity: sha512-RfikXscYTDXDr7CD7C/8oGJZaH8Egclj7pmXRtd90QcB5L8RIQ7069xrHZjds8OjNrFo69qQwNK3gYLUVZy9PA==} + '@deepseek-ai/dsh-session@0.1.2-rc.1': + resolution: {integrity: sha512-jRGNPTbQcvIx1F2MVmmkoiHLgpC3Btqo1wkl/3JDLlOWRVWKOuaC+5fQiMrFPOYfno6YiX/c2UvmA0td8qB92w==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-scope': ^0.1.2-rc.1 - '@deepseek-ai/dsh-system-prompt@0.1.2-alpha.2': - resolution: {integrity: sha512-qT9PZEVMAbszsg1UVUvuovfWFS5unjy08KV0rnOc89TJCgkb2CnlknSyIQs0lXc/UiqT6ZQ59i4ClAFrXhxfxQ==} + '@deepseek-ai/dsh-system-prompt@0.1.2-rc.1': + resolution: {integrity: sha512-7W93PZKIk4CHvjZGgLIxrrEKpk+6t8nQXje1vKR5vG73dfXH0t1MJ5WWH/fngadYc7c6KzM84ihQ66tJqJqyNQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-llm': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.2 + '@deepseek-ai/dsh-invariants': ^0.1.2-rc.1 + '@deepseek-ai/dsh-llm': ^0.1.2-rc.1 + '@deepseek-ai/dsh-scope': ^0.1.2-rc.1 - '@deepseek-ai/dsh-timeout@0.1.2-alpha.2': - resolution: {integrity: sha512-8q5cd55aMoOvrPaqSws/3xiyzHhs1bfjdtAs4YHWimQgMd+yMrDnlu8i+zFOkWoSc0A2wPkXcCYR8xogl4gerA==} + '@deepseek-ai/dsh-timeout@0.1.2-rc.1': + resolution: {integrity: sha512-llz11yxWeJB8suKCa6hRLjNBWVaPn3Fbd0XoBS0bkZLhPFzO1mDorx/XMca2GhI7XF9A86CURQcDt+aGjjvqJA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-tools@0.1.2-alpha.2': - resolution: {integrity: sha512-trk0fkmCDp64pqdcr8u7rCcRrwNi+93FKuznTnCD+YsPGFygcSG/6n+Wsh4+9A6oI1fM4/Ecq6Baa9vq1sNhJg==} + '@deepseek-ai/dsh-tools@0.1.2-rc.1': + resolution: {integrity: sha512-W9kUio00s7WbM8kEwniyd4hfb3CeUxVczsjXbOcKtakfiTywNLeyRWkpx2fvwRAH2rBfg3qCgczVfS0DOw1csg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-agent': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-code-runtime': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-llm': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-session': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-user-approval': ^0.1.2-alpha.2 - - '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.2': - resolution: {integrity: sha512-U3j/usWHRllaJMdTr4GuVkkUciHWyq01mvMtWeGT+RY2hb+ysTxeuLEiV0Lh5EyVScgFdDLbe/GtTZ2OkGsGwQ==} + '@deepseek-ai/dsh-agent': ^0.1.2-rc.1 + '@deepseek-ai/dsh-code-runtime': ^0.1.2-rc.1 + '@deepseek-ai/dsh-invariants': ^0.1.2-rc.1 + '@deepseek-ai/dsh-llm': ^0.1.2-rc.1 + '@deepseek-ai/dsh-scope': ^0.1.2-rc.1 + '@deepseek-ai/dsh-session': ^0.1.2-rc.1 + '@deepseek-ai/dsh-system-prompt': ^0.1.2-rc.1 + '@deepseek-ai/dsh-user-approval': ^0.1.2-rc.1 + + '@deepseek-ai/dsh-typert-protocol@0.1.2-rc.1': + resolution: {integrity: sha512-vBWD0NpriPd96ltbWaAw+iKeWFIEjiAcCWYtmqEcV1Ms+FaV02usjjm7LCmhSQhMZpBSBc7EZUX0spGlpjI1bA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 '@deepseek-ai/dsh-user-approval@0.1.0-rc.8': resolution: {integrity: sha512-6SFCxp7dgNFEyzQIcs5i9C+5djgXsAeV0iKmZUCLlcIeVM1chcCMHyGcoXlw8yyB14qFMrMs+TPvhvpu2WWxAw==} @@ -331,17 +315,15 @@ packages: '@deepseek-ai/dsh-session': ^0.1.0-rc.8 '@deepseek-ai/dsh-system-prompt': ^0.1.0-rc.8 - '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.2': - resolution: {integrity: sha512-03WVzlgLErJRRGMqaMdx5ufEoN3Scpdsnd0f8vXMhcbeEzKZ61lbI8z/m6ZttM/LhpzPALuFtDc5u+N5LFP8Fg==} + '@deepseek-ai/dsh-util-crypto@0.1.2-rc.1': + resolution: {integrity: sha512-gE8FznQ1hkknw9QMrHNSlm3UEyRYuj3MLVvlJ6NyH1kmOsdjnbrVbSs+Pn72k2oIV4Fiyu3Umg0sLznUEcsiXw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 - '@deepseek-ai/dsh-util-values@0.1.2-alpha.2': - resolution: {integrity: sha512-ZyZHTqGQ/8S5ZYflTkuiZGPxhkuHa9Uy5G+teEmnmnkhiN/UVPGQvI//CXRNmxpTKjfx+qcVVmr5x6bohplsQg==} + '@deepseek-ai/dsh-util-values@0.1.2-rc.1': + resolution: {integrity: sha512-FQdgoK+KYVR0pBQb9fTsajvGb3gzUxEzJQEYnFOt+Qdwc4nkxJOPwJJdIvXuqvZaQ33DaOoqpnpcr2p5HpLu4g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.2 '@deepseek-ai/schemastery@3.18.1': resolution: {integrity: sha512-Qn0FCSwCQnpnj6SB31I6i2sIKgKWnkbJM8O0EU91Gv2UsYVvtZTl6IA0sCwk2e2MZf5S8w5hpq9QkeVvK9qwxg==} @@ -985,7 +967,7 @@ snapshots: '@deepseek-ai/cordis@4.0.1(@deepseek-ai/cordis-plugin-include@1.0.6)(@deepseek-ai/cordis-plugin-loader@1.0.2)': dependencies: - '@deepseek-ai/cosmokit': 1.8.2 + '@deepseek-ai/cosmokit': 1.8.3 '@standard-schema/spec': 1.1.0 optionalDependencies: '@deepseek-ai/cordis-plugin-include': 1.0.6(@deepseek-ai/cordis-plugin-loader@1.0.2)(@deepseek-ai/cordis@4.0.1) @@ -995,144 +977,134 @@ snapshots: '@deepseek-ai/cosmokit@1.8.3': {} - '@deepseek-ai/dsh-agent@0.1.2-alpha.2(407610d7e33d94ed2f35cda382fd094b)': + '@deepseek-ai/dsh-agent@0.1.2-rc.1(7509b9b8290b0b3321e85585ea1cc71f)': 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.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-llm': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-session-projection': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))) - '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session-projection': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-typert-protocol': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-brand@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-brand@0.1.2-rc.1(@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.2-alpha.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-code-runtime@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-fs-local@0.1.2-alpha.2(9ef5f4eae03587e923023838fa56d348)': + '@deepseek-ai/dsh-fs-local@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-fs@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))) - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-fs': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))) '@deepseek-ai/schemastery': 3.18.2 koffi: 3.1.5 - '@deepseek-ai/dsh-fs@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))))': + '@deepseek-ai/dsh-fs@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-brand@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-sandbox': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-llm': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-sandbox': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))) '@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2 - '@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-llm@0.1.2-rc.1(@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.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-timeout': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-util-crypto': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-util-values': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-timeout': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-typert-protocol': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-util-crypto': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-util-values': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.2 zod: 4.5.4 - transitivePeerDependencies: - - '@deepseek-ai/dsh-invariants' - '@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))': + '@deepseek-ai/dsh-sandbox@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-llm': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-session': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) '@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session-projection@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))': + '@deepseek-ai/dsh-session-projection@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-session': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) zod: 4.5.4 - '@deepseek-ai/dsh-session@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-brand': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) + '@deepseek-ai/dsh-llm': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-util-values': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - transitivePeerDependencies: - - '@deepseek-ai/dsh-invariants' + '@deepseek-ai/dsh-util-values': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-system-prompt@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))': + '@deepseek-ai/dsh-system-prompt@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-llm': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-timeout@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-timeout@0.1.2-rc.1(@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.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-tools@0.1.2-alpha.2(9a0cd7ba1eb8d884c3613e6ef779e635)': + '@deepseek-ai/dsh-tools@0.1.2-rc.1(8d439b6fd88e6dd40183c5330683b6d8)': 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.2-alpha.2(407610d7e33d94ed2f35cda382fd094b) - '@deepseek-ai/dsh-brand': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-agent': 0.1.2-rc.1(7509b9b8290b0b3321e85585ea1cc71f) + '@deepseek-ai/dsh-brand': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-code-runtime': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-llm': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-user-approval': 0.1.0-rc.8(be8bae1b41bf0b90b2fae7f9f4061b30) - '@deepseek-ai/dsh-util-values': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-session': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-user-approval': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.2-rc.1(7509b9b8290b0b3321e85585ea1cc71f))(@deepseek-ai/dsh-brand@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-system-prompt@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))) + '@deepseek-ai/dsh-util-values': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-typert-protocol@0.1.2-rc.1(@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.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-user-approval@0.1.0-rc.8(be8bae1b41bf0b90b2fae7f9f4061b30)': + '@deepseek-ai/dsh-user-approval@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-agent@0.1.2-rc.1(7509b9b8290b0b3321e85585ea1cc71f))(@deepseek-ai/dsh-brand@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-session@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))))(@deepseek-ai/dsh-system-prompt@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.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.2-alpha.2(407610d7e33d94ed2f35cda382fd094b) - '@deepseek-ai/dsh-brand': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-agent': 0.1.2-rc.1(7509b9b8290b0b3321e85585ea1cc71f) + '@deepseek-ai/dsh-brand': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-invariants': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) + '@deepseek-ai/dsh-llm': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/dsh-scope': 0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)) - '@deepseek-ai/dsh-session': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) - '@deepseek-ai/schemastery': 3.18.1 + '@deepseek-ai/dsh-session': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-rc.1(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-llm@0.1.2-rc.1(@deepseek-ai/cordis@4.0.1))(@deepseek-ai/dsh-scope@0.1.0-rc.8(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))) + '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-util-crypto@0.1.2-rc.1(@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.2-alpha.2(@deepseek-ai/cordis@4.0.1) - '@deepseek-ai/dsh-util-values@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1)(@deepseek-ai/dsh-invariants@0.1.2-alpha.2(@deepseek-ai/cordis@4.0.1))': + '@deepseek-ai/dsh-util-values@0.1.2-rc.1(@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.2-alpha.2(@deepseek-ai/cordis@4.0.1) '@deepseek-ai/schemastery@3.18.1': dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index cba0fd3..268954a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -22,3 +22,15 @@ minimumReleaseAgeExclude: - '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.2' - '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.2' - '@deepseek-ai/schemastery@3.18.2' + - '@deepseek-ai/dsh-agent@0.1.2-rc.1' + - '@deepseek-ai/dsh-brand@0.1.2-rc.1' + - '@deepseek-ai/dsh-fs-local@0.1.2-rc.1' + - '@deepseek-ai/dsh-fs@0.1.2-rc.1' + - '@deepseek-ai/dsh-llm@0.1.2-rc.1' + - '@deepseek-ai/dsh-session@0.1.2-rc.1' + - '@deepseek-ai/dsh-system-prompt@0.1.2-rc.1' + - '@deepseek-ai/dsh-timeout@0.1.2-rc.1' + - '@deepseek-ai/dsh-tools@0.1.2-rc.1' + - '@deepseek-ai/dsh-typert-protocol@0.1.2-rc.1' + - '@deepseek-ai/dsh-util-crypto@0.1.2-rc.1' + - '@deepseek-ai/dsh-util-values@0.1.2-rc.1' diff --git a/tsconfig.base.json b/tsconfig.base.json index db65705..23234b9 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -32,13 +32,9 @@ // a second copy of a module singleton through built `lib/`. "paths": { "dsh-plugin-codegraph-service": ["./packages/service/src"], - "dsh-plugin-codegraph-service/invariant": ["./packages/service/src/invariant.ts"], "dsh-plugin-codegraph-sqlite": ["./packages/sqlite/src"], - "dsh-plugin-codegraph-sqlite/invariant": ["./packages/sqlite/src/invariant.ts"], "dsh-plugin-codegraph-tree-sitter": ["./packages/tree-sitter/src"], - "dsh-plugin-codegraph-tree-sitter/invariant": ["./packages/tree-sitter/src/invariant.ts"], - "dsh-plugin-codegraph-tool": ["./packages/tool/src"], - "dsh-plugin-codegraph-tool/invariant": ["./packages/tool/src/invariant.ts"] + "dsh-plugin-codegraph-tool": ["./packages/tool/src"] } } } From 21c79f3b2d96a9138d74500a699682a037c4fd80 Mon Sep 17 00:00:00 2001 From: HuanLinOTO Date: Fri, 4 Sep 2026 00:01:58 +0800 Subject: [PATCH 5/5] docs: alpha.2 migration plan --- .../2026-08-30-dsh-0.1.2-alpha2-migration.md | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 docs/plans/2026-08-30-dsh-0.1.2-alpha2-migration.md diff --git a/docs/plans/2026-08-30-dsh-0.1.2-alpha2-migration.md b/docs/plans/2026-08-30-dsh-0.1.2-alpha2-migration.md new file mode 100644 index 0000000..5029f6b --- /dev/null +++ b/docs/plans/2026-08-30-dsh-0.1.2-alpha2-migration.md @@ -0,0 +1,139 @@ +# dsh-plugin-codegraph (monorepo: root + packages/bundle + tool + service + sqlite + tree-sitter) · dsh 0.1.2-alpha.1 → alpha.2 迁移指南 + +> 生成日期:2026-08-30。上游差异基线:tag `dsh-v0.1.2-alpha.1` (cd5ef81481) → `dsh-v0.1.2-alpha.2` (0a53fb55be)。 +> 本指南全部基于只读证据(插件源码 + `git -C D:/Projects/deepseek-harness/dsh show/diff/grep` 对 alpha2 源码的自查),未对 dsh/ 与本仓库做任何写操作。 + +## 结论 + +**⚠️ 需适配(一个小而硬的破坏点,改 3 行 import + 2 个 package.json 后即可升级)。** + +一句话理由:本插件是纯 host 侧 Cordis 插件(无任何 client/UI 代码),alpha.2 的全部 client 侧大改(connectionGeneration→hostInfo 注入契约、connection 恢复重构、ui-* 包变更)对本插件一律不适用;真正命中的只有一处 —— **上游把 `assertNever` 从 `@deepseek-ai/dsh-llm` 搬到了新包 `@deepseek-ai/dsh-util-values`**,本插件 tool/sqlite 两个子包的已发布 `lib/` 里有对它的运行时 ESM 具名导入,在 alpha.2 宿主下会**直接加载失败**(`SyntaxError: The requested module '@deepseek-ai/dsh-llm' does not provide an export named 'assertNever'`),必须改源码重新构建发布。 + +## 插件现状 + +### 版本与发布形态 + +| 项 | 值 | 证据 | +|---|---|---| +| 插件版本 | 5 个子包均 `0.1.6`(root `dsh-plugin-codegraph-root@0.1.0` private) | `package.json:2-3`;`packages/*/package.json` | +| 发布形态 | npm registry 分发(**非** `link:`、**非** `github:`):profile 依赖 `"dsh-plugin-codegraph": "^0.1.6"`,profile 内已装 0.1.6 及 4 个子包 | `C:/Users/Administrator/.dsh/profiles/web/package.json:27`;`profiles/web/node_modules/dsh-plugin-codegraph{,-service}/` 实测 | +| 发布通道 | 仓库自带 `.github/workflows/publish.yml`:GitHub release published / workflow_dispatch → typecheck → test → build → `pnpm -r publish --access public`(provenance) | `publish.yml:3-50` | +| `dsh.bundle.patch` | root 与 bundle 两处声明,均指向 `packages/bundle/cordis.patch.yml` | `package.json:10-14`、`packages/bundle/package.json:39-43` | +| files | bundle 仅 `cordis.patch.yml`;其余子包 `lib/**/*.js` + `lib/**/*.d.ts`(预构建 lib 入库,lib 在 `.gitignore` 但发布走 CI 重建) | `packages/bundle/package.json:32-34`;`.gitignore:2` | + +### cordis.patch.yml 注册面(`packages/bundle/cordis.patch.yml`) + +4 行 insert:`codegraph`(service)、`codegraph-sqlite`(store provider)、`codegraph-tree-sitter`(indexer provider)、`codegraph-tool`(consumer)。用户可用 `id` 在 profile 层 retune 配置(`languages`/`maxLimit`/`indexTimeoutMs` 等)。 + +### 用到的 dsh API 清单(全部为 host 侧,按 import 实测) + +| 子包 | import 的 `@deepseek-ai/*` | 实际使用的 API | +|---|---|---| +| service | `cordis`、`dsh-llm`、`dsh-brand`(type)、`dsh-invariants`(type) | `Context`/`Service`;`HarnessError`(`CodegraphError extends HarnessError`,`src/index.ts:80`);`Branded`;`ctx.invariants.register`(companion) | +| sqlite | `cordis`、`schemastery`、`dsh-llm`、`dsh-invariants`(dev) | `assertNever`(**来自 dsh-llm**,`src/index.ts:27`);`ctx.codegraph` 注册 store | +| tool | `cordis`、`schemastery`、`dsh-tools`、`dsh-fs`(type 增广)、`dsh-system-prompt`(type 增广)、`dsh-llm`、`dsh-timeout`、`dsh-invariants`(type) | `defineTool`/`ToolExecution`/`InferArgs`/`InferValue`;`ctx.tools.register` + `presentCall` + `output.render`;`ctx.systemPrompt.section({name, order:111, text})`(`src/index.ts:184`);`ctx.fs.resolve/readText`(`src/source.ts:56-57`);`assertNever`(`src/index.ts:27`、`src/render.ts:10`);`MAX_TIMER_DELAY_MS`(`src/index.ts:28`);`exec.agent?.session.header.cwd`(`src/index.ts:140`) | +| tree-sitter | `cordis`、`schemastery`、`dsh-invariants`(type) | 仅注册 indexer;文件读写/监听全部用 `node:fs`(`fs.watch`/`stat`/`rename`),不经过 dsh 面 | +| 测试(devDeps 固定 rc.6) | `dsh-session`、`dsh-agent`、`dsh-system-prompt`、`dsh-tools`、`dsh-fs-local`、`cordis-plugin-loader/include` | `SESSION_FORMAT_VERSION`/`Session`/`SessionId`、`AgentRegistry`(default)/`Inbox`/`Agent`、`LocalFileSystem` | + +- **不消费 session 事件**:src 全树仅 `tree-sitter/src/watcher.ts:60` 一处 `watcher.on('error')`(node fs.watch),无任何 `ctx.session` / 事件监听。 +- **无 client/UI 代码**:全部 import 清单中没有任何 `dsh-client-*` / `ui-*` 包;bundle 的 `files` 只有 `cordis.patch.yml`,无 client bundle。 +- **无 `link:`/overrides 指向 `~/.dsh/source/current`**:root 与 5 个子包 `package.json` 均无 overrides;devDeps 全部用 npm 已发布的 `0.1.0-rc.6` 精确版本(`pnpm-lock.yaml:25-27`)。运行时的 `@deepseek-ai/dsh-*` 具名导入由 dsh 宿主的模块加载器解析到运行中源码树(profile `node_modules/@deepseek-ai/` 下只有 `cosmokit`/`schemastery`/`dsh-client-*`,没有 `dsh-llm`/`dsh-tools` 等 —— 实测目录列表)。 + +## 影响对照表 + +| alpha1→alpha2 变更(上游摘要) | 是否影响本插件 | 证据(文件:行 / git 只读命令输出摘录) | +|---|---|---| +| **`assertNever` 从 `dsh-llm` 移除,迁入新包 `dsh-util-values`**("make shared primitives duplicate-install safe") | **❌ 影响(唯一硬破坏)**:tool 与 sqlite 的已发布 `lib/` 含 `import { assertNever } from '@deepseek-ai/dsh-llm'`,alpha.2 下 ESM 具名导入缺失败,两插件加载即崩 | alpha.2 `packages/llm/llm/src/never.ts` **整个文件被删除**;`packages/llm/llm/src/index.ts` 移除 `export * from './never.ts'`;新包 `packages/util/values/src/index.ts:12` `export function assertNever(...)`(`@deepseek-ai/dsh-util-values@0.1.2-alpha.2`)。本侧:`packages/tool/src/index.ts:27`、`packages/tool/src/render.ts:10`、`packages/sqlite/src/index.ts:27`;已装产物实证:`profiles/web/node_modules/dsh-plugin-codegraph-tool/lib/index.js` 与 `dsh-plugin-codegraph-sqlite/lib/index.js` 均含该 import 行 | +| 新增 4 包(deque / util-time / util-values / client-ui-schedule);包零删除零改名 | ✅ 不影响(util-values 反而是修复落点;其余 3 包为 client/数据结构向) | alpha.2 `git ls-tree dsh-v0.1.2-alpha.2 -- packages/` 无删除;`packages/util/values/package.json` 存在 | +| vendor:cordis 4.0.1→4.0.2、schemastery 3.18.1→3.18.2(patch) | ✅ 不影响:peer `@deepseek-ai/cordis >=4.0.1` 仍满足;`@deepseek-ai/schemastery ^3.18.1` 仍满足;`Context`/`Service`/`z.number().max().default()` 契约未变 | 实测:`vendor/cordis/package.json` version 4.0.1→4.0.2;`vendor/schemastery/package.json` 3.18.1→3.18.2 | +| client 注入契约 `connectionGeneration`→`hostInfo`(ui-tool/ui-workspace) | ✅ 不适用:插件无任何 client/UI 代码 | 本仓库 src 全部 `@deepseek-ai/*` import 清单(见上节)无 `dsh-client-*` | +| client/connection 恢复逻辑重构(18 文件)、ui-chat/ui-conversation 等大改 | ✅ 不适用(同上) | 同上 | +| session 事件 envelope 增加 `ignorable: true`;事件全部保留 | ✅ 不影响:插件不消费 session 事件 | `rg "\.(on|once)\(|ctx.session" packages/*/src` 仅命中 `watcher.ts:60`(fs.watch) | +| session folds→projections 大迁移(api/session-controller 45 文件) | ✅ 不影响:插件只 import `dsh-session` **公开 API**(`Session`/`SessionId`/`SESSION_FORMAT_VERSION`,且仅测试用),alpha.2 全部仍在 | alpha.2 `packages/core/session/src/index.ts:423` `export class Session`;`src/types.ts:17,24` `SessionId`;`src/types.ts:51` `SESSION_FORMAT_VERSION = 0`(值未变);`src/index.ts:23` `export * from './types.ts'` | +| gateway/Remote 失败词汇收敛、`TypertRemoteFailure`→`RemoteError` | ✅ 不影响:插件不 import `dsh-typert-protocol`;所用 `HarnessError` 在 alpha.2 原样保留 | alpha.2 `packages/llm/llm/src/error.ts:13` `export class HarnessError extends Error`(error.ts 不在本次 diff 文件清单中) | +| dsh-tools 内部重构(JsonValue/snapshotJsonValue 改从 util-values 取;section order 改 `getSectionOrder()`) | ✅ 不影响:`defineTool`(alpha.2 `schema.ts:545`)、`ToolExecution`(alpha.2 `index.ts:372`,含 `agent?`/`signal`)、`InferArgs`/`InferValue`(`schema.ts:175,172`)、`presentCall`(`schema.ts:528`) 全部签名未变 | `git diff dsh-v0.1.2-alpha.1 dsh-v0.1.2-alpha.2 -- packages/core/tools/src` 仅 import 来源与 order 解析方式变化 | +| system-prompt:`FIRST_PARTY_SECTION_ORDER`/`PERSONA_ORDER` 导出移除,改 `getSectionOrder(name)` | ✅ 不影响:插件用**数字 order 111** 注册 section,未用任何被移除的导出;`ctx.systemPrompt.section(section: PromptSection)` 签名未变 | alpha.2 `packages/core/system-prompt/src/index.ts:432` `section(section: PromptSection): () => void`;`:13-15` ctx 增广 `systemPrompt: SystemPrompt`;被移除导出不在本插件 import 清单 | +| `dsh-fs`:仅版本号变化;`util/atomic-write` 重试、stat 只探父目录(Windows 修复) | ✅ 不影响:`resolve(path,{cwd,signal})`/`readText(target,signal)` 签名原样(`packages/fs/fs/src/index.ts:116,189`);atomic-write 本插件不使用(tree-sitter 写库用 `node:fs` 的 rm+rename,`schema.ts:64-66`) | `git diff --stat ... -- packages/fs/fs` 仅 package.json 1 行 | +| `dsh-timeout`/`dsh-invariants`/`dsh-brand`:仅版本号 / 纯内部重构 | ✅ 不影响:`MAX_TIMER_DELAY_MS = 2_147_483_647`(alpha.2 `util/timeout/src/index.ts:25`);`InvariantInstaller`/`register(packageName, installer)` 原样(`runtime-diagnostics/invariants/src/index.ts:32,136`);`Branded` 保留且新增 `brandString`(纯增量) | 对应 git diff stat 均 ≤1 个 src 文件且为内部调整 | +| vendor/loader 1.0.2→1.0.3(node 24.9 内部 loader 分类修复) | ✅ 不影响(环境级修复):仅 `internal.ts` 的 Node 内部 loader 版本判定改为按 API 形态分类,无插件面契约变化 | `git diff ... -- vendor/loader/src/internal.ts`(分类逻辑重写,`ModuleLoader.fromInternal()`) | +| settings-controller / workspace-controller / ui-settings-* 变更 | ✅ 不适用:插件无 settings-controller 依赖;配置只经 schemastery schema 由 cordis patch 注入 | 插件 import 清单无相关包 | +| 依赖策略收紧(client peer 收敛、verify-package-dependencies 脚本) | ✅ 不影响:本插件自己声明 peer(见下节评估),不受 client 包 peer 收敛影响 | — | +| prerelease npm 发布走独立 dist-tag(不占 latest) | ⚠️ 注意(运维项):devDeps 若升到 `0.1.2-alpha.2` 需显式指定精确版本,`^0.1.0-rc.6` 类范围不会自动解析到 alpha | 上游摘要;`pnpm-lock.yaml` 现锁定 `0.1.0-rc.6` | + +### peerDependencies 与 alpha.2 的匹配性评估 + +- `@deepseek-ai/cordis: >=4.0.1`:alpha.2 实为 4.0.2,**满足** ✅。 +- 各 `@deepseek-ai/dsh-*: >=0.1.0-rc.6`:按 npm/node-semver 的 prerelease 规则,`0.1.2-alpha.2`(tuple 0.1.2)**并不严格满足** `>=0.1.0-rc.6`(prerelease 版本只与同 `[major,minor,patch]` 元组的比较子匹配)。**实际运行不受影响**——这些 peer 只是声明性元数据,运行时由宿主模块加载器按运行中源码树解析(profile `node_modules/@deepseek-ai/` 里根本没有这些包)。建议**借本次升级把 peer 下限对齐到实测支持的版本**(如 `>=0.1.2-alpha.2`),并在 README 标注「已针对 dsh 0.1.2-alpha.2 验证」;不强制。 +- **必须新增**:`@deepseek-ai/dsh-util-values`(tool、sqlite 的 peer + devDep),见迁移步骤。 +- devDeps 的 `0.1.0-rc.6` 固定版本:本地 `pnpm test`/`typecheck` 不受 dsh 升级影响,可继续使用;如需对 alpha.2 类型做编译期验证,可另行升到 `0.1.2-alpha.2`(精确版本可用,dist-tag 独立),属可选优化。 + +## 迁移步骤 + +> 改动范围:仅 `packages/tool`(2 个源文件 + package.json)、`packages/sqlite`(1 个源文件 + package.json);service/tree-sitter/bundle **源码无需改动**。全程不需要触碰 `dsh/`。 + +### 1. 源码修改(唯一必改项:assertNever 搬家) + +1. `packages/tool/src/index.ts:27` + `import { assertNever } from '@deepseek-ai/dsh-llm'` → `import { assertNever } from '@deepseek-ai/dsh-util-values'` +2. `packages/tool/src/render.ts:10` 同上替换。 +3. `packages/sqlite/src/index.ts:27` 同上替换。 +4. `packages/tool/package.json`:`peerDependencies` 与 `devDependencies` 各加 `"@deepseek-ai/dsh-util-values": ">=0.1.2-alpha.2"`(devDep 用精确 `"0.1.2-alpha.2"`,与现有 rc.6 风格一致);`dsh-llm` 的 peer/devDep **保留**(`HarnessError` 仍在用)。 +5. `packages/sqlite/package.json`:同上处理。 +6. (可选,建议)借机把 5 个包版本从 `0.1.6` 升到 `0.1.7`,并在 README「Known limits」或包描述标注已验证的 dsh 版本。 +7. `packages/tool/package.json` 顺带评估:`peerDependencies` 的 `@deepseek-ai/dsh-*` 下限是否从 `>=0.1.0-rc.6` 提到 `>=0.1.2-alpha.2`(见上节匹配性评估;非必须)。 + +### 2. 本地验证(不发布先验证) + +```powershell +Push-Location D:/Projects/deepseek-harness/dsh-plugin-codegraph +pnpm install # 拉入 dsh-util-values@0.1.2-alpha.2 devDep(alpha 走独立 dist-tag,精确版本可装) +pnpm run typecheck # tsc -b,验证新 import 与其余 API 全部编译通过 +pnpm test # vitest 全量(仍跑 devDeps rc.6;不属 dsh 升级回归面) +pnpm run build # 重建 4 个子包 lib/ +Pop-Location +``` + +注意:`pnpm install/build/test` 本次分析会话中被禁止,上述命令需在正常开发会话由人类/后续会话执行。类型对齐验证可临时把 tool/sqlite 的 devDeps 指到 `0.1.2-alpha.2` 跑一次 typecheck(确认 `@deepseek-ai/dsh-util-values` 导入可解析),验证后可回退 pin——是否常驻 alpha 版本由维护者定(待人工确认)。 + +### 3. profile 端接入 + +- **当前 profile 是 npm registry 引用(`^0.1.6`),不是 `link:`** —— 模板里「重建 lib/ 即可见」的捷径**不适用**于现状,必须走发布或临时改 link。 +- **首选(发布路线,与本仓库 CI 一致)**:提交改动 → 打 GitHub release(或 workflow_dispatch)触发 `publish.yml` → `pnpm -r publish` 发布 0.1.7 → `dsh plugin --profile web update dsh-plugin-codegraph`(registry 引用属「情况 B」,update 即重装)。 +- **临时本地验证(可选)**:把 profile 依赖改为 `link:D:/Projects/deepseek-harness/dsh-plugin-codegraph/packages/bundle`。⚠️ 待人工确认:bundle 的 4 个依赖是 `workspace:^`,`link:` 指向 monorepo 内部包时 pnpm 能否把 workspace 成员一并链入 profile node_modules 未实测;若失败,回退到发布路线。link 模式下重建 `lib/` 即对 profile 可见,无需重装。 +- 对外发布遵循仓库现有 `publish.yml`(GitHub release 驱动);若未来迁到 `huanlinoto` 账号 / `@huanlin` scope,按 AGENTS.md 的发布 SOP 执行(本仓库现归属 CC19990113,流程不变)。 + +### 4. 无需改动的项(明说) + +- `packages/service`:`HarnessError` 未动、`cordis`/`dsh-brand`/`dsh-invariants` 契约未动 → **无需改动**。 +- `packages/tree-sitter`:不 import 任何被改 API;`fs.watch`/`node:sqlite` 自持 → **无需改动**。 +- `packages/bundle` + `cordis.patch.yml`:4 行 insert 的 id/name 机制在 alpha.2 未变(loader 仅 node 24.9 内部判定修复)→ **无需改动**。 +- 系统提示词注册(数字 order)、工具 schema、`presentCall`/`output.render`、`ctx.fs` 读取、`MAX_TIMER_DELAY_MS` 校验、`exec.agent?.session.header.cwd` 根解析 —— alpha.2 全部原样 → **无需改动**。 +- 磁盘格式 `.codegraph/codegraph.db` schema v4:与上游无关,外部契约不变 → **无需改动**。 + +## 升级后验证清单 + +前置:按 DSH 源码 SOP 完成宿主升级(`~/.dsh/source/current` pull + `pnpm install` + `pnpm run build`),**重启 `dsh web` 进程,浏览器 `Ctrl+Shift+R` 硬刷新**。当前运行版本实测为 `0.1.2-alpha.1`,升级后应显示 `0.1.2-alpha.2`。 + +1. **插件加载**:人类在终端跑 `dsh --profile web --dump-default-config`,输出应含 `# == dsh-plugin-codegraph` 分组,且 `codegraph` / `codegraph-sqlite` / `codegraph-tree-sitter` / `codegraph-tool` 四行齐全;WebUI 不弹 "Failed to load plugins"。若出现 `does not provide an export named 'assertNever'` → 说明 profile 里还是旧 0.1.6 产物(未发布/未 update)。 +2. **工具可用**:新开会话,让模型调用 `codegraph`,`operation: "status"` + 本会话工作区路径 → 无索引时应返回 `indexed: false`(不报错);对一个 `.codegraph/codegraph.db` 为**异版本**(如实测中 D:/Projects/deepseek-harness 根存在 v8 库)的工作区,`status`/查询会**响亮报错**(`CODEGRAPH_MALFORMED_INDEX`/`UNSUPPORTED_FORMAT` 一族)——这是既有设计,属预期。 +3. **建索引回路**:对小仓库调 `codegraph_index` → 返回 `files_indexed/symbol_count/edge_count/languages`;随后 `codegraph search <符号>`、`callers <符号>` 各来一次,确认 `ctx.codegraph`→store→`ctx.fs`(alpha.2 `resolve/readText` 已实证未变)链路通。 +4. **系统提示词**:新会话中确认模型收到 codegraph 使用指引(`tool:codegraph`,order 111)——可通过让模型回答「何时该用 codegraph 而非 grep」间接验证。 +5. **配置 retune**:在 profile `cordis.patch.yml` 给 `codegraph-tool` 加 `maxLimit: 50` 重启,确认生效(patch 行寻址机制未受升级影响)。 +6. **watch 回路(Windows)**:对已索引工作区改一个被索引文件,约 2s debounce 后 `status` 的 `stale_file_count` 归零(tree-sitter watcher 为 node 原生实现,不依赖 dsh 面)。 +7. **回归关注点**:本插件旧产物在 alpha.2 下的唯一失败模式就是第 1 步的 ESM 具名导入错误;除此以外,alpha.2 的 client/session/gateway 改动没有任何可触及本插件的路径(对照表已逐项排除)。 + +### 待人工确认清单 + +- `link:` 指向 `packages/bundle`(monorepo 内部包、`workspace:^` 依赖)在 profile 端能否正确链接(见迁移步骤 3)——未实测,发布路线不受影响。 +- devDeps 是否随升级 pin 到 `0.1.2-alpha.2`(需在 profile 之外验证 npm alpha dist-tag 拉取),还是维持 rc.6。 + +## 勘误(2026-08-31 适配执行时补录) + +> 以下为实际执行 install/typecheck/test 时发现、原指南结论不足或需修正之处。均已按实测修复。 + +1. **devDeps 必须升到 `0.1.2-alpha.2`(原「可选」结论不成立)**:rc.6 的 `@deepseek-ai/dsh-llm` **没有 `ToolCallId` 值导出**(旧名 `CallId`),而 `packages/tool/tests/{tool-codegraph,live-tool,loader-composition}.spec.ts` 在 alpha.1 适配提交(2635049)中已改为 `import { ToolCallId } from '@deepseek-ai/dsh-llm'` —— 干净的 rc.6 安装下这 3 个套件**从那时起就注定运行时失败**(此前本机靠残留的 alpha 版 node_modules 掩盖)。已把 root + tool/sqlite/service/tree-sitter 全部 devDeps 的 `0.1.0-rc.6` 精确 pin 升到 `0.1.2-alpha.2`(npm alpha dist-tag 实测可拉取)。 +2. **pnpm v11.7 会剪掉 peer-only 包**:`autoInstallPeers: false` 下,rc.6/alpha2 的 `@deepseek-ai/dsh-*` 全是 peer 声明,v11 重装后 `dsh-scope`/`dsh-brand`/`dsh-typert-protocol` 等不落盘 → 测试运行时 `Cannot find package '@deepseek-ai/dsh-scope'`(3 个套件整包加载失败)。提交版 lockfile 是由会物化 peer 的旧 pnpm 生成的。修复:`pnpm-workspace.yaml` `autoInstallPeers: true`(恢复 lockfile 原行为),install 后 535 用例可全部加载。 +3. **`allowBuilds: koffi: set this to true or false` 占位行导致 install exit 1**:改为 `koffi: true`(与 `onlyBuiltDependencies: [koffi]` 及 CLAUDE.md「koffi 是唯一允许的原生构建」一致;koffi 无 importer 依赖,属锁文件遗留项,构建脚本放行无副作用)。 +4. **CI 发版路线被所有权阻断(原「首选」路线本机不可行)**:npm 包 `dsh-plugin-codegraph` 归属 `cczhao990113`(`npm owner ls` 实测),HuanLinOTO fork 无 publish workflow、upstream(cc19990113)无 push 权限(`gh api .permissions.push=false`)。**未执行** `dsh plugin --profile web update`。临时接入:把本机构建的 0.1.7 `lib/` 同步进 profile 的 5 个已装包(`~/.dsh/profiles/web/node_modules/dsh-plugin-codegraph*/lib/`)并把其 package.json version 字段同步为 0.1.7 —— profile 依赖声明仍为 `^0.1.6`(semver 匹配 0.1.7)。⚠️ 后续若跑 `dsh plugin update dsh-plugin-codegraph` 会用 registry 上的旧 0.1.6 **覆盖回断点版本**;正式发版需人类决策(走 cczhao 账号 / 上游 CI / 迁移到 `@huanlin` scope)。 +5. **5 个子包版本已 bump `0.1.6` → `0.1.7`**(原「可选建议」已落实,发版就绪)。 +6. **Windows 测试基线**:535 用例 523 过 / 11 失败 / 1 skip。11 个失败全部为 Windows 平台假设(store.spec 2 个 EBUSY 文件锁、watcher.spec 4 个「on Linux」专属、git-hooks 1 个 exec 位、worktree 3 个 git-dir 路径、index.spec 1 个连接失效依赖文件替换),非 alpha2 回归,按约束不改上游测试,记录为已知非回归。