oc-chatgpt-multi-auth 5.2.1 → 5.2.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 (63) hide show
  1. package/README.md +21 -16
  2. package/config/README.md +10 -8
  3. package/config/opencode-legacy.json +47 -73
  4. package/config/opencode-modern.json +32 -38
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +163 -125
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/accounts.d.ts.map +1 -1
  9. package/dist/lib/accounts.js +5 -18
  10. package/dist/lib/accounts.js.map +1 -1
  11. package/dist/lib/config.d.ts +1 -0
  12. package/dist/lib/config.d.ts.map +1 -1
  13. package/dist/lib/config.js +5 -0
  14. package/dist/lib/config.js.map +1 -1
  15. package/dist/lib/logger.d.ts +1 -0
  16. package/dist/lib/logger.d.ts.map +1 -1
  17. package/dist/lib/logger.js +25 -2
  18. package/dist/lib/logger.js.map +1 -1
  19. package/dist/lib/prompts/codex-opencode-bridge.d.ts +4 -3
  20. package/dist/lib/prompts/codex-opencode-bridge.d.ts.map +1 -1
  21. package/dist/lib/prompts/codex-opencode-bridge.js +73 -106
  22. package/dist/lib/prompts/codex-opencode-bridge.js.map +1 -1
  23. package/dist/lib/prompts/codex.d.ts +4 -4
  24. package/dist/lib/prompts/codex.d.ts.map +1 -1
  25. package/dist/lib/prompts/codex.js +27 -30
  26. package/dist/lib/prompts/codex.js.map +1 -1
  27. package/dist/lib/recovery.d.ts.map +1 -1
  28. package/dist/lib/recovery.js +10 -5
  29. package/dist/lib/recovery.js.map +1 -1
  30. package/dist/lib/request/fetch-helpers.d.ts +2 -1
  31. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  32. package/dist/lib/request/fetch-helpers.js +57 -6
  33. package/dist/lib/request/fetch-helpers.js.map +1 -1
  34. package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
  35. package/dist/lib/request/helpers/model-map.js +35 -25
  36. package/dist/lib/request/helpers/model-map.js.map +1 -1
  37. package/dist/lib/request/request-transformer.d.ts +3 -3
  38. package/dist/lib/request/request-transformer.d.ts.map +1 -1
  39. package/dist/lib/request/request-transformer.js +73 -35
  40. package/dist/lib/request/request-transformer.js.map +1 -1
  41. package/dist/lib/request/response-handler.d.ts.map +1 -1
  42. package/dist/lib/request/response-handler.js +101 -10
  43. package/dist/lib/request/response-handler.js.map +1 -1
  44. package/dist/lib/schemas.d.ts +7 -9
  45. package/dist/lib/schemas.d.ts.map +1 -1
  46. package/dist/lib/schemas.js +1 -0
  47. package/dist/lib/schemas.js.map +1 -1
  48. package/dist/lib/storage/migrations.d.ts.map +1 -1
  49. package/dist/lib/storage/migrations.js +1 -9
  50. package/dist/lib/storage/migrations.js.map +1 -1
  51. package/dist/lib/storage/paths.d.ts.map +1 -1
  52. package/dist/lib/storage/paths.js +14 -2
  53. package/dist/lib/storage/paths.js.map +1 -1
  54. package/dist/lib/storage.d.ts +1 -0
  55. package/dist/lib/storage.d.ts.map +1 -1
  56. package/dist/lib/storage.js +124 -84
  57. package/dist/lib/storage.js.map +1 -1
  58. package/package.json +26 -12
  59. package/scripts/audit-dev-allowlist.js +114 -0
  60. package/dist/lib/request/local-fast-path.d.ts +0 -15
  61. package/dist/lib/request/local-fast-path.d.ts.map +0 -1
  62. package/dist/lib/request/local-fast-path.js +0 -164
  63. package/dist/lib/request/local-fast-path.js.map +0 -1
