@nac3/forge-cli 1.2.0 → 1.2.1
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/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +5 -1
- package/dist/chat/server.js.map +1 -1
- package/dist/relay/relay_client.d.ts +1 -1
- package/dist/relay/relay_client.d.ts.map +1 -1
- package/dist/relay/relay_client.js +11 -4
- package/dist/relay/relay_client.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -24,5 +24,5 @@ export interface RelayDeps {
|
|
|
24
24
|
/** Append events to this handle's relay log. */
|
|
25
25
|
export declare function relayAppend(deps: RelayDeps, from: RelayFrom, events: RelayAppendEvent[]): Promise<RelayAppendResult>;
|
|
26
26
|
/** Poll for events with seq > since (optionally filtered by kind). */
|
|
27
|
-
export declare function relayPoll(deps: RelayDeps, since: number, kinds?: string[]): Promise<RelayPollResult>;
|
|
27
|
+
export declare function relayPoll(deps: RelayDeps, since: number, kinds?: string[], waitSecs?: number): Promise<RelayPollResult>;
|
|
28
28
|
//# sourceMappingURL=relay_client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay_client.d.ts","sourceRoot":"","sources":["../../src/relay/relay_client.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAChE,MAAM,YAAY,CAAC;AAIpB;sEACsE;AACtE,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KACxE,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAAC;AAE/D,MAAM,WAAW,SAAS;IACxB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;mBACe;IACf,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;AAkCD,gDAAgD;AAChD,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU1H;AAED,sEAAsE;AACtE,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"relay_client.d.ts","sourceRoot":"","sources":["../../src/relay/relay_client.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAChE,MAAM,YAAY,CAAC;AAIpB;sEACsE;AACtE,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KACxE,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAAC;AAE/D,MAAM,WAAW,SAAS;IACxB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;mBACe;IACf,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;AAkCD,gDAAgD;AAChD,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU1H;AAED,sEAAsE;AACtE,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmB7H"}
|
|
@@ -31,12 +31,12 @@ async function defaultDesktopAuth() {
|
|
|
31
31
|
* so a hung append never wedges the publisher's `flushing` flag forever
|
|
32
32
|
* (which would silently stop all board/activity/status updates). */
|
|
33
33
|
const RELAY_TIMEOUT_MS = 15_000;
|
|
34
|
-
function fetchOf(deps) {
|
|
34
|
+
function fetchOf(deps, timeoutMs = RELAY_TIMEOUT_MS) {
|
|
35
35
|
if (deps.fetchImpl)
|
|
36
36
|
return deps.fetchImpl;
|
|
37
37
|
return (u, init) => {
|
|
38
38
|
const ctrl = new AbortController();
|
|
39
|
-
const timer = setTimeout(() => ctrl.abort(),
|
|
39
|
+
const timer = setTimeout(() => ctrl.abort(), timeoutMs);
|
|
40
40
|
return globalThis.fetch(u, { ...init, signal: ctrl.signal })
|
|
41
41
|
.finally(() => clearTimeout(timer));
|
|
42
42
|
};
|
|
@@ -59,13 +59,20 @@ export async function relayAppend(deps, from, events) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
/** Poll for events with seq > since (optionally filtered by kind). */
|
|
62
|
-
export async function relayPoll(deps, since, kinds) {
|
|
62
|
+
export async function relayPoll(deps, since, kinds, waitSecs) {
|
|
63
63
|
const { bearer, handle } = await (deps.getAuth ?? defaultDesktopAuth)();
|
|
64
64
|
const base = (deps.baseUrl ?? HITO4_BASE_URL).replace(/\/+$/, '');
|
|
65
65
|
let url = base + '/v1/relay/' + encodeURIComponent(handle) + '?since=' + encodeURIComponent(String(since));
|
|
66
66
|
if (kinds && kinds.length)
|
|
67
67
|
url += '&kinds=' + encodeURIComponent(kinds.join(','));
|
|
68
|
-
|
|
68
|
+
/* Long-poll (2026-09-02): ask the worker to HOLD the connection up to
|
|
69
|
+
* `waitSecs` (capped 20s) so ~8 short-polls collapse into ONE request. The
|
|
70
|
+
* fetch timeout must exceed the hold, or it aborts the poll mid-wait. */
|
|
71
|
+
const wait = (typeof waitSecs === 'number' && waitSecs > 0) ? Math.min(20, Math.floor(waitSecs)) : 0;
|
|
72
|
+
if (wait)
|
|
73
|
+
url += '&wait=' + wait;
|
|
74
|
+
const timeoutMs = wait ? wait * 1000 + 5000 : RELAY_TIMEOUT_MS;
|
|
75
|
+
const r = await fetchOf(deps, timeoutMs)(url, {
|
|
69
76
|
method: 'GET',
|
|
70
77
|
headers: { Authorization: 'Bearer ' + bearer, 'x-yf-user-handle': handle },
|
|
71
78
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay_client.js","sourceRoot":"","sources":["../../src/relay/relay_client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAKxD,MAAM,cAAc,GAAG,0CAA0C,CAAC;AAmBlE,KAAK,UAAU,kBAAkB;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC9E;;4BAEwB;IACxB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC1F,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;AAC3F,CAAC;AAED;;;oEAGoE;AACpE,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,SAAS,OAAO,CAAC,IAAe;
|
|
1
|
+
{"version":3,"file":"relay_client.js","sourceRoot":"","sources":["../../src/relay/relay_client.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Yujin Forge CLI version. Kept in sync with package.json by the npm
|
|
3
3
|
* "version" lifecycle (scripts/sync_version.mjs) so the two never drift.
|
|
4
4
|
*/
|
|
5
|
-
export declare const VERSION = "1.2.
|
|
5
|
+
export declare const VERSION = "1.2.1";
|
|
6
6
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nac3/forge-cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": "Pablo Kuschnirof <pablo@rpaforce.com>",
|