@qodo/sdk 0.9.0 → 0.11.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/.claude/skills/qodo-agent/SKILL.md +54 -1
- package/README.md +14 -0
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +33 -2
- package/dist/api/agent.js.map +1 -1
- package/dist/api/websocket.d.ts +2 -0
- package/dist/api/websocket.d.ts.map +1 -1
- package/dist/api/websocket.js +4 -0
- package/dist/api/websocket.js.map +1 -1
- package/dist/bin/install-skill.js +0 -0
- package/dist/bin/run-helpers.d.ts +34 -0
- package/dist/bin/run-helpers.d.ts.map +1 -0
- package/dist/bin/run-helpers.js +186 -0
- package/dist/bin/run-helpers.js.map +1 -0
- package/dist/bin/run.d.ts +13 -0
- package/dist/bin/run.d.ts.map +1 -0
- package/dist/bin/run.js +57 -0
- package/dist/bin/run.js.map +1 -0
- package/dist/clients/index.d.ts +2 -0
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +1 -0
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/tools/ToolsClient.d.ts +39 -0
- package/dist/clients/tools/ToolsClient.d.ts.map +1 -0
- package/dist/clients/tools/ToolsClient.js +95 -0
- package/dist/clients/tools/ToolsClient.js.map +1 -0
- package/dist/clients/tools/index.d.ts +4 -0
- package/dist/clients/tools/index.d.ts.map +1 -0
- package/dist/clients/tools/index.js +2 -0
- package/dist/clients/tools/index.js.map +1 -0
- package/dist/clients/tools/types.d.ts +14 -0
- package/dist/clients/tools/types.d.ts.map +1 -0
- package/dist/clients/tools/types.js +2 -0
- package/dist/clients/tools/types.js.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/sdk/QodoSDK.d.ts +3 -1
- package/dist/sdk/QodoSDK.d.ts.map +1 -1
- package/dist/sdk/QodoSDK.js +9 -4
- package/dist/sdk/QodoSDK.js.map +1 -1
- package/dist/sdk/events.d.ts +11 -1
- package/dist/sdk/events.d.ts.map +1 -1
- package/dist/sdk/events.js +1 -0
- package/dist/sdk/events.js.map +1 -1
- package/dist/sdk/exit-expression.d.ts +13 -0
- package/dist/sdk/exit-expression.d.ts.map +1 -0
- package/dist/sdk/exit-expression.js +35 -0
- package/dist/sdk/exit-expression.js.map +1 -0
- package/dist/sdk/trigger-context.d.ts +24 -0
- package/dist/sdk/trigger-context.d.ts.map +1 -0
- package/dist/sdk/trigger-context.js +136 -0
- package/dist/sdk/trigger-context.js.map +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { parseArgs } from 'node:util';
|
|
2
|
+
import { evaluateExitExpression } from '../sdk/exit-expression.js';
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// --set key=value parsing
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
/**
|
|
7
|
+
* Parse `--set key=value` pairs into a record.
|
|
8
|
+
* Values that contain `=` are preserved (split only on the first `=`).
|
|
9
|
+
*/
|
|
10
|
+
export function parseSetFlags(setArgs) {
|
|
11
|
+
const result = {};
|
|
12
|
+
for (const raw of setArgs) {
|
|
13
|
+
const eqIdx = raw.indexOf('=');
|
|
14
|
+
if (eqIdx <= 0) {
|
|
15
|
+
throw new Error(`Malformed --set flag: "${raw}". Expected format: --set key=value`);
|
|
16
|
+
}
|
|
17
|
+
const key = raw.slice(0, eqIdx);
|
|
18
|
+
const value = raw.slice(eqIdx + 1);
|
|
19
|
+
result[key] = value;
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// argv → ParsedCliArgs
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
/**
|
|
27
|
+
* Parse process.argv (after slicing off node + script) into structured args.
|
|
28
|
+
*
|
|
29
|
+
* Uses Node's built-in `parseArgs` from `node:util`.
|
|
30
|
+
*/
|
|
31
|
+
export function parseCliArgs(argv) {
|
|
32
|
+
const { values, positionals } = parseArgs({
|
|
33
|
+
args: argv,
|
|
34
|
+
options: {
|
|
35
|
+
'agent-file': { type: 'string' },
|
|
36
|
+
'set': { type: 'string', multiple: true },
|
|
37
|
+
'model': { type: 'string' },
|
|
38
|
+
'dry-run': { type: 'boolean', default: false },
|
|
39
|
+
'timeout': { type: 'string' },
|
|
40
|
+
'max-retries': { type: 'string' },
|
|
41
|
+
'json': { type: 'boolean', default: false },
|
|
42
|
+
'debug': { type: 'boolean', default: false },
|
|
43
|
+
'api-key': { type: 'string' },
|
|
44
|
+
'project-path': { type: 'string' },
|
|
45
|
+
'ci-context': { type: 'boolean', default: false },
|
|
46
|
+
'help': { type: 'boolean', short: 'h', default: false },
|
|
47
|
+
},
|
|
48
|
+
allowPositionals: true,
|
|
49
|
+
strict: true,
|
|
50
|
+
});
|
|
51
|
+
// positionals: [subcommand?, command?, ...prompt words]
|
|
52
|
+
// e.g. ["run", "code-review", "Review", "the", "PR"]
|
|
53
|
+
let command;
|
|
54
|
+
let prompt;
|
|
55
|
+
const sub = positionals[0]; // "run" subcommand
|
|
56
|
+
if (sub === 'run') {
|
|
57
|
+
command = positionals[1];
|
|
58
|
+
if (positionals.length > 2) {
|
|
59
|
+
prompt = positionals.slice(2).join(' ');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else if (sub) {
|
|
63
|
+
// No "run" subcommand — treat first positional as command
|
|
64
|
+
command = sub;
|
|
65
|
+
if (positionals.length > 1) {
|
|
66
|
+
prompt = positionals.slice(1).join(' ');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
command,
|
|
71
|
+
prompt,
|
|
72
|
+
agentFile: values['agent-file'],
|
|
73
|
+
set: values['set'] ?? [],
|
|
74
|
+
model: values['model'],
|
|
75
|
+
dryRun: values['dry-run'],
|
|
76
|
+
timeout: parseIntFlag(values['timeout'], 'timeout'),
|
|
77
|
+
maxRetries: parseIntFlag(values['max-retries'], 'max-retries'),
|
|
78
|
+
json: values['json'],
|
|
79
|
+
debug: values['debug'],
|
|
80
|
+
apiKey: values['api-key'],
|
|
81
|
+
projectPath: values['project-path'],
|
|
82
|
+
ciContext: values['ci-context'],
|
|
83
|
+
help: values['help'],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
// ---------------------------------------------------------------------------
|
|
87
|
+
// Build SDK options from parsed CLI args
|
|
88
|
+
// ---------------------------------------------------------------------------
|
|
89
|
+
export function buildSdkOptions(parsed) {
|
|
90
|
+
return {
|
|
91
|
+
...(parsed.agentFile ? { agentFile: parsed.agentFile } : {}),
|
|
92
|
+
...(parsed.apiKey ? { apiKey: parsed.apiKey } : {}),
|
|
93
|
+
...(parsed.model ? { model: parsed.model } : {}),
|
|
94
|
+
...(parsed.projectPath ? { projectPath: parsed.projectPath } : {}),
|
|
95
|
+
...(parsed.debug ? { debug: true } : {}),
|
|
96
|
+
autoApproveTools: true,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export function buildRunOptions(parsed) {
|
|
100
|
+
const args = parseSetFlags(parsed.set);
|
|
101
|
+
return {
|
|
102
|
+
...(Object.keys(args).length > 0 ? { args } : {}),
|
|
103
|
+
...(parsed.prompt ? { extraInstructions: parsed.prompt } : {}),
|
|
104
|
+
...(parsed.dryRun ? { dryRun: true } : {}),
|
|
105
|
+
...(parsed.timeout != null ? { timeout: parsed.timeout } : {}),
|
|
106
|
+
...(parsed.maxRetries != null ? { maxRetries: parsed.maxRetries } : {}),
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
// ---------------------------------------------------------------------------
|
|
110
|
+
// Output formatting
|
|
111
|
+
// ---------------------------------------------------------------------------
|
|
112
|
+
export function formatOutput(result, json) {
|
|
113
|
+
if (json) {
|
|
114
|
+
return JSON.stringify(result.result, null, 2);
|
|
115
|
+
}
|
|
116
|
+
// Text mode: prefer structured_output, fall back to final_output
|
|
117
|
+
if (result.result.structured_output != null) {
|
|
118
|
+
return typeof result.result.structured_output === 'string'
|
|
119
|
+
? result.result.structured_output
|
|
120
|
+
: JSON.stringify(result.result.structured_output, null, 2);
|
|
121
|
+
}
|
|
122
|
+
return result.result.final_output ?? '';
|
|
123
|
+
}
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
// Exit code determination
|
|
126
|
+
// ---------------------------------------------------------------------------
|
|
127
|
+
export function determineExitCode(result) {
|
|
128
|
+
if (!result.success)
|
|
129
|
+
return 1;
|
|
130
|
+
const exitExpression = result.meta?.exit_expression;
|
|
131
|
+
if (exitExpression) {
|
|
132
|
+
try {
|
|
133
|
+
const passed = evaluateExitExpression(result.result.structured_output, exitExpression);
|
|
134
|
+
return passed ? 0 : 1;
|
|
135
|
+
}
|
|
136
|
+
catch (e) {
|
|
137
|
+
console.error(`Warning: exit_expression evaluation failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
138
|
+
return 1;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return 0;
|
|
142
|
+
}
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
// Help text
|
|
145
|
+
// ---------------------------------------------------------------------------
|
|
146
|
+
export const HELP_TEXT = `
|
|
147
|
+
Usage: npx @qodo/sdk run <command> [prompt] [options]
|
|
148
|
+
|
|
149
|
+
Run a Qodo agent command from the command line.
|
|
150
|
+
|
|
151
|
+
Arguments:
|
|
152
|
+
<command> Command name (as defined in agent config)
|
|
153
|
+
[prompt] Optional prompt text
|
|
154
|
+
|
|
155
|
+
Options:
|
|
156
|
+
--agent-file=PATH Path to agent config (toml/yaml/yml)
|
|
157
|
+
--set key=value Set command argument (repeatable)
|
|
158
|
+
--model=NAME Model override
|
|
159
|
+
--dry-run Simulate tool execution
|
|
160
|
+
--timeout=ms Maximum execution time
|
|
161
|
+
--max-retries=N Retry count on failure
|
|
162
|
+
--json Output result as JSON
|
|
163
|
+
--debug Enable verbose logging
|
|
164
|
+
--api-key=KEY API key (env: QODO_API_KEY)
|
|
165
|
+
--project-path=PATH Working directory
|
|
166
|
+
--ci-context Auto-detect CI trigger context and merge as args
|
|
167
|
+
-h, --help Show this help message
|
|
168
|
+
|
|
169
|
+
Examples:
|
|
170
|
+
npx @qodo/sdk run code-review --agent-file=./agent.toml --set pr_url="https://github.com/org/repo/pull/123"
|
|
171
|
+
npx @qodo/sdk run greet --set name=World --json
|
|
172
|
+
npx @qodo/sdk run analyze --ci-context --dry-run
|
|
173
|
+
`.trim();
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
// Internal helpers
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
177
|
+
function parseIntFlag(raw, name) {
|
|
178
|
+
if (raw == null)
|
|
179
|
+
return undefined;
|
|
180
|
+
const n = Number(raw);
|
|
181
|
+
if (!Number.isInteger(n)) {
|
|
182
|
+
throw new Error(`Invalid --${name} value: "${raw}". Expected an integer.`);
|
|
183
|
+
}
|
|
184
|
+
return n;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=run-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-helpers.js","sourceRoot":"","sources":["../../src/bin/run-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CLI entry point for running Qodo SDK agent commands.
|
|
4
|
+
*
|
|
5
|
+
* NOTE: process.exit() is intentional here — this is a CLI entry point, not library code.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* npx @qodo/sdk run <command> [prompt] [options]
|
|
9
|
+
*
|
|
10
|
+
* See --help for full option list.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/bin/run.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG"}
|
package/dist/bin/run.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CLI entry point for running Qodo SDK agent commands.
|
|
4
|
+
*
|
|
5
|
+
* NOTE: process.exit() is intentional here — this is a CLI entry point, not library code.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* npx @qodo/sdk run <command> [prompt] [options]
|
|
9
|
+
*
|
|
10
|
+
* See --help for full option list.
|
|
11
|
+
*/
|
|
12
|
+
import { QodoSDK } from '../sdk/QodoSDK.js';
|
|
13
|
+
import { resolveTriggerContext } from '../sdk/trigger-context.js';
|
|
14
|
+
import { parseCliArgs, buildSdkOptions, buildRunOptions, determineExitCode, formatOutput, HELP_TEXT, } from './run-helpers.js';
|
|
15
|
+
async function main() {
|
|
16
|
+
const parsed = parseCliArgs(process.argv.slice(2));
|
|
17
|
+
if (parsed.help) {
|
|
18
|
+
console.log(HELP_TEXT);
|
|
19
|
+
process.exit(0);
|
|
20
|
+
}
|
|
21
|
+
if (!parsed.command) {
|
|
22
|
+
console.error('Error: No command specified.\n');
|
|
23
|
+
console.error(HELP_TEXT);
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
// Build SDK and run options from CLI args
|
|
27
|
+
const sdkOptions = buildSdkOptions(parsed);
|
|
28
|
+
const runOptions = buildRunOptions(parsed);
|
|
29
|
+
// Merge CI trigger context into args when --ci-context is set
|
|
30
|
+
if (parsed.ciContext) {
|
|
31
|
+
const ctx = resolveTriggerContext();
|
|
32
|
+
const ctxArgs = {};
|
|
33
|
+
for (const [key, value] of Object.entries(ctx)) {
|
|
34
|
+
if (value != null && value !== '') {
|
|
35
|
+
ctxArgs[key] = String(value);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
runOptions.args = { ...ctxArgs, ...runOptions.args };
|
|
39
|
+
}
|
|
40
|
+
const sdk = new QodoSDK(sdkOptions);
|
|
41
|
+
try {
|
|
42
|
+
const result = await sdk.run(parsed.command, runOptions);
|
|
43
|
+
const output = formatOutput(result, parsed.json);
|
|
44
|
+
if (output) {
|
|
45
|
+
console.log(output);
|
|
46
|
+
}
|
|
47
|
+
await sdk.dispose().catch(() => { });
|
|
48
|
+
process.exitCode = determineExitCode(result);
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
console.error(`Error: ${e?.message || String(e)}`);
|
|
52
|
+
await sdk.dispose().catch(() => { });
|
|
53
|
+
process.exitCode = 1;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
main();
|
|
57
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/bin/run.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,SAAS,GACV,MAAM,kBAAkB,CAAC;AAE1B,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0CAA0C;IAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3C,8DAA8D;IAC9D,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,qBAAqB,EAAE,CAAC;QACpC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|
package/dist/clients/index.d.ts
CHANGED
|
@@ -5,4 +5,6 @@
|
|
|
5
5
|
export type { QodoInfoClientOptions, QodoBackendInfo, BaseUrlSource, RateLimitInfo } from './info/index.js';
|
|
6
6
|
export { QodoSessionsClient } from './sessions/index.js';
|
|
7
7
|
export type { QodoSessionsClientOptions, RecentSession, SessionHistory, SessionMessage } from './sessions/index.js';
|
|
8
|
+
export { QodoToolsClient } from './tools/index.js';
|
|
9
|
+
export type { QodoToolsClientOptions, QodoToolInfo } from './tools/index.js';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clients/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,yBAAyB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clients/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,yBAAyB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/clients/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clients/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clients/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { QodoSDKOptions } from '../../sdk/QodoSDK.js';
|
|
2
|
+
import type { QodoToolInfo } from './types.js';
|
|
3
|
+
export type QodoToolsClientOptions = {
|
|
4
|
+
/** baseUrl override passed to the SDK (options.backend.baseUrl) */
|
|
5
|
+
baseUrlOverride?: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* QodoToolsClient
|
|
9
|
+
*
|
|
10
|
+
* Public-facing SDK facade for discovering available tools
|
|
11
|
+
* (built-in MCP servers + backend-provided tools).
|
|
12
|
+
*
|
|
13
|
+
* Follows the same pattern as QodoInfoClient — bootstraps the backend
|
|
14
|
+
* connection on first call, then returns normalized tool info.
|
|
15
|
+
*/
|
|
16
|
+
export declare class QodoToolsClient {
|
|
17
|
+
private readonly opts;
|
|
18
|
+
private cache?;
|
|
19
|
+
constructor(opts?: QodoToolsClientOptions);
|
|
20
|
+
private ensureInitialized;
|
|
21
|
+
private buildCatalog;
|
|
22
|
+
/**
|
|
23
|
+
* Returns all available tools (built-in + backend).
|
|
24
|
+
*/
|
|
25
|
+
getTools(opts?: {
|
|
26
|
+
forceRefresh?: boolean;
|
|
27
|
+
}): Promise<QodoToolInfo[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Returns tools grouped by server id.
|
|
30
|
+
*/
|
|
31
|
+
getToolsByServer(opts?: {
|
|
32
|
+
forceRefresh?: boolean;
|
|
33
|
+
}): Promise<Record<string, QodoToolInfo[]>>;
|
|
34
|
+
/**
|
|
35
|
+
* Helper for SDK integration: build tools client options from SDK options.
|
|
36
|
+
*/
|
|
37
|
+
static fromSdkOptions(sdkOpts: QodoSDKOptions): QodoToolsClient;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=ToolsClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolsClient.d.ts","sourceRoot":"","sources":["../../../src/clients/tools/ToolsClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAAG;IACnC,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,KAAK,CAAC,CAAiB;gBAEF,IAAI,GAAE,sBAA2B;YAEhD,iBAAiB;YASjB,YAAY;IA0C1B;;OAEG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK1E;;OAEG;IACG,gBAAgB,CAAC,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAUlG;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe;CAGhE"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { BackendBootstrap } from '../../sdk/bootstrap.js';
|
|
2
|
+
import { ServerData } from '../../session/index.js';
|
|
3
|
+
import { BuiltInServers } from '../../mcp/builtinServers.js';
|
|
4
|
+
/**
|
|
5
|
+
* QodoToolsClient
|
|
6
|
+
*
|
|
7
|
+
* Public-facing SDK facade for discovering available tools
|
|
8
|
+
* (built-in MCP servers + backend-provided tools).
|
|
9
|
+
*
|
|
10
|
+
* Follows the same pattern as QodoInfoClient — bootstraps the backend
|
|
11
|
+
* connection on first call, then returns normalized tool info.
|
|
12
|
+
*/
|
|
13
|
+
export class QodoToolsClient {
|
|
14
|
+
opts;
|
|
15
|
+
cache;
|
|
16
|
+
constructor(opts = {}) {
|
|
17
|
+
this.opts = opts;
|
|
18
|
+
}
|
|
19
|
+
async ensureInitialized(forceRefresh = false) {
|
|
20
|
+
if (forceRefresh || !this.cache) {
|
|
21
|
+
const bootstrap = new BackendBootstrap({ baseUrlOverride: this.opts.baseUrlOverride });
|
|
22
|
+
await bootstrap.init();
|
|
23
|
+
await ServerData.init(this.opts.baseUrlOverride);
|
|
24
|
+
this.cache = await this.buildCatalog();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async buildCatalog() {
|
|
28
|
+
const catalog = [];
|
|
29
|
+
// Built-in servers
|
|
30
|
+
const builtIn = new BuiltInServers();
|
|
31
|
+
const servers = await builtIn.getServers();
|
|
32
|
+
for (const server of servers) {
|
|
33
|
+
const instance = builtIn.getBuiltInServer(server.id);
|
|
34
|
+
if (!instance)
|
|
35
|
+
continue;
|
|
36
|
+
try {
|
|
37
|
+
await instance.initialize();
|
|
38
|
+
const { tools } = await instance.listTools();
|
|
39
|
+
for (const tool of tools) {
|
|
40
|
+
catalog.push({
|
|
41
|
+
server: server.id,
|
|
42
|
+
serverType: 'builtin',
|
|
43
|
+
name: tool.name,
|
|
44
|
+
description: tool.description,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch { /* best-effort: skip servers that fail to initialize */ }
|
|
49
|
+
}
|
|
50
|
+
// Backend tools from get-things
|
|
51
|
+
try {
|
|
52
|
+
const serverData = ServerData.getInstance();
|
|
53
|
+
const backendTools = serverData.getMCPTools();
|
|
54
|
+
for (const [serverId, tools] of Object.entries(backendTools)) {
|
|
55
|
+
for (const tool of tools) {
|
|
56
|
+
catalog.push({
|
|
57
|
+
server: serverId,
|
|
58
|
+
serverType: 'backend',
|
|
59
|
+
name: tool.name,
|
|
60
|
+
description: tool.description,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch { /* best-effort: backend tools may not be available */ }
|
|
66
|
+
return catalog;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Returns all available tools (built-in + backend).
|
|
70
|
+
*/
|
|
71
|
+
async getTools(opts) {
|
|
72
|
+
await this.ensureInitialized(!!opts?.forceRefresh);
|
|
73
|
+
return [...this.cache];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns tools grouped by server id.
|
|
77
|
+
*/
|
|
78
|
+
async getToolsByServer(opts) {
|
|
79
|
+
const tools = await this.getTools(opts);
|
|
80
|
+
const grouped = {};
|
|
81
|
+
for (const tool of tools) {
|
|
82
|
+
if (!grouped[tool.server])
|
|
83
|
+
grouped[tool.server] = [];
|
|
84
|
+
grouped[tool.server].push(tool);
|
|
85
|
+
}
|
|
86
|
+
return grouped;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Helper for SDK integration: build tools client options from SDK options.
|
|
90
|
+
*/
|
|
91
|
+
static fromSdkOptions(sdkOpts) {
|
|
92
|
+
return new QodoToolsClient({ baseUrlOverride: sdkOpts?.backend?.baseUrl });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=ToolsClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolsClient.js","sourceRoot":"","sources":["../../../src/clients/tools/ToolsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Describes a single tool available on an MCP server.
|
|
3
|
+
*/
|
|
4
|
+
export type QodoToolInfo = {
|
|
5
|
+
/** Server that owns this tool (e.g. "filesystem", "git", "shell"). */
|
|
6
|
+
server: string;
|
|
7
|
+
/** Server type: builtin or backend. */
|
|
8
|
+
serverType: 'builtin' | 'backend';
|
|
9
|
+
/** Tool name as used in tool calls. */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Human-readable description of the tool. */
|
|
12
|
+
description?: string;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/clients/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/clients/tools/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { QodoSDK } from './sdk/index.js';
|
|
2
2
|
export type { QodoSDKOptions, QodoSDKRunResult, QodoSDKStreamEvent, QodoSDKRunOptions, QodoSDKLogger, } from './sdk/index.js';
|
|
3
3
|
export { SdkEventType, SDK_PROTOCOL_V2, matchSdkEvent, createSdkEvent, getSdkVersion, } from './sdk/events.js';
|
|
4
|
-
export type { QodoSdkEvent, SdkEventTypeName, SdkEventEnvelope, SdkInitEvent, SdkRunStartedEvent, SdkMessageDeltaEvent, SdkMessageFullEvent, SdkProgressEvent, SdkToolRequestedEvent, SdkToolApprovedEvent, SdkToolExecutedEvent, SdkErrorEvent, SdkFinalEvent, SdkEventHandlers, SdkPipelineStartedEvent, SdkPipelineStepStartedEvent, SdkPipelineStepCompletedEvent, SdkPipelineGateEvaluatedEvent, SdkPipelineBranchEvaluatedEvent, SdkPipelineCompletedEvent, SdkPipelineErrorEvent, } from './sdk/events.js';
|
|
4
|
+
export type { QodoSdkEvent, SdkEventTypeName, SdkEventEnvelope, SdkInitEvent, SdkRunStartedEvent, SdkMessageDeltaEvent, SdkMessageFullEvent, SdkProgressEvent, SdkToolRequestedEvent, SdkToolApprovedEvent, SdkToolExecutedEvent, SdkErrorEvent, SdkFinalEvent, SdkEventHandlers, SdkPipelineStartedEvent, SdkPipelineStepStartedEvent, SdkPipelineStepCompletedEvent, SdkPipelineStepProgressEvent, SdkPipelineGateEvaluatedEvent, SdkPipelineBranchEvaluatedEvent, SdkPipelineCompletedEvent, SdkPipelineErrorEvent, } from './sdk/events.js';
|
|
5
5
|
export { sdkAgent, sdkCommand, sdkArgs } from './sdk/builders.js';
|
|
6
6
|
export { zodOutputSchema, zodArgsSchema, zCoerce, zJsonValue, zJsonAny, parseArgsWithSchema, QodoSchemaError, } from './sdk/schemas.js';
|
|
7
7
|
export { z } from 'zod/v3';
|
|
@@ -9,6 +9,8 @@ export { QodoInfoClient } from './clients/info/index.js';
|
|
|
9
9
|
export type { QodoBackendInfo } from './clients/info/types.js';
|
|
10
10
|
export { QodoSessionsClient } from './clients/sessions/index.js';
|
|
11
11
|
export type { RecentSession, SessionHistory, SessionMessage, } from './clients/sessions/types.js';
|
|
12
|
+
export { QodoToolsClient } from './clients/tools/index.js';
|
|
13
|
+
export type { QodoToolInfo } from './clients/tools/types.js';
|
|
12
14
|
export { findNearestAgentConfig } from './sdk/discovery.js';
|
|
13
15
|
export { buildDefaultSdkAgentConfig } from './sdk/defaults.js';
|
|
14
16
|
export { QodoTracker } from './tracking/index.js';
|
|
@@ -33,6 +35,9 @@ export { SdkTracer, createSdkTracer } from './tracing/index.js';
|
|
|
33
35
|
export type { SdkTracerOptions } from './tracing/index.js';
|
|
34
36
|
export { tracePipeline } from './tracing/index.js';
|
|
35
37
|
export type { TracePipelineOptions, OTelAPI } from './tracing/index.js';
|
|
38
|
+
export { resolveTriggerContext } from './sdk/trigger-context.js';
|
|
39
|
+
export type { CITriggerContext, CIProvider } from './sdk/trigger-context.js';
|
|
40
|
+
export { evaluateExitExpression } from './sdk/exit-expression.js';
|
|
36
41
|
export { QodoAuthError, AuthProvider } from './auth/index.js';
|
|
37
42
|
export { QodoBackendBootstrapError } from './session/serverData.js';
|
|
38
43
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,9 +8,10 @@ export { zodOutputSchema, zodArgsSchema, zCoerce, zJsonValue, zJsonAny, parseArg
|
|
|
8
8
|
// Re-export zod for convenience and type compatibility
|
|
9
9
|
// Users can import { z } from '@qodo/sdk' to ensure compatibility with SDK schema functions
|
|
10
10
|
export { z } from 'zod/v3';
|
|
11
|
-
// Info &
|
|
11
|
+
// Info, Sessions & Tools clients
|
|
12
12
|
export { QodoInfoClient } from './clients/info/index.js';
|
|
13
13
|
export { QodoSessionsClient } from './clients/sessions/index.js';
|
|
14
|
+
export { QodoToolsClient } from './clients/tools/index.js';
|
|
14
15
|
// Agent discovery & defaults
|
|
15
16
|
export { findNearestAgentConfig } from './sdk/discovery.js';
|
|
16
17
|
export { buildDefaultSdkAgentConfig } from './sdk/defaults.js';
|
|
@@ -35,6 +36,10 @@ export { QodoOutputValidationError } from './sdk/runner/finalize.js';
|
|
|
35
36
|
// OpenTelemetry tracing adapter
|
|
36
37
|
export { SdkTracer, createSdkTracer } from './tracing/index.js';
|
|
37
38
|
export { tracePipeline } from './tracing/index.js';
|
|
39
|
+
// CI Trigger Context
|
|
40
|
+
export { resolveTriggerContext } from './sdk/trigger-context.js';
|
|
41
|
+
// Exit Expression
|
|
42
|
+
export { evaluateExitExpression } from './sdk/exit-expression.js';
|
|
38
43
|
// Error classes
|
|
39
44
|
export { QodoAuthError, AuthProvider } from './auth/index.js';
|
|
40
45
|
export { QodoBackendBootstrapError } from './session/serverData.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,SAAS;AACT,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,SAAS;AACT,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AA2BzB,uBAAuB;AACvB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,uDAAuD;AACvD,4FAA4F;AAC5F,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,iCAAiC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAOjE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,6BAA6B;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAYlD,UAAU;AACV,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,qEAAqE;AACrE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AActH,uBAAuB;AACvB,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,yBAAyB,CAAC;AAKzG,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAExG,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGjG,4CAA4C;AAC5C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGlF,+BAA+B;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,gCAAgC;AAChC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,qBAAqB;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,kBAAkB;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/sdk/QodoSDK.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QodoInfoClient, QodoSessionsClient } from '../clients/index.js';
|
|
1
|
+
import { QodoInfoClient, QodoSessionsClient, QodoToolsClient } from '../clients/index.js';
|
|
2
2
|
import { AIAssistantConfig, MCPConfig } from '../parser/types.js';
|
|
3
3
|
import { type QodoSdkEvent, SdkEventType } from './events.js';
|
|
4
4
|
export type QodoSDKLogger = {
|
|
@@ -125,6 +125,8 @@ export declare class QodoSDK {
|
|
|
125
125
|
readonly info: QodoInfoClient;
|
|
126
126
|
/** Session history facade */
|
|
127
127
|
readonly sessions: QodoSessionsClient;
|
|
128
|
+
/** Tool discovery facade */
|
|
129
|
+
readonly tools: QodoToolsClient;
|
|
128
130
|
private initialized;
|
|
129
131
|
private readonly env;
|
|
130
132
|
private readonly logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QodoSDK.d.ts","sourceRoot":"","sources":["../../src/sdk/QodoSDK.ts"],"names":[],"mappings":"AAaA,OAAO,EAAC,cAAc,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"QodoSDK.d.ts","sourceRoot":"","sources":["../../src/sdk/QodoSDK.ts"],"names":[],"mappings":"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"}
|