@nac3/forge-cli 0.2.0-alpha.3 → 0.2.0-alpha.5
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/bin/yf.d.ts.map +1 -1
- package/dist/bin/yf.js +4 -0
- package/dist/bin/yf.js.map +1 -1
- package/dist/chat/panel.js +2 -2
- package/dist/chat/server.js +9 -9
- package/dist/chat/tools/git.js +4 -4
- package/dist/chat/tools/github.js +3 -3
- package/dist/chat/tools/lifecycle.js +3 -3
- package/dist/chat/tools/manual.js +1 -1
- package/dist/chat/tools/reader.js +8 -8
- package/dist/chat/tools.js +4 -4
- package/dist/commands/doctor.js +94 -42
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/keys_setup.d.ts +53 -0
- package/dist/commands/keys_setup.d.ts.map +1 -0
- package/dist/commands/keys_setup.js +487 -0
- package/dist/commands/keys_setup.js.map +1 -0
- package/dist/commands/voice.js +1 -1
- package/dist/commands/voice.js.map +1 -1
- package/dist/core/keys_envelope.d.ts +13 -0
- package/dist/core/keys_envelope.d.ts.map +1 -1
- package/dist/core/keys_envelope.js.map +1 -1
- package/dist/license/hito4_client.d.ts +17 -1
- package/dist/license/hito4_client.d.ts.map +1 -1
- package/dist/license/hito4_client.js +71 -10
- package/dist/license/hito4_client.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/voice/intents.d.ts +1 -1
- package/dist/voice/intents.js +0 -0
- package/package.json +2 -2
package/dist/bin/yf.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yf.d.ts","sourceRoot":"","sources":["../../src/bin/yf.ts"],"names":[],"mappings":";AAUA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"yf.d.ts","sourceRoot":"","sources":["../../src/bin/yf.ts"],"names":[],"mappings":";AAUA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BpC,wBAAgB,YAAY,IAAI,OAAO,CAsCtC"}
|
package/dist/bin/yf.js
CHANGED
|
@@ -31,6 +31,7 @@ import { registerTunnelCommand } from '../commands/tunnel.js';
|
|
|
31
31
|
import { registerDeployCommand } from '../commands/deploy.js';
|
|
32
32
|
import { registerAppCommand } from '../commands/app.js';
|
|
33
33
|
import { registerVoiceCommand } from '../commands/voice.js';
|
|
34
|
+
import { registerKeysSetupCommand } from '../commands/keys_setup.js';
|
|
34
35
|
import { registerRepoCommand } from '../commands/repo.js';
|
|
35
36
|
import { registerMobileCommand } from '../commands/mobile.js';
|
|
36
37
|
import { registerLogCommand } from '../commands/log.js';
|
|
@@ -64,6 +65,9 @@ export function buildProgram() {
|
|
|
64
65
|
registerDeployCommand(program);
|
|
65
66
|
registerAppCommand(program);
|
|
66
67
|
registerVoiceCommand(program);
|
|
68
|
+
/* `yf keys setup` -- BYOK provider keys (brain + voice) + sync. */
|
|
69
|
+
const keys = program.command('keys').description('BYOK provider keys (brain + voice).');
|
|
70
|
+
registerKeysSetupCommand(keys);
|
|
67
71
|
registerRepoCommand(program);
|
|
68
72
|
registerMobileCommand(program);
|
|
69
73
|
registerLogCommand(program);
|
package/dist/bin/yf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yf.js","sourceRoot":"","sources":["../../src/bin/yf.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AACH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,IAAI,CAAC;SACV,WAAW,CAAC,8DAA8D,CAAC;SAC3E,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,6BAA6B,CAAC;SAChE,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC;SACrC,kBAAkB,CAAC,0CAA0C,CAAC,CAAC;IAElE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,iEAAiE;AACjE,8BAA8B;AAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;OAC3D,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAE7G,IAAI,QAAQ,EAAE,CAAC;IACb,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"yf.js","sourceRoot":"","sources":["../../src/bin/yf.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/panel.js
CHANGED
|
@@ -1093,7 +1093,7 @@ async function dispatchReaderIntent(utterance, intent) {
|
|
|
1093
1093
|
}
|
|
1094
1094
|
/* Update the active reader doc on a successful open so
|
|
1095
1095
|
subsequent voice commands ("siguiente", etc) target it. */
|
|
1096
|
-
if (intent.tool === '
|
|
1096
|
+
if (intent.tool === 'forge_reader_open' && !data.is_error) {
|
|
1097
1097
|
const docId = data.result && data.result.doc_id;
|
|
1098
1098
|
if (docId) state.activeReaderDocId = String(docId);
|
|
1099
1099
|
}
|
|
@@ -1311,7 +1311,7 @@ async function ingestSpecFile(file) {
|
|
|
1311
1311
|
state.toolHistory.push({
|
|
1312
1312
|
turnIndex: state.messages.length - 1,
|
|
1313
1313
|
rounds: [{
|
|
1314
|
-
tool: '
|
|
1314
|
+
tool: 'forge_spec_ingest',
|
|
1315
1315
|
input: { filename: ing.filename, format: ing.format },
|
|
1316
1316
|
display: 'parsed ' + ing.format + ': ' + (ing.title || ing.filename),
|
|
1317
1317
|
is_error: false,
|
package/dist/chat/server.js
CHANGED
|
@@ -466,17 +466,17 @@ async function handleVoiceStt(req, res, ctx) {
|
|
|
466
466
|
* runs.
|
|
467
467
|
*/
|
|
468
468
|
const FORGE_TOOL_DIRECT_ALLOWLIST = new Set([
|
|
469
|
-
'
|
|
470
|
-
'
|
|
471
|
-
'
|
|
472
|
-
'
|
|
473
|
-
'
|
|
474
|
-
'
|
|
475
|
-
'
|
|
476
|
-
'
|
|
469
|
+
'forge_reader_open',
|
|
470
|
+
'forge_reader_list_documents',
|
|
471
|
+
'forge_reader_read_section',
|
|
472
|
+
'forge_reader_next_block',
|
|
473
|
+
'forge_reader_search',
|
|
474
|
+
'forge_reader_bookmark_set',
|
|
475
|
+
'forge_reader_bookmark_jump',
|
|
476
|
+
'forge_reader_recap',
|
|
477
477
|
/* Fase F.8 -- HTML user manuals in 10 languages. Read-only,
|
|
478
478
|
same safety profile as the reader tools. */
|
|
479
|
-
'
|
|
479
|
+
'forge_manual_open',
|
|
480
480
|
]);
|
|
481
481
|
async function handleForgeToolDispatch(req, res, ctx) {
|
|
482
482
|
let body;
|
package/dist/chat/tools/git.js
CHANGED
|
@@ -65,7 +65,7 @@ async function resolveRepoDir(repoDir, ctx) {
|
|
|
65
65
|
* Specs
|
|
66
66
|
* ============================================================ */
|
|
67
67
|
export const GIT_COMMIT_SPEC = {
|
|
68
|
-
name: '
|
|
68
|
+
name: 'forge_git_commit',
|
|
69
69
|
description: 'Commit staged changes (or all tracked changes with `all`=true) in the given git checkout. Returns the commit hash on success.',
|
|
70
70
|
input_schema: {
|
|
71
71
|
type: 'object',
|
|
@@ -79,7 +79,7 @@ export const GIT_COMMIT_SPEC = {
|
|
|
79
79
|
requires_approval: true,
|
|
80
80
|
};
|
|
81
81
|
export const GIT_PUSH_SPEC = {
|
|
82
|
-
name: '
|
|
82
|
+
name: 'forge_git_push',
|
|
83
83
|
description: 'Push the current branch to the configured remote. Set `force`=true ONLY for force-push (irreversible -- gated by the V1.10 liveness check).',
|
|
84
84
|
input_schema: {
|
|
85
85
|
type: 'object',
|
|
@@ -94,7 +94,7 @@ export const GIT_PUSH_SPEC = {
|
|
|
94
94
|
requires_approval: true,
|
|
95
95
|
};
|
|
96
96
|
export const GIT_PULL_SPEC = {
|
|
97
|
-
name: '
|
|
97
|
+
name: 'forge_git_pull',
|
|
98
98
|
description: 'Pull from the configured remote. Fast-forward only by default.',
|
|
99
99
|
input_schema: {
|
|
100
100
|
type: 'object',
|
|
@@ -108,7 +108,7 @@ export const GIT_PULL_SPEC = {
|
|
|
108
108
|
requires_approval: true,
|
|
109
109
|
};
|
|
110
110
|
export const GIT_LOG_SPEC = {
|
|
111
|
-
name: '
|
|
111
|
+
name: 'forge_git_log',
|
|
112
112
|
description: 'List the last N commits of the given checkout. Default 10, max 50.',
|
|
113
113
|
input_schema: {
|
|
114
114
|
type: 'object',
|
|
@@ -32,7 +32,7 @@ const VAULT_SLOT = 'github_token';
|
|
|
32
32
|
const GITHUB_API = 'https://api.github.com';
|
|
33
33
|
/* ------------------ Tool specs ------------------ */
|
|
34
34
|
export const CREATE_GITHUB_REPO_SPEC = {
|
|
35
|
-
name: '
|
|
35
|
+
name: 'forge_create_github_repo',
|
|
36
36
|
description: 'Create a new repository under the authenticated GitHub user. Requires vault slot github_token with repo scope. Returns the new repository metadata including clone_url.',
|
|
37
37
|
input_schema: {
|
|
38
38
|
type: 'object',
|
|
@@ -46,7 +46,7 @@ export const CREATE_GITHUB_REPO_SPEC = {
|
|
|
46
46
|
requires_approval: true,
|
|
47
47
|
};
|
|
48
48
|
export const CLONE_REPO_SPEC = {
|
|
49
|
-
name: '
|
|
49
|
+
name: 'forge_clone_repo',
|
|
50
50
|
description: 'Clone a remote git repository to a local directory. Public repos need no auth. Private repos use the github_token slot when present. Returns the resolved target_dir + the first commit hash.',
|
|
51
51
|
input_schema: {
|
|
52
52
|
type: 'object',
|
|
@@ -59,7 +59,7 @@ export const CLONE_REPO_SPEC = {
|
|
|
59
59
|
requires_approval: true,
|
|
60
60
|
};
|
|
61
61
|
export const BRANCH_STATUS_SPEC = {
|
|
62
|
-
name: '
|
|
62
|
+
name: 'forge_branch_status',
|
|
63
63
|
description: 'Read the current git branch + dirty-tree status of a local checkout. Returns branch name, ahead/behind counters vs upstream when present, list of dirty files (max 50).',
|
|
64
64
|
input_schema: {
|
|
65
65
|
type: 'object',
|
|
@@ -37,7 +37,7 @@ let active = null;
|
|
|
37
37
|
* Specs
|
|
38
38
|
* ============================================================ */
|
|
39
39
|
export const RUN_APP_SPEC = {
|
|
40
|
-
name: '
|
|
40
|
+
name: 'forge_run_app',
|
|
41
41
|
description: 'Launch the project dev server. Auto-detects the package manager (npm / yarn / pnpm) and the script (dev / start / serve). Returns pid + best-effort URL.',
|
|
42
42
|
input_schema: {
|
|
43
43
|
type: 'object',
|
|
@@ -51,7 +51,7 @@ export const RUN_APP_SPEC = {
|
|
|
51
51
|
requires_approval: true,
|
|
52
52
|
};
|
|
53
53
|
export const STOP_APP_SPEC = {
|
|
54
|
-
name: '
|
|
54
|
+
name: 'forge_stop_app',
|
|
55
55
|
description: 'Stop the running app spawned by forge.run_app. Returns the final logs tail.',
|
|
56
56
|
input_schema: {
|
|
57
57
|
type: 'object',
|
|
@@ -63,7 +63,7 @@ export const STOP_APP_SPEC = {
|
|
|
63
63
|
requires_approval: true,
|
|
64
64
|
};
|
|
65
65
|
export const RESTART_APP_SPEC = {
|
|
66
|
-
name: '
|
|
66
|
+
name: 'forge_restart_app',
|
|
67
67
|
description: 'Stop the running app + relaunch with the same (or new) options.',
|
|
68
68
|
input_schema: {
|
|
69
69
|
type: 'object',
|
|
@@ -47,7 +47,7 @@ const MANUAL_PATH_CANDIDATES = (lang) => {
|
|
|
47
47
|
return manualBaseDirs().map((dir) => path.join(dir, fname));
|
|
48
48
|
};
|
|
49
49
|
export const MANUAL_OPEN_SPEC = {
|
|
50
|
-
name: '
|
|
50
|
+
name: 'forge_manual_open',
|
|
51
51
|
description: 'Open the Yujin Forge user manual in the requested language (default: current user language). Resolves to docs/manuals/manual.<lang>.html and opens it through the reader pipeline so the user can navigate by voice. Available languages: es, en, pt, fr, ja, zh, hi, ar, de, it.',
|
|
52
52
|
input_schema: {
|
|
53
53
|
type: 'object',
|
|
@@ -45,7 +45,7 @@ export function _resetReaderForTests() {
|
|
|
45
45
|
* Specs
|
|
46
46
|
* ============================================================ */
|
|
47
47
|
export const READER_OPEN_SPEC = {
|
|
48
|
-
name: '
|
|
48
|
+
name: 'forge_reader_open',
|
|
49
49
|
description: 'Open a document for reading. Auto-detects format (txt / md / source / ...). Returns the doc_id + title + section count + first block.',
|
|
50
50
|
input_schema: {
|
|
51
51
|
type: 'object',
|
|
@@ -57,13 +57,13 @@ export const READER_OPEN_SPEC = {
|
|
|
57
57
|
requires_approval: false,
|
|
58
58
|
};
|
|
59
59
|
export const READER_LIST_DOCS_SPEC = {
|
|
60
|
-
name: '
|
|
60
|
+
name: 'forge_reader_list_documents',
|
|
61
61
|
description: 'List all documents currently open in this chat session.',
|
|
62
62
|
input_schema: { type: 'object', properties: {}, required: [] },
|
|
63
63
|
requires_approval: false,
|
|
64
64
|
};
|
|
65
65
|
export const READER_READ_SECTION_SPEC = {
|
|
66
|
-
name: '
|
|
66
|
+
name: 'forge_reader_read_section',
|
|
67
67
|
description: 'Return the blocks of a section. With no index, returns the current section under the cursor.',
|
|
68
68
|
input_schema: {
|
|
69
69
|
type: 'object',
|
|
@@ -76,7 +76,7 @@ export const READER_READ_SECTION_SPEC = {
|
|
|
76
76
|
requires_approval: false,
|
|
77
77
|
};
|
|
78
78
|
export const READER_NEXT_BLOCK_SPEC = {
|
|
79
|
-
name: '
|
|
79
|
+
name: 'forge_reader_next_block',
|
|
80
80
|
description: 'Advance the reader cursor one block forward. Returns the new block contents.',
|
|
81
81
|
input_schema: {
|
|
82
82
|
type: 'object',
|
|
@@ -88,7 +88,7 @@ export const READER_NEXT_BLOCK_SPEC = {
|
|
|
88
88
|
requires_approval: false,
|
|
89
89
|
};
|
|
90
90
|
export const READER_SEARCH_SPEC = {
|
|
91
|
-
name: '
|
|
91
|
+
name: 'forge_reader_search',
|
|
92
92
|
description: 'Full-text search across a document. Returns top hits sorted by match count.',
|
|
93
93
|
input_schema: {
|
|
94
94
|
type: 'object',
|
|
@@ -102,7 +102,7 @@ export const READER_SEARCH_SPEC = {
|
|
|
102
102
|
requires_approval: false,
|
|
103
103
|
};
|
|
104
104
|
export const READER_BOOKMARK_SET_SPEC = {
|
|
105
|
-
name: '
|
|
105
|
+
name: 'forge_reader_bookmark_set',
|
|
106
106
|
description: 'Set a named bookmark at the current cursor position.',
|
|
107
107
|
input_schema: {
|
|
108
108
|
type: 'object',
|
|
@@ -115,7 +115,7 @@ export const READER_BOOKMARK_SET_SPEC = {
|
|
|
115
115
|
requires_approval: false,
|
|
116
116
|
};
|
|
117
117
|
export const READER_BOOKMARK_JUMP_SPEC = {
|
|
118
|
-
name: '
|
|
118
|
+
name: 'forge_reader_bookmark_jump',
|
|
119
119
|
description: 'Jump the cursor to a previously-set bookmark.',
|
|
120
120
|
input_schema: {
|
|
121
121
|
type: 'object',
|
|
@@ -128,7 +128,7 @@ export const READER_BOOKMARK_JUMP_SPEC = {
|
|
|
128
128
|
requires_approval: false,
|
|
129
129
|
};
|
|
130
130
|
export const READER_RECAP_SPEC = {
|
|
131
|
-
name: '
|
|
131
|
+
name: 'forge_reader_recap',
|
|
132
132
|
description: 'Return the last N spoken blocks from the reader playback buffer. Default window 10. mode="summary" returns a Claude-generated 1-2 sentence summary instead of literal blocks (charges tokens; gated by env YF_ENABLE_CLAUDE_RECAP=1).',
|
|
133
133
|
input_schema: {
|
|
134
134
|
type: 'object',
|
package/dist/chat/tools.js
CHANGED
|
@@ -41,7 +41,7 @@ import { MANUAL_OPEN_SPEC, runManualOpen, } from './tools/manual.js';
|
|
|
41
41
|
* forge.read_manifest
|
|
42
42
|
* ============================================================ */
|
|
43
43
|
export const READ_MANIFEST_SPEC = {
|
|
44
|
-
name: '
|
|
44
|
+
name: 'forge_read_manifest',
|
|
45
45
|
description: 'Read the NAC-3 manifest from the active project. Returns the manifest JSON (plugin_slug, version, elements array). Optionally filter to a specific plugin slug via the `plugin_slug` argument.',
|
|
46
46
|
input_schema: {
|
|
47
47
|
type: 'object',
|
|
@@ -105,7 +105,7 @@ export async function runReadManifest(args, ctx) {
|
|
|
105
105
|
* forge.consult_nac_spec
|
|
106
106
|
* ============================================================ */
|
|
107
107
|
export const CONSULT_NAC_SPEC = {
|
|
108
|
-
name: '
|
|
108
|
+
name: 'forge_consult_nac_spec',
|
|
109
109
|
description: 'Search the NAC-3 specification (docs/SPEC.md in the project) for paragraphs matching a free-text query. Returns up to 5 matches with their section headings + snippet. Useful when the chat needs to ground its answer in the canonical contract.',
|
|
110
110
|
input_schema: {
|
|
111
111
|
type: 'object',
|
|
@@ -231,7 +231,7 @@ function clampMax(n) {
|
|
|
231
231
|
* forge.list_files
|
|
232
232
|
* ============================================================ */
|
|
233
233
|
export const LIST_FILES_SPEC = {
|
|
234
|
-
name: '
|
|
234
|
+
name: 'forge_list_files',
|
|
235
235
|
description: 'List source files under a directory of the active project. Bounded read-only walk with a hard cap on file count + a glob filter for the basename. Useful when the chat needs to know what is in the project before opening anything.',
|
|
236
236
|
input_schema: {
|
|
237
237
|
type: 'object',
|
|
@@ -358,7 +358,7 @@ export function compileBasenameGlob(glob) {
|
|
|
358
358
|
* forge.read_file
|
|
359
359
|
* ============================================================ */
|
|
360
360
|
export const READ_FILE_SPEC = {
|
|
361
|
-
name: '
|
|
361
|
+
name: 'forge_read_file',
|
|
362
362
|
description: 'Read a single source file from the active project. Path must be relative to the project root and stay within it. Refuses binary files (NUL byte detection) and files larger than max_bytes (default 64KB). Use forge.list_files first when you do not already know the path.',
|
|
363
363
|
input_schema: {
|
|
364
364
|
type: 'object',
|
package/dist/commands/doctor.js
CHANGED
|
@@ -75,55 +75,107 @@ async function runDoctorChecks() {
|
|
|
75
75
|
detail: 'not yet initialised (will be created when you set the first slot)',
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
-
/* 4. Voice provider keys (
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
/* 4. Voice provider keys (BYOK).
|
|
79
|
+
*
|
|
80
|
+
* Two sources to consider (in priority order):
|
|
81
|
+
* a) ~/.yujin-forge/provider_keys.json -- the new location
|
|
82
|
+
* written by `yf voice setup` (encrypted blob synced
|
|
83
|
+
* across devices via /v1/keys-sync).
|
|
84
|
+
* b) Vault slots `openai` / `google_voice` / `elevenlabs`
|
|
85
|
+
* -- legacy slots from the panel-based flow, still
|
|
86
|
+
* respected for back-compat. */
|
|
87
|
+
let vaultSlotNames = [];
|
|
81
88
|
try {
|
|
82
89
|
const v = await Vault.open({ configDir: configDir() });
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
90
|
+
vaultSlotNames = v.list().map((s) => s.name);
|
|
91
|
+
}
|
|
92
|
+
catch { /* vault not yet initialised */ }
|
|
93
|
+
let providerKeys = {};
|
|
94
|
+
try {
|
|
95
|
+
const { promises: fsp } = await import('node:fs');
|
|
96
|
+
const os = await import('node:os');
|
|
97
|
+
const home = process.env.HOME || process.env.USERPROFILE || os.homedir();
|
|
98
|
+
const p = path.join(home, '.yujin-forge', 'provider_keys.json');
|
|
99
|
+
const raw = await fsp.readFile(p, 'utf-8');
|
|
100
|
+
providerKeys = JSON.parse(raw);
|
|
101
|
+
}
|
|
102
|
+
catch { /* no provider_keys.json yet -- treat as empty */ }
|
|
103
|
+
const stt = [];
|
|
104
|
+
if (providerKeys.openai_api_key || vaultSlotNames.includes('openai'))
|
|
105
|
+
stt.push('OpenAI');
|
|
106
|
+
if (providerKeys.google_stt_key || vaultSlotNames.includes('google_voice'))
|
|
107
|
+
stt.push('Google');
|
|
108
|
+
const tts = [];
|
|
109
|
+
if (providerKeys.elevenlabs_api_key || vaultSlotNames.includes('elevenlabs'))
|
|
110
|
+
tts.push('ElevenLabs');
|
|
111
|
+
if (providerKeys.openai_api_key)
|
|
112
|
+
tts.push('OpenAI');
|
|
113
|
+
if (providerKeys.google_tts_key || vaultSlotNames.includes('google_voice'))
|
|
114
|
+
tts.push('Google');
|
|
115
|
+
checks.push({
|
|
116
|
+
name: 'Voice providers available (BYOK)',
|
|
117
|
+
ok: stt.length > 0 && tts.length > 0,
|
|
118
|
+
detail: 'STT: ' + (stt.length > 0 ? stt.join(' + ') : 'none')
|
|
119
|
+
+ ' / TTS: ' + (tts.length > 0 ? tts.join(' + ') : 'none')
|
|
120
|
+
+ (providerKeys.stt_provider_preference
|
|
121
|
+
? ' / pref STT: ' + providerKeys.stt_provider_preference : '')
|
|
122
|
+
+ (providerKeys.tts_provider_preference
|
|
123
|
+
? ' / pref TTS: ' + providerKeys.tts_provider_preference : ''),
|
|
124
|
+
...(stt.length === 0 || tts.length === 0 ? {
|
|
125
|
+
hint: 'run `yf keys setup` to configure brain + voice providers. Keys encrypt locally + sync to mobile automatically.',
|
|
126
|
+
} : {}),
|
|
127
|
+
});
|
|
128
|
+
/* 5. Brain provider (BYOK).
|
|
129
|
+
*
|
|
130
|
+
* Forge is BYOK for the brain (Anthropic / OpenAI / Google AI /
|
|
131
|
+
* DeepSeek) -- a single heavy dev burns $100-$200/mo, the
|
|
132
|
+
* $10/mo platform fee cannot absorb that. The user picks
|
|
133
|
+
* their provider via `yf keys setup` + pastes the key. The
|
|
134
|
+
* encrypted key syncs to mobile automatically.
|
|
135
|
+
*
|
|
136
|
+
* Check: provider_keys.json has a preference + the matching
|
|
137
|
+
* key + (optionally) a model alias. */
|
|
138
|
+
const brainPref = (providerKeys.brain_provider_preference ?? null);
|
|
139
|
+
const brainKey = brainPref === 'anthropic' ? providerKeys.anthropic_api_key
|
|
140
|
+
: brainPref === 'openai' ? providerKeys.openai_api_key
|
|
141
|
+
: brainPref === 'google' ? providerKeys.google_ai_key
|
|
142
|
+
: brainPref === 'deepseek' ? providerKeys.deepseek_api_key
|
|
143
|
+
: undefined;
|
|
144
|
+
const brainModel = brainPref === 'anthropic' ? providerKeys.anthropic_model_preference
|
|
145
|
+
: brainPref === 'openai' ? providerKeys.openai_brain_model_preference
|
|
146
|
+
: brainPref === 'google' ? providerKeys.google_brain_model_preference
|
|
147
|
+
: brainPref === 'deepseek' ? providerKeys.deepseek_model_preference
|
|
148
|
+
: undefined;
|
|
149
|
+
if (brainPref && brainKey) {
|
|
110
150
|
checks.push({
|
|
111
|
-
name: '
|
|
112
|
-
ok:
|
|
113
|
-
detail:
|
|
114
|
-
|
|
151
|
+
name: 'Brain provider (BYOK: chat + code)',
|
|
152
|
+
ok: true,
|
|
153
|
+
detail: 'provider: ' + brainPref
|
|
154
|
+
+ (brainModel ? ' / model: ' + brainModel : ' / model: (default for tier)'),
|
|
115
155
|
});
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
116
158
|
checks.push({
|
|
117
|
-
name: '
|
|
118
|
-
ok:
|
|
119
|
-
detail:
|
|
120
|
-
|
|
159
|
+
name: 'Brain provider (BYOK: chat + code)',
|
|
160
|
+
ok: false,
|
|
161
|
+
detail: brainPref
|
|
162
|
+
? 'preference is ' + brainPref + ' but no API key on file for it'
|
|
163
|
+
: 'no brain provider configured -- chat + code will fail',
|
|
164
|
+
hint: 'run `yf keys setup` to pick a provider (Anthropic / OpenAI / Google AI / DeepSeek) and paste your API key',
|
|
121
165
|
});
|
|
122
166
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
167
|
+
/* 6. GitHub token. Optional -- only needed when chat tools
|
|
168
|
+
* want to create repos / push commits. Marked OK by default
|
|
169
|
+
* with an info detail when missing, so a clean install
|
|
170
|
+
* doesn't show a red ✗ for a feature the user may not need. */
|
|
171
|
+
const hasGithub = vaultSlotNames.includes('github_token');
|
|
172
|
+
checks.push({
|
|
173
|
+
name: 'GitHub token (write-class tools)',
|
|
174
|
+
ok: true,
|
|
175
|
+
detail: hasGithub
|
|
176
|
+
? 'github_token slot configured'
|
|
177
|
+
: '(optional; not configured -- only needed for forge.create_github_repo / forge.git_push)',
|
|
178
|
+
});
|
|
127
179
|
/* 5. i18n catalogs + manuals (Fase F). All 10 locales must
|
|
128
180
|
load + the 10 manual HTML files must exist on disk. */
|
|
129
181
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa1C,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iFAAiF,CAAC;SAC9F,MAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,IAAmB,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QACD,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;QACrD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,yBAAyB;IACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAI,kBAAkB;QAC1B,EAAE,EAAM,SAAS,IAAI,EAAE;QACvB,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI;QAC3C,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,6CAA6C,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAI,eAAe;QACvB,EAAE,EAAM,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO;QACvD,MAAM,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG;QACxD,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gDAAgD,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChG,CAAC,CAAC;IAEH;;sCAEkC;IAClC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,mBAAmB;YAC3B,EAAE,EAAM,IAAI;YACZ,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,uBAAuB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;SACzF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb;8DACsD;QACtD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,mBAAmB;YAC3B,EAAE,EAAM,IAAI;YACZ,MAAM,EAAE,mEAAmE;SAC5E,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;0CAQsC;IACtC,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACvD,cAAc,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAkB3C,IAAI,YAAY,GAAiB,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACzE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC,CAAC,iDAAiD,CAAC,CAAC;IAE7D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,YAAY,CAAC,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzF,IAAI,YAAY,CAAC,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/F,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,YAAY,CAAC,kBAAkB,IAAI,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrG,IAAI,YAAY,CAAC,cAAc;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,YAAY,CAAC,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/F,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAI,kCAAkC;QAC1C,EAAE,EAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QACxC,MAAM,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;cACrD,UAAU,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;cACxD,CAAC,YAAY,CAAC,uBAAuB;gBACnC,CAAC,CAAC,eAAe,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;cAChE,CAAC,YAAY,CAAC,uBAAuB;gBACnC,CAAC,CAAC,eAAe,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,EAAE,gHAAgH;SACvH,CAAC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH;;;;;;;;;4CASwC;IACxC,MAAM,SAAS,GAAG,CAAC,YAAY,CAAC,yBAAyB,IAAI,IAAI,CACV,CAAC;IACxD,MAAM,QAAQ,GACV,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB;QAC5D,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAI,CAAC,CAAC,YAAY,CAAC,cAAc;YACzD,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAI,CAAC,CAAC,YAAY,CAAC,aAAa;gBACxD,CAAC,CAAC,SAAS,KAAK,UAAU,CAAE,CAAC,CAAC,YAAY,CAAC,gBAAgB;oBAC3D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,UAAU,GACZ,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,0BAA0B;QACrE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAI,CAAC,CAAC,YAAY,CAAC,6BAA6B;YACxE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAI,CAAC,CAAC,YAAY,CAAC,6BAA6B;gBACxE,CAAC,CAAC,SAAS,KAAK,UAAU,CAAE,CAAC,CAAC,YAAY,CAAC,yBAAyB;oBACpE,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,oCAAoC;YAC5C,EAAE,EAAM,IAAI;YACZ,MAAM,EAAE,YAAY,GAAG,SAAS;kBACtB,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC;SACpF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,oCAAoC;YAC5C,EAAE,EAAM,KAAK;YACb,MAAM,EAAE,SAAS;gBACf,CAAC,CAAC,gBAAgB,GAAG,SAAS,GAAG,gCAAgC;gBACjE,CAAC,CAAC,uDAAuD;YAC3D,IAAI,EAAE,2GAA2G;SAClH,CAAC,CAAC;IACL,CAAC;IAED;;;oEAGgE;IAChE,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAI,kCAAkC;QAC1C,EAAE,EAAM,IAAI;QACZ,MAAM,EAAE,SAAS;YACf,CAAC,CAAC,8BAA8B;YAChC,CAAC,CAAC,yFAAyF;KAC9F,CAAC,CAAC;IAEH;6DACyD;IACzD,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,8BAA8B;YACtC,EAAE,EAAM,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YACvC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBACrC,CAAC,CAAC,mBAAmB,CAAC,MAAM,GAAG,oBAAoB;gBACnD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,4BAA4B;sBACtD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,GAAG;YACpE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/F,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,8BAA8B;YACtC,EAAE,EAAM,KAAK;YACb,MAAM,EAAE,eAAe,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,EAAI,gCAAgC;SACzC,CAAC,CAAC;IACL,CAAC;IACD;;;;eAIW;IACX,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACxD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D;;oDAE4C;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,4BAA4B,CAAC,CAAC;QAC1F,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC/C,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC,CAAC,kDAAkD,CAAC,CAAC;QAC9D,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;oBACrD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;iBAClC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAI,iDAAiD;oBACzD,EAAE,EAAM,KAAK;oBACb,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,kBAAkB;oBAClE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oDAAoD,EAAE,CAAC;iBACjF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1F,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAI,iDAAiD;oBACzD,EAAE,EAAM,KAAK;oBACb,MAAM,EAAE,eAAe,GAAG,MAAM;oBAChC,IAAI,EAAI,iDAAiD;iBAC1D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,mCAAmC;YAC3C,EAAE,EAAM,OAAO,CAAC,MAAM,KAAK,EAAE;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACvE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,mCAAmC;YAC3C,EAAE,EAAM,KAAK;YACb,MAAM,EAAE,gBAAgB,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;IAED;wDACoD;IACpD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI;QAC7B,CAAC,yBAAyB,EAAE,iCAAiC,CAAC;QAC9D,CAAC,uBAAuB,EAAE,SAAS,CAAC;QACpC,CAAC,oBAAoB,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;QACX,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,MAAM,CAAC,OAAc,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAI,KAAK;gBACb,EAAE,EAAM,IAAI;gBACZ,MAAM,EAAE,sBAAsB;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAI,KAAK;gBACb,EAAE,EAAM,KAAK;gBACb,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,EAAI,oDAAoD;aAC7D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,GAAG,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAI,2BAA2B;QACnC,EAAE,EAAM,IAAI;QACZ,MAAM,EAAE,YAAY;YAClB,CAAC,CAAC,8DAA8D;YAChE,CAAC,CAAC,sGAAsG;KAC3G,CAAC,CAAC;IAEH,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,oCAAoC;YAC5C,EAAE,EAAM,IAAI,CAAC,WAAW,EAAE;YAC1B,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;QACH;sEAC8D;QAC9D,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACnG,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACjG,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,iBAAiB;YACzB,EAAE,EAAM,IAAI;YACZ,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;mBACxG,iDAAiD;SACvD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAI,oCAAoC;YAC5C,EAAE,EAAM,KAAK;YACb,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `yf keys setup` -- interactive BYOK provider configuration
|
|
3
|
+
*
|
|
4
|
+
* Covers BOTH the brain providers (LLM for chat + tool calling:
|
|
5
|
+
* Anthropic / OpenAI / Google Gemini / DeepSeek) and the voice
|
|
6
|
+
* providers (OpenAI Whisper+tts / Google Cloud STT+TTS /
|
|
7
|
+
* ElevenLabs TTS). All BYOK -- the user pastes their own keys,
|
|
8
|
+
* the worker never persists nor logs them.
|
|
9
|
+
*
|
|
10
|
+
* Flow:
|
|
11
|
+
* 1. Read the current local provider keys from disk
|
|
12
|
+
* (~/.yujin-forge/provider_keys.json), if any.
|
|
13
|
+
* 2. Ask which categories to configure (brain, voice, or both).
|
|
14
|
+
* 3. For brain: pick provider, paste key, fetch live model
|
|
15
|
+
* list from the worker (which proxies to the upstream
|
|
16
|
+
* provider using the BYOK key in the request header --
|
|
17
|
+
* key not persisted), pick model alias.
|
|
18
|
+
* 4. For voice: pick providers, paste keys, pick STT + TTS
|
|
19
|
+
* preferences.
|
|
20
|
+
* 5. Merge + encrypt with the SERVER_API_KEY from the vault.
|
|
21
|
+
* 6. POST the encrypted blob to /v1/keys-sync/<handle> so
|
|
22
|
+
* mobile + other paired devices pull it.
|
|
23
|
+
* 7. Write the plaintext locally so subsequent calls can read
|
|
24
|
+
* it without re-prompting.
|
|
25
|
+
*
|
|
26
|
+
* Server never sees plaintext -- only the ciphertext blob.
|
|
27
|
+
*
|
|
28
|
+
* Subcommands:
|
|
29
|
+
* yf keys setup Interactive prompts.
|
|
30
|
+
* yf keys setup --show Print current local config (keys masked).
|
|
31
|
+
* yf keys setup --pull Pull the server copy + overwrite local.
|
|
32
|
+
* yf keys setup --provider anthropic --key sk-ant-xxx
|
|
33
|
+
* Non-interactive single-provider set.
|
|
34
|
+
*
|
|
35
|
+
* Back-compat alias:
|
|
36
|
+
* yf voice setup Same command, same flow.
|
|
37
|
+
*
|
|
38
|
+
* ASCII-only.
|
|
39
|
+
*/
|
|
40
|
+
import type { Command } from 'commander';
|
|
41
|
+
export interface KeysSetupOptions {
|
|
42
|
+
show?: boolean;
|
|
43
|
+
pull?: boolean;
|
|
44
|
+
provider?: string;
|
|
45
|
+
key?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare function registerKeysSetupCommand(parent: Command): void;
|
|
48
|
+
/** Back-compat alias -- `yf voice setup` still works. */
|
|
49
|
+
export declare function registerVoiceSetupCommand(parent: Command): void;
|
|
50
|
+
export declare function runKeysSetup(opts: KeysSetupOptions): Promise<void>;
|
|
51
|
+
export declare const runVoiceSetup: typeof runKeysSetup;
|
|
52
|
+
export type VoiceSetupOptions = KeysSetupOptions;
|
|
53
|
+
//# sourceMappingURL=keys_setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys_setup.d.ts","sourceRoot":"","sources":["../../src/commands/keys_setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2MzC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAyBD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAU9D;AAED,yDAAyD;AACzD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE/D;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiPxE;AAGD,eAAO,MAAM,aAAa,qBAAe,CAAC;AAC1C,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC"}
|