@eddyskywalker/dsh-chatgpt-subscription 0.3.5 → 0.3.7

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/lib/index.js CHANGED
@@ -14780,12 +14780,128 @@ function validateAuthorizationScope(scope) {
14780
14780
  * Windows it can abort the process with STATUS_STACK_BUFFER_OVERRUN when the
14781
14781
  * source path contains non-ASCII characters (nodejs/node#54476). The copy is
14782
14782
  * per-entry instead, which also lets source mtimes ride along.
14783
+ *
14784
+ * A preset row names the package it mounts, so a name the running installation
14785
+ * does not ship makes the whole preset unresolvable. Text naming a package the
14786
+ * harness renamed is therefore reconciled with the installation before it is
14787
+ * compared or written.
14783
14788
  * @module dsh-chatgpt-subscription/preset-sync
14784
14789
  */
14785
14790
  /** The preset directory this package ships. */
14786
14791
  const BUNDLED_PRESET_IDS = ["dispatch"];
14787
14792
  /** Clock tolerance for the mtime fast path before falling through to a byte compare. */
14788
14793
  const MTIME_TOLERANCE_MS = 1e3;
14794
+ /** Extensions whose text may name a package. */
14795
+ const REWRITABLE_EXTENSIONS = [".yml", ".yaml"];
14796
+ /**
14797
+ * Package names the harness renamed, mapped to the name that replaced each.
14798
+ *
14799
+ * Harness 0.1.6 renamed `workflow-worker-thread` to `workflow-ptc`; every
14800
+ * earlier release ships only the former. The bundled preset carries the
14801
+ * earlier spelling, which the sync replaces when the installation ships the
14802
+ * later one.
14803
+ */
14804
+ const RENAMED_PACKAGES = /* @__PURE__ */ new Map([["@deepseek-ai/dsh-workflow-worker-thread", "@deepseek-ai/dsh-workflow-ptc"]]);
14805
+ /**
14806
+ * Packages whose row some supported harness generation does not ship at all.
14807
+ *
14808
+ * An enabled row naming a package the installation cannot resolve makes the
14809
+ * whole preset unresolvable — the roster reports it broken, which is worse than
14810
+ * a missing row because a broken preset can be neither selected nor copied. The
14811
+ * roster skips a `disabled` row in that check, so the sync disables a row whose
14812
+ * package is absent, and the next boot that ships the package re-enables it.
14813
+ *
14814
+ * The set is deliberately explicit rather than "every row that fails to
14815
+ * resolve": a resolver that fails on a working installation would then strip
14816
+ * the preset down to nothing, a quieter failure than the one it fixes.
14817
+ */
14818
+ const OPTIONALLY_ABSENT_PACKAGES = ["@deepseek-ai/dsh-tool-present"];
14819
+ /**
14820
+ * Whether a bare specifier resolves from this module in the running
14821
+ * installation. A harness whose Node build exposes no `import.meta.resolve`
14822
+ * answers `false` for everything, which leaves every bundled spelling in place.
14823
+ * @param specifier - bare package specifier.
14824
+ * @returns whether the specifier resolves.
14825
+ */
14826
+ function resolvesFromHere(specifier) {
14827
+ const resolve = import.meta.resolve;
14828
+ if (resolve === void 0) return false;
14829
+ try {
14830
+ resolve(specifier);
14831
+ return true;
14832
+ } catch {
14833
+ return false;
14834
+ }
14835
+ }
14836
+ /**
14837
+ * Point every renamed package name at the spelling this installation ships.
14838
+ *
14839
+ * A name that still resolves is left alone, and so is a rename whose
14840
+ * replacement does not resolve: with neither spelling present the preset is
14841
+ * unresolvable either way, and rewriting would only hide which name was tried.
14842
+ * @param content - bundled preset file text.
14843
+ * @param resolves - whether a bare specifier resolves in this installation.
14844
+ * @returns the text to write, equal to `content` when no rename applies.
14845
+ */
14846
+ function reconcilePackageNames(content, resolves) {
14847
+ let out = content;
14848
+ for (const [renamed, current] of RENAMED_PACKAGES) {
14849
+ if (!out.includes(renamed)) continue;
14850
+ if (resolves(renamed) || !resolves(current)) continue;
14851
+ out = out.split(renamed).join(current);
14852
+ }
14853
+ return out;
14854
+ }
14855
+ /** Leading spaces of one line — the indentation its YAML keys share. */
14856
+ function indentationOf(line) {
14857
+ return line.length - line.trimStart().length;
14858
+ }
14859
+ /** The package a row line mounts, when the line is a row's `name:` key. */
14860
+ function rowPackageName(line) {
14861
+ return /^\s*name:\s*'([^']+)'\s*$/.exec(line)?.[1];
14862
+ }
14863
+ /** Whether the row whose `name:` key sits at `index` already declares `disabled`. */
14864
+ function rowDeclaresDisabled(lines, index) {
14865
+ const indent = indentationOf(lines[index] ?? "");
14866
+ for (const line of lines.slice(index + 1)) {
14867
+ if (line.trim() === "") continue;
14868
+ const own = indentationOf(line);
14869
+ if (own < indent) return false;
14870
+ if (own === indent && line.trimStart().startsWith("disabled:")) return true;
14871
+ }
14872
+ return false;
14873
+ }
14874
+ /**
14875
+ * Disable every row whose package this installation does not ship.
14876
+ * @param content - preset file text.
14877
+ * @param resolves - whether a bare specifier resolves in this installation.
14878
+ * @returns the text to write, equal to `content` when no row is affected.
14879
+ */
14880
+ function disableRowsForAbsentPackages(content, resolves) {
14881
+ const lines = content.split("\n");
14882
+ const out = [];
14883
+ for (const [index, line] of lines.entries()) {
14884
+ out.push(line);
14885
+ const specifier = rowPackageName(line);
14886
+ if (specifier === void 0 || !OPTIONALLY_ABSENT_PACKAGES.includes(specifier)) continue;
14887
+ if (resolves(specifier) || rowDeclaresDisabled(lines, index)) continue;
14888
+ out.push(`${" ".repeat(indentationOf(line))}disabled: true`);
14889
+ }
14890
+ return out.join("\n");
14891
+ }
14892
+ /**
14893
+ * Reconcile one bundled preset file with the packages this installation ships:
14894
+ * a renamed package takes the spelling it carries, and a row it cannot mount is
14895
+ * disabled rather than left to mark the whole preset unresolvable.
14896
+ * @param content - bundled preset file text.
14897
+ * @param resolves - whether a bare specifier resolves in this installation.
14898
+ * @returns the text to write.
14899
+ */
14900
+ function reconcilePreset(content, resolves) {
14901
+ return disableRowsForAbsentPackages(reconcilePackageNames(content, resolves), resolves);
14902
+ }
14903
+ /** Rewrite bundled preset text for the packages this installation ships. */
14904
+ const rewritePresetFile = (_relativePath, content) => reconcilePreset(content, resolvesFromHere);
14789
14905
  /**
14790
14906
  * The package root, found by walking up from this module to the nearest
14791
14907
  * `package.json`.
@@ -14873,12 +14989,34 @@ function copyTreeSync(sourceDir, targetDir) {
14873
14989
  }
14874
14990
  }
14875
14991
  /**
14992
+ * Text files below `sourceDir` whose content `rewrite` changes, keyed by path
14993
+ * relative to `sourceDir`.
14994
+ * @param sourceDir - bundled preset directory.
14995
+ * @param rewrite - text rewrite for the running installation.
14996
+ * @returns replacement text per changed file.
14997
+ */
14998
+ function collectRewrites(sourceDir, rewrite) {
14999
+ const rewrites = /* @__PURE__ */ new Map();
15000
+ for (const file of filesUnder(sourceDir)) {
15001
+ if (!REWRITABLE_EXTENSIONS.some((extension) => file.endsWith(extension))) continue;
15002
+ const content = readFileSync(file, "utf8");
15003
+ const rewritten = rewrite(relative(sourceDir, file), content);
15004
+ if (rewritten !== content) rewrites.set(relative(sourceDir, file), rewritten);
15005
+ }
15006
+ return rewrites;
15007
+ }
15008
+ /** Write the replacement text of every rewritten file below `targetDir`. */
15009
+ function writeRewrites(targetDir, rewrites) {
15010
+ for (const [rel, content] of rewrites) writeFileSync(join(targetDir, rel), content);
15011
+ }
15012
+ /**
14876
15013
  * Copy `sourceDir` into `targetDir` idempotently.
14877
15014
  * @param sourceDir - bundled preset directory.
14878
15015
  * @param targetDir - discovery-root directory for the same preset id.
15016
+ * @param rewrites - replacement text by path relative to `sourceDir`; a rewritten file is compared by content, since its target carries no source mtime.
14879
15017
  * @returns whether anything was written.
14880
15018
  */
