@harness-engineering/cli 4.2.0 → 4.3.2

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 (51) hide show
  1. package/dist/{agents-md-BK2UPKUC.js → agents-md-N4ULMUAK.js} +4 -4
  2. package/dist/{analyzer-XRCV63KC-6T2Z32XC.js → analyzer-XRCV63KC-WGRHW2ZM.js} +2 -2
  3. package/dist/{architecture-7PNQZOWV.js → architecture-OIMIBDJC.js} +5 -5
  4. package/dist/{assess-project-2QPCNN7N.js → assess-project-ITSB6W4L.js} +1 -1
  5. package/dist/bin/harness-mcp.js +15 -15
  6. package/dist/bin/harness.js +25 -25
  7. package/dist/{check-phase-gate-RZUSDB3O.js → check-phase-gate-GN4X7HT6.js} +5 -5
  8. package/dist/{chunk-ZIJABBGZ.js → chunk-574JCBYH.js} +2 -2
  9. package/dist/{chunk-E5KJOUHI.js → chunk-5BUHPOCP.js} +7 -7
  10. package/dist/{chunk-YTJIRQON.js → chunk-6NEJPS7W.js} +2 -2
  11. package/dist/{chunk-MHHISNS2.js → chunk-73QZ43DF.js} +2 -2
  12. package/dist/{chunk-RZTLXZHJ.js → chunk-7RH2NTLA.js} +1 -1
  13. package/dist/{chunk-DVG6DDX6.js → chunk-CMU4DNLY.js} +1 -1
  14. package/dist/{chunk-33OU3LYX.js → chunk-CRHQYBDA.js} +48 -12
  15. package/dist/{chunk-J7H5I4FO.js → chunk-D7A5JR7M.js} +2 -2
  16. package/dist/{chunk-K5R2I37T.js → chunk-F3GNBRGL.js} +87 -85
  17. package/dist/{chunk-SI4O2W4H.js → chunk-GTHL3TRZ.js} +2 -2
  18. package/dist/{chunk-J5MFNKE7.js → chunk-H5GN7R43.js} +2 -2
  19. package/dist/{chunk-D5YCPIK6.js → chunk-HJYAXAYQ.js} +2 -2
  20. package/dist/{chunk-DBCC7KIW.js → chunk-JZL2O3RC.js} +5 -5
  21. package/dist/{chunk-V2GJE5J5.js → chunk-LP764MGR.js} +3 -3
  22. package/dist/{chunk-6STDKKAM.js → chunk-LTYVAKWK.js} +2 -2
  23. package/dist/{chunk-KYFXXEK3.js → chunk-MEDRUIRO.js} +3 -3
  24. package/dist/{chunk-DW6HE5DH.js → chunk-MIZQY35D.js} +2 -2
  25. package/dist/{chunk-KHL6WFRL.js → chunk-NEMB36N4.js} +2 -2
  26. package/dist/{chunk-BJDT3VGQ.js → chunk-PT65VY4S.js} +6 -6
  27. package/dist/{chunk-HUC73DZC.js → chunk-T46G6YNI.js} +3 -3
  28. package/dist/{chunk-VC2B275U.js → chunk-TKPAOB2T.js} +2 -2
  29. package/dist/{chunk-HU7NS7JA.js → chunk-U2NOOATF.js} +6 -6
  30. package/dist/{chunk-UEXQMI6K.js → chunk-VJDSB7CI.js} +112 -50
  31. package/dist/{chunk-XACP5P2J.js → chunk-XKILFNRK.js} +2 -2
  32. package/dist/{chunk-RRCS27GT.js → chunk-YVI7ZV73.js} +284 -115
  33. package/dist/{ci-workflow-LGN7LHHO.js → ci-workflow-PA3WL6WK.js} +4 -4
  34. package/dist/{dist-LE5AU7FR.js → dist-BWFFVKEW.js} +20 -4
  35. package/dist/{dist-FBBADRYS.js → dist-ISDDHDOR.js} +17 -3
  36. package/dist/{docs-3BTPSHKE.js → docs-HOTWQJQF.js} +5 -5
  37. package/dist/{engine-GWGU4AMH.js → engine-MVG2SPGD.js} +4 -4
  38. package/dist/{entropy-35XURODP.js → entropy-3B4U2BTF.js} +5 -5
  39. package/dist/{feedback-NDGZZ37W.js → feedback-WIWWDVUC.js} +1 -1
  40. package/dist/{generate-agent-definitions-PYZ3E7SP.js → generate-agent-definitions-KPRHY6X3.js} +5 -5
  41. package/dist/index.js +25 -25
  42. package/dist/{loader-QK2OJXKB.js → loader-SPJ2ZGYW.js} +4 -4
  43. package/dist/{mcp-Z5YMV7TA.js → mcp-VSSIWTII.js} +15 -15
  44. package/dist/{performance-VAYOYPVK.js → performance-JYFS27B3.js} +5 -5
  45. package/dist/{review-pipeline-UETEOWSS.js → review-pipeline-BDT6Y6QV.js} +4 -4
  46. package/dist/{runtime-J7KFACTK.js → runtime-ZEPHPPQJ.js} +4 -4
  47. package/dist/{security-6AIUZXF5.js → security-FWSDTTEW.js} +1 -1
  48. package/dist/{state-events-XQPHGLG5.js → state-events-PBDNQPXT.js} +4 -4
  49. package/dist/{validate-ON7YMVLY.js → validate-XIMNCIKR.js} +5 -5
  50. package/dist/{validate-cross-check-HKKQA7K5.js → validate-cross-check-H2OUHTID.js} +4 -4
  51. package/package.json +8 -8
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  generateAgentsMd
3
- } from "./chunk-VC2B275U.js";
4
- import "./chunk-33OU3LYX.js";
5
- import "./chunk-RZTLXZHJ.js";
6
- import "./chunk-UEXQMI6K.js";
3
+ } from "./chunk-TKPAOB2T.js";
4
+ import "./chunk-CRHQYBDA.js";
5
+ import "./chunk-7RH2NTLA.js";
6
+ import "./chunk-VJDSB7CI.js";
7
7
  import "./chunk-WZJR6SOI.js";
