@superblocksteam/vite-plugin-file-sync 2.0.157-next.5 → 2.0.157

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 (177) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -9
  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 +6 -34
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts +1 -2
  6. package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +1 -1
  7. package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +9 -52
  8. package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -1
  9. package/dist/ai-service/agent/tool-permission-delivery.d.ts +16 -25
  10. package/dist/ai-service/agent/tool-permission-delivery.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tool-permission-delivery.js +38 -384
  12. package/dist/ai-service/agent/tool-permission-delivery.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +35 -9
  14. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
  15. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +98 -71
  16. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
  17. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  18. package/dist/ai-service/agent/tools/apis/test-api.js +2 -3
  19. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  20. package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts +1 -1
  21. package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts.map +1 -1
  22. package/dist/ai-service/agent/tools/app-environment/update-app-environment.js +1 -13
  23. package/dist/ai-service/agent/tools/app-environment/update-app-environment.js.map +1 -1
  24. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  25. package/dist/ai-service/agent/tools/build-capture-screenshot.js +3 -8
  26. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  27. package/dist/ai-service/agent/tools/build-navigate-preview.d.ts.map +1 -1
  28. package/dist/ai-service/agent/tools/build-navigate-preview.js +2 -4
  29. package/dist/ai-service/agent/tools/build-navigate-preview.js.map +1 -1
  30. package/dist/ai-service/agent/tools/build-reload-file.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tools/build-reload-file.js +2 -4
  32. package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
  33. package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
  34. package/dist/ai-service/agent/tools/integrations/delete-integration.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/integrations/delete-integration.js +3 -6
  36. package/dist/ai-service/agent/tools/integrations/delete-integration.js.map +1 -1
  37. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +13 -13
  38. package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts +6 -18
  39. package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/integrations/integration-setup.js +15 -41
  41. package/dist/ai-service/agent/tools/integrations/integration-setup.js.map +1 -1
  42. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools/integrations/internal.js +2 -4
  44. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
  45. package/dist/ai-service/agent/tools/report-security-findings.d.ts +23 -23
  46. package/dist/ai-service/agent/tools.d.ts +2 -4
  47. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  48. package/dist/ai-service/agent/tools.js +14 -21
  49. package/dist/ai-service/agent/tools.js.map +1 -1
  50. package/dist/ai-service/agent/tools2/tools/git.d.ts +2 -2
  51. package/dist/ai-service/index.d.ts +25 -26
  52. package/dist/ai-service/index.d.ts.map +1 -1
  53. package/dist/ai-service/index.js +121 -340
  54. package/dist/ai-service/index.js.map +1 -1
  55. package/dist/ai-service/integrations/store.d.ts +1 -2
  56. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  57. package/dist/ai-service/integrations/store.js +2 -3
  58. package/dist/ai-service/integrations/store.js.map +1 -1
  59. package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
  60. package/dist/ai-service/judge/tools/submit-feedback.d.ts +1 -1
  61. package/dist/ai-service/llm/client.d.ts +3 -9
  62. package/dist/ai-service/llm/client.d.ts.map +1 -1
  63. package/dist/ai-service/llm/client.js +3 -10
  64. package/dist/ai-service/llm/client.js.map +1 -1
  65. package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
  66. package/dist/ai-service/llm/context-v2/context-metrics.js +0 -3
  67. package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
  68. package/dist/ai-service/llm/stream/observers/llmobs.d.ts +6 -6
  69. package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
  70. package/dist/ai-service/llm/stream/observers/llmobs.js +9 -10
  71. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  72. package/dist/ai-service/llm/stream/orchestrator.d.ts +0 -4
  73. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  74. package/dist/ai-service/llm/stream/orchestrator.js +41 -19
  75. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  76. package/dist/ai-service/llm/stream/retry-engine.d.ts +1 -1
  77. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  78. package/dist/ai-service/llm/stream/retry-engine.js +1 -26
  79. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  80. package/dist/ai-service/policy-agent-metrics.d.ts +0 -10
  81. package/dist/ai-service/policy-agent-metrics.d.ts.map +1 -1
  82. package/dist/ai-service/policy-agent-metrics.js +0 -33
  83. package/dist/ai-service/policy-agent-metrics.js.map +1 -1
  84. package/dist/ai-service/state-machine/clark-fsm.d.ts +1 -29
  85. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  86. package/dist/ai-service/state-machine/clark-fsm.js +1 -3
  87. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  88. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  89. package/dist/ai-service/state-machine/handlers/agent-planning.js +6 -7
  90. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  91. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  92. package/dist/ai-service/state-machine/handlers/llm-generating.js +5 -18
  93. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  94. package/dist/ai-service/state-machine/helpers/fetch-with-reconnect-retry.d.ts.map +1 -1
  95. package/dist/ai-service/state-machine/helpers/fetch-with-reconnect-retry.js +6 -8
  96. package/dist/ai-service/state-machine/helpers/fetch-with-reconnect-retry.js.map +1 -1
  97. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts +14 -0
  98. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts.map +1 -1
  99. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js +36 -0
  100. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js.map +1 -1
  101. package/dist/ai-service/state-machine/helpers/pre-session-metrics.d.ts +0 -2
  102. package/dist/ai-service/state-machine/helpers/pre-session-metrics.d.ts.map +1 -1
  103. package/dist/ai-service/state-machine/helpers/pre-session-metrics.js +0 -3
  104. package/dist/ai-service/state-machine/helpers/pre-session-metrics.js.map +1 -1
  105. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +0 -1
  106. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -1
  107. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +27 -60
  108. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
  109. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +1 -12
  110. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
  111. package/dist/ai-service/state-machine/helpers/stable-peer.js +9 -42
  112. package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
  113. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  114. package/dist/ai-service/state-machine/mocks.js +0 -6
  115. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  116. package/dist/ai-service/util/rpc-timeout.d.ts +5 -12
  117. package/dist/ai-service/util/rpc-timeout.d.ts.map +1 -1
  118. package/dist/ai-service/util/rpc-timeout.js +5 -12
  119. package/dist/ai-service/util/rpc-timeout.js.map +1 -1
  120. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  121. package/dist/file-sync-vite-plugin.js +21 -8
  122. package/dist/file-sync-vite-plugin.js.map +1 -1
  123. package/dist/lock-service/activity-tracker.d.ts +5 -0
  124. package/dist/lock-service/activity-tracker.d.ts.map +1 -1
  125. package/dist/lock-service/activity-tracker.js +13 -0
  126. package/dist/lock-service/activity-tracker.js.map +1 -1
  127. package/dist/lock-service/index.d.ts +27 -308
  128. package/dist/lock-service/index.d.ts.map +1 -1
  129. package/dist/lock-service/index.js +156 -680
  130. package/dist/lock-service/index.js.map +1 -1
  131. package/dist/policy-gate-callback-mapper.d.ts +2 -3
  132. package/dist/policy-gate-callback-mapper.d.ts.map +1 -1
  133. package/dist/policy-gate-callback-mapper.js.map +1 -1
  134. package/dist/policy-gate-runner.d.ts +2 -4
  135. package/dist/policy-gate-runner.d.ts.map +1 -1
  136. package/dist/policy-gate-runner.js +8 -31
  137. package/dist/policy-gate-runner.js.map +1 -1
  138. package/dist/socket-manager.d.ts +6 -47
  139. package/dist/socket-manager.d.ts.map +1 -1
  140. package/dist/socket-manager.js +66 -283
  141. package/dist/socket-manager.js.map +1 -1
  142. package/dist/sync-service/index.d.ts.map +1 -1
  143. package/dist/sync-service/index.js +3 -3
  144. package/dist/sync-service/index.js.map +1 -1
  145. package/package.json +8 -8
  146. package/dist/ai-service/agent/tool-permission-delivery-metrics.d.ts +0 -3
  147. package/dist/ai-service/agent/tool-permission-delivery-metrics.d.ts.map +0 -1
  148. package/dist/ai-service/agent/tool-permission-delivery-metrics.js +0 -23
  149. package/dist/ai-service/agent/tool-permission-delivery-metrics.js.map +0 -1
  150. package/dist/ai-service/llm/stream/observers/step-token-usage.d.ts +0 -15
  151. package/dist/ai-service/llm/stream/observers/step-token-usage.d.ts.map +0 -1
  152. package/dist/ai-service/llm/stream/observers/step-token-usage.js +0 -88
  153. package/dist/ai-service/llm/stream/observers/step-token-usage.js.map +0 -1
  154. package/dist/ai-service/llm/stream/terminal-reason.d.ts +0 -6
  155. package/dist/ai-service/llm/stream/terminal-reason.d.ts.map +0 -1
  156. package/dist/ai-service/llm/stream/terminal-reason.js +0 -73
  157. package/dist/ai-service/llm/stream/terminal-reason.js.map +0 -1
  158. package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.d.ts +0 -28
  159. package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.d.ts.map +0 -1
  160. package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.js +0 -254
  161. package/dist/ai-service/state-machine/helpers/prompt-degradation-metrics.js.map +0 -1
  162. package/dist/ai-service/util/call-peer.d.ts +0 -11
  163. package/dist/ai-service/util/call-peer.d.ts.map +0 -1
  164. package/dist/ai-service/util/call-peer.js +0 -47
  165. package/dist/ai-service/util/call-peer.js.map +0 -1
  166. package/dist/ai-service/util/peer-liveness.d.ts +0 -23
  167. package/dist/ai-service/util/peer-liveness.d.ts.map +0 -1
  168. package/dist/ai-service/util/peer-liveness.js +0 -42
  169. package/dist/ai-service/util/peer-liveness.js.map +0 -1
  170. package/dist/scan-scope-merge.d.ts +0 -16
  171. package/dist/scan-scope-merge.d.ts.map +0 -1
  172. package/dist/scan-scope-merge.js +0 -90
  173. package/dist/scan-scope-merge.js.map +0 -1
  174. package/dist/test-setup.d.ts +0 -2
  175. package/dist/test-setup.d.ts.map +0 -1
  176. package/dist/test-setup.js +0 -21
  177. package/dist/test-setup.js.map +0 -1
