tuningengines-cli 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +90 -0
  2. package/dist/cli.js +11 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client.d.ts +23 -0
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +52 -0
  7. package/dist/client.js.map +1 -1
  8. package/dist/commands/agents.d.ts +4 -0
  9. package/dist/commands/agents.d.ts.map +1 -0
  10. package/dist/commands/agents.js +72 -0
  11. package/dist/commands/agents.js.map +1 -0
  12. package/dist/commands/datasets.d.ts +4 -0
  13. package/dist/commands/datasets.d.ts.map +1 -0
  14. package/dist/commands/datasets.js +154 -0
  15. package/dist/commands/datasets.js.map +1 -0
  16. package/dist/commands/evaluations.d.ts +4 -0
  17. package/dist/commands/evaluations.d.ts.map +1 -0
  18. package/dist/commands/evaluations.js +168 -0
  19. package/dist/commands/evaluations.js.map +1 -0
  20. package/dist/commands/inference.d.ts +4 -0
  21. package/dist/commands/inference.d.ts.map +1 -0
  22. package/dist/commands/inference.js +92 -0
  23. package/dist/commands/inference.js.map +1 -0
  24. package/dist/commands/tenant.d.ts +4 -0
  25. package/dist/commands/tenant.d.ts.map +1 -0
  26. package/dist/commands/tenant.js +326 -0
  27. package/dist/commands/tenant.js.map +1 -0
  28. package/package.json +3 -2
  29. package/packages/tuning-agents/README.md +168 -0
  30. package/packages/tuning-agents/examples/langgraph_agent.py +25 -0
  31. package/packages/tuning-agents/examples/temporal_worker.py +27 -0
  32. package/packages/tuning-agents/pyproject.toml +38 -0
  33. package/packages/tuning-agents/tests/test_mcp.py +40 -0
  34. package/packages/tuning-agents/tests/test_trace.py +14 -0
  35. package/packages/tuning-agents/tuning_agents/__init__.py +11 -0
  36. package/packages/tuning-agents/tuning_agents/client.py +275 -0
  37. package/packages/tuning-agents/tuning_agents/langgraph.py +108 -0
  38. package/packages/tuning-agents/tuning_agents/mcp.py +208 -0
  39. package/packages/tuning-agents/tuning_agents/resources.py +26 -0
  40. package/packages/tuning-agents/tuning_agents/temporal.py +172 -0
  41. package/packages/tuning-agents/tuning_agents/trace.py +88 -0
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.registerEvaluationCommands = registerEvaluationCommands;
37
+ const output = __importStar(require("../output"));
38
+ function parseJsonObject(raw) {
39
+ if (!raw)
40
+ return {};
41
+ const parsed = JSON.parse(raw);
42
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
43
+ throw new Error("--data must be a JSON object");
44
+ }
45
+ return parsed;
46
+ }
47
+ function printResult(result) {
48
+ output.json(result);
49
+ }
50
+ function registerEvaluationCommands(program, getClient) {
51
+ const evals = program
52
+ .command("evals")
53
+ .description("Manage model evaluations");
54
+ evals
55
+ .command("list")
56
+ .description("List evaluations")
57
+ .option("--status <status>", "Filter by status")
58
+ .option("-l, --limit <n>", "Max results", "50")
59
+ .option("--offset <n>", "Offset", "0")
60
+ .option("--json", "Output as JSON")
61
+ .action(async (opts) => {
62
+ try {
63
+ printResult(await getClient().listEvaluations({
64
+ status: opts.status,
65
+ limit: Number(opts.limit),
66
+ offset: Number(opts.offset),
67
+ }));
68
+ }
69
+ catch (err) {
70
+ console.error(err.message);
71
+ process.exit(1);
72
+ }
73
+ });
74
+ evals
75
+ .command("show <id>")
76
+ .description("Show evaluation details")
77
+ .option("--json", "Output as JSON")
78
+ .action(async (id) => {
79
+ try {
80
+ printResult(await getClient().getEvaluation(id));
81
+ }
82
+ catch (err) {
83
+ console.error(err.message);
84
+ process.exit(1);
85
+ }
86
+ });
87
+ evals
88
+ .command("create")
89
+ .description("Create an evaluation from JSON")
90
+ .requiredOption("--data <json>", "JSON object with evaluation attributes")
91
+ .option("--json", "Output as JSON")
92
+ .action(async (opts) => {
93
+ try {
94
+ printResult(await getClient().createEvaluation(parseJsonObject(opts.data)));
95
+ }
96
+ catch (err) {
97
+ console.error(err.message);
98
+ process.exit(1);
99
+ }
100
+ });
101
+ evals
102
+ .command("cancel <id>")
103
+ .description("Cancel a running evaluation")
104
+ .option("--json", "Output as JSON")
105
+ .action(async (id) => {
106
+ try {
107
+ printResult(await getClient().cancelEvaluation(id));
108
+ }
109
+ catch (err) {
110
+ console.error(err.message);
111
+ process.exit(1);
112
+ }
113
+ });
114
+ evals
115
+ .command("retry <id>")
116
+ .description("Retry a failed evaluation")
117
+ .option("--json", "Output as JSON")
118
+ .action(async (id) => {
119
+ try {
120
+ printResult(await getClient().retryEvaluation(id));
121
+ }
122
+ catch (err) {
123
+ console.error(err.message);
124
+ process.exit(1);
125
+ }
126
+ });
127
+ evals
128
+ .command("status <id>")
129
+ .description("Check evaluation status")
130
+ .option("--json", "Output as JSON")
131
+ .action(async (id) => {
132
+ try {
133
+ printResult(await getClient().getEvaluationStatus(id));
134
+ }
135
+ catch (err) {
136
+ console.error(err.message);
137
+ process.exit(1);
138
+ }
139
+ });
140
+ evals
141
+ .command("evaluators")
142
+ .description("List available evaluators")
143
+ .option("--json", "Output as JSON")
144
+ .action(async () => {
145
+ try {
146
+ printResult(await getClient().listEvaluators());
147
+ }
148
+ catch (err) {
149
+ console.error(err.message);
150
+ process.exit(1);
151
+ }
152
+ });
153
+ evals
154
+ .command("estimate")
155
+ .description("Estimate evaluation cost from JSON")
156
+ .requiredOption("--data <json>", "JSON object with evaluation attributes")
157
+ .option("--json", "Output as JSON")
158
+ .action(async (opts) => {
159
+ try {
160
+ printResult(await getClient().estimateEvaluation(parseJsonObject(opts.data)));
161
+ }
162
+ catch (err) {
163
+ console.error(err.message);
164
+ process.exit(1);
165
+ }
166
+ });
167
+ }
168
+ //# sourceMappingURL=evaluations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluations.js","sourceRoot":"","sources":["../../src/commands/evaluations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from "commander";
2
+ import { TuningEnginesClient } from "../client";
3
+ export declare function registerInferenceCommands(program: Command, getClient: () => TuningEnginesClient): void;
4
+ //# sourceMappingURL=inference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../src/commands/inference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAOhD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,mBAAmB,GACnC,IAAI,CAkDN"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.registerInferenceCommands = registerInferenceCommands;
37
+ const output = __importStar(require("../output"));
38
+ function printResult(result) {
39
+ output.json(result);
40
+ }
41
+ function registerInferenceCommands(program, getClient) {
42
+ const inference = program
43
+ .command("inference")
44
+ .description("Inspect inference models, usage, and direct API access");
45
+ inference
46
+ .command("models")
47
+ .description("List available inference models")
48
+ .option("--json", "Output as JSON")
49
+ .action(async () => {
50
+ try {
51
+ printResult(await getClient().listInferenceModels());
52
+ }
53
+ catch (err) {
54
+ console.error(err.message);
55
+ process.exit(1);
56
+ }
57
+ });
58
+ inference
59
+ .command("usage")
60
+ .description("Show inference usage")
61
+ .option("--start-date <date>", "Start date")
62
+ .option("--end-date <date>", "End date")
63
+ .option("--model <model>", "Model filter")
64
+ .option("--json", "Output as JSON")
65
+ .action(async (opts) => {
66
+ try {
67
+ printResult(await getClient().getInferenceUsage({
68
+ start_date: opts.startDate,
69
+ end_date: opts.endDate,
70
+ model: opts.model,
71
+ }));
72
+ }
73
+ catch (err) {
74
+ console.error(err.message);
75
+ process.exit(1);
76
+ }
77
+ });
78
+ inference
79
+ .command("jwt")
80
+ .description("Get a JWT for direct inference API access")
81
+ .option("--json", "Output as JSON")
82
+ .action(async () => {
83
+ try {
84
+ printResult(await getClient().getInferenceJwt());
85
+ }
86
+ catch (err) {
87
+ console.error(err.message);
88
+ process.exit(1);
89
+ }
90
+ });
91
+ }
92
+ //# sourceMappingURL=inference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference.js","sourceRoot":"","sources":["../../src/commands/inference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,8DAqDC;AA3DD,kDAAoC;AAEpC,SAAS,WAAW,CAAC,MAAW;IAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAgB,yBAAyB,CACvC,OAAgB,EAChB,SAAoC;IAEpC,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,wDAAwD,CAAC,CAAC;IAEzE,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,WAAW,CAAC,MAAM,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,qBAAqB,EAAE,YAAY,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC;SACvC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;SACzC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,WAAW,CAAC,MAAM,SAAS,EAAE,CAAC,iBAAiB,CAAC;gBAC9C,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,WAAW,CAAC,MAAM,SAAS,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Command } from "commander";
2
+ import { TuningEnginesClient } from "../client";
3
+ export declare function registerTenantCommands(program: Command, getClient: () => TuningEnginesClient): void;
4
+ //# sourceMappingURL=tenant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.d.ts","sourceRoot":"","sources":["../../src/commands/tenant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAqChD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,mBAAmB,GACnC,IAAI,CAmQN"}
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.registerTenantCommands = registerTenantCommands;
37
+ const output = __importStar(require("../output"));
38
+ const RESOURCE_NAMES = [
39
+ "inference_keys",
40
+ "inference_roles",
41
+ "model_deployments",
42
+ "routing_profiles",
43
+ "guardrail_policies",
44
+ "governance_policies",
45
+ "mcp_servers",
46
+ "tenant_agents",
47
+ "tenant_skills",
48
+ "credential_sources",
49
+ ];
50
+ function parseJsonObject(raw) {
51
+ if (!raw)
52
+ return {};
53
+ const parsed = JSON.parse(raw);
54
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
55
+ throw new Error("--data must be a JSON object");
56
+ }
57
+ return parsed;
58
+ }
59
+ function printResult(result, asJson) {
60
+ if (asJson) {
61
+ output.json(result);
62
+ return;
63
+ }
64
+ output.json(result);
65
+ }
66
+ function resourceHelp() {
67
+ return `Allowed resources: ${RESOURCE_NAMES.join(", ")}`;
68
+ }
69
+ function registerTenantCommands(program, getClient) {
70
+ const tenant = program
71
+ .command("tenant")
72
+ .description("Tenant-admin automation APIs for CI and product smoke tests");
73
+ tenant
74
+ .command("resources")
75
+ .description("List tenant-admin resource names supported by the API")
76
+ .action(() => {
77
+ RESOURCE_NAMES.forEach((name) => console.log(name));
78
+ console.log("team");
79
+ console.log("inference_capture");
80
+ });
81
+ tenant
82
+ .command("list <resource>")
83
+ .description(`List a tenant resource. ${resourceHelp()}`)
84
+ .option("-l, --limit <n>", "Max results", "50")
85
+ .option("--offset <n>", "Offset", "0")
86
+ .option("--json", "Output as JSON")
87
+ .action(async (resource, opts) => {
88
+ try {
89
+ const result = await getClient().listTenantResource(resource, {
90
+ limit: Number(opts.limit),
91
+ offset: Number(opts.offset),
92
+ });
93
+ printResult(result, opts.json);
94
+ }
95
+ catch (err) {
96
+ console.error(err.message);
97
+ process.exit(1);
98
+ }
99
+ });
100
+ tenant
101
+ .command("show <resource> <id>")
102
+ .description(`Show a tenant resource. ${resourceHelp()}`)
103
+ .option("--json", "Output as JSON")
104
+ .action(async (resource, id, opts) => {
105
+ try {
106
+ const result = await getClient().getTenantResource(resource, id);
107
+ printResult(result, opts.json);
108
+ }
109
+ catch (err) {
110
+ console.error(err.message);
111
+ process.exit(1);
112
+ }
113
+ });
114
+ tenant
115
+ .command("create <resource>")
116
+ .description(`Create a tenant resource from JSON. ${resourceHelp()}`)
117
+ .requiredOption("--data <json>", "JSON object with resource attributes")
118
+ .option("--json", "Output as JSON")
119
+ .action(async (resource, opts) => {
120
+ try {
121
+ const result = await getClient().createTenantResource(resource, parseJsonObject(opts.data));
122
+ printResult(result, opts.json);
123
+ }
124
+ catch (err) {
125
+ console.error(err.message);
126
+ process.exit(1);
127
+ }
128
+ });
129
+ tenant
130
+ .command("update <resource> <id>")
131
+ .description(`Update a tenant resource from JSON. ${resourceHelp()}`)
132
+ .requiredOption("--data <json>", "JSON object with changed attributes")
133
+ .option("--json", "Output as JSON")
134
+ .action(async (resource, id, opts) => {
135
+ try {
136
+ const result = await getClient().updateTenantResource(resource, id, parseJsonObject(opts.data));
137
+ printResult(result, opts.json);
138
+ }
139
+ catch (err) {
140
+ console.error(err.message);
141
+ process.exit(1);
142
+ }
143
+ });
144
+ tenant
145
+ .command("delete <resource> <id>")
146
+ .description(`Delete or revoke a tenant resource. Inference keys are revoked. ${resourceHelp()}`)
147
+ .option("--json", "Output as JSON")
148
+ .action(async (resource, id, opts) => {
149
+ try {
150
+ const result = await getClient().deleteTenantResource(resource, id);
151
+ printResult(result, opts.json);
152
+ }
153
+ catch (err) {
154
+ console.error(err.message);
155
+ process.exit(1);
156
+ }
157
+ });
158
+ tenant
159
+ .command("test-policy <id>")
160
+ .description("Dry-run an AGT YAML governance policy against a JSON context")
161
+ .requiredOption("--context <json>", "Policy evaluation context JSON object")
162
+ .option("--json", "Output as JSON")
163
+ .action(async (id, opts) => {
164
+ try {
165
+ const result = await getClient().testGovernancePolicy(id, parseJsonObject(opts.context));
166
+ printResult(result, opts.json);
167
+ }
168
+ catch (err) {
169
+ console.error(err.message);
170
+ process.exit(1);
171
+ }
172
+ });
173
+ const team = tenant.command("team").description("Manage tenant members and invitations");
174
+ team
175
+ .command("list")
176
+ .description("List tenant members, invitations, and allowed email domains")
177
+ .option("--json", "Output as JSON")
178
+ .action(async (opts) => {
179
+ try {
180
+ const result = await getClient().getTenantTeam();
181
+ printResult(result, opts.json);
182
+ }
183
+ catch (err) {
184
+ console.error(err.message);
185
+ process.exit(1);
186
+ }
187
+ });
188
+ team
189
+ .command("invite <email>")
190
+ .description("Invite a tenant member. The invite token is emailed and is never printed.")
191
+ .option("--role <role>", "admin, member, viewer, or numeric role", "member")
192
+ .option("--json", "Output as JSON")
193
+ .action(async (email, opts) => {
194
+ try {
195
+ const result = await getClient().inviteTenantMember({ email, role: opts.role });
196
+ printResult(result, opts.json);
197
+ }
198
+ catch (err) {
199
+ console.error(err.message);
200
+ process.exit(1);
201
+ }
202
+ });
203
+ team
204
+ .command("set-role <member-id>")
205
+ .description("Set a member's inference role by ID")
206
+ .requiredOption("--inference-role-id <id>", "Inference role ID")
207
+ .option("--json", "Output as JSON")
208
+ .action(async (id, opts) => {
209
+ try {
210
+ const result = await getClient().updateTenantMember(id, {
211
+ inference_role_id: opts.inferenceRoleId,
212
+ });
213
+ printResult(result, opts.json);
214
+ }
215
+ catch (err) {
216
+ console.error(err.message);
217
+ process.exit(1);
218
+ }
219
+ });
220
+ team
221
+ .command("remove <member-id>")
222
+ .description("Remove a tenant member")
223
+ .option("--json", "Output as JSON")
224
+ .action(async (id, opts) => {
225
+ try {
226
+ const result = await getClient().deleteTenantMember(id);
227
+ printResult(result, opts.json);
228
+ }
229
+ catch (err) {
230
+ console.error(err.message);
231
+ process.exit(1);
232
+ }
233
+ });
234
+ team
235
+ .command("disable <member-id>")
236
+ .description("Disable a tenant member and block API access")
237
+ .option("--json", "Output as JSON")
238
+ .action(async (id, opts) => {
239
+ try {
240
+ const result = await getClient().setTenantMemberEnabled(id, false);
241
+ printResult(result, opts.json);
242
+ }
243
+ catch (err) {
244
+ console.error(err.message);
245
+ process.exit(1);
246
+ }
247
+ });
248
+ team
249
+ .command("enable <member-id>")
250
+ .description("Re-enable a tenant member")
251
+ .option("--json", "Output as JSON")
252
+ .action(async (id, opts) => {
253
+ try {
254
+ const result = await getClient().setTenantMemberEnabled(id, true);
255
+ printResult(result, opts.json);
256
+ }
257
+ catch (err) {
258
+ console.error(err.message);
259
+ process.exit(1);
260
+ }
261
+ });
262
+ team
263
+ .command("cancel-invite <invitation-id>")
264
+ .description("Cancel a pending tenant invitation")
265
+ .option("--json", "Output as JSON")
266
+ .action(async (id, opts) => {
267
+ try {
268
+ const result = await getClient().cancelTenantInvitation(id);
269
+ printResult(result, opts.json);
270
+ }
271
+ catch (err) {
272
+ console.error(err.message);
273
+ process.exit(1);
274
+ }
275
+ });
276
+ team
277
+ .command("domains")
278
+ .description("Replace allowed email domains. Pass an empty string to clear.")
279
+ .requiredOption("--set <domains>", "Comma-separated domain list")
280
+ .option("--json", "Output as JSON")
281
+ .action(async (opts) => {
282
+ try {
283
+ const domains = String(opts.set)
284
+ .split(",")
285
+ .map((domain) => domain.trim().toLowerCase())
286
+ .filter(Boolean);
287
+ const result = await getClient().updateTenantDomains(domains);
288
+ printResult(result, opts.json);
289
+ }
290
+ catch (err) {
291
+ console.error(err.message);
292
+ process.exit(1);
293
+ }
294
+ });
295
+ const capture = tenant.command("capture").description("Manage inference capture settings");
296
+ capture
297
+ .command("show")
298
+ .description("Show inference capture config")
299
+ .option("--json", "Output as JSON")
300
+ .action(async (opts) => {
301
+ try {
302
+ const result = await getClient().getInferenceCaptureConfig();
303
+ printResult(result, opts.json);
304
+ }
305
+ catch (err) {
306
+ console.error(err.message);
307
+ process.exit(1);
308
+ }
309
+ });
310
+ capture
311
+ .command("update")
312
+ .description("Update inference capture config from JSON")
313
+ .requiredOption("--data <json>", "JSON object with capture settings")
314
+ .option("--json", "Output as JSON")
315
+ .action(async (opts) => {
316
+ try {
317
+ const result = await getClient().updateInferenceCaptureConfig(parseJsonObject(opts.data));
318
+ printResult(result, opts.json);
319
+ }
320
+ catch (err) {
321
+ console.error(err.message);
322
+ process.exit(1);
323
+ }
324
+ });
325
+ }
326
+ //# sourceMappingURL=tenant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../src/commands/tenant.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tuningengines-cli",
3
- "version": "0.4.0",
4
- "description": "Fine-tune and train open-source LLMs and SLMs with zero infrastructure, plus a Marketplace of pre-built fine-tuned models and datasets. Tuning Engines CLI and MCP server for domain-specific model training own your sovereign AI model, fine-tuned on your data via specialized tuning agents. Supports Qwen, Llama, DeepSeek, Mistral, Gemma, Phi, StarCoder, CodeLlama from 1B to 72B parameters. LoRA, QLoRA, full fine-tuning. Cost estimation, model management, S3 import/export, Marketplace catalog browsing and export. NEW: Datasets, Evaluations, Inference API, and Agents. 35+ MCP tools for Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP-compatible AI assistant.",
3
+ "version": "0.4.2",
4
+ "description": "Tuning Engines CLI, MCP server, and Python agent runtime adapters for governed model, agent, skill, and MCP workflows. Fine-tune open-source LLMs, run inference, manage datasets/evaluations, and connect LangGraph or Temporal while Tuning Engines handles policy, audit, usage, and token economics.",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
7
7
  "te": "dist/cli.js"
@@ -24,6 +24,7 @@
24
24
  },
25
25
  "files": [
26
26
  "dist",
27
+ "packages/tuning-agents",
27
28
  "README.md"
28
29
  ],
29
30
  "license": "MIT",