@bike4mind/cli 0.2.29-feat-quantum-optimize-architecture.18869 → 0.2.29-feat-quantum-optimize-architecture.18871

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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-DYLBOIMW.js";
4
+ } from "./chunk-GH7WML2Y.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;
@@ -15,7 +15,7 @@ import {
15
15
  dayjsConfig_default,
16
16
  extractSnippetMeta,
17
17
  settingsMap
18
- } from "./chunk-DYLBOIMW.js";
18
+ } from "./chunk-GH7WML2Y.js";
19
19
  import {
20
20
  Logger
21
21
  } from "./chunk-OCYRD7D6.js";
@@ -6,12 +6,12 @@ import {
6
6
  getSettingsByNames,
7
7
  obfuscateApiKey,
8
8
  secureParameters
9
- } from "./chunk-XOFV7PRQ.js";
9
+ } from "./chunk-547RJT7E.js";
10
10
  import {
11
11
  ApiKeyType,
12
12
  MementoTier,
13
13
  isSupportedEmbeddingModel
14
- } from "./chunk-DYLBOIMW.js";
14
+ } from "./chunk-GH7WML2Y.js";
15
15
 
16
16
  // ../../b4m-core/packages/services/dist/src/apiKeyService/get.js
17
17
  import { z } from "zod";
@@ -7,11 +7,11 @@ import {
7
7
  getSettingsMap,
8
8
  getSettingsValue,
9
9
  secureParameters
10
- } from "./chunk-XOFV7PRQ.js";
10
+ } from "./chunk-547RJT7E.js";
11
11
  import {
12
12
  KnowledgeType,
13
13
  SupportedFabFileMimeTypes
14
- } from "./chunk-DYLBOIMW.js";
14
+ } from "./chunk-GH7WML2Y.js";
15
15
 
16
16
  // ../../b4m-core/packages/services/dist/src/fabFileService/create.js
17
17
  import { z } from "zod";
@@ -314,7 +314,9 @@ var b4mLLMTools = z5.enum([
314
314
  "retrieve_knowledge_content",
315
315
  // Quantum optimization tools
316
316
  "quantum_schedule",
317
- "quantum_formulate"
317
+ "quantum_formulate",
318
+ // Navigation tool
319
+ "navigate_view"
318
320
  ]);
319
321
  var B4MLLMToolsList = b4mLLMTools.options.map((tool) => tool);
320
322
  var RechartsChartTypeSchema = z5.enum([
@@ -7817,6 +7819,599 @@ function serializeSSEEvent(event) {
7817
7819
  }
7818
7820
  var SSE_DONE_SIGNAL = "data: [DONE]\n\n";
7819
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&apos;s New",
8076
+ description: "Manage What&apos;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 [
8387
+ "You have a navigate_view tool that renders inline navigation buttons in your response.",
8388
+ "ALWAYS call navigate_view when your answer relates to a topic that has a dedicated view below.",
8389
+ "For example: if the user asks about scheduling, call navigate_view with opti.scheduling.",
8390
+ "If the user asks about user management, call navigate_view with admin.users.",
8391
+ "The user sees clickable buttons \u2014 they choose whether to navigate. You are suggesting, not forcing.",
8392
+ "Call navigate_view IN ADDITION TO your normal text answer \u2014 answer the question AND suggest navigation.",
8393
+ "",
8394
+ sections
8395
+ ].join("\n");
8396
+ }
8397
+ function resolveNavigationIntents(suggestions, isAdmin) {
8398
+ return suggestions.map((s) => {
8399
+ const view = getViewById(s.viewId);
8400
+ if (!view)
8401
+ return null;
8402
+ if (view.requiresAdmin && !isAdmin)
8403
+ return null;
8404
+ return {
8405
+ viewId: view.id,
8406
+ label: view.label,
8407
+ description: view.description,
8408
+ navigationType: view.navigationType,
8409
+ target: view.target,
8410
+ reason: s.reason
8411
+ };
8412
+ }).filter((intent) => intent !== null);
8413
+ }
8414
+
7820
8415
  // ../../b4m-core/packages/common/dist/src/utils/dayjsConfig.js
