@harness-engineering/cli 4.3.3 → 6.0.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 (81) hide show
  1. package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +3 -1
  2. package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +5 -0
  3. package/dist/agents/skills/claude-code/harness-rollback/SKILL.md +124 -0
  4. package/dist/agents/skills/claude-code/harness-rollback/skill.yaml +52 -0
  5. package/dist/agents/skills/claude-code/product-requirements/SKILL.md +150 -0
  6. package/dist/agents/skills/claude-code/product-requirements/skill.yaml +70 -0
  7. package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +3 -1
  8. package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +5 -0
  9. package/dist/agents/skills/codex/harness-rollback/SKILL.md +124 -0
  10. package/dist/agents/skills/codex/harness-rollback/skill.yaml +52 -0
  11. package/dist/agents/skills/codex/product-requirements/SKILL.md +150 -0
  12. package/dist/agents/skills/codex/product-requirements/skill.yaml +70 -0
  13. package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +3 -1
  14. package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +5 -0
  15. package/dist/agents/skills/cursor/harness-rollback/SKILL.md +124 -0
  16. package/dist/agents/skills/cursor/harness-rollback/skill.yaml +52 -0
  17. package/dist/agents/skills/cursor/product-requirements/SKILL.md +150 -0
  18. package/dist/agents/skills/cursor/product-requirements/skill.yaml +70 -0
  19. package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +3 -1
  20. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +5 -0
  21. package/dist/agents/skills/gemini-cli/harness-rollback/SKILL.md +124 -0
  22. package/dist/agents/skills/gemini-cli/harness-rollback/skill.yaml +52 -0
  23. package/dist/agents/skills/gemini-cli/product-requirements/SKILL.md +150 -0
  24. package/dist/agents/skills/gemini-cli/product-requirements/skill.yaml +70 -0
  25. package/dist/{agents-md-N4ULMUAK.js → agents-md-OTKZE5HH.js} +4 -4
  26. package/dist/{analyzer-XRCV63KC-WGRHW2ZM.js → analyzer-XRCV63KC-FALMS3MO.js} +2 -2
  27. package/dist/{architecture-OIMIBDJC.js → architecture-3VYDN7MQ.js} +5 -5
  28. package/dist/{assess-project-ITSB6W4L.js → assess-project-27X2FSZZ.js} +1 -1
  29. package/dist/bin/harness-mcp.js +15 -15
  30. package/dist/bin/harness.js +25 -25
  31. package/dist/{check-phase-gate-GN4X7HT6.js → check-phase-gate-IXLFZ6YH.js} +5 -5
  32. package/dist/{chunk-MEDRUIRO.js → chunk-354MCPT3.js} +3 -3
  33. package/dist/{chunk-5BUHPOCP.js → chunk-3H7JA24B.js} +7 -7
  34. package/dist/{chunk-PT65VY4S.js → chunk-3MKQKNY3.js} +6 -6
  35. package/dist/{chunk-LP764MGR.js → chunk-6Y6M3AZA.js} +3 -3
  36. package/dist/{chunk-D7A5JR7M.js → chunk-BMNHLKBA.js} +2 -2
  37. package/dist/{chunk-CRHQYBDA.js → chunk-CTMHHMHQ.js} +101 -4
  38. package/dist/{chunk-MIZQY35D.js → chunk-D7QXGI6E.js} +2 -2
  39. package/dist/{chunk-F3GNBRGL.js → chunk-EFWRZHZ7.js} +101 -97
  40. package/dist/{chunk-LTYVAKWK.js → chunk-IOJGLIEQ.js} +20 -2
  41. package/dist/{chunk-CMU4DNLY.js → chunk-IXGYIQSR.js} +1 -1
  42. package/dist/{chunk-6NEJPS7W.js → chunk-JJLOWMGC.js} +2 -2
  43. package/dist/{chunk-73QZ43DF.js → chunk-KPBGAB35.js} +2 -2
  44. package/dist/{chunk-HJYAXAYQ.js → chunk-L5UKNGC5.js} +2 -2
  45. package/dist/{chunk-VJDSB7CI.js → chunk-LHWBQD7F.js} +24 -1
  46. package/dist/{chunk-JZL2O3RC.js → chunk-LISEPDVT.js} +5 -5
  47. package/dist/{chunk-NEMB36N4.js → chunk-MEIUXTFY.js} +2 -2
  48. package/dist/{chunk-7RH2NTLA.js → chunk-NZ5AXKRA.js} +1 -1
  49. package/dist/{chunk-H5GN7R43.js → chunk-QHFXVVUY.js} +2 -2
  50. package/dist/{chunk-U2NOOATF.js → chunk-S2ETJDQJ.js} +6 -6
  51. package/dist/{chunk-574JCBYH.js → chunk-TM4KFUWP.js} +2 -2
  52. package/dist/{chunk-YVI7ZV73.js → chunk-VGDZAWCJ.js} +803 -214
  53. package/dist/{chunk-TKPAOB2T.js → chunk-VRA64HYI.js} +2 -2
  54. package/dist/{chunk-T46G6YNI.js → chunk-WAFTJFT3.js} +3 -3
  55. package/dist/{chunk-GTHL3TRZ.js → chunk-XF6RE3JQ.js} +2 -2
  56. package/dist/{chunk-XKILFNRK.js → chunk-XNHKXELN.js} +2 -2
  57. package/dist/{ci-workflow-PA3WL6WK.js → ci-workflow-Y5GBKNZP.js} +4 -4
  58. package/dist/{dist-BWFFVKEW.js → dist-4CZLCE33.js} +7 -3
  59. package/dist/{dist-ISDDHDOR.js → dist-S3KCRI7X.js} +3 -1
  60. package/dist/{docs-HOTWQJQF.js → docs-3MWDPK4S.js} +5 -5
  61. package/dist/{engine-MVG2SPGD.js → engine-RJXQ5DHK.js} +4 -4
  62. package/dist/{entropy-3B4U2BTF.js → entropy-OX5LSM4S.js} +5 -5
  63. package/dist/{feedback-WIWWDVUC.js → feedback-OODAP2G2.js} +1 -1
  64. package/dist/{generate-agent-definitions-KPRHY6X3.js → generate-agent-definitions-CCREQZEA.js} +5 -5
  65. package/dist/hooks/adoption-tracker.js +41 -25
  66. package/dist/hooks/pre-compact-state.js +45 -27
  67. package/dist/hooks/sentinel-post.js +125 -102
  68. package/dist/hooks/sentinel-pre.js +70 -53
  69. package/dist/hooks/telemetry-reporter.js +44 -25
  70. package/dist/index.d.ts +66 -0
  71. package/dist/index.js +25 -25
  72. package/dist/{loader-SPJ2ZGYW.js → loader-ZICOJBVX.js} +4 -4
  73. package/dist/{mcp-VSSIWTII.js → mcp-XX6EIBLL.js} +15 -15
  74. package/dist/{performance-JYFS27B3.js → performance-OLZVGMAY.js} +5 -5
  75. package/dist/{review-pipeline-BDT6Y6QV.js → review-pipeline-3QPHMWPC.js} +4 -4
  76. package/dist/{runtime-ZEPHPPQJ.js → runtime-ZFFIH76Z.js} +4 -4
  77. package/dist/{security-FWSDTTEW.js → security-7YW3UK2C.js} +1 -1
  78. package/dist/{state-events-PBDNQPXT.js → state-events-PTWAEGJ2.js} +4 -4
  79. package/dist/{validate-XIMNCIKR.js → validate-H5SB7X3Z.js} +5 -5
  80. package/dist/{validate-cross-check-H2OUHTID.js → validate-cross-check-YYVYMSPA.js} +4 -4
  81. package/package.json +8 -8