@@ -1,164 +0,0 @@
1
- const TRIVIAL_PROMPT_REGEX = /^(hi|hello|hey|yo|sup|good\s+(morning|afternoon|evening)|thanks|thank you|thx|ok|okay|cool|nice|got it|sounds good|lets go|let's go|test)$/i;
2
- function extractMessageText(content) {
3
- if (typeof content === "string")
4
- return content;
5
- if (!Array.isArray(content))
6
- return "";
7
- return content
8
- .map((item) => {
9
- if (typeof item === "string")
10
- return item;
11
- if (!item || typeof item !== "object")
12
- return "";
13
- const typed = item;
14
- return typeof typed.text === "string" ? typed.text : "";
15
- })
16
- .filter(Boolean)
17
- .join("\n");
18
- }
19
- function getLatestUserText(input) {
20
- for (let i = input.length - 1; i >= 0; i--) {
21
- const item = input[i];
22
- if (!item || typeof item !== "object")
23
- continue;
24
- const role = typeof item?.role === "string" ? item.role.toLowerCase() : "";
25
- if (role !== "user")
26
- continue;
27
- return extractMessageText(item.content).trim();
28
- }
29
- return "";
30
- }
31
- function isTrivialPrompt(text) {
32
- if (!text)
33
- return false;
34
- if (text.length > 40)
35
- return false;
36
- if (text.includes("\n") || text.includes("```"))
37
- return false;
38
- return TRIVIAL_PROMPT_REGEX.test(text);
39
- }
40
- function buildReply(text) {
41
- const normalized = text.toLowerCase();
42
- if (normalized.includes("thank")) {
43
- return "You're welcome. What should I work on next in this repo?";
44
- }
45
- if (normalized === "ok" || normalized === "okay" || normalized === "got it") {
46
- return "Got it. What should I handle next in this repo?";
47
- }
48
- return "Hey, what do you want to work on in this repo?";
49
- }
50
- function estimateTokens(text) {
51
- return Math.max(1, Math.ceil(text.length / 4));
52
- }
53
- function createLocalResponseObject(model, reply) {
54
- const now = Date.now();
55
- const responseId = `resp_local_${now.toString(36)}`;
56
- const messageId = `msg_local_${now.toString(36)}`;
57
- const outputTokens = estimateTokens(reply);
58
- return {
59
- id: responseId,
60
- object: "response",
61
- created_at: Math.floor(now / 1000),
62
- status: "completed",
63
- model,
64
- output: [
65
- {
66
- id: messageId,
67
- type: "message",
68
- status: "completed",
69
- role: "assistant",
70
- content: [
71
- {
72
- type: "output_text",
73
- text: reply,
74
- annotations: [],
75
- },
76
- ],
77
- },
78
- ],
79
- output_text: reply,
80
- usage: {
81
- input_tokens: 0,
82
- output_tokens: outputTokens,
83
- total_tokens: outputTokens,
84
- },
85
- };
86
- }
87
- function createStreamingResponse(model, reply, responseObject) {
88
- const responseId = responseObject.id;
89
- const output = Array.isArray(responseObject.output)
90
- ? responseObject.output[0]
91
- : undefined;
92
- const messageId = (typeof output?.id === "string" && output.id) || `msg_local_${Date.now().toString(36)}`;
93
- const createdResponse = {
94
- ...responseObject,
95
- status: "in_progress",
96
- output: [],
97
- };
98
- const events = [
99
- { type: "response.created", response: createdResponse },
100
- {
101
- type: "response.output_text.delta",
102
- response_id: responseId,
103
- item_id: messageId,
104
- output_index: 0,
105
- content_index: 0,
106
- delta: reply,
107
- },
108
- {
109
- type: "response.output_text.done",
110
- response_id: responseId,
111
- item_id: messageId,
112
- output_index: 0,
113
- content_index: 0,
114
- text: reply,
115
- },
116
- { type: "response.completed", response: responseObject },
117
- { type: "response.done", response: responseObject },
118
- ];
119
- const encoder = new TextEncoder();
120
- const stream = new ReadableStream({
121
- start(controller) {
122
- for (const event of events) {
123
- controller.enqueue(encoder.encode(`data: ${JSON.stringify(event)}\n\n`));
124
- }
125
- controller.enqueue(encoder.encode("data: [DONE]\n\n"));
126
- controller.close();
127
- },
128
- });
129
- return new Response(stream, {
130
- status: 200,
131
- headers: {
132
- "content-type": "text/event-stream; charset=utf-8",
133
- "cache-control": "no-cache",
134
- connection: "keep-alive",
135
- },
136
- });
137
- }
138
- export function buildLocalFastPathResponse(body, options) {
139
- if (!options.fastSessionEnabled)
140
- return null;
141
- if (options.fastSessionStrategy !== "always")
142
- return null;
143
- if (!body || !Array.isArray(body.input))
144
- return null;
145
- const latestUserText = getLatestUserText(body.input);
146
- if (!isTrivialPrompt(latestUserText))
147
- return null;
148
- const reply = buildReply(latestUserText);
149
- const responseObject = createLocalResponseObject(body.model, reply);
150
- const response = options.isStreaming
151
- ? createStreamingResponse(body.model, reply, responseObject)
152
- : new Response(JSON.stringify(responseObject), {
153
- status: 200,
154
- headers: {
155
- "content-type": "application/json; charset=utf-8",
156
- },
157
- });
158
- return {
159
- response,
160
- reason: "trivial-greeting",
161
- reply,
162
- };
163
- }
164
- //# sourceMappingURL=local-fast-path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-fast-path.js","sourceRoot":"","sources":["../../../lib/request/local-fast-path.ts"],"names":[],"mappings":"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"}