8
8
  import "./chunk-QCLOIUMX.js";
9
9
  import "./chunk-XARGEOJV.js";
@@ -2,8 +2,8 @@ import {
2
2
  EntropyAnalyzer,
3
3
  init_chunk_IHRT6II2,
4
4
  init_chunk_JZ7UO3OF
5
- } from "./chunk-RZTLXZHJ.js";
6
- import "./chunk-UEXQMI6K.js";
5
+ } from "./chunk-7RH2NTLA.js";
6
+ import "./chunk-VJDSB7CI.js";
7
7
  import "./chunk-WZJR6SOI.js";
8
8
  import {
9
9
  init_chunk_7P6ASYW6
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  checkDependenciesDefinition,
3
3
  handleCheckDependencies
4
- } from "./chunk-J7H5I4FO.js";
4
+ } from "./chunk-D7A5JR7M.js";
5
5
  import "./chunk-RC3OI5NK.js";
6
- import "./chunk-XACP5P2J.js";
6
+ import "./chunk-XKILFNRK.js";
7
7
  import "./chunk-W6Y7ZW3Y.js";
8
- import "./chunk-33OU3LYX.js";
9
- import "./chunk-RZTLXZHJ.js";
10
- import "./chunk-UEXQMI6K.js";
8
+ import "./chunk-CRHQYBDA.js";
9
+ import "./chunk-7RH2NTLA.js";
10
+ import "./chunk-VJDSB7CI.js";
11
11
  import "./chunk-WZJR6SOI.js";
12
12
  import "./chunk-QCLOIUMX.js";
13
13
  import "./chunk-XARGEOJV.js";
@@ -3,7 +3,7 @@ import {
3
3
  handleAssessProject,
4
4
  parseToolResponse,
5
5
  resolveLintCommand
6
- } from "./chunk-HU7NS7JA.js";
6
+ } from "./chunk-U2NOOATF.js";
7
7
  import "./chunk-RC3OI5NK.js";
8
8
  import "./chunk-W6Y7ZW3Y.js";