@@ -7,11 +7,11 @@ import {
7
7
  } from "./chunk-3WGJMBKH.js";
8
8
  import {
9
9
  init_dist as init_dist2
10
- } from "./chunk-CRHQYBDA.js";
10
+ } from "./chunk-CTMHHMHQ.js";
11
11
  import {
12
12
  Err,
13
13
  Ok
14
- } from "./chunk-VJDSB7CI.js";
14
+ } from "./chunk-LHWBQD7F.js";
15
15
  import {
16
16
  init_dist,
17
17
  skipDirGlobs
@@ -336,6 +336,22 @@ var RoadmapConfigSchema = z.object({
336
336
  /** External tracker sync settings */
337
337
  tracker: TrackerConfigSchema.optional()
338
338
  });
339
+ var RollbackSignalRuleSchema = z.object({
340
+ /** Threshold value the signal must cross to fire. */
341
+ threshold: z.number(),
342
+ /** Which crossing direction fires: value going above or below the threshold. */
343
+ direction: z.enum(["above", "below"]),
344
+ /** Lookback window (e.g. "24h", "7d") mapping the crossing to merged PRs. */
345
+ window: z.string().regex(/^\d+[hdw]$/, 'window must be <number><h|d|w>, e.g. "24h", "7d", "2w"')
346
+ });
347
+ var RollbackConfigSchema = z.object({
348
+ /** Signal-name -> crossing rule. A crossing calls `evaluate --trigger signal`. */
349
+ signals: z.record(z.string(), RollbackSignalRuleSchema).default({}),
350
+ /** Eval-triggered arm. Dark in v1; default disabled until #31 lands. */
351
+ evalTrigger: z.object({
352
+ enabled: z.boolean().default(false)
353
+ }).default({})
354
+ });
339
355
  var KnowledgeConfigSchema = z.object({
340
356
  /** Caller-supplied domain patterns (e.g. `["agents/<dir>"]`). Extends defaults. */
341
357
  domainPatterns: z.array(z.string().regex(/^[\w.-]+\/<dir>$/)).optional().default([]),
@@ -526,6 +542,8 @@ var HarnessConfigSchema = z.object({
526
542
  }).optional(),
527
543
  /** Roadmap sync and tracker integration settings */
528
544
  roadmap: RoadmapConfigSchema.optional(),
545
+ /** Post-ship rollback circuit-breaker settings (signal arm live, eval arm dark). */
546
+ rollback: RollbackConfigSchema.optional(),
529
547
  /** Knowledge-pipeline domain-inference settings */
530
548
  knowledge: KnowledgeConfigSchema.optional(),
531
549
  /** Adoption telemetry settings */
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  listPersonas,
6
6
  loadPersona
7
- } from "./chunk-73QZ43DF.js";
7
+ } from "./chunk-KPBGAB35.js";
8
8
  import {
9
9
  GENERATED_HEADER_AGENT,
10
10
  VALID_PLATFORMS,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-CRHQYBDA.js";
3
+ } from "./chunk-CTMHHMHQ.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
7
- } from "./chunk-VJDSB7CI.js";
7
+ } from "./chunk-LHWBQD7F.js";
8
8
 
