@tuned-tensor/local 0.1.8 → 0.2.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.
package/dist/index.js CHANGED
@@ -6,6 +6,8 @@ import { cwd } from "node:process";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import { compareRuns } from "./compare.js";
8
8
  import { fineTuneRunRequestSchema, localBehaviorSpecFileSchema, localRunnerConfigSchema, specSnapshotSchema } from "./contracts.js";
9
+ import { buildSystemMessage } from "./dataset.js";
10
+ import { runLocalLabelingJob } from "./labeling.js";
9
11
  import { loadLocalRunnerConfig, runLocalFineTune, } from "./orchestrator.js";
10
12
  import { runDoctor } from "./doctor.js";
11
13
  import { createLocalStore } from "./store.js";
@@ -15,6 +17,8 @@ import { sanitizeLogLine } from "./run-reporter.js";
15
17
  export * from "./compare.js";
16
18
  export * from "./contracts.js";
17
19
  export * from "./dataset.js";
20
+ export * from "./labeling.js";
21
+ export * from "./labeling-sanitize.js";
18
22
  export * from "./orchestrator.js";
19
23
  export * from "./local-project.js";
20
24
  export * from "./openrouter.js";
@@ -90,6 +94,8 @@ Commands:
90
94
  doctor [--config local-runner.json]
91
95
  validate [tunedtensor.json|request.json] [--config local-runner.json]
92
96
  run [tunedtensor.json|request.json] [--config local-runner.json] [--dry-run] [--verbose] [--quiet]
97
+ label <input.jsonl|input.csv> [--input-column col] [--spec tunedtensor.json] [--system-prompt "..."]
98
+ [--model teacher-model] [--output labeled.jsonl] [--config local-runner.json] [--dry-run]
93
99
  serve [--config local-runner.json] [--host 127.0.0.1] [--port 8787]
94
100
  runs list|get|events|watch|report|compare|cancel|reconcile [args] [--config local-runner.json]
95
101
  models list|get [args] [--config local-runner.json]
@@ -110,6 +116,10 @@ const optionNamesWithValues = new Set([
110
116
  "--id",
111
117
  "--user-id",
112
118
  "--run-number",
119
+ "--input-column",
120
+ "--system-prompt",
121
+ "--spec",
122
+ "--format",
113
123
  ]);
114
124
  function readPositionals(argv, startIndex = 3) {
115
125
  const positionals = [];
@@ -291,6 +301,49 @@ async function main(argv) {
291
301
  });
292
302
  return;
293
303
  }
