thumbgate 1.15.0 → 1.16.1

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 (129) hide show
  1. package/.claude-plugin/marketplace.json +6 -6
  2. package/.claude-plugin/plugin.json +3 -3
  3. package/.well-known/llms.txt +5 -5
  4. package/.well-known/mcp/server-card.json +1 -1
  5. package/README.md +59 -35
  6. package/adapters/chatgpt/openapi.yaml +118 -2
  7. package/adapters/claude/.mcp.json +2 -2
  8. package/adapters/mcp/server-stdio.js +210 -84
  9. package/adapters/opencode/opencode.json +1 -1
  10. package/bench/prompt-eval-suite.json +5 -1
  11. package/bin/cli.js +157 -8
  12. package/config/evals/agent-safety-eval.json +338 -22
  13. package/config/gates/routine.json +43 -0
  14. package/config/github-about.json +3 -3
  15. package/config/model-candidates.json +131 -0
  16. package/openapi/openapi.yaml +118 -2
  17. package/package.json +57 -49
  18. package/public/blog.html +7 -7
  19. package/public/codex-plugin.html +6 -6
  20. package/public/compare.html +29 -23
  21. package/public/dashboard.html +82 -10
  22. package/public/guide.html +28 -28
  23. package/public/index.html +216 -98
  24. package/public/learn.html +50 -22
  25. package/public/lessons.html +1 -1
  26. package/public/numbers.html +17 -17
  27. package/public/pro.html +82 -18
  28. package/scripts/agent-audit-trace.js +55 -0
  29. package/scripts/agent-memory-lifecycle.js +96 -0
  30. package/scripts/agent-readiness-plan.js +118 -0
  31. package/scripts/agentic-data-pipeline.js +21 -1
  32. package/scripts/agents-sdk-sandbox-plan.js +57 -0
  33. package/scripts/ai-org-governance.js +98 -0
  34. package/scripts/ai-search-distribution.js +43 -0
  35. package/scripts/artifact-agent-plan.js +81 -0
  36. package/scripts/billing.js +27 -8
  37. package/scripts/cli-schema.js +18 -2
  38. package/scripts/code-mode-mcp-plan.js +71 -0
  39. package/scripts/context-engine.js +1 -2
  40. package/scripts/context-manager.js +4 -1
  41. package/scripts/dashboard-render-spec.js +1 -1
  42. package/scripts/dashboard.js +275 -9
  43. package/scripts/decision-journal.js +13 -3
  44. package/scripts/document-workflow-governance.js +62 -0
  45. package/scripts/enterprise-agent-rollout.js +34 -0
  46. package/scripts/experience-replay-governance.js +69 -0
  47. package/scripts/export-hf-dataset.js +1 -1
  48. package/scripts/feedback-loop.js +92 -4
  49. package/scripts/feedback-to-rules.js +17 -23
  50. package/scripts/gates-engine.js +4 -6
  51. package/scripts/growth-campaigns.js +49 -0
  52. package/scripts/harness-selector.js +16 -4
  53. package/scripts/hybrid-supervisor-agent.js +64 -0
  54. package/scripts/inference-cache-policy.js +72 -0
  55. package/scripts/inference-economics.js +53 -0
  56. package/scripts/internal-agent-bootstrap.js +12 -2
  57. package/scripts/knowledge-layer-plan.js +108 -0
  58. package/scripts/lesson-inference.js +183 -44
  59. package/scripts/lesson-search.js +4 -1
  60. package/scripts/llm-client.js +157 -26
  61. package/scripts/mailer/resend-mailer.js +112 -1
  62. package/scripts/mcp-transport-strategy.js +66 -0
  63. package/scripts/memory-store-governance.js +60 -0
  64. package/scripts/meta-agent-loop.js +7 -13
  65. package/scripts/model-access-eligibility.js +38 -0
  66. package/scripts/model-migration-readiness.js +55 -0
  67. package/scripts/operational-integrity.js +96 -3
  68. package/scripts/otel-declarative-config.js +56 -0
  69. package/scripts/perplexity-client.js +1 -1
  70. package/scripts/post-training-governance.js +34 -0
  71. package/scripts/private-core-boundary.js +72 -0
  72. package/scripts/production-agent-readiness.js +40 -0
  73. package/scripts/prompt-eval.js +564 -32
  74. package/scripts/prompt-programs.js +93 -0
  75. package/scripts/provider-action-normalizer.js +585 -0
  76. package/scripts/scaling-law-claims.js +60 -0
  77. package/scripts/security-scanner.js +1 -1
  78. package/scripts/self-distill-agent.js +7 -32
  79. package/scripts/seo-gsd.js +232 -55
  80. package/scripts/skill-rag-router.js +53 -0
  81. package/scripts/spec-gate.js +1 -1
  82. package/scripts/student-consistent-training.js +73 -0
  83. package/scripts/synthetic-data-provenance.js +98 -0
  84. package/scripts/task-context-result.js +81 -0
  85. package/scripts/telemetry-analytics.js +149 -0
  86. package/scripts/thompson-sampling.js +2 -2
  87. package/scripts/token-savings.js +7 -6
  88. package/scripts/token-tco.js +46 -0
  89. package/scripts/tool-registry.js +63 -3
  90. package/scripts/verification-loop.js +10 -1
  91. package/scripts/verifier-scoring.js +71 -0
  92. package/scripts/workflow-sentinel.js +284 -28
  93. package/scripts/workspace-agent-routines.js +118 -0
  94. package/src/api/server.js +381 -120
  95. package/scripts/analytics-report.js +0 -328
  96. package/scripts/autonomous-workflow.js +0 -377
  97. package/scripts/billing-setup.js +0 -109
  98. package/scripts/creator-campaigns.js +0 -239
  99. package/scripts/cross-encoder-reranker.js +0 -235
  100. package/scripts/daemon-manager.js +0 -108
  101. package/scripts/decision-trace.js +0 -354
  102. package/scripts/delegation-runtime.js +0 -896
  103. package/scripts/dispatch-brief.js +0 -159
  104. package/scripts/distribution-surfaces.js +0 -110
  105. package/scripts/feedback-history-distiller.js +0 -382
  106. package/scripts/funnel-analytics.js +0 -35
  107. package/scripts/history-distiller.js +0 -200
  108. package/scripts/hosted-job-launcher.js +0 -256
  109. package/scripts/intent-router.js +0 -392
  110. package/scripts/lesson-reranker.js +0 -263
  111. package/scripts/lesson-retrieval.js +0 -148
  112. package/scripts/managed-lesson-agent.js +0 -183
  113. package/scripts/operational-dashboard.js +0 -103
  114. package/scripts/operational-summary.js +0 -129
  115. package/scripts/operator-artifacts.js +0 -608
  116. package/scripts/optimize-context.js +0 -17
  117. package/scripts/org-dashboard.js +0 -206
  118. package/scripts/partner-orchestration.js +0 -146
  119. package/scripts/predictive-insights.js +0 -356
  120. package/scripts/pulse.js +0 -80
  121. package/scripts/reflector-agent.js +0 -221
  122. package/scripts/sales-pipeline.js +0 -681
  123. package/scripts/session-episode-store.js +0 -329
  124. package/scripts/session-health-sensor.js +0 -242
  125. package/scripts/session-report.js +0 -120
  126. package/scripts/swarm-coordinator.js +0 -81
  127. package/scripts/tool-kpi-tracker.js +0 -12
  128. package/scripts/webhook-delivery.js +0 -62
  129. package/scripts/workflow-sprint-intake.js +0 -475
