@bike4mind/cli 0.2.29-feat-quantum-optimize-architecture.18865 → 0.2.29-feat-quantum-optimize-architecture.18870
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/{artifactExtractor-YXCWF7C7.js → artifactExtractor-QGUEWOFS.js} +1 -1
- package/dist/{chunk-ONMTYHC2.js → chunk-KWFQVBM5.js} +595 -1
- package/dist/{chunk-ZFLZILSJ.js → chunk-LNXAJTXS.js} +1 -1
- package/dist/{chunk-MXMR4O3A.js → chunk-PY7XRQ25.js} +2 -2
- package/dist/{chunk-KE4B2ZGF.js → chunk-SZ243CHW.js} +2 -2
- package/dist/{chunk-O5LNKJED.js → chunk-TAEL5CAS.js} +2 -2
- package/dist/{create-2UZMTRWL.js → create-WJ2PFGGF.js} +3 -3
- package/dist/index.js +196 -16
- package/dist/{llmMarkdownGenerator-DZSVGJTA.js → llmMarkdownGenerator-GQO4STQM.js} +1 -1
- package/dist/{markdownGenerator-JQGXHXXU.js → markdownGenerator-Y4QNRXD7.js} +1 -1
- package/dist/{mementoService-CX3ID5C7.js → mementoService-CA7VPNNE.js} +3 -3
- package/dist/{src-XL5LD7DM.js → src-5WN7WYJ3.js} +2 -2
- package/dist/{src-IRF6HQ4C.js → src-YBOHIGIH.js} +11 -1
- package/dist/{subtractCredits-SEKKZNZI.js → subtractCredits-BM2YFHBW.js} +3 -3
- package/package.json +6 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
CurationArtifactType
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KWFQVBM5.js";
|
|
5
5
|
|
|
6
6
|
// ../../b4m-core/packages/services/dist/src/notebookCurationService/artifactExtractor.js
|
|
7
7
|
var ARTIFACT_TAG_REGEX = /<artifact\s+(.*?)>([\s\S]*?)<\/artifact>/gi;
|
|
@@ -311,9 +311,12 @@ var b4mLLMTools = z5.enum([
|
|
|
311
311
|
"planet_visibility",
|
|
312
312
|
// Knowledge base search
|
|
313
313
|
"search_knowledge_base",
|
|
314
|
+
"retrieve_knowledge_content",
|
|
314
315
|
// Quantum optimization tools
|
|
315
316
|
"quantum_schedule",
|
|
316
|
-
"quantum_formulate"
|
|
317
|
+
"quantum_formulate",
|
|
318
|
+
// Navigation tool
|
|
319
|
+
"navigate_view"
|
|
317
320
|
]);
|
|
318
321
|
var B4MLLMToolsList = b4mLLMTools.options.map((tool) => tool);
|
|
319
322
|
var RechartsChartTypeSchema = z5.enum([
|
|
@@ -7816,6 +7819,592 @@ function serializeSSEEvent(event) {
|
|
|
7816
7819
|
}
|
|
7817
7820
|
var SSE_DONE_SIGNAL = "data: [DONE]\n\n";
|
|
7818
7821
|
|
|
7822
|
+
// ../../b4m-core/packages/common/dist/src/navigation/viewRegistry.js
|
|
7823
|
+
var VIEW_REGISTRY = [
|
|
7824
|
+
// ── Opti (Optimization Canvasser) ──────────────────────────────────────
|
|
7825
|
+
{
|
|
7826
|
+
id: "opti.root",
|
|
7827
|
+
section: "opti",
|
|
7828
|
+
label: "Optimization Home",
|
|
7829
|
+
description: "The Optimization Canvasser landing page showing all 8 pattern family cards",
|
|
7830
|
+
navigationType: "route",
|
|
7831
|
+
target: "/opti",
|
|
7832
|
+
keywords: ["optimization", "canvasser", "home", "patterns", "families"]
|
|
7833
|
+
},
|
|
7834
|
+
{
|
|
7835
|
+
id: "opti.scheduling",
|
|
7836
|
+
section: "opti",
|
|
7837
|
+
label: "Scheduling",
|
|
7838
|
+
description: "Scheduling optimization: job-shop, flow-shop, shift scheduling, makespan minimization",
|
|
7839
|
+
navigationType: "action",
|
|
7840
|
+
target: "scheduling",
|
|
7841
|
+
keywords: ["scheduling", "job-shop", "flow-shop", "shifts", "makespan", "gantt", "calendar"]
|
|
7842
|
+
},
|
|
7843
|
+
{
|
|
7844
|
+
id: "opti.routing",
|
|
7845
|
+
section: "opti",
|
|
7846
|
+
label: "Routing",
|
|
7847
|
+
description: "Vehicle routing, TSP, logistics, delivery routes, fleet management",
|
|
7848
|
+
navigationType: "action",
|
|
7849
|
+
target: "routing",
|
|
7850
|
+
keywords: ["routing", "TSP", "vehicle", "logistics", "delivery", "fleet", "path"]
|
|
7851
|
+
},
|
|
7852
|
+
{
|
|
7853
|
+
id: "opti.packing",
|
|
7854
|
+
section: "opti",
|
|
7855
|
+
label: "Packing",
|
|
7856
|
+
description: "Bin packing, knapsack, container loading, space optimization",
|
|
7857
|
+
navigationType: "action",
|
|
7858
|
+
target: "packing",
|
|
7859
|
+
keywords: ["packing", "bin", "knapsack", "container", "loading", "space"]
|
|
7860
|
+
},
|
|
7861
|
+
{
|
|
7862
|
+
id: "opti.network",
|
|
7863
|
+
section: "opti",
|
|
7864
|
+
label: "Network Design",
|
|
7865
|
+
description: "Network flow, facility location, supply chain network design",
|
|
7866
|
+
navigationType: "action",
|
|
7867
|
+
target: "network",
|
|
7868
|
+
keywords: ["network", "flow", "facility", "location", "supply chain", "graph"]
|
|
7869
|
+
},
|
|
7870
|
+
{
|
|
7871
|
+
id: "opti.selection",
|
|
7872
|
+
section: "opti",
|
|
7873
|
+
label: "Selection",
|
|
7874
|
+
description: "Portfolio selection, feature selection, subset optimization",
|
|
7875
|
+
navigationType: "action",
|
|
7876
|
+
target: "selection",
|
|
7877
|
+
keywords: ["selection", "portfolio", "feature", "subset", "pick", "choose"]
|
|
7878
|
+
},
|
|
7879
|
+
{
|
|
7880
|
+
id: "opti.economic",
|
|
7881
|
+
section: "opti",
|
|
7882
|
+
label: "Economic",
|
|
7883
|
+
description: "Resource allocation, pricing, budgeting, economic optimization",
|
|
7884
|
+
navigationType: "action",
|
|
7885
|
+
target: "economic",
|
|
7886
|
+
keywords: ["economic", "resource", "allocation", "pricing", "budget", "cost"]
|
|
7887
|
+
},
|
|
7888
|
+
{
|
|
7889
|
+
id: "opti.assignment",
|
|
7890
|
+
section: "opti",
|
|
7891
|
+
label: "Assignment",
|
|
7892
|
+
description: "Task assignment, matching, workforce allocation, team formation",
|
|
7893
|
+
navigationType: "action",
|
|
7894
|
+
target: "assignment",
|
|
7895
|
+
keywords: ["assignment", "matching", "workforce", "team", "allocate", "assign"]
|
|
7896
|
+
},
|
|
7897
|
+
{
|
|
7898
|
+
id: "opti.partitioning",
|
|
7899
|
+
section: "opti",
|
|
7900
|
+
label: "Partitioning",
|
|
7901
|
+
description: "Graph partitioning, clustering, load balancing, data partitioning",
|
|
7902
|
+
navigationType: "action",
|
|
7903
|
+
target: "partitioning",
|
|
7904
|
+
keywords: ["partitioning", "clustering", "balancing", "partition", "divide", "split"]
|
|
7905
|
+
},
|
|
7906
|
+
// ── Admin ──────────────────────────────────────────────────────────────
|
|
7907
|
+
{
|
|
7908
|
+
id: "admin.users",
|
|
7909
|
+
section: "admin",
|
|
7910
|
+
label: "User Management",
|
|
7911
|
+
description: "View and manage user accounts, roles, and permissions",
|
|
7912
|
+
navigationType: "tab",
|
|
7913
|
+
target: "0",
|
|
7914
|
+
// AdminTab.Users
|
|
7915
|
+
keywords: ["users", "accounts", "roles", "permissions", "manage users"],
|
|
7916
|
+
requiresAdmin: true
|
|
7917
|
+
},
|
|
7918
|
+
{
|
|
7919
|
+
id: "admin.credit_analytics",
|
|
7920
|
+
section: "admin",
|
|
7921
|
+
label: "Credit Analytics",
|
|
7922
|
+
description: "View credit usage, add credits to users, billing analytics",
|
|
7923
|
+
navigationType: "tab",
|
|
7924
|
+
target: "15",
|
|
7925
|
+
// AdminTab.CreditAnalytics
|
|
7926
|
+
keywords: ["credits", "billing", "usage", "add credits", "balance", "cost"],
|
|
7927
|
+
requiresAdmin: true
|
|
7928
|
+
},
|
|
7929
|
+
{
|
|
7930
|
+
id: "admin.settings",
|
|
7931
|
+
section: "admin",
|
|
7932
|
+
label: "Admin Settings",
|
|
7933
|
+
description: "System-wide administration settings and configuration",
|
|
7934
|
+
navigationType: "tab",
|
|
7935
|
+
target: "1",
|
|
7936
|
+
// AdminTab.AdminSettings
|
|
7937
|
+
keywords: ["settings", "configuration", "admin", "system settings"],
|
|
7938
|
+
requiresAdmin: true
|
|
7939
|
+
},
|
|
7940
|
+
{
|
|
7941
|
+
id: "admin.system_health",
|
|
7942
|
+
section: "admin",
|
|
7943
|
+
label: "System Health",
|
|
7944
|
+
description: "Monitor system health, uptime, and performance metrics",
|
|
7945
|
+
navigationType: "tab",
|
|
7946
|
+
target: "29",
|
|
7947
|
+
// AdminTab.SystemHealth
|
|
7948
|
+
keywords: ["health", "uptime", "monitoring", "performance", "status"],
|
|
7949
|
+
requiresAdmin: true
|
|
7950
|
+
},
|
|
7951
|
+
{
|
|
7952
|
+
id: "admin.llm_dashboard",
|
|
7953
|
+
section: "admin",
|
|
7954
|
+
label: "LLM Dashboard",
|
|
7955
|
+
description: "LLM model usage, costs, and performance monitoring",
|
|
7956
|
+
navigationType: "tab",
|
|
7957
|
+
target: "24",
|
|
7958
|
+
// AdminTab.LLMDashboard
|
|
7959
|
+
keywords: ["llm", "model", "ai", "costs", "tokens", "dashboard"],
|
|
7960
|
+
requiresAdmin: true
|
|
7961
|
+
},
|
|
7962
|
+
{
|
|
7963
|
+
id: "admin.tool_definitions",
|
|
7964
|
+
section: "admin",
|
|
7965
|
+
label: "Tool Definitions",
|
|
7966
|
+
description: "Manage LLM tool definitions and configurations",
|
|
7967
|
+
navigationType: "tab",
|
|
7968
|
+
target: "31",
|
|
7969
|
+
// AdminTab.ToolDefinitions
|
|
7970
|
+
keywords: ["tools", "tool definitions", "functions", "capabilities"],
|
|
7971
|
+
requiresAdmin: true
|
|
7972
|
+
},
|
|
7973
|
+
{
|
|
7974
|
+
id: "admin.organizations",
|
|
7975
|
+
section: "admin",
|
|
7976
|
+
label: "Organizations",
|
|
7977
|
+
description: "Manage organizations, teams, and multi-tenant settings",
|
|
7978
|
+
navigationType: "tab",
|
|
7979
|
+
target: "14",
|
|
7980
|
+
// AdminTab.Organizations
|
|
7981
|
+
keywords: ["organizations", "teams", "tenants", "companies"],
|
|
7982
|
+
requiresAdmin: true
|
|
7983
|
+
},
|
|
7984
|
+
{
|
|
7985
|
+
id: "admin.analytics",
|
|
7986
|
+
section: "admin",
|
|
7987
|
+
label: "Analytics",
|
|
7988
|
+
description: "User activity analytics, engagement metrics, and reports",
|
|
7989
|
+
navigationType: "tab",
|
|
7990
|
+
target: "3",
|
|
7991
|
+
// AdminTab.Analytics
|
|
7992
|
+
keywords: ["analytics", "metrics", "reports", "engagement", "activity"],
|
|
7993
|
+
requiresAdmin: true
|
|
7994
|
+
},
|
|
7995
|
+
{
|
|
7996
|
+
id: "admin.subscribers",
|
|
7997
|
+
section: "admin",
|
|
7998
|
+
label: "Subscribers",
|
|
7999
|
+
description: "Manage subscriber waitlist and access approvals",
|
|
8000
|
+
navigationType: "tab",
|
|
8001
|
+
target: "12",
|
|
8002
|
+
// AdminTab.Subscribers
|
|
8003
|
+
keywords: ["subscribers", "waitlist", "approvals", "signups"],
|
|
8004
|
+
requiresAdmin: true
|
|
8005
|
+
},
|
|
8006
|
+
{
|
|
8007
|
+
id: "admin.subscriptions",
|
|
8008
|
+
section: "admin",
|
|
8009
|
+
label: "Subscriptions",
|
|
8010
|
+
description: "Manage subscription plans, tiers, and billing",
|
|
8011
|
+
navigationType: "tab",
|
|
8012
|
+
target: "13",
|
|
8013
|
+
// AdminTab.Subscriptions
|
|
8014
|
+
keywords: ["subscriptions", "plans", "tiers", "billing", "pricing"],
|
|
8015
|
+
requiresAdmin: true
|
|
8016
|
+
},
|
|
8017
|
+
{
|
|
8018
|
+
id: "admin.invite_codes",
|
|
8019
|
+
section: "admin",
|
|
8020
|
+
label: "Invite Codes",
|
|
8021
|
+
description: "Create and manage registration invite codes",
|
|
8022
|
+
navigationType: "tab",
|
|
8023
|
+
target: "5",
|
|
8024
|
+
// AdminTab.RegistrationInvites
|
|
8025
|
+
keywords: ["invite", "codes", "registration", "invitations"],
|
|
8026
|
+
requiresAdmin: true
|
|
8027
|
+
},
|
|
8028
|
+
{
|
|
8029
|
+
id: "admin.agent_ops",
|
|
8030
|
+
section: "admin",
|
|
8031
|
+
label: "Agent Operations",
|
|
8032
|
+
description: "Monitor and manage AI agent operations and tasks",
|
|
8033
|
+
navigationType: "tab",
|
|
8034
|
+
target: "23",
|
|
8035
|
+
// AdminTab.AgentOps
|
|
8036
|
+
keywords: ["agents", "operations", "tasks", "agent ops"],
|
|
8037
|
+
requiresAdmin: true
|
|
8038
|
+
},
|
|
8039
|
+
{
|
|
8040
|
+
id: "admin.security_dashboard",
|
|
8041
|
+
section: "admin",
|
|
8042
|
+
label: "Security Dashboard",
|
|
8043
|
+
description: "Security monitoring, threat detection, and audit logs",
|
|
8044
|
+
navigationType: "tab",
|
|
8045
|
+
target: "26",
|
|
8046
|
+
// AdminTab.SecurityDashboard
|
|
8047
|
+
keywords: ["security", "threats", "audit", "logs", "vulnerabilities"],
|
|
8048
|
+
requiresAdmin: true
|
|
8049
|
+
},
|
|
8050
|
+
{
|
|
8051
|
+
id: "admin.system_prompts",
|
|
8052
|
+
section: "admin",
|
|
8053
|
+
label: "System Prompts",
|
|
8054
|
+
description: "Edit and manage system prompts for AI models",
|
|
8055
|
+
navigationType: "tab",
|
|
8056
|
+
target: "21",
|
|
8057
|
+
// AdminTab.SystemPrompts
|
|
8058
|
+
keywords: ["prompts", "system prompts", "instructions", "AI prompts"],
|
|
8059
|
+
requiresAdmin: true
|
|
8060
|
+
},
|
|
8061
|
+
{
|
|
8062
|
+
id: "admin.modals",
|
|
8063
|
+
section: "admin",
|
|
8064
|
+
label: "Modals",
|
|
8065
|
+
description: "Manage modal dialogs and popup configurations",
|
|
8066
|
+
navigationType: "tab",
|
|
8067
|
+
target: "7",
|
|
8068
|
+
// AdminTab.Modals
|
|
8069
|
+
keywords: ["modals", "dialogs", "popups", "announcements"],
|
|
8070
|
+
requiresAdmin: true
|
|
8071
|
+
},
|
|
8072
|
+
{
|
|
8073
|
+
id: "admin.whats_new",
|
|
8074
|
+
section: "admin",
|
|
8075
|
+
label: "What's New",
|
|
8076
|
+
description: "Manage What's New release notes and changelogs",
|
|
8077
|
+
navigationType: "tab",
|
|
8078
|
+
target: "32",
|
|
8079
|
+
// AdminTab.WhatsNewModals
|
|
8080
|
+
keywords: ["whats new", "release notes", "changelog", "updates"],
|
|
8081
|
+
requiresAdmin: true
|
|
8082
|
+
},
|
|
8083
|
+
{
|
|
8084
|
+
id: "admin.rapid_reply",
|
|
8085
|
+
section: "admin",
|
|
8086
|
+
label: "Rapid Reply",
|
|
8087
|
+
description: "Configure rapid reply templates and shortcuts",
|
|
8088
|
+
navigationType: "tab",
|
|
8089
|
+
target: "25",
|
|
8090
|
+
// AdminTab.RapidReply
|
|
8091
|
+
keywords: ["rapid reply", "templates", "shortcuts", "quick responses"],
|
|
8092
|
+
requiresAdmin: true
|
|
8093
|
+
},
|
|
8094
|
+
{
|
|
8095
|
+
id: "admin.slack_workspaces",
|
|
8096
|
+
section: "admin",
|
|
8097
|
+
label: "Slack Workspaces",
|
|
8098
|
+
description: "Manage connected Slack workspace integrations",
|
|
8099
|
+
navigationType: "tab",
|
|
8100
|
+
target: "30",
|
|
8101
|
+
// AdminTab.SlackWorkspaces
|
|
8102
|
+
keywords: ["slack", "workspaces", "integrations", "messaging"],
|
|
8103
|
+
requiresAdmin: true
|
|
8104
|
+
},
|
|
8105
|
+
{
|
|
8106
|
+
id: "admin.secrets_rotation",
|
|
8107
|
+
section: "admin",
|
|
8108
|
+
label: "Secrets Rotation",
|
|
8109
|
+
description: "Manage API key rotation and secret lifecycle",
|
|
8110
|
+
navigationType: "tab",
|
|
8111
|
+
target: "16",
|
|
8112
|
+
// AdminTab.SecretsRotation
|
|
8113
|
+
keywords: ["secrets", "rotation", "API keys", "credentials"],
|
|
8114
|
+
requiresAdmin: true
|
|
8115
|
+
},
|
|
8116
|
+
{
|
|
8117
|
+
id: "admin.bulk_import",
|
|
8118
|
+
section: "admin",
|
|
8119
|
+
label: "Bulk Import",
|
|
8120
|
+
description: "Bulk import users and data from CSV or other formats",
|
|
8121
|
+
navigationType: "tab",
|
|
8122
|
+
target: "17",
|
|
8123
|
+
// AdminTab.BulkImport
|
|
8124
|
+
keywords: ["bulk", "import", "CSV", "migration", "data import"],
|
|
8125
|
+
requiresAdmin: true
|
|
8126
|
+
},
|
|
8127
|
+
{
|
|
8128
|
+
id: "admin.feedbacks",
|
|
8129
|
+
section: "admin",
|
|
8130
|
+
label: "Feedbacks",
|
|
8131
|
+
description: "View and manage user feedback, bug reports, and feature requests",
|
|
8132
|
+
navigationType: "tab",
|
|
8133
|
+
target: "2",
|
|
8134
|
+
// AdminTab.Feedbacks
|
|
8135
|
+
keywords: ["feedback", "bug reports", "feature requests", "user feedback", "complaints"],
|
|
8136
|
+
requiresAdmin: true
|
|
8137
|
+
},
|
|
8138
|
+
{
|
|
8139
|
+
id: "admin.files",
|
|
8140
|
+
section: "admin",
|
|
8141
|
+
label: "Files",
|
|
8142
|
+
description: "Manage uploaded files across all users, storage analytics",
|
|
8143
|
+
navigationType: "tab",
|
|
8144
|
+
target: "8",
|
|
8145
|
+
// AdminTab.Files
|
|
8146
|
+
keywords: ["files", "uploads", "storage", "documents", "file management"],
|
|
8147
|
+
requiresAdmin: true
|
|
8148
|
+
},
|
|
8149
|
+
{
|
|
8150
|
+
id: "admin.documentation",
|
|
8151
|
+
section: "admin",
|
|
8152
|
+
label: "Documentation",
|
|
8153
|
+
description: "System documentation and internal reference guides",
|
|
8154
|
+
navigationType: "tab",
|
|
8155
|
+
target: "9",
|
|
8156
|
+
// AdminTab.Documentation
|
|
8157
|
+
keywords: ["documentation", "docs", "guides", "reference", "help docs"],
|
|
8158
|
+
requiresAdmin: true
|
|
8159
|
+
},
|
|
8160
|
+
{
|
|
8161
|
+
id: "admin.world_time",
|
|
8162
|
+
section: "admin",
|
|
8163
|
+
label: "World Time",
|
|
8164
|
+
description: "View current time across multiple time zones",
|
|
8165
|
+
navigationType: "tab",
|
|
8166
|
+
target: "10",
|
|
8167
|
+
// AdminTab.WorldTime
|
|
8168
|
+
keywords: ["world time", "time zones", "clocks", "UTC", "international time"],
|
|
8169
|
+
requiresAdmin: true
|
|
8170
|
+
},
|
|
8171
|
+
{
|
|
8172
|
+
id: "admin.model_logs",
|
|
8173
|
+
section: "admin",
|
|
8174
|
+
label: "Model Logs",
|
|
8175
|
+
description: "View LLM model request/response logs and debugging information",
|
|
8176
|
+
navigationType: "tab",
|
|
8177
|
+
target: "18",
|
|
8178
|
+
// AdminTab.ModelLogs
|
|
8179
|
+
keywords: ["model logs", "LLM logs", "request logs", "debugging", "API logs"],
|
|
8180
|
+
requiresAdmin: true
|
|
8181
|
+
},
|
|
8182
|
+
{
|
|
8183
|
+
id: "admin.model_metrics",
|
|
8184
|
+
section: "admin",
|
|
8185
|
+
label: "Model Metrics",
|
|
8186
|
+
description: "LLM model performance metrics, latency, and usage statistics",
|
|
8187
|
+
navigationType: "tab",
|
|
8188
|
+
target: "19",
|
|
8189
|
+
// AdminTab.ModelMetrics
|
|
8190
|
+
keywords: ["model metrics", "performance", "latency", "tokens", "model usage"],
|
|
8191
|
+
requiresAdmin: true
|
|
8192
|
+
},
|
|
8193
|
+
{
|
|
8194
|
+
id: "admin.event_metrics",
|
|
8195
|
+
section: "admin",
|
|
8196
|
+
label: "Event Metrics",
|
|
8197
|
+
description: "Track system events, user activity events, and event analytics",
|
|
8198
|
+
navigationType: "tab",
|
|
8199
|
+
target: "20",
|
|
8200
|
+
// AdminTab.EventMetrics
|
|
8201
|
+
keywords: ["event metrics", "events", "activity tracking", "event analytics"],
|
|
8202
|
+
requiresAdmin: true
|
|
8203
|
+
},
|
|
8204
|
+
{
|
|
8205
|
+
id: "admin.identity_providers",
|
|
8206
|
+
section: "admin",
|
|
8207
|
+
label: "Identity Providers",
|
|
8208
|
+
description: "Configure SSO, SAML, and identity provider integrations",
|
|
8209
|
+
navigationType: "tab",
|
|
8210
|
+
target: "22",
|
|
8211
|
+
// AdminTab.IdentityProviders
|
|
8212
|
+
keywords: ["identity", "SSO", "SAML", "providers", "authentication", "login providers"],
|
|
8213
|
+
requiresAdmin: true
|
|
8214
|
+
},
|
|
8215
|
+
{
|
|
8216
|
+
id: "admin.email_verification",
|
|
8217
|
+
section: "admin",
|
|
8218
|
+
label: "Email Verification",
|
|
8219
|
+
description: "Manage email verification status and send verification emails",
|
|
8220
|
+
navigationType: "tab",
|
|
8221
|
+
target: "27",
|
|
8222
|
+
// AdminTab.EmailVerification
|
|
8223
|
+
keywords: ["email", "verification", "verify email", "email status"],
|
|
8224
|
+
requiresAdmin: true
|
|
8225
|
+
},
|
|
8226
|
+
{
|
|
8227
|
+
id: "admin.team",
|
|
8228
|
+
section: "admin",
|
|
8229
|
+
label: "Team",
|
|
8230
|
+
description: "Manage team members, roles, and team settings",
|
|
8231
|
+
navigationType: "tab",
|
|
8232
|
+
target: "28",
|
|
8233
|
+
// AdminTab.Team
|
|
8234
|
+
keywords: ["team", "members", "roles", "team management", "staff"],
|
|
8235
|
+
requiresAdmin: true
|
|
8236
|
+
},
|
|
8237
|
+
{
|
|
8238
|
+
id: "admin.slack_metrics",
|
|
8239
|
+
section: "admin",
|
|
8240
|
+
label: "Slack Metrics",
|
|
8241
|
+
description: "Slack integration usage metrics and message analytics",
|
|
8242
|
+
navigationType: "tab",
|
|
8243
|
+
target: "33",
|
|
8244
|
+
// AdminTab.SlackMetrics
|
|
8245
|
+
keywords: ["slack metrics", "slack usage", "message analytics", "slack stats"],
|
|
8246
|
+
requiresAdmin: true
|
|
8247
|
+
},
|
|
8248
|
+
{
|
|
8249
|
+
id: "admin.system_secrets",
|
|
8250
|
+
section: "admin",
|
|
8251
|
+
label: "System Secrets",
|
|
8252
|
+
description: "View and manage system-level secrets and environment variables",
|
|
8253
|
+
navigationType: "tab",
|
|
8254
|
+
target: "34",
|
|
8255
|
+
// AdminTab.SystemSecrets
|
|
8256
|
+
keywords: ["system secrets", "environment variables", "env vars", "secrets", "configuration"],
|
|
8257
|
+
requiresAdmin: true
|
|
8258
|
+
},
|
|
8259
|
+
{
|
|
8260
|
+
id: "admin.liveops_triage",
|
|
8261
|
+
section: "admin",
|
|
8262
|
+
label: "LiveOps Triage",
|
|
8263
|
+
description: "Real-time error triage, production issue monitoring, and incident response",
|
|
8264
|
+
navigationType: "tab",
|
|
8265
|
+
target: "35",
|
|
8266
|
+
// AdminTab.LiveOpsTriage
|
|
8267
|
+
keywords: ["liveops", "triage", "errors", "incidents", "production issues", "monitoring"],
|
|
8268
|
+
requiresAdmin: true
|
|
8269
|
+
},
|
|
8270
|
+
// ── Global ─────────────────────────────────────────────────────────────
|
|
8271
|
+
{
|
|
8272
|
+
id: "global.chat",
|
|
8273
|
+
section: "global",
|
|
8274
|
+
label: "Chat",
|
|
8275
|
+
description: "Main AI chat interface for conversations",
|
|
8276
|
+
navigationType: "route",
|
|
8277
|
+
target: "/",
|
|
8278
|
+
keywords: ["chat", "conversation", "talk", "message", "ask"]
|
|
8279
|
+
},
|
|
8280
|
+
{
|
|
8281
|
+
id: "global.projects",
|
|
8282
|
+
section: "global",
|
|
8283
|
+
label: "Projects",
|
|
8284
|
+
description: "View and manage projects and workspaces",
|
|
8285
|
+
navigationType: "route",
|
|
8286
|
+
target: "/projects",
|
|
8287
|
+
keywords: ["projects", "workspaces", "organize", "folders"]
|
|
8288
|
+
},
|
|
8289
|
+
{
|
|
8290
|
+
id: "global.agents",
|
|
8291
|
+
section: "global",
|
|
8292
|
+
label: "Agents",
|
|
8293
|
+
description: "Browse and configure AI agents",
|
|
8294
|
+
navigationType: "route",
|
|
8295
|
+
target: "/agents",
|
|
8296
|
+
keywords: ["agents", "AI assistants", "bots", "configure agents"]
|
|
8297
|
+
},
|
|
8298
|
+
{
|
|
8299
|
+
id: "global.profile",
|
|
8300
|
+
section: "global",
|
|
8301
|
+
label: "Profile",
|
|
8302
|
+
description: "User profile settings and preferences",
|
|
8303
|
+
navigationType: "route",
|
|
8304
|
+
target: "/profile",
|
|
8305
|
+
keywords: ["profile", "account", "preferences", "personal settings"]
|
|
8306
|
+
},
|
|
8307
|
+
{
|
|
8308
|
+
id: "global.profile_security",
|
|
8309
|
+
section: "global",
|
|
8310
|
+
label: "Security Settings",
|
|
8311
|
+
description: "MFA, password, and security settings for your account",
|
|
8312
|
+
navigationType: "route",
|
|
8313
|
+
target: "/profile/security",
|
|
8314
|
+
keywords: ["security", "MFA", "password", "two-factor", "2FA"]
|
|
8315
|
+
},
|
|
8316
|
+
{
|
|
8317
|
+
id: "global.profile_api_keys",
|
|
8318
|
+
section: "global",
|
|
8319
|
+
label: "API Keys",
|
|
8320
|
+
description: "Manage your personal API keys for integrations",
|
|
8321
|
+
navigationType: "route",
|
|
8322
|
+
target: "/profile/api-keys",
|
|
8323
|
+
keywords: ["API keys", "tokens", "integrations", "developer"]
|
|
8324
|
+
},
|
|
8325
|
+
{
|
|
8326
|
+
id: "global.admin",
|
|
8327
|
+
section: "global",
|
|
8328
|
+
label: "Admin Panel",
|
|
8329
|
+
description: "Admin dashboard for system management",
|
|
8330
|
+
navigationType: "route",
|
|
8331
|
+
target: "/admin",
|
|
8332
|
+
keywords: ["admin", "dashboard", "management", "administration"],
|
|
8333
|
+
requiresAdmin: true
|
|
8334
|
+
},
|
|
8335
|
+
{
|
|
8336
|
+
id: "global.help",
|
|
8337
|
+
section: "global",
|
|
8338
|
+
label: "Help",
|
|
8339
|
+
description: "Help documentation and support resources",
|
|
8340
|
+
navigationType: "route",
|
|
8341
|
+
target: "/help",
|
|
8342
|
+
keywords: ["help", "support", "documentation", "FAQ", "guide"]
|
|
8343
|
+
},
|
|
8344
|
+
{
|
|
8345
|
+
id: "global.knowledge_base",
|
|
8346
|
+
section: "global",
|
|
8347
|
+
label: "Knowledge Base",
|
|
8348
|
+
description: "Browse uploaded files and documents in your knowledge base",
|
|
8349
|
+
navigationType: "route",
|
|
8350
|
+
target: "/knowledge",
|
|
8351
|
+
keywords: ["knowledge", "files", "documents", "uploads", "library"]
|
|
8352
|
+
},
|
|
8353
|
+
{
|
|
8354
|
+
id: "global.settings",
|
|
8355
|
+
section: "global",
|
|
8356
|
+
label: "Settings",
|
|
8357
|
+
description: "Application settings and preferences",
|
|
8358
|
+
navigationType: "route",
|
|
8359
|
+
target: "/settings",
|
|
8360
|
+
keywords: ["settings", "preferences", "configuration", "options"]
|
|
8361
|
+
}
|
|
8362
|
+
];
|
|
8363
|
+
function getViewById(viewId) {
|
|
8364
|
+
return VIEW_REGISTRY.find((v) => v.id === viewId);
|
|
8365
|
+
}
|
|
8366
|
+
function getFilteredViews(options) {
|
|
8367
|
+
return VIEW_REGISTRY.filter((v) => {
|
|
8368
|
+
if (options?.section && v.section !== options.section)
|
|
8369
|
+
return false;
|
|
8370
|
+
if (v.requiresAdmin && !options?.isAdmin)
|
|
8371
|
+
return false;
|
|
8372
|
+
return true;
|
|
8373
|
+
});
|
|
8374
|
+
}
|
|
8375
|
+
function getViewSummaryForLLM(options) {
|
|
8376
|
+
const views = getFilteredViews(options);
|
|
8377
|
+
const grouped = {};
|
|
8378
|
+
for (const v of views) {
|
|
8379
|
+
const key = v.section.toUpperCase();
|
|
8380
|
+
if (!grouped[key])
|
|
8381
|
+
grouped[key] = [];
|
|
8382
|
+
grouped[key].push(`- ${v.id}: ${v.label} \u2014 ${v.description}`);
|
|
8383
|
+
}
|
|
8384
|
+
const sections = Object.entries(grouped).map(([section, lines]) => `[${section}]
|
|
8385
|
+
${lines.join("\n")}`).join("\n\n");
|
|
8386
|
+
return `Available navigation views (use navigate_view tool to suggest these):
|
|
8387
|
+
|
|
8388
|
+
${sections}`;
|
|
8389
|
+
}
|
|
8390
|
+
function resolveNavigationIntents(suggestions, isAdmin) {
|
|
8391
|
+
return suggestions.map((s) => {
|
|
8392
|
+
const view = getViewById(s.viewId);
|
|
8393
|
+
if (!view)
|
|
8394
|
+
return null;
|
|
8395
|
+
if (view.requiresAdmin && !isAdmin)
|
|
8396
|
+
return null;
|
|
8397
|
+
return {
|
|
8398
|
+
viewId: view.id,
|
|
8399
|
+
label: view.label,
|
|
8400
|
+
description: view.description,
|
|
8401
|
+
navigationType: view.navigationType,
|
|
8402
|
+
target: view.target,
|
|
8403
|
+
reason: s.reason
|
|
8404
|
+
};
|
|
8405
|
+
}).filter((intent) => intent !== null);
|
|
8406
|
+
}
|
|
8407
|
+
|
|
7819
8408
|
// ../../b4m-core/packages/common/dist/src/utils/dayjsConfig.js
|
|
7820
8409
|
import dayjs from "dayjs";
|
|
7821
8410
|
import timezone from "dayjs/plugin/timezone.js";
|
|
@@ -8168,5 +8757,10 @@ export {
|
|
|
8168
8757
|
formatSSEError,
|
|
8169
8758
|
serializeSSEEvent,
|
|
8170
8759
|
SSE_DONE_SIGNAL,
|
|
8760
|
+
VIEW_REGISTRY,
|
|
8761
|
+
getViewById,
|
|
8762
|
+
getFilteredViews,
|
|
8763
|
+
getViewSummaryForLLM,
|
|
8764
|
+
resolveNavigationIntents,
|
|
8171
8765
|
dayjsConfig_default
|
|
8172
8766
|
};
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
getSettingsMap,
|
|
8
8
|
getSettingsValue,
|
|
9
9
|
secureParameters
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LNXAJTXS.js";
|
|
11
11
|
import {
|
|
12
12
|
KnowledgeType,
|
|
13
13
|
SupportedFabFileMimeTypes
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-KWFQVBM5.js";
|
|
15
15
|
|
|
16
16
|
// ../../b4m-core/packages/services/dist/src/fabFileService/create.js
|
|
17
17
|
import { z } from "zod";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BadRequestError,
|
|
4
4
|
secureParameters
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-LNXAJTXS.js";
|
|
6
6
|
import {
|
|
7
7
|
CompletionApiUsageTransaction,
|
|
8
8
|
GenericCreditDeductTransaction,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
TextGenerationUsageTransaction,
|
|
13
13
|
TransferCreditTransaction,
|
|
14
14
|
VideoGenerationUsageTransaction
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-KWFQVBM5.js";
|
|
16
16
|
|
|
17
17
|
// ../../b4m-core/packages/services/dist/src/creditService/subtractCredits.js
|
|
18
18
|
import { z } from "zod";
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
getSettingsByNames,
|
|
7
7
|
obfuscateApiKey,
|
|
8
8
|
secureParameters
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-LNXAJTXS.js";
|
|
10
10
|
import {
|
|
11
11
|
ApiKeyType,
|
|
12
12
|
MementoTier,
|
|
13
13
|
isSupportedEmbeddingModel
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-KWFQVBM5.js";
|
|
15
15
|
|
|
16
16
|
// ../../b4m-core/packages/services/dist/src/apiKeyService/get.js
|
|
17
17
|
import { z } from "zod";
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
createFabFile,
|
|
4
4
|
createFabFileSchema
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-PY7XRQ25.js";
|
|
6
|
+
import "./chunk-LNXAJTXS.js";
|
|
7
|
+
import "./chunk-KWFQVBM5.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
createFabFile,
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
getEffectiveApiKey,
|
|
6
6
|
getOpenWeatherKey,
|
|
7
7
|
getSerperKey
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TAEL5CAS.js";
|
|
9
9
|
import {
|
|
10
10
|
ConfigStore,
|
|
11
11
|
logger
|
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
selectActiveBackgroundAgents,
|
|
15
15
|
useCliStore
|
|
16
16
|
} from "./chunk-TVW4ZESU.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-SZ243CHW.js";
|
|
18
|
+
import "./chunk-PY7XRQ25.js";
|
|
19
19
|
import {
|
|
20
20
|
BFLImageService,
|
|
21
21
|
BaseStorage,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
OpenAIBackend,
|
|
28
28
|
OpenAIImageService,
|
|
29
29
|
XAIImageService
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-LNXAJTXS.js";
|
|
31
31
|
import {
|
|
32
32
|
AiEvents,
|
|
33
33
|
ApiKeyEvents,
|
|
@@ -82,8 +82,10 @@ import {
|
|
|
82
82
|
VideoModels,
|
|
83
83
|
XAI_IMAGE_MODELS,
|
|
84
84
|
b4mLLMTools,
|
|
85
|
-
getMcpProviderMetadata
|
|
86
|
-
|
|
85
|
+
getMcpProviderMetadata,
|
|
86
|
+
getViewById,
|
|
87
|
+
resolveNavigationIntents
|
|
88
|
+
} from "./chunk-KWFQVBM5.js";
|
|
87
89
|
import {
|
|
88
90
|
Logger
|
|
89
91
|
} from "./chunk-OCYRD7D6.js";
|
|
@@ -9664,13 +9666,13 @@ function formatSearchResults(files) {
|
|
|
9664
9666
|
const notes = file.notes ? `
|
|
9665
9667
|
Notes: ${file.notes}` : "";
|
|
9666
9668
|
const fileType = file.type || "FILE";
|
|
9667
|
-
return `${index + 1}. **${file.fileName}**
|
|
9669
|
+
return `${index + 1}. **${file.fileName}** (ID: ${file.id})
|
|
9668
9670
|
Type: ${fileType} | MIME: ${file.mimeType}
|
|
9669
9671
|
Tags: ${tags}${notes}`;
|
|
9670
9672
|
});
|
|
9671
9673
|
return `Found ${files.length} document(s) in your knowledge base:
|
|
9672
9674
|
|
|
9673
|
-
` + formattedFiles.join("\n\n") + "\n\n*
|
|
9675
|
+
` + formattedFiles.join("\n\n") + "\n\n*Use retrieve_knowledge_content with a file ID or tags to read the actual document content.*";
|
|
9674
9676
|
}
|
|
9675
9677
|
var knowledgeBaseSearchTool = {
|
|
9676
9678
|
name: "search_knowledge_base",
|
|
@@ -9744,6 +9746,120 @@ var knowledgeBaseSearchTool = {
|
|
|
9744
9746
|
})
|
|
9745
9747
|
};
|
|
9746
9748
|
|
|
9749
|
+
// ../../b4m-core/packages/services/dist/src/llm/tools/implementation/knowledgeBaseRetrieve/index.js
|
|
9750
|
+
var DEFAULT_MAX_CHARS = 8e3;
|
|
9751
|
+
var ABSOLUTE_MAX_CHARS = 16e3;
|
|
9752
|
+
var knowledgeBaseRetrieveTool = {
|
|
9753
|
+
name: "retrieve_knowledge_content",
|
|
9754
|
+
implementation: (context) => ({
|
|
9755
|
+
toolFn: async (value) => {
|
|
9756
|
+
const params = value;
|
|
9757
|
+
const { file_id, tags, query, max_chars } = params;
|
|
9758
|
+
const charBudget = Math.min(max_chars ?? DEFAULT_MAX_CHARS, ABSOLUTE_MAX_CHARS);
|
|
9759
|
+
context.logger.log("\u{1F4D6} Knowledge Retrieve: params", { file_id, tags, query, max_chars: charBudget });
|
|
9760
|
+
if (!file_id && !tags?.length && !query) {
|
|
9761
|
+
return "Error: You must provide at least one of file_id, tags, or query.";
|
|
9762
|
+
}
|
|
9763
|
+
if (!context.db.fabfiles) {
|
|
9764
|
+
context.logger.error("\u274C Knowledge Retrieve: fabfiles repository not available");
|
|
9765
|
+
return "Knowledge base retrieval is not available at this time.";
|
|
9766
|
+
}
|
|
9767
|
+
if (!context.db.fabfilechunks) {
|
|
9768
|
+
context.logger.error("\u274C Knowledge Retrieve: fabfilechunks repository not available");
|
|
9769
|
+
return "Knowledge base retrieval is not available at this time (chunk reader unavailable).";
|
|
9770
|
+
}
|
|
9771
|
+
try {
|
|
9772
|
+
let files = [];
|
|
9773
|
+
if (file_id) {
|
|
9774
|
+
const file = await context.db.fabfiles.findByIdAndUserId(file_id, context.userId);
|
|
9775
|
+
if (file) {
|
|
9776
|
+
files = [file];
|
|
9777
|
+
} else {
|
|
9778
|
+
const searchResults = await context.db.fabfiles.search(context.userId, file_id, { tags: [], shared: false }, { page: 1, limit: 1 }, { by: "fileName", direction: "asc" }, { textSearch: true, includeShared: true, userGroups: context.user.groups || [] });
|
|
9779
|
+
files = searchResults.data;
|
|
9780
|
+
}
|
|
9781
|
+
if (files.length === 0) {
|
|
9782
|
+
return `No document found with ID "${file_id}". The file may not exist or you may not have access to it. Try using search_knowledge_base to find the correct file ID.`;
|
|
9783
|
+
}
|
|
9784
|
+
}
|
|
9785
|
+
if (files.length === 0 && (tags?.length || query)) {
|
|
9786
|
+
const searchResults = await context.db.fabfiles.search(context.userId, query || "", { tags: tags || [], shared: false }, { page: 1, limit: 5 }, { by: "fileName", direction: "asc" }, { textSearch: true, includeShared: true, userGroups: context.user.groups || [] });
|
|
9787
|
+
files = searchResults.data;
|
|
9788
|
+
if (files.length === 0) {
|
|
9789
|
+
const searchDesc = [
|
|
9790
|
+
query && `query "${query}"`,
|
|
9791
|
+
tags?.length && `tags [${tags.join(", ")}]`
|
|
9792
|
+
].filter(Boolean).join(" and ");
|
|
9793
|
+
return `No documents found matching ${searchDesc}. Try broadening your search with search_knowledge_base.`;
|
|
9794
|
+
}
|
|
9795
|
+
}
|
|
9796
|
+
let totalCharsUsed = 0;
|
|
9797
|
+
const sections = [];
|
|
9798
|
+
let filesRetrieved = 0;
|
|
9799
|
+
for (const file of files) {
|
|
9800
|
+
if (totalCharsUsed >= charBudget)
|
|
9801
|
+
break;
|
|
9802
|
+
const chunks = await context.db.fabfilechunks.findByFabFileId(file.id);
|
|
9803
|
+
if (chunks.length === 0) {
|
|
9804
|
+
context.logger.log(`\u{1F4D6} Knowledge Retrieve: No chunks for file ${file.fileName} (${file.id})`);
|
|
9805
|
+
continue;
|
|
9806
|
+
}
|
|
9807
|
+
const fullText = chunks.map((c) => c.text).join("\n");
|
|
9808
|
+
const remainingBudget = charBudget - totalCharsUsed;
|
|
9809
|
+
const truncated = fullText.length > remainingBudget;
|
|
9810
|
+
const content = truncated ? fullText.slice(0, remainingBudget) : fullText;
|
|
9811
|
+
const fileTags = file.tags?.map((t) => t.name).join(", ") || "none";
|
|
9812
|
+
const charLabel = truncated ? `${content.length} (truncated from ${fullText.length})` : `${content.length}`;
|
|
9813
|
+
sections.push(`### ${file.fileName} (ID: ${file.id})
|
|
9814
|
+
Tags: ${fileTags}
|
|
9815
|
+
Chunks: ${chunks.length} | Characters: ${charLabel}
|
|
9816
|
+
---
|
|
9817
|
+
` + content);
|
|
9818
|
+
totalCharsUsed += content.length;
|
|
9819
|
+
filesRetrieved++;
|
|
9820
|
+
}
|
|
9821
|
+
if (filesRetrieved === 0) {
|
|
9822
|
+
return "Found matching documents but they have no indexed content. The files may not have been processed yet.";
|
|
9823
|
+
}
|
|
9824
|
+
const header = `Retrieved content from ${filesRetrieved} of ${files.length} document(s):
|
|
9825
|
+
`;
|
|
9826
|
+
return header + "\n" + sections.join("\n\n---\n\n");
|
|
9827
|
+
} catch (error) {
|
|
9828
|
+
context.logger.error("\u274C Knowledge Retrieve: Error during retrieval:", error);
|
|
9829
|
+
return "An error occurred while retrieving document content. Please try again.";
|
|
9830
|
+
}
|
|
9831
|
+
},
|
|
9832
|
+
toolSchema: {
|
|
9833
|
+
name: "retrieve_knowledge_content",
|
|
9834
|
+
description: "Read the actual text content of knowledge base documents. Use this after search_knowledge_base to read documents by file ID, or provide tags/query to find and read documents in one step. Returns the full text content (up to the character budget) for grounding your responses in the user's curated knowledge.",
|
|
9835
|
+
parameters: {
|
|
9836
|
+
type: "object",
|
|
9837
|
+
properties: {
|
|
9838
|
+
file_id: {
|
|
9839
|
+
type: "string",
|
|
9840
|
+
description: "The file ID to retrieve (from search_knowledge_base results). Most efficient for single-document retrieval."
|
|
9841
|
+
},
|
|
9842
|
+
tags: {
|
|
9843
|
+
type: "array",
|
|
9844
|
+
items: { type: "string" },
|
|
9845
|
+
description: 'Filter documents by tags. For optimization docs, use tags like "opti:family:scheduling", "opti:solver:highs", etc.'
|
|
9846
|
+
},
|
|
9847
|
+
query: {
|
|
9848
|
+
type: "string",
|
|
9849
|
+
description: "Search query to find documents. Can be combined with tags for more targeted retrieval."
|
|
9850
|
+
},
|
|
9851
|
+
max_chars: {
|
|
9852
|
+
type: "number",
|
|
9853
|
+
description: "Maximum characters of content to return (default: 8000, max: 16000). Lower values for quick lookups, higher for detailed reading.",
|
|
9854
|
+
minimum: 500,
|
|
9855
|
+
maximum: 16e3
|
|
9856
|
+
}
|
|
9857
|
+
}
|
|
9858
|
+
}
|
|
9859
|
+
}
|
|
9860
|
+
})
|
|
9861
|
+
};
|
|
9862
|
+
|
|
9747
9863
|
// ../../b4m-core/packages/quantum/dist/src/types.js
|
|
9748
9864
|
import { z as z139 } from "zod";
|
|
9749
9865
|
var OperationSchema = z139.object({
|
|
@@ -10798,6 +10914,67 @@ Examples:
|
|
|
10798
10914
|
})
|
|
10799
10915
|
};
|
|
10800
10916
|
|
|
10917
|
+
// ../../b4m-core/packages/services/dist/src/llm/tools/implementation/navigateView/index.js
|
|
10918
|
+
var navigateViewTool = {
|
|
10919
|
+
name: "navigate_view",
|
|
10920
|
+
implementation: (context) => ({
|
|
10921
|
+
toolFn: async (value) => {
|
|
10922
|
+
const params = value;
|
|
10923
|
+
const { suggestions } = params;
|
|
10924
|
+
context.logger.log("\u{1F9ED} navigate_view: Received suggestions:", JSON.stringify(suggestions));
|
|
10925
|
+
if (!suggestions || !Array.isArray(suggestions) || suggestions.length === 0) {
|
|
10926
|
+
return "No navigation suggestions provided.";
|
|
10927
|
+
}
|
|
10928
|
+
const capped = suggestions.slice(0, 3);
|
|
10929
|
+
const invalid = capped.filter((s) => !getViewById(s.viewId));
|
|
10930
|
+
if (invalid.length > 0) {
|
|
10931
|
+
context.logger.log("\u{1F9ED} navigate_view: Unknown viewIds:", invalid.map((s) => s.viewId));
|
|
10932
|
+
}
|
|
10933
|
+
const isAdmin = context.user?.isAdmin === true;
|
|
10934
|
+
const intents = resolveNavigationIntents(capped, isAdmin);
|
|
10935
|
+
if (intents.length === 0) {
|
|
10936
|
+
return "No valid navigation views matched the provided viewIds.";
|
|
10937
|
+
}
|
|
10938
|
+
context.logger.log("\u{1F9ED} navigate_view: Resolved intents:", intents.map((i) => i.viewId));
|
|
10939
|
+
return JSON.stringify({
|
|
10940
|
+
__navigationIntents: true,
|
|
10941
|
+
intents,
|
|
10942
|
+
message: `Suggested ${intents.length} navigation option(s): ${intents.map((i) => i.label).join(", ")}`
|
|
10943
|
+
});
|
|
10944
|
+
},
|
|
10945
|
+
toolSchema: {
|
|
10946
|
+
name: "navigate_view",
|
|
10947
|
+
description: "Suggest navigation to relevant app views based on the conversation context. Returns inline action buttons the user can click to navigate. Use when the user asks about a topic that has a dedicated view, or when showing them where to go would be helpful. Do NOT use for every response \u2014 only when navigation adds value.",
|
|
10948
|
+
parameters: {
|
|
10949
|
+
type: "object",
|
|
10950
|
+
properties: {
|
|
10951
|
+
suggestions: {
|
|
10952
|
+
type: "array",
|
|
10953
|
+
description: "Navigation suggestions (1-3 items). Each suggests a view the user might want to visit.",
|
|
10954
|
+
items: {
|
|
10955
|
+
type: "object",
|
|
10956
|
+
properties: {
|
|
10957
|
+
viewId: {
|
|
10958
|
+
type: "string",
|
|
10959
|
+
description: 'The view ID from the available views list (e.g., "opti.scheduling", "admin.users")'
|
|
10960
|
+
},
|
|
10961
|
+
reason: {
|
|
10962
|
+
type: "string",
|
|
10963
|
+
description: "Brief reason why this view is relevant (max 80 chars, shown as tooltip)"
|
|
10964
|
+
}
|
|
10965
|
+
},
|
|
10966
|
+
required: ["viewId", "reason"]
|
|
10967
|
+
},
|
|
10968
|
+
maxItems: 3,
|
|
10969
|
+
minItems: 1
|
|
10970
|
+
}
|
|
10971
|
+
},
|
|
10972
|
+
required: ["suggestions"]
|
|
10973
|
+
}
|
|
10974
|
+
}
|
|
10975
|
+
})
|
|
10976
|
+
};
|
|
10977
|
+
|
|
10801
10978
|
// ../../b4m-core/packages/services/dist/src/llm/tools/implementation/bashExecute/index.js
|
|
10802
10979
|
import { spawn } from "child_process";
|
|
10803
10980
|
import path11 from "path";
|
|
@@ -11630,11 +11807,14 @@ var b4mTools = {
|
|
|
11630
11807
|
sunrise_sunset: sunriseSunsetTool,
|
|
11631
11808
|
iss_tracker: issTrackerTool,
|
|
11632
11809
|
planet_visibility: planetVisibilityTool,
|
|
11633
|
-
// Knowledge base
|
|
11810
|
+
// Knowledge base tools
|
|
11634
11811
|
search_knowledge_base: knowledgeBaseSearchTool,
|
|
11812
|
+
retrieve_knowledge_content: knowledgeBaseRetrieveTool,
|
|
11635
11813
|
// Quantum optimization tools
|
|
11636
11814
|
quantum_schedule: quantumScheduleTool,
|
|
11637
|
-
quantum_formulate: quantumFormulateTool
|
|
11815
|
+
quantum_formulate: quantumFormulateTool,
|
|
11816
|
+
// Navigation tool
|
|
11817
|
+
navigate_view: navigateViewTool
|
|
11638
11818
|
};
|
|
11639
11819
|
var cliOnlyTools = {
|
|
11640
11820
|
// File operation tools
|
|
@@ -14620,7 +14800,7 @@ import { isAxiosError as isAxiosError2 } from "axios";
|
|
|
14620
14800
|
// package.json
|
|
14621
14801
|
var package_default = {
|
|
14622
14802
|
name: "@bike4mind/cli",
|
|
14623
|
-
version: "0.2.29-feat-quantum-optimize-architecture.
|
|
14803
|
+
version: "0.2.29-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
14624
14804
|
type: "module",
|
|
14625
14805
|
description: "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
14626
14806
|
license: "UNLICENSED",
|
|
@@ -14730,10 +14910,10 @@ var package_default = {
|
|
|
14730
14910
|
},
|
|
14731
14911
|
devDependencies: {
|
|
14732
14912
|
"@bike4mind/agents": "0.1.0",
|
|
14733
|
-
"@bike4mind/common": "2.50.1-feat-quantum-optimize-architecture.
|
|
14734
|
-
"@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.
|
|
14735
|
-
"@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.
|
|
14736
|
-
"@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.
|
|
14913
|
+
"@bike4mind/common": "2.50.1-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
14914
|
+
"@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
14915
|
+
"@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
14916
|
+
"@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
14737
14917
|
"@types/better-sqlite3": "^7.6.13",
|
|
14738
14918
|
"@types/diff": "^5.0.9",
|
|
14739
14919
|
"@types/jsonwebtoken": "^9.0.4",
|
|
@@ -14750,7 +14930,7 @@ var package_default = {
|
|
|
14750
14930
|
optionalDependencies: {
|
|
14751
14931
|
"@vscode/ripgrep": "^1.17.0"
|
|
14752
14932
|
},
|
|
14753
|
-
gitHead: "
|
|
14933
|
+
gitHead: "b55c38ee4eeb208483b2c6dec5a6a78cdf2cda37"
|
|
14754
14934
|
};
|
|
14755
14935
|
|
|
14756
14936
|
// src/config/constants.ts
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
findMostSimilarMemento,
|
|
4
4
|
getRelevantMementos
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-TAEL5CAS.js";
|
|
6
|
+
import "./chunk-LNXAJTXS.js";
|
|
7
|
+
import "./chunk-KWFQVBM5.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
findMostSimilarMemento,
|
|
@@ -134,8 +134,8 @@ import {
|
|
|
134
134
|
validateMermaidSyntax,
|
|
135
135
|
warmUpSettingsCache,
|
|
136
136
|
withRetry
|
|
137
|
-
} from "./chunk-
|
|
138
|
-
import "./chunk-
|
|
137
|
+
} from "./chunk-LNXAJTXS.js";
|
|
138
|
+
import "./chunk-KWFQVBM5.js";
|
|
139
139
|
import {
|
|
140
140
|
Logger,
|
|
141
141
|
NotificationDeduplicator,
|
|
@@ -236,6 +236,7 @@ import {
|
|
|
236
236
|
VALID_USER_TAGS,
|
|
237
237
|
VIDEO_MODELS,
|
|
238
238
|
VIDEO_SIZE_CONSTRAINTS,
|
|
239
|
+
VIEW_REGISTRY,
|
|
239
240
|
VideoGenerationUsageTransaction,
|
|
240
241
|
VideoModels,
|
|
241
242
|
VisibilitySchema,
|
|
@@ -290,9 +291,12 @@ import {
|
|
|
290
291
|
getAtlassianConfig,
|
|
291
292
|
getErrorMessage,
|
|
292
293
|
getFileTypeEmoji,
|
|
294
|
+
getFilteredViews,
|
|
293
295
|
getMcpProviderMetadata,
|
|
294
296
|
getPredefinedTags,
|
|
295
297
|
getTextModelCost,
|
|
298
|
+
getViewById,
|
|
299
|
+
getViewSummaryForLLM,
|
|
296
300
|
getVisibilityLevel,
|
|
297
301
|
getWebsiteUrl,
|
|
298
302
|
groupShareSchema,
|
|
@@ -312,6 +316,7 @@ import {
|
|
|
312
316
|
mergeArtifactMetadata,
|
|
313
317
|
parallelLimit,
|
|
314
318
|
passwordSchema,
|
|
319
|
+
resolveNavigationIntents,
|
|
315
320
|
safeParseQuest,
|
|
316
321
|
safeParseQuestMasterArtifactV2,
|
|
317
322
|
searchSchema,
|
|
@@ -340,7 +345,7 @@ import {
|
|
|
340
345
|
validateReactArtifactV2,
|
|
341
346
|
validateSvgArtifactV2,
|
|
342
347
|
wikiMarkupToAdf
|
|
343
|
-
} from "./chunk-
|
|
348
|
+
} from "./chunk-KWFQVBM5.js";
|
|
344
349
|
export {
|
|
345
350
|
ALL_IMAGE_MODELS,
|
|
346
351
|
ALL_IMAGE_SIZES,
|
|
@@ -579,6 +584,7 @@ export {
|
|
|
579
584
|
VALID_USER_TAGS,
|
|
580
585
|
VIDEO_MODELS,
|
|
581
586
|
VIDEO_SIZE_CONSTRAINTS,
|
|
587
|
+
VIEW_REGISTRY,
|
|
582
588
|
VideoGenerationUsageTransaction,
|
|
583
589
|
VideoModels,
|
|
584
590
|
VisibilitySchema,
|
|
@@ -634,9 +640,12 @@ export {
|
|
|
634
640
|
getAtlassianConfig,
|
|
635
641
|
getErrorMessage,
|
|
636
642
|
getFileTypeEmoji,
|
|
643
|
+
getFilteredViews,
|
|
637
644
|
getMcpProviderMetadata,
|
|
638
645
|
getPredefinedTags,
|
|
639
646
|
getTextModelCost,
|
|
647
|
+
getViewById,
|
|
648
|
+
getViewSummaryForLLM,
|
|
640
649
|
getVisibilityLevel,
|
|
641
650
|
getWebsiteUrl,
|
|
642
651
|
groupShareSchema,
|
|
@@ -656,6 +665,7 @@ export {
|
|
|
656
665
|
mergeArtifactMetadata,
|
|
657
666
|
parallelLimit,
|
|
658
667
|
passwordSchema,
|
|
668
|
+
resolveNavigationIntents,
|
|
659
669
|
safeParseQuest,
|
|
660
670
|
safeParseQuestMasterArtifactV2,
|
|
661
671
|
searchSchema,
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
SubtractCreditsSchema,
|
|
4
4
|
subtractCredits
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-SZ243CHW.js";
|
|
6
|
+
import "./chunk-LNXAJTXS.js";
|
|
7
|
+
import "./chunk-KWFQVBM5.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
SubtractCreditsSchema,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bike4mind/cli",
|
|
3
|
-
"version": "0.2.29-feat-quantum-optimize-architecture.
|
|
3
|
+
"version": "0.2.29-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -110,10 +110,10 @@
|
|
|
110
110
|
},
|
|
111
111
|
"devDependencies": {
|
|
112
112
|
"@bike4mind/agents": "0.1.0",
|
|
113
|
-
"@bike4mind/common": "2.50.1-feat-quantum-optimize-architecture.
|
|
114
|
-
"@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.
|
|
115
|
-
"@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.
|
|
116
|
-
"@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.
|
|
113
|
+
"@bike4mind/common": "2.50.1-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
114
|
+
"@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
115
|
+
"@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
116
|
+
"@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.18870+b55c38ee4",
|
|
117
117
|
"@types/better-sqlite3": "^7.6.13",
|
|
118
118
|
"@types/diff": "^5.0.9",
|
|
119
119
|
"@types/jsonwebtoken": "^9.0.4",
|
|
@@ -130,5 +130,5 @@
|
|
|
130
130
|
"optionalDependencies": {
|
|
131
131
|
"@vscode/ripgrep": "^1.17.0"
|
|
132
132
|
},
|
|
133
|
-
"gitHead": "
|
|
133
|
+
"gitHead": "b55c38ee4eeb208483b2c6dec5a6a78cdf2cda37"
|
|
134
134
|
}
|