@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.
Files changed (55) hide show
  1. package/.claude/skills/qodo-agent/SKILL.md +54 -1
  2. package/README.md +14 -0
  3. package/dist/api/agent.d.ts.map +1 -1
  4. package/dist/api/agent.js +33 -2
  5. package/dist/api/agent.js.map +1 -1
  6. package/dist/api/websocket.d.ts +2 -0
  7. package/dist/api/websocket.d.ts.map +1 -1
  8. package/dist/api/websocket.js +4 -0
  9. package/dist/api/websocket.js.map +1 -1
  10. package/dist/bin/install-skill.js +0 -0
  11. package/dist/bin/run-helpers.d.ts +34 -0
  12. package/dist/bin/run-helpers.d.ts.map +1 -0
  13. package/dist/bin/run-helpers.js +186 -0
  14. package/dist/bin/run-helpers.js.map +1 -0
  15. package/dist/bin/run.d.ts +13 -0
  16. package/dist/bin/run.d.ts.map +1 -0
  17. package/dist/bin/run.js +57 -0
  18. package/dist/bin/run.js.map +1 -0
  19. package/dist/clients/index.d.ts +2 -0
  20. package/dist/clients/index.d.ts.map +1 -1
  21. package/dist/clients/index.js +1 -0
  22. package/dist/clients/index.js.map +1 -1
  23. package/dist/clients/tools/ToolsClient.d.ts +39 -0
  24. package/dist/clients/tools/ToolsClient.d.ts.map +1 -0
  25. package/dist/clients/tools/ToolsClient.js +95 -0
  26. package/dist/clients/tools/ToolsClient.js.map +1 -0
  27. package/dist/clients/tools/index.d.ts +4 -0
  28. package/dist/clients/tools/index.d.ts.map +1 -0
  29. package/dist/clients/tools/index.js +2 -0
  30. package/dist/clients/tools/index.js.map +1 -0
  31. package/dist/clients/tools/types.d.ts +14 -0
  32. package/dist/clients/tools/types.d.ts.map +1 -0
  33. package/dist/clients/tools/types.js +2 -0
  34. package/dist/clients/tools/types.js.map +1 -0
  35. package/dist/index.d.ts +6 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +6 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/sdk/QodoSDK.d.ts +3 -1
  40. package/dist/sdk/QodoSDK.d.ts.map +1 -1
  41. package/dist/sdk/QodoSDK.js +9 -4
  42. package/dist/sdk/QodoSDK.js.map +1 -1
  43. package/dist/sdk/events.d.ts +11 -1
  44. package/dist/sdk/events.d.ts.map +1 -1
  45. package/dist/sdk/events.js +1 -0
  46. package/dist/sdk/events.js.map +1 -1
  47. package/dist/sdk/exit-expression.d.ts +13 -0
  48. package/dist/sdk/exit-expression.d.ts.map +1 -0
  49. package/dist/sdk/exit-expression.js +35 -0
  50. package/dist/sdk/exit-expression.js.map +1 -0
  51. package/dist/sdk/trigger-context.d.ts +24 -0
  52. package/dist/sdk/trigger-context.d.ts.map +1 -0
  53. package/dist/sdk/trigger-context.js +136 -0
  54. package/dist/sdk/trigger-context.js.map +1 -0
  55. 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"}
@@ -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"}
@@ -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"}
@@ -4,4 +4,5 @@
4
4
  */
5
5
  export { QodoInfoClient } from './info/index.js';
6
6
  export { QodoSessionsClient } from './sessions/index.js';
7
+ export { QodoToolsClient } from './tools/index.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAQ7D;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAe;IAGG;IAFrB,KAAK,CAAkB;IAE/B,YAA6B,OAA+B,EAAE;QAAjC,SAAI,GAAJ,IAAI,CAA6B;IAAG,CAAC;IAE1D,KAAK,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAK;QAClD,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YACvF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM,EAAE,MAAM,CAAC,EAAE;wBACjB,UAAU,EAAE,SAAS;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,WAAW,EAAE,IAAI,CAAC,WAAW;qBAC9B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,uDAAuD,CAAC,CAAC;QACrE,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9C,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM,EAAE,QAAQ;wBAChB,UAAU,EAAE,SAAS;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,WAAW,EAAE,IAAI,CAAC,WAAW;qBAC9B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,qDAAqD,CAAC,CAAC;QAEjE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAiC;QAC9C,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,OAAO,CAAC,GAAI,IAAI,CAAC,KAAwB,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAiC;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAmC,EAAE,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAuB;QAC3C,OAAO,IAAI,eAAe,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export { QodoToolsClient } from './ToolsClient.js';
2
+ export type { QodoToolsClientOptions } from './ToolsClient.js';
3
+ export type { QodoToolInfo } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export { QodoToolsClient } from './ToolsClient.js';
2
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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 & Sessions clients
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;AA0BzB,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,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAOjE,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,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,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"}
@@ -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;AAEvE,OAAO,EAAC,iBAAiB,EAAiB,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAO/E,OAAO,EAAgC,KAAK,YAAY,EAAyB,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,GAAG,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAEjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,iBAAiB,EAAE,cAAc,EAAE,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,OAAO,YAAY,CAAC,KAAK,CAAA;CAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAElG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,qBAAa,OAAO;IAmDN,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlDpC,uCAAuC;IACvC,SAAgB,IAAI,EAAE,cAAc,CAAC;IAErC,6BAA6B;IAC7B,SAAgB,QAAQ,EAAE,kBAAkB,CAAC;IAE7C,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAGlB;IAIF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAGjD,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,YAAY,CAAoL;IACxM,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,IAAI,CAAmB;IAE/B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,gBAAgB,CAA8D;IACtF,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,UAAU,CAAK;IAGvB,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,eAAe,CAAc;IAGrC,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,mBAAmB,CAA0B;IAGrD,OAAO,CAAC,YAAY,CAAsE;IAG1F,OAAO,CAAC,kBAAkB,CAAsB;gBAEnB,OAAO,GAAE,cAAmB;IA0BzD,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,cAAc,GAAG,aAAa,CAAM;IAIjI;;;;;;;;OAQG;IACI,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK9C,OAAO,CAAC,SAAS;YAwBH,iBAAiB;YAqUjB,gBAAgB;IA8D9B,OAAO,CAAC,iCAAiC;IAoF3B,MAAM,CAClB,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC;IAgRvC,GAAG,CACd,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAoC5B;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAK9G;;OAEG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GAAG,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC;IAKrI,MAAM,IAAI,IAAI;IAKR,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAmBtC"}
1
+ {"version":3,"file":"QodoSDK.d.ts","sourceRoot":"","sources":["../../src/sdk/QodoSDK.ts"],"names":[],"mappings":"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"}