lody 0.97.1 → 0.98.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.
@@ -1,5 +1,5 @@
1
1
  const name = "acp-extension-claude";
2
- const version = "0.70.0";
2
+ const version = "0.79.0";
3
3
  const dependencies = { "@anthropic-ai/claude-agent-sdk": "0.3.274" };
4
4
  const packageJson = {
5
5
  name,
@@ -1,4 +1,54 @@
1
1
  import { c as array, u as unknown, R as NEVER, e as union, n as number, s as string, o as object, r as record, S as int, l as literal, b as boolean, K as intersection, T as url } from "./schemas-C-NzK2uQ.js";
2
+ import { pathToFileURL } from "node:url";
3
+ const DEEPSEEK_HARNESS_PERMISSION_PRESETS = [
4
+ {
5
+ id: "read-only",
6
+ name: "Read-only",
7
+ description: "Read inside the workspace; protected writes require one-time approval.",
8
+ sandbox: "read-only",
9
+ approval: "ask"
10
+ },
11
+ {
12
+ id: "workspace-write",
13
+ name: "Workspace write",
14
+ description: "Read and write inside the workspace; wider access requires one-time approval.",
15
+ sandbox: "workspace-write",
16
+ approval: "ask"
17
+ },
18
+ {
19
+ id: "danger-full-access",
20
+ name: "Full access",
21
+ description: "Allow unrestricted file and command access without approval prompts.",
22
+ sandbox: "danger-full-access",
23
+ approval: "never"
24
+ }
25
+ ];
26
+ const DEEPSEEK_HARNESS_DEFAULT_PERMISSION_PRESET = "workspace-write";
27
+ const DEEPSEEK_HARNESS_PERMISSION_MODES = DEEPSEEK_HARNESS_PERMISSION_PRESETS.map(({ id, name, description }) => ({ id, name, description }));
28
+ const DEEPSEEK_HARNESS_API_KEY_ENV = "DEEPSEEK_API_KEY";
29
+ const DEEPSEEK_HARNESS_BASE_URL_ENV = "DEEPSEEK_BASE_URL";
30
+ const DEEPSEEK_HARNESS_AGENT_PRESETS = [
31
+ {
32
+ value: "standard",
33
+ name: "Standard mode",
34
+ description: "Full coding agent with file editing, shell, search, skills, planning, goals, subagents, and workflows."
35
+ },
36
+ {
37
+ value: "ptc",
38
+ name: "PTC mode",
39
+ description: "Full coding agent without the workflow tools; other tools are exposed through the PTC SDK so one TypeScript program composes multi-step work."
40
+ },
41
+ {
42
+ value: "minimal",
43
+ name: "Minimal mode",
44
+ description: "Single-tool coding agent with a persistent shell."
45
+ },
46
+ {
47
+ value: "cordis",
48
+ name: "Creator mode",
49
+ description: "Standard capabilities plus runtime inspection, plugin experiments, and preset-authoring guidance."
50
+ }
51
+ ];
2
52
  const AGENT_METHODS = {
3
53
  initialize: "initialize",
4
54
  authenticate: "authenticate",
@@ -2757,9 +2807,6 @@ function ndJsonStream$1(output, input) {
2757
2807
  });
2758
2808
  return { readable, writable };
2759
2809
  }
2760
- function tagOf(value, key) {
2761
- return typeof value === "object" && value !== null ? value[key] : void 0;
2762
- }
2763
2810
  zElicitationFormMode.and(object({ mode: literal("form") })).and(object({ message: string() }));
2764
2811
  zElicitationUrlMode.and(object({ mode: literal("url") })).and(object({ message: string() }));
2765
2812
  union([zElicitationSessionScope, zElicitationRequestScope]).and(object({ message: string() }));
@@ -2769,38 +2816,13 @@ zIntegerPropertySchema.and(object({ type: literal("integer") }));
2769
2816
  zBooleanPropertySchema.and(object({ type: literal("boolean") }));
2770
2817
  zMultiSelectPropertySchema.and(object({ type: literal("array") }));
2771
2818
  zStringMultiSelectItems.and(object({ type: literal("string") }));
