@superblocksteam/vite-plugin-file-sync 2.0.156 → 2.0.157-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 +9 -2
- 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 +34 -6
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts +2 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +52 -9
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-permission-delivery-metrics.d.ts +3 -0
- package/dist/ai-service/agent/tool-permission-delivery-metrics.d.ts.map +1 -0
- package/dist/ai-service/agent/tool-permission-delivery-metrics.js +23 -0
- package/dist/ai-service/agent/tool-permission-delivery-metrics.js.map +1 -0
- package/dist/ai-service/agent/tool-permission-delivery.d.ts +25 -16
- package/dist/ai-service/agent/tool-permission-delivery.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-permission-delivery.js +384 -38
- package/dist/ai-service/agent/tool-permission-delivery.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +9 -35
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +71 -98
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +3 -2
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts +1 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.js +13 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +8 -3
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-navigate-preview.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-navigate-preview.js +4 -2
- package/dist/ai-service/agent/tools/build-navigate-preview.js.map +1 -1
- package/dist/ai-service/agent/tools/build-reload-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-reload-file.js +4 -2
- package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
- package/dist/ai-service/agent/tools/integrations/delete-integration.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/delete-integration.js +6 -3
- package/dist/ai-service/agent/tools/integrations/delete-integration.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +13 -13
- package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts +18 -6
- package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/integration-setup.js +41 -15
- package/dist/ai-service/agent/tools/integrations/integration-setup.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.js +4 -2
- package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +23 -23
- package/dist/ai-service/agent/tools.d.ts +4 -2
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +21 -14
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/git.d.ts +2 -2
- package/dist/ai-service/index.d.ts +26 -25
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +340 -121
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +2 -1
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +3 -2
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
- package/dist/ai-service/judge/tools/submit-feedback.d.ts +1 -1
- package/dist/ai-service/llm/client.d.ts +9 -3
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +10 -3
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js +3 -0
- package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts +6 -6
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +10 -9
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/step-token-usage.d.ts +15 -0
- package/dist/ai-service/llm/stream/observers/step-token-usage.d.ts.map +1 -0
- package/dist/ai-service/llm/stream/observers/step-token-usage.js +88 -0
- package/dist/ai-service/llm/stream/observers/step-token-usage.js.map +1 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts +4 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +19 -41
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +26 -1
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/llm/stream/terminal-reason.d.ts +6 -0
- package/dist/ai-service/llm/stream/terminal-reason.d.ts.map +1 -0
- package/dist/ai-service/llm/stream/terminal-reason.js +73 -0
- package/dist/ai-service/llm/stream/terminal-reason.js.map +1 -0
- package/dist/ai-service/policy-agent-metrics.d.ts +10 -0
- package/dist/ai-service/policy-agent-metrics.d.ts.map +1 -1
- package/dist/ai-service/policy-agent-metrics.js +33 -0
- package/dist/ai-service/policy-agent-metrics.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +29 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +3 -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 +7 -6
- 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 +18 -5
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/fetch-with-reconnect-retry.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/fetch-with-reconnect-retry.js +8 -6
- package/dist/ai-service/state-machine/helpers/fetch-with-reconnect-retry.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts +0 -14
- package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js +0 -36
- package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/pre-session-metrics.d.ts +2 -0
- package/dist/ai-service/state-machine/helpers/pre-session-metrics.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/pre-session-metrics.js +3 -0
- package/dist/ai-service/state-machine/helpers/pre-session-metrics.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.d.ts +28 -0
- package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.js +254 -0
- package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.js.map +1 -0
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +1 -0
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +60 -27
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +12 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/stable-peer.js +42 -9
- 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 +6 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/util/call-peer.d.ts +11 -0
- package/dist/ai-service/util/call-peer.d.ts.map +1 -0
- package/dist/ai-service/util/call-peer.js +47 -0
- package/dist/ai-service/util/call-peer.js.map +1 -0
- package/dist/ai-service/util/peer-liveness.d.ts +23 -0
- package/dist/ai-service/util/peer-liveness.d.ts.map +1 -0
- package/dist/ai-service/util/peer-liveness.js +42 -0
- package/dist/ai-service/util/peer-liveness.js.map +1 -0
- package/dist/ai-service/util/rpc-timeout.d.ts +12 -5
- package/dist/ai-service/util/rpc-timeout.d.ts.map +1 -1
- package/dist/ai-service/util/rpc-timeout.js +12 -5
- package/dist/ai-service/util/rpc-timeout.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +8 -21
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/lock-service/activity-tracker.d.ts +0 -5
- package/dist/lock-service/activity-tracker.d.ts.map +1 -1
- package/dist/lock-service/activity-tracker.js +0 -13
- package/dist/lock-service/activity-tracker.js.map +1 -1
- package/dist/lock-service/index.d.ts +308 -27
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +680 -156
- package/dist/lock-service/index.js.map +1 -1
- package/dist/policy-gate-callback-mapper.d.ts +3 -2
- package/dist/policy-gate-callback-mapper.d.ts.map +1 -1
- package/dist/policy-gate-callback-mapper.js.map +1 -1
- package/dist/policy-gate-runner.d.ts +4 -2
- package/dist/policy-gate-runner.d.ts.map +1 -1
- package/dist/policy-gate-runner.js +31 -8
- package/dist/policy-gate-runner.js.map +1 -1
- package/dist/scan-scope-merge.d.ts +16 -0
- package/dist/scan-scope-merge.d.ts.map +1 -0
- package/dist/scan-scope-merge.js +90 -0
- package/dist/scan-scope-merge.js.map +1 -0
- package/dist/socket-manager.d.ts +47 -6
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +283 -66
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +3 -3
- package/dist/sync-service/index.js.map +1 -1
- package/dist/test-setup.d.ts +2 -0
- package/dist/test-setup.d.ts.map +1 -0
- package/dist/test-setup.js +21 -0
- package/dist/test-setup.js.map +1 -0
- package/package.json +8 -8
|
@@ -35,9 +35,16 @@ export interface RegistryPolicy {
|
|
|
35
35
|
* clark.plan-generation-system-prompt.enabled rollout flag.
|
|
36
36
|
*/
|
|
37
37
|
export type SystemPromptVariant = "agent" | "plan-generation";
|
|
38
|
-
export
|
|
38
|
+
export interface SystemPromptOptions {
|
|
39
|
+
gitConnected?: boolean;
|
|
39
40
|
variant?: SystemPromptVariant;
|
|
40
|
-
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Native Git being enabled does not mean a repository is connected.
|
|
44
|
+
* Presence of the runtime Git service is the connection signal.
|
|
45
|
+
*/
|
|
46
|
+
export declare function gitConnectedFromRuntime(gitService: unknown): boolean;
|
|
47
|
+
export declare const buildBaseSystemPrompt: (config: AiServiceConfig, mode?: AiMode, factsSection?: string, appKnowledgeSection?: string, onDemandKnowledgeIndex?: string, registryPolicy?: RegistryPolicy, v2ToV3MigrationInProgress?: boolean, coreModel?: CoreModelName, includeAppBuilderModelGuidance?: boolean, options?: SystemPromptOptions) => string;
|
|
41
48
|
/**
|
|
42
49
|
* Resolves app-editor model guidance from LaunchDarkly (`ai.prompt.app-builder.model-guidance`).
|
|
43
50
|
* Only injected when `buildBaseSystemPrompt` is called with `includeAppBuilderModelGuidance`.
|
|
@@ -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,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
|
|
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,WA0e9B,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"}
|
|
@@ -6,8 +6,26 @@ import { buildSystemSkillExclusions } from "../../migration-prompt-gating.js";
|
|
|
6
6
|
import { generateSkillsXml } from "../../skills/index.js";
|
|
7
7
|
import { buildYamlApiSection, buildSdkApiSection, buildApiToolGuidance, } from "./api-prompts.js";
|
|
8
8
|
const logger = getPrefixedLogger("[build-base-system-prompt]");
|
|
9
|
+
/**
|
|
10
|
+
* Native Git being enabled does not mean a repository is connected.
|
|
11
|
+
* Presence of the runtime Git service is the connection signal.
|
|
12
|
+
*/
|
|
13
|
+
export function gitConnectedFromRuntime(gitService) {
|
|
14
|
+
return gitService !== undefined;
|
|
15
|
+
}
|
|
9
16
|
export const buildBaseSystemPrompt = (config, mode, factsSection, appKnowledgeSection, onDemandKnowledgeIndex, registryPolicy, v2ToV3MigrationInProgress = false, coreModel, includeAppBuilderModelGuidance = false, options) => {
|
|
10
17
|
const planGenerationVariant = options?.variant === "plan-generation";
|
|
18
|
+
// Three distinct states, not two. With native Git disabled there is no
|
|
19
|
+
// connection signal to read, so the prompt must not assert one either way;
|
|
20
|
+
// it may still say that publishing does not depend on Git, which holds for
|
|
21
|
+
// every app.
|
|
22
|
+
const gitConnectionState = !config
|
|
23
|
+
.features.nativeGitEnabled
|
|
24
|
+
? "unknown"
|
|
25
|
+
: options?.gitConnected === true
|
|
26
|
+
? "connected"
|
|
27
|
+
: "disconnected";
|
|
28
|
+
const gitConnected = gitConnectionState === "connected";
|
|
11
29
|
const managedNativeDbAvailable = isManagedNativeDbAvailableForClark(config);
|
|
12
30
|
const superblocksDocsGuidance = config.features.superblocksDocsMcpEnabled
|
|
13
31
|
? "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))."
|
|
@@ -15,6 +33,11 @@ export const buildBaseSystemPrompt = (config, mode, factsSection, appKnowledgeSe
|
|
|
15
33
|
const managedNativeDbAvailabilityGuidance = managedNativeDbAvailable
|
|
16
34
|
? ""
|
|
17
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.";
|
|
36
|
+
const publishingGuidance = gitConnected
|
|
37
|
+
? ""
|
|
38
|
+
: `\n\n**Version control and publishing:** ${gitConnectionState === "disconnected"
|
|
39
|
+
? "This application is not connected to a Git repository. Connecting to GitHub, GitLab, Bitbucket, or Azure DevOps is optional and is not required to publish."
|
|
40
|
+
: "Publishing this application does not require connecting a Git repository."} When the user wants to publish, guide them to publish from a checkpoint card or from Version history by clicking **Publish**. Do not propose connecting a Git repository as a prerequisite for publishing. Documentation describing Git workflows does not override this publishing path.`;
|
|
18
41
|
let preamble = "";
|
|
19
42
|
if (planGenerationVariant) {
|
|
20
43
|
// Replaces the modes/tools preamble below: the plan-generation stream has
|
|
@@ -111,8 +134,11 @@ You cannot delete App Database bindings. Explain that deletion is not supported
|
|
|
111
134
|
- The chat-attachment rule above still applies: never import a file attachment's contents by looping one-off data writes.`
|
|
112
135
|
: ""}
|
|
113
136
|
|
|
114
|
-
${
|
|
115
|
-
? `**
|
|
137
|
+
${gitConnected
|
|
138
|
+
? `**Git tool availability:**
|
|
139
|
+
In Plan mode **without** an approved plan you do not have access to \`git\` or \`git_raw\` (read-only tools only) — tell the user to switch to **Build** mode in the UI so you can run the git operation, and do not fall back to generic manual git CLI steps.
|
|
140
|
+
|
|
141
|
+
**Resolving Git Merge Conflicts:**
|
|
116
142
|
When a pull results in merge conflicts, you will be told which files have conflicts. Follow these rules:
|
|
117
143
|
- Read ALL conflicted files before resolving anything — understand the full picture of what features, components, or modules were changed on each side.
|
|
118
144
|
- Synthesize conflicts at the feature/module level. Group related conflicts across files by the logical change they belong to (e.g., "sidebar navigation", "auth flow refactor"). Think in terms of what was built or changed, not which lines diverged.
|
|
@@ -128,7 +154,6 @@ When a pull results in merge conflicts, you will be told which files have confli
|
|
|
128
154
|
- If the user wants to cancel the merge, ${config.features.nativeGitRawEnabled
|
|
129
155
|
? "use `git_raw` with `['merge', '--abort']` to restore the pre-merge state."
|
|
130
156
|
: "use `git_merge_abort` to restore the pre-merge state."}
|
|
131
|
-
- If the user asks to set up git, connect git, connect to GitHub, GitLab, Azure DevOps or Bitbucket, connect to a repository host, or otherwise wants to use git features: in Plan mode **without** an approved plan you do not have access to \`git\` or \`git_raw\` (read-only tools only)—tell the user to switch to **Build** mode in the UI so you can run the git tool and trigger the Git setup flow, and do not reply with generic manual git installation steps when the intended path is the in-app connection flow. When you have access to git tools (Build mode, or Plan mode with an approved plan), call ${config.features.nativeGitRawEnabled ? "`git_raw`" : "`git`"} first instead of replying with manual setup instructions. If git is not connected yet, the tool will trigger the Git setup UI automatically.
|
|
132
157
|
- Never leave conflict markers in resolved files.
|
|
133
158
|
- After any merge completes, run \`build_debug\` to verify the app still builds and runs. Only run \`build_captureScreenshot\` if the merge changed the UI and you need to confirm it looks right—screenshots are expensive, so do not run one routinely. If either reveals issues, fix them and re-run verification until the app is healthy.
|
|
134
159
|
${config.features.nativeGitRawEnabled
|
|
@@ -147,9 +172,11 @@ ${config.features.nativeGitRawEnabled
|
|
|
147
172
|
- Deployments can only be made from the main branch. To deploy, first use \`git\` with \`operation: "log_from_main"\` to get commit SHAs from main, then use \`operation: "deploy"\` with the full SHA. NEVER use a SHA from \`git log\` (which shows \`${SUPERBLOCKS_LIVE_GIT_BRANCH}\` commits) for deploy. If the commit is only on \`${SUPERBLOCKS_LIVE_GIT_BRANCH}\`, create a pull request first to merge it into main.
|
|
148
173
|
`}
|
|
149
174
|
`
|
|
150
|
-
:
|
|
151
|
-
|
|
152
|
-
|
|
175
|
+
: gitConnectionState === "disconnected"
|
|
176
|
+
? `**Optional Git setup:**
|
|
177
|
+
Only start the Git setup flow when the user explicitly asks to connect or use Git. Publishing, deploying, committing a checkpoint, or asking why changes are not live is not a request to connect Git. In Plan mode **without** an approved plan, tell the user to switch to **Build** mode in the UI so you can trigger the Git setup flow. When you have access to git tools (Build mode, or Plan mode with an approved plan), call ${config.features.nativeGitRawEnabled ? "`git_raw`" : "`git`"} first; because the repository is not connected, the tool will trigger the setup UI. Do not reply with generic manual git installation steps.
|
|
178
|
+
`
|
|
179
|
+
: ""}Here are some additional guidelines to follow:
|
|
153
180
|
|
|
154
181
|
`;
|
|
155
182
|
}
|
|
@@ -289,6 +316,7 @@ When an \`<environment_compatibility>\` block is present, treat it as the server
|
|
|
289
316
|
- If that tool is unavailable, provide a read-only explanation and the server-supplied remediation options instead of claiming to make the change.
|
|
290
317
|
`}
|
|
291
318
|
${managedNativeDbAvailabilityGuidance}
|
|
319
|
+
${publishingGuidance}
|
|
292
320
|
<safety_guidance>
|
|
293
321
|
${safetyGuidance}
|
|
294
322
|
</safety_guidance>
|
|
@@ -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":"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;iRACiR,wBAAwB,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,EAAE;;;+CAGrT,wBAAwB,CAAC,CAAC,CAAC,wNAAwN,CAAC,CAAC,CAAC,WAAW;yGACvM,wBAAwB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,2HAA2H,wBAAwB,CAAC,CAAC,CAAC,6EAA6E,CAAC,CAAC,CAAC,EAAE,IAC3Y,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,3 +1,4 @@
|
|
|
1
|
+
import type { ScanScopeJson } from "@superblocksteam/shared";
|
|
1
2
|
/**
|
|
2
3
|
* Three-layer prompt architecture for the Security Agent.
|
|
3
4
|
*
|
|
@@ -12,5 +13,5 @@ export interface SecurityAgentAppContext {
|
|
|
12
13
|
}>;
|
|
13
14
|
}
|
|
14
15
|
export declare function buildSecurityAgentSkeleton(): string;
|
|
15
|
-
export declare function composeSecurityAgentPrompt(appContext: SecurityAgentAppContext, adminPrompt?: string): string;
|
|
16
|
+
export declare function composeSecurityAgentPrompt(appContext: SecurityAgentAppContext, adminPrompt?: string, scanScopeJson?: ScanScopeJson): string;
|
|
16
17
|
//# sourceMappingURL=build-security-scan-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-security-scan-prompt.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-security-scan-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAsBD,wBAAgB,0BAA0B,IAAI,MAAM,CA2DnD;AA8JD,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,uBAAuB,EACnC,WAAW,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"build-security-scan-prompt.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-security-scan-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAO7D;;;;;;GAMG;AAEH,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAsBD,wBAAgB,0BAA0B,IAAI,MAAM,CA2DnD;AA8JD,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,uBAAuB,EACnC,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,aAAa,GAC5B,MAAM,CAaR"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Three-layer prompt architecture for the Security Agent.
|
|
3
|
-
*
|
|
4
|
-
* Layer 1: System Skeleton — agent identity, behavioral rules, output contract, safety.
|
|
5
|
-
* Layer 2: App Context — dynamic, per-app metadata to prevent false positives.
|
|
6
|
-
* Layer 3: Admin Policy Prompt — what to look for (from template or IT admin).
|
|
7
|
-
*/
|
|
1
|
+
import { findingFiles, isInDiffPriorFinding, } from "../../../scan-scope-merge.js";
|
|
8
2
|
// Policy of the Superblocks-managed security agent, used whenever a review carries no admin prompt.
|
|
9
3
|
// Admin-authored agents replace it with their own; keep this text in sync with the General Security
|
|
10
4
|
// Review starting template in review_policy_agent_template.
|
|
@@ -227,16 +221,65 @@ Read these if you encounter code patterns you do not recognize and need to deter
|
|
|
227
221
|
whether they are safe platform conventions or genuine security concerns.`);
|
|
228
222
|
return sections.join("\n\n");
|
|
229
223
|
}
|
|
230
|
-
export function composeSecurityAgentPrompt(appContext, adminPrompt) {
|
|
224
|
+
export function composeSecurityAgentPrompt(appContext, adminPrompt, scanScopeJson) {
|
|
231
225
|
const skeleton = buildSecurityAgentSkeleton();
|
|
232
226
|
const context = buildSecurityAgentAppContext(appContext);
|
|
233
227
|
const policy = adminPrompt?.trim() ? adminPrompt : DEFAULT_ADMIN_PROMPT;
|
|
228
|
+
const scopeSection = buildDiffScopedReviewSection(scanScopeJson);
|
|
234
229
|
return `${skeleton}
|
|
235
230
|
|
|
236
|
-
${context}
|
|
231
|
+
${context}${scopeSection}
|
|
237
232
|
|
|
238
233
|
## Policy: What to Review
|
|
239
234
|
|
|
240
235
|
${policy}`;
|
|
241
236
|
}
|
|
237
|
+
function buildDiffScopedReviewSection(scanScopeJson) {
|
|
238
|
+
if (!scanScopeJson) {
|
|
239
|
+
return "";
|
|
240
|
+
}
|
|
241
|
+
const inDiffPaths = new Set(scanScopeJson.changedFiles.map((file) => file.path));
|
|
242
|
+
const inDiffFindings = scanScopeJson.priorFindings.filter((finding) => isInDiffPriorFinding(finding, inDiffPaths));
|
|
243
|
+
const changedFileList = scanScopeJson.changedFiles
|
|
244
|
+
.map((file) => `- ${file.changeType} ${file.path}`)
|
|
245
|
+
.join("\n");
|
|
246
|
+
const priorFindingList = inDiffFindings.length === 0
|
|
247
|
+
? "- None"
|
|
248
|
+
: inDiffFindings
|
|
249
|
+
.map((finding) => {
|
|
250
|
+
const paths = findingFiles(finding.locations);
|
|
251
|
+
const pathSuffix = paths.length === 0 ? "" : ` (${paths.join(", ")})`;
|
|
252
|
+
return `- ${finding.severity} ${finding.category}: ${finding.title}${pathSuffix}`;
|
|
253
|
+
})
|
|
254
|
+
.join("\n");
|
|
255
|
+
const truncatedNote = scanScopeJson.diffTruncated
|
|
256
|
+
? "\nThe unified diff was truncated. Use tools for files listed by name only."
|
|
257
|
+
: "";
|
|
258
|
+
const unifiedDiffFence = markdownFence(scanScopeJson.unifiedDiff);
|
|
259
|
+
return `
|
|
260
|
+
|
|
261
|
+
## Diff-scoped review
|
|
262
|
+
|
|
263
|
+
Treat the changed files and unified diff as the priority scope. Confirm or drop prior findings that sit in those files. Integration configurations stay in scope. The rest of the tree stays reachable through tools; follow references into unchanged files when needed.
|
|
264
|
+
${truncatedNote}
|
|
265
|
+
|
|
266
|
+
### Changed files
|
|
267
|
+
|
|
268
|
+
${changedFileList}
|
|
269
|
+
|
|
270
|
+
### Prior findings in the diff
|
|
271
|
+
|
|
272
|
+
${priorFindingList}
|
|
273
|
+
|
|
274
|
+
### Unified diff
|
|
275
|
+
|
|
276
|
+
${unifiedDiffFence}`;
|
|
277
|
+
}
|
|
278
|
+
function markdownFence(content) {
|
|
279
|
+
let fence = "```";
|
|
280
|
+
while (content.includes(fence)) {
|
|
281
|
+
fence += "`";
|
|
282
|
+
}
|
|
283
|
+
return `${fence}\n${content}\n${fence}`;
|
|
284
|
+
}
|
|
242
285
|
//# sourceMappingURL=build-security-scan-prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-security-scan-prompt.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-security-scan-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-security-scan-prompt.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-security-scan-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAiBtC,oGAAoG;AACpG,oGAAoG;AACpG,4DAA4D;AAC5D,MAAM,oBAAoB,GAAG;IAC3B,8DAA8D;IAC9D,yDAAyD;IACzD,EAAE;IACF,oEAAoE;IACpE,2GAA2G;IAC3G,0EAA0E;IAC1E,6DAA6D;IAC7D,uFAAuF;IACvF,+CAA+C;IAC/C,6FAA6F;IAC7F,yDAAyD;IACzD,uEAAuE;IACvE,EAAE;IACF,4FAA4F;CAC7F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,0BAA0B;IACxC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,OAAO;;;;;;WAME,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yIAiDyH,CAAC;AAC1I,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAgC;IAEhC,MAAM,QAAQ,GAAa;QACzB;;;;;;;;;;;;;;;kBAec;KACf,CAAC;IAEF,QAAQ,CAAC,IAAI,CAAC;;;;;;;iGAOiF,CAAC,CAAC;IAEjG,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;iDAUiC,CAAC,CAAC;IAEjD,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC;aAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC;;;;EAIhB,eAAe;;iFAEgE,CAAC,CAAC;IACjF,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFA4CkE,CAAC,CAAC;IAElF,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;4FAe4E,CAAC,CAAC;IAE5F,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;gFAYgE,CAAC,CAAC;IAEhF,QAAQ,CAAC,IAAI,CAAC;;;;;;mEAMmD,CAAC,CAAC;IAEnE,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;yEAUyD,CAAC,CAAC;IAEzE,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAAmC,EACnC,WAAoB,EACpB,aAA6B;IAE7B,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACxE,MAAM,YAAY,GAAG,4BAA4B,CAAC,aAAa,CAAC,CAAC;IAEjE,OAAO,GAAG,QAAQ;;EAElB,OAAO,GAAG,YAAY;;;;EAItB,MAAM,EAAE,CAAC;AACX,CAAC;AAED,SAAS,4BAA4B,CAAC,aAA6B;IACjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;IACF,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACpE,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAC3C,CAAC;IACF,MAAM,eAAe,GAAG,aAAa,CAAC,YAAY;SAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;SAClD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,gBAAgB,GACpB,cAAc,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,cAAc;aACX,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACf,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACrD,OAAO,KAAK,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,KAAK,GAAG,UAAU,EAAE,CAAC;QACpF,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa;QAC/C,CAAC,CAAC,4EAA4E;QAC9E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,gBAAgB,GAAG,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAElE,OAAO;;;;;EAKP,aAAa;;;;EAIb,eAAe;;;;EAIf,gBAAgB;;;;EAIhB,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI,GAAG,CAAC;IACf,CAAC;IACD,OAAO,GAAG,KAAK,KAAK,OAAO,KAAK,KAAK,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-permission-delivery-metrics.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-permission-delivery-metrics.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,6BAA6B,GACrC,OAAO,GACP,oBAAoB,GACpB,SAAS,GACT,QAAQ,CAAC;AAsBb,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,6BAA6B,GACrC,IAAI,CAEN"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { metrics } from "@opentelemetry/api";
|
|
2
|
+
const METER_NAME = "superblocks.clark";
|
|
3
|
+
const DELIVERY_OUTCOME_METRIC = "tool_permission_prompt.delivery_outcome.total";
|
|
4
|
+
class ToolPermissionDeliveryMetrics {
|
|
5
|
+
cachedMeter;
|
|
6
|
+
outcomeCounter;
|
|
7
|
+
recordOutcome(outcome) {
|
|
8
|
+
const meter = metrics.getMeter(METER_NAME);
|
|
9
|
+
if (meter !== this.cachedMeter || !this.outcomeCounter) {
|
|
10
|
+
this.cachedMeter = meter;
|
|
11
|
+
this.outcomeCounter = meter.createCounter(DELIVERY_OUTCOME_METRIC, {
|
|
12
|
+
description: "Outcomes while delivering and replaying tool permission prompts.",
|
|
13
|
+
unit: "1",
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
this.outcomeCounter.add(1, { outcome });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const toolPermissionDeliveryMetrics = new ToolPermissionDeliveryMetrics();
|
|
20
|
+
export function recordToolPermissionDeliveryOutcome(outcome) {
|
|
21
|
+
toolPermissionDeliveryMetrics.recordOutcome(outcome);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=tool-permission-delivery-metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-permission-delivery-metrics.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-permission-delivery-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4B,MAAM,oBAAoB,CAAC;AAEvE,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAQhF,MAAM,6BAA6B;IACzB,WAAW,CAAoB;IAC/B,cAAc,CAAsB;IAE5C,aAAa,CAAC,OAAsC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,uBAAuB,EAAE;gBACjE,WAAW,EACT,kEAAkE;gBACpE,IAAI,EAAE,GAAG;aACV,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,6BAA6B,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAE1E,MAAM,UAAU,mCAAmC,CACjD,OAAsC;IAEtC,6BAA6B,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1,41 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Delivery of the tool-permission dialog to the browser peer
|
|
2
|
+
* Delivery of the tool-permission dialog to the browser peer.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* decision resumes the turn via aiRespondToToolPermission.
|
|
4
|
+
* Each delivery RPC is bounded by PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS (10s),
|
|
5
|
+
* and a delivery whose live-edit route is already unbound is refused before the
|
|
6
|
+
* RPC rather than waiting out that bound.
|
|
7
|
+
* A miss parks the prompt for PERMISSION_PROMPT_REPLAY_GRACE_MS (60s), during
|
|
8
|
+
* which reconnect and interval retries can restore the dialog. If none
|
|
9
|
+
* succeeds, the service turns the delivery failure into a tool result and
|
|
10
|
+
* resumes the agent. The user's approve/deny decision is not awaited here.
|
|
12
11
|
*/
|
|
13
12
|
import type { Clark } from "../state-machine/clark-fsm.js";
|
|
14
13
|
/**
|
|
15
|
-
* The RPC payload
|
|
14
|
+
* The RPC payload exactly matches what the browser peer's aiRequestToolPermission
|
|
16
15
|
* expects. Satisfies the RPC contract.
|
|
17
16
|
*/
|
|
18
17
|
export type ToolPermissionPromptRequest = Parameters<NonNullable<Clark["context"]["peer"]>["call"]["aiRequestToolPermission"]>[0];
|
|
18
|
+
type PendingToolPermissionDelivery = NonNullable<Clark["context"]["pendingToolPermissionRequest"]>["delivery"];
|
|
19
|
+
export type ToolPermissionReplayOutcome = "acked" | "parked" | "skipped" | "superseded";
|
|
20
|
+
export declare function flushPendingToolPermissionPrompt(clark: Clark, options?: {
|
|
21
|
+
replaceInFlight?: boolean;
|
|
22
|
+
source?: "reconnect" | "retry";
|
|
23
|
+
}): Promise<ToolPermissionReplayOutcome>;
|
|
24
|
+
export declare function inFlightToolPermissionReplay(clark: Clark): Promise<ToolPermissionReplayOutcome> | undefined;
|
|
19
25
|
/**
|
|
20
26
|
* Thrown when the permission dialog could not be delivered to the browser.
|
|
21
27
|
* The message is written for the LLM to relay to the user verbatim. The
|
|
22
28
|
* diagnosis depends on the cause: "may be unresponsive" is accurate only for
|
|
23
|
-
* the timeout path
|
|
29
|
+
* the timeout path. An immediate rejection (e.g. a socket drop) can happen
|
|
24
30
|
* with a perfectly healthy tab, so it carries the underlying reason instead.
|
|
25
31
|
*/
|
|
26
32
|
export declare class PermissionPromptDeliveryError extends Error {
|
|
27
33
|
constructor(toolName: string, options?: {
|
|
28
34
|
cause?: unknown;
|
|
35
|
+
expiredAfterGrace?: boolean;
|
|
29
36
|
});
|
|
30
37
|
}
|
|
38
|
+
export declare function createExpiredPermissionPromptDeliveryError(toolName: string, delivery: Extract<PendingToolPermissionDelivery, {
|
|
39
|
+
status: "parked";
|
|
40
|
+
}>): PermissionPromptDeliveryError;
|
|
31
41
|
/**
|
|
32
|
-
* Deliver the permission dialog to the browser peer
|
|
33
|
-
*
|
|
34
|
-
* request is cleared (a lingering one suppresses every future prompt in the
|
|
35
|
-
* session) before the error is rethrown.
|
|
42
|
+
* Deliver the permission dialog to the browser peer. Transient misses park the
|
|
43
|
+
* pending request for replay; non-transient failures clear it before throwing.
|
|
36
44
|
*
|
|
37
45
|
* No-peer behavior is unchanged from the pre-ENG-4820 code: warn and return
|
|
38
46
|
* without error; the pending request stays stored.
|
|
39
47
|
*/
|
|
40
|
-
export declare function deliverToolPermissionPrompt(clark: Clark, request: ToolPermissionPromptRequest): Promise<
|
|
48
|
+
export declare function deliverToolPermissionPrompt(clark: Clark, request: ToolPermissionPromptRequest): Promise<"acked" | "no_peer" | "parked" | "superseded">;
|
|
49
|
+
export {};
|
|
41
50
|
//# sourceMappingURL=tool-permission-delivery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-permission-delivery.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-permission-delivery.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tool-permission-delivery.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-permission-delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAW3D;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAClD,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CACzE,CAAC,CAAC,CAAC,CAAC;AAEL,KAAK,6BAA6B,GAAG,WAAW,CAC9C,KAAK,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,CACjD,CAAC,UAAU,CAAC,CAAC;AAcd,MAAM,MAAM,2BAA2B,GACnC,OAAO,GACP,QAAQ,GACR,SAAS,GACT,YAAY,CAAC;AA0QjB,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;CAAE,GACtE,OAAO,CAAC,2BAA2B,CAAC,CA8HtC;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,2BAA2B,CAAC,GAAG,SAAS,CAElD;AAED;;;;;;GAMG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;gBAEpD,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE;CAuB7D;AAED,wBAAgB,0CAA0C,CACxD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,CAAC,6BAA6B,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC,GACrE,6BAA6B,CAY/B;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC,CA4HxD"}
|