swellai 1.0.0 → 1.0.1
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: Multi-Provider Plan Generation (v2 - Parallel Jobs)
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
issues:
|
|
@@ -49,7 +49,7 @@ jobs:
|
|
|
49
49
|
get-issue:
|
|
50
50
|
if: |
|
|
51
51
|
github.event_name == 'workflow_dispatch' ||
|
|
52
|
-
(github.event_name == 'issues' && contains(github.event.issue.labels.*.name, 'claude-plan'))
|
|
52
|
+
(github.event_name == 'issues' && contains(github.event.issue.labels.*.name, 'claude-plan-v2'))
|
|
53
53
|
runs-on: ubuntu-latest
|
|
54
54
|
outputs:
|
|
55
55
|
number: ${{ steps.issue.outputs.number }}
|
|
@@ -61,32 +61,12 @@ jobs:
|
|
|
61
61
|
|
|
62
62
|
- name: Get issue details
|
|
63
63
|
id: issue
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
else
|
|
71
|
-
ISSUE_NUMBER="${{ github.event.issue.number }}"
|
|
72
|
-
fi
|
|
73
|
-
|
|
74
|
-
# Validate issue number is provided
|
|
75
|
-
if [ -z "$ISSUE_NUMBER" ]; then
|
|
76
|
-
echo "Error: Issue number is required"
|
|
77
|
-
exit 1
|
|
78
|
-
fi
|
|
79
|
-
|
|
80
|
-
# Fetch issue details from GitHub
|
|
81
|
-
ISSUE_JSON=$(gh issue view "$ISSUE_NUMBER" --json title,body)
|
|
82
|
-
|
|
83
|
-
# Output issue number and title
|
|
84
|
-
echo "number=$ISSUE_NUMBER" >> $GITHUB_OUTPUT
|
|
85
|
-
echo "title=$(echo "$ISSUE_JSON" | jq -r '.title')" >> $GITHUB_OUTPUT
|
|
86
|
-
|
|
87
|
-
# Write body to file to handle multiline content
|
|
88
|
-
echo "$ISSUE_JSON" | jq -r '.body // ""' > /tmp/issue_body.txt
|
|
89
|
-
echo "body_file=/tmp/issue_body.txt" >> $GITHUB_OUTPUT
|
|
64
|
+
uses: ./.github/actions/get-issue-details
|
|
65
|
+
with:
|
|
66
|
+
issue_number: ${{ github.event_name == 'workflow_dispatch' && inputs.issue_number || github.event.issue.number }}
|
|
67
|
+
github_token: ${{ secrets.GH_PAT }}
|
|
68
|
+
event_name: ${{ github.event_name }}
|
|
69
|
+
event_issue_number: ${{ github.event.issue.number || '' }}
|
|
90
70
|
|
|
91
71
|
- name: Read issue body
|
|
92
72
|
id: body
|
|
@@ -123,6 +103,12 @@ jobs:
|
|
|
123
103
|
- name: Install dependencies
|
|
124
104
|
run: bun install
|
|
125
105
|
|
|
106
|
+
- name: Install ast-grep
|
|
107
|
+
run: |
|
|
108
|
+
bun install -g @ast-grep/cli
|
|
109
|
+
bun pm -g trust @ast-grep/cli
|
|
110
|
+
ast-grep --version
|
|
111
|
+
|
|
126
112
|
- name: Generate plan
|
|
127
113
|
id: generate
|
|
128
114
|
env:
|
|
@@ -131,10 +117,12 @@ jobs:
|
|
|
131
117
|
MODEL: ${{ github.event_name == 'workflow_dispatch' && inputs.anthropic_model || 'claude-opus-4-5' }}
|
|
132
118
|
ISSUE_TITLE: ${{ needs.get-issue.outputs.title }}
|
|
133
119
|
ISSUE_BODY: ${{ needs.get-issue.outputs.body }}
|
|
120
|
+
TURSO_DATABASE_URL: ${{ secrets.TURSO_DATABASE_URL }}
|
|
121
|
+
TURSO_AUTH_TOKEN: ${{ secrets.TURSO_AUTH_TOKEN }}
|
|
134
122
|
run: |
|
|
135
|
-
# Generate plan
|
|
123
|
+
# Generate plan - stderr (logs) flows to console, stdout (plan) is captured
|
|
136
124
|
set +e
|
|
137
|
-
PLAN=$(
|
|
125
|
+
PLAN=$(bun run src/agents/planning-agent.ts "$ISSUE_TITLE: $ISSUE_BODY")
|
|
138
126
|
EXIT_CODE=$?
|
|
139
127
|
set -e
|
|
140
128
|
|
|
@@ -176,6 +164,12 @@ jobs:
|
|
|
176
164
|
- name: Install dependencies
|
|
177
165
|
run: bun install
|
|
178
166
|
|
|
167
|
+
- name: Install ast-grep
|
|
168
|
+
run: |
|
|
169
|
+
bun install -g @ast-grep/cli
|
|
170
|
+
bun pm -g trust @ast-grep/cli
|
|
171
|
+
ast-grep --version
|
|
172
|
+
|
|
179
173
|
- name: Generate plan
|
|
180
174
|
id: generate
|
|
181
175
|
env:
|
|
@@ -184,10 +178,12 @@ jobs:
|
|
|
184
178
|
MODEL: ${{ github.event_name == 'workflow_dispatch' && inputs.openai_model || 'gpt-5.2-pro' }}
|
|
185
179
|
ISSUE_TITLE: ${{ needs.get-issue.outputs.title }}
|
|
186
180
|
ISSUE_BODY: ${{ needs.get-issue.outputs.body }}
|
|
181
|
+
TURSO_DATABASE_URL: ${{ secrets.TURSO_DATABASE_URL }}
|
|
182
|
+
TURSO_AUTH_TOKEN: ${{ secrets.TURSO_AUTH_TOKEN }}
|
|
187
183
|
run: |
|
|
188
|
-
# Generate plan
|
|
184
|
+
# Generate plan - stderr (logs) flows to console, stdout (plan) is captured
|
|
189
185
|
set +e
|
|
190
|
-
PLAN=$(
|
|
186
|
+
PLAN=$(bun run src/agents/planning-agent.ts "$ISSUE_TITLE: $ISSUE_BODY")
|
|
191
187
|
EXIT_CODE=$?
|
|
192
188
|
set -e
|
|
193
189
|
|
|
@@ -229,6 +225,12 @@ jobs:
|
|
|
229
225
|
- name: Install dependencies
|
|
230
226
|
run: bun install
|
|
231
227
|
|
|
228
|
+
- name: Install ast-grep
|
|
229
|
+
run: |
|
|
230
|
+
bun install -g @ast-grep/cli
|
|
231
|
+
bun pm -g trust @ast-grep/cli
|
|
232
|
+
ast-grep --version
|
|
233
|
+
|
|
232
234
|
- name: Generate plan
|
|
233
235
|
id: generate
|
|
234
236
|
env:
|
|
@@ -237,10 +239,12 @@ jobs:
|
|
|
237
239
|
MODEL: ${{ github.event_name == 'workflow_dispatch' && inputs.google_model || 'gemini-2.5-pro' }}
|
|
238
240
|
ISSUE_TITLE: ${{ needs.get-issue.outputs.title }}
|
|
239
241
|
ISSUE_BODY: ${{ needs.get-issue.outputs.body }}
|
|
242
|
+
TURSO_DATABASE_URL: ${{ secrets.TURSO_DATABASE_URL }}
|
|
243
|
+
TURSO_AUTH_TOKEN: ${{ secrets.TURSO_AUTH_TOKEN }}
|
|
240
244
|
run: |
|
|
241
|
-
# Generate plan
|
|
245
|
+
# Generate plan - stderr (logs) flows to console, stdout (plan) is captured
|
|
242
246
|
set +e
|
|
243
|
-
PLAN=$(
|
|
247
|
+
PLAN=$(bun run src/agents/planning-agent.ts "$ISSUE_TITLE: $ISSUE_BODY")
|
|
244
248
|
EXIT_CODE=$?
|
|
245
249
|
set -e
|
|
246
250
|
|
|
@@ -283,6 +287,12 @@ jobs:
|
|
|
283
287
|
- name: Install dependencies
|
|
284
288
|
run: bun install
|
|
285
289
|
|
|
290
|
+
- name: Install ast-grep
|
|
291
|
+
run: |
|
|
292
|
+
bun install -g @ast-grep/cli
|
|
293
|
+
bun pm -g trust @ast-grep/cli
|
|
294
|
+
ast-grep --version
|
|
295
|
+
|
|
286
296
|
- name: Consolidate plans and create Linear issues
|
|
287
297
|
id: consolidate
|
|
288
298
|
env:
|
|
@@ -296,6 +306,8 @@ jobs:
|
|
|
296
306
|
ANTHROPIC_PLAN: ${{ needs.generate-plan-anthropic.result == 'success' && needs.generate-plan-anthropic.outputs.plan || '' }}
|
|
297
307
|
OPENAI_PLAN: ${{ needs.generate-plan-openai.result == 'success' && needs.generate-plan-openai.outputs.plan || '' }}
|
|
298
308
|
GOOGLE_PLAN: ${{ needs.generate-plan-google.result == 'success' && needs.generate-plan-google.outputs.plan || '' }}
|
|
309
|
+
TURSO_DATABASE_URL: ${{ secrets.TURSO_DATABASE_URL }}
|
|
310
|
+
TURSO_AUTH_TOKEN: ${{ secrets.TURSO_AUTH_TOKEN }}
|
|
299
311
|
run: |
|
|
300
|
-
# Run linear agent
|
|
301
|
-
|
|
312
|
+
# Run linear agent for consolidation and Linear issue creation
|
|
313
|
+
bun run src/agents/linear-agent.ts
|