@iyulab/mloop-mcp 0.13.0 → 0.15.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 (123) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/LICENSE +21 -0
  3. package/README.md +22 -3
  4. package/build/server.d.ts.map +1 -1
  5. package/build/server.js +6 -2
  6. package/build/server.js.map +1 -1
  7. package/build/tasks.d.ts +26 -0
  8. package/build/tasks.d.ts.map +1 -0
  9. package/build/tasks.js +26 -0
  10. package/build/tasks.js.map +1 -0
  11. package/build/tool-hints.d.ts +26 -0
  12. package/build/tool-hints.d.ts.map +1 -0
  13. package/build/tool-hints.js +72 -0
  14. package/build/tool-hints.js.map +1 -0
  15. package/build/tools/analyze.d.ts +5 -0
  16. package/build/tools/analyze.d.ts.map +1 -1
  17. package/build/tools/analyze.js +41 -8
  18. package/build/tools/analyze.js.map +1 -1
  19. package/build/tools/calibrate.d.ts +1 -0
  20. package/build/tools/calibrate.d.ts.map +1 -1
  21. package/build/tools/calibrate.js +4 -1
  22. package/build/tools/calibrate.js.map +1 -1
  23. package/build/tools/compare.d.ts +4 -1
  24. package/build/tools/compare.d.ts.map +1 -1
  25. package/build/tools/compare.js +11 -2
  26. package/build/tools/compare.js.map +1 -1
  27. package/build/tools/detect.d.ts +1 -0
  28. package/build/tools/detect.d.ts.map +1 -1
  29. package/build/tools/detect.js +4 -1
  30. package/build/tools/detect.js.map +1 -1
  31. package/build/tools/docker.d.ts +23 -0
  32. package/build/tools/docker.d.ts.map +1 -0
  33. package/build/tools/docker.js +38 -0
  34. package/build/tools/docker.js.map +1 -0
  35. package/build/tools/embed.d.ts +1 -0
  36. package/build/tools/embed.d.ts.map +1 -1
  37. package/build/tools/embed.js +6 -3
  38. package/build/tools/embed.js.map +1 -1
  39. package/build/tools/encoder.d.ts +5 -1
  40. package/build/tools/encoder.d.ts.map +1 -1
  41. package/build/tools/encoder.js +18 -9
  42. package/build/tools/encoder.js.map +1 -1
  43. package/build/tools/evaluate.d.ts +2 -0
  44. package/build/tools/evaluate.d.ts.map +1 -1
  45. package/build/tools/evaluate.js +9 -1
  46. package/build/tools/evaluate.js.map +1 -1
  47. package/build/tools/explain.d.ts +29 -0
  48. package/build/tools/explain.d.ts.map +1 -0
  49. package/build/tools/explain.js +57 -0
  50. package/build/tools/explain.js.map +1 -0
  51. package/build/tools/feedback.d.ts +3 -0
  52. package/build/tools/feedback.d.ts.map +1 -1
  53. package/build/tools/feedback.js +7 -0
  54. package/build/tools/feedback.js.map +1 -1
  55. package/build/tools/index.d.ts +3 -0
  56. package/build/tools/index.d.ts.map +1 -1
  57. package/build/tools/index.js +3 -0
  58. package/build/tools/index.js.map +1 -1
  59. package/build/tools/info.d.ts +1 -0
  60. package/build/tools/info.d.ts.map +1 -1
  61. package/build/tools/info.js +5 -1
  62. package/build/tools/info.js.map +1 -1
  63. package/build/tools/init.d.ts +15 -0
  64. package/build/tools/init.d.ts.map +1 -1
  65. package/build/tools/init.js +10 -2
  66. package/build/tools/init.js.map +1 -1
  67. package/build/tools/list.d.ts +1 -0
  68. package/build/tools/list.d.ts.map +1 -1
  69. package/build/tools/list.js +4 -1
  70. package/build/tools/list.js.map +1 -1
  71. package/build/tools/logs.d.ts +2 -0
  72. package/build/tools/logs.d.ts.map +1 -1
  73. package/build/tools/logs.js +6 -0
  74. package/build/tools/logs.js.map +1 -1
  75. package/build/tools/predict.d.ts +4 -0
  76. package/build/tools/predict.d.ts.map +1 -1
  77. package/build/tools/predict.js +14 -1
  78. package/build/tools/predict.js.map +1 -1
  79. package/build/tools/prep-plan.d.ts +1 -0
  80. package/build/tools/prep-plan.d.ts.map +1 -1
  81. package/build/tools/prep-plan.js +4 -1
  82. package/build/tools/prep-plan.js.map +1 -1
  83. package/build/tools/promote.d.ts +1 -0
  84. package/build/tools/promote.d.ts.map +1 -1
  85. package/build/tools/promote.js +4 -1
  86. package/build/tools/promote.js.map +1 -1
  87. package/build/tools/quick-start.d.ts +14 -1
  88. package/build/tools/quick-start.d.ts.map +1 -1
  89. package/build/tools/quick-start.js +7 -4
  90. package/build/tools/quick-start.js.map +1 -1
  91. package/build/tools/runtime.d.ts +31 -0
  92. package/build/tools/runtime.d.ts.map +1 -0
  93. package/build/tools/runtime.js +42 -0
  94. package/build/tools/runtime.js.map +1 -0
  95. package/build/tools/sample.d.ts +2 -1
  96. package/build/tools/sample.d.ts.map +1 -1
  97. package/build/tools/sample.js +5 -3
  98. package/build/tools/sample.js.map +1 -1
  99. package/build/tools/status.d.ts +1 -0
  100. package/build/tools/status.d.ts.map +1 -1
  101. package/build/tools/status.js +4 -1
  102. package/build/tools/status.js.map +1 -1
  103. package/build/tools/threshold.d.ts +2 -0
  104. package/build/tools/threshold.d.ts.map +1 -1
  105. package/build/tools/threshold.js +8 -2
  106. package/build/tools/threshold.js.map +1 -1
  107. package/build/tools/train.d.ts +29 -0
  108. package/build/tools/train.d.ts.map +1 -1
  109. package/build/tools/train.js +44 -2
  110. package/build/tools/train.js.map +1 -1
  111. package/build/tools/trigger.d.ts +2 -0
  112. package/build/tools/trigger.d.ts.map +1 -1
  113. package/build/tools/trigger.js +6 -0
  114. package/build/tools/trigger.js.map +1 -1
  115. package/build/tools/validate.d.ts +1 -0
  116. package/build/tools/validate.d.ts.map +1 -1
  117. package/build/tools/validate.js +3 -0
  118. package/build/tools/validate.js.map +1 -1
  119. package/build/training-run.d.ts +7 -1
  120. package/build/training-run.d.ts.map +1 -1
  121. package/build/training-run.js +9 -1
  122. package/build/training-run.js.map +1 -1
  123. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,YAAY;;iBAEvB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,wBAAsB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2BjI;AAED,eAAO,MAAM,UAAU;IACrB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,YAAY;;;iBAGvB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,wBAAsB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA4BjI;AAED,eAAO,MAAM,UAAU;IACrB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -7,11 +7,14 @@ import { parseCliOutput } from '../utils/parser.js';
