better-dsh 0.3.2-e → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -87,9 +87,9 @@ async function isPathUnder(path$1, root, caseSensitive = process.platform !== "w
87
87
  *
88
88
  * Per-call policy: `read-only` denies every mutation; `workspace-write` allows
89
89
  * a mutation only when the target canonicalizes under the policy's workspace
90
- * root or a platform temp area from the shared `writableRoots` policy;
91
- * `danger-full-access` delegates unfenced. A denial throws the structured
92
- * `FS_SANDBOX_DENIED`.
90
+ * root, an explicit additional writable root, or a platform temp area from the
91
+ * shared `writableRoots` policy; `danger-full-access` delegates unfenced. A
92
+ * denial throws the structured `FS_SANDBOX_DENIED`.
93
93
  *
94
94
  * @module @deepseek-ai/dsh-fs-sandbox
95
95
  */
package/lib/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { t as Schema } from "./index2.js";
2
2
  import { Context, Service } from "@deepseek-ai/cordis";
3
3
  import { ToolDefinition, ToolExecutionInput, ToolRunContext, ToolRuntime } from "@deepseek-ai/dsh-tools";
4
+ import { ToolExecutionPipeline } from "@deepseek-ai/dsh-tools/pipeline";
4
5
  import { ContentBlock, HarnessError } from "@deepseek-ai/dsh-llm";
5
6
  import { Scoped } from "@deepseek-ai/dsh-scope";
6
7
  import { Agent } from "@deepseek-ai/dsh-agent";
@@ -622,10 +623,10 @@ declare module '@deepseek-ai/cordis' {
622
623
  }
623
624
  /**
624
625
  * Capabilities the `eval` bridge closes over, mirroring upstream's
625
- * `RunCodeBridgeOptions` (the `requireRuntime` idiom): the registry-private
626
- * staged scheduler travels through the exported `TOOL_RUNTIME_SCHEDULER`
627
- * symbol-keyed property rather than a closure, because — unlike upstream —
628
- * the registry does not mint this tool for us.
626
+ * `RunCodeBridgeOptions` (the `requireRuntime` idiom): sub-dispatch rides a
627
+ * plugin-built `ToolExecutionPipeline` (0.2.2) rather than the pre-0.2.2
628
+ * registry-private staged scheduler, because — unlike upstream's PTC
629
+ * executor — the registry does not mint this tool for us.
629
630
  */
630
631
  interface RunCellBridgeOptions {
631
632
  /** Resolves `ctx.replRuntime` or throws the loud misconfiguration error (use-time read). */
@@ -649,17 +650,20 @@ interface RunCellBridgeOptions {
649
650
  /**
650
651
  * Build the `eval` {@link ToolDefinition}: required `cell` and
651
652
  * `description` parameters, executed through the dispatch bridge described
652
- * in the module doc. Sub-calls ride the registry's exported staged scheduler
653
- * (`prepare`/`dispatch`/`finalize`/`finish`) under the native concurrency
654
- * contract; each sub-dispatch is logged for reconstruction
655
- * (`tool/ptc-dispatch-start` / `tool/ptc-dispatch`) while only the outer
656
- * curated result enters model history.
657
- * @param registry - the host tool registry (sub-calls go through its staged
658
- * scheduler, bindings cover its registered tools).
653
+ * in the module doc. Sub-calls ride the plugin-built staged pipeline
654
+ * (`prepare`/`dispatch`/`complete` — the 0.2.2 `ToolExecutionPipeline`, the
655
+ * sanctioned successor of the retired `TOOL_RUNTIME_SCHEDULER` symbol) under
656
+ * the native concurrency contract; each sub-dispatch is logged for
657
+ * reconstruction (`tool/ptc-dispatch-start` / `tool/ptc-dispatch`) while only
658
+ * the outer curated result enters model history.
659
+ * @param registry - the host tool registry (bindings cover its registered
660
+ * tools; schema projection reads it live).
661
+ * @param pipeline - the staged invocation pipeline built over the same
662
+ * registry's mounting context (sub-calls dispatch through it).
659
663
  * @param options - the bridge capabilities described above.
660
664
  * @returns the registry-ready definition.
661
665
  */
662
- declare function createRunCellTool(registry: ToolRuntime, options: RunCellBridgeOptions): ToolDefinition;
666
+ declare function createRunCellTool(registry: ToolRuntime, pipeline: ToolExecutionPipeline, options: RunCellBridgeOptions): ToolDefinition;
663
667
  declare function apply(ctx: Context, config: Config): void;
664
668
  declare const _default: {
665
669
  name: string;
package/lib/index.js CHANGED
@@ -2,7 +2,6 @@ import { t as Schema } from "./lib.js";
2
2
  import { a as RESERVED_ERROR_MEMBERS, i as RESERVED_BINDING_GLOBALS, n as DUNDER_MEMBER, o as ReplRuntime, r as PORTABLE_RESERVED_WORDS, t as isFlatBindableName } from "./py-sdk2.js";
3
3
  import { n as resolveKernelEnv } from "./kernel-env2.js";
4
4
  import { t as captureAllTools } from "./native-capture.js";
5
- import { createRequire } from "node:module";
6
5
  import { Context } from "@deepseek-ai/cordis";
7
6
  import { createHash, randomBytes, randomUUID } from "node:crypto";
8
7
  import { existsSync, mkdirSync, readFileSync, rmSync } from "node:fs";
@@ -11,7 +10,8 @@ import { spawn } from "node:child_process";
11
10
  import { createServer } from "node:http";
12
11
  import { createInterface } from "node:readline";
13
12
  import { fileURLToPath } from "node:url";
14
- import { TOOL_RUNTIME_SCHEDULER, defineTool } from "@deepseek-ai/dsh-tools";
13
+ import { defineTool } from "@deepseek-ai/dsh-tools";
14
+ import { ToolExecutionPipeline } from "@deepseek-ai/dsh-tools/pipeline";
15
15
  import * as dshLlm from "@deepseek-ai/dsh-llm";
16
16
  import { BlockAssembler, HarnessError, createUserMessage } from "@deepseek-ai/dsh-llm";
17
17
  import { scopeTarget } from "@deepseek-ai/dsh-scope";
@@ -2165,17 +2165,20 @@ function renderValue(value) {
2165
2165
  /**
2166
2166
  * Build the `eval` {@link ToolDefinition}: required `cell` and
2167
2167
  * `description` parameters, executed through the dispatch bridge described
2168
- * in the module doc. Sub-calls ride the registry's exported staged scheduler
2169
- * (`prepare`/`dispatch`/`finalize`/`finish`) under the native concurrency
2170
- * contract; each sub-dispatch is logged for reconstruction
2171
- * (`tool/ptc-dispatch-start` / `tool/ptc-dispatch`) while only the outer
2172
- * curated result enters model history.
2173
- * @param registry - the host tool registry (sub-calls go through its staged
2174
- * scheduler, bindings cover its registered tools).
2168
+ * in the module doc. Sub-calls ride the plugin-built staged pipeline
2169
+ * (`prepare`/`dispatch`/`complete` — the 0.2.2 `ToolExecutionPipeline`, the
2170
+ * sanctioned successor of the retired `TOOL_RUNTIME_SCHEDULER` symbol) under
2171
+ * the native concurrency contract; each sub-dispatch is logged for
2172
+ * reconstruction (`tool/ptc-dispatch-start` / `tool/ptc-dispatch`) while only
2173
+ * the outer curated result enters model history.
2174
+ * @param registry - the host tool registry (bindings cover its registered
2175
+ * tools; schema projection reads it live).
2176
+ * @param pipeline - the staged invocation pipeline built over the same
2177
+ * registry's mounting context (sub-calls dispatch through it).
2175
2178
  * @param options - the bridge capabilities described above.
2176
2179
  * @returns the registry-ready definition.
2177
2180
  */
2178
- function createRunCellTool(registry, options) {
2181
+ function createRunCellTool(registry, pipeline, options) {
2179
2182
  const { requireRuntime, maxParallel, shapeDispatchLog, warn } = options;
2180
2183
  return defineTool({
2181
2184
  name: EVAL_NAME,
@@ -2320,16 +2323,6 @@ function createRunCellTool(registry, options) {
2320
2323
  parent: exec.token,
2321
2324
  signal: runController.signal
2322
2325
  };
2323
- const scheduler = registry[TOOL_RUNTIME_SCHEDULER];
2324
- if (scheduler === void 0) {
2325
- let resolvedFrom;
2326
- try {
2327
- resolvedFrom = createRequire(import.meta.url).resolve("@deepseek-ai/dsh-tools");
2328
- } catch {
2329
- resolvedFrom = "(unresolvable from the plugin position)";
2330
- }
2331
- throw new Error(`${EVAL_NAME}: the tools service mounted by this composition lacks the TOOL_RUNTIME_SCHEDULER symbol as this plugin sees it — REPL sub-dispatch cannot run. Most likely a dual-copy dsh-tools: the symbol keying the mounted ToolRuntime instance is not the symbol this plugin imported (named methods like executionMode keep working across copies; only the symbol-keyed field goes missing). This plugin resolves @deepseek-ai/dsh-tools from: ${resolvedFrom}. Check the deployed plugin's node_modules for stray @deepseek-ai entries (only schemastery and cosmokit belong there)`);
2332
- }
2333
2326
  const outcome = await new Promise((resolve$1, reject) => {
2334
2327
  let parked;
2335
2328
  const settle = (result) => {
@@ -2375,7 +2368,7 @@ function createRunCellTool(registry, options) {
2375
2368
  pendingQueue.push({
2376
2369
  flight: Promise.resolve(),
2377
2370
  settled: false,
2378
- classify: () => registry.executionMode(input).kind,
2371
+ classify: () => pipeline.executionMode(input).kind,
2379
2372
  abandon: () => {
2380
2373
  reject(/* @__PURE__ */ new Error(`${EVAL_NAME} run is over (${String(runController.signal.reason)}); ${name$1} tool call abandoned`));
2381
2374
  },
@@ -2393,9 +2386,9 @@ function createRunCellTool(registry, options) {
2393
2386
  arguments: normalized.logged
2394
2387
  });
2395
2388
  try {
2396
- const prepared = await scheduler.prepare(input);
2389
+ const prepared = await pipeline.prepare(input);
2397
2390
  if (prepared.kind === "dispatch") {
2398
- this.flight = scheduler.dispatch(prepared.exec).then((dispatchOutcome) => {
2391
+ this.flight = pipeline.dispatch(prepared.exec).then((dispatchOutcome) => {
2399
2392
  parked = {
2400
2393
  kind: dispatchOutcome.kind,
2401
2394
  exec: prepared.exec,
@@ -2422,7 +2415,7 @@ function createRunCellTool(registry, options) {
2422
2415
  async commit() {
2423
2416
  if (parked === void 0) return;
2424
2417
  try {
2425
- const result = parked.kind === "post-result" ? await scheduler.finalize(parked.exec, parked.result) : scheduler.finish(parked.exec, parked.result);
2418
+ const result = await pipeline.complete(parked.exec, parked);
2426
2419
  for (const context of result.additionalContexts ?? []) exec.deferContext(context);
2427
2420
  if (result.concludesTurn) exec.concludeTurn();
2428
2421
  settle(result);
@@ -2552,7 +2545,8 @@ function apply(ctx, config) {
2552
2545
  }
2553
2546
  return runtimeCtx.get("workflowEngine");
2554
2547
  };
2555
- runtimeCtx.tools.register(createRunCellTool(registry, {
2548
+ const pipeline = new ToolExecutionPipeline(runtimeCtx);
2549
+ runtimeCtx.tools.register(createRunCellTool(registry, pipeline, {
2556
2550
  requireRuntime,
2557
2551
  maxParallel,
2558
2552
  shapeDispatchLog,
@@ -1,6 +1,6 @@
1
- import { t as Schema } from "../index2.js";
2
1
  import { Context } from "@deepseek-ai/cordis";
3
2
  import { ToolDefinition } from "@deepseek-ai/dsh-tools";
3
+ import * as _deepseek_ai_schemastery17 from "@deepseek-ai/schemastery";
4
4
 
5
5
  //#region src/url-schemes/tools/write.d.ts
6
6
 
@@ -50,12 +50,12 @@ declare const inject: string[];
50
50
  * real patch-line config. Schema-level defaults (both ON — the service is
51
51
  * opt-out) survive every overlay layer, per the v0.2.2a ruling.
52
52
  */
53
- declare const Config: Schema<Schemastery.ObjectS<NoInfer<{
54
- urlSchemes: Schema<boolean, boolean, "defined">;
55
- hashline: Schema<boolean, boolean, "defined">;
53
+ declare const Config: _deepseek_ai_schemastery17.default<Schemastery.ObjectS<NoInfer<{
54
+ urlSchemes: _deepseek_ai_schemastery17.default<boolean, boolean, "defined">;
55
+ hashline: _deepseek_ai_schemastery17.default<boolean, boolean, "defined">;
56
56
  }>>, Schemastery.ObjectT<NoInfer<{
57
- urlSchemes: Schema<boolean, boolean, "defined">;
58
- hashline: Schema<boolean, boolean, "defined">;
57
+ urlSchemes: _deepseek_ai_schemastery17.default<boolean, boolean, "defined">;
58
+ hashline: _deepseek_ai_schemastery17.default<boolean, boolean, "defined">;
59
59
  }>>, "plain">;
60
60
  /** Register the four URL-aware tools on one agent's own scope layer. */
61
61
  /**
@@ -75,12 +75,12 @@ declare function apply(ctx: Context, config: UrlSchemesConfig | undefined): void
75
75
  declare const _default: {
76
76
  name: string;
77
77
  inject: string[];
78
- Config: Schema<Schemastery.ObjectS<NoInfer<{
79
- urlSchemes: Schema<boolean, boolean, "defined">;
80
- hashline: Schema<boolean, boolean, "defined">;
78
+ Config: _deepseek_ai_schemastery17.default<Schemastery.ObjectS<NoInfer<{
79
+ urlSchemes: _deepseek_ai_schemastery17.default<boolean, boolean, "defined">;
80
+ hashline: _deepseek_ai_schemastery17.default<boolean, boolean, "defined">;
81
81
  }>>, Schemastery.ObjectT<NoInfer<{
82
- urlSchemes: Schema<boolean, boolean, "defined">;
83
- hashline: Schema<boolean, boolean, "defined">;
82
+ urlSchemes: _deepseek_ai_schemastery17.default<boolean, boolean, "defined">;
83
+ hashline: _deepseek_ai_schemastery17.default<boolean, boolean, "defined">;
84
84
  }>>, "plain">;
85
85
  apply: typeof apply;
86
86
  };
@@ -1,7 +1,7 @@
1
- import { t as Schema } from "./index2.js";
2
1
  import { Context } from "@deepseek-ai/cordis";
3
2
  import { IncomingMessage } from "node:http";
4
3
  import { CredentialRecord } from "@deepseek-ai/dsh-credentials";
4
+ import * as _deepseek_ai_schemastery11 from "@deepseek-ai/schemastery";
5
5
 
6
6
  //#region src/web-password.d.ts
7
7
 
@@ -123,10 +123,10 @@ interface WebPasswordConfig {
123
123
  /** Absolute browser-session lifetime in days. Default: 30 (the native default). */
124
124
  cookieMaxAgeDays?: number;
125
125
  }
126
- declare const Config: Schema<Schemastery.ObjectS<NoInfer<{
127
- cookieMaxAgeDays: Schema<number, number, "defined">;
126
+ declare const Config: _deepseek_ai_schemastery11.default<Schemastery.ObjectS<NoInfer<{
127
+ cookieMaxAgeDays: _deepseek_ai_schemastery11.default<number, number, "defined">;
128
128
  }>>, Schemastery.ObjectT<NoInfer<{
129
- cookieMaxAgeDays: Schema<number, number, "defined">;
129
+ cookieMaxAgeDays: _deepseek_ai_schemastery11.default<number, number, "defined">;
130
130
  }>>, "plain">;
131
131
  /** Cordis plugin name; also the scope of this row's credential record. */
132
132
  declare const name = "dashr-web-password";
@@ -145,10 +145,10 @@ declare function apply(ctx: Context, config?: WebPasswordConfig): void;
145
145
  declare const _default: {
146
146
  name: string;
147
147
  inject: string[];
148
- Config: Schema<Schemastery.ObjectS<NoInfer<{
149
- cookieMaxAgeDays: Schema<number, number, "defined">;
148
+ Config: _deepseek_ai_schemastery11.default<Schemastery.ObjectS<NoInfer<{
149
+ cookieMaxAgeDays: _deepseek_ai_schemastery11.default<number, number, "defined">;
150
150
  }>>, Schemastery.ObjectT<NoInfer<{
151
- cookieMaxAgeDays: Schema<number, number, "defined">;
151
+ cookieMaxAgeDays: _deepseek_ai_schemastery11.default<number, number, "defined">;
152
152
  }>>, "plain">;
153
153
  apply: typeof apply;
154
154
  };
@@ -377,7 +377,7 @@ var PasswordGate = class {
377
377
  */
378
378
  async serveIndex(res, head) {
379
379
  const distIndex = await (this.distIndex ??= resolveDistIndex());
380
- const body = withBaseHref(this.ctx.webServer.renderIndex(await readFile(distIndex, "utf8")));
380
+ const body = withBaseHref(this.ctx.webServer.renderIndex(await readFile(distIndex, "utf8"), this.ctx.connection.browserPeer));
381
381
  res.writeHead(200, { "content-type": "text/html; charset=utf-8" });
382
382
  res.end(head ? void 0 : body);
383
383
  }
@@ -1,3 +1,2 @@
1
- import "./index2.js";
2
1
  import { a as _default, c as buildTrustScript, d as name, i as TrustConfig, l as deriveDefaultPageAuthorities, n as Config, o as apply, r as MobileConfig, s as buildMobileScript, t as BootScriptRow, u as inject } from "./web-trust2.js";
3
2
  export { BootScriptRow, Config, MobileConfig, TrustConfig, apply, buildMobileScript, buildTrustScript, _default as default, deriveDefaultPageAuthorities, inject, name };
@@ -1,5 +1,5 @@
1
- import { t as Schema } from "./index2.js";
2
1
  import { Context } from "@deepseek-ai/cordis";
2
+ import * as _deepseek_ai_schemastery0 from "@deepseek-ai/schemastery";
3
3
 
4
4
  //#region src/web-trust.d.ts
5
5
 
@@ -76,12 +76,12 @@ interface TrustConfig {
76
76
  trustedPageAuthorities?: readonly string[];
77
77
  }
78
78
  /** Row config schema (schema-level default derives from `DSH_TRUSTED_HOSTS`). */
79
- declare const Config: Schema<Schemastery.ObjectS<NoInfer<{
80
- trustAllHosts: Schema<boolean, boolean, "defined">;
81
- trustedPageAuthorities: Schema<string[], string[], "defined">;
79
+ declare const Config: _deepseek_ai_schemastery0.default<Schemastery.ObjectS<NoInfer<{
80
+ trustAllHosts: _deepseek_ai_schemastery0.default<boolean, boolean, "defined">;
81
+ trustedPageAuthorities: _deepseek_ai_schemastery0.default<string[], string[], "defined">;
82
82
  }>>, Schemastery.ObjectT<NoInfer<{
83
- trustAllHosts: Schema<boolean, boolean, "defined">;
84
- trustedPageAuthorities: Schema<string[], string[], "defined">;
83
+ trustAllHosts: _deepseek_ai_schemastery0.default<boolean, boolean, "defined">;
84
+ trustedPageAuthorities: _deepseek_ai_schemastery0.default<string[], string[], "defined">;
85
85
  }>>, "plain">;
86
86
  /** Cordis plugin name. */
87
87
  declare const name = "dashr-web-trust";
@@ -100,12 +100,12 @@ declare function apply(ctx: Context, config: TrustConfig | undefined): void;
100
100
  declare const _default: {
101
101
  name: string;
102
102
  inject: string[];
103
- Config: Schema<Schemastery.ObjectS<NoInfer<{
104
- trustAllHosts: Schema<boolean, boolean, "defined">;
105
- trustedPageAuthorities: Schema<string[], string[], "defined">;
103
+ Config: _deepseek_ai_schemastery0.default<Schemastery.ObjectS<NoInfer<{
104
+ trustAllHosts: _deepseek_ai_schemastery0.default<boolean, boolean, "defined">;
105
+ trustedPageAuthorities: _deepseek_ai_schemastery0.default<string[], string[], "defined">;
106
106
  }>>, Schemastery.ObjectT<NoInfer<{
107
- trustAllHosts: Schema<boolean, boolean, "defined">;
108
- trustedPageAuthorities: Schema<string[], string[], "defined">;
107
+ trustAllHosts: _deepseek_ai_schemastery0.default<boolean, boolean, "defined">;
108
+ trustedPageAuthorities: _deepseek_ai_schemastery0.default<string[], string[], "defined">;
109
109
  }>>, "plain">;
110
110
  apply: typeof apply;
111
111
  };
@@ -1,15 +1,15 @@
1
- import { t as Schema } from "./index2.js";
2
1
  import { Context } from "@deepseek-ai/cordis";
2
+ import * as _deepseek_ai_schemastery9 from "@deepseek-ai/schemastery";
3
3
 
4
4
  //#region src/welcome-notice.d.ts
5
5
  declare const name = "dashr-welcome-notice";
6
6
  declare const inject: string[];
7
- declare const Config: Schema<NoInfer<Schemastery.ObjectS<{}>>, NoInfer<Schemastery.ObjectT<{}>>, "volatile">;
7
+ declare const Config: _deepseek_ai_schemastery9.default<NoInfer<Schemastery.ObjectS<{}>>, NoInfer<Schemastery.ObjectT<{}>>, "volatile">;
8
8
  declare function apply(ctx: Context): void;
9
9
  declare const _default: {
10
10
  name: string;
11
11
  inject: string[];
12
- Config: Schema<NoInfer<Schemastery.ObjectS<{}>>, NoInfer<Schemastery.ObjectT<{}>>, "volatile">;
12
+ Config: _deepseek_ai_schemastery9.default<NoInfer<Schemastery.ObjectS<{}>>, NoInfer<Schemastery.ObjectT<{}>>, "volatile">;
13
13
  apply: typeof apply;
14
14
  };
15
15
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "better-dsh",
3
- "version": "0.3.2-e",
3
+ "version": "0.3.3",
4
4
  "description": "Make your dsh ready for serious coding tasks. (Tools x Schemas)^REPL. `skill://`, `ctx://`, `agent://`, `dvc://`, `dsh://`, Python REPL, Context as Variables, cross compactions recallable, full context revive. `hash-edit`, `dvc://browser`, subagent as function, workflow as function.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -107,66 +107,70 @@
107
107
  "@deepseek-ai/cordis": "^4.0.1",
108
108
  "@deepseek-ai/cordis-plugin-include": "^1.0.6",
109
109
  "@deepseek-ai/cordis-plugin-loader": "^1.0.2",
110
- "@deepseek-ai/dsh": ">=0.1.5-0 <0.3.0-0",
111
- "@deepseek-ai/dsh-agent": ">=0.1.5-0 <0.3.0-0",
112
- "@deepseek-ai/dsh-agent-instructions": ">=0.1.5-0 <0.3.0-0",
113
- "@deepseek-ai/dsh-agent-loop": ">=0.1.5-0 <0.3.0-0",
114
- "@deepseek-ai/dsh-agent-presets": ">=0.1.5-0 <0.3.0-0",
115
- "@deepseek-ai/dsh-agent-tool-presentation": ">=0.1.5-0 <0.3.0-0",
116
- "@deepseek-ai/dsh-api-gateway": ">=0.1.5-0 <0.3.0-0",
117
- "@deepseek-ai/dsh-api-remotes": ">=0.1.5-0 <0.3.0-0",
118
- "@deepseek-ai/dsh-client-connection": ">=0.1.5-0 <0.3.0-0",
119
- "@deepseek-ai/dsh-client-locale": ">=0.1.5-0 <0.3.0-0",
120
- "@deepseek-ai/dsh-client-ui-conversation": ">=0.1.5-0 <0.3.0-0",
121
- "@deepseek-ai/dsh-client-ui-primitives": ">=0.1.5-0 <0.3.0-0",
122
- "@deepseek-ai/dsh-client-ui-settings": ">=0.1.5-0 <0.3.0-0",
123
- "@deepseek-ai/dsh-client-ui-settings-plugins": ">=0.1.5-0 <0.3.0-0",
124
- "@deepseek-ai/dsh-client-ui-slots": ">=0.1.5-0 <0.3.0-0",
125
- "@deepseek-ai/dsh-code-runtime": ">=0.1.5-0 <0.3.0-0",
126
- "@deepseek-ai/dsh-code-runtime-worker-thread": ">=0.1.5-0 <0.3.0-0",
127
- "@deepseek-ai/dsh-command-compact": ">=0.1.5-0 <0.3.0-0",
128
- "@deepseek-ai/dsh-commands": ">=0.1.5-0 <0.3.0-0",
129
- "@deepseek-ai/dsh-credentials": ">=0.1.5-0 <0.3.0-0",
130
- "@deepseek-ai/dsh-fs": ">=0.1.5-0 <0.3.0-0",
131
- "@deepseek-ai/dsh-fs-local": ">=0.1.5-0 <0.3.0-0",
132
- "@deepseek-ai/dsh-home-paths": ">=0.1.5-0 <0.3.0-0",
133
- "@deepseek-ai/dsh-host-webserver": ">=0.1.5-0 <0.3.0-0",
134
- "@deepseek-ai/dsh-llm": ">=0.1.5-0 <0.3.0-0",
135
- "@deepseek-ai/dsh-llm-retry": ">=0.1.5-0 <0.3.0-0",
136
- "@deepseek-ai/dsh-persona": ">=0.1.5-0 <0.3.0-0",
137
- "@deepseek-ai/dsh-plan-mode": ">=0.1.5-0 <0.3.0-0",
138
- "@deepseek-ai/dsh-sandbox": ">=0.1.5-0 <0.3.0-0",
139
- "@deepseek-ai/dsh-scope": ">=0.1.5-0 <0.3.0-0",
140
- "@deepseek-ai/dsh-session": ">=0.1.5-0 <0.3.0-0",
141
- "@deepseek-ai/dsh-settings": ">=0.1.5-0 <0.3.0-0",
142
- "@deepseek-ai/dsh-skill-filesystem": ">=0.1.5-0 <0.3.0-0",
143
- "@deepseek-ai/dsh-system-prompt": ">=0.1.5-0 <0.3.0-0",
144
- "@deepseek-ai/dsh-tool-ask-user": ">=0.1.5-0 <0.3.0-0",
145
- "@deepseek-ai/dsh-tool-bash": ">=0.1.5-0 <0.3.0-0",
146
- "@deepseek-ai/dsh-tool-fs": ">=0.1.5-0 <0.3.0-0",
147
- "@deepseek-ai/dsh-tool-fs-search": ">=0.1.5-0 <0.3.0-0",
148
- "@deepseek-ai/dsh-tool-goal": ">=0.1.5-0 <0.3.0-0",
149
- "@deepseek-ai/dsh-tool-jobs": ">=0.1.5-0 <0.3.0-0",
150
- "@deepseek-ai/dsh-tool-pwsh": ">=0.1.5-0 <0.3.0-0",
151
- "@deepseek-ai/dsh-tool-ralph": ">=0.1.5-0 <0.3.0-0",
152
- "@deepseek-ai/dsh-tool-skill": ">=0.1.5-0 <0.3.0-0",
153
- "@deepseek-ai/dsh-tool-subagent": ">=0.1.5-0 <0.3.0-0",
154
- "@deepseek-ai/dsh-tool-subagent-control": ">=0.1.5-0 <0.3.0-0",
155
- "@deepseek-ai/dsh-tool-todo": ">=0.1.5-0 <0.3.0-0",
156
- "@deepseek-ai/dsh-tool-web": ">=0.1.5-0 <0.3.0-0",
157
- "@deepseek-ai/dsh-tool-workflow": ">=0.1.5-0 <0.3.0-0",
158
- "@deepseek-ai/dsh-tools": ">=0.1.5-0 <0.3.0-0",
159
- "@deepseek-ai/dsh-typert-protocol": ">=0.1.5-0 <0.3.0-0",
160
- "@deepseek-ai/dsh-typert-registry": ">=0.1.5-0 <0.3.0-0",
161
- "@deepseek-ai/dsh-user-approval": ">=0.1.5-0 <0.3.0-0",
162
- "@deepseek-ai/dsh-web-app": ">=0.1.5-0 <0.3.0-0",
163
- "@deepseek-ai/dsh-workflow-worker-thread": ">=0.1.5-0 <0.3.0-0",
110
+ "@deepseek-ai/dsh": ">=0.2.2-0 <1.0.0-0",
111
+ "@deepseek-ai/dsh-agent": ">=0.2.2-0 <1.0.0-0",
112
+ "@deepseek-ai/dsh-agent-instructions": ">=0.2.2-0 <1.0.0-0",
113
+ "@deepseek-ai/dsh-agent-loop": ">=0.2.2-0 <1.0.0-0",
114
+ "@deepseek-ai/dsh-agent-presets": ">=0.2.2-0 <1.0.0-0",
115
+ "@deepseek-ai/dsh-agent-tool-presentation": ">=0.2.2-0 <1.0.0-0",
116
+ "@deepseek-ai/dsh-api-gateway": ">=0.2.2-0 <1.0.0-0",
117
+ "@deepseek-ai/dsh-api-remotes": ">=0.2.2-0 <1.0.0-0",
118
+ "@deepseek-ai/dsh-client-connection": ">=0.2.2-0 <1.0.0-0",
119
+ "@deepseek-ai/dsh-client-locale": ">=0.2.2-0 <1.0.0-0",
120
+ "@deepseek-ai/dsh-client-ui-conversation": ">=0.2.2-0 <1.0.0-0",
121
+ "@deepseek-ai/dsh-client-ui-primitives": ">=0.2.2-0 <1.0.0-0",
122
+ "@deepseek-ai/dsh-client-ui-settings": ">=0.2.2-0 <1.0.0-0",
123
+ "@deepseek-ai/dsh-client-ui-settings-plugins": ">=0.2.2-0 <1.0.0-0",
124
+ "@deepseek-ai/dsh-client-ui-slots": ">=0.2.2-0 <1.0.0-0",
125
+ "@deepseek-ai/dsh-code-runtime": ">=0.2.2-0 <1.0.0-0",
126
+ "@deepseek-ai/dsh-code-runtime-worker-thread": ">=0.2.2-0 <1.0.0-0",
127
+ "@deepseek-ai/dsh-command-compact": ">=0.2.2-0 <1.0.0-0",
128
+ "@deepseek-ai/dsh-commands": ">=0.2.2-0 <1.0.0-0",
129
+ "@deepseek-ai/dsh-credentials": ">=0.2.2-0 <1.0.0-0",
130
+ "@deepseek-ai/dsh-fs": ">=0.2.2-0 <1.0.0-0",
131
+ "@deepseek-ai/dsh-fs-local": ">=0.2.2-0 <1.0.0-0",
132
+ "@deepseek-ai/dsh-home-paths": ">=0.2.2-0 <1.0.0-0",
133
+ "@deepseek-ai/dsh-host-webserver": ">=0.2.2-0 <1.0.0-0",
134
+ "@deepseek-ai/dsh-llm": ">=0.2.2-0 <1.0.0-0",
135
+ "@deepseek-ai/dsh-llm-retry": ">=0.2.2-0 <1.0.0-0",
136
+ "@deepseek-ai/dsh-persona": ">=0.2.2-0 <1.0.0-0",
137
+ "@deepseek-ai/dsh-plan-mode": ">=0.2.2-0 <1.0.0-0",
138
+ "@deepseek-ai/dsh-sandbox": ">=0.2.2-0 <1.0.0-0",
139
+ "@deepseek-ai/dsh-scope": ">=0.2.2-0 <1.0.0-0",
140
+ "@deepseek-ai/dsh-session": ">=0.2.2-0 <1.0.0-0",
141
+ "@deepseek-ai/dsh-session-projection": ">=0.2.2-0 <1.0.0-0",
142
+ "@deepseek-ai/dsh-settings": ">=0.2.2-0 <1.0.0-0",
143
+ "@deepseek-ai/dsh-skill-filesystem": ">=0.2.2-0 <1.0.0-0",
144
+ "@deepseek-ai/dsh-system-prompt": ">=0.2.2-0 <1.0.0-0",
145
+ "@deepseek-ai/dsh-tool-ask-user": ">=0.2.2-0 <1.0.0-0",
146
+ "@deepseek-ai/dsh-tool-bash": ">=0.2.2-0 <1.0.0-0",
147
+ "@deepseek-ai/dsh-tool-fs": ">=0.2.2-0 <1.0.0-0",
148
+ "@deepseek-ai/dsh-tool-fs-search": ">=0.2.2-0 <1.0.0-0",
149
+ "@deepseek-ai/dsh-tool-goal": ">=0.2.2-0 <1.0.0-0",
150
+ "@deepseek-ai/dsh-tool-jobs": ">=0.2.2-0 <1.0.0-0",
151
+ "@deepseek-ai/dsh-tool-pwsh": ">=0.2.2-0 <1.0.0-0",
152
+ "@deepseek-ai/dsh-tool-ralph": ">=0.2.2-0 <1.0.0-0",
153
+ "@deepseek-ai/dsh-tool-skill": ">=0.2.2-0 <1.0.0-0",
154
+ "@deepseek-ai/dsh-tool-subagent": ">=0.2.2-0 <1.0.0-0",
155
+ "@deepseek-ai/dsh-tool-subagent-control": ">=0.2.2-0 <1.0.0-0",
156
+ "@deepseek-ai/dsh-tool-todo": ">=0.2.2-0 <1.0.0-0",
157
+ "@deepseek-ai/dsh-tool-web": ">=0.2.2-0 <1.0.0-0",
158
+ "@deepseek-ai/dsh-tool-workflow": ">=0.2.2-0 <1.0.0-0",
159
+ "@deepseek-ai/dsh-tool-executor-native": ">=0.2.2-0 <1.0.0-0",
160
+ "@deepseek-ai/dsh-tool-executor-ptc": ">=0.2.2-0 <1.0.0-0",
161
+ "@deepseek-ai/dsh-tool-testkit": ">=0.2.2-0 <1.0.0-0",
162
+ "@deepseek-ai/dsh-tools": ">=0.2.2-0 <1.0.0-0",
163
+ "@deepseek-ai/dsh-typert-protocol": ">=0.2.2-0 <1.0.0-0",
164
+ "@deepseek-ai/dsh-typert-registry": ">=0.2.2-0 <1.0.0-0",
165
+ "@deepseek-ai/dsh-user-approval": ">=0.2.2-0 <1.0.0-0",
166
+ "@deepseek-ai/dsh-web-app": ">=0.2.2-0 <1.0.0-0",
167
+ "@deepseek-ai/dsh-workflow-worker-thread": ">=0.2.2-0 <1.0.0-0",
164
168
  "react": "^18.2.0",
165
- "@deepseek-ai/dsh-app-boot": ">=0.1.5-0 <0.3.0-0",
166
- "@deepseek-ai/dsh-atomic-write": ">=0.1.5-0 <0.3.0-0",
167
- "@deepseek-ai/dsh-cmdline": ">=0.1.5-0 <0.3.0-0",
168
- "@deepseek-ai/dsh-plugin-manager": ">=0.1.5-0 <0.3.0-0",
169
- "@deepseek-ai/dsh-jobs": ">=0.1.5-0 <0.3.0-0"
169
+ "@deepseek-ai/dsh-app-boot": ">=0.2.2-0 <1.0.0-0",
170
+ "@deepseek-ai/dsh-atomic-write": ">=0.2.2-0 <1.0.0-0",
171
+ "@deepseek-ai/dsh-cmdline": ">=0.2.2-0 <1.0.0-0",
172
+ "@deepseek-ai/dsh-plugin-manager": ">=0.2.2-0 <1.0.0-0",
173
+ "@deepseek-ai/dsh-jobs": ">=0.2.2-0 <1.0.0-0"
170
174
  },
171
175
  "peerDependenciesMeta": {
172
176
  "@deepseek-ai/cordis": {
@@ -235,6 +239,9 @@
235
239
  "@deepseek-ai/dsh-session": {
236
240
  "optional": true
237
241
  },
242
+ "@deepseek-ai/dsh-session-projection": {
243
+ "optional": true
244
+ },
238
245
  "@deepseek-ai/dsh-settings": {
239
246
  "optional": true
240
247
  },
@@ -289,6 +296,15 @@
289
296
  "@deepseek-ai/dsh-tools": {
290
297
  "optional": true
291
298
  },
299
+ "@deepseek-ai/dsh-tool-executor-ptc": {
300
+ "optional": true
301
+ },
302
+ "@deepseek-ai/dsh-tool-executor-native": {
303
+ "optional": true
304
+ },
305
+ "@deepseek-ai/dsh-tool-testkit": {
306
+ "optional": true
307
+ },
292
308
  "@deepseek-ai/dsh-user-approval": {
293
309
  "optional": true
294
310
  },