@eddyskywalker/dsh-chatgpt-subscription 0.48.2 → 0.48.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.
package/lib/index.js CHANGED
@@ -145,7 +145,7 @@ const ROUTE_PREFIX$5 = "/api/dsh-chatgpt-subscription";
145
145
  * `test/responses-client.test.ts` asserts the two agree, so a release that
146
146
  * forgets this constant fails the suite instead of shipping quietly.
147
147
  */
148
- const PLUGIN_VERSION = "0.48.2";
148
+ const PLUGIN_VERSION = "0.48.4";
149
149
  const CODEX_CHATGPT_PROVIDER_ID = "codex-chatgpt";
150
150
  const CODEX_API_BASE = "https://chatgpt.com/backend-api/codex";
151
151
  const CODEX_RESPONSES_URL = `${CODEX_API_BASE}/responses`;
@@ -5025,12 +5025,52 @@ function readBlocks(raw) {
5025
5025
  return raw.filter((block) => isRecord$58(block) && typeof block.type === "string");
5026
5026
  }
5027
5027
  /**
5028
+ * The first value that is a non-empty string.
5029
+ *
5030
+ * Used for fields the two generations spell in different places: a value that
5031
+ * is present but empty must not shadow a real one further down the chain, which
5032
+ * is what `??` alone does.
5033
+ */
5034
+ function firstNonEmptyString(...values) {
5035
+ for (const value of values) if (typeof value === "string" && value !== "") return value;
5036
+ return "";
5037
+ }
5038
+ /**
5039
+ * The result block a `role: 'tool'` message already carries inside its body.
5040
+ *
5041
+ * Some harness generations deliver the call id inside the result block rather
5042
+ * than on the message, and one shape carries both: `role: 'tool'` with a
5043
+ * `tool-result` block holding the id. Reading only the message-level fields
5044
+ * leaves {@link toolCallIdOf} nothing to find.
5045
+ */
5046
+ function embeddedToolResult(content) {
5047
+ if (content.length !== 1) return void 0;
5048
+ const [block] = content;
5049
+ return block?.type === "tool-result" ? block : void 0;
5050
+ }
5051
+ /**
5052
+ * The call id one `role: 'tool'` message associates with its `tool-call`.
5053
+ *
5054
+ * The id is the only thing tying a result to the call it answers: a mapper that
5055
+ * sends it empty makes every result an orphan and tells the repair pass that no
5056
+ * call was answered, which some gateways reject outright (WorkBuddy answers
5057
+ * `11148`, "tool calls and tool results do not match"). It therefore has to be
5058
+ * read from every place the harness generations put it — the message, the
5059
+ * message's source, and the result block inside the body — and an empty string
5060
+ * must not shadow a later, real one.
5061
+ */
5062
+ function toolCallIdOf(raw, source, embedded) {
5063
+ return firstNonEmptyString(raw.toolCallId, raw.callId, source?.callId, embedded?.toolCallId);
5064
+ }
5065
+ /**
5028
5066
  * Normalize one harness message list into {@link Message}.
5029
5067
  *
5030
5068
  * A 0.1.7 `role: 'tool'` message is re-wrapped as the user-role message holding
5031
5069
  * one {@link ToolResultBlock} that the mappers expect, keeping the tool
5032
5070
  * provenance (`kind: 'tool'`) they use to tell a real tool result from a user
5033
- * turn. Everything a newer harness adds beside that keeps its own shape.
5071
+ * turn. A message that already carries that block keeps its own body instead of
5072
+ * nesting a second `tool-result` around it. Everything a newer harness adds
5073
+ * beside that keeps its own shape.
5034
5074
  * @param messages - Messages straight off the request options, in either generation's shape.
5035
5075
  * @returns The same conversation in the pre-0.1.7 vocabulary.
5036
5076
  */
