@nac3/forge-cli 1.11.0 → 1.12.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/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +16 -1
- package/dist/chat/server.js.map +1 -1
- package/dist/relay/in_flight_turn.d.ts +56 -0
- package/dist/relay/in_flight_turn.d.ts.map +1 -0
- package/dist/relay/in_flight_turn.js +72 -0
- package/dist/relay/in_flight_turn.js.map +1 -0
- package/dist/relay/relay_publisher.d.ts +6 -0
- package/dist/relay/relay_publisher.d.ts.map +1 -1
- package/dist/relay/relay_publisher.js +17 -0
- package/dist/relay/relay_publisher.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* El turno EN VUELO del desktop, como ESTADO consultable.
|
|
3
|
+
*
|
|
4
|
+
* Por que existe (Pablo, 2026-10-11): "en chat no muestra mi ultimo pedido en
|
|
5
|
+
* proceso, sino la ultima respuesta de Forge. Mi pedido posterior en ejecucion
|
|
6
|
+
* sigue sin mostrarse, es fundamental para entender que esta haciendo".
|
|
7
|
+
*
|
|
8
|
+
* El desktop ya anunciaba el arranque del turno con un `status('working')` que
|
|
9
|
+
* lleva el texto del usuario y el id. Pero es UN evento, publicado una sola
|
|
10
|
+
* vez, y eso tiene dos agujeros que juntos explican el sintoma exacto:
|
|
11
|
+
*
|
|
12
|
+
* 1. El telefono ocioso pollea cada 15s, y la cadencia rapida (2.5s) solo se
|
|
13
|
+
* enciende DESPUES de enterarse de que el desktop esta trabajando. O sea
|
|
14
|
+
* que el aviso que deberia acelerar el poll llega al ritmo lento: un turno
|
|
15
|
+
* mas corto que la ventana llega junto con su respuesta, y la peticion
|
|
16
|
+
* aparece ya contestada.
|
|
17
|
+
* 2. Si el turno es largo y sigue produciendo actividad, el `status` queda
|
|
18
|
+
* fuera de la cola corta (tail=40) -- y entonces ni refrescando se
|
|
19
|
+
* recupera. No habia forma de preguntar "que esta haciendo AHORA", porque
|
|
20
|
+
* no habia estado que preguntar, solo un evento que habia que cazar.
|
|
21
|
+
*
|
|
22
|
+
* La salida es convertir el anuncio en estado: el latido de presencia (cada
|
|
23
|
+
* 15s) repite el turno en vuelo, asi que cualquier poll -- incluido un
|
|
24
|
+
* refresco a mano -- cae sobre un latido reciente y reconstruye que esta
|
|
25
|
+
* corriendo, incluso si el telefono no estaba conectado cuando arranco.
|
|
26
|
+
*
|
|
27
|
+
* ASCII puro.
|
|
28
|
+
*/
|
|
29
|
+
export interface InFlightTurn {
|
|
30
|
+
id: string;
|
|
31
|
+
user: string;
|
|
32
|
+
/** ISO del arranque. */
|
|
33
|
+
started_at: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Tope de edad. Un turno mas viejo que esto se considera muerto y deja de
|
|
37
|
+
* anunciarse, aunque nadie lo haya limpiado.
|
|
38
|
+
*
|
|
39
|
+
* No es decoracion: `clearInFlightTurn` corre al final del handler, y un
|
|
40
|
+
* proceso que muere a mitad de turno (o una excepcion por un camino que no
|
|
41
|
+
* pasa por ahi) dejaria al telefono con una burbuja "pensando" para siempre.
|
|
42
|
+
* Mentir sobre lo que el sistema esta haciendo es peor que no decir nada.
|
|
43
|
+
*/
|
|
44
|
+
export declare const IN_FLIGHT_MAX_AGE_MS: number;
|
|
45
|
+
export declare function setInFlightTurn(t: InFlightTurn): void;
|
|
46
|
+
/**
|
|
47
|
+
* Limpia el turno en vuelo. Con `id`, SOLO si coincide: dos turnos encadenados
|
|
48
|
+
* pueden cerrar fuera de orden, y un cierre tardio del viejo no tiene que
|
|
49
|
+
* borrar el anuncio del que recien arranco.
|
|
50
|
+
*/
|
|
51
|
+
export declare function clearInFlightTurn(id?: string): void;
|
|
52
|
+
/** El turno en vuelo, o null si no hay o si ya es demasiado viejo. */
|
|
53
|
+
export declare function inFlightTurn(now?: number): InFlightTurn | null;
|
|
54
|
+
/** Solo para tests. */
|
|
55
|
+
export declare function _resetInFlightTurn(): void;
|
|
56
|
+
//# sourceMappingURL=in_flight_turn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in_flight_turn.d.ts","sourceRoot":"","sources":["../../src/relay/in_flight_turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,QAAiB,CAAC;AAInD,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAGrD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAmB,GAAG,YAAY,GAAG,IAAI,CAQ1E;AAED,uBAAuB;AACvB,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* El turno EN VUELO del desktop, como ESTADO consultable.
|
|
3
|
+
*
|
|
4
|
+
* Por que existe (Pablo, 2026-10-11): "en chat no muestra mi ultimo pedido en
|
|
5
|
+
* proceso, sino la ultima respuesta de Forge. Mi pedido posterior en ejecucion
|
|
6
|
+
* sigue sin mostrarse, es fundamental para entender que esta haciendo".
|
|
7
|
+
*
|
|
8
|
+
* El desktop ya anunciaba el arranque del turno con un `status('working')` que
|
|
9
|
+
* lleva el texto del usuario y el id. Pero es UN evento, publicado una sola
|
|
10
|
+
* vez, y eso tiene dos agujeros que juntos explican el sintoma exacto:
|
|
11
|
+
*
|
|
12
|
+
* 1. El telefono ocioso pollea cada 15s, y la cadencia rapida (2.5s) solo se
|
|
13
|
+
* enciende DESPUES de enterarse de que el desktop esta trabajando. O sea
|
|
14
|
+
* que el aviso que deberia acelerar el poll llega al ritmo lento: un turno
|
|
15
|
+
* mas corto que la ventana llega junto con su respuesta, y la peticion
|
|
16
|
+
* aparece ya contestada.
|
|
17
|
+
* 2. Si el turno es largo y sigue produciendo actividad, el `status` queda
|
|
18
|
+
* fuera de la cola corta (tail=40) -- y entonces ni refrescando se
|
|
19
|
+
* recupera. No habia forma de preguntar "que esta haciendo AHORA", porque
|
|
20
|
+
* no habia estado que preguntar, solo un evento que habia que cazar.
|
|
21
|
+
*
|
|
22
|
+
* La salida es convertir el anuncio en estado: el latido de presencia (cada
|
|
23
|
+
* 15s) repite el turno en vuelo, asi que cualquier poll -- incluido un
|
|
24
|
+
* refresco a mano -- cae sobre un latido reciente y reconstruye que esta
|
|
25
|
+
* corriendo, incluso si el telefono no estaba conectado cuando arranco.
|
|
26
|
+
*
|
|
27
|
+
* ASCII puro.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Tope de edad. Un turno mas viejo que esto se considera muerto y deja de
|
|
31
|
+
* anunciarse, aunque nadie lo haya limpiado.
|
|
32
|
+
*
|
|
33
|
+
* No es decoracion: `clearInFlightTurn` corre al final del handler, y un
|
|
34
|
+
* proceso que muere a mitad de turno (o una excepcion por un camino que no
|
|
35
|
+
* pasa por ahi) dejaria al telefono con una burbuja "pensando" para siempre.
|
|
36
|
+
* Mentir sobre lo que el sistema esta haciendo es peor que no decir nada.
|
|
37
|
+
*/
|
|
38
|
+
export const IN_FLIGHT_MAX_AGE_MS = 10 * 60 * 1000;
|
|
39
|
+
let current = null;
|
|
40
|
+
export function setInFlightTurn(t) {
|
|
41
|
+
if (!t || !t.id)
|
|
42
|
+
return;
|
|
43
|
+
current = { id: String(t.id), user: String(t.user || ''), started_at: String(t.started_at || new Date().toISOString()) };
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Limpia el turno en vuelo. Con `id`, SOLO si coincide: dos turnos encadenados
|
|
47
|
+
* pueden cerrar fuera de orden, y un cierre tardio del viejo no tiene que
|
|
48
|
+
* borrar el anuncio del que recien arranco.
|
|
49
|
+
*/
|
|
50
|
+
export function clearInFlightTurn(id) {
|
|
51
|
+
if (!current)
|
|
52
|
+
return;
|
|
53
|
+
if (id && current.id !== id)
|
|
54
|
+
return;
|
|
55
|
+
current = null;
|
|
56
|
+
}
|
|
57
|
+
/** El turno en vuelo, o null si no hay o si ya es demasiado viejo. */
|
|
58
|
+
export function inFlightTurn(now = Date.now()) {
|
|
59
|
+
if (!current)
|
|
60
|
+
return null;
|
|
61
|
+
const started = Date.parse(current.started_at);
|
|
62
|
+
if (Number.isFinite(started) && now - started > IN_FLIGHT_MAX_AGE_MS) {
|
|
63
|
+
current = null;
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
return current;
|
|
67
|
+
}
|
|
68
|
+
/** Solo para tests. */
|
|
69
|
+
export function _resetInFlightTurn() {
|
|
70
|
+
current = null;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=in_flight_turn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in_flight_turn.js","sourceRoot":"","sources":["../../src/relay/in_flight_turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AASH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnD,IAAI,OAAO,GAAwB,IAAI,CAAC;AAExC,MAAM,UAAU,eAAe,CAAC,CAAe;IAC7C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO;IACxB,OAAO,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;AAC3H,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAW;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,EAAE,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE;QAAE,OAAO;IACpC,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;IACnD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACrE,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,kBAAkB;IAChC,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC"}
|
|
@@ -41,6 +41,12 @@ export declare class RelayPublisher {
|
|
|
41
41
|
project_slug?: string;
|
|
42
42
|
port?: number;
|
|
43
43
|
pid?: number;
|
|
44
|
+
/** El turno EN VUELO, si hay uno (Pablo 2026-10-11). */
|
|
45
|
+
turn?: {
|
|
46
|
+
id: string;
|
|
47
|
+
user: string;
|
|
48
|
+
started_at: string;
|
|
49
|
+
} | null;
|
|
44
50
|
}): void;
|
|
45
51
|
/** One Coding-feed item (the echo of what the brain is doing). */
|
|
46
52
|
activity(summary: string, detail?: unknown): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay_publisher.d.ts","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuChE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;6BACyB;IACzB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACxB;;mFAE+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;gBAEzB,IAAI,EAAE,kBAAkB;IAOpC;;;sBAGkB;IAClB,QAAQ,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"relay_publisher.d.ts","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuChE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;6BACyB;IACzB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACxB;;mFAE+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;gBAEzB,IAAI,EAAE,kBAAkB;IAOpC;;;sBAGkB;IAClB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAC5F,wDAAwD;QACxD,IAAI,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;KAChE,GAAG,IAAI;IA2BR,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAIjD;8EAC0E;IAC1E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG5D,sEAAsE;IACtE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAG/D;wBACoB;IACpB,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG9C;;+BAE2B;IAC3B,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG3C;;kDAE8C;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzD;;;kBAGc;IACd,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrD,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,QAAQ;IAMhB;qBACiB;IACX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B5B,yCAAyC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -72,6 +72,23 @@ export class RelayPublisher {
|
|
|
72
72
|
...(info.project_slug ? { project_slug: String(info.project_slug) } : {}),
|
|
73
73
|
...(typeof info.port === 'number' ? { port: info.port } : {}),
|
|
74
74
|
...(typeof info.pid === 'number' ? { pid: info.pid } : {}),
|
|
75
|
+
/* El turno en curso viaja REPETIDO en cada latido, no como un evento
|
|
76
|
+
* suelto. Es la diferencia entre un anuncio y un ESTADO: un evento
|
|
77
|
+
* unico solo lo ve quien estaba mirando en ese instante, y no hay
|
|
78
|
+
* forma de preguntar despues "que esta haciendo ahora".
|
|
79
|
+
*
|
|
80
|
+
* Pablo, 2026-10-11: "en chat no muestra mi ultimo pedido en proceso,
|
|
81
|
+
* sino la ultima respuesta de Forge. Mi pedido posterior en ejecucion
|
|
82
|
+
* sigue sin mostrarse, es fundamental para entender que esta
|
|
83
|
+
* haciendo". El status('working') se publicaba UNA vez al arrancar el
|
|
84
|
+
* turno; con el poll ocioso en 15s el telefono se lo perdia, y si el
|
|
85
|
+
* turno seguia produciendo actividad el anuncio quedaba fuera de la
|
|
86
|
+
* cola corta -- ni refrescando se recuperaba. */
|
|
87
|
+
...(info.turn && info.turn.id ? { turn: {
|
|
88
|
+
id: String(info.turn.id),
|
|
89
|
+
user: capUtf8(String(info.turn.user || ''), USER_BUDGET),
|
|
90
|
+
started_at: String(info.turn.started_at || ''),
|
|
91
|
+
} } : {}),
|
|
75
92
|
} });
|
|
76
93
|
}
|
|
77
94
|
/** One Coding-feed item (the echo of what the brain is doing). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay_publisher.js","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAyB,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE;;;;;sEAKsE;AACtE,MAAM,UAAU,GAAG,2DAA2D,CAAC;AAC/E;8EAC8E;AAC9E,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/B,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC;AAC7B,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AACnC,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;AAClC,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhC;oEACoE;AACpE,SAAS,OAAO,CAAC,CAAS,EAAE,QAAgB;IAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IACzF,OAAO,CAAC,GAAG,UAAU,CAAC;AACxB,CAAC;AAED;0CAC0C;AAC1C,SAAS,QAAQ,CAAC,KAA8B;IAC9C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAeD,MAAM,OAAO,cAAc;IACjB,KAAK,GAAuB,EAAE,CAAC;IAC/B,KAAK,GAAyC,IAAI,CAAC;IACnD,QAAQ,GAAG,KAAK,CAAC;IACR,IAAI,CAAY;IAChB,OAAO,CAAS;IAChB,OAAO,CAAgB;IACvB,UAAU,CAAU;IAErC,YAAY,IAAwB;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;IAED;;;sBAGkB;IAClB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"relay_publisher.js","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAyB,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE;;;;;sEAKsE;AACtE,MAAM,UAAU,GAAG,2DAA2D,CAAC;AAC/E;8EAC8E;AAC9E,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/B,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC;AAC7B,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AACnC,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;AAClC,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhC;oEACoE;AACpE,SAAS,OAAO,CAAC,CAAS,EAAE,QAAgB;IAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IACzF,OAAO,CAAC,GAAG,UAAU,CAAC;AACxB,CAAC;AAED;0CAC0C;AAC1C,SAAS,QAAQ,CAAC,KAA8B;IAC9C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAeD,MAAM,OAAO,cAAc;IACjB,KAAK,GAAuB,EAAE,CAAC;IAC/B,KAAK,GAAyC,IAAI,CAAC;IACnD,QAAQ,GAAG,KAAK,CAAC;IACR,IAAI,CAAY;IAChB,OAAO,CAAS;IAChB,OAAO,CAAgB;IACvB,UAAU,CAAU;IAErC,YAAY,IAAwB;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;IAED;;;sBAGkB;IAClB,QAAQ,CAAC,IAIR;QACC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE;gBACxC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC;gBAC3D,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D;;;;;;;;;;;iEAWiD;gBACjD,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;wBACtC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC;wBACxD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;qBAC/C,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACV,EAAE,CAAC,CAAC;IACP,CAAC;IAED,kEAAkE;IAClE,QAAQ,CAAC,OAAe,EAAE,MAAgB;QACxC,MAAM,CAAC,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/E,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACjI,CAAC;IACD;8EAC0E;IAC1E,MAAM,CAAC,KAAa,EAAE,KAA+B;QACnD,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,sEAAsE;IACtE,SAAS,CAAC,SAAiB,EAAE,IAAY,EAAE,IAAa;QACtD,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxH,CAAC;IACD;wBACoB;IACpB,KAAK,CAAC,QAAiC;QACrC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IACD;;+BAE2B;IAC3B,KAAK,CAAC,KAA8B;QAClC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IACD;;kDAE8C;IAC9C,UAAU,CAAC,EAAU,EAAE,IAAY,EAAE,KAAa;QAChD,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE;gBAC3C,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;aAC1E,EAAE,CAAC,CAAC;IACP,CAAC;IACD;;;kBAGc;IACd,cAAc,CAAC,SAAiB,EAAE,IAAY;QAC5C,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IAEO,OAAO,CAAC,CAAmB;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO;QAC5B;0EACkE;QAClE,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACnG,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvF,IAAI,OAAQ,IAAI,CAAC,KAAgC,CAAC,KAAK,KAAK,UAAU;YAAG,IAAI,CAAC,KAA+B,CAAC,KAAK,EAAE,CAAC;IACxH,CAAC;IAED;qBACiB;IACjB,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAClE;;;;;yEAKiE;QACjE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YACzE,IAAI,KAAK,IAAI,YAAY,CAAC,eAAe;gBAAE,OAAO,IAAI,CAAC;YACvD,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;sBACnF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;YACzF,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;gBAC/C,CAAC;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAAC,CAAC;QAChE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
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.
|
|
5
|
+
export declare const VERSION = "1.12.0";
|
|
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.
|
|
3
|
+
"version": "1.12.0",
|
|
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>",
|