stackbite 0.5.108 → 0.5.110
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 +28 -26
- package/package.json +1 -1
- package/packaging/npm/release.json +23 -23
package/README.md
CHANGED
|
@@ -251,22 +251,16 @@ provider 완료 증거와 구별합니다. Codex·Claude의 hooks는 시작·작
|
|
|
251
251
|
기록합니다. CLI 로그인, workspace 신뢰, hooks 신뢰와 도구 실행 승인은 provider 안에서 처리합니다.
|
|
252
252
|
Stackbite는 승인·sandbox를 우회하지 않습니다.
|
|
253
253
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
`TaskRoomClient`로 위임하며 방이 없는 호출은 거절합니다. 직접 방 API를 사용하려면
|
|
257
|
-
`TaskRoomClient`를 사용합니다.
|
|
254
|
+
스크립트와 에이전트는 native CLI 또는 인증된 Room HTTP API를 사용합니다.
|
|
255
|
+
Seat 안에서 현재 Room의 좌석을 조회하려면 다음 명령을 실행합니다.
|
|
258
256
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
```python
|
|
262
|
-
from private_pty import AgentStackbite, TaskRoomClient
|
|
263
|
-
|
|
264
|
-
sdk = AgentStackbite(room_id="review-room", client=TaskRoomClient())
|
|
265
|
-
seats = sdk.list_agents() # 이 방의 정의된 좌석; 정지된 좌석도 포함
|
|
257
|
+
```sh
|
|
258
|
+
stackbite-room seats --output json
|
|
266
259
|
```
|
|
267
260
|
|
|
268
|
-
|
|
269
|
-
|
|
261
|
+
외부 스크립트는 `GET /api/rooms/{room_id}`로 Room과 Seat를 조회할 수 있습니다.
|
|
262
|
+
Python 엔진과 함께 제공되던 소스 SDK(`private_pty.AgentStackbite`, `TaskRoomClient`)는
|
|
263
|
+
native 전환에서 제거했습니다. Room HTTP 경로와 인증 계약은 유지합니다.
|
|
270
264
|
|
|
271
265
|
기본 방 주소는 `http://127.0.0.1:8090`입니다. 명시적 `base_url`,
|
|
272
266
|
`STACKBITE_ROOM_BRIDGE_URL`, 기본 주소 순서로 선택합니다. 클라이언트는 상태 위치에서
|
|
@@ -317,12 +311,11 @@ Work Stack은 작업 정리와 Task 권한을, Stackbite는 로컬 Room/Seat 실
|
|
|
317
311
|
유지합니다. 선택한 Task의 workspace·revision을 확인한 뒤 방을 만들며 이 과정은 Task
|
|
318
312
|
상태를 수정하지 않습니다.
|
|
319
313
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
```
|
|
314
|
+
선택 Task 연결은 native WorkStack 배포 경로와 Rust
|
|
315
|
+
`stackbite_management::public_workstack::link` API에서 처리합니다.
|
|
323
316
|
|
|
324
317
|
handoff의 첫 줄 `WorkStack binding:` JSON marker와 Task ID·workspace·revision 계약은
|
|
325
|
-
유지합니다. `publish_checkpoint()`는 새로 검증한 바인딩과 안정적인 intent ID로 호출자가
|
|
318
|
+
유지합니다. Rust `Link::publish_checkpoint()`는 새로 검증한 바인딩과 안정적인 intent ID로 호출자가
|
|
326
319
|
작성한 사실만 전달합니다. commit_unknown은 operation-status로 확인하고 mutation을
|
|
327
320
|
재전송하지 않습니다. 로그·프롬프트 자동 복사나 Task 자동 완료는 하지 않습니다.
|
|
328
321
|
|
|
@@ -333,19 +326,28 @@ handoff의 첫 줄 `WorkStack binding:` JSON marker와 Task ID·workspace·revis
|
|
|
333
326
|
|
|
334
327
|
## 개발과 성능 검토
|
|
335
328
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
329
|
+
제품 실행 경로는 `rust/`의 launcher, management, terminald와 TUI입니다.
|
|
330
|
+
Python 엔진과 Rich TUI는 제거했습니다. Rust package 빌드는
|
|
331
|
+
`scripts/build_rust_terminal.py`를 사용하고, 세 플랫폼 release builder는 그 package를
|
|
332
|
+
native 배포본으로 조립합니다. `scripts/native_bundle.py`가 최종 파일 목록과 Python
|
|
333
|
+
런타임 부재를 검사합니다.
|
|
334
|
+
|
|
335
|
+
```sh
|
|
336
|
+
cd rust
|
|
337
|
+
cargo test --workspace
|
|
339
338
|
```
|
|
340
339
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
340
|
+
비교 테스트는 고정된 0.5.108 Git 소스를 테스트 캐시에 읽습니다. Git에 해당 커밋의
|
|
341
|
+
객체와 테스트용 Python이 필요하며 제품 실행에는 필요하지 않습니다. 자세한 조건은
|
|
342
|
+
`rust/test_support/python_oracle_root.rs`에 있습니다. 과거 Python 엔진 자체를 검증하던
|
|
343
|
+
테스트는 native 제품의 qualification 결과로 집계하지 않습니다.
|
|
344
|
+
|
|
345
|
+
런타임 데이터와 개인 설정은 배포에 포함하지 않습니다. `/agency-agents/` manifest
|
|
346
|
+
identity와 기존 Room·Seat·기록·인증 계약은 유지합니다.
|
|
345
347
|
원격 웹 접속의 origin·신뢰 프록시는 `STACKBITE_ALLOWED_ORIGINS`·`STACKBITE_TRUSTED_PROXY_IPS`로
|
|
346
348
|
명시합니다. `X-Office-Token` 인증은 로컬 요청에도 필요합니다.
|
|
347
349
|
|
|
348
|
-
###
|
|
350
|
+
### 개발용 비교 테스트의 호스트 선행조건
|
|
349
351
|
|
|
350
352
|
`tests/host_prerequisites.py`가 스위트가 전제하는 호스트 도구의 단일 표입니다. 빠진 항목은 pytest
|
|
351
353
|
시작 시 한 번 보고되고, 그 항목이 필요한 테스트만 이유를 밝히며 건너뜁니다(Windows는 건너뛰지 않고
|
|
@@ -362,7 +364,7 @@ Linux 검증 명령(4 CPU 기준). 선행조건을 모두 갖춘 호스트에서
|
|
|
362
364
|
건너뜀 없이 실행했음을 확인합니다.
|
|
363
365
|
|
|
364
366
|
```sh
|
|
365
|
-
python -m pytest tests
|
|
367
|
+
python -m pytest tests/test_native_bundle_builder.py tests/test_build_macos_release.py tests/test_linux_release_packaging.py -q
|
|
366
368
|
```
|
|
367
369
|
|
|
368
370
|
프로세스 안에서 도는 테스트는 `/etc/machine-id`가 없으면 스위트가 만든 임시 식별자를 쓰지만, 별도
|
package/package.json
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": 1,
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"commit": "
|
|
3
|
+
"version": "0.5.110",
|
|
4
|
+
"commit": "f3b1714a66f70982301e5d0ceb21e484efaffb96",
|
|
5
5
|
"repository": "Shinick-Han/stackbite",
|
|
6
6
|
"platforms": {
|
|
7
7
|
"win32-x64": {
|
|
8
|
-
"asset": "stackbite-0.5.
|
|
9
|
-
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.
|
|
10
|
-
"sha256": "
|
|
11
|
-
"size":
|
|
12
|
-
"root": "stackbite-0.5.
|
|
13
|
-
"manifestSha256": "
|
|
14
|
-
"metadataSha256": "
|
|
8
|
+
"asset": "stackbite-0.5.110-windows-x64-f3b1714a66f7.zip",
|
|
9
|
+
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.110/stackbite-0.5.110-windows-x64-f3b1714a66f7.zip",
|
|
10
|
+
"sha256": "ade5d55b60330ce04b0bb5a28bc0b501135995f8bd95dc8241ae7b45a8d95b20",
|
|
11
|
+
"size": 75614313,
|
|
12
|
+
"root": "stackbite-0.5.110-windows-x64-f3b1714a66f7",
|
|
13
|
+
"manifestSha256": "e882a5a8612966453554856f78191b87b3ccdb1ada1b6f15e9153173edd0c58e",
|
|
14
|
+
"metadataSha256": "0811123ef014710fc49cd14ec6b67da74cbf01828c38ad128e90e20f7963122b"
|
|
15
15
|
},
|
|
16
16
|
"linux-x64": {
|
|
17
|
-
"asset": "stackbite-0.5.
|
|
18
|
-
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.
|
|
19
|
-
"sha256": "
|
|
20
|
-
"size":
|
|
21
|
-
"root": "stackbite-0.5.
|
|
22
|
-
"manifestSha256": "
|
|
23
|
-
"metadataSha256": "
|
|
17
|
+
"asset": "stackbite-0.5.110-linux-x86_64-f3b1714a66f7.tar.gz",
|
|
18
|
+
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.110/stackbite-0.5.110-linux-x86_64-f3b1714a66f7.tar.gz",
|
|
19
|
+
"sha256": "f7bfc5f3a6d91e224f6dae49cf352cc0b4aba33360d105243cfd56141db30b84",
|
|
20
|
+
"size": 76543376,
|
|
21
|
+
"root": "stackbite-0.5.110-linux-x86_64-f3b1714a66f7",
|
|
22
|
+
"manifestSha256": "9e52c0f761515a22934448c371590cbbe66271eb4579ec94ebc69041de799a33",
|
|
23
|
+
"metadataSha256": "a15f5ef4c26cd44f14ff8e4f1ddddd2db69246ca4ad7ecff8cd347be53626431"
|
|
24
24
|
},
|
|
25
25
|
"darwin-arm64": {
|
|
26
|
-
"asset": "stackbite-0.5.
|
|
27
|
-
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.
|
|
28
|
-
"sha256": "
|
|
29
|
-
"size":
|
|
30
|
-
"root": "stackbite-0.5.
|
|
31
|
-
"manifestSha256": "
|
|
32
|
-
"metadataSha256": "
|
|
26
|
+
"asset": "stackbite-0.5.110-macos-arm64-f3b1714a66f7.tar.gz",
|
|
27
|
+
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.110/stackbite-0.5.110-macos-arm64-f3b1714a66f7.tar.gz",
|
|
28
|
+
"sha256": "41707d599a76bb8d4c4e1535159cd7e216a1cfe10efd26efe80d9b514741e5a3",
|
|
29
|
+
"size": 58347678,
|
|
30
|
+
"root": "stackbite-0.5.110-macos-arm64-f3b1714a66f7",
|
|
31
|
+
"manifestSha256": "f11d9c9fffedce37ce9c80747dffb9e17fc0479d5732dc9f7109ed44c28dcb8d",
|
|
32
|
+
"metadataSha256": "d490f8b844711b0f7b3eed5b65bff45d63b20acdb692a36799fcec576c615005"
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
}
|