@hongmaple0820/scale-engine 0.40.1 → 0.40.2

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.
Files changed (35) hide show
  1. package/dist/api/cli.js +267 -7
  2. package/dist/api/cli.js.map +1 -1
  3. package/dist/api/doctor.js +1 -1
  4. package/dist/api/doctor.js.map +1 -1
  5. package/dist/bootstrap/DependencyBootstrap.d.ts +1 -0
  6. package/dist/bootstrap/DependencyBootstrap.js +137 -25
  7. package/dist/bootstrap/DependencyBootstrap.js.map +1 -1
  8. package/dist/capabilities/InstalledSkillsIntegration.js +29 -9
  9. package/dist/capabilities/InstalledSkillsIntegration.js.map +1 -1
  10. package/dist/context/ContextBudget.js +2 -2
  11. package/dist/core/GbrainRuntime.d.ts +25 -0
  12. package/dist/core/GbrainRuntime.js +270 -0
  13. package/dist/core/GbrainRuntime.js.map +1 -0
  14. package/dist/env/EnvironmentDoctor.js +221 -5
  15. package/dist/env/EnvironmentDoctor.js.map +1 -1
  16. package/dist/memory/MemoryProviders.js +38 -91
  17. package/dist/memory/MemoryProviders.js.map +1 -1
  18. package/dist/runtime/ModelUsageLedger.d.ts +53 -2
  19. package/dist/runtime/ModelUsageLedger.js +243 -39
  20. package/dist/runtime/ModelUsageLedger.js.map +1 -1
  21. package/dist/setup/SetupVerification.d.ts +42 -0
  22. package/dist/setup/SetupVerification.js +180 -0
  23. package/dist/setup/SetupVerification.js.map +1 -0
  24. package/dist/tools/ToolCapabilityRegistry.js +10 -0
  25. package/dist/tools/ToolCapabilityRegistry.js.map +1 -1
  26. package/dist/workflow/VerificationProfile.js +1 -1
  27. package/dist/workflow/VerificationProfile.js.map +1 -1
  28. package/docs/CONTEXT_BUDGET.md +12 -2
  29. package/docs/GOVERNANCE_DASHBOARD.md +7 -0
  30. package/docs/start/quickstart.md +1 -0
  31. package/package.json +3 -2
  32. package/scripts/workflow/lib/gbrain-runtime.mjs +185 -0
  33. package/scripts/workflow/lib/report-output.mjs +107 -0
  34. package/scripts/workflow/provider-rehearsal.mjs +129 -48
  35. package/scripts/workflow/setup-smoke.mjs +142 -8
@@ -2,6 +2,7 @@ import { spawnSync } from 'node:child_process';
2
2
  import { existsSync } from 'node:fs';
3
3
  import { arch, platform, release } from 'node:os';
4
4
  import { delimiter, extname } from 'node:path';
5
+ import { runGbrainCommandSync } from '../core/GbrainRuntime.js';
5
6
  import { resolveExternalCommandPath } from '../core/ExternalCommand.js';
