@nac3/forge-cli 1.0.70 → 1.0.72
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/chat/tool_status.d.ts +9 -0
- package/dist/chat/tool_status.d.ts.map +1 -1
- package/dist/chat/tool_status.js +40 -0
- package/dist/chat/tool_status.js.map +1 -1
- package/dist/core/forge_profile.d.ts +11 -2
- package/dist/core/forge_profile.d.ts.map +1 -1
- package/dist/core/forge_profile.js +35 -13
- package/dist/core/forge_profile.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -12,6 +12,15 @@ export type Runner = (cmd: string, args: string[], timeoutMs: number) => Promise
|
|
|
12
12
|
/** Parse `gh auth status` output into a one-line verdict. Exit 0 = logged
|
|
13
13
|
* in; the account line looks like "Logged in to github.com account X". */
|
|
14
14
|
export declare function parseGhAuth(code: number, stdout: string, stderr: string): ProbeResult;
|
|
15
|
+
/**
|
|
16
|
+
* ENVIRONMENT block for the STATIC system prompt (cache-friendly: identical
|
|
17
|
+
* every turn of a process). The brain kept "forgetting" the OS and wandered
|
|
18
|
+
* between shell syntaxes (ls vs dir, bash-isms in cmd) -- state the truth
|
|
19
|
+
* once, verified from the process itself, including WHICH shell
|
|
20
|
+
* yujin.shell.exec actually uses (cmd.exe via shell:true on win32;
|
|
21
|
+
* /bin/bash elsewhere -- see src/chat/tools/shell.ts).
|
|
22
|
+
*/
|
|
23
|
+
export declare function environmentLines(): string[];
|
|
15
24
|
/** Run all probes now and cache the result. */
|
|
16
25
|
export declare function refreshToolStatus(runner?: Runner): Promise<ProbeResult[]>;
|
|
17
26
|
/** Boot hook: probe now (fire-and-forget) + refresh every 10 min. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool_status.d.ts","sourceRoot":"","sources":["../../src/chat/tool_status.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,MAAM;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACjE,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAgBzF;2EAC2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAOrF;
|
|
1
|
+
{"version":3,"file":"tool_status.d.ts","sourceRoot":"","sources":["../../src/chat/tool_status.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,MAAM;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACjE,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAgBzF;2EAC2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAOrF;AAuCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CA0C3C;AAMD,+CAA+C;AAC/C,wBAAsB,iBAAiB,CAAC,MAAM,GAAE,MAAsB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAI9F;AAED,qEAAqE;AACrE,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,MAAsB,GAAG,IAAI,CAK3E;AAED,iBAAiB;AACjB,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,IAAI,MAAM,CAe1C"}
|
package/dist/chat/tool_status.js
CHANGED
|
@@ -63,9 +63,49 @@ async function runProbes(runner) {
|
|
|
63
63
|
.then((r) => versionProbe('npm', r.code, r.stdout)),
|
|
64
64
|
runner('docker', ['--version'], PROBE_TIMEOUT_MS)
|
|
65
65
|
.then((r) => versionProbe('docker', r.code, r.stdout)),
|
|
66
|
+
/* Shells NO canonicos (Pablo 2026-07-10): saber que shells EXISTEN evita
|
|
67
|
+
* que el brain de vueltas probando sintaxis (ls vs dir, bash-isms en
|
|
68
|
+
* cmd). bash cubre Git Bash en Windows; powershell/wsl solo alli. */
|
|
69
|
+
runner('bash', ['--version'], PROBE_TIMEOUT_MS)
|
|
70
|
+
.then((r) => versionProbe('bash', r.code, r.stdout)),
|
|
71
|
+
...(process.platform === 'win32' ? [
|
|
72
|
+
runner('powershell', ['-NoProfile', '-Command', '$PSVersionTable.PSVersion.ToString()'], PROBE_TIMEOUT_MS)
|
|
73
|
+
.then((r) => versionProbe('powershell', r.code, r.stdout)),
|
|
74
|
+
runner('wsl', ['--status'], PROBE_TIMEOUT_MS)
|
|
75
|
+
.then((r) => versionProbe('wsl', r.code, r.stdout ? 'instalado' : '')),
|
|
76
|
+
] : []),
|
|
66
77
|
];
|
|
67
78
|
return Promise.all(jobs.map((p) => p.catch(() => ({ id: '?', ok: false, summary: 'probe error' }))));
|
|
68
79
|
}
|
|
80
|
+
/* ------------------- entorno de ejecucion (estatico) ------------------- */
|
|
81
|
+
/**
|
|
82
|
+
* ENVIRONMENT block for the STATIC system prompt (cache-friendly: identical
|
|
83
|
+
* every turn of a process). The brain kept "forgetting" the OS and wandered
|
|
84
|
+
* between shell syntaxes (ls vs dir, bash-isms in cmd) -- state the truth
|
|
85
|
+
* once, verified from the process itself, including WHICH shell
|
|
86
|
+
* yujin.shell.exec actually uses (cmd.exe via shell:true on win32;
|
|
87
|
+
* /bin/bash elsewhere -- see src/chat/tools/shell.ts).
|
|
88
|
+
*/
|
|
89
|
+
export function environmentLines() {
|
|
90
|
+
const plat = process.platform;
|
|
91
|
+
const arch = process.arch;
|
|
92
|
+
const nodeV = process.version;
|
|
93
|
+
const home = process.env.USERPROFILE || process.env.HOME || '';
|
|
94
|
+
const lines = [
|
|
95
|
+
'=================================================================',
|
|
96
|
+
'ENTORNO DE EJECUCION (verificado del proceso -- NO lo adivines)',
|
|
97
|
+
'=================================================================',
|
|
98
|
+
'',
|
|
99
|
+
];
|
|
100
|
+
if (plat === 'win32') {
|
|
101
|
+
lines.push('SO: WINDOWS (' + plat + ', ' + arch + '; node ' + nodeV + '). NO es Linux:', 'no asumas herramientas POSIX (ls, grep, cat) salvo que TOOL STATUS', 'liste bash disponible.', '', 'yujin.shell.exec ejecuta via CMD.EXE (shell:true). Sintaxis cmd:', 'dir, type, findstr, copy, del, && para encadenar. PowerShell solo', 'explicito: powershell -NoProfile -Command "...". Paths con \\\\ o /;', 'HOME = ' + home + '.');
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
lines.push('SO: ' + (plat === 'darwin' ? 'macOS' : 'LINUX/POSIX') + ' (' + plat + ', ' + arch + '; node ' + nodeV + ').', 'NO es Windows: no uses dir/type/findstr ni sintaxis cmd/PowerShell.', '', 'yujin.shell.exec ejecuta via /bin/bash. Sintaxis POSIX: ls, grep,', 'cat, sed, awk. Paths con /; HOME = ' + home + '.');
|
|
105
|
+
}
|
|
106
|
+
lines.push('', 'REGLA DE EFICIENCIA (no dar vueltas): para archivos y busquedas usa', 'SIEMPRE los verbos yujin.fs.* (read-file / list-files / find) -- son', 'cross-platform y nunca fallan por sintaxis de shell. El shell queda', 'para lo que no tiene verbo. La disponibilidad REAL de herramientas', '(gh, docker, bash, powershell, wsl) esta en la seccion TOOL STATUS:', 'consultala antes de elegir una herramienta no canonica.', '');
|
|
107
|
+
return lines;
|
|
108
|
+
}
|
|
69
109
|
let STATE = null;
|
|
70
110
|
let TIMER = null;
|
|
71
111
|
/** Run all probes now and cache the result. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool_status.js","sourceRoot":"","sources":["../../src/chat/tool_status.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool_status.js","sourceRoot":"","sources":["../../src/chat/tool_status.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,19 @@ export interface ForgeProfile {
|
|
|
3
3
|
name?: string;
|
|
4
4
|
read_only?: boolean;
|
|
5
5
|
mission_file?: string;
|
|
6
|
+
/** Single report dir (legacy form; kept for back-compat). */
|
|
6
7
|
allow_report_dir?: string;
|
|
8
|
+
/** Report dirs (preferred form). Writing REPORTS is part of the embedded
|
|
9
|
+
* assistant's PRIMARY function (Pablo 2026-07-10), so under read_only
|
|
10
|
+
* these default to ['docs', '.forge/diagnostics'] when unspecified. */
|
|
11
|
+
allow_report_dirs?: string[];
|
|
7
12
|
/** Slice 2 (PND-146): when true the project root cannot be re-anchored. */
|
|
8
13
|
pinned_root?: boolean;
|
|
9
14
|
}
|
|
15
|
+
/** Default report dirs for a read_only profile with no explicit config. */
|
|
16
|
+
export declare const DEFAULT_REPORT_DIRS: readonly ["docs", ".forge/diagnostics"];
|
|
17
|
+
/** Effective report dirs: explicit array + legacy string, or the default. */
|
|
18
|
+
export declare function reportDirs(p: ForgeProfile): string[];
|
|
10
19
|
/**
|
|
11
20
|
* Load the profile for a project root. Resolution order (Pablo 2026-07-09):
|
|
12
21
|
*
|
|
@@ -47,6 +56,6 @@ export interface ProfileGateDecision {
|
|
|
47
56
|
* present in this mode, unlike agent sub-sessions).
|
|
48
57
|
*/
|
|
49
58
|
export declare function profileVerbGate(verbId: string, args?: Record<string, unknown>): ProfileGateDecision;
|
|
50
|
-
/** Resolve the absolute report
|
|
51
|
-
export declare function
|
|
59
|
+
/** Resolve the absolute report dirs (for callers that need them). */
|
|
60
|
+
export declare function reportDirsAbs(): string[];
|
|
52
61
|
//# sourceMappingURL=forge_profile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forge_profile.d.ts","sourceRoot":"","sources":["../../src/core/forge_profile.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAgBpE;AAED;8EAC8E;AAC9E,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAapE;AAED,iBAAiB;AACjB,wBAAgB,oBAAoB,IAAI,IAAI,CAAuD;AAEnG,wBAAgB,aAAa,IAAI,YAAY,GAAG,IAAI,CAA2B;AAE/E;;qEAEqE;AACrE,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"forge_profile.d.ts","sourceRoot":"","sources":["../../src/core/forge_profile.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;4EAEwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,yCAA0C,CAAC;AAE3E,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAQpD;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAgBpE;AAED;8EAC8E;AAC9E,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAapE;AAED,iBAAiB;AACjB,wBAAgB,oBAAoB,IAAI,IAAI,CAAuD;AAEnG,wBAAgB,aAAa,IAAI,YAAY,GAAG,IAAI,CAA2B;AAE/E;;qEAEqE;AACrE,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAuC7C;AAyBD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAeD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,mBAAmB,CA2BrB;AAED,qEAAqE;AACrE,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAIxC"}
|
|
@@ -33,6 +33,22 @@
|
|
|
33
33
|
*/
|
|
34
34
|
import { readFileSync } from 'node:fs';
|
|
35
35
|
import { isAbsolute, join, normalize, resolve } from 'node:path';
|
|
36
|
+
/** Default report dirs for a read_only profile with no explicit config. */
|
|
37
|
+
export const DEFAULT_REPORT_DIRS = ['docs', '.forge/diagnostics'];
|
|
38
|
+
/** Effective report dirs: explicit array + legacy string, or the default. */
|
|
39
|
+
export function reportDirs(p) {
|
|
40
|
+
const dirs = [];
|
|
41
|
+
if (Array.isArray(p.allow_report_dirs)) {
|
|
42
|
+
for (const d of p.allow_report_dirs)
|
|
43
|
+
if (d && typeof d === 'string')
|
|
44
|
+
dirs.push(d);
|
|
45
|
+
}
|
|
46
|
+
if (p.allow_report_dir && typeof p.allow_report_dir === 'string')
|
|
47
|
+
dirs.push(p.allow_report_dir);
|
|
48
|
+
if (dirs.length === 0 && p.read_only === true)
|
|
49
|
+
return [...DEFAULT_REPORT_DIRS];
|
|
50
|
+
return dirs;
|
|
51
|
+
}
|
|
36
52
|
const MISSION_MAX_CHARS = 8000;
|
|
37
53
|
let ACTIVE = { profile: null, mission: '', root: '' };
|
|
38
54
|
/**
|
|
@@ -108,9 +124,8 @@ export function profilePromptLines() {
|
|
|
108
124
|
lines.push('=================================================================', 'MISSION (operator-configured -- .forge profile "' + (p.name || 'default') + '")', '=================================================================', '', ACTIVE.mission, '');
|
|
109
125
|
}
|
|
110
126
|
if (p.read_only) {
|
|
111
|
-
lines.push('=================================================================', 'READ-ONLY DIAGNOSTIC POSTURE (mechanically enforced)', '=================================================================', '', 'This deployment is a DIAGNOSTIC assistant for THIS system. Mutating', 'verbs (file writes, git commit/push/pull, lifecycle, office writes,', 'unsafe shell) are BLOCKED at the dispatcher -- do not attempt them.', 'Your job instead:', ' 1. DIAGNOSE with evidence: read code/config/logs, query the graph,', ' cite file:line for every claim.', ' 2. Emit PRECISE instructions the operator can apply by hand:', ' "set field <X> to value <V> in <file/table>, then verify with', ' <command/check>". One instruction per change, in order.', ' 3. Record findings as pendings (yujin.pending.add) so nothing is', ' lost between sessions.', (
|
|
112
|
-
|
|
113
|
-
: 'You cannot write files at all in this posture.'), '');
|
|
127
|
+
lines.push('=================================================================', 'READ-ONLY DIAGNOSTIC POSTURE (mechanically enforced)', '=================================================================', '', 'This deployment is a DIAGNOSTIC assistant for THIS system. Mutating', 'verbs (file writes, git commit/push/pull, lifecycle, office writes,', 'unsafe shell) are BLOCKED at the dispatcher -- do not attempt them.', 'Your job instead:', ' 1. DIAGNOSE with evidence: read code/config/logs, query the graph,', ' cite file:line for every claim.', ' 2. Emit PRECISE instructions the operator can apply by hand:', ' "set field <X> to value <V> in <file/table>, then verify with', ' <command/check>". One instruction per change, in order.', ' 3. Record findings as pendings (yujin.pending.add) so nothing is', ' lost between sessions.', ' 4. WRITE REPORTS -- part of your PRIMARY function. You MAY write', ' reports of any type (HTML/md/csv/...) under: '
|
|
128
|
+
+ reportDirs(p).map((d) => '"' + d + '/"').join(', ') + '.', ' Everything else on disk stays read-only.', '');
|
|
114
129
|
}
|
|
115
130
|
return lines;
|
|
116
131
|
}
|
|
@@ -135,15 +150,21 @@ const RO_BLOCKED = new Set([
|
|
|
135
150
|
'office.excel.write', 'office.excel.update-cell', 'office.excel.append-sheet',
|
|
136
151
|
'office.word.write',
|
|
137
152
|
]);
|
|
138
|
-
/** True when a write path falls inside the profile's
|
|
153
|
+
/** True when a write path falls inside ANY of the profile's report dirs. */
|
|
139
154
|
function underReportDir(p, relPath) {
|
|
140
|
-
if (!
|
|
155
|
+
if (!relPath)
|
|
141
156
|
return false;
|
|
142
|
-
const base = normalize(p.allow_report_dir).replace(/\\/g, '/').replace(/^\/+|\/+$/g, '');
|
|
143
157
|
const rel = normalize(String(relPath)).replace(/\\/g, '/').replace(/^\/+/, '');
|
|
144
158
|
if (rel.indexOf('..') >= 0)
|
|
145
159
|
return false;
|
|
146
|
-
|
|
160
|
+
for (const dir of reportDirs(p)) {
|
|
161
|
+
const base = normalize(dir).replace(/\\/g, '/').replace(/^\/+|\/+$/g, '');
|
|
162
|
+
if (!base)
|
|
163
|
+
continue;
|
|
164
|
+
if (rel === base || rel.indexOf(base + '/') === 0)
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
return false;
|
|
147
168
|
}
|
|
148
169
|
/**
|
|
149
170
|
* Gate a verb under the ACTIVE profile. No profile / read_only off -> pass.
|
|
@@ -176,18 +197,19 @@ export function profileVerbGate(verbId, args) {
|
|
|
176
197
|
if (underReportDir(p, rel))
|
|
177
198
|
return { action: 'pass' };
|
|
178
199
|
}
|
|
200
|
+
const rds = reportDirs(p);
|
|
179
201
|
return {
|
|
180
202
|
action: 'reject',
|
|
181
203
|
reason: 'read-only diagnostic profile: verb "' + verbId + '" mutates the system. '
|
|
182
204
|
+ 'Diagnose and emit the precise instruction for the operator instead'
|
|
183
|
-
+ (
|
|
205
|
+
+ (rds.length ? ' (reports may be written under ' + rds.map((d) => '"' + d + '/"').join(', ') + ')' : '') + '.',
|
|
184
206
|
};
|
|
185
207
|
}
|
|
186
|
-
/** Resolve the absolute report
|
|
187
|
-
export function
|
|
208
|
+
/** Resolve the absolute report dirs (for callers that need them). */
|
|
209
|
+
export function reportDirsAbs() {
|
|
188
210
|
const p = ACTIVE.profile;
|
|
189
|
-
if (!p
|
|
190
|
-
return
|
|
191
|
-
return resolve(ACTIVE.root,
|
|
211
|
+
if (!p)
|
|
212
|
+
return [];
|
|
213
|
+
return reportDirs(p).map((d) => resolve(ACTIVE.root, d));
|
|
192
214
|
}
|
|
193
215
|
//# sourceMappingURL=forge_profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forge_profile.js","sourceRoot":"","sources":["../../src/core/forge_profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"forge_profile.js","sourceRoot":"","sources":["../../src/core/forge_profile.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.0.
|
|
5
|
+
export declare const VERSION = "1.0.72";
|
|
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.0.
|
|
3
|
+
"version": "1.0.72",
|
|
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>",
|