@eldrforge/ai-service 0.1.9 → 0.1.11

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.
@@ -0,0 +1,34 @@
1
+ import { ChatCompletionMessageParam } from 'openai/resources';
2
+ import { ToolExecutionMetric } from './executor';
3
+ import { StorageAdapter, Logger } from '../types';
4
+ export interface AgenticCommitConfig {
5
+ changedFiles: string[];
6
+ diffContent: string;
7
+ userDirection?: string;
8
+ logContext?: string;
9
+ model?: string;
10
+ maxIterations?: number;
11
+ debug?: boolean;
12
+ debugRequestFile?: string;
13
+ debugResponseFile?: string;
14
+ storage?: StorageAdapter;
15
+ logger?: Logger;
16
+ openaiReasoning?: 'low' | 'medium' | 'high';
17
+ }
18
+ export interface AgenticCommitResult {
19
+ commitMessage: string;
20
+ iterations: number;
21
+ toolCallsExecuted: number;
22
+ suggestedSplits: Array<{
23
+ files: string[];
24
+ message: string;
25
+ rationale: string;
26
+ }>;
27
+ conversationHistory: ChatCompletionMessageParam[];
28
+ toolMetrics: ToolExecutionMetric[];
29
+ }
30
+ /**
31
+ * Run agentic commit message generation
32
+ */
33
+ export declare function runAgenticCommit(config: AgenticCommitConfig): Promise<AgenticCommitResult>;
34
+ //# sourceMappingURL=commit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/agentic/commit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAkC,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,mBAAmB,EAAE,0BAA0B,EAAE,CAAC;IAClD,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkEhG"}
@@ -0,0 +1,54 @@
1
+ import { ChatCompletionMessageParam } from 'openai/resources';
2
+ import { ToolRegistry } from '../tools/registry';
3
+ export interface AgenticConfig {
4
+ messages: ChatCompletionMessageParam[];
5
+ tools: ToolRegistry;
6
+ model?: string;
7
+ maxIterations?: number;
8
+ debug?: boolean;
9
+ debugRequestFile?: string;
10
+ debugResponseFile?: string;
11
+ storage?: any;
12
+ logger?: any;
13
+ openaiReasoning?: 'low' | 'medium' | 'high';
14
+ }
15
+ export interface ToolExecutionMetric {
16
+ name: string;
17
+ success: boolean;
18
+ duration: number;
19
+ error?: string;
20
+ iteration: number;
21
+ timestamp: string;
22
+ }
23
+ export interface AgenticResult {
24
+ finalMessage: string;
25
+ iterations: number;
26
+ toolCallsExecuted: number;
27
+ conversationHistory: ChatCompletionMessageParam[];
28
+ toolMetrics: ToolExecutionMetric[];
29
+ }
30
+ /**
31
+ * Execute an agentic loop where the LLM can call tools to gather information
32
+ */
33
+ export declare class AgenticExecutor {
34
+ private logger?;
35
+ private toolMetrics;
36
+ constructor(logger?: any);
37
+ /**
38
+ * Run the agentic loop
39
+ */
40
+ run(config: AgenticConfig): Promise<AgenticResult>;
41
+ /**
42
+ * Format tool result for inclusion in conversation
43
+ */
44
+ private formatToolResult;
45
+ /**
46
+ * Log a message if logger is available
47
+ */
48
+ private log;
49
+ }
50
+ /**
51
+ * Create and run an agentic executor
52
+ */
53
+ export declare function runAgentic(config: AgenticConfig): Promise<AgenticResult>;
54
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/agentic/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,0BAA0B,EAAE,CAAC;IAClD,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,CAAM;IACrB,OAAO,CAAC,WAAW,CAA6B;gBAEpC,MAAM,CAAC,EAAE,GAAG;IAIxB;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAqLxD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,GAAG;CASd;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAG9E"}
@@ -0,0 +1,35 @@
1
+ import { ChatCompletionMessageParam } from 'openai/resources';
2
+ import { ToolExecutionMetric } from './executor';
3
+ import { StorageAdapter, Logger } from '../types';
4
+ export interface AgenticReleaseConfig {
5
+ fromRef: string;
6
+ toRef: string;
7
+ logContent: string;
8
+ diffContent: string;
9
+ milestoneIssues?: string;
10
+ releaseFocus?: string;
11
+ userContext?: string;
12
+ model?: string;
13
+ maxIterations?: number;
14
+ debug?: boolean;
15
+ debugRequestFile?: string;
16
+ debugResponseFile?: string;
17
+ storage?: StorageAdapter;
18
+ logger?: Logger;
19
+ openaiReasoning?: 'low' | 'medium' | 'high';
20
+ }
21
+ export interface AgenticReleaseResult {
22
+ releaseNotes: {
23
+ title: string;
24
+ body: string;
25
+ };
26
+ iterations: number;
27
+ toolCallsExecuted: number;
28
+ conversationHistory: ChatCompletionMessageParam[];
29
+ toolMetrics: ToolExecutionMetric[];
30
+ }
31
+ /**
32
+ * Run agentic release notes generation
33
+ */
34
+ export declare function runAgenticRelease(config: AgenticReleaseConfig): Promise<AgenticReleaseResult>;
35
+ //# sourceMappingURL=release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/agentic/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAkC,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACjC,YAAY,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,0BAA0B,EAAE,CAAC;IAClD,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA4EnG"}
package/dist/src/ai.d.ts CHANGED
@@ -12,6 +12,13 @@ export interface OpenAIOptions {
12
12
  openaiMaxOutputTokens?: number;
13
13
  storage?: StorageAdapter;
14
14
  logger?: Logger;
15
+ tools?: any[];
16
+ toolChoice?: 'auto' | 'none' | 'required' | {
17
+ type: 'function';
18
+ function: {
19
+ name: string;
20
+ };
21
+ };
15
22
  }