@@ -35,16 +35,9 @@ 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 interface SystemPromptOptions {
39
- gitConnected?: boolean;
38
+ export declare const buildBaseSystemPrompt: (config: AiServiceConfig, mode?: AiMode, factsSection?: string, appKnowledgeSection?: string, onDemandKnowledgeIndex?: string, registryPolicy?: RegistryPolicy, v2ToV3MigrationInProgress?: boolean, coreModel?: CoreModelName, includeAppBuilderModelGuidance?: boolean, options?: {
40
39
  variant?: SystemPromptVariant;
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;
40
+ }) => string;
48
41
  /**
49
42
  * Resolves app-editor model guidance from LaunchDarkly (`ai.prompt.app-builder.model-guidance`).
50
43
  * 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,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"}
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;IAAE,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAAE,WAmd5C,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,26 +6,8 @@ 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
- }
16
9
  export const buildBaseSystemPrompt = (config, mode, factsSection, appKnowledgeSection, onDemandKnowledgeIndex, registryPolicy, v2ToV3MigrationInProgress = false, coreModel, includeAppBuilderModelGuidance = false, options) => {
17
10
  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";
29
11
  const managedNativeDbAvailable = isManagedNativeDbAvailableForClark(config);
30
12
  const superblocksDocsGuidance = config.features.superblocksDocsMcpEnabled
31
13
  ? "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))."
@@ -33,11 +15,6 @@ export const buildBaseSystemPrompt = (config, mode, factsSection, appKnowledgeSe
33
15
  const managedNativeDbAvailabilityGuidance = managedNativeDbAvailable
34
16
  ? ""
35
17
  : "\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.`;
41
18
  let preamble = "";
42
19
  if (planGenerationVariant) {
43
20
  // Replaces the modes/tools preamble below: the plan-generation stream has
@@ -134,11 +111,8 @@ You cannot delete App Database bindings. Explain that deletion is not supported
134
111
  - The chat-attachment rule above still applies: never import a file attachment's contents by looping one-off data writes.`
135
112
  : ""}
136
113
 
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:**
114
+ ${config.features.nativeGitEnabled
115
+ ? `**Resolving Git Merge Conflicts:**
142
116
  When a pull results in merge conflicts, you will be told which files have conflicts. Follow these rules:
143
117
  - Read ALL conflicted files before resolving anything — understand the full picture of what features, components, or modules were changed on each side.
144
118
  - 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.
@@ -154,6 +128,7 @@ When a pull results in merge conflicts, you will be told which files have confli
154
128
  - If the user wants to cancel the merge, ${config.features.nativeGitRawEnabled
155
129
  ? "use `git_raw` with `['merge', '--abort']` to restore the pre-merge state."
156
130
  : "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.
157
132
  - Never leave conflict markers in resolved files.
158
133
  - 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.
159
134
  ${config.features.nativeGitRawEnabled
@@ -172,11 +147,9 @@ ${config.features.nativeGitRawEnabled
172
147
  - 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.
173
148
  `}
174
149
  `
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:
150
+ : `**Version Control:**
151
+ If the user asks about committing, deploying, publishing, or version-controlling their application, read the documentation at \`https://docs.superblocks.com/development-lifecycle/deploy/version-control\` using \`web_fetch\` and guide them based on its contents.
152
+ `}Here are some additional guidelines to follow:
180
153
 
181
154
  `;
182
155
  }
@@ -316,7 +289,6 @@ When an \`<environment_compatibility>\` block is present, treat it as the server
316
289
  - If that tool is unavailable, provide a read-only explanation and the server-supplied remediation options instead of claiming to make the change.
317
290
  `}
318
291
  ${managedNativeDbAvailabilityGuidance}
319
- ${publishingGuidance}
320
292
  <safety_guidance>
321
293
  ${safetyGuidance}
322
294
  </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":"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"}
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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"}
@@ -1,4 +1,3 @@
1
- import type { ScanScopeJson } from "@superblocksteam/shared";
2
1
  /**
3
2
  * Three-layer prompt architecture for the Security Agent.
4
3
  *
@@ -13,5 +12,5 @@ export interface SecurityAgentAppContext {
13
12
  }>;
14
13
  }
15
14
  export declare function buildSecurityAgentSkeleton(): string;
16
- export declare function composeSecurityAgentPrompt(appContext: SecurityAgentAppContext, adminPrompt?: string, scanScopeJson?: ScanScopeJson): string;
15
+ export declare function composeSecurityAgentPrompt(appContext: SecurityAgentAppContext, adminPrompt?: string): string;
17
16
  //# 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,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
+ {"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,GACnB,MAAM,CAYR"}
@@ -1,4 +1,10 @@
1
- import { findingFiles, isInDiffPriorFinding, } from "../../../scan-scope-merge.js";
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
+ */
2
8
  // Policy of the Superblocks-managed security agent, used whenever a review carries no admin prompt.
3
9
  // Admin-authored agents replace it with their own; keep this text in sync with the General Security
4
10
  // Review starting template in review_policy_agent_template.
@@ -221,65 +227,16 @@ Read these if you encounter code patterns you do not recognize and need to deter
221
227
  whether they are safe platform conventions or genuine security concerns.`);
222
228
  return sections.join("\n\n");
223
229
  }
224
- export function composeSecurityAgentPrompt(appContext, adminPrompt, scanScopeJson) {
230
+ export function composeSecurityAgentPrompt(appContext, adminPrompt) {
225
231
  const skeleton = buildSecurityAgentSkeleton();
226
232
  const context = buildSecurityAgentAppContext(appContext);
227
233
  const policy = adminPrompt?.trim() ? adminPrompt : DEFAULT_ADMIN_PROMPT;
228
- const scopeSection = buildDiffScopedReviewSection(scanScopeJson);
229
234
  return `${skeleton}
230
235
 
231
- ${context}${scopeSection}
236
+ ${context}
232
237
 
233
238
  ## Policy: What to Review
234
239
 
235
240
  ${policy}`;
236
241
  }
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
- }
285
242
  //# 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":"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"}
1
+ {"version":3,"file":"build-security-scan-prompt.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/prompts/build-security-scan-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,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;IAEpB,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;IAExE,OAAO,GAAG,QAAQ;;EAElB,OAAO;;;;EAIP,MAAM,EAAE,CAAC;AACX,CAAC"}
@@ -1,50 +1,41 @@
1
1
  /**
2
- * Delivery of the tool-permission dialog to the browser peer.
2
+ * Delivery of the tool-permission dialog to the browser peer (ENG-4820).
3
3
  *
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.
4
+ * Owns the fail-fast contract: the delivery RPC is bounded by
5
+ * PERMISSION_PROMPT_DELIVERY_TIMEOUT_MS (10s) far below the 60s
6
+ * tool-execution timeout so an unresponsive tab surfaces as a
7
+ * PermissionPromptDeliveryError the agent can relay, instead of freezing the
8
+ * generation turn for the full tool budget and masquerading as a tool
9
+ * timeout. The user's approve/deny decision is NOT awaited here; after
10
+ * successful delivery the tool ends with REQUIRES_USER_CONFIRMATION and the
11
+ * decision resumes the turn via aiRespondToToolPermission.
11
12
  */
12
13
  import type { Clark } from "../state-machine/clark-fsm.js";
13
14
  /**
14
- * The RPC payload exactly matches what the browser peer's aiRequestToolPermission
15
+ * The RPC payload exactly what the browser peer's aiRequestToolPermission
15
16
  * expects. Satisfies the RPC contract.
16
17
  */
17
18
  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;
25
19
  /**
26
20
  * Thrown when the permission dialog could not be delivered to the browser.
27
21
  * The message is written for the LLM to relay to the user verbatim. The
28
22
  * diagnosis depends on the cause: "may be unresponsive" is accurate only for
29
- * the timeout path. An immediate rejection (e.g. a socket drop) can happen
23
+ * the timeout path an immediate rejection (e.g. a socket drop) can happen
30
24
  * with a perfectly healthy tab, so it carries the underlying reason instead.
31
25
  */
32
26
  export declare class PermissionPromptDeliveryError extends Error {
33
27
  constructor(toolName: string, options?: {
34
28
  cause?: unknown;
35
- expiredAfterGrace?: boolean;
36
29
  });
37
30
  }
38
- export declare function createExpiredPermissionPromptDeliveryError(toolName: string, delivery: Extract<PendingToolPermissionDelivery, {
39
- status: "parked";
40
- }>): PermissionPromptDeliveryError;
41
31
  /**
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.
32
+ * Deliver the permission dialog to the browser peer, failing fast when the
33
+ * tab cannot acknowledge. On any delivery failure the pending permission
34
+ * request is cleared (a lingering one suppresses every future prompt in the
35
+ * session) before the error is rethrown.
44
36
  *
45
37
  * No-peer behavior is unchanged from the pre-ENG-4820 code: warn and return
46
38
  * without error; the pending request stays stored.
47
39
  */
48
- export declare function deliverToolPermissionPrompt(clark: Clark, request: ToolPermissionPromptRequest): Promise<"acked" | "no_peer" | "parked" | "superseded">;
49
- export {};
40
+ export declare function deliverToolPermissionPrompt(clark: Clark, request: ToolPermissionPromptRequest): Promise<void>;
50
41
  //# 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;;;;;;;;;;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"}
1
+ {"version":3,"file":"tool-permission-delivery.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tool-permission-delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAQ3D;;;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;;;;;;GAMG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAgB5D;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAgDf"}