@wrenautomation/birdwatch 0.30.11 → 0.31.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 +15 -16
- package/dist/app/engine-cli.js +7 -18
- package/dist/app/engine-cli.js.map +1 -1
- package/dist/engine/agent.d.ts +9 -18
- package/dist/engine/agent.js +22 -40
- package/dist/engine/agent.js.map +1 -1
- package/dist/engine/judge.d.ts +33 -30
- package/dist/engine/judge.js +23 -36
- package/dist/engine/judge.js.map +1 -1
- package/dist/engine/types.js +1 -1
- package/dist/engine/types.js.map +1 -1
- package/dist/sources/ladder.d.ts +16 -5
- package/dist/sources/ladder.js +67 -29
- package/dist/sources/ladder.js.map +1 -1
- package/dist/sources/linkedin.js +6 -2
- package/dist/sources/linkedin.js.map +1 -1
- package/package.json +3 -3
package/dist/sources/ladder.d.ts
CHANGED
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
* (`GET $url/api/sites/web/fetch?url=&from=`, a bearer token); `ingressLadderClient` for the
|
|
10
10
|
* Restate ingress the desk worker sits behind (`POST $url/desk/call`, the same bearer).
|
|
11
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* How long one worker call may take. A desk flow runs at a person's pace: a LinkedIn post
|
|
14
|
+
* search of 50 took 195 s on 2026-11-03, so three minutes cut it off after the cap was spent.
|
|
15
|
+
*/
|
|
16
|
+
export declare const WORKER_WAIT_MS = 600000;
|
|
12
17
|
import { type LadderClient, type LadderTier } from "@wrenautomation/read/fetch";
|
|
13
18
|
import { type Media, type Reader } from "../document/index.js";
|
|
14
19
|
import type { Source } from "../engine/ports.js";
|
|
@@ -32,11 +37,15 @@ export declare function httpLadderClient(o: {
|
|
|
32
37
|
fetchFn?: typeof fetch;
|
|
33
38
|
}): LadderClient;
|
|
34
39
|
/**
|
|
35
|
-
* The Restate ingress wire to an autobrowse worker:
|
|
36
|
-
* call
|
|
37
|
-
* `
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
+
* The Restate ingress wire to an autobrowse worker: the site call as the body of `POST
|
|
41
|
+
* $url/$service/call/send`, the way wren's CLI reaches the desk, then `GET
|
|
42
|
+
* $url/restate/invocation/$id/output` every few seconds until the answer is in. Sent, not held:
|
|
43
|
+
* a desk flow runs for minutes, a held request dies on the way (a proxy's idle cut, undici's
|
|
44
|
+
* five-minute wait for headers), and Restate retries a cut flow on its own, so the answer
|
|
45
|
+
* lands whichever try finishes. `service` is `desk` (the Mac) or `sites` (a box); `caller`
|
|
46
|
+
* names who asks, for the worker's per-caller usage. Restate answers a refused call as
|
|
47
|
+
* `{"code":429,"message":"…"}` under that status: a 429 is the ladder's "cap". A coded refusal
|
|
48
|
+
* adds `"metadata":{"code":"need_login"}`.
|
|
40
49
|
*/
|
|
41
50
|
export declare function ingressLadderClient(o: {
|
|
42
51
|
url: string;
|
|
@@ -44,4 +53,6 @@ export declare function ingressLadderClient(o: {
|
|
|
44
53
|
service?: string;
|
|
45
54
|
caller?: string;
|
|
46
55
|
fetchFn?: typeof fetch;
|
|
56
|
+
/** For tests: the wait between polls. */
|
|
57
|
+
sleepFn?: (ms: number) => Promise<void>;
|
|
47
58
|
}): LadderClient;
|
package/dist/sources/ladder.js
CHANGED
|
@@ -9,6 +9,17 @@
|
|
|
9
9
|
* (`GET $url/api/sites/web/fetch?url=&from=`, a bearer token); `ingressLadderClient` for the
|
|
10
10
|
* Restate ingress the desk worker sits behind (`POST $url/desk/call`, the same bearer).
|
|
11
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* How long one worker call may take. A desk flow runs at a person's pace: a LinkedIn post
|
|
14
|
+
* search of 50 took 195 s on 2026-11-03, so three minutes cut it off after the cap was spent.
|
|
15
|
+
*/
|
|
16
|
+
export const WORKER_WAIT_MS = 600_000;
|
|
17
|
+
/** One short request: the send, a poll. */
|
|
18
|
+
const SEND_WAIT_MS = 30_000;
|
|
19
|
+
/** Between polls of a running invocation. */
|
|
20
|
+
const POLL_MS = 5_000;
|
|
21
|
+
/** Restate's answer for an invocation still running. */
|
|
22
|
+
const NOT_DONE = 470;
|
|
12
23
|
import { Transient } from "@wrenautomation/models";
|
|
13
24
|
import { fetchLadder } from "@wrenautomation/read/fetch";
|
|
14
25
|
import { defaultReaders } from "../document/index.js";
|
|
@@ -92,7 +103,7 @@ export function httpLadderClient(o) {
|
|
|
92
103
|
...(o.token ? { authorization: `Bearer ${o.token}` } : {}),
|
|
93
104
|
},
|
|
94
105
|
...(read ? {} : { body: JSON.stringify(input ?? {}) }),
|
|
95
|
-
signal: AbortSignal.timeout(
|
|
106
|
+
signal: AbortSignal.timeout(WORKER_WAIT_MS),
|
|
96
107
|
});
|
|
97
108
|
const text = await res.text();
|
|
98
109
|
const body = text ? JSON.parse(text) : null;
|
|
@@ -105,26 +116,48 @@ export function httpLadderClient(o) {
|
|
|
105
116
|
};
|
|
106
117
|
}
|
|
107
118
|
/**
|
|
108
|
-
* The Restate ingress wire to an autobrowse worker:
|
|
109
|
-
* call
|
|
110
|
-
* `
|
|
111
|
-
*
|
|
112
|
-
*
|
|
119
|
+
* The Restate ingress wire to an autobrowse worker: the site call as the body of `POST
|
|
120
|
+
* $url/$service/call/send`, the way wren's CLI reaches the desk, then `GET
|
|
121
|
+
* $url/restate/invocation/$id/output` every few seconds until the answer is in. Sent, not held:
|
|
122
|
+
* a desk flow runs for minutes, a held request dies on the way (a proxy's idle cut, undici's
|
|
123
|
+
* five-minute wait for headers), and Restate retries a cut flow on its own, so the answer
|
|
124
|
+
* lands whichever try finishes. `service` is `desk` (the Mac) or `sites` (a box); `caller`
|
|
125
|
+
* names who asks, for the worker's per-caller usage. Restate answers a refused call as
|
|
126
|
+
* `{"code":429,"message":"…"}` under that status: a 429 is the ladder's "cap". A coded refusal
|
|
127
|
+
* adds `"metadata":{"code":"need_login"}`.
|
|
113
128
|
*/
|
|
114
129
|
export function ingressLadderClient(o) {
|
|
115
130
|
const fetchFn = o.fetchFn ?? fetch;
|
|
131
|
+
const sleepFn = o.sleepFn ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
116
132
|
const base = o.url.replace(/\/$/, "");
|
|
117
133
|
const service = o.service ?? "desk";
|
|
118
134
|
const caller = o.caller ?? "birdwatch";
|
|
135
|
+
const headers = {
|
|
136
|
+
"content-type": "application/json",
|
|
137
|
+
...(o.token ? { authorization: `Bearer ${o.token}` } : {}),
|
|
138
|
+
};
|
|
139
|
+
const bodyOf = async (res) => {
|
|
140
|
+
const text = await res.text();
|
|
141
|
+
try {
|
|
142
|
+
return { text, body: text ? JSON.parse(text) : null };
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return { text, body: text };
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const refusal = (site, method, path, res, text, body) => {
|
|
149
|
+
const said = body && typeof body === "object" && "message" in body
|
|
150
|
+
? String(body.message)
|
|
151
|
+
: text || res.statusText;
|
|
152
|
+
// A coded refusal: autobrowse puts the access code in the terminal error's metadata.
|
|
153
|
+
const code = body?.metadata?.code;
|
|
154
|
+
return new LadderCallError(`${site} ${method} ${path}: ${res.status} ${said}`, res.status, typeof code === "string" ? code : null);
|
|
155
|
+
};
|
|
119
156
|
return {
|
|
120
157
|
async call(site, method, path, input, as) {
|
|
121
|
-
const
|
|
158
|
+
const sent = await fetchFn(`${base}/${service}/call/send`, {
|
|
122
159
|
method: "POST",
|
|
123
|
-
headers: {
|
|
124
|
-
"content-type": "application/json",
|
|
125
|
-
"idempotency-key": crypto.randomUUID(),
|
|
126
|
-
...(o.token ? { authorization: `Bearer ${o.token}` } : {}),
|
|
127
|
-
},
|
|
160
|
+
headers: { ...headers, "idempotency-key": crypto.randomUUID() },
|
|
128
161
|
body: JSON.stringify({
|
|
129
162
|
site,
|
|
130
163
|
method,
|
|
@@ -133,25 +166,30 @@ export function ingressLadderClient(o) {
|
|
|
133
166
|
caller,
|
|
134
167
|
...(as?.account ? { account: as.account } : {}),
|
|
135
168
|
}),
|
|
136
|
-
signal: AbortSignal.timeout(
|
|
169
|
+
signal: AbortSignal.timeout(SEND_WAIT_MS),
|
|
137
170
|
});
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
171
|
+
const first = await bodyOf(sent);
|
|
172
|
+
if (!sent.ok)
|
|
173
|
+
throw refusal(site, method, path, sent, first.text, first.body);
|
|
174
|
+
const id = first.body?.invocationId;
|
|
175
|
+
if (typeof id !== "string")
|
|
176
|
+
throw new Error(`${site} ${method} ${path}: the ingress named no invocation`);
|
|
177
|
+
const until = Date.now() + WORKER_WAIT_MS;
|
|
178
|
+
for (;;) {
|
|
179
|
+
const res = await fetchFn(`${base}/restate/invocation/${id}/output`, {
|
|
180
|
+
headers,
|
|
181
|
+
signal: AbortSignal.timeout(SEND_WAIT_MS),
|
|
182
|
+
});
|
|
183
|
+
const { text, body } = await bodyOf(res);
|
|
184
|
+
if (res.ok)
|
|
185
|
+
return body;
|
|
186
|
+
// 470: the invocation runs still
|
|
187
|
+
if (res.status !== NOT_DONE)
|
|
188
|
+
throw refusal(site, method, path, res, text, body);
|
|
189
|
+
if (Date.now() >= until)
|
|
190
|
+
throw new Error(`${site} ${method} ${path}: no answer in ${WORKER_WAIT_MS / 1000} s (${id})`);
|
|
191
|
+
await sleepFn(POLL_MS);
|
|
145
192
|
}
|
|
146
|
-
if (!res.ok) {
|
|
147
|
-
const said = body && typeof body === "object" && "message" in body
|
|
148
|
-
? String(body.message)
|
|
149
|
-
: text || res.statusText;
|
|
150
|
-
// A coded refusal: autobrowse puts the access code in the terminal error's metadata.
|
|
151
|
-
const code = body?.metadata?.code;
|
|
152
|
-
throw new LadderCallError(`${site} ${method} ${path}: ${res.status} ${said}`, res.status, typeof code === "string" ? code : null);
|
|
153
|
-
}
|
|
154
|
-
return body;
|
|
155
193
|
},
|
|
156
194
|
};
|
|
157
195
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ladder.js","sourceRoot":"","sources":["../../src/sources/ladder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ladder.js","sourceRoot":"","sources":["../../src/sources/ladder.ts"],"names":[],"mappings":"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"}
|
package/dist/sources/linkedin.js
CHANGED
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
import { metricsOf } from "./metrics.js";
|
|
9
9
|
import { routeCall } from "./sites.js";
|
|
10
10
|
/** Posts per search page: the route's most. */
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Posts per page read. The flow scrolls at a person's pace: 50 took 196 s on 2026-11-03, and
|
|
13
|
+
* the desk's stream to Restate was cut twice past two minutes (each retry spent the cap).
|
|
14
|
+
*/
|
|
15
|
+
const SEARCH_MAX = 20;
|
|
12
16
|
/** The widest window the search route offers. */
|
|
13
17
|
const SINCE = "past-month";
|
|
14
18
|
/** A profile or Page URL: `in/<vanity>` or `company/<handle>`, the hit's channel. */
|
|
@@ -73,7 +77,7 @@ export function linkedinSource(o) {
|
|
|
73
77
|
const body = await routeCall(o.sites, who, "linkedin", `/company/${page.id}/posts`, input, o.account);
|
|
74
78
|
return hitsOf(body, "posts", channel);
|
|
75
79
|
}
|
|
76
|
-
const input = { vanity: page.id, max: Math.min(n,
|
|
80
|
+
const input = { vanity: page.id, max: Math.min(n, SEARCH_MAX) };
|
|
77
81
|
const body = await routeCall(o.sites, who, "linkedin", `/in/${page.id}/activity`, input, o.account);
|
|
78
82
|
return hitsOf(body, "activity", channel);
|
|
79
83
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkedin.js","sourceRoot":"","sources":["../../src/sources/linkedin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,+CAA+C;AAC/C,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,iDAAiD;AACjD,MAAM,KAAK,GAAG,YAAY,CAAC;AAE3B,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,MAAM,CAAC,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAqB,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;YAChF,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,IAAyC,EAAE,MAAe,EAAE,EAAE,CAC/E,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAa5C,MAAM,KAAK,GAAG,CAAC,CAAU,EAAgC,EAAE,CACzD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3D,gGAAgG;AAChG,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,OAAgB,EAAoB,EAAE;IACrE,IAAI,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1F,OAAO;QACL,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,IAAa,EAAE,GAAyB,EAAE,OAAgB,EAAe,EAAE;IACzF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,GAAG,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,6CAA6C;SACpG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,CAA2C;IACxE,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;IACvC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;QACnD,UAAU,EAAE,IAAI;QAChB,KAAK,CAAC,MAAM,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,CAAC,CAAC,KAAK,EACP,GAAG,EACH,UAAU,EACV,yBAAyB,EACzB,KAAK,EACL,CAAC,CAAC,OAAO,CACV,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI;QAClE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,CAAC,CAAC,KAAK,EACP,GAAG,EACH,UAAU,EACV,YAAY,IAAI,CAAC,EAAE,QAAQ,EAC3B,KAAK,EACL,CAAC,CAAC,OAAO,CACV,CAAC;gBACF,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"linkedin.js","sourceRoot":"","sources":["../../src/sources/linkedin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wrenautomation/birdwatch",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"description": "Research from the open web, driven by an agent one step per command: plan, search, triage, open, extract behind a quote gate, check, review, every record in a ledger. The agent decides; the engine runs the fixed steps. The ask and plan files, the document side (Document, Finding, Proof, the claim extractor), the sources (SearXNG, Exa, Perplexity, Hacker News, Google, arXiv, YouTube, Reddit, LinkedIn, Facebook, the fetch ladder) and the ledger. One CLI, `birdwatch`, with the readers of @wrenautomation/read on it.",
|
|
5
5
|
"license": "PolyForm-Strict-1.0.0",
|
|
6
6
|
"repository": {
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"minisearch": "7.2.0",
|
|
55
55
|
"ulid": "3.0.2",
|
|
56
56
|
"zod": "4.6.5",
|
|
57
|
-
"@wrenautomation/models": "0.
|
|
58
|
-
"@wrenautomation/read": "0.
|
|
57
|
+
"@wrenautomation/models": "0.31.0",
|
|
58
|
+
"@wrenautomation/read": "0.31.0"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
61
|
"typecheck": "tsc --noEmit",
|