9
9
  import "./chunk-KFQGP6VL.js";
@@ -1,33 +1,33 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  startServer
4
- } from "../chunk-K5R2I37T.js";
5
- import "../chunk-KYFXXEK3.js";
6
- import "../chunk-D5YCPIK6.js";
7
- import "../chunk-J5MFNKE7.js";
8
- import "../chunk-HU7NS7JA.js";
9
- import "../chunk-BJDT3VGQ.js";
10
- import "../chunk-DBCC7KIW.js";
11
- import "../chunk-E5KJOUHI.js";
4
+ } from "../chunk-F3GNBRGL.js";
5
+ import "../chunk-MEDRUIRO.js";
6
+ import "../chunk-HJYAXAYQ.js";
7
+ import "../chunk-H5GN7R43.js";
8
+ import "../chunk-U2NOOATF.js";
9
+ import "../chunk-PT65VY4S.js";
10
+ import "../chunk-JZL2O3RC.js";
11
+ import "../chunk-5BUHPOCP.js";
12
12
  import "../chunk-IOW3MW2K.js";
13
13
  import "../chunk-3ISINLYT.js";
14
14
  import "../chunk-4U5LDFCY.js";
15
- import "../chunk-HUC73DZC.js";
16
- import "../chunk-J7H5I4FO.js";
15
+ import "../chunk-T46G6YNI.js";
16
+ import "../chunk-D7A5JR7M.js";
17
17
  import "../chunk-RC3OI5NK.js";
18
- import "../chunk-XACP5P2J.js";
18
+ import "../chunk-XKILFNRK.js";
19
19
  import "../chunk-W6Y7ZW3Y.js";
20
20
  import "../chunk-WBVCN35T.js";
21
21
  import "../chunk-UTJJJDNN.js";
22
22
  import "../chunk-HIK6OEUF.js";
23
23
  import "../chunk-Y6SUQC32.js";
24
- import "../chunk-6STDKKAM.js";
24
+ import "../chunk-LTYVAKWK.js";
25
25
  import "../chunk-ZCZD7FHU.js";
26
26
  import "../chunk-EBJQ6N4M.js";
27
27
  import "../chunk-3WGJMBKH.js";
28
- import "../chunk-33OU3LYX.js";
29
- import "../chunk-RZTLXZHJ.js";
30
- import "../chunk-UEXQMI6K.js";
28
+ import "../chunk-CRHQYBDA.js";
29
+ import "../chunk-7RH2NTLA.js";
30
+ import "../chunk-VJDSB7CI.js";
31
31
  import "../chunk-WZJR6SOI.js";
32
32
  import "../chunk-QCLOIUMX.js";
33
33
  import "../chunk-XARGEOJV.js";
@@ -3,40 +3,40 @@ import {
3
3
  createProgram,
4
4
  installCommandTelemetry,
5
5
  printFirstRunWelcome
6
- } from "../chunk-RRCS27GT.js";
7
- import "../chunk-ZIJABBGZ.js";
8
- import "../chunk-VC2B275U.js";
9
- import "../chunk-SI4O2W4H.js";
10
- import "../chunk-KHL6WFRL.js";
11
- import "../chunk-DW6HE5DH.js";
12
- import "../chunk-DVG6DDX6.js";
6
+ } from "../chunk-YVI7ZV73.js";
7
+ import "../chunk-574JCBYH.js";
8
+ import "../chunk-TKPAOB2T.js";
9
+ import "../chunk-GTHL3TRZ.js";
10
+ import "../chunk-NEMB36N4.js";
11
+ import "../chunk-MIZQY35D.js";
12
+ import "../chunk-CMU4DNLY.js";
13
13
  import "../chunk-KET4QQZB.js";
14
14
  import "../chunk-YYFSFSB3.js";
15
- import "../chunk-YTJIRQON.js";
15
+ import "../chunk-6NEJPS7W.js";
16
16
  import "../chunk-CQ553GZO.js";
17
17
  import "../chunk-ZP5E7YET.js";
18
- import "../chunk-MHHISNS2.js";
18
+ import "../chunk-73QZ43DF.js";
19
19
  import "../chunk-GISMXMVL.js";
