Release v0.16.0

This commit is contained in:
Mario Zechner 2025-12-09 15:43:29 +01:00
parent e275937982
commit 796112f40f
11 changed files with 463 additions and 29 deletions

446
package-lock.json generated
View file

@ -6519,7 +6519,7 @@
},
"packages/agent": {
"name": "@mariozechner/pi-agent-core",
"version": "0.15.0",
"version": "0.16.0",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.15.0",
@ -6534,6 +6534,42 @@
"node": ">=20.0.0"
}
},
"packages/agent/node_modules/@mariozechner/pi-ai": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.15.0.tgz",
"integrity": "sha512-vCwDfL4DtIZ73+gnWngFDpi6e7yTzHnX21sWTkpWHOT86BRLVu9gWhUo9lEvQbwA8R15qO5rjRR5J6MRu34Tjw==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "0.71.2",
"@google/genai": "1.31.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "6.10.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/agent/node_modules/@mariozechner/pi-tui": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.15.0.tgz",
"integrity": "sha512-4kSCO1fbMmpsyro4F+v4hqkkkPBlM1t5LF8UE51AgcA9i/OwVX3Nq5tPgMJ5vvPgexhd8N9hgzFwlQfTzYOetg==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/agent/node_modules/@types/node": {
"version": "24.10.1",
"dev": true,
@ -6542,6 +6578,47 @@
"undici-types": "~7.16.0"
}
},
"packages/agent/node_modules/mime-db": {
"version": "1.54.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
"integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"packages/agent/node_modules/mime-types": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
"integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
"license": "MIT",
"dependencies": {
"mime-db": "^1.54.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"packages/agent/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"packages/agent/node_modules/undici-types": {
"version": "7.16.0",
"dev": true,
@ -6549,7 +6626,7 @@
},
"packages/ai": {
"name": "@mariozechner/pi-ai",
"version": "0.15.0",
"version": "0.16.0",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "0.71.2",
@ -6586,7 +6663,7 @@
},
"packages/coding-agent": {
"name": "@mariozechner/pi-coding-agent",
"version": "0.15.0",
"version": "0.16.0",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent-core": "^0.15.0",
@ -6609,6 +6686,55 @@
"node": ">=20.0.0"
}
},
"packages/coding-agent/node_modules/@mariozechner/pi-agent-core": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-agent-core/-/pi-agent-core-0.15.0.tgz",
"integrity": "sha512-p1SosZkdYR2fGG/2/2RzUyl4kVkrjrJQ2VGgc0lQklBf/zlKBtkiMDKHGdEVDq3y3J8JnDUleqTZZEAlzMcdXQ==",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.15.0",
"@mariozechner/pi-tui": "^0.15.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/coding-agent/node_modules/@mariozechner/pi-ai": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.15.0.tgz",
"integrity": "sha512-vCwDfL4DtIZ73+gnWngFDpi6e7yTzHnX21sWTkpWHOT86BRLVu9gWhUo9lEvQbwA8R15qO5rjRR5J6MRu34Tjw==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "0.71.2",
"@google/genai": "1.31.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "6.10.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/coding-agent/node_modules/@mariozechner/pi-tui": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.15.0.tgz",
"integrity": "sha512-4kSCO1fbMmpsyro4F+v4hqkkkPBlM1t5LF8UE51AgcA9i/OwVX3Nq5tPgMJ5vvPgexhd8N9hgzFwlQfTzYOetg==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/coding-agent/node_modules/@types/node": {
"version": "24.10.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.2.tgz",
@ -6619,6 +6745,47 @@
"undici-types": "~7.16.0"
}
},
"packages/coding-agent/node_modules/mime-db": {
"version": "1.54.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
"integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"packages/coding-agent/node_modules/mime-types": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
"integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
"license": "MIT",
"dependencies": {
"mime-db": "^1.54.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"packages/coding-agent/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"packages/coding-agent/node_modules/undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
@ -6628,7 +6795,7 @@
},
"packages/mom": {
"name": "@mariozechner/pi-mom",
"version": "0.15.0",
"version": "0.16.0",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sandbox-runtime": "^0.0.16",
@ -6652,6 +6819,55 @@
"node": ">=20.0.0"
}
},
"packages/mom/node_modules/@mariozechner/pi-agent-core": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-agent-core/-/pi-agent-core-0.15.0.tgz",
"integrity": "sha512-p1SosZkdYR2fGG/2/2RzUyl4kVkrjrJQ2VGgc0lQklBf/zlKBtkiMDKHGdEVDq3y3J8JnDUleqTZZEAlzMcdXQ==",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.15.0",
"@mariozechner/pi-tui": "^0.15.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/mom/node_modules/@mariozechner/pi-ai": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.15.0.tgz",
"integrity": "sha512-vCwDfL4DtIZ73+gnWngFDpi6e7yTzHnX21sWTkpWHOT86BRLVu9gWhUo9lEvQbwA8R15qO5rjRR5J6MRu34Tjw==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "0.71.2",
"@google/genai": "1.31.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "6.10.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/mom/node_modules/@mariozechner/pi-tui": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.15.0.tgz",
"integrity": "sha512-4kSCO1fbMmpsyro4F+v4hqkkkPBlM1t5LF8UE51AgcA9i/OwVX3Nq5tPgMJ5vvPgexhd8N9hgzFwlQfTzYOetg==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/mom/node_modules/@types/node": {
"version": "24.10.1",
"dev": true,
@ -6660,6 +6876,47 @@
"undici-types": "~7.16.0"
}
},
"packages/mom/node_modules/mime-db": {
"version": "1.54.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
"integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"packages/mom/node_modules/mime-types": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
"integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
"license": "MIT",
"dependencies": {
"mime-db": "^1.54.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"packages/mom/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"packages/mom/node_modules/undici-types": {
"version": "7.16.0",
"dev": true,
@ -6667,7 +6924,7 @@
},
"packages/pods": {
"name": "@mariozechner/pi",
"version": "0.15.0",
"version": "0.16.0",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent-core": "^0.15.0",
@ -6681,9 +6938,99 @@
"node": ">=20.0.0"
}
},
"packages/pods/node_modules/@mariozechner/pi-agent-core": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-agent-core/-/pi-agent-core-0.15.0.tgz",
"integrity": "sha512-p1SosZkdYR2fGG/2/2RzUyl4kVkrjrJQ2VGgc0lQklBf/zlKBtkiMDKHGdEVDq3y3J8JnDUleqTZZEAlzMcdXQ==",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.15.0",
"@mariozechner/pi-tui": "^0.15.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/pods/node_modules/@mariozechner/pi-ai": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.15.0.tgz",
"integrity": "sha512-vCwDfL4DtIZ73+gnWngFDpi6e7yTzHnX21sWTkpWHOT86BRLVu9gWhUo9lEvQbwA8R15qO5rjRR5J6MRu34Tjw==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "0.71.2",
"@google/genai": "1.31.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "6.10.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/pods/node_modules/@mariozechner/pi-tui": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.15.0.tgz",
"integrity": "sha512-4kSCO1fbMmpsyro4F+v4hqkkkPBlM1t5LF8UE51AgcA9i/OwVX3Nq5tPgMJ5vvPgexhd8N9hgzFwlQfTzYOetg==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/pods/node_modules/mime-db": {
"version": "1.54.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
"integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"packages/pods/node_modules/mime-types": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
"integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
"license": "MIT",
"dependencies": {
"mime-db": "^1.54.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"packages/pods/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"packages/proxy": {
"name": "@mariozechner/pi-proxy",
"version": "0.15.0",
"version": "0.16.0",
"dependencies": {
"@hono/node-server": "^1.14.0",
"hono": "^4.6.16"
@ -6699,7 +7046,7 @@
},
"packages/tui": {
"name": "@mariozechner/pi-tui",
"version": "0.15.0",
"version": "0.16.0",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
@ -6755,7 +7102,7 @@
},
"packages/web-ui": {
"name": "@mariozechner/pi-web-ui",
"version": "0.15.0",
"version": "0.16.0",
"license": "MIT",
"dependencies": {
"@lmstudio/sdk": "^1.5.0",
@ -6781,7 +7128,7 @@
},
"packages/web-ui/example": {
"name": "pi-web-ui-example",
"version": "1.3.0",
"version": "1.4.0",
"dependencies": {
"@mariozechner/mini-lit": "^0.2.0",
"@mariozechner/pi-ai": "file:../../ai",
@ -6794,6 +7141,87 @@
"typescript": "^5.7.3",
"vite": "^7.1.6"
}
},
"packages/web-ui/example/node_modules/@mariozechner/pi-ai": {
"resolved": "packages/ai",
"link": true
},
"packages/web-ui/node_modules/@mariozechner/pi-ai": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.15.0.tgz",
"integrity": "sha512-vCwDfL4DtIZ73+gnWngFDpi6e7yTzHnX21sWTkpWHOT86BRLVu9gWhUo9lEvQbwA8R15qO5rjRR5J6MRu34Tjw==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "0.71.2",
"@google/genai": "1.31.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "6.10.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/web-ui/node_modules/@mariozechner/pi-tui": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.15.0.tgz",
"integrity": "sha512-4kSCO1fbMmpsyro4F+v4hqkkkPBlM1t5LF8UE51AgcA9i/OwVX3Nq5tPgMJ5vvPgexhd8N9hgzFwlQfTzYOetg==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/web-ui/node_modules/mime-db": {
"version": "1.54.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
"integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"packages/web-ui/node_modules/mime-types": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
"integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
"license": "MIT",
"dependencies": {
"mime-db": "^1.54.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"packages/web-ui/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
}
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-agent-core",
"version": "0.15.0",
"version": "0.16.0",
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
"type": "module",
"main": "./dist/index.js",
@ -18,8 +18,8 @@
"prepublishOnly": "npm run clean && npm run build"
},
"dependencies": {
"@mariozechner/pi-ai": "^0.15.0",
"@mariozechner/pi-tui": "^0.15.0"
"@mariozechner/pi-ai": "^0.16.0",
"@mariozechner/pi-tui": "^0.16.0"
},
"keywords": [
"ai",

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-ai",
"version": "0.15.0",
"version": "0.16.0",
"description": "Unified LLM API with automatic model discovery and provider configuration",
"type": "module",
"main": "./dist/index.js",

View file

@ -2,9 +2,15 @@
## [Unreleased]
## [0.16.0] - 2025-12-09
### Breaking Changes
- **New RPC protocol**: The RPC mode (`--mode rpc`) has been completely redesigned with a new JSON protocol. The old protocol is no longer supported. See [`docs/RPC.md`](docs/RPC.md) for the new protocol documentation and [`test/rpc-example.ts`](test/rpc-example.ts) for a working example. Includes `RpcClient` TypeScript class for easy integration. ([#91](https://github.com/badlogic/pi-mono/issues/91))
- **New RPC protocol**: The RPC mode (`--mode rpc`) has been completely redesigned with a new JSON protocol. The old protocol is no longer supported. See [`docs/rpc.md`](docs/rpc.md) for the new protocol documentation and [`test/rpc-example.ts`](test/rpc-example.ts) for a working example. Includes `RpcClient` TypeScript class for easy integration. ([#91](https://github.com/badlogic/pi-mono/issues/91))
### Changed
- **README restructured**: Reorganized documentation from 30+ flat sections into 10 logical groups. Converted verbose subsections to scannable tables. Consolidated philosophy sections. Reduced size by ~60% while preserving all information.
## [0.15.0] - 2025-12-09

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-coding-agent",
"version": "0.15.0",
"version": "0.16.0",
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
"type": "module",
"piConfig": {
@ -28,9 +28,9 @@
"prepublishOnly": "npm run clean && npm run build"
},
"dependencies": {
"@mariozechner/pi-agent-core": "^0.15.0",
"@mariozechner/pi-ai": "^0.15.0",
"@mariozechner/pi-tui": "^0.15.0",
"@mariozechner/pi-agent-core": "^0.16.0",
"@mariozechner/pi-ai": "^0.16.0",
"@mariozechner/pi-tui": "^0.16.0",
"chalk": "^5.5.0",
"diff": "^8.0.2",
"glob": "^11.0.3"

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-mom",
"version": "0.15.0",
"version": "0.16.0",
"description": "Slack bot that delegates messages to the pi coding agent",
"type": "module",
"bin": {
@ -21,8 +21,8 @@
},
"dependencies": {
"@anthropic-ai/sandbox-runtime": "^0.0.16",
"@mariozechner/pi-agent-core": "^0.15.0",
"@mariozechner/pi-ai": "^0.15.0",
"@mariozechner/pi-agent-core": "^0.16.0",
"@mariozechner/pi-ai": "^0.16.0",
"@sinclair/typebox": "^0.34.0",
"@slack/socket-mode": "^2.0.0",
"@slack/web-api": "^7.0.0",

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi",
"version": "0.15.0",
"version": "0.16.0",
"description": "CLI tool for managing vLLM deployments on GPU pods",
"type": "module",
"bin": {
@ -34,7 +34,7 @@
"node": ">=20.0.0"
},
"dependencies": {
"@mariozechner/pi-agent-core": "^0.15.0",
"@mariozechner/pi-agent-core": "^0.16.0",
"chalk": "^5.5.0"
},
"devDependencies": {}

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-proxy",
"version": "0.15.0",
"version": "0.16.0",
"type": "module",
"description": "CORS and authentication proxy for pi-ai",
"main": "dist/index.js",

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-tui",
"version": "0.15.0",
"version": "0.16.0",
"description": "Terminal User Interface library with differential rendering for efficient text-based applications",
"type": "module",
"main": "dist/index.js",

View file

@ -1,6 +1,6 @@
{
"name": "pi-web-ui-example",
"version": "1.3.0",
"version": "1.4.0",
"private": true,
"type": "module",
"scripts": {

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-web-ui",
"version": "0.15.0",
"version": "0.16.0",
"description": "Reusable web UI components for AI chat interfaces powered by @mariozechner/pi-ai",
"type": "module",
"main": "dist/index.js",
@ -18,8 +18,8 @@
},
"dependencies": {
"@lmstudio/sdk": "^1.5.0",
"@mariozechner/pi-ai": "^0.15.0",
"@mariozechner/pi-tui": "^0.15.0",
"@mariozechner/pi-ai": "^0.16.0",
"@mariozechner/pi-tui": "^0.16.0",
"docx-preview": "^0.3.7",
"jszip": "^3.10.1",
"lucide": "^0.544.0",