@superblocksteam/vite-plugin-file-sync 2.0.161 → 2.0.162-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -0
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +39 -27
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/tools/rbac/effective-permissions.d.ts +13 -0
  6. package/dist/ai-service/agent/tools/rbac/effective-permissions.d.ts.map +1 -0
  7. package/dist/ai-service/agent/tools/rbac/effective-permissions.js +49 -0
  8. package/dist/ai-service/agent/tools/rbac/effective-permissions.js.map +1 -0
  9. package/dist/ai-service/agent/tools.d.ts +5 -5
  10. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tools.js +27 -9
  12. package/dist/ai-service/agent/tools.js.map +1 -1
  13. package/dist/ai-service/agent/tools2/access-control.d.ts +5 -0
  14. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  15. package/dist/ai-service/agent/tools2/access-control.js +16 -0
  16. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  17. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -0
  18. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  19. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +6 -2
  20. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  21. package/dist/ai-service/app-skills/helpers.d.ts +1 -1
  22. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  23. package/dist/ai-service/app-skills/helpers.js +2 -1
  24. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  25. package/dist/ai-service/chat/chat-session-store.d.ts +2 -0
  26. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  27. package/dist/ai-service/chat/chat-session-store.js +2 -2
  28. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  29. package/dist/ai-service/checkpoint-screenshot.d.ts +9 -0
  30. package/dist/ai-service/checkpoint-screenshot.d.ts.map +1 -0
  31. package/dist/ai-service/checkpoint-screenshot.js +40 -0
  32. package/dist/ai-service/checkpoint-screenshot.js.map +1 -0
  33. package/dist/ai-service/index.d.ts +15 -9
  34. package/dist/ai-service/index.d.ts.map +1 -1
  35. package/dist/ai-service/index.js +141 -58
  36. package/dist/ai-service/index.js.map +1 -1
  37. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  38. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  39. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +9 -7
  40. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  41. package/dist/ai-service/state-machine/clark-fsm.d.ts +18 -9
  42. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  43. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  44. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  45. package/dist/ai-service/state-machine/handlers/agent-planning.js +68 -53
  46. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  47. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  48. package/dist/ai-service/state-machine/handlers/llm-generating.js +15 -2
  49. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  50. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  51. package/dist/ai-service/state-machine/helpers/peer.js +21 -9
  52. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  53. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +20 -6
  54. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
  55. package/dist/ai-service/state-machine/helpers/stable-peer.js +124 -30
  56. package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
  57. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  58. package/dist/ai-service/state-machine/mocks.js +1 -0
  59. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  60. package/dist/ai-service/types.d.ts +4 -0
  61. package/dist/ai-service/types.d.ts.map +1 -1
  62. package/dist/file-sync-vite-plugin.d.ts +5 -1
  63. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  64. package/dist/file-sync-vite-plugin.js +27 -11
  65. package/dist/file-sync-vite-plugin.js.map +1 -1
  66. package/dist/inject-index-vite-plugin.d.ts +15 -0
  67. package/dist/inject-index-vite-plugin.d.ts.map +1 -1
  68. package/dist/inject-index-vite-plugin.js +31 -0
  69. package/dist/inject-index-vite-plugin.js.map +1 -1
  70. package/dist/lock-service/index.d.ts +1 -0
  71. package/dist/lock-service/index.d.ts.map +1 -1
  72. package/dist/lock-service/index.js +14 -7
  73. package/dist/lock-service/index.js.map +1 -1
  74. package/dist/socket-manager.d.ts +12 -4
  75. package/dist/socket-manager.d.ts.map +1 -1
  76. package/dist/socket-manager.js +195 -39
  77. package/dist/socket-manager.js.map +1 -1
  78. package/package.json +9 -9
@@ -1,5 +1,6 @@
1
1
  import type { AiMode, CoreModelName } from "@superblocksteam/library-shared/types";
2
2
  import type { AiServiceConfig } from "../../types.js";
3
+ import { type EffectivePermissionKey } from "../tools/rbac/effective-permissions.js";
3
4
  /**
4
5
  * Pre-resolved registry-policy signal threaded into the system prompt so
5
6
  * Clark can tailor its install-failure guidance without an async
@@ -36,6 +37,7 @@ export interface RegistryPolicy {
36
37
  */
37
38
  export type SystemPromptVariant = "agent" | "plan-generation";
