@nac3/forge-cli 0.2.1-alpha.60 → 1.0.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 +5 -1
- package/dist/agents/bridge.d.ts.map +1 -1
- package/dist/agents/bridge.js +27 -0
- package/dist/agents/bridge.js.map +1 -1
- package/dist/agents/config_resolver.d.ts.map +1 -1
- package/dist/agents/config_resolver.js +15 -15
- package/dist/agents/config_resolver.js.map +1 -1
- package/dist/agents/runner.d.ts +8 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +58 -11
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/system_prompt.d.ts.map +1 -1
- package/dist/agents/system_prompt.js +2 -1
- package/dist/agents/system_prompt.js.map +1 -1
- package/dist/bin/yf.d.ts.map +1 -1
- package/dist/bin/yf.js +18 -0
- package/dist/bin/yf.js.map +1 -1
- package/dist/chat/claude.d.ts +13 -0
- package/dist/chat/claude.d.ts.map +1 -1
- package/dist/chat/claude.js +45 -10
- package/dist/chat/claude.js.map +1 -1
- package/dist/chat/claude_cli.d.ts +10 -0
- package/dist/chat/claude_cli.d.ts.map +1 -1
- package/dist/chat/claude_cli.js +97 -16
- package/dist/chat/claude_cli.js.map +1 -1
- package/dist/chat/completion_hallucination_detector.d.ts +11 -0
- package/dist/chat/completion_hallucination_detector.d.ts.map +1 -1
- package/dist/chat/completion_hallucination_detector.js +37 -2
- package/dist/chat/completion_hallucination_detector.js.map +1 -1
- package/dist/chat/doctrine_digest.d.ts.map +1 -1
- package/dist/chat/doctrine_digest.js +10 -6
- package/dist/chat/doctrine_digest.js.map +1 -1
- package/dist/chat/panel.d.ts.map +1 -1
- package/dist/chat/panel.js +885 -42
- package/dist/chat/panel.js.map +1 -1
- package/dist/chat/refusal_detector.d.ts.map +1 -1
- package/dist/chat/refusal_detector.js +2 -1
- package/dist/chat/refusal_detector.js.map +1 -1
- package/dist/chat/server.d.ts +1 -0
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +890 -62
- package/dist/chat/server.js.map +1 -1
- package/dist/chat/session_projects.d.ts +31 -0
- package/dist/chat/session_projects.d.ts.map +1 -0
- package/dist/chat/session_projects.js +36 -0
- package/dist/chat/session_projects.js.map +1 -0
- package/dist/chat/session_store.d.ts +32 -0
- package/dist/chat/session_store.d.ts.map +1 -0
- package/dist/chat/session_store.js +58 -0
- package/dist/chat/session_store.js.map +1 -0
- package/dist/chat/tooling_section.d.ts +11 -0
- package/dist/chat/tooling_section.d.ts.map +1 -0
- package/dist/chat/tooling_section.js +70 -0
- package/dist/chat/tooling_section.js.map +1 -0
- package/dist/chat/tools/app_backend_dispatch.d.ts.map +1 -1
- package/dist/chat/tools/app_backend_dispatch.js +44 -1
- package/dist/chat/tools/app_backend_dispatch.js.map +1 -1
- package/dist/chat/tools/fs_editor.d.ts.map +1 -1
- package/dist/chat/tools/fs_editor.js +53 -3
- package/dist/chat/tools/fs_editor.js.map +1 -1
- package/dist/chat/tools/graph.js +2 -2
- package/dist/chat/tools/graph.js.map +1 -1
- package/dist/chat/tools/keys.d.ts.map +1 -1
- package/dist/chat/tools/keys.js +5 -18
- package/dist/chat/tools/keys.js.map +1 -1
- package/dist/chat/tools/nac3_invoke.d.ts.map +1 -1
- package/dist/chat/tools/nac3_invoke.js +16 -7
- package/dist/chat/tools/nac3_invoke.js.map +1 -1
- package/dist/chat/tools/shell.d.ts +6 -0
- package/dist/chat/tools/shell.d.ts.map +1 -1
- package/dist/chat/tools/shell.js +39 -0
- package/dist/chat/tools/shell.js.map +1 -1
- package/dist/chat/tools/workflow.d.ts +20 -0
- package/dist/chat/tools/workflow.d.ts.map +1 -1
- package/dist/chat/tools/workflow.js +98 -0
- package/dist/chat/tools/workflow.js.map +1 -1
- package/dist/chat/tools.d.ts.map +1 -1
- package/dist/chat/tools.js +79 -1
- package/dist/chat/tools.js.map +1 -1
- package/dist/chat/turn_control.d.ts +42 -0
- package/dist/chat/turn_control.d.ts.map +1 -0
- package/dist/chat/turn_control.js +53 -0
- package/dist/chat/turn_control.js.map +1 -0
- package/dist/commands/brain.js +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +61 -10
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/graph.js +9 -9
- package/dist/commands/graph.js.map +1 -1
- package/dist/commands/keys_setup.d.ts +10 -28
- package/dist/commands/keys_setup.d.ts.map +1 -1
- package/dist/commands/keys_setup.js +54 -228
- package/dist/commands/keys_setup.js.map +1 -1
- package/dist/commands/license.d.ts.map +1 -1
- package/dist/commands/license.js +52 -28
- package/dist/commands/license.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +62 -6
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/mobile.d.ts +1 -1
- package/dist/commands/mobile.d.ts.map +1 -1
- package/dist/commands/mobile.js +32 -28
- package/dist/commands/mobile.js.map +1 -1
- package/dist/commands/onboard.d.ts +19 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +126 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/pending.d.ts.map +1 -1
- package/dist/commands/pending.js +25 -1
- package/dist/commands/pending.js.map +1 -1
- package/dist/commands/projects.js +25 -1
- package/dist/commands/projects.js.map +1 -1
- package/dist/commands/review-screens.js +28 -1
- package/dist/commands/review-screens.js.map +1 -1
- package/dist/commands/workflow.d.ts +18 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +253 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/core/brain_config.d.ts +2 -0
- package/dist/core/brain_config.d.ts.map +1 -1
- package/dist/core/brain_config.js +18 -3
- package/dist/core/brain_config.js.map +1 -1
- package/dist/core/cf_tunnel.d.ts.map +1 -1
- package/dist/core/cf_tunnel.js +8 -2
- package/dist/core/cf_tunnel.js.map +1 -1
- package/dist/core/cost_router.d.ts.map +1 -1
- package/dist/core/cost_router.js +11 -2
- package/dist/core/cost_router.js.map +1 -1
- package/dist/core/desktop_open.d.ts +16 -0
- package/dist/core/desktop_open.d.ts.map +1 -0
- package/dist/core/desktop_open.js +114 -0
- package/dist/core/desktop_open.js.map +1 -0
- package/dist/core/keys_envelope.d.ts.map +1 -1
- package/dist/core/keys_envelope.js +5 -1
- package/dist/core/keys_envelope.js.map +1 -1
- package/dist/core/limits_config.d.ts +5 -0
- package/dist/core/limits_config.d.ts.map +1 -1
- package/dist/core/limits_config.js +5 -0
- package/dist/core/limits_config.js.map +1 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +3 -0
- package/dist/core/logger.js.map +1 -1
- package/dist/core/pairing.d.ts +6 -0
- package/dist/core/pairing.d.ts.map +1 -1
- package/dist/core/pairing.js +41 -2
- package/dist/core/pairing.js.map +1 -1
- package/dist/core/provider_keys.d.ts.map +1 -1
- package/dist/core/provider_keys.js +25 -12
- package/dist/core/provider_keys.js.map +1 -1
- package/dist/core/provider_models.js +1 -1
- package/dist/deploy/cloudflare.d.ts.map +1 -1
- package/dist/deploy/cloudflare.js +13 -2
- package/dist/deploy/cloudflare.js.map +1 -1
- package/dist/design/yujin_design_resolver.d.ts +16 -0
- package/dist/design/yujin_design_resolver.d.ts.map +1 -1
- package/dist/design/yujin_design_resolver.js +103 -20
- package/dist/design/yujin_design_resolver.js.map +1 -1
- package/dist/docs/doctrine/default-design-system.md +32 -0
- package/dist/docs/doctrine/office-tools.md +20 -0
- package/dist/docs/doctrine/verb-composition.md +16 -0
- package/dist/docs/doctrine/workflow-kinds.md +39 -22
- package/dist/docs/doctrine/workflow.md +12 -4
- package/dist/license/auto_sync.d.ts +22 -0
- package/dist/license/auto_sync.d.ts.map +1 -0
- package/dist/license/auto_sync.js +91 -0
- package/dist/license/auto_sync.js.map +1 -0
- package/dist/license/handle_key.d.ts +32 -0
- package/dist/license/handle_key.d.ts.map +1 -0
- package/dist/license/handle_key.js +56 -0
- package/dist/license/handle_key.js.map +1 -0
- package/dist/license/hito4_client.d.ts.map +1 -1
- package/dist/license/hito4_client.js +63 -25
- package/dist/license/hito4_client.js.map +1 -1
- package/dist/llm/gemini_client.d.ts.map +1 -1
- package/dist/llm/gemini_client.js +5 -2
- package/dist/llm/gemini_client.js.map +1 -1
- package/dist/llm/managed_client.d.ts.map +1 -1
- package/dist/llm/managed_client.js +14 -9
- package/dist/llm/managed_client.js.map +1 -1
- package/dist/mcp/plan_bridges.d.ts +17 -0
- package/dist/mcp/plan_bridges.d.ts.map +1 -0
- package/dist/mcp/plan_bridges.js +119 -0
- package/dist/mcp/plan_bridges.js.map +1 -0
- package/dist/migrate/ai-apply.d.ts.map +1 -1
- package/dist/migrate/ai-apply.js +25 -2
- package/dist/migrate/ai-apply.js.map +1 -1
- package/dist/nac3/internal_manifest.d.ts.map +1 -1
- package/dist/nac3/internal_manifest.js +200 -10
- package/dist/nac3/internal_manifest.js.map +1 -1
- package/dist/nac3/verb_tier_map.d.ts.map +1 -1
- package/dist/nac3/verb_tier_map.js +3 -0
- package/dist/nac3/verb_tier_map.js.map +1 -1
- package/dist/onboarding/concierge_client.d.ts +34 -0
- package/dist/onboarding/concierge_client.d.ts.map +1 -0
- package/dist/onboarding/concierge_client.js +80 -0
- package/dist/onboarding/concierge_client.js.map +1 -0
- package/dist/onboarding/next_step.d.ts +32 -0
- package/dist/onboarding/next_step.d.ts.map +1 -0
- package/dist/onboarding/next_step.js +60 -0
- package/dist/onboarding/next_step.js.map +1 -0
- package/dist/pending/store.d.ts +7 -0
- package/dist/pending/store.d.ts.map +1 -1
- package/dist/pending/store.js +19 -0
- package/dist/pending/store.js.map +1 -1
- package/dist/pending/types.d.ts +20 -0
- package/dist/pending/types.d.ts.map +1 -1
- package/dist/pending/types.js.map +1 -1
- package/dist/reader/parsers/epub.d.ts.map +1 -1
- package/dist/reader/parsers/epub.js +6 -1
- package/dist/reader/parsers/epub.js.map +1 -1
- package/dist/relay/board_snapshot.d.ts +69 -0
- package/dist/relay/board_snapshot.d.ts.map +1 -0
- package/dist/relay/board_snapshot.js +149 -0
- package/dist/relay/board_snapshot.js.map +1 -0
- package/dist/relay/command_consumer.d.ts +91 -0
- package/dist/relay/command_consumer.d.ts.map +1 -0
- package/dist/relay/command_consumer.js +129 -0
- package/dist/relay/command_consumer.js.map +1 -0
- package/dist/relay/mock_relay.d.ts +34 -0
- package/dist/relay/mock_relay.d.ts.map +1 -0
- package/dist/relay/mock_relay.js +93 -0
- package/dist/relay/mock_relay.js.map +1 -0
- package/dist/relay/relay_client.d.ts +28 -0
- package/dist/relay/relay_client.d.ts.map +1 -0
- package/dist/relay/relay_client.js +80 -0
- package/dist/relay/relay_client.js.map +1 -0
- package/dist/relay/relay_publisher.d.ts +59 -0
- package/dist/relay/relay_publisher.d.ts.map +1 -0
- package/dist/relay/relay_publisher.js +101 -0
- package/dist/relay/relay_publisher.js.map +1 -0
- package/dist/relay/types.d.ts +54 -0
- package/dist/relay/types.d.ts.map +1 -0
- package/dist/relay/types.js +8 -0
- package/dist/relay/types.js.map +1 -0
- package/dist/semantic_graph/ast_extract.d.ts +5 -0
- package/dist/semantic_graph/ast_extract.d.ts.map +1 -1
- package/dist/semantic_graph/ast_extract.js +46 -0
- package/dist/semantic_graph/ast_extract.js.map +1 -1
- package/dist/semantic_graph/derive.d.ts +12 -0
- package/dist/semantic_graph/derive.d.ts.map +1 -1
- package/dist/semantic_graph/derive.js +325 -6
- package/dist/semantic_graph/derive.js.map +1 -1
- package/dist/semantic_graph/store.d.ts +9 -0
- package/dist/semantic_graph/store.d.ts.map +1 -1
- package/dist/semantic_graph/store.js +23 -1
- package/dist/semantic_graph/store.js.map +1 -1
- package/dist/semantic_graph/types.d.ts +1 -1
- package/dist/semantic_graph/types.d.ts.map +1 -1
- package/dist/support/github_dispatcher.d.ts.map +1 -1
- package/dist/support/github_dispatcher.js +30 -2
- package/dist/support/github_dispatcher.js.map +1 -1
- package/dist/tasks/supervisor.d.ts +88 -0
- package/dist/tasks/supervisor.d.ts.map +1 -0
- package/dist/tasks/supervisor.js +308 -0
- package/dist/tasks/supervisor.js.map +1 -0
- package/dist/tasks/task_type.d.ts +11 -0
- package/dist/tasks/task_type.d.ts.map +1 -0
- package/dist/tasks/task_type.js +21 -0
- package/dist/tasks/task_type.js.map +1 -0
- package/dist/vault/store.d.ts.map +1 -1
- package/dist/vault/store.js +6 -1
- package/dist/vault/store.js.map +1 -1
- package/dist/version.d.ts +3 -5
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +3 -5
- package/dist/version.js.map +1 -1
- package/dist/voice/providers/google.d.ts.map +1 -1
- package/dist/voice/providers/google.js +6 -4
- package/dist/voice/providers/google.js.map +1 -1
- package/dist/workflow/config.d.ts +43 -0
- package/dist/workflow/config.d.ts.map +1 -0
- package/dist/workflow/config.js +199 -0
- package/dist/workflow/config.js.map +1 -0
- package/dist/workflow/instances.d.ts +40 -0
- package/dist/workflow/instances.d.ts.map +1 -0
- package/dist/workflow/instances.js +122 -0
- package/dist/workflow/instances.js.map +1 -0
- package/dist/workflow/multi_view.d.ts +27 -0
- package/dist/workflow/multi_view.d.ts.map +1 -0
- package/dist/workflow/multi_view.js +76 -0
- package/dist/workflow/multi_view.js.map +1 -0
- package/dist/workflow/orchestrator.d.ts +111 -0
- package/dist/workflow/orchestrator.d.ts.map +1 -0
- package/dist/workflow/orchestrator.js +241 -0
- package/dist/workflow/orchestrator.js.map +1 -0
- package/docs/doctrine/default-design-system.md +32 -0
- package/docs/doctrine/office-tools.md +20 -0
- package/docs/doctrine/verb-composition.md +16 -0
- package/docs/doctrine/workflow-kinds.md +39 -22
- package/docs/doctrine/workflow.md +12 -4
- package/package.json +2 -1
- package/src/i18n/catalogs/ar.json +223 -210
- package/src/i18n/catalogs/de.json +223 -210
- package/src/i18n/catalogs/en.json +223 -210
- package/src/i18n/catalogs/es.json +223 -210
- package/src/i18n/catalogs/fr.json +223 -210
- package/src/i18n/catalogs/hi.json +223 -210
- package/src/i18n/catalogs/it.json +223 -210
- package/src/i18n/catalogs/ja.json +223 -210
- package/src/i18n/catalogs/pt.json +223 -210
- package/src/i18n/catalogs/zh.json +223 -210
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-session project override (Pablo 2026-06-15).
|
|
3
|
+
*
|
|
4
|
+
* The desktop has ONE global active project (session.projectRoot) used by
|
|
5
|
+
* the unified 'notebook' session + the panel. A mobile "Sesion Propia"
|
|
6
|
+
* (a non-default session id) can point at its OWN project WITHOUT moving
|
|
7
|
+
* the global one: it records an override here, and handleChat builds a
|
|
8
|
+
* turn-local ctx pointed at that project for every downstream use (prompt
|
|
9
|
+
* context, semantic graph, tooling, tool cwd). The chat THREAD stays one
|
|
10
|
+
* stable transcript; only the project it works on changes.
|
|
11
|
+
*
|
|
12
|
+
* The default session never has an override (it always uses the global
|
|
13
|
+
* project, and switching it hot-reanchors the desktop). In-memory only --
|
|
14
|
+
* an override resets on server restart, which is fine (the phone re-picks
|
|
15
|
+
* its project from the board snapshot / its local state).
|
|
16
|
+
*
|
|
17
|
+
* ASCII-only.
|
|
18
|
+
*/
|
|
19
|
+
export interface SessionProject {
|
|
20
|
+
root: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
}
|
|
23
|
+
/** Point a session at its own project (root + slug). */
|
|
24
|
+
export declare function setSessionProject(sessionId: string, root: string, slug: string): void;
|
|
25
|
+
/** The override for a session, or null when it follows the global project. */
|
|
26
|
+
export declare function getSessionProject(sessionId: string): SessionProject | null;
|
|
27
|
+
/** Clear a session's override (back to the global project). */
|
|
28
|
+
export declare function clearSessionProject(sessionId: string): void;
|
|
29
|
+
/** Test hook. */
|
|
30
|
+
export declare function _resetSessionProjects(): void;
|
|
31
|
+
//# sourceMappingURL=session_projects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session_projects.d.ts","sourceRoot":"","sources":["../../src/chat/session_projects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAI9D,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAGrF;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAE1E;AAED,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,iBAAiB;AACjB,wBAAgB,qBAAqB,IAAI,IAAI,CAAwB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-session project override (Pablo 2026-06-15).
|
|
3
|
+
*
|
|
4
|
+
* The desktop has ONE global active project (session.projectRoot) used by
|
|
5
|
+
* the unified 'notebook' session + the panel. A mobile "Sesion Propia"
|
|
6
|
+
* (a non-default session id) can point at its OWN project WITHOUT moving
|
|
7
|
+
* the global one: it records an override here, and handleChat builds a
|
|
8
|
+
* turn-local ctx pointed at that project for every downstream use (prompt
|
|
9
|
+
* context, semantic graph, tooling, tool cwd). The chat THREAD stays one
|
|
10
|
+
* stable transcript; only the project it works on changes.
|
|
11
|
+
*
|
|
12
|
+
* The default session never has an override (it always uses the global
|
|
13
|
+
* project, and switching it hot-reanchors the desktop). In-memory only --
|
|
14
|
+
* an override resets on server restart, which is fine (the phone re-picks
|
|
15
|
+
* its project from the board snapshot / its local state).
|
|
16
|
+
*
|
|
17
|
+
* ASCII-only.
|
|
18
|
+
*/
|
|
19
|
+
const _overrides = new Map();
|
|
20
|
+
/** Point a session at its own project (root + slug). */
|
|
21
|
+
export function setSessionProject(sessionId, root, slug) {
|
|
22
|
+
if (!sessionId)
|
|
23
|
+
return;
|
|
24
|
+
_overrides.set(sessionId, { root, slug });
|
|
25
|
+
}
|
|
26
|
+
/** The override for a session, or null when it follows the global project. */
|
|
27
|
+
export function getSessionProject(sessionId) {
|
|
28
|
+
return _overrides.get(sessionId) ?? null;
|
|
29
|
+
}
|
|
30
|
+
/** Clear a session's override (back to the global project). */
|
|
31
|
+
export function clearSessionProject(sessionId) {
|
|
32
|
+
_overrides.delete(sessionId);
|
|
33
|
+
}
|
|
34
|
+
/** Test hook. */
|
|
35
|
+
export function _resetSessionProjects() { _overrides.clear(); }
|
|
36
|
+
//# sourceMappingURL=session_projects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session_projects.js","sourceRoot":"","sources":["../../src/chat/session_projects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;AAErD,wDAAwD;AACxD,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,IAAY,EAAE,IAAY;IAC7E,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AAC3C,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,qBAAqB,KAAW,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session stores -- multiple conversation THREADS on one desktop server.
|
|
3
|
+
*
|
|
4
|
+
* The default session ('desktop-main') reuses the server's main store, so
|
|
5
|
+
* existing behavior is unchanged. A mobile client that wants its own
|
|
6
|
+
* parallel thread ("Sesion propia") passes a different session_id and
|
|
7
|
+
* gets its own persisted TranscriptStore -- independent context, same
|
|
8
|
+
* project + brain (the desktop is always the compute).
|
|
9
|
+
*
|
|
10
|
+
* This is what makes the mobile toggle real:
|
|
11
|
+
* - "Sesion de la notebook" -> session_id = DEFAULT_SESSION_ID -> the
|
|
12
|
+
* same thread the panel shows (unified, command + mirror).
|
|
13
|
+
* - "Sesion propia" -> session_id = 'mobile-<id>' -> a
|
|
14
|
+
* separate parallel thread.
|
|
15
|
+
*
|
|
16
|
+
* Thread files live next to the main transcript
|
|
17
|
+
* (<projectRoot>/.yujin-forge/cache/chat/session-<id>.json).
|
|
18
|
+
*
|
|
19
|
+
* ASCII-only.
|
|
20
|
+
*/
|
|
21
|
+
import { TranscriptStore } from './persistence.js';
|
|
22
|
+
export declare const DEFAULT_SESSION_ID = "desktop-main";
|
|
23
|
+
export declare function safeSessionId(id: string | undefined): string;
|
|
24
|
+
/** Resolve the store for a session. The default session reuses
|
|
25
|
+
* `defaultStore` (the server's main store -- unchanged behavior); any
|
|
26
|
+
* other id gets its own persisted store. */
|
|
27
|
+
export declare function getSessionStore(sessionId: string | undefined, defaultStore: TranscriptStore, projectRoot: string, version: string): TranscriptStore;
|
|
28
|
+
/** All known session ids for a project (default + any spun-up threads). */
|
|
29
|
+
export declare function listSessionIds(projectRoot: string): string[];
|
|
30
|
+
/** Test hook. */
|
|
31
|
+
export declare function _resetSessionStores(): void;
|
|
32
|
+
//# sourceMappingURL=session_store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session_store.d.ts","sourceRoot":"","sources":["../../src/chat/session_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAIjD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG5D;AAED;;6CAE6C;AAC7C,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,YAAY,EAAE,eAAe,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,eAAe,CAUjB;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAU5D;AAED,iBAAiB;AACjB,wBAAgB,mBAAmB,IAAI,IAAI,CAAqB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session stores -- multiple conversation THREADS on one desktop server.
|
|
3
|
+
*
|
|
4
|
+
* The default session ('desktop-main') reuses the server's main store, so
|
|
5
|
+
* existing behavior is unchanged. A mobile client that wants its own
|
|
6
|
+
* parallel thread ("Sesion propia") passes a different session_id and
|
|
7
|
+
* gets its own persisted TranscriptStore -- independent context, same
|
|
8
|
+
* project + brain (the desktop is always the compute).
|
|
9
|
+
*
|
|
10
|
+
* This is what makes the mobile toggle real:
|
|
11
|
+
* - "Sesion de la notebook" -> session_id = DEFAULT_SESSION_ID -> the
|
|
12
|
+
* same thread the panel shows (unified, command + mirror).
|
|
13
|
+
* - "Sesion propia" -> session_id = 'mobile-<id>' -> a
|
|
14
|
+
* separate parallel thread.
|
|
15
|
+
*
|
|
16
|
+
* Thread files live next to the main transcript
|
|
17
|
+
* (<projectRoot>/.yujin-forge/cache/chat/session-<id>.json).
|
|
18
|
+
*
|
|
19
|
+
* ASCII-only.
|
|
20
|
+
*/
|
|
21
|
+
import { TranscriptStore } from './persistence.js';
|
|
22
|
+
export const DEFAULT_SESSION_ID = 'desktop-main';
|
|
23
|
+
const _stores = new Map();
|
|
24
|
+
export function safeSessionId(id) {
|
|
25
|
+
const s = String(id || DEFAULT_SESSION_ID).replace(/[^a-zA-Z0-9_.-]/g, '_').slice(0, 64);
|
|
26
|
+
return s || DEFAULT_SESSION_ID;
|
|
27
|
+
}
|
|
28
|
+
/** Resolve the store for a session. The default session reuses
|
|
29
|
+
* `defaultStore` (the server's main store -- unchanged behavior); any
|
|
30
|
+
* other id gets its own persisted store. */
|
|
31
|
+
export function getSessionStore(sessionId, defaultStore, projectRoot, version) {
|
|
32
|
+
const id = safeSessionId(sessionId);
|
|
33
|
+
if (id === DEFAULT_SESSION_ID)
|
|
34
|
+
return defaultStore;
|
|
35
|
+
const key = projectRoot + '::' + id;
|
|
36
|
+
let s = _stores.get(key);
|
|
37
|
+
if (!s) {
|
|
38
|
+
s = new TranscriptStore(projectRoot, version, 'session-' + id + '.json');
|
|
39
|
+
_stores.set(key, s);
|
|
40
|
+
}
|
|
41
|
+
return s;
|
|
42
|
+
}
|
|
43
|
+
/** All known session ids for a project (default + any spun-up threads). */
|
|
44
|
+
export function listSessionIds(projectRoot) {
|
|
45
|
+
const prefix = projectRoot + '::';
|
|
46
|
+
const out = [DEFAULT_SESSION_ID];
|
|
47
|
+
for (const k of _stores.keys()) {
|
|
48
|
+
if (k.startsWith(prefix)) {
|
|
49
|
+
const id = k.slice(prefix.length);
|
|
50
|
+
if (id !== DEFAULT_SESSION_ID)
|
|
51
|
+
out.push(id);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
/** Test hook. */
|
|
57
|
+
export function _resetSessionStores() { _stores.clear(); }
|
|
58
|
+
//# sourceMappingURL=session_store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session_store.js","sourceRoot":"","sources":["../../src/chat/session_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEnD,MAAM,UAAU,aAAa,CAAC,EAAsB;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,OAAO,CAAC,IAAI,kBAAkB,CAAC;AACjC,CAAC;AAED;;6CAE6C;AAC7C,MAAM,UAAU,eAAe,CAC7B,SAA6B,EAC7B,YAA6B,EAC7B,WAAmB,EACnB,OAAe;IAEf,MAAM,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,EAAE,KAAK,kBAAkB;QAAE,OAAO,YAAY,CAAC;IACnD,MAAM,GAAG,GAAG,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IACpC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,IAAI,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IAClC,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,EAAE,KAAK,kBAAkB;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,mBAAmB,KAAW,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { GraphNode } from '../semantic_graph/types.js';
|
|
2
|
+
/** Render the section from a node list (pure -- unit-testable). Returns
|
|
3
|
+
* '' when there are no tooling nodes. */
|
|
4
|
+
export declare function renderToolingSection(nodes: GraphNode[]): string;
|
|
5
|
+
/** Query the local graph store for tooling nodes and render the section.
|
|
6
|
+
* Returns { ok, rendered_text } mirroring fetchGraphSection. */
|
|
7
|
+
export declare function buildToolingSection(project_slug: string): Promise<{
|
|
8
|
+
ok: boolean;
|
|
9
|
+
rendered_text: string;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=tooling_section.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooling_section.d.ts","sourceRoot":"","sources":["../../src/chat/tooling_section.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAmB5D;0CAC0C;AAC1C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAoB/D;AAED;iEACiE;AACjE,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAO/G"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tooling_section.ts -- renders the PROJECT TOOLING block injected into
|
|
3
|
+
* the chat system prompt (the dynamic suffix). Reads the 'tooling' nodes
|
|
4
|
+
* the semantic-graph deriver discovered (CI/CD workflows, npm scripts,
|
|
5
|
+
* scripts/ helpers) and lays them out compactly, grouped by family.
|
|
6
|
+
*
|
|
7
|
+
* The point: a customer's build/CI/deploy chain is DISCOVERED and always
|
|
8
|
+
* present in the prompt, so the model uses the real workflows + commands
|
|
9
|
+
* instead of inventing them. Generic -- nothing is hardcoded per repo.
|
|
10
|
+
*
|
|
11
|
+
* Best-effort + bounded: a store error yields '' and the chat continues.
|
|
12
|
+
*
|
|
13
|
+
* ASCII-only.
|
|
14
|
+
*/
|
|
15
|
+
import { listRelevant } from '../semantic_graph/store.js';
|
|
16
|
+
/** Char budget for the whole section (kept small -- this rides in the
|
|
17
|
+
* dynamic suffix of every turn). */
|
|
18
|
+
const MAX_CHARS = 1600;
|
|
19
|
+
const GROUPS = [
|
|
20
|
+
{ prefix: 'tool.ci.', label: 'CI/CD' },
|
|
21
|
+
{ prefix: 'tool.npm.', label: 'npm scripts' },
|
|
22
|
+
{ prefix: 'tool.script.', label: 'scripts' },
|
|
23
|
+
];
|
|
24
|
+
const HEADER = [
|
|
25
|
+
'PROJECT TOOLING -- the build / CI / scripts that ALREADY exist in this',
|
|
26
|
+
'repo. USE these exact workflows + commands; do NOT invent build, test,',
|
|
27
|
+
'or deploy steps. For the full definition of one, call',
|
|
28
|
+
'yujin.semantic-graph.get({id}).',
|
|
29
|
+
].join('\n');
|
|
30
|
+
/** Render the section from a node list (pure -- unit-testable). Returns
|
|
31
|
+
* '' when there are no tooling nodes. */
|
|
32
|
+
export function renderToolingSection(nodes) {
|
|
33
|
+
const tooling = nodes.filter((n) => n.kind === 'tooling');
|
|
34
|
+
if (tooling.length === 0)
|
|
35
|
+
return '';
|
|
36
|
+
const lines = [HEADER, ''];
|
|
37
|
+
let used = HEADER.length;
|
|
38
|
+
let dropped = 0;
|
|
39
|
+
for (const { prefix, label } of GROUPS) {
|
|
40
|
+
const group = tooling.filter((n) => n.id.startsWith(prefix));
|
|
41
|
+
if (group.length === 0)
|
|
42
|
+
continue;
|
|
43
|
+
lines.push(label + ':');
|
|
44
|
+
used += label.length + 2;
|
|
45
|
+
for (const n of group) {
|
|
46
|
+
const row = ' - ' + n.purpose;
|
|
47
|
+
if (used + row.length + 1 > MAX_CHARS) {
|
|
48
|
+
dropped++;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
lines.push(row);
|
|
52
|
+
used += row.length + 1;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (dropped > 0)
|
|
56
|
+
lines.push(' ... +' + dropped + ' more (call yujin.semantic-graph.get to list)');
|
|
57
|
+
return lines.join('\n');
|
|
58
|
+
}
|
|
59
|
+
/** Query the local graph store for tooling nodes and render the section.
|
|
60
|
+
* Returns { ok, rendered_text } mirroring fetchGraphSection. */
|
|
61
|
+
export async function buildToolingSection(project_slug) {
|
|
62
|
+
try {
|
|
63
|
+
const nodes = await listRelevant(project_slug, { kinds: ['tooling'], limit: 120, min_confidence: 'claimed' });
|
|
64
|
+
return { ok: true, rendered_text: renderToolingSection(nodes) };
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return { ok: false, rendered_text: '' };
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=tooling_section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooling_section.js","sourceRoot":"","sources":["../../src/chat/tooling_section.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D;qCACqC;AACrC,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,MAAM,MAAM,GAA6C;IACvD,EAAE,MAAM,EAAE,UAAU,EAAM,KAAK,EAAE,OAAO,EAAE;IAC1C,EAAE,MAAM,EAAE,WAAW,EAAK,KAAK,EAAE,aAAa,EAAE;IAChD,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;CAC7C,CAAC;AAEF,MAAM,MAAM,GAAG;IACb,wEAAwE;IACxE,wEAAwE;IACxE,uDAAuD;IACvD,iCAAiC;CAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;0CAC0C;AAC1C,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,KAAK,GAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QACxB,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;YAC/B,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,+CAA+C,CAAC,CAAC;IACnG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;iEACiE;AACjE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,YAAoB;IAC5D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9G,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app_backend_dispatch.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/app_backend_dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW9C,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAQ,MAAM,CAAC;IACrB,IAAI,EAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,SAAS,EAAK,SAAS,CAAC;IACxB,SAAS,EAAK,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;CACtB;AAoBD,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAgED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"app_backend_dispatch.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/app_backend_dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW9C,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAQ,MAAM,CAAC;IACrB,IAAI,EAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,SAAS,EAAK,SAAS,CAAC;IACxB,SAAS,EAAK,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;CACtB;AAoBD,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAgED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyL1F"}
|
|
@@ -139,6 +139,46 @@ export async function runAppBackendTool(input) {
|
|
|
139
139
|
display: 'nac3_invoke <- unknown app tool ' + toolId,
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
|
+
/* PND-052 (sec 2.2) -- gate destructive / approval-required app.*
|
|
143
|
+
* tools. The R8 modal does not yet fire for the app.* layer, so
|
|
144
|
+
* until it does the secure default is to DENY these unless the
|
|
145
|
+
* Danger Zone master toggle is on (the same escape hatch native
|
|
146
|
+
* verbs use). Without this, an LLM turn could drive a destructive
|
|
147
|
+
* adopter endpoint with zero human gate. */
|
|
148
|
+
const NEEDS_APPROVAL = tool.policy === 'destructive' || tool.policy === 'approval-required';
|
|
149
|
+
if (NEEDS_APPROVAL) {
|
|
150
|
+
let dangerZoneBypass = false;
|
|
151
|
+
try {
|
|
152
|
+
const { readLimitsConfig } = await import('../../core/limits_config.js');
|
|
153
|
+
const lim = await readLimitsConfig();
|
|
154
|
+
if (lim.danger_zone && lim.danger_zone.auto_approve_all === true)
|
|
155
|
+
dangerZoneBypass = true;
|
|
156
|
+
}
|
|
157
|
+
catch { /* swallow -- default to denying */ }
|
|
158
|
+
if (!dangerZoneBypass) {
|
|
159
|
+
await logDispatch({
|
|
160
|
+
ts: new Date().toISOString(), kind: 'invoke', ...baseEntry,
|
|
161
|
+
verb_id: 'app.' + toolId,
|
|
162
|
+
args_sample: redactArgs(args),
|
|
163
|
+
policy: tool.policy,
|
|
164
|
+
result_ok: false,
|
|
165
|
+
result_error: 'denied: policy ' + tool.policy + ' requires approval (no modal for app.* yet)',
|
|
166
|
+
duration_ms: Date.now() - startedAt,
|
|
167
|
+
});
|
|
168
|
+
return {
|
|
169
|
+
tool: NAC3_INVOKE_SPEC.name,
|
|
170
|
+
is_error: true,
|
|
171
|
+
result: {
|
|
172
|
+
error: 'app_tool_requires_approval',
|
|
173
|
+
policy: tool.policy,
|
|
174
|
+
hint: 'This app.* tool is "' + tool.policy + '" and the approval modal is not yet wired for '
|
|
175
|
+
+ 'app.* tools. Enable the Danger Zone master toggle (auto-approve all) to allow it, '
|
|
176
|
+
+ 'or invoke it manually.',
|
|
177
|
+
},
|
|
178
|
+
display: 'nac3_invoke <- app.' + toolId + ' denied (' + tool.policy + ')',
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
}
|
|
142
182
|
const schemaErr = validateAppToolArgs(tool, args);
|
|
143
183
|
if (schemaErr) {
|
|
144
184
|
await logDispatch({
|
|
@@ -224,7 +264,10 @@ export async function runAppBackendTool(input) {
|
|
|
224
264
|
});
|
|
225
265
|
return {
|
|
226
266
|
tool: NAC3_INVOKE_SPEC.name,
|
|
227
|
-
is_error
|
|
267
|
+
/* PND-052 (sec 2.4) -- is_error must reflect the actual outcome.
|
|
268
|
+
* It was hard-coded false, so a failed HTTP call still looked
|
|
269
|
+
* successful to the LLM (it would not retry or surface the error). */
|
|
270
|
+
is_error: !!invokeError,
|
|
228
271
|
result: {
|
|
229
272
|
ok: !invokeError,
|
|
230
273
|
verb_id: 'app.' + toolId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app_backend_dispatch.js","sourceRoot":"","sources":["../../../src/chat/tools/app_backend_dispatch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"app_backend_dispatch.js","sourceRoot":"","sources":["../../../src/chat/tools/app_backend_dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs_editor.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/fs_editor.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fs_editor.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/fs_editor.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAwB3D,wBAAsB,oBAAoB,CACxC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1C,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAoErB;AAyBD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,EAChE,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CA0ErB"}
|
|
@@ -28,6 +28,22 @@ import { runReadFile } from '../tools.js';
|
|
|
28
28
|
/* ============================================================
|
|
29
29
|
* forge_open_file_for_editor
|
|
30
30
|
* ============================================================ */
|
|
31
|
+
/* PND-102 -- formatos que NO se deben volcar crudos a una pestana de
|
|
32
|
+
* editor: son binarios; renderizarlos como texto congela el panel.
|
|
33
|
+
* Para office docs steereamos a desktop.open (verlos) / office.*.read
|
|
34
|
+
* (parsear). Para el resto, un mensaje claro. */
|
|
35
|
+
const BINARY_OPEN_EXT = {
|
|
36
|
+
'.xlsx': 'office', '.xls': 'office', '.xlsm': 'office', '.ods': 'office',
|
|
37
|
+
'.docx': 'office', '.doc': 'office', '.odt': 'office', '.rtf': 'office',
|
|
38
|
+
'.pptx': 'office', '.ppt': 'office', '.odp': 'office', '.pdf': 'office',
|
|
39
|
+
'.png': 'media', '.jpg': 'media', '.jpeg': 'media', '.gif': 'media', '.webp': 'media',
|
|
40
|
+
'.zip': 'binary', '.gz': 'binary', '.tar': 'binary', '.7z': 'binary', '.rar': 'binary',
|
|
41
|
+
'.exe': 'binary', '.dll': 'binary', '.bin': 'binary', '.so': 'binary', '.dylib': 'binary',
|
|
42
|
+
'.mp4': 'media', '.mp3': 'media', '.wav': 'media', '.mov': 'media',
|
|
43
|
+
};
|
|
44
|
+
/* Cap del contenido que va a una pestana (el panel renderiza en el
|
|
45
|
+
* main thread; megabytes de texto lo cuelgan igual que un binario). */
|
|
46
|
+
const MAX_TAB_CHARS = 600_000;
|
|
31
47
|
export async function runOpenFileForEditor(args, ctx) {
|
|
32
48
|
const rel = String(args.path ?? '').trim();
|
|
33
49
|
if (!rel) {
|
|
@@ -38,11 +54,45 @@ export async function runOpenFileForEditor(args, ctx) {
|
|
|
38
54
|
display: 'no path',
|
|
39
55
|
};
|
|
40
56
|
}
|
|
57
|
+
/* Guarda por extension ANTES de leer: nunca volcar un binario/office
|
|
58
|
+
* a una pestana de texto (eso congelo el panel -- PND-102). */
|
|
59
|
+
const ext = path.extname(rel).toLowerCase();
|
|
60
|
+
const cls = BINARY_OPEN_EXT[ext];
|
|
61
|
+
if (cls) {
|
|
62
|
+
const hint = cls === 'office'
|
|
63
|
+
? ('Es un documento de oficina (binario). Para VERLO usa desktop.open({target:"' + rel + '"}) '
|
|
64
|
+
+ '(lo abre en Excel/Word/el visor). Para leer/computar su DATA usa '
|
|
65
|
+
+ (/\.(xlsx|xls|xlsm|csv|ods)$/i.test(rel) ? 'office.excel.read' : /\.(docx|doc|odt|rtf)$/i.test(rel) ? 'office.word.read' : 'office.pdf.read')
|
|
66
|
+
+ '({path:"' + rel + '"}). NO lo abras en una pestana de editor.')
|
|
67
|
+
: ('Es un archivo binario (' + ext + '). Para abrirlo usa desktop.open({target:"' + rel + '"}); '
|
|
68
|
+
+ 'no se puede mostrar como texto en una pestana.');
|
|
69
|
+
return {
|
|
70
|
+
tool: 'forge_open_file_for_editor',
|
|
71
|
+
is_error: true,
|
|
72
|
+
result: { error: hint, binary: true, ext },
|
|
73
|
+
display: 'rechazado: ' + ext + ' (binario, usar desktop.open)',
|
|
74
|
+
};
|
|
75
|
+
}
|
|
41
76
|
const r = await runReadFile({ path: rel }, ctx);
|
|
42
77
|
if (r.is_error)
|
|
43
78
|
return { ...r, tool: 'forge_open_file_for_editor' };
|
|
44
79
|
const data = r.result;
|
|
45
|
-
|
|
80
|
+
let content = typeof data.content === 'string' ? data.content : '';
|
|
81
|
+
/* Guarda defensiva: contenido binario (NUL byte) o gigante -> no
|
|
82
|
+
* volcarlo crudo a la pestana. */
|
|
83
|
+
if (content.indexOf('\u0000') !== -1) {
|
|
84
|
+
return {
|
|
85
|
+
tool: 'forge_open_file_for_editor',
|
|
86
|
+
is_error: true,
|
|
87
|
+
result: { error: 'El archivo es binario (byte NUL); usa desktop.open({target:"' + rel + '"}) para abrirlo en su app.', binary: true },
|
|
88
|
+
display: 'rechazado: binario (NUL)',
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
let clampedNote = '';
|
|
92
|
+
if (content.length > MAX_TAB_CHARS) {
|
|
93
|
+
clampedNote = ' [recortado de ' + content.length + ' a ' + MAX_TAB_CHARS + ' chars para no congelar el panel]';
|
|
94
|
+
content = content.slice(0, MAX_TAB_CHARS);
|
|
95
|
+
}
|
|
46
96
|
const item_id = 'pz_' + Date.now().toString(36) + '_' + Math.random().toString(36).slice(2, 6);
|
|
47
97
|
const lang = (args.language && String(args.language).trim()) || inferLanguage(rel);
|
|
48
98
|
const title = path.basename(rel).slice(0, 80);
|
|
@@ -57,9 +107,9 @@ export async function runOpenFileForEditor(args, ctx) {
|
|
|
57
107
|
language: lang,
|
|
58
108
|
file_path: rel,
|
|
59
109
|
bytes: data.bytes ?? content.length,
|
|
60
|
-
truncated: Boolean(data.truncated),
|
|
110
|
+
truncated: Boolean(data.truncated) || clampedNote !== '',
|
|
61
111
|
},
|
|
62
|
-
display: 'editor <- ' + rel + ' (' + content.length + ' chars)',
|
|
112
|
+
display: 'editor <- ' + rel + ' (' + content.length + ' chars)' + clampedNote,
|
|
63
113
|
};
|
|
64
114
|
}
|
|
65
115
|
/** Best-effort language inference from extension. The panel's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs_editor.js","sourceRoot":"","sources":["../../../src/chat/tools/fs_editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;kEAEkE;AAElE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA0C,EAC1C,GAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;YACrC,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC,QAAQ;QAAE,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;IAEpE,MAAM,IAAI,GAAG,CAAC,CAAC,MAAmE,CAAC;IACnF,
|
|
1
|
+
{"version":3,"file":"fs_editor.js","sourceRoot":"","sources":["../../../src/chat/tools/fs_editor.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/tools/graph.js
CHANGED
|
@@ -45,8 +45,8 @@ export async function runGraphUpsertNodes(args, ctx) {
|
|
|
45
45
|
return err('yujin.graph.upsert-nodes', 'each node must be an object');
|
|
46
46
|
if (typeof n.id !== 'string' || !n.id)
|
|
47
47
|
return err('yujin.graph.upsert-nodes', 'node.id required');
|
|
48
|
-
if (typeof n.kind !== 'string' || !['library', 'protocol', 'component', 'module'].includes(n.kind)) {
|
|
49
|
-
return err('yujin.graph.upsert-nodes', 'node.kind must be library|protocol|component|module');
|
|
48
|
+
if (typeof n.kind !== 'string' || !['library', 'protocol', 'component', 'module', 'tooling'].includes(n.kind)) {
|
|
49
|
+
return err('yujin.graph.upsert-nodes', 'node.kind must be library|protocol|component|module|tooling');
|
|
50
50
|
}
|
|
51
51
|
if (typeof n.name !== 'string' || !n.name)
|
|
52
52
|
return err('yujin.graph.upsert-nodes', 'node.name required');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/chat/tools/graph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/chat/tools/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/keys.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiBrE,eAAO,MAAM,oBAAoB,EAAE,QAalC,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAMD,eAAO,MAAM,iBAAiB,EAAE,QAiC/B,CAAC;AAEF,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACvC,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/keys.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiBrE,eAAO,MAAM,oBAAoB,EAAE,QAalC,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAMD,eAAO,MAAM,iBAAiB,EAAE,QAiC/B,CAAC;AAEF,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACvC,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,UAAU,CAAC,CA4CrB"}
|
package/dist/chat/tools/keys.js
CHANGED
|
@@ -139,31 +139,18 @@ export async function runSetByokKey(args, _ctx) {
|
|
|
139
139
|
display: 'vault set failed',
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
|
-
/* PND-
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
let synced = { ok: false };
|
|
147
|
-
try {
|
|
148
|
-
const { syncKeysToWorker } = await import('../../commands/keys_setup.js');
|
|
149
|
-
synced = await syncKeysToWorker();
|
|
150
|
-
}
|
|
151
|
-
catch (e) {
|
|
152
|
-
synced = { ok: false, error: e instanceof Error ? e.message : String(e) };
|
|
153
|
-
}
|
|
142
|
+
/* PND-099 -- keys are BYOK + LOCAL only. The previous code synced
|
|
143
|
+
* them to the worker for paired phones; that path is removed (the
|
|
144
|
+
* phone needs no keys: voice is native, chat runs on the desktop
|
|
145
|
+
* via the relay). Saving to the local vault is the whole job. */
|
|
154
146
|
return {
|
|
155
147
|
tool: SET_BYOK_KEY_SPEC.name,
|
|
156
148
|
is_error: false,
|
|
157
149
|
result: {
|
|
158
150
|
slot,
|
|
159
151
|
set: raw !== '',
|
|
160
|
-
synced_to_worker: synced.ok,
|
|
161
|
-
...(synced.ok ? { synced_keys: synced.synced } : {}),
|
|
162
|
-
...(synced.error ? { sync_error: synced.error } : {}),
|
|
163
152
|
},
|
|
164
|
-
display:
|
|
165
|
-
+ (synced.ok ? ' + synced ' + (synced.synced ?? '?') + ' keys to worker'
|
|
166
|
-
: synced.empty ? ' [local only]' : ' [local; worker sync failed]'),
|
|
153
|
+
display: raw === '' ? 'Cleared ' + slot : 'Saved ' + slot + ' (length ' + raw.length + ', local)',
|
|
167
154
|
};
|
|
168
155
|
}
|
|
169
156
|
//# sourceMappingURL=keys.js.map
|