From 32c32932f9c4a17adccf0e1780367cce49b56706 Mon Sep 17 00:00:00 2001 From: Tianyi Cui <53024+tianyicui@users.noreply.github.com> Date: Sun, 23 Aug 2026 01:49:21 +0800 Subject: [PATCH] chore(repo): wire profile apps and the renamed runtime through builds Update workspace manifests, the lockfile, Host project references, Knip inputs, package constraints, vendoring rewrites, and Python runtime build/smoke scripts for sdk-app, acp-app, and @deepseek-ai/dsh-sdk-python-runtime. Add the ACP hook packages to the dsh dependency closure so installed profile materialization resolves the same plugins as source workspaces. Keep Python distribution outputs deliberately unchanged: the wheel modules, executable names, and smoke targets retain their public identities even though their private npm carrier moved. Constraint fixtures pin the new package locations and catch missing application dependencies on every platform. --- apps/cli/package.json | 4 +- examples/package.json | 4 +- knip.json | 20 +- pnpm-lock.yaml | 173 +++++++----------- scripts/build-exe-for-python-sdk.ts | 5 +- scripts/check-workspace-constraints.spec.ts | 24 +++ scripts/check-workspace-constraints.ts | 23 ++- scripts/rescope-vendor.ts | 3 - scripts/smoke-python-runtime.py | 2 +- .../verify-package-readme-model-experience.ts | 3 +- tsconfig.host.json | 3 +- 11 files changed, 126 insertions(+), 138 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index c357a0c22e..e4c017b2af 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -48,6 +48,8 @@ "@deepseek-ai/dsh-headless": "workspace:^", "@deepseek-ai/dsh-mcp-client": "workspace:^", "@deepseek-ai/dsh-home-paths": "workspace:^", + "@deepseek-ai/dsh-hooks-claude-code": "workspace:^", + "@deepseek-ai/dsh-hooks-codex": "workspace:^", "@deepseek-ai/dsh-persona": "workspace:^", "@deepseek-ai/dsh-plan-mode": "workspace:^", "@deepseek-ai/dsh-terminal": "workspace:^", @@ -93,7 +95,7 @@ "node-addon-require-builtin": "^0.1.4" }, "devDependencies": { - "@agentclientprotocol/sdk": "0.25.1", + "@agentclientprotocol/sdk": "1.4.0", "@deepseek-ai/dsh-agent": "workspace:^", "@deepseek-ai/dsh-host-frontend-static": "workspace:^", "@deepseek-ai/dsh-host-apiproxy": "workspace:^", diff --git a/examples/package.json b/examples/package.json index 87572c3c4a..22d55f47fa 100644 --- a/examples/package.json +++ b/examples/package.json @@ -5,11 +5,12 @@ "type": "module", "description": "Workspace umbrella for runnable demos and example-owned test compositions: declares their cordis.yml packages so plain Node resolves real exports→lib. Not a build target.", "dependencies": { + "@agentclientprotocol/sdk": "1.4.0", "@deepseek-ai/cordis-plugin-hmr": "workspace:*", "@deepseek-ai/cordis-plugin-include": "workspace:*", "@deepseek-ai/cordis-plugin-logger-console": "workspace:*", "@deepseek-ai/cordis-plugin-timer": "workspace:*", - "@deepseek-ai/dsh-acp-demo": "workspace:*", + "@deepseek-ai/dsh-acp": "workspace:*", "@deepseek-ai/dsh-agent": "workspace:*", "@deepseek-ai/dsh-agent-loop": "workspace:*", "@deepseek-ai/dsh-agent-spine-demo": "workspace:*", @@ -54,6 +55,7 @@ "@deepseek-ai/dsh-terminal": "workspace:*", "@deepseek-ai/dsh-terminal-bash": "workspace:*", "@deepseek-ai/dsh-pwsh-local": "workspace:*", + "@deepseek-ai/dsh-pwsh-sandbox": "workspace:*", "@deepseek-ai/dsh-repeat-tool-reminder": "workspace:*", "@deepseek-ai/dsh-sandbox": "workspace:*", "@deepseek-ai/dsh-sandbox-local": "workspace:*", diff --git a/knip.json b/knip.json index 34c1dcc571..439371c68b 100644 --- a/knip.json +++ b/knip.json @@ -60,15 +60,16 @@ "acp-agent/tests/fixtures/subagent-report-fence.ts", "acp-agent/tests/fixtures/subagent-settlement-marker.ts", "acp-agent/tests/fixtures/workspace-context-compaction.ts", + "acp-agent/tests/fixtures/control-surface/control-surface-llm.ts", "acp-agent/tests/fixtures/subagent/subagent-acp/mock-delegating-llm.ts", "acp-agent/tests/fixtures/subagent/subagent-acp/driver.ts", "acp-agent/tests/fixtures/subagent/subagent-claude-code/fixture.ts", "acp-agent/tests/fixtures/subagent/subagent-claude-code/driver.ts", "acp-agent/tests/fixtures/subagent/subagent-codex/fixture.ts", "acp-agent/tests/fixtures/subagent/subagent-codex/driver.ts", - "jsonrpc-agent/tests/fixtures/subagent/subagent-dsh-sdk/driver.ts", - "jsonrpc-agent/tests/fixtures/subagent/subagent-dsh-sdk/child-mock-llm.ts", - "jsonrpc-agent/tests/fixtures/subagent/subagent-dsh-sdk/mock-delegating-llm.ts", + "python-sdk-agent/tests/fixtures/subagent/subagent-dsh-sdk/driver.ts", + "python-sdk-agent/tests/fixtures/subagent/subagent-dsh-sdk/child-mock-llm.ts", + "python-sdk-agent/tests/fixtures/subagent/subagent-dsh-sdk/mock-delegating-llm.ts", "*/tests/**/*.e2e.ts", "*/tests/**/*.snapshot.ts" ], @@ -490,17 +491,6 @@ "tests/**/*.ts" ] }, - "packages/examples/acp-demo": { - "entry": [ - "tests/**/*.spec.ts", - "tests/**/*.e2e.ts", - "tests/control-surface-llm.ts" - ], - "project": [ - "src/**/*.ts", - "tests/**/*.ts" - ] - }, "packages/examples/agent-spine-demo": { "entry": [ "tests/**/*.spec.ts", @@ -533,7 +523,7 @@ "zod" ] }, - "packages/examples/jsonrpc-demo": { + "packages/sdk/python-runtime": { "project": [ "src/**/*.ts" ] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ecfb7856e8..ddeacead94 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,9 +15,6 @@ importers: .: devDependencies: - '@agentclientprotocol/sdk': - specifier: 1.4.0 - version: 1.4.0(zod@4.4.3) '@deepseek-ai/dsh-tool-session-query': specifier: workspace:^ version: link:packages/session-query/tool-session-query @@ -195,6 +192,12 @@ importers: '@deepseek-ai/dsh-home-paths': specifier: workspace:^ version: link:../../packages/util/home-paths + '@deepseek-ai/dsh-hooks-claude-code': + specifier: workspace:^ + version: link:../../packages/hooks/hooks-claude-code + '@deepseek-ai/dsh-hooks-codex': + specifier: workspace:^ + version: link:../../packages/hooks/hooks-codex '@deepseek-ai/dsh-jobs-local': specifier: workspace:^ version: link:../../packages/jobs/jobs-local @@ -326,8 +329,8 @@ importers: version: 0.1.4 devDependencies: '@agentclientprotocol/sdk': - specifier: 0.25.1 - version: 0.25.1(zod@4.4.3) + specifier: 1.4.0 + version: 1.4.0(zod@4.4.3) '@deepseek-ai/dsh-agent': specifier: workspace:^ version: link:../../packages/core/agent @@ -439,6 +442,9 @@ importers: examples: dependencies: + '@agentclientprotocol/sdk': + specifier: 1.4.0 + version: 1.4.0(zod@4.4.3) '@deepseek-ai/cordis-plugin-hmr': specifier: workspace:* version: link:../vendor/hmr @@ -451,9 +457,9 @@ importers: '@deepseek-ai/cordis-plugin-timer': specifier: workspace:* version: link:../vendor/timer - '@deepseek-ai/dsh-acp-demo': + '@deepseek-ai/dsh-acp': specifier: workspace:* - version: link:../packages/examples/acp-demo + version: link:../packages/acp/acp '@deepseek-ai/dsh-agent': specifier: workspace:* version: link:../packages/core/agent @@ -580,6 +586,9 @@ importers: '@deepseek-ai/dsh-pwsh-local': specifier: workspace:* version: link:../packages/shell/pwsh-local + '@deepseek-ai/dsh-pwsh-sandbox': + specifier: workspace:* + version: link:../packages/shell/pwsh-sandbox '@deepseek-ai/dsh-repeat-tool-reminder': specifier: workspace:* version: link:../packages/guard/repeat-tool-reminder @@ -1049,6 +1058,28 @@ importers: specifier: ^15.0.0 version: 15.0.0 + packages/bundle/acp-app: + dependencies: + '@deepseek-ai/dsh-acp': + specifier: workspace:^ + version: link:../../acp/acp + '@deepseek-ai/dsh-cmdline': + specifier: workspace:^ + version: link:../../boot/cmdline + commander: + specifier: ^15.0.0 + version: 15.0.0 + devDependencies: + '@deepseek-ai/cordis': + specifier: workspace:^ + version: link:../../../vendor/cordis + '@deepseek-ai/cordis-plugin-include': + specifier: workspace:^ + version: link:../../../vendor/include + '@deepseek-ai/dsh-invariants': + specifier: workspace:^ + version: link:../../runtime-diagnostics/invariants + packages/bundle/base: dependencies: '@deepseek-ai/cordis-plugin-hmr': @@ -1299,28 +1330,6 @@ importers: specifier: workspace:^ version: link:../../runtime-diagnostics/invariants - packages/bundle/acp-app: - dependencies: - '@deepseek-ai/dsh-acp': - specifier: workspace:^ - version: link:../../acp/acp - '@deepseek-ai/dsh-cmdline': - specifier: workspace:^ - version: link:../../boot/cmdline - commander: - specifier: ^15.0.0 - version: 15.0.0 - devDependencies: - '@deepseek-ai/cordis': - specifier: workspace:^ - version: link:../../../vendor/cordis - '@deepseek-ai/cordis-plugin-include': - specifier: workspace:^ - version: link:../../../vendor/include - '@deepseek-ai/dsh-invariants': - specifier: workspace:^ - version: link:../../runtime-diagnostics/invariants - packages/bundle/headless: dependencies: '@deepseek-ai/dsh-cmdline': @@ -4044,67 +4053,6 @@ importers: specifier: workspace:^ version: link:../../util/timeout - packages/examples/acp-demo: - dependencies: - '@deepseek-ai/schemastery': - specifier: link:../../../vendor/schemastery - version: link:../../../vendor/schemastery - devDependencies: - '@agentclientprotocol/sdk': - specifier: 1.4.0 - version: 1.4.0(zod@4.4.3) - '@deepseek-ai/cordis': - specifier: workspace:^ - version: link:../../../vendor/cordis - '@deepseek-ai/cordis-plugin-include': - specifier: workspace:^ - version: link:../../../vendor/include - '@deepseek-ai/cordis-plugin-loader': - specifier: workspace:^ - version: link:../../../vendor/loader - '@deepseek-ai/dsh-acp': - specifier: workspace:^ - version: link:../../acp/acp - '@deepseek-ai/dsh-acp-snapshot': - specifier: workspace:^ - version: link:../../test-support/acp-snapshot - '@deepseek-ai/dsh-agent': - specifier: workspace:^ - version: link:../../core/agent - '@deepseek-ai/dsh-agent-instructions': - specifier: workspace:^ - version: link:../../context/agent-instructions - '@deepseek-ai/dsh-agent-spine-demo': - specifier: workspace:^ - version: link:../agent-spine-demo - '@deepseek-ai/dsh-app-boot': - specifier: workspace:^ - version: link:../../boot/app-boot - '@deepseek-ai/dsh-invariants': - specifier: workspace:^ - version: link:../../runtime-diagnostics/invariants - '@deepseek-ai/dsh-llm': - specifier: workspace:^ - version: link:../../llm/llm - '@deepseek-ai/dsh-session-checkpoint-policy': - specifier: workspace:^ - version: link:../../session/session-checkpoint-policy - '@deepseek-ai/dsh-session-persistence-jsonl': - specifier: workspace:^ - version: link:../../session/session-persistence-jsonl - '@deepseek-ai/dsh-session-query': - specifier: workspace:^ - version: link:../../session-query/session-query - '@deepseek-ai/dsh-session-query-sqlite': - specifier: workspace:^ - version: link:../../session-query/session-query-sqlite - '@deepseek-ai/dsh-system-prompt': - specifier: workspace:^ - version: link:../../core/system-prompt - '@deepseek-ai/dsh-tools': - specifier: workspace:^ - version: link:../../core/tools - packages/examples/agent-spine-demo: dependencies: '@deepseek-ai/schemastery': @@ -4217,19 +4165,6 @@ importers: specifier: workspace:^ version: link:../../../native/landlock-run/packages/entry - packages/examples/jsonrpc-demo: - dependencies: - '@deepseek-ai/dsh-app-boot': - specifier: workspace:^ - version: link:../../boot/app-boot - devDependencies: - '@deepseek-ai/cordis': - specifier: workspace:^ - version: link:../../../vendor/cordis - '@deepseek-ai/dsh-invariants': - specifier: workspace:^ - version: link:../../runtime-diagnostics/invariants - packages/experimental/agent-team: dependencies: '@deepseek-ai/schemastery': @@ -6340,6 +6275,10 @@ importers: version: link:../../core/tools packages/sdk/client: + dependencies: + '@deepseek-ai/dsh': + specifier: workspace:* + version: link:../../../apps/cli devDependencies: '@deepseek-ai/cordis': specifier: workspace:^ @@ -6375,6 +6314,19 @@ importers: specifier: workspace:^ version: link:../../subagent/subagent + packages/sdk/python-runtime: + dependencies: + '@deepseek-ai/dsh-app-boot': + specifier: workspace:^ + version: link:../../boot/app-boot + devDependencies: + '@deepseek-ai/cordis': + specifier: workspace:^ + version: link:../../../vendor/cordis + '@deepseek-ai/dsh-invariants': + specifier: workspace:^ + version: link:../../runtime-diagnostics/invariants + packages/sdk/server: dependencies: '@deepseek-ai/schemastery': @@ -8320,9 +8272,15 @@ importers: '@agentclientprotocol/sdk': specifier: 1.4.0 version: 1.4.0(zod@4.4.3) + '@deepseek-ai/cordis-plugin-include': + specifier: workspace:* + version: link:../../../vendor/include '@deepseek-ai/dsh-loader-smoke': specifier: workspace:* version: link:../loader-smoke + js-yaml: + specifier: ^4.2.0 + version: 4.2.0 vitest: specifier: ^4.1.8 version: 4.1.8(@opentelemetry/api@1.9.0)(@types/node@25.9.3)(@vitest/coverage-v8@4.1.8)(jsdom@29.1.1(@noble/hashes@2.3.0))(vite@8.0.16(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) @@ -8336,6 +8294,9 @@ importers: '@deepseek-ai/dsh-session': specifier: workspace:^ version: link:../../core/session + '@types/js-yaml': + specifier: ^4.0.9 + version: 4.0.9 packages/test-support/agent-loop-testkit: devDependencies: @@ -9265,15 +9226,15 @@ importers: '@deepseek-ai/dsh-scope': specifier: workspace:^ version: link:../../packages/core/scope - '@deepseek-ai/dsh-sdk-jsonrpc-demo': - specifier: workspace:^ - version: link:../../packages/examples/jsonrpc-demo '@deepseek-ai/dsh-sdk-jsonrpc-server': specifier: workspace:^ version: link:../../packages/sdk/server '@deepseek-ai/dsh-sdk-protocol': specifier: workspace:^ version: link:../../packages/sdk/protocol + '@deepseek-ai/dsh-sdk-python-runtime': + specifier: workspace:^ + version: link:../../packages/sdk/python-runtime '@deepseek-ai/dsh-session': specifier: workspace:^ version: link:../../packages/core/session diff --git a/scripts/build-exe-for-python-sdk.ts b/scripts/build-exe-for-python-sdk.ts index 4773a506b0..7516fcabb6 100644 --- a/scripts/build-exe-for-python-sdk.ts +++ b/scripts/build-exe-for-python-sdk.ts @@ -16,9 +16,10 @@ import { resolveLinuxNodePtyAddon } from './build-exe-for-python-sdk-native-pty. const root = resolve(import.meta.dirname, '..') /** The closure manifest whose dependencies define the executable. */ -const DEPLOY_ROOT_PACKAGE = 'dsh-jsonrpc-agent-pkg' +const DEPLOY_ROOT_PACKAGE = 'dsh-sdk-python-runtime-closure' /** The closed-runtime app entry inside the deployed closure. */ -const ENTRY_BIN = 'node_modules/@deepseek-ai/dsh-sdk-jsonrpc-demo/lib/packaged-bin.js' +const ENTRY_BIN = 'node_modules/@deepseek-ai/dsh-sdk-python-runtime/lib/packaged-bin.js' +/** Stable Python-visible executable basename; rename with the later Python runtime migration. */ const OUTPUT_BASENAME = 'dsh-jsonrpc-agent-pkg' /** Default Node major; SEA mode requires at least Node 22. */ const DEFAULT_NODE_RANGE = 'node24' diff --git a/scripts/check-workspace-constraints.spec.ts b/scripts/check-workspace-constraints.spec.ts index dc3b63227f..4bd39ac878 100644 --- a/scripts/check-workspace-constraints.spec.ts +++ b/scripts/check-workspace-constraints.spec.ts @@ -1,9 +1,12 @@ /** Experimental-package publication and dependency constraints. */ +import { readFileSync } from 'node:fs' +import { join } from 'node:path' import { describe, expect, it } from 'vitest' import { checkExperimentalDependencyIsolation, checkExperimentalManifest, + checkWorkspaceManifest, type WorkspaceManifest, } from './check-workspace-constraints.ts' @@ -74,3 +77,24 @@ describe('experimental workspace constraints', () => { ]) }) }) + +describe('private Python runtime carrier', () => { + const manifest = JSON.parse( + readFileSync(new URL('../packages/sdk/python-runtime/package.json', import.meta.url), 'utf8'), + ) as WorkspaceManifest['manifest'] + + it('participates in dsh package checks without becoming an npm release member', () => { + expect(checkWorkspaceManifest({ dir: 'packages/sdk/python-runtime', manifest })).toEqual([]) + }) + + it('rejects publication metadata on the private carrier', () => { + const path = join('packages', 'sdk', 'python-runtime', 'package.json') + expect(checkWorkspaceManifest({ + dir: 'packages/sdk/python-runtime', + manifest: { ...manifest, private: false, publishConfig: { access: 'public' } }, + })).toEqual([ + `${path}: @deepseek-ai/dsh-sdk-python-runtime: private carrier must set "private": true`, + `${path}: @deepseek-ai/dsh-sdk-python-runtime: private carrier must omit publishConfig`, + ]) + }) +}) diff --git a/scripts/check-workspace-constraints.ts b/scripts/check-workspace-constraints.ts index e052a9a2b0..830386133d 100644 --- a/scripts/check-workspace-constraints.ts +++ b/scripts/check-workspace-constraints.ts @@ -54,6 +54,8 @@ const experimentalPackageDirectory = /^packages\/experimental\/[^/]+$/ const experimentalPackageNamePrefix = '@deepseek-ai/dsh-experimental-' /** Directories whose packages this repository publishes: one release member each. */ const releaseMemberDirectory = /^(?:packages\/(?!experimental\/)[^/]+\/[^/]+|apps\/[^/]+|vendor\/[^/]+)$/ +/** Named dsh packages that remain private because another distribution embeds them. */ +const privateCarrierDirectories = new Set(['packages/sdk/python-runtime']) const localArtifactDirs = new Set(['node_modules']) const appPackageFiles: Readonly> = { @@ -152,9 +154,8 @@ const packageFileExtras: Readonly> = { '@deepseek-ai/dsh-client-ui-theme': ['lib/styles'], // The CPython side ships as source .py files, published as-is rather than built. '@deepseek-ai/dsh-code-runtime-python': ['py/**/*.py'], - // The Python runtime uses a distinct closed-resolution bin; the public CLI - // keeps config-owned bare-package resolution through lib/bin.js. - '@deepseek-ai/dsh-sdk-jsonrpc-demo': ['lib/packaged-bin.js'], + // The private Python carrier ships only its closed-resolution entry. + '@deepseek-ai/dsh-sdk-python-runtime': ['lib/packaged-bin.js'], // The argv-prefix runner entry ships beside the lib as its own bundle; // sandbox-local resolves it through the package's ./runner export. tsdown // also shares its generated FFI code through a hashed runtime chunk. @@ -263,7 +264,12 @@ export function checkExperimentalManifest({ dir, manifest }: WorkspaceManifest): return errors } -function checkWorkspace({ dir, manifest }: WorkspaceManifest): string[] { +/** + * Check one workspace manifest against publication and dsh-package policy. + * @param workspace - package directory and parsed manifest. + * @returns path-qualified policy violations. + */ +export function checkWorkspaceManifest({ dir, manifest }: WorkspaceManifest): string[] { const errors = checkExperimentalManifest({ dir, manifest }) const label = manifest.name ?? dir const isLandlockPackageDir = dir.startsWith('native/landlock-run/packages/') @@ -284,6 +290,13 @@ function checkWorkspace({ dir, manifest }: WorkspaceManifest): string[] { || manifest.repository.directory !== expectedDirectory) { errors.push(`${label}: published Landlock package repository must use ${repositoryUrl} with directory ${expectedDirectory} for trusted publishing`) } + } else if (privateCarrierDirectories.has(dir)) { + if (manifest.private !== true) { + errors.push(`${label}: private carrier must set "private": true`) + } + if (manifest.publishConfig !== undefined) { + errors.push(`${label}: private carrier must omit publishConfig`) + } } else if (releaseMemberDirectory.test(dir)) { // Release members state that they are publishable: npm refuses a private // package, and the repository field is how a consumer finds the source of @@ -484,7 +497,7 @@ export function main(): void { ] const errors = [ ...checkRepositoryVersion(), - ...manifests.flatMap(checkWorkspace), + ...manifests.flatMap(checkWorkspaceManifest), ...checkWorkspaceProtocol(manifests), ...checkExperimentalDependencyIsolation(dependencyManifests), ...checkHierarchyShape(), diff --git a/scripts/rescope-vendor.ts b/scripts/rescope-vendor.ts index 7780f360c2..134dfad203 100644 --- a/scripts/rescope-vendor.ts +++ b/scripts/rescope-vendor.ts @@ -77,8 +77,6 @@ interface GenericSkip { } const GENERIC_SKIPS: readonly GenericSkip[] = [ - // `vendorPackages` lists vendor/ directory names, joined with 'vendor' below it. - { file: 'packages/examples/acp-demo/tests/built-bin.e2e.ts', upstream: ['cordis', 'cosmokit', 'schemastery'] }, // `Symbol.for('schemastery')` and the `vendor:` metadata field are upstream identifiers. { file: 'vendor/schemastery/src/index.ts', upstream: ['schemastery'] }, // Asserts the vendored-manifest table, which gains an upstream-name column. @@ -161,7 +159,6 @@ const POSTCONDITIONS: readonly PostCondition[] = [ // The preset id the shipped composition documents to its own model. { file: 'apps/cli/config/agent-presets/cordis/agent.cordis.yml', text: 'The `cordis` agent preset', count: 1 }, { file: 'apps/cli/config/agent-presets/cordis/agent.cordis.yml', text: 'corrupting the `cordis` preset', count: 1 }, - { file: 'packages/examples/acp-demo/tests/built-bin.e2e.ts', text: '\'cordis\', \'loader\', \'include\', \'timer\', \'hmr\', \'logger-console\',', count: 1 }, ] /** diff --git a/scripts/smoke-python-runtime.py b/scripts/smoke-python-runtime.py index df0d78f811..6c4010e427 100644 --- a/scripts/smoke-python-runtime.py +++ b/scripts/smoke-python-runtime.py @@ -35,7 +35,7 @@ FS_SEARCH_MARKER = "PACKAGED_FS_SEARCH_OK" MCP_PROMPT = "Exercise the packaged MCP client with one external stdio server." MCP_TEXT = "MCP client smoke ok" MINIMAL_CORDIS = ( - Path(__file__).resolve().parent.parent / "examples" / "jsonrpc-agent" / "minimal.cordis.yml" + Path(__file__).resolve().parent.parent / "examples" / "python-sdk-agent" / "minimal.cordis.yml" ) MINIMAL_BASH_COMMAND = ( "counter=$(( ${counter:-0} + 1 )); export counter; " diff --git a/scripts/verify-package-readme-model-experience.ts b/scripts/verify-package-readme-model-experience.ts index 7d618004fe..2cc5dcd2a8 100644 --- a/scripts/verify-package-readme-model-experience.ts +++ b/scripts/verify-package-readme-model-experience.ts @@ -159,10 +159,9 @@ const SENTENCE_MODEL_EXPERIENCE: Readonly> = { 'packages/typert/generator': { kind: 'none', reason: 'The build-time generator runs outside any agent runtime and touches no model request.' }, 'packages/jobs/jobs': { kind: 'indirect', reason: 'Producer and controller plugins own all model rendering over the job registry.' }, 'packages/jobs/jobs-local': { kind: 'indirect', reason: 'The registry backend delegates model rendering to producer plugins and dsh-tool-jobs.' }, - 'packages/examples/acp-demo': { kind: 'indirect', reason: 'The app bundle delegates request composition to dsh-agent-spine-demo and dsh-acp.' }, 'packages/boot/app-boot': { kind: 'indirect', reason: 'Only the loaded plugin tree contributes model context.' }, 'packages/boot/cmdline': { kind: 'none', reason: 'Resolves the process command line before any session exists; configured rows own every model-visible consequence.' }, - 'packages/examples/jsonrpc-demo': { kind: 'indirect', reason: 'Only the externally configured plugin tree contributes model context.' }, + 'packages/sdk/python-runtime': { kind: 'indirect', reason: 'Only the externally configured plugin tree contributes model context.' }, 'packages/interaction/permission-presets': { kind: 'indirect', reason: 'The service writes mechanism events rendered by dsh-user-approval and dsh-tool-bash.' }, 'packages/interaction/user-questions': { kind: 'indirect', reason: 'Model-facing consumers render provider answers and seam errors.' }, 'packages/util/timeout': { kind: 'indirect', reason: 'Only timeout consumers render timeout outcomes.' }, diff --git a/tsconfig.host.json b/tsconfig.host.json index 6e6d9af092..c3ead24d3c 100644 --- a/tsconfig.host.json +++ b/tsconfig.host.json @@ -256,7 +256,6 @@ { "path": "./packages/runtime-diagnostics/invariants" }, { "path": "./packages/test-support/agent-loop-testkit" }, { "path": "./packages/acp/acp" }, - { "path": "./packages/examples/acp-demo" }, { "path": "./packages/bundle/acp-app" }, { "path": "./packages/bundle/base" }, { "path": "./packages/bundle/headless" }, @@ -265,7 +264,7 @@ { "path": "./packages/boot/app-boot" }, { "path": "./packages/boot/cmdline" }, { "path": "./packages/sdk/server" }, - { "path": "./packages/examples/jsonrpc-demo" }, + { "path": "./packages/sdk/python-runtime" }, { "path": "./packages/test-support/llm-replay" }, { "path": "./packages/typert/generator" }, { "path": "./packages/test-support/acp-snapshot" },