@superblocksteam/vite-plugin-file-sync 2.0.149 → 2.0.150-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.
Files changed (115) hide show
  1. package/dist/ai-service/agent/prompts/api-prompts.js +1 -1
  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 +38 -10
  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.map +1 -1
  6. package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +20 -4
  7. package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -1
  8. package/dist/ai-service/agent/subagents/testing/prompt-builder.js +1 -1
  9. package/dist/ai-service/agent/tools/apis/analysis.d.ts +6 -0
  10. package/dist/ai-service/agent/tools/apis/analysis.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tools/apis/analysis.js +130 -26
  12. package/dist/ai-service/agent/tools/apis/analysis.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +2 -2
  14. package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
  15. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  16. package/dist/ai-service/agent/tools/apis/test-api.js +131 -31
  17. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  18. package/dist/ai-service/agent/tools/build-delete-file.d.ts +2 -2
  19. package/dist/ai-service/agent/tools/build-delete-file.js +3 -3
  20. package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
  21. package/dist/ai-service/agent/tools/build-install-packages.d.ts +41 -21
  22. package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
  23. package/dist/ai-service/agent/tools/build-install-packages.js +299 -20
  24. package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
  25. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
  26. package/dist/ai-service/agent/tools/build-manage-checklist.js +2 -1
  27. package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
  28. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts +161 -24
  29. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts.map +1 -1
  30. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js +312 -55
  31. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js.map +1 -1
  32. package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
  33. package/dist/ai-service/agent/tools/report-security-findings.d.ts +3 -3
  34. package/dist/ai-service/agent/tools.d.ts +10 -11
  35. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  36. package/dist/ai-service/agent/tools.js +38 -19
  37. package/dist/ai-service/agent/tools.js.map +1 -1
  38. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  39. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +9 -8
  40. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  41. package/dist/ai-service/agent/tools2/tools/grep.js +1 -1
  42. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools2/tools/index.js +2 -3
  44. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
  45. package/dist/ai-service/app-interface/npm-package-lookup.d.ts +22 -0
  46. package/dist/ai-service/app-interface/npm-package-lookup.d.ts.map +1 -1
  47. package/dist/ai-service/app-interface/npm-package-lookup.js +111 -0
  48. package/dist/ai-service/app-interface/npm-package-lookup.js.map +1 -1
  49. package/dist/ai-service/app-interface/shell.d.ts +71 -3
  50. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  51. package/dist/ai-service/app-interface/shell.js +575 -23
  52. package/dist/ai-service/app-interface/shell.js.map +1 -1
  53. package/dist/ai-service/app-interface/vulnerability-gate.d.ts +83 -0
  54. package/dist/ai-service/app-interface/vulnerability-gate.d.ts.map +1 -0
  55. package/dist/ai-service/app-interface/vulnerability-gate.js +543 -0
  56. package/dist/ai-service/app-interface/vulnerability-gate.js.map +1 -0
  57. package/dist/ai-service/dev-database-client.d.ts +14 -4
  58. package/dist/ai-service/dev-database-client.d.ts.map +1 -1
  59. package/dist/ai-service/dev-database-client.js +1 -24
  60. package/dist/ai-service/dev-database-client.js.map +1 -1
  61. package/dist/ai-service/features.d.ts +5 -0
  62. package/dist/ai-service/features.d.ts.map +1 -1
  63. package/dist/ai-service/features.js +5 -0
  64. package/dist/ai-service/features.js.map +1 -1
  65. package/dist/ai-service/index.d.ts +2 -0
  66. package/dist/ai-service/index.d.ts.map +1 -1
  67. package/dist/ai-service/index.js +30 -7
  68. package/dist/ai-service/index.js.map +1 -1
  69. package/dist/ai-service/integrations/store.d.ts +3 -0
  70. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  71. package/dist/ai-service/integrations/store.js +2 -0
  72. package/dist/ai-service/integrations/store.js.map +1 -1
  73. package/dist/ai-service/managed-native-db-availability.d.ts +62 -0
  74. package/dist/ai-service/managed-native-db-availability.d.ts.map +1 -0
  75. package/dist/ai-service/managed-native-db-availability.js +37 -0
  76. package/dist/ai-service/managed-native-db-availability.js.map +1 -0
  77. package/dist/ai-service/security/vulnerability-triage.d.ts +90 -0
  78. package/dist/ai-service/security/vulnerability-triage.d.ts.map +1 -0
  79. package/dist/ai-service/security/vulnerability-triage.js +113 -0
  80. package/dist/ai-service/security/vulnerability-triage.js.map +1 -0
  81. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  82. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  83. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +13 -0
  84. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  85. package/dist/ai-service/state-machine/clark-fsm.d.ts +9 -0
  86. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  87. package/dist/ai-service/state-machine/clark-fsm.js +4 -0
  88. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  89. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  90. package/dist/ai-service/state-machine/handlers/awaiting-user.js +2 -1
  91. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  92. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +11 -0
  93. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -1
  94. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +51 -4
  95. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
  96. package/dist/ai-service/tasks/factory.d.ts +2 -0
  97. package/dist/ai-service/tasks/factory.d.ts.map +1 -1
  98. package/dist/ai-service/tasks/factory.js +7 -0
  99. package/dist/ai-service/tasks/factory.js.map +1 -1
  100. package/dist/ai-service/types.d.ts +57 -3
  101. package/dist/ai-service/types.d.ts.map +1 -1
  102. package/dist/ai-service/types.js +20 -0
  103. package/dist/ai-service/types.js.map +1 -1
  104. package/dist/migration/restructure.js +1 -1
  105. package/dist/migration-templates/app-fullstack/client/pages/{Page1 → Home}/index.tsx +1 -1
  106. package/dist/migration-templates/app-fullstack/client/router.tsx +1 -1
  107. package/dist/migration-templates/app-fullstack/package.json +2 -2
  108. package/dist/npm/apply-package-json-substitutions.d.ts +19 -0
  109. package/dist/npm/apply-package-json-substitutions.d.ts.map +1 -0
  110. package/dist/npm/apply-package-json-substitutions.js +108 -0
  111. package/dist/npm/apply-package-json-substitutions.js.map +1 -0
  112. package/dist/policy-gate-callback-mapper.d.ts +1 -1
  113. package/dist/policy-gate-callback-mapper.d.ts.map +1 -1
  114. package/dist/policy-gate-callback-mapper.js.map +1 -1
  115. package/package.json +8 -8
