@loopstack/github-oauth-example 0.2.5 → 0.2.7

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/README.md CHANGED
@@ -122,49 +122,52 @@ An interactive chat agent that gives Claude access to all 25 GitHub tools. The a
122
122
  1. Sets up a hidden system message describing available GitHub capabilities
123
123
  2. Waits for user input via a `wait: true` transition
124
124
  3. Sends the conversation to Claude with all 25 GitHub tools plus `authenticateGitHub`
125
- 4. If `stop_reason === 'tool_use'`, delegates tool calls via `DelegateToolCalls` and collects results with `UpdateToolResult`
125
+ 4. If `message.stopReason === 'tool_use'`, delegates tool calls via `LlmDelegateToolCallsTool` and collects results with `LlmUpdateToolResultTool`
126
126
  5. If a tool returns an auth error, the LLM calls `authenticateGitHub` which launches OAuth
127
127
  6. Loops back to wait for the next user message
128
128
 
129
129
  **Agent loop pattern:**
130
130
 
131
131
  ```typescript
132
- @Transition({ from: 'ready', to: 'prompt_executed' })
133
- async llmTurn() {
134
- const result: ToolResult<ClaudeGenerateTextResult> = await this.claudeGenerateText.call({
135
- system: `You are a helpful GitHub assistant with access to repository, issue, PR, code, actions,
132
+ @InjectTool({
133
+ provider: 'claude',
134
+ model: 'claude-sonnet-4-6',
135
+ system: `You are a helpful GitHub assistant with access to repository, issue, PR, code, actions,
136
136
  and search tools. When a tool returns an unauthorized error, use authenticateGitHub
137
137
  to let the user sign in, then retry. Be concise and format results using markdown.`,
138
- claude: { model: 'claude-sonnet-4-6' },
139
- messagesSearchTag: 'message',
140
- tools: [
141
- 'gitHubListRepos', 'gitHubGetRepo', 'gitHubCreateRepo', 'gitHubListBranches',
142
- 'gitHubListIssues', 'gitHubGetIssue', 'gitHubCreateIssue', 'gitHubCreateIssueComment',
143
- 'gitHubListPullRequests', 'gitHubGetPullRequest', 'gitHubCreatePullRequest',
144
- 'gitHubMergePullRequest', 'gitHubListPrReviews',
145
- 'gitHubGetFileContent', 'gitHubCreateOrUpdateFile', 'gitHubListDirectory', 'gitHubGetCommit',
146
- 'gitHubListWorkflowRuns', 'gitHubTriggerWorkflow', 'gitHubGetWorkflowRun',
147
- 'gitHubSearchCode', 'gitHubSearchRepos', 'gitHubSearchIssues',
148
- 'gitHubGetAuthenticatedUser', 'gitHubListUserOrgs',
149
- 'authenticateGitHub',
150
- ],
151
- });
138
+ tools: [
139
+ 'gitHubListRepos', 'gitHubGetRepo', 'gitHubCreateRepo', 'gitHubListBranches',
140
+ 'gitHubListIssues', 'gitHubGetIssue', 'gitHubCreateIssue', 'gitHubCreateIssueComment',
141
+ 'gitHubListPullRequests', 'gitHubGetPullRequest', 'gitHubCreatePullRequest',
142
+ 'gitHubMergePullRequest', 'gitHubListPrReviews',
143
+ 'gitHubGetFileContent', 'gitHubCreateOrUpdateFile', 'gitHubListDirectory', 'gitHubGetCommit',
144
+ 'gitHubListWorkflowRuns', 'gitHubTriggerWorkflow', 'gitHubGetWorkflowRun',
145
+ 'gitHubSearchCode', 'gitHubSearchRepos', 'gitHubSearchIssues',
146
+ 'gitHubGetAuthenticatedUser', 'gitHubListUserOrgs',
147
+ 'authenticateGitHub',
148
+ ],
149
+ })
150
+ llmGenerateText: LlmGenerateTextTool;
151
+ @InjectTool({ provider: 'claude' }) llmDelegateToolCalls: LlmDelegateToolCallsTool;
152
+
153
+ @Transition({ from: 'ready', to: 'prompt_executed' })
154
+ async llmTurn() {
155
+ const result: ToolResult<LlmGenerateTextResult> = await this.llmGenerateText.call();
152
156
  this.llmResult = result.data;
153
157
  }
154
158
 
155
159
  @Transition({ from: 'prompt_executed', to: 'awaiting_tools', priority: 10 })
156
160
  @Guard('hasToolCalls')
