@iyulab/mloop-mcp 0.11.2 → 0.12.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 (150) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/README.md +28 -3
  3. package/build/executor.d.ts +27 -2
  4. package/build/executor.d.ts.map +1 -1
  5. package/build/executor.js +105 -22
  6. package/build/executor.js.map +1 -1
  7. package/build/index.js +10 -16
  8. package/build/index.js.map +1 -1
  9. package/build/package-info.js.map +1 -1
  10. package/build/server.d.ts +1 -1
  11. package/build/server.d.ts.map +1 -1
  12. package/build/server.js +40 -67
  13. package/build/server.js.map +1 -1
  14. package/build/tools/analyze.d.ts +2 -29
  15. package/build/tools/analyze.d.ts.map +1 -1
  16. package/build/tools/analyze.js +0 -28
  17. package/build/tools/analyze.js.map +1 -1
  18. package/build/tools/auto-train.d.ts +2 -27
  19. package/build/tools/auto-train.d.ts.map +1 -1
  20. package/build/tools/auto-train.js +6 -36
  21. package/build/tools/auto-train.js.map +1 -1
  22. package/build/tools/calibrate.d.ts +1 -36
  23. package/build/tools/calibrate.d.ts.map +1 -1
  24. package/build/tools/calibrate.js +0 -13
  25. package/build/tools/calibrate.js.map +1 -1
  26. package/build/tools/compare.d.ts +0 -22
  27. package/build/tools/compare.d.ts.map +1 -1
  28. package/build/tools/compare.js +1 -21
  29. package/build/tools/compare.js.map +1 -1
  30. package/build/tools/detect.d.ts +0 -26
  31. package/build/tools/detect.d.ts.map +1 -1
  32. package/build/tools/detect.js +0 -26
  33. package/build/tools/detect.js.map +1 -1
  34. package/build/tools/drift.d.ts +0 -22
  35. package/build/tools/drift.d.ts.map +1 -1
  36. package/build/tools/drift.js +0 -10
  37. package/build/tools/drift.js.map +1 -1
  38. package/build/tools/embed.d.ts +25 -0
  39. package/build/tools/embed.d.ts.map +1 -0
  40. package/build/tools/embed.js +49 -0
  41. package/build/tools/embed.js.map +1 -0
  42. package/build/tools/encoder.d.ts +27 -0
  43. package/build/tools/encoder.d.ts.map +1 -0
  44. package/build/tools/encoder.js +42 -0
  45. package/build/tools/encoder.js.map +1 -0
  46. package/build/tools/evaluate.d.ts +0 -34
  47. package/build/tools/evaluate.d.ts.map +1 -1
  48. package/build/tools/evaluate.js +18 -44
  49. package/build/tools/evaluate.js.map +1 -1
  50. package/build/tools/export-onnx.d.ts +0 -30
  51. package/build/tools/export-onnx.d.ts.map +1 -1
  52. package/build/tools/export-onnx.js +0 -12
  53. package/build/tools/export-onnx.js.map +1 -1
  54. package/build/tools/features-select.d.ts +0 -26
  55. package/build/tools/features-select.d.ts.map +1 -1
  56. package/build/tools/features-select.js +0 -26
  57. package/build/tools/features-select.js.map +1 -1
  58. package/build/tools/feedback.d.ts +1 -37
  59. package/build/tools/feedback.d.ts.map +1 -1
  60. package/build/tools/feedback.js +0 -36
  61. package/build/tools/feedback.js.map +1 -1
  62. package/build/tools/index.d.ts +3 -88
  63. package/build/tools/index.d.ts.map +1 -1
  64. package/build/tools/index.js +3 -36
  65. package/build/tools/index.js.map +1 -1
  66. package/build/tools/info.d.ts +0 -30
  67. package/build/tools/info.d.ts.map +1 -1
  68. package/build/tools/info.js +1 -32
  69. package/build/tools/info.js.map +1 -1
  70. package/build/tools/init.d.ts +0 -15
  71. package/build/tools/init.d.ts.map +1 -1
  72. package/build/tools/init.js +0 -15
  73. package/build/tools/init.js.map +1 -1
  74. package/build/tools/list.d.ts +0 -18
  75. package/build/tools/list.d.ts.map +1 -1
  76. package/build/tools/list.js +0 -18
  77. package/build/tools/list.js.map +1 -1
  78. package/build/tools/logs.d.ts +0 -18
  79. package/build/tools/logs.d.ts.map +1 -1
  80. package/build/tools/logs.js +1 -18
  81. package/build/tools/logs.js.map +1 -1
  82. package/build/tools/predict.d.ts +2 -37
  83. package/build/tools/predict.d.ts.map +1 -1
  84. package/build/tools/predict.js +1 -36
  85. package/build/tools/predict.js.map +1 -1
  86. package/build/tools/prep-plan.d.ts +0 -26
  87. package/build/tools/prep-plan.d.ts.map +1 -1
  88. package/build/tools/prep-plan.js +0 -26
  89. package/build/tools/prep-plan.js.map +1 -1
  90. package/build/tools/prep.d.ts +0 -26
  91. package/build/tools/prep.d.ts.map +1 -1
  92. package/build/tools/prep.js +0 -26
  93. package/build/tools/prep.js.map +1 -1
  94. package/build/tools/project-overview.d.ts +0 -14
  95. package/build/tools/project-overview.d.ts.map +1 -1
  96. package/build/tools/project-overview.js +4 -19
  97. package/build/tools/project-overview.js.map +1 -1
  98. package/build/tools/promote.d.ts +0 -34
  99. package/build/tools/promote.d.ts.map +1 -1
  100. package/build/tools/promote.js +0 -34
  101. package/build/tools/promote.js.map +1 -1
  102. package/build/tools/quick-start.d.ts +2 -28
  103. package/build/tools/quick-start.d.ts.map +1 -1
  104. package/build/tools/quick-start.js +6 -40
  105. package/build/tools/quick-start.js.map +1 -1
  106. package/build/tools/rollback.d.ts +0 -18
  107. package/build/tools/rollback.d.ts.map +1 -1
  108. package/build/tools/rollback.js +0 -9
  109. package/build/tools/rollback.js.map +1 -1
  110. package/build/tools/sample.d.ts +0 -39
  111. package/build/tools/sample.d.ts.map +1 -1
  112. package/build/tools/sample.js +0 -39
  113. package/build/tools/sample.js.map +1 -1
  114. package/build/tools/serve.d.ts +0 -18
  115. package/build/tools/serve.d.ts.map +1 -1
  116. package/build/tools/serve.js +49 -59
  117. package/build/tools/serve.js.map +1 -1
  118. package/build/tools/status.d.ts +0 -10
  119. package/build/tools/status.d.ts.map +1 -1
  120. package/build/tools/status.js +1 -11
  121. package/build/tools/status.js.map +1 -1
  122. package/build/tools/threshold.d.ts +0 -38
  123. package/build/tools/threshold.d.ts.map +1 -1
  124. package/build/tools/threshold.js +0 -14
  125. package/build/tools/threshold.js.map +1 -1
  126. package/build/tools/token.d.ts +27 -0
  127. package/build/tools/token.d.ts.map +1 -0
  128. package/build/tools/token.js +49 -0
  129. package/build/tools/token.js.map +1 -0
  130. package/build/tools/train.d.ts +2 -67
  131. package/build/tools/train.d.ts.map +1 -1
  132. package/build/tools/train.js +8 -77
  133. package/build/tools/train.js.map +1 -1
  134. package/build/tools/trigger.d.ts +0 -14
  135. package/build/tools/trigger.d.ts.map +1 -1
  136. package/build/tools/trigger.js +1 -15
  137. package/build/tools/trigger.js.map +1 -1
  138. package/build/tools/validate.d.ts +0 -10
  139. package/build/tools/validate.d.ts.map +1 -1
  140. package/build/tools/validate.js +1 -11
  141. package/build/tools/validate.js.map +1 -1
  142. package/build/training-run.d.ts +33 -0
  143. package/build/training-run.d.ts.map +1 -0
  144. package/build/training-run.js +107 -0
  145. package/build/training-run.js.map +1 -0
  146. package/build/utils/errors.d.ts +6 -0
  147. package/build/utils/errors.d.ts.map +1 -1
  148. package/build/utils/errors.js +22 -1
  149. package/build/utils/errors.js.map +1 -1
  150. package/package.json +6 -4