7821
8416
  import dayjs from "dayjs";
7822
8417
  import timezone from "dayjs/plugin/timezone.js";
@@ -8169,5 +8764,10 @@ export {
8169
8764
  formatSSEError,
8170
8765
  serializeSSEEvent,
8171
8766
  SSE_DONE_SIGNAL,
8767
+ VIEW_REGISTRY,
8768
+ getViewById,
8769
+ getFilteredViews,
8770
+ getViewSummaryForLLM,
8771
+ resolveNavigationIntents,
8172
8772
  dayjsConfig_default
8173
8773
  };
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  BadRequestError,
4
4
  secureParameters
5
- } from "./chunk-XOFV7PRQ.js";
5
+ } from "./chunk-547RJT7E.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-DYLBOIMW.js";
15
+ } from "./chunk-GH7WML2Y.js";
16
16
 
17
17
  // ../../b4m-core/packages/services/dist/src/creditService/subtractCredits.js
18
18
  import { z } from "zod";
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  createFabFile,
4
4
  createFabFileSchema
5
- } from "./chunk-RAFO24PB.js";
6
- import "./chunk-XOFV7PRQ.js";
7
- import "./chunk-DYLBOIMW.js";
5
+ } from "./chunk-FEFLQUYE.js";
6
+ import "./chunk-547RJT7E.js";
7
+ import "./chunk-GH7WML2Y.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-EAPDBTJW.js";
8
+ } from "./chunk-EOI7PPLF.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-37LP5TEX.js";
18
- import "./chunk-RAFO24PB.js";
17
+ import "./chunk-NHJWP54K.js";
18
+ import "./chunk-FEFLQUYE.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-XOFV7PRQ.js";
30
+ } from "./chunk-547RJT7E.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
- } from "./chunk-DYLBOIMW.js";
85
+ getMcpProviderMetadata,
86
+ getViewById,
87
+ resolveNavigationIntents
88
+ } from "./chunk-GH7WML2Y.js";
87
89
  import {
88
90
  Logger
89
91
  } from "./chunk-OCYRD7D6.js";
@@ -10912,6 +10914,67 @@ Examples:
10912
10914
  })
10913
10915
  };
10914
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. Returns inline action buttons the user can click. ALWAYS use this tool when your response discusses a topic that has a matching view (e.g., scheduling \u2192 opti.scheduling, user management \u2192 admin.users). Call this tool alongside your text answer \u2014 answer the question AND suggest where to go.",
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
+
10915
10978
  // ../../b4m-core/packages/services/dist/src/llm/tools/implementation/bashExecute/index.js
10916
10979
  import { spawn } from "child_process";
10917
10980
  import path11 from "path";
@@ -11749,7 +11812,9 @@ var b4mTools = {
11749
11812
  retrieve_knowledge_content: knowledgeBaseRetrieveTool,
11750
11813
  // Quantum optimization tools
11751
11814
  quantum_schedule: quantumScheduleTool,
11752
- quantum_formulate: quantumFormulateTool
11815
+ quantum_formulate: quantumFormulateTool,
11816
+ // Navigation tool
11817
+ navigate_view: navigateViewTool
11753
11818
  };
