@fragno-dev/pi-fragment 0.0.1
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/LICENSE.md +16 -0
- package/README.md +107 -0
- package/bin/run.js +72 -0
- package/dist/browser/client/react.d.ts +264 -0
- package/dist/browser/client/react.d.ts.map +1 -0
- package/dist/browser/client/react.js +84 -0
- package/dist/browser/client/react.js.map +1 -0
- package/dist/browser/client/solid.d.ts +266 -0
- package/dist/browser/client/solid.d.ts.map +1 -0
- package/dist/browser/client/solid.js +122 -0
- package/dist/browser/client/solid.js.map +1 -0
- package/dist/browser/client/svelte.d.ts +261 -0
- package/dist/browser/client/svelte.d.ts.map +1 -0
- package/dist/browser/client/svelte.js +126 -0
- package/dist/browser/client/svelte.js.map +1 -0
- package/dist/browser/client/vanilla.d.ts +238 -0
- package/dist/browser/client/vanilla.d.ts.map +1 -0
- package/dist/browser/client/vanilla.js +11 -0
- package/dist/browser/client/vanilla.js.map +1 -0
- package/dist/browser/client/vue.d.ts +264 -0
- package/dist/browser/client/vue.d.ts.map +1 -0
- package/dist/browser/client/vue.js +125 -0
- package/dist/browser/client/vue.js.map +1 -0
- package/dist/browser/client-Bk-J98pf.d.ts +679 -0
- package/dist/browser/client-Bk-J98pf.d.ts.map +1 -0
- package/dist/browser/factory-DKoO_lRA.js +2470 -0
- package/dist/browser/factory-DKoO_lRA.js.map +1 -0
- package/dist/browser/index.d.ts +776 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +3 -0
- package/dist/cli/cli.d.ts +1 -0
- package/dist/cli/cli.js +10 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/config.d.ts +13 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +64 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/http/client.js +95 -0
- package/dist/cli/http/client.js.map +1 -0
- package/dist/cli/mod.d.ts +62 -0
- package/dist/cli/mod.d.ts.map +1 -0
- package/dist/cli/mod.js +644 -0
- package/dist/cli/mod.js.map +1 -0
- package/dist/cli/render/index.d.ts +23 -0
- package/dist/cli/render/index.d.ts.map +1 -0
- package/dist/cli/render/index.js +37 -0
- package/dist/cli/render/index.js.map +1 -0
- package/dist/node/index.d.ts +10 -0
- package/dist/node/index.js +9 -0
- package/dist/node/pi/clients.d.ts +240 -0
- package/dist/node/pi/clients.d.ts.map +1 -0
- package/dist/node/pi/clients.js +18 -0
- package/dist/node/pi/clients.js.map +1 -0
- package/dist/node/pi/constants.d.ts +9 -0
- package/dist/node/pi/constants.d.ts.map +1 -0
- package/dist/node/pi/constants.js +22 -0
- package/dist/node/pi/constants.js.map +1 -0
- package/dist/node/pi/definition.d.ts +13 -0
- package/dist/node/pi/definition.d.ts.map +1 -0
- package/dist/node/pi/definition.js +10 -0
- package/dist/node/pi/definition.js.map +1 -0
- package/dist/node/pi/dsl.d.ts +24 -0
- package/dist/node/pi/dsl.d.ts.map +1 -0
- package/dist/node/pi/dsl.js +57 -0
- package/dist/node/pi/dsl.js.map +1 -0
- package/dist/node/pi/factory.d.ts +220 -0
- package/dist/node/pi/factory.d.ts.map +1 -0
- package/dist/node/pi/factory.js +12 -0
- package/dist/node/pi/factory.js.map +1 -0
- package/dist/node/pi/mappers.js +47 -0
- package/dist/node/pi/mappers.js.map +1 -0
- package/dist/node/pi/route-schemas.js +112 -0
- package/dist/node/pi/route-schemas.js.map +1 -0
- package/dist/node/pi/types.d.ts +67 -0
- package/dist/node/pi/types.d.ts.map +1 -0
- package/dist/node/pi/workflow.d.ts +31 -0
- package/dist/node/pi/workflow.d.ts.map +1 -0
- package/dist/node/pi/workflow.js +242 -0
- package/dist/node/pi/workflow.js.map +1 -0
- package/dist/node/routes.d.ts +217 -0
- package/dist/node/routes.d.ts.map +1 -0
- package/dist/node/routes.js +328 -0
- package/dist/node/routes.js.map +1 -0
- package/dist/node/schema.js +12 -0
- package/dist/node/schema.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +125 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/pi/clients.ts","../../src/pi/constants.ts","../../src/pi/types.ts","../../src/pi/workflow.ts","../../src/pi/dsl.ts","../../src/pi/definition.ts","../../src/pi/factory.ts","../../src/routes.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as createPiWorkflows, c as SESSION_STATUSES, d as piFragmentDefinition, i as PI_WORKFLOW_NAME, l as STEERING_MODES, n as createPi, o as createPiFragmentClients, r as defineAgent, s as piRoutesFactory, t as createPiFragment, u as THINKING_LEVELS } from "./factory-DKoO_lRA.js";
|
|
2
|
+
|
|
3
|
+
export { PI_WORKFLOW_NAME, SESSION_STATUSES, STEERING_MODES, THINKING_LEVELS, createPi, createPiFragment, createPiFragmentClients, createPiWorkflows, defineAgent, piFragmentDefinition, piRoutesFactory };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
package/dist/cli/cli.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","names":[],"sources":["../../src/cli/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { run } from \"./mod\";\n\nconst exitCode = await run(process.argv);\nif (typeof exitCode === \"number\") {\n process.exitCode = exitCode;\n}\n"],"mappings":";;;;AAIA,MAAM,WAAW,MAAM,IAAI,QAAQ,KAAK;AACxC,IAAI,OAAO,aAAa,SACtB,SAAQ,WAAW"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/cli/config.d.ts
|
|
2
|
+
type ResolvedCliConfig = {
|
|
3
|
+
baseUrl?: string;
|
|
4
|
+
headers: Record<string, string>;
|
|
5
|
+
timeoutMs: number;
|
|
6
|
+
retries: number;
|
|
7
|
+
retryDelayMs: number;
|
|
8
|
+
json: boolean;
|
|
9
|
+
debug: boolean;
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { ResolvedCliConfig };
|
|
13
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","names":[],"sources":["../../src/cli/config.ts"],"mappings":";KAeY,iBAAA;EACV,OAAA;EACA,OAAA,EAAS,MAAA;EACT,SAAA;EACA,OAAA;EACA,YAAA;EACA,IAAA;EACA,KAAA;AAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
//#region src/cli/config.ts
|
|
2
|
+
const DEFAULT_TIMEOUT_MS = 15e3;
|
|
3
|
+
const DEFAULT_RETRIES = 2;
|
|
4
|
+
const DEFAULT_RETRY_DELAY_MS = 500;
|
|
5
|
+
const parseNumber = (value, label, minimum = 0) => {
|
|
6
|
+
if (value === void 0) return;
|
|
7
|
+
const numeric = typeof value === "number" ? value : Number(value);
|
|
8
|
+
if (!Number.isFinite(numeric)) throw new Error(`${label} must be a number`);
|
|
9
|
+
if (numeric < minimum) throw new Error(`${label} must be at least ${minimum}`);
|
|
10
|
+
return numeric;
|
|
11
|
+
};
|
|
12
|
+
const parseInteger = (value, label, minimum = 0) => {
|
|
13
|
+
const numeric = parseNumber(value, label, minimum);
|
|
14
|
+
if (numeric === void 0) return;
|
|
15
|
+
return Number.isInteger(numeric) ? numeric : Math.floor(numeric);
|
|
16
|
+
};
|
|
17
|
+
const parseHeaderLine = (value, source) => {
|
|
18
|
+
const trimmed = value.trim();
|
|
19
|
+
if (!trimmed) throw new Error(`${source} header value cannot be empty`);
|
|
20
|
+
const separatorIndex = trimmed.indexOf(":");
|
|
21
|
+
if (separatorIndex === -1) throw new Error(`${source} header must be in the form "Key: Value"`);
|
|
22
|
+
const key = trimmed.slice(0, separatorIndex).trim();
|
|
23
|
+
const headerValue = trimmed.slice(separatorIndex + 1).trim();
|
|
24
|
+
if (!key || !headerValue) throw new Error(`${source} header must include both key and value`);
|
|
25
|
+
return [key, headerValue];
|
|
26
|
+
};
|
|
27
|
+
const parseHeaderList = (values, source) => {
|
|
28
|
+
return values.reduce((acc, value) => {
|
|
29
|
+
const [key, headerValue] = parseHeaderLine(value, source);
|
|
30
|
+
acc[key] = headerValue;
|
|
31
|
+
return acc;
|
|
32
|
+
}, {});
|
|
33
|
+
};
|
|
34
|
+
const parseEnvHeaders = (value) => {
|
|
35
|
+
if (!value) return {};
|
|
36
|
+
return parseHeaderList(value.split(";").map((entry) => entry.trim()).filter(Boolean), "FRAGNO_PI_HEADERS");
|
|
37
|
+
};
|
|
38
|
+
const parseFlagHeaders = (values) => {
|
|
39
|
+
if (!values || values.length === 0) return {};
|
|
40
|
+
return parseHeaderList(values, "-H/--header");
|
|
41
|
+
};
|
|
42
|
+
const resolveConfig = (input = {}) => {
|
|
43
|
+
const env = input.env ?? process.env;
|
|
44
|
+
const baseUrl = input.baseUrl ?? env["FRAGNO_PI_BASE_URL"];
|
|
45
|
+
const timeoutMs = parseNumber(input.timeoutMs, "timeout", 1) ?? parseNumber(env["FRAGNO_PI_TIMEOUT_MS"], "FRAGNO_PI_TIMEOUT_MS", 1) ?? DEFAULT_TIMEOUT_MS;
|
|
46
|
+
const retries = parseInteger(input.retries, "retries", 0) ?? parseInteger(env["FRAGNO_PI_RETRIES"], "FRAGNO_PI_RETRIES", 0) ?? DEFAULT_RETRIES;
|
|
47
|
+
const retryDelayMs = parseNumber(input.retryDelayMs, "retry delay", 0) ?? parseNumber(env["FRAGNO_PI_RETRY_DELAY_MS"], "FRAGNO_PI_RETRY_DELAY_MS", 0) ?? DEFAULT_RETRY_DELAY_MS;
|
|
48
|
+
return {
|
|
49
|
+
baseUrl,
|
|
50
|
+
headers: {
|
|
51
|
+
...parseEnvHeaders(env["FRAGNO_PI_HEADERS"]),
|
|
52
|
+
...parseFlagHeaders(input.headers)
|
|
53
|
+
},
|
|
54
|
+
timeoutMs,
|
|
55
|
+
retries,
|
|
56
|
+
retryDelayMs,
|
|
57
|
+
json: Boolean(input.json),
|
|
58
|
+
debug: Boolean(input.debug)
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
//#endregion
|
|
63
|
+
export { resolveConfig };
|
|
64
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../src/cli/config.ts"],"sourcesContent":["export const DEFAULT_TIMEOUT_MS = 15000;\nexport const DEFAULT_RETRIES = 2;\nexport const DEFAULT_RETRY_DELAY_MS = 500;\n\nexport type CliConfigInput = {\n baseUrl?: string;\n headers?: string[];\n timeoutMs?: number | string;\n retries?: number | string;\n retryDelayMs?: number | string;\n json?: boolean;\n debug?: boolean;\n env?: NodeJS.ProcessEnv;\n};\n\nexport type ResolvedCliConfig = {\n baseUrl?: string;\n headers: Record<string, string>;\n timeoutMs: number;\n retries: number;\n retryDelayMs: number;\n json: boolean;\n debug: boolean;\n};\n\nconst parseNumber = (\n value: number | string | undefined,\n label: string,\n minimum = 0,\n): number | undefined => {\n if (value === undefined) {\n return undefined;\n }\n const numeric = typeof value === \"number\" ? value : Number(value);\n if (!Number.isFinite(numeric)) {\n throw new Error(`${label} must be a number`);\n }\n if (numeric < minimum) {\n throw new Error(`${label} must be at least ${minimum}`);\n }\n return numeric;\n};\n\nconst parseInteger = (\n value: number | string | undefined,\n label: string,\n minimum = 0,\n): number | undefined => {\n const numeric = parseNumber(value, label, minimum);\n if (numeric === undefined) {\n return undefined;\n }\n return Number.isInteger(numeric) ? numeric : Math.floor(numeric);\n};\n\nconst parseHeaderLine = (value: string, source: string): [string, string] => {\n const trimmed = value.trim();\n if (!trimmed) {\n throw new Error(`${source} header value cannot be empty`);\n }\n const separatorIndex = trimmed.indexOf(\":\");\n if (separatorIndex === -1) {\n throw new Error(`${source} header must be in the form \"Key: Value\"`);\n }\n const key = trimmed.slice(0, separatorIndex).trim();\n const headerValue = trimmed.slice(separatorIndex + 1).trim();\n if (!key || !headerValue) {\n throw new Error(`${source} header must include both key and value`);\n }\n return [key, headerValue];\n};\n\nconst parseHeaderList = (values: string[], source: string): Record<string, string> => {\n return values.reduce<Record<string, string>>((acc, value) => {\n const [key, headerValue] = parseHeaderLine(value, source);\n acc[key] = headerValue;\n return acc;\n }, {});\n};\n\nexport const parseEnvHeaders = (value?: string): Record<string, string> => {\n if (!value) {\n return {};\n }\n const entries = value\n .split(\";\")\n .map((entry) => entry.trim())\n .filter(Boolean);\n\n return parseHeaderList(entries, \"FRAGNO_PI_HEADERS\");\n};\n\nexport const parseFlagHeaders = (values?: string[]): Record<string, string> => {\n if (!values || values.length === 0) {\n return {};\n }\n return parseHeaderList(values, \"-H/--header\");\n};\n\nexport const resolveConfig = (input: CliConfigInput = {}): ResolvedCliConfig => {\n const env = input.env ?? process.env;\n\n const baseUrl = input.baseUrl ?? env[\"FRAGNO_PI_BASE_URL\"];\n const timeoutMs =\n parseNumber(input.timeoutMs, \"timeout\", 1) ??\n parseNumber(env[\"FRAGNO_PI_TIMEOUT_MS\"], \"FRAGNO_PI_TIMEOUT_MS\", 1) ??\n DEFAULT_TIMEOUT_MS;\n const retries =\n parseInteger(input.retries, \"retries\", 0) ??\n parseInteger(env[\"FRAGNO_PI_RETRIES\"], \"FRAGNO_PI_RETRIES\", 0) ??\n DEFAULT_RETRIES;\n const retryDelayMs =\n parseNumber(input.retryDelayMs, \"retry delay\", 0) ??\n parseNumber(env[\"FRAGNO_PI_RETRY_DELAY_MS\"], \"FRAGNO_PI_RETRY_DELAY_MS\", 0) ??\n DEFAULT_RETRY_DELAY_MS;\n\n const headers = {\n ...parseEnvHeaders(env[\"FRAGNO_PI_HEADERS\"]),\n ...parseFlagHeaders(input.headers),\n };\n\n return {\n baseUrl,\n headers,\n timeoutMs,\n retries,\n retryDelayMs,\n json: Boolean(input.json),\n debug: Boolean(input.debug),\n };\n};\n"],"mappings":";AAAA,MAAa,qBAAqB;AAClC,MAAa,kBAAkB;AAC/B,MAAa,yBAAyB;AAuBtC,MAAM,eACJ,OACA,OACA,UAAU,MACa;AACvB,KAAI,UAAU,OACZ;CAEF,MAAM,UAAU,OAAO,UAAU,WAAW,QAAQ,OAAO,MAAM;AACjE,KAAI,CAAC,OAAO,SAAS,QAAQ,CAC3B,OAAM,IAAI,MAAM,GAAG,MAAM,mBAAmB;AAE9C,KAAI,UAAU,QACZ,OAAM,IAAI,MAAM,GAAG,MAAM,oBAAoB,UAAU;AAEzD,QAAO;;AAGT,MAAM,gBACJ,OACA,OACA,UAAU,MACa;CACvB,MAAM,UAAU,YAAY,OAAO,OAAO,QAAQ;AAClD,KAAI,YAAY,OACd;AAEF,QAAO,OAAO,UAAU,QAAQ,GAAG,UAAU,KAAK,MAAM,QAAQ;;AAGlE,MAAM,mBAAmB,OAAe,WAAqC;CAC3E,MAAM,UAAU,MAAM,MAAM;AAC5B,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,GAAG,OAAO,+BAA+B;CAE3D,MAAM,iBAAiB,QAAQ,QAAQ,IAAI;AAC3C,KAAI,mBAAmB,GACrB,OAAM,IAAI,MAAM,GAAG,OAAO,0CAA0C;CAEtE,MAAM,MAAM,QAAQ,MAAM,GAAG,eAAe,CAAC,MAAM;CACnD,MAAM,cAAc,QAAQ,MAAM,iBAAiB,EAAE,CAAC,MAAM;AAC5D,KAAI,CAAC,OAAO,CAAC,YACX,OAAM,IAAI,MAAM,GAAG,OAAO,yCAAyC;AAErE,QAAO,CAAC,KAAK,YAAY;;AAG3B,MAAM,mBAAmB,QAAkB,WAA2C;AACpF,QAAO,OAAO,QAAgC,KAAK,UAAU;EAC3D,MAAM,CAAC,KAAK,eAAe,gBAAgB,OAAO,OAAO;AACzD,MAAI,OAAO;AACX,SAAO;IACN,EAAE,CAAC;;AAGR,MAAa,mBAAmB,UAA2C;AACzE,KAAI,CAAC,MACH,QAAO,EAAE;AAOX,QAAO,gBALS,MACb,MAAM,IAAI,CACV,KAAK,UAAU,MAAM,MAAM,CAAC,CAC5B,OAAO,QAAQ,EAEc,oBAAoB;;AAGtD,MAAa,oBAAoB,WAA8C;AAC7E,KAAI,CAAC,UAAU,OAAO,WAAW,EAC/B,QAAO,EAAE;AAEX,QAAO,gBAAgB,QAAQ,cAAc;;AAG/C,MAAa,iBAAiB,QAAwB,EAAE,KAAwB;CAC9E,MAAM,MAAM,MAAM,OAAO,QAAQ;CAEjC,MAAM,UAAU,MAAM,WAAW,IAAI;CACrC,MAAM,YACJ,YAAY,MAAM,WAAW,WAAW,EAAE,IAC1C,YAAY,IAAI,yBAAyB,wBAAwB,EAAE,IACnE;CACF,MAAM,UACJ,aAAa,MAAM,SAAS,WAAW,EAAE,IACzC,aAAa,IAAI,sBAAsB,qBAAqB,EAAE,IAC9D;CACF,MAAM,eACJ,YAAY,MAAM,cAAc,eAAe,EAAE,IACjD,YAAY,IAAI,6BAA6B,4BAA4B,EAAE,IAC3E;AAOF,QAAO;EACL;EACA,SAPc;GACd,GAAG,gBAAgB,IAAI,qBAAqB;GAC5C,GAAG,iBAAiB,MAAM,QAAQ;GACnC;EAKC;EACA;EACA;EACA,MAAM,QAAQ,MAAM,KAAK;EACzB,OAAO,QAAQ,MAAM,MAAM;EAC5B"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
//#region src/cli/http/client.ts
|
|
2
|
+
const joinUrl = (baseUrl, path) => {
|
|
3
|
+
return `${baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl}${path.startsWith("/") ? path : `/${path}`}`;
|
|
4
|
+
};
|
|
5
|
+
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
6
|
+
const isRetryableStatus = (status) => status === 429 || status >= 500;
|
|
7
|
+
const createAbortController = (timeoutMs, externalSignal) => {
|
|
8
|
+
const controller = new AbortController();
|
|
9
|
+
let abortedExternally = false;
|
|
10
|
+
const onExternalAbort = () => {
|
|
11
|
+
abortedExternally = true;
|
|
12
|
+
controller.abort();
|
|
13
|
+
};
|
|
14
|
+
if (externalSignal) if (externalSignal.aborted) {
|
|
15
|
+
abortedExternally = true;
|
|
16
|
+
controller.abort();
|
|
17
|
+
} else externalSignal.addEventListener("abort", onExternalAbort, { once: true });
|
|
18
|
+
const timeoutId = setTimeout(() => {
|
|
19
|
+
if (!controller.signal.aborted) controller.abort();
|
|
20
|
+
}, timeoutMs);
|
|
21
|
+
const clear = () => {
|
|
22
|
+
clearTimeout(timeoutId);
|
|
23
|
+
if (externalSignal) externalSignal.removeEventListener("abort", onExternalAbort);
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
controller,
|
|
27
|
+
clear,
|
|
28
|
+
wasAbortedExternally: () => abortedExternally
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
const buildBody = (body) => {
|
|
32
|
+
if (typeof body === "string") return {
|
|
33
|
+
body,
|
|
34
|
+
headers: {}
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
body: JSON.stringify(body),
|
|
38
|
+
headers: { "content-type": "application/json" }
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const createHttpClient = (options) => {
|
|
42
|
+
const fetchImpl = options.fetch ?? fetch;
|
|
43
|
+
const request = async (requestOptions) => {
|
|
44
|
+
const url = joinUrl(options.baseUrl, requestOptions.path);
|
|
45
|
+
const timeoutMs = requestOptions.timeoutMs ?? options.timeoutMs;
|
|
46
|
+
const maxAttempts = options.retries + 1;
|
|
47
|
+
let attempt = 0;
|
|
48
|
+
let lastError;
|
|
49
|
+
while (attempt < maxAttempts) {
|
|
50
|
+
attempt += 1;
|
|
51
|
+
const { controller, clear, wasAbortedExternally } = createAbortController(timeoutMs, requestOptions.signal);
|
|
52
|
+
try {
|
|
53
|
+
const requestHeaders = {
|
|
54
|
+
...options.headers,
|
|
55
|
+
...requestOptions.headers
|
|
56
|
+
};
|
|
57
|
+
let body;
|
|
58
|
+
if (requestOptions.body !== void 0) {
|
|
59
|
+
const bodyResult = buildBody(requestOptions.body);
|
|
60
|
+
body = bodyResult.body;
|
|
61
|
+
const headerKeys = new Set(Object.keys(requestHeaders).map((header) => header.toLowerCase()));
|
|
62
|
+
for (const [key, value] of Object.entries(bodyResult.headers)) if (!headerKeys.has(key.toLowerCase())) requestHeaders[key] = value;
|
|
63
|
+
}
|
|
64
|
+
const response = await fetchImpl(url, {
|
|
65
|
+
method: requestOptions.method,
|
|
66
|
+
headers: requestHeaders,
|
|
67
|
+
body,
|
|
68
|
+
signal: controller.signal
|
|
69
|
+
});
|
|
70
|
+
if (isRetryableStatus(response.status) && attempt < maxAttempts) {
|
|
71
|
+
await delay(options.retryDelayMs);
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
return response;
|
|
75
|
+
} catch (error) {
|
|
76
|
+
lastError = error;
|
|
77
|
+
const isAbortError = error instanceof Error && error.name === "AbortError";
|
|
78
|
+
if (!(!wasAbortedExternally() && (isAbortError || error instanceof Error)) || attempt >= maxAttempts) {
|
|
79
|
+
if (isAbortError && !wasAbortedExternally()) throw new Error(`Request timed out after ${timeoutMs}ms`);
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
await delay(options.retryDelayMs);
|
|
83
|
+
} finally {
|
|
84
|
+
clear();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (lastError instanceof Error) throw lastError;
|
|
88
|
+
throw new Error("Request failed");
|
|
89
|
+
};
|
|
90
|
+
return { request };
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
//#endregion
|
|
94
|
+
export { createHttpClient };
|
|
95
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","names":[],"sources":["../../../src/cli/http/client.ts"],"sourcesContent":["export type HttpClientOptions = {\n baseUrl: string;\n headers?: Record<string, string>;\n timeoutMs: number;\n retries: number;\n retryDelayMs: number;\n fetch?: typeof fetch;\n};\n\nexport type HttpRequestOptions = {\n method: string;\n path: string;\n headers?: Record<string, string>;\n body?: unknown;\n timeoutMs?: number;\n signal?: AbortSignal;\n};\n\nexport type HttpClient = {\n request: (options: HttpRequestOptions) => Promise<Response>;\n};\n\nconst joinUrl = (baseUrl: string, path: string): string => {\n const normalizedBase = baseUrl.endsWith(\"/\") ? baseUrl.slice(0, -1) : baseUrl;\n const normalizedPath = path.startsWith(\"/\") ? path : `/${path}`;\n return `${normalizedBase}${normalizedPath}`;\n};\n\nconst delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nconst isRetryableStatus = (status: number): boolean => status === 429 || status >= 500;\n\nconst createAbortController = (\n timeoutMs: number,\n externalSignal?: AbortSignal,\n): { controller: AbortController; clear: () => void; wasAbortedExternally: () => boolean } => {\n const controller = new AbortController();\n let abortedExternally = false;\n\n const onExternalAbort = () => {\n abortedExternally = true;\n controller.abort();\n };\n\n if (externalSignal) {\n if (externalSignal.aborted) {\n abortedExternally = true;\n controller.abort();\n } else {\n externalSignal.addEventListener(\"abort\", onExternalAbort, { once: true });\n }\n }\n\n const timeoutId = setTimeout(() => {\n if (!controller.signal.aborted) {\n controller.abort();\n }\n }, timeoutMs);\n\n const clear = () => {\n clearTimeout(timeoutId);\n if (externalSignal) {\n externalSignal.removeEventListener(\"abort\", onExternalAbort);\n }\n };\n\n return {\n controller,\n clear,\n wasAbortedExternally: () => abortedExternally,\n };\n};\n\nconst buildBody = (body: unknown): { body: BodyInit; headers: Record<string, string> } => {\n if (typeof body === \"string\") {\n return { body, headers: {} };\n }\n return {\n body: JSON.stringify(body),\n headers: { \"content-type\": \"application/json\" },\n };\n};\n\nexport const createHttpClient = (options: HttpClientOptions): HttpClient => {\n const fetchImpl = options.fetch ?? fetch;\n\n const request: HttpClient[\"request\"] = async (requestOptions) => {\n const url = joinUrl(options.baseUrl, requestOptions.path);\n const timeoutMs = requestOptions.timeoutMs ?? options.timeoutMs;\n const maxAttempts = options.retries + 1;\n\n let attempt = 0;\n let lastError: unknown;\n\n while (attempt < maxAttempts) {\n attempt += 1;\n const { controller, clear, wasAbortedExternally } = createAbortController(\n timeoutMs,\n requestOptions.signal,\n );\n\n try {\n const requestHeaders: Record<string, string> = {\n ...options.headers,\n ...requestOptions.headers,\n };\n\n let body: BodyInit | undefined;\n if (requestOptions.body !== undefined) {\n const bodyResult = buildBody(requestOptions.body);\n body = bodyResult.body;\n const headerKeys = new Set(\n Object.keys(requestHeaders).map((header) => header.toLowerCase()),\n );\n for (const [key, value] of Object.entries(bodyResult.headers)) {\n if (!headerKeys.has(key.toLowerCase())) {\n requestHeaders[key] = value;\n }\n }\n }\n\n const response = await fetchImpl(url, {\n method: requestOptions.method,\n headers: requestHeaders,\n body,\n signal: controller.signal,\n });\n\n if (isRetryableStatus(response.status) && attempt < maxAttempts) {\n await delay(options.retryDelayMs);\n continue;\n }\n\n return response;\n } catch (error) {\n lastError = error;\n const isAbortError = error instanceof Error && error.name === \"AbortError\";\n const retryable = !wasAbortedExternally() && (isAbortError || error instanceof Error);\n\n if (!retryable || attempt >= maxAttempts) {\n if (isAbortError && !wasAbortedExternally()) {\n throw new Error(`Request timed out after ${timeoutMs}ms`);\n }\n throw error;\n }\n\n await delay(options.retryDelayMs);\n } finally {\n clear();\n }\n }\n\n if (lastError instanceof Error) {\n throw lastError;\n }\n throw new Error(\"Request failed\");\n };\n\n return { request };\n};\n"],"mappings":";AAsBA,MAAM,WAAW,SAAiB,SAAyB;AAGzD,QAAO,GAFgB,QAAQ,SAAS,IAAI,GAAG,QAAQ,MAAM,GAAG,GAAG,GAAG,UAC/C,KAAK,WAAW,IAAI,GAAG,OAAO,IAAI;;AAI3D,MAAM,SAAS,OAAe,IAAI,SAAS,YAAY,WAAW,SAAS,GAAG,CAAC;AAE/E,MAAM,qBAAqB,WAA4B,WAAW,OAAO,UAAU;AAEnF,MAAM,yBACJ,WACA,mBAC4F;CAC5F,MAAM,aAAa,IAAI,iBAAiB;CACxC,IAAI,oBAAoB;CAExB,MAAM,wBAAwB;AAC5B,sBAAoB;AACpB,aAAW,OAAO;;AAGpB,KAAI,eACF,KAAI,eAAe,SAAS;AAC1B,sBAAoB;AACpB,aAAW,OAAO;OAElB,gBAAe,iBAAiB,SAAS,iBAAiB,EAAE,MAAM,MAAM,CAAC;CAI7E,MAAM,YAAY,iBAAiB;AACjC,MAAI,CAAC,WAAW,OAAO,QACrB,YAAW,OAAO;IAEnB,UAAU;CAEb,MAAM,cAAc;AAClB,eAAa,UAAU;AACvB,MAAI,eACF,gBAAe,oBAAoB,SAAS,gBAAgB;;AAIhE,QAAO;EACL;EACA;EACA,4BAA4B;EAC7B;;AAGH,MAAM,aAAa,SAAuE;AACxF,KAAI,OAAO,SAAS,SAClB,QAAO;EAAE;EAAM,SAAS,EAAE;EAAE;AAE9B,QAAO;EACL,MAAM,KAAK,UAAU,KAAK;EAC1B,SAAS,EAAE,gBAAgB,oBAAoB;EAChD;;AAGH,MAAa,oBAAoB,YAA2C;CAC1E,MAAM,YAAY,QAAQ,SAAS;CAEnC,MAAM,UAAiC,OAAO,mBAAmB;EAC/D,MAAM,MAAM,QAAQ,QAAQ,SAAS,eAAe,KAAK;EACzD,MAAM,YAAY,eAAe,aAAa,QAAQ;EACtD,MAAM,cAAc,QAAQ,UAAU;EAEtC,IAAI,UAAU;EACd,IAAI;AAEJ,SAAO,UAAU,aAAa;AAC5B,cAAW;GACX,MAAM,EAAE,YAAY,OAAO,yBAAyB,sBAClD,WACA,eAAe,OAChB;AAED,OAAI;IACF,MAAM,iBAAyC;KAC7C,GAAG,QAAQ;KACX,GAAG,eAAe;KACnB;IAED,IAAI;AACJ,QAAI,eAAe,SAAS,QAAW;KACrC,MAAM,aAAa,UAAU,eAAe,KAAK;AACjD,YAAO,WAAW;KAClB,MAAM,aAAa,IAAI,IACrB,OAAO,KAAK,eAAe,CAAC,KAAK,WAAW,OAAO,aAAa,CAAC,CAClE;AACD,UAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,WAAW,QAAQ,CAC3D,KAAI,CAAC,WAAW,IAAI,IAAI,aAAa,CAAC,CACpC,gBAAe,OAAO;;IAK5B,MAAM,WAAW,MAAM,UAAU,KAAK;KACpC,QAAQ,eAAe;KACvB,SAAS;KACT;KACA,QAAQ,WAAW;KACpB,CAAC;AAEF,QAAI,kBAAkB,SAAS,OAAO,IAAI,UAAU,aAAa;AAC/D,WAAM,MAAM,QAAQ,aAAa;AACjC;;AAGF,WAAO;YACA,OAAO;AACd,gBAAY;IACZ,MAAM,eAAe,iBAAiB,SAAS,MAAM,SAAS;AAG9D,QAAI,EAFc,CAAC,sBAAsB,KAAK,gBAAgB,iBAAiB,WAE7D,WAAW,aAAa;AACxC,SAAI,gBAAgB,CAAC,sBAAsB,CACzC,OAAM,IAAI,MAAM,2BAA2B,UAAU,IAAI;AAE3D,WAAM;;AAGR,UAAM,MAAM,QAAQ,aAAa;aACzB;AACR,WAAO;;;AAIX,MAAI,qBAAqB,MACvB,OAAM;AAER,QAAM,IAAI,MAAM,iBAAiB;;AAGnC,QAAO,EAAE,SAAS"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ResolvedCliConfig } from "./config.js";
|
|
2
|
+
import { RenderOutput } from "./render/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/cli/mod.d.ts
|
|
5
|
+
type CliActionResult = {
|
|
6
|
+
stdout?: string;
|
|
7
|
+
stderr?: string;
|
|
8
|
+
exitCode?: number;
|
|
9
|
+
output?: RenderOutput;
|
|
10
|
+
};
|
|
11
|
+
type SessionsListArgs = {
|
|
12
|
+
limit?: number;
|
|
13
|
+
};
|
|
14
|
+
type SessionsCreateArgs = {
|
|
15
|
+
agent: string;
|
|
16
|
+
name?: string;
|
|
17
|
+
tags?: string[];
|
|
18
|
+
metadata?: unknown;
|
|
19
|
+
steeringMode?: "all" | "one-at-a-time";
|
|
20
|
+
};
|
|
21
|
+
type SessionsGetArgs = {
|
|
22
|
+
sessionId: string;
|
|
23
|
+
statusOnly?: boolean;
|
|
24
|
+
};
|
|
25
|
+
type SessionsSendMessageArgs = {
|
|
26
|
+
sessionId: string;
|
|
27
|
+
text?: string;
|
|
28
|
+
file?: string;
|
|
29
|
+
done?: boolean;
|
|
30
|
+
steeringMode?: "all" | "one-at-a-time";
|
|
31
|
+
};
|
|
32
|
+
type CliContext = {
|
|
33
|
+
config: ResolvedCliConfig;
|
|
34
|
+
logger: Pick<Console, "log" | "error">;
|
|
35
|
+
};
|
|
36
|
+
type CliActions = {
|
|
37
|
+
sessionsList: (args: SessionsListArgs, ctx: CliContext) => Promise<CliActionResult | void> | CliActionResult | void;
|
|
38
|
+
sessionsCreate: (args: SessionsCreateArgs, ctx: CliContext) => Promise<CliActionResult | void> | CliActionResult | void;
|
|
39
|
+
sessionsGet: (args: SessionsGetArgs, ctx: CliContext) => Promise<CliActionResult | void> | CliActionResult | void;
|
|
40
|
+
sessionsSendMessage: (args: SessionsSendMessageArgs, ctx: CliContext) => Promise<CliActionResult | void> | CliActionResult | void;
|
|
41
|
+
};
|
|
42
|
+
type RunOptions = {
|
|
43
|
+
logger?: Pick<Console, "log" | "error">;
|
|
44
|
+
actions?: CliActions;
|
|
45
|
+
};
|
|
46
|
+
type ParsedArgs = {
|
|
47
|
+
command?: string;
|
|
48
|
+
action?: string;
|
|
49
|
+
options: Record<string, string | boolean | string[]>;
|
|
50
|
+
positionals: string[];
|
|
51
|
+
help: boolean;
|
|
52
|
+
errors: string[];
|
|
53
|
+
};
|
|
54
|
+
declare function run(argv: string[], loggerOrOptions?: Pick<Console, "log" | "error"> | RunOptions): Promise<number>;
|
|
55
|
+
declare const __testing: {
|
|
56
|
+
USAGE: string;
|
|
57
|
+
parseArgs: (argv: string[]) => ParsedArgs;
|
|
58
|
+
renderOutput: (output: RenderOutput, json: boolean) => string;
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
export { CliActionResult, CliActions, CliContext, RunOptions, SessionsCreateArgs, SessionsGetArgs, SessionsListArgs, SessionsSendMessageArgs, __testing, run };
|
|
62
|
+
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","names":[],"sources":["../../src/cli/mod.ts"],"mappings":";;;;KAMY,eAAA;EACV,MAAA;EACA,MAAA;EACA,QAAA;EACA,MAAA,GAAS,YAAA;AAAA;AAAA,KAGC,gBAAA;EACV,KAAA;AAAA;AAAA,KAGU,kBAAA;EACV,KAAA;EACA,IAAA;EACA,IAAA;EACA,QAAA;EACA,YAAA;AAAA;AAAA,KAGU,eAAA;EACV,SAAA;EACA,UAAA;AAAA;AAAA,KAGU,uBAAA;EACV,SAAA;EACA,IAAA;EACA,IAAA;EACA,IAAA;EACA,YAAA;AAAA;AAAA,KAGU,UAAA;EACV,MAAA,EAAQ,iBAAA;EACR,MAAA,EAAQ,IAAA,CAAK,OAAA;AAAA;AAAA,KAGH,UAAA;EACV,YAAA,GACE,IAAA,EAAM,gBAAA,EACN,GAAA,EAAK,UAAA,KACF,OAAA,CAAQ,eAAA,WAA0B,eAAA;EACvC,cAAA,GACE,IAAA,EAAM,kBAAA,EACN,GAAA,EAAK,UAAA,KACF,OAAA,CAAQ,eAAA,WAA0B,eAAA;EACvC,WAAA,GACE,IAAA,EAAM,eAAA,EACN,GAAA,EAAK,UAAA,KACF,OAAA,CAAQ,eAAA,WAA0B,eAAA;EACvC,mBAAA,GACE,IAAA,EAAM,uBAAA,EACN,GAAA,EAAK,UAAA,KACF,OAAA,CAAQ,eAAA,WAA0B,eAAA;AAAA;AAAA,KAG7B,UAAA;EACV,MAAA,GAAS,IAAA,CAAK,OAAA;EACd,OAAA,GAAU,UAAA;AAAA;AAAA,KAmUP,UAAA;EACH,OAAA;EACA,MAAA;EACA,OAAA,EAAS,MAAA;EACT,WAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,iBA+RoB,GAAA,CACpB,IAAA,YACA,eAAA,GAAiB,IAAA,CAAK,OAAA,qBAA4B,UAAA,GACjD,OAAA;AAAA,cA0IU,SAAA;;iCA3UuB,UAAA;yBAAA,YAAA"}
|