visionclaw 0.1.173 → 0.1.174

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/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## [0.1.174](https://github.com/babelcloud/visionclaw/compare/v0.1.173...v0.1.174) (2026-03-30)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * download remote URLs before sending via WeChat ([bbcd921](https://github.com/babelcloud/visionclaw/commit/bbcd921fb53b5010ba8da0d896568fdae9a45d7b))
7
+
8
+
9
+ ### Features
10
+
11
+ * add Account Pool Service ([daa8ae4](https://github.com/babelcloud/visionclaw/commit/daa8ae4849f1915c896d15f808bde8b1f48bb198))
12
+ * add GitHub CLI (gh) OAuth backup and restore ([c5c7fb2](https://github.com/babelcloud/visionclaw/commit/c5c7fb2f5793df0732d2695c9f9b52b1b2c4bece))
13
+ * add web design skill documentation with HTML and CSS guidelines ([2f076a7](https://github.com/babelcloud/visionclaw/commit/2f076a7b1dea3f589440f8feb9b77170031daa56))
14
+ * add web-dashboard default skill with light theme design system ([d48c77d](https://github.com/babelcloud/visionclaw/commit/d48c77dd678b6a49ba5e116fd1e6e396b1989e7a))
15
+
16
+
17
+
1
18
  ## [0.1.173](https://github.com/babelcloud/visionclaw/compare/v0.1.173-beta.0...v0.1.173) (2026-03-29)
2
19
 
3
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA+I3D;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAyGjB"}
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA6L3D;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAoHjB"}
@@ -10,6 +10,8 @@ import { getClaudeProjectSlug, getClaudeTranscriptDirForProfileDir, getReference
10
10
  const execFileAsync = promisify(execFile);
11
11
  const CLOUDFLARED_DIR = path.join(os.homedir(), ".cloudflared");
12
12
  const CLOUDFLARED_BACKUP_FILES = ["cert.pem", "config.yml"];
13
+ const GH_CLI_DIR = path.join(os.homedir(), ".config", "gh");
14
+ const GH_CLI_TOKEN_FILE = "oauth-token.txt";
13
15
  function formatTimestamp() {
14
16
  const now = new Date();
15
17
  const pad = (n) => String(n).padStart(2, "0");
@@ -103,6 +105,45 @@ function snapshotCloudflared(stagingDir) {
103
105
  }
104
106
  return { copiedCount };
105
107
  }
108
+ async function snapshotGhCli(stagingDir) {
109
+ if (!fs.existsSync(GH_CLI_DIR)) {
110
+ return { copiedCount: 0, hasToken: false };
111
+ }
112
+ let copiedCount = 0;
113
+ try {
114
+ for (const entry of fs.readdirSync(GH_CLI_DIR)) {
115
+ const sourcePath = path.join(GH_CLI_DIR, entry);
116
+ if (!fs.lstatSync(sourcePath).isFile())
117
+ continue;
118
+ fs.mkdirSync(stagingDir, { recursive: true });
119
+ fs.copyFileSync(sourcePath, path.join(stagingDir, entry));
120
+ copiedCount += 1;
121
+ }
122
+ }
123
+ catch {
124
+ return { copiedCount: 0, hasToken: false };
125
+ }
126
+ // Export the OAuth token from the system keychain.
127
+ // `gh auth token` prints the active token to stdout.
128
+ let hasToken = false;
129
+ try {
130
+ const { stdout } = await execFileAsync("gh", ["auth", "token"], {
131
+ timeout: 10_000,
132
+ });
133
+ const token = stdout.trim();
134
+ if (token) {
135
+ fs.mkdirSync(stagingDir, { recursive: true });
136
+ fs.writeFileSync(path.join(stagingDir, GH_CLI_TOKEN_FILE), token, {
137
+ mode: 0o600,
138
+ });
139
+ hasToken = true;
140
+ }
141
+ }
142
+ catch {
143
+ // gh CLI not installed or not authenticated — skip token export
144
+ }
145
+ return { copiedCount, hasToken };
146
+ }
106
147
  /**
107
148
  * Create a ZIP backup of VisionClaw profile data and upload it to Google Drive.
108
149
  *
@@ -131,6 +172,8 @@ export async function runBackup(config, ownerEmail) {
131
172
  const transcripts = snapshotClaudeTranscripts(transcriptDir, stagedTranscriptDir, transcriptIds);
132
173
  const stagedCloudflaredDir = path.join(stagingRoot, ".cloudflared");
133
174
  const cloudflared = snapshotCloudflared(stagedCloudflaredDir);
175
+ const stagedGhCliDir = path.join(stagingRoot, ".config", "gh");
176
+ const ghCli = await snapshotGhCli(stagedGhCliDir);
134
177
  logger.system(`Creating backup zip: ${zipPath} (.visionclaw/profiles/${profileDirName})`);
135
178
  if (snapshot.skippedPaths.length > 0) {
136
179
  logger.warn(`Skipping ${snapshot.skippedPaths.length} symlink or unsupported runtime entr${snapshot.skippedPaths.length === 1 ? "y" : "ies"} during backup.`);
@@ -147,6 +190,9 @@ export async function runBackup(config, ownerEmail) {
147
190
  if (cloudflared.copiedCount > 0) {
148
191
  logger.system(`Including ${cloudflared.copiedCount} cloudflared config file${cloudflared.copiedCount === 1 ? "" : "s"} in backup.`);
149
192
  }
193
+ if (ghCli.copiedCount > 0) {
194
+ logger.system(`Including ${ghCli.copiedCount} GitHub CLI config file${ghCli.copiedCount === 1 ? "" : "s"}${ghCli.hasToken ? " (with OAuth token)" : ""} in backup.`);
195
+ }
150
196
  const zipInputs = [".visionclaw"];
151
197
  if (fs.existsSync(path.join(stagingRoot, ".claude"))) {
152
198
  zipInputs.push(".claude");
@@ -154,6 +200,9 @@ export async function runBackup(config, ownerEmail) {
154
200
  if (fs.existsSync(path.join(stagingRoot, ".cloudflared"))) {
155
201
  zipInputs.push(".cloudflared");
156
202
  }
203
+ if (fs.existsSync(path.join(stagingRoot, ".config"))) {
204
+ zipInputs.push(".config");
205
+ }
157
206
  // Run zip from the staging directory so the archive keeps the expected
158
207
  // ~/.visionclaw/profiles/<profile> layout without touching live sockets.
159
208
  await execFileAsync("zip", ["-rq", zipPath, ...zipInputs], {
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,275 @@
1
+ ---
2
+ description: Use this skill when generating any standalone HTML page — dashboards, reports, landing pages, status pages, data displays, forms, or any web content. Provides a default CSS design system with light theme, responsive layout, badges, and mobile-first card fallback.
3
+ ---
4
+
5
+ # Web Page Style Guide
6
+
7
+ When creating any standalone HTML page (dashboards, reports, landing pages, status pages, data displays, forms, portfolios, etc.), follow this design system for a clean, professional look with built-in mobile responsiveness.
8
+
9
+ ## Design Principles
10
+
11
+ - **Light background** (`#faf9f7` warm off-white), white containers
12
+ - **Table-based layout** for data on desktop, card-based on mobile
13
+ - **Monospace numbers** using `'SF Mono', Menlo, monospace`
14
+ - **Warm accent color** (`#e8654a` coral/orange) for active states
15
+ - **Colored badges** for categorical data (green/red/yellow/blue/gray)
16
+ - **Skeleton loading** animations while data fetches
17
+ - **No external CSS dependencies** — pure inline `<style>` block
18
+
19
+ ## HTML Structure
20
+
21
+ ```html
22
+ <!DOCTYPE html>
23
+ <html lang="en">
24
+ <head>
25
+ <meta charset="UTF-8" />
26
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
27
+ <title>Dashboard Title</title>
28
+ <style>
29
+ /* Paste the CSS from the "Base CSS" section below */
30
+ </style>
31
+ </head>
32
+ <body>
33
+ <!-- 1. Top Bar: title, tabs, actions -->
34
+ <div class="topbar">
35
+ <div class="topbar-title">Dashboard Title</div>
36
+ <button class="tab active" onclick="switchTab('tab1')">Tab 1</button>
37
+ <button class="tab" onclick="switchTab('tab2')">Tab 2</button>
38
+ <div class="topbar-right">
39
+ <button class="refresh-btn" onclick="refresh()">Refresh</button>
40
+ </div>
41
+ </div>
42
+
43
+ <!-- 2. Summary Strip: key metrics -->
44
+ <div class="summary-strip" id="summary">
45
+ <div class="summary-item">
46
+ <div class="summary-label">Metric</div>
47
+ <div class="summary-value">123</div>
48
+ <div class="summary-sub">detail</div>
49
+ </div>
50
+ <!-- more items... -->
51
+ </div>
52
+
53
+ <!-- 3. Filter Bar -->
54
+ <div class="filter-bar">
55
+ <button class="filter-btn active" onclick="filter('all', this)">All</button>
56
+ <button class="filter-btn" onclick="filter('catA', this)">Category A</button>
57
+ <span class="count-label" id="count">-- items</span>
58
+ </div>
59
+
60
+ <!-- 4. Desktop Table -->
61
+ <div class="table-wrap">
62
+ <table>
63
+ <thead><tr><th>Column</th><!-- ... --></tr></thead>
64
+ <tbody id="table-body"></tbody>
65
+ </table>
66
+ </div>
67
+
68
+ <!-- 5. Mobile Cards (hidden on desktop, shown on mobile) -->
69
+ <div class="mobile-cards" id="cards"></div>
70
+
71
+ <!-- 6. Footer -->
72
+ <div class="footer" id="last-updated"></div>
73
+ </body>
74
+ </html>
75
+ ```
76
+
77
+ ## Base CSS
78
+
79
+ ```css
80
+ * { margin:0; padding:0; box-sizing:border-box; }
81
+ body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background:#faf9f7; color:#1a1a1a; }
82
+ a { color:inherit; text-decoration:none; }
83
+ a:hover { color:#e8654a; }
84
+
85
+ /* Top bar */
86
+ .topbar { display:flex; align-items:center; gap:24px; padding:16px 32px; background:#fff; border-bottom:1px solid #e8e5e1; }
87
+ .topbar-title { font-size:18px; font-weight:700; color:#1a1a1a; white-space:nowrap; }
88
+ .tab { padding:6px 16px; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer; border:none; background:transparent; color:#888; transition:all .2s; }
89
+ .tab.active { background:#e8654a; color:#fff; }
90
+ .tab:hover:not(.active) { color:#1a1a1a; background:#f0eeeb; }
91
+ .topbar-right { margin-left:auto; display:flex; align-items:center; gap:16px; font-size:13px; color:#888; }
92
+ .refresh-btn { padding:6px 14px; border-radius:6px; font-size:12px; font-weight:600; cursor:pointer; border:1px solid #ddd; background:#fff; color:#666; transition:all .2s; }
93
+ .refresh-btn:hover { background:#f0eeeb; border-color:#ccc; }
94
+
95
+ /* Summary strip */
96
+ .summary-strip { display:flex; gap:0; padding:0 32px; background:#fff; border-bottom:1px solid #e8e5e1; }
97
+ .summary-item { padding:14px 24px; border-right:1px solid #e8e5e1; }
98
+ .summary-item:last-child { border-right:none; }
99
+ .summary-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:#999; margin-bottom:4px; }
100
+ .summary-value { font-size:20px; font-weight:700; font-family:'SF Mono',Menlo,monospace; }
101
+ .summary-sub { font-size:11px; margin-top:2px; }
102
+
103
+ /* Filter bar */
104
+ .filter-bar { display:flex; align-items:center; gap:12px; padding:12px 32px; background:#fff; border-bottom:1px solid #e8e5e1; }
105
+ .filter-btn { padding:4px 14px; border-radius:4px; font-size:12px; font-weight:600; cursor:pointer; border:1px solid #ddd; background:#fff; color:#666; }
106
+ .filter-btn.active { background:#1a1a1a; color:#fff; border-color:#1a1a1a; }
107
+ .count-label { margin-left:auto; font-size:13px; color:#888; font-family:'SF Mono',Menlo,monospace; }
108
+
109
+ /* Table */
110
+ .table-wrap { padding:0 32px; }
111
+ table { width:100%; border-collapse:collapse; font-size:13px; }
112
+ thead th { text-align:left; padding:10px 12px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#999; border-bottom:2px solid #e8e5e1; white-space:nowrap; }
113
+ tbody tr { border-bottom:1px solid #f0eeeb; transition:background .15s; }
114
+ tbody tr:hover { background:#f7f5f2; }
115
+ tbody td { padding:12px; vertical-align:middle; }
116
+ .td-right { text-align:right; }
117
+ .td-center { text-align:center; }
118
+ .mono { font-family:'SF Mono',Menlo,monospace; }
119
+
120
+ /* Badges */
121
+ .badge { display:inline-block; padding:2px 10px; border-radius:4px; font-size:11px; font-weight:700; }
122
+ .badge-green { background:#dcfce7; color:#15803d; }
123
+ .badge-red { background:#fde8e8; color:#b91c1c; }
124
+ .badge-yellow { background:#fef3c7; color:#a16207; }
125
+ .badge-blue { background:#dbeafe; color:#1d4ed8; }
126
+ .badge-gray { background:#f0eeeb; color:#888; }
127
+
128
+ /* Semantic color helpers */
129
+ .text-pos { color:#15803d; }
130
+ .text-neg { color:#dc2626; }
131
+
132
+ /* Icon + title in table cell */
133
+ .cell-with-icon { display:flex; align-items:center; gap:10px; }
134
+ .cell-icon { width:28px; height:28px; border-radius:6px; object-fit:cover; flex-shrink:0; }
135
+ .cell-icon-placeholder { width:28px; height:28px; border-radius:6px; background:#f0eeeb; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:12px; color:#999; }
136
+ .cell-title { font-weight:600; font-size:13px; max-width:320px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
137
+ .cell-title:hover { color:#e8654a; }
138
+
139
+ /* Small colored pill (e.g. days remaining, status) */
140
+ .pill { font-size:10px; padding:2px 6px; border-radius:3px; font-weight:600; white-space:nowrap; }
141
+ .pill-red { background:#fde8e8; color:#dc2626; }
142
+ .pill-yellow { background:#fef3c7; color:#a16207; }
143
+ .pill-gray { background:#f0eeeb; color:#888; }
144
+
145
+ /* Footer */
146
+ .footer { text-align:center; padding:20px; font-size:11px; color:#ccc; }
147
+
148
+ /* Loading skeleton */
149
+ .skeleton { background:linear-gradient(90deg, #f0eeeb 25%, #e8e5e1 50%, #f0eeeb 75%); background-size:200% 100%; animation:shimmer 1.5s infinite; border-radius:4px; }
150
+ @keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
151
+
152
+ /* ─── Mobile Cards ─── */
153
+ .mobile-cards { display:none; padding:8px 16px; }
154
+ .m-card { background:#fff; border:1px solid #e8e5e1; border-radius:10px; padding:14px; margin-bottom:10px; }
155
+ .m-card-head { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; }
156
+ .m-card-title { font-weight:600; font-size:13px; color:#1a1a1a; flex:1; line-height:1.4; }
157
+ .m-card-title:hover { color:#e8654a; }
158
+ .m-card-badges { display:flex; gap:6px; flex-shrink:0; }
159
+ .m-card-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
160
+ .m-card-label { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:0.8px; color:#999; margin-bottom:2px; }
161
+ .m-card-val { font-size:13px; font-weight:700; font-family:'SF Mono',Menlo,monospace; }
162
+ .m-card-footer { display:flex; align-items:center; justify-content:space-between; margin-top:10px; padding-top:8px; border-top:1px solid #f0eeeb; }
163
+
164
+ /* ─── Responsive Breakpoint ─── */
165
+ @media (max-width: 768px) {
166
+ .topbar { padding:12px 16px; gap:12px; flex-wrap:wrap; }
167
+ .topbar-title { font-size:15px; }
168
+ .summary-strip { padding:0 16px; flex-wrap:wrap; }
169
+ .summary-item { padding:10px 14px; flex:1; min-width:45%; }
170
+ .summary-value { font-size:16px; }
171
+ .filter-bar { padding:10px 16px; }
172
+ .table-wrap { display:none; }
173
+ .mobile-cards { display:block; }
174
+ }
175
+ ```
176
+
177
+ ## JavaScript Patterns
178
+
179
+ ### Tab Switching
180
+
181
+ ```javascript
182
+ function switchTab(tab) {
183
+ document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));
184
+ document.getElementById('tab-' + tab).classList.add('active');
185
+ // Show/hide sections
186
+ document.querySelectorAll('[data-tab]').forEach(s => {
187
+ s.style.display = s.dataset.tab === tab ? '' : 'none';
188
+ });
189
+ }
190
+ ```
191
+
192
+ ### Filter Buttons
193
+
194
+ ```javascript
195
+ let currentFilter = 'all';
196
+ function filter(value, btn) {
197
+ currentFilter = value;
198
+ document.querySelectorAll('.filter-btn').forEach(b => b.classList.remove('active'));
199
+ btn.classList.add('active');
200
+ renderData(allData);
201
+ }
202
+ ```
203
+
204
+ ### Render Table + Mobile Cards Together
205
+
206
+ Always render both desktop table rows and mobile cards in the same function:
207
+
208
+ ```javascript
209
+ function renderData(items) {
210
+ const filtered = currentFilter === 'all' ? items
211
+ : items.filter(i => i.category === currentFilter);
212
+
213
+ document.getElementById('count').textContent = filtered.length + ' items';
214
+
215
+ // Desktop table
216
+ document.getElementById('table-body').innerHTML = filtered.map(item => {
217
+ return '<tr>' +
218
+ '<td>' + item.name + '</td>' +
219
+ '<td class="td-right mono">' + item.value + '</td>' +
220
+ '</tr>';
221
+ }).join('');
222
+
223
+ // Mobile cards
224
+ document.getElementById('cards').innerHTML = filtered.map(item => {
225
+ return '<div class="m-card">' +
226
+ '<div class="m-card-head"><div class="m-card-title">' + item.name + '</div></div>' +
227
+ '<div class="m-card-grid">' +
228
+ '<div><div class="m-card-label">Value</div><div class="m-card-val">' + item.value + '</div></div>' +
229
+ '</div>' +
230
+ '</div>';
231
+ }).join('');
232
+ }
233
+ ```
234
+
235
+ ### Skeleton Loading Placeholders
236
+
237
+ Use skeleton elements in the initial HTML that get replaced when data loads:
238
+
239
+ ```html
240
+ <div class="summary-item">
241
+ <div class="skeleton" style="width:60px;height:12px;margin-bottom:6px"></div>
242
+ <div class="skeleton" style="width:80px;height:24px"></div>
243
+ </div>
244
+ ```
245
+
246
+ ### Auto-Refresh
247
+
248
+ ```javascript
249
+ loadData();
250
+ setInterval(loadData, 60000); // refresh every 60s
251
+ ```
252
+
253
+ ## Color Reference
254
+
255
+ | Token | Value | Use |
256
+ |-------|-------|-----|
257
+ | Background | `#faf9f7` | Page background |
258
+ | Surface | `#fff` | Cards, topbar, strips |
259
+ | Border | `#e8e5e1` | Dividers, card borders |
260
+ | Border light | `#f0eeeb` | Table row borders, subtle dividers |
261
+ | Hover | `#f7f5f2` | Table row hover |
262
+ | Text primary | `#1a1a1a` | Headings, body |
263
+ | Text secondary | `#888` | Labels, muted text |
264
+ | Text tertiary | `#999` | Uppercase labels |
265
+ | Text muted | `#ccc` | Footer |
266
+ | Accent | `#e8654a` | Active tabs, link hover |
267
+ | Positive | `#15803d` | Profit, success, green badge text |
268
+ | Positive bg | `#dcfce7` | Green badge background |
269
+ | Negative | `#dc2626` | Loss, error, red badge text |
270
+ | Negative bg | `#fde8e8` | Red badge background |
271
+ | Warning | `#a16207` | Caution, yellow badge text |
272
+ | Warning bg | `#fef3c7` | Yellow badge background |
273
+ | Info | `#1d4ed8` | Blue badge text |
274
+ | Info bg | `#dbeafe` | Blue badge background |
275
+ | Filter active | `#1a1a1a` bg, `#fff` text | Active filter button |
@@ -1 +1 @@
1
- {"version":3,"file":"weixin.d.ts","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EACV,cAAc,EAEd,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAyDxB;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,YAAa,YAAW,cAAc;IACvE,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAA6B;gBAEtC,MAAM,EAAE,gBAAgB;IAKpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQf,WAAW,CACf,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,iBAAiB,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IA6CV,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA4BtC,WAAW;YAkGX,qBAAqB;IA2FnC,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,KAAK;CAad"}
1
+ {"version":3,"file":"weixin.d.ts","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EACV,cAAc,EAEd,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAyDxB;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,YAAa,YAAW,cAAc;IACvE,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAA6B;gBAEtC,MAAM,EAAE,gBAAgB;IAKpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQf,WAAW,CACf,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,iBAAiB,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IAwDV,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA4BtC,WAAW;YAkGX,qBAAqB;IA2FnC,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,KAAK;CAad"}
@@ -7,6 +7,7 @@ import { WeixinConfigManager } from "@tencent-weixin/openclaw-weixin/src/api/con
7
7
  import { SESSION_EXPIRED_ERRCODE, pauseSession, getRemainingPauseMs, } from "@tencent-weixin/openclaw-weixin/src/api/session-guard.js";
8
8
  import { MessageItemType, TypingStatus, } from "@tencent-weixin/openclaw-weixin/src/api/types.js";
9
9
  import { listWeixinAccountIds, resolveWeixinAccount, } from "@tencent-weixin/openclaw-weixin/src/auth/accounts.js";
10
+ import { downloadRemoteImageToTemp } from "@tencent-weixin/openclaw-weixin/src/cdn/upload.js";
10
11
  import { downloadMediaFromItem } from "@tencent-weixin/openclaw-weixin/src/media/media-download.js";
11
12
  import { setContextToken } from "@tencent-weixin/openclaw-weixin/src/messaging/inbound.js";
12
13
  import { sendMessageWeixin, markdownToPlainText } from "@tencent-weixin/openclaw-weixin/src/messaging/send.js";
@@ -137,7 +138,17 @@ export class WeixinAdapter extends EventEmitter {
137
138
  const opts = { baseUrl, token: account.token, contextToken };
138
139
  if (attachments && attachments.length > 0) {
139
140
  for (const att of attachments) {
140
- const filePath = att.localPath ?? att.url;
141
+ let filePath = att.localPath;
142
+ // If no local path but we have a URL, download to temp file first
143
+ if (!filePath && att.url) {
144
+ try {
145
+ filePath = await downloadRemoteImageToTemp(att.url, resolveMediaTempDir());
146
+ }
147
+ catch (err) {
148
+ logger.warn(`Weixin: Failed to download remote ${att.type} from ${att.url}: ${err instanceof Error ? err.message : String(err)}`);
149
+ continue;
150
+ }
151
+ }
141
152
  if (!filePath)
142
153
  continue;
143
154
  try {
@@ -151,7 +162,7 @@ export class WeixinAdapter extends EventEmitter {
151
162
  message = "";
152
163
  }
153
164
  catch (err) {
154
- logger.warn(`Weixin: Failed to send ${att.type}: ${err instanceof Error ? err.message : String(err)}`);
165
+ logger.err(`Weixin: Failed to send ${att.type}: ${err instanceof Error ? err.message : String(err)}`);
155
166
  }
156
167
  }
157
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"weixin.js","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weixin.js","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../src/restore.ts"],"names":[],"mappings":"AAgBA,KAAK,gBAAgB,GAAG,MAAM,GAAG,WAAW,CAAC;AAO7C,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAiMD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAiCnE;AAwED,wBAAsB,aAAa,CACjC,IAAI,GAAE,MAAM,EAA0B,GACrC,OAAO,CAAC,IAAI,CAAC,CAkDf"}
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../src/restore.ts"],"names":[],"mappings":"AAkBA,KAAK,gBAAgB,GAAG,MAAM,GAAG,WAAW,CAAC;AAO7C,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA4ND,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAoCnE;AAwED,wBAAsB,aAAa,CACjC,IAAI,GAAE,MAAM,EAA0B,GACrC,OAAO,CAAC,IAAI,CAAC,CAiFf"}
package/dist/restore.js CHANGED
@@ -1,12 +1,14 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import os from "node:os";
4
- import { execFile } from "node:child_process";
4
+ import { execFile, spawn } from "node:child_process";
5
5
  import { promisify } from "node:util";
6
6
  import { getConfigDir, getProfile } from "./config/index.js";
7
7
  import { logger } from "./logger.js";
8
8
  import { getClaudeTranscriptDirForProfileDir, getReferencedClaudeTranscriptIds, } from "./utils/claude-transcripts.js";
9
9
  const CLOUDFLARED_DIR = path.join(os.homedir(), ".cloudflared");
10
+ const GH_CLI_DIR = path.join(os.homedir(), ".config", "gh");
11
+ const GH_CLI_TOKEN_FILE = "oauth-token.txt";
10
12
  const execFileAsync = promisify(execFile);
11
13
  function parseRestoreArgs(args) {
12
14
  let zipPath;
@@ -152,6 +154,32 @@ function buildCloudflaredRestoreEntries(extractedRoot) {
152
154
  }
153
155
  return entries;
154
156
  }
157
+ function buildGhCliRestoreEntries(extractedRoot) {
158
+ const sourceDir = path.join(extractedRoot, ".config", "gh");
159
+ if (!fs.existsSync(sourceDir))
160
+ return [];
161
+ const entries = [];
162
+ try {
163
+ for (const fileName of fs.readdirSync(sourceDir)) {
164
+ // Skip the token file — it's handled separately via `gh auth login`
165
+ if (fileName === GH_CLI_TOKEN_FILE)
166
+ continue;
167
+ const sourcePath = path.join(sourceDir, fileName);
168
+ if (!fs.lstatSync(sourcePath).isFile())
169
+ continue;
170
+ entries.push({
171
+ source: sourcePath,
172
+ target: path.join(GH_CLI_DIR, fileName),
173
+ label: `gh-cli ${fileName}`,
174
+ kind: "file",
175
+ });
176
+ }
177
+ }
178
+ catch {
179
+ return [];
180
+ }
181
+ return entries;
182
+ }
155
183
  export function buildRestorePlan(extractedRoot) {
156
184
  const { sourceProfile, sourceProfileDir } = getSourceProfileDir(extractedRoot);
157
185
  const warnings = [];
@@ -171,6 +199,8 @@ export function buildRestorePlan(extractedRoot) {
171
199
  warnings.push(...transcriptEntries.warnings);
172
200
  const cloudflaredEntries = buildCloudflaredRestoreEntries(extractedRoot);
173
201
  entries.push(...cloudflaredEntries);
202
+ const ghCliEntries = buildGhCliRestoreEntries(extractedRoot);
203
+ entries.push(...ghCliEntries);
174
204
  return {
175
205
  sourceProfile,
176
206
  entries,
@@ -271,6 +301,37 @@ export async function runRestoreCli(args = process.argv.slice(2)) {
271
301
  restoreRollbackEntries(applied);
272
302
  throw error;
273
303
  }
304
+ // Restore GitHub CLI OAuth token if present in the backup.
305
+ const ghTokenFile = path.join(extractDir, ".config", "gh", GH_CLI_TOKEN_FILE);
306
+ if (fs.existsSync(ghTokenFile)) {
307
+ const token = fs.readFileSync(ghTokenFile, "utf-8").trim();
308
+ if (token) {
309
+ try {
310
+ await new Promise((resolve, reject) => {
311
+ const proc = spawn("gh", ["auth", "login", "--with-token"], {
312
+ stdio: ["pipe", "ignore", "pipe"],
313
+ timeout: 10_000,
314
+ });
315
+ let stderr = "";
316
+ proc.stderr.on("data", (chunk) => {
317
+ stderr += chunk.toString();
318
+ });
319
+ proc.on("close", (code) => {
320
+ if (code === 0)
321
+ resolve();
322
+ else
323
+ reject(new Error(stderr || `gh exited with code ${code}`));
324
+ });
325
+ proc.on("error", reject);
326
+ proc.stdin.end(token);
327
+ });
328
+ logger.system("GitHub CLI OAuth token restored.");
329
+ }
330
+ catch {
331
+ logger.warn("Failed to restore GitHub CLI OAuth token. Run `gh auth login` manually.");
332
+ }
333
+ }
334
+ }
274
335
  logger.system(`Restore complete for profile "${getProfile()}".`);
275
336
  }
276
337
  finally {