304
+ if (command === "label") {
305
+ const sourcePath = readPositionals(argv)[0];
306
+ if (!sourcePath)
307
+ throw new Error("label requires <input.jsonl|input.csv>");
308
+ const configInput = await configFromArgv(argv);
309
+ const config = localRunnerConfigSchema.parse({
310
+ ...configInput,
311
+ dryRun: hasFlag(argv, "--dry-run") ? true : configInput.dryRun,
312
+ });
313
+ const format = readOption(argv, "--format");
314
+ if (format !== undefined && format !== "jsonl" && format !== "csv") {
315
+ throw new Error(`--format must be jsonl or csv, got: ${format}`);
316
+ }
317
+ let systemMessage = readOption(argv, "--system-prompt");
318
+ if (!systemMessage) {
319
+ const specPath = resolve(readOption(argv, "--spec") ?? DEFAULT_LOCAL_SPEC_PATH);
320
+ let raw;
321
+ try {
322
+ raw = await readFile(specPath, "utf8");
323
+ }
324
+ catch {
325
+ throw new Error(`Cannot read spec at ${specPath}. Pass --spec <tunedtensor.json> or --system-prompt "..." so the teacher labels under the model's instructions.`);
326
+ }
327
+ systemMessage = buildSystemMessage(localBehaviorSpecFileSchema.parse(JSON.parse(raw)));
328
+ }
329
+ const result = await runLocalLabelingJob({
330
+ sourcePath: resolve(sourcePath),
331
+ format,
332
+ inputColumn: readOption(argv, "--input-column"),
333
+ systemMessage,
334
+ config,
335
+ outputPath: readOption(argv, "--output"),
336
+ model: readOption(argv, "--model"),
337
+ reporter: createConsoleReporter({
338
+ verbose: hasFlag(argv, "--verbose"),
339
+ quiet: hasFlag(argv, "--quiet"),
340
+ }),
341
+ });
342
+ printJson(result.report);
343
+ if (result.report.status === "failed")
344
+ process.exitCode = 1;
345
+ return;
346
+ }
294
347
  if (command === "serve") {
295
348
  const config = await configFromArgv(argv);
296
349
  const host = readOption(argv, "--host") ?? "127.0.0.1";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Secret/PII sanitization for labeling rows, ported from tuned-tensor-runs.
3
+ * Even though tt-local runs on hardware the user controls, labeling sends row
4
+ * content to OpenRouter — so secret-like content blocks the row and PII is
5
+ * redacted before anything leaves the machine.
6
+ */
7
+ export type SanitizationStatus = "clean" | "redacted" | "blocked";
8
+ export type SanitizationKind = "api_key" | "bearer_token" | "connection_string" | "credit_card" | "email" | "password" | "phone" | "private_key" | "ssn";
9
+ export interface SanitizationFinding {
10
+ kind: SanitizationKind;
11
+ action: "redact" | "block";
12
+ count: number;
13
+ }
14
+ export interface SanitizedText {
15
+ text: string;
16
+ status: SanitizationStatus;
17
+ findings: SanitizationFinding[];
18
+ }
19
+ export interface SanitizedLabelingRow {
20
+ input: string;
21
+ output?: string;
22
+ sanitizationStatus: SanitizationStatus;
23
+ sanitizationFindings: SanitizationFinding[];
24
+ sanitizationError?: string;
25
+ }
26
+ export declare function sanitizeText(text: string): SanitizedText;
27
+ export declare function mergeSanitizationFindings(findings: readonly SanitizationFinding[]): SanitizationFinding[];
28
+ export declare function sanitizeLabelingRow(row: {
29
+ input: string;
30
+ output?: string;
31
+ }): SanitizedLabelingRow;
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Secret/PII sanitization for labeling rows, ported from tuned-tensor-runs.
3
+ * Even though tt-local runs on hardware the user controls, labeling sends row
4
+ * content to OpenRouter — so secret-like content blocks the row and PII is
5
+ * redacted before anything leaves the machine.
6
+ */
7
+ const BLOCK_PATTERNS = [
8
+ {
9
+ kind: "private_key",
10
+ replacement: "[REDACTED_PRIVATE_KEY]",
11
+ regex: /-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,
12
+ },
13
+ {
14
+ kind: "connection_string",
15
+ replacement: "[REDACTED_CONNECTION_STRING]",
16
+ regex: /\b(?:postgres(?:ql)?|mysql|mongodb(?:\+srv)?|redis):\/\/[^\s:/@]+:[^\s@]+@[^\s]+/gi,
17
+ },
18
+ {
19
+ kind: "bearer_token",
20
+ replacement: "Bearer [REDACTED_TOKEN]",
21
+ regex: /\bBearer\s+[A-Za-z0-9._~+/=-]{20,}\b/g,
22
+ },
23
+ {
24
+ kind: "api_key",
25
+ replacement: "[REDACTED_API_KEY]",
26
+ regex: /\b(?:sk-[A-Za-z0-9]{20,}|(?:tt|ghp|gho|github_pat|xox[baprs])_[A-Za-z0-9_=-]{20,}|(?:AKIA|ASIA)[A-Z0-9]{16}|AIza[0-9A-Za-z_-]{20,})\b/g,
27
+ },
28
+ {
29
+ kind: "password",
30
+ replacement: "$1 [REDACTED_SECRET]",
31
+ regex: /\b((?:password|passwd|pwd|api[_-]?key|secret|token|access[_-]?token|refresh[_-]?token|client[_-]?secret)\s*[:=])\s*["']?[^"'\s,;]{8,}/gi,
32
+ },
33
+ ];
34
+ const REDACT_PATTERNS = [
35
+ {
36
+ kind: "email",
37
+ replacement: "[REDACTED_EMAIL]",
38
+ regex: /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,
39
+ },
40
+ {
41
+ kind: "ssn",
42
+ replacement: "[REDACTED_SSN]",
43
+ regex: /\b\d{3}-\d{2}-\d{4}\b/g,
44
+ },
45
+ {
46
+ kind: "phone",
47
+ replacement: "[REDACTED_PHONE]",
48
+ regex: /\b(?:\+?1[\s.-]?)?(?:\(?\d{3}\)?[\s.-]?)\d{3}[\s.-]?\d{4}\b/g,
49
+ },
50
+ ];
51
+ function addFinding(findings, kind, action, count) {
52
+ if (count <= 0)
53
+ return;
54
+ const key = `${kind}:${action}`;
55
+ const existing = findings.get(key);
56
+ findings.set(key, {
57
+ kind,
58
+ action,
59
+ count: (existing?.count ?? 0) + count,
60
+ });
61
+ }
62
+ function replacePattern(text, pattern, action, findings) {
63
+ let count = 0;
64
+ const next = text.replace(pattern.regex, (...args) => {
65
+ count += 1;
66
+ if (pattern.replacement.includes("$1") && typeof args[1] === "string") {
67
+ return pattern.replacement.replace("$1", args[1]);
68
+ }
69
+ return pattern.replacement;
70
+ });
71
+ addFinding(findings, pattern.kind, action, count);
72
+ return next;
73
+ }
74
+ function digitsOnly(value) {
75
+ return value.replace(/\D/g, "");
76
+ }
77
+ function passesLuhn(value) {
78
+ let sum = 0;
79
+ let doubleDigit = false;
80
+ for (let i = value.length - 1; i >= 0; i -= 1) {
81
+ let digit = Number(value[i]);
82
+ if (Number.isNaN(digit))
83
+ return false;
84
+ if (doubleDigit) {
85
+ digit *= 2;
86
+ if (digit > 9)
87
+ digit -= 9;
88
+ }
89
+ sum += digit;
90
+ doubleDigit = !doubleDigit;
91
+ }
92
+ return sum > 0 && sum % 10 === 0;
93
+ }
94
+ function redactCreditCards(text, findings) {
95
+ let count = 0;
96
+ const next = text.replace(/\b(?:\d[ -]*?){13,19}\b/g, (match) => {
97
+ const digits = digitsOnly(match);
98
+ if (digits.length < 13 || digits.length > 19 || !passesLuhn(digits)) {
99
+ return match;
100
+ }
101
+ count += 1;
102
+ return "[REDACTED_CARD]";
103
+ });
104
+ addFinding(findings, "credit_card", "redact", count);
105
+ return next;
106
+ }
107
+ export function sanitizeText(text) {
108
+ const findings = new Map();
109
+ let sanitized = text;
110
+ for (const pattern of BLOCK_PATTERNS) {
111
+ sanitized = replacePattern(sanitized, pattern, "block", findings);
112
+ }
113
+ sanitized = redactCreditCards(sanitized, findings);
114
+ for (const pattern of REDACT_PATTERNS) {
115
+ sanitized = replacePattern(sanitized, pattern, "redact", findings);
116
+ }
117
+ const allFindings = Array.from(findings.values());
118
+ const hasBlock = allFindings.some((finding) => finding.action === "block");
119
+ return {
120
+ text: sanitized,
121
+ status: hasBlock
122
+ ? "blocked"
123
+ : allFindings.length > 0
124
+ ? "redacted"
125
+ : "clean",
126
+ findings: allFindings,
127
+ };
128
+ }
129
+ export function mergeSanitizationFindings(findings) {
130
+ const merged = new Map();
131
+ for (const finding of findings) {
132
+ addFinding(merged, finding.kind, finding.action, finding.count);
133
+ }
134
+ return Array.from(merged.values());
135
+ }
136
+ export function sanitizeLabelingRow(row) {
137
+ const input = sanitizeText(row.input);
138
+ const output = row.output === undefined ? undefined : sanitizeText(row.output);
139
+ const findings = mergeSanitizationFindings([
140
+ ...input.findings,
141
+ ...(output?.findings ?? []),
142
+ ]);
143
+ const status = input.status === "blocked" || output?.status === "blocked"
144
+ ? "blocked"
145
+ : input.status === "redacted" || output?.status === "redacted"
146
+ ? "redacted"
147
+ : "clean";
148
+ return {
149
+ input: input.text,
150
+ ...(output !== undefined ? { output: output.text } : {}),
151
+ sanitizationStatus: status,
152
+ sanitizationFindings: findings,
153
+ ...(status === "blocked"
154
+ ? { sanitizationError: "Sensitive secret-like content was blocked" }
155
+ : {}),
156
+ };
157
+ }
158
+ //# sourceMappingURL=labeling-sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labeling-sanitize.js","sourceRoot":"","sources":["../src/labeling-sanitize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmCH,MAAM,cAAc,GAIf;IACH;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wBAAwB;QACrC,KAAK,EACH,6EAA6E;KAChF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,8BAA8B;QAC3C,KAAK,EACH,oFAAoF;KACvF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,yBAAyB;QACtC,KAAK,EAAE,uCAAuC;KAC/C;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,oBAAoB;QACjC,KAAK,EACH,wIAAwI;KAC3I;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sBAAsB;QACnC,KAAK,EACH,yIAAyI;KAC5I;CACF,CAAC;AAEF,MAAM,eAAe,GAIhB;IACH;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kBAAkB;QAC/B,KAAK,EAAE,6CAA6C;KACrD;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,gBAAgB;QAC7B,KAAK,EAAE,wBAAwB;KAChC;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kBAAkB;QAC/B,KAAK,EAAE,8DAA8D;KACtE;CACF,CAAC;AAEF,SAAS,UAAU,CACjB,QAA0C,EAC1C,IAAsB,EACtB,MAA0B,EAC1B,KAAa;IAEb,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO;IACvB,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;QAChB,IAAI;QACJ,MAAM;QACN,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK;KACtC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,OAAuE,EACvE,MAA0B,EAC1B,QAA0C;IAE1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC9D,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACtE,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,OAAO,CAAC,WAAW,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,GAAG,IAAI,KAAK,CAAC;QACb,WAAW,GAAG,CAAC,WAAW,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAY,EACZ,QAA0C;IAE1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IACxD,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEnD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAC3E,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;YACd,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,OAAO;QACb,QAAQ,EAAE,WAAW;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,QAAwC;IAExC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAGnC;IACC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QACzC,GAAG,KAAK,CAAC,QAAQ;QACjB,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;QACxD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,EAAE,MAAM,KAAK,UAAU;YAC5D,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,OAAO,CAAC;IAEhB,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,kBAAkB,EAAE,MAAM;QAC1B,oBAAoB,EAAE,QAAQ;QAC9B,GAAG,CAAC,MAAM,KAAK,SAAS;YACtB,CAAC,CAAC,EAAE,iBAAiB,EAAE,2CAA2C,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Local teacher-labeling job, ported from the tuned-tensor-runs labeling
3
+ * workflow. Reads an unlabeled JSONL or CSV source, sanitizes each row, sends
4
+ * pending rows to an OpenRouter teacher model under the spec's system message
5
+ * (the same message the fine-tuned model will see at inference), and writes a
6
+ * labeled {"input","output"} JSONL plus a job report under the artifact root.
7
+ *
8
+ * Unlike the eval judge there is no JSON output schema (the teacher's output
9
+ * IS the training label, free text) and no heuristic fallback — a failed call
10
+ * must surface as a failed row, never a fabricated label.
11
+ */
12
+ import type { LocalRunnerConfig } from "./contracts.js";
13
+ import { type SanitizationFinding, type SanitizationStatus } from "./labeling-sanitize.js";
14
+ import type { LocalRunReporter } from "./run-reporter.js";
15
+ /** Per-row input cap; larger documents should be chunked upstream. */
16
+ export declare const MAX_INPUT_CHARS = 32000;
17
+ export declare const MAX_PARSE_ERRORS = 50;
18
+ export interface UnlabeledRow {
19
+ rowIndex: number;
20
+ input: string;
21
+ /** Present when the source row was already labeled (JSONL only). */
22
+ output?: string;
23
+ }
24
+ export interface FailedUnlabeledRow {
25
+ rowIndex: number;
26
+ input: string;
27
+ error: string;
28
+ }
29
+ export interface ParseResult {
30
+ rows: UnlabeledRow[];
31
+ failedRows: FailedUnlabeledRow[];
32
+ errors: string[];
33
+ }
34
+ /**
35
+ * Parse a JSONL source of {"input": string, "output"?: string} rows. Rows
36
+ * that already carry an "output" skip the teacher and land directly as
37
+ * labeled. Collects errors instead of throwing; callers reject the job when
38
+ * `errors` is non-empty.
39
+ */
40
+ export declare function parseUnlabeledJsonl(text: string, maxRows: number): ParseResult;
41
+ /**
42
+ * Minimal RFC 4180 CSV reader (quoted fields, escaped quotes, CR/LF inside
43
+ * quotes). tt-local deliberately avoids a CSV dependency; this covers the
44
+ * upload formats the hosted labeling dialog accepts.
45
+ */
46
+ export declare function parseCsvRecords(text: string): {
47
+ fields: string[];
48
+ records: string[][];
49
+ errors: string[];
50
+ };
51
+ /**
52
+ * Parse a CSV source, taking `inputColumn` as the input text of each row.
53
+ * The header row is required.
54
+ */
55
+ export declare function parseUnlabeledCsv(text: string, inputColumn: string, maxRows: number): ParseResult;
56
+ /**
57
+ * Defensive removal of `<think>` reasoning blocks so the training label is
58
+ * only the teacher's final answer. Truncated output can leave a dangling
59
+ * close tag; keep only what follows the last close tag in that case.
60
+ */
61
+ export declare function stripModelThinking(raw: string): string;
62
+ /**
63
+ * Map over items with bounded concurrency and optional minimum spacing
64
+ * between call starts (global across workers).
65
+ */
66
+ export declare function mapWithPacing<T, R>(items: readonly T[], pacing: {
67
+ concurrency: number;
68
+ minIntervalMs: number;
69
+ }, mapper: (item: T, index: number) => Promise<R>): Promise<R[]>;
70
+ export interface TeacherOptions {
71
+ model: string;
72
+ apiKeyEnv: string;
73
+ appName?: string;
74
+ siteUrl?: string;
75
+ maxTokens: number;
76
+ temperature: number;
77
+ maxAttempts: number;
78
+ timeoutMs: number;
79
+ }
80
+ export interface TeacherLabelResult {
81
+ output: string;
82
+ promptTokens: number;
83
+ completionTokens: number;
84
+ latencyMs: number;
85
+ }
86
+ export declare function resolveTeacherOptions(config: LocalRunnerConfig, overrides?: {
87
+ model?: string;
88
+ }): TeacherOptions;
89
+ export declare function labelRow(args: {
90
+ systemMessage: string;
91
+ input: string;
92
+ teacher: TeacherOptions;
93
+ }): Promise<TeacherLabelResult>;
94
+ export type LabelingRowStatus = "labeled" | "failed" | "pending";
95
+ export interface LabelingRowResult {
96
+ row_index: number;
97
+ input: string;
98
+ output?: string;
99
+ status: LabelingRowStatus;
100
+ label_source?: "teacher" | "upload";
101
+ error?: string;
102
+ sanitization_status: SanitizationStatus;
103
+ sanitization_findings: SanitizationFinding[];
104
+ prompt_tokens: number;
105
+ completion_tokens: number;
106
+ }
107
+ export interface LocalLabelingReport {
108
+ job_id: string;
109
+ status: "completed" | "failed" | "dry_run";
110
+ source_path: string;
111
+ source_format: "jsonl" | "csv";
112
+ input_column?: string;
113
+ teacher_model_id: string;
114
+ row_count: number;
115
+ labeled_count: number;
116
+ prelabeled_count: number;
117
+ failed_count: number;
118
+ redacted_count: number;
119
+ blocked_count: number;
120
+ pending_count: number;
121
+ prompt_tokens_total: number;
122
+ completion_tokens_total: number;
123
+ error?: string;
124
+ artifact_uris: {
125
+ labeled: string;
126
+ rows: string;
127
+ report: string;
128
+ };
129
+ created_at: string;
130
+ completed_at: string;
131
+ }
132
+ export interface LocalLabelingResult {
133
+ report: LocalLabelingReport;
134
+ reportPath: string;
135
+ artifactDir: string;
136
+ labeledPath: string;
137
+ rowsPath: string;
138
+ }
139
+ export interface RunLocalLabelingJobArgs {
140
+ sourcePath: string;
141
+ /** Inferred from the file extension when omitted. */
142
+ format?: "jsonl" | "csv";
143
+ /** Required for CSV sources. */
144
+ inputColumn?: string;
145
+ systemMessage: string;
146
+ config: LocalRunnerConfig;
147
+ /** Optional extra copy of the labeled JSONL (artifact copy is always written). */
148
+ outputPath?: string;
149
+ /** Teacher model override; falls back to labeling.model then llm.model. */
150
+ model?: string;
151
+ /** Parse and sanitize only; no teacher calls, no labeled.jsonl. */
152
+ dryRun?: boolean;
153
+ reporter?: LocalRunReporter;
154
+ }
155
+ export declare function runLocalLabelingJob(args: RunLocalLabelingJobArgs): Promise<LocalLabelingResult>;