Skip to content

Commit 9b97fa0

Browse files
authored
Stabilize Agent Control and launcher quality
Squash merge PR #110 after CodeRabbit full review and green Strict CI.
1 parent bd89c47 commit 9b97fa0

136 files changed

Lines changed: 12303 additions & 3098 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 65 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@ jobs:
2424
runs-on: windows-latest
2525
timeout-minutes: 25
2626
steps:
27-
- uses: actions/checkout@v6
27+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
28+
with:
29+
persist-credentials: false
2830

2931
- name: Setup Node.js
30-
uses: actions/setup-node@v6
32+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
3133
with:
3234
node-version: "26.1.0"
3335
cache: "npm"
@@ -82,7 +84,9 @@ jobs:
8284
runs-on: windows-latest
8385
timeout-minutes: 40
8486
steps:
85-
- uses: actions/checkout@v6
87+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
88+
with:
89+
persist-credentials: false
8690

8791
- name: Setup Rust
8892
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
@@ -136,3 +140,61 @@ jobs:
136140
with:
137141
name: rust-lcov
138142
path: src-tauri/lcov.info
143+
144+
check-cross-platform:
145+
name: Cross-platform Compatibility (${{ matrix.os }})
146+
runs-on: ${{ matrix.os }}
147+
timeout-minutes: 35
148+
strategy:
149+
fail-fast: false
150+
matrix:
151+
os: [ubuntu-latest, macos-latest]
152+
steps:
153+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
154+
with:
155+
persist-credentials: false
156+
157+
- name: Install Linux system dependencies
158+
if: runner.os == 'Linux'
159+
run: |
160+
sudo apt-get update
161+
sudo apt-get install -y \
162+
libwebkit2gtk-4.1-dev \
163+
libayatana-appindicator3-dev \
164+
librsvg2-dev \
165+
patchelf \
166+
libxdo-dev
167+
168+
- name: Setup Node.js
169+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
170+
with:
171+
node-version: "26.1.0"
172+
cache: "npm"
173+
cache-dependency-path: src/package-lock.json
174+
175+
- name: Setup Rust
176+
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
177+
with:
178+
toolchain: 1.95.0
179+
180+
- name: Rust Cache
181+
uses: Swatinem/rust-cache@65012b490220f477f20ab979e35ae732e6de4e68 # node24
182+
continue-on-error: true
183+
with:
184+
workspaces: "src-tauri -> target"
185+
cache-targets: false
186+
187+
- name: Install Dependencies
188+
run: |
189+
cd src
190+
npm ci
191+
192+
- name: Frontend Type Check
193+
run: |
194+
cd src
195+
npm run typecheck
196+
197+
- name: Backend Target Check
198+
run: |
199+
cd src-tauri
200+
cargo check --all-targets --all-features

.github/workflows/codeql.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ jobs:
3535

3636
steps:
3737
- name: Checkout repository
38-
uses: actions/checkout@v6
38+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
39+
with:
40+
persist-credentials: false
3941

4042
- name: Setup Rust
4143
if: matrix.language == 'rust'

.github/workflows/dependency-review.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ jobs:
2424
timeout-minutes: 10
2525
steps:
2626
- name: Checkout repository
27-
uses: actions/checkout@v6
27+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
28+
with:
29+
persist-credentials: false
2830

2931
- name: Review dependency changes
3032
uses: actions/dependency-review-action@v5

.github/workflows/release.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ jobs:
3131

3232
steps:
3333
- name: Checkout repository
34-
uses: actions/checkout@v6
34+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
3535
with:
36+
persist-credentials: false
3637
fetch-depth: 0
3738
ref: ${{ env.RELEASE_TAG }}
3839

@@ -59,7 +60,7 @@ jobs:
5960
}
6061
6162
- name: Setup Node.js
62-
uses: actions/setup-node@v6
63+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
6364
with:
6465
node-version: "26.1.0"
6566
cache: "npm"

.github/workflows/security-audit.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@ jobs:
1919
timeout-minutes: 20
2020
steps:
2121
- name: Checkout repository
22-
uses: actions/checkout@v6
22+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
23+
with:
24+
persist-credentials: false
2325

2426
- name: Setup Node.js
25-
uses: actions/setup-node@v6
27+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
2628
with:
2729
node-version: "26.1.0"
2830
cache: "npm"
@@ -44,7 +46,9 @@ jobs:
4446
timeout-minutes: 25
4547
steps:
4648
- name: Checkout repository
47-
uses: actions/checkout@v6
49+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
50+
with:
51+
persist-credentials: false
4852

4953
- name: Setup Rust
5054
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7

SECURITY.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ Release tags must match project versions and point to commits reachable from `ma
3434
Current application security posture:
3535

3636
- provider secrets are backend-owned
37+
- provider secrets are stored in an encrypted backend file today; platform
38+
keystore storage is planned but not implemented yet
3739
- frontend/backend contracts are generated from Rust types
3840
- local integration API tokens are runtime-issued and scoped
3941
- import paths, runtime entry paths, settings UI paths, archive entries, and log

docs/examples/sdk/javascript/axelate-client.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export class AxelateClient {
3535

3636
saveSettings(settings) {
3737
return this.request(
38-
'PUT',
38+
'PATCH',
3939
`/v1/modules/${encodeURIComponent(this.moduleId)}/settings`,
4040
settings,
4141
);

docs/examples/sdk/python/axelate_sdk.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def settings(self) -> dict[str, Any]:
6161

6262
def save_settings(self, settings: dict[str, Any]) -> dict[str, Any]:
6363
return self.request(
64-
"PUT",
64+
"PATCH",
6565
f"/v1/modules/{self.encoded_module_id}/settings",
6666
settings,
6767
)

0 commit comments

Comments
 (0)