visionclaw 0.1.206 → 0.1.207-beta.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.
|
@@ -144,7 +144,7 @@ When in doubt, share the minimum information necessary to complete the task, and
|
|
|
144
144
|
- Every wake cycle must end explicitly: call \`finish\` when no work remains${ownerConfig.dualSessionEnabled ? ", or `switch_session` when handing work to the other session" : ""}. Never end a turn silently while a task is still active.
|
|
145
145
|
- Create and maintain a Todo/Task list for multi-step work. If that list contains pending or in-progress items, \`finish\` is rejected until they are completed or the list is explicitly updated. If progress is blocked on user action, first successfully tell the user exactly what is needed via \`notify_user\`, then call \`finish(awaiting_user=true)\`. This only ends the current wake; Todo state is in-memory and is not guaranteed to survive or be reinjected into a later wake.
|
|
146
146
|
- When tasks are completed, notify the user through the appropriate channel, then call \`finish\`${ownerConfig.dualSessionEnabled ? " (unless `switch_session` is the correct terminal action)" : ""}.
|
|
147
|
-
- For recurring tasks, create
|
|
147
|
+
- For recurring tasks, create calendar events so you are reminded to execute them.
|
|
148
148
|
|
|
149
149
|
### Proactive Behavior
|
|
150
150
|
During heartbeat wakes (no new messages), review your calendar, check for pending tasks, and take initiative:
|
|
@@ -167,7 +167,7 @@ The \`financial_*\` tools (financial-tool MCP) cover all markets behind one serv
|
|
|
167
167
|
- **A-share** and **Hong Kong** equities: quotes and history (**delayed by ~15 minutes**).
|
|
168
168
|
- **Crypto** pairs (e.g. BTC-USDT): real-time quotes and bars.
|
|
169
169
|
- **Fundamentals** (\`financial_get_fundamentals\`): summary ratios and income/balance/cashflow statements (end-of-day).
|
|
170
|
-
- **Ticker news** (\`financial_get_news\`): recent articles for
|
|
170
|
+
- **Ticker news** (\`financial_get_news\`): recent articles for A-share, HK, and US-listed equities. US results may include publisher, summary, and per-ticker sentiment; A/HK results include titles, timestamps, and links. Pass \`market\` to disambiguate symbols and check \`freshness\`.
|
|
171
171
|
|
|
172
172
|
Each snapshot carries a \`freshness\` field ({provider, asOf, latency}); check \`latency\` ("realtime"/"delayed"/"eod") before relying on a price for time-sensitive decisions. For numeric symbols that are ambiguous across markets (e.g. 5-digit codes), pass the \`market\` hint (A/HK/US/crypto).
|
|
173
173
|
|
|
@@ -8,7 +8,7 @@ Institutional-quality equity research workflows adapted from [Anthropic's Financ
|
|
|
8
8
|
|
|
9
9
|
## Data Sources
|
|
10
10
|
|
|
11
|
-
1. **VisionClaw financial_* tools** (financial-tool MCP) — quotes/snapshots (US real-time; A-share/HK delayed; crypto), historical bars (`financial_get_bars`), fundamentals/financial statements (`financial_get_fundamentals`), and US ticker news
|
|
11
|
+
1. **VisionClaw financial_* tools** (financial-tool MCP) — quotes/snapshots (US real-time; A-share/HK delayed; crypto), historical bars (`financial_get_bars`), fundamentals/financial statements (`financial_get_fundamentals`), and A-share/HK/US ticker news (`financial_get_news`; US may include sentiment)
|
|
12
12
|
2. **Web search** — SEC EDGAR, company IR pages, earnings transcripts, news
|
|
13
13
|
3. **User-provided data** — uploaded documents, models, prior research
|
|
14
14
|
4. **MCP data servers** (if configured) — Morningstar, FactSet, S&P Global, etc.
|
|
@@ -22,11 +22,26 @@ func captureScreen(to outputPath: String) async throws {
|
|
|
22
22
|
let config = SCStreamConfiguration()
|
|
23
23
|
config.showsCursor = true
|
|
24
24
|
config.captureResolution = .best
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
// the
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
// Capture at the display's exact native pixel size: contentRect (points)
|
|
26
|
+
// × pointPixelScale (backing scale, 1x/2x). The canvas must not exceed
|
|
27
|
+
// the native frame — SCScreenshotManager renders at native resolution
|
|
28
|
+
// without upscaling, so an over-sized canvas (the old fixed points-times-
|
|
29
|
+
// two heuristic on a 1x non-Retina display) leaves the desktop in the
|
|
30
|
+
// top-left quarter with the rest black. On 2x Retina panels that
|
|
31
|
+
// heuristic happened to equal the native size, which is why only
|
|
32
|
+
// 1x-display machines showed the quarter-frame bug.
|
|
33
|
+
let scale = CGFloat(filter.pointPixelScale)
|
|
34
|
+
let rect = filter.contentRect
|
|
35
|
+
var pixelWidth = Int((rect.width * scale).rounded())
|
|
36
|
+
var pixelHeight = Int((rect.height * scale).rounded())
|
|
37
|
+
if pixelWidth <= 0 || pixelHeight <= 0 {
|
|
38
|
+
// Defensive fallback: capture at point size. A downscaled-but-complete
|
|
39
|
+
// frame beats a letterboxed quarter-frame.
|
|
40
|
+
pixelWidth = display.width
|
|
41
|
+
pixelHeight = display.height
|
|
42
|
+
}
|
|
43
|
+
config.width = pixelWidth
|
|
44
|
+
config.height = pixelHeight
|
|
30
45
|
|
|
31
46
|
let image = try await SCScreenshotManager.captureImage(
|
|
32
47
|
contentFilter: filter, configuration: config
|
package/dist-agent/bundle.cjs
CHANGED
|
@@ -20829,7 +20829,7 @@ var require_prompts3 = __commonJS({
|
|
|
20829
20829
|
|
|
20830
20830
|
// dist/utils/version-check.js
|
|
20831
20831
|
function isBundled() {
|
|
20832
|
-
const v16 = "0.1.
|
|
20832
|
+
const v16 = "0.1.207-beta.0";
|
|
20833
20833
|
return typeof v16 === "string" && v16 !== "undefined";
|
|
20834
20834
|
}
|
|
20835
20835
|
function getPackageRoot() {
|
|
@@ -20846,7 +20846,7 @@ function getInstallationInfo() {
|
|
|
20846
20846
|
};
|
|
20847
20847
|
}
|
|
20848
20848
|
function getCurrentVersion() {
|
|
20849
|
-
const bundledVersion = "0.1.
|
|
20849
|
+
const bundledVersion = "0.1.207-beta.0";
|
|
20850
20850
|
if (bundledVersion && bundledVersion !== "undefined") {
|
|
20851
20851
|
return bundledVersion;
|
|
20852
20852
|
}
|
|
@@ -922284,7 +922284,7 @@ When in doubt, share the minimum information necessary to complete the task, and
|
|
|
922284
922284
|
- Every wake cycle must end explicitly: call \`finish\` when no work remains${ownerConfig.dualSessionEnabled ? ", or `switch_session` when handing work to the other session" : ""}. Never end a turn silently while a task is still active.
|
|
922285
922285
|
- Create and maintain a Todo/Task list for multi-step work. If that list contains pending or in-progress items, \`finish\` is rejected until they are completed or the list is explicitly updated. If progress is blocked on user action, first successfully tell the user exactly what is needed via \`notify_user\`, then call \`finish(awaiting_user=true)\`. This only ends the current wake; Todo state is in-memory and is not guaranteed to survive or be reinjected into a later wake.
|
|
922286
922286
|
- When tasks are completed, notify the user through the appropriate channel, then call \`finish\`${ownerConfig.dualSessionEnabled ? " (unless `switch_session` is the correct terminal action)" : ""}.
|
|
922287
|
-
- For recurring tasks, create
|
|
922287
|
+
- For recurring tasks, create calendar events so you are reminded to execute them.
|
|
922288
922288
|
|
|
922289
922289
|
### Proactive Behavior
|
|
922290
922290
|
During heartbeat wakes (no new messages), review your calendar, check for pending tasks, and take initiative:
|
|
@@ -922307,7 +922307,7 @@ The \`financial_*\` tools (financial-tool MCP) cover all markets behind one serv
|
|
|
922307
922307
|
- **A-share** and **Hong Kong** equities: quotes and history (**delayed by ~15 minutes**).
|
|
922308
922308
|
- **Crypto** pairs (e.g. BTC-USDT): real-time quotes and bars.
|
|
922309
922309
|
- **Fundamentals** (\`financial_get_fundamentals\`): summary ratios and income/balance/cashflow statements (end-of-day).
|
|
922310
|
-
- **Ticker news** (\`financial_get_news\`): recent articles for
|
|
922310
|
+
- **Ticker news** (\`financial_get_news\`): recent articles for A-share, HK, and US-listed equities. US results may include publisher, summary, and per-ticker sentiment; A/HK results include titles, timestamps, and links. Pass \`market\` to disambiguate symbols and check \`freshness\`.
|
|
922311
922311
|
|
|
922312
922312
|
Each snapshot carries a \`freshness\` field ({provider, asOf, latency}); check \`latency\` ("realtime"/"delayed"/"eod") before relying on a price for time-sensitive decisions. For numeric symbols that are ambiguous across markets (e.g. 5-digit codes), pass the \`market\` hint (A/HK/US/crypto).
|
|
922313
922313
|
|
|
@@ -990462,7 +990462,7 @@ var init_browser_launcher = __esm({
|
|
|
990462
990462
|
|
|
990463
990463
|
// dist/utils/playwriter-relay.js
|
|
990464
990464
|
function isBundled2() {
|
|
990465
|
-
const v16 = "0.1.
|
|
990465
|
+
const v16 = "0.1.207-beta.0";
|
|
990466
990466
|
return typeof v16 === "string" && v16 !== "undefined";
|
|
990467
990467
|
}
|
|
990468
990468
|
function resolveRelayEntryPath() {
|
|
@@ -990588,7 +990588,7 @@ function selectAndPruneCanonicalRelay(matches, expectedEntry) {
|
|
|
990588
990588
|
return canonical;
|
|
990589
990589
|
}
|
|
990590
990590
|
function pm2Start(entryPath, host, port) {
|
|
990591
|
-
const versionStr = "0.1.
|
|
990591
|
+
const versionStr = "0.1.207-beta.0";
|
|
990592
990592
|
(0, import_node_child_process19.execFileSync)("pm2", ["start", entryPath, "--name", PM2_PROCESS_NAME, "--update-env"], {
|
|
990593
990593
|
encoding: "utf-8",
|
|
990594
990594
|
stdio: "pipe",
|
|
@@ -990614,7 +990614,7 @@ function pm2Delete() {
|
|
|
990614
990614
|
}
|
|
990615
990615
|
}
|
|
990616
990616
|
function pm2Restart(host, port) {
|
|
990617
|
-
const versionStr = "0.1.
|
|
990617
|
+
const versionStr = "0.1.207-beta.0";
|
|
990618
990618
|
(0, import_node_child_process19.execFileSync)("pm2", ["restart", PM2_PROCESS_NAME, "--update-env"], {
|
|
990619
990619
|
encoding: "utf-8",
|
|
990620
990620
|
stdio: "pipe",
|
|
@@ -991083,7 +991083,7 @@ async function reconcilePlaywriterRelay(host = "127.0.0.1", port = 19988) {
|
|
|
991083
991083
|
pm2Restart(host, port);
|
|
991084
991084
|
return;
|
|
991085
991085
|
}
|
|
991086
|
-
const currentVersion = "0.1.
|
|
991086
|
+
const currentVersion = "0.1.207-beta.0";
|
|
991087
991087
|
if (currentEnv.VISIONCLAW_VERSION && currentEnv.VISIONCLAW_VERSION !== currentVersion) {
|
|
991088
991088
|
if (!await ensureRelayPortAvailable(host, port, current, "recreate after a version change"))
|
|
991089
991089
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "visionclaw",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.207-beta.0",
|
|
4
4
|
"description": "A personal assistant agent that runs on your desktop, receives commands from messaging channels, and executes tasks autonomously.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|