nterminal 1.2.54 → 1.2.56
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 +4 -1
- package/bin/nterminal.js +4 -0
- package/dist/client/assets/MarkdownPreview-Bk02CJkU.js +1 -0
- package/dist/client/assets/{TranscriptMarkdownBody-DJbLRp61.js → TranscriptMarkdownBody-CDKYjgIZ.js} +1 -1
- package/dist/client/assets/index-BBVLYVi6.js +54 -0
- package/dist/client/assets/index-BIczcK4f.css +1 -0
- package/dist/client/assets/{index-Bj8e-m7A.js → index-fsgQPmdV.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/scripts/distcall.js +436 -0
- package/dist/scripts/distcall.js.map +1 -0
- package/dist/server/agent/agentRoutes.js +124 -2
- package/dist/server/agent/agentRoutes.js.map +1 -1
- package/dist/server/distcall/envelope.d.ts +6 -0
- package/dist/server/distcall/envelope.js +56 -0
- package/dist/server/distcall/envelope.js.map +1 -0
- package/dist/server/distcall/executor.d.ts +23 -0
- package/dist/server/distcall/executor.js +316 -0
- package/dist/server/distcall/executor.js.map +1 -0
- package/dist/server/files/rootToken.d.ts +4 -2
- package/dist/server/files/rootToken.js +9 -4
- package/dist/server/files/rootToken.js.map +1 -1
- package/dist/server/http.d.ts +2 -1
- package/dist/server/http.js +2 -0
- package/dist/server/http.js.map +1 -1
- package/dist/server/routes/agentManagementRoutes.js +14 -2
- package/dist/server/routes/agentManagementRoutes.js.map +1 -1
- package/dist/server/routes/distributedCallRoutes.d.ts +9 -0
- package/dist/server/routes/distributedCallRoutes.js +305 -0
- package/dist/server/routes/distributedCallRoutes.js.map +1 -0
- package/dist/server/routes/fileRoutes.js +32 -3
- package/dist/server/routes/fileRoutes.js.map +1 -1
- package/dist/server/routes/terminalLayoutRoutes.js +12 -8
- package/dist/server/routes/terminalLayoutRoutes.js.map +1 -1
- package/dist/server/storage/fileStore.d.ts +8 -1
- package/dist/server/storage/fileStore.js +49 -2
- package/dist/server/storage/fileStore.js.map +1 -1
- package/dist/shared/layoutState.d.ts +3 -0
- package/dist/shared/layoutState.js +49 -0
- package/dist/shared/layoutState.js.map +1 -1
- package/dist/shared/protocol.d.ts +74 -2
- package/dist/shared/protocol.js.map +1 -1
- package/dist/shared/types.d.ts +2 -0
- package/docs/features.md +3 -2
- package/docs/operations.md +1 -1
- package/package.json +1 -1
- package/dist/client/assets/MarkdownPreview-DvW1iSJP.js +0 -1
- package/dist/client/assets/index-BEv9DwQ7.css +0 -1
- package/dist/client/assets/index-DaKyipYG.js +0 -54
- package/docs/assets/nterminal-workspace.png +0 -0
package/README.md
CHANGED
|
@@ -53,9 +53,10 @@ Run onboarding as the account that should own NTerminal. Do not use `sudo ntermi
|
|
|
53
53
|
- **Multi-server workspace**: manage the main server and all secondary servers from one browser UI, with separate tabs, panes, files, and layout state per server.
|
|
54
54
|
- **Persistent real shells**: run real host PTYs with tabs and split panes, soft-detach terminals without killing them, and keep shells alive across NTerminal restarts when `tmux` is available.
|
|
55
55
|
- **Codex / Claude friendly history**: scroll terminal output without driving TUI prompt history, load older tmux scrollback on demand, and open supported JSONL transcript history for Codex and Claude sessions.
|
|
56
|
-
- **Secure personal access**: password plus TOTP,
|
|
56
|
+
- **Secure personal access**: password plus TOTP, trusted devices/networks, IP-aware session checks, and origin checks around terminal/file mutation routes.
|
|
57
57
|
- **Files and uploads**: browse the selected pane's cwd, view/edit text and Markdown, preview browser-supported files, and drag files or folders into the active terminal directory.
|
|
58
58
|
- **Guided npm deployment**: install with npm, run `nterminal onboarding`, keep runtime state under `~/.nterminal`, and update servers from the UI.
|
|
59
|
+
- **Optional distributed calls**: fan out trusted HTTP tasks across enabled servers from the CLI, with per-worker pacing and encrypted main-to-worker task payloads.
|
|
59
60
|
|
|
60
61
|
## Feature Details
|
|
61
62
|
|
|
@@ -67,6 +68,7 @@ Run onboarding as the account that should own NTerminal. Do not use `sudo ntermi
|
|
|
67
68
|
- High resource usage is highlighted directly in the server list.
|
|
68
69
|
- Fleet updates check npm registry versions, update secondary servers first, and update the main server last.
|
|
69
70
|
- Hourly update checks badge Settings and Updates when a newer package is available.
|
|
71
|
+
- Distributed calls can be enabled per server for programmatic batch work; private network targets stay blocked unless both Settings and the CLI run opt in.
|
|
70
72
|
|
|
71
73
|
### Terminal Workspace
|
|
72
74
|
|
|
@@ -124,6 +126,7 @@ nterminal onboarding
|
|
|
124
126
|
nterminal status
|
|
125
127
|
nterminal logs
|
|
126
128
|
nterminal restart
|
|
129
|
+
nterminal distcall run requests.ndjson
|
|
127
130
|
nterminal uninstall --force
|
|
128
131
|
```
|
|
129
132
|
|
package/bin/nterminal.js
CHANGED
|
@@ -88,6 +88,7 @@ Commands:
|
|
|
88
88
|
restart-after-update Restart after replacing the npm package.
|
|
89
89
|
build Verify the bundled runtime exists.
|
|
90
90
|
deploy Restart the installed package.
|
|
91
|
+
distcall run [file] Run distributed HTTP call tasks through enabled workers.
|
|
91
92
|
clean --force Remove local runtime state.
|
|
92
93
|
uninstall --force Stop and remove local runtime state before npm uninstall.
|
|
93
94
|
logs [N] Show recent logs.
|
|
@@ -107,6 +108,9 @@ switch (command) {
|
|
|
107
108
|
case 'generate:secrets':
|
|
108
109
|
runScript('generate-secrets', args);
|
|
109
110
|
break;
|
|
111
|
+
case 'distcall':
|
|
112
|
+
runScript('distcall', args);
|
|
113
|
+
break;
|
|
110
114
|
case 'ctl':
|
|
111
115
|
runCtl(args);
|
|
112
116
|
break;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as a}from"./index-BBVLYVi6.js";import{M as e,r as o}from"./index-fsgQPmdV.js";function s({content:r}){return a.jsx(e,{remarkPlugins:[o],children:r})}export{s as default};
|
package/dist/client/assets/{TranscriptMarkdownBody-DJbLRp61.js → TranscriptMarkdownBody-CDKYjgIZ.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{j as o,R as a}from"./index-
|
|
1
|
+
import{j as o,R as a}from"./index-BBVLYVi6.js";import{M as u,r as f}from"./index-fsgQPmdV.js";function k({text:r,searchQuery:t}){return o.jsx(u,{components:p(t),remarkPlugins:[f],children:j(r)})}function p(r){return{a({node:t,children:n,...e}){return o.jsx("a",{...e,target:"_blank",rel:"noreferrer",children:d(n,r)})},blockquote({node:t,children:n,...e}){return o.jsx("blockquote",{...e,children:d(n,r)})},code({node:t,children:n,...e}){return o.jsx("code",{...e,children:d(n,r)})},em({node:t,children:n,...e}){return o.jsx("em",{...e,children:d(n,r)})},h1({node:t,children:n,...e}){return o.jsx("h1",{...e,children:d(n,r)})},h2({node:t,children:n,...e}){return o.jsx("h2",{...e,children:d(n,r)})},h3({node:t,children:n,...e}){return o.jsx("h3",{...e,children:d(n,r)})},h4({node:t,children:n,...e}){return o.jsx("h4",{...e,children:d(n,r)})},h5({node:t,children:n,...e}){return o.jsx("h5",{...e,children:d(n,r)})},h6({node:t,children:n,...e}){return o.jsx("h6",{...e,children:d(n,r)})},li({node:t,children:n,...e}){return o.jsx("li",{...e,children:d(n,r)})},p({node:t,children:n,...e}){return o.jsx("p",{...e,children:d(n,r)})},pre({node:t,children:n,...e}){return o.jsx("pre",{...e,className:"transcript-markdown-code",children:n})},strong({node:t,children:n,...e}){return o.jsx("strong",{...e,children:d(n,r)})},td({node:t,children:n,...e}){return o.jsx("td",{...e,children:d(n,r)})},th({node:t,children:n,...e}){return o.jsx("th",{...e,children:d(n,r)})}}}function d(r,t){return a.Children.map(r,n=>typeof n=="string"?m(n,t):n)}function m(r,t){const n=t.trim();if(!n)return r||" ";const e=r.toLowerCase(),s=n.toLowerCase(),c=[];let l=0,i=e.indexOf(s);for(;i!==-1;){i>l&&c.push(r.slice(l,i));const h=i+n.length;c.push(o.jsx("mark",{className:"transcript-search-hit",children:r.slice(i,h)},`${i}-${h}`)),l=h,i=e.indexOf(s,l)}return l<r.length&&c.push(r.slice(l)),c.length>0?c:r||" "}function j(r){const t=r.split(`
|
|
2
2
|
`);let n=!1,e=null;return t.map((s,c)=>{const l=n,i=/^ {0,3}(```+|~~~+)/.exec(s);if(i){const h=i[1]?.startsWith("`")?"`":"~";n?e===h&&(n=!1,e=null):(n=!0,e=h)}return c===t.length-1||l||i||s.trim()===""||s.endsWith(" ")?s:`${s.replace(/[ \t]+$/,"")} `}).join(`
|
|
3
3
|
`)}export{k as default};
|