@harness-engineering/cli 3.0.0 → 3.1.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 (58) hide show
  1. package/dist/agents/skills/claude-code/harness-execution/SKILL.md +35 -0
  2. package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +33 -44
  3. package/dist/agents/skills/codex/harness-execution/SKILL.md +35 -0
  4. package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +33 -44
  5. package/dist/agents/skills/cursor/harness-execution/SKILL.md +35 -0
  6. package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +33 -44
  7. package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +35 -0
  8. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +33 -44
  9. package/dist/{agents-md-XOJE5ETA.js → agents-md-YYCLGMBF.js} +2 -2
  10. package/dist/{architecture-JEZPJ725.js → architecture-5KPP4ID4.js} +3 -3
  11. package/dist/{assess-project-RHXOQNMM.js → assess-project-B6ENHUAU.js} +1 -1
  12. package/dist/bin/harness-mcp.js +13 -13
  13. package/dist/bin/harness.js +22 -22
  14. package/dist/{check-phase-gate-GNDOMS35.js → check-phase-gate-REG3HWYC.js} +3 -3
  15. package/dist/{chunk-N24HCQA4.js → chunk-A65QO5KN.js} +132 -46
  16. package/dist/{chunk-UX3PQKVZ.js → chunk-BXKNWSG4.js} +1 -1
  17. package/dist/{chunk-XX4OLNWQ.js → chunk-C2ZGWMTN.js} +2 -2
  18. package/dist/{chunk-HEIMJJI4.js → chunk-DNX35Q5K.js} +2 -2
  19. package/dist/{chunk-BYVT5LVO.js → chunk-ERZCC5VH.js} +3 -3
  20. package/dist/{chunk-XFU6SB2Q.js → chunk-FL5SLUKZ.js} +62 -27
  21. package/dist/{chunk-NWLGL3IR.js → chunk-FUH4J43G.js} +1 -1
  22. package/dist/{chunk-MGUPSE6D.js → chunk-HIPBU2Q4.js} +5 -5
  23. package/dist/{chunk-3ISHDWO7.js → chunk-IF3JK3G5.js} +1 -1
  24. package/dist/{chunk-KAJOS3BA.js → chunk-LMZ2JTNP.js} +2 -2
  25. package/dist/{chunk-527G27VI.js → chunk-OQFEFVIN.js} +2 -2
  26. package/dist/{chunk-Z4AWEIBY.js → chunk-PZX2Y3RV.js} +3 -3
  27. package/dist/{chunk-ONCPJGHY.js → chunk-RGQXHCCH.js} +6 -6
  28. package/dist/{chunk-QBC7DI4Q.js → chunk-TCVQVHEF.js} +1 -1
  29. package/dist/{chunk-PC2R5RUJ.js → chunk-TE5YHHHZ.js} +1 -1
  30. package/dist/{chunk-HWTUUQOW.js → chunk-UBTMPO5H.js} +3 -3
  31. package/dist/{chunk-GSP2XIVS.js → chunk-XEOSSKIB.js} +1 -1
  32. package/dist/{chunk-DE5U6KOL.js → chunk-XZ2Q4UTW.js} +1 -1
  33. package/dist/{chunk-YQSYCBAH.js → chunk-YF3AY6KS.js} +6 -6
  34. package/dist/{chunk-GGKRA7A7.js → chunk-YQAFKOOL.js} +1 -1
  35. package/dist/{chunk-WWEVS7RO.js → chunk-ZOUJP3EY.js} +106 -80
  36. package/dist/{chunk-6WQCLCBO.js → chunk-ZRKFDE6M.js} +1 -1
  37. package/dist/{ci-workflow-ORZ4F45F.js → ci-workflow-JEYYCBOC.js} +2 -2
  38. package/dist/{dist-LHINSVK4.js → dist-3HW4LCHE.js} +15 -1
  39. package/dist/{docs-AU3DXFFO.js → docs-YRMW7UED.js} +3 -3
  40. package/dist/{engine-6GPWOYQH.js → engine-E7H5U3AC.js} +2 -2
  41. package/dist/{entropy-VLKDRMRT.js → entropy-3JBKCGJJ.js} +2 -2
  42. package/dist/{feedback-YXYY44ZC.js → feedback-U6VJ6AUJ.js} +1 -1
  43. package/dist/{generate-agent-definitions-XIHQPKG3.js → generate-agent-definitions-S2FRZF4Y.js} +3 -3
  44. package/dist/hooks/format-check.js +202 -0
  45. package/dist/hooks/quality-warner.js +32 -0
  46. package/dist/hooks/strict-quality-gate.js +48 -0
  47. package/dist/index.d.ts +8 -8
  48. package/dist/index.js +22 -22
  49. package/dist/{loader-YAN56MT3.js → loader-RGQJYERV.js} +2 -2
  50. package/dist/{mcp-RK3SFVYB.js → mcp-NDTFZXWF.js} +13 -13
  51. package/dist/{performance-64DPTLLQ.js → performance-FPWKC4CN.js} +3 -3
  52. package/dist/{review-pipeline-NENG6LW7.js → review-pipeline-WUHG7PHO.js} +2 -2
  53. package/dist/{runtime-FFIIRT2T.js → runtime-Q3ORD7LW.js} +2 -2
  54. package/dist/{security-3PIBN35B.js → security-JDHTRBGC.js} +1 -1
  55. package/dist/{validate-7IAF2ES3.js → validate-G3LKBOYA.js} +3 -3
  56. package/dist/{validate-cross-check-QPSAOZKD.js → validate-cross-check-4ITA72DF.js} +2 -2
  57. package/package.json +8 -8
  58. package/dist/hooks/quality-gate.js +0 -131
