@atomic-chat/core 0.20.6 → 0.21.0
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.
- package/dist/audio/jobs.js +4 -0
- package/dist/audio/jobs.js.map +1 -1
- package/dist/audio/service.d.ts +1 -1
- package/dist/audio/service.js +3 -1
- package/dist/audio/service.js.map +1 -1
- package/dist/audio/session.js +28 -16
- package/dist/audio/session.js.map +1 -1
- package/dist/audio/state.d.ts +3 -1
- package/dist/audio/state.js +3 -1
- package/dist/audio/state.js.map +1 -1
- package/dist/cli/launch.d.ts +23 -3
- package/dist/cli/launch.js +59 -8
- package/dist/cli/launch.js.map +1 -1
- package/dist/cli/main.d.ts +1 -1
- package/dist/contracts/events.d.ts +8 -0
- package/dist/contracts/settings.d.ts +5 -0
- package/dist/contracts/settings.js.map +1 -1
- package/dist/core/atomic-core.d.ts +3 -1
- package/dist/core/atomic-core.js +4 -1
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +4 -1
- package/dist/core/create.js.map +1 -1
- package/dist/core/sessions.js +1 -0
- package/dist/core/sessions.js.map +1 -1
- package/dist/integrations/catalog.d.ts +25 -8
- package/dist/integrations/catalog.js +105 -38
- package/dist/integrations/catalog.js.map +1 -1
- package/dist/integrations/configure/atomic-agent.d.ts +9 -1
- package/dist/integrations/configure/atomic-agent.js +42 -3
- package/dist/integrations/configure/atomic-agent.js.map +1 -1
- package/dist/integrations/configure/backup.d.ts +21 -0
- package/dist/integrations/configure/backup.js +52 -0
- package/dist/integrations/configure/backup.js.map +1 -0
- package/dist/integrations/configure/claude-code.d.ts +11 -4
- package/dist/integrations/configure/claude-code.js +73 -24
- package/dist/integrations/configure/claude-code.js.map +1 -1
- package/dist/integrations/configure/cline.d.ts +14 -4
- package/dist/integrations/configure/cline.js +78 -6
- package/dist/integrations/configure/cline.js.map +1 -1
- package/dist/integrations/configure/codex.d.ts +5 -3
- package/dist/integrations/configure/codex.js +12 -5
- package/dist/integrations/configure/codex.js.map +1 -1
- package/dist/integrations/configure/copilot.d.ts +28 -5
- package/dist/integrations/configure/copilot.js +124 -8
- package/dist/integrations/configure/copilot.js.map +1 -1
- package/dist/integrations/configure/droid.d.ts +13 -7
- package/dist/integrations/configure/droid.js +48 -17
- package/dist/integrations/configure/droid.js.map +1 -1
- package/dist/integrations/configure/dsh.d.ts +36 -20
- package/dist/integrations/configure/dsh.js +250 -48
- package/dist/integrations/configure/dsh.js.map +1 -1
- package/dist/integrations/configure/goose.d.ts +21 -7
- package/dist/integrations/configure/goose.js +141 -10
- package/dist/integrations/configure/goose.js.map +1 -1
- package/dist/integrations/configure/hermes.d.ts +63 -10
- package/dist/integrations/configure/hermes.js +360 -75
- package/dist/integrations/configure/hermes.js.map +1 -1
- package/dist/integrations/configure/json-backup.d.ts +73 -0
- package/dist/integrations/configure/json-backup.js +292 -0
- package/dist/integrations/configure/json-backup.js.map +1 -0
- package/dist/integrations/configure/json-key-backup.d.ts +43 -0
- package/dist/integrations/configure/json-key-backup.js +113 -0
- package/dist/integrations/configure/json-key-backup.js.map +1 -0
- package/dist/integrations/configure/kilo.d.ts +4 -4
- package/dist/integrations/configure/kilo.js +6 -9
- package/dist/integrations/configure/kilo.js.map +1 -1
- package/dist/integrations/configure/legacy-env-block.d.ts +18 -0
- package/dist/integrations/configure/legacy-env-block.js +47 -0
- package/dist/integrations/configure/legacy-env-block.js.map +1 -0
- package/dist/integrations/configure/mimo.d.ts +3 -2
- package/dist/integrations/configure/mimo.js +8 -9
- package/dist/integrations/configure/mimo.js.map +1 -1
- package/dist/integrations/configure/muse.d.ts +3 -3
- package/dist/integrations/configure/muse.js +5 -6
- package/dist/integrations/configure/muse.js.map +1 -1
- package/dist/integrations/configure/openclaude.d.ts +22 -7
- package/dist/integrations/configure/openclaude.js +132 -39
- package/dist/integrations/configure/openclaude.js.map +1 -1
- package/dist/integrations/configure/openclaw.d.ts +19 -5
- package/dist/integrations/configure/openclaw.js +79 -23
- package/dist/integrations/configure/openclaw.js.map +1 -1
- package/dist/integrations/configure/opencode-style.d.ts +53 -11
- package/dist/integrations/configure/opencode-style.js +218 -23
- package/dist/integrations/configure/opencode-style.js.map +1 -1
- package/dist/integrations/configure/opencode.d.ts +5 -4
- package/dist/integrations/configure/opencode.js +8 -10
- package/dist/integrations/configure/opencode.js.map +1 -1
- package/dist/integrations/configure/openhands.d.ts +5 -4
- package/dist/integrations/configure/openhands.js +7 -7
- package/dist/integrations/configure/openhands.js.map +1 -1
- package/dist/integrations/configure/pi.d.ts +6 -5
- package/dist/integrations/configure/pi.js +79 -30
- package/dist/integrations/configure/pi.js.map +1 -1
- package/dist/integrations/configure/poolside.d.ts +5 -4
- package/dist/integrations/configure/poolside.js +7 -7
- package/dist/integrations/configure/poolside.js.map +1 -1
- package/dist/integrations/configure/registry.d.ts +6 -0
- package/dist/integrations/configure/registry.js +1 -0
- package/dist/integrations/configure/registry.js.map +1 -1
- package/dist/integrations/configure/zcode.d.ts +6 -7
- package/dist/integrations/configure/zcode.js +26 -11
- package/dist/integrations/configure/zcode.js.map +1 -1
- package/dist/integrations/configure/zed.d.ts +16 -4
- package/dist/integrations/configure/zed.js +61 -13
- package/dist/integrations/configure/zed.js.map +1 -1
- package/dist/models/gguf/kv-cache.d.ts +20 -1
- package/dist/models/gguf/kv-cache.js +97 -7
- package/dist/models/gguf/kv-cache.js.map +1 -1
- package/dist/models/gguf/reader.d.ts +5 -3
- package/dist/models/gguf/reader.js +10 -6
- package/dist/models/gguf/reader.js.map +1 -1
- package/dist/runtime/llamacpp/args.d.ts +14 -0
- package/dist/runtime/llamacpp/args.js +48 -4
- package/dist/runtime/llamacpp/args.js.map +1 -1
- package/dist/runtime/llamacpp/ctx-ladder.d.ts +6 -3
- package/dist/runtime/llamacpp/ctx-ladder.js +6 -3
- package/dist/runtime/llamacpp/ctx-ladder.js.map +1 -1
- package/dist/runtime/llamacpp/fit-margin.d.ts +24 -0
- package/dist/runtime/llamacpp/fit-margin.js +31 -0
- package/dist/runtime/llamacpp/fit-margin.js.map +1 -1
- package/dist/runtime/llamacpp/generation-limits.d.ts +45 -0
- package/dist/runtime/llamacpp/generation-limits.js +61 -0
- package/dist/runtime/llamacpp/generation-limits.js.map +1 -0
- package/dist/runtime/llamacpp/load-plan.d.ts +14 -2
- package/dist/runtime/llamacpp/load-plan.js +64 -13
- package/dist/runtime/llamacpp/load-plan.js.map +1 -1
- package/dist/runtime/llamacpp/runtime.d.ts +1 -0
- package/dist/runtime/llamacpp/runtime.js +2 -0
- package/dist/runtime/llamacpp/runtime.js.map +1 -1
- package/dist/runtime/managed-engines/runtime.js +13 -2
- package/dist/runtime/managed-engines/runtime.js.map +1 -1
- package/dist/runtime/managed-engines/spec.d.ts +6 -0
- package/dist/runtime/managed-engines/spec.js.map +1 -1
- package/dist/runtime/managed-models/auto-limits.d.ts +47 -0
- package/dist/runtime/managed-models/auto-limits.js +60 -0
- package/dist/runtime/managed-models/auto-limits.js.map +1 -0
- package/dist/runtime/managed-models/index.d.ts +1 -0
- package/dist/runtime/managed-models/index.js +1 -0
- package/dist/runtime/managed-models/index.js.map +1 -1
- package/dist/runtime/mlx/config.d.ts +9 -5
- package/dist/runtime/mlx/config.js +12 -6
- package/dist/runtime/mlx/config.js.map +1 -1
- package/dist/runtime/mlx/model-files.d.ts +9 -0
- package/dist/runtime/mlx/model-files.js +26 -0
- package/dist/runtime/mlx/model-files.js.map +1 -1
- package/dist/runtime/mlx/runtime.d.ts +7 -0
- package/dist/runtime/mlx/runtime.js +24 -2
- package/dist/runtime/mlx/runtime.js.map +1 -1
- package/dist/runtime/sglang/adapter.d.ts +4 -0
- package/dist/runtime/sglang/adapter.js +9 -6
- package/dist/runtime/sglang/adapter.js.map +1 -1
- package/dist/runtime/sglang/engine.js +2 -1
- package/dist/runtime/sglang/engine.js.map +1 -1
- package/dist/runtime/sglang/memory.d.ts +11 -1
- package/dist/runtime/sglang/memory.js +34 -3
- package/dist/runtime/sglang/memory.js.map +1 -1
- package/dist/runtime/sglang/settings.d.ts +2 -1
- package/dist/runtime/sglang/settings.js +11 -7
- package/dist/runtime/sglang/settings.js.map +1 -1
- package/dist/runtime/vllm/adapter.d.ts +4 -0
- package/dist/runtime/vllm/adapter.js +9 -6
- package/dist/runtime/vllm/adapter.js.map +1 -1
- package/dist/runtime/vllm/engine.js +1 -0
- package/dist/runtime/vllm/engine.js.map +1 -1
- package/dist/runtime/vllm/memory.d.ts +12 -1
- package/dist/runtime/vllm/memory.js +44 -2
- package/dist/runtime/vllm/memory.js.map +1 -1
- package/dist/runtime/vllm/settings.d.ts +2 -1
- package/dist/runtime/vllm/settings.js +12 -7
- package/dist/runtime/vllm/settings.js.map +1 -1
- package/dist/server/public/context-window.d.ts +29 -0
- package/dist/server/public/context-window.js +77 -0
- package/dist/server/public/context-window.js.map +1 -0
- package/dist/server/public/decision-preview.js +1 -0
- package/dist/server/public/decision-preview.js.map +1 -1
- package/dist/server/public/errors.d.ts +15 -4
- package/dist/server/public/errors.js +53 -7
- package/dist/server/public/errors.js.map +1 -1
- package/dist/server/public/forward.js +65 -5
- package/dist/server/public/forward.js.map +1 -1
- package/dist/server/public/index.d.ts +1 -0
- package/dist/server/public/index.js +1 -0
- package/dist/server/public/index.js.map +1 -1
- package/dist/server/public/listing.d.ts +9 -2
- package/dist/server/public/listing.js +30 -9
- package/dist/server/public/listing.js.map +1 -1
- package/dist/server/public/responses.js +9 -5
- package/dist/server/public/responses.js.map +1 -1
- package/dist/server/public/system-messages.d.ts +39 -0
- package/dist/server/public/system-messages.js +166 -0
- package/dist/server/public/system-messages.js.map +1 -0
- package/dist/server/public/telemetry.d.ts +9 -0
- package/dist/server/public/telemetry.js +42 -6
- package/dist/server/public/telemetry.js.map +1 -1
- package/dist/server/public/thinking.d.ts +26 -0
- package/dist/server/public/thinking.js +62 -0
- package/dist/server/public/thinking.js.map +1 -0
- package/dist/server/public/trace.d.ts +8 -0
- package/dist/server/public/trace.js +17 -0
- package/dist/server/public/trace.js.map +1 -1
- package/dist/server/public/types.d.ts +8 -0
- package/dist/server/shims/index.d.ts +1 -0
- package/dist/server/shims/index.js +1 -0
- package/dist/server/shims/index.js.map +1 -1
- package/dist/server/shims/reminders.d.ts +8 -0
- package/dist/server/shims/reminders.js +14 -0
- package/dist/server/shims/reminders.js.map +1 -0
- package/dist/server/shims/responses.d.ts +33 -9
- package/dist/server/shims/responses.js +160 -36
- package/dist/server/shims/responses.js.map +1 -1
- package/dist/settings/default-migrations.d.ts +34 -0
- package/dist/settings/default-migrations.js +47 -0
- package/dist/settings/default-migrations.js.map +1 -0
- package/dist/settings/schema/atomic-prism.json +23 -9
- package/dist/settings/schema/llamacpp-upstream.json +23 -9
- package/dist/settings/schema/llamacpp.json +23 -9
- package/dist/settings/schema/sglang.json +8 -8
- package/dist/settings/schema/vllm.json +8 -8
- package/dist/settings/schema.js +1 -0
- package/dist/settings/schema.js.map +1 -1
- package/dist/settings/store.d.ts +6 -0
- package/dist/settings/store.js +18 -1
- package/dist/settings/store.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1,33 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* DeepSeek Harness (`dsh`)
|
|
3
|
-
* the local server is a single upsert of the `llm-pi-ai.providers.atomic` route — no restart needed.
|
|
2
|
+
* DeepSeek Harness (`dsh`). Twin of `configure_dsh_at` in the app's `commands.rs` and `dsh_config.rs`.
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* value, so a rejected key cannot leak into a log or a toast.
|
|
4
|
+
* dsh 0.2 dropped the live `$DSH_HOME/settings.yaml` (default `~/.dsh`): settings now live in the
|
|
5
|
+
* active profile's `cordis.patch.yml`, a YAML list of entry overrides (`- id: llm-pi-ai` /
|
|
6
|
+
* `config: …`), and a leftover `settings.yaml` is merged into that profile once and renamed
|
|
7
|
+
* `settings.yaml.imported`. `dsh web`, which `launch` runs, boots the `web` profile, so the `atomic`
|
|
8
|
+
* route goes under its `llm-pi-ai` row's `providers` and its `agent-default-model` row is set to it,
|
|
9
|
+
* so new sessions open on the local model instead of DeepSeek's. dsh picks both up without a restart.
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
11
|
+
* The profile patch is the user's (dsh's Settings page edits it, keeping comments and `!!js`
|
|
12
|
+
* expressions), so only our two rows are re-serialized; every other row, comment and blank line is
|
|
13
|
+
* kept byte for byte. A file whose rows cannot be told apart that way is rewritten whole only when
|
|
14
|
+
* nothing but comments would be lost, and refused when it holds `!!js` expressions. The default the
|
|
15
|
+
* user had is kept in the backup sidecar for the desktop's Disconnect.
|
|
16
|
+
*
|
|
17
|
+
* A `settings.yaml` that is still there is read live by dsh before 0.2 and merged over the profile
|
|
18
|
+
* by 0.2+, so it gets the route too (and our default, when it names one); one is never created, and
|
|
19
|
+
* `settings.yaml.imported` is never touched.
|
|
20
|
+
*
|
|
21
|
+
* This writer refuses its input when it would do harm: dsh rejects the ENTIRE `llm-pi-ai` section
|
|
22
|
+
* when one route in it is invalid, taking the user's other providers down with it. A route needs
|
|
23
|
+
* `api`, `baseURL` and a non-empty `models` list, so a blank URL or model is refused before anything
|
|
24
|
+
* is touched. The credential is validated for the same reason: an unquoted dotenv value ends at
|
|
25
|
+
* whitespace or `#`, and a newline would inject a second assignment, so a key carrying any of those
|
|
26
|
+
* is rejected — with a message that names the variable and never the value. The route is replaced
|
|
27
|
+
* WHOLESALE rather than deep-merged: a merge would let a stale `apiKeyEnv` from an earlier keyed run
|
|
28
|
+
* survive a keyless run and break every request with MISSING_CREDENTIAL.
|
|
18
29
|
*/
|
|
19
30
|
import type { ConfigureWriter } from './registry.js';
|
|
20
31
|
type YamlMapping = Record<string, unknown>;
|
|
21
32
|
/** Reject a value no dotenv line can carry. The message names the variable, never the value. */
|
|
22
33
|
export declare function dshValidateEnvValue(name: string, value: string): void;
|
|
23
|
-
/** The `llm-pi-ai.providers.atomic` node. Keyless omits `apiKeyEnv` rather than writing an empty one. */
|
|
24
|
-
export declare function dshRouteNode(apiUrl: string, model: string, withKey: boolean): YamlMapping;
|
|
25
34
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
35
|
+
* The `atomic` route node. Keyless omits `apiKeyEnv` rather than writing an empty one. A model the
|
|
36
|
+
* pi-ai catalog does not ship falls back to a 262144 window and 32768 output tokens; a known served
|
|
37
|
+
* window is declared instead, with a reply of a quarter of it (8192 at most).
|
|
38
|
+
*/
|
|
39
|
+
export declare function dshRouteNode(apiUrl: string, model: string, withKey: boolean, contextLength?: number): YamlMapping;
|
|
40
|
+
/**
|
|
41
|
+
* Upsert our route into an already-parsed legacy `settings.yaml` tree. Pure: no I/O, no environment.
|
|
42
|
+
* Everything outside `llm-pi-ai.providers.atomic` is preserved, including relative order.
|
|
29
43
|
*/
|
|
30
|
-
export declare function applyDshProvider(root: unknown, apiUrl: string, model: string, withKey: boolean): unknown;
|
|
44
|
+
export declare function applyDshProvider(root: unknown, apiUrl: string, model: string, withKey: boolean, contextLength?: number): unknown;
|
|
45
|
+
/** A YAML tag such as `!!js`, which a re-serialization would drop. */
|
|
46
|
+
export declare function hasYamlTag(text: string): boolean;
|
|
31
47
|
/** `$DSH_HOME` when set, else `~/.dsh`. A literal `~` can reach us from a quoted rc-file value. */
|
|
32
48
|
export declare function dshHome(env: NodeJS.ProcessEnv, home: string): string;
|
|
33
49
|
export declare const configureDsh: ConfigureWriter;
|
|
@@ -1,30 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* DeepSeek Harness (`dsh`)
|
|
3
|
-
* the local server is a single upsert of the `llm-pi-ai.providers.atomic` route — no restart needed.
|
|
2
|
+
* DeepSeek Harness (`dsh`). Twin of `configure_dsh_at` in the app's `commands.rs` and `dsh_config.rs`.
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* value, so a rejected key cannot leak into a log or a toast.
|
|
4
|
+
* dsh 0.2 dropped the live `$DSH_HOME/settings.yaml` (default `~/.dsh`): settings now live in the
|
|
5
|
+
* active profile's `cordis.patch.yml`, a YAML list of entry overrides (`- id: llm-pi-ai` /
|
|
6
|
+
* `config: …`), and a leftover `settings.yaml` is merged into that profile once and renamed
|
|
7
|
+
* `settings.yaml.imported`. `dsh web`, which `launch` runs, boots the `web` profile, so the `atomic`
|
|
8
|
+
* route goes under its `llm-pi-ai` row's `providers` and its `agent-default-model` row is set to it,
|
|
9
|
+
* so new sessions open on the local model instead of DeepSeek's. dsh picks both up without a restart.
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
11
|
+
* The profile patch is the user's (dsh's Settings page edits it, keeping comments and `!!js`
|
|
12
|
+
* expressions), so only our two rows are re-serialized; every other row, comment and blank line is
|
|
13
|
+
* kept byte for byte. A file whose rows cannot be told apart that way is rewritten whole only when
|
|
14
|
+
* nothing but comments would be lost, and refused when it holds `!!js` expressions. The default the
|
|
15
|
+
* user had is kept in the backup sidecar for the desktop's Disconnect.
|
|
16
|
+
*
|
|
17
|
+
* A `settings.yaml` that is still there is read live by dsh before 0.2 and merged over the profile
|
|
18
|
+
* by 0.2+, so it gets the route too (and our default, when it names one); one is never created, and
|
|
19
|
+
* `settings.yaml.imported` is never touched.
|
|
20
|
+
*
|
|
21
|
+
* This writer refuses its input when it would do harm: dsh rejects the ENTIRE `llm-pi-ai` section
|
|
22
|
+
* when one route in it is invalid, taking the user's other providers down with it. A route needs
|
|
23
|
+
* `api`, `baseURL` and a non-empty `models` list, so a blank URL or model is refused before anything
|
|
24
|
+
* is touched. The credential is validated for the same reason: an unquoted dotenv value ends at
|
|
25
|
+
* whitespace or `#`, and a newline would inject a second assignment, so a key carrying any of those
|
|
26
|
+
* is rejected — with a message that names the variable and never the value. The route is replaced
|
|
27
|
+
* WHOLESALE rather than deep-merged: a merge would let a stale `apiKeyEnv` from an earlier keyed run
|
|
28
|
+
* survive a keyless run and break every request with MISSING_CREDENTIAL.
|
|
18
29
|
*/
|
|
30
|
+
import { parse as yamlParse, stringify as yamlStringify } from 'yaml';
|
|
19
31
|
import { AtomicCoreError } from '../../contracts/index.js';
|
|
20
32
|
import { ATOMIC_MANAGED_BEGIN, ATOMIC_MANAGED_END, canonicalYaml, expandTilde, parseYaml, stripAtomicManagedBlock, } from '../config-io.js';
|
|
33
|
+
import { knownWindow, outputCap, readSidecar, sameJson, writeSidecar } from './backup.js';
|
|
21
34
|
import { registerWriter } from './registry.js';
|
|
22
35
|
const SECTION = 'llm-pi-ai';
|
|
36
|
+
const SECTION_NAME = '@deepseek-ai/dsh-llm-pi-ai';
|
|
37
|
+
const DEFAULT_SECTION = 'agent-default-model';
|
|
38
|
+
const DEFAULT_NAME = '@deepseek-ai/dsh-agent-default-model';
|
|
23
39
|
const ROUTE_ID = 'atomic';
|
|
24
40
|
/** The route names an env var, never the secret itself. */
|
|
25
41
|
const KEY_ENV = 'ATOMIC_API_KEY';
|
|
26
|
-
|
|
27
|
-
const
|
|
42
|
+
/** The profile `dsh web` boots. */
|
|
43
|
+
const PROFILE = 'web';
|
|
28
44
|
function asMapping(value) {
|
|
29
45
|
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
30
46
|
return undefined;
|
|
@@ -33,15 +49,14 @@ function asMapping(value) {
|
|
|
33
49
|
/**
|
|
34
50
|
* Borrow `parent[key]` as a mapping, creating it when absent. A bare `llm-pi-ai:` with nothing under
|
|
35
51
|
* it parses to null, which is a hole to fill rather than data to protect. Anything else non-mapping
|
|
36
|
-
* is real user content and errors out —
|
|
37
|
-
* a silent overwrite would delete config we do not own.
|
|
52
|
+
* is real user content and errors out — a silent overwrite would delete config we do not own.
|
|
38
53
|
*/
|
|
39
|
-
function childMapping(parent, key, label) {
|
|
54
|
+
function childMapping(parent, key, label, file = 'settings.yaml') {
|
|
40
55
|
if (parent[key] === undefined || parent[key] === null)
|
|
41
56
|
parent[key] = {};
|
|
42
57
|
const child = asMapping(parent[key]);
|
|
43
58
|
if (!child) {
|
|
44
|
-
throw new AtomicCoreError('IO_ERROR', `\`${label}\` in
|
|
59
|
+
throw new AtomicCoreError('IO_ERROR', `\`${label}\` in ${file} is not a mapping. Fix or remove it and try again.`);
|
|
45
60
|
}
|
|
46
61
|
return child;
|
|
47
62
|
}
|
|
@@ -51,29 +66,38 @@ export function dshValidateEnvValue(name, value) {
|
|
|
51
66
|
throw new AtomicCoreError('INVALID_ARGUMENT', `${name} contains characters that cannot be stored in a .env file`);
|
|
52
67
|
}
|
|
53
68
|
}
|
|
54
|
-
|
|
55
|
-
|
|
69
|
+
function validateRoute(apiUrl, model) {
|
|
70
|
+
if (apiUrl.trim() === '') {
|
|
71
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', 'No local server URL. Start the local API server and try again.');
|
|
72
|
+
}
|
|
73
|
+
if (model.trim() === '') {
|
|
74
|
+
throw new AtomicCoreError('INVALID_ARGUMENT', 'No model selected. DeepSeek Harness rejects a provider with an empty model list, which would ' +
|
|
75
|
+
'also disable any other provider configured in that section.');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The `atomic` route node. Keyless omits `apiKeyEnv` rather than writing an empty one. A model the
|
|
80
|
+
* pi-ai catalog does not ship falls back to a 262144 window and 32768 output tokens; a known served
|
|
81
|
+
* window is declared instead, with a reply of a quarter of it (8192 at most).
|
|
82
|
+
*/
|
|
83
|
+
export function dshRouteNode(apiUrl, model, withKey, contextLength) {
|
|
84
|
+
const window = knownWindow(contextLength);
|
|
56
85
|
return {
|
|
57
86
|
displayName: 'Atomic Chat',
|
|
58
87
|
api: 'openai-completions',
|
|
59
88
|
baseURL: apiUrl,
|
|
60
89
|
...(withKey ? { apiKeyEnv: KEY_ENV } : {}),
|
|
61
|
-
models: [
|
|
90
|
+
models: [
|
|
91
|
+
{ id: model, ...(window !== undefined ? { contextWindow: window, maxTokens: outputCap(window) } : {}) },
|
|
92
|
+
],
|
|
62
93
|
};
|
|
63
94
|
}
|
|
64
95
|
/**
|
|
65
|
-
* Upsert our route into an already-parsed tree. Pure: no I/O, no environment.
|
|
66
|
-
* `llm-pi-ai.providers.atomic` is preserved, including relative order
|
|
67
|
-
* keeps its position, in JavaScript as in `serde_yaml`'s insertion-ordered mapping.
|
|
96
|
+
* Upsert our route into an already-parsed legacy `settings.yaml` tree. Pure: no I/O, no environment.
|
|
97
|
+
* Everything outside `llm-pi-ai.providers.atomic` is preserved, including relative order.
|
|
68
98
|
*/
|
|
69
|
-
export function applyDshProvider(root, apiUrl, model, withKey) {
|
|
70
|
-
|
|
71
|
-
throw new AtomicCoreError('INVALID_ARGUMENT', 'No local server URL. Start the local API server and try again.');
|
|
72
|
-
}
|
|
73
|
-
if (model.trim() === '') {
|
|
74
|
-
throw new AtomicCoreError('INVALID_ARGUMENT', 'No model selected. DeepSeek Harness rejects a provider with an empty model list, which would ' +
|
|
75
|
-
'also disable any other provider configured in that section.');
|
|
76
|
-
}
|
|
99
|
+
export function applyDshProvider(root, apiUrl, model, withKey, contextLength) {
|
|
100
|
+
validateRoute(apiUrl, model);
|
|
77
101
|
// An empty, whitespace-only or comment-only document parses to null; one heal covers all three.
|
|
78
102
|
const healed = root === null || root === undefined ? {} : root;
|
|
79
103
|
const map = asMapping(healed);
|
|
@@ -81,9 +105,169 @@ export function applyDshProvider(root, apiUrl, model, withKey) {
|
|
|
81
105
|
throw new AtomicCoreError('IO_ERROR', 'settings.yaml top level is not a YAML mapping');
|
|
82
106
|
const section = childMapping(map, SECTION, SECTION);
|
|
83
107
|
const providers = childMapping(section, 'providers', `${SECTION}.providers`);
|
|
84
|
-
providers[ROUTE_ID] = dshRouteNode(apiUrl, model, withKey);
|
|
108
|
+
providers[ROUTE_ID] = dshRouteNode(apiUrl, model, withKey, contextLength);
|
|
85
109
|
return map;
|
|
86
110
|
}
|
|
111
|
+
// ── the profile patch ───────────────────────────────────────────────────────────────────────────
|
|
112
|
+
const JS_TAG = [{ tag: 'tag:yaml.org,2002:js', resolve: (value) => value }];
|
|
113
|
+
function parseYamlText(text, path) {
|
|
114
|
+
try {
|
|
115
|
+
return yamlParse(text, { customTags: JS_TAG, logLevel: 'error' });
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
throw new AtomicCoreError('IO_ERROR', `Failed to parse ${path}`, e.message);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/** `serde_yaml` 0.9's shape: single quotes, and aliases expanded rather than re-anchored. */
|
|
122
|
+
function rowsYaml(rows) {
|
|
123
|
+
return yamlStringify(rows, {
|
|
124
|
+
indentSeq: false,
|
|
125
|
+
lineWidth: 0,
|
|
126
|
+
nullStr: 'null',
|
|
127
|
+
singleQuote: true,
|
|
128
|
+
aliasDuplicateObjects: false,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/** A YAML tag such as `!!js`, which a re-serialization would drop. */
|
|
132
|
+
export function hasYamlTag(text) {
|
|
133
|
+
return text.split('\n').some((line) => {
|
|
134
|
+
const trimmed = line.trimStart();
|
|
135
|
+
return !trimmed.startsWith('#') && trimmed.split(/[\s[{,]+/).some((token) => token.startsWith('!'));
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
const isRowStart = (line) => line === '-' || line.startsWith('- ') || line.startsWith('-\n') || line.startsWith('-\r');
|
|
139
|
+
const isGap = (line) => line.trim() === '' || line.startsWith('#');
|
|
140
|
+
function parsePatch(text, path) {
|
|
141
|
+
const parsed = parseYamlText(text, path);
|
|
142
|
+
if (parsed !== null && parsed !== undefined && !Array.isArray(parsed)) {
|
|
143
|
+
throw new AtomicCoreError('IO_ERROR', `${path} is not a YAML list of patches. Fix or remove it and try again.`);
|
|
144
|
+
}
|
|
145
|
+
const items = (parsed ?? []);
|
|
146
|
+
const mappings = () => items.map((item) => {
|
|
147
|
+
const mapping = asMapping(item);
|
|
148
|
+
if (!mapping) {
|
|
149
|
+
throw new AtomicCoreError('IO_ERROR', `${path} has a patch that is not a mapping. Fix or remove it and try again.`);
|
|
150
|
+
}
|
|
151
|
+
return mapping;
|
|
152
|
+
});
|
|
153
|
+
const rewriteWhole = () => {
|
|
154
|
+
if (hasYamlTag(text)) {
|
|
155
|
+
throw new AtomicCoreError('IO_ERROR', `${path} uses \`!!js\` expressions in a layout Atomic Chat cannot edit without losing them. ` +
|
|
156
|
+
"Add the Atomic Chat provider in DeepSeek Harness's Settings → Models instead.");
|
|
157
|
+
}
|
|
158
|
+
return {
|
|
159
|
+
head: '',
|
|
160
|
+
rows: mappings().map((value) => ({ text: undefined, trailer: '', value, touched: true })),
|
|
161
|
+
whole: true,
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
const lines = text.split(/(?<=\n)/).filter((line) => line !== '');
|
|
165
|
+
const starts = lines.flatMap((line, i) => (isRowStart(line) ? [i] : []));
|
|
166
|
+
const first = starts[0] ?? lines.length;
|
|
167
|
+
let head = '';
|
|
168
|
+
for (const line of lines.slice(0, first)) {
|
|
169
|
+
const trimmed = line.trim();
|
|
170
|
+
if (trimmed === '[]' && items.length === 0)
|
|
171
|
+
continue;
|
|
172
|
+
if (!isGap(line) && trimmed !== '---')
|
|
173
|
+
return rewriteWhole();
|
|
174
|
+
head += line;
|
|
175
|
+
}
|
|
176
|
+
if (starts.length !== items.length)
|
|
177
|
+
return rewriteWhole();
|
|
178
|
+
const rows = [];
|
|
179
|
+
for (const [n, start] of starts.entries()) {
|
|
180
|
+
const end = starts[n + 1] ?? lines.length;
|
|
181
|
+
let bodyEnd = end;
|
|
182
|
+
while (bodyEnd > start + 1 && isGap(lines[bodyEnd - 1]))
|
|
183
|
+
bodyEnd--;
|
|
184
|
+
const rowText = lines.slice(start, bodyEnd).join('');
|
|
185
|
+
let one;
|
|
186
|
+
try {
|
|
187
|
+
one = yamlParse(rowText, { customTags: JS_TAG, logLevel: 'error' });
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
return rewriteWhole();
|
|
191
|
+
}
|
|
192
|
+
const value = Array.isArray(one) && one.length === 1 ? asMapping(one[0]) : undefined;
|
|
193
|
+
if (!value)
|
|
194
|
+
return rewriteWhole();
|
|
195
|
+
rows.push({ text: rowText, trailer: lines.slice(bodyEnd, end).join(''), value, touched: false });
|
|
196
|
+
}
|
|
197
|
+
return { head, rows, whole: false };
|
|
198
|
+
}
|
|
199
|
+
/** The last override of entry `id`, as dsh's own editor picks it: no `insert`, no other `name`. */
|
|
200
|
+
function findRow(doc, id, name) {
|
|
201
|
+
for (let i = doc.rows.length - 1; i >= 0; i--) {
|
|
202
|
+
const value = doc.rows[i].value;
|
|
203
|
+
if (value['id'] === id && !('insert' in value) && (value['name'] === undefined || value['name'] === name))
|
|
204
|
+
return i;
|
|
205
|
+
}
|
|
206
|
+
return -1;
|
|
207
|
+
}
|
|
208
|
+
function editRow(doc, index, path) {
|
|
209
|
+
const row = doc.rows[index];
|
|
210
|
+
if (row.text !== undefined && hasYamlTag(row.text)) {
|
|
211
|
+
throw new AtomicCoreError('IO_ERROR', `The \`${String(row.value['id'])}\` patch in ${path} uses \`!!js\` expressions Atomic Chat cannot keep. ` +
|
|
212
|
+
"Edit it in DeepSeek Harness's Settings instead.");
|
|
213
|
+
}
|
|
214
|
+
row.touched = true;
|
|
215
|
+
return row.value;
|
|
216
|
+
}
|
|
217
|
+
function renderPatch(doc) {
|
|
218
|
+
if (doc.whole)
|
|
219
|
+
return rowsYaml(doc.rows.map((row) => row.value));
|
|
220
|
+
let out = doc.head;
|
|
221
|
+
for (const row of doc.rows) {
|
|
222
|
+
if (out !== '' && !out.endsWith('\n'))
|
|
223
|
+
out += '\n';
|
|
224
|
+
out += row.text !== undefined && !row.touched ? row.text : rowsYaml([row.value]);
|
|
225
|
+
out += row.trailer;
|
|
226
|
+
}
|
|
227
|
+
return doc.rows.length === 0 ? `${out}[]\n` : out;
|
|
228
|
+
}
|
|
229
|
+
/** Write our route and select it in the profile patch; the default it replaces goes to the backup. */
|
|
230
|
+
async function configureProfile(fs, dir, route, model, platform) {
|
|
231
|
+
const path = `${dir}/profiles/${PROFILE}/cordis.patch.yml`;
|
|
232
|
+
const text = await fs.read(path);
|
|
233
|
+
const doc = text === undefined ? { head: '', rows: [], whole: false } : parsePatch(text, fs.absolute(path));
|
|
234
|
+
const routes = findRow(doc, SECTION, SECTION_NAME);
|
|
235
|
+
if (routes >= 0) {
|
|
236
|
+
const row = editRow(doc, routes, fs.absolute(path));
|
|
237
|
+
const config = childMapping(row, 'config', SECTION, 'the dsh profile');
|
|
238
|
+
childMapping(config, 'providers', `${SECTION}.providers`, 'the dsh profile')[ROUTE_ID] = route;
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
doc.rows.push({
|
|
242
|
+
text: undefined,
|
|
243
|
+
trailer: '',
|
|
244
|
+
value: { id: SECTION, name: SECTION_NAME, config: { providers: { [ROUTE_ID]: route } } },
|
|
245
|
+
touched: true,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
const ours = { provider: ROUTE_ID, model };
|
|
249
|
+
const selected = findRow(doc, DEFAULT_SECTION, DEFAULT_NAME);
|
|
250
|
+
const current = (selected >= 0 ? doc.rows[selected].value['config'] : undefined);
|
|
251
|
+
if (selected >= 0)
|
|
252
|
+
editRow(doc, selected, fs.absolute(path))['config'] = ours;
|
|
253
|
+
else
|
|
254
|
+
doc.rows.push({
|
|
255
|
+
text: undefined,
|
|
256
|
+
trailer: '',
|
|
257
|
+
value: { id: DEFAULT_SECTION, name: DEFAULT_NAME, config: ours },
|
|
258
|
+
touched: true,
|
|
259
|
+
});
|
|
260
|
+
// The default from before the first Connect, kept while ours is in place.
|
|
261
|
+
const backup = await readSidecar(fs, path);
|
|
262
|
+
const written = backup?.['written']?.defaultModel;
|
|
263
|
+
const previous = backup !== undefined && current !== undefined && current !== null && sameJson(written, current)
|
|
264
|
+
? (backup['previous']?.defaultModel ?? null)
|
|
265
|
+
: (current ?? null);
|
|
266
|
+
// Owner-only, as dsh writes it.
|
|
267
|
+
await fs.write(path, renderPatch(doc), platform === 'win32' ? {} : { mode: 0o600 });
|
|
268
|
+
await writeSidecar(fs, path, { previous: { defaultModel: previous }, written: { defaultModel: ours } }, platform);
|
|
269
|
+
}
|
|
270
|
+
// ── .env ────────────────────────────────────────────────────────────────────────────────────────
|
|
87
271
|
/**
|
|
88
272
|
* Upsert — or, with no vars, remove — our managed block in a dotenv file, preserving every line
|
|
89
273
|
* outside it. Deliberately not the shell-rc writer: that one emits `export K='V'`, uses a different
|
|
@@ -114,29 +298,47 @@ export function dshHome(env, home) {
|
|
|
114
298
|
const raw = env['DSH_HOME']?.trim();
|
|
115
299
|
return raw ? expandTilde(raw, home) : '.dsh';
|
|
116
300
|
}
|
|
117
|
-
export const configureDsh = async ({ apiUrl, model, apiKey, fs, env, platform }) => {
|
|
301
|
+
export const configureDsh = async ({ apiUrl, model, apiKey, fs, env, platform, contextLength, }) => {
|
|
118
302
|
const dir = dshHome(env, fs.home);
|
|
119
303
|
const settingsPath = `${dir}/settings.yaml`;
|
|
120
304
|
const trimmed = apiKey.trim();
|
|
121
305
|
const key = trimmed === '' ? undefined : trimmed;
|
|
122
|
-
// Validate
|
|
306
|
+
// Validate everything before writing anything, so an unusable key cannot leave a route pointing at
|
|
123
307
|
// a reference we then failed to store.
|
|
308
|
+
validateRoute(apiUrl, model);
|
|
124
309
|
if (key !== undefined)
|
|
125
310
|
dshValidateEnvValue(KEY_ENV, key);
|
|
126
|
-
// Parse before
|
|
127
|
-
const text =
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
311
|
+
// Parse the legacy document before writing anything, so a malformed file leaves no debris.
|
|
312
|
+
const text = await fs.read(settingsPath);
|
|
313
|
+
let legacy;
|
|
314
|
+
if (text !== undefined) {
|
|
315
|
+
const patched = applyDshProvider(parseYaml(text, fs.absolute(settingsPath)), apiUrl, model, key !== undefined, contextLength);
|
|
316
|
+
let previousDefault;
|
|
317
|
+
// An old default would be laid over ours by a 0.2+ import, so it becomes ours too.
|
|
318
|
+
const current = patched[DEFAULT_SECTION];
|
|
319
|
+
if (current !== undefined) {
|
|
320
|
+
if (asMapping(current)?.['provider'] !== ROUTE_ID)
|
|
321
|
+
previousDefault = current;
|
|
322
|
+
patched[DEFAULT_SECTION] = { provider: ROUTE_ID, model };
|
|
323
|
+
}
|
|
324
|
+
const serialized = canonicalYaml(patched);
|
|
325
|
+
legacy = { serialized: serialized.endsWith('\n') ? serialized : `${serialized}\n`, previousDefault };
|
|
326
|
+
}
|
|
327
|
+
await configureProfile(fs, dir, dshRouteNode(apiUrl, model, key !== undefined, contextLength), model, platform);
|
|
328
|
+
if (legacy !== undefined && text !== undefined) {
|
|
329
|
+
// The round trip drops comments and expands anchors, so keep one copy of whatever the user had
|
|
330
|
+
// before we first touched it — once, so a later run cannot overwrite the pre-Atomic state.
|
|
132
331
|
const backup = `${dir}/settings.yaml.atomic-backup`;
|
|
133
|
-
if (!(await fs.exists(backup)))
|
|
332
|
+
if (text !== '' && !(await fs.exists(backup)))
|
|
134
333
|
await fs.write(backup, text);
|
|
334
|
+
await fs.write(settingsPath, legacy.serialized);
|
|
335
|
+
if (legacy.previousDefault !== undefined) {
|
|
336
|
+
await writeSidecar(fs, settingsPath, { previous: { defaultModel: legacy.previousDefault } }, platform);
|
|
337
|
+
}
|
|
135
338
|
}
|
|
136
|
-
|
|
137
|
-
//
|
|
138
|
-
//
|
|
139
|
-
// lowest-precedence layer, so anything the user sets deliberately still wins.
|
|
339
|
+
// The secret never enters a config file. dsh resolves the reference from the inherited
|
|
340
|
+
// environment, then `$DSH_HOME/.credentials.yaml`, then the invoking directory's `.env`, then this
|
|
341
|
+
// file — the lowest-precedence layer, so anything the user sets deliberately still wins.
|
|
140
342
|
const unix = platform !== 'win32';
|
|
141
343
|
await writeManagedEnv(fs, `${dir}/.env`,
|
|
142
344
|
// Keyless: the route carries no `apiKeyEnv`, so a leftover value would outlive its use.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dsh.js","sourceRoot":"","sources":["../../../src/integrations/configure/dsh.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dsh.js","sourceRoot":"","sources":["../../../src/integrations/configure/dsh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Goose
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* chat-completions path.
|
|
2
|
+
* Goose — a connection writes nothing. `launch` starts `goose session` with its provider, model,
|
|
3
|
+
* endpoint, key and window in that one process's environment (`childEnv` in the catalog), so nothing
|
|
4
|
+
* outside it changes.
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* Earlier releases saved the same variables for the whole user instead — a marked block in the shell
|
|
7
|
+
* rc file, or `setx` on Windows — which pointed every OpenAI SDK tool on the machine at Atomic Chat
|
|
8
|
+
* (`OPENAI_API_KEY`, `OPENAI_HOST`). Configuring takes exactly that out again, and nothing a user
|
|
9
|
+
* wrote. Port of `goose_config.rs` in the app.
|
|
10
10
|
*/
|
|
11
11
|
import type { ConfigureWriter } from './registry.js';
|
|
12
|
+
/** The line that opened and closed the block earlier releases wrote. */
|
|
13
|
+
export declare const LEGACY_SHELL_MARKER = "# Atomic Chat - Goose Config";
|
|
14
|
+
/**
|
|
15
|
+
* `content` without our Goose blocks, or `undefined` when it has none. A block runs from one marker
|
|
16
|
+
* line to the next; within it only the marker lines, our `export` lines and blank lines go — anything
|
|
17
|
+
* else a user put there stays. A marker without a partner goes alone.
|
|
18
|
+
*/
|
|
19
|
+
export declare function stripLegacyGooseBlock(content: string): string | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* The User-scope variables (`read` looks one up) that are recognisably what an earlier release set
|
|
22
|
+
* with `setx`: Goose on the OpenAI provider with our fixed base path at a local host. The key goes
|
|
23
|
+
* only when it is our placeholder or the server's own key.
|
|
24
|
+
*/
|
|
25
|
+
export declare function legacyGooseUserVars(read: (name: string) => string | undefined, apiKey: string): string[];
|
|
12
26
|
export declare const configureGoose: ConfigureWriter;
|