@qodo/sdk 0.1.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/LICENSE +118 -0
- package/README.md +121 -0
- package/dist/api/agent.d.ts +69 -0
- package/dist/api/agent.d.ts.map +1 -0
- package/dist/api/agent.js +1034 -0
- package/dist/api/agent.js.map +1 -0
- package/dist/api/analytics.d.ts +43 -0
- package/dist/api/analytics.d.ts.map +1 -0
- package/dist/api/analytics.js +163 -0
- package/dist/api/analytics.js.map +1 -0
- package/dist/api/http.d.ts +5 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +59 -0
- package/dist/api/http.js.map +1 -0
- package/dist/api/index.d.ts +12 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +17 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/taskTracking.d.ts +54 -0
- package/dist/api/taskTracking.d.ts.map +1 -0
- package/dist/api/taskTracking.js +208 -0
- package/dist/api/taskTracking.js.map +1 -0
- package/dist/api/types.d.ts +92 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +2 -0
- package/dist/api/types.js.map +1 -0
- package/dist/api/utils.d.ts +8 -0
- package/dist/api/utils.d.ts.map +1 -0
- package/dist/api/utils.js +54 -0
- package/dist/api/utils.js.map +1 -0
- package/dist/api/websocket.d.ts +74 -0
- package/dist/api/websocket.d.ts.map +1 -0
- package/dist/api/websocket.js +685 -0
- package/dist/api/websocket.js.map +1 -0
- package/dist/auth/index.d.ts +25 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +85 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/clients/index.d.ts +8 -0
- package/dist/clients/index.d.ts.map +1 -0
- package/dist/clients/index.js +7 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/info/InfoClient.d.ts +37 -0
- package/dist/clients/info/InfoClient.d.ts.map +1 -0
- package/dist/clients/info/InfoClient.js +69 -0
- package/dist/clients/info/InfoClient.js.map +1 -0
- package/dist/clients/info/index.d.ts +4 -0
- package/dist/clients/info/index.d.ts.map +1 -0
- package/dist/clients/info/index.js +2 -0
- package/dist/clients/info/index.js.map +1 -0
- package/dist/clients/info/types.d.ts +21 -0
- package/dist/clients/info/types.d.ts.map +1 -0
- package/dist/clients/info/types.js +2 -0
- package/dist/clients/info/types.js.map +1 -0
- package/dist/clients/sessions/SessionsClient.d.ts +34 -0
- package/dist/clients/sessions/SessionsClient.d.ts.map +1 -0
- package/dist/clients/sessions/SessionsClient.js +71 -0
- package/dist/clients/sessions/SessionsClient.js.map +1 -0
- package/dist/clients/sessions/index.d.ts +4 -0
- package/dist/clients/sessions/index.d.ts.map +1 -0
- package/dist/clients/sessions/index.js +2 -0
- package/dist/clients/sessions/index.js.map +1 -0
- package/dist/clients/sessions/types.d.ts +20 -0
- package/dist/clients/sessions/types.d.ts.map +1 -0
- package/dist/clients/sessions/types.js +2 -0
- package/dist/clients/sessions/types.js.map +1 -0
- package/dist/config/ConfigManager.d.ts +43 -0
- package/dist/config/ConfigManager.d.ts.map +1 -0
- package/dist/config/ConfigManager.js +472 -0
- package/dist/config/ConfigManager.js.map +1 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/urlConfig.d.ts +15 -0
- package/dist/config/urlConfig.d.ts.map +1 -0
- package/dist/config/urlConfig.js +75 -0
- package/dist/config/urlConfig.js.map +1 -0
- package/dist/constants/errors.d.ts +2 -0
- package/dist/constants/errors.d.ts.map +1 -0
- package/dist/constants/errors.js +2 -0
- package/dist/constants/errors.js.map +1 -0
- package/dist/constants/index.d.ts +7 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +11 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/tools.d.ts +4 -0
- package/dist/constants/tools.d.ts.map +1 -0
- package/dist/constants/tools.js +4 -0
- package/dist/constants/tools.js.map +1 -0
- package/dist/constants/versions.d.ts +2 -0
- package/dist/constants/versions.d.ts.map +1 -0
- package/dist/constants/versions.js +2 -0
- package/dist/constants/versions.js.map +1 -0
- package/dist/context/buildUserContext.d.ts +18 -0
- package/dist/context/buildUserContext.d.ts.map +1 -0
- package/dist/context/buildUserContext.js +34 -0
- package/dist/context/buildUserContext.js.map +1 -0
- package/dist/context/index.d.ts +9 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +9 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/messageManager.d.ts +42 -0
- package/dist/context/messageManager.d.ts.map +1 -0
- package/dist/context/messageManager.js +322 -0
- package/dist/context/messageManager.js.map +1 -0
- package/dist/context/taskFocus.d.ts +2 -0
- package/dist/context/taskFocus.d.ts.map +1 -0
- package/dist/context/taskFocus.js +26 -0
- package/dist/context/taskFocus.js.map +1 -0
- package/dist/context/userInput.d.ts +3 -0
- package/dist/context/userInput.d.ts.map +1 -0
- package/dist/context/userInput.js +20 -0
- package/dist/context/userInput.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/MCPManager.d.ts +125 -0
- package/dist/mcp/MCPManager.d.ts.map +1 -0
- package/dist/mcp/MCPManager.js +616 -0
- package/dist/mcp/MCPManager.js.map +1 -0
- package/dist/mcp/approvedTools.d.ts +4 -0
- package/dist/mcp/approvedTools.d.ts.map +1 -0
- package/dist/mcp/approvedTools.js +19 -0
- package/dist/mcp/approvedTools.js.map +1 -0
- package/dist/mcp/baseServer.d.ts +75 -0
- package/dist/mcp/baseServer.d.ts.map +1 -0
- package/dist/mcp/baseServer.js +107 -0
- package/dist/mcp/baseServer.js.map +1 -0
- package/dist/mcp/builtinServers.d.ts +15 -0
- package/dist/mcp/builtinServers.d.ts.map +1 -0
- package/dist/mcp/builtinServers.js +155 -0
- package/dist/mcp/builtinServers.js.map +1 -0
- package/dist/mcp/dynamicBEServer.d.ts +20 -0
- package/dist/mcp/dynamicBEServer.d.ts.map +1 -0
- package/dist/mcp/dynamicBEServer.js +52 -0
- package/dist/mcp/dynamicBEServer.js.map +1 -0
- package/dist/mcp/index.d.ts +19 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +24 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcpInitialization.d.ts +2 -0
- package/dist/mcp/mcpInitialization.d.ts.map +1 -0
- package/dist/mcp/mcpInitialization.js +56 -0
- package/dist/mcp/mcpInitialization.js.map +1 -0
- package/dist/mcp/servers/filesystem.d.ts +75 -0
- package/dist/mcp/servers/filesystem.d.ts.map +1 -0
- package/dist/mcp/servers/filesystem.js +992 -0
- package/dist/mcp/servers/filesystem.js.map +1 -0
- package/dist/mcp/servers/gerrit.d.ts +19 -0
- package/dist/mcp/servers/gerrit.d.ts.map +1 -0
- package/dist/mcp/servers/gerrit.js +515 -0
- package/dist/mcp/servers/gerrit.js.map +1 -0
- package/dist/mcp/servers/git.d.ts +18 -0
- package/dist/mcp/servers/git.d.ts.map +1 -0
- package/dist/mcp/servers/git.js +441 -0
- package/dist/mcp/servers/git.js.map +1 -0
- package/dist/mcp/servers/ripgrep.d.ts +34 -0
- package/dist/mcp/servers/ripgrep.d.ts.map +1 -0
- package/dist/mcp/servers/ripgrep.js +517 -0
- package/dist/mcp/servers/ripgrep.js.map +1 -0
- package/dist/mcp/servers/shell.d.ts +20 -0
- package/dist/mcp/servers/shell.d.ts.map +1 -0
- package/dist/mcp/servers/shell.js +603 -0
- package/dist/mcp/servers/shell.js.map +1 -0
- package/dist/mcp/serversRegistry.d.ts +55 -0
- package/dist/mcp/serversRegistry.d.ts.map +1 -0
- package/dist/mcp/serversRegistry.js +410 -0
- package/dist/mcp/serversRegistry.js.map +1 -0
- package/dist/mcp/toolProcessor.d.ts +42 -0
- package/dist/mcp/toolProcessor.d.ts.map +1 -0
- package/dist/mcp/toolProcessor.js +200 -0
- package/dist/mcp/toolProcessor.js.map +1 -0
- package/dist/mcp/types.d.ts +29 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/parser/index.d.ts +72 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +967 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/types.d.ts +153 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js +6 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/parser/utils.d.ts +18 -0
- package/dist/parser/utils.d.ts.map +1 -0
- package/dist/parser/utils.js +64 -0
- package/dist/parser/utils.js.map +1 -0
- package/dist/sdk/QodoSDK.d.ts +152 -0
- package/dist/sdk/QodoSDK.d.ts.map +1 -0
- package/dist/sdk/QodoSDK.js +786 -0
- package/dist/sdk/QodoSDK.js.map +1 -0
- package/dist/sdk/bootstrap.d.ts +16 -0
- package/dist/sdk/bootstrap.d.ts.map +1 -0
- package/dist/sdk/bootstrap.js +21 -0
- package/dist/sdk/bootstrap.js.map +1 -0
- package/dist/sdk/builders.d.ts +54 -0
- package/dist/sdk/builders.d.ts.map +1 -0
- package/dist/sdk/builders.js +117 -0
- package/dist/sdk/builders.js.map +1 -0
- package/dist/sdk/defaults.d.ts +11 -0
- package/dist/sdk/defaults.d.ts.map +1 -0
- package/dist/sdk/defaults.js +39 -0
- package/dist/sdk/defaults.js.map +1 -0
- package/dist/sdk/discovery.d.ts +2 -0
- package/dist/sdk/discovery.d.ts.map +1 -0
- package/dist/sdk/discovery.js +25 -0
- package/dist/sdk/discovery.js.map +1 -0
- package/dist/sdk/events.d.ts +168 -0
- package/dist/sdk/events.d.ts.map +1 -0
- package/dist/sdk/events.js +52 -0
- package/dist/sdk/events.js.map +1 -0
- package/dist/sdk/index.d.ts +17 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +17 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/runner/AgentRunner.d.ts +22 -0
- package/dist/sdk/runner/AgentRunner.d.ts.map +1 -0
- package/dist/sdk/runner/AgentRunner.js +222 -0
- package/dist/sdk/runner/AgentRunner.js.map +1 -0
- package/dist/sdk/runner/finalize.d.ts +9 -0
- package/dist/sdk/runner/finalize.d.ts.map +1 -0
- package/dist/sdk/runner/finalize.js +115 -0
- package/dist/sdk/runner/finalize.js.map +1 -0
- package/dist/sdk/runner/formats.d.ts +7 -0
- package/dist/sdk/runner/formats.d.ts.map +1 -0
- package/dist/sdk/runner/formats.js +91 -0
- package/dist/sdk/runner/formats.js.map +1 -0
- package/dist/sdk/runner/index.d.ts +9 -0
- package/dist/sdk/runner/index.d.ts.map +1 -0
- package/dist/sdk/runner/index.js +9 -0
- package/dist/sdk/runner/index.js.map +1 -0
- package/dist/sdk/runner/progress.d.ts +3 -0
- package/dist/sdk/runner/progress.d.ts.map +1 -0
- package/dist/sdk/runner/progress.js +16 -0
- package/dist/sdk/runner/progress.js.map +1 -0
- package/dist/sdk/schemas.d.ts +50 -0
- package/dist/sdk/schemas.d.ts.map +1 -0
- package/dist/sdk/schemas.js +145 -0
- package/dist/sdk/schemas.js.map +1 -0
- package/dist/session/SessionContext.d.ts +86 -0
- package/dist/session/SessionContext.d.ts.map +1 -0
- package/dist/session/SessionContext.js +395 -0
- package/dist/session/SessionContext.js.map +1 -0
- package/dist/session/environment.d.ts +42 -0
- package/dist/session/environment.d.ts.map +1 -0
- package/dist/session/environment.js +27 -0
- package/dist/session/environment.js.map +1 -0
- package/dist/session/history.d.ts +3 -0
- package/dist/session/history.d.ts.map +1 -0
- package/dist/session/history.js +67 -0
- package/dist/session/history.js.map +1 -0
- package/dist/session/index.d.ts +10 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +9 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/serverData.d.ts +38 -0
- package/dist/session/serverData.d.ts.map +1 -0
- package/dist/session/serverData.js +241 -0
- package/dist/session/serverData.js.map +1 -0
- package/dist/tracking/Tracker.d.ts +55 -0
- package/dist/tracking/Tracker.d.ts.map +1 -0
- package/dist/tracking/Tracker.js +217 -0
- package/dist/tracking/Tracker.js.map +1 -0
- package/dist/tracking/index.d.ts +8 -0
- package/dist/tracking/index.d.ts.map +1 -0
- package/dist/tracking/index.js +8 -0
- package/dist/tracking/index.js.map +1 -0
- package/dist/tracking/schemas.d.ts +292 -0
- package/dist/tracking/schemas.d.ts.map +1 -0
- package/dist/tracking/schemas.js +91 -0
- package/dist/tracking/schemas.js.map +1 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/extractSetFlags.d.ts +6 -0
- package/dist/utils/extractSetFlags.d.ts.map +1 -0
- package/dist/utils/extractSetFlags.js +16 -0
- package/dist/utils/extractSetFlags.js.map +1 -0
- package/dist/utils/formatTimeAgo.d.ts +2 -0
- package/dist/utils/formatTimeAgo.d.ts.map +1 -0
- package/dist/utils/formatTimeAgo.js +20 -0
- package/dist/utils/formatTimeAgo.js.map +1 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +12 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/machineId.d.ts +14 -0
- package/dist/utils/machineId.d.ts.map +1 -0
- package/dist/utils/machineId.js +66 -0
- package/dist/utils/machineId.js.map +1 -0
- package/dist/utils/pathUtils.d.ts +22 -0
- package/dist/utils/pathUtils.d.ts.map +1 -0
- package/dist/utils/pathUtils.js +54 -0
- package/dist/utils/pathUtils.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +23 -0
- package/dist/version.js.map +1 -0
- package/package.json +93 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z, type ZodTypeAny, type ZodObject, type ZodRawShape } from 'zod';
|
|
2
|
+
import type { OutputSchema } from '../parser/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* SDK v2: Zod-first authoring helpers.
|
|
5
|
+
*
|
|
6
|
+
* Goals:
|
|
7
|
+
* - Preserve current enforcement rules:
|
|
8
|
+
* - output_schema must have `properties`
|
|
9
|
+
* - each property must have `type` and `description`
|
|
10
|
+
* - Keep JSON Schema as the transport contract to the backend.
|
|
11
|
+
*/
|
|
12
|
+
export declare class QodoSchemaError extends Error {
|
|
13
|
+
constructor(message: string);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Coerce common CLI-style/string inputs into typed values before validation.
|
|
17
|
+
* This mirrors current validateCommandArgs behavior:
|
|
18
|
+
* - boolean: accepts true/false or "true"/"false"
|
|
19
|
+
* - number: accepts number or numeric string
|
|
20
|
+
* - array/object: accepts actual array/object or JSON-string
|
|
21
|
+
*/
|
|
22
|
+
export declare const zCoerce: {
|
|
23
|
+
readonly boolean: () => z.ZodEffects<z.ZodBoolean, boolean, unknown>;
|
|
24
|
+
readonly number: () => z.ZodEffects<z.ZodNumber, number, unknown>;
|
|
25
|
+
readonly jsonArray: <T extends ZodTypeAny = z.ZodTypeAny>(itemSchema?: T) => z.ZodEffects<z.ZodArray<z.ZodAny, "many"> | z.ZodArray<T, "many">, any[] | T["_output"][], unknown>;
|
|
26
|
+
readonly jsonObject: <T extends ZodRawShape = z.ZodRawShape>(shape?: T) => z.ZodEffects<z.ZodObject<T, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, any> extends infer T_1 ? { [k in keyof T_1]: T_1[k]; } : never, z.baseObjectInputType<T> extends infer T_2 ? { [k_1 in keyof T_2]: T_2[k_1]; } : never> | z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, any> | (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, any> extends infer T_3 ? { [k in keyof T_3]: T_3[k]; } : never), unknown>;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Convert a Zod object schema into the existing OutputSchema (json_schema) shape.
|
|
30
|
+
* Enforces the same rules as validateOutputSchema():
|
|
31
|
+
* - must have properties
|
|
32
|
+
* - each property must have type + description
|
|
33
|
+
*/
|
|
34
|
+
export declare function zodOutputSchema<T extends ZodTypeAny>(name: string, schema: T, strict?: boolean): OutputSchema;
|
|
35
|
+
/**
|
|
36
|
+
* Validate + coerce args using a Zod schema.
|
|
37
|
+
*
|
|
38
|
+
* This is the SDK v2 equivalent of validateCommandArgs(), but more powerful:
|
|
39
|
+
* - returns typed output
|
|
40
|
+
* - provides an actionable error message
|
|
41
|
+
*/
|
|
42
|
+
export declare function parseArgsWithSchema<T extends ZodTypeAny>(schema: T, args: unknown): z.infer<T>;
|
|
43
|
+
/**
|
|
44
|
+
* Convenience helper for args schemas with descriptions.
|
|
45
|
+
*
|
|
46
|
+
* Note: unlike output schemas, we do not strictly require descriptions for args,
|
|
47
|
+
* but they are recommended for better tool_args_for_ui / UX.
|
|
48
|
+
*/
|
|
49
|
+
export declare function zodArgsSchema<T extends ZodRawShape>(shape: T): ZodObject<T>;
|
|
50
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/sdk/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;GAQG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;yBAmBN,CAAC,SAAS,UAAU,8BAA4B,CAAC;0BAahD,CAAC,SAAS,WAAW,0BAAwB,CAAC;CAYnD,CAAC;AAgBX;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAE,OAAc,GAAG,YAAY,CAkCnH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAQ9F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAE3E"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
3
|
+
import { validateOutputSchema } from '../parser/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* SDK v2: Zod-first authoring helpers.
|
|
6
|
+
*
|
|
7
|
+
* Goals:
|
|
8
|
+
* - Preserve current enforcement rules:
|
|
9
|
+
* - output_schema must have `properties`
|
|
10
|
+
* - each property must have `type` and `description`
|
|
11
|
+
* - Keep JSON Schema as the transport contract to the backend.
|
|
12
|
+
*/
|
|
13
|
+
export class QodoSchemaError extends Error {
|
|
14
|
+
constructor(message) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = 'QodoSchemaError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Coerce common CLI-style/string inputs into typed values before validation.
|
|
21
|
+
* This mirrors current validateCommandArgs behavior:
|
|
22
|
+
* - boolean: accepts true/false or "true"/"false"
|
|
23
|
+
* - number: accepts number or numeric string
|
|
24
|
+
* - array/object: accepts actual array/object or JSON-string
|
|
25
|
+
*/
|
|
26
|
+
export const zCoerce = {
|
|
27
|
+
boolean: () => z.preprocess((v) => {
|
|
28
|
+
if (typeof v === 'boolean')
|
|
29
|
+
return v;
|
|
30
|
+
if (typeof v === 'string') {
|
|
31
|
+
const s = v.toLowerCase();
|
|
32
|
+
if (s === 'true')
|
|
33
|
+
return true;
|
|
34
|
+
if (s === 'false')
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return v;
|
|
38
|
+
}, z.boolean()),
|
|
39
|
+
number: () => z.preprocess((v) => {
|
|
40
|
+
if (typeof v === 'number')
|
|
41
|
+
return v;
|
|
42
|
+
if (typeof v === 'string' && /^-?\d+(\.\d+)?$/.test(v.trim()))
|
|
43
|
+
return Number(v);
|
|
44
|
+
return v;
|
|
45
|
+
}, z.number()),
|
|
46
|
+
jsonArray: (itemSchema) => z.preprocess((v) => {
|
|
47
|
+
if (Array.isArray(v))
|
|
48
|
+
return v;
|
|
49
|
+
if (typeof v === 'string') {
|
|
50
|
+
try {
|
|
51
|
+
return JSON.parse(v);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return v;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return v;
|
|
58
|
+
}, itemSchema ? z.array(itemSchema) : z.array(z.any())),
|
|
59
|
+
jsonObject: (shape) => z.preprocess((v) => {
|
|
60
|
+
if (v !== null && typeof v === 'object' && !Array.isArray(v))
|
|
61
|
+
return v;
|
|
62
|
+
if (typeof v === 'string') {
|
|
63
|
+
try {
|
|
64
|
+
return JSON.parse(v);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return v;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return v;
|
|
71
|
+
}, shape ? z.object(shape) : z.record(z.any())),
|
|
72
|
+
};
|
|
73
|
+
function collectMissingDescriptionsFromJsonSchema(schema) {
|
|
74
|
+
const missing = [];
|
|
75
|
+
const props = schema?.properties;
|
|
76
|
+
if (!props || typeof props !== 'object')
|
|
77
|
+
return missing;
|
|
78
|
+
for (const [k, v] of Object.entries(props)) {
|
|
79
|
+
const def = v;
|
|
80
|
+
if (!def?.description) {
|
|
81
|
+
missing.push(String(k));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return missing;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Convert a Zod object schema into the existing OutputSchema (json_schema) shape.
|
|
88
|
+
* Enforces the same rules as validateOutputSchema():
|
|
89
|
+
* - must have properties
|
|
90
|
+
* - each property must have type + description
|
|
91
|
+
*/
|
|
92
|
+
export function zodOutputSchema(name, schema, strict = true) {
|
|
93
|
+
const json = zodToJsonSchema(schema, { name });
|
|
94
|
+
// zod-to-json-schema often returns {$ref:'#/definitions/<name>'} at the top.
|
|
95
|
+
// Our existing validator expects the *resolved* object schema with properties.
|
|
96
|
+
const resolved = json?.definitions?.[name] ?? json;
|
|
97
|
+
// Enforce per-field descriptions to match current output_schema validation.
|
|
98
|
+
const missing = collectMissingDescriptionsFromJsonSchema(resolved);
|
|
99
|
+
if (missing.length > 0) {
|
|
100
|
+
throw new QodoSchemaError(`output schema is missing description for: ${missing.join(', ')}. ` +
|
|
101
|
+
`In SDK v2, every output property must use .describe('...') so the backend receives a fully-described JSON schema.`);
|
|
102
|
+
}
|
|
103
|
+
const out = {
|
|
104
|
+
type: 'json_schema',
|
|
105
|
+
json_schema: {
|
|
106
|
+
name,
|
|
107
|
+
strict,
|
|
108
|
+
schema: resolved,
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
// Run existing validator to ensure we satisfy today's constraints.
|
|
112
|
+
const errors = [];
|
|
113
|
+
validateOutputSchema(out, 'sdk.output_schema', errors);
|
|
114
|
+
if (errors.length > 0) {
|
|
115
|
+
const msg = errors.map((e) => `${e.path}: ${e.message}`).join('; ');
|
|
116
|
+
throw new QodoSchemaError(`Invalid output_schema: ${msg}`);
|
|
117
|
+
}
|
|
118
|
+
return out;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Validate + coerce args using a Zod schema.
|
|
122
|
+
*
|
|
123
|
+
* This is the SDK v2 equivalent of validateCommandArgs(), but more powerful:
|
|
124
|
+
* - returns typed output
|
|
125
|
+
* - provides an actionable error message
|
|
126
|
+
*/
|
|
127
|
+
export function parseArgsWithSchema(schema, args) {
|
|
128
|
+
const res = schema.safeParse(args);
|
|
129
|
+
if (res.success)
|
|
130
|
+
return res.data;
|
|
131
|
+
const msg = res.error.issues
|
|
132
|
+
.map((i) => `${i.path.join('.') || '(root)'}: ${i.message}`)
|
|
133
|
+
.join('; ');
|
|
134
|
+
throw new QodoSchemaError(`Invalid command args: ${msg}`);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Convenience helper for args schemas with descriptions.
|
|
138
|
+
*
|
|
139
|
+
* Note: unlike output schemas, we do not strictly require descriptions for args,
|
|
140
|
+
* but they are recommended for better tool_args_for_ui / UX.
|
|
141
|
+
*/
|
|
142
|
+
export function zodArgsSchema(shape) {
|
|
143
|
+
return z.object(shape);
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/sdk/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Flags } from "../types.js";
|
|
2
|
+
import { CommandConfig } from '../parser/types.js';
|
|
3
|
+
import { InternalSessionHistory } from "./history.js";
|
|
4
|
+
/**
|
|
5
|
+
* SessionContext manages global session state that needs to be shared across components
|
|
6
|
+
* This includes project root paths, session information, and other session-specific data
|
|
7
|
+
*/
|
|
8
|
+
export declare class SessionContext {
|
|
9
|
+
private command;
|
|
10
|
+
private readonly generalInstructions;
|
|
11
|
+
private readonly systemPrompt;
|
|
12
|
+
private readonly flags;
|
|
13
|
+
private readonly sessionHistory;
|
|
14
|
+
private model;
|
|
15
|
+
private readonly sessionId;
|
|
16
|
+
private static instance;
|
|
17
|
+
private _projectRootPaths;
|
|
18
|
+
private _currentWorkingDirectory;
|
|
19
|
+
private _executionCwd;
|
|
20
|
+
private readonly _isResumedSession;
|
|
21
|
+
private readonly availableTools;
|
|
22
|
+
private readonly qodomd;
|
|
23
|
+
private readonly ignoreTools;
|
|
24
|
+
private _permissions;
|
|
25
|
+
private _previousSessionsSummarizationMap;
|
|
26
|
+
private _deltaFileLinkFormat;
|
|
27
|
+
private constructor();
|
|
28
|
+
static getInstance(): SessionContext;
|
|
29
|
+
/**
|
|
30
|
+
* Initialize the session context with validated project root paths
|
|
31
|
+
* This should be called early in the application lifecycle
|
|
32
|
+
*/
|
|
33
|
+
static initialize(flags: Record<string, any>, command: CommandConfig, generalInstructions?: string, systemPrompt?: string, sessionHistory?: InternalSessionHistory, sessionId?: string): Promise<SessionContext>;
|
|
34
|
+
static newSessionContext(flags: Record<string, any>, command: CommandConfig, generalInstructions?: string, systemPrompt?: string, sessionHistory?: InternalSessionHistory, sessionId?: string): Promise<SessionContext>;
|
|
35
|
+
static setInstanceForSDK(ctx: SessionContext): void;
|
|
36
|
+
private getQodoMdContent;
|
|
37
|
+
setCommand(command: CommandConfig): void;
|
|
38
|
+
/**
|
|
39
|
+
* Set project root paths with access validation
|
|
40
|
+
*/
|
|
41
|
+
setProjectRootPaths(paths: string[]): Promise<string[]>;
|
|
42
|
+
getProjectRootPaths(): string[];
|
|
43
|
+
getAvailableTools(): string[] | undefined;
|
|
44
|
+
getIgnoreTools(): string[] | undefined;
|
|
45
|
+
getLogOutput(): string | undefined;
|
|
46
|
+
getSessionId(): string;
|
|
47
|
+
getQodoMd(): string | undefined;
|
|
48
|
+
getGeneralInstructions(): string | undefined;
|
|
49
|
+
getSystemPrompt(): string | undefined;
|
|
50
|
+
getCommand(): CommandConfig;
|
|
51
|
+
getFlags(): Flags;
|
|
52
|
+
isResumedSession(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Returns the application type. In SDK context, this is always "sdk".
|
|
55
|
+
*/
|
|
56
|
+
getAppType(): string;
|
|
57
|
+
setModel(model: string): string;
|
|
58
|
+
getModel(): string;
|
|
59
|
+
getInternalSessionHistoryMessages(): Record<string, any>[] | undefined;
|
|
60
|
+
getExecutionStrategy(): "plan" | "act" | undefined;
|
|
61
|
+
getPermissions(): string;
|
|
62
|
+
setPermissions(permissions: string): void;
|
|
63
|
+
isDebugMode(): boolean;
|
|
64
|
+
setDeltaFileLinkFormat(format?: string): void;
|
|
65
|
+
getDeltaFileLinkFormat(): string | undefined;
|
|
66
|
+
serialize(): Record<string, any>;
|
|
67
|
+
/**
|
|
68
|
+
* Add a new project root path with validation
|
|
69
|
+
*/
|
|
70
|
+
addProjectRootPath(dirPath: string): Promise<boolean>;
|
|
71
|
+
/**
|
|
72
|
+
* Reset the context (useful for testing or new sessions)
|
|
73
|
+
*/
|
|
74
|
+
reset(): void;
|
|
75
|
+
/**
|
|
76
|
+
* Preferred execution CWD used by tools when not explicitly provided.
|
|
77
|
+
*/
|
|
78
|
+
setExecutionCwd(dir: string | undefined): void;
|
|
79
|
+
getExecutionCwd(): string | undefined;
|
|
80
|
+
addPreviousSessionSummarization(sessionId: string, summary: string): void;
|
|
81
|
+
getPreviousSessionsSummarization(): {
|
|
82
|
+
sessionId: string;
|
|
83
|
+
summary: string;
|
|
84
|
+
}[];
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=SessionContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionContext.d.ts","sourceRoot":"","sources":["../../src/session/SessionContext.ts"],"names":[],"mappings":"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"}
|