157
161
  async executeToolCalls() {
158
- const result: ToolResult<DelegateToolCallsResult> = await this.delegateToolCalls.call({
159
- message: this.llmResult!,
160
- document: ClaudeMessageDocument,
162
+ const result: ToolResult<LlmDelegateResult> = await this.llmDelegateToolCalls.call({
163
+ message: this.llmResult!.message,
161
164
  callback: { transition: 'toolResultReceived' },
162
165
  });
163
166
  this.delegateResult = result.data;
164
167
  }
165
168
 
166
169
  hasToolCalls(): boolean {
167
- return this.llmResult?.stop_reason === 'tool_use';
170
+ return this.llmResult?.message.stopReason === 'tool_use';
168
171
  }
169
172
  ```
170
173
 
@@ -192,7 +195,7 @@ ANTHROPIC_API_KEY=your-anthropic-api-key
192
195
 
193
196
  - `@loopstack/common` - Core framework decorators (`BaseWorkflow`, `@Workflow`, `@Initial`, `@Transition`, `@Final`, `@Guard`, `@InjectTool`, `@InjectWorkflow`, `CallbackSchema`, `ToolResult`)
194
197
  - `@loopstack/core` - Provides `LinkDocument`, `MarkdownDocument`, and `MessageDocument`
195
- - `@loopstack/claude-module` - Claude integration (`ClaudeGenerateText`, `ClaudeMessageDocument`, `DelegateToolCalls`, `UpdateToolResult`)
198
+ - `@loopstack/llm-provider-module` - LLM adapter tools (`LlmGenerateTextTool`, `LlmMessageDocument`, `LlmDelegateToolCallsTool`, `LlmUpdateToolResultTool`)
196
199
  - `@loopstack/oauth-module` - OAuth infrastructure (`OAuthWorkflow`)
197
200
  - `@loopstack/github-module` - All 25 GitHub tools
198
201
 
@@ -1,12 +1,13 @@
1
- import { ClaudeGenerateText, ClaudeGenerateTextResult, DelegateToolCalls, DelegateToolCallsResult, UpdateToolResult } from '@loopstack/claude-module';
2
1
  import { BaseWorkflow } from '@loopstack/common';
3
2
  import { GitHubCreateIssueCommentTool, GitHubCreateIssueTool, GitHubCreateOrUpdateFileTool, GitHubCreatePullRequestTool, GitHubCreateRepoTool, GitHubGetAuthenticatedUserTool, GitHubGetCommitTool, GitHubGetFileContentTool, GitHubGetIssueTool, GitHubGetPullRequestTool, GitHubGetRepoTool, GitHubGetWorkflowRunTool, GitHubListBranchesTool, GitHubListDirectoryTool, GitHubListIssuesTool, GitHubListPrReviewsTool, GitHubListPullRequestsTool, GitHubListReposTool, GitHubListUserOrgsTool, GitHubListWorkflowRunsTool, GitHubMergePullRequestTool, GitHubSearchCodeTool, GitHubSearchIssuesTool, GitHubSearchReposTool, GitHubTriggerWorkflowTool } from '@loopstack/github-module';
3
+ import type { LlmDelegateResult, LlmGenerateTextResult, LlmResultMeta } from '@loopstack/llm-provider-module';
4
+ import { LlmDelegateToolCallsTool, LlmGenerateTextTool, LlmUpdateToolResultTool } from '@loopstack/llm-provider-module';
4
5
  import { OAuthWorkflow } from '@loopstack/oauth-module';
5
6
  import { AuthenticateGitHubTask } from '../tools/authenticate-github-task.tool';
6
7
  export declare class GitHubAgentWorkflow extends BaseWorkflow {
7
- claudeGenerateText: ClaudeGenerateText;
8
- delegateToolCalls: DelegateToolCalls;
9
- updateToolResult: UpdateToolResult;
8
+ llmGenerateText: LlmGenerateTextTool;
9
+ llmDelegateToolCalls: LlmDelegateToolCallsTool;
10
+ llmUpdateToolResult: LlmUpdateToolResultTool;
10
11
  authenticateGitHub: AuthenticateGitHubTask;
11
12
  gitHubListRepos: GitHubListReposTool;
12
13
  gitHubGetRepo: GitHubGetRepoTool;
@@ -34,15 +35,16 @@ export declare class GitHubAgentWorkflow extends BaseWorkflow {
34
35
  gitHubGetAuthenticatedUser: GitHubGetAuthenticatedUserTool;
35
36
  gitHubListUserOrgs: GitHubListUserOrgsTool;
36
37
  oAuth: OAuthWorkflow;
37
- llmResult?: ClaudeGenerateTextResult;
38
- delegateResult?: DelegateToolCallsResult;
38
+ llmResult?: LlmGenerateTextResult;
39
+ llmMeta?: LlmResultMeta;
40
+ delegateResult?: LlmDelegateResult;
39
41
  setup(): Promise<void>;
40
42
  userMessage(payload: string): Promise<void>;
41
43
  llmTurn(): Promise<void>;
42
44
  executeToolCalls(): Promise<void>;
43
45
  hasToolCalls(): boolean;
44
46
  toolResultReceived(payload: Record<string, unknown>): Promise<void>;
45
- allToolsCompleteTransition(): void;
47
+ allToolsCompleteTransition(): Promise<void>;
46
48
  allToolsComplete(): boolean;
47
49
  respond(): Promise<void>;
48
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"github-agent.workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/github-agent.workflow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAExB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EAQb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,qBAGa,mBAAoB,SAAQ,YAAY;IACrC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,sBAAsB,CAAC;IAG3C,eAAe,EAAE,mBAAmB,CAAC;IACrC,aAAa,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,kBAAkB,EAAE,sBAAsB,CAAC;IAG3C,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,cAAc,EAAE,kBAAkB,CAAC;IACnC,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,wBAAwB,EAAE,4BAA4B,CAAC;IAGvD,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,mBAAmB,EAAE,uBAAuB,CAAC;IAG7C,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,wBAAwB,EAAE,4BAA4B,CAAC;IACvD,mBAAmB,EAAE,uBAAuB,CAAC;IAC7C,eAAe,EAAE,mBAAmB,CAAC;IAGrC,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,qBAAqB,EAAE,yBAAyB,CAAC;IACjD,oBAAoB,EAAE,wBAAwB,CAAC;IAG/C,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,kBAAkB,EAAE,sBAAsB,CAAC;IAG3C,0BAA0B,EAAE,8BAA8B,CAAC;IAC3D,kBAAkB,EAAE,sBAAsB,CAAC;IAEvC,KAAK,EAAE,aAAa,CAAC;IAEvC,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IAGnC,KAAK;IAYL,WAAW,CAAC,OAAO,EAAE,MAAM;IAQ3B,OAAO;IAyCP,gBAAgB;IAStB,YAAY,IAAI,OAAO;IAKjB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAWzD,0BAA0B;IAE1B,gBAAgB,IAAI,OAAO;IAKrB,OAAO;CAGd"}
1
+ {"version":3,"file":"github-agent.workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/github-agent.workflow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAQb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC9G,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EAEnB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,qBAGa,mBAAoB,SAAQ,YAAY;IAoCnD,eAAe,EAAE,mBAAmB,CAAC;IACD,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,mBAAmB,EAAE,uBAAuB,CAAC;IACnE,kBAAkB,EAAE,sBAAsB,CAAC;IAG3C,eAAe,EAAE,mBAAmB,CAAC;IACrC,aAAa,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,kBAAkB,EAAE,sBAAsB,CAAC;IAG3C,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,cAAc,EAAE,kBAAkB,CAAC;IACnC,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,wBAAwB,EAAE,4BAA4B,CAAC;IAGvD,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,mBAAmB,EAAE,uBAAuB,CAAC;IAG7C,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,wBAAwB,EAAE,4BAA4B,CAAC;IACvD,mBAAmB,EAAE,uBAAuB,CAAC;IAC7C,eAAe,EAAE,mBAAmB,CAAC;IAGrC,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,qBAAqB,EAAE,yBAAyB,CAAC;IACjD,oBAAoB,EAAE,wBAAwB,CAAC;IAG/C,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,kBAAkB,EAAE,sBAAsB,CAAC;IAG3C,0BAA0B,EAAE,8BAA8B,CAAC;IAC3D,kBAAkB,EAAE,sBAAsB,CAAC;IAEvC,KAAK,EAAE,aAAa,CAAC;IAEvC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,cAAc,CAAC,EAAE,iBAAiB,CAAC;IAG7B,KAAK;IAYL,WAAW,CAAC,OAAO,EAAE,MAAM;IAQ3B,OAAO;IAQP,gBAAgB;IAWtB,YAAY,IAAI,OAAO;IAKjB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUnD,0BAA0B;IAYhC,gBAAgB,IAAI,OAAO;IAKrB,OAAO;CAKd"}
@@ -11,15 +11,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.GitHubAgentWorkflow = void 0;
13
13
  const zod_1 = require("zod");
14
- const claude_module_1 = require("@loopstack/claude-module");
15
14
  const common_1 = require("@loopstack/common");
16
15
  const github_module_1 = require("@loopstack/github-module");
16
+ const llm_provider_module_1 = require("@loopstack/llm-provider-module");
17
17
  const oauth_module_1 = require("@loopstack/oauth-module");
18
18
  const authenticate_github_task_tool_1 = require("../tools/authenticate-github-task.tool");
19
19
  let GitHubAgentWorkflow = class GitHubAgentWorkflow extends common_1.BaseWorkflow {
20
- claudeGenerateText;
21
- delegateToolCalls;
22
- updateToolResult;
20
+ llmGenerateText;
21
+ llmDelegateToolCalls;
22
+ llmUpdateToolResult;
23
23
  authenticateGitHub;
24
24
  gitHubListRepos;
25
25
  gitHubGetRepo;
@@ -48,97 +48,112 @@ let GitHubAgentWorkflow = class GitHubAgentWorkflow extends common_1.BaseWorkflo
48
48
  gitHubListUserOrgs;
49
49
  oAuth;
50
50
  llmResult;
51
+ llmMeta;
51
52
  delegateResult;
52
53
  async setup() {
53
- await this.repository.save(claude_module_1.ClaudeMessageDocument, {
54
+ await this.repository.save(llm_provider_module_1.LlmMessageDocument, {
54
55
  role: 'user',
55
56
  content: this.render(__dirname + '/templates/systemMessage.md'),
56
57
  }, { meta: { hidden: true } });
57
58
  }
58
59
  async userMessage(payload) {
59
- await this.repository.save(claude_module_1.ClaudeMessageDocument, {
60
+ await this.repository.save(llm_provider_module_1.LlmMessageDocument, {
60
61
  role: 'user',
61
62
  content: payload,
62
63
  });
63
64
  }
64
65
  async llmTurn() {
65
- const result = await this.claudeGenerateText.call({
66
- system: `You are a helpful GitHub assistant with access to repository, issue, PR, code, actions,
67
- and search tools. When a tool returns an unauthorized error, use authenticateGitHub
68
- to let the user sign in, then retry. Be concise and format results using markdown.`,
69
- claude: { model: 'claude-sonnet-4-6' },
70
- messagesSearchTag: 'message',
71
- tools: [
72
- 'gitHubListRepos',
73
- 'gitHubGetRepo',
74
- 'gitHubCreateRepo',
75
- 'gitHubListBranches',
76
- 'gitHubListIssues',
77
- 'gitHubGetIssue',
78
- 'gitHubCreateIssue',
79
- 'gitHubCreateIssueComment',
80
- 'gitHubListPullRequests',
81
- 'gitHubGetPullRequest',
82
- 'gitHubCreatePullRequest',
83
- 'gitHubMergePullRequest',
84
- 'gitHubListPrReviews',
85
- 'gitHubGetFileContent',
86
- 'gitHubCreateOrUpdateFile',
87
- 'gitHubListDirectory',
88
- 'gitHubGetCommit',
89
- 'gitHubListWorkflowRuns',
90
- 'gitHubTriggerWorkflow',
91
- 'gitHubGetWorkflowRun',
92
- 'gitHubSearchCode',
93
- 'gitHubSearchRepos',
94
- 'gitHubSearchIssues',
95
- 'gitHubGetAuthenticatedUser',
96
- 'gitHubListUserOrgs',
97
- 'authenticateGitHub',
98
- ],
99
- });
66
+ const result = await this.llmGenerateText.call();
100
67
  this.llmResult = result.data;
68
+ this.llmMeta = result.metadata;
101
69
  }
102
70
  async executeToolCalls() {
103
- const result = await this.delegateToolCalls.call({
104
- message: this.llmResult,
105
- document: claude_module_1.ClaudeMessageDocument,
71
+ await this.repository.save(llm_provider_module_1.LlmMessageDocument, this.llmResult.message, {
72
+ meta: { response: this.llmResult.response, provider: this.llmMeta.provider },
73
+ });
74
+ const result = await this.llmDelegateToolCalls.call({
75
+ message: this.llmResult.message,
106
76
  callback: { transition: 'toolResultReceived' },
107
77
  });
108
78
  this.delegateResult = result.data;
109
79
  }
110
80
  hasToolCalls() {
111
- return this.llmResult?.stop_reason === 'tool_use';
81
+ return this.llmResult?.message.stopReason === 'tool_use';
112
82
  }
113
83
  async toolResultReceived(payload) {
114
- const result = await this.updateToolResult.call({
84
+ const result = await this.llmUpdateToolResult.call({
115
85
  delegateResult: this.delegateResult,
116
86
  completedTool: payload,
117
- document: claude_module_1.ClaudeMessageDocument,
118
87
  });
119
88
  this.delegateResult = result.data;
120
89
  }
121
- allToolsCompleteTransition() { }
90
+ async allToolsCompleteTransition() {
91
+ await this.repository.save(llm_provider_module_1.LlmMessageDocument, {
92
+ role: 'user',
93
+ content: this.delegateResult.toolResults.map((tr) => ({
94
+ type: 'tool_result',
95
+ toolCallId: tr.toolCallId,
96
+ content: tr.content ?? '',
97
+ isError: tr.isError ?? false,
98
+ })),
99
+ });
100
+ }
122
101
  allToolsComplete() {
123
102
  return this.delegateResult?.allCompleted ?? false;
124
103
  }
125
104
  async respond() {
126
- await this.repository.save(claude_module_1.ClaudeMessageDocument, this.llmResult, { id: this.llmResult.id });
105
+ await this.repository.save(llm_provider_module_1.LlmMessageDocument, this.llmResult.message, {
106
+ meta: { response: this.llmResult.response, provider: this.llmMeta.provider },
107
+ });
127
108
  }
128
109
  };
129
110
  exports.GitHubAgentWorkflow = GitHubAgentWorkflow;
130
111
  __decorate([
131
- (0, common_1.InjectTool)(),
132
- __metadata("design:type", claude_module_1.ClaudeGenerateText)
133
- ], GitHubAgentWorkflow.prototype, "claudeGenerateText", void 0);
134
- __decorate([
135
- (0, common_1.InjectTool)(),
136
- __metadata("design:type", claude_module_1.DelegateToolCalls)
137
- ], GitHubAgentWorkflow.prototype, "delegateToolCalls", void 0);
138
- __decorate([
139
- (0, common_1.InjectTool)(),
140
- __metadata("design:type", claude_module_1.UpdateToolResult)
141
- ], GitHubAgentWorkflow.prototype, "updateToolResult", void 0);
112
+ (0, common_1.InjectTool)({
113
+ provider: 'claude',
114
+ model: 'claude-sonnet-4-6',
115
+ system: `You are a helpful GitHub assistant with access to repository, issue, PR, code, actions,
116
+ and search tools. When a tool returns an unauthorized error, use authenticateGitHub
117
+ to let the user sign in, then retry. Be concise and format results using markdown.`,
118
+ tools: [
119
+ 'gitHubListRepos',
120
+ 'gitHubGetRepo',
121
+ 'gitHubCreateRepo',
122
+ 'gitHubListBranches',
123
+ 'gitHubListIssues',
124
+ 'gitHubGetIssue',
125
+ 'gitHubCreateIssue',
126
+ 'gitHubCreateIssueComment',
127
+ 'gitHubListPullRequests',
128
+ 'gitHubGetPullRequest',
129
+ 'gitHubCreatePullRequest',
130
+ 'gitHubMergePullRequest',
131
+ 'gitHubListPrReviews',
132
+ 'gitHubGetFileContent',
133
+ 'gitHubCreateOrUpdateFile',
134
+ 'gitHubListDirectory',
135
+ 'gitHubGetCommit',
136
+ 'gitHubListWorkflowRuns',
137
+ 'gitHubTriggerWorkflow',
138
+ 'gitHubGetWorkflowRun',
139
+ 'gitHubSearchCode',
140
+ 'gitHubSearchRepos',
141
+ 'gitHubSearchIssues',
142
+ 'gitHubGetAuthenticatedUser',
143
+ 'gitHubListUserOrgs',
144
+ 'authenticateGitHub',
145
+ ],
146
+ }),
147
+ __metadata("design:type", llm_provider_module_1.LlmGenerateTextTool)
148
+ ], GitHubAgentWorkflow.prototype, "llmGenerateText", void 0);
149
+ __decorate([
150
+ (0, common_1.InjectTool)({ provider: 'claude' }),
151
+ __metadata("design:type", llm_provider_module_1.LlmDelegateToolCallsTool)
152
+ ], GitHubAgentWorkflow.prototype, "llmDelegateToolCalls", void 0);
153
+ __decorate([
154
+ (0, common_1.InjectTool)({ provider: 'claude' }),
155
+ __metadata("design:type", llm_provider_module_1.LlmUpdateToolResultTool)
156
+ ], GitHubAgentWorkflow.prototype, "llmUpdateToolResult", void 0);
142
157
  __decorate([
143
158
  (0, common_1.InjectTool)(),
144
159
  __metadata("design:type", authenticate_github_task_tool_1.AuthenticateGitHubTask)
@@ -283,7 +298,7 @@ __decorate([
283
298
  (0, common_1.Guard)('allToolsComplete'),
284
299
  __metadata("design:type", Function),
285
300
  __metadata("design:paramtypes", []),
286
- __metadata("design:returntype", void 0)
301
+ __metadata("design:returntype", Promise)
287
302
  ], GitHubAgentWorkflow.prototype, "allToolsCompleteTransition", null);
288
303
  __decorate([
289
304
  (0, common_1.Transition)({ from: 'prompt_executed', to: 'waiting_for_user' }),
@@ -1 +1 @@
1
- {"version":3,"file":"github-agent.workflow.js","sourceRoot":"","sources":["../../src/workflows/github-agent.workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-agent.workflow.js","sourceRoot":"","sources":["../../src/workflows/github-agent.workflow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAwB;AACxB,8CAS2B;AAC3B,4DA0BkC;AAElC,wEAKwC;AACxC,0DAAwD;AACxD,0FAAgF;AAKzE,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,qBAAY;IAoCnD,eAAe,CAAsB;IACD,oBAAoB,CAA2B;IAC/C,mBAAmB,CAA0B;IACnE,kBAAkB,CAAyB;IAG3C,eAAe,CAAsB;IACrC,aAAa,CAAoB;IACjC,gBAAgB,CAAuB;IACvC,kBAAkB,CAAyB;IAG3C,gBAAgB,CAAuB;IACvC,cAAc,CAAqB;IACnC,iBAAiB,CAAwB;IACzC,wBAAwB,CAA+B;IAGvD,sBAAsB,CAA6B;IACnD,oBAAoB,CAA2B;IAC/C,uBAAuB,CAA8B;IACrD,sBAAsB,CAA6B;IACnD,mBAAmB,CAA0B;IAG7C,oBAAoB,CAA2B;IAC/C,wBAAwB,CAA+B;IACvD,mBAAmB,CAA0B;IAC7C,eAAe,CAAsB;IAGrC,sBAAsB,CAA6B;IACnD,qBAAqB,CAA4B;IACjD,oBAAoB,CAA2B;IAG/C,gBAAgB,CAAuB;IACvC,iBAAiB,CAAwB;IACzC,kBAAkB,CAAyB;IAG3C,0BAA0B,CAAiC;IAC3D,kBAAkB,CAAyB;IAEvC,KAAK,CAAgB;IAEvC,SAAS,CAAyB;IAClC,OAAO,CAAiB;IACxB,cAAc,CAAqB;IAG7B,AAAN,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,wCAAkB,EAClB;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,6BAA6B,CAAC;SAChE,EACD,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC3B,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wCAAkB,EAAE;YAC7C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAqD,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACnG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,CAAC;IAIK,AAAN,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wCAAkB,EAAE,IAAI,CAAC,SAAU,CAAC,OAAO,EAAE;YACtE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAQ,CAAC,QAAQ,EAAE;SAC/E,CAAC,CAAC;QACH,MAAM,MAAM,GAAkC,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YACjF,OAAO,EAAE,IAAI,CAAC,SAAU,CAAC,OAAO;YAChC,QAAQ,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE;SAC/C,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC;IAC3D,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CAAC,OAAgC;QACvD,MAAM,MAAM,GAAkC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAChF,cAAc,EAAE,IAAI,CAAC,cAAe;YACpC,aAAa,EAAE,OAAO;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC;IACpC,CAAC;IAIK,AAAN,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wCAAkB,EAAE;YAC7C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,cAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,aAAsB;gBAC5B,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE;gBACzB,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK;aAC7B,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,EAAE,YAAY,IAAI,KAAK,CAAC;IACpD,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wCAAkB,EAAE,IAAI,CAAC,SAAU,CAAC,OAAO,EAAE;YACtE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAQ,CAAC,QAAQ,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAnKY,kDAAmB;AAoC9B;IAnCC,IAAA,mBAAU,EAAC;QACV,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE;;mFAEuE;QAC/E,KAAK,EAAE;YACL,iBAAiB;YACjB,eAAe;YACf,kBAAkB;YAClB,oBAAoB;YACpB,kBAAkB;YAClB,gBAAgB;YAChB,mBAAmB;YACnB,0BAA0B;YAC1B,wBAAwB;YACxB,sBAAsB;YACtB,yBAAyB;YACzB,wBAAwB;YACxB,qBAAqB;YACrB,sBAAsB;YACtB,0BAA0B;YAC1B,qBAAqB;YACrB,iBAAiB;YACjB,wBAAwB;YACxB,uBAAuB;YACvB,sBAAsB;YACtB,kBAAkB;YAClB,mBAAmB;YACnB,oBAAoB;YACpB,4BAA4B;YAC5B,oBAAoB;YACpB,oBAAoB;SACrB;KACF,CAAC;8BACe,yCAAmB;4DAAC;AACD;IAAnC,IAAA,mBAAU,EAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;8BAAuB,8CAAwB;iEAAC;AAC/C;IAAnC,IAAA,mBAAU,EAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;8BAAsB,6CAAuB;gEAAC;AACnE;IAAb,IAAA,mBAAU,GAAE;8BAAqB,sDAAsB;+DAAC;AAG3C;IAAb,IAAA,mBAAU,GAAE;8BAAkB,mCAAmB;4DAAC;AACrC;IAAb,IAAA,mBAAU,GAAE;8BAAgB,iCAAiB;0DAAC;AACjC;IAAb,IAAA,mBAAU,GAAE;8BAAmB,oCAAoB;6DAAC;AACvC;IAAb,IAAA,mBAAU,GAAE;8BAAqB,sCAAsB;+DAAC;AAG3C;IAAb,IAAA,mBAAU,GAAE;8BAAmB,oCAAoB;6DAAC;AACvC;IAAb,IAAA,mBAAU,GAAE;8BAAiB,kCAAkB;2DAAC;AACnC;IAAb,IAAA,mBAAU,GAAE;8BAAoB,qCAAqB;8DAAC;AACzC;IAAb,IAAA,mBAAU,GAAE;8BAA2B,4CAA4B;qEAAC;AAGvD;IAAb,IAAA,mBAAU,GAAE;8BAAyB,0CAA0B;mEAAC;AACnD;IAAb,IAAA,mBAAU,GAAE;8BAAuB,wCAAwB;iEAAC;AAC/C;IAAb,IAAA,mBAAU,GAAE;8BAA0B,2CAA2B;oEAAC;AACrD;IAAb,IAAA,mBAAU,GAAE;8BAAyB,0CAA0B;mEAAC;AACnD;IAAb,IAAA,mBAAU,GAAE;8BAAsB,uCAAuB;gEAAC;AAG7C;IAAb,IAAA,mBAAU,GAAE;8BAAuB,wCAAwB;iEAAC;AAC/C;IAAb,IAAA,mBAAU,GAAE;8BAA2B,4CAA4B;qEAAC;AACvD;IAAb,IAAA,mBAAU,GAAE;8BAAsB,uCAAuB;gEAAC;AAC7C;IAAb,IAAA,mBAAU,GAAE;8BAAkB,mCAAmB;4DAAC;AAGrC;IAAb,IAAA,mBAAU,GAAE;8BAAyB,0CAA0B;mEAAC;AACnD;IAAb,IAAA,mBAAU,GAAE;8BAAwB,yCAAyB;kEAAC;AACjD;IAAb,IAAA,mBAAU,GAAE;8BAAuB,wCAAwB;iEAAC;AAG/C;IAAb,IAAA,mBAAU,GAAE;8BAAmB,oCAAoB;6DAAC;AACvC;IAAb,IAAA,mBAAU,GAAE;8BAAoB,qCAAqB;8DAAC;AACzC;IAAb,IAAA,mBAAU,GAAE;8BAAqB,sCAAsB;+DAAC;AAG3C;IAAb,IAAA,mBAAU,GAAE;8BAA6B,8CAA8B;uEAAC;AAC3D;IAAb,IAAA,mBAAU,GAAE;8BAAqB,sCAAsB;+DAAC;AAEvC;IAAjB,IAAA,uBAAc,GAAE;8BAAQ,4BAAa;kDAAC;AAOjC;IADL,IAAA,gBAAO,EAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC;;;;gDAUnC;AAGK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC;;;;sDAMrF;AAGK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC;;;;kDAKpD;AAIK;IAFL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC3E,IAAA,cAAK,EAAC,cAAc,CAAC;;;;2DAUrB;AAOK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;;;;6DAOnH;AAIK;IAFL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACnD,IAAA,cAAK,EAAC,kBAAkB,CAAC;;;;qEAWzB;AAOK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC;;;;kDAK/D;8BAlKU,mBAAmB;IAH/B,IAAA,iBAAQ,EAAC;QACR,QAAQ,EAAE,SAAS,GAAG,uBAAuB;KAC9C,CAAC;GACW,mBAAmB,CAmK/B"}
@@ -40,7 +40,7 @@ let GitHubReposOverviewWorkflow = class GitHubReposOverviewWorkflow extends comm
40
40
  async fetchUser(args) {
41
41
  this.owner = args.owner;
42
42
  this.repo = args.repo;
43
- const result = await this.gitHubGetAuthenticatedUser.call({});
43
+ const result = await this.gitHubGetAuthenticatedUser.call();
44
44
  this.requiresAuthentication = result.data.error === 'unauthorized';
45
45
  this.user = result.data.user;
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"github-repos-overview.workflow.js","sourceRoot":"","sources":["../../src/workflows/github-repos-overview.workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-repos-overview.workflow.js","sourceRoot":"","sources":["../../src/workflows/github-repos-overview.workflow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAwB;AACxB,8CAa2B;AAC3B,4DAUkC;AAClC,0DAAwD;AAwEjD,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,qBAA6C;IAEtE,0BAA0B,CAAiC;IAC3D,kBAAkB,CAAyB;IAC3C,aAAa,CAAoB;IACjC,kBAAkB,CAAyB;IAC3C,gBAAgB,CAAuB;IACvC,sBAAsB,CAA6B;IACnD,mBAAmB,CAA0B;IAC7C,sBAAsB,CAA6B;IACnD,gBAAgB,CAAuB;IAE3C,KAAK,CAAgB;IAEvC,KAAK,CAAU;IACf,IAAI,CAAU;IACd,sBAAsB,CAAW;IACjC,IAAI,CAAgF;IACpF,IAAI,CAAwD;IAC5D,WAAW,CAST;IACF,QAAQ,CAA+C;IACvD,MAAM,CAA0F;IAChG,YAAY,CAOT;IACH,gBAAgB,CAAuD;IACvE,YAAY,CAMT;IACH,aAAa,CAA6D;IAIpE,AAAN,KAAK,CAAC,SAAS,CAAC,IAAqC;QACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,MAAM,GAAiC,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;QAC1F,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,IAAK,CAAC,KAAK,KAAK,cAAc,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAK,CAAC,IAAI,CAAC;IAChC,CAAC;IAKK,AAAN,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CACjC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAChE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,CAC9D,CAAC;QAEF,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,qBAAY,EACZ;YACE,KAAK,EAAE,gCAAgC;YACvC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf,EACD,EAAE,EAAE,EAAE,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE,CACpC,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IASK,AAAN,KAAK,CAAC,aAAa,CAAC,OAA+B;QACjD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,qBAAY,EACZ;YACE,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,iCAAiC;YACxC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;SAChB,EACD,EAAE,EAAE,EAAE,QAAQ,OAAO,CAAC,UAAU,EAAE,EAAE,CACrC,CAAC;IACJ,CAAC;IAKK,AAAN,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAiC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAK,CAAC,IAAI,CAAC;IAChC,CAAC;IAKK,AAAN,KAAK,CAAC,gBAAgB;QACpB,MAAM,UAAU,GAAiC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAC7E,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAK,CAAC,IAAI,CAAC;QAEzC,MAAM,cAAc,GAAqC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC1F,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAK,CAAC,QAAQ,CAAC;IAChD,CAAC;IAKK,AAAN,KAAK,CAAC,cAAc;QAClB,MAAM,YAAY,GAAmC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACpF,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAK,CAAC,MAAM,CAAC;QAExC,MAAM,SAAS,GAAyC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC7F,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,IAAK,CAAC,YAAY,CAAC;IACnD,CAAC;IAKK,AAAN,KAAK,CAAC,mBAAmB;QACvB,MAAM,SAAS,GAAsC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACvF,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,IAAK,CAAC,OAAO,CAAC;QAEhD,MAAM,UAAU,GAAyC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC9F,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,IAAK,CAAC,IAAI,CAAC;IAC5C,CAAC;IAKK,AAAN,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAuC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAClF,KAAK,EAAE,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;YACxC,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAK,CAAC,OAAO,CAAC;IAC5C,CAAC;IAKK,AAAN,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,yBAAgB,EAAE;YAC3C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,4BAA4B,EAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtMY,kEAA2B;AAEhB;IAArB,IAAA,mBAAU,GAAE;8BAAqC,8CAA8B;+EAAC;AAC3D;IAArB,IAAA,mBAAU,GAAE;8BAA6B,sCAAsB;uEAAC;AAC3C;IAArB,IAAA,mBAAU,GAAE;8BAAwB,iCAAiB;kEAAC;AACjC;IAArB,IAAA,mBAAU,GAAE;8BAA6B,sCAAsB;uEAAC;AAC3C;IAArB,IAAA,mBAAU,GAAE;8BAA2B,oCAAoB;qEAAC;AACvC;IAArB,IAAA,mBAAU,GAAE;8BAAiC,0CAA0B;2EAAC;AACnD;IAArB,IAAA,mBAAU,GAAE;8BAA8B,uCAAuB;wEAAC;AAC7C;IAArB,IAAA,mBAAU,GAAE;8BAAiC,0CAA0B;2EAAC;AACnD;IAArB,IAAA,mBAAU,GAAE;8BAA2B,oCAAoB;qEAAC;AAE3C;IAAjB,IAAA,uBAAc,GAAE;8BAAQ,4BAAa;0DAAC;AAuCjC;IADL,IAAA,gBAAO,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;;;;4DAO/B;AAKK;IAFL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACvE,IAAA,cAAK,EAAC,WAAW,CAAC;;;;+DAiBlB;AAaK;IANL,IAAA,mBAAU,EAAC;QACV,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,uBAAc;KACvB,CAAC;;;;gEAaD;AAKK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;;;;4DAIxD;AAKK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;;;;mEAaxD;AAKK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC;;;;iEAiB9D;AAKK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC;;;;sEAczE;AAKK;IADL,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;;;;8DAOlE;AAKK;IADL,IAAA,cAAK,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;;;iEAe9B;sCArMU,2BAA2B;IATvC,IAAA,iBAAQ,EAAC;QACR,QAAQ,EAAE,SAAS,GAAG,gCAAgC;QACtD,MAAM,EAAE,OAAC;aACN,MAAM,CAAC;YACN,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;SACxC,CAAC;aACD,MAAM,EAAE;KACZ,CAAC;GACW,2BAA2B,CAsMvC"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "loopstack",
9
9
  "oauth"
10
10
  ],
11
- "version": "0.2.5",
11
+ "version": "0.2.7",
12
12
  "license": "MIT",
13
13
  "author": {
14
14
  "name": "Jakob Klippel",
@@ -29,11 +29,12 @@
29
29
  "watch": "nest build --watch"
30
30
  },
31
31
  "dependencies": {
32
- "@loopstack/claude-module": "^0.22.4",
33
- "@loopstack/common": "^0.27.0",
34
- "@loopstack/core": "^0.27.0",
35
- "@loopstack/github-module": "^0.2.3",
36
- "@loopstack/oauth-module": "^0.2.5",
32
+ "@loopstack/claude-module": "^0.23.0",
33
+ "@loopstack/llm-provider-module": "^0.2.0",
34
+ "@loopstack/common": "^0.29.0",
35
+ "@loopstack/core": "^0.29.0",
36
+ "@loopstack/github-module": "^0.2.5",
37
+ "@loopstack/oauth-module": "^0.2.7",
37
38
  "@nestjs/common": "^11.1.19",
38
39
  "zod": "^4.3.6"
39
40
  },
@@ -53,10 +54,6 @@
53
54
  "maxWorkers": 1
54
55
  },
55
56
  "loopstack": {
56
- "installModes": [
57
- "add",
58
- "install"
59
- ],
60
57
  "modules": [
61
58
  {
62
59
  "path": "src/github-example.module.ts",
@@ -74,6 +71,10 @@
74
71
  "className": "GitHubAgentWorkflow",
75
72
  "propertyName": "gitHubAgent"
76
73
  }
74
+ ],
75
+ "installModes": [
76
+ "add",
77
+ "install"
77
78
  ]
78
79
  }
79
80
  }
@@ -1,12 +1,4 @@
1
1
  import { z } from 'zod';
2
- import {
3
- ClaudeGenerateText,
4
- ClaudeGenerateTextResult,
5
- ClaudeMessageDocument,
6
- DelegateToolCalls,
7
- DelegateToolCallsResult,
8
- UpdateToolResult,
9
- } from '@loopstack/claude-module';
10
2
  import {
11
3
  BaseWorkflow,
12
4
  Guard,
@@ -44,6 +36,13 @@ import {
44
36
  GitHubSearchReposTool,
45
37
  GitHubTriggerWorkflowTool,
46
38
  } from '@loopstack/github-module';
39
+ import type { LlmDelegateResult, LlmGenerateTextResult, LlmResultMeta } from '@loopstack/llm-provider-module';
40
+ import {
41
+ LlmDelegateToolCallsTool,
42
+ LlmGenerateTextTool,
43
+ LlmMessageDocument,
44
+ LlmUpdateToolResultTool,
45
+ } from '@loopstack/llm-provider-module';
47
46
  import { OAuthWorkflow } from '@loopstack/oauth-module';
48
47
  import { AuthenticateGitHubTask } from '../tools/authenticate-github-task.tool';
49
48
 
@@ -51,9 +50,44 @@ import { AuthenticateGitHubTask } from '../tools/authenticate-github-task.tool';
51
50
  uiConfig: __dirname + '/github-agent.ui.yaml',
52
51
  })
53
52
  export class GitHubAgentWorkflow extends BaseWorkflow {
54
- @InjectTool() claudeGenerateText: ClaudeGenerateText;
55
- @InjectTool() delegateToolCalls: DelegateToolCalls;
56
- @InjectTool() updateToolResult: UpdateToolResult;
53
+ @InjectTool({
54
+ provider: 'claude',
55
+ model: 'claude-sonnet-4-6',
56
+ system: `You are a helpful GitHub assistant with access to repository, issue, PR, code, actions,
57
+ and search tools. When a tool returns an unauthorized error, use authenticateGitHub
58
+ to let the user sign in, then retry. Be concise and format results using markdown.`,
59
+ tools: [
60
+ 'gitHubListRepos',
61
+ 'gitHubGetRepo',
62
+ 'gitHubCreateRepo',
63
+ 'gitHubListBranches',
64
+ 'gitHubListIssues',
65
+ 'gitHubGetIssue',
66
+ 'gitHubCreateIssue',
67
+ 'gitHubCreateIssueComment',
68
+ 'gitHubListPullRequests',
69
+ 'gitHubGetPullRequest',
70
+ 'gitHubCreatePullRequest',
71
+ 'gitHubMergePullRequest',
72
+ 'gitHubListPrReviews',
73
+ 'gitHubGetFileContent',
74
+ 'gitHubCreateOrUpdateFile',
75
+ 'gitHubListDirectory',
76
+ 'gitHubGetCommit',
77
+ 'gitHubListWorkflowRuns',
78
+ 'gitHubTriggerWorkflow',
79
+ 'gitHubGetWorkflowRun',
80
+ 'gitHubSearchCode',
81
+ 'gitHubSearchRepos',
82
+ 'gitHubSearchIssues',
83
+ 'gitHubGetAuthenticatedUser',
84
+ 'gitHubListUserOrgs',
85
+ 'authenticateGitHub',
86
+ ],
87
+ })
88
+ llmGenerateText: LlmGenerateTextTool;
89
+ @InjectTool({ provider: 'claude' }) llmDelegateToolCalls: LlmDelegateToolCallsTool;
90
+ @InjectTool({ provider: 'claude' }) llmUpdateToolResult: LlmUpdateToolResultTool;
57
91
  @InjectTool() authenticateGitHub: AuthenticateGitHubTask;
58
92
 
59
93
  // GitHub Repos tools
@@ -97,13 +131,14 @@ export class GitHubAgentWorkflow extends BaseWorkflow {
97
131
 
98
132
  @InjectWorkflow() oAuth: OAuthWorkflow;
99
133
 
100
- llmResult?: ClaudeGenerateTextResult;
101
- delegateResult?: DelegateToolCallsResult;
134
+ llmResult?: LlmGenerateTextResult;
135
+ llmMeta?: LlmResultMeta;
136
+ delegateResult?: LlmDelegateResult;
102
137
 
103
138
  @Initial({ to: 'waiting_for_user' })
104
139
  async setup() {
105
140
  await this.repository.save(
106
- ClaudeMessageDocument,
141
+ LlmMessageDocument,
107
142
  {
108
143
  role: 'user',
109
144
  content: this.render(__dirname + '/templates/systemMessage.md'),
@@ -114,7 +149,7 @@ export class GitHubAgentWorkflow extends BaseWorkflow {
114
149
 
115
150
  @Transition({ from: 'waiting_for_user', to: 'ready', wait: true, schema: z.string() })
116
151
  async userMessage(payload: string) {
117
- await this.repository.save(ClaudeMessageDocument, {
152
+ await this.repository.save(LlmMessageDocument, {
118
153
  role: 'user',
119
154
  content: payload,
120
155
  });
@@ -122,72 +157,50 @@ export class GitHubAgentWorkflow extends BaseWorkflow {
122
157
 
123
158
  @Transition({ from: 'ready', to: 'prompt_executed' })
124
159
  async llmTurn() {
125
- const result: ToolResult<ClaudeGenerateTextResult> = await this.claudeGenerateText.call({
126
- system: `You are a helpful GitHub assistant with access to repository, issue, PR, code, actions,
127
- and search tools. When a tool returns an unauthorized error, use authenticateGitHub
128
- to let the user sign in, then retry. Be concise and format results using markdown.`,
129
- claude: { model: 'claude-sonnet-4-6' },
130
- messagesSearchTag: 'message',
131
- tools: [
132
- 'gitHubListRepos',
133
- 'gitHubGetRepo',
134
- 'gitHubCreateRepo',
135
- 'gitHubListBranches',
136
- 'gitHubListIssues',
137
- 'gitHubGetIssue',
138
- 'gitHubCreateIssue',
139
- 'gitHubCreateIssueComment',
140
- 'gitHubListPullRequests',
141
- 'gitHubGetPullRequest',
142
- 'gitHubCreatePullRequest',
143
- 'gitHubMergePullRequest',
144
- 'gitHubListPrReviews',
145
- 'gitHubGetFileContent',
146
- 'gitHubCreateOrUpdateFile',
147
- 'gitHubListDirectory',
148
- 'gitHubGetCommit',
149
- 'gitHubListWorkflowRuns',
150
- 'gitHubTriggerWorkflow',
151
- 'gitHubGetWorkflowRun',
152
- 'gitHubSearchCode',
153
- 'gitHubSearchRepos',
154
- 'gitHubSearchIssues',
155
- 'gitHubGetAuthenticatedUser',
156
- 'gitHubListUserOrgs',
157
- 'authenticateGitHub',
158
- ],
159
- });
160
+ const result: ToolResult<LlmGenerateTextResult, LlmResultMeta> = await this.llmGenerateText.call();
160
161
  this.llmResult = result.data;
162
+ this.llmMeta = result.metadata;
161
163
  }
162
164
 
163
165
  @Transition({ from: 'prompt_executed', to: 'awaiting_tools', priority: 10 })
164
166
  @Guard('hasToolCalls')
165
167
  async executeToolCalls() {
166
- const result: ToolResult<DelegateToolCallsResult> = await this.delegateToolCalls.call({
167
- message: this.llmResult!,
168
- document: ClaudeMessageDocument,
168
+ await this.repository.save(LlmMessageDocument, this.llmResult!.message, {
169
+ meta: { response: this.llmResult!.response, provider: this.llmMeta!.provider },
170
+ });
171
+ const result: ToolResult<LlmDelegateResult> = await this.llmDelegateToolCalls.call({
172
+ message: this.llmResult!.message,
169
173
  callback: { transition: 'toolResultReceived' },
170
174
  });
171
175
  this.delegateResult = result.data;
172
176
  }
173
177
 
174
178
  hasToolCalls(): boolean {
175
- return this.llmResult?.stop_reason === 'tool_use';
179
+ return this.llmResult?.message.stopReason === 'tool_use';
176
180
  }
177
181
 
178
182
  @Transition({ from: 'awaiting_tools', to: 'awaiting_tools', wait: true, schema: z.record(z.string(), z.unknown()) })
179
183
  async toolResultReceived(payload: Record<string, unknown>) {
180
- const result: ToolResult<DelegateToolCallsResult> = await this.updateToolResult.call({
184
+ const result: ToolResult<LlmDelegateResult> = await this.llmUpdateToolResult.call({
181
185
  delegateResult: this.delegateResult!,
182
186
  completedTool: payload,
183
- document: ClaudeMessageDocument,
184
187
  });
185
188
  this.delegateResult = result.data;
186
189
  }
187
190
 
188
191
  @Transition({ from: 'awaiting_tools', to: 'ready' })
189
192
  @Guard('allToolsComplete')
190
- allToolsCompleteTransition() {}
193
+ async allToolsCompleteTransition() {
194
+ await this.repository.save(LlmMessageDocument, {
195
+ role: 'user',
196
+ content: this.delegateResult!.toolResults.map((tr) => ({
197
+ type: 'tool_result' as const,
198
+ toolCallId: tr.toolCallId,
199
+ content: tr.content ?? '',
200
+ isError: tr.isError ?? false,
201
+ })),
202
+ });
203
+ }
191
204
 
192
205
  allToolsComplete(): boolean {
193
206
  return this.delegateResult?.allCompleted ?? false;
@@ -195,6 +208,8 @@ to let the user sign in, then retry. Be concise and format results using markdow
195
208
 
196
209
  @Transition({ from: 'prompt_executed', to: 'waiting_for_user' })
197
210
  async respond() {
198
- await this.repository.save(ClaudeMessageDocument, this.llmResult!, { id: this.llmResult!.id });
211
+ await this.repository.save(LlmMessageDocument, this.llmResult!.message, {
212
+ meta: { response: this.llmResult!.response, provider: this.llmMeta!.provider },
213
+ });
199
214
  }
200
215
  }
@@ -150,7 +150,7 @@ export class GitHubReposOverviewWorkflow extends BaseWorkflow<{ owner: string; r
150
150
  async fetchUser(args: { owner: string; repo: string }) {
151
151
  this.owner = args.owner;
152
152
  this.repo = args.repo;
153
- const result: ToolResult<GitHubUserResult> = await this.gitHubGetAuthenticatedUser.call({});
153
+ const result: ToolResult<GitHubUserResult> = await this.gitHubGetAuthenticatedUser.call();
154
154
  this.requiresAuthentication = result.data!.error === 'unauthorized';
155
155
  this.user = result.data!.user;
156
156
  }