16
23
  export interface TranscriptionOptions {
17
24
  model?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAInE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC1B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAsBhF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAsB7G;AAED,qBAAa,WAAY,SAAQ,KAAK;aACW,iBAAiB,EAAE,OAAO;gBAA3D,OAAO,EAAE,MAAM,EAAkB,iBAAiB,GAAE,OAAe;CAIlF;AAGD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CASrD;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAkBpD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,QAAQ,EAAE,0BAA0B,EAAE,EACtC,OAAO,GAAE,aAAwC,GAClD,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CA8IvB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC3C,QAAQ,EAAE,0BAA0B,EAAE,EACtC,OAAO,GAAE,aAAwC,EACjD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,EAAE,CAAC,GAC3E,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CA4BvB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAA6C,GACvD,OAAO,CAAC,aAAa,CAAC,CA4GxB"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAInE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC1B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAChG;AAED,MAAM,WAAW,oBAAoB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAsBhF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAsB7G;AAED,qBAAa,WAAY,SAAQ,KAAK;aACW,iBAAiB,EAAE,OAAO;gBAA3D,OAAO,EAAE,MAAM,EAAkB,iBAAiB,GAAE,OAAe;CAIlF;AAGD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CASrD;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAkBpD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,QAAQ,EAAE,0BAA0B,EAAE,EACtC,OAAO,GAAE,aAAwC,GAClD,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CA8KvB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC3C,QAAQ,EAAE,0BAA0B,EAAE,EACtC,OAAO,GAAE,aAAwC,EACjD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,EAAE,CAAC,GAC3E,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CA4BvB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAA6C,GACvD,OAAO,CAAC,aAAa,CAAC,CA4GxB"}
@@ -10,4 +10,11 @@ export * from './logger';
10
10
  export * from './ai';
11
11
  export * from './interactive';
12
12
  export * from './prompts';
