@clinebot/core 0.0.5 → 0.0.6

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 (42) hide show
  1. package/dist/index.d.ts +4 -1
  2. package/dist/index.node.d.ts +1 -0
  3. package/dist/index.node.js +134 -107
  4. package/dist/runtime/session-runtime.d.ts +3 -1
  5. package/dist/session/default-session-manager.d.ts +4 -0
  6. package/dist/session/session-host.d.ts +2 -0
  7. package/dist/session/session-manager.d.ts +1 -0
  8. package/dist/telemetry/ITelemetryAdapter.d.ts +54 -0
  9. package/dist/telemetry/LoggerTelemetryAdapter.d.ts +21 -0
  10. package/dist/telemetry/OpenTelemetryAdapter.d.ts +43 -0
  11. package/dist/telemetry/OpenTelemetryProvider.d.ts +41 -0
  12. package/dist/telemetry/TelemetryService.d.ts +34 -0
  13. package/dist/telemetry/opentelemetry.d.ts +3 -0
  14. package/dist/telemetry/opentelemetry.js +27 -0
  15. package/dist/tools/schemas.d.ts +6 -0
  16. package/dist/types/config.d.ts +2 -1
  17. package/package.json +16 -3
  18. package/src/agents/hooks-config-loader.ts +19 -1
  19. package/src/index.node.ts +3 -0
  20. package/src/index.ts +16 -0
  21. package/src/runtime/hook-file-hooks.test.ts +47 -0
  22. package/src/runtime/hook-file-hooks.ts +3 -0
  23. package/src/runtime/runtime-builder.test.ts +20 -0
  24. package/src/runtime/runtime-builder.ts +1 -0
  25. package/src/runtime/session-runtime.ts +3 -1
  26. package/src/session/default-session-manager.test.ts +72 -0
  27. package/src/session/default-session-manager.ts +59 -1
  28. package/src/session/session-host.ts +6 -1
  29. package/src/session/session-manager.ts +1 -0
  30. package/src/telemetry/ITelemetryAdapter.ts +94 -0
  31. package/src/telemetry/LoggerTelemetryAdapter.test.ts +42 -0
  32. package/src/telemetry/LoggerTelemetryAdapter.ts +114 -0
  33. package/src/telemetry/OpenTelemetryAdapter.test.ts +157 -0
  34. package/src/telemetry/OpenTelemetryAdapter.ts +348 -0
  35. package/src/telemetry/OpenTelemetryProvider.test.ts +113 -0
  36. package/src/telemetry/OpenTelemetryProvider.ts +322 -0
  37. package/src/telemetry/TelemetryService.test.ts +134 -0
  38. package/src/telemetry/TelemetryService.ts +141 -0
  39. package/src/telemetry/opentelemetry.ts +20 -0
  40. package/src/tools/definitions.ts +35 -28
  41. package/src/tools/schemas.ts +9 -0
  42. package/src/types/config.ts +2 -0
@@ -0,0 +1,20 @@
1
+ export type {
2
+ ITelemetryAdapter,
3
+ TelemetryArray,
4
+ TelemetryMetadata,
5
+ TelemetryObject,
6
+ TelemetryPrimitive,
7
+ TelemetryProperties,
8
+ TelemetryValue,
9
+ } from "./ITelemetryAdapter";
10
+ export {
11
+ OpenTelemetryAdapter,
12
+ type OpenTelemetryAdapterOptions,
13
+ } from "./OpenTelemetryAdapter";
14
+ export {
15
+ type CreateOpenTelemetryTelemetryServiceOptions,
16
+ createConfiguredTelemetryService,
17
+ createOpenTelemetryTelemetryService,
18
+ OpenTelemetryProvider,
19
+ type OpenTelemetryProviderOptions,
20
+ } from "./OpenTelemetryProvider";
@@ -24,6 +24,7 @@ import {
24
24
  RunCommandsInputUnionSchema,
25
25
  type SearchCodebaseInput,
26
26
  SearchCodebaseInputSchema,
27
+ SearchCodebaseUnionInputSchema,
27
28
  type SkillsInput,
28
29
  SkillsInputSchema,
29
30
  } from "./schemas.js";
