@tnnevol/dsh-codex-auth 0.1.2-alpha.4 → 0.1.2-rc.1

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.
@@ -4,7 +4,7 @@
4
4
  "node": "^22.19.0 || >=24.0.0"
5
5
  },
6
6
  "dshPluginApi": {
7
- "version": "0.1.2-alpha.4",
7
+ "version": "0.1.2-rc.1",
8
8
  "packages": [
9
9
  "@deepseek-ai/dsh-atomic-write",
10
10
  "@deepseek-ai/dsh-attachment",
@@ -21,6 +21,6 @@
21
21
  },
22
22
  "piAi": {
23
23
  "package": "@earendil-works/pi-ai",
24
- "version": "0.82.1"
24
+ "version": "0.84.2"
25
25
  }
26
26
  }
@@ -4,7 +4,7 @@ import { mkdir, readFile, rm, stat } from "node:fs/promises";
4
4
  import { dirname, join, resolve } from "node:path";
5
5
  import { withFileLock, writeFileAtomic } from "@deepseek-ai/dsh-atomic-write";
6
6
  import { resolveDshHome } from "@deepseek-ai/dsh-home-paths";
7
- //#region src/store.ts
7
+ //#region src/host/store.ts
8
8
  /** Owner-only persistent storage for the shared OpenAI Codex OAuth document. */
9
9
  /** pi-ai provider id used by ChatGPT Codex OAuth. */
10
10
  const CODEX_PROVIDER = "openai-codex";
@@ -118,7 +118,7 @@ var CodexCredentialStore = class {
118
118
  }
119
119
  };
120
120
  //#endregion
121
- //#region src/auth.ts
121
+ //#region src/host/auth.ts
122
122
  /** ChatGPT OAuth orchestration used by the Host routes and CLI consumers. */
123
123
  /** Start provider-native ChatGPT OAuth and persist its credential. */