@@ -0,0 +1,49 @@
1
+ /**
2
+ * mloop_embed tool - Images or texts to vectors with a pretrained encoder
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 embedSchema = z.object({
9
+ projectPath: z.string().describe('Working directory the paths are relative to (an MLoop project is not required)'),
10
+ images: z.array(z.string()).max(64).optional().describe('Image files (PNG, JPEG, …) to embed, at most 64'),
11
+ texts: z.array(z.string()).max(256).optional().describe('Texts to embed with a text encoder, at most 256 — instead of images'),
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
+ patches: z.boolean().optional().describe('Also one vector per patch of each image, on the encoder\'s grid (images only, at most 8)'),
14
+ });
15
+ export async function embed(params) {
16
+ const { projectPath, images = [], texts = [], encoder, patches } = params;
17
+ if ((images.length === 0) === (texts.length === 0)) {
18
+ return {
19
+ content: [{ type: 'text', text: 'Give either images or texts to embed (one of the two, not both).' }],
20
+ isError: true,
21
+ };
22
+ }
23
+ try {
24
+ const args = ['embed', ...images];
25
+ for (const text of texts)
26
+ args.push('--text', text);
27
+ if (encoder)
28
+ args.push('--encoder', encoder);
29
+ if (patches)
30
+ args.push('--patches');
31
+ args.push('--json');
32
+ const result = await executeMloop(args, { cwd: projectPath });
33
+ return {
34
+ content: [{ type: 'text', text: parseCliOutput(result.stdout) }],
35
+ };
36
+ }
37
+ catch (error) {
38
+ return {
39
+ content: [{ type: 'text', text: formatError(error) }],
40
+ isError: true,
41
+ };
42
+ }
43
+ }
44
+ export const embedTool = {
45
+ name: 'mloop_embed',
46
+ description: 'Turn images or texts into L2-normalised vectors with a pretrained encoder (mloop_encoder installs one), with the encoder\'s identity — id, sha256, preprocessor — so vectors from different encoders or versions are never compared. Texts need mloop 0.46.0 or later.',
47
+ handler: embed,
48
+ };
49
+ //# sourceMappingURL=embed.js.map
@@ -0,0 +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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * mloop_encoder tool - List, install or remove pretrained encoders
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const encoderSchema: z.ZodObject<{
6
+ projectPath: z.ZodString;
7
+ action: z.ZodEnum<{
8
+ install: "install";
9
+ list: "list";
10
+ remove: "remove";
11
+ }>;
12
+ encoder: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>;
14
+ export type EncoderParams = z.infer<typeof encoderSchema>;
15
+ export declare function encoder(params: EncoderParams): Promise<{
16
+ content: Array<{
17
+ type: 'text';
18
+ text: string;
19
+ }>;
20
+ isError?: boolean;
21
+ }>;
22
+ export declare const encoderTool: {
23
+ name: string;
24
+ description: string;
25
+ handler: typeof encoder;
26
+ };
27
+ //# sourceMappingURL=encoder.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * mloop_encoder tool - List, install or remove pretrained encoders
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 encoderSchema = z.object({
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)'),
12
+ });
13
+ export async function encoder(params) {
14
+ const { projectPath, action, encoder: id } = params;
15
+ if (action !== 'list' && !id) {
16
+ return { content: [{ type: 'text', text: `Name the encoder to ${action}.` }], isError: true };
17
+ }
18
+ try {
19
+ // remove has no --json: its answer is a confirmation line.
20
+ const args = action === 'list'
21
+ ? ['encoder', 'list', '--json']
22
+ : action === 'install'
23
+ ? ['encoder', 'install', id, '--json']
24
+ : ['encoder', 'remove', id];
25
+ const result = await executeMloop(args, { cwd: projectPath });
26
+ return {
27
+ content: [{ type: 'text', text: parseCliOutput(result.stdout) || `Encoder '${id}' removed.` }],
28
+ };
29
+ }
30
+ catch (error) {
31
+ return {
32
+ content: [{ type: 'text', text: formatError(error) }],
33
+ isError: true,
34
+ };
35
+ }
36
+ }
37
+ export const encoderTool = {
38
+ 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.',
40
+ handler: encoder,
41
+ };
42
+ //# sourceMappingURL=encoder.js.map
@@ -0,0 +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"}
@@ -22,40 +22,6 @@ export declare function evaluate(params: EvaluateParams): Promise<{
22
22
  export declare const evaluateTool: {
23
23
  name: string;
24
24
  description: string;
25
- inputSchema: {
26
- type: string;
27
- properties: {
28
- projectPath: {
29
- type: string;
30
- description: string;
31
- };
32
- dataFile: {
33
- type: string;
34
- description: string;
35
- };
36
- modelName: {
37
- type: string;
38
- description: string;
39
- };
40
- experimentId: {
41
- type: string;
42
- description: string;
43
- };
44
- sliceBy: {
45
- type: string;
46
- description: string;
47
- };
48
- weight: {
49
- type: string;
50
- description: string;
51
- };
52
- against: {
53
- type: string;
54
- description: string;
55
- };
56
- };
57
- required: string[];
58
- };
59
25
  handler: typeof evaluate;
60
26
  };
61
27
  //# sourceMappingURL=evaluate.d.ts.map
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCxB,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;;;;;;;;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"}
@@ -22,17 +22,19 @@ export async function evaluate(params) {
22
22
  // Note: test-data can only be specified after experiment-id (positional order)
23
23
  // --json: the metrics, slices and comparison as one document, not the human tables.
24
24
  const args = ['evaluate'];
25
- if (experimentId) {
26
- args.push(experimentId);
27
- // test-data is only valid after experiment-id
28
- if (dataFile) {
29
- args.push(dataFile);
30
- }
25
+ // The test data follows the experiment id, so a file for the production model needs that model's id: it is
26
+ // read from `mloop list --json`, the CLI's own record of production, rather than the file being dropped.
27
+ const target = experimentId ?? (dataFile ? await productionExperiment(projectPath, modelName) : undefined);
28
+ if (dataFile && !target) {
29
+ return {
30
+ content: [{ type: 'text', text: `No production model for '${modelName ?? 'default'}' to evaluate on ${dataFile} — give experimentId, or promote one first.` }],
31
+ isError: true,
32
+ };
31
33
  }
32
- // If only dataFile is given without experimentId, we cannot pass it as
33
- // the CLI requires experiment-id before test-data. In this case, the caller
34
- // should place the file at datasets/test.csv and omit dataFile, or provide
35
- // an experimentId.
34
+ if (target)
35
+ args.push(target);
36
+ if (dataFile)
37
+ args.push(dataFile);
36
38
  // Named option: --name
37
39
  if (modelName) {
38
40
  args.push('--name', modelName);
@@ -71,40 +73,12 @@ export async function evaluate(params) {
71
73
  export const evaluateTool = {
72
74
  name: 'mloop_evaluate',
73
75
  description: 'Evaluate a model\'s performance on test data, as JSON: test metrics beside the training metrics, per slice with sliceBy, weighted with weight. For a classifier, confusion: classes and counts[actual][predicted] (weighted sums under weight; per slice too) — read any class-set rate from it, e.g. the share of a must-catch class answered as a harmless one (mloop >= 0.39). With against (an experiment id or "production"), the other model is scored on the same rows and weights and the two are compared row by row: comparison.metrics, and comparison.paired — the per-row loss (error_rate for a classifier, squared_error for a regressor) of each, their difference (candidate − baseline), a 95% paired bootstrap interval, and verdict CandidateBetter / BaselineBetter / Indistinguishable. Use it to decide whether a staging candidate should replace production.',
74
- inputSchema: {
75
- type: 'object',
76
- properties: {
77
- projectPath: {
78
- type: 'string',
79
- description: 'Path to MLoop project directory',
80
- },
81
- dataFile: {
82
- type: 'string',
83
- description: 'Test data file for evaluation',
84
- },
85
- modelName: {
86
- type: 'string',
87
- description: 'Model name to evaluate',
88
- },
89
- experimentId: {
90
- type: 'string',
91
- description: 'Specific experiment ID to evaluate (otherwise uses production)',
92
- },
93
- sliceBy: {
94
- type: 'string',
95
- description: 'Also report the metrics for each value of this column (any column of the test file); slices under 30 rows are marked, more than 50 values is refused',
96
- },
97
- weight: {
98
- type: 'string',
99
- description: 'Column of the test file that weights its rows (e.g. 1/π of a recheck sample). A weighted experiment uses its training weight by default when the file has that column',
100
- },
101
- against: {
102
- type: 'string',
103
- description: 'Experiment id, or "production", to compare with on the same rows and weights (mloop >= 0.39)',
104
- },
105
- },
106
- required: ['projectPath'],
107
- },
108
76
  handler: evaluate,
109
77
  };
78
+ /** The experiment in production for `modelName` (the default model when not given), or undefined. */
79
+ async function productionExperiment(projectPath, modelName) {
80
+ const listed = await executeMloop(['list', '--json', ...(modelName ? ['--name', modelName] : [])], { cwd: projectPath });
81
+ const production = JSON.parse(listed.stdout).production ?? {};
82
+ return production[modelName ?? 'default'] ?? undefined;
83
+ }
110
84
  //# sourceMappingURL=evaluate.js.map
