@nac3/forge-cli 1.0.25 → 1.0.27
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 +26 -3
- package/dist/chat/server.js.map +1 -1
- package/dist/chat/tools/native_fs.d.ts +31 -0
- package/dist/chat/tools/native_fs.d.ts.map +1 -0
- package/dist/chat/tools/native_fs.js +73 -0
- package/dist/chat/tools/native_fs.js.map +1 -0
- package/dist/chat/tools.d.ts +1 -0
- package/dist/chat/tools.d.ts.map +1 -1
- package/dist/chat/tools.js +28 -0
- package/dist/chat/tools.js.map +1 -1
- package/dist/core/limits_config.d.ts +6 -0
- package/dist/core/limits_config.d.ts.map +1 -1
- package/dist/core/limits_config.js +7 -0
- package/dist/core/limits_config.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/chat/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAA2D,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAKjG,OAAO,EAAoD,KAAK,aAAa,EAAoB,MAAM,aAAa,CAAC;AAErH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAczB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmCjD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;;;;wDAQoD;IACpD,YAAY,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAAC;IACnD;;2DAEuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;+CAC2C;IAC3C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;kEAG8D;IAC9D,OAAO,CAAC,EAAE,OAAO,sBAAsB,EAAE,OAAO,CAAC;CAClD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ;qEACiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAqBD,wBAAsB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAoahF;AAED,UAAU,GAAG;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,eAAe,CAAC;IAIvB,OAAO,CAAC,EAAE,OAAO,sBAAsB,EAAE,OAAO,CAAC;IAMjD,YAAY,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAAC;IAKnD,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAG3G,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAGlE,MAAM,CAAC,EAAE,OAAO,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;CACpD;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/chat/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAA2D,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAKjG,OAAO,EAAoD,KAAK,aAAa,EAAoB,MAAM,aAAa,CAAC;AAErH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAczB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmCjD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;;;;wDAQoD;IACpD,YAAY,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAAC;IACnD;;2DAEuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;+CAC2C;IAC3C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;kEAG8D;IAC9D,OAAO,CAAC,EAAE,OAAO,sBAAsB,EAAE,OAAO,CAAC;CAClD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ;qEACiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAqBD,wBAAsB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAoahF;AAED,UAAU,GAAG;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,eAAe,CAAC;IAIvB,OAAO,CAAC,EAAE,OAAO,sBAAsB,EAAE,OAAO,CAAC;IAMjD,YAAY,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAAC;IAKnD,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAG3G,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAGlE,MAAM,CAAC,EAAE,OAAO,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;CACpD;AA0+ID,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,GAAG,EACR,IAAI,GAAE,SAAuB,EAC7B,UAAU,GAAE;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAErF;AACD;;;qDAGqD;AACrD,KAAK,CAAC,EAAE;IAAE,IAAI,EAAE,KAAK,GAAG,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACrE;;;;;2CAK2C;AAC3C,sBAAsB,GAAE,MAAW;AACnC;;;;;;;4DAO4D;AAC5D,YAAY,GAAE,OAAe;AAC7B;;;;;;;uDAOuD;AACvD,mBAAmB,GAAE,MAAW;AAChC;;;;kEAIkE;AAClE,gBAAgB,GAAE,MAAW;AAC7B;;;;;;;;;;;+BAW+B;AAC/B,SAAS,GAAE,QAAQ,GAAG,YAAY,GAAG,MAAiB,GACrD,MAAM,CAmgBR"}
|
package/dist/chat/server.js
CHANGED
|
@@ -19,7 +19,7 @@ import path from 'node:path';
|
|
|
19
19
|
import { ClaudeClient, ConfigurationError, ClaudeApiError } from './claude.js';
|
|
20
20
|
import { renderPanelHtml } from './panel.js';
|
|
21
21
|
import { TranscriptStore } from './persistence.js';
|
|
22
|
-
import { FORGE_TOOL_SPECS, runForgeTool } from './tools.js';
|
|
22
|
+
import { FORGE_TOOL_SPECS, CONSOLE_TOOL_SPECS, runForgeTool } from './tools.js';
|
|
23
23
|
import { Vault } from '../vault/store.js';
|
|
24
24
|
import { SLOT_CATALOG, SLOT_KINDS } from '../vault/catalog.js';
|
|
25
25
|
import { resolveMode, persistMode, modePromptSuffix, FORGE_MODES, } from '../core/mode.js';
|
|
@@ -4662,6 +4662,12 @@ async function handleChat(req, res, ctx) {
|
|
|
4662
4662
|
* until the queue (task #28) serializes turns. */
|
|
4663
4663
|
turnId = sessionId + ':' + String(Date.now());
|
|
4664
4664
|
const turnSignal = beginTurn(turnId);
|
|
4665
|
+
/* Pablo 2026-06-19 -- response-token cap from config, NOT the old hardcoded
|
|
4666
|
+
* 1024 that starved BYOK/Console agentic turns (verbose narration ate the
|
|
4667
|
+
* budget before the tool_use block, so verbs never fired -> the tester's
|
|
4668
|
+
* "narro sin invocar"). Plan/CLI ignores this; BYOK + managed honour it. */
|
|
4669
|
+
const { readLimitsConfig: _readLimForTokens } = await import('../core/limits_config.js');
|
|
4670
|
+
const _maxTokensPerTurn = (await _readLimForTokens()).max_tokens_per_turn;
|
|
4665
4671
|
const chatRequest = {
|
|
4666
4672
|
messages: turnMessages,
|
|
4667
4673
|
signal: turnSignal,
|
|
@@ -4694,8 +4700,12 @@ async function handleChat(req, res, ctx) {
|
|
|
4694
4700
|
? (ctx.panelPushToken ? 'mcp-bridge' : 'none')
|
|
4695
4701
|
: 'native'),
|
|
4696
4702
|
systemDynamic: projectContextSection + snapshotSection + graphSection + wiringSection + toolingSection + workflowSection,
|
|
4697
|
-
maxTokens:
|
|
4698
|
-
tools
|
|
4703
|
+
maxTokens: _maxTokensPerTurn,
|
|
4704
|
+
/* Plan/CLI uses Claude Code's native tools (FORGE_TOOL_SPECS = just
|
|
4705
|
+
* nac3_invoke via the MCP bridge); the HTTP path (BYOK/Console + managed)
|
|
4706
|
+
* gets direct native file tools + nac3_invoke so the model is fluent with
|
|
4707
|
+
* file work instead of fighting the meta-tool. (Pablo 2026-06-19) */
|
|
4708
|
+
tools: ctx.chatProvider === 'claude-code-cli' ? FORGE_TOOL_SPECS : CONSOLE_TOOL_SPECS,
|
|
4699
4709
|
runTool: async (name, input) => {
|
|
4700
4710
|
/* alpha.59e -- loop detection. Build a signature from
|
|
4701
4711
|
* the verb id + arg hash; if the last N entries are
|
|
@@ -5357,6 +5367,19 @@ panelMode = 'native') {
|
|
|
5357
5367
|
'user trust + triggers a quality detector that escalates the',
|
|
5358
5368
|
'next turn to a stronger model.',
|
|
5359
5369
|
'',
|
|
5370
|
+
...(panelMode === 'native' ? [
|
|
5371
|
+
'ARCHIVOS -- TOOLS DIRECTAS (NO uses nac3_invoke para esto): tenes',
|
|
5372
|
+
'read_file, list_files, glob y grep como herramientas nativas. Usalas',
|
|
5373
|
+
'para CUALQUIER trabajo con archivos (leer, listar, buscar por nombre o',
|
|
5374
|
+
'por contenido). NO uses nac3_invoke({verb_id:"yujin.fs.*"}) ni scripts',
|
|
5375
|
+
'de shell/Python para explorar archivos -- las tools directas son tu via.',
|
|
5376
|
+
'Para descubrir la estructura, llama list_files SIN path (lista la RAIZ);',
|
|
5377
|
+
'no adivines nombres de carpetas. Si una busqueda vuelve vacia, NO',
|
|
5378
|
+
'concluyas que el proyecto esta vacio: confia en lo que read_file ya te',
|
|
5379
|
+
'devolvio. nac3_invoke queda SOLO para acciones de Forge (pizarron,',
|
|
5380
|
+
'pending, workflow, git, reader, etc.).',
|
|
5381
|
+
'',
|
|
5382
|
+
] : []),
|
|
5360
5383
|
'COORDINACION ENTRE INSTANCIAS (yujin.bridge.*): para que OTRA instancia',
|
|
5361
5384
|
'reciba algo EN SU CHAT y lo conteste (saludo, pregunta, handoff, "decile a',
|
|
5362
5385
|
'la otra que..."), usa yujin.bridge.say CON `to`=<panel port> (DIRIGIDO): se',
|