6
7
  const CHECK_DEFINITIONS = [
7
8
  {
@@ -149,7 +150,7 @@ export function inspectEnvironment(options = {}) {
149
150
  .split(currentPlatform === 'win32' ? ';' : delimiter)
150
151
  .map(entry => entry.trim())
151
152
  .filter(Boolean);
152
- const checks = CHECK_DEFINITIONS.map(definition => inspectCommand(definition, resolver, runner));
153
+ const checks = CHECK_DEFINITIONS.map(definition => inspectCommand(definition, resolver, runner, currentPlatform));
153
154
  const nodeStatus = nodeVersionStatus(currentNodeVersion);
154
155
  const warnings = buildWarnings(checks, nodeStatus);
155
156
  const recommendations = buildRecommendations(checks, nodeStatus);
@@ -213,7 +214,7 @@ export function renderEnvironmentDoctor(report) {
213
214
  lines.push(` [NEXT] ${recommendation}`);
214
215
  return lines.join('\n');
215
216
  }
216
- function inspectCommand(definition, resolver, runner) {
217
+ function inspectCommand(definition, resolver, runner, currentPlatform) {
217
218
  let firstFailed;
218
219
  for (const candidate of definition.candidates) {
219
220
  const resolved = resolver(candidate.command);
@@ -221,9 +222,10 @@ function inspectCommand(definition, resolver, runner) {
221
222
  continue;
222
223
  const result = runner(candidate.command, candidate.args, resolved);
223
224
  const output = `${result.stdout}\n${result.stderr}`.trim();
225
+ const interpreted = interpretSpecialCheckResult(definition.id, output, resolved, currentPlatform, result.exitCode);
226
+ const version = resolveSpecialVersion(definition.id, output, runner, resolved) ?? interpreted?.version ?? firstLine(output);
224
227
  if (result.exitCode === 0) {
225
- const version = firstLine(output);
226
- const status = commandVersionStatus(definition.id, version);
228
+ const status = interpreted ?? commandVersionStatus(definition.id, version);
227
229
  return {
228
230
  id: definition.id,
229
231
  label: definition.label,
@@ -239,6 +241,22 @@ function inspectCommand(definition, resolver, runner) {
239
241
  requiredFor: definition.requiredFor,
240
242
  };
241
243
  }
244
+ if (interpreted) {
245
+ return {
246
+ id: definition.id,
247
+ label: definition.label,
248
+ category: definition.category,
249
+ status: interpreted.status,
250
+ required: definition.required,
251
+ candidates: definition.candidates.map(item => item.display),
252
+ detectedCommand: candidate.display,
253
+ resolvedPath: resolved,
254
+ version,
255
+ reason: interpreted.reason,
256
+ installHint: definition.installHint,
257
+ requiredFor: definition.requiredFor,
258
+ };
259
+ }
242
260
  firstFailed ??= {
243
261
  id: definition.id,
244
262
  label: definition.label,
@@ -248,7 +266,7 @@ function inspectCommand(definition, resolver, runner) {
248
266
  candidates: definition.candidates.map(item => item.display),
249
267
  detectedCommand: candidate.display,
250
268
  resolvedPath: resolved,
251
- reason: `${definition.label} was found but health/version command failed: ${firstLine(output)}`,
269
+ reason: `${definition.label} was found but health/version command failed: ${summarizeFailureOutput(definition.id, output)}`,
252
270
  installHint: definition.installHint,
253
271
  requiredFor: definition.requiredFor,
254
272
  };
@@ -268,6 +286,17 @@ function inspectCommand(definition, resolver, runner) {
268
286
  };
269
287
  }
270
288
  function runCommand(command, args, resolvedPath) {
289
+ if (command === 'gbrain') {
290
+ const result = runGbrainCommandSync(args, {
291
+ timeout: 20_000,
292
+ env: process.env,
293
+ });
294
+ return {
295
+ exitCode: result.exitCode,
296
+ stdout: result.stdout,
297
+ stderr: result.stderr,
298
+ };
299
+ }
271
300
  const executable = resolveWindowsCommandShim(resolvedPath ?? command);
272
301
  const wrapperArgs = isWindowsCommandWrapper(executable)
273
302
  ? ['/d', '/c', 'call', executable, ...args]
@@ -352,6 +381,101 @@ function shellCandidates(currentPlatform) {
352
381
  function firstLine(value) {
353
382
  return value.split(/\r?\n/).map(line => line.trim()).find(Boolean) ?? '';
354
383
  }
384
+ function interpretSpecialCheckResult(id, output, resolvedPath, currentPlatform, exitCode) {
385
+ if (id === 'bash'
386
+ && currentPlatform === 'win32'
387
+ && isWindowsSystemBashLauncher(resolvedPath)
388
+ && typeof exitCode === 'number'
389
+ && exitCode !== 0) {
390
+ return {
391
+ status: 'missing',
392
+ reason: 'Windows bash launcher is present, but no usable Bash runtime is configured.',
393
+ };
394
+ }
395
+ if (id === 'gbrain')
396
+ return interpretGbrainDoctorOutput(output);
397
+ return null;
398
+ }
399
+ function summarizeFailureOutput(id, output) {
400
+ const line = firstLine(output);
401
+ if (id === 'gbrain') {
402
+ const interpreted = interpretGbrainDoctorOutput(output);
403
+ if (interpreted)
404
+ return interpreted.reason;
405
+ }
406
+ if (!line)
407
+ return 'no output';
408
+ if (id === 'gbrain') {
409
+ const parsed = parseGbrainDoctorReport(output);
410
+ if (parsed) {
411
+ const failingChecks = gbrainDoctorChecks(parsed)
412
+ .filter(check => check.status && check.status !== 'ok')
413
+ .map(check => check.name)
414
+ .filter(Boolean);
415
+ if (failingChecks.length > 0) {
416
+ return `gbrain doctor reported ${failingChecks.length} non-ok check(s): ${failingChecks.slice(0, 4).join(', ')}`;
417
+ }
418
+ if (typeof parsed.status === 'string')
419
+ return `gbrain doctor status=${parsed.status}`;
420
+ }
421
+ }
422
+ return compactText(line);
423
+ }
424
+ function interpretGbrainDoctorOutput(output) {
425
+ const parsed = parseGbrainDoctorReport(output);
426
+ if (!parsed)
427
+ return null;
428
+ if (gbrainCoreRecallReady(parsed)) {
429
+ const optionalIssues = gbrainDoctorChecks(parsed)
430
+ .filter(check => check.status !== 'ok' && !GBRAIN_CORE_RECALL_CHECKS.has(check.name))
431
+ .map(check => check.name)
432
+ .filter(Boolean);
433
+ return {
434
+ status: 'ok',
435
+ reason: optionalIssues.length > 0
436
+ ? `GBrain core recall is available; optional doctor warnings: ${optionalIssues.slice(0, 4).join(', ')}`
437
+ : 'GBrain core recall is available.',
438
+ };
439
+ }
440
+ const coreIssues = gbrainDoctorChecks(parsed)
441
+ .filter(check => check.status !== 'ok' && GBRAIN_CORE_RECALL_CHECKS.has(check.name))
442
+ .map(check => check.name)
443
+ .filter(Boolean);
444
+ if (coreIssues.length > 0) {
445
+ return {
446
+ status: 'warn',
447
+ reason: `gbrain doctor reported core recall issue(s): ${coreIssues.join(', ')}`,
448
+ };
449
+ }
450
+ const nonOkChecks = gbrainDoctorChecks(parsed)
451
+ .filter(check => check.status !== 'ok')
452
+ .map(check => check.name)
453
+ .filter(Boolean);
454
+ if (nonOkChecks.length > 0) {
455
+ return {
456
+ status: 'warn',
457
+ reason: `gbrain doctor reported ${nonOkChecks.length} non-ok check(s): ${nonOkChecks.slice(0, 4).join(', ')}`,
458
+ };
459
+ }
460
+ if (typeof parsed.status === 'string') {
461
+ return {
462
+ status: 'ok',
463
+ reason: `gbrain doctor status=${parsed.status}`,
464
+ };
465
+ }
466
+ return null;
467
+ }
468
+ function compactText(value, maxLength = 200) {
469
+ const normalized = value.replace(/\s+/g, ' ').trim();
470
+ if (normalized.length <= maxLength)
471
+ return normalized;
472
+ return `${normalized.slice(0, maxLength - 1)}…`;
473
+ }
474
+ function resolveSpecialVersion(id, output, runner, resolvedPath) {
475
+ if (id !== 'gbrain')
476
+ return undefined;
477
+ return resolveGbrainVersion(output, runner, resolvedPath);
478
+ }
355
479
  function parseSemver(value) {
356
480
  const match = value.match(/(\d+)\.(\d+)(?:\.(\d+))?/);
357
481
  if (!match)
@@ -362,4 +486,96 @@ function parseSemver(value) {
362
486
  patch: Number.parseInt(match[3] ?? '0', 10),
363
487
  };
364
488
  }
489
+ function isWindowsSystemBashLauncher(resolvedPath) {
490
+ if (!resolvedPath)
491
+ return false;
492
+ return /[\\/]windows[\\/]system32[\\/]bash\.exe$/i.test(resolvedPath);
493
+ }
494
+ const GBRAIN_CORE_RECALL_CHECKS = new Set(['connection', 'schema_version', 'brain_score']);
495
+ function resolveGbrainVersion(output, runner, resolvedPath) {
496
+ const versionProbe = runner('gbrain', ['--version'], resolvedPath);
497
+ const versionLine = firstLine(`${versionProbe.stdout}\n${versionProbe.stderr}`);
498
+ if (versionProbe.exitCode === 0 && versionLine && !looksLikeJson(versionLine)) {
499
+ return compactText(versionLine, 80);
500
+ }
501
+ const parsed = parseGbrainDoctorReport(output);
502
+ if (typeof parsed?.status === 'string') {
503
+ return `gbrain doctor status=${parsed.status}`;
504
+ }
505
+ return 'gbrain doctor --json';
506
+ }
507
+ function parseGbrainDoctorReport(output) {
508
+ const json = extractFirstJsonObject(output);
509
+ if (!json)
510
+ return null;
511
+ try {
512
+ const parsed = JSON.parse(json);
513
+ return isRecord(parsed) ? parsed : null;
514
+ }
515
+ catch {
516
+ return null;
517
+ }
518
+ }
519
+ function extractFirstJsonObject(output) {
520
+ const start = output.indexOf('{');
521
+ if (start === -1)
522
+ return null;
523
+ let depth = 0;
524
+ let inString = false;
525
+ let escaped = false;
526
+ for (let index = start; index < output.length; index += 1) {
527
+ const char = output[index];
528
+ if (inString) {
529
+ if (escaped) {
530
+ escaped = false;
531
+ }
532
+ else if (char === '\\') {
533
+ escaped = true;
534
+ }
535
+ else if (char === '"') {
536
+ inString = false;
537
+ }
538
+ continue;
539
+ }
540
+ if (char === '"') {
541
+ inString = true;
542
+ continue;
543
+ }
544
+ if (char === '{')
545
+ depth += 1;
546
+ if (char === '}') {
547
+ depth -= 1;
548
+ if (depth === 0)
549
+ return output.slice(start, index + 1);
550
+ }
551
+ }
552
+ return null;
553
+ }
554
+ function looksLikeJson(value) {
555
+ const trimmed = value.trim();
556
+ return trimmed.startsWith('{') || trimmed.startsWith('[');
557
+ }
558
+ function gbrainCoreRecallReady(report) {
559
+ const connection = gbrainDoctorCheckStatus(report, 'connection');
560
+ const schema = gbrainDoctorCheckStatus(report, 'schema_version');
561
+ const brainScore = gbrainDoctorCheckStatus(report, 'brain_score');
562
+ return connection === 'ok' && (schema === 'ok' || brainScore === 'ok');
563
+ }
564
+ function gbrainDoctorCheckStatus(report, name) {
565
+ return gbrainDoctorChecks(report).find(check => check.name === name)?.status;
566
+ }
567
+ function gbrainDoctorChecks(report) {
568
+ if (!Array.isArray(report.checks))
569
+ return [];
570
+ return report.checks
571
+ .filter(isRecord)
572
+ .map(check => ({
573
+ name: String(check.name ?? ''),
574
+ status: String(check.status ?? ''),
575
+ }))
576
+ .filter(check => check.name);
577
+ }
578
+ function isRecord(value) {
579
+ return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
580
+ }
365
581
  //# sourceMappingURL=EnvironmentDoctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentDoctor.js","sourceRoot":"","sources":["../../src/env/EnvironmentDoctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvironmentDoctor.js","sourceRoot":"","sources":["../../src/env/EnvironmentDoctor.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { spawnSync } from 'node:child_process';
2
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
2
  import { dirname, isAbsolute, join, resolve } from 'node:path';
4
3
  import { MemoryBrain } from './MemoryBrain.js';
5
- import { externalCommandExists, resolveExternalCommandPath, runExternalCommandSync } from '../core/ExternalCommand.js';
4
+ import { externalCommandExists } from '../core/ExternalCommand.js';
5
+ import { runGbrainCommandSync } from '../core/GbrainRuntime.js';
6
6
  export function defaultMemoryProvidersConfig() {
7
7
  return {
8
8
  version: '1.0',
@@ -379,42 +379,34 @@ function providerStatus(provider, routing) {
379
379
  };
380
380
  }
381
381
  export function inspectGbrainCliHealth() {
382
- try {
383
- const stdout = runExternalCommandSync('gbrain', ['doctor', '--json'], {
384
- encoding: 'utf-8',
385
- stdio: ['ignore', 'pipe', 'pipe'],
386
- timeout: 10_000,
387
- });
388
- const parsed = parseGbrainDoctorReport(String(stdout));
389
- if (parsed && gbrainCoreRecallReady(parsed)) {
390
- return gbrainCoreReadyHealth(parsed);
391
- }
392
- return { available: true, degraded: false, reason: 'gbrain doctor passed; graph-backed recall is available' };
382
+ const result = runGbrainCommandSync(['doctor', '--json'], {
383
+ timeout: 10_000,
384
+ });
385
+ const output = `${result.stdout}\n${result.stderr}`.trim();
386
+ const parsed = parseGbrainDoctorReport(output);
387
+ if (parsed && gbrainCoreRecallReady(parsed)) {
388
+ return gbrainCoreReadyHealth(parsed);
393
389
  }
394
- catch (error) {
395
- const err = error;
396
- const output = `${String(err.stdout ?? '')}\n${String(err.stderr ?? err.message ?? '')}`;
397
- const parsed = parseGbrainDoctorReport(output);
398
- if (parsed && gbrainCoreRecallReady(parsed)) {
399
- return gbrainCoreReadyHealth(parsed);
400
- }
401
- return {
402
- available: false,
403
- degraded: false,
404
- reason: /no brain configured/i.test(output)
405
- ? 'gbrain CLI is installed but no brain is configured; run `gbrain init --pglite` before autonomous recall'
406
- : `gbrain CLI is installed but doctor failed: ${firstLine(output)}`,
407
- };
390
+ if (result.exitCode === 0) {
391
+ return { available: true, degraded: false, reason: 'gbrain doctor passed; graph-backed recall is available' };
408
392
  }
393
+ return {
394
+ available: false,
395
+ degraded: false,
396
+ reason: /no brain configured/i.test(output)
397
+ ? 'gbrain CLI is installed but no brain is configured; run `gbrain init --pglite` before autonomous recall'
398
+ : `gbrain CLI is installed but doctor failed: ${firstLine(output)}`,
399
+ };
409
400
  }
410
401
  function gbrainCoreReadyHealth(report) {
411
402
  const status = typeof report.status === 'string' ? report.status : undefined;
412
403
  const healthScore = typeof report.health_score === 'number' ? report.health_score : undefined;
413
- const failedChecks = gbrainDoctorChecks(report)
414
- .filter(check => check.status === 'fail')
404
+ const nonOkChecks = gbrainDoctorChecks(report)
405
+ .filter(check => check.status !== 'ok')
415
406
  .map(check => check.name)
416
407
  .filter(Boolean);
417
- if (status === 'healthy' || failedChecks.length === 0) {
408
+ const optionalIssues = nonOkChecks.filter(check => !GBRAIN_CORE_RECALL_CHECKS.has(check));
409
+ if (status === 'healthy' || optionalIssues.length === 0) {
418
410
  return {
419
411
  available: true,
420
412
  degraded: false,
@@ -425,8 +417,8 @@ function gbrainCoreReadyHealth(report) {
425
417
  }
426
418
  return {
427
419
  available: true,
428
- degraded: true,
429
- reason: `gbrain brain is reachable; non-recall doctor issue(s): ${failedChecks.slice(0, 3).join(', ')}`,
420
+ degraded: false,
421
+ reason: `gbrain core recall is available; optional doctor warnings: ${optionalIssues.slice(0, 3).join(', ')}`,
430
422
  status,
431
423
  healthScore,
432
424
  };
@@ -484,6 +476,7 @@ function gbrainCoreRecallReady(report) {
484
476
  const brainScore = gbrainDoctorCheckStatus(report, 'brain_score');
485
477
  return connection === 'ok' && (schema === 'ok' || brainScore === 'ok');
486
478
  }
479
+ const GBRAIN_CORE_RECALL_CHECKS = new Set(['connection', 'schema_version', 'brain_score']);
487
480
  function gbrainDoctorCheckStatus(report, name) {
488
481
  return gbrainDoctorChecks(report).find(check => check.name === name)?.status;
489
482
  }
@@ -534,65 +527,19 @@ function recallGbrainCli(input, limit) {
534
527
  .map((item, index) => externalToRecall('gbrain', item, index));
535
528
  }
536
529
  function runGbrainCli(args, timeout) {
537
- const direct = resolveWindowsGbrainInvocation(args);
538
- if (direct) {
539
- const result = spawnSync(direct.command, direct.args, {
540
- encoding: 'utf-8',
541
- timeout,
542
- stdio: ['ignore', 'pipe', 'pipe'],
543
- windowsHide: true,
544
- env: {
545
- ...process.env,
546
- GBRAIN_OUTPUT_MODE: process.env.GBRAIN_OUTPUT_MODE ?? 'json',
547
- },
548
- });
549
- return {
550
- stdout: String(result.stdout ?? ''),
551
- stderr: `${String(result.stderr ?? '')}${result.error ? `\n${result.error.message}` : ''}`,
552
- exitCode: typeof result.status === 'number' ? result.status : 1,
553
- timedOut: /ETIMEDOUT/i.test(String(result.error?.message ?? '')),
554
- };
555
- }
556
- try {
557
- const stdout = runExternalCommandSync('gbrain', args, {
558
- encoding: 'utf-8',
559
- timeout,
560
- stdio: ['ignore', 'pipe', 'pipe'],
561
- env: {
562
- ...process.env,
563
- GBRAIN_OUTPUT_MODE: process.env.GBRAIN_OUTPUT_MODE ?? 'json',
564
- },
565
- });
566
- return { stdout: String(stdout), stderr: '', exitCode: 0, timedOut: false };
567
- }
568
- catch (error) {
569
- const err = error;
570
- return {
571
- stdout: String(err.stdout ?? ''),
572
- stderr: `${String(err.stderr ?? '')}${err.message ? `\n${err.message}` : ''}`,
573
- exitCode: typeof err.status === 'number' ? err.status : 1,
574
- timedOut: /ETIMEDOUT/i.test(String(err.message ?? '')),
575
- };
576
- }
577
- }
578
- function resolveWindowsGbrainInvocation(args) {
579
- if (process.platform !== 'win32')
580
- return null;
581
- const gbrainShim = resolveExternalCommandPath('gbrain');
582
- if (!gbrainShim || !/\.cmd$/i.test(gbrainShim) || !existsSync(gbrainShim))
583
- return null;
584
- try {
585
- const content = readFileSync(gbrainShim, 'utf8');
586
- const cliPath = content.match(/"([^"]*gbrain[^"]*src[\\/]cli\.ts)"/i)?.[1];
587
- const bunShim = resolveExternalCommandPath('bun');
588
- const bunExe = bunShim ? join(dirname(bunShim), 'node_modules', 'bun', 'bin', 'bun.exe') : '';
589
- if (cliPath && bunExe && existsSync(bunExe))
590
- return { command: bunExe, args: [cliPath, ...args] };
591
- }
592
- catch {
593
- return null;
594
- }
595
- return null;
530
+ const result = runGbrainCommandSync(args, {
531
+ timeout,
532
+ env: {
533
+ ...process.env,
534
+ GBRAIN_OUTPUT_MODE: process.env.GBRAIN_OUTPUT_MODE ?? 'json',
535
+ },
536
+ });
537
+ return {
538
+ stdout: result.stdout,
539
+ stderr: result.stderr,
540
+ exitCode: result.exitCode,
541
+ timedOut: result.timedOut,
542
+ };
596
543
  }
597
544
  function parseGbrainResults(stdout) {
598
545
  const trimmed = stdout.trim();