@pithosai/pithosai 1.0.2 → 1.0.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.
- package/LICENSE +14 -0
- package/README.md +14 -27
- package/dist/156.mjs +2 -0
- package/dist/220.mjs +2 -0
- package/dist/236.mjs +2 -0
- package/dist/475.mjs +2 -0
- package/dist/511.mjs +2 -0
- package/dist/613.mjs +2 -0
- package/dist/691.mjs +2 -0
- package/dist/935.mjs +3 -0
- package/dist/cosai.mjs +725 -0
- package/dist/heartbeat.mjs +725 -0
- package/dist/init-pithosai-db.mjs +2 -0
- package/dist/mktai.mjs +725 -0
- package/dist/pithosai.mjs +725 -0
- package/dist/pmsai.mjs +725 -0
- package/dist/qasai.mjs +725 -0
- package/dist/rdsai.mjs +725 -0
- package/dist/render-markdown.mjs +20 -0
- package/dist/wrsai.mjs +725 -0
- package/package.json +18 -19
- package/scripts/{npm-global-install.cjs → npm-global-install.js} +1 -5
- package/scripts/{postinstall-init-db.cjs → postinstall-init-db.js} +8 -7
- package/dist/935.cjs +0 -3
- package/dist/cosai.cjs +0 -725
- package/dist/heartbeat.cjs +0 -725
- package/dist/init-pithosai-db.cjs +0 -2
- package/dist/mktai.cjs +0 -725
- package/dist/pithosai.cjs +0 -725
- package/dist/pmsai.cjs +0 -725
- package/dist/qasai.cjs +0 -725
- package/dist/rdsai.cjs +0 -725
- package/dist/render-markdown.cjs +0 -20
- package/dist/wrsai.cjs +0 -725
- package/patches/@mariozechner+pi-ai+0.52.7.patch +0 -28
package/LICENSE
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Copyright © 2026 lidh04@gmail.com. All rights reserved.
|
|
2
|
+
|
|
3
|
+
This software is proprietary and confidential. It is not distributed under
|
|
4
|
+
an open-source license. No permission is granted to use, copy, modify, merge,
|
|
5
|
+
publish, distribute, sublicense, and/or sell copies of the Software, except
|
|
6
|
+
as expressly authorized in writing by the copyright holder.
|
|
7
|
+
|
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
9
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
10
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
11
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
12
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
13
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
14
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Pithosai (`@pithosai/pithosai`)
|
|
2
2
|
|
|
3
|
-
**Multi-role AI CLI** for coding and product work: natural-language requests, pluggable models (Cursor, DeepSeek, OpenRouter), and role-based prompts stored in SQLite.
|
|
3
|
+
**Multi-role AI CLI** for coding and product work: natural-language requests, pluggable models (Cursor, DeepSeek, OpenRouter), and role-based prompts stored in SQLite. See [CHANGELOG.md](CHANGELOG.md) for release history.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -77,7 +77,7 @@ pithosai --mode dialog "Explain this error"
|
|
|
77
77
|
pithosai --mode plan "Outline the next sprint"
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
Result previews (terminal or optional Chrome via Playwright) can be tuned with `PITHOSAI_SKIP_RESULT_BROWSER`, `PITHOSAI_RESULT_BROWSER`, and `PITHOSAI_PLAYWRIGHT_CHANNEL`.
|
|
80
|
+
Result previews (terminal or optional Chrome via Playwright) can be tuned with `PITHOSAI_SKIP_RESULT_BROWSER`, `PITHOSAI_RESULT_BROWSER`, and `PITHOSAI_PLAYWRIGHT_CHANNEL`. For a full write-up, see **`docs/Configuration.md`** in the project source tree (not shipped on npm).
|
|
81
81
|
|
|
82
82
|
---
|
|
83
83
|
|
|
@@ -116,41 +116,28 @@ In a normal terminal, the default UI uses a **full-screen TUI** (bottom input, s
|
|
|
116
116
|
| `PITHOSAI_TIMEOUT_MS` / `--timeout` | Run time limits |
|
|
117
117
|
| `SCRAPERAPI_API_KEY` | Used by skills / some tools |
|
|
118
118
|
|
|
119
|
-
A longer list (history limits, security hooks, debug)
|
|
119
|
+
A longer list (history limits, security hooks, debug) is documented in **`docs/Configuration.md`** in the project source tree.
|
|
120
120
|
|
|
121
121
|
---
|
|
122
122
|
|
|
123
123
|
## Documentation and source
|
|
124
124
|
|
|
125
|
-
The **npm package** contains the built CLI and runtime assets
|
|
125
|
+
The **npm package** contains the built CLI and runtime assets (not the full `docs/` tree). [CHANGELOG.md](CHANGELOG.md) ships with the package.
|
|
126
126
|
|
|
127
|
-
|
|
128
|
-
|-----|------|
|
|
129
|
-
| Changelog | [CHANGELOG.md](CHANGELOG.md) (included in package) |
|
|
130
|
-
| Architecture | [docs/ARCHITECTURE.md](https://gitee.com/sihuic/pithosai/blob/master/docs/ARCHITECTURE.md) |
|
|
131
|
-
| Configuration | [docs/Configuration.md](https://gitee.com/sihuic/pithosai/blob/master/docs/Configuration.md) |
|
|
132
|
-
| Troubleshooting | [docs/TROUBLESHOOTING.md](https://gitee.com/sihuic/pithosai/blob/master/docs/TROUBLESHOOTING.md) |
|
|
133
|
-
| Skills CLI | [docs/SKILLS-CLI.md](https://gitee.com/sihuic/pithosai/blob/master/docs/SKILLS-CLI.md) |
|
|
134
|
-
| Shell CLI | [docs/SHELL-CLI.md](https://gitee.com/sihuic/pithosai/blob/master/docs/SHELL-CLI.md) |
|
|
127
|
+
Extended Markdown guides live under **`docs/`** in a **full checkout** of the project (clone or archive), for example:
|
|
135
128
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
To build an image from source, clone the repo and run `docker build -t pithosai .`. Do not mount the same directory you use for a normal (non-Docker) install.
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## Contributing
|
|
147
|
-
|
|
148
|
-
Clone the repo, run `npm install`, then `npm test`. Development uses the same `package.json`; publishing runs `npm run build` via `prepublishOnly`.
|
|
129
|
+
- `docs/ARCHITECTURE.md`
|
|
130
|
+
- `docs/Configuration.md`
|
|
131
|
+
- `docs/TROUBLESHOOTING.md`
|
|
132
|
+
- `docs/SKILLS-CLI.md`
|
|
133
|
+
- `docs/SHELL-CLI.md`
|
|
149
134
|
|
|
150
135
|
---
|
|
151
136
|
|
|
152
137
|
## License
|
|
153
138
|
|
|
154
|
-
ISC
|
|
139
|
+
Pithosai is **proprietary** software — it is **not** published under an open-source or ISC license.
|
|
140
|
+
|
|
141
|
+
Copyright © 2026 [lidh04@gmail.com](mailto:lidh04@gmail.com). All rights reserved.
|
|
155
142
|
|
|
156
|
-
|
|
143
|
+
See [`LICENSE`](LICENSE) for the copyright notice (included in the npm package). The `license` field in `package.json` is `UNLICENSED`, which npm uses when no public license is granted.
|
package/dist/156.mjs
ADDED
package/dist/220.mjs
ADDED
package/dist/236.mjs
ADDED
package/dist/475.mjs
ADDED
package/dist/511.mjs
ADDED
package/dist/613.mjs
ADDED
package/dist/691.mjs
ADDED
package/dist/935.mjs
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
export const __rspack_esm_id="935";export const __rspack_esm_ids=["935"];export const __webpack_modules__={8498(t,e,i){i.a(t,async function(t,s){try{i.d(e,{showMarkdownInPiTui:()=>a});var l=i(8691),r=i(8285),n=i(4127),h=t([l,r,n]);[l,r,n]=h.then?(await h)():h;let o=!1;class c{constructor(t){let{terminal:e,tui:i,markdown:s,hintText:l,documentTitle:r,onClose:n}=t;this.terminal=e,this.tui=i,this._markdown=s,this.hintText=l,this.documentTitle=r?.trim()||"",this.onClose=n,this.scrollTop=0,this._fullLines=null,this._cachedWidth=null,this._ggAwaitingSecondG=!1,this._ggTimer=null}clearGgPrefixState(){null!=this._ggTimer&&(clearTimeout(this._ggTimer),this._ggTimer=null),this._ggAwaitingSecondG=!1}invalidate(){this._markdown.invalidate(),this._fullLines=null,this._cachedWidth=null}handleInput(t){let e=this.terminal.columns,i=this.terminal.rows,s=+!!this.documentTitle,l=Math.max(1,i-s-1),r=this._getFullLines(e).length,h=Math.max(0,r-l);if((0,n.matchesKey)(t,"escape")||(0,n.matchesKey)(t,"esc")||(0,n.matchesKey)(t,"q")||(0,n.matchesKey)(t,"shift+q")||(0,n.matchesKey)(t,"ctrl+c")){this.clearGgPrefixState(),this.onClose();return}if((0,n.matchesKey)(t,"shift+g")){this.clearGgPrefixState(),this.scrollTop=h;return}if((0,n.matchesKey)(t,"g")){if(this._ggAwaitingSecondG){this.clearGgPrefixState(),this.scrollTop=0;return}this._ggAwaitingSecondG=!0,null!=this._ggTimer&&clearTimeout(this._ggTimer),this._ggTimer=setTimeout(()=>{this._ggTimer=null,this._ggAwaitingSecondG=!1},500);return}if(this.clearGgPrefixState(),(0,n.matchesKey)(t,"up")||(0,n.matchesKey)(t,"k")){this.scrollTop=Math.max(0,this.scrollTop-1);return}if((0,n.matchesKey)(t,"down")||(0,n.matchesKey)(t,"j")){this.scrollTop=Math.min(h,this.scrollTop+1);return}if((0,n.matchesKey)(t,"pageUp")||(0,n.matchesKey)(t,"ctrl+u")){this.scrollTop=Math.max(0,this.scrollTop-l);return}if((0,n.matchesKey)(t,"pageDown")||(0,n.matchesKey)(t,"ctrl+d")){this.scrollTop=Math.min(h,this.scrollTop+l);return}if((0,n.matchesKey)(t,"home")){this.scrollTop=0;return}if((0,n.matchesKey)(t,"end")){this.scrollTop=h;return}}_getFullLines(t){return this._fullLines&&this._cachedWidth===t||(this._cachedWidth=t,this._fullLines=this._markdown.render(t)),this._fullLines}render(t){let e=this.terminal.rows,i=this.documentTitle?[l.m.bold.cyan((0,n.truncateToWidth)(this.documentTitle,t))]:[],s=i.length,r=Math.max(1,e-s-1);null!=this._cachedWidth&&this._cachedWidth!==t&&this.invalidate();let h=this._getFullLines(t),a=Math.max(0,h.length-r);this.scrollTop=Math.min(this.scrollTop,a);let o=h.slice(this.scrollTop,this.scrollTop+r);for(;o.length<r;)o.push("");let c=l.m.dim((0,n.truncateToWidth)(this.hintText,t));return[...i,...o,c]}}async function a(t){let{markdown:e,t:i,documentTitle:s,tuiSession:l=null}=t;if(!e||"string"!=typeof e||!e.trim())return;if(!(process.stdout.isTTY&&process.stdin.isTTY))return void process.stdout.write(`${e}
|
|
3
|
+
`);let h=l&&"function"==typeof l.suspendForReadline&&"function"==typeof l.resumeFromReadline;h&&l.suspendForReadline();try{o||((0,r.CK)("dark"),o=!0);let t=(0,r.pd)(),l=new n.Markdown(e,1,1,t),h=i("cli.resultPreviewTerminalHint"),a=new n.ProcessTerminal,m=new n.TUI(a);m.setClearOnShrink(!0),await new Promise(t=>{let e,i=new c({terminal:a,tui:m,markdown:l,hintText:h,documentTitle:s,onClose:()=>{e?.clearGgPrefixState(),m.stop(),t()}});e=i;let r=new n.Container;r.addChild(i),m.addChild(r),m.setFocus(i),m.start(),m.requestRender(!0)})}finally{h&&l.resumeFromReadline()}}s()}catch(t){s(t)}})}};
|