20
20
  import "../chunk-V3ZQUCRH.js";
21
21
  import "../chunk-TEFCFC4H.js";
22
- import "../chunk-V2GJE5J5.js";
22
+ import "../chunk-LP764MGR.js";
23
23
  import {
24
24
  dispatchSkillsFromGit
25
- } from "../chunk-K5R2I37T.js";
26
- import "../chunk-KYFXXEK3.js";
27
- import "../chunk-D5YCPIK6.js";
28
- import "../chunk-J5MFNKE7.js";
29
- import "../chunk-HU7NS7JA.js";
30
- import "../chunk-BJDT3VGQ.js";
31
- import "../chunk-DBCC7KIW.js";
32
- import "../chunk-E5KJOUHI.js";
25
+ } from "../chunk-F3GNBRGL.js";
26
+ import "../chunk-MEDRUIRO.js";
27
+ import "../chunk-HJYAXAYQ.js";
28
+ import "../chunk-H5GN7R43.js";
29
+ import "../chunk-U2NOOATF.js";
30
+ import "../chunk-PT65VY4S.js";
31
+ import "../chunk-JZL2O3RC.js";
32
+ import "../chunk-5BUHPOCP.js";
33
33
  import "../chunk-IOW3MW2K.js";
34
34
  import "../chunk-3ISINLYT.js";
35
35
  import "../chunk-4U5LDFCY.js";
36
- import "../chunk-HUC73DZC.js";
37
- import "../chunk-J7H5I4FO.js";
36
+ import "../chunk-T46G6YNI.js";
37
+ import "../chunk-D7A5JR7M.js";
38
38
  import "../chunk-RC3OI5NK.js";
39
- import "../chunk-XACP5P2J.js";
39
+ import "../chunk-XKILFNRK.js";
40
40
  import "../chunk-W6Y7ZW3Y.js";
41
41
  import "../chunk-WBVCN35T.js";
42
42
  import "../chunk-UTJJJDNN.js";
@@ -45,7 +45,7 @@ import "../chunk-Y6SUQC32.js";
45
45
  import {
46
46
  findConfigFile,
47
47
  loadConfig
48
- } from "../chunk-6STDKKAM.js";
48
+ } from "../chunk-LTYVAKWK.js";
49
49
  import "../chunk-ZCZD7FHU.js";
50
50
  import "../chunk-EBJQ6N4M.js";
51
51
  import {
@@ -58,12 +58,12 @@ import {
58
58
  readCheckState,
59
59
  shouldRunCheck,
60
60
  spawnBackgroundCheck
61
- } from "../chunk-33OU3LYX.js";
61
+ } from "../chunk-CRHQYBDA.js";
62
62
  import {
63
63
  CLI_VERSION
64
64
  } from "../chunk-BM3PWGXQ.js";
65
- import "../chunk-RZTLXZHJ.js";
66
- import "../chunk-UEXQMI6K.js";
65
+ import "../chunk-7RH2NTLA.js";
66
+ import "../chunk-VJDSB7CI.js";
67
67
  import "../chunk-WZJR6SOI.js";
68
68
  import "../chunk-QCLOIUMX.js";
69
69
  import "../chunk-XARGEOJV.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  createCheckPhaseGateCommand,
3
3
  runCheckPhaseGate
4
- } from "./chunk-V2GJE5J5.js";
4
+ } from "./chunk-LP764MGR.js";
5
5
  import "./chunk-Y6SUQC32.js";
6
- import "./chunk-6STDKKAM.js";
6
+ import "./chunk-LTYVAKWK.js";
7
7
  import "./chunk-ZCZD7FHU.js";
8
8
  import "./chunk-EBJQ6N4M.js";
9
9
  import "./chunk-3WGJMBKH.js";
10
- import "./chunk-33OU3LYX.js";
11
- import "./chunk-RZTLXZHJ.js";
12
- import "./chunk-UEXQMI6K.js";
10
+ import "./chunk-CRHQYBDA.js";
11
+ import "./chunk-7RH2NTLA.js";
12
+ import "./chunk-VJDSB7CI.js";
13
13
  import "./chunk-WZJR6SOI.js";