14881
- function syncOnePreset(sourceDir, targetDir) {
15019
+ function syncOnePreset(sourceDir, targetDir, rewrites = /* @__PURE__ */ new Map()) {
14882
15020
  const sourceFiles = filesUnder(sourceDir);
14883
15021
  const sourceSet = new Set(sourceFiles.map((file) => relative(sourceDir, file)));
14884
15022
  if (existsSync(targetDir) && !statSync(targetDir).isDirectory()) rmSync(targetDir, {
@@ -14887,12 +15025,22 @@ function syncOnePreset(sourceDir, targetDir) {
14887
15025
  });
14888
15026
  if (!existsSync(targetDir)) {
14889
15027
  copyTreeSync(sourceDir, targetDir);
15028
+ writeRewrites(targetDir, rewrites);
14890
15029
  pruneExtras(targetDir, sourceSet);
14891
15030
  return "synced";
14892
15031
  }
14893
15032
  let dirty = false;
14894
15033
  for (const file of sourceFiles) {
14895
- const dest = join(targetDir, relative(sourceDir, file));
15034
+ const rel = relative(sourceDir, file);
15035
+ const dest = join(targetDir, rel);
15036
+ const replacement = rewrites.get(rel);
15037
+ if (replacement !== void 0) {
15038
+ if (!existsSync(dest) || readFileSync(dest, "utf8") !== replacement) {
15039
+ dirty = true;
15040
+ break;
15041
+ }
15042
+ continue;
15043
+ }
14896
15044
  if (!existsSync(dest) || !sameFile(file, dest)) {
14897
15045
  dirty = true;
14898
15046
  break;
@@ -14907,6 +15055,7 @@ function syncOnePreset(sourceDir, targetDir) {
14907
15055
  if (!dirty) return "current";
14908
15056
  pruneExtras(targetDir, sourceSet);
14909
15057
  copyTreeSync(sourceDir, targetDir);
15058
+ writeRewrites(targetDir, rewrites);
14910
15059
  pruneExtras(targetDir, sourceSet);
14911
15060
  return "synced";
14912
15061
  }
@@ -14917,9 +15066,10 @@ function syncOnePreset(sourceDir, targetDir) {
14917
15066
  * @param sourceRoot - this package's bundled `presets/` directory.
14918
15067
  * @param targetRoot - harness-home agent-presets discovery root.
14919
15068
  * @param retire - previously bundled preset ids to remove when absent from the source.
15069
+ * @param rewrite - rewrites preset text for the running installation; omission copies the bundle verbatim.
14920
15070
  * @returns the grouped outcome of the run.
14921
15071
  */
14922
- function syncPresetTrees(sourceRoot, targetRoot, retire = []) {
15072
+ function syncPresetTrees(sourceRoot, targetRoot, retire = [], rewrite) {
14923
15073
  const result = {
14924
15074
  synced: [],
14925
15075
  current: [],
@@ -14935,7 +15085,8 @@ function syncPresetTrees(sourceRoot, targetRoot, retire = []) {
14935
15085
  const id = basename(source);
14936
15086
  shipped.add(id);
14937
15087
  try {
14938
- if (syncOnePreset(source, join(targetRoot, id)) === "synced") result.synced.push(id);
15088
+ const rewrites = rewrite === void 0 ? /* @__PURE__ */ new Map() : collectRewrites(source, rewrite);
15089
+ if (syncOnePreset(source, join(targetRoot, id), rewrites) === "synced") result.synced.push(id);
14939
15090
  else result.current.push(id);
14940
15091
  } catch (error) {
14941
15092
  result.failed.push({
@@ -15568,7 +15719,7 @@ function apply(ctx, pluginConfig = {}) {
15568
15719
  if (pluginConfig.syncAgentPresets !== false) ctx.effect(() => {
15569
15720
  try {
15570
15721
  const target = presetTargetRoot(dshHomeDir());
15571
- const result = syncPresetTrees(bundledPresetsRoot(), target, [...BUNDLED_PRESET_IDS]);
15722
+ const result = syncPresetTrees(bundledPresetsRoot(), target, [...BUNDLED_PRESET_IDS], rewritePresetFile);
15572
15723
  for (const { id, error } of result.failed) ctx.logger.warn(`[dsh-chatgpt-subscription] agent preset "${id}" sync failed: ${error}`);
15573
15724
  if (result.synced.length > 0) ctx.logger.info(`[dsh-chatgpt-subscription] agent presets synced into ${target}: ${result.synced.join(", ")}`);
15574
15725
  } catch (error) {
@@ -1,8 +1,8 @@
1
- import type { SnapshotStore } from '@deepseek-ai/dsh-client-runtime/client';
2
1
  import type { ModelDirectoryState } from '@deepseek-ai/dsh-client-ui-model-selection/client';
3
2
  import type { PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
4
3
  import { SubscriptionApi } from './api.ts';
5
4
  import { NS } from './locales.ts';
5
+ import type { SnapshotStore } from './store.ts';
6
6
  type Props = PropsRuntime<'conversation.input.right'> & PropsLocale<typeof NS> & {
7
7
  api: SubscriptionApi;
8
8
  directory: SnapshotStore<ModelDirectoryState>;
@@ -1 +1 @@
1
- {"version":3,"file":"CodexComposerQuota.d.ts","sourceRoot":"","sources":["../../../src/client/CodexComposerQuota.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAGjF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAGjC,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG;IAC/E,GAAG,EAAE,eAAe,CAAA;IACpB,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwD7G"}
1
+ {"version":3,"file":"CodexComposerQuota.d.ts","sourceRoot":"","sources":["../../../src/client/CodexComposerQuota.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAGjF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG;IAC/E,GAAG,EAAE,eAAe,CAAA;IACpB,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwD7G"}
@@ -1,6 +1,6 @@
1
- import type { SnapshotStore } from '@deepseek-ai/dsh-client-runtime/client';
2
1
  import type { ModelDirectoryState } from '@deepseek-ai/dsh-client-ui-model-selection/client';
3
2
  import type { PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
3
+ import type { SnapshotStore } from '../store.ts';
4
4
  import { NS_ANTIGRAVITY } from './locales.ts';
5
5
  type Props = PropsRuntime<'conversation.input.right'> & PropsLocale<typeof NS_ANTIGRAVITY> & {
6
6
  directory: SnapshotStore<ModelDirectoryState>;
@@ -1 +1 @@
1
- {"version":3,"file":"AntigravityComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/antigravity/AntigravityComposerQuota.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAmB7C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GACnD,WAAW,CAAC,OAAO,cAAc,CAAC,GAAG;IACnC,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAqCH,wBAAgB,wBAAwB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAkF3G"}
1
+ {"version":3,"file":"AntigravityComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/antigravity/AntigravityComposerQuota.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAEjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAmB7C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GACnD,WAAW,CAAC,OAAO,cAAc,CAAC,GAAG;IACnC,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAqCH,wBAAgB,wBAAwB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAkF3G"}
@@ -1,7 +1,7 @@
1
- import type { SnapshotStore } from '@deepseek-ai/dsh-client-runtime/client';
2
1
  import type { ModelDirectoryState } from '@deepseek-ai/dsh-client-ui-model-selection/client';
3
2
  import type { PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
4
3
  import type { CommandCodeWebStatus } from '../../shared/command-code-contracts.ts';
4
+ import type { SnapshotStore } from '../store.ts';
5
5
  import { NS_COMMAND_CODE } from './locales.ts';
6
6
  type Props = PropsRuntime<'conversation.input.right'> & PropsLocale<typeof NS_COMMAND_CODE> & {
7
7
  directory: SnapshotStore<ModelDirectoryState>;
@@ -1 +1 @@
1
- {"version":3,"file":"CommandCodeComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeComposerQuota.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAmB9C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GACnD,WAAW,CAAC,OAAO,eAAe,CAAC,GAAG;IACpC,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAEH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAiCvF;AAED,wBAAgB,wBAAwB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgE3G"}
1
+ {"version":3,"file":"CommandCodeComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeComposerQuota.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAmB9C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GACnD,WAAW,CAAC,OAAO,eAAe,CAAC,GAAG;IACpC,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAEH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAiCvF;AAED,wBAAgB,wBAAwB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgE3G"}
@@ -1,4 +1,4 @@
1
- import type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client';
1
+ import type { Context as ClientContext } from '@deepseek-ai/cordis';
2
2
  import { type LocaleKey } from './locales.ts';
3
3
  declare module '@deepseek-ai/dsh-client-ui-slots' {
4
4
  interface LocaleNamespaceMap {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAa3E,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAY/D,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,GAAG,CAAA;QACtB,kBAAkB,EAAE,GAAG,CAAA;QACvB,eAAe,EAAE,GAAG,CAAA;KACrB;CACF;AAED,eAAO,MAAM,MAAM,UAA0D,CAAA;AAE7E,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAoH9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAY/D,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,GAAG,CAAA;QACtB,kBAAkB,EAAE,GAAG,CAAA;QACvB,eAAe,EAAE,GAAG,CAAA;KACrB;CACF;AAED,eAAO,MAAM,MAAM,UAA0D,CAAA;AAE7E,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAoH9C"}
@@ -1,7 +1,7 @@
1
- import type { SnapshotStore } from '@deepseek-ai/dsh-client-runtime/client';
2
1
  import type { ModelDirectoryState } from '@deepseek-ai/dsh-client-ui-model-selection/client';
3
2
  import type { PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
4
3
  import type { KimiCodeWebStatus } from '../../shared/kimi-code-contracts.ts';
4
+ import type { SnapshotStore } from '../store.ts';
5
5
  import { NS_KIMI_CODE } from './locales.ts';
6
6
  type Props = PropsRuntime<'conversation.input.right'> & PropsLocale<typeof NS_KIMI_CODE> & {
7
7
  directory: SnapshotStore<ModelDirectoryState>;
@@ -1 +1 @@
1
- {"version":3,"file":"KimiCodeComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiCodeComposerQuota.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAmB3C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GACnD,WAAW,CAAC,OAAO,YAAY,CAAC,GAAG;IACjC,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAEH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CA+BpF;AAED,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgExG"}
1
+ {"version":3,"file":"KimiCodeComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiCodeComposerQuota.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAmB3C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GACnD,WAAW,CAAC,OAAO,YAAY,CAAC,GAAG;IACjC,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAEH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CA+BpF;AAED,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgExG"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The observable a model-directory store exposes to a composer badge.
3
+ *
4
+ * Harness 0.1.1 and earlier declared this shape in
5
+ * `@deepseek-ai/dsh-client-runtime`; 0.1.2 replaced that package with
6
+ * `@deepseek-ai/dsh-client-store`. A badge reads only the observable members,
7
+ * so the two it needs are declared here instead of imported from either home.
8
+ */
9
+ export interface SnapshotStore<T> {
10
+ /** Read the cached snapshot reference. */
11
+ getSnapshot(): T;
12
+ /**
13
+ * Subscribe to snapshot invalidation.
14
+ * @param listener - invalidation callback.
15
+ * @returns unsubscribe function.
16
+ */
17
+ subscribe(listener: () => void): () => void;
18
+ }
19
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/client/store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,0CAA0C;IAC1C,WAAW,IAAI,CAAC,CAAA;IAChB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CAC5C"}
@@ -18,10 +18,47 @@
18
18
  * Windows it can abort the process with STATUS_STACK_BUFFER_OVERRUN when the
19
19
  * source path contains non-ASCII characters (nodejs/node#54476). The copy is
20
20
  * per-entry instead, which also lets source mtimes ride along.
21
+ *
22
+ * A preset row names the package it mounts, so a name the running installation
23
+ * does not ship makes the whole preset unresolvable. Text naming a package the
24
+ * harness renamed is therefore reconciled with the installation before it is
25
+ * compared or written.
21
26
  * @module dsh-chatgpt-subscription/preset-sync
22
27
  */
23
28
  /** The preset directory this package ships. */
24
29
  export declare const BUNDLED_PRESET_IDS: readonly string[];
30
+ /**
31
+ * Whether a bare specifier resolves from this module in the running
32
+ * installation. A harness whose Node build exposes no `import.meta.resolve`
33
+ * answers `false` for everything, which leaves every bundled spelling in place.
34
+ * @param specifier - bare package specifier.
35
+ * @returns whether the specifier resolves.
36
+ */
37
+ export declare function resolvesFromHere(specifier: string): boolean;
38
+ /**
39
+ * Point every renamed package name at the spelling this installation ships.
40
+ *
41
+ * A name that still resolves is left alone, and so is a rename whose
42
+ * replacement does not resolve: with neither spelling present the preset is
43
+ * unresolvable either way, and rewriting would only hide which name was tried.
44
+ * @param content - bundled preset file text.
45
+ * @param resolves - whether a bare specifier resolves in this installation.
46
+ * @returns the text to write, equal to `content` when no rename applies.
47
+ */
48
+ export declare function reconcilePackageNames(content: string, resolves: (specifier: string) => boolean): string;
49
+ /**
50
+ * Reconcile one bundled preset file with the packages this installation ships:
51
+ * a renamed package takes the spelling it carries, and a row it cannot mount is
52
+ * disabled rather than left to mark the whole preset unresolvable.
53
+ * @param content - bundled preset file text.
54
+ * @param resolves - whether a bare specifier resolves in this installation.
55
+ * @returns the text to write.
56
+ */
57
+ export declare function reconcilePreset(content: string, resolves: (specifier: string) => boolean): string;
58
+ /** One preset file's text, rewritten for the running installation. */
59
+ export type PresetFileRewrite = (relativePath: string, content: string) => string;
60
+ /** Rewrite bundled preset text for the packages this installation ships. */
61
+ export declare const rewritePresetFile: PresetFileRewrite;
25
62
  /** One sync run's outcome, grouped for diagnostics. */
26
63
  export interface PresetSyncResult {
27
64
  /** Preset ids whose tree was (re)written this run. */
@@ -57,9 +94,10 @@ export declare function presetTargetRoot(home: string): string;
57
94
  * Copy `sourceDir` into `targetDir` idempotently.
58
95
  * @param sourceDir - bundled preset directory.
59
96
  * @param targetDir - discovery-root directory for the same preset id.
97
+ * @param rewrites - replacement text by path relative to `sourceDir`; a rewritten file is compared by content, since its target carries no source mtime.
60
98
  * @returns whether anything was written.
61
99
  */
62
- export declare function syncOnePreset(sourceDir: string, targetDir: string): 'synced' | 'current';
100
+ export declare function syncOnePreset(sourceDir: string, targetDir: string, rewrites?: ReadonlyMap<string, string>): 'synced' | 'current';
63
101
  /**
64
102
  * Sync every bundled preset into `targetRoot`, then remove ids named in
65
103
  * `retire` that the bundle no longer ships. Only those exact ids are removed;
@@ -67,7 +105,8 @@ export declare function syncOnePreset(sourceDir: string, targetDir: string): 'sy
67
105
  * @param sourceRoot - this package's bundled `presets/` directory.
68
106
  * @param targetRoot - harness-home agent-presets discovery root.
69
107
  * @param retire - previously bundled preset ids to remove when absent from the source.
108
+ * @param rewrite - rewrites preset text for the running installation; omission copies the bundle verbatim.
70
109
  * @returns the grouped outcome of the run.
71
110
  */
72
- export declare function syncPresetTrees(sourceRoot: string, targetRoot: string, retire?: readonly string[]): PresetSyncResult;
111
+ export declare function syncPresetTrees(sourceRoot: string, targetRoot: string, retire?: readonly string[], rewrite?: PresetFileRewrite): PresetSyncResult;
73
112
  //# sourceMappingURL=preset-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preset-sync.d.ts","sourceRoot":"","sources":["../../../src/host/preset-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAiB,CAAA;AAKjE,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,mDAAmD;IACnD,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,iEAAiE;IACjE,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACvC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAQpC;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAmED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAoCxF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,SAAS,MAAM,EAAO,GAC7B,gBAAgB,CAgClB"}
1
+ {"version":3,"file":"preset-sync.d.ts","sourceRoot":"","sources":["../../../src/host/preset-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAiB,CAAA;AAuCjE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAS3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAQvG;AA6CD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAEjG;AAED,sEAAsE;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;AAEjF,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,EAAE,iBACY,CAAA;AAE5C,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,mDAAmD;IACnD,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,iEAAiE;IACjE,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACvC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAQpC;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AA0FD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,GAChD,QAAQ,GAAG,SAAS,CA+CtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,SAAS,MAAM,EAAO,EAC9B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,gBAAgB,CAiClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eddyskywalker/dsh-chatgpt-subscription",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
4
4
  "description": "DSH provider plugin for Codex access through a ChatGPT subscription.",
5
5
  "author": {
6
6
  "name": "eddyskywalker",
@@ -48,7 +48,6 @@
48
48
  },
49
49
  "client": {
50
50
  "inject": [
51
- "@deepseek-ai/dsh-client-runtime",
52
51
  "@deepseek-ai/dsh-client-locale",
53
52
  "@deepseek-ai/dsh-client-ui-slots",
54
53
  "@deepseek-ai/dsh-client-ui-settings",
@@ -62,40 +61,40 @@
62
61
  "peerDependencies": {
63
62
  "@deepseek-ai/cordis": "^4.0.2",
64
63
  "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
65
- "@deepseek-ai/dsh-attachment": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
66
- "@deepseek-ai/dsh-client-connection": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
67
- "@deepseek-ai/dsh-client-locale": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
68
- "@deepseek-ai/dsh-client-runtime": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
69
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
70
- "@deepseek-ai/dsh-client-ui-model-selection": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
71
- "@deepseek-ai/dsh-client-ui-settings": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
72
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
73
- "@deepseek-ai/dsh-client-ui-tool": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
74
- "@deepseek-ai/dsh-host-webserver": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
75
- "@deepseek-ai/dsh-llm": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
76
- "@deepseek-ai/dsh-settings": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
77
- "@deepseek-ai/dsh-tools": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
78
- "@deepseek-ai/dsh-web": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
64
+ "@deepseek-ai/dsh-attachment": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
65
+ "@deepseek-ai/dsh-client-connection": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
66
+ "@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
67
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
68
+ "@deepseek-ai/dsh-client-ui-model-selection": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
69
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
70
+ "@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
71
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
72
+ "@deepseek-ai/dsh-client-ui-tool": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
73
+ "@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
74
+ "@deepseek-ai/dsh-llm": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
75
+ "@deepseek-ai/dsh-settings": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
76
+ "@deepseek-ai/dsh-tools": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
77
+ "@deepseek-ai/dsh-web": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1 || ^0.1.6-alpha.1",
79
78
  "@deepseek-ai/schemastery": "^3.18.2",
80
79
  "react": "^18.2.0"
81
80
  },
82
81
  "devDependencies": {
83
82
  "@deepseek-ai/cordis": "^4.0.2",
84
83
  "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
85
- "@deepseek-ai/dsh-attachment": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
86
- "@deepseek-ai/dsh-client-connection": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
87
- "@deepseek-ai/dsh-client-locale": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
88
- "@deepseek-ai/dsh-client-runtime": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
89
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
90
- "@deepseek-ai/dsh-client-ui-model-selection": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
91
- "@deepseek-ai/dsh-client-ui-settings": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
92
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
93
- "@deepseek-ai/dsh-client-ui-tool": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
94
- "@deepseek-ai/dsh-host-webserver": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
95
- "@deepseek-ai/dsh-llm": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
96
- "@deepseek-ai/dsh-settings": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
97
- "@deepseek-ai/dsh-tools": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
98
- "@deepseek-ai/dsh-web": "^0.1.1-rc.2 || ^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
84
+ "@deepseek-ai/dsh-attachment": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
85
+ "@deepseek-ai/dsh-client-connection": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
86
+ "@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
87
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
88
+ "@deepseek-ai/dsh-client-ui-model-selection": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
89
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
90
+ "@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
91
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
92
+ "@deepseek-ai/dsh-client-ui-tool": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
93
+ "@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
94
+ "@deepseek-ai/dsh-llm": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
95
+ "@deepseek-ai/dsh-settings": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
96
+ "@deepseek-ai/dsh-tools": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
97
+ "@deepseek-ai/dsh-web": "^0.1.2-alpha.5 || ^0.1.2-rc.1 || ^0.1.2 || ^0.1.3 || ^0.1.4 || ^0.1.5-rc.1",
99
98
  "@deepseek-ai/schemastery": "^3.18.2",
100
99
  "@types/node": "^22.20.0",
101
100
  "@types/react": "~18.3.1",
@@ -310,8 +310,11 @@
310
310
  backgroundMode: one-shot
311
311
  maxDepth: provider-managed
312
312
 
313
- - id: workflow-worker-thread
314
- name: '@deepseek-ai/dsh-workflow-worker-thread'
313
+ # `workflow-worker-thread` is this row's name up to harness 0.1.5; 0.1.6
314
+ # renamed the package to `workflow-ptc`. The plugin rewrites this line to
315
+ # whichever spelling the running installation ships (src/host/preset-sync.ts).
316
+ - id: workflow-ptc
317
+ name: '@deepseek-ai/dsh-workflow-ptc'
315
318
  config:
316
319
  provider: spawn
317
320
 
@@ -347,13 +350,17 @@
347
350
 
348
351
  # ── presentation ────────────────────────────────────────────────────────────
349
352
 
350
- # PTC mode for this agent alone. The row waits for the host's `codeRuntime`
351
- # rather than assuming it: a deployment that composes no TypeScript runtime
352
- # fails this preset at mount, naming this id, instead of at the first request.
353
+ # PTC mode for this agent alone. The row waits for the host's script runtime
354
+ # (`codeRuntime` up to harness 0.1.5, `ptcRuntime` from 0.1.6) rather than
355
+ # assuming it: a deployment that composes no TypeScript runtime fails this
356
+ # preset at mount, naming this id, instead of at the first request.
353
357
  - id: tool-presentation
354
358
  name: '@deepseek-ai/dsh-agent-tool-presentation'
355
359
  config:
356
360
  mode: ptc
357
361
 
362
+ # `present` ships from harness 0.1.5-alpha.2. On an earlier installation the
363
+ # sync disables this row rather than leave the whole preset unresolvable, and
364
+ # re-enables it once the harness ships the package (src/host/preset-sync.ts).
358
365
  - id: present
359
- name: '@deepseek-ai/dsh-tool-present'
366
+ name: '@deepseek-ai/dsh-tool-present'