@@ -1,3 +1,4 @@
1
+ import type { TriageVerdict } from "@superblocksteam/shared";
1
2
  import type { Clark } from "../../state-machine/clark-fsm.js";
2
3
  import type { ClarkStateHandlerParams } from "../../state-machine/clark-fsm.js";
3
4
  import type { NpmInstallBlocked as NpmInstallBlockedType, NpmInstallBlockedMessageVariant } from "../../types.js";
@@ -7,6 +8,37 @@ interface VersionChangeInfo {
7
8
  newVersion: string;
8
9
  isDev: boolean;
9
10
  }
11
+ type InstallPackagesToolResult = {
12
+ error?: ReturnType<NpmInstallBlockedType["toJSON"]>;
13
+ message: string;
14
+ ok?: false;
15
+ output?: string;
16
+ triageVerdicts?: TriageVerdict[];
17
+ /** Bare package names from this install that appear in the triggering user message. */
18
+ userRequested?: string[];
19
+ versionChanges?: VersionChangeInfo[];
20
+ };
21
+ /**
22
+ * True when `packageName` appears as a literal token in `message`.
23
+ * Scoped names (`@scope/name`) and unscoped names are matched with npm-name
24
+ * boundaries so `react` does not match `preact` / `reactive`.
25
+ *
26
+ * The trailing boundary allows `@` (builders write `left-pad@1.3.0`) and a
27
+ * sentence-ending `.`, but not a `.` that continues the token (`left-pad.js`).
28
+ */
29
+ export declare function isPackageNamedInMessage(packageName: string, message: string): boolean;
30
+ export declare function findUserRequestedPackageNames(packages: Array<{
31
+ name: string;
32
+ }>, message: string): string[];
33
+ /**
34
+ * Names from `packages` the builder asked for by name: either matched in the
35
+ * current turn's message, or carried over from an earlier turn's CVE block.
36
+ * The carry-over matters because the builder answers "do you still want it?"
37
+ * with a bare reason ("we need it for the demo") that never repeats the name.
38
+ */
39
+ export declare function resolveUserRequestedPackageNames(packages: Array<{
40
+ name: string;
41
+ }>, message: string, pendingCveProceedPackages: string[]): string[];
10
42
  /**
11
43
  * Render a `NpmInstallBlocked` into an actionable one-paragraph message for
12
44
  * the agent, plus the discriminator that selected the message branch. The
@@ -24,6 +56,13 @@ interface VersionChangeInfo {
24
56
  * row + host is private. Appends "an org admin may need to mirror this
25
57
  * package" because that's an actionable escalation on a private
26
58
  * registry; same hint on npmjs would be misleading.
59
+ * - `malware_block` — `vulnerable_package` + malware finding. Hard-block;
60
+ * agent must pick a different package (no retry / no override).
61
+ * - `index_unavailable` — security index / dry-run probe could not vouch
62
+ * for the install. Fail-closed; retry later. Not a malware verdict.
63
+ * - `cve_block` / `cve_no_safe_version` — CVE findings listed per package
64
+ * (suggested pin vs no safe version). Variant is `cve_block` when any
65
+ * finding carries a suggested pin; otherwise `cve_no_safe_version`.
27
66
  * - `default` — every other combination, including all
28
67
  * `registry_auth_failed` failures.
29
68
  *
@@ -43,26 +82,7 @@ export declare const buildInstallPackagesToolFactory: import("../tools2/types.js
43
82
  version?: string | undefined;
44
83
  dev?: boolean | undefined;
45
84
  }[] | undefined;
46
- }, {
47
- output: string;
48
- message: string;
49
- versionChanges: VersionChangeInfo[];
50
- ok?: undefined;
51
- readonly error?: undefined;
52
- } | {
53
- output: string;
54
- message: string;
55
- versionChanges?: undefined;
56
- ok?: undefined;
57
- readonly error?: undefined;
58
- } | {
59
- ok: boolean;
60
- error: import("../../types.js").NpmInstallBlockedDetails & {
61
- type: "NpmInstallBlocked";
62
- };
63
- message: string;
64
- output?: undefined;
65
- versionChanges?: undefined;
66
- }>>;
85
+ proceedWithReason?: string | undefined;
86
+ }, InstallPackagesToolResult>>;
67
87
  export {};
68
88
  //# sourceMappingURL=build-install-packages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-install-packages.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-install-packages.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,OAAO,KAAK,EACV,iBAAiB,IAAI,qBAAqB,EAC1C,+BAA+B,EAChC,MAAM,gBAAgB,CAAC;AAQxB,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AAuDD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,GAAG;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,+BAA+B,CAAC;CAC1C,CAyGA;AA6BD,eAAO,MAAM,+BAA+B;WAMjC,KAAK;cACF,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoKpC,CAAC"}
1
+ {"version":3,"file":"build-install-packages.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-install-packages.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAQ7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,OAAO,KAAK,EACV,iBAAiB,IAAI,qBAAqB,EAE1C,+BAA+B,EAChC,MAAM,gBAAgB,CAAC;AAQxB,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,KAAK,yBAAyB,GAAG;IAC/B,KAAK,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACtC,CAAC;AAiCF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAOT;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACjC,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAWV;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,yBAAyB,EAAE,MAAM,EAAE,GAClC,MAAM,EAAE,CAOV;AAgHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,GAAG;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,+BAA+B,CAAC;CAC1C,CA2GA;AAsHD,eAAO,MAAM,+BAA+B;WAMjC,KAAK;cACF,uBAAuB;;;;;;;;8BA6SpC,CAAC"}
@@ -1,10 +1,118 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
+ import { metrics } from "@opentelemetry/api";
3
4
  import z from "zod";
4
5
  import { isProtectedCorePackage, PROTECTED_CORE_PACKAGES, } from "@superblocksteam/library-shared/types";
5
6
  import { getErrorMeta, getLogger } from "../../../util/logger.js";
7
+ import { ADVISORY_DETAILS_MAX_LENGTH, ADVISORY_SUMMARY_MAX_LENGTH, triageVulnerability, } from "../../security/vulnerability-triage.js";
6
8
  import { NpmInstallBlocked } from "../../types.js";
7
9
  import { createToolFactory, ToolCategory } from "../tools2/types.js";
10
+ const TRIAGE_APP_CONTEXT_MAX_LENGTH = 20_000;
11
+ const PROCEED_WITH_REASON_MAX_LENGTH = 500;
12
+ /**
13
+ * Bound the advisory prose on the agent-facing projection. `NpmInstallBlocked`
14
+ * deliberately keeps the full text for the audit sink and the blocked-install
15
+ * log; the agent reads `error.findings` verbatim, so a multi-KB advisory would
16
+ * otherwise crowd out its context.
17
+ */
18
+ function boundFindingsForAgent(payload) {
19
+ if (!payload.findings)
20
+ return payload;
21
+ return {
22
+ ...payload,
23
+ findings: payload.findings.map((finding) => ({
24
+ ...finding,
25
+ ...(finding.details !== undefined
26
+ ? { details: finding.details.slice(0, ADVISORY_DETAILS_MAX_LENGTH) }
27
+ : {}),
28
+ ...(finding.summary !== undefined
29
+ ? { summary: finding.summary.slice(0, ADVISORY_SUMMARY_MAX_LENGTH) }
30
+ : {}),
31
+ })),
32
+ };
33
+ }
34
+ function escapeRegExp(value) {
35
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
36
+ }
37
+ /**
38
+ * True when `packageName` appears as a literal token in `message`.
39
+ * Scoped names (`@scope/name`) and unscoped names are matched with npm-name
40
+ * boundaries so `react` does not match `preact` / `reactive`.
41
+ *
42
+ * The trailing boundary allows `@` (builders write `left-pad@1.3.0`) and a
43
+ * sentence-ending `.`, but not a `.` that continues the token (`left-pad.js`).
44
+ */
45
+ export function isPackageNamedInMessage(packageName, message) {
46
+ if (packageName.length === 0 || message.length === 0)
47
+ return false;
48
+ const pattern = new RegExp(`(^|[^\\w@/.-])${escapeRegExp(packageName)}(?![\\w/-])(?!\\.\\w)`, "i");
49
+ return pattern.test(message);
50
+ }
51
+ export function findUserRequestedPackageNames(packages, message) {
52
+ const requested = [];
53
+ for (const pkg of packages) {
54
+ if (isPackageNamedInMessage(pkg.name, message) &&
55
+ !requested.includes(pkg.name)) {
56
+ requested.push(pkg.name);
57
+ }
58
+ }
59
+ return requested;
60
+ }
61
+ /**
62
+ * Names from `packages` the builder asked for by name: either matched in the
63
+ * current turn's message, or carried over from an earlier turn's CVE block.
64
+ * The carry-over matters because the builder answers "do you still want it?"
65
+ * with a bare reason ("we need it for the demo") that never repeats the name.
66
+ */
67
+ export function resolveUserRequestedPackageNames(packages, message, pendingCveProceedPackages) {
68
+ const named = findUserRequestedPackageNames(packages, message);
69
+ const carriedOver = pendingCveProceedPackages.filter((name) => !named.includes(name) && packages.some((pkg) => pkg.name === name));
70
+ return [...named, ...carriedOver];
71
+ }
72
+ function buildTriageAppContext(services) {
73
+ const serialized = JSON.stringify({
74
+ apis: services.appContextStore.apiSemanticsByName,
75
+ components: services.appContextStore.componentSemanticsById,
76
+ });
77
+ return serialized.slice(0, TRIAGE_APP_CONTEXT_MAX_LENGTH);
78
+ }
79
+ async function triageCveFindings(args) {
80
+ const { abortSignal, findings, services } = args;
81
+ const appContext = buildTriageAppContext(services);
82
+ const { model, providerConfig } = services.llmProvider.modelForTask("fast");
83
+ const verdicts = [];
84
+ for (const finding of findings) {
85
+ try {
86
+ verdicts.push(await triageVulnerability({
87
+ abortSignal,
88
+ appContext,
89
+ finding,
90
+ generateObject: async (generationArgs) => await services.llmClient.generateObject(generationArgs),
91
+ model,
92
+ modelName: providerConfig.model,
93
+ providerConfig,
94
+ }));
95
+ }
96
+ catch (error) {
97
+ metrics
98
+ .getMeter("superblocks.clark.pkg_security")
99
+ .createCounter("superblocks.clark.pkg_security.triage_unavailable")
100
+ .add(1);
101
+ getLogger().warn("[pkg-security] CVE exploitability triage unavailable", getErrorMeta(error));
102
+ verdicts.push({
103
+ advisoryId: finding.advisoryId,
104
+ confidence: "low",
105
+ evaluatedAt: new Date().toISOString(),
106
+ model: providerConfig.model,
107
+ package: finding.package,
108
+ reasoning: "Automated exploitability triage was unavailable.",
109
+ stage: "install",
110
+ verdict: "uncertain",
111
+ });
112
+ }
113
+ }
114
+ return verdicts;
115
+ }
8
116
  async function readPackageJson(appRootDirPath) {
9
117
  try {
10
118
  const packageJsonPath = path.join(appRootDirPath, "package.json");
@@ -70,6 +178,13 @@ function isPublicNpmHost(host) {
70
178
  * row + host is private. Appends "an org admin may need to mirror this
71
179
  * package" because that's an actionable escalation on a private
72
180
  * registry; same hint on npmjs would be misleading.
181
+ * - `malware_block` — `vulnerable_package` + malware finding. Hard-block;
182
+ * agent must pick a different package (no retry / no override).
183
+ * - `index_unavailable` — security index / dry-run probe could not vouch
184
+ * for the install. Fail-closed; retry later. Not a malware verdict.
185
+ * - `cve_block` / `cve_no_safe_version` — CVE findings listed per package
186
+ * (suggested pin vs no safe version). Variant is `cve_block` when any
187
+ * finding carries a suggested pin; otherwise `cve_no_safe_version`.
73
188
  * - `default` — every other combination, including all
74
189
  * `registry_auth_failed` failures.
75
190
  *
@@ -176,8 +291,60 @@ export function buildBlockedMessage(err) {
176
291
  variant: "default",
177
292
  message: `The TLS handshake with the npm registry${host} failed (${errorCode ?? "TLS error"}). Common causes: an untrusted private CA the registry serves, a self-signed certificate, or an expired certificate. An administrator must install the registry's CA bundle (e.g. via NODE_EXTRA_CA_CERTS or the npm cafile config) or rotate the expired certificate. Alternative packages will not help — stop and report the failure to the user.`,
178
293
  };
294
+ case "vulnerable_package":
295
+ return buildVulnerablePackageMessage(err, packagesPhrase);
179
296
  }
180
297
  }
298
+ function formatFindingLine(finding) {
299
+ const pkg = `\`${sanitizeForAgentMessage(finding.package)}\``;
300
+ const advisoryId = finding.advisoryId
301
+ ? sanitizeForAgentMessage(finding.advisoryId)
302
+ : "";
303
+ const advisoryPhrase = advisoryId ? ` (advisory: ${advisoryId})` : "";
304
+ if (finding.kind === "malware") {
305
+ return `- ${pkg} — known malware${advisoryPhrase}`;
306
+ }
307
+ if (finding.kind === "index_unavailable") {
308
+ return `- ${pkg} — could not be security-checked (index/probe unavailable)`;
309
+ }
310
+ if (finding.suggestedVersion) {
311
+ const suggested = sanitizeForAgentMessage(finding.suggestedVersion);
312
+ return `- ${pkg} — known vulnerability${advisoryPhrase}. A safer version (${suggested}) exists but could not be applied in place`;
313
+ }
314
+ return `- ${pkg} — known vulnerability${advisoryPhrase} with no safe version available`;
315
+ }
316
+ function buildVulnerablePackageMessage(err, packagesPhrase) {
317
+ const findings = err.findings ?? [];
318
+ const indexUnavailableFindings = findings.filter((finding) => finding.kind === "index_unavailable");
319
+ if (indexUnavailableFindings.length > 0) {
320
+ const lines = indexUnavailableFindings.map(formatFindingLine).join("\n");
321
+ return {
322
+ variant: "index_unavailable",
323
+ message: `Security policy could not verify these packages (vulnerability index or install probe unavailable):\n${lines}\nFailing closed. Do not treat this as a malware verdict — retry the install later, or choose a different package if the check keeps failing.`,
324
+ };
325
+ }
326
+ const malwareFindings = findings.filter((finding) => finding.kind === "malware");
327
+ if (malwareFindings.length > 0) {
328
+ const lines = malwareFindings.map(formatFindingLine).join("\n");
329
+ return {
330
+ variant: "malware_block",
331
+ message: `Security policy blocked these packages:\n${lines}\nDo not install them or try to work around this block — choose a different reputable package that serves the same purpose.`,
332
+ };
333
+ }
334
+ const cveFindings = findings.filter((finding) => finding.kind === "cve");
335
+ if (cveFindings.length > 0) {
336
+ const lines = cveFindings.map(formatFindingLine).join("\n");
337
+ const hasSuggested = cveFindings.some((finding) => finding.suggestedVersion !== undefined);
338
+ return {
339
+ variant: hasSuggested ? "cve_block" : "cve_no_safe_version",
340
+ message: `Security policy blocked these packages:\n${lines}\nDo not retry the same packages — propose a different reputable package that serves the same purpose, then install it with this tool so it can be re-checked.`,
341
+ };
342
+ }
343
+ return {
344
+ variant: "cve_no_safe_version",
345
+ message: `${packagesPhrase} has a known vulnerability with no safe version available. Do not retry the same package — choose a different reputable package that serves the same purpose.`,
346
+ };
347
+ }
181
348
  function detectVersionChanges(packages, currentPackageJson) {
182
349
  if (!currentPackageJson)
183
350
  return [];
@@ -198,6 +365,18 @@ function detectVersionChanges(packages, currentPackageJson) {
198
365
  }
199
366
  return changes;
200
367
  }
368
+ function buildSuccessfulSpecificInstallResult(args) {
369
+ const { output, packages, versionChanges } = args;
370
+ const packageNames = packages.map((pkg) => pkg.name).join(", ");
371
+ let message = `Successfully installed packages: ${packageNames}`;
372
+ if (versionChanges.length > 0) {
373
+ const changeDetails = versionChanges
374
+ .map((change) => ` - ${change.name}: ${change.oldVersion} → ${change.newVersion}${change.isDev ? " (dev)" : ""}`)
375
+ .join("\n");
376
+ message += `\n\nVersion changes detected:\n${changeDetails}\n\n⚠️ WARNING: Version changes may affect existing components that depend on these packages. Consider checking for breaking changes.`;
377
+ }
378
+ return { message, output, versionChanges };
379
+ }
201
380
  export const buildInstallPackagesToolFactory = createToolFactory("build_installPackages", ({ clark, services, }) => {
202
381
  return {
203
382
  category: ToolCategory.GENERAL,
@@ -210,7 +389,41 @@ export const buildInstallPackagesToolFactory = createToolFactory("build_installP
210
389
  If no packages are specified, runs a standard install to update dependencies from package.json.
211
390
 
212
391
  This tool checks for existing package versions, warns about version changes as version upgrades may break existing components.
392
+
393
+ After a user-requested CVE block (\`userRequested\` on the tool result), ask the builder for a short reason and retry with \`proceedWithReason\` set to that reason. Never invent a proceed reason.
213
394
  `,
395
+ getActionName: (input) => input?.proceedWithReason
396
+ ? {
397
+ future: "Install blocked package with builder approval",
398
+ past: "Installed blocked package with builder approval",
399
+ present: "Installing blocked package with builder approval",
400
+ }
401
+ : {
402
+ future: "Install packages",
403
+ past: "Installed packages",
404
+ present: "Installing packages",
405
+ },
406
+ formatInput: (input) => {
407
+ const packages = input.packages;
408
+ const proceedWithReason = input.proceedWithReason;
409
+ const packageNames = (packages ?? []).map((pkg) => pkg.name);
410
+ if (!proceedWithReason) {
411
+ return {
412
+ targets: packageNames,
413
+ };
414
+ }
415
+ const triggeringMessage = services.chatSessionStore?.getLastUserMessage()?.content ?? "";
416
+ const namedByBuilder = resolveUserRequestedPackageNames(packages ?? [], triggeringMessage, clark.context.pendingCveProceedPackages ?? []);
417
+ const safeReason = sanitizeForAgentMessage(proceedWithReason.slice(0, PROCEED_WITH_REASON_MAX_LENGTH));
418
+ const namedPhrase = namedByBuilder.length > 0
419
+ ? `The builder named ${namedByBuilder.map((name) => `\`${sanitizeForAgentMessage(name)}\``).join(", ")}`
420
+ : "The builder provided a proceed reason for a security-blocked install";
421
+ return {
422
+ details: `Reason: ${safeReason}`,
423
+ summary: `Install security-blocked package(s) anyway? ${namedPhrase}.`,
424
+ targets: namedByBuilder.length > 0 ? namedByBuilder : packageNames,
425
+ };
426
+ },
214
427
  inputSchema: z.object({
215
428
  packages: z
216
429
  .array(z.object({
@@ -228,32 +441,60 @@ export const buildInstallPackagesToolFactory = createToolFactory("build_installP
228
441
  }))
229
442
  .optional()
230
443
  .describe("Packages to install. If not provided or empty, runs a standard install to update dependencies from package.json"),
444
+ proceedWithReason: z
445
+ .string()
446
+ .max(PROCEED_WITH_REASON_MAX_LENGTH)
447
+ .optional()
448
+ .describe("Builder-provided reason to proceed past a user-requested CVE block. Only set after the builder named the package and confirmed; triggers a confirmation prompt."),
231
449
  }),
232
- execute: async ({ packages }) => {
450
+ execute: async ({ packages, proceedWithReason, }) => {
451
+ let versionChanges = [];
452
+ const triggeringMessage = services.chatSessionStore?.getLastUserMessage()?.content ?? "";
453
+ const userRequested = packages && packages.length > 0
454
+ ? resolveUserRequestedPackageNames(packages, triggeringMessage, clark.context.pendingCveProceedPackages ?? [])
455
+ : [];
456
+ const trimmedProceedReason = proceedWithReason?.trim() ?? "";
457
+ const overridePackages = trimmedProceedReason.length > 0 ? userRequested : [];
458
+ const cveUserOverride = overridePackages.length > 0
459
+ ? {
460
+ packages: overridePackages,
461
+ reason: trimmedProceedReason.slice(0, PROCEED_WITH_REASON_MAX_LENGTH),
462
+ }
463
+ : undefined;
464
+ /** Spend the one-shot proceed approval once the install actually
465
+ * lands. Spending it on a failed attempt instead would strand the
466
+ * builder — their next reply is a bare "yes, go ahead" that never
467
+ * repeats the package name. Auditing the override belongs to the
468
+ * install gate, which knows whether it was the override that let the
469
+ * install through. */
470
+ const spendProceedApproval = () => {
471
+ if (!cveUserOverride)
472
+ return;
473
+ clark.updateContext({ pendingCveProceedPackages: undefined });
474
+ };
233
475
  try {
234
476
  // create draft marker for package.json
235
477
  await services.draftInterface.createDraftMarkerOnly("package.json");
236
478
  let output;
237
- let versionChanges = [];
238
479
  if (packages && packages.length > 0) {
239
480
  const currentPackageJson = await readPackageJson(services.appShell.appRootDirPath);
240
481
  versionChanges = detectVersionChanges(packages, currentPackageJson);
241
- // Mode 1: Install specific packages
242
- output = await services.appShell.installSpecificPackages(packages, clark.context.abortController?.signal);
243
- const packageNames = packages.map((pkg) => pkg.name).join(", ");
244
- let message = `Successfully installed packages: ${packageNames}`;
245
- // Add version change information if any
246
- if (versionChanges.length > 0) {
247
- const changeDetails = versionChanges
248
- .map((change) => ` - ${change.name}: ${change.oldVersion} → ${change.newVersion}${change.isDev ? " (dev)" : ""}`)
249
- .join("\n");
250
- message += `\n\nVersion changes detected:\n${changeDetails}\n\n⚠️ WARNING: Version changes may affect existing components that depend on these packages. Consider checking for breaking changes.`;
482
+ if (trimmedProceedReason.length > 0 &&
483
+ overridePackages.length === 0) {
484
+ return {
485
+ message: "proceedWithReason was set, but the builder never named any of these packages. Only packages the builder asked for by name can proceed past a CVE block.",
486
+ ok: false,
487
+ userRequested,
488
+ };
251
489
  }
252
- return {
490
+ // Mode 1: Install specific packages
491
+ output = await services.appShell.installSpecificPackages(packages, clark.context.abortController?.signal, ...(cveUserOverride ? [{ cveUserOverride }] : []));
492
+ spendProceedApproval();
493
+ return buildSuccessfulSpecificInstallResult({
253
494
  output,
254
- message,
495
+ packages,
255
496
  versionChanges,
256
- };
497
+ });
257
498
  }
258
499
  else {
259
500
  // Mode 2: Install from package.json
@@ -271,6 +512,18 @@ export const buildInstallPackagesToolFactory = createToolFactory("build_installP
271
512
  // bubble up to agent-planning's POST_PROCESSING_ERRORED branch
272
513
  // (which only emits a raw stderr `debug()` message).
273
514
  if (error instanceof NpmInstallBlocked) {
515
+ let triageVerdicts;
516
+ const cveFindings = error.findings?.filter((finding) => finding.kind === "cve");
517
+ if (packages?.length && cveFindings?.length) {
518
+ triageVerdicts = await triageCveFindings({
519
+ abortSignal: clark.context.abortController?.signal,
520
+ findings: cveFindings,
521
+ services,
522
+ });
523
+ for (const verdict of triageVerdicts) {
524
+ services.appShell.reportNpmTriageVerdict(verdict);
525
+ }
526
+ }
274
527
  // `warn` (not `info`) because operators want this to surface in
275
528
  // standard `level>=warn` alert queries: a blocked install is a
276
529
  // handled, recoverable condition (the agent gets structured
@@ -289,14 +542,38 @@ export const buildInstallPackagesToolFactory = createToolFactory("build_installP
289
542
  // points as llmobs span tags; the warn log is the structured
290
543
  // counterpart that survives outside of trace sampling.
291
544
  const { message, variant } = buildBlockedMessage(error);
545
+ const findings = error.findings ?? [];
546
+ const hasMalwareFinding = findings.some((finding) => finding.kind === "malware");
547
+ const cveUserRequested = userRequested.filter((name) => findings.some((finding) => finding.kind === "cve" &&
548
+ (finding.package === name ||
549
+ finding.package.startsWith(`${name}@`))));
550
+ const canProceed = cveUserRequested.length > 0 && !hasMalwareFinding;
551
+ const userRequestedGuidance = canProceed
552
+ ? `\n\nuserRequested packages: ${cveUserRequested.map((name) => `\`${sanitizeForAgentMessage(name)}\``).join(", ")}. The builder asked for these by name. Warn them, ask for a short proceed reason if they still want the install, then retry this tool with \`proceedWithReason\` set to that reason.`
553
+ : "";
554
+ if (canProceed) {
555
+ // The builder's answer lands on a later turn and won't repeat the
556
+ // package name, so remember which names they may proceed with.
557
+ clark.updateContext({
558
+ pendingCveProceedPackages: cveUserRequested,
559
+ });
560
+ }
292
561
  getLogger().warn("Install blocked by registry condition", {
293
562
  ...error.toJSON(),
294
563
  messageVariant: variant,
564
+ ...(triageVerdicts ? { triageVerdicts } : {}),
565
+ ...(cveUserRequested.length > 0
566
+ ? { userRequested: cveUserRequested }
567
+ : {}),
295
568
  });
296
569
  return {
297
570
  ok: false,
298
- error: error.toJSON(),
299
- message,
571
+ error: boundFindingsForAgent(error.toJSON()),
572
+ message: `${message}${userRequestedGuidance}`,
573
+ ...(triageVerdicts ? { triageVerdicts } : {}),
574
+ ...(cveUserRequested.length > 0
575
+ ? { userRequested: cveUserRequested }
576
+ : {}),
300
577
  };
301
578
  }
302
579
  getLogger().error("Error installing packages", getErrorMeta(error));
@@ -305,9 +582,11 @@ export const buildInstallPackagesToolFactory = createToolFactory("build_installP
305
582
  },
306
583
  getSummary: (input, output) => {
307
584
  // Blocked-install result is the failure path: surface the reason
308
- // instead of pretending the install succeeded.
309
- if (output && "ok" in output && output.ok === false) {
310
- const blockedOutput = `Blocked: ${output.error.reason}`;
585
+ // instead of pretending the install succeeded. Keyed on `ok` alone —
586
+ // the proceed-rejection path fails before npm runs, so it carries no
587
+ // structured `error` to read a reason from.
588
+ if (output?.ok === false) {
589
+ const blockedOutput = `Blocked: ${output.error?.reason ?? "install not attempted"}`;
311
590
  // Mirror the success branch: omit the `input` field on the no-args
312
591
  // install path (runPackageManagerInstall) so the summary doesn't
313
592
  // render `"0 packages: "` with a dangling colon.
@@ -1 +1 @@
1
- {"version":3,"file":"build-install-packages.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-install-packages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-install-packages.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-install-packages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-manage-checklist.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-manage-checklist.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAG1C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,wBAAwB,GACnC,gBAAgB,MAAM,KACrB,OAAO,CAAC;IACT,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,aAAa,EAAE,CAAC;CAC/B,CAgBA,CAAC;AAEF,eAAO,MAAM,+BAA+B;WAElB,KAAK;cAAY,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0SjE,CAAC"}
1
+ {"version":3,"file":"build-manage-checklist.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-manage-checklist.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAG1C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,wBAAwB,GACnC,gBAAgB,MAAM,KACrB,OAAO,CAAC;IACT,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,aAAa,EAAE,CAAC;CAC/B,CAgBA,CAAC;AAEF,eAAO,MAAM,+BAA+B;WAElB,KAAK;cAAY,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2SjE,CAAC"}
@@ -37,7 +37,8 @@ export const buildManageChecklistToolFactory = createToolFactory("build_manageCh
37
37
  - Tasks that can be completed in fewer than 3 trivial steps
38
38
 
39
39
  **Checklist behavior rules:**
40
- - Only have ONE item "in_progress" at a time — finish or update the current item before starting the next
40
+ - Only ONE hands-on item "in_progress" at a time — finish or update the current item before starting the next
41
+ - An item waiting on a background task is the exception: leave it "in_progress" while the task runs and start the next hands-on item, so the user sees both moving at once
41
42
  - Mark items "completed" immediately after finishing them; do not batch completions
42
43
  - Only add items you intend to complete — incomplete items block build_finalize
43
44
  - If a task cannot be completed, mark it "failed" with a failureReason — never leave items stuck as "pending" or "in_progress"
@@ -1 +1 @@
1
- {"version":3,"file":"build-manage-checklist.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-manage-checklist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-manage-checklist.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-manage-checklist.ts"],"names":[],"mappings":"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"}