itwillsync 1.0.6 → 1.2.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 +35 -75
- package/dist/index.js +253 -29
- package/dist/index.js.map +1 -1
- package/dist/web-client/assets/index-Cj7rG9re.css +1 -0
- package/dist/web-client/assets/{index-D-PqgwnG.js → index-la8_PIAu.js} +16 -16
- package/dist/web-client/index.html +3 -2
- package/dist/web-client/manifest.json +9 -0
- package/package.json +8 -4
- package/dist/web-client/assets/index-CtQalehw.css +0 -1
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
<meta name="mobile-web-app-capable" content="yes">
|
|
8
8
|
<meta name="theme-color" content="#1a1a2e">
|
|
9
9
|
<title>itwillsync</title>
|
|
10
|
-
<
|
|
11
|
-
<
|
|
10
|
+
<link rel="manifest" href="./manifest.json">
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-la8_PIAu.js"></script>
|
|
12
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Cj7rG9re.css">
|
|
12
13
|
</head>
|
|
13
14
|
<body>
|
|
14
15
|
<div id="status-bar">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "itwillsync",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Sync any terminal-based coding agent to your phone over local network",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsup",
|
|
14
14
|
"dev": "tsup --watch",
|
|
15
|
+
"test": "vitest run",
|
|
16
|
+
"test:watch": "vitest",
|
|
15
17
|
"clean": "rm -rf dist"
|
|
16
18
|
},
|
|
17
19
|
"keywords": [
|
|
@@ -39,14 +41,16 @@
|
|
|
39
41
|
"node": ">=20.0.0"
|
|
40
42
|
},
|
|
41
43
|
"dependencies": {
|
|
44
|
+
"@clack/prompts": "^1.0.1",
|
|
42
45
|
"node-pty": "^1.0.0",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
46
|
+
"qrcode-terminal": "^0.12.0",
|
|
47
|
+
"ws": "^8.18.0"
|
|
45
48
|
},
|
|
46
49
|
"devDependencies": {
|
|
47
50
|
"@types/node": "^25.3.2",
|
|
48
51
|
"@types/ws": "^8.5.0",
|
|
49
52
|
"tsup": "^8.0.0",
|
|
50
|
-
"typescript": "^5.7.0"
|
|
53
|
+
"typescript": "^5.7.0",
|
|
54
|
+
"vitest": "^4.0.18"
|
|
51
55
|
}
|
|
52
56
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;overflow:hidden;background:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:fixed;-webkit-overflow-scrolling:none;overscroll-behavior:none}#status-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#16213e;border-bottom:1px solid #0f3460;font-size:12px;color:#a0a0b0;height:32px;flex-shrink:0;z-index:10}#status-dot{width:8px;height:8px;border-radius:50%;background:#e74c3c;transition:background .3s ease}#status-dot.connected{background:#2ecc71}#status-dot.reconnecting{background:#f39c12;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}#terminal-container{height:calc(100% - 32px - var(--extra-keys-height, 0px));width:100%}.xterm{height:100%;padding:4px}.xterm-viewport{overflow-y:auto!important;-webkit-overflow-scrolling:touch}#reconnect-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#1a1a2ee6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;color:#e0e0e0;font-size:16px;gap:12px}#reconnect-overlay .spinner{width:32px;height:32px;border:3px solid #0f3460;border-top-color:#e94560;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#extra-keys{position:fixed;bottom:0;left:0;width:100%;background:#1e1e2e;border-top:1px solid #333355;user-select:none;-webkit-user-select:none;touch-action:manipulation;z-index:20;transform:translateY(0);transition:transform .1s ease-out}.extra-keys-row{display:flex;width:100%}.extra-key{flex:1;min-height:38px;display:flex;align-items:center;justify-content:center;background:#2a2a3e;color:#d0d0e0;border:none;border-right:1px solid #1a1a2e;border-bottom:1px solid #1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:500;cursor:pointer;padding:0 2px;-webkit-tap-highlight-color:transparent}.extra-key:last-child{border-right:none}.extra-keys-row:last-child .extra-key{border-bottom:none}.extra-key.modifier{background:#252540;color:#b0b0cc}.extra-key.active{background:#e94560;color:#fff}.extra-key:active{background:#3a3a55}.extra-key.active:active{background:#c73a52}@media(hover:hover)and (pointer:fine){#extra-keys{display:none}:root{--extra-keys-height: 0px}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}
|