@northflare/runner 0.0.16 → 0.0.17

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 (79) hide show
  1. package/lib/codex-sdk/dist/src/codex.d.ts +27 -0
  2. package/lib/codex-sdk/dist/src/codex.d.ts.map +1 -0
  3. package/lib/codex-sdk/dist/src/codex.js +33 -0
  4. package/lib/codex-sdk/dist/src/codex.js.map +1 -0
  5. package/lib/codex-sdk/dist/src/codexOptions.d.ts +11 -0
  6. package/lib/codex-sdk/dist/src/codexOptions.d.ts.map +1 -0
  7. package/lib/codex-sdk/dist/src/codexOptions.js +2 -0
  8. package/lib/codex-sdk/dist/src/codexOptions.js.map +1 -0
  9. package/lib/codex-sdk/dist/src/events.d.ts +60 -0
  10. package/lib/codex-sdk/dist/src/events.d.ts.map +1 -0
  11. package/lib/codex-sdk/dist/src/events.js +3 -0
  12. package/lib/codex-sdk/dist/src/events.js.map +1 -0
  13. package/lib/codex-sdk/dist/src/exec.d.ts +27 -0
  14. package/lib/codex-sdk/dist/src/exec.d.ts.map +1 -0
  15. package/lib/codex-sdk/dist/src/exec.js +264 -0
  16. package/lib/codex-sdk/dist/src/exec.js.map +1 -0
  17. package/lib/codex-sdk/dist/src/index.d.ts +9 -0
  18. package/lib/codex-sdk/dist/src/index.d.ts.map +1 -0
  19. package/lib/codex-sdk/dist/src/index.js +3 -0
  20. package/lib/codex-sdk/dist/src/index.js.map +1 -0
  21. package/lib/codex-sdk/dist/src/items.d.ts +103 -0
  22. package/lib/codex-sdk/dist/src/items.d.ts.map +1 -0
  23. package/lib/codex-sdk/dist/src/items.js +3 -0
  24. package/lib/codex-sdk/dist/src/items.js.map +1 -0
  25. package/lib/codex-sdk/dist/src/outputSchemaFile.d.ts +6 -0
  26. package/lib/codex-sdk/dist/src/outputSchemaFile.d.ts.map +1 -0
  27. package/lib/codex-sdk/dist/src/outputSchemaFile.js +33 -0
  28. package/lib/codex-sdk/dist/src/outputSchemaFile.js.map +1 -0
  29. package/lib/codex-sdk/dist/src/thread.d.ts +41 -0
  30. package/lib/codex-sdk/dist/src/thread.d.ts.map +1 -0
  31. package/lib/codex-sdk/dist/src/thread.js +109 -0
  32. package/lib/codex-sdk/dist/src/thread.js.map +1 -0
  33. package/lib/codex-sdk/dist/src/threadOptions.d.ts +16 -0
  34. package/lib/codex-sdk/dist/src/threadOptions.d.ts.map +1 -0
  35. package/lib/codex-sdk/dist/src/threadOptions.js +2 -0
  36. package/lib/codex-sdk/dist/src/threadOptions.js.map +1 -0
  37. package/lib/codex-sdk/dist/src/turnOptions.d.ts +7 -0
  38. package/lib/codex-sdk/dist/src/turnOptions.d.ts.map +1 -0
  39. package/lib/codex-sdk/dist/src/turnOptions.js +2 -0
  40. package/lib/codex-sdk/dist/src/turnOptions.js.map +1 -0
  41. package/lib/codex-sdk/dist/tests/abort.test.d.ts +2 -0
  42. package/lib/codex-sdk/dist/tests/abort.test.d.ts.map +1 -0
  43. package/lib/codex-sdk/dist/tests/abort.test.js +130 -0
  44. package/lib/codex-sdk/dist/tests/abort.test.js.map +1 -0
  45. package/lib/codex-sdk/dist/tests/codexExecSpy.d.ts +6 -0
  46. package/lib/codex-sdk/dist/tests/codexExecSpy.d.ts.map +1 -0
  47. package/lib/codex-sdk/dist/tests/codexExecSpy.js +28 -0
  48. package/lib/codex-sdk/dist/tests/codexExecSpy.js.map +1 -0
  49. package/lib/codex-sdk/dist/tests/responsesProxy.d.ts +56 -0
  50. package/lib/codex-sdk/dist/tests/responsesProxy.d.ts.map +1 -0
  51. package/lib/codex-sdk/dist/tests/responsesProxy.js +155 -0
  52. package/lib/codex-sdk/dist/tests/responsesProxy.js.map +1 -0
  53. package/lib/codex-sdk/dist/tests/run.test.d.ts +2 -0
  54. package/lib/codex-sdk/dist/tests/run.test.d.ts.map +1 -0
  55. package/lib/codex-sdk/dist/tests/run.test.js +524 -0
  56. package/lib/codex-sdk/dist/tests/run.test.js.map +1 -0
  57. package/lib/codex-sdk/dist/tests/runStreamed.test.d.ts +2 -0
  58. package/lib/codex-sdk/dist/tests/runStreamed.test.d.ts.map +1 -0
  59. package/lib/codex-sdk/dist/tests/runStreamed.test.js +153 -0
  60. package/lib/codex-sdk/dist/tests/runStreamed.test.js.map +1 -0
  61. package/lib/codex-sdk/samples/basic_streaming.ts +0 -0
  62. package/lib/codex-sdk/samples/structured_output.ts +0 -0
  63. package/lib/codex-sdk/samples/structured_output_zod.ts +0 -0
  64. package/lib/codex-sdk/src/codex.ts +38 -0
  65. package/lib/codex-sdk/src/codexOptions.ts +10 -0
  66. package/lib/codex-sdk/src/events.ts +80 -0
  67. package/lib/codex-sdk/src/exec.ts +336 -0
  68. package/lib/codex-sdk/src/index.ts +39 -0
  69. package/lib/codex-sdk/src/items.ts +127 -0
  70. package/lib/codex-sdk/src/outputSchemaFile.ts +40 -0
  71. package/lib/codex-sdk/src/thread.ts +155 -0
  72. package/lib/codex-sdk/src/threadOptions.ts +18 -0
  73. package/lib/codex-sdk/src/turnOptions.ts +6 -0
  74. package/lib/codex-sdk/tests/abort.test.ts +165 -0
  75. package/lib/codex-sdk/tests/codexExecSpy.ts +37 -0
  76. package/lib/codex-sdk/tests/responsesProxy.ts +225 -0
  77. package/lib/codex-sdk/tests/run.test.ts +687 -0
  78. package/lib/codex-sdk/tests/runStreamed.test.ts +211 -0
  79. package/package.json +15 -16