13
+ export * from './agentic/executor';
14
+ export * from './agentic/commit';
15
+ export * from './agentic/release';
16
+ export * from './tools/types';
17
+ export * from './tools/registry';
18
+ export * from './tools/commit-tools';
19
+ export * from './tools/release-tools';
13
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAG1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Tool } from './types';
2
+ /**
3
+ * Create tools for commit message generation
4
+ */
5
+ export declare function createCommitTools(): Tool[];
6
+ //# sourceMappingURL=commit-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/commit-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,SAAS,CAAC;AAIjD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,EAAE,CAW1C"}
@@ -0,0 +1,58 @@
1
+ import { Tool, OpenAITool, ToolContext } from './types';
2
+ /**
3
+ * Registry for managing tools available to agentic LLM interactions
4
+ */
5
+ export declare class ToolRegistry {
6
+ private tools;
7
+ private context?;
8
+ constructor(context?: ToolContext);
9
+ /**
10
+ * Register a tool in the registry
11
+ */
12
+ register(tool: Tool): void;
13
+ /**
14
+ * Register multiple tools at once
15
+ */
16
+ registerAll(tools: Tool[]): void;
17
+ /**
18
+ * Get a tool by name
19
+ */
20
+ get(name: string): Tool | undefined;
21
+ /**
22
+ * Get all registered tools
23
+ */
24
+ getAll(): Tool[];
25
+ /**
26
+ * Check if a tool exists
27
+ */
28
+ has(name: string): boolean;
29
+ /**
30
+ * Execute a tool by name with given parameters
31
+ */
32
+ execute(name: string, params: any): Promise<any>;
33
+ /**
34
+ * Convert tools to OpenAI function calling format
35
+ */
36
+ toOpenAIFormat(): OpenAITool[];
37
+ /**
38
+ * Get tool definitions (without execute functions) for serialization
39
+ */
40
+ getDefinitions(): Array<{
41
+ name: string;
42
+ description: string;
43
+ parameters: any;
44
+ }>;
45
+ /**
46
+ * Clear all registered tools
47
+ */
48
+ clear(): void;
49
+ /**
50
+ * Get count of registered tools
51
+ */
52
+ count(): number;
53
+ }
54
+ /**
55
+ * Create a new tool registry with optional context
56
+ */
57
+ export declare function createToolRegistry(context?: ToolContext): ToolRegistry;
58
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE7D;;GAEG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,OAAO,CAAC,CAAc;gBAElB,OAAO,CAAC,EAAE,WAAW;IAIjC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAO1B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAMhC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC;;OAEG;IACH,MAAM,IAAI,IAAI,EAAE;IAIhB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAatD;;OAEG;IACH,cAAc,IAAI,UAAU,EAAE;IAW9B;;OAEG;IACH,cAAc,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,GAAG,CAAA;KAAE,CAAC;IAQ/E;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,KAAK,IAAI,MAAM;CAGlB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,YAAY,CAEtE"}
@@ -0,0 +1,6 @@
1
+ import { Tool } from './types';
2
+ /**
3
+ * Create tools for release notes generation
4
+ */
5
+ export declare function createReleaseTools(): Tool[];
6
+ //# sourceMappingURL=release-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/release-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,SAAS,CAAC;AAIjD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,CAgB3C"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Tool system for agentic LLM interactions
3
+ */
4
+ export interface ToolParameter {
5
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
6
+ description: string;
7
+ items?: ToolParameter;
8
+ properties?: Record<string, ToolParameter>;
9
+ required?: string[];
10
+ enum?: string[];
11
+ default?: any;
12
+ }
13
+ export interface ToolDefinition {
14
+ name: string;
15
+ description: string;
16
+ parameters: {
17
+ type: 'object';
18
+ properties: Record<string, ToolParameter>;
19
+ required?: string[];
20
+ };
21
+ }
22
+ export interface Tool {
23
+ name: string;
24
+ description: string;
25
+ parameters: {
26
+ type: 'object';
27
+ properties: Record<string, ToolParameter>;
28
+ required?: string[];
29
+ };
30
+ execute: (params: any, context?: ToolContext) => Promise<any>;
31
+ }
32
+ export interface ToolContext {
33
+ workingDirectory?: string;
34
+ storage?: any;
35
+ logger?: any;
36
+ }
37
+ export interface ToolCall {
38
+ id: string;
39
+ name: string;
40
+ arguments: any;
41
+ }
42
+ export interface ToolResult {
43
+ id: string;
44
+ name: string;
45
+ result: any;
46
+ error?: string;
47
+ }
48
+ export interface OpenAITool {
49
+ type: 'function';
50
+ function: {
51
+ name: string;
52
+ description: string;
53
+ parameters: {
54
+ type: 'object';
55
+ properties: Record<string, any>;
56
+ required?: string[];
57
+ };
58
+ };
59
+ }
60
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACR,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACL;AAED,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACR,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,WAAW;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ,CAAC;YACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;SACvB,CAAC;KACL,CAAC;CACL"}
@@ -45,6 +45,7 @@ export interface StorageAdapter {
45
45
  writeOutput(fileName: string, content: string): Promise<void>;
46
46
  readTemp(fileName: string): Promise<string>;
47
47
  writeTemp(fileName: string, content: string): Promise<void>;
48
+ readFile(fileName: string, encoding?: string): Promise<string>;
48
49
  }
49
50
  /**
50
51
  * Logger interface for optional logging
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6BAA6B;IAC7B,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B,sCAAsC;IACtC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE;YACP,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,cAAc,CAAC;SAC5B,CAAC;QACF,OAAO,CAAC,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,cAAc,CAAC;SAC5B,CAAC;QACF,MAAM,CAAC,EAAE;YACP,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,cAAc,CAAC;SAC5B,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6BAA6B;IAC7B,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B,sCAAsC;IACtC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE;YACP,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,cAAc,CAAC;SAC5B,CAAC;QACF,OAAO,CAAC,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,cAAc,CAAC;SAC5B,CAAC;QACF,MAAM,CAAC,EAAE;YACP,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,cAAc,CAAC;SAC5B,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eldrforge/ai-service",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "AI-powered content generation for automation - OpenAI integration with structured prompts",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",