@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":"detect.d.ts","sourceRoot":"","sources":["../../src/tools/detect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,YAAY;;;;;;iBAMvB,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,CAmCjI;AAED,eAAO,MAAM,UAAU;IACrB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/tools/detect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,YAAY;;;;;;;iBAOvB,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,CAoCjI;AAED,eAAO,MAAM,UAAU;IACrB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -12,11 +12,14 @@ export const detectSchema = z.object({
12
12
  threshold: z.number().positive().optional().describe("Score above which a point is an anomaly (> 0; the score is a point's saliency relative to the points before it; default 3)"),
13
13
  sensitivity: z.number().gt(0).lt(100).optional().describe('Coverage of the control limits in percent (0-100, exclusive; 99.73 = 3 sigma; default 99.73)'),
14
14
  output: z.string().optional().describe('Also write the full per-point result to this CSV file'),
15
+ records: z.string().optional().describe('For a JSON data file: the dotted path to the array whose items are the rows'),
15
16
  });
16
17
  export async function detect(params) {
17
18
  try {
18
- const { dataPath, column, threshold, sensitivity, output } = params;
19
+ const { dataPath, column, threshold, sensitivity, output, records } = params;
19
20
  const cliParams = {};
21
+ if (records)
22
+ cliParams['records'] = records;
20
23
  if (column)
21
24
  cliParams['column'] = column;
22
25
  if (threshold !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/tools/detect.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;AACjD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAChF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0EAA0E,CAAC;IAClH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4HAA4H,CAAC;IAClL,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;IACzJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;CAChG,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAoB;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAEpE,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,IAAI,MAAM;YAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;QAChE,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;QACtE,IAAI,MAAM;YAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QACzC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAEzB,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;QAEtE,4FAA4F;QAC5F,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE;YACtC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU,IAAI,sBAAsB;iBAC3C,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,gcAAgc;IAC7c,OAAO,EAAE,MAAM;CAChB,CAAC"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/tools/detect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * mloop_docker tool - Generate the Docker configuration that serves a model
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const dockerSchema: z.ZodObject<{
6
+ projectPath: z.ZodString;
7
+ modelName: z.ZodOptional<z.ZodString>;
8
+ port: z.ZodOptional<z.ZodNumber>;
9
+ }, z.core.$strip>;
10
+ export type DockerParams = z.infer<typeof dockerSchema>;
11
+ export declare function docker(params: DockerParams): Promise<{
12
+ content: Array<{
13
+ type: 'text';
14
+ text: string;
15
+ }>;
16
+ isError?: boolean;
17
+ }>;
18
+ export declare const dockerTool: {
19
+ name: string;
20
+ description: string;
21
+ handler: typeof docker;
22
+ };
23
+ //# sourceMappingURL=docker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/tools/docker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,YAAY;;;;iBAIvB,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,CAmBjI;AAED,eAAO,MAAM,UAAU;IACrB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * mloop_docker tool - Generate the Docker configuration that serves a model
3
+ */
4
+ import { z } from 'zod';
5
+ import { executeMloop } from '../executor.js';
6
+ import { parseCliOutput } from '../utils/parser.js';
7
+ import { formatError } from '../utils/errors.js';
8
+ export const dockerSchema = z.object({
9
+ projectPath: z.string().describe('Path to MLoop project directory (the files are written here)'),
10
+ modelName: z.string().optional().describe('Model to containerize (default: "default")'),
11
+ port: z.number().int().positive().max(65535).optional().describe('Port the API is exposed on (default 5000)'),
12
+ });
13
+ export async function docker(params) {
14
+ try {
15
+ const { projectPath, modelName, port } = params;
16
+ const args = ['docker'];
17
+ if (modelName)
18
+ args.push('--name', modelName);
19
+ if (port !== undefined)
20
+ args.push('--port', String(port));
21
+ const result = await executeMloop(args, { cwd: projectPath });
22
+ return {
23
+ content: [{ type: 'text', text: parseCliOutput(result.stdout) || 'Docker files generated.' }],
24
+ };
25
+ }
26
+ catch (error) {
27
+ return {
28
+ content: [{ type: 'text', text: formatError(error) }],
29
+ isError: true,
30
+ };
31
+ }
32
+ }
33
+ export const dockerTool = {
34
+ name: 'mloop_docker',
35
+ description: 'Generate the Docker configuration that serves a project\'s model with `mloop serve` (a Dockerfile and a docker-compose.yml, whose compose service mounts the project\'s models read-only and needs a JWT_SIGNING_KEY of 32+ characters to start) into the project directory. Files already there are overwritten. Answers the console text: this command has no JSON output.',
36
+ handler: docker,
37
+ };
38
+ //# sourceMappingURL=docker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/tools/docker.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,8DAA8D,CAAC;IAChG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CAC9G,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAoB;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAEhD,MAAM,IAAI,GAAa,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,yBAAyB,EAAE,CAAC;SAC9F,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,8WAA8W;IAC3X,OAAO,EAAE,MAAM;CAChB,CAAC"}
@@ -8,6 +8,7 @@ export declare const embedSchema: z.ZodObject<{
8
8
  texts: z.ZodOptional<z.ZodArray<z.ZodString>>;
9
9
  encoder: z.ZodOptional<z.ZodString>;
10
10
  patches: z.ZodOptional<z.ZodBoolean>;
11
+ textFile: z.ZodOptional<z.ZodString>;
11
12
  }, z.core.$strip>;
12
13
  export type EmbedParams = z.infer<typeof embedSchema>;
13
14
  export declare function embed(params: EmbedParams): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/tools/embed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW;;;;;;iBAMtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,wBAAsB,KAAK,CAAC,MAAM,EAAE,WAAW,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,CA2B/H;AAED,eAAO,MAAM,SAAS;IACpB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/tools/embed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW;;;;;;;iBAOtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,wBAAsB,KAAK,CAAC,MAAM,EAAE,WAAW,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,CA4B/H;AAED,eAAO,MAAM,SAAS;IACpB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -11,12 +11,13 @@ export const embedSchema = z.object({
11
11
  texts: z.array(z.string()).max(256).optional().describe('Texts to embed with a text encoder, at most 256 — instead of images'),
12
12
  encoder: z.string().optional().describe('The encoder to use (mloop_encoder list); may be left out when only one of the kind is installed'),
13
13
  patches: z.boolean().optional().describe('Also one vector per patch of each image, on the encoder\'s grid (images only, at most 8)'),
14
+ textFile: z.string().optional().describe('A UTF-8 file of texts to embed, one per line (at most 256 together with texts) — instead of images'),
14
15
  });
15
16
  export async function embed(params) {
16
- const { projectPath, images = [], texts = [], encoder, patches } = params;
17
- if ((images.length === 0) === (texts.length === 0)) {
17
+ const { projectPath, images = [], texts = [], textFile, encoder, patches } = params;
18
+ if ((images.length === 0) === (texts.length === 0 && !textFile)) {
18
19
  return {
19
- content: [{ type: 'text', text: 'Give either images or texts to embed (one of the two, not both).' }],
20
+ content: [{ type: 'text', text: 'Give either images or texts (texts or textFile) to embed (one of the two, not both).' }],
20
21
  isError: true,
21
22
  };
22
23
  }
@@ -24,6 +25,8 @@ export async function embed(params) {
24
25
  const args = ['embed', ...images];
25
26
  for (const text of texts)
26
27
  args.push('--text', text);
28
+ if (textFile)
29
+ args.push('--text-file', textFile);
27
30
  if (encoder)
28
31
  args.push('--encoder', encoder);
29
32
  if (patches)
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/tools/embed.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,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gFAAgF,CAAC;IAClH,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAC1G,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IAC9H,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iGAAiG,CAAC;IAC1I,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0FAA0F,CAAC;CACrI,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAAmB;IAC7C,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kEAAkE,EAAE,CAAC;YACrG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAa,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,wQAAwQ;IACrR,OAAO,EAAE,KAAK;CACf,CAAC"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/tools/embed.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,19 @@
1
1
  /**
2
- * mloop_encoder tool - List, install or remove pretrained encoders
2
+ * mloop_encoder tool - List, install, add or remove pretrained encoders
3
3
  */
4
4
  import { z } from 'zod';
5
5
  export declare const encoderSchema: z.ZodObject<{
6
6
  projectPath: z.ZodString;
7
7
  action: z.ZodEnum<{
8
+ add: "add";
8
9
  install: "install";
9
10
  list: "list";
10
11
  remove: "remove";
11
12
  }>;
12
13
  encoder: z.ZodOptional<z.ZodString>;
14
+ definition: z.ZodOptional<z.ZodString>;
15
+ model: z.ZodOptional<z.ZodString>;
16
+ tokenizer: z.ZodOptional<z.ZodString>;
13
17
  }, z.core.$strip>;
14
18
  export type EncoderParams = z.infer<typeof encoderSchema>;
15
19
  export declare function encoder(params: EncoderParams): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/tools/encoder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,aAAa;;;;;;;;iBAIxB,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":"encoder.d.ts","sourceRoot":"","sources":["../../src/tools/encoder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,aAAa;;;;;;;;;;;;iBAOxB,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,CA8BnI;AAED,eAAO,MAAM,WAAW;IACtB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * mloop_encoder tool - List, install or remove pretrained encoders
2
+ * mloop_encoder tool - List, install, add or remove pretrained encoders
3
3
  */
4
4
  import { z } from 'zod';
5
5
  import { executeMloop } from '../executor.js';
@@ -7,24 +7,33 @@ import { parseCliOutput } from '../utils/parser.js';
7
7
  import { formatError } from '../utils/errors.js';
8
8
  export const encoderSchema = z.object({
9
9
  projectPath: z.string().describe('Working directory (encoders are kept per user, not per project)'),
10
- action: z.enum(['list', 'install', 'remove']).describe('list the installed encoders, install one from the catalog, or remove one'),
11
- encoder: z.string().optional().describe('The encoder id — for install, a catalog id (dinov2-small for images, multilingual-minilm for text)'),
10
+ action: z.enum(['list', 'install', 'add', 'remove']).describe('list the installed encoders, install one from the catalog, add one of your own from its files, or remove one'),
11
+ encoder: z.string().optional().describe('The encoder id — for install, a catalog id (dinov2-small for images, multilingual-minilm for text); for remove, an installed one'),
12
+ definition: z.string().optional().describe('add: the encoder\'s definition file (encoder.json)'),
13
+ model: z.string().optional().describe('add: the encoder\'s ONNX graph'),
14
+ tokenizer: z.string().optional().describe('add, a text encoder: its tokenizer model (SentencePiece .model)'),
12
15
  });
13
16
  export async function encoder(params) {
14
- const { projectPath, action, encoder: id } = params;
15
- if (action !== 'list' && !id) {
17
+ const { projectPath, action, encoder: id, definition, model, tokenizer } = params;
18
+ if (action === 'add') {
19
+ if (!definition || !model)
20
+ return { content: [{ type: 'text', text: '"add" needs definition (the encoder.json) and model (its ONNX graph).' }], isError: true };
21
+ }
22
+ else if (action !== 'list' && !id) {
16
23
  return { content: [{ type: 'text', text: `Name the encoder to ${action}.` }], isError: true };
17
24
  }
18
25
  try {
19
- // remove has no --json: its answer is a confirmation line.
26
+ // add and remove have no --json: their answer is a confirmation line.
20
27
  const args = action === 'list'
21
28
  ? ['encoder', 'list', '--json']
22
29
  : action === 'install'
23
30
  ? ['encoder', 'install', id, '--json']
24
- : ['encoder', 'remove', id];
31
+ : action === 'add'
32
+ ? ['encoder', 'add', definition, '--model', model, ...(tokenizer ? ['--tokenizer', tokenizer] : [])]
33
+ : ['encoder', 'remove', id];
25
34
  const result = await executeMloop(args, { cwd: projectPath });
26
35
  return {
27
- content: [{ type: 'text', text: parseCliOutput(result.stdout) || `Encoder '${id}' removed.` }],
36
+ content: [{ type: 'text', text: parseCliOutput(result.stdout) || (action === 'add' ? 'Encoder added.' : `Encoder '${id}' removed.`) }],
28
37
  };
29
38
  }
30
39
  catch (error) {
@@ -36,7 +45,7 @@ export async function encoder(params) {
36
45
  }
37
46
  export const encoderTool = {
38
47
  name: 'mloop_encoder',
39
- description: 'Manage the pretrained encoders mloop_embed and encoder-read text columns run: list the installed ones, install a catalog encoder (its weights are downloaded and checked against a pinned SHA-256 — dinov2-small ~88 MB, multilingual-minilm ~470 MB), or remove one.',
48
+ description: 'Manage the pretrained encoders mloop_embed and encoder-read text columns run: list the installed ones, install a catalog encoder (its weights are downloaded and checked against a pinned SHA-256 — dinov2-small ~88 MB, multilingual-minilm ~470 MB), add one of your own from its definition file and ONNX graph (and tokenizer, for a text encoder), or remove one.',
40
49
  handler: encoder,
41
50
  };
42
51
  //# sourceMappingURL=encoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/tools/encoder.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,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IACnG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,0EAA0E,CAAC;IAClI,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oGAAoG,CAAC;CAC9I,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAqB;IACjD,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IACpD,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,MAAM,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChG,CAAC;IAED,IAAI,CAAC;QACH,2DAA2D;QAC3D,MAAM,IAAI,GAAa,MAAM,KAAK,MAAM;YACtC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC;YAC/B,CAAC,CAAC,MAAM,KAAK,SAAS;gBACpB,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,EAAG,EAAE,QAAQ,CAAC;gBACvC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAG,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,YAAY,EAAE,CAAC;SAC/F,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,uQAAuQ;IACpR,OAAO,EAAE,OAAO;CACjB,CAAC"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/tools/encoder.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export declare const evaluateSchema: z.ZodObject<{
9
9
  experimentId: z.ZodOptional<z.ZodString>;
10
10
  sliceBy: z.ZodOptional<z.ZodString>;
11
11
  weight: z.ZodOptional<z.ZodString>;
12
+ normalClass: z.ZodOptional<z.ZodString>;
13
+ records: z.ZodOptional<z.ZodString>;
12
14
  against: z.ZodOptional<z.ZodString>;
13
15
  }, z.core.$strip>;
14
16
  export type EvaluateParams = z.infer<typeof evaluateSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;;;;;;iBAQzB,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,CA0DrI;AAED,eAAO,MAAM,YAAY;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;;;;;;;;iBAUzB,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,CAgErI;AAED,eAAO,MAAM,YAAY;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -12,11 +12,13 @@ export const evaluateSchema = z.object({
12
12
  experimentId: z.string().optional().describe('Specific experiment to evaluate'),
13
13
  sliceBy: z.string().optional().describe('Also report the metrics for each value of this column of the test data'),
14
14
  weight: z.string().optional().describe('Column that weights the test rows (defaults to the experiment\'s training weight when the file has it)'),
15
+ normalClass: z.string().optional().describe('image-anomaly: the subfolder of the test folder that holds the normal pictures (default: normal, good or ok); every other subfolder is anomalous (mloop >= 0.47)'),
16
+ records: z.string().optional().describe('For a JSON test file: the dotted path to the array whose items are the rows'),
15
17
  against: z.string().optional().describe('Also evaluate this experiment id (or "production") on the same rows and weights, and compare the two row by row (mloop >= 0.39)'),
16
18
  });
17
19
  export async function evaluate(params) {
18
20
  try {
19
- const { projectPath, dataFile, modelName, experimentId, sliceBy, weight, against } = params;
21
+ const { projectPath, dataFile, modelName, experimentId, sliceBy, weight, against, normalClass, records } = params;
20
22
  // CLI usage: mloop evaluate [<experiment-id> [<test-data>]] [options]
21
23
  // Both experiment-id and test-data are positional arguments
22
24
  // Note: test-data can only be specified after experiment-id (positional order)
@@ -48,6 +50,12 @@ export async function evaluate(params) {
48
50
  if (against) {
49
51
  args.push('--against', against);
50
52
  }
53
+ if (normalClass) {
54
+ args.push('--normal-class', normalClass);
55
+ }
56
+ if (records) {
57
+ args.push('--records', records);
58
+ }
51
59
  args.push('--json');
52
60
  const result = await executeMloop(args, {
53
61
  cwd: projectPath,
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * mloop_explain tool - Which input columns a trained model relies on
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const explainSchema: z.ZodObject<{
6
+ projectPath: z.ZodString;
7
+ experimentId: z.ZodOptional<z.ZodString>;
8
+ modelName: z.ZodOptional<z.ZodString>;
9
+ dataFile: z.ZodOptional<z.ZodString>;
10
+ weight: z.ZodOptional<z.ZodString>;
11
+ repeats: z.ZodOptional<z.ZodNumber>;
12
+ rows: z.ZodOptional<z.ZodNumber>;
13
+ seed: z.ZodOptional<z.ZodNumber>;
14
+ records: z.ZodOptional<z.ZodString>;
15
+ }, z.core.$strip>;
16
+ export type ExplainParams = z.infer<typeof explainSchema>;
17
+ export declare function explain(params: ExplainParams): Promise<{
18
+ content: Array<{
19
+ type: 'text';
20
+ text: string;
21
+ }>;
22
+ isError?: boolean;
23
+ }>;
24
+ export declare const explainTool: {
25
+ name: string;
26
+ description: string;
27
+ handler: typeof explain;
28
+ };
29
+ //# sourceMappingURL=explain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../src/tools/explain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,aAAa;;;;;;;;;;iBAUxB,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,CA0BnI;AAED,eAAO,MAAM,WAAW;IACtB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * mloop_explain tool - Which input columns a trained model relies on
3
+ */
4
+ import { z } from 'zod';
5
+ import { executeMloop } from '../executor.js';
6
+ import { parseCliOutput } from '../utils/parser.js';
7
+ import { formatError } from '../utils/errors.js';
8
+ export const explainSchema = z.object({
9
+ projectPath: z.string().describe('Path to MLoop project directory'),
10
+ experimentId: z.string().optional().describe('Experiment to explain (default: the production model)'),
11
+ modelName: z.string().optional().describe('Model name (default: "default")'),
12
+ dataFile: z.string().optional().describe('Labeled file the model is scored on, with the label column (default: datasets/test.csv)'),
13
+ weight: z.string().optional().describe('Column that weights the rows (defaults as mloop_evaluate does)'),
14
+ repeats: z.number().int().positive().optional().describe('Shuffles per column; the importance is their mean (default 3)'),
15
+ rows: z.number().int().positive().optional().describe('Most rows scored; a larger file is sampled — every column costs repeats scorings (default 2000)'),
16
+ seed: z.number().int().optional().describe('Seed of the sample and the shuffles: the same seed gives the same numbers (default 1)'),
17
+ records: z.string().optional().describe('For a JSON data file: the dotted path to the array whose items are the rows'),
18
+ });
19
+ export async function explain(params) {
20
+ try {
21
+ const { projectPath, experimentId, modelName, dataFile, weight, repeats, rows, seed, records } = params;
22
+ const args = ['explain'];
23
+ if (experimentId)
24
+ args.push(experimentId);
25
+ if (modelName)
26
+ args.push('--name', modelName);
27
+ if (dataFile)
28
+ args.push('--data', dataFile);
29
+ if (weight)
30
+ args.push('--weight', weight);
31
+ if (repeats !== undefined)
32
+ args.push('--repeats', String(repeats));
33
+ if (rows !== undefined)
34
+ args.push('--rows', String(rows));
35
+ if (seed !== undefined)
36
+ args.push('--seed', String(seed));
37
+ if (records)
38
+ args.push('--records', records);
39
+ args.push('--json');
40
+ const result = await executeMloop(args, { cwd: projectPath });
41
+ return {
42
+ content: [{ type: 'text', text: parseCliOutput(result.stdout) || 'No explanation output.' }],
43
+ };
44
+ }
45
+ catch (error) {
46
+ return {
47
+ content: [{ type: 'text', text: formatError(error) }],
48
+ isError: true,
49
+ };
50
+ }
51
+ }
52
+ export const explainTool = {
53
+ name: 'mloop_explain',
54
+ description: 'Which input columns a trained model relies on, as JSON: permutation importance on a labeled file, in the metric mloop_evaluate reports — each column is shuffled `repeats` times and the importance is the mean drop (± the spread), at most `rows` rows, seeded so the same seed gives the same numbers. A column the model did not read is listed as not shuffled. It is reliance, not cause: correlated columns share it. Defaults to the production model and datasets/test.csv (needs an mloop newer than 0.48).',
55
+ handler: explain,
56
+ };
57
+ //# sourceMappingURL=explain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../src/tools/explain.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,9 @@ export declare const feedbackSchema: z.ZodObject<{
14
14
  value: z.ZodOptional<z.ZodString>;
15
15
  source: z.ZodOptional<z.ZodString>;
16
16
  weight: z.ZodOptional<z.ZodNumber>;
17
+ limit: z.ZodOptional<z.ZodNumber>;
18
+ from: z.ZodOptional<z.ZodString>;
19
+ to: z.ZodOptional<z.ZodString>;
17
20
  }, z.core.$strip>;
18
21
  export type FeedbackParams = z.infer<typeof feedbackSchema>;
19
22
  /** The CLI arguments for one call — the option names `mloop feedback <action>` accepts. */
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;;;;;;;;;;iBASzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAY7D;AAED,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,CA2BrI;AAED,eAAO,MAAM,YAAY;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;iBAYzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAe7D;AAED,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,CA2BrI;AAED,eAAO,MAAM,YAAY;IACvB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -13,6 +13,9 @@ export const feedbackSchema = z.object({
13
13
  value: z.string().optional().describe('The actual (ground-truth) value (required for "add")'),
14
14
  source: z.string().optional().describe('Where the value came from, e.g. "human", "reviewer-llm" (for "add")'),
15
15
  weight: z.number().nonnegative().optional().describe('How much this row counts in training and evaluation built from feedback — for a row reviewed with probability p, 1/p (for "add"; default 1)'),
16
+ limit: z.number().int().positive().optional().describe('Maximum number of entries to show (for "list"; default 20)'),
17
+ from: z.string().optional().describe('Only entries from this day on (yyyy-MM-dd; for "list" and "metrics")'),
18
+ to: z.string().optional().describe('Only entries up to this day (yyyy-MM-dd; for "list" and "metrics")'),
16
19
  });
17
20
  /** The CLI arguments for one call — the option names `mloop feedback <action>` accepts. */
18
21
  export function feedbackArgs(params) {
@@ -25,6 +28,10 @@ export function feedbackArgs(params) {
25
28
  }
26
29
  else {
27
30
  cliParams['name'] = params.modelName;
31
+ if (params.action === 'list')
32
+ cliParams['limit'] = params.limit;
33
+ cliParams['from'] = params.from;
34
+ cliParams['to'] = params.to;
28
35
  }
29
36
  cliParams['json'] = true;
30
37
  return buildArgsWithPositional('feedback', [params.action], cliParams);
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,9 @@ export { featuresSelectTool, featuresSelect, featuresSelectSchema, type Features
29
29
  export { tokenTool, token, tokenSchema, type TokenParams } from './token.js';
30
30
  export { embedTool, embed, embedSchema, type EmbedParams } from './embed.js';
31
31
  export { encoderTool, encoder, encoderSchema, type EncoderParams } from './encoder.js';
32
+ export { explainTool, explain, explainSchema, type ExplainParams } from './explain.js';
33
+ export { runtimeTool, runtime, runtimeSchema, type RuntimeParams } from './runtime.js';
34
+ export { dockerTool, docker, dockerSchema, type DockerParams } from './docker.js';
32
35
  export { quickStartTool, quickStart, quickStartSchema, type QuickStartParams } from './quick-start.js';
33
36
  export { autoTrainTool, autoTrain, autoTrainSchema, type AutoTrainParams } from './auto-train.js';
34
37
  export { projectOverviewTool, projectOverview, projectOverviewSchema, type ProjectOverviewParams } from './project-overview.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,9 @@ export { featuresSelectTool, featuresSelect, featuresSelectSchema } from './feat
31
31
  export { tokenTool, token, tokenSchema } from './token.js';
32
32
  export { embedTool, embed, embedSchema } from './embed.js';
33
33
  export { encoderTool, encoder, encoderSchema } from './encoder.js';
34
+ export { explainTool, explain, explainSchema } from './explain.js';
35
+ export { runtimeTool, runtime, runtimeSchema } from './runtime.js';
36
+ export { dockerTool, docker, dockerSchema } from './docker.js';
34
37
  // Composite workflow tools
35
38
  export { quickStartTool, quickStart, quickStartSchema } from './quick-start.js';
36
39
  export { autoTrainTool, autoTrain, autoTrainSchema } from './auto-train.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAE7E,kBAAkB;AAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,EAA6B,MAAM,sBAAsB,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AAEvF,2BAA2B;AAC3B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAwB,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,qBAAqB,EAA8B,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAE7E,kBAAkB;AAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,EAA6B,MAAM,sBAAsB,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAElF,2BAA2B;AAC3B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAwB,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,qBAAqB,EAA8B,MAAM,uBAAuB,CAAC"}
@@ -9,6 +9,7 @@ export declare const infoSchema: z.ZodObject<{
9
9
  modelName: z.ZodOptional<z.ZodString>;
10
10
  analyze: z.ZodOptional<z.ZodBoolean>;
11
11
  sampleSize: z.ZodOptional<z.ZodNumber>;
12
+ records: z.ZodOptional<z.ZodString>;
12
13
  }, z.core.$strip>;
13
14
  export type InfoParams = z.infer<typeof infoSchema>;
14
15
  export declare function info(params: InfoParams): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/tools/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,UAAU;;;;;;;iBAOrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,wBAAsB,IAAI,CAAC,MAAM,EAAE,UAAU,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,CAuC7H;AAED,eAAO,MAAM,QAAQ;IACnB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/tools/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,UAAU;;;;;;;;iBAQrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,wBAAsB,IAAI,CAAC,MAAM,EAAE,UAAU,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,CA0C7H;AAED,eAAO,MAAM,QAAQ;IACnB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -12,10 +12,11 @@ export const infoSchema = z.object({
12
12
  modelName: z.string().optional().describe('Model name to read label configuration from mloop.yaml (default: "default")'),
13
13
  analyze: z.boolean().optional().describe('Enable deep analysis including correlation, feature importance, distribution, and anomaly detection'),
14
14
  sampleSize: z.number().optional().describe('Maximum number of rows to sample for deep analysis (default: 50000)'),
15
+ records: z.string().optional().describe('For a JSON data file: the dotted path to the array whose items are the rows'),
15
16
  });
16
17
  export async function info(params) {
17
18
  try {
18
- const { dataFile, projectPath, label, modelName, analyze, sampleSize } = params;
19
+ const { dataFile, projectPath, label, modelName, analyze, sampleSize, records } = params;
19
20
  const args = ['info', dataFile, '--json'];
20
21
  if (label) {
21
22
  args.push('--label', label);
@@ -29,6 +30,9 @@ export async function info(params) {
29
30
  if (sampleSize !== undefined && sampleSize !== null) {
30
31
  args.push('--sample-size', String(sampleSize));
31
32
  }
33
+ if (records) {
34
+ args.push('--records', records);
35
+ }
32
36
  const result = await executeMloop(args, {
33
37
  cwd: projectPath,
34
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/tools/info.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,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACzF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;IACxH,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qGAAqG,CAAC;IAC/I,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;CAClH,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAkB;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAEhF,MAAM,IAAI,GAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,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,6BAA6B;iBAC9C,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,QAAQ,GAAG;IACtB,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,+IAA+I;IAC5J,OAAO,EAAE,IAAI;CACd,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/tools/info.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,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACzF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;IACxH,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qGAAqG,CAAC;IAC/I,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IACjH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;CACvH,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAkB;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEzF,MAAM,IAAI,GAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,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,6BAA6B;iBAC9C,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,QAAQ,GAAG;IACtB,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,+IAA+I;IAC5J,OAAO,EAAE,IAAI;CACd,CAAC"}