@@ -5041,15 +5081,17 @@ function normalizeMessages(messages) {
5041
5081
  const content = readBlocks(raw.content);
5042
5082
  if (raw.role === "tool") {
5043
5083
  const source = isRecord$58(raw.source) ? raw.source : void 0;
5044
- const callId = String(raw.toolCallId ?? source?.callId ?? "");
5084
+ const embedded = embeddedToolResult(content);
5085
+ const callId = toolCallIdOf(raw, source, embedded);
5086
+ const isError = raw.isError === true || embedded?.isError === true;
5045
5087
  normalized.push({
5046
5088
  id: raw.id,
5047
5089
  role: "user",
5048
5090
  content: [{
5049
5091
  type: "tool-result",
5050
5092
  toolCallId: callId,
5051
- content,
5052
- ...raw.isError === true ? { isError: true } : {}
5093
+ content: embedded === void 0 ? content : embedded.content,
5094
+ ...isError ? { isError: true } : {}
5053
5095
  }],
5054
5096
  source: {
5055
5097
  kind: "tool",
@@ -1 +1 @@
1
- {"version":3,"file":"WorkBuddySection.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/WorkBuddySection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EACV,8BAA8B,EAE9B,qBAAqB,EACrB,qBAAqB,EAIrB,eAAe,EAChB,MAAM,qCAAqC,CAAA;AAS5C,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EAAgB,EAAE,EAAE,MAAM,cAAc,CAAA;AAkB/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,MAAM,EAAE;IACN,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,KAAK,MAAM,CAAA;IACvD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAChD,GACA,MAAM,GAAG,IAAI,CA4Bf;AAED,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAInD;AAED,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,OAAO,EAAE,EACP,WAAW,GACX,YAAY,GACZ,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,GAClB,2BAA2B,GAC3B,+BAA+B,GAC/B,yBAAyB,GACzB,4BAA4B,GAC5B,+BAA+B,GAC/B,mCAAmC,GACnC,6BAA6B,CAChC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,CAO3F;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAOtG;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAItG;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,CAAC,EAAE,eAAe,EAClB,GAAG,EAAE,MAAM,GACV;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAgB/D;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,8BAA8B,GAAG,SAAS,EACvD,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,GAAG,SAAS,GAAG,0BAA0B,CAAC,GAC/E,MAAM,EAAE,CASV;AAED,wBAAgB,gBAAgB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CA0gBjH"}
1
+ {"version":3,"file":"WorkBuddySection.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/WorkBuddySection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EACV,8BAA8B,EAE9B,qBAAqB,EACrB,qBAAqB,EAIrB,eAAe,EAChB,MAAM,qCAAqC,CAAA;AAS5C,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EAAgB,EAAE,EAAE,MAAM,cAAc,CAAA;AAkB/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,MAAM,EAAE;IACN,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,KAAK,MAAM,CAAA;IACvD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAChD,GACA,MAAM,GAAG,IAAI,CA4Bf;AAED,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAInD;AAED,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,OAAO,EAAE,EACP,WAAW,GACX,YAAY,GACZ,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,GAClB,2BAA2B,GAC3B,+BAA+B,GAC/B,yBAAyB,GACzB,4BAA4B,GAC5B,+BAA+B,GAC/B,mCAAmC,GACnC,6BAA6B,CAChC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,CAO3F;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAOtG;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAItG;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,CAAC,EAAE,eAAe,EAClB,GAAG,EAAE,MAAM,GACV;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAgB/D;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,8BAA8B,GAAG,SAAS,EACvD,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,GAAG,SAAS,GAAG,0BAA0B,CAAC,GAC/E,MAAM,EAAE,CASV;AAED,wBAAgB,gBAAgB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CA+gBjH"}
@@ -71,7 +71,7 @@ export declare const ROUTE_PREFIX: "/api/dsh-chatgpt-subscription";
71
71
  * `test/responses-client.test.ts` asserts the two agree, so a release that
72
72
  * forgets this constant fails the suite instead of shipping quietly.
73
73
  */
74
- export declare const PLUGIN_VERSION: "0.48.2";
74
+ export declare const PLUGIN_VERSION: "0.48.4";
75
75
  export declare const CODEX_CHATGPT_PROVIDER_ID: "codex-chatgpt";
76
76
  export { MINIMAX_CODE_PROVIDER_ID, MINIMAX_CODE_ROUTE_PREFIX } from './shared/minimax-code-contracts.ts';
77
77
  export declare const CODEX_API_BASE: "https://chatgpt.com/backend-api/codex";
@@ -93,7 +93,9 @@ export type GenerateOptions = Omit<HarnessGenerateOptions, 'messages' | 'tools'>
93
93
  * A 0.1.7 `role: 'tool'` message is re-wrapped as the user-role message holding
94
94
  * one {@link ToolResultBlock} that the mappers expect, keeping the tool
95
95
  * provenance (`kind: 'tool'`) they use to tell a real tool result from a user
96
- * turn. Everything a newer harness adds beside that keeps its own shape.
96
+ * turn. A message that already carries that block keeps its own body instead of
97
+ * nesting a second `tool-result` around it. Everything a newer harness adds
98
+ * beside that keeps its own shape.
97
99
  * @param messages - Messages straight off the request options, in either generation's shape.
98
100
  * @returns The same conversation in the pre-0.1.7 vocabulary.
99
101
  */
@@ -1 +1 @@
1
- {"version":3,"file":"llm-compat.d.ts","sourceRoot":"","sources":["../../../../src/host/common/llm-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,mBAAmB,EACnC,eAAe,IAAI,sBAAsB,EACzC,UAAU,IAAI,iBAAiB,EAChC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QACxB,yEAAyE;QACzE,0BAA0B,EAAE;YAAE,IAAI,EAAE,0BAA0B,CAAA;SAAE,GAAG,aAAa,CAAA;KACjF;CACF;AAED,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B,EAAG,0BAAmC,CAAA;AAE7E,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAC5E,eAAe,GACf,iBAAiB,GACjB,gBAAgB,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC,CAAA;AAEhH,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,mEAAmE;AACnE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAChC;AAED,KAAK,kBAAkB,GAAG,sBAAsB,SAAS;IAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,GAAG,OAAO,GAAG,OAAO,CAAA;AAE5G,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IACjF,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,YAAY,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IAC1D,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC,CAAA;AAYD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CA6BrF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAEzF"}
1
+ {"version":3,"file":"llm-compat.d.ts","sourceRoot":"","sources":["../../../../src/host/common/llm-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,mBAAmB,EACnC,eAAe,IAAI,sBAAsB,EACzC,UAAU,IAAI,iBAAiB,EAChC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QACxB,yEAAyE;QACzE,0BAA0B,EAAE;YAAE,IAAI,EAAE,0BAA0B,CAAA;SAAE,GAAG,aAAa,CAAA;KACjF;CACF;AAED,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B,EAAG,0BAAmC,CAAA;AAE7E,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAC5E,eAAe,GACf,iBAAiB,GACjB,gBAAgB,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC,CAAA;AAEhH,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,mEAAmE;AACnE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAChC;AAED,KAAK,kBAAkB,GAAG,sBAAsB,SAAS;IAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,GAAG,OAAO,GAAG,OAAO,CAAA;AAE5G,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IACjF,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,YAAY,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IAC1D,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC,CAAA;AAuDD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CA+BrF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAEzF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eddyskywalker/dsh-chatgpt-subscription",
3
- "version": "0.48.2",
3
+ "version": "0.48.4",
4
4
  "description": "DSH provider plugin for Codex access through a ChatGPT subscription.",
5
5
  "icon": "./icon.svg",
6
6
  "author": {