@pithosai/pithosai 1.0.0

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/package.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "@pithosai/pithosai",
3
+ "version": "1.0.0",
4
+ "description": "Pithos AI CLI — multi-role coding and product agents (bundled distribution).",
5
+ "main": "./dist/pithosai.cjs",
6
+ "bin": {
7
+ "pithosai": "./dist/pithosai.cjs",
8
+ "pmsai": "./dist/pmsai.cjs",
9
+ "qasai": "./dist/qasai.cjs",
10
+ "rdsai": "./dist/rdsai.cjs",
11
+ "cosai": "./dist/cosai.cjs",
12
+ "mktai": "./dist/mktai.cjs",
13
+ "email-monitor": "./dist/heartbeat.cjs",
14
+ "wrsai": "./dist/wrsai.cjs",
15
+ "render-markdown": "./dist/render-markdown.cjs"
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "patches"
20
+ ],
21
+ "engines": {
22
+ "node": ">=18.12.0"
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "scripts": {
28
+ "build": "rm -rf dist && rspack build --config rspack.config.cjs && node scripts/prefix-bin-shebang.cjs",
29
+ "prepublishOnly": "npm run build",
30
+ "start": "node examples/index.js",
31
+ "reasoner": "node examples/reasoner-example.js",
32
+ "start:agent": "node examples/index-agent.js",
33
+ "reasoner:agent": "node examples/reasoner-agent.js",
34
+ "pithosai": "node pithos-ai.js",
35
+ "test": "vitest run",
36
+ "test:watch": "vitest",
37
+ "render-markdown": "node scripts/render-markdown.js",
38
+ "postinstall": "patch-package",
39
+ "playwright:install": "playwright install chromium"
40
+ },
41
+ "keywords": [],
42
+ "author": "",
43
+ "license": "ISC",
44
+ "type": "module",
45
+ "dependencies": {
46
+ "@clack/prompts": "^1.0.1",
47
+ "@mariozechner/pi-agent-core": "^0.52.5",
48
+ "@mariozechner/pi-coding-agent": "^0.52.7",
49
+ "@mariozechner/pi-tui": "^0.52.12",
50
+ "better-sqlite3": "^12.6.2",
51
+ "chalk": "^5.6.2",
52
+ "chokidar": "^5.0.0",
53
+ "commander": "^14.0.3",
54
+ "date-fns": "^4.1.0",
55
+ "handlebars": "^4.7.8",
56
+ "i18next": "^25.8.4",
57
+ "imap": "^0.8.19",
58
+ "log4js": "^6.9.1",
59
+ "mailparser": "^3.7.1",
60
+ "marked": "^17.0.2",
61
+ "nodemailer": "^6.9.16",
62
+ "pdf-parse": "^1.1.1",
63
+ "playwright": "^1.58.2",
64
+ "proper-lockfile": "^4.1.2",
65
+ "readdirp": "^5.0.0",
66
+ "uuid": "^13.0.0",
67
+ "patch-package": "^8.0.0"
68
+ },
69
+ "devDependencies": {
70
+ "@rspack/cli": "^1.7.6",
71
+ "@rspack/core": "^1.7.6",
72
+ "vitest": "^4.0.18",
73
+ "webpack-node-externals": "^3.0.0"
74
+ }
75
+ }
@@ -0,0 +1,28 @@
1
+ diff --git a/node_modules/@mariozechner/pi-ai/dist/providers/openai-completions.js b/node_modules/@mariozechner/pi-ai/dist/providers/openai-completions.js
2
+ index 3b57cd2..3227351 100644
3
+ --- a/node_modules/@mariozechner/pi-ai/dist/providers/openai-completions.js
4
+ +++ b/node_modules/@mariozechner/pi-ai/dist/providers/openai-completions.js
5
+ @@ -91,7 +91,7 @@ export const streamOpenAICompletions = (model, context, options) => {
6
+ });
7
+ }
8
+ else if (block.type === "toolCall") {
9
+ - block.arguments = JSON.parse(block.partialArgs || "{}");
10
+ + block.arguments = parseStreamingJson(block.partialArgs || "{}");
11
+ delete block.partialArgs;
12
+ stream.push({
13
+ type: "toolcall_end",
14
+ diff --git a/node_modules/@mariozechner/pi-ai/dist/providers/openai-responses-shared.js b/node_modules/@mariozechner/pi-ai/dist/providers/openai-responses-shared.js
15
+ index e2c148c..00c5801 100644
16
+ --- a/node_modules/@mariozechner/pi-ai/dist/providers/openai-responses-shared.js
17
+ +++ b/node_modules/@mariozechner/pi-ai/dist/providers/openai-responses-shared.js
18
+ @@ -358,8 +358,8 @@ export async function processResponsesStream(openaiStream, output, stream, model
19
+ }
20
+ else if (item.type === "function_call") {
21
+ const args = currentBlock?.type === "toolCall" && currentBlock.partialJson
22
+ - ? JSON.parse(currentBlock.partialJson)
23
+ - : JSON.parse(item.arguments);
24
+ + ? parseStreamingJson(currentBlock.partialJson)
25
+ + : parseStreamingJson(item.arguments || "{}");
26
+ const toolCall = {
27
+ type: "toolCall",
28
+ id: `${item.call_id}|${item.id}`,