@@ -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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"}
@@ -21,36 +21,6 @@ export declare function exportOnnx(params: ExportOnnxParams): Promise<{
21
21
  export declare const exportOnnxTool: {
22
22
  name: string;
23
23
  description: string;
24
- inputSchema: {
25
- type: string;
26
- properties: {
27
- projectPath: {
28
- type: string;
29
- description: string;
30
- };
31
- experimentId: {
32
- type: string;
33
- description: string;
34
- };
35
- modelName: {
36
- type: string;
37
- description: string;
38
- };
39
- dataFile: {
40
- type: string;
41
- description: string;
42
- };
43
- outputDir: {
44
- type: string;
45
- description: string;
46
- };
47
- verify: {
48
- type: string;
49
- description: string;
50
- };
51
- };
52
- required: string[];
53
- };
54
24
  handler: typeof exportOnnx;
55
25
  };
56
26
  //# sourceMappingURL=export-onnx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-onnx.d.ts","sourceRoot":"","sources":["../../src/tools/export-onnx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB;;;;;;;iBAO3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,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,CAuBzI;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB1B,CAAC"}
1
+ {"version":3,"file":"export-onnx.d.ts","sourceRoot":"","sources":["../../src/tools/export-onnx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB;;;;;;;iBAO3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,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,CAuBzI;AAED,eAAO,MAAM,cAAc;IACzB,IAAI;IACJ,WAAW;IACX,OAAO;CACR,CAAC"}
@@ -43,18 +43,6 @@ export async function exportOnnx(params) {
43
43
  export const exportOnnxTool = {
44
44
  name: 'mloop_export_onnx',
45
45
  description: 'Write a trained model (binary, multiclass or regression) as an ONNX graph plus a manifest (model.onnx.json) naming each graph input and the data columns behind it, the outputs, the classes, the metrics and SHA-256 hashes — for runtimes without ML.NET. A model that featurizes a free-text column with the ML.NET text featurizer is refused with the columns named — train it with `portable: true` (mloop_train) to export it; a category column exports as is.',
46
- inputSchema: {
47
- type: 'object',
48
- properties: {
49
- projectPath: { type: 'string', description: 'Path to MLoop project directory' },
50
- experimentId: { type: 'string', description: 'Experiment to export (default: production)' },
51
- modelName: { type: 'string', description: 'Model name for namespacing' },
52
- dataFile: { type: 'string', description: "Data file with the model's input columns (default: the training file)" },
53
- outputDir: { type: 'string', description: "Output directory (default: the experiment's directory)" },
54
- verify: { type: 'boolean', description: 'Run the graph in ONNX Runtime on up to 1,000 rows and compare it with the model (needs: mloop runtime install onnxruntime)' },
55
- },
56
- required: ['projectPath'],
57
- },
58
46
  handler: exportOnnx,
59
47
  };
60
48
  //# sourceMappingURL=export-onnx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-onnx.js","sourceRoot":"","sources":["../../src/tools/export-onnx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-onnx.js","sourceRoot":"","sources":["../../src/tools/export-onnx.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,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACpG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sFAAsF,CAAC;IAChI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oFAAoF,CAAC;IAC/H,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iGAAiG,CAAC;CAC3I,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAwB;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAErF,MAAM,IAAI,GAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,YAAY;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,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,IAAI,WAAW,EAAE,CAAC;SAChF,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,cAAc,GAAG;IAC5B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,wcAAwc;IACrd,OAAO,EAAE,UAAU;CACpB,CAAC"}
@@ -25,32 +25,6 @@ export declare function featuresSelect(params: FeaturesSelectParams): Promise<{
25
25
  export declare const featuresSelectTool: {
26
26
  name: string;
27
27
  description: string;
28
- inputSchema: {
29
- type: string;
30
- properties: {
31
- projectPath: {
32
- type: string;
33
- description: string;
34
- };
35
- drop: {
36
- type: string;
37
- description: string;
38
- };
39
- keep: {
40
- type: string;
41
- description: string;
42
- };
43
- reset: {
44
- type: string;
45
- description: string;
46
- };
47
- modelName: {
48
- type: string;
49
- description: string;
50
- };
51
- };
52
- required: string[];
53
- };
54
28
  handler: typeof featuresSelect;
55
29
  };
56
30
  //# sourceMappingURL=features-select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"features-select.d.ts","sourceRoot":"","sources":["../../src/tools/features-select.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,oBAAoB;;;;;;iBAS/B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,GAC3B,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,CAyBhF;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC9B,CAAC"}
1
+ {"version":3,"file":"features-select.d.ts","sourceRoot":"","sources":["../../src/tools/features-select.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,oBAAoB;;;;;;iBAS/B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,GAC3B,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,CAyBhF;AAED,eAAO,MAAM,kBAAkB;IAC7B,IAAI;IACJ,WAAW;IAKX,OAAO;CACR,CAAC"}
@@ -54,32 +54,6 @@ export const featuresSelectTool = {
54
54
  "Exclude columns with drop='a,b', keep only certain columns with keep='a,b' (all others " +
55
55
  'excluded, label always kept), or clear all exclusions with reset=true. Returns a JSON ' +
56
56
  'envelope listing the excluded (ignored) columns.',
57
- inputSchema: {
58
- type: 'object',
59
- properties: {
60
- projectPath: {
61
- type: 'string',
62
- description: 'Path to the MLoop project directory',
63
- },
64
- drop: {
65
- type: 'string',
66
- description: 'Comma-separated columns to exclude from features (e.g. "id,ts")',
67
- },
68
- keep: {
69
- type: 'string',
70
- description: 'Comma-separated columns to keep; all others excluded (label always kept)',
71
- },
72
- reset: {
73
- type: 'boolean',
74
- description: 'Remove all "ignore" overrides (clears feature exclusions)',
75
- },
76
- modelName: {
77
- type: 'string',
78
- description: 'Model name in mloop.yaml (default: "default")',
79
- },
80
- },
81
- required: ['projectPath'],
82
- },
83
57
  handler: featuresSelect,
84
58
  };
85
59
  //# sourceMappingURL=features-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"features-select.js","sourceRoot":"","sources":["../../src/tools/features-select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"features-select.js","sourceRoot":"","sources":["../../src/tools/features-select.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;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,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IACvG,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qFAAqF,CAAC;IAClG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IACnG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC3F,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE7D,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,IAAI,IAAI;YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACnC,IAAI,IAAI;YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACnC,IAAI,KAAK;YAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACrC,IAAI,SAAS;YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;QAC7C,gEAAgE;QAChE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAEzB,MAAM,IAAI,GAAG,uBAAuB,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,4BAA4B,EAAE,CAAC;SAC1E,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,kBAAkB,GAAG;IAChC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,uFAAuF;QACvF,yFAAyF;QACzF,wFAAwF;QACxF,kDAAkD;IACpD,OAAO,EAAE,cAAc;CACxB,CAAC"}
@@ -5,8 +5,8 @@ import { z } from 'zod';
5
5
  export declare const feedbackSchema: z.ZodObject<{
6
6
  projectPath: z.ZodString;
7
7
  action: z.ZodEnum<{
8
- list: "list";
9
8
  add: "add";
9
+ list: "list";
10
10
  metrics: "metrics";
11
11
  }>;
12
12
  modelName: z.ZodOptional<z.ZodString>;
@@ -28,42 +28,6 @@ export declare function feedback(params: FeedbackParams): Promise<{
28
28
  export declare const feedbackTool: {
29
29
  name: string;
30
30
  description: string;
31
- inputSchema: {
32
- type: string;
33
- properties: {
34
- projectPath: {
35
- type: string;
36
- description: string;
37
- };
38
- action: {
39
- type: string;
40
- enum: string[];
41
- description: string;
42
- };
43
- modelName: {
44
- type: string;
45
- description: string;
46
- };
47
- predictionId: {
48
- type: string;
49
- description: string;
50
- };
51
- value: {
52
- type: string;
53
- description: string;
54
- };
55
- source: {
56
- type: string;
57
- description: string;
58
- };
59
- weight: {
60
- type: string;
61
- minimum: number;
62
- description: string;
63
- };
64
- };
65
- required: string[];
66
- };
67
31
  handler: typeof feedback;
68
32
  };
69
33
  //# sourceMappingURL=feedback.d.ts.map
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCxB,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;;;;;;;;;;;;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"}
@@ -59,42 +59,6 @@ export async function feedback(params) {
59
59
  export const feedbackTool = {
60
60
  name: 'mloop_feedback',
61
61
  description: 'Manage feedback for model predictions. Add the actual value for a logged prediction (with its source and an optional weight), list existing feedback, or view feedback metrics (accuracy is weighted when feedback carries weights).',
62
- inputSchema: {
63
- type: 'object',
64
- properties: {
65
- projectPath: {
66
- type: 'string',
67
- description: 'Path to MLoop project directory',
68
- },
69
- action: {
70
- type: 'string',
71
- enum: ['add', 'list', 'metrics'],
72
- description: 'Feedback action: "add" to submit feedback, "list" to view, "metrics" to see statistics',
73
- },
74
- modelName: {
75
- type: 'string',
76
- description: 'Model name for "list" and "metrics" (default: "default")',
77
- },
78
- predictionId: {
79
- type: 'string',
80
- description: 'Prediction ID to add feedback for (required for "add")',
81
- },
82
- value: {
83
- type: 'string',
84
- description: 'The actual (ground-truth) value (required for "add")',
85
- },
86
- source: {
87
- type: 'string',
88
- description: 'Where the value came from, e.g. "human", "reviewer-llm" (for "add")',
89
- },
90
- weight: {
91
- type: 'number',
92
- minimum: 0,
93
- description: '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)',
94
- },
95
- },
96
- required: ['projectPath', 'action'],
97
- },
98
62
  handler: feedback,
99
63
  };
100
64
  //# sourceMappingURL=feedback.js.map
@@ -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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"}