14
14
  import "./chunk-QCLOIUMX.js";
15
15
  import "./chunk-XARGEOJV.js";
@@ -3,11 +3,11 @@ import {
3
3
  } from "./chunk-KET4QQZB.js";
4
4
  import {
5
5
  init_dist
6
- } from "./chunk-33OU3LYX.js";
6
+ } from "./chunk-CRHQYBDA.js";
7
7
  import {
8
8
  Err,
9
9
  Ok
10
- } from "./chunk-UEXQMI6K.js";
10
+ } from "./chunk-VJDSB7CI.js";
11
11
 
12
12
  // src/persona/generators/runtime.ts
13
13
  init_dist();
@@ -7,13 +7,13 @@ import {
7
7
  import {
8
8
  findConfigFile,
9
9
  loadConfig
10
- } from "./chunk-6STDKKAM.js";
10
+ } from "./chunk-LTYVAKWK.js";
11
11
  import {
12
12
  init_dist
13
- } from "./chunk-33OU3LYX.js";
13
+ } from "./chunk-CRHQYBDA.js";
14
14
  import {
15
15
  Ok
16
- } from "./chunk-UEXQMI6K.js";
16
+ } from "./chunk-VJDSB7CI.js";
17
17
 
18
18
  // src/mcp/tools/performance.ts
19
19
  init_dist();
@@ -35,7 +35,7 @@ var checkPerformanceDefinition = {
35
35
  };
