@deepseek-ai/dsh-tmux-context 0.2.1-alpha.1 → 0.2.1-alpha.2

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.
Files changed (2) hide show
  1. package/lib/index.js +21 -8
  2. package/package.json +15 -15
package/lib/index.js CHANGED
@@ -1863,20 +1863,33 @@ var LlmError = class extends HarnessError {
1863
1863
  * Resolve one call under its current adapter registration. The returned
1864
1864
  * one-shot handle keeps that registration across header logging and dispatch,
1865
1865
  * so HMR cannot combine one adapter's capability result with another adapter.
1866
- * @param config - provider/model route and optional request controls.
1866
+ * An optional synchronous callback selects concrete controls using captured
1867
+ * model metadata. Defaults and validation apply to its result. Callback
1868
+ * failures and cancellation reject preparation before dispatch.
1869
+ * @param config - provider/model route and optional concrete request controls.
1867
1870
  * @param signal - optional cancellation for adapter-owned capability lookup.
1871
+ * @param configure - pure control selection, called once before defaults and validation.
1868
1872
  * @returns a prepared config and its registration-bound stream entry point.
1869
1873
  */
1870
- async prepareCall(config, signal) {
1871
- const registration = this.registration(config.provider);
1872
- const adapterCall = await registration.adapter.prepareCall(config.provider, config.model, signal);
1873
- const modelInfo = this.normalizeModelInfo(registration, config.model, adapterCall.model);
1874
- const resolved = this.resolveCallWithInfo(config, modelInfo);
1874
+ async prepareCall(config, signal, configure) {
1875
+ signal?.throwIfAborted();
1876
+ const { provider, model, ...controls } = config;
1877
+ const registration = this.registration(provider);
1878
+ const adapterCall = await registration.adapter.prepareCall(provider, model, signal);
1879
+ signal?.throwIfAborted();
1880
+ const modelInfo = this.normalizeModelInfo(registration, model, adapterCall.model);
1881
+ const proposed = configure === void 0 ? config : {
1882
+ ...configure(deepFreeze(structuredClone(controls)), deepFreeze(modelInfo)),
1883
+ provider,
1884
+ model
1885
+ };
1886
+ signal?.throwIfAborted();
1887
+ const resolved = this.resolveCallWithInfo(proposed, modelInfo);
1875
1888
  const resolvedConfig = deepFreeze(structuredClone(resolved.config));
1876
1889
  const context = resolved.context === void 0 ? void 0 : deepFreeze(structuredClone(resolved.context));
1877
1890
  const adapterDefaults = deepFreeze({
1878
- ...config.reasoningEffort === void 0 && resolvedConfig.reasoningEffort !== void 0 ? { reasoningEffort: true } : {},
1879
- ...config.maxTokens === void 0 && resolvedConfig.maxTokens !== void 0 ? { maxTokens: true } : {}
1891
+ ...proposed.reasoningEffort === void 0 && resolvedConfig.reasoningEffort !== void 0 ? { reasoningEffort: true } : {},
1892
+ ...proposed.maxTokens === void 0 && resolvedConfig.maxTokens !== void 0 ? { maxTokens: true } : {}
1880
1893
  });
1881
1894
  let dispatched = false;
1882
1895
  return Object.freeze({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-tmux-context",
3
3
  "description": "Opt-in durable per-step context with this agent's tmux pane and window location",
4
- "version": "0.2.1-alpha.1",
4
+ "version": "0.2.1-alpha.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -27,24 +27,24 @@
27
27
  ],
28
28
  "license": "MIT",
29
29
  "dependencies": {
30
- "zod": "^4.4.3",
31
- "@deepseek-ai/schemastery": "~3.18.5-alpha.1"
30
+ "@deepseek-ai/schemastery": "~3.18.5-alpha.1",
31
+ "zod": "^4.4.3"
32
32
  },
33
33
  "peerDependencies": {
34
- "@deepseek-ai/dsh-agent": "0.2.1-alpha.1",
35
- "@deepseek-ai/dsh-shell": "0.2.1-alpha.1",
36
- "@deepseek-ai/dsh-session": "0.2.1-alpha.1",
34
+ "@deepseek-ai/dsh-agent": "0.2.1-alpha.2",
35
+ "@deepseek-ai/dsh-shell": "0.2.1-alpha.2",
36
+ "@deepseek-ai/dsh-session": "0.2.1-alpha.2",
37
37
  "@deepseek-ai/cordis": "~4.0.5-alpha.1",
38
- "@deepseek-ai/dsh-session-projection": "0.2.1-alpha.1"
38
+ "@deepseek-ai/dsh-session-projection": "0.2.1-alpha.2"
39
39
  },
40
40
  "devDependencies": {
41
- "@deepseek-ai/dsh-agent": "0.2.1-alpha.1",
42
- "@deepseek-ai/dsh-agent-loop-testkit": "0.2.1-alpha.1",
43
- "@deepseek-ai/dsh-shell": "0.2.1-alpha.1",
44
- "@deepseek-ai/dsh-llm": "0.2.1-alpha.1",
45
- "@deepseek-ai/dsh-system-prompt": "0.2.1-alpha.1",
46
- "@deepseek-ai/dsh-session-projection": "0.2.1-alpha.1",
47
- "@deepseek-ai/dsh-session": "0.2.1-alpha.1",
48
- "@deepseek-ai/cordis": "~4.0.5-alpha.1"
41
+ "@deepseek-ai/dsh-agent": "0.2.1-alpha.2",
42
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.2.1-alpha.2",
43
+ "@deepseek-ai/dsh-shell": "0.2.1-alpha.2",
44
+ "@deepseek-ai/dsh-llm": "0.2.1-alpha.2",
45
+ "@deepseek-ai/dsh-session": "0.2.1-alpha.2",
46
+ "@deepseek-ai/dsh-system-prompt": "0.2.1-alpha.2",
47
+ "@deepseek-ai/cordis": "~4.0.5-alpha.1",
48
+ "@deepseek-ai/dsh-session-projection": "0.2.1-alpha.2"
49
49
  }
50
50
  }