2772
- const zGuardCreateElicitationResponseAccept = zElicitationAcceptAction.and(object({ action: literal("accept") }));
2773
- const zGuardCreateElicitationResponseDecline = object({
2819
+ zElicitationAcceptAction.and(object({ action: literal("accept") }));
2820
+ object({
2774
2821
  action: literal("decline")
2775
2822
  });
2776
- const zGuardCreateElicitationResponseCancel = object({
2823
+ object({
2777
2824
  action: literal("cancel")
2778
2825
  });
2779
- const CreateElicitationResponse = {
2780
- /** Narrow to the `accept` variant, validating its payload. */
2781
- isAccept(value) {
2782
- return tagOf(value, "action") === "accept" && zGuardCreateElicitationResponseAccept.safeParse(value).success;
2783
- },
2784
- /** Narrow to the `decline` variant, validating its payload. */
2785
- isDecline(value) {
2786
- return tagOf(value, "action") === "decline" && zGuardCreateElicitationResponseDecline.safeParse(value).success;
2787
- },
2788
- /** Narrow to the `cancel` variant, validating its payload. */
2789
- isCancel(value) {
2790
- return tagOf(value, "action") === "cancel" && zGuardCreateElicitationResponseCancel.safeParse(value).success;
2791
- },
2792
- /**
2793
- * Narrow to a custom or future variant: the `action` tag matches no known variant.
2794
- *
2795
- * TypeScript keeps the known variants in the narrowed union (they are
2796
- * structural subtypes of the catch-all), so read vendor payload keys
2797
- * via a widening cast: `(value as Record<string, unknown>).someKey`.
2798
- */
2799
- isCustom(value) {
2800
- const tag = tagOf(value, "action");
2801
- return typeof tag === "string" && !["accept", "cancel", "decline"].includes(tag);
2802
- }
2803
- };
2804
2826
  function ndJsonStream(output, input) {
2805
2827
  return ndJsonStream$1(output, input);
2806
2828
  }
@@ -4524,14 +4546,390 @@ class ClientSideConnection {
4524
4546
  return this.connection.closed;
4525
4547
  }
4526
4548
  }
4549
+ const ACP_EXTENSION_DSH_VERSION = "0.2.0";
4550
+ const DEEPSEEK_HARNESS_VERSION = "0.1.5-rc.2";
4551
+ const ACP_EXTENSION_DSH_PROFILE_REVISION = "v13";
4552
+ const ACP_EXTENSION_DSH_SESSION_ROOT_ENV = "ACP_EXTENSION_DSH_SESSION_ROOT";
4553
+ const ACP_EXTENSION_DSH_QUERY_PATH_ENV = "ACP_EXTENSION_DSH_QUERY_PATH";
4554
+ const DEEPSEEK_HARNESS_DEFAULT_SESSION_COMPRESSION = "zstd";
4555
+ const DEEPSEEK_HARNESS_PROFILE_NAME = "lody-acp";
4556
+ const DEEPSEEK_HARNESS_PROFILE_BUNDLES = ["@deepseek-ai/dsh-base"];
4557
+ const DEEPSEEK_HARNESS_PROVIDER = "deepseek-official";
4558
+ const DEEPSEEK_HARNESS_DEFAULT_MODEL = "deepseek-flash";
4559
+ const ACP_EXTENSION_DSH_CAPABILITY_SOURCE_VERSION = `acp-extension-dsh@${ACP_EXTENSION_DSH_VERSION}:dsh@${DEEPSEEK_HARNESS_VERSION}:profile-${ACP_EXTENSION_DSH_PROFILE_REVISION}`;
4560
+ const DEEPSEEK_HARNESS_NPX_PACKAGES = [
4561
+ "@deepseek-ai/dsh",
4562
+ "@deepseek-ai/cordis",
4563
+ "@deepseek-ai/cordis-plugin-group",
4564
+ "@deepseek-ai/cordis-plugin-hmr",
4565
+ "@deepseek-ai/cordis-plugin-include",
4566
+ "@deepseek-ai/cordis-plugin-loader",
4567
+ "@deepseek-ai/cordis-plugin-timer",
4568
+ "@deepseek-ai/dsh-acp",
4569
+ "@deepseek-ai/dsh-acp-app",
4570
+ "@deepseek-ai/dsh-agent",
4571
+ "@deepseek-ai/dsh-agent-default-model",
4572
+ "@deepseek-ai/dsh-agent-instructions",
4573
+ "@deepseek-ai/dsh-agent-loop",
4574
+ "@deepseek-ai/dsh-agent-presets",
4575
+ "@deepseek-ai/dsh-agent-tool-presentation",
4576
+ "@deepseek-ai/dsh-anonymous-user-id",
4577
+ "@deepseek-ai/dsh-api-gateway",
4578
+ "@deepseek-ai/dsh-api-remotes",
4579
+ "@deepseek-ai/dsh-api-session-controller",
4580
+ "@deepseek-ai/dsh-api-settings-controller",
4581
+ "@deepseek-ai/dsh-api-workspace-controller",
4582
+ "@deepseek-ai/dsh-api-workspace-files",
4583
+ "@deepseek-ai/dsh-app-boot",
4584
+ "@deepseek-ai/dsh-atomic-write",
4585
+ "@deepseek-ai/dsh-attachment",
4586
+ "@deepseek-ai/dsh-attachment-local",
4587
+ "@deepseek-ai/dsh-authorization",
4588
+ "@deepseek-ai/dsh-base",
4589
+ "@deepseek-ai/dsh-bash-local",
4590
+ "@deepseek-ai/dsh-bash-sandbox",
4591
+ "@deepseek-ai/dsh-brand",
4592
+ "@deepseek-ai/dsh-chunked-list",
4593
+ "@deepseek-ai/dsh-client-connection",
4594
+ "@deepseek-ai/dsh-client-file-upload",
4595
+ "@deepseek-ai/dsh-client-hmr",
4596
+ "@deepseek-ai/dsh-client-locale",
4597
+ "@deepseek-ai/dsh-client-modules",
4598
+ "@deepseek-ai/dsh-client-resources",
4599
+ "@deepseek-ai/dsh-client-ui-agent-preset",
4600
+ "@deepseek-ai/dsh-client-ui-approval",
4601
+ "@deepseek-ai/dsh-client-ui-attachment",
4602
+ "@deepseek-ai/dsh-client-ui-brand-official",
4603
+ "@deepseek-ai/dsh-client-ui-chat",
4604
+ "@deepseek-ai/dsh-client-ui-commands",
4605
+ "@deepseek-ai/dsh-client-ui-conversation",
4606
+ "@deepseek-ai/dsh-client-ui-cordis",
4607
+ "@deepseek-ai/dsh-client-ui-deliverables",
4608
+ "@deepseek-ai/dsh-client-ui-directory-picker-browse",
4609
+ "@deepseek-ai/dsh-client-ui-directory-picker-native",
4610
+ "@deepseek-ai/dsh-client-ui-goal",
4611
+ "@deepseek-ai/dsh-client-ui-input-trigger",
4612
+ "@deepseek-ai/dsh-client-ui-jobs",
4613
+ "@deepseek-ai/dsh-client-ui-layout",
4614
+ "@deepseek-ai/dsh-client-ui-message-feedback",
4615
+ "@deepseek-ai/dsh-client-ui-model-selection",
4616
+ "@deepseek-ai/dsh-client-ui-open-in-app",
4617
+ "@deepseek-ai/dsh-client-ui-permission-presets",
4618
+ "@deepseek-ai/dsh-client-ui-plan",
4619
+ "@deepseek-ai/dsh-client-ui-reference",
4620
+ "@deepseek-ai/dsh-client-ui-renderer",
4621
+ "@deepseek-ai/dsh-client-ui-schedule",
4622
+ "@deepseek-ai/dsh-client-ui-session",
4623
+ "@deepseek-ai/dsh-client-ui-settings",
4624
+ "@deepseek-ai/dsh-client-ui-settings-general",
4625
+ "@deepseek-ai/dsh-client-ui-settings-models",
4626
+ "@deepseek-ai/dsh-client-ui-settings-plugin-inventory",
4627
+ "@deepseek-ai/dsh-client-ui-settings-plugins",
4628
+ "@deepseek-ai/dsh-client-ui-sidebar",
4629
+ "@deepseek-ai/dsh-client-ui-sidebar-documentpreview",
4630
+ "@deepseek-ai/dsh-client-ui-sidebar-files",
4631
+ "@deepseek-ai/dsh-client-ui-sidebar-right",
4632
+ "@deepseek-ai/dsh-client-ui-skill",
4633
+ "@deepseek-ai/dsh-client-ui-subagent",
4634
+ "@deepseek-ai/dsh-client-ui-theme",
4635
+ "@deepseek-ai/dsh-client-ui-tool",
4636
+ "@deepseek-ai/dsh-client-ui-trajectory",
4637
+ "@deepseek-ai/dsh-client-ui-user-questions",
4638
+ "@deepseek-ai/dsh-client-ui-workflow-run",
4639
+ "@deepseek-ai/dsh-client-ui-workspace",
4640
+ "@deepseek-ai/dsh-cmdline",
4641
+ "@deepseek-ai/dsh-code-runtime",
4642
+ "@deepseek-ai/dsh-code-runtime-worker-thread",
4643
+ "@deepseek-ai/dsh-command-compact",
4644
+ "@deepseek-ai/dsh-command-feedback",
4645
+ "@deepseek-ai/dsh-command-goal",
4646
+ "@deepseek-ai/dsh-commands",
4647
+ "@deepseek-ai/dsh-compaction",
4648
+ "@deepseek-ai/dsh-compaction-basic",
4649
+ "@deepseek-ai/dsh-compaction-tool-result-pruner",
4650
+ "@deepseek-ai/dsh-cordis-client-runner",
4651
+ "@deepseek-ai/dsh-cordis-host-runner",
4652
+ "@deepseek-ai/dsh-credentials",
4653
+ "@deepseek-ai/dsh-credentials-local",
4654
+ "@deepseek-ai/dsh-deepseek-llm-api-extensions",
4655
+ "@deepseek-ai/dsh-deque",
4656
+ "@deepseek-ai/dsh-file-reference",
4657
+ "@deepseek-ai/dsh-file-reference-local",
4658
+ "@deepseek-ai/dsh-fs",
4659
+ "@deepseek-ai/dsh-fs-local",
4660
+ "@deepseek-ai/dsh-fs-observation-policy",
4661
+ "@deepseek-ai/dsh-fs-sandbox",
4662
+ "@deepseek-ai/dsh-goal",
4663
+ "@deepseek-ai/dsh-goal-round-driver",
4664
+ "@deepseek-ai/dsh-headless",
4665
+ "@deepseek-ai/dsh-home-paths",
4666
+ "@deepseek-ai/dsh-hook-protocol",
4667
+ "@deepseek-ai/dsh-hooks-claude-code",
4668
+ "@deepseek-ai/dsh-hooks-codex",
4669
+ "@deepseek-ai/dsh-host-directory-picker",
4670
+ "@deepseek-ai/dsh-host-directory-picker-auto",
4671
+ "@deepseek-ai/dsh-host-directory-picker-browse",
4672
+ "@deepseek-ai/dsh-host-directory-picker-native",
4673
+ "@deepseek-ai/dsh-host-frontend-static",
4674
+ "@deepseek-ai/dsh-host-open-in-app",
4675
+ "@deepseek-ai/dsh-host-plugin-inventory",
4676
+ "@deepseek-ai/dsh-host-webserver",
4677
+ "@deepseek-ai/dsh-http-proxy",
4678
+ "@deepseek-ai/dsh-invariants",
4679
+ "@deepseek-ai/dsh-jobs",
4680
+ "@deepseek-ai/dsh-jobs-local",
4681
+ "@deepseek-ai/dsh-launch-environment",
4682
+ "@deepseek-ai/dsh-llm",
4683
+ "@deepseek-ai/dsh-llm-deepseek",
4684
+ "@deepseek-ai/dsh-llm-pi-ai",
4685
+ "@deepseek-ai/dsh-llm-retry",
4686
+ "@deepseek-ai/dsh-mcp-client",
4687
+ "@deepseek-ai/dsh-message-feedback",
4688
+ "@deepseek-ai/dsh-native-command",
4689
+ "@deepseek-ai/dsh-output-retention",
4690
+ "@deepseek-ai/dsh-package-manifest",
4691
+ "@deepseek-ai/dsh-permission-presets",
4692
+ "@deepseek-ai/dsh-persona",
4693
+ "@deepseek-ai/dsh-plan-mode",
4694
+ "@deepseek-ai/dsh-plugin-package-inventory-deepseek",
4695
+ "@deepseek-ai/dsh-pwsh-local",
4696
+ "@deepseek-ai/dsh-pwsh-sandbox",
4697
+ "@deepseek-ai/dsh-repeat-tool-reminder",
4698
+ "@deepseek-ai/dsh-sandbox",
4699
+ "@deepseek-ai/dsh-sandbox-local",
4700
+ "@deepseek-ai/dsh-sandbox-policy",
4701
+ "@deepseek-ai/dsh-sandbox-windows-acl",
4702
+ "@deepseek-ai/dsh-schedule",
4703
+ "@deepseek-ai/dsh-scope",
4704
+ "@deepseek-ai/dsh-sdk-app",
4705
+ "@deepseek-ai/dsh-sdk-jsonrpc-server",
4706
+ "@deepseek-ai/dsh-sdk-minimal",
4707
+ "@deepseek-ai/dsh-sdk-protocol",
4708
+ "@deepseek-ai/dsh-session",
4709
+ "@deepseek-ai/dsh-session-checkpoint-policy",
4710
+ "@deepseek-ai/dsh-session-format",
4711
+ "@deepseek-ai/dsh-session-format-catalog",
4712
+ "@deepseek-ai/dsh-session-format-v0-to-v1",
4713
+ "@deepseek-ai/dsh-session-format-v1-to-v2",
4714
+ "@deepseek-ai/dsh-session-format-v2-to-v3",
4715
+ "@deepseek-ai/dsh-session-log-deepseek",
4716
+ "@deepseek-ai/dsh-session-log-export",
4717
+ "@deepseek-ai/dsh-session-persistence",
4718
+ "@deepseek-ai/dsh-session-persistence-jsonl",
4719
+ "@deepseek-ai/dsh-session-projection",
4720
+ "@deepseek-ai/dsh-session-projection-cache",
4721
+ "@deepseek-ai/dsh-session-query",
4722
+ "@deepseek-ai/dsh-session-query-sqlite",
4723
+ "@deepseek-ai/dsh-session-reference",
4724
+ "@deepseek-ai/dsh-session-stats",
4725
+ "@deepseek-ai/dsh-session-telemetry",
4726
+ "@deepseek-ai/dsh-session-telemetry-otel",
4727
+ "@deepseek-ai/dsh-session-title",
4728
+ "@deepseek-ai/dsh-session-title-first-prompt-llm",
4729
+ "@deepseek-ai/dsh-session-title-llm",
4730
+ "@deepseek-ai/dsh-session-turn-outline",
4731
+ "@deepseek-ai/dsh-settings",
4732
+ "@deepseek-ai/dsh-settings-file",
4733
+ "@deepseek-ai/dsh-shell",
4734
+ "@deepseek-ai/dsh-shell-env",
4735
+ "@deepseek-ai/dsh-skill",
4736
+ "@deepseek-ai/dsh-skill-badge",
4737
+ "@deepseek-ai/dsh-skill-filesystem",
4738
+ "@deepseek-ai/dsh-spill",
4739
+ "@deepseek-ai/dsh-spill-local",
4740
+ "@deepseek-ai/dsh-spill-policy",
4741
+ "@deepseek-ai/dsh-storage",
4742
+ "@deepseek-ai/dsh-storage-domain",
4743
+ "@deepseek-ai/dsh-storage-json",
4744
+ "@deepseek-ai/dsh-subagent",
4745
+ "@deepseek-ai/dsh-subagent-fork-in-process",
4746
+ "@deepseek-ai/dsh-subagent-in-process-driver",
4747
+ "@deepseek-ai/dsh-subagent-spawn-in-process",
4748
+ "@deepseek-ai/dsh-subprocess",
4749
+ "@deepseek-ai/dsh-subprocess-local",
4750
+ "@deepseek-ai/dsh-system-prompt",
4751
+ "@deepseek-ai/dsh-terminal",
4752
+ "@deepseek-ai/dsh-terminal-bash",
4753
+ "@deepseek-ai/dsh-time-context",
4754
+ "@deepseek-ai/dsh-timeout",
4755
+ "@deepseek-ai/dsh-tmux-context",
4756
+ "@deepseek-ai/dsh-token-meter",
4757
+ "@deepseek-ai/dsh-tool-ask-user",
4758
+ "@deepseek-ai/dsh-tool-bash",
4759
+ "@deepseek-ai/dsh-tool-bash-persistent",
4760
+ "@deepseek-ai/dsh-tool-call-timeout-policy",
4761
+ "@deepseek-ai/dsh-tool-cordis",
4762
+ "@deepseek-ai/dsh-tool-fs",
4763
+ "@deepseek-ai/dsh-tool-fs-search",
4764
+ "@deepseek-ai/dsh-tool-goal",
4765
+ "@deepseek-ai/dsh-tool-jobs",
4766
+ "@deepseek-ai/dsh-tool-present",
4767
+ "@deepseek-ai/dsh-tool-pwsh",
4768
+ "@deepseek-ai/dsh-tool-pwsh-persistent",
4769
+ "@deepseek-ai/dsh-tool-ralph",
4770
+ "@deepseek-ai/dsh-tool-skill",
4771
+ "@deepseek-ai/dsh-tool-str-replace-editor",
4772
+ "@deepseek-ai/dsh-tool-subagent",
4773
+ "@deepseek-ai/dsh-tool-subagent-control",
4774
+ "@deepseek-ai/dsh-tool-todo",
4775
+ "@deepseek-ai/dsh-tool-web",
4776
+ "@deepseek-ai/dsh-tool-workflow",
4777
+ "@deepseek-ai/dsh-tools",
4778
+ "@deepseek-ai/dsh-typert-loader",
4779
+ "@deepseek-ai/dsh-typert-protocol",
4780
+ "@deepseek-ai/dsh-typert-registry",
4781
+ "@deepseek-ai/dsh-user-approval",
4782
+ "@deepseek-ai/dsh-user-questions",
4783
+ "@deepseek-ai/dsh-util-crypto",
4784
+ "@deepseek-ai/dsh-util-time",
4785
+ "@deepseek-ai/dsh-util-values",
4786
+ "@deepseek-ai/dsh-util-workspace-path",
4787
+ "@deepseek-ai/dsh-web",
4788
+ "@deepseek-ai/dsh-web-app",
4789
+ "@deepseek-ai/dsh-web-fetch-http",
4790
+ "@deepseek-ai/dsh-web-frontend",
4791
+ "@deepseek-ai/dsh-web-search-deepseek",
4792
+ "@deepseek-ai/dsh-webhook",
4793
+ "@deepseek-ai/dsh-webhook-github",
4794
+ "@deepseek-ai/dsh-win32-process",
4795
+ "@deepseek-ai/dsh-workflow",
4796
+ "@deepseek-ai/dsh-workflow-worker-thread",
4797
+ "@deepseek-ai/dsh-workspace"
4798
+ ];
4799
+ const DEEPSEEK_HARNESS_CORDIS_PACKAGE_VERSIONS = {
4800
+ "@deepseek-ai/cordis": "4.0.2",
4801
+ "@deepseek-ai/cordis-plugin-group": "1.0.2",
4802
+ "@deepseek-ai/cordis-plugin-hmr": "1.0.17",
4803
+ "@deepseek-ai/cordis-plugin-include": "1.0.7",
4804
+ "@deepseek-ai/cordis-plugin-loader": "1.0.3",
4805
+ "@deepseek-ai/cordis-plugin-timer": "1.1.4"
4806
+ };
4807
+ function createDeepSeekHarnessNpxSpecifiers(versions = DEEPSEEK_HARNESS_CORDIS_PACKAGE_VERSIONS) {
4808
+ return DEEPSEEK_HARNESS_NPX_PACKAGES.map((packageName) => `${packageName}@${versions[packageName] ?? DEEPSEEK_HARNESS_VERSION}`);
4809
+ }
4810
+ function toAdapterModuleSpecifier(adapterPath, windows = process.platform === "win32") {
4811
+ if (adapterPath.startsWith("file:"))
4812
+ return adapterPath;
4813
+ return pathToFileURL(adapterPath, { windows }).href;
4814
+ }
4815
+ const PROFILE_PNPM_WORKSPACE = "packages:\n - .\n\nnodeLinker: hoisted\nautoInstallPeers: false\n";
4816
+ function createDeepSeekHarnessProfileFiles(config) {
4817
+ const provider = config.provider?.trim() || DEEPSEEK_HARNESS_PROVIDER;
4818
+ const model = config.model?.trim() || DEEPSEEK_HARNESS_DEFAULT_MODEL;
4819
+ const compression = config.sessionCompression ?? DEEPSEEK_HARNESS_DEFAULT_SESSION_COMPRESSION;
4820
+ const adapterPath = JSON.stringify(toAdapterModuleSpecifier(config.adapterPath));
4821
+ const presetRoot = JSON.stringify(config.presetRoot);
4822
+ const permissionPresets = DEEPSEEK_HARNESS_PERMISSION_PRESETS.map((preset) => ` ${preset.id}:
4823
+ sandbox: ${preset.sandbox}
4824
+ approval: ${preset.approval}
4825
+ name: ${preset.name}
4826
+ description: ${preset.description}`).join("\n");
4827
+ const packageJson = JSON.stringify({
4828
+ name: `dsh-profile-${DEEPSEEK_HARNESS_PROFILE_NAME}`,
4829
+ private: true,
4830
+ dependencies: {},
4831
+ dsh: {
4832
+ profile: {
4833
+ bundles: [...DEEPSEEK_HARNESS_PROFILE_BUNDLES],
4834
+ patchReload: "startup"
4835
+ }
4836
+ }
4837
+ }, null, 2) + "\n";
4838
+ const cordisYml = "[]\n";
4839
+ const cordisPatchYml = `# Generated by acp-extension-dsh ${ACP_EXTENSION_DSH_VERSION} for DeepSeek Harness ${DEEPSEEK_HARNESS_VERSION}.
4840
+ # API credentials stay in the host environment; never inline them here.
4841
+
4842
+ # The ACP host owns no telemetry or product inventory rows.
4843
+ - id: session-telemetry-otel
4844
+ disabled: true
4845
+
4846
+ - id: plugin-package-inventory-deepseek
4847
+ disabled: true
4848
+
4849
+ - id: session-log-deepseek
4850
+ disabled: true
4851
+
4852
+ # Titles come from the client; do not spend a model call on the first prompt.
4853
+ - id: session-title-llm
4854
+ disabled: true
4855
+
4856
+ # Keep sessions and the exact-read query index on Lody's own roots.
4857
+ - id: session-persistence-jsonl
4858
+ config:
4859
+ root: !!js process.env.${ACP_EXTENSION_DSH_SESSION_ROOT_ENV}
4860
+ compression: ${compression}
4861
+
4862
+ - id: session-query-sqlite
4863
+ config:
4864
+ path: !!js process.env.${ACP_EXTENSION_DSH_QUERY_PATH_ENV}
4865
+ openAt: never
4866
+
4867
+ # The agent factory default for any preset-created child.
4868
+ - id: agent-default-model
4869
+ config:
4870
+ provider: ${JSON.stringify(provider)}
4871
+ model: ${JSON.stringify(model)}
4872
+
4873
+ # Preserve the product's three permission modes with client-facing labels.
4874
+ - id: permission
4875
+ config:
4876
+ defaultPreset: ${DEEPSEEK_HARNESS_DEFAULT_PERMISSION_PRESET}
4877
+ presets:
4878
+ ${permissionPresets}
4879
+
4880
+ - insert:
4881
+ - id: agent-presets
4882
+ name: '@deepseek-ai/dsh-agent-presets'
4883
+ config:
4884
+ default: standard
4885
+ includeShippedRoot: false
4886
+ includeUserRoot: true
4887
+ roots:
4888
+ - path: ${presetRoot}
4889
+ trust: system
4890
+
4891
+ # The shipped presets' delegation group resolves this host-scope opt-in.
4892
+ - id: subagent-model-selection-settings
4893
+ name: '@deepseek-ai/dsh-tool-subagent/model-selection-settings'
4894
+
4895
+ - id: acp-agent
4896
+ name: ${adapterPath}
4897
+ inject: [settings]
4898
+ config:
4899
+ provider: ${JSON.stringify(provider)}
4900
+ model: ${JSON.stringify(model)}${config.reasoningEffort ? `
4901
+ reasoningEffort: ${JSON.stringify(config.reasoningEffort)}` : ""}
4902
+ `;
4903
+ return { packageJson, cordisYml, cordisPatchYml, pnpmWorkspaceYaml: PROFILE_PNPM_WORKSPACE };
4904
+ }
4905
+ const DEEPSEEK_HARNESS_PROFILE_FILENAMES = {
4906
+ packageJson: "package.json",
4907
+ cordisYml: "cordis.yml",
4908
+ cordisPatchYml: "cordis.patch.yml",
4909
+ pnpmWorkspaceYaml: "pnpm-workspace.yaml"
4910
+ };
4527
4911
  export {
4528
- AgentSideConnection as A,
4912
+ ACP_EXTENSION_DSH_CAPABILITY_SOURCE_VERSION as A,
4529
4913
  ClientSideConnection as C,
4914
+ DEEPSEEK_HARNESS_PERMISSION_MODES as D,
4530
4915
  PROTOCOL_VERSION as P,
4531
4916
  RequestError as R,
4532
- CreateElicitationResponse as a,
4533
- agent as b,
4534
- client as c,
4917
+ DEEPSEEK_HARNESS_AGENT_PRESETS as a,
4918
+ DEEPSEEK_HARNESS_PROFILE_NAME as b,
4919
+ createDeepSeekHarnessProfileFiles as c,
4920
+ DEEPSEEK_HARNESS_PROFILE_FILENAMES as d,
4921
+ ACP_EXTENSION_DSH_QUERY_PATH_ENV as e,
4922
+ ACP_EXTENSION_DSH_SESSION_ROOT_ENV as f,
4923
+ createDeepSeekHarnessNpxSpecifiers as g,
4924
+ DEEPSEEK_HARNESS_DEFAULT_SESSION_COMPRESSION as h,
4925
+ DEEPSEEK_HARNESS_VERSION as i,
4926
+ DEEPSEEK_HARNESS_BASE_URL_ENV as j,
4927
+ client as k,
4928
+ DEEPSEEK_HARNESS_API_KEY_ENV as l,
4535
4929
  methods as m,
4536
- ndJsonStream as n
4930
+ ndJsonStream as n,
4931
+ AgentSideConnection as o,
4932
+ ACP_EXTENSION_DSH_VERSION as p,
4933
+ DEEPSEEK_HARNESS_DEFAULT_MODEL as q,
4934
+ DEEPSEEK_HARNESS_PROVIDER as r
4537
4935
  };
@@ -28,7 +28,7 @@ import "node:util";
28
28
  import "node:zlib";
29
29
  import "child_process";
30
30
  import "./plan-mode-BLOER-fv.js";
31
- import "./profile-DQaC7SJZ.js";
31
+ import "./profile-BmD8b-zH.js";
32
32
  import "node:url";
33
33
  import { __tla as __tla_1 } from "./loro_wasm_bg-Dz8BnaUI.js";
34
34
  import "perf_hooks";
@@ -55,9 +55,8 @@ import "./directory-handle-35P9qcGk.js";
55
55
  import "./diff-line-counts-bmGB_T-n.js";
56
56
  import "node:stream/promises";
57
57
  import "node:string_decoder";
58
- import "./package-CZY_YQI4.js";
59
- import "./runtime-manifest-DqfOlvSw.js";
60
- import "./acp-DCoAUZc7.js";
58
+ import "./package-BdifTDFO.js";
59
+ import "./runtime-manifest-DZsDOOW3.js";
61
60
  import "./methods-CvEDMahD.js";
62
61
  import "async_hooks";
63
62
  import "module";
@@ -82,7 +81,7 @@ let __tla = Promise.all([
82
81
  }
83
82
  })()
84
83
  ]).then(async () => {
85
- const reviewViewerVersion = "0.97.1";
84
+ const reviewViewerVersion = "0.98.0";
86
85
  const reviewViewerSha256 = "681ed52366a3bfaba8a637aae99d13a81355378a7152a9e29d4bb7abdb133f01";
87
86
  const reviewViewerFileName = "standalone.html";
88
87
  const DEFAULT_CDN_BASES = [
@@ -1,5 +1,5 @@
1
1
  const officialRuntime = { "version": "1.0.34" };
2
- const privateWireContract = { "permissionNotification": "x.ai/yolo_mode_changed", "sessionConfigMeta": "x.ai/sessionConfig", "sessionNotification": "x.ai/session_notification", "sessionUpdateNotification": "x.ai/session/update", "modelsUpdateNotification": "x.ai/models/update", "turnCompletedUpdate": "turn_completed", "sessionInfoRequest": "x.ai/session/info", "billingRequest": "x.ai/billing", "weeklyUsagePeriodType": "USAGE_PERIOD_TYPE_WEEKLY", "reasoningEffortMeta": "reasoningEffort", "autoPermissionMode": false, "planApprovalRequest": "x.ai/exit_plan_mode" };
2
+ const privateWireContract = { "permissionNotification": "x.ai/yolo_mode_changed", "sessionConfigMeta": "x.ai/sessionConfig", "sessionNotification": "x.ai/session_notification", "sessionUpdateNotification": "x.ai/session/update", "modelsUpdateNotification": "x.ai/models/update", "userMessageEchoCapability": "x.ai/userMessageEcho", "turnCompletedUpdate": "turn_completed", "sessionInfoRequest": "x.ai/session/info", "billingRequest": "x.ai/billing", "weeklyUsagePeriodType": "USAGE_PERIOD_TYPE_WEEKLY", "reasoningEffortMeta": "reasoningEffort", "autoPermissionMode": false, "planApprovalRequest": "x.ai/exit_plan_mode" };
3
3
  const runtimeManifest = {
4
4
  officialRuntime,
5
5
  privateWireContract