36
36
  async function handleCheckPerformance(input) {
37
37
  try {
38
- const { EntropyAnalyzer } = await import("./dist-LE5AU7FR.js");
38
+ const { EntropyAnalyzer } = await import("./dist-BWFFVKEW.js");
39
39
  const typeFilter = input.type ?? "all";
40
40
  const projectPath = sanitizePath(input.path);
41
41
  let entryPoints;
@@ -98,7 +98,7 @@ var getPerfBaselinesDefinition = {
98
98
  };
99
99
  async function handleGetPerfBaselines(input) {
100
100
  try {
101
- const { BaselineManager } = await import("./dist-LE5AU7FR.js");
101
+ const { BaselineManager } = await import("./dist-BWFFVKEW.js");
102
102
  const manager = new BaselineManager(sanitizePath(input.path));
103
103
  const baselines = manager.load();
104
104
  return resultToMcpResponse(
@@ -146,7 +146,7 @@ var updatePerfBaselinesDefinition = {
146
146
  };
147
147
  async function handleUpdatePerfBaselines(input) {
148
148
  try {
149
- const { BaselineManager } = await import("./dist-LE5AU7FR.js");
149
+ const { BaselineManager } = await import("./dist-BWFFVKEW.js");
150
150
  const manager = new BaselineManager(sanitizePath(input.path));
151
151
  manager.save(input.results, input.commitHash);
152
152
  const updated = manager.load();
@@ -176,7 +176,7 @@ var getCriticalPathsDefinition = {
176
176
  };
177
177
  async function handleGetCriticalPaths(input) {
178
178
  try {
179
- const { CriticalPathResolver } = await import("./dist-LE5AU7FR.js");
179
+ const { CriticalPathResolver } = await import("./dist-BWFFVKEW.js");
180
180
  const resolver = new CriticalPathResolver(sanitizePath(input.path));
181
181
  const result = await resolver.resolve();
182
182
  return resultToMcpResponse(Ok(result));
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-33OU3LYX.js";
3
+ } from "./chunk-CRHQYBDA.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
7
- } from "./chunk-UEXQMI6K.js";
7
+ } from "./chunk-VJDSB7CI.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-33OU3LYX.js";
3
+ } from "./chunk-CRHQYBDA.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
7
- } from "./chunk-UEXQMI6K.js";
7
+ } from "./chunk-VJDSB7CI.js";
8
8
 
9
9
  // src/persona/loader.ts
10
10
  init_dist();
@@ -2,7 +2,7 @@ import {
2
2
  Err,
3
3
  Ok,
4
4
  init_dist
5
- } from "./chunk-UEXQMI6K.js";
5
+ } from "./chunk-VJDSB7CI.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
  listPersonas,
6
6
  loadPersona
7
- } from "./chunk-MHHISNS2.js";
7
+ } from "./chunk-73QZ43DF.js";
8
8
  import {
9
9
  GENERATED_HEADER_AGENT,
10
10
  VALID_PLATFORMS,
@@ -31,7 +31,7 @@ import {
31
31
  resetParserCache,
32
32
  resolveFileToLayer,
33
33
  validateDependencies
34
- } from "./chunk-RZTLXZHJ.js";
34
+ } from "./chunk-7RH2NTLA.js";
35
35
  import {
36
36
  AuthAuditEntrySchema,
37
37
  AuthTokenPublicSchema,
@@ -44,6 +44,9 @@ import {
44
44
  GatewayEventSchema,
45
45
  INDEXED_FILE_KINDS,
46
46
  INSIGHTS_KEYS,
47
+ ModelProposalActionSchema,
48
+ ModelProposalContentSchema,
49
+ ModelProposalStatusSchema,
47
50
  NotificationActionSchema,
48
51
  NotificationDeliveryResultSchema,
49
52
  NotificationEnvelopeSchema,
@@ -62,13 +65,16 @@ import {
62
65
  ProposalGateFindingSchema,
63
66
  ProposalGateSchema,
64
67
  ProposalKindSchema,
68
+ ProposalSchema,
65
69
  ProposalSourceSchema,
66
70
  ProposalStatusSchema,
71
+ ProposalTypeSchema,
67
72
  REQUIRED_STRATEGY_SECTIONS,
68
73
  SESSIONS_DEFAULTS,
69
74
  SESSION_SECTION_NAMES,
70
75
  STANDARD_COGNITIVE_MODES,
71
76
  SessionSummarySchema,
77
+ SkillKindSchema,
72
78
  SkillProposalSchema,
73
79
  SkillProvenanceSchema,
74
80
  TokenScopeSchema,
@@ -79,8 +85,9 @@ import {
79
85
  WebhookSubscriptionSchema,
80
86
  init_dist,
81
87
  isErr,
82
- isOk
83
- } from "./chunk-UEXQMI6K.js";
88
+ isOk,
89
+ migrateProposalRecord
90
+ } from "./chunk-VJDSB7CI.js";
84
91
  import {
85
92
  DEFAULT_SKIP_DIRS,
86
93
  GraphStore,
@@ -1362,6 +1369,9 @@ __export(dist_exports, {
1362
1369
  ManifestSchema: () => ManifestSchema,
1363
1370
  MetricResultSchema: () => MetricResultSchema,
1364
1371
  ModeSchema: () => ModeSchema,
1372
+ ModelProposalActionSchema: () => ModelProposalActionSchema,
1373
+ ModelProposalContentSchema: () => ModelProposalContentSchema,
1374
+ ModelProposalStatusSchema: () => ModelProposalStatusSchema,
1365
1375
  ModuleSizeCollector: () => ModuleSizeCollector,
1366
1376
  MonolithStore: () => MonolithStore,
1367
1377
  NoOpExecutor: () => NoOpExecutor,
@@ -1400,8 +1410,10 @@ __export(dist_exports, {
1400
1410
  ProposalGateSchema: () => ProposalGateSchema,
1401
1411
  ProposalKindSchema: () => ProposalKindSchema,
1402
1412
  ProposalNotFoundError: () => ProposalNotFoundError,
1413
+ ProposalSchema: () => ProposalSchema,
1403
1414
  ProposalSourceSchema: () => ProposalSourceSchema,
1404
1415
  ProposalStatusSchema: () => ProposalStatusSchema,
1416
+ ProposalTypeSchema: () => ProposalTypeSchema,
1405
1417
  PulseAdapterAlreadyRegisteredError: () => PulseAdapterAlreadyRegisteredError,
1406
1418
  PulseConfigSchema: () => PulseConfigSchema,
1407
1419
  PulseDbSourceSchema: () => PulseDbSourceSchema,
@@ -1441,6 +1453,7 @@ __export(dist_exports, {
1441
1453
  SharableLayerSchema: () => SharableLayerSchema,
1442
1454
  SharableSecurityRulesSchema: () => SharableSecurityRulesSchema,
1443
1455
  ShardStore: () => ShardStore,
1456
+ SkillKindSchema: () => SkillKindSchema,
1444
1457
  SkillProposalSchema: () => SkillProposalSchema,
1445
1458
  SkillProvenanceSchema: () => SkillProvenanceSchema,
1446
1459
  SolutionDocFrontmatterSchema: () => SolutionDocFrontmatterSchema,
@@ -1567,6 +1580,7 @@ __export(dist_exports, {
1567
1580
  createError: () => createError,
1568
1581
  createFixes: () => createFixes,
1569
1582
  createForbiddenImportFixes: () => createForbiddenImportFixes,
1583
+ createModelProposal: () => createModelProposal,
1570
1584
  createNodeRoadmapIO: () => createNodeRoadmapIO,
1571
1585
  createOrphanedDepFixes: () => createOrphanedDepFixes,
1572
1586
  createOsvClient: () => createOsvClient,
@@ -1697,6 +1711,7 @@ __export(dist_exports, {
1697
1711
  markProtectedFindings: () => markProtectedFindings,
1698
1712
  mcpRules: () => mcpRules,
1699
1713
  migrate: () => migrate_exports,
1714
+ migrateProposalRecord: () => migrateProposalRecord,
1700
1715
  migrateToStreams: () => migrateToStreams,
1701
1716
  needsMergeOursDriverWarning: () => needsMergeOursDriverWarning,
1702
1717
  networkRules: () => networkRules,
@@ -15309,7 +15324,7 @@ function arrayLen(arr) {
15309
15324
  return Array.isArray(arr) ? arr.length : 0;
15310
15325
  }
15311
15326
  async function gatherEntropyBlock(projectPath) {
15312
- const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./analyzer-XRCV63KC-6T2Z32XC.js");
15327
+ const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./analyzer-XRCV63KC-WGRHW2ZM.js");
15313
15328
  const analyzer = new EntropyAnalyzer2({
15314
15329
  rootDir: projectPath,
15315
15330
  include: ["src/**/*.ts", "src/**/*.tsx", "packages/*/src/**/*.ts"],
@@ -15722,7 +15737,8 @@ async function createProposal(projectPath, input) {
15722
15737
  const proposal = SkillProposalSchema.parse({
15723
15738
  id,
15724
15739
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
15725
- kind: validated.kind,
15740
+ kind: "skill",
15741
+ skillKind: validated.kind,
15726
15742
  targetSkill: validated.targetSkill,
15727
15743
  proposedBy: validated.proposedBy,
15728
15744
  source: {
@@ -15733,11 +15749,9 @@ async function createProposal(projectPath, input) {
15733
15749
  content: validated.content,
15734
15750
  status: "open"
15735
15751
  });
15736
- if (proposal.kind === "refinement" && proposal.targetSkill) {
15752
+ if (proposal.skillKind === "refinement" && proposal.targetSkill) {
15737
15753
  const existing = await listProposals(projectPath, { status: "open" });
15738
- const clash = existing.find(
15739
- (p) => p.kind === "refinement" && p.targetSkill === proposal.targetSkill
15740
- );
15754
+ const clash = existing.filter((p) => p.kind === "skill").find((p) => p.skillKind === "refinement" && p.targetSkill === proposal.targetSkill);
15741
15755
  if (clash) {
15742
15756
  throw new ProposalConflictError(
15743
15757
  `An open refinement proposal already exists for skill "${proposal.targetSkill}" (id: ${clash.id})`
@@ -15749,11 +15763,27 @@ async function createProposal(projectPath, input) {
15749
15763
  writeAtomic(proposalPath(projectPath, id), JSON.stringify(proposal, null, 2));
15750
15764
  return proposal;
15751
15765
  }
15766
+ async function createModelProposal(projectPath, content, opts = {}) {
15767
+ const id = `proposal_${randomUUID2().replace(/-/g, "")}`;
15768
+ const record = ProposalSchema.parse({
15769
+ id,
15770
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
15771
+ kind: "model",
15772
+ proposedBy: opts.proposedBy ?? "orchestrator",
15773
+ source: opts.source ?? { justification: content.justification.summary },
15774
+ model: content,
15775
+ status: "open"
15776
+ });
15777
+ const dir = proposalsDir(projectPath);
15778
+ ensureDir(dir);
15779
+ writeAtomic(proposalPath(projectPath, id), JSON.stringify(record, null, 2));
15780
+ return record;
15781
+ }
15752
15782
  async function getProposal(projectPath, id) {
15753
15783
  const file = proposalPath(projectPath, id);
15754
15784
  try {
15755
15785
  const raw = fs49.readFileSync(file, "utf-8");
15756
- const parsed = SkillProposalSchema.safeParse(JSON.parse(raw));
15786
+ const parsed = ProposalSchema.safeParse(JSON.parse(raw));
15757
15787
  return parsed.success ? parsed.data : null;
15758
15788
  } catch {
15759
15789
  return null;
@@ -15774,6 +15804,7 @@ async function listProposals(projectPath, opts = {}) {
15774
15804
  const proposal = await getProposal(projectPath, id);
15775
15805
  if (!proposal) continue;
15776
15806
  if (opts.status && opts.status !== "all" && proposal.status !== opts.status) continue;
15807
+ if (opts.kind && proposal.kind !== opts.kind) continue;
15777
15808
  out.push(proposal);
15778
15809
  }
15779
15810
  out.sort((a, b) => a.createdAt > b.createdAt ? -1 : a.createdAt < b.createdAt ? 1 : 0);
@@ -15782,13 +15813,16 @@ async function listProposals(projectPath, opts = {}) {
15782
15813
  async function updateProposal(projectPath, id, patch) {
15783
15814
  const current = await getProposal(projectPath, id);
15784
15815
  if (!current) throw new ProposalNotFoundError(id);
15785
- const next = SkillProposalSchema.parse({
15816
+ const base = {
15786
15817
  ...current,
15787
15818
  ...patch,
15788
15819
  id: current.id,
15789
15820
  createdAt: current.createdAt,
15790
15821
  kind: current.kind
15791
- });
15822
+ };
15823
+ const next = ProposalSchema.parse(
15824
+ current.kind === "skill" ? { ...base, skillKind: current.skillKind } : base
15825
+ );
15792
15826
  writeAtomic(proposalPath(projectPath, id), JSON.stringify(next, null, 2));
15793
15827
  return next;
15794
15828
  }
@@ -16441,6 +16475,7 @@ var init_dist3 = __esm({
16441
16475
  init_dist();
16442
16476
  init_dist();
16443
16477
  init_dist();
16478
+ init_dist();
16444
16479
  WHATWG_BAD_PORTS = Object.freeze([
16445
16480
  1,
16446
16481
  7,
@@ -24027,6 +24062,7 @@ export {
24027
24062
  ProposalNotFoundError,
24028
24063
  ProposalConflictError,
24029
24064
  createProposal,
24065
+ createModelProposal,
24030
24066
  getProposal,
24031
24067
  listProposals,
24032
24068
  updateProposal,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-RC3OI5NK.js";
4
4
  import {
5
5
  resolveProjectConfig
6
- } from "./chunk-XACP5P2J.js";
6
+ } from "./chunk-XKILFNRK.js";
7
7
  import {
8
8
  sanitizePath
9
9
  } from "./chunk-W6Y7ZW3Y.js";
@@ -38,7 +38,7 @@ async function handleCheckDependencies(input) {
38
38
  const configResult = resolveProjectConfig(projectPath);
39
39
  if (!configResult.ok) return resultToMcpResponse(configResult);
40
40
  try {
41
- const { validateDependencies, TypeScriptParser } = await import("./dist-LE5AU7FR.js");
41
+ const { validateDependencies, TypeScriptParser } = await import("./dist-BWFFVKEW.js");
42
42
  const config = configResult.value;
43
43
  const rawLayers = Array.isArray(config.layers) ? config.layers : [];
44
44
  const layers = rawLayers.map((l) => ({