9
9
  // src/templates/engine.ts
10
10
  init_dist();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-CRHQYBDA.js";
3
+ } from "./chunk-CTMHHMHQ.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
7
- } from "./chunk-VJDSB7CI.js";
7
+ } from "./chunk-LHWBQD7F.js";
8
8
 
9
9
  // src/persona/loader.ts
10
10
  init_dist();
@@ -27,7 +27,7 @@ var runSecurityScanDefinition = {
27
27
  };
28
28
  async function handleRunSecurityScan(input) {
29
29
  try {
30
- const core = await import("./dist-BWFFVKEW.js");
30
+ const core = await import("./dist-4CZLCE33.js");
31
31
  const projectRoot = sanitizePath(input.path);
32
32
  let configData = {};
33
33
  try {
@@ -114,7 +114,7 @@ var getSecurityTrendsDefinition = {
114
114
  };
115
115
  async function handleGetSecurityTrends(input) {
116
116
  try {
117
- const core = await import("./dist-BWFFVKEW.js");
117
+ const core = await import("./dist-4CZLCE33.js");
118
118
  const projectRoot = sanitizePath(input.path);
119
119
  const manager = new core.SecurityTimelineManager(projectRoot);
120
120
  const trendOptions = {};
@@ -73,7 +73,7 @@ function migrateProposalRecord(raw) {
73
73
  }
74
74
  return raw;
75
75
  }
76
- var STANDARD_COGNITIVE_MODES, DEFAULT_SKILL_CONTEXT_BUDGET, SESSION_SECTION_NAMES, TrajectoryMetadataSchema, PromptCacheStatsSchema, OTLPKeyValueSchema, OTLPSpanSchema, REQUIRED_STRATEGY_SECTIONS, OPTIONAL_STRATEGY_SECTIONS, TokenScopeSchema, BridgeKindSchema, AuthTokenSchema, AuthTokenPublicSchema, AuthAuditEntrySchema, WebhookSubscriptionSchema, WebhookSubscriptionPublicSchema, GatewayEventSchema, WebhookDeliveryStatusSchema, WebhookDeliverySchema, INDEXED_FILE_KINDS, SessionSummarySchema, INSIGHTS_KEYS, SESSIONS_DEFAULTS, NotificationSinkKindSchema, NotificationSeveritySchema, NotificationActionSchema, NotificationEnvelopeSchema, NotificationSinkConfigSchema, NotificationsConfigSchema, NotificationDeliveryResultSchema, PlanTaskSchema, SkillProvenanceSchema, SkillKindSchema, ProposalKindSchema, ProposalTypeSchema, ProposalStatusSchema, ProposalGateFindingSchema, ProposalGateSchema, ProposalDecisionSchema, ProposalContentSchema, ProposalSourceSchema, SkillProposalObject, ModelProposalActionSchema, ModelProposalStatusSchema, ModelProposalContentSchema, ModelProposalObject, ProposalObjectUnion, ProposalSchema, SkillProposalSchema, EmitSkillProposalInputSchema, EditProposalInputSchema;
76
+ var STANDARD_COGNITIVE_MODES, DEFAULT_SKILL_CONTEXT_BUDGET, SESSION_SECTION_NAMES, TrajectoryMetadataSchema, PromptCacheStatsSchema, OTLPKeyValueSchema, OTLPSpanSchema, RoutingError, REQUIRED_STRATEGY_SECTIONS, OPTIONAL_STRATEGY_SECTIONS, TokenScopeSchema, BridgeKindSchema, AuthTokenSchema, AuthTokenPublicSchema, AuthAuditEntrySchema, WebhookSubscriptionSchema, WebhookSubscriptionPublicSchema, GatewayEventSchema, WebhookDeliveryStatusSchema, WebhookDeliverySchema, INDEXED_FILE_KINDS, SessionSummarySchema, INSIGHTS_KEYS, SESSIONS_DEFAULTS, NotificationSinkKindSchema, NotificationSeveritySchema, NotificationActionSchema, NotificationEnvelopeSchema, NotificationSinkConfigSchema, NotificationsConfigSchema, NotificationDeliveryResultSchema, PlanTaskSchema, SkillProvenanceSchema, SkillKindSchema, ProposalKindSchema, ProposalTypeSchema, ProposalStatusSchema, ProposalGateFindingSchema, ProposalGateSchema, ProposalDecisionSchema, ProposalContentSchema, ProposalSourceSchema, SkillProposalObject, ModelProposalActionSchema, ModelProposalStatusSchema, ModelProposalContentSchema, ModelProposalObject, ProposalObjectUnion, ProposalSchema, SkillProposalSchema, EmitSkillProposalInputSchema, EditProposalInputSchema;
77
77
  var init_dist = __esm({
78
78
  "../types/dist/index.mjs"() {
79
79
  STANDARD_COGNITIVE_MODES = [
@@ -148,6 +148,14 @@ var init_dist = __esm({
148
148
  attributes: z.array(OTLPKeyValueSchema),
149
149
  status: z.object({ code: z.number().int() }).optional()
150
150
  });
151
+ RoutingError = class extends Error {
152
+ constructor(code, message) {
153
+ super(message);
154
+ this.code = code;
155
+ this.name = "RoutingError";
156
+ }
157
+ code;
158
+ };
151
159
  REQUIRED_STRATEGY_SECTIONS = [
152
160
  "Target problem",
153
161
  "Our approach",
@@ -352,6 +360,12 @@ var init_dist = __esm({
352
360
  "open",
353
361
  "gate-running",
354
362
  "gate-failed",
363
+ // Durable marker that a background `ollama pull` for this approved add/swap is
364
+ // in flight. Set when the pull starts, cleared to `approved` on success or back
365
+ // to `open` on a (retryable) failure. On orchestrator startup, `installing`
366
+ // proposals are re-driven so an install interrupted by a restart resumes rather
367
+ // than being lost (the pull is idempotent — ollama resumes from cached blobs).
368
+ "installing",
355
369
  "approved",
356
370
  "rejected",
357
371
  "failed_target_missing"
@@ -361,6 +375,14 @@ var init_dist = __esm({
361
375
  target: z7.object({ hfRepoId: z7.string().min(1), ollamaName: z7.string().min(1) }),
362
376
  replaces: z7.object({ ollamaName: z7.string().min(1) }).optional(),
363
377
  scoreDelta: z7.number(),
378
+ /**
379
+ * Consumption Phase 2 (T6): the target's *absolute* ranked score (not the
380
+ * delta). Optional + additive so older persisted proposals round-trip. When
381
+ * present, `onApproveModelProposal` seeds the new pool entry's `currentScore`
382
+ * from it so an explicitly-installed model isn't buried at 0 until the next
383
+ * re-rank. Absent → the entry starts at 0 (legacy behavior).
384
+ */
385
+ targetScore: z7.number().optional(),
364
386
  justification: z7.object({
365
387
  summary: z7.string(),
366
388
  benchmarkBasis: z7.array(z7.string()),
@@ -421,6 +443,7 @@ export {
421
443
  PromptCacheStatsSchema,
422
444
  OTLPKeyValueSchema,
423
445
  OTLPSpanSchema,
446
+ RoutingError,
424
447
  REQUIRED_STRATEGY_SECTIONS,
425
448
  OPTIONAL_STRATEGY_SECTIONS,
426
449
  TokenScopeSchema,
@@ -7,13 +7,13 @@ import {
7
7
  import {
8
8
  findConfigFile,
9
9
  loadConfig
10
- } from "./chunk-LTYVAKWK.js";
10
+ } from "./chunk-IOJGLIEQ.js";
11
11
  import {
12
12
  init_dist
13
- } from "./chunk-CRHQYBDA.js";
13
+ } from "./chunk-CTMHHMHQ.js";
14
14
  import {
15
15
  Ok
16
- } from "./chunk-VJDSB7CI.js";
16
+ } from "./chunk-LHWBQD7F.js";
17
17
 
18
18
  // src/mcp/tools/entropy.ts
19
19
  init_dist();
@@ -138,7 +138,7 @@ function buildSummaryResponse(report) {
138
138
  }
139
139
  async function handleDetectEntropy(input) {
140
140
  try {
141
- const { EntropyAnalyzer } = await import("./dist-BWFFVKEW.js");
141
+ const { EntropyAnalyzer } = await import("./dist-4CZLCE33.js");
142
142
  const typeFilter = input.type ?? "all";
143
143
  const projectPath = sanitizePath(input.path);
144
144
  const entropy = loadEntropyConfig(projectPath);
@@ -164,7 +164,7 @@ async function handleDetectEntropy(input) {
164
164
  return resultToMcpResponse(result);
165
165
  }
166
166
  if (!result.ok) return resultToMcpResponse(result);
167
- const { createFixes, applyFixes, generateSuggestions } = await import("./dist-BWFFVKEW.js");
167
+ const { createFixes, applyFixes, generateSuggestions } = await import("./dist-4CZLCE33.js");
168
168
  const report = result.value;
169
169
  const deadCode = report.deadCode;
170
170
  const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  event_sourcing_exports,
3
3
  init_dist
4
- } from "./chunk-CRHQYBDA.js";
4
+ } from "./chunk-CTMHHMHQ.js";
5
5
  import {
6
6
  Ok
7
- } from "./chunk-VJDSB7CI.js";
7
+ } from "./chunk-LHWBQD7F.js";
8
8
 
9
9
  // src/shared/state-events.ts
10
10
  init_dist();
@@ -2,7 +2,7 @@ import {
2
2
  Err,
3
3
  Ok,
4
4
  init_dist
5
- } from "./chunk-VJDSB7CI.js";
5
+ } from "./chunk-LHWBQD7F.js";
6
6
  import {
7
7
  DEFAULT_SKIP_DIRS,
8
8
  init_dist as init_dist2,
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  init_dist,
6
6
  paginate
7
- } from "./chunk-CRHQYBDA.js";
7
+ } from "./chunk-CTMHHMHQ.js";
8
8
 
9
9
  // src/mcp/tools/review-pipeline.ts
10
10
  init_dist();
@@ -84,7 +84,7 @@ var runCodeReviewDefinition = {
84
84
  };
85
85
  async function handleRunCodeReview(input) {
86
86
  try {
87
- const { parseDiff, runReviewPipeline } = await import("./dist-BWFFVKEW.js");
87
+ const { parseDiff, runReviewPipeline } = await import("./dist-4CZLCE33.js");
88
88
  const parseResult = parseDiff(input.diff);
89
89
  if (!parseResult.ok) {
90
90
  return {
@@ -98,7 +98,7 @@ async function handleAssessProject(input) {
98
98
  let validateResult = null;
99
99
  if (checksToRun.has("validate")) {
100
100
  try {
101
- const { handleValidateProject } = await import("./validate-XIMNCIKR.js");
101
+ const { handleValidateProject } = await import("./validate-H5SB7X3Z.js");
102
102
  const result = await handleValidateProject({ path: projectPath });
103
103
  const out = parseToolResponse(result, "validate");
104
104
  if ("error" in out) {
@@ -127,7 +127,7 @@ async function handleAssessProject(input) {
127
127
  parallelChecks.push(
128
128
  (async () => {
129
129
  try {
130
- const { handleCheckDependencies } = await import("./architecture-OIMIBDJC.js");
130
+ const { handleCheckDependencies } = await import("./architecture-3VYDN7MQ.js");
131
131
  const result = await handleCheckDependencies({ path: projectPath });
132
132
  const out = parseToolResponse(result, "deps");
133
133
  if ("error" in out) return out.error;
@@ -155,7 +155,7 @@ async function handleAssessProject(input) {
155
155
  parallelChecks.push(
156
156
  (async () => {
157
157
  try {
158
- const { handleCheckDocs } = await import("./docs-HOTWQJQF.js");
158
+ const { handleCheckDocs } = await import("./docs-3MWDPK4S.js");
159
159
  const result = await handleCheckDocs({ path: projectPath, scope: "coverage" });
160
160
  const out = parseToolResponse(result, "docs");
161
161
  if ("error" in out) return out.error;
@@ -183,7 +183,7 @@ async function handleAssessProject(input) {
183
183
  parallelChecks.push(
184
184
  (async () => {
185
185
  try {
186
- const { handleDetectEntropy } = await import("./entropy-3B4U2BTF.js");
186
+ const { handleDetectEntropy } = await import("./entropy-OX5LSM4S.js");
187
187
  const result = await handleDetectEntropy({ path: projectPath, type: "all" });
188
188
  const out = parseToolResponse(result, "entropy");
189
189
  if ("error" in out) return out.error;
@@ -214,7 +214,7 @@ async function handleAssessProject(input) {
214
214
  parallelChecks.push(
215
215
  (async () => {
216
216
  try {
217
- const { handleRunSecurityScan } = await import("./security-FWSDTTEW.js");
217
+ const { handleRunSecurityScan } = await import("./security-7YW3UK2C.js");
218
218
  const result = await handleRunSecurityScan({ path: projectPath });
219
219
  const out = parseToolResponse(result, "security");
220
220
  if ("error" in out) return out.error;
@@ -247,7 +247,7 @@ async function handleAssessProject(input) {
247
247
  parallelChecks.push(
248
248
  (async () => {
249
249
  try {
250
- const { handleCheckPerformance } = await import("./performance-JYFS27B3.js");
250
+ const { handleCheckPerformance } = await import("./performance-OLZVGMAY.js");
251
251
  const result = await handleCheckPerformance({ path: projectPath });
252
252
  if ("isError" in result && result.isError) {
253
253
  const msg = result.content[0]?.text ?? "Performance check failed";
@@ -3,11 +3,11 @@ import {
3
3
  } from "./chunk-KET4QQZB.js";
4
4
  import {
5
5
  init_dist
6
- } from "./chunk-CRHQYBDA.js";
6
+ } from "./chunk-CTMHHMHQ.js";
7
7
  import {
8
8
  Err,
9
9
  Ok
10
- } from "./chunk-VJDSB7CI.js";
10
+ } from "./chunk-LHWBQD7F.js";
11
11
 
12
12
  // src/persona/generators/runtime.ts
13
13
  init_dist();