@@ -0,0 +1,155 @@
1
+ import http from "node:http";
2
+ const DEFAULT_RESPONSE_ID = "resp_mock";
3
+ const DEFAULT_MESSAGE_ID = "msg_mock";
4
+ const DEFAULT_COMPLETED_USAGE = {
5
+ input_tokens: 42,
6
+ input_tokens_details: { cached_tokens: 12 },
7
+ output_tokens: 5,
8
+ output_tokens_details: null,
9
+ total_tokens: 47,
10
+ };
11
+ function formatSseEvent(event) {
12
+ return `event: ${event.type}\n` + `data: ${JSON.stringify(event)}\n\n`;
13
+ }
14
+ export async function startResponsesTestProxy(options) {
15
+ function* createGenerator(array) {
16
+ for (const elem of array) {
17
+ yield elem;
18
+ }
19
+ throw new Error("not enough responses provided");
20
+ }
21
+ const responseBodies = Array.isArray(options.responseBodies)
22
+ ? createGenerator(options.responseBodies)
23
+ : options.responseBodies;
24
+ const requests = [];
25
+ function readRequestBody(req) {
26
+ return new Promise((resolve, reject) => {
27
+ const chunks = [];
28
+ req.on("data", (chunk) => {
29
+ chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
30
+ });
31
+ req.on("end", () => {
32
+ resolve(Buffer.concat(chunks).toString("utf8"));
33
+ });
34
+ req.on("error", reject);
35
+ });
36
+ }
37
+ const server = http.createServer((req, res) => {
38
+ async function handle() {
39
+ if (req.method === "POST" && req.url === "/responses") {
40
+ const body = await readRequestBody(req);
41
+ const json = JSON.parse(body);
42
+ requests.push({ body, json, headers: { ...req.headers } });
43
+ const status = options.statusCode ?? 200;
44
+ res.statusCode = status;
45
+ res.setHeader("content-type", "text/event-stream");
46
+ const responseBody = responseBodies.next().value;
47
+ for (const event of responseBody.events) {
48
+ res.write(formatSseEvent(event));
49
+ }
50
+ res.end();
51
+ return;
52
+ }
53
+ res.statusCode = 404;
54
+ res.end();
55
+ }
56
+ handle().catch(() => {
57
+ res.statusCode = 500;
58
+ res.end();
59
+ });
60
+ });
61
+ const url = await new Promise((resolve, reject) => {
62
+ server.listen(0, "127.0.0.1", () => {
63
+ const address = server.address();
64
+ if (!address || typeof address === "string") {
65
+ reject(new Error("Unable to determine proxy address"));
66
+ return;
67
+ }
68
+ server.off("error", reject);
69
+ const info = address;
70
+ resolve(`http://${info.address}:${info.port}`);
71
+ });
72
+ server.once("error", reject);
73
+ });
74
+ async function close() {
75
+ await new Promise((resolve, reject) => {
76
+ server.close((err) => {
77
+ if (err) {
78
+ reject(err);
79
+ return;
80
+ }
81
+ resolve();
82
+ });
83
+ });
84
+ }
85
+ return { url, close, requests };
86
+ }
87
+ export function sse(...events) {
88
+ return {
89
+ kind: "sse",
90
+ events,
91
+ };
92
+ }
93
+ export function responseStarted(responseId = DEFAULT_RESPONSE_ID) {
94
+ return {
95
+ type: "response.created",
96
+ response: {
97
+ id: responseId,
98
+ },
99
+ };
100
+ }
101
+ export function assistantMessage(text, itemId = DEFAULT_MESSAGE_ID) {
102
+ return {
103
+ type: "response.output_item.done",
104
+ item: {
105
+ type: "message",
106
+ role: "assistant",
107
+ id: itemId,
108
+ content: [
109
+ {
110
+ type: "output_text",
111
+ text,
112
+ },
113
+ ],
114
+ },
115
+ };
116
+ }
117
+ export function shell_call() {
118
+ const command = ["bash", "-lc", "echo 'Hello, world!'"];
119
+ return {
120
+ type: "response.output_item.done",
121
+ item: {
122
+ type: "function_call",
123
+ call_id: `call_id${Math.random().toString(36).slice(2)}`,
124
+ name: "shell",
125
+ arguments: JSON.stringify({
126
+ command,
127
+ timeout_ms: 100,
128
+ }),
129
+ },
130
+ };
131
+ }
132
+ export function responseFailed(errorMessage) {
133
+ return {
134
+ type: "error",
135
+ error: { code: "rate_limit_exceeded", message: errorMessage },
136
+ };
137
+ }
138
+ export function responseCompleted(responseId = DEFAULT_RESPONSE_ID, usage = DEFAULT_COMPLETED_USAGE) {
139
+ const inputDetails = usage.input_tokens_details ? { ...usage.input_tokens_details } : null;
140
+ const outputDetails = usage.output_tokens_details ? { ...usage.output_tokens_details } : null;
141
+ return {
142
+ type: "response.completed",
143
+ response: {
144
+ id: responseId,
145
+ usage: {
146
+ input_tokens: usage.input_tokens,
147
+ input_tokens_details: inputDetails,
148
+ output_tokens: usage.output_tokens,
149
+ output_tokens_details: outputDetails,
150
+ total_tokens: usage.total_tokens,
151
+ },
152
+ },
153
+ };
154
+ }
155
+ //# sourceMappingURL=responsesProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsesProxy.js","sourceRoot":"","sources":["../../tests/responsesProxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.test.d.ts","sourceRoot":"","sources":["../../tests/run.test.ts"],"names":[],"mappings":""}