@amir83nasr/10router 0.1.1 → 0.1.4

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 (196) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +7 -7
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  24. package/.next/server/app/_global-error.html +1 -1
  25. package/.next/server/app/_global-error.rsc +1 -1
  26. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  27. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  28. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  29. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  30. package/.next/server/app/_not-found.html +1 -1
  31. package/.next/server/app/_not-found.rsc +6 -6
  32. package/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
  33. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  34. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  35. package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -1
  36. package/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  37. package/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  38. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  39. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  40. package/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  41. package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -1
  42. package/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  43. package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  44. package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  45. package/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
  46. package/.next/server/app/api/providers/client/route.js +1 -1
  47. package/.next/server/app/api/translator/send/route.js +1 -1
  48. package/.next/server/app/api/translator/translate/route.js +1 -1
  49. package/.next/server/app/api/tunnel/tailscale-install/route.js +2 -2
  50. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  51. package/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  52. package/.next/server/app/api/v1/systemone/route.js +1 -1
  53. package/.next/server/app/api/version/route.js +1 -1
  54. package/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/callback.html +1 -1
  56. package/.next/server/app/callback.rsc +7 -7
  57. package/.next/server/app/callback.segments/_full.segment.rsc +7 -7
  58. package/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  59. package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +7 -7
  60. package/.next/server/app/dashboard/basic-chat.html +1 -1
  61. package/.next/server/app/dashboard/basic-chat.rsc +8 -8
  62. package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  63. package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  64. package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  65. package/.next/server/app/dashboard/cli-tools.html +1 -1
  66. package/.next/server/app/dashboard/cli-tools.rsc +9 -9
  67. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  68. package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +9 -9
  69. package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  70. package/.next/server/app/dashboard/combos.html +1 -1
  71. package/.next/server/app/dashboard/combos.rsc +8 -8
  72. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  73. package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  74. package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  75. package/.next/server/app/dashboard/endpoint.html +1 -1
  76. package/.next/server/app/dashboard/endpoint.rsc +9 -9
  77. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  78. package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
  79. package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  80. package/.next/server/app/dashboard/media-providers/systemone.html +1 -1
  81. package/.next/server/app/dashboard/media-providers/systemone.rsc +8 -8
  82. package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +8 -8
  83. package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +8 -8
  84. package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +2 -2
  85. package/.next/server/app/dashboard/profile.html +1 -1
  86. package/.next/server/app/dashboard/profile.rsc +8 -8
  87. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  88. package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  89. package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  90. package/.next/server/app/dashboard/providers/new.html +1 -1
  91. package/.next/server/app/dashboard/providers/new.rsc +8 -8
  92. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  93. package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  94. package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  95. package/.next/server/app/dashboard/providers.html +1 -1
  96. package/.next/server/app/dashboard/providers.rsc +8 -8
  97. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  98. package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  99. package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  100. package/.next/server/app/dashboard/proxy-pools.html +1 -1
  101. package/.next/server/app/dashboard/proxy-pools.rsc +8 -8
  102. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  103. package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  104. package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  105. package/.next/server/app/dashboard/pxpipe.html +1 -1
  106. package/.next/server/app/dashboard/pxpipe.rsc +7 -7
  107. package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
  108. package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  109. package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/dashboard/quota.html +2 -2
  111. package/.next/server/app/dashboard/quota.rsc +9 -9
  112. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  113. package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  114. package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  115. package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  116. package/.next/server/app/dashboard/settings/pricing.html +1 -1
  117. package/.next/server/app/dashboard/settings/pricing.rsc +6 -6
  118. package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  119. package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  120. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  121. package/.next/server/app/dashboard/token-saver.html +1 -1
  122. package/.next/server/app/dashboard/token-saver.rsc +7 -7
  123. package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
  124. package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  125. package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  126. package/.next/server/app/dashboard/usage.html +2 -2
  127. package/.next/server/app/dashboard/usage.rsc +8 -8
  128. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  129. package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  130. package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  131. package/.next/server/app/dashboard.html +1 -1
  132. package/.next/server/app/dashboard.rsc +9 -9
  133. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  134. package/.next/server/app/dashboard.segments/_full.segment.rsc +9 -9
  135. package/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  136. package/.next/server/app/index.html +1 -1
  137. package/.next/server/app/index.rsc +6 -6
  138. package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  139. package/.next/server/app/index.segments/_full.segment.rsc +6 -6
  140. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  141. package/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app/landing.html +1 -1
  143. package/.next/server/app/landing.rsc +7 -7
  144. package/.next/server/app/landing.segments/_full.segment.rsc +7 -7
  145. package/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  146. package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
  147. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  148. package/.next/server/app/login.html +1 -1
  149. package/.next/server/app/login.rsc +6 -6
  150. package/.next/server/app/login.segments/_full.segment.rsc +6 -6
  151. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  152. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
  153. package/.next/server/app/page_client-reference-manifest.js +1 -1
  154. package/.next/server/app-paths-manifest.json +7 -7
  155. package/.next/server/chunks/1011.js +1 -1
  156. package/.next/server/chunks/1194.js +1 -1
  157. package/.next/server/chunks/1289.js +1 -1
  158. package/.next/server/chunks/1633.js +1 -1
  159. package/.next/server/chunks/2282.js +2 -2
  160. package/.next/server/chunks/2339.js +1 -1
  161. package/.next/server/chunks/3425.js +1 -1
  162. package/.next/server/chunks/4129.js +1 -1
  163. package/.next/server/chunks/537.js +1 -1
  164. package/.next/server/chunks/6056.js +1 -1
  165. package/.next/server/chunks/7816.js +1 -1
  166. package/.next/server/chunks/8569.js +1 -1
  167. package/.next/server/chunks/9429.js +1 -1
  168. package/.next/server/middleware-build-manifest.js +1 -1
  169. package/.next/server/pages/404.html +1 -1
  170. package/.next/server/pages/500.html +1 -1
  171. package/.next/server/server-reference-manifest.js +1 -1
  172. package/.next/server/server-reference-manifest.json +1 -1
  173. package/.next/static/chunks/{1278-7a48cdafd69414e5.js → 1278-ad2cb39d11b4a5f2.js} +1 -1
  174. package/.next/static/chunks/{1471-10f225f62f7469cc.js → 1471-69a7c30abf98c656.js} +1 -1
  175. package/.next/static/chunks/{159-17737a7c99ff1a65.js → 159-39356ce437096d44.js} +1 -1
  176. package/.next/static/chunks/{1699-13ee6864a8a31a96.js → 1699-49be310981e2759e.js} +2 -2
  177. package/.next/static/chunks/{3577-cd98d40e3099e1b0.js → 3577-1f02993330d7fba7.js} +1 -1
  178. package/.next/static/chunks/{5862-f98c2f3d480b80d2.js → 5862-6f3a3a6d4c00100d.js} +1 -1
  179. package/.next/static/chunks/{7287-b8e377303d1c5ae8.js → 7287-8eca6570ca087e2e.js} +2 -2
  180. package/.next/static/chunks/{9ce8c186-3c7d7dbc5d428052.js → 9ce8c186-6cd204e9c27ecee1.js} +1 -1
  181. package/.next/static/chunks/app/(dashboard)/dashboard/console-log/{page-619bc87666df1d5a.js → page-c803a3376280f0e8.js} +1 -1
  182. package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-56de365bce9dfc77.js → page-cef3c079d15c9349.js} +1 -1
  183. package/.next/static/chunks/app/{layout-777e294953f692c4.js → layout-101b832aa6789b60.js} +1 -1
  184. package/.next/static/css/{e9178fa7e53ec623.css → 5843ba28152e85f8.css} +1 -1
  185. package/open-sse/executors/opencode-go.js +2 -0
  186. package/open-sse/executors/opencode-zen.js +17 -6
  187. package/open-sse/executors/opencode.js +31 -8
  188. package/open-sse/handlers/systemoneCore.js +4 -2
  189. package/open-sse/providers/registry/opencode-go.js +23 -6
  190. package/open-sse/providers/registry/opencode-zen.js +8 -6
  191. package/open-sse/providers/registry/opencode.js +5 -4
  192. package/open-sse/translator/request/openai-to-claude.js +4 -1
  193. package/package.json +1 -1
  194. package/src/app/api/providers/[id]/test/testUtils.js +3 -3
  195. /package/.next/static/{SudImSgFkzCy6tK2dH6yg → nOEr8lKXMARlP2mV3XFuF}/_buildManifest.js +0 -0
  196. /package/.next/static/{SudImSgFkzCy6tK2dH6yg → nOEr8lKXMARlP2mV3XFuF}/_ssgManifest.js +0 -0