11754
11819
  var cliOnlyTools = {
11755
11820
  // File operation tools
@@ -14735,7 +14800,7 @@ import { isAxiosError as isAxiosError2 } from "axios";
14735
14800
  // package.json
14736
14801
  var package_default = {
14737
14802
  name: "@bike4mind/cli",
14738
- version: "0.2.29-feat-quantum-optimize-architecture.18869+3e839a2c8",
14803
+ version: "0.2.29-feat-quantum-optimize-architecture.18871+3669c40b5",
14739
14804
  type: "module",
14740
14805
  description: "Interactive CLI tool for Bike4Mind with ReAct agents",
14741
14806
  license: "UNLICENSED",
@@ -14845,10 +14910,10 @@ var package_default = {
14845
14910
  },
14846
14911
  devDependencies: {
14847
14912
  "@bike4mind/agents": "0.1.0",
14848
- "@bike4mind/common": "2.50.1-feat-quantum-optimize-architecture.18869+3e839a2c8",
14849
- "@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.18869+3e839a2c8",
14850
- "@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.18869+3e839a2c8",
14851
- "@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.18869+3e839a2c8",
14913
+ "@bike4mind/common": "2.50.1-feat-quantum-optimize-architecture.18871+3669c40b5",
14914
+ "@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.18871+3669c40b5",
14915
+ "@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.18871+3669c40b5",
14916
+ "@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.18871+3669c40b5",
14852
14917
  "@types/better-sqlite3": "^7.6.13",
14853
14918
  "@types/diff": "^5.0.9",
14854
14919
  "@types/jsonwebtoken": "^9.0.4",
@@ -14865,7 +14930,7 @@ var package_default = {
14865
14930
  optionalDependencies: {
14866
14931
  "@vscode/ripgrep": "^1.17.0"
14867
14932
  },
14868
- gitHead: "3e839a2c8a21d5d1c2682e9bdb97dff3fbaaff4e"
14933
+ gitHead: "3669c40b5167f563b4c4207045320159f2316981"
14869
14934
  };
14870
14935
 
14871
14936
  // src/config/constants.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-DYLBOIMW.js";
4
+ } from "./chunk-GH7WML2Y.js";
5
5
 
6
6
  // ../../b4m-core/packages/services/dist/src/notebookCurationService/llmMarkdownGenerator.js
7
7
  var DEFAULT_OPTIONS = {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-DYLBOIMW.js";
4
+ } from "./chunk-GH7WML2Y.js";
5
5
 
6
6
  // ../../b4m-core/packages/services/dist/src/notebookCurationService/markdownGenerator.js
7
7
  var DEFAULT_OPTIONS = {
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  findMostSimilarMemento,
4
4
  getRelevantMementos
5
- } from "./chunk-EAPDBTJW.js";
6
- import "./chunk-XOFV7PRQ.js";
7
- import "./chunk-DYLBOIMW.js";
5
+ } from "./chunk-EOI7PPLF.js";
6
+ import "./chunk-547RJT7E.js";
7
+ import "./chunk-GH7WML2Y.js";
8
8
  import "./chunk-OCYRD7D6.js";
9
9
  export {
10
10
  findMostSimilarMemento,
@@ -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-DYLBOIMW.js";
348
+ } from "./chunk-GH7WML2Y.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,
@@ -134,8 +134,8 @@ import {
134
134
  validateMermaidSyntax,
135
135
  warmUpSettingsCache,
136
136
  withRetry
137
- } from "./chunk-XOFV7PRQ.js";
138
- import "./chunk-DYLBOIMW.js";
137
+ } from "./chunk-547RJT7E.js";
138
+ import "./chunk-GH7WML2Y.js";
139
139
  import {
140
140
  Logger,
141
141
  NotificationDeduplicator,
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  SubtractCreditsSchema,
4
4
  subtractCredits
5
- } from "./chunk-37LP5TEX.js";
6
- import "./chunk-XOFV7PRQ.js";
7
- import "./chunk-DYLBOIMW.js";
5
+ } from "./chunk-NHJWP54K.js";
6
+ import "./chunk-547RJT7E.js";
7
+ import "./chunk-GH7WML2Y.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.18869+3e839a2c8",
3
+ "version": "0.2.29-feat-quantum-optimize-architecture.18871+3669c40b5",
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.18869+3e839a2c8",
114
- "@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.18869+3e839a2c8",
115
- "@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.18869+3e839a2c8",
116
- "@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.18869+3e839a2c8",
113
+ "@bike4mind/common": "2.50.1-feat-quantum-optimize-architecture.18871+3669c40b5",
114
+ "@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.18871+3669c40b5",
115
+ "@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.18871+3669c40b5",
116
+ "@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.18871+3669c40b5",
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": "3e839a2c8a21d5d1c2682e9bdb97dff3fbaaff4e"
133
+ "gitHead": "3669c40b5167f563b4c4207045320159f2316981"
134
134
  }