@@ -0,0 +1,72 @@
1
+ 'use strict';
2
+
3
+ const path = require('node:path');
4
+
5
+ function normalizeRequest(request) {
6
+ return String(request || '').trim();
7
+ }
8
+
9
+ function isOptionalModuleMissing(error, request) {
10
+ if (!error || error.code !== 'MODULE_NOT_FOUND') {
11
+ return false;
12
+ }
13
+ const message = String(error?.message || '');
14
+ const normalizedRequest = normalizeRequest(request);
15
+ const basename = path.basename(normalizedRequest);
16
+ return [normalizedRequest, basename]
17
+ .filter(Boolean)
18
+ .some((candidate) => message.includes(candidate));
19
+ }
20
+
21
+ function loadOptionalModule(request, fallbackFactory) {
22
+ try {
23
+ return require(request);
24
+ } catch (error) {
25
+ if (!isOptionalModuleMissing(error, request)) {
26
+ throw error;
27
+ }
28
+ return typeof fallbackFactory === 'function'
29
+ ? fallbackFactory(error)
30
+ : (fallbackFactory || {});
31
+ }
32
+ }
33
+
34
+ function createUnavailableError(feature, options = {}) {
35
+ const err = new Error(
36
+ `${feature} moved behind the ThumbGate-Core boundary and is unavailable in the public thumbgate package.`
37
+ );
38
+ err.code = 'THUMBGATE_CORE_REQUIRED';
39
+ err.statusCode = options.statusCode || 503;
40
+ err.feature = feature;
41
+ return err;
42
+ }
43
+
44
+ function createUnavailableOperation(feature, options = {}) {
45
+ return function unavailableOperation() {
46
+ throw createUnavailableError(feature, options);
47
+ };
48
+ }
49
+
50
+ function createUnavailableAsyncOperation(feature, options = {}) {
51
+ return async function unavailableAsyncOperation() {
52
+ throw createUnavailableError(feature, options);
53
+ };
54
+ }
55
+
56
+ function createUnavailableReport(feature, extra = {}) {
57
+ return {
58
+ available: false,
59
+ source: 'ThumbGate-Core',
60
+ message: `${feature} requires ThumbGate-Core.`,
61
+ ...extra,
62
+ };
63
+ }
64
+
65
+ module.exports = {
66
+ createUnavailableAsyncOperation,
67
+ createUnavailableError,
68
+ createUnavailableOperation,
69
+ createUnavailableReport,
70
+ isOptionalModuleMissing,
71
+ loadOptionalModule,
72
+ };
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ function readinessStatus(score, missing) {
5
+ if (missing.length === 0) return 'production_ready';
6
+ if (score >= 60) return 'needs_hardening';
7
+ return 'prototype';
8
+ }
9
+
10
+ function evaluateProductionAgentReadiness(input = {}) {
11
+ const signals = {
12
+ subAgents: Array.isArray(input.subAgents) && input.subAgents.length >= 2,
13
+ structuredOutputs: input.structuredOutputs === true,
14
+ dynamicRag: input.dynamicRag === true,
15
+ observability: input.observability === true || input.tracing === true,
16
+ circuitBreakers: input.circuitBreakers === true,
17
+ };
18
+ const missing = Object.entries(signals)
19
+ .filter(([, present]) => !present)
20
+ .map(([name]) => name);
21
+ const score = Math.round((Object.values(signals).filter(Boolean).length / Object.keys(signals).length) * 100);
22
+ return {
23
+ status: readinessStatus(score, missing),
24
+ score,
25
+ signals,
26
+ missing,
27
+ requiredFixes: missing.map((name) => ({
28
+ subAgents: 'Split monolithic prompts into narrow sub-agent stages.',
29
+ structuredOutputs: 'Use runtime-validated schemas instead of prompt-only JSON formatting.',
30
+ dynamicRag: 'Replace hardcoded context with refreshed retrieval over indexed source material.',
31
+ observability: 'Emit traces for model calls, tool calls, tokens, latency, and stage failures.',
32
+ circuitBreakers: 'Set retry, timeout, loop, and spend limits before production use.',
33
+ }[name])),
34
+ };
35
+ }
36
+
37
+ module.exports = {
38
+ evaluateProductionAgentReadiness,
39
+ readinessStatus,
40
+ };