@ainecto/cli 0.12.1 → 0.13.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/README.md +44 -1
- package/THIRD_PARTY_NOTICES.md +68 -0
- package/dist/bin/ainecto.js +7700 -150
- package/dist/bin/ainecto.js.map +1 -1
- package/dist/bin/mcp.js +62 -37
- package/dist/bin/mcp.js.map +1 -1
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -192,6 +192,49 @@ The server tools behind them (`list_notifications`, `list_agent_todos`, `update_
|
|
|
192
192
|
`list_history`) are generated commands too (`ainecto notifications list`, `ainecto agent-todos list`,
|
|
193
193
|
`ainecto agent-todos update -f …`, `ainecto history list`) once the server exposes them.
|
|
194
194
|
|
|
195
|
+
## Terminal Sessions
|
|
196
|
+
|
|
197
|
+
`ainecto term` keeps terminal sessions running after you close the terminal window — no tmux or cmux
|
|
198
|
+
needed. A background process, started on demand, owns each session and keeps its screen, so agents and
|
|
199
|
+
scripts can type into a session and read its screen, and you can attach from any terminal app. It runs on
|
|
200
|
+
this machine only; it does not use your AiNecto sign-in.
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
ainecto term new api --cwd ~/code/api -- claude # start a session (without a command: your login shell)
|
|
204
|
+
ainecto term ls [--json]
|
|
205
|
+
ainecto term send api "run the tests" # types the text, without Enter
|
|
206
|
+
ainecto term key api enter # one key — see below
|
|
207
|
+
ainecto term read api [--lines N] [--scrollback] [--json]
|
|
208
|
+
ainecto term wait api --match 'passed' [--timeout 600] # until a screen line matches (seconds)
|
|
209
|
+
ainecto term attach api # detach with Ctrl-\ then d
|
|
210
|
+
ainecto term kill api
|
|
211
|
+
ainecto term kill-server # every session and the background process
|
|
212
|
+
ainecto term restore # after a reboot: start again what was running
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
- Keys for `key`: `enter`, `tab`, `shift-tab`, `escape`, `backspace`, `delete`, `space`, `up`, `down`,
|
|
216
|
+
`left`, `right`, `home`, `end`, `pageup`, `pagedown`, `ctrl-a` … `ctrl-z` (`ctrl+c`, `esc` and `return`
|
|
217
|
+
are accepted too).
|
|
218
|
+
- `send --paste` sends the text as a bracketed paste when the app asked for one. To send text that starts
|
|
219
|
+
with `-`, put it after `--`.
|
|
220
|
+
- In `attach`, press `Ctrl-\` twice to send one `Ctrl-\` to the app.
|
|
221
|
+
- Inside a session, `AINECTO_TERM_SESSION` holds its name. A name does not change; to rename, kill the
|
|
222
|
+
session and start it again.
|
|
223
|
+
- `restore` starts again each session that was running (name, folder, command) with the environment of the
|
|
224
|
+
shell you run it from. It does not bring back what the programs had in memory, and nothing restarts on its
|
|
225
|
+
own after a reboot. A session that exits by itself is forgotten; `kill` and `kill-server` forget theirs.
|
|
226
|
+
- Files are in `~/.ainecto/term/` (folder only you can read): the control socket, `sessions.json` (what
|
|
227
|
+
`restore` starts) and `daemon.log` (one line per request and one per answer; kept to 10 MB plus one older
|
|
228
|
+
file, `daemon.log.1`). Typed text, screens and environment values are not logged.
|
|
229
|
+
- How long a command waits, three separate limits:
|
|
230
|
+
- Each request to the running background process waits up to 10 seconds for its answer; then the
|
|
231
|
+
command stops with an error and removes nothing.
|
|
232
|
+
- Starting the background process waits up to 10 seconds per try for it to report ready, at most 3 tries.
|
|
233
|
+
- `wait` itself waits until `--timeout` (without it, until the pattern appears or the session ends).
|
|
234
|
+
- Platforms: macOS, and Linux with glibc on Node.js 20.8.0 or newer (the rest of the CLI runs on Node 18).
|
|
235
|
+
Not Windows yet. It uses the optional dependency `node-pty`, which ships prebuilt binaries — no compiler
|
|
236
|
+
needed. If it could not be installed, `ainecto term` says so and the other commands keep working.
|
|
237
|
+
|
|
195
238
|
## Connector Mode
|
|
196
239
|
|
|
197
240
|
```bash
|
|
@@ -211,7 +254,7 @@ This is the entry `setup --local` and `init --mcp --local` write — you normall
|
|
|
211
254
|
"mcpServers": {
|
|
212
255
|
"ainecto": {
|
|
213
256
|
"command": "npx",
|
|
214
|
-
"args": ["-y", "@ainecto/mcp@0.
|
|
257
|
+
"args": ["-y", "@ainecto/mcp@0.13.0"]
|
|
215
258
|
}
|
|
216
259
|
}
|
|
217
260
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Third-Party Notices
|
|
2
|
+
|
|
3
|
+
This package (published as `@ainecto/mcp`, `ainecto` and `@ainecto/cli` — the same build) includes third-party
|
|
4
|
+
open-source software. The AiNecto CLI itself is not licensed under these terms; only the parts listed below are.
|
|
5
|
+
|
|
6
|
+
## xterm.js
|
|
7
|
+
|
|
8
|
+
- **Bundled** into `dist/bin/ainecto.js` (the `ainecto term` session daemon):
|
|
9
|
+
- `@xterm/headless` 6.0.0
|
|
10
|
+
- `@xterm/addon-serialize` 0.14.0
|
|
11
|
+
- **Ported** into `src/core/term/vtParser.ts` (and built into `dist/bin/ainecto.js`): the VT500 transition table and
|
|
12
|
+
the OSC/DCS end rules of `EscapeSequenceParser` from xterm.js 6.0.0
|
|
13
|
+
(`src/common/parser/EscapeSequenceParser.ts`, `src/common/parser/Constants.ts`).
|
|
14
|
+
- Source: https://github.com/xtermjs/xterm.js (tag `6.0.0`) · License: MIT
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)
|
|
18
|
+
Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com)
|
|
19
|
+
Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/)
|
|
20
|
+
|
|
21
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
22
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
23
|
+
in the Software without restriction, including without limitation the rights
|
|
24
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
25
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
26
|
+
furnished to do so, subject to the following conditions:
|
|
27
|
+
|
|
28
|
+
The above copyright notice and this permission notice shall be included in
|
|
29
|
+
all copies or substantial portions of the Software.
|
|
30
|
+
|
|
31
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
32
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
33
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
34
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
35
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
36
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
37
|
+
THE SOFTWARE.
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Visual Studio Code — `base` helpers (included in xterm.js)
|
|
41
|
+
|
|
42
|
+
- **Bundled** into `dist/bin/ainecto.js` as part of `@xterm/headless` 6.0.0, which includes helpers from the
|
|
43
|
+
`base/` module of Visual Studio Code (xterm.js `src/vs/base`).
|
|
44
|
+
- Source: https://github.com/microsoft/vscode · License: MIT
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
MIT License
|
|
48
|
+
|
|
49
|
+
Copyright (c) 2015 - present Microsoft Corporation
|
|
50
|
+
|
|
51
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
52
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
53
|
+
in the Software without restriction, including without limitation the rights
|
|
54
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
55
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
56
|
+
furnished to do so, subject to the following conditions:
|
|
57
|
+
|
|
58
|
+
The above copyright notice and this permission notice shall be included in all
|
|
59
|
+
copies or substantial portions of the Software.
|
|
60
|
+
|
|
61
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
62
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
63
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
64
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
65
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
66
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
67
|
+
SOFTWARE.
|
|
68
|
+
```
|