@@ -1505,6 +1505,7 @@ __export(dist_exports, {
1505
1505
  assertPortUsable: () => assertPortUsable,
1506
1506
  assertSanitized: () => assertSanitized,
1507
1507
  assignFeature: () => assignFeature,
1508
+ assigneeInvariantHolds: () => assigneeInvariantHolds,
1508
1509
  buildCiReviewVerdict: () => buildCiReviewVerdict,
1509
1510
  buildDependencyGraph: () => buildDependencyGraph,
1510
1511
  buildExclusionSet: () => buildExclusionSet,
@@ -1519,6 +1520,7 @@ __export(dist_exports, {
1519
1520
  checkOverlap: () => checkOverlap,
1520
1521
  checkRoadmapHealth: () => checkRoadmapHealth,
1521
1522
  checkTaint: () => checkTaint,
1523
+ claim: () => claim,
1522
1524
  classifyConfidence: () => classifyConfidence,
1523
1525
  classifyFinding: () => classifyFinding,
1524
1526
  clearEventHashCache: () => clearEventHashCache,
@@ -1639,8 +1641,10 @@ __export(dist_exports, {
1639
1641
  insecureDefaultsRules: () => insecureDefaultsRules,
1640
1642
  invalidateCheckState: () => invalidateCheckState,
1641
1643
  isBadPort: () => isBadPort,
1644
+ isClaimableBy: () => isClaimableBy,
1642
1645
  isDuplicateFinding: () => isDuplicateFinding,
1643
1646
  isErr: () => isErr,
1647
+ isMachineAssignee: () => isMachineAssignee,
1644
1648
  isOk: () => isOk,
1645
1649
  isRegression: () => isRegression,
1646
1650
  isSanitizedResult: () => isSanitizedResult,
@@ -1712,6 +1716,7 @@ __export(dist_exports, {
1712
1716
  promoteSessionLearnings: () => promoteSessionLearnings,
1713
1717
  proposalsDir: () => proposalsDir,
1714
1718
  pruneLearnings: () => pruneLearnings,
1719
+ pushAssigneeToExternal: () => pushAssigneeToExternal,
1715
1720
  reactRules: () => reactRules,
1716
1721
  readAdoptionRecords: () => readAdoptionRecords,
1717
1722
  readCheckState: () => readCheckState,
@@ -1723,6 +1728,7 @@ __export(dist_exports, {
1723
1728
  readTaint: () => readTaint,
1724
1729
  registerMockAdapter: () => registerMockAdapter,
1725
1730
  registerPulseAdapter: () => registerPulseAdapter,
1731
+ release: () => release,
1726
1732
  removeContributions: () => removeContributions,
1727
1733
  removeProvenance: () => removeProvenance,
1728
1734
  requestMultiplePeerReviews: () => requestMultiplePeerReviews,
@@ -1774,6 +1780,7 @@ __export(dist_exports, {
1774
1780
  serializeRoadmap: () => serializeRoadmap,
1775
1781
  serializeStrategyDoc: () => serializeStrategyDoc,
1776
1782
  setActiveStream: () => setActiveStream,
1783
+ setStatus: () => setStatus,
1777
1784
  sharpEdgesRules: () => sharpEdgesRules,
1778
1785
  shouldRunCheck: () => shouldRunCheck,
1779
1786
  spawnBackgroundCheck: () => spawnBackgroundCheck,
@@ -11702,6 +11709,61 @@ function resolveReverseStatus(externalStatus, labels, config) {
11702
11709
  }
11703
11710
  return null;
11704
11711
  }
11712
+ function isMachineAssignee(assignee) {
11713
+ if (assignee === null) return false;
11714
+ return MACHINE_ASSIGNEE_PATTERNS.some((re) => re.test(assignee));
11715
+ }
11716
+ function assigneeInvariantHolds(feature) {
11717
+ return feature.assignee !== null === (feature.status === "in-progress");
11718
+ }
11719
+ function pushAssigneeToExternal(assignee) {
11720
+ return assignee !== null && !isMachineAssignee(assignee);
11721
+ }
11722
+ function pushUnassigned(roadmap, feature, prev, date) {
11723
+ roadmap.assignmentHistory.push({
11724
+ feature: feature.name,
11725
+ assignee: prev,
11726
+ action: "unassigned",
11727
+ date
11728
+ });
11729
+ }
11730
+ function isClaimableBy(feature, assignee) {
11731
+ return feature.assignee === null || feature.assignee === assignee;
11732
+ }
11733
+ function claim(roadmap, feature, assignee, date) {
11734
+ if (feature.status === "in-progress" && feature.assignee !== null && feature.assignee !== assignee) {
11735
+ return;
11736
+ }
11737
+ feature.status = "in-progress";
11738
+ if (feature.assignee === assignee) return;
11739
+ if (feature.assignee !== null) {
11740
+ pushUnassigned(roadmap, feature, feature.assignee, date);
11741
+ }
11742
+ feature.assignee = assignee;
11743
+ roadmap.assignmentHistory.push({
11744
+ feature: feature.name,
11745
+ assignee,
11746
+ action: "assigned",
11747
+ date
11748
+ });
11749
+ }
11750
+ function release(roadmap, feature, date) {
11751
+ if (feature.status === "in-progress") {
11752
+ feature.status = "planned";
11753
+ }
11754
+ if (feature.assignee === null) return;
11755
+ const prev = feature.assignee;
11756
+ feature.assignee = null;
11757
+ pushUnassigned(roadmap, feature, prev, date);
11758
+ }
11759
+ function setStatus(roadmap, feature, status, date) {
11760
+ feature.status = status;
11761
+ if (status !== "in-progress" && feature.assignee !== null) {
11762
+ const prev = feature.assignee;
11763
+ feature.assignee = null;
11764
+ pushUnassigned(roadmap, feature, prev, date);
11765
+ }
11766
+ }
11705
11767
  function parseExternalId(externalId) {
11706
11768
  const match = externalId.match(/^github:([^/]+)\/([^#]+)#(\d+)$/);
11707
11769
  if (!match) return null;
@@ -11827,8 +11889,9 @@ async function syncToExternal(roadmap, adapter2, config, prefetchedTickets) {
11827
11889
  }
11828
11890
  return result;
11829
11891
  }
11830
- function applyTicketToFeature(ticketState, feature, config, forceSync, result) {
11831
- if (ticketState.assignee !== feature.assignee) {
11892
+ function applyTicketToFeature(roadmap, ticketState, feature, config, forceSync, result) {
11893
+ const localMachineClaim = isMachineAssignee(feature.assignee);
11894
+ if (!localMachineClaim && ticketState.assignee !== feature.assignee) {
11832
11895
  result.assignmentChanges.push({
11833
11896
  feature: feature.name,
11834
11897
  from: feature.assignee,
@@ -11841,6 +11904,11 @@ function applyTicketToFeature(ticketState, feature, config, forceSync, result) {
11841
11904
  const newStatus = resolvedStatus;
11842
11905
  if (!forceSync && isRegression(feature.status, newStatus)) return;
11843
11906
  if (!forceSync && feature.status === "blocked" && newStatus === "planned") return;
11907
+ const date = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
11908
+ if (localMachineClaim && newStatus !== "in-progress") {
11909
+ setStatus(roadmap, feature, newStatus, date);
11910
+ return;
11911
+ }
11844
11912
  feature.status = newStatus;
11845
11913
  }
11846
11914
  async function syncFromExternal(roadmap, adapter2, config, options, prefetchedTickets) {
@@ -11869,7 +11937,7 @@ async function syncFromExternal(roadmap, adapter2, config, options, prefetchedTi
11869
11937
  for (const ticketState of tickets) {
11870
11938
  const feature = featureByExternalId.get(ticketState.externalId);
11871
11939
  if (!feature) continue;
11872
- applyTicketToFeature(ticketState, feature, config, forceSync, result);
11940
+ applyTicketToFeature(roadmap, ticketState, feature, config, forceSync, result);
11873
11941
  }
11874
11942
  return result;
11875
11943
  }
@@ -12656,6 +12724,17 @@ function checkRoadmapHealth(roadmap, options) {
12656
12724
  suggestion: `Link a spec/plan to make it actionable, or demote it to "backlog".`
12657
12725
  });
12658
12726
  }
12727
+ if (!assigneeInvariantHolds(feature)) {
12728
+ const orphaned = feature.status === "in-progress" && feature.assignee === null;
12729
+ findings.push({
12730
+ ruleId: "RMH005",
12731
+ severity: "error",
12732
+ milestone: milestone.name,
12733
+ feature: feature.name,
12734
+ message: orphaned ? `"${feature.name}" is "in-progress" with no assignee; an in-progress row must name who is executing it.` : `"${feature.name}" has assignee "${feature.assignee}" but status "${feature.status}"; an assignee means in-progress (set at execution start, cleared otherwise).`,
12735
+ suggestion: orphaned ? `Demote it to "planned" (or claim it) \u2014 run the roadmap skill's --groom mode.` : `Clear the assignee (or move it to "in-progress") \u2014 run the roadmap skill's --groom mode.`
12736
+ });
12737
+ }
12659
12738
  }
12660
12739
  }
12661
12740
  return findings;
@@ -12680,6 +12759,23 @@ function groomRoadmap(roadmap, options) {
12680
12759
  to: "backlog"
12681
12760
  });
12682
12761
  }
12762
+ if (feature.status !== "in-progress" && feature.assignee !== null) {
12763
+ changes.push({
12764
+ kind: "unassigned",
12765
+ feature: feature.name,
12766
+ from: milestone.name,
12767
+ to: feature.assignee
12768
+ });
12769
+ feature.assignee = null;
12770
+ } else if (feature.status === "in-progress" && feature.assignee === null) {
12771
+ feature.status = "planned";
12772
+ changes.push({
12773
+ kind: "demoted",
12774
+ feature: feature.name,
12775
+ from: milestone.name,
12776
+ to: "planned"
12777
+ });
12778
+ }
12683
12779
  if (archiveDone && feature.status === "done" && !archive && !isIntake) {
12684
12780
  archived.push(feature);
12685
12781
  changes.push({
@@ -14111,7 +14207,7 @@ function acquireCompoundLock(category, opts = {}) {
14111
14207
  fs46.writeSync(fd, String(process.pid));
14112
14208
  fs46.closeSync(fd);
14113
14209
  let released = false;
14114
- const release = () => {
14210
+ const release2 = () => {
14115
14211
  if (released) return;
14116
14212
  released = true;
14117
14213
  try {
@@ -14123,13 +14219,13 @@ function acquireCompoundLock(category, opts = {}) {
14123
14219
  process.removeListener("SIGTERM", onSignal);
14124
14220
  process.removeListener("uncaughtException", onUncaught);
14125
14221
  };
14126
- const onExit = () => release();
14222
+ const onExit = () => release2();
14127
14223
  const onSignal = (sig) => {
14128
- release();
14224
+ release2();
14129
14225
  process.kill(process.pid, sig);
14130
14226
  };
14131
14227
  const onUncaught = (err) => {
14132
- release();
14228
+ release2();
14133
14229
  console.error(err && err.stack ? err.stack : err);
14134
14230
  process.exit(1);
14135
14231
  };
@@ -14137,7 +14233,7 @@ function acquireCompoundLock(category, opts = {}) {
14137
14233
  process.once("SIGINT", onSignal);
14138
14234
  process.once("SIGTERM", onSignal);
14139
14235
  process.once("uncaughtException", onUncaught);
14140
- return { category, lockPath, release };
14236
+ return { category, lockPath, release: release2 };
14141
14237
  }
14142
14238
  function readHolderPid(lockPath) {
14143
14239
  try {
@@ -14852,7 +14948,7 @@ function writeStrategyDoc(doc, opts) {
14852
14948
  throw e;
14853
14949
  }
14854
14950
  }
14855
- var WHATWG_BAD_PORTS, BAD_PORT_SET, VALID_TYPES, CONVENTIONAL_PATTERN, LOOKBACK_PATTERN, PulseDbSourceSchema, PulseSourcesSchema, PulseConfigSchema, KNOWN_SECTION_NAMES, ISO_DATE, PLACEHOLDER_INLINE, REQUIRED, ALLOWED, StrategyFrontmatterSchema, StrategySectionSchema, StrategyDocSchema, BUG_TRACK_CATEGORIES, KNOWLEDGE_TRACK_CATEGORIES, ALL_SOLUTION_CATEGORIES, ISO_DATE2, BugTrackSchema, KnowledgeTrackSchema, BaseFrontmatter, SolutionDocFrontmatterSchema, TRACK_CATEGORIES, DEFAULT_AGNIX_TIMEOUT_MS, HARNESS_AGNIX_DISABLE, HARNESS_AGNIX_BIN, CLAUDE_MD_WARN_BYTES, CLAUDE_MD_ERROR_BYTES, CONTEXT_FILES, MIN_DESCRIPTION_LENGTH, SETTINGS_PATHS, KNOWN_HOOK_EVENTS, MCP_SETTINGS_FILES, REQUIRED_SECTIONS, SETTINGS_FILES, KNOWN_AGNIX_TOOLS, KEBAB_CASE, TICKET_ID, DEFAULT_SECTIONS, DEFAULT_RATIOS, NODE_TYPE_TO_CATEGORY, SECTION_LEVEL_MAP, DEFAULT_LEVEL, DEFAULT_BUDGET, DEFAULT_LOADER_CONFIG, LEVEL_FRACTIONS, PHASE_PRIORITIES, ManifestSchema, BundleConstraintsSchema, BundleSchema, ContributionsSchema, LockfilePackageSchema, LockfileSchema, SharableLayerSchema, SharableForbiddenImportSchema, SharableBoundaryConfigSchema, SharableSecurityRulesSchema, VALID_SCOPES, LINE_PATTERN, START_PATTERN, END_PATTERN, readFile72, writeFile32, unlink22, mkdir22, copyFile2, DEFAULT_FIX_CONFIG, EXPORT_TYPE_KEYWORD, ALWAYS_UNSAFE_TYPES, idCounter, DEAD_CODE_FIX_ACTIONS, MustExportRuleSchema, MustExportDefaultRuleSchema, NoExportRuleSchema, MustImportRuleSchema, NoImportRuleSchema, NamingRuleSchema, MaxExportsRuleSchema, MaxLinesRuleSchema, RequireJSDocRuleSchema, RuleSchema, ConfigPatternSchema, PatternConfigSchema, DriftConfigSchema, DeadCodeConfigSchema, EntropyConfigSchema, BaselineManager, BenchmarkRunner, RegressionDetector, SOURCE_EXTENSIONS, FUNCTION_DECL_RE, CONST_DECL_RE, CriticalPathResolver, NoOpTelemetryAdapter, NoOpExecutor, ConsoleSink, feedbackConfig, ChecklistBuilder, AgentActionEmitter, globalEmitter, FileSink, NoOpSink, ConfidenceTierSchema, RegressionResultSchema, DirectionSchema, CategoryForecastSchema, SpecImpactSignalsSchema, SpecImpactEstimateSchema, ContributingFeatureSchema, AdjustedForecastSchema, PredictionWarningSchema, StabilityForecastSchema, PredictionResultSchema, PredictionOptionsSchema, VALID_STATUSES, EM_DASH, VALID_PRIORITIES, ALL_CATEGORIES, DIRECTION_THRESHOLD, PredictionEngine, DEFAULT_COEFFICIENTS, SpecImpactEstimator, EMPTY_HISTORY, ViolationHistoryManager, NORMALIZERS, MAX_SAMPLES, DEFAULT_WINDOW_WEEKS, DEFAULT_MIN_OCCURRENCES, FailureEntrySchema, HandoffSchema, GateCheckSchema, GateResultSchema, GateConfigSchema, HarnessStateSchema, DEFAULT_STATE, StreamInfoSchema, StreamIndexSchema, DEFAULT_STREAM_INDEX, HARNESS_DIR, STATE_FILE, LEARNINGS_FILE, FAILURES_FILE, HANDOFF_FILE, GATE_CONFIG_FILE, INDEX_FILE, SESSIONS_DIR, SESSION_INDEX_FILE, SUMMARY_FILE, SESSION_STATE_FILE, ARCHIVE_DIR, CONTENT_HASHES_FILE, EVENTS_FILE, STREAMS_DIR, STREAM_NAME_REGEX, branchCache, BRANCH_CACHE_TTL_MS, STATE_FILES, MAX_CACHE_ENTRIES, learningsCacheMap, WEIGHTS, LOCK_RETRIES, LOCK_BACKOFFS, PROMOTABLE_OUTCOMES, failuresCacheMap, FAILURE_LINE_REGEX, SAFE_GATE_COMMAND, SkillEventSchema, knownHashesCache, EVENT_FORMATTERS, RuleRegistry, DEFAULT_SECURITY_CONFIG, RuleOverrideSchema, SecurityConfigSchema, secretRules, injectionRules, xssRules, cryptoRules, pathTraversalRules, networkRules, deserializationRules, agentConfigRules, mcpRules, insecureDefaultsRules, sharpEdgesRules, nodeRules, expressRules, reactRules, goRules, SecurityScanner, OSV_ENDPOINT, DEFAULT_CACHE_DIR, DEFAULT_TTL_HOURS, hiddenUnicodePatterns, reRolingPatterns, permissionEscalationPatterns, encodedPayloadPatterns, indirectInjectionPatterns, contextManipulationPatterns, socialEngineeringPatterns, suspiciousPatterns, ALL_PATTERNS, DESTRUCTIVE_BASH, TAINT_DURATION_MS, DEFAULT_SESSION_ID, SecurityCategorySnapshotSchema, SupplyChainSnapshotSchema, SecurityTimelineSnapshotSchema, FindingLifecycleSchema, SecurityTimelineFileSchema, DirectionSchema2, SecurityTrendLineSchema, TrendAttributionSchema, SecurityTrendResultSchema, TimeToFixStatsSchema, TimeToFixResultSchema, EMPTY_SUPPLY_CHAIN, SecurityTimelineManager, ALL_CHECKS, STATUS_ICONS, CINotifier, ExclusionSet, PREFIX_PATTERNS, TEST_FILE_PATTERN, MD_FILE_PATTERN, ALL_DOMAINS, SECURITY_PATTERNS, JS_EXT_FALLBACKS, SEVERITY_RANK, SEVERITY_ORDER, SEVERITY_LABELS, VALIDATED_BY_RANK, VALIDATION_SCORES, DOMAIN_BASELINES, FACTOR_WEIGHTS, EVIDENCE_SATURATION, CORROBORATED_AGREEMENT, STANDALONE_AGREEMENT, AGREEMENT_LINE_GAP, COMPLIANCE_DESCRIPTOR, EXPORT_RE, BUG_DETECTION_DESCRIPTOR, SECURITY_DESCRIPTOR, EVAL_PATTERN, SECRET_PATTERNS, SQL_CONCAT_PATTERN, SHELL_EXEC_PATTERN, ARCHITECTURE_DESCRIPTOR, LARGE_FILE_THRESHOLD, VIOLATION_FILE_RE, LEARNINGS_DESCRIPTOR, RELEVANCE_THRESHOLD, ADVERSARIAL_DESCRIPTOR, UNVERIFIED_INPUT_PATTERN, PROMISE_NO_REJECT_PATTERN, UNGUARDED_OPTIONAL_CALL, COMPOSE_NO_AWAIT, FETCH_NO_TIMEOUT, TYPESCRIPT_STRICT_DESCRIPTOR, EXPLICIT_ANY_PATTERN, TS_IGNORE_PATTERN, UNSAFE_AS_UNKNOWN, NON_NULL_ASSERTION, VAGUE_HELPER_NAME, FRONTEND_RACES_DESCRIPTOR, AGENT_DESCRIPTORS, CONDITIONAL_SUBAGENT_DESCRIPTORS, AGENT_RUNNERS, SUBAGENT_ORDER, RISK_KEYWORDS, EXCLUDED_PATH_PATTERNS, ASYNC_UI_SIGNALS, WORD_BOUNDARY, DOWNGRADE_MAP, DEFAULT_PROVIDER_TIERS, SMALL_SUGGESTION_LINE_LIMIT, FILE_LINE_RANGE_PATTERN, FILE_LINE_PATTERN, FILE_ONLY_PATTERN, SECURITY_SENSITIVE_PATH, MIGRATION_PATH, TEST_PATH, CONFIG_PATH, STAGE_DOMAINS, CI_REVIEW_VERDICT_SCHEMA_VERSION, CI_RUNNERS, CI_ASSESSMENTS, CI_REVIEW_DOMAINS, ReviewFindingSchema, CiReviewVerdictSchema, VERDICT_MAP, RUNNER_PRESETS, VERDICT_MAP2, DEFAULT_EXEC_TIMEOUT_MS, DEFAULT_EXEC_MAX_STDOUT_BYTES, STDERR_CAP_BYTES, STDERR_TAIL_BYTES, defaultExecFile, EMPTY_TIER, EM_DASH2, STATUS_RANK, EM_DASH3, DEFAULT_MILESTONE, MAX_CLOSEST_MATCHES, RETRY_DEFAULTS, GitHubIssuesSyncAdapter, syncMutex, PRIORITY_RANK, PRIORITY_RANK2, POSITION_WEIGHT, DEPENDENTS_WEIGHT, AFFINITY_WEIGHT, ConflictError, DEFAULTS, GitHubHttp, ETagStore, START_MARKER, END_MARKER, SERIALIZER_FIELDS, GitHubIssuesTrackerAdapter, migrate_exports, HASH_RE, DEFAULT_CATCH_ALL, DEFAULT_INTAKE, DEFAULT_MAX_ACTIVE, InteractionTypeSchema, QuestionSchema, ConfirmationSchema, TransitionSchema, EmitInteractionInputSchema, ProjectScanner, SHELL_TEMPLATE, STYLES, SCRIPTS, MockLLMService, llmService, ContentPipeline, BlueprintGenerator, TOKENS_PER_MILLION, fallback_default, LITELLM_PRICING_URL, CACHE_TTL_MS, STALENESS_WARNING_DAYS, MICRODOLLARS_PER_DOLLAR, TOKENS_PER_MILLION2, StructuralStrategy, DEFAULT_TOKEN_BUDGET, CHARS_PER_TOKEN, TRUNCATION_MARKER, TruncationStrategy, CompactionPipeline, STABILITY_LOOKUP, TIER_ORDER, AnthropicCacheAdapter, TIER_ORDER2, OpenAICacheAdapter, TIER_ORDER3, CACHED_CONTENT_MARKER, GeminiCacheAdapter, VERSION, POSTHOG_BATCH_URL, MAX_ATTEMPTS, TIMEOUT_MS, DEFAULT_CAPACITY, CacheMetricsRecorder, RETRY_BACKOFFS_MS, DEFAULT_FLUSH_INTERVAL_MS, DEFAULT_BATCH_SIZE, defaultFetch, defaultWarn, OTLPExporter, SERVICE_NAME_ATTR, SpanKind, ModeSchema, SeveritySchema, TierSchema, StrengthFindingSchema, HarnessConfigSubsetSchema, HookFileSchema, ProjectContextSchema, AuditSummarySchema, AuditResultSchema, SEVERITY_WEIGHTS, clamp, HOOK_SCRIPT_TOKEN, NEVER_BLOCKS, ALWAYS_EXIT_ZERO, EXIT_ZERO_LINE, NONZERO_EXIT, GATE, ERREXIT, strength001NonblockingHooks, BASELINE_REWRITE, strength002Autobaseline, SKIP_RE, strength003SkipList, strength004EmptyThresholds, INIT_SKILL_PATH, DEFAULT_BASIC, strength005LowestTier, AUTO_PATTERN, COMMENT_LINE, NAME_VALUE_LINE, PAT_GATING, REVIEW_SIGNAL, strength006AutoapproveBaseline, CHECK_SIGNAL_MAP, strength007SnapshotSignalMismatch, ALL_RULES, HarnessStrengthAuditor, MAX_TOP_AFFECTED, CompoundLockHeldError, KNOWN_CATEGORIES, ProposalNotFoundError, ProposalConflictError, ALLOWED_FIELD_KEYS, PII_TOKENS, PII_FIELD_DENYLIST, PII_LINE_RE, ALLOWED_SET, PulseAdapterAlreadyRegisteredError, REGISTRY, MOCK_ADAPTER_NAME, ALLOWED_FIELD_SET, adapter, LOOKBACK_RE, MAX_LINES, INLINE_TEMPLATE, TRUNCATION_MARKER2, execFileAsync, FIX_RE, EMPTY_REPO_RE, execFileAsync2, TRACK_CATEGORIES2, STOPWORDS, KEYWORD_TO_CATEGORY, SECTION_ORDER, FILENAME;
14951
+ var WHATWG_BAD_PORTS, BAD_PORT_SET, VALID_TYPES, CONVENTIONAL_PATTERN, LOOKBACK_PATTERN, PulseDbSourceSchema, PulseSourcesSchema, PulseConfigSchema, KNOWN_SECTION_NAMES, ISO_DATE, PLACEHOLDER_INLINE, REQUIRED, ALLOWED, StrategyFrontmatterSchema, StrategySectionSchema, StrategyDocSchema, BUG_TRACK_CATEGORIES, KNOWLEDGE_TRACK_CATEGORIES, ALL_SOLUTION_CATEGORIES, ISO_DATE2, BugTrackSchema, KnowledgeTrackSchema, BaseFrontmatter, SolutionDocFrontmatterSchema, TRACK_CATEGORIES, DEFAULT_AGNIX_TIMEOUT_MS, HARNESS_AGNIX_DISABLE, HARNESS_AGNIX_BIN, CLAUDE_MD_WARN_BYTES, CLAUDE_MD_ERROR_BYTES, CONTEXT_FILES, MIN_DESCRIPTION_LENGTH, SETTINGS_PATHS, KNOWN_HOOK_EVENTS, MCP_SETTINGS_FILES, REQUIRED_SECTIONS, SETTINGS_FILES, KNOWN_AGNIX_TOOLS, KEBAB_CASE, TICKET_ID, DEFAULT_SECTIONS, DEFAULT_RATIOS, NODE_TYPE_TO_CATEGORY, SECTION_LEVEL_MAP, DEFAULT_LEVEL, DEFAULT_BUDGET, DEFAULT_LOADER_CONFIG, LEVEL_FRACTIONS, PHASE_PRIORITIES, ManifestSchema, BundleConstraintsSchema, BundleSchema, ContributionsSchema, LockfilePackageSchema, LockfileSchema, SharableLayerSchema, SharableForbiddenImportSchema, SharableBoundaryConfigSchema, SharableSecurityRulesSchema, VALID_SCOPES, LINE_PATTERN, START_PATTERN, END_PATTERN, readFile72, writeFile32, unlink22, mkdir22, copyFile2, DEFAULT_FIX_CONFIG, EXPORT_TYPE_KEYWORD, ALWAYS_UNSAFE_TYPES, idCounter, DEAD_CODE_FIX_ACTIONS, MustExportRuleSchema, MustExportDefaultRuleSchema, NoExportRuleSchema, MustImportRuleSchema, NoImportRuleSchema, NamingRuleSchema, MaxExportsRuleSchema, MaxLinesRuleSchema, RequireJSDocRuleSchema, RuleSchema, ConfigPatternSchema, PatternConfigSchema, DriftConfigSchema, DeadCodeConfigSchema, EntropyConfigSchema, BaselineManager, BenchmarkRunner, RegressionDetector, SOURCE_EXTENSIONS, FUNCTION_DECL_RE, CONST_DECL_RE, CriticalPathResolver, NoOpTelemetryAdapter, NoOpExecutor, ConsoleSink, feedbackConfig, ChecklistBuilder, AgentActionEmitter, globalEmitter, FileSink, NoOpSink, ConfidenceTierSchema, RegressionResultSchema, DirectionSchema, CategoryForecastSchema, SpecImpactSignalsSchema, SpecImpactEstimateSchema, ContributingFeatureSchema, AdjustedForecastSchema, PredictionWarningSchema, StabilityForecastSchema, PredictionResultSchema, PredictionOptionsSchema, VALID_STATUSES, EM_DASH, VALID_PRIORITIES, ALL_CATEGORIES, DIRECTION_THRESHOLD, PredictionEngine, DEFAULT_COEFFICIENTS, SpecImpactEstimator, EMPTY_HISTORY, ViolationHistoryManager, NORMALIZERS, MAX_SAMPLES, DEFAULT_WINDOW_WEEKS, DEFAULT_MIN_OCCURRENCES, FailureEntrySchema, HandoffSchema, GateCheckSchema, GateResultSchema, GateConfigSchema, HarnessStateSchema, DEFAULT_STATE, StreamInfoSchema, StreamIndexSchema, DEFAULT_STREAM_INDEX, HARNESS_DIR, STATE_FILE, LEARNINGS_FILE, FAILURES_FILE, HANDOFF_FILE, GATE_CONFIG_FILE, INDEX_FILE, SESSIONS_DIR, SESSION_INDEX_FILE, SUMMARY_FILE, SESSION_STATE_FILE, ARCHIVE_DIR, CONTENT_HASHES_FILE, EVENTS_FILE, STREAMS_DIR, STREAM_NAME_REGEX, branchCache, BRANCH_CACHE_TTL_MS, STATE_FILES, MAX_CACHE_ENTRIES, learningsCacheMap, WEIGHTS, LOCK_RETRIES, LOCK_BACKOFFS, PROMOTABLE_OUTCOMES, failuresCacheMap, FAILURE_LINE_REGEX, SAFE_GATE_COMMAND, SkillEventSchema, knownHashesCache, EVENT_FORMATTERS, RuleRegistry, DEFAULT_SECURITY_CONFIG, RuleOverrideSchema, SecurityConfigSchema, secretRules, injectionRules, xssRules, cryptoRules, pathTraversalRules, networkRules, deserializationRules, agentConfigRules, mcpRules, insecureDefaultsRules, sharpEdgesRules, nodeRules, expressRules, reactRules, goRules, SecurityScanner, OSV_ENDPOINT, DEFAULT_CACHE_DIR, DEFAULT_TTL_HOURS, hiddenUnicodePatterns, reRolingPatterns, permissionEscalationPatterns, encodedPayloadPatterns, indirectInjectionPatterns, contextManipulationPatterns, socialEngineeringPatterns, suspiciousPatterns, ALL_PATTERNS, DESTRUCTIVE_BASH, TAINT_DURATION_MS, DEFAULT_SESSION_ID, SecurityCategorySnapshotSchema, SupplyChainSnapshotSchema, SecurityTimelineSnapshotSchema, FindingLifecycleSchema, SecurityTimelineFileSchema, DirectionSchema2, SecurityTrendLineSchema, TrendAttributionSchema, SecurityTrendResultSchema, TimeToFixStatsSchema, TimeToFixResultSchema, EMPTY_SUPPLY_CHAIN, SecurityTimelineManager, ALL_CHECKS, STATUS_ICONS, CINotifier, ExclusionSet, PREFIX_PATTERNS, TEST_FILE_PATTERN, MD_FILE_PATTERN, ALL_DOMAINS, SECURITY_PATTERNS, JS_EXT_FALLBACKS, SEVERITY_RANK, SEVERITY_ORDER, SEVERITY_LABELS, VALIDATED_BY_RANK, VALIDATION_SCORES, DOMAIN_BASELINES, FACTOR_WEIGHTS, EVIDENCE_SATURATION, CORROBORATED_AGREEMENT, STANDALONE_AGREEMENT, AGREEMENT_LINE_GAP, COMPLIANCE_DESCRIPTOR, EXPORT_RE, BUG_DETECTION_DESCRIPTOR, SECURITY_DESCRIPTOR, EVAL_PATTERN, SECRET_PATTERNS, SQL_CONCAT_PATTERN, SHELL_EXEC_PATTERN, ARCHITECTURE_DESCRIPTOR, LARGE_FILE_THRESHOLD, VIOLATION_FILE_RE, LEARNINGS_DESCRIPTOR, RELEVANCE_THRESHOLD, ADVERSARIAL_DESCRIPTOR, UNVERIFIED_INPUT_PATTERN, PROMISE_NO_REJECT_PATTERN, UNGUARDED_OPTIONAL_CALL, COMPOSE_NO_AWAIT, FETCH_NO_TIMEOUT, TYPESCRIPT_STRICT_DESCRIPTOR, EXPLICIT_ANY_PATTERN, TS_IGNORE_PATTERN, UNSAFE_AS_UNKNOWN, NON_NULL_ASSERTION, VAGUE_HELPER_NAME, FRONTEND_RACES_DESCRIPTOR, AGENT_DESCRIPTORS, CONDITIONAL_SUBAGENT_DESCRIPTORS, AGENT_RUNNERS, SUBAGENT_ORDER, RISK_KEYWORDS, EXCLUDED_PATH_PATTERNS, ASYNC_UI_SIGNALS, WORD_BOUNDARY, DOWNGRADE_MAP, DEFAULT_PROVIDER_TIERS, SMALL_SUGGESTION_LINE_LIMIT, FILE_LINE_RANGE_PATTERN, FILE_LINE_PATTERN, FILE_ONLY_PATTERN, SECURITY_SENSITIVE_PATH, MIGRATION_PATH, TEST_PATH, CONFIG_PATH, STAGE_DOMAINS, CI_REVIEW_VERDICT_SCHEMA_VERSION, CI_RUNNERS, CI_ASSESSMENTS, CI_REVIEW_DOMAINS, ReviewFindingSchema, CiReviewVerdictSchema, VERDICT_MAP, RUNNER_PRESETS, VERDICT_MAP2, DEFAULT_EXEC_TIMEOUT_MS, DEFAULT_EXEC_MAX_STDOUT_BYTES, STDERR_CAP_BYTES, STDERR_TAIL_BYTES, defaultExecFile, EMPTY_TIER, EM_DASH2, STATUS_RANK, EM_DASH3, DEFAULT_MILESTONE, MAX_CLOSEST_MATCHES, MACHINE_ASSIGNEE_PATTERNS, RETRY_DEFAULTS, GitHubIssuesSyncAdapter, syncMutex, PRIORITY_RANK, PRIORITY_RANK2, POSITION_WEIGHT, DEPENDENTS_WEIGHT, AFFINITY_WEIGHT, ConflictError, DEFAULTS, GitHubHttp, ETagStore, START_MARKER, END_MARKER, SERIALIZER_FIELDS, GitHubIssuesTrackerAdapter, migrate_exports, HASH_RE, DEFAULT_CATCH_ALL, DEFAULT_INTAKE, DEFAULT_MAX_ACTIVE, InteractionTypeSchema, QuestionSchema, ConfirmationSchema, TransitionSchema, EmitInteractionInputSchema, ProjectScanner, SHELL_TEMPLATE, STYLES, SCRIPTS, MockLLMService, llmService, ContentPipeline, BlueprintGenerator, TOKENS_PER_MILLION, fallback_default, LITELLM_PRICING_URL, CACHE_TTL_MS, STALENESS_WARNING_DAYS, MICRODOLLARS_PER_DOLLAR, TOKENS_PER_MILLION2, StructuralStrategy, DEFAULT_TOKEN_BUDGET, CHARS_PER_TOKEN, TRUNCATION_MARKER, TruncationStrategy, CompactionPipeline, STABILITY_LOOKUP, TIER_ORDER, AnthropicCacheAdapter, TIER_ORDER2, OpenAICacheAdapter, TIER_ORDER3, CACHED_CONTENT_MARKER, GeminiCacheAdapter, VERSION, POSTHOG_BATCH_URL, MAX_ATTEMPTS, TIMEOUT_MS, DEFAULT_CAPACITY, CacheMetricsRecorder, RETRY_BACKOFFS_MS, DEFAULT_FLUSH_INTERVAL_MS, DEFAULT_BATCH_SIZE, defaultFetch, defaultWarn, OTLPExporter, SERVICE_NAME_ATTR, SpanKind, ModeSchema, SeveritySchema, TierSchema, StrengthFindingSchema, HarnessConfigSubsetSchema, HookFileSchema, ProjectContextSchema, AuditSummarySchema, AuditResultSchema, SEVERITY_WEIGHTS, clamp, HOOK_SCRIPT_TOKEN, NEVER_BLOCKS, ALWAYS_EXIT_ZERO, EXIT_ZERO_LINE, NONZERO_EXIT, GATE, ERREXIT, strength001NonblockingHooks, BASELINE_REWRITE, strength002Autobaseline, SKIP_RE, strength003SkipList, strength004EmptyThresholds, INIT_SKILL_PATH, DEFAULT_BASIC, strength005LowestTier, AUTO_PATTERN, COMMENT_LINE, NAME_VALUE_LINE, PAT_GATING, REVIEW_SIGNAL, strength006AutoapproveBaseline, CHECK_SIGNAL_MAP, strength007SnapshotSignalMismatch, ALL_RULES, HarnessStrengthAuditor, MAX_TOP_AFFECTED, CompoundLockHeldError, KNOWN_CATEGORIES, ProposalNotFoundError, ProposalConflictError, ALLOWED_FIELD_KEYS, PII_TOKENS, PII_FIELD_DENYLIST, PII_LINE_RE, ALLOWED_SET, PulseAdapterAlreadyRegisteredError, REGISTRY, MOCK_ADAPTER_NAME, ALLOWED_FIELD_SET, adapter, LOOKBACK_RE, MAX_LINES, INLINE_TEMPLATE, TRUNCATION_MARKER2, execFileAsync, FIX_RE, EMPTY_REPO_RE, execFileAsync2, TRACK_CATEGORIES2, STOPWORDS, KEYWORD_TO_CATEGORY, SECTION_ORDER, FILENAME;
14856
14952
  var init_dist3 = __esm({
14857
14953
  "../core/dist/index.mjs"() {
14858
14954
  init_chunk_FYTJQ2ZY();
@@ -19248,6 +19344,10 @@ var init_dist3 = __esm({
19248
19344
  EM_DASH3 = "\u2014";
19249
19345
  DEFAULT_MILESTONE = "Intake";
19250
19346
  MAX_CLOSEST_MATCHES = 3;
19347
+ MACHINE_ASSIGNEE_PATTERNS = [
19348
+ /^orchestrator-[0-9a-f]{8}$/,
19349
+ /^[\w-]+-[0-9a-f]{8}$/
19350
+ ];
19251
19351
  RETRY_DEFAULTS = { maxRetries: 5, baseDelayMs: 1e3 };
19252
19352
  GitHubIssuesSyncAdapter = class {
19253
19353
  token;
@@ -19259,8 +19359,6 @@ var init_dist3 = __esm({
19259
19359
  retryOpts;
19260
19360
  /** Cached GitHub milestone name -> ID mapping */
19261
19361
  milestoneCache = null;
19262
- /** Cached authenticated user login (e.g., "@octocat") */
19263
- authenticatedUserCache = null;
19264
19362
  constructor(options) {
19265
19363
  this.token = options.token;
19266
19364
  this.config = options.config;
@@ -19311,41 +19409,20 @@ var init_dist3 = __esm({
19311
19409
  cache.set(name, data.number);
19312
19410
  return data.number;
19313
19411
  }
19314
- async getAuthenticatedUser() {
19315
- if (this.authenticatedUserCache) return Ok(this.authenticatedUserCache);
19316
- try {
19317
- const response = await fetchWithRetry(
19318
- this.fetchFn,
19319
- `${this.apiBase}/user`,
19320
- { method: "GET", headers: this.headers() },
19321
- this.retryOpts
19322
- );
19323
- if (!response.ok) {
19324
- const text = await response.text();
19325
- return Err(new Error(`GitHub API error ${response.status}: ${text}`));
19326
- }
19327
- const data = await response.json();
19328
- this.authenticatedUserCache = `@${data.login}`;
19329
- return Ok(this.authenticatedUserCache);
19330
- } catch (error) {
19331
- return Err(error instanceof Error ? error : new Error(String(error)));
19332
- }
19333
- }
19334
19412
  /**
19335
- * Resolve an assignee value to a GitHub login.
19413
+ * Resolve a *human* assignee value to a GitHub login.
19336
19414
  * - "@username" → "username"
19337
19415
  * - "username" (no @) → "username"
19338
- * - Orchestrator IDs (hostname-hash like "chads-macbook-pro-8565381d") →
19339
- * resolved via authenticated user, since they're not valid GitHub logins.
19340
- * Returns null if the assignee cannot be resolved.
19416
+ *
19417
+ * Machine (orchestrator) ids are NOT GitHub logins and must never reach the
19418
+ * issue `assignee` field callers gate on `pushAssigneeToExternal` before
19419
+ * calling this, so a machine id should not arrive here. As defense in depth
19420
+ * this returns `null` for one (rather than laundering it to the authenticated
19421
+ * user, the original bug that made machine claims look human-owned).
19341
19422
  */
19342
- async resolveAssigneeLogin(assignee) {
19423
+ resolveAssigneeLogin(assignee) {
19424
+ if (!pushAssigneeToExternal(assignee)) return null;
19343
19425
  if (assignee.startsWith("@")) return assignee.slice(1);
19344
- if (/^orchestrator-[0-9a-f]{8}$/.test(assignee) || /^[\w-]+-[0-9a-f]{8}$/.test(assignee)) {
19345
- const userResult = await this.getAuthenticatedUser();
19346
- if (userResult.ok) return userResult.value.replace(/^@/, "");
19347
- return null;
19348
- }
19349
19426
  return assignee;
19350
19427
  }
19351
19428
  headers() {
@@ -19382,8 +19459,8 @@ var init_dist3 = __esm({
19382
19459
  type: "Feature"
19383
19460
  };
19384
19461
  if (milestoneId) issuePayload.milestone = milestoneId;
19385
- if (feature.assignee) {
19386
- const login = await this.resolveAssigneeLogin(feature.assignee);
19462
+ if (feature.assignee && pushAssigneeToExternal(feature.assignee)) {
19463
+ const login = this.resolveAssigneeLogin(feature.assignee);
19387
19464
  if (login) {
19388
19465
  issuePayload.assignees = [login];
19389
19466
  }
@@ -19423,9 +19500,11 @@ var init_dist3 = __esm({
19423
19500
  }
19424
19501
  if (changes.assignee !== void 0) {
19425
19502
  if (changes.assignee) {
19426
- const login = await this.resolveAssigneeLogin(changes.assignee);
19427
- if (login) {
19428
- patch.assignees = [login];
19503
+ if (pushAssigneeToExternal(changes.assignee)) {
19504
+ const login = this.resolveAssigneeLogin(changes.assignee);
19505
+ if (login) {
19506
+ patch.assignees = [login];
19507
+ }
19429
19508
  }
19430
19509
  } else {
19431
19510
  patch.assignees = [];
@@ -21618,6 +21697,13 @@ export {
21618
21697
  decidePromotionForRow,
21619
21698
  promoteFeature,
21620
21699
  resolveReverseStatus,
21700
+ isMachineAssignee,
21701
+ assigneeInvariantHolds,
21702
+ pushAssigneeToExternal,
21703
+ isClaimableBy,
21704
+ claim,
21705
+ release,
21706
+ setStatus,
21621
21707
  GitHubIssuesSyncAdapter,
21622
21708
  loadTrackerSyncConfig,
21623
21709
  syncToExternal,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-N24HCQA4.js";
3
+ } from "./chunk-A65QO5KN.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  init_dist,
6
6
  paginate
7
- } from "./chunk-N24HCQA4.js";
7
+ } from "./chunk-A65QO5KN.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-LHINSVK4.js");
87
+ const { parseDiff, runReviewPipeline } = await import("./dist-3HW4LCHE.js");
88
88
  const parseResult = parseDiff(input.diff);
89
89
  if (!parseResult.ok) {
90
90
  return {
@@ -27,7 +27,7 @@ var runSecurityScanDefinition = {
27
27
  };
28
28
  async function handleRunSecurityScan(input) {
29
29
  try {
30
- const core = await import("./dist-LHINSVK4.js");
30
+ const core = await import("./dist-3HW4LCHE.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-LHINSVK4.js");
117
+ const core = await import("./dist-3HW4LCHE.js");
118
118
  const projectRoot = sanitizePath(input.path);
119
119
  const manager = new core.SecurityTimelineManager(projectRoot);
120
120
  const trendOptions = {};
@@ -33,7 +33,7 @@ var createSelfReviewDefinition = {
33
33
  };
34
34
  async function handleCreateSelfReview(input) {
35
35
  try {
36
- const { parseDiff, createSelfReview } = await import("./dist-LHINSVK4.js");
36
+ const { parseDiff, createSelfReview } = await import("./dist-3HW4LCHE.js");
37
37
  const parseResult = parseDiff(input.diff);
38
38
  if (!parseResult.ok) {
39
39
  return resultToMcpResponse(parseResult);
@@ -119,7 +119,7 @@ var analyzeDiffDefinition = {
119
119
  };
120
120
  async function handleAnalyzeDiff(input) {
121
121
  try {
122
- const { parseDiff, analyzeDiff } = await import("./dist-LHINSVK4.js");
122
+ const { parseDiff, analyzeDiff } = await import("./dist-3HW4LCHE.js");
123
123
  const parseResult = parseDiff(input.diff);
124
124
  if (!parseResult.ok) {
125
125
  return resultToMcpResponse(parseResult);
@@ -195,7 +195,7 @@ var requestPeerReviewDefinition = {
195
195
  };
196
196
  async function handleRequestPeerReview(input) {
197
197
  try {
198
- const { parseDiff, requestPeerReview } = await import("./dist-LHINSVK4.js");
198
+ const { parseDiff, requestPeerReview } = await import("./dist-3HW4LCHE.js");
199
199
  const parseResult = parseDiff(input.diff);
200
200
  if (!parseResult.ok) {
201
201
  return resultToMcpResponse(parseResult);