@@ -24,7 +24,8 @@ export default {
24
24
  },
25
25
  },
26
26
  // Multi-endpoint: pick the transport matching the client sourceFormat to skip
27
- // translation. Mirrors opencode-go, pointed at /zen/v1 (see https://opencode.ai/docs/zen/).
27
+ // translation. Mirrors opencode-go, pointed at /zen/v1 (endpoint families per
28
+ // https://opencode.ai/v2/docs/console/inference, Go table at /v2/docs/console/go).
28
29
  transports: [
29
30
  {
30
31
  format: "openai",
@@ -42,8 +43,8 @@ export default {
42
43
  auth: { combined: true, header: "Authorization", scheme: "bearer" },
43
44
  },
44
45
  ],
45
- // supportedFormats follow the endpoint table in https://opencode.ai/docs/zen/
46
- // (live /zen/v1/models, 2026-09-18: 71 ids).
46
+ // supportedFormats follow the per-model API families (chat completions /
47
+ // messages / responses) documented in https://opencode.ai/v2/docs/console/inference.
47
48
  models: [
48
49
  // Claude (messages)
49
50
  { id: "claude-fable-5", name: "Claude Fable 5", supportedFormats: ["claude"] },
@@ -284,11 +285,12 @@ export default {
284
285
  systemoneConfig: {
285
286
  baseUrl: "https://opencode.ai/zen/v1/systemone",
286
287
  headers: {
287
- "x-opencode-client": "desktop",
288
- "User-Agent": "opencode/1.18.31",
288
+ "x-opencode-client": "cli",
289
+ "User-Agent": "opencode/1.18.35",
289
290
  },
290
291
  },
291
- modelsFetcher: { url: "https://opencode.ai/zen/v1/models", type: "opencode-free" },
292
+ // Live catalog per https://opencode.ai/v2/docs/console/inference (unauth GET).
293
+ modelsFetcher: { url: "https://opencode.ai/inference/v1/models", type: "opencode-free" },
292
294
  passthroughModels: true,
293
295
  features: {
294
296
  usage: true,
@@ -15,7 +15,7 @@ export default {
15
15
  transport: {
16
16
  baseUrl: "https://opencode.ai",
17
17
  headers: {
18
- "x-opencode-client": "desktop",
18
+ "x-opencode-client": "cli",
19
19
  },
20
20
  forceStream: true,
21
21
  noAuth: true,
@@ -45,10 +45,11 @@ export default {
45
45
  systemoneConfig: {
46
46
  baseUrl: "https://opencode.ai/zen/v1/systemone",
47
47
  headers: {
48
- "x-opencode-client": "desktop",
49
- "User-Agent": "opencode/1.18.31",
48
+ "x-opencode-client": "cli",
49
+ "User-Agent": "opencode/1.18.35",
50
50
  },
51
51
  },
52
- modelsFetcher: { url: "https://opencode.ai/zen/v1/models", type: "opencode-free" },
52
+ // Live catalog per https://opencode.ai/v2/docs/console/inference (unauth GET).
53
+ modelsFetcher: { url: "https://opencode.ai/inference/v1/models", type: "opencode-free" },
53
54
  passthroughModels: true,
54
55
  };
@@ -224,6 +224,9 @@ function getContentBlocksFromMessage(msg, toolNameMap = new Map()) {
224
224
  type: CLAUDE_BLOCK.TOOL_RESULT,
225
225
  tool_use_id: msg.tool_call_id,
226
226
  content: msg.content,
227
+ // Zed's strict parser requires is_error on every tool_result (Anthropic
228
+ // treats it as optional, default false) — always emit the boolean.
229
+ is_error: msg.is_error === true,
227
230
  });
228
231
  } else if (msg.role === ROLE.USER) {
229
232
  if (typeof msg.content === "string") {
@@ -239,7 +242,7 @@ function getContentBlocksFromMessage(msg, toolNameMap = new Map()) {
239
242
  type: CLAUDE_BLOCK.TOOL_RESULT,
240
243
  tool_use_id: part.tool_use_id,
241
244
  content: part.content,
242
- ...(part.is_error && { is_error: part.is_error }),
245
+ is_error: part.is_error === true,
243
246
  });
244
247
  } else if (part.type === OPENAI_BLOCK.IMAGE_URL) {
245
248
  const url = part.image_url.url;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amir83nasr/10router",
3
- "version": "0.1.1",
3
+ "version": "0.1.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/Amir83Nasr/10Router.git"
@@ -899,14 +899,14 @@ async function testApiKeyConnection(connection, effectiveProxy = null) {
899
899
  return { valid, error: valid ? null : "Session expired — re-paste cookie" };
900
900
  }
901
901
  case "opencode": {
902
- // Connectivity-only probe: GET /models never exercises the Responses
902
+ // Connectivity-only probe: GET /inference/v1/models never exercises the Responses
903
903
  // tool path, so a green dashboard test does NOT rule out 403
904
904
  // FreeTierError on POST /zen/v1/responses with tools (requires
905
905
  // bash+read decoys + tool_choice auto — see OpenCodeExecutor).
906
906
  const res = await fetchWithConnectionProxy(
907
- "https://opencode.ai/zen/v1/models",
907
+ "https://opencode.ai/inference/v1/models",
908
908
  {
909
- headers: { Authorization: "Bearer public", "User-Agent": "opencode/1.18.31" },
909
+ headers: { "User-Agent": "opencode/1.18.35" },
910
910
  },
911
911
  effectiveProxy,
912
912
  );