7
7
  import { formatError } from '../utils/errors.js';
8
8
  export const statusSchema = z.object({
9
9
  projectPath: z.string().describe('Path to MLoop project directory'),
10
+ verbose: z.boolean().optional().describe('Detailed status: more than the overview of each model'),
10
11
  });
11
12
  export async function status(params) {
12
13
  try {
13
- const { projectPath } = params;
14
+ const { projectPath, verbose } = params;
14
15
  const args = ['status', '--json'];
16
+ if (verbose)
17
+ args.push('--verbose');
15
18
  const result = await executeMloop(args, {
16
19
  cwd: projectPath,
17
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CACpE,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAoB;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAE/B,MAAM,IAAI,GAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE;YACtC,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,IAAI,kCAAkC;iBACnD,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;iBACzB,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,sFAAsF;IACnG,OAAO,EAAE,MAAM;CAChB,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;CAClG,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAoB;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAExC,MAAM,IAAI,GAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE;YACtC,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,IAAI,kCAAkC;iBACnD,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;iBACzB,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,sFAAsF;IACnG,OAAO,EAAE,MAAM;CAChB,CAAC"}
@@ -8,9 +8,11 @@ export declare const thresholdSchema: z.ZodObject<{
8
8
  modelName: z.ZodOptional<z.ZodString>;
9
9
  precision: z.ZodOptional<z.ZodNumber>;
10
10
  precisionOf: z.ZodOptional<z.ZodString>;
11
+ guarantee: z.ZodOptional<z.ZodNumber>;
11
12
  dataFile: z.ZodOptional<z.ZodString>;
12
13
  weight: z.ZodOptional<z.ZodString>;
13
14
  clear: z.ZodOptional<z.ZodBoolean>;
15
+ records: z.ZodOptional<z.ZodString>;
14
16
  }, z.core.$strip>;
15
17
  export type ThresholdParams = z.infer<typeof thresholdSchema>;
16
18
  export declare function threshold(params: ThresholdParams): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"threshold.d.ts","sourceRoot":"","sources":["../../src/tools/threshold.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,eAAe;;;;;;;;;iBAS1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,wBAAsB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAyBvI;AAED,eAAO,MAAM,aAAa;IACxB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"threshold.d.ts","sourceRoot":"","sources":["../../src/tools/threshold.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,eAAe;;;;;;;;;;;iBAW1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,wBAAsB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2BvI;AAED,eAAO,MAAM,aAAa;IACxB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -11,13 +11,15 @@ export const thresholdSchema = z.object({
11
11
  modelName: z.string().optional().describe('Model name'),
12
12
  precision: z.number().optional().describe('Target positive precision (above 0, at most 1): the lowest threshold reaching it on dataFile is chosen'),
13
13
  precisionOf: z.string().optional().describe('The class whose precision is targeted, by its label value (default: the positive class) — the negative class too, when a wrong "no" is the costly answer'),
14
+ guarantee: z.number().optional().describe('Risk δ, above 0 and below 1 (e.g. 0.05), with precision: choose the lowest threshold whose precision is certified to reach the target — wrong in at most δ of the files it could be run on — or refuse when the file cannot carry it (mloop >= 0.48)'),
14
15
  dataFile: z.string().optional().describe('Labeled evaluation file the threshold is chosen on (required with precision)'),
15
16
  weight: z.string().optional().describe('Column that weights the rows'),
16
17
  clear: z.boolean().optional().describe('Remove the threshold: the model answers at 0.5 again'),
18
+ records: z.string().optional().describe('For a JSON dataFile: the dotted path to the array whose items are the rows'),
17
19
  });
18
20
  export async function threshold(params) {
19
21
  try {
20
- const { projectPath, experimentId, modelName, precision, precisionOf, dataFile, weight, clear } = params;
22
+ const { projectPath, experimentId, modelName, precision, precisionOf, guarantee, dataFile, weight, clear, records } = params;
21
23
  const args = ['threshold'];
22
24
  if (experimentId)
23
25
  args.push(experimentId);
@@ -27,10 +29,14 @@ export async function threshold(params) {
27
29
  args.push('--precision', String(precision));
28
30
  if (precisionOf)
29
31
  args.push('--precision-of', precisionOf);
32
+ if (guarantee !== undefined)
33
+ args.push('--guarantee', String(guarantee));
30
34
  if (dataFile)
31
35
  args.push('--data', dataFile);
32
36
  if (weight)
33
37
  args.push('--weight', weight);
38
+ if (records)
39
+ args.push('--records', records);
34
40
  if (clear)
35
41
  args.push('--clear');
36
42
  args.push('--json');
@@ -48,7 +54,7 @@ export async function threshold(params) {
48
54
  }
49
55
  export const thresholdTool = {
50
56
  name: 'mloop_threshold',
51
- description: 'A binary classifier\'s decision threshold, as JSON. With precision and dataFile, chooses the probability threshold at which the precision of the positive class — or of precisionOf, the negative one included (mloop >= 0.40) — reaches the target on those labeled rows, keeping the most of that class\'s recall, and writes it beside the model — predict, serve, evaluate and the gate then answer at it, and promote carries it. Without precision, shows the current one; with clear, removes it. Refused for a model that is not binary or gives no probability, or when no threshold reaches the precision (mloop >= 0.39).',
57
+ description: 'A binary classifier\'s decision threshold, as JSON. With precision and dataFile, chooses the probability threshold at which the precision of the positive class — or of precisionOf, the negative one included (mloop >= 0.40) — reaches the target on those labeled rows, keeping the most of that class\'s recall, and writes it beside the model — predict, serve, evaluate and the gate then answer at it, and promote carries it. With guarantee (a risk such as 0.05, mloop >= 0.48) the threshold is the lowest one whose precision is certified, not merely observed on the file — the usual choice is the luckiest reading of its rows, and on synthetic files its true precision fell below the target about half the time; a certified one needs enough rows (29 right answers for 0.90 at 0.05) and is refused, writing nothing, when the file cannot carry it. Without precision, shows the current one; with clear, removes it. Refused for a model that is not binary or gives no probability, or when no threshold reaches the precision (mloop >= 0.39).',
52
58
  handler: threshold,
53
59
  };
54
60
  //# sourceMappingURL=threshold.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"threshold.js","sourceRoot":"","sources":["../../src/tools/threshold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threshold.js","sourceRoot":"","sources":["../../src/tools/threshold.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,26 @@ export declare const trainSchema: z.ZodObject<{
8
8
  dataFile: z.ZodOptional<z.ZodString>;
9
9
  label: z.ZodOptional<z.ZodString>;
10
10
  task: z.ZodOptional<z.ZodEnum<{
11
+ "anomaly-detection": "anomaly-detection";
11
12
  "binary-classification": "binary-classification";
13
+ clustering: "clustering";
14
+ forecasting: "forecasting";
15
+ "image-anomaly": "image-anomaly";
16
+ "image-classification": "image-classification";
12
17
  "multiclass-classification": "multiclass-classification";
18
+ ner: "ner";
19
+ "object-detection": "object-detection";
20
+ "question-answering": "question-answering";
21
+ ranking: "ranking";
22
+ recommendation: "recommendation";
13
23
  regression: "regression";
24
+ "sentence-similarity": "sentence-similarity";
25
+ "text-classification": "text-classification";
26
+ "time-series-anomaly": "time-series-anomaly";
14
27
  }>>;
15
28
  time: z.ZodOptional<z.ZodNumber>;
29
+ maxTrials: z.ZodOptional<z.ZodNumber>;
30
+ epochs: z.ZodOptional<z.ZodNumber>;
16
31
  metric: z.ZodOptional<z.ZodString>;
17
32
  modelName: z.ZodOptional<z.ZodString>;
18
33
  balance: z.ZodOptional<z.ZodString>;
@@ -22,6 +37,20 @@ export declare const trainSchema: z.ZodObject<{
22
37
  weight: z.ZodOptional<z.ZodString>;
23
38
  additionalDataFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
39
  portable: z.ZodOptional<z.ZodBoolean>;
40
+ groupColumn: z.ZodOptional<z.ZodString>;
41
+ encoder: z.ZodOptional<z.ZodString>;
42
+ bankSize: z.ZodOptional<z.ZodNumber>;
43
+ maxRows: z.ZodOptional<z.ZodNumber>;
44
+ samplingStrategy: z.ZodOptional<z.ZodEnum<{
45
+ random: "random";
46
+ stratified: "stratified";
47
+ }>>;
48
+ seed: z.ZodOptional<z.ZodNumber>;
49
+ records: z.ZodOptional<z.ZodString>;
50
+ analyzeData: z.ZodOptional<z.ZodBoolean>;
51
+ generateScript: z.ZodOptional<z.ZodString>;
52
+ autoMerge: z.ZodOptional<z.ZodBoolean>;
53
+ autoTime: z.ZodOptional<z.ZodBoolean>;
25
54
  }, z.core.$strip>;
26
55
  export type TrainParams = z.infer<typeof trainSchema>;
27
56
  export declare function train(params: TrainParams, ctx?: ServerContext): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"train.d.ts","sourceRoot":"","sources":["../../src/tools/train.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAIlE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;iBAkBtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,wBAAsB,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA4CpJ;AAED,eAAO,MAAM,SAAS;IACpB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"train.d.ts","sourceRoot":"","sources":["../../src/tools/train.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAKlE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+BtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,wBAAsB,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA0DpJ;AAED,eAAO,MAAM,SAAS;IACpB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -4,14 +4,17 @@
4
4
  import { z } from 'zod';
5
5
  import { buildArgsWithPositional } from '../executor.js';
6
6
  import { runTraining } from '../training-run.js';
7
+ import { taskSchema } from '../tasks.js';
7
8
  export const trainSchema = z.object({
8
9
  projectPath: z.string().describe('Path to MLoop project directory'),
9
10
  dataFile: z.string().optional().describe('Training data file (default: datasets/train.csv)'),
10
11
  label: z.string().optional().describe('Label column name'),
11
- task: z.enum(['binary-classification', 'multiclass-classification', 'regression'])
12
+ task: taskSchema
12
13
  .optional()
13
- .describe('ML task type'),
14
+ .describe('ML task type (default: the project\'s, from mloop.yaml)'),
14
15
  time: z.number().positive().optional().describe('Training time in seconds'),
16
+ maxTrials: z.number().int().positive().optional().describe('Stop the trainer search after this many trials, within time — the same search on a fast machine and a slow one. Tasks that run no search (clustering, anomaly detection, recommendation, forecasting, deep learning) refuse it'),
17
+ epochs: z.number().int().positive().optional().describe('Epochs a deep-learning task trains for (default 10): text classification, sentence similarity, NER, question answering, object detection. `time` does not shorten such a fit, so this is its one dial on cost — try 2 first to see what an epoch costs. Other tasks refuse it'),
15
18
  metric: z.string().optional().describe('Optimization metric'),
16
19
  modelName: z.string().optional().describe('Model name (default: "default")'),
17
20
  balance: z.string().optional().describe('Class balancing strategy for classification (image classification included — it oversamples its training split): "auto" (balance to 10:1), "none", or target ratio (e.g., "5" for 5:1)'),
@@ -21,6 +24,17 @@ export const trainSchema = z.object({
21
24
  weight: z.string().optional().describe('Column that weights the rows (e.g. 1/π for sampled labels); never a feature'),
22
25
  additionalDataFiles: z.array(z.string()).optional().describe('Files merged after dataFile (e.g. a retraining set from mloop_sample create); a file without the weight column counts its rows 1'),
23
26
  portable: z.boolean().optional().describe('Train only with steps ONNX can express, so mloop_export_onnx can export the model'),
27
+ groupColumn: z.string().optional().describe('Ranking: the column that groups rows into query contexts'),
28
+ encoder: z.string().optional().describe('image-anomaly: the installed image encoder the pictures are embedded with (default: the only one installed — see mloop_encoder)'),
29
+ bankSize: z.number().int().positive().optional().describe('image-anomaly: the most patches the bank holds; a limit keeps a coreset of the patches (default: every patch)'),
30
+ maxRows: z.number().int().positive().optional().describe('Most training rows; more are sampled'),
31
+ samplingStrategy: z.enum(['random', 'stratified']).optional().describe('How rows are sampled when maxRows applies (default: by task)'),
32
+ seed: z.number().int().optional().describe('Random seed for the sampling (default: 42)'),
33
+ records: z.string().optional().describe('For a JSON data file: the dotted path to the array whose items are the rows'),
34
+ analyzeData: z.boolean().optional().describe('Check the data quality and train nothing: the answer carries `analysis` (each finding with a suggested fix; an empty list when there are none) instead of a result'),
35
+ generateScript: z.string().optional().describe('Write a preprocessing script from the data check to this path. With analyzeData the run stops there (the answer carries `script`); without it, it goes on to train'),
36
+ autoMerge: z.boolean().optional().describe('Detect and merge the CSV files of the same schema in datasets/ into the training data'),
37
+ autoTime: z.boolean().optional().describe('true: size the time budget from the data even when mloop.yaml sets one; false: no estimation, the 300 s default budget; leave out: the run decides (a given `time` always wins)'),
24
38
  });
25
39
  export async function train(params, ctx) {
26
40
  try {
@@ -39,6 +53,10 @@ export async function train(params, ctx) {
39
53
  cliParams['task'] = options.task;
40
54
  if (options.time)
41
55
  cliParams['time'] = options.time;
56
+ if (options.maxTrials)
57
+ cliParams['max-trials'] = options.maxTrials;
58
+ if (options.epochs)
59
+ cliParams['epochs'] = options.epochs;
42
60
  if (options.metric)
43
61
  cliParams['metric'] = options.metric;
44
62
  if (options.modelName)
@@ -55,6 +73,30 @@ export async function train(params, ctx) {
55
73
  cliParams['weight'] = options.weight;
56
74
  if (options.portable)
57
75
  cliParams['portable'] = true;
76
+ if (options.groupColumn)
77
+ cliParams['group-column'] = options.groupColumn;
78
+ if (options.encoder)
79
+ cliParams['encoder'] = options.encoder;
80
+ if (options.bankSize)
81
+ cliParams['bank-size'] = options.bankSize;
82
+ if (options.maxRows)
83
+ cliParams['max-rows'] = options.maxRows;
84
+ if (options.samplingStrategy)
85
+ cliParams['sampling-strategy'] = options.samplingStrategy;
86
+ if (options.seed !== undefined)
87
+ cliParams['seed'] = options.seed;
88
+ if (options.records)
89
+ cliParams['records'] = options.records;
90
+ if (options.analyzeData)
91
+ cliParams['analyze-data'] = true;
92
+ if (options.generateScript)
93
+ cliParams['generate-script'] = options.generateScript;
94
+ if (options.autoMerge)
95
+ cliParams['auto-merge'] = true;
96
+ if (options.autoTime === true)
97
+ cliParams['auto-time'] = true;
98
+ if (options.autoTime === false)
99
+ cliParams['no-auto-time'] = true;
58
100
  const args = buildArgsWithPositional('train', positional, cliParams);
59
101
  if (more.length > 0)
60
102
  args.push('--data', dataFile ?? 'datasets/train.csv', ...more);
@@ -1 +1 @@
1
- {"version":3,"file":"train.js","sourceRoot":"","sources":["../../src/tools/train.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"train.js","sourceRoot":"","sources":["../../src/tools/train.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ import { z } from 'zod';
5
5
  export declare const triggerSchema: z.ZodObject<{
6
6
  projectPath: z.ZodString;
7
7
  modelName: z.ZodOptional<z.ZodString>;
8
+ accuracy: z.ZodOptional<z.ZodNumber>;
9
+ feedback: z.ZodOptional<z.ZodNumber>;
8
10
  }, z.core.$strip>;
9
11
  export type TriggerParams = z.infer<typeof triggerSchema>;
10
12
  export declare function trigger(params: TriggerParams): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../src/tools/trigger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,aAAa;;;iBAGxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,wBAAsB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAyBnI;AAED,eAAO,MAAM,WAAW;IACtB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../src/tools/trigger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,aAAa;;;;;iBAKxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,wBAAsB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2BnI;AAED,eAAO,MAAM,WAAW;IACtB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -8,12 +8,18 @@ import { formatError } from '../utils/errors.js';
8
8
  export const triggerSchema = z.object({
9
9
  projectPath: z.string().describe('Path to MLoop project directory'),
10
10
  modelName: z.string().optional().describe('Model name (default: "default")'),
11
+ accuracy: z.number().min(0).max(1).optional().describe('Accuracy threshold (0.0-1.0): the accuracy condition is met when feedback accuracy drops below it (default: the project\'s)'),
12
+ feedback: z.number().int().nonnegative().optional().describe('Feedback volume threshold: the volume condition is met once this many feedback rows have come in (default: the project\'s)'),
11
13
  });
12
14
  export async function trigger(params) {
13
15
  try {
14
16
  const cliParams = {};
15
17
  if (params.modelName)
16
18
  cliParams['name'] = params.modelName;
19
+ if (params.accuracy !== undefined)
20
+ cliParams['accuracy'] = params.accuracy;
21
+ if (params.feedback !== undefined)
22
+ cliParams['feedback'] = params.feedback;
17
23
  cliParams['json'] = true;
18
24
  const args = buildArgsWithPositional('trigger', ['check'], cliParams);
19
25
  const result = await executeMloop(args, { cwd: params.projectPath });
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/tools/trigger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAC7E,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAqB;IACjD,IAAI,CAAC;QACH,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,SAAS;YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;QAC3D,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAEzB,MAAM,IAAI,GAAG,uBAAuB,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,IAAI,mCAAmC;iBACpD,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;iBACzB,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,2jBAA2jB;IACxkB,OAAO,EAAE,OAAO;CACjB,CAAC"}
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/tools/trigger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC5E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6HAA6H,CAAC;IACrL,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4HAA4H,CAAC;CAC3L,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAqB;IACjD,IAAI,CAAC;QACH,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,SAAS;YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;QAC3D,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3E,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3E,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAEzB,MAAM,IAAI,GAAG,uBAAuB,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,IAAI,mCAAmC;iBACpD,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;iBACzB,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,2jBAA2jB;IACxkB,OAAO,EAAE,OAAO;CACjB,CAAC"}
@@ -4,6 +4,7 @@
4
4
  import { z } from 'zod';
5
5
  export declare const validateSchema: z.ZodObject<{
6
6
  projectPath: z.ZodString;
7
+ verbose: z.ZodOptional<z.ZodBoolean>;
7
8
  }, z.core.$strip>;
8
9
  export type ValidateParams = z.infer<typeof validateSchema>;
9
10
  export declare function validate(params: ValidateParams): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;iBAEzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAqBrI;AAED,eAAO,MAAM,YAAY;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAsBrI;AAED,eAAO,MAAM,YAAY;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -7,10 +7,13 @@ import { parseCliOutput } from '../utils/parser.js';
7
7
  import { formatError } from '../utils/errors.js';
8
8
  export const validateSchema = z.object({
9
9
  projectPath: z.string().describe('Path to MLoop project directory'),
10
+ verbose: z.boolean().optional().describe('Detailed validation results'),
10
11
  });
11
12
  export async function validate(params) {
12
13
  try {
13
14
  const args = ['validate', '--json'];
15
+ if (params.verbose)
16
+ args.push('--verbose');
14
17
  const result = await executeMloop(args, { cwd: params.projectPath });
15
18
  const output = parseCliOutput(result.stdout);
16
19
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CACpE,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAsB;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,IAAI,yBAAyB;iBAC1C,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;iBACzB,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,2GAA2G;IACxH,OAAO,EAAE,QAAQ;CAClB,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CACxE,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAsB;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,IAAI,yBAAyB;iBAC1C,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;iBACzB,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,2GAA2G;IACxH,OAAO,EAAE,QAAQ;CAClB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * stops the run, and the answer is the run's own result rather than its console text.
4
4
  */
5
5
  import type { ServerContext } from '@modelcontextprotocol/server';
6
- /** One line of `mloop train --json`: phase · trial · warning · result · error. */
6
+ /** One line of `mloop train --json`: phase · trial · warning · result · promotion · analysis · script · error. */
7
7
  interface TrainEvent {
8
8
  event: string;
9
9
  [key: string]: unknown;
@@ -11,10 +11,16 @@ interface TrainEvent {
11
11
  /**
12
12
  * What a finished run answers: the `result` event, the `promotion` event (whether it went to production, and why not),
13
13
  * and the warnings it raised on the way. `promotion` is null from a CLI older than the event.
14
+ *
15
+ * A run that only checks the data (`--analyze-data`) trains nothing and has no `result`: it answers with `analysis`
16
+ * (the findings, an empty list when there were none) and, with `--generate-script`, `script` (the path it wrote). Both
17
+ * are null from a CLI older than those events, whose `--analyze-data --json` said nothing at all.
14
18
  */
15
19
  export interface TrainingOutcome {
16
20
  result: TrainEvent | null;
17
21
  promotion: TrainEvent | null;
22
+ analysis: TrainEvent | null;
23
+ script: TrainEvent | null;
18
24
  warnings: string[];
19
25
  }
20
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"training-run.d.ts","sourceRoot":"","sources":["../src/training-run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAIlE,kFAAkF;AAClF,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAKD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAE9E;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,CAAC,EAAE,aAAa,GAClB,OAAO,CAAC,eAAe,CAAC,CAoE1B"}
1
+ {"version":3,"file":"training-run.d.ts","sourceRoot":"","sources":["../src/training-run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAIlE,kHAAkH;AAClH,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAKD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAE9E;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,CAAC,EAAE,aAAa,GAClB,OAAO,CAAC,eAAe,CAAC,CA4E1B"}
@@ -28,6 +28,8 @@ export async function runTraining(args, cwd, timeSeconds, ctx) {
28
28
  const warnings = [];
29
29
  let result = null;
30
30
  let promotion = null;
31
+ let analysis = null;
32
+ let script = null;
31
33
  const progress = (message, force) => {
32
34
  if (token === undefined || ctx === undefined)
33
35
  return;
@@ -68,6 +70,12 @@ export async function runTraining(args, cwd, timeSeconds, ctx) {
68
70
  case 'promotion':
69
71
  promotion = event;
70
72
  break;
73
+ case 'analysis':
74
+ analysis = event;
75
+ break;
76
+ case 'script':
77
+ script = event;
78
+ break;
71
79
  }
72
80
  };
73
81
  try {
@@ -88,7 +96,7 @@ export async function runTraining(args, cwd, timeSeconds, ctx) {
88
96
  }
89
97
  throw new Error(formatError(error));
90
98
  }
91
- return { result, promotion, warnings };
99
+ return { result, promotion, analysis, script, warnings };
92
100
  }
93
101
  function parse(line) {
94
102
  if (!line.startsWith('{'))
@@ -1 +1 @@
1
- {"version":3,"file":"training-run.js","sourceRoot":"","sources":["../src/training-run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAkBnE,gGAAgG;AAChG,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAA+B;IAC7D,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC;AACtG,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAc,EACd,GAAW,EACX,WAA+B,EAC/B,GAAmB;IAEnB,MAAM,KAAK,GAAG,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAsB,IAAI,CAAC;IACrC,IAAI,SAAS,GAAsB,IAAI,CAAC;IAExC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,KAAc,EAAE,EAAE;QACnD,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,QAAQ,GAAG,oBAAoB;YAAE,OAAO;QAC5D,QAAQ,GAAG,GAAG,CAAC;QACf,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YACrB,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE;gBACN,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,EAAE,IAAI;gBAChB,OAAO,EAAE,GAAG,OAAO,MAAM,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,WAAW,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;aACrH;SACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,OAAO;gBACV,QAAQ,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,OAAO,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC;gBACT,mGAAmG;gBACnG,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnH,QAAQ,CAAC,SAAS,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpG,MAAM;YACR,CAAC;YACD,KAAK,SAAS;gBACZ,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM;YACR,KAAK,WAAW;gBACd,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE;YACtC,GAAG;YACH,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC;YACrC,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oGAAoG;QACpG,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;iBAChD,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC;iBACpD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"training-run.js","sourceRoot":"","sources":["../src/training-run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAwBnE,gGAAgG;AAChG,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAA+B;IAC7D,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC;AACtG,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAc,EACd,GAAW,EACX,WAA+B,EAC/B,GAAmB;IAEnB,MAAM,KAAK,GAAG,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAsB,IAAI,CAAC;IACrC,IAAI,SAAS,GAAsB,IAAI,CAAC;IACxC,IAAI,QAAQ,GAAsB,IAAI,CAAC;IACvC,IAAI,MAAM,GAAsB,IAAI,CAAC;IAErC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,KAAc,EAAE,EAAE;QACnD,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,QAAQ,GAAG,oBAAoB;YAAE,OAAO;QAC5D,QAAQ,GAAG,GAAG,CAAC;QACf,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YACrB,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE;gBACN,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,EAAE,IAAI;gBAChB,OAAO,EAAE,GAAG,OAAO,MAAM,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,WAAW,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;aACrH;SACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,OAAO;gBACV,QAAQ,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,OAAO,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC;gBACT,mGAAmG;gBACnG,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnH,QAAQ,CAAC,SAAS,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpG,MAAM;YACR,CAAC;YACD,KAAK,SAAS;gBACZ,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM;YACR,KAAK,WAAW;gBACd,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;YACR,KAAK,UAAU;gBACb,QAAQ,GAAG,KAAK,CAAC;gBACjB,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE;YACtC,GAAG;YACH,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC;YACrC,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oGAAoG;QACpG,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;iBAChD,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC;iBACpD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iyulab/mloop-mcp",
3
- "version": "0.13.0",
3
+ "version": "0.15.0",
4
4
  "description": "MCP server for MLoop CLI - ML.NET MLOps tool",
5
5
  "type": "module",
6
6
  "main": "build/index.js",
@@ -34,8 +34,7 @@
34
34
  "license": "MIT",
35
35
  "repository": {
36
36
  "type": "git",
37
- "url": "https://github.com/iyulab/MLoop.git",
38
- "directory": "mcp"
37
+ "url": "https://github.com/iyulab/mloop-mcp.git"
39
38
  },
40
39
  "engines": {
41
40
  "node": ">=22.0.0"
@@ -53,6 +52,7 @@
53
52
  "files": [
54
53
  "build",
55
54
  "README.md",
56
- "CHANGELOG.md"
55
+ "CHANGELOG.md",
56
+ "LICENSE"
57
57
  ]
58
58
  }