@superblocksteam/vite-plugin-file-sync 2.0.161-next.0 → 2.0.162-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -0
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +39 -27
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tools/rbac/effective-permissions.d.ts +13 -0
- package/dist/ai-service/agent/tools/rbac/effective-permissions.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/rbac/effective-permissions.js +49 -0
- package/dist/ai-service/agent/tools/rbac/effective-permissions.js.map +1 -0
- package/dist/ai-service/agent/tools.d.ts +5 -5
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +27 -9
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts +5 -0
- package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.js +16 -0
- package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +6 -2
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
- package/dist/ai-service/app-skills/helpers.js +2 -1
- package/dist/ai-service/app-skills/helpers.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +2 -0
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +2 -2
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/checkpoint-screenshot.d.ts +9 -0
- package/dist/ai-service/checkpoint-screenshot.d.ts.map +1 -0
- package/dist/ai-service/checkpoint-screenshot.js +40 -0
- package/dist/ai-service/checkpoint-screenshot.js.map +1 -0
- package/dist/ai-service/index.d.ts +15 -9
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +141 -58
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +9 -7
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +18 -9
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +68 -53
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +15 -2
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.js +21 -9
- package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +20 -6
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.js +124 -30
- package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +1 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/types.d.ts +4 -0
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts +5 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +27 -11
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/inject-index-vite-plugin.d.ts +15 -0
- package/dist/inject-index-vite-plugin.d.ts.map +1 -1
- package/dist/inject-index-vite-plugin.js +31 -0
- package/dist/inject-index-vite-plugin.js.map +1 -1
- package/dist/lock-service/index.d.ts +1 -0
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +14 -7
- package/dist/lock-service/index.js.map +1 -1
- package/dist/socket-manager.d.ts +12 -4
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +195 -39
- package/dist/socket-manager.js.map +1 -1
- 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;
|
|
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
|
|
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
|
-
:
|
|
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
|
-
${
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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;
|
|
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
|
|
56
|
-
*
|
|
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,
|
|
60
|
-
export declare const buildTools: (clark: Clark, services: ClarkStateHandlerParams,
|
|
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;
|
|
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 {
|
|
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
|
|
163
|
-
*
|
|
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,
|
|
167
|
-
if (mutationEnabled === 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,
|
|
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,
|
|
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, {
|
|
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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"}
|