visionclaw 0.1.206-beta.3 → 0.1.206-beta.5
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.
|
@@ -38,7 +38,7 @@ fin-app 是 VisionClaw 的金融版 Web App。你的 owner 在浏览器里使用
|
|
|
38
38
|
- **idea evidence 证据链**:正式证据是显式挂到 idea 上的 AuditRecord(`finapp_add_idea_evidence`,含 `stance` support/oppose/neutral、`impact`、`status` candidate→active/superseded/rejected)。对话里的 `[[audit:id]]` 引用只是"引用",**不会自动变成证据**;你要主动把重要审计记录提升为正式证据。
|
|
39
39
|
- **idea↔strategy 链接**:多对多(`finapp_link_idea_strategy` / `finapp_unlink_idea_strategy`),`relationType`:`derived_from`(策略源自想法)/ `supports`(想法支撑策略)/ `hedges`(策略对冲想法风险)。一个想法可以支撑多个策略,一个策略也可以依托多个想法;链接不改变想法自身状态。
|
|
40
40
|
- **strategy 策略**:建仓/止损/仓位纪律(`rules`)、`strategyType`(三种类型,见下节)、`mode`(`paper` 模拟盘 / `live-tracking` 实盘跟踪,与 strategyType 正交)、净值序列(`navSeries`)与指标(`metrics`)。**转实盘必须走 Action**:propose `strategy.update`(改 mode)→ owner 采纳后由服务端执行,仓位仍由 owner 线下操作。
|
|
41
|
-
- **monitor 监控**:挂在 idea/strategy/dashboard 上的条件监控(如"股价跌破 X"),底层是 event-trigger 服务;带 `reactionPolicy` 声明触发后你该做什么(见下方 Monitor 流程)。每次触发会留下不可变的 **MonitorEvent
|
|
41
|
+
- **monitor 监控**:挂在 idea/strategy/dashboard/portfolio 上的条件监控(如"股价跌破 X"),底层是 event-trigger 服务;带 `reactionPolicy` 声明触发后你该做什么(见下方 Monitor 流程)。每次触发会留下不可变的 **MonitorEvent**。挂在 **portfolio**(用户唯一的持仓对象,objectId 用 `finapp_get_portfolio` 返回的 id)上的是**持仓价格提醒**,在持仓页只读展示,其唤醒与回复走 `fin-holdings` thread。
|
|
42
42
|
- **note 笔记**:Workspace 中独立创建的 Markdown 研究资产,可独立存在,也可通过 `relatedObjects` 关联 dashboard/idea/strategy/portfolio;用 `finapp_list_notes`、`finapp_get_note`、`finapp_create_note`、`finapp_update_note` 读写。**App 不提供手动编辑器,笔记内容只能由你通过工具修改**:owner 在笔记专属 thread 里提出创建/修改意图,你先 `finapp_get_note` 读取最新内容,再用 `finapp_update_note` 落实修改,并在回复中简述改了什么。
|
|
43
43
|
- **portfolio / positions 持仓**:owner 的真实持仓。只能在 owner 确认后写入(来源:截图识别确认 / 手动输入)。
|
|
44
44
|
- **action 可执行建议(Suggested Action)**:系统内**可以真正执行**的操作提案(如"把想法 #7 的评估改为 weakening")。生命周期:`proposed → accepted →(executing)→ completed / failed`,或 `rejected / expired`。owner 在 App 里点"授权执行"后**fin-app 服务端立即执行**并记录结果;你会在对应 thread 收到系统消息。详见下方 Action 章节。
|
|
@@ -85,12 +85,12 @@ Suggested Action 的定义是**"系统能执行的操作 + owner 的授权"**,
|
|
|
85
85
|
|
|
86
86
|
金融对象的条件监控(如"NVDA 跌破 100 提醒我")**每个操作都是一次 `finapp_*` 调用**,服务端会自动同步 event-trigger(注册/暂停/恢复/删除 trigger、生成 wakePrompt),你**不需要也不应该**为 monitor 调用 `manage_event_trigger`:
|
|
87
87
|
|
|
88
|
-
- **创建**:`finapp_create_monitor(objectType, objectId, title, condition, fireMode?, cooldownSeconds?, expiresAt?, reactionPolicy?)` 一次完成。`condition` 是 market_price 条件(`{symbol, market?, field?, operator, threshold}`,field 缺省 `last`)。`reactionPolicy` 声明触发后你的既定动作:`record_only`(默认,只记录)/ `append_candidate_evidence`(落候选证据)/ `reevaluate`(重新评估挂靠对象)/ `propose_action`(评估后提出 Action)/ `notify_immediately`(立即通知 owner)。返回的 monitor 已含 `triggerId`。
|
|
88
|
+
- **创建**:`finapp_create_monitor(objectType, objectId, title, condition, fireMode?, cooldownSeconds?, expiresAt?, reactionPolicy?)` 一次完成。`objectType` 可为 `idea/strategy/dashboard/portfolio`;**持仓价格提醒**用 `objectType="portfolio"`、`objectId` 传 `finapp_get_portfolio` 返回的 id(用户唯一持仓对象,永远 active,无需挂 idea/strategy)。`condition` 是 market_price 条件(`{symbol, market?, field?, operator, threshold}`,field 缺省 `last`)。`reactionPolicy` 声明触发后你的既定动作:`record_only`(默认,只记录)/ `append_candidate_evidence`(落候选证据)/ `reevaluate`(重新评估挂靠对象)/ `propose_action`(评估后提出 Action)/ `notify_immediately`(立即通知 owner)。返回的 monitor 已含 `triggerId`。
|
|
89
89
|
- **暂停/恢复**:`finapp_update_monitor(id, {status: "paused" | "active"})`。
|
|
90
90
|
- **改条件**:`finapp_update_monitor(id, {condition})`(服务端自动重新注册 trigger)。
|
|
91
91
|
- **删除**:`finapp_delete_monitor(id)`(服务端级联删 trigger)。
|
|
92
92
|
|
|
93
|
-
**收到 external-wake 时**:monitor 触发的唤醒文本以 `fin-app monitor:<id> fin-<objectType>-<objectId
|
|
93
|
+
**收到 external-wake 时**:monitor 触发的唤醒文本以 `fin-app monitor:<id> <threadKey>: <title>` 开头(`threadKey` 为 `fin-<objectType>-<objectId>`,portfolio 监控则为 `fin-holdings`)。这类唤醒会被**直接路由到挂靠对象的专属 thread**(如 `fin-idea-7`;持仓价格提醒是 `fin-holdings`),所以你收到它时就已经在正确的对话上下文里。**触发只是信号,不是行动指令**——按标准循环处理(门禁 → 触发 → 事件 → 审计/候选证据 → 重估 → 必要时才提 Action):
|
|
94
94
|
|
|
95
95
|
0. **门禁(必做第 0 步)**:先 `finapp_get_monitor(monitorId)` 检查返回的 `sourceActive`、monitor `status`、`trigger_id`。以下任一情况成立即为**僵尸触发,不执行 reactionPolicy**:`sourceActive=false`(挂靠对象已 closed/archived/删除)、monitor 已 deleted/paused、或 `trigger_id` 与 wake meta 里的 `triggerId` 不一致(被替换的旧 trigger)。僵尸触发的处理:仍用 `finapp_record_monitor_event` 记一次事件(在 `event.reason` 里写明 skipped 及原因,如 `skipped: idea closed`),**绝不调用任何 event-trigger 工具去清理 trigger**(服务端 reconciler 负责),然后在 `expectedThreadKey` 对应 thread 留一行说明即可。若返回的 `expectedThreadKey` 与当前 thread 不一致,以 `expectedThreadKey` 为准。
|
|
96
96
|
1. 把触发时的关键数据先落 `finapp_append_audit`;
|
|
@@ -155,3 +155,7 @@ fin-app 服务端每天在 owner 当地时间早上 8 点向 `fin-home` thread
|
|
|
155
155
|
**owner 在 manual 策略 thread 说"模拟盘买入 600519 200 股"**:确认策略已开通模拟盘(没有则先确认市场后 `finapp_start_paper_trading`)→ `finapp_place_paper_order(id, assetId="A:600519", side="buy", quantity=200)` → 回复"已在模拟盘提交买入订单"(明确是模拟)。
|
|
156
156
|
|
|
157
157
|
**owner 说"茅台跌破 1500 提醒我"(在某 idea/strategy thread)**:一次 `finapp_create_monitor(objectType, objectId, title, condition={symbol:"600519", market:"CN", operator:"lte", threshold:1500})` 即完成(服务端自动注册 event-trigger)→ 回复已设置监控。
|
|
158
|
+
|
|
159
|
+
### Mentioned instruments
|
|
160
|
+
|
|
161
|
+
When you explicitly discuss a listed instrument in a FinApp object thread, proactively call `finapp_add_mentioned_instruments(threadKey, instruments)` after confirming complete identity. Supply market (`US|HK|A`), an ISO MIC exchange from the supported list (`XNAS|XNYS|ARCX|XHKG|XSHG|XSHE`), assetType, canonicalSymbol, and a contract/share-class identifier for options or non-ETF funds. This is an Agent decision and tool write, not automatic text extraction. Never guess from a bare ticker; omit genuinely ambiguous candidates.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/event-trigger/sidecar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/event-trigger/sidecar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA6B3D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,wEAAwE;IACxE,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC;CACnD;AAED,qBAAa,mBAAmB;IAQlB,OAAO,CAAC,IAAI;IAPxB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAqB;gBAExB,IAAI,EAAE,WAAW;IAErC;;;;;;;OAOG;IACH,KAAK,IAAI,OAAO;IAiBhB,IAAI,IAAI,IAAI;IAgBZ,OAAO,CAAC,OAAO;IAwDf,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,WAAW;IAuBnB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAyCjC,uEAAuE;YACzD,gBAAgB;CA4B/B"}
|
|
@@ -24,15 +24,18 @@ const PING_INTERVAL_MS = 30_000;
|
|
|
24
24
|
/**
|
|
25
25
|
* Strict prefix emitted by fin-app's server-side `buildMonitorWakePrompt`
|
|
26
26
|
* (services/fin-app/server/services/objects.ts):
|
|
27
|
-
* `fin-app monitor:<id>
|
|
27
|
+
* `fin-app monitor:<id> <threadKey>: <title>`
|
|
28
28
|
*
|
|
29
|
-
* Capture 1 = monitorId, capture 2 = fin-app thread key.
|
|
29
|
+
* Capture 1 = monitorId, capture 2 = fin-app thread key. The thread key is
|
|
30
|
+
* either an object thread (`fin-<objectType>-<objectId>`) or the singleton
|
|
31
|
+
* `fin-holdings` thread (portfolio price-alert monitors). Only wakePrompts
|
|
30
32
|
* matching this exact shape are re-routed to the fin-app thread; everything
|
|
31
33
|
* else (generic agent-created reminders, malformed/forged prompts) falls
|
|
32
|
-
* through to the main process queue unchanged. The objectType
|
|
33
|
-
* id
|
|
34
|
+
* through to the main process queue unchanged. The fixed objectType alternation
|
|
35
|
+
* (+ numeric id, or the literal fin-holdings) means a forged prompt cannot
|
|
36
|
+
* create arbitrary thread ids.
|
|
34
37
|
*/
|
|
35
|
-
const FIN_APP_MONITOR_PREFIX_RE = /^fin-app monitor:(\d+) (fin-(?:idea|strategy|dashboard)-\d
|
|
38
|
+
const FIN_APP_MONITOR_PREFIX_RE = /^fin-app monitor:(\d+) (fin-(?:idea|strategy|dashboard)-\d+|fin-holdings):/;
|
|
36
39
|
export class EventTriggerSidecar {
|
|
37
40
|
deps;
|
|
38
41
|
ws = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/event-trigger/sidecar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAG/B,OAAO,EAAE,8BAA8B,EAAgC,MAAM,iCAAiC,CAAC;AAE/G,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAQtC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC
|
|
1
|
+
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/event-trigger/sidecar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAG/B,OAAO,EAAE,8BAA8B,EAAgC,MAAM,iCAAiC,CAAC;AAE/G,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAQtC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,yBAAyB,GAAG,4EAA4E,CAAC;AAmB/G,MAAM,OAAO,mBAAmB;IAQV;IAPZ,EAAE,GAAqB,IAAI,CAAC;IAC5B,SAAS,GAAG,kBAAkB,CAAC;IAC/B,cAAc,GAA0B,IAAI,CAAC;IAC7C,SAAS,GAA0B,IAAI,CAAC;IACxC,OAAO,GAAG,KAAK,CAAC;IAChB,eAAe,CAAqB;IAE5C,YAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;IAAG,CAAC;IAEzC;;;;;;;OAOG;IACH,KAAK;QACH,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC5E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,uEAAuE;QACvE,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACvD,MAAM,CAAC,KAAK,CACV,6CAA6C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChG,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,SAAS;YAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,KAA+B;QAC7C,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,QAAQ,GAAG,KAAK,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;YACxF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;QAC9D,IAAI,EAAa,CAAC;QAClB,IAAI,CAAC;YACH,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE;gBACxB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,CAAC,MAAM,EAAE,EAAE;aACxD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,2CAA2C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9F,CAAC;YACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;YACpC,0DAA0D;YAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;YAClF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAoB,EAAE,EAAE;YACxC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBACtE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,yCAAyC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,2CAA2C;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEO,IAAI,CAAC,GAA4B;QACvC,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,GAAW;QAC7B,IAAI,KAAyC,CAAC;QAC9C,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO;QACxC,MAAM,SAAS,GAAG,KAAuB,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,wEAAwE;YACxE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,gDAAgD,OAAO,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC/G,CAAC;YACF,qEAAqE;QACvE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,cAAc,CAAC,IAAoB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,MAAM;YAAE,OAAO;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,yBAAyB,CAAC,IAAoB;QACpD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAClC,MAAM,UAAU,GAAI,IAAI,CAAC,IAA6C,EAAE,UAAU,CAAC;QACnF,IAAI,OAAO,UAAU,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,aAAa,GAAmB;YACpC,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ;YACjB,kEAAkE;YAClE,gEAAgE;YAChE,kEAAkE;YAClE,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE;gBACJ,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACpB,QAAQ,EAAE,SAAS;gBACnB,eAAe,EAAE,SAAS;aAC3B;SACF,CAAC;QACF,IAAI,CAAC;YACH,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,yDAAyD,SAAS,EAAE,EAAE;oBAC9G,QAAQ,EAAE,SAAS;oBACnB,SAAS;oBACT,SAAS,EAAE,IAAI,CAAC,EAAE;iBACnB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,qDAAqD,IAAI,CAAC,EAAE,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChJ,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uEAAuE;IAC/D,KAAK,CAAC,gBAAgB,CAAC,KAA8B;QAC3D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,qBAAqB,EAAE;gBAC7D,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,CAAC,MAAM,EAAE,EAAE;gBACpD,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO;YACpB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrC,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,eAAe,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE;wBAClF,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,CAAC,MAAM,EAAE,EAAE;qBACrD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAqB,CAAC,CAAC,CAAC;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,mBAAmB;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
|
package/dist-agent/bundle.cjs
CHANGED
|
@@ -20792,7 +20792,7 @@ var require_prompts3 = __commonJS({
|
|
|
20792
20792
|
|
|
20793
20793
|
// dist/utils/version-check.js
|
|
20794
20794
|
function isBundled() {
|
|
20795
|
-
const v14 = "0.1.206-beta.
|
|
20795
|
+
const v14 = "0.1.206-beta.5";
|
|
20796
20796
|
return typeof v14 === "string" && v14 !== "undefined";
|
|
20797
20797
|
}
|
|
20798
20798
|
function getPackageRoot() {
|
|
@@ -20809,7 +20809,7 @@ function getInstallationInfo() {
|
|
|
20809
20809
|
};
|
|
20810
20810
|
}
|
|
20811
20811
|
function getCurrentVersion() {
|
|
20812
|
-
const bundledVersion = "0.1.206-beta.
|
|
20812
|
+
const bundledVersion = "0.1.206-beta.5";
|
|
20813
20813
|
if (bundledVersion && bundledVersion !== "undefined") {
|
|
20814
20814
|
return bundledVersion;
|
|
20815
20815
|
}
|
|
@@ -990857,7 +990857,7 @@ var init_browser_launcher = __esm({
|
|
|
990857
990857
|
|
|
990858
990858
|
// dist/utils/playwriter-relay.js
|
|
990859
990859
|
function isBundled2() {
|
|
990860
|
-
const v14 = "0.1.206-beta.
|
|
990860
|
+
const v14 = "0.1.206-beta.5";
|
|
990861
990861
|
return typeof v14 === "string" && v14 !== "undefined";
|
|
990862
990862
|
}
|
|
990863
990863
|
function resolveRelayEntryPath() {
|
|
@@ -990892,7 +990892,7 @@ function getPm2RelayProcess() {
|
|
|
990892
990892
|
}
|
|
990893
990893
|
}
|
|
990894
990894
|
function pm2Start(entryPath, host, port) {
|
|
990895
|
-
const versionStr = "0.1.206-beta.
|
|
990895
|
+
const versionStr = "0.1.206-beta.5";
|
|
990896
990896
|
(0, import_node_child_process19.execFileSync)("pm2", ["start", entryPath, "--name", PM2_PROCESS_NAME, "--update-env"], {
|
|
990897
990897
|
encoding: "utf-8",
|
|
990898
990898
|
stdio: "pipe",
|
|
@@ -990918,7 +990918,7 @@ function pm2Delete() {
|
|
|
990918
990918
|
}
|
|
990919
990919
|
}
|
|
990920
990920
|
function pm2Restart(host, port) {
|
|
990921
|
-
const versionStr = "0.1.206-beta.
|
|
990921
|
+
const versionStr = "0.1.206-beta.5";
|
|
990922
990922
|
(0, import_node_child_process19.execFileSync)("pm2", ["restart", PM2_PROCESS_NAME, "--update-env"], {
|
|
990923
990923
|
encoding: "utf-8",
|
|
990924
990924
|
stdio: "pipe",
|
|
@@ -991088,7 +991088,7 @@ function reconcilePlaywriterRelay(host = "127.0.0.1", port = 19988) {
|
|
|
991088
991088
|
pm2Restart(host, port);
|
|
991089
991089
|
return;
|
|
991090
991090
|
}
|
|
991091
|
-
const currentVersion = "0.1.206-beta.
|
|
991091
|
+
const currentVersion = "0.1.206-beta.5";
|
|
991092
991092
|
if (currentEnv.VISIONCLAW_VERSION && currentEnv.VISIONCLAW_VERSION !== currentVersion) {
|
|
991093
991093
|
logger.system(`Playwriter relay: VisionClaw version changed (${currentEnv.VISIONCLAW_VERSION} \u2192 ${currentVersion}), recreating`);
|
|
991094
991094
|
pm2Delete();
|
|
@@ -1394956,7 +1394956,7 @@ var init_sidecar2 = __esm({
|
|
|
1394956
1394956
|
INITIAL_BACKOFF_MS2 = 1e3;
|
|
1394957
1394957
|
MAX_BACKOFF_MS2 = 6e4;
|
|
1394958
1394958
|
PING_INTERVAL_MS2 = 3e4;
|
|
1394959
|
-
FIN_APP_MONITOR_PREFIX_RE = /^fin-app monitor:(\d+) (fin-(?:idea|strategy|dashboard)-\d
|
|
1394959
|
+
FIN_APP_MONITOR_PREFIX_RE = /^fin-app monitor:(\d+) (fin-(?:idea|strategy|dashboard)-\d+|fin-holdings):/;
|
|
1394960
1394960
|
EventTriggerSidecar = class {
|
|
1394961
1394961
|
deps;
|
|
1394962
1394962
|
ws = null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "visionclaw",
|
|
3
|
-
"version": "0.1.206-beta.
|
|
3
|
+
"version": "0.1.206-beta.5",
|
|
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",
|