124
124
  async function loginCodex(interaction, store = new CodexCredentialStore()) {
@@ -1,5 +1,5 @@
1
1
  import { AuthInteraction, Credential, CredentialInfo, CredentialStore } from "@earendil-works/pi-ai";
2
- //#region src/store.d.ts
2
+ //#region src/host/store.d.ts
3
3
  /** pi-ai provider id used by ChatGPT Codex OAuth. */
4
4
  declare const CODEX_PROVIDER = "openai-codex";
5
5
  /** Kept compatible with dsh-codex-connect so a login can be reused. */
@@ -16,7 +16,7 @@ declare class CodexCredentialStore implements CredentialStore {
16
16
  delete(providerId: string): Promise<void>;
17
17
  }
18
18
  //#endregion
19
- //#region src/auth.d.ts
19
+ //#region src/host/auth.d.ts
20
20
  interface CodexAuthStatus {
21
21
  authenticated: boolean;
22
22
  expiresAt?: Date;
@@ -1,4 +1,4 @@
1
- //#region src/auth-paths.d.ts
1
+ //#region src/contracts/auth-paths.d.ts
2
2
  /** Browser-facing paths owned by the standalone Codex authentication plugin. */
3
3
  /** Host settings namespace used to dispatch the browser settings card. */
4
4
  declare const CODEX_AUTH_SETTINGS_NAMESPACE = "dsh-codex-auth";
package/lib/auth-paths.js CHANGED
@@ -1,4 +1,4 @@
1
- //#region src/auth-paths.ts
1
+ //#region src/contracts/auth-paths.ts
2
2
  /** Browser-facing paths owned by the standalone Codex authentication plugin. */
3
3
  /** Host settings namespace used to dispatch the browser settings card. */
4
4
  const CODEX_AUTH_SETTINGS_NAMESPACE = "dsh-codex-auth";
package/lib/auth.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { i as logoutCodex, n as codexAuthStatus, r as loginCodex, t as CodexAuthStatus } from "./auth-BBBeI24-.js";
1
+ import { i as logoutCodex, n as codexAuthStatus, r as loginCodex, t as CodexAuthStatus } from "./auth-DyHxRsSd.js";
2
2
  export { CodexAuthStatus, codexAuthStatus, loginCodex, logoutCodex };
package/lib/auth.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as loginCodex, r as logoutCodex, t as codexAuthStatus } from "./auth-DQ2F4vc6.js";
1
+ import { n as loginCodex, r as logoutCodex, t as codexAuthStatus } from "./auth-BdEwtK4R.js";
2
2
  export { codexAuthStatus, loginCodex, logoutCodex };
package/lib/client.js CHANGED
@@ -47108,12 +47108,12 @@ window.__ModuleLoader__.load({
47108
47108
  };
47109
47109
  }
47110
47110
  //#endregion
47111
- //#region src/client/image-capability-message.ts
47111
+ //#region src/client/services/image-capability-message.ts
47112
47112
  function formatImageGenerationHelp(t, dshVersion) {
47113
47113
  return t("imageGenerationUnavailableHelp").replace("{version}", dshVersion ?? "unknown");
47114
47114
  }
47115
47115
  //#endregion
47116
- //#region src/client/CodexCapabilities.tsx
47116
+ //#region src/components/CodexCapabilities.tsx
47117
47117
  /** Live optional-capability settings for the Codex Auth plugin. */
47118
47118
  const UNAVAILABLE_SNAPSHOT = {
47119
47119
  status: "unavailable",
@@ -47314,7 +47314,7 @@ window.__ModuleLoader__.load({
47314
47314
  });
47315
47315
  }
47316
47316
  //#endregion
47317
- //#region src/auth-paths.ts
47317
+ //#region src/contracts/auth-paths.ts
47318
47318
  /** Browser-facing paths owned by the standalone Codex authentication plugin. */
47319
47319
  /** Host settings namespace used to dispatch the browser settings card. */
47320
47320
  const CODEX_AUTH_SETTINGS_NAMESPACE = "dsh-codex-auth";
@@ -47327,7 +47327,7 @@ window.__ModuleLoader__.load({
47327
47327
  /** Same-origin endpoint for the DSH-wide Codex default model selection. */
47328
47328
  const CODEX_GLOBAL_MODEL_PATH = "/plugins/dsh-codex-auth-plugin/auth/global-model";
47329
47329
  //#endregion
47330
- //#region src/client/model-catalog.ts
47330
+ //#region src/client/services/model-catalog.ts
47331
47331
  function errorMessage(error, fallback) {
47332
47332
  return error?.message || fallback;
47333
47333
  }
@@ -47350,7 +47350,7 @@ window.__ModuleLoader__.load({
47350
47350
  return response.result.value;
47351
47351
  }
47352
47352
  //#endregion
47353
- //#region src/client/CodexGlobalModel.tsx
47353
+ //#region src/components/CodexGlobalModel.tsx
47354
47354
  /** DSH-wide Codex default model controls. */
47355
47355
  async function request(method, body) {
47356
47356
  const response = await fetch(CODEX_GLOBAL_MODEL_PATH, {
@@ -47600,7 +47600,7 @@ window.__ModuleLoader__.load({
47600
47600
  });
47601
47601
  }
47602
47602
  //#endregion
47603
- //#region src/client/copy-to-clipboard.ts
47603
+ //#region src/client/services/copy-to-clipboard.ts
47604
47604
  async function copyTextToClipboard(text, environment = {}) {
47605
47605
  const navigatorRef = environment.navigator ?? globalThis.navigator;
47606
47606
  const documentRef = environment.document ?? globalThis.document;
@@ -47628,7 +47628,7 @@ window.__ModuleLoader__.load({
47628
47628
  }
47629
47629
  }
47630
47630
  //#endregion
47631
- //#region src/client/usage-windows.ts
47631
+ //#region src/client/services/usage-windows.ts
47632
47632
  /** Shared Codex usage-window selection for settings and composer status. */
47633
47633
  const FIVE_HOUR_WINDOW_SECONDS = 18e3;
47634
47634
  const WEEKLY_WINDOW_SECONDS = 604800;
@@ -47648,7 +47648,7 @@ window.__ModuleLoader__.load({
47648
47648
  return fiveHourWindow(usage) ?? weeklyWindow(usage);
47649
47649
  }
47650
47650
  //#endregion
47651
- //#region src/client/CodexAuthCard.tsx
47651
+ //#region src/components/CodexAuthCard.tsx
47652
47652
  /** Expandable account card for the DSH Plugins settings section. */
47653
47653
  function Chevron({ open }) {
47654
47654
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
@@ -48037,7 +48037,7 @@ window.__ModuleLoader__.load({
48037
48037
  });
48038
48038
  }
48039
48039
  //#endregion
48040
- //#region src/client/usage-status-data.ts
48040
+ //#region src/client/services/usage-status-data.ts
48041
48041
  async function readJson(path) {
48042
48042
  const response = await fetch(path, {
48043
48043
  method: "GET",
@@ -48057,7 +48057,7 @@ window.__ModuleLoader__.load({
48057
48057
  return usage;
48058
48058
  }
48059
48059
  //#endregion
48060
- //#region src/client/CodexUsageStatus.tsx
48060
+ //#region src/components/CodexUsageStatus.tsx
48061
48061
  /** Compact Codex quota readout for the conversation composer dock. */
48062
48062
  function percent(value) {
48063
48063
  if (value === void 0 || !Number.isFinite(value)) return void 0;
@@ -48263,7 +48263,7 @@ window.__ModuleLoader__.load({
48263
48263
  });
48264
48264
  }
48265
48265
  //#endregion
48266
- //#region src/settings-contract.ts
48266
+ //#region src/contracts/settings-contract.ts
48267
48267
  const DEFAULT_CODEX_AUTH_SETTINGS = Object.freeze({
48268
48268
  enableImageTool: false,
48269
48269
  enableImageUpload: false
@@ -48280,7 +48280,7 @@ window.__ModuleLoader__.load({
48280
48280
  };
48281
48281
  }
48282
48282
  //#endregion
48283
- //#region src/client/model-editor-presentation.ts
48283
+ //#region src/client/services/model-editor-presentation.ts
48284
48284
  /** Keep Codex-specific fields out of the generic pi-ai editor. */
48285
48285
  const CODEX_EDITOR_ATTRIBUTE = "data-dsh-codex-auth-editor";
48286
48286
  const CODEX_ROUTE = "openai-codex";
@@ -48795,7 +48795,7 @@ window.__ModuleLoader__.load({
48795
48795
  };
48796
48796
  }
48797
48797
  //#endregion
48798
- //#region src/client/remote-settings-scope.ts
48798
+ //#region src/client/services/remote-settings-scope.ts
48799
48799
  const INITIAL_SNAPSHOT = {
48800
48800
  status: "loading",
48801
48801
  value: void 0,
package/lib/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { CODEX_AUTH_LOGIN_PATH, CODEX_AUTH_LOGOUT_PATH, CODEX_AUTH_SETTINGS_NAMESPACE, CODEX_AUTH_STATUS_PATH, CODEX_GLOBAL_MODEL_PATH } from "./auth-paths.js";
2
- import { a as CODEX_AUTH_FILENAME, c as codexAuthPath, i as logoutCodex, n as codexAuthStatus, o as CODEX_PROVIDER, r as loginCodex, s as CodexCredentialStore, t as CodexAuthStatus } from "./auth-BBBeI24-.js";
2
+ import { a as CODEX_AUTH_FILENAME, c as codexAuthPath, i as logoutCodex, n as codexAuthStatus, o as CODEX_PROVIDER, r as loginCodex, s as CodexCredentialStore, t as CodexAuthStatus } from "./auth-DyHxRsSd.js";
3
3
  import { CredentialProvider } from "@deepseek-ai/dsh-credentials";
4
4
  import { AttachmentStore } from "@deepseek-ai/dsh-attachment";
5
5
  import { PiAiAdapter } from "@deepseek-ai/dsh-llm-pi-ai";
6
6
  import { Context } from "@deepseek-ai/cordis";
7
7
  import { IncomingMessage } from "node:http";
8
8
  import "@deepseek-ai/dsh-settings";
9
- //#region src/credential-mirror.d.ts
9
+ //#region src/host/credential-mirror.d.ts
10
10
  /** Credential reference exposed to the official `llm-pi-ai` model settings UI. */
11
11
  declare const CODEX_API_KEY_ENV = "OPENAI_CODEX_AUTH_TOKEN";
12
12
  declare const CODEX_API_KEY_REF: import("@deepseek-ai/dsh-credentials").CredentialRef;
@@ -31,13 +31,13 @@ declare class CodexCredentialMirror {
31
31
  private syncNow;
32
32
  }
33
33
  //#endregion
34
- //#region src/adapter.d.ts
34
+ //#region src/host/adapter.d.ts
35
35
  /** Keep the Codex stream open while the provider is still producing output. */
36
36
  declare const CODEX_STREAM_IDLE_TIMEOUT_MS = 300000;
37
37
  /** Create the dsh LLM adapter for the provider-native OpenAI Codex catalog. */
38
38
  declare function createCodexAdapter(credentials: CodexCredentialStore, resolveAttachments: () => AttachmentStore | undefined): PiAiAdapter;
39
39
  //#endregion
40
- //#region src/usage.d.ts
40
+ //#region src/host/usage.d.ts
41
41
  interface CodexUsageWindow {
42
42
  remainingPercent?: number;
43
43
  limitWindowSeconds?: number;
@@ -70,7 +70,7 @@ declare class CodexUsageService {
70
70
  private readNow;
71
71
  }
72
72
  //#endregion
73
- //#region src/auth-routes.d.ts
73
+ //#region src/host/auth-routes.d.ts
74
74
  type CodexWebAuthStatus = {
75
75
  status: 'signed-out';
76
76
  } | {
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as CODEX_PROVIDER, i as CODEX_AUTH_FILENAME, n as loginCodex, o as CodexCredentialStore, r as logoutCodex, s as codexAuthPath, t as codexAuthStatus } from "./auth-DQ2F4vc6.js";
1
+ import { a as CODEX_PROVIDER, i as CODEX_AUTH_FILENAME, n as loginCodex, o as CodexCredentialStore, r as logoutCodex, s as codexAuthPath, t as codexAuthStatus } from "./auth-BdEwtK4R.js";
2
2
  import { CODEX_AUTH_LOGIN_PATH, CODEX_AUTH_LOGOUT_PATH, CODEX_AUTH_SETTINGS_NAMESPACE, CODEX_AUTH_SETTINGS_PATH, CODEX_AUTH_STATUS_PATH, CODEX_GLOBAL_MODEL_PATH, CODEX_USAGE_PATH } from "./auth-paths.js";
3
3
  import { APP_IDENTITY, createUserMessage, resolveRetryPolicy } from "@deepseek-ai/dsh-llm";
4
4
  import { createModels, defaultProviderAuthContext } from "@earendil-works/pi-ai";
@@ -9,7 +9,7 @@ import z from "@deepseek-ai/schemastery";
9
9
  import { AttachmentId } from "@deepseek-ai/dsh-attachment";
10
10
  import { defineTool } from "@deepseek-ai/dsh-tools";
11
11
  import { PiAiAdapter } from "@deepseek-ai/dsh-llm-pi-ai";
12
- //#region src/usage.ts
12
+ //#region src/host/usage.ts
13
13
  /** Read-only Codex account quota information for the local settings card. */
14
14
  const CODEX_USAGE_URL = "https://chatgpt.com/backend-api/wham/usage";
15
15
  const CODEX_USAGE_TIMEOUT_MS = 1e4;
@@ -135,7 +135,7 @@ var CodexUsageService = class {
135
135
  }
136
136
  };
137
137
  //#endregion
138
- //#region src/settings-contract.ts
138
+ //#region src/contracts/settings-contract.ts
139
139
  const DEFAULT_CODEX_AUTH_SETTINGS = Object.freeze({
140
140
  enableImageTool: false,
141
141
  enableImageUpload: false
@@ -152,7 +152,7 @@ function decodeCodexAuthSettings(value) {
152
152
  };
153
153
  }
154
154
  //#endregion
155
- //#region src/auth-routes.ts
155
+ //#region src/host/auth-routes.ts
156
156
  const CODEX_AUTH_URL_TIMEOUT_MS = 3e4;
157
157
  const REMOTE_WEB_ORIGIN_NOT_TRUSTED = "remote-web-origin-not-trusted";
158
158
  const CODEX_USAGE_UNAVAILABLE = "codex-usage-unavailable";
@@ -550,7 +550,7 @@ function registerCodexAuthRoutes(ctx, store, mirror) {
550
550
  }, "dsh-codex-auth-plugin: Web OAuth routes");
551
551
  }
552
552
  //#endregion
553
- //#region src/credential-mirror.ts
553
+ //#region src/host/credential-mirror.ts
554
554
  /** Bridge the plugin-owned OAuth credential into dsh's generic LLM seam. */
555
555
  /** Credential reference exposed to the official `llm-pi-ai` model settings UI. */
556
556
  const CODEX_API_KEY_ENV = "OPENAI_CODEX_AUTH_TOKEN";
@@ -600,7 +600,7 @@ var CodexCredentialMirror = class {
600
600
  }
601
601
  };
602
602
  //#endregion
603
- //#region src/settings.ts
603
+ //#region src/host/settings.ts
604
604
  /** Host settings registration that makes the standalone auth card discoverable. */
605
605
  /** Branded namespace used by the Host settings service. */
606
606
  const CODEX_AUTH_SETTINGS_NS = CODEX_AUTH_SETTINGS_NAMESPACE;
@@ -610,7 +610,7 @@ const CodexAuthSettingsSchema = z.object({
610
610
  enableImageUpload: z.boolean().default(DEFAULT_CODEX_AUTH_SETTINGS.enableImageUpload)
611
611
  });
612
612
  //#endregion
613
- //#region src/view-image.ts
613
+ //#region src/host/view-image.ts
614
614
  /** Optional Codex image-reading tool, modeled on DSH's durable attachment seam. */
615
615
  /** Stable name of the optional image-recognition tool. */
616
616
  const VIEW_IMAGE_TOOL_NAME = "view_image";
@@ -767,7 +767,7 @@ function viewImageTool(ctx) {
767
767
  });
768
768
  }
769
769
  //#endregion
770
- //#region src/adapter.ts
770
+ //#region src/host/adapter.ts
771
771
  /** OpenAI Codex adapter assembled from dsh's public pi-ai extension seam. */
772
772
  /** Keep the Codex stream open while the provider is still producing output. */
773
773
  const CODEX_STREAM_IDLE_TIMEOUT_MS = 3e5;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tnnevol/dsh-codex-auth",
3
3
  "displayName": "Codex Auth",
4
4
  "description": "Standalone ChatGPT OAuth account management for DeepSeek Harness.",
5
- "version": "0.1.2-alpha.4",
5
+ "version": "0.1.2-rc.1",
6
6
  "author": "tnnevol",
7
7
  "repository": {
8
8
  "type": "git",
@@ -68,61 +68,61 @@
68
68
  "peerDependencies": {
69
69
  "@earendil-works/pi-ai": "^0.84.2",
70
70
  "@deepseek-ai/cordis": "^4.0.2",
71
- "@deepseek-ai/dsh-api-remotes": "0.1.2-alpha.4",
72
- "@deepseek-ai/dsh-api-session-controller": "0.1.2-alpha.4",
73
- "@deepseek-ai/dsh-scope": "0.1.2-alpha.4",
74
- "@deepseek-ai/dsh-attachment": "0.1.2-alpha.4",
75
- "@deepseek-ai/dsh-agent-default-model": "0.1.2-alpha.4",
76
- "@deepseek-ai/dsh-atomic-write": "0.1.2-alpha.4",
77
- "@deepseek-ai/dsh-home-paths": "0.1.2-alpha.4",
78
- "@deepseek-ai/dsh-host-webserver": "0.1.2-alpha.4",
79
- "@deepseek-ai/dsh-invariants": "0.1.2-alpha.4",
80
- "@deepseek-ai/dsh-llm": "0.1.2-alpha.4",
81
- "@deepseek-ai/dsh-llm-pi-ai": "0.1.2-alpha.4",
82
- "@deepseek-ai/dsh-settings": "0.1.2-alpha.4",
83
- "@deepseek-ai/dsh-tools": "0.1.2-alpha.4",
84
- "@deepseek-ai/dsh-client-locale": "0.1.2-alpha.4",
85
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.2-alpha.4",
86
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.2-alpha.4",
87
- "@deepseek-ai/dsh-client-ui-settings": "0.1.2-alpha.4",
88
- "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.2-alpha.4",
89
- "@deepseek-ai/dsh-client-ui-slots": "0.1.2-alpha.4",
90
- "@deepseek-ai/dsh-credentials": "0.1.2-alpha.4",
91
- "@deepseek-ai/dsh-fs": "0.1.2-alpha.4",
92
- "@deepseek-ai/dsh-launch-environment": "0.1.2-alpha.4",
93
- "@deepseek-ai/dsh-timeout": "0.1.2-alpha.4",
71
+ "@deepseek-ai/dsh-api-remotes": "0.1.2-rc.1",
72
+ "@deepseek-ai/dsh-api-session-controller": "0.1.2-rc.1",
73
+ "@deepseek-ai/dsh-scope": "0.1.2-rc.1",
74
+ "@deepseek-ai/dsh-attachment": "0.1.2-rc.1",
75
+ "@deepseek-ai/dsh-agent-default-model": "0.1.2-rc.1",
76
+ "@deepseek-ai/dsh-atomic-write": "0.1.2-rc.1",
77
+ "@deepseek-ai/dsh-home-paths": "0.1.2-rc.1",
78
+ "@deepseek-ai/dsh-host-webserver": "0.1.2-rc.1",
79
+ "@deepseek-ai/dsh-invariants": "0.1.2-rc.1",
80
+ "@deepseek-ai/dsh-llm": "0.1.2-rc.1",
81
+ "@deepseek-ai/dsh-llm-pi-ai": "0.1.2-rc.1",
82
+ "@deepseek-ai/dsh-settings": "0.1.2-rc.1",
83
+ "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
84
+ "@deepseek-ai/dsh-client-locale": "0.1.2-rc.1",
85
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.2-rc.1",
86
+ "@deepseek-ai/dsh-client-ui-renderer": "0.1.2-rc.1",
87
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.2-rc.1",
88
+ "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.2-rc.1",
89
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.2-rc.1",
90
+ "@deepseek-ai/dsh-credentials": "0.1.2-rc.1",
91
+ "@deepseek-ai/dsh-fs": "0.1.2-rc.1",
92
+ "@deepseek-ai/dsh-launch-environment": "0.1.2-rc.1",
93
+ "@deepseek-ai/dsh-timeout": "0.1.2-rc.1",
94
94
  "@deepseek-ai/schemastery": "3.18.2",
95
95
  "react": "^18.2.0"
96
96
  },
97
97
  "devDependencies": {
98
98
  "@earendil-works/pi-ai": "^0.84.2",
99
99
  "@deepseek-ai/cordis": "^4.0.2",
100
- "@deepseek-ai/dsh-api-remotes": "0.1.2-alpha.4",
101
- "@deepseek-ai/dsh-api-session-controller": "0.1.2-alpha.4",
102
- "@deepseek-ai/dsh-scope": "0.1.2-alpha.4",
103
- "@deepseek-ai/dsh-agent-default-model": "0.1.2-alpha.4",
104
- "@deepseek-ai/dsh-attachment": "0.1.2-alpha.4",
105
- "@deepseek-ai/dsh-atomic-write": "0.1.2-alpha.4",
106
- "@deepseek-ai/dsh-client-connection": "0.1.2-alpha.4",
107
- "@deepseek-ai/dsh-client-locale": "0.1.2-alpha.4",
108
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.2-alpha.4",
109
- "@deepseek-ai/dsh-client-ui-model-selection": "0.1.2-alpha.4",
110
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.2-alpha.4",
111
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.2-alpha.4",
112
- "@deepseek-ai/dsh-client-ui-settings": "0.1.2-alpha.4",
113
- "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.2-alpha.4",
114
- "@deepseek-ai/dsh-client-ui-slots": "0.1.2-alpha.4",
115
- "@deepseek-ai/dsh-credentials": "0.1.2-alpha.4",
116
- "@deepseek-ai/dsh-home-paths": "0.1.2-alpha.4",
117
- "@deepseek-ai/dsh-fs": "0.1.2-alpha.4",
118
- "@deepseek-ai/dsh-host-webserver": "0.1.2-alpha.4",
119
- "@deepseek-ai/dsh-invariants": "0.1.2-alpha.4",
120
- "@deepseek-ai/dsh-launch-environment": "0.1.2-alpha.4",
121
- "@deepseek-ai/dsh-llm": "0.1.2-alpha.4",
122
- "@deepseek-ai/dsh-llm-pi-ai": "0.1.2-alpha.4",
123
- "@deepseek-ai/dsh-settings": "0.1.2-alpha.4",
124
- "@deepseek-ai/dsh-tools": "0.1.2-alpha.4",
125
- "@deepseek-ai/dsh-timeout": "0.1.2-alpha.4",
100
+ "@deepseek-ai/dsh-api-remotes": "0.1.2-rc.1",
101
+ "@deepseek-ai/dsh-api-session-controller": "0.1.2-rc.1",
102
+ "@deepseek-ai/dsh-scope": "0.1.2-rc.1",
103
+ "@deepseek-ai/dsh-agent-default-model": "0.1.2-rc.1",
104
+ "@deepseek-ai/dsh-attachment": "0.1.2-rc.1",
105
+ "@deepseek-ai/dsh-atomic-write": "0.1.2-rc.1",
106
+ "@deepseek-ai/dsh-client-connection": "0.1.2-rc.1",
107
+ "@deepseek-ai/dsh-client-locale": "0.1.2-rc.1",
108
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.2-rc.1",
109
+ "@deepseek-ai/dsh-client-ui-model-selection": "0.1.2-rc.1",
110
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.2-rc.1",
111
+ "@deepseek-ai/dsh-client-ui-renderer": "0.1.2-rc.1",
112
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.2-rc.1",
113
+ "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.2-rc.1",
114
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.2-rc.1",
115
+ "@deepseek-ai/dsh-credentials": "0.1.2-rc.1",
116
+ "@deepseek-ai/dsh-home-paths": "0.1.2-rc.1",
117
+ "@deepseek-ai/dsh-fs": "0.1.2-rc.1",
118
+ "@deepseek-ai/dsh-host-webserver": "0.1.2-rc.1",
119
+ "@deepseek-ai/dsh-invariants": "0.1.2-rc.1",
120
+ "@deepseek-ai/dsh-launch-environment": "0.1.2-rc.1",
121
+ "@deepseek-ai/dsh-llm": "0.1.2-rc.1",
122
+ "@deepseek-ai/dsh-llm-pi-ai": "0.1.2-rc.1",
123
+ "@deepseek-ai/dsh-settings": "0.1.2-rc.1",
124
+ "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
125
+ "@deepseek-ai/dsh-timeout": "0.1.2-rc.1",
126
126
  "@deepseek-ai/schemastery": "3.18.2",
127
127
  "@types/node": "^22.20.0",
128
128
  "@types/react": "~18.3.1",
@@ -140,6 +140,6 @@
140
140
  "test:unit": "vitest run --config vitest.config.ts",
141
141
  "test": "pnpm run test:unit",
142
142
  "check": "pnpm run typecheck && pnpm run build && pnpm run test:unit",
143
- "publish:alpha": "pnpm publish --tag alpha --access public"
143
+ "publish:rc": "pnpm publish --tag rc --access public"
144
144
  }
145
145
  }