38
39
  export interface SystemPromptOptions {
40
+ effectivePermissions?: ReadonlySet<EffectivePermissionKey>;
39
41
  gitConnected?: boolean;
40
42
  variant?: SystemPromptVariant;
41
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-base-system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACd,MAAM,uCAAuC,CAAC;AAQ/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAStD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB,GAAG,aAAa,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,iBAAiB,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,eAAe,EACvB,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,sBAAsB,MAAM,EAC5B,yBAAyB,MAAM,EAC/B,iBAAiB,cAAc,EAC/B,mCAAiC,EACjC,YAAY,aAAa,EACzB,wCAAsC,EACtC,UAAU,mBAAmB,WA2e9B,CAAC;AA4oBF;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAC/C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,SAAS,CAAC,EAAE,aAAa,GACxB,MAAM,CAiBR"}
1
+ {"version":3,"file":"build-base-system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACd,MAAM,uCAAuC,CAAC;AAQ/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAShD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB,GAAG,aAAa,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,iBAAiB,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,eAAe,EACvB,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,sBAAsB,MAAM,EAC5B,yBAAyB,MAAM,EAC/B,iBAAiB,cAAc,EAC/B,mCAAiC,EACjC,YAAY,aAAa,EACzB,wCAAsC,EACtC,UAAU,mBAAmB,WA6f9B,CAAC;AA+oBF;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAC/C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,SAAS,CAAC,EAAE,aAAa,GACxB,MAAM,CAiBR"}
@@ -4,6 +4,7 @@ import { getErrorMeta, getPrefixedLogger } from "../../../util/logger.js";
4
4
  import { isManagedNativeDbAvailableForClark } from "../../managed-native-db-availability.js";
5
5
  import { buildSystemSkillExclusions } from "../../migration-prompt-gating.js";
6
6
  import { generateSkillsXml } from "../../skills/index.js";
7
+ import { EffectivePermission, } from "../tools/rbac/effective-permissions.js";
7
8
  import { buildYamlApiSection, buildSdkApiSection, buildApiToolGuidance, } from "./api-prompts.js";
8
9
  const logger = getPrefixedLogger("[build-base-system-prompt]");
9
10
  /**
@@ -26,13 +27,19 @@ export const buildBaseSystemPrompt = (config, mode, factsSection, appKnowledgeSe
26
27
  ? "connected"
27
28
  : "disconnected";
28
29
  const gitConnected = gitConnectionState === "connected";
29
- const managedNativeDbAvailable = isManagedNativeDbAvailableForClark(config);
30
+ const managedNativeDbProductAvailable = isManagedNativeDbAvailableForClark(config);
31
+ const canManageAppDatabaseLifecycle = options?.effectivePermissions === undefined ||
32
+ (options.effectivePermissions.has(EffectivePermission.APPLICATIONS_UPDATE) &&
33
+ options.effectivePermissions.has(EffectivePermission.APP_DATABASES_USE));
34
+ const managedNativeDbAvailable = managedNativeDbProductAvailable && canManageAppDatabaseLifecycle;
30
35
  const superblocksDocsGuidance = config.features.superblocksDocsMcpEnabled
31
36
  ? "For Superblocks product documentation, use the `search_superblocks_docs` tool first for setup, integration, and platform behavior questions. If the docs MCP result is missing or incomplete, then use `web_fetch` against `https://docs.superblocks.com` and, if needed, discover pages via `https://docs.superblocks.com/sitemap.xml`.\nWhen referring to Superblocks pages in your response, always include relative links: [Integrations](/integrations) for the integrations page, or [Integration Name](/integrations/{slug}) for a specific integration (e.g., [Salesforce](/integrations/salesforce), [PostgreSQL](/integrations/postgres))."
32
37
  : "For Superblocks product documentation, prefer `https://docs.superblocks.com` as the primary source. If you need to discover the right page first, use the sitemap at `https://docs.superblocks.com/sitemap.xml`, then fetch the specific docs page you need.";
33
38
  const managedNativeDbAvailabilityGuidance = managedNativeDbAvailable
34
39
  ? ""
35
- : "\n\n**App Database availability:** App Databases (called Superblocks Database in the product documentation) are not available for this organization. Documentation describing this feature does not override this restriction. Do not propose or attempt to provision an App Database. You may still use existing database integrations or help the user configure a supported integration.";
40
+ : managedNativeDbProductAvailable
41
+ ? "\n\n**App Database availability:** The current user does not have permission to provision or migrate an App Database in this application. Do not propose or attempt either action. An administrator can grant the required application edit and App Database use permissions. You may still use existing database integrations or help the user configure a supported integration."
42
+ : "\n\n**App Database availability:** App Databases (called Superblocks Database in the product documentation) are not available for this organization. Documentation describing this feature does not override this restriction. Do not propose or attempt to provision an App Database. You may still use existing database integrations or help the user configure a supported integration.";
36
43
  const publishingGuidance = gitConnected
37
44
  ? ""
38
45
  : `\n\n**Version control and publishing:** ${gitConnectionState === "disconnected"
@@ -77,7 +84,11 @@ In 'Plan' mode, your goal is to help the user understand and interact with their
77
84
  - Prefer the integration name over raw integration IDs when talking to the user.
78
85
  - Always prefer integrations already in use in the application.
79
86
  - Search for integrations using the searchIntegrations tool if you are not sure which integrations to use.
80
- ${config.features.integrationSetupEnabled
87
+ ${managedNativeDbAvailable
88
+ ? `- When an app needs persistent storage and the storage choice is unresolved, use \`askMultiChoice\` to offer "Create a new App Database" alongside suitable existing integrations. Do not offer a new App Database if this application already has one.
89
+ - Respect the user's chosen storage, including local storage or an existing integration; do not reopen that choice or provision a database without their selection. Selecting an App Database does not bypass Plan-mode approval.
90
+ `
91
+ : ""}${config.features.integrationSetupEnabled
81
92
  ? `- When the user asks what integrations are supported or available, use \`listAvailableIntegrationTypes\` — do NOT use web search for this.
82
93
 
83
94
  **Integration Setup:**
@@ -186,6 +197,7 @@ Only start the Git setup flow when the user explicitly asks to connect or use Gi
186
197
  ? buildAppBuilderModelGuidanceBlock(config.features.appBuilderModelGuidance, coreModel)
187
198
  : "";
188
199
  const sdkApiEnabled = config.features.sdkApiEnabled ?? false;
200
+ const frontendPathPrefix = sdkApiEnabled ? "client/" : "";
189
201
  const thirdPartyImportEnabled = config.features.thirdPartyImportEnabled ?? false;
190
202
  const currentDate = new Date().toISOString().split("T")[0];
191
203
  const useSkills = config.features.useSystemSkills;
@@ -197,7 +209,7 @@ Only start the Git setup flow when the user explicitly asks to connect or use Gi
197
209
  // Use detailed guidance sections if skills are disabled OR if skills failed to load
198
210
  const detailedGuidance = skillsLoaded
199
211
  ? ""
200
- : buildDetailedGuidanceSections(sdkApiEnabled);
212
+ : buildDetailedGuidanceSections(sdkApiEnabled, frontendPathPrefix);
201
213
  // Log knowledge sections for debugging
202
214
  logger.info("Building system prompt with knowledge sections", {
203
215
  hasAlwaysInjectFacts: !!factsSection,
@@ -349,9 +361,9 @@ ALWAYS read components using tools like \`grep\` and \`glob\` when you do not ha
349
361
  - Note: The tool will automatically prompt users for API and page deletions, so be confident in your deletions
350
362
 
351
363
  **Page names must DESCRIBE the page:**
352
- - A new app starts with one empty page at \`pages/Home\` wired as the \`/\` index route — build the app's landing content there and keep it named \`Home\` unless the user asks for something else
364
+ - A new app starts with one empty page at \`${frontendPathPrefix}pages/Home\` wired as the \`/\` index route — build the app's landing content there and keep it named \`Home\` unless the user asks for something else
353
365
  - In a multi-page app, every page you add beyond that one gets a descriptive PascalCase name for what it shows (e.g. \`Dashboard\`, \`Inventory\`, \`TopBuilders\`) — page names are user-visible in the editor's page switcher, so name them the way you'd label a nav item
354
- - Rename the starter page only if the app's landing route is really something other than a home page (e.g. \`Overview\`): create or copy every file under \`pages/Home/\` into the new directory and wait for each operation to complete without an error, update \`router.tsx\` and wait for it to complete without an error, then delete the old files. Never use \`build_renameFile\` for a page while the router references its old path. Keep the landing page as the \`/\` index route
366
+ - Rename the starter page only if the app's landing route is really something other than a home page (e.g. \`Overview\`): create or copy every file under \`${frontendPathPrefix}pages/Home/\` into the new directory and wait for each operation to complete without an error, update \`${frontendPathPrefix}router.tsx\` and wait for it to complete without an error, then delete the old files. Never use \`build_renameFile\` for a page while the router references its old path. Keep the landing page as the \`/\` index route
355
367
  - NEVER name a page \`Page1\` (or \`Page2\`, \`Page3\`, ...)
356
368
 
357
369
  **Seeking user input is CRITICAL:**
@@ -363,10 +375,10 @@ ALWAYS read components using tools like \`grep\` and \`glob\` when you do not ha
363
375
  - NEVER autonomously decide to pivot away from the user's stated intent
364
376
  - The user's original goal takes precedence - you are a collaborator, not an autonomous decision maker
365
377
 
366
- **App.tsx Infrastructure is PROTECTED:**
367
- - NEVER remove \`<AppProvider>\` from App.tsx - it is required infrastructure
368
- - NEVER remove \`<Outlet />\` from App.tsx - it is required for routing
369
- - When making App.tsx "minimal", keep this structure:
378
+ **${frontendPathPrefix}App.tsx Infrastructure is PROTECTED:**
379
+ - NEVER remove \`<AppProvider>\` from ${frontendPathPrefix}App.tsx - it is required infrastructure
380
+ - NEVER remove \`<Outlet />\` from ${frontendPathPrefix}App.tsx - it is required for routing
381
+ - When making ${frontendPathPrefix}App.tsx "minimal", keep this structure:
370
382
  \`\`\`tsx
371
383
  <AppProvider>
372
384
  <Outlet />
@@ -566,13 +578,13 @@ Load knowledge that matches your current task before implementing solutions.
566
578
  * Detailed guidance sections - only included when skills feature is DISABLED.
567
579
  * When skills are enabled, this content is available via skill files instead.
568
580
  */
569
- function buildDetailedGuidanceSections(sdkApiEnabled) {
581
+ function buildDetailedGuidanceSections(sdkApiEnabled, frontendPathPrefix) {
570
582
  return /*md*/ `
571
583
  <visual_excellence_first>
572
584
  **CRITICAL: Prioritize Visual Excellence from the Start**
573
585
 
574
586
  When building applications, follow this hierarchy:
575
- 1. **Design System Enhancement**: Start by enhancing index.css with app-specific colors, shadows, gradients, and utilities that match the target aesthetic
587
+ 1. **Design System Enhancement**: Start by enhancing ${frontendPathPrefix}index.css with app-specific colors, shadows, gradients, and utilities that match the target aesthetic
576
588
  2. **Professional Layout Architecture**: Use sophisticated layouts with proper spacing, responsive design, and visual hierarchy - not just basic container stacking
577
589
  3. **Rich Interactive Components**: Leverage advanced components (cards, sliders, dropdowns, toggles) with proper variants and states
578
590
  4. **Visual Polish**: Add depth through shadows, smooth transitions, skeleton loaders for loading states, hover effects, and proper typography hierarchy
@@ -721,22 +733,22 @@ function MyComponent() {
721
733
  </platform_specific_guidance>
722
734
 
723
735
  <application_architecture>
724
- ## App.tsx Layout Structure
736
+ ## ${frontendPathPrefix}App.tsx Layout Structure
725
737
 
726
738
  **For single-page applications:**
727
- - Put all content in pages/<pageName>/index.tsx
739
+ - Put all content in ${frontendPathPrefix}pages/<pageName>/index.tsx
728
740
  - Use components to compose and build the page
729
- - Keep App.tsx minimal with just <AppProvider> and <Outlet />
741
+ - Keep ${frontendPathPrefix}App.tsx minimal with just <AppProvider> and <Outlet />
730
742
 
731
743
  For multi-page applications:
732
- - Put shared navigation/layout in App.tsx (sidebars, headers, footers, etc.)
744
+ - Put shared navigation/layout in ${frontendPathPrefix}App.tsx (sidebars, headers, footers, etc.)
733
745
  - Always include the <Outlet /> component
734
746
  - Always include the <AppProvider /> component
735
747
  - Individual pages should focus on content, not layout structure
736
748
  - Use components to compose and build the pages, sharing code between pages
737
749
 
738
750
  \`\`\`tsx
739
- // ✅ CORRECT - Layout components in App.tsx for a multi-page application
751
+ // ✅ CORRECT - Layout components in ${frontendPathPrefix}App.tsx for a multi-page application
740
752
  <AppProvider>
741
753
  <div className="flex flex-row size-screen">
742
754
  {/* Sidebar - persistent across all pages */}
@@ -808,7 +820,7 @@ ${sdkApiEnabled ? "" : buildYamlApiSection()}
808
820
  You **must** use \`react-router@7\` in data mode for routing. The framework and declarative modes are **not** supported.
809
821
  Standard patterns apply: \`useNavigate()\`, \`useParams()\`, \`useSearchParams()\`.
810
822
  If you add new pages or rename page files or export names, you **must** update the router.
811
- The starter \`pages/Home\` page is bound to the \`/\` index route; keep an index route wired to whichever page is the app's landing page.
823
+ The starter \`${frontendPathPrefix}pages/Home\` page is bound to the \`/\` index route; keep an index route wired to whichever page is the app's landing page.
812
824
  </navigation>
813
825
 
814
826
  <component_usage_guidance>
@@ -835,7 +847,7 @@ When building ANY feature:
835
847
 
836
848
  **❌ WRONG - Everything in one page file (NEVER DO THIS):**
837
849
  \`\`\`tsx
838
- // pages/Products/index.tsx - BAD! Monolithic page
850
+ // ${frontendPathPrefix}pages/Products/index.tsx - BAD! Monolithic page
839
851
  const ProductsPage = () => {
840
852
  return (
841
853
  <div className="flex flex-col gap-3">
@@ -853,7 +865,7 @@ const ProductsPage = () => {
853
865
 
854
866
  **✅ CORRECT - Break into components:**
855
867
  \`\`\`tsx
856
- // components/ProductCard/index.tsx - Extract to component
868
+ // ${frontendPathPrefix}components/ProductCard/index.tsx - Extract to component
857
869
  import { Card } from "@/components/ui/card";
858
870
  import { Button } from "@/components/ui/button";
859
871
 
@@ -875,7 +887,7 @@ export default function ProductCard(props: ProductCardProps) {
875
887
  );
876
888
  }
877
889
 
878
- // pages/Products/index.tsx - Clean composition
890
+ // ${frontendPathPrefix}pages/Products/index.tsx - Clean composition
879
891
  import { useState } from "react";
880
892
  import ProductCard from "@/components/ProductCard";
881
893
 
@@ -911,7 +923,7 @@ You should create a component when (examples, not exhaustive):
911
923
  ### Example: List Component with Filtering
912
924
 
913
925
  \`\`\`tsx
914
- // components/ProductGrid/index.tsx
926
+ // ${frontendPathPrefix}components/ProductGrid/index.tsx
915
927
  import { Card } from "@/components/ui/card";
916
928
 
917
929
  type ProductGridProps = {
@@ -958,7 +970,7 @@ export default function ProductGrid(props: ProductGridProps) {
958
970
 
959
971
  Pass data from page state to component props:
960
972
  \`\`\`tsx
961
- // pages/Products/index.tsx
973
+ // ${frontendPathPrefix}pages/Products/index.tsx
962
974
  import { useState } from "react";
963
975
  import {
964
976
  Select,
@@ -1012,7 +1024,7 @@ const ProductsPage = () => {
1012
1024
  <design_system_guidance>
1013
1025
  ## Tailwind CSS v4 Design System
1014
1026
 
1015
- **All design tokens are defined in \`index.css\`**. Apps come with a professional black-and-white theme by default.
1027
+ **All design tokens are defined in \`${frontendPathPrefix}index.css\`**. Apps come with a professional black-and-white theme by default.
1016
1028
 
1017
1029
  ### Semantic Tokens Rule
1018
1030
  **ALWAYS use semantic tokens** (\`bg-background\`, \`text-foreground\`, \`border-border\`, \`shadow-card\`) — NEVER raw Tailwind utilities (\`bg-white\`, \`text-black\`, \`shadow-lg\`).
@@ -1021,7 +1033,7 @@ const ProductsPage = () => {
1021
1033
  ❌ WRONG: \`<Card className="bg-white text-black border-gray-200" />\`
1022
1034
 
1023
1035
  ### When to Modify index.css
1024
- Only modify \`index.css\` when:
1036
+ Only modify \`${frontendPathPrefix}index.css\` when:
1025
1037
  - User explicitly requests branding/theme changes
1026
1038
  - Replicating a specific brand look (e.g., Yelp, Instacart)
1027
1039
  - Feature requests (lists, filters, CRUD) do NOT require changes
@@ -1048,11 +1060,11 @@ Create reusable component variants instead of one-off styles:
1048
1060
  Variants use semantic tokens and are defined in component files using \`cva()\`.
1049
1061
 
1050
1062
  ## Component System
1051
- All base UI components in the \`components/ui\` directory are Shadcn/Radix UI components and adhere to the Shadcn design system.
1063
+ All base UI components in the \`${frontendPathPrefix}components/ui\` directory are Shadcn/Radix UI components and adhere to the Shadcn design system.
1052
1064
 
1053
1065
  You should always attempt to use an existing component before creating a new one.
1054
1066
 
1055
- **REQUIRED:** Grep for an existing component in the \`components/ui\` directory and read it's source code if you believe you already have a component that resolves the user's request. If there is not, you can create your own component in the \`components\` directory.
1067
+ **REQUIRED:** Grep for an existing component in the \`${frontendPathPrefix}components/ui\` directory and read it's source code if you believe you already have a component that resolves the user's request. If there is not, you can create your own component in the \`${frontendPathPrefix}components\` directory.
1056
1068
  </design_system_guidance>
1057
1069
  `;
1058
1070
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-base-system-prompt.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,GAAG,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;AA4C/D;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAmB;IACzD,OAAO,UAAU,KAAK,SAAS,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAAuB,EACvB,IAAa,EACb,YAAqB,EACrB,mBAA4B,EAC5B,sBAA+B,EAC/B,cAA+B,EAC/B,yBAAyB,GAAG,KAAK,EACjC,SAAyB,EACzB,8BAA8B,GAAG,KAAK,EACtC,OAA6B,EAC7B,EAAE;IACF,MAAM,qBAAqB,GAAG,OAAO,EAAE,OAAO,KAAK,iBAAiB,CAAC;IACrE,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,aAAa;IACb,MAAM,kBAAkB,GAA6C,CAAC,MAAM;SACzE,QAAQ,CAAC,gBAAgB;QAC1B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI;YAC9B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,cAAc,CAAC;IACrB,MAAM,YAAY,GAAG,kBAAkB,KAAK,WAAW,CAAC;IACxD,MAAM,wBAAwB,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,uBAAuB,GAAG,MAAM,CAAC,QAAQ,CAAC,yBAAyB;QACvE,CAAC,CAAC,snBAAsnB;QACxnB,CAAC,CAAC,8PAA8P,CAAC;IACnQ,MAAM,mCAAmC,GAAG,wBAAwB;QAClE,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,6XAA6X,CAAC;IAClY,MAAM,kBAAkB,GAAG,YAAY;QACrC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,2CACE,kBAAkB,KAAK,cAAc;YACnC,CAAC,CAAC,6JAA6J;YAC/J,CAAC,CAAC,2EACN,4RAA4R,CAAC;IAEjS,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,qBAAqB,EAAE,CAAC;QAC1B,0EAA0E;QAC1E,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,uEAAuE;QACvE,aAAa;QACb,QAAQ,GAAG;;;;;;;;;;CAUd,CAAC;IACA,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,QAAQ,GAAG;;;;;;;;;;sHAUuG,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC,yHAAyH,CAAC,CAAC,CAAC,EAAE,oDAAoD,wBAAwB,CAAC,CAAC,CAAC,iLAAiL,CAAC,CAAC,CAAC,EAAE,wIAAwI,wBAAwB,CAAC,CAAC,CAAC,qGAAqG,CAAC,CAAC,CAAC,EAAE;;;;;;;;EASrzB,MAAM,CAAC,QAAQ,CAAC,uBAAuB;YACrC,CAAC,CAAC;;;;;;;;;;;qLAW+K;YACjL,CAAC,CAAC,EACN;;;;;;;;;;EAWE,wBAAwB;YACtB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBL;YACG,CAAC,CAAC,EACN;oSACoS,wBAAwB,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,EAAE;;;+CAGxU,wBAAwB,CAAC,CAAC,CAAC,wNAAwN,CAAC,CAAC,CAAC,WAAW;yGACvM,wBAAwB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE;8LACqB,wBAAwB,CAAC,CAAC,CAAC,gLAAgL,CAAC,CAAC,CAAC,EAAE,GACxY,wBAAwB;YACtB,CAAC,CAAC;0HACgH;YAClH,CAAC,CAAC,EACN;;EAGF,YAAY;YACV,CAAC,CAAC;;;;;;;;;;sCAWE,MAAM,CAAC,QAAQ,CAAC,mBAAmB;gBACjC,CAAC,CAAC,oEAAoE;gBACtE,CAAC,CAAC,6BACN;uEAEE,MAAM,CAAC,QAAQ,CAAC,mBAAmB;gBACjC,CAAC,CAAC,uGAAuG;gBACzG,CAAC,CAAC,kFACN;2CAEE,MAAM,CAAC,QAAQ,CAAC,mBAAmB;gBACjC,CAAC,CAAC,2EAA2E;gBAC7E,CAAC,CAAC,uDACN;;;EAIJ,MAAM,CAAC,QAAQ,CAAC,mBAAmB;gBACjC,CAAC,CAAC;;;yFAGmF,2BAA2B;qEAC/C,2BAA2B;iJACiD,2BAA2B;;;wGAGpE,2BAA2B;;CAElI;gBACG,CAAC,CAAC;0PACoP,2BAA2B,sDAAsD,2BAA2B;CAEtW;CACC;YACG,CAAC,CAAC,kBAAkB,KAAK,cAAc;gBACrC,CAAC,CAAC;waAEE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OACtD;CACP;gBACK,CAAC,CAAC,EACR;;CAEC,CAAC;IACA,CAAC;IAED,MAAM,cAAc,GAClB,MAAM,CAAC,QAAQ,CAAC,oBAAoB,IAAI,uBAAuB,CAAC;IAClE,MAAM,aAAa,GAAG,8BAA8B;QAClD,CAAC,CAAC,iCAAiC,CAC/B,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EACvC,SAAS,CACV;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,KAAK,CAAC;IAC7D,MAAM,uBAAuB,GAC3B,MAAM,CAAC,QAAQ,CAAC,uBAAuB,IAAI,KAAK,CAAC;IAEnD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;IAElD,8EAA8E;IAC9E,MAAM,cAAc,GAAG,SAAS;QAC9B,CAAC,CAAC,yBAAyB,CACvB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,CAC1B;QACH,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,YAAY,GAAG,cAAc,KAAK,IAAI,CAAC;IAE7C,oFAAoF;IACpF,MAAM,gBAAgB,GAAG,YAAY;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAEjD,uCAAuC;IACvC,MAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE;QAC5D,oBAAoB,EAAE,CAAC,CAAC,YAAY;QACpC,uBAAuB,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;QAClD,oBAAoB,EAAE,CAAC,CAAC,sBAAsB;QAC9C,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,IAAI,CAAC;KAC7D,CAAC,CAAC;IAEH,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,gCAAgC,GAAG,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,8BAA8B,GAAG,sBAAsB,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,CACL,QAAQ;QACR,MAAM,CAAC;;WAEA,WAAW;;;;;;;;;;;;EAYpB,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,CAAC;EAEtD,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;;;CAKN;EAEE,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B;gBAC9C,CAAC,CAAC;;;;;;;;;;;;;;;;6JAiBE,uBAAuB;oBACrB,CAAC,CAAC;sUACwT;oBAC1T,CAAC,CAAC,EACN;gIACwH;gBAC1H,CAAC,CAAC;;2FAGR;;EAGE,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,mSACN;EACE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC;EACnD,CAAC,qBAAqB,IAAI,sBAAsB,CAAC,CAAC,CAAC,8BAA8B,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE;;EAG9G,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;EAwBJ,uBAAuB;;;;EAIvB,4BAA4B,CAC5B,cAAc,EACd,MAAM,CAAC,QAAQ,CAAC,yBAAyB,KAAK,IAAI,CACnD,EACD;EAEE,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;;;;;;;;;;;;;CAeN;EACE,mCAAmC;EACnC,kBAAkB;;EAElB,cAAc;;EAEd,aAAa;;;;;;;;;;EAWb,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;CAGN;;;;;;0EAOK,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;yFAEN;;;;;;;;;;;;6DAaE,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;6FAEN;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BD,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;oDAoBE,wBAAwB;gBACtB,CAAC,CAAC;6NACiN;gBACnN,CAAC,CAAC,EACN;;;;;;;;CASN;;;;EAIE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;EAC7C,CAAC,qBAAqB,IAAI,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;EAEhG,qBAAqB;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;;;;EAKJ,oBAAoB,CAAC,aAAa,CAAC;;CAGrC,EAAE,CACC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC;;;;;;;;;;;GAWG;AACH,SAAS,mBAAmB,CAC1B,YAAqB,EACrB,mBAA4B;IAE5B,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACxC,MAAM,eAAe,GAAG,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAEtD,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,YAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,mBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAE7C,IAAI,KAAK,CAAC,MAAM,GAAG,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CACT,kCAAkC,KAAK,CAAC,MAAM,OAAO,uBAAuB,aAAa,CAC1F,CAAC;QACF,MAAM,iBAAiB,GACrB,kGAAkG;YAClG,iGAAiG;YACjG,0GAA0G,CAAC;QAC7G,KAAK;YACH,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,GAAG,iBAAiB,CAAC,MAAM,CAAC;gBAClE,iBAAiB,CAAC;IACtB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAChC,aAAsB,EACtB,uBAAgC,EAChC,yBAAkC;IAElC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,0BAA0B,CAAC;YAC/C,aAAa;YACb,uBAAuB;YACvB,yBAAyB;SAC1B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,CACjC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CACzD,CAAC;QAEF,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CACT,oEAAoE,CACrE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAEjD,MAAM,gBAAgB,GAAG,aAAa;YACpC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,CAAC;;;;;;;;;CASd,CAAC;QAEE,OAAO,MAAM,CAAC;;;;;;;EAOhB,SAAS;;;EAGT,gBAAgB;;;;;;;;;;;;;;;;CAgBjB,CAAC;IACA,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,0EAA0E,EAC1E,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,8BAA8B,CAAC,cAAsB;IAC5D,OAAO,MAAM,CAAC;;;;;;;;;EASd,cAAc;;;;;;;;CAQf,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,6BAA6B,CAAC,aAAsB;IAC3D,OAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2Od,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4P3C,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iCAAiC,CAC/C,eAAmD,EACnD,SAAyB;IAEzB,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;EACP,QAAQ,CAAC,IAAI,EAAE;;;CAGhB,CAAC;AACF,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO;;;;;;gWAMuV,CAAC;AACjW,CAAC;AAED,SAAS,4BAA4B,CACnC,cAA0C,EAC1C,yBAAkC;IAElC,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,yBAAyB,GAAG,yBAAyB;QACzD,CAAC,CAAC,8BAA8B,EAAE;QAClC,CAAC,CAAC,EAAE,CAAC;IAEP,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,sCAAsC;IACtC,IAAI,cAAc,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC5C,OAAO,8VAA8V,yBAAyB;;CAEjY,CAAC;IACA,CAAC;IAED,IAAI,cAAc,CAAC,wBAAwB,EAAE,CAAC;QAC5C,yEAAyE;QACzE,sEAAsE;QACtE,qCAAqC;QACrC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,GAAG,CACzD,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CACxB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,kcAAkc,uBAAuB,uHAAuH,yBAAyB;;CAEnnB,CAAC;IACA,CAAC;IAED,OAAO,yMAAyM,yBAAyB;;CAE1O,CAAC;AACF,CAAC;AAED,MAAM,uBAAuB,GAAG,MAAM,CAAC;;;;;;;;CAQtC,CAAC"}
1
+ {"version":3,"file":"build-base-system-prompt.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-base-system-prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare const EffectivePermission: {
2
+ readonly APP_DATABASES_USE: "app_databases:use";
3
+ readonly APPLICATIONS_UPDATE: "apps:update";
4
+ readonly APPLICATIONS_MANAGE_ENVIRONMENTS: "apps:manage_environments";
5
+ };
6
+ export type EffectivePermissionKey = (typeof EffectivePermission)[keyof typeof EffectivePermission];
7
+ export type EffectivePermissionsDeps = {
8
+ applicationId: string;
9
+ getJwt: () => string | undefined;
10
+ superblocksBaseUrl: string;
11
+ };
12
+ export declare function loadEffectivePermissions(deps: EffectivePermissionsDeps): Promise<ReadonlySet<EffectivePermissionKey>>;
13
+ //# sourceMappingURL=effective-permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-permissions.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/rbac/effective-permissions.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAIjE,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AA0BF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAiC9C"}
@@ -0,0 +1,49 @@
1
+ import { ActionTypeEnum, ResourceTypeEnum } from "@superblocksteam/shared";
2
+ const REQUEST_TIMEOUT_MS = 15_000;
3
+ export const EffectivePermission = {
4
+ APP_DATABASES_USE: `${ResourceTypeEnum.APP_DATABASES}:${ActionTypeEnum.USE}`,
5
+ APPLICATIONS_UPDATE: `${ResourceTypeEnum.APPLICATIONS}:${ActionTypeEnum.UPDATE}`,
6
+ APPLICATIONS_MANAGE_ENVIRONMENTS: `${ResourceTypeEnum.APPLICATIONS}:${ActionTypeEnum.MANAGE_ENVIRONMENTS}`,
7
+ };
8
+ const knownPermissions = new Set(Object.values(EffectivePermission));
9
+ function parseEffectivePermissions(value) {
10
+ const data = value && typeof value === "object" && "data" in value
11
+ ? value.data
12
+ : undefined;
13
+ const permissions = data && typeof data === "object" && "permissions" in data
14
+ ? data.permissions
15
+ : undefined;
16
+ if (!Array.isArray(permissions) ||
17
+ permissions.length > knownPermissions.size ||
18
+ !permissions.every((permission) => typeof permission === "string" && knownPermissions.has(permission))) {
19
+ throw new Error("Invalid effective-permissions response");
20
+ }
21
+ return new Set(permissions);
22
+ }
23
+ export async function loadEffectivePermissions(deps) {
24
+ const jwt = deps.getJwt();
25
+ if (!jwt) {
26
+ throw new Error("Authentication token unavailable");
27
+ }
28
+ const timeoutController = new AbortController();
29
+ const timeout = setTimeout(() => timeoutController.abort(), REQUEST_TIMEOUT_MS);
30
+ try {
31
+ const response = await fetch(`${deps.superblocksBaseUrl.replace(/\/$/, "")}/api/v2/permissions/effective`, {
32
+ method: "POST",
33
+ headers: {
34
+ Authorization: `Bearer ${jwt}`,
35
+ "Content-Type": "application/json",
36
+ },
37
+ body: JSON.stringify({ applicationId: deps.applicationId }),
38
+ signal: timeoutController.signal,
39
+ });
40
+ if (!response.ok) {
41
+ throw new Error(`Effective permissions request failed (${response.status})`);
42
+ }
43
+ return parseEffectivePermissions(await response.json());
44
+ }
45
+ finally {
46
+ clearTimeout(timeout);
47
+ }
48
+ }
49
+ //# sourceMappingURL=effective-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-permissions.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/rbac/effective-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,aAAa,IAAI,cAAc,CAAC,GAAG,EAAE;IAC5E,mBAAmB,EAAE,GAAG,gBAAgB,CAAC,YAAY,IAAI,cAAc,CAAC,MAAM,EAAE;IAChF,gCAAgC,EAAE,GAAG,gBAAgB,CAAC,YAAY,IAAI,cAAc,CAAC,mBAAmB,EAAE;CAClG,CAAC;AAKX,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAQ7E,SAAS,yBAAyB,CAChC,KAAc;IAEd,MAAM,IAAI,GACR,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;QACnD,CAAC,CAAE,KAA2B,CAAC,IAAI;QACnC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,WAAW,GACf,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,aAAa,IAAI,IAAI;QACvD,CAAC,CAAE,IAAiC,CAAC,WAAW;QAChD,CAAC,CAAC,SAAS,CAAC;IAChB,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC3B,WAAW,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI;QAC1C,CAAC,WAAW,CAAC,KAAK,CAChB,CAAC,UAAU,EAAwC,EAAE,CACnD,OAAO,UAAU,KAAK,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CACrE,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,eAAe,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,UAAU,CACxB,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAC/B,kBAAkB,CACnB,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,EAC5E;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,GAAG,EAAE;gBAC9B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3D,MAAM,EAAE,iBAAiB,CAAC,MAAM;SACjC,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,yCAAyC,QAAQ,CAAC,MAAM,GAAG,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,yBAAyB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -3,6 +3,7 @@ import { type ManagedNativeDbAvailabilityInput } from "../managed-native-db-avai
3
3
  import type { Clark } from "../state-machine/clark-fsm.js";
4
4
  import type { ClarkStateHandlerParams } from "../state-machine/clark-fsm.js";
5
5
  import { type UpdateAppEnvironmentDeps } from "./tools/app-environment/update-app-environment.js";
6
+ import { type EffectivePermissionKey } from "./tools/rbac/effective-permissions.js";
6
7
  import { ToolRegistry, type SummaryStoreCallback } from "./tools2/registry.js";
7
8
  import { type Tool } from "./tools2/types.js";
8
9
  /**
@@ -52,12 +53,11 @@ export declare const playwrightMcpOutputConfig: {
52
53
  */
53
54
  export declare function isBackgroundTaskFrameworkEnabled(config: ManagedNativeDbAvailabilityInput): boolean;
54
55
  /**
55
- * Registers the Environment mutation tool. Fails closed: the LaunchDarkly
56
- * rollout flag and Environment permission must both be true. An unknown
57
- * permission (read failed) or missing flag is treated as "not allowed".
56
+ * Registers the Environment mutation tool behind its product rollout flag.
57
+ * Server RBAC visibility is enforced by the shared effective-permissions rule.
58
58
  */
59
- export declare function registerAppEnvironmentTool(registry: ToolRegistry, canManageEnvironments: boolean | undefined, deps: UpdateAppEnvironmentDeps, mutationEnabled: boolean | undefined): void;
60
- export declare const buildTools: (clark: Clark, services: ClarkStateHandlerParams, canManageEnvironments?: boolean) => Promise<Record<string, Tool<any, any>>>;
59
+ export declare function registerAppEnvironmentTool(registry: ToolRegistry, deps: UpdateAppEnvironmentDeps, mutationEnabled: boolean | undefined): void;
60
+ export declare const buildTools: (clark: Clark, services: ClarkStateHandlerParams, effectivePermissions: ReadonlySet<EffectivePermissionKey>) => Promise<Record<string, Tool<any, any>>>;
61
61
  export type SecurityScanToolsDeps = Pick<ClarkStateHandlerParams, "appShell" | "features" | "integrationStore" | "llmClient" | "llmProvider"> & {
62
62
  storeSummary: SummaryStoreCallback;
63
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAuBlD,OAAO,EAGL,KAAK,gCAAgC,EACtC,MAAM,sCAAsC,CAAC;AAQ9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAiB7E,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,mDAAmD,CAAC;AAiE3D,OAAO,EACL,YAAY,EAEZ,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAoB9B,OAAO,EAIL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AAmD3B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB;iCAEtB,MAAM,MACjB,QAAQ,OAAO,KAAG,OAAO;+BAGd,MAAM,MACjB,YAAY;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;;;kBA5CzB,YAAY;kBAAQ,MAAM;uBAAa,MAAM;;;;;;CAkDvD,CAAC;AAoDF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,YAAY,EACtB,qBAAqB,EAAE,OAAO,GAAG,SAAS,EAC1C,IAAI,EAAE,wBAAwB,EAC9B,eAAe,EAAE,OAAO,GAAG,SAAS,GACnC,IAAI,CAIN;AAED,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAU,uBAAuB,EACjC,wBAAwB,OAAO,4CA4vBhC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,uBAAuB,EACvB,UAAU,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAC3E,GAAG;IACF,YAAY,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,KAAK,EACZ,UAAU,qBAAqB,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA0C7B,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAuBlD,OAAO,EAGL,KAAK,gCAAgC,EACtC,MAAM,sCAAsC,CAAC;AAQ9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAiB7E,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,mDAAmD,CAAC;AA2D3D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,uCAAuC,CAAC;AAQ/C,OAAO,EACL,YAAY,EAEZ,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAoB9B,OAAO,EAIL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AAmD3B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB;iCAEtB,MAAM,MACjB,QAAQ,OAAO,KAAG,OAAO;+BAGd,MAAM,MACjB,YAAY;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;;;kBA5CzB,YAAY;kBAAQ,MAAM;uBAAa,MAAM;;;;;;CAkDvD,CAAC;AAoDF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,wBAAwB,EAC9B,eAAe,EAAE,OAAO,GAAG,SAAS,GACnC,IAAI,CAIN;AAED,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAU,uBAAuB,EACjC,sBAAsB,WAAW,CAAC,sBAAsB,CAAC,4CA+wB1D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,uBAAuB,EACvB,UAAU,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAC3E,GAAG;IACF,YAAY,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,KAAK,EACZ,UAAU,qBAAqB,KAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA0C7B,CAAC"}
@@ -25,7 +25,8 @@ import { updateAppEnvironmentToolFactory, } from "./tools/app-environment/update
25
25
  import { startApplyDevDatabaseMigrationsToolFactory, provisionDatabaseToolFactory, } from "./tools/databases/dev-database-tools.js";
26
26
  import { buildInstallPackagesToolFactory, buildLookupNpmPackageToolFactory, buildCopyDirectoryToolFactory, buildCopyFileToolFactory, buildWriteFileToolFactory, buildEditFileToolFactory, buildMultiEditFileToolFactory, buildReadFileToolFactory, buildListFilesToolFactory, buildDebugToolFactory, clearErrorCacheToolFactory, buildFinalizeToolFactory, buildManageChecklistToolFactory, markApiManuallyVerifiedToolFactory, buildDeleteFileToolFactory, checkDeleteFilePermissions, deleteIntegrationToolFactory, buildRenameFileToolFactory, buildReloadFileToolFactory, checkExecuteRequestPermissions, executeRequestToIntegrationToolFactory, openIntegrationSetupToolFactory, openExistingIntegrationToolFactory, updateIntegrationFieldsToolFactory, testIntegrationConnectionToolFactory, saveIntegrationToolFactory, closeIntegrationSetupToolFactory, getIntegrationFormSchemaToolFactory, listAvailableIntegrationTypesToolFactory, grepMetadataToolFactory, searchIntegrationsToolFactory, runCodeToolFactory, exitPlanModeToolFactory, askMultiChoiceToolFactory, askSearchableDropdownToolFactory, listAttachmentsToolFactory, downloadAttachmentsToolFactory, buildCaptureScreenshotToolFactory, buildNavigatePreviewToolFactory, buildGetRuntimeErrorsToolFactory, buildGetLogsToolFactory, startTestRunToolFactory, endTestRunToolFactory, updateTestCaseStatusToolFactory, getIntegrationTypesToolFactory, spawnCodingSubagentsToolFactory, reportReviewRunToolFactory, } from "./tools/index.js";
27
27
  import { checkUpdateMigrationWritePolicyPermissions, updateMigrationWritePolicyToolFactory, } from "./tools/migration/update-migration-write-policy.js";
28
- import { blockTools, forTools, presets, readOnly, } from "./tools2/access-control.js";
28
+ import { EffectivePermission, } from "./tools/rbac/effective-permissions.js";
29
+ import { blockTools, forTools, presets, readOnly, requireToolPermissions, } from "./tools2/access-control.js";
29
30
  import { ToolRegistry, summaryInjector, } from "./tools2/registry.js";
30
31
  import { createDeployService, } from "./tools2/tools/deploy-service.js";
31
32
  import { cancelTaskToolFactory, checkTaskToolFactory, globToolFactory, grepToolFactory, lsToolFactory, webSearchToolFactory, webFetchToolFactory, gitToolFactory, gitRawToolFactory, listTasksToolFactory, rememberKnowledgeToolFactory, waitForTaskToolFactory, } from "./tools2/tools/index.js";
@@ -159,16 +160,15 @@ export function isBackgroundTaskFrameworkEnabled(config) {
159
160
  return isManagedNativeDbAvailableForClark(config);
160
161
  }
161
162
  /**
162
- * Registers the Environment mutation tool. Fails closed: the LaunchDarkly
163
- * rollout flag and Environment permission must both be true. An unknown
164
- * permission (read failed) or missing flag is treated as "not allowed".
163
+ * Registers the Environment mutation tool behind its product rollout flag.
164
+ * Server RBAC visibility is enforced by the shared effective-permissions rule.
165
165
  */
166
- export function registerAppEnvironmentTool(registry, canManageEnvironments, deps, mutationEnabled) {
167
- if (mutationEnabled === true && canManageEnvironments === true) {
166
+ export function registerAppEnvironmentTool(registry, deps, mutationEnabled) {
167
+ if (mutationEnabled === true) {
168
168
  registry.register(updateAppEnvironmentToolFactory, deps);
169
169
  }
170
170
  }
171
- export const buildTools = async (clark, services, canManageEnvironments) => {
171
+ export const buildTools = async (clark, services, effectivePermissions) => {
172
172
  const scopeUpdateQueue = new OperationQueue();
173
173
  const sendUserMessage = sendUserMessageChannel(clark, services.chatSessionStore);
174
174
  const disabledTools = clark.context.llmConfig?.disabledTools;
@@ -308,6 +308,20 @@ export const buildTools = async (clark, services, canManageEnvironments) => {
308
308
  });
309
309
  // Add access control rules
310
310
  registry.addAccessRule(...presets.base());
311
+ registry.addAccessRule(requireToolPermissions(effectivePermissions, {
312
+ provisionDatabase: [
313
+ EffectivePermission.APPLICATIONS_UPDATE,
314
+ EffectivePermission.APP_DATABASES_USE,
315
+ ],
316
+ startApplyDevDatabaseMigrations: [
317
+ EffectivePermission.APPLICATIONS_UPDATE,
318
+ EffectivePermission.APP_DATABASES_USE,
319
+ ],
320
+ updateAppEnvironment: [
321
+ EffectivePermission.APPLICATIONS_UPDATE,
322
+ EffectivePermission.APPLICATIONS_MANAGE_ENVIRONMENTS,
323
+ ],
324
+ }));
311
325
  // Testing an API has possibility to prompt if we can statically detect mutations
312
326
  registry.addAccessRule(forTools("testApi", async (_tool, _context, input) => {
313
327
  return checkTestApiPermissions(services, input, clark);
@@ -432,7 +446,7 @@ export const buildTools = async (clark, services, canManageEnvironments) => {
432
446
  managedNativeDbLifecycleCapableForEdit: services.managedNativeDbLifecycleCapableForEdit === true,
433
447
  });
434
448
  }
435
- registerAppEnvironmentTool(registry, canManageEnvironments, {
449
+ registerAppEnvironmentTool(registry, {
436
450
  applicationId: services.applicationId,
437
451
  superblocksBaseUrl: services.superblocksBaseUrl,
438
452
  getJwt: () => clark.context.jwt,
@@ -465,7 +479,11 @@ export const buildTools = async (clark, services, canManageEnvironments) => {
465
479
  integrationStore: services.integrationStore,
466
480
  });
467
481
  }
468
- registry.register(exitPlanModeToolFactory, { clark, services });
482
+ registry.register(exitPlanModeToolFactory, {
483
+ clark,
484
+ effectivePermissions,
485
+ services,
486
+ });
469
487
  registry.register(askMultiChoiceToolFactory, { clark, services });
470
488
  registry.register(askSearchableDropdownToolFactory, { clark, services });
471
489
  registry.register(listAttachmentsToolFactory, { clark, services });
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"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"}