@@ -213,36 +214,42 @@ export function createSearchTool(
213
214
  maxRetries: 1,
214
215
  execute: async (input, context) => {
215
216
  // Validate input with Zod schema
216
- const validatedInput = validateWithZod(SearchCodebaseInputSchema, input);
217
+ const validatedInput = validateWithZod(
218
+ SearchCodebaseUnionInputSchema,
219
+ input,
220
+ );
221
+ const queries = Array.isArray(validatedInput)
222
+ ? validatedInput
223
+ : typeof validatedInput === "object"
224
+ ? validatedInput.queries
225
+ : [validatedInput];
217
226
 
218
227
  return Promise.all(
219
- validatedInput.queries.map(
220
- async (query): Promise<ToolOperationResult> => {
221
- try {
222
- const results = await withTimeout(
223
- executor(query, cwd, context),
224
- timeoutMs,
225
- `Search timed out after ${timeoutMs}ms`,
226
- );
227
- // Check if results contain matches
228
- const hasResults =
229
- results.length > 0 && !results.includes("No results found");
230
- return {
231
- query,
232
- result: results,
233
- success: hasResults,
234
- };
235
- } catch (error) {
236
- const msg = formatError(error);
237
- return {
238
- query,
239
- result: "",
240
- error: `Search failed: ${msg}`,
241
- success: false,
242
- };
243
- }
244
- },
245
- ),
228
+ queries.map(async (query): Promise<ToolOperationResult> => {
229
+ try {
230
+ const results = await withTimeout(
231
+ executor(query, cwd, context),
232
+ timeoutMs,
233
+ `Search timed out after ${timeoutMs}ms`,
234
+ );
235
+ // Check if results contain matches
236
+ const hasResults =
237
+ results.length > 0 && !results.includes("No results found");
238
+ return {
239
+ query,
240
+ result: results,
241
+ success: hasResults,
242
+ };
243
+ } catch (error) {
244
+ const msg = formatError(error);
245
+ return {
246
+ query,
247
+ result: "",
248
+ error: `Search failed: ${msg}`,
249
+ success: false,
250
+ };
251
+ }
252
+ }),
246
253
  );
247
254
  },
248
255
  });
@@ -43,6 +43,15 @@ export const SearchCodebaseInputSchema = z.object({
43
43
  .describe("Array of regex search queries to execute"),
44
44
  });
45
45
 
46
+ /**
47
+ * Union schema for search_codebase tool input, allowing either a single string, an array of strings, or the full object schema
48
+ */
49
+ export const SearchCodebaseUnionInputSchema = z.union([
50
+ SearchCodebaseInputSchema,
51
+ z.array(z.string()),
52
+ z.string(),
53
+ ]);
54
+
46
55
  const CommandInputSchema = z.string();
47
56
  /**
48
57
  * Schema for run_commands tool input
@@ -11,6 +11,7 @@ import type { providers as LlmsProviders } from "@clinebot/llms";
11
11
  import type {
12
12
  AgentMode,
13
13
  BasicLogger,
14
+ ITelemetryService,
14
15
  SessionExecutionConfig,
15
16
  SessionPromptConfig,
16
17
  SessionWorkspaceConfig,
@@ -64,6 +65,7 @@ export interface CoreSessionConfig
64
65
  hooks?: AgentHooks;
65
66
  hookErrorMode?: HookErrorMode;
66
67
  logger?: BasicLogger;
68
+ telemetry?: ITelemetryService;
67
69
  extraTools?: Tool[];
68
70
  pluginPaths?: string[];
69
71
  extensions?: AgentConfig["extensions"];