dsh-coding-subscription-oauth 0.6.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +222 -206
  2. package/CONTRIBUTING.md +129 -120
  3. package/INSTALL.md +218 -218
  4. package/LICENSE +19 -19
  5. package/NOTICE +11 -11
  6. package/README.de.md +289 -289
  7. package/README.es.md +290 -290
  8. package/README.fr.md +290 -290
  9. package/README.ja.md +290 -290
  10. package/README.ko.md +290 -290
  11. package/README.md +304 -304
  12. package/README.pt-BR.md +290 -290
  13. package/README.ru.md +290 -290
  14. package/README.zh-CN.md +302 -302
  15. package/compatibility/dsh-bom.json +0 -0
  16. package/cordis.patch.yml +13 -13
  17. package/docs/00-project-rules.md +212 -195
  18. package/docs/02-architecture.md +130 -130
  19. package/docs/02-architecture.zh-CN.md +130 -130
  20. package/lib/bin.js.map +1 -1
  21. package/lib/capability-settings.d.ts +8 -2
  22. package/lib/capability-settings.d.ts.map +1 -1
  23. package/lib/capability-tools.d.ts +7 -2
  24. package/lib/capability-tools.d.ts.map +1 -1
  25. package/lib/client.js +3 -3
  26. package/lib/client.js.map +2 -2
  27. package/lib/codex-images.d.ts +8 -0
  28. package/lib/codex-images.d.ts.map +1 -1
  29. package/lib/index.js +32 -7
  30. package/lib/index.js.map +2 -2
  31. package/lib/invariant.js.map +1 -1
  32. package/media/en/settings_accounts.png +0 -0
  33. package/media/en/settings_capabilities.png +0 -0
  34. package/media/en/settings_gateway.png +0 -0
  35. package/media/settings_accounts.png +0 -0
  36. package/media/settings_capabilities.png +0 -0
  37. package/media/settings_gateway.png +0 -0
  38. package/media/settings_overview.png +0 -0
  39. package/media/zh-CN/settings_accounts.png +0 -0
  40. package/media/zh-CN/settings_capabilities.png +0 -0
  41. package/media/zh-CN/settings_gateway.png +0 -0
  42. package/package.json +148 -148
  43. package/patches/dsh-agy@0.1.2.patch +25 -25
  44. package/scripts/release.mjs +186 -186
  45. package/scripts/smoke-deployed-routes.mjs +146 -146
  46. package/scripts/verify-deployed-catalog.mjs +87 -87
  47. package/src/adapter.ts +273 -273
  48. package/src/alias-adapter.ts +130 -130
  49. package/src/auth-routes.ts +921 -921
  50. package/src/auth.ts +67 -67
  51. package/src/bin.ts +350 -350
  52. package/src/capability-routes.ts +279 -279
  53. package/src/capability-runtime.ts +314 -313
  54. package/src/capability-settings.ts +671 -658
  55. package/src/capability-tools.ts +685 -666
  56. package/src/catalog.ts +271 -271
  57. package/src/client/GrokBuildSettings.tsx +771 -770
  58. package/src/client/api.ts +88 -88
  59. package/src/client/components/AboutTab.tsx +30 -30
  60. package/src/client/components/AccountsTab.tsx +241 -241
  61. package/src/client/components/Badge.tsx +33 -33
  62. package/src/client/components/CapabilitiesTab.tsx +265 -265
  63. package/src/client/components/CliPullPreview.tsx +116 -116
  64. package/src/client/components/CopyButton.tsx +57 -57
  65. package/src/client/components/GatewayTab.tsx +469 -469
  66. package/src/client/components/NoticeBanner.tsx +46 -46
  67. package/src/client/components/ProgressBar.tsx +53 -53
  68. package/src/client/components/ProviderCard.tsx +606 -606
  69. package/src/client/components/SettingsTabs.tsx +75 -75
  70. package/src/client/components/ToggleSwitch.tsx +71 -71
  71. package/src/client/constants.ts +230 -224
  72. package/src/client/display.ts +61 -61
  73. package/src/client/dshClientAdapter.ts +127 -127
  74. package/src/client/gatewaySnippets.ts +37 -37
  75. package/src/client/index.tsx +156 -156
  76. package/src/client/locales.ts +540 -535
  77. package/src/client/microStyles.ts +52 -52
  78. package/src/client/parsers.ts +398 -396
  79. package/src/client/styles.ts +325 -325
  80. package/src/client/types.ts +199 -197
  81. package/src/codex-http.ts +447 -447
  82. package/src/codex-images.ts +503 -485
  83. package/src/codex-model-capabilities.ts +320 -320
  84. package/src/codex-search.ts +245 -245
  85. package/src/codex-usage.ts +263 -263
  86. package/src/compatibility.ts +41 -41
  87. package/src/dsh-host-adapter.ts +173 -173
  88. package/src/gateway-anthropic-messages.ts +84 -84
  89. package/src/gateway-auth.ts +102 -102
  90. package/src/gateway-backend.ts +274 -274
  91. package/src/gateway-body.ts +49 -49
  92. package/src/gateway-config.ts +76 -76
  93. package/src/gateway-http.ts +104 -104
  94. package/src/gateway-openai-chat.ts +124 -124
  95. package/src/gateway-openai-responses.ts +53 -53
  96. package/src/gateway-parse.ts +224 -224
  97. package/src/gateway-protocol.ts +52 -52
  98. package/src/gateway-routes.ts +158 -158
  99. package/src/gateway.ts +258 -258
  100. package/src/grok-errors.ts +24 -24
  101. package/src/grok-imagine.ts +1627 -1627
  102. package/src/grok-import.ts +151 -151
  103. package/src/http-json.ts +82 -82
  104. package/src/ids.ts +59 -59
  105. package/src/imagine-routes.ts +463 -463
  106. package/src/index.ts +709 -709
  107. package/src/invariant.ts +17 -17
  108. package/src/kimi-errors.ts +26 -26
  109. package/src/media-store.ts +927 -927
  110. package/src/oauth-import-routes.ts +324 -324
  111. package/src/oauth-providers.ts +152 -152
  112. package/src/oauth-session.ts +183 -183
  113. package/src/oauth-sources.ts +1104 -1104
  114. package/src/oauth.ts +620 -620
  115. package/src/provider.ts +128 -128
  116. package/src/proxy.ts +11 -11
  117. package/src/redact.ts +72 -72
  118. package/src/session.ts +218 -218
  119. package/src/store.ts +217 -217
  120. package/src/web-origin.ts +296 -296
  121. package/src/web-routes.ts +38 -38
