@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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-ONMTYHC2.js";
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&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 `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
  };
@@ -15,7 +15,7 @@ import {
15
15
  dayjsConfig_default,
16
16
  extractSnippetMeta,
17
17
  settingsMap
18
- } from "./chunk-ONMTYHC2.js";
18
+ } from "./chunk-KWFQVBM5.js";
19
19
  import {
20
20
  Logger
21
21
  } from "./chunk-OCYRD7D6.js";
@@ -7,11 +7,11 @@ import {
7
7
  getSettingsMap,
8
8
  getSettingsValue,
9
9
  secureParameters
10
- } from "./chunk-ZFLZILSJ.js";
10
+ } from "./chunk-LNXAJTXS.js";
11
11
  import {
12
12
  KnowledgeType,
13
13
  SupportedFabFileMimeTypes
14
- } from "./chunk-ONMTYHC2.js";
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-ZFLZILSJ.js";
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-ONMTYHC2.js";
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-ZFLZILSJ.js";
9
+ } from "./chunk-LNXAJTXS.js";
10
10
  import {
11
11
  ApiKeyType,
12
12
  MementoTier,
13
13
  isSupportedEmbeddingModel
14
- } from "./chunk-ONMTYHC2.js";
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-MXMR4O3A.js";
6
- import "./chunk-ZFLZILSJ.js";
7
- import "./chunk-ONMTYHC2.js";
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-O5LNKJED.js";
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-KE4B2ZGF.js";
18
- import "./chunk-MXMR4O3A.js";
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-ZFLZILSJ.js";
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
- } from "./chunk-ONMTYHC2.js";
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*To use these documents in your conversation, you can ask me to reference specific files by name.*";
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 search
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.18865+86fb26d20",
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.18865+86fb26d20",
14734
- "@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.18865+86fb26d20",
14735
- "@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.18865+86fb26d20",
14736
- "@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.18865+86fb26d20",
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: "86fb26d20672d55c847e46af21d02899d08329ca"
14933
+ gitHead: "b55c38ee4eeb208483b2c6dec5a6a78cdf2cda37"
14754
14934
  };
14755
14935
 
14756
14936
  // src/config/constants.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-ONMTYHC2.js";
4
+ } from "./chunk-KWFQVBM5.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-ONMTYHC2.js";
4
+ } from "./chunk-KWFQVBM5.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-O5LNKJED.js";
6
- import "./chunk-ZFLZILSJ.js";
7
- import "./chunk-ONMTYHC2.js";
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-ZFLZILSJ.js";
138
- import "./chunk-ONMTYHC2.js";
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-ONMTYHC2.js";
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-KE4B2ZGF.js";
6
- import "./chunk-ZFLZILSJ.js";
7
- import "./chunk-ONMTYHC2.js";
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.18865+86fb26d20",
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.18865+86fb26d20",
114
- "@bike4mind/mcp": "1.29.1-feat-quantum-optimize-architecture.18865+86fb26d20",
115
- "@bike4mind/services": "2.48.1-feat-quantum-optimize-architecture.18865+86fb26d20",
116
- "@bike4mind/utils": "2.5.1-feat-quantum-optimize-architecture.18865+86fb26d20",
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": "86fb26d20672d55c847e46af21d02899d08329ca"
133
+ "gitHead": "b55c38ee4eeb208483b2c6dec5a6a78cdf2cda37"
134
134
  }