@@ -48,6 +48,12 @@ export interface CodexImageSessionContext {
48
48
  deriveMessages(): readonly CodexDerivedMessage[];
49
49
  route?: CodexImageRoute;
50
50
  }
51
+ /**
52
+ * Route gate for the image tools. `codex-capable` (default) requires a Codex
53
+ * OAuth route that declares image input; `any` lets any model route call the
54
+ * tools while the ChatGPT subscription backend still performs the work.
55
+ */
56
+ export type CodexImageRoutePolicy = "codex-capable" | "any";
51
57
  export interface CodexImageGenerateInput {
52
58
  readonly prompt: string;
53
59
  readonly n?: number;
@@ -74,6 +80,8 @@ export interface CodexImageControllerOptions {
74
80
  readonly auth: CodexAuthSession;
75
81
  readonly attachments: CodexImageAttachmentStore;
76
82
  readonly session: CodexImageSessionContext;
83
+ /** Route gate; defaults to `codex-capable`. Set `any` to allow non-Codex routes. */
84
+ readonly routePolicy?: CodexImageRoutePolicy;
77
85
  readonly http?: CodexHttpClient;
78
86
  readonly fetchImpl?: CodexFetch;
79
87
  readonly originator?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-images.d.ts","sourceRoot":"","sources":["../../src/codex-images.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-images.d.ts","sourceRoot":"","sources":["../../src/codex-images.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -54491,6 +54491,7 @@ var CAPABILITY_FLAG_KEYS = [
54491
54491
  "codexSearch",
54492
54492
  "codexImages",
54493
54493
  "codexImageEdits",
54494
+ "codexImagesAnyModel",
54494
54495
  "codexUsage",
54495
54496
  "codexFast",
54496
54497
  "grokImagineImage",
@@ -54511,6 +54512,7 @@ var DEFAULT_CAPABILITY_SETTINGS = Object.freeze({
54511
54512
  codexSearch: false,
54512
54513
  codexImages: false,
54513
54514
  codexImageEdits: false,
54515
+ codexImagesAnyModel: false,
54514
54516
  codexUsage: false,
54515
54517
  codexFast: false,
54516
54518
  grokImagineImage: false,
@@ -54523,6 +54525,7 @@ var CapabilitySettingsSchema = Schema.object({
54523
54525
  codexSearch: Schema.boolean().default(false),
54524
54526
  codexImages: Schema.boolean().default(false),
54525
54527
  codexImageEdits: Schema.boolean().default(false),
54528
+ codexImagesAnyModel: Schema.boolean().default(false),
54526
54529
  codexUsage: Schema.boolean().default(false),
54527
54530
  codexFast: Schema.boolean().default(false),
54528
54531
  grokImagineImage: Schema.boolean().default(false),
@@ -54577,10 +54580,13 @@ function resolveCapabilitySettings(base, user) {
54577
54580
  }
54578
54581
  function normalizeCapabilitySettings(input) {
54579
54582
  const patch = normalizeCapabilitySettingsPatch(input);
54583
+ const codexImages = patch.codexImages ?? DEFAULT_CAPABILITY_SETTINGS.codexImages;
54580
54584
  return Object.freeze({
54581
54585
  codexSearch: patch.codexSearch ?? DEFAULT_CAPABILITY_SETTINGS.codexSearch,
54582
- codexImages: patch.codexImages ?? DEFAULT_CAPABILITY_SETTINGS.codexImages,
54586
+ codexImages,
54583
54587
  codexImageEdits: patch.codexImageEdits ?? DEFAULT_CAPABILITY_SETTINGS.codexImageEdits,
54588
+ // any-model is meaningless without images; clear at admit so UI cascade alone cannot leave it on
54589
+ codexImagesAnyModel: codexImages ? patch.codexImagesAnyModel ?? DEFAULT_CAPABILITY_SETTINGS.codexImagesAnyModel : false,
54584
54590
  codexUsage: patch.codexUsage ?? DEFAULT_CAPABILITY_SETTINGS.codexUsage,
54585
54591
  codexFast: patch.codexFast ?? DEFAULT_CAPABILITY_SETTINGS.codexFast,
54586
54592
  grokImagineImage: patch.grokImagineImage ?? DEFAULT_CAPABILITY_SETTINGS.grokImagineImage,
@@ -54597,6 +54603,7 @@ function normalizeCapabilitySettingsPatch(input) {
54597
54603
  assignFlag(patch, "codexSearch", flags["codexSearch"]);
54598
54604
  assignFlag(patch, "codexImages", flags["codexImages"]);
54599
54605
  assignFlag(patch, "codexImageEdits", flags["codexImageEdits"]);
54606
+ assignFlag(patch, "codexImagesAnyModel", flags["codexImagesAnyModel"]);
54600
54607
  assignFlag(patch, "codexUsage", flags["codexUsage"]);
54601
54608
  assignFlag(patch, "codexFast", flags["codexFast"]);
54602
54609
  assignFlag(patch, "grokImagineImage", flags["grokImagineImage"]);
@@ -55207,11 +55214,18 @@ function enumValue(value, allowed, fallback, field) {
55207
55214
  }
55208
55215
  return value;
55209
55216
  }
55217
+ async function assertSignedIn(auth) {
55218
+ if (await auth.resolve() === void 0) {
55219
+ throw new LlmError4("Codex image tools require a signed-in Codex account", "MISSING_CREDENTIAL");
55220
+ }
55221
+ }
55210
55222
  function imageEnvelopeLimit(maxImageBytes2, n) {
55211
55223
  return Math.ceil(maxImageBytes2 / 3) * 4 * Math.max(1, n) + 128 * 1024;
55212
55224
  }
55213
55225
  async function prepareRequest(options, input, imageIds, signal) {
55214
- assertCodexImageCapableRoute(options.session.route);
55226
+ if (options.routePolicy !== "any") {
55227
+ assertCodexImageCapableRoute(options.session.route);
55228
+ }
55215
55229
  const prompt = input.prompt.trim();
55216
55230
  if (prompt.length === 0) {
55217
55231
  throw new LlmError4("Codex image generation requires a non-empty prompt", "INVALID_ARGS");
@@ -55361,6 +55375,7 @@ function createCodexImageController(options) {
55361
55375
  });
55362
55376
  const now = options.now ?? Date.now;
55363
55377
  const dispatch = async (input, imageIds, signal) => {
55378
+ await assertSignedIn(options.auth);
55364
55379
  const prepared = await prepareRequest(options, input, imageIds, signal);
55365
55380
  const payload = await http.requestJson({
55366
55381
  url: prepared.operation === "generate" ? CODEX_IMAGE_GENERATION_URL : CODEX_IMAGE_EDIT_URL,
@@ -57232,6 +57247,9 @@ var IMAGE_COUNT_VALUES = [1, 2, 3, 4];
57232
57247
  var VIDEO_DURATION_VALUES = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
57233
57248
  var IMAGINE_IMAGE_PREFIX = "/plugins/dsh-grok-build/imagine/images/";
57234
57249
  var IMAGINE_MEDIA_PREFIX = "/plugins/dsh-grok-build/imagine/media/";
57250
+ function codexImageRoutePolicy(settings) {
57251
+ return settings.codexImagesAnyModel ? "any" : "codex-capable";
57252
+ }
57235
57253
  function callingRouteIdentity(exec) {
57236
57254
  const session = exec.agent?.session;
57237
57255
  const header = session !== void 0 && typeof session.requestHeader === "function" ? session.requestHeader()?.config : void 0;
@@ -57438,10 +57456,11 @@ function renderImageRefs(summary, refs) {
57438
57456
  }
57439
57457
  async function createCapabilityTools(options) {
57440
57458
  const { defineTool } = await import("@deepseek-ai/dsh-tools");
57441
- const createController = options.createCodexController ?? ((session) => createCodexImageController({
57459
+ const createController = options.createCodexController ?? ((session, routePolicy) => createCodexImageController({
57442
57460
  auth: options.auth,
57443
57461
  attachments: options.attachments,
57444
- session
57462
+ session,
57463
+ routePolicy
57445
57464
  }));
57446
57465
  const generate = defineTool({
57447
57466
  name: CODEX_IMAGE_GENERATE_TOOL,
@@ -57482,7 +57501,10 @@ async function createCapabilityTools(options) {
57482
57501
  const settings = options.current();
57483
57502
  if (!settings.codexImages) disabled(CODEX_IMAGE_GENERATE_TOOL);
57484
57503
  const n = resolveImageCount(args.n, settings);
57485
- const result = await createController(await generateSession(exec, options.resolveCodexImageRoute)).generate(
57504
+ const result = await createController(
57505
+ await generateSession(exec, options.resolveCodexImageRoute),
57506
+ codexImageRoutePolicy(settings)
57507
+ ).generate(
57486
57508
  {
57487
57509
  prompt: args.prompt,
57488
57510
  n,
@@ -57540,7 +57562,10 @@ async function createCapabilityTools(options) {
57540
57562
  const settings = options.current();
57541
57563
  if (!settings.codexImageEdits || !settings.codexImages) disabled(CODEX_IMAGE_EDIT_TOOL);
57542
57564
  const n = resolveImageCount(args.n, settings);
57543
- const result = await createController(await requireEditSession(exec, options.resolveCodexImageRoute)).edit(
57565
+ const result = await createController(
57566
+ await requireEditSession(exec, options.resolveCodexImageRoute),
57567
+ codexImageRoutePolicy(settings)
57568
+ ).edit(
57544
57569
  {
57545
57570
  prompt: args.prompt,
57546
57571
  imageIds: args.imageIds,
@@ -57901,7 +57926,7 @@ function bindCodexFastRoute(state, capabilities, registration, options = {}) {
57901
57926
  };
57902
57927
  }
57903
57928
  function sameSettings(left, right) {
57904
- return left.codexSearch === right.codexSearch && left.codexImages === right.codexImages && left.codexImageEdits === right.codexImageEdits && left.codexUsage === right.codexUsage && left.codexFast === right.codexFast && left.grokImagineImage === right.grokImagineImage && left.grokImagineVideo === right.grokImagineVideo && left.searchResults === right.searchResults && left.imageCount === right.imageCount && left.videoArtifactTtlMs === right.videoArtifactTtlMs;
57929
+ return left.codexSearch === right.codexSearch && left.codexImages === right.codexImages && left.codexImageEdits === right.codexImageEdits && left.codexImagesAnyModel === right.codexImagesAnyModel && left.codexUsage === right.codexUsage && left.codexFast === right.codexFast && left.grokImagineImage === right.grokImagineImage && left.grokImagineVideo === right.grokImagineVideo && left.searchResults === right.searchResults && left.imageCount === right.imageCount && left.videoArtifactTtlMs === right.videoArtifactTtlMs;
57905
57930
  }
57906
57931
 
57907
57932
  // src/codex-search.ts