connectbase-client 3.12.0 → 3.13.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.
- package/CHANGELOG.md +44 -0
- package/README.md +31 -16
- package/dist/index.d.mts +4 -7
- package/dist/index.d.ts +4 -7
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,50 @@
|
|
|
3
3
|
본 SDK 의 모든 주요 변경사항을 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/) 형식으로 기록합니다.
|
|
4
4
|
버전은 [Semantic Versioning](https://semver.org/lang/ko/) 을 따릅니다.
|
|
5
5
|
|
|
6
|
+
## [3.13.1] - 2026-05-13
|
|
7
|
+
|
|
8
|
+
### Documentation — README batch/transaction 예제 타입 회귀 수정
|
|
9
|
+
|
|
10
|
+
README 의 `cb.database.batch()` / `cb.database.transaction()` 예제가 구 시그니처
|
|
11
|
+
(`table: 'string'`) 를 사용해 `tsc --noEmit` 에서 `TS2353` 발생하던 문제 수정.
|
|
12
|
+
|
|
13
|
+
- `table:` → `table_id:` (UUID, 실제 `BatchOperation` 타입과 일치)
|
|
14
|
+
- 3.12+ 의 `success:false` throw 동작 반영 — try/catch 패턴 명시
|
|
15
|
+
|
|
16
|
+
코드 변경은 없음. README 만 갱신.
|
|
17
|
+
|
|
18
|
+
## [3.13.0] - 2026-05-13
|
|
19
|
+
|
|
20
|
+
### Removed — `PlatformIssueDetail.triage_summary` / `triaged_at` 필드
|
|
21
|
+
|
|
22
|
+
ConnectBase 가 Platform Issue 의 AI 자동 분류 (triage) 기능을 통째 제거함에 따라
|
|
23
|
+
SDK 의 응답 타입에서도 다음 필드를 제거.
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
// 이전 (3.12 이하)
|
|
27
|
+
interface PlatformIssueDetail {
|
|
28
|
+
triage_summary?: string // ← 제거
|
|
29
|
+
triaged_at?: string // ← 제거
|
|
30
|
+
// ...
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// 3.13+ — AI 요약 필드 없음. status / resolution_note / external_links 로 진행 확인.
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
`status='triaged'` enum 값은 운영자 수동 분류 의미로 유지된다 (코드 변경 불필요).
|
|
37
|
+
|
|
38
|
+
### Behavior change — `cb.support.reportPlatformBug` 의 category/severity 자동 보정 없음
|
|
39
|
+
|
|
40
|
+
이전: AI triage 가 발행 직후 비동기로 category / severity 를 보정.
|
|
41
|
+
3.13+: 운영자가 admin 콘솔에서 수동 조정. SDK 발행자가 지정한 값이 그대로 유지된다.
|
|
42
|
+
|
|
43
|
+
### Backend wiring (참고)
|
|
44
|
+
|
|
45
|
+
- `backend/cmd/core-server/app/worker/platform_issue_triage/` 워커 전체 제거
|
|
46
|
+
- `ent` 컬럼 6개 (`triage_summary`/`triage_keywords`/`triage_similar_issue_ids`/`body_embedding`/`triaged_at`/`triage_skip_reason`) 드롭
|
|
47
|
+
- `POST /v1/admin/platform-issues/:id/retriage` + `/bulk-retriage` endpoint 제거
|
|
48
|
+
- MCP `admin_retriage_platform_issue` 도구 제거
|
|
49
|
+
|
|
6
50
|
## [3.12.0] - 2026-05-13
|
|
7
51
|
|
|
8
52
|
### Fixed — `cb.database.batch()` / `cb.database.transaction()` silent success 회귀 (platform-issue 019e1c9c)
|
package/README.md
CHANGED
|
@@ -587,26 +587,41 @@ nearby.results.forEach(place => {
|
|
|
587
587
|
|
|
588
588
|
#### Batch & Transactions
|
|
589
589
|
|
|
590
|
+
`table_id` 는 항상 UUID. 콘솔/REST 로 생성한 테이블의 UUID 를 그대로 사용한다.
|
|
591
|
+
|
|
592
|
+
v3.12+ 부터 server 가 부분 실패(`success: false`)를 응답하면 SDK 가 첫 실패 op 의
|
|
593
|
+
error 메시지로 throw 한다 — silent success 회귀 방지 차원. 호출자는 try/catch 로 감싼다.
|
|
594
|
+
|
|
590
595
|
```typescript
|
|
591
596
|
// Batch: atomic multi-table operations
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
597
|
+
try {
|
|
598
|
+
const result = await cb.database.batch([
|
|
599
|
+
{ type: 'create', table_id: ORDERS_TABLE_ID, data: { product: 'A', qty: 1 } },
|
|
600
|
+
{ type: 'update', table_id: INVENTORY_TABLE_ID, doc_id: 'item-a', operators: {
|
|
601
|
+
qty: { type: 'increment', value: -1 }
|
|
602
|
+
}},
|
|
603
|
+
{ type: 'update', table_id: STATS_TABLE_ID, doc_id: 'daily', operators: {
|
|
604
|
+
order_count: { type: 'increment', value: 1 },
|
|
605
|
+
last_order: { type: 'serverTimestamp' }
|
|
606
|
+
}}
|
|
607
|
+
])
|
|
608
|
+
// result.success, result.results[i].{success, doc_id, error}
|
|
609
|
+
} catch (e) {
|
|
610
|
+
// RLS 거부 / 검증 실패 / table_id 오타 등 — 전체 batch 가 atomic 하게 롤백
|
|
611
|
+
console.error('batch failed:', (e as Error).message)
|
|
612
|
+
}
|
|
602
613
|
|
|
603
614
|
// Transaction: read-then-write with ACID guarantees
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
615
|
+
try {
|
|
616
|
+
await cb.database.transaction(
|
|
617
|
+
[{ table_id: ACCOUNTS_TABLE_ID, doc_id: 'user-1', alias: 'sender' }],
|
|
618
|
+
[{ type: 'update', table_id: ACCOUNTS_TABLE_ID, doc_id: 'user-1', operators: {
|
|
619
|
+
balance: { type: 'increment', value: -100 }
|
|
620
|
+
}}]
|
|
621
|
+
)
|
|
622
|
+
} catch (e) {
|
|
623
|
+
console.error('transaction failed:', (e as Error).message)
|
|
624
|
+
}
|
|
610
625
|
```
|
|
611
626
|
|
|
612
627
|
#### Populate (Relation Query / JOIN)
|
package/dist/index.d.mts
CHANGED
|
@@ -7546,7 +7546,7 @@ declare class SupportAPI {
|
|
|
7546
7546
|
* 본인이 발행한 platform issue 의 처리 진행 상황을 단건 조회.
|
|
7547
7547
|
*
|
|
7548
7548
|
* AI 가 "내가 발행한 이슈 처리됐어?" 를 폴링하는 표준 경로. status / resolution_note /
|
|
7549
|
-
*
|
|
7549
|
+
* external_links 로 ConnectBase 운영팀의 처리 상태를 확인.
|
|
7550
7550
|
*
|
|
7551
7551
|
* @throws ApiError 404 — 본인 issue 가 아니거나 존재하지 않음
|
|
7552
7552
|
*/
|
|
@@ -7572,9 +7572,9 @@ interface ReportPlatformBugRequest {
|
|
|
7572
7572
|
title: string;
|
|
7573
7573
|
/** 본문 (≤16KB, markdown) */
|
|
7574
7574
|
body: string;
|
|
7575
|
-
/** 카테고리. 기본 `other`.
|
|
7575
|
+
/** 카테고리. 기본 `other`. 운영자가 admin 콘솔에서 조정 가능. */
|
|
7576
7576
|
category?: PlatformIssueCategory;
|
|
7577
|
-
/** 긴급도. 기본 `medium`.
|
|
7577
|
+
/** 긴급도. 기본 `medium`. 운영자가 admin 콘솔에서 조정 가능. */
|
|
7578
7578
|
severity?: PlatformIssueSeverity;
|
|
7579
7579
|
/** AppMember 가 없는 경우 회신용 이메일. */
|
|
7580
7580
|
reporterEmail?: string;
|
|
@@ -7618,12 +7618,11 @@ interface ReportPlatformBugResponse {
|
|
|
7618
7618
|
/**
|
|
7619
7619
|
* Platform issue 의 처리 진행 상황 (reporter 시점).
|
|
7620
7620
|
*
|
|
7621
|
-
* admin-only 필드(`assignee_user_id
|
|
7621
|
+
* admin-only 필드(`assignee_user_id` 등) 는 server 가 redact.
|
|
7622
7622
|
*
|
|
7623
7623
|
* 주요 필드:
|
|
7624
7624
|
* - `status` : `open` → `triaged` → `in_progress` → `resolved` | `wontfix` | `duplicate`
|
|
7625
7625
|
* - `resolution_note` : 단말 상태 진입 시 ConnectBase 운영팀이 작성한 처리 결과 (markdown)
|
|
7626
|
-
* - `triage_summary` : AI triage 가 작성한 1줄 요약
|
|
7627
7626
|
* - `external_links` : 운영팀이 연결한 GitHub PR / Linear ticket 등
|
|
7628
7627
|
* - `resolved_at` : `resolved`/`wontfix` 진입 시각 (해결됐는지 빠른 검사용)
|
|
7629
7628
|
*/
|
|
@@ -7639,8 +7638,6 @@ interface PlatformIssueDetail {
|
|
|
7639
7638
|
sdk_version?: string;
|
|
7640
7639
|
sdk_platform?: 'web' | 'node' | 'unity' | 'godot' | 'unreal' | 'cli' | 'mcp' | 'other';
|
|
7641
7640
|
environment?: 'production' | 'staging' | 'development' | 'unknown';
|
|
7642
|
-
triage_summary?: string;
|
|
7643
|
-
triaged_at?: string;
|
|
7644
7641
|
external_links?: Array<{
|
|
7645
7642
|
kind: string;
|
|
7646
7643
|
url: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -7546,7 +7546,7 @@ declare class SupportAPI {
|
|
|
7546
7546
|
* 본인이 발행한 platform issue 의 처리 진행 상황을 단건 조회.
|
|
7547
7547
|
*
|
|
7548
7548
|
* AI 가 "내가 발행한 이슈 처리됐어?" 를 폴링하는 표준 경로. status / resolution_note /
|
|
7549
|
-
*
|
|
7549
|
+
* external_links 로 ConnectBase 운영팀의 처리 상태를 확인.
|
|
7550
7550
|
*
|
|
7551
7551
|
* @throws ApiError 404 — 본인 issue 가 아니거나 존재하지 않음
|
|
7552
7552
|
*/
|
|
@@ -7572,9 +7572,9 @@ interface ReportPlatformBugRequest {
|
|
|
7572
7572
|
title: string;
|
|
7573
7573
|
/** 본문 (≤16KB, markdown) */
|
|
7574
7574
|
body: string;
|
|
7575
|
-
/** 카테고리. 기본 `other`.
|
|
7575
|
+
/** 카테고리. 기본 `other`. 운영자가 admin 콘솔에서 조정 가능. */
|
|
7576
7576
|
category?: PlatformIssueCategory;
|
|
7577
|
-
/** 긴급도. 기본 `medium`.
|
|
7577
|
+
/** 긴급도. 기본 `medium`. 운영자가 admin 콘솔에서 조정 가능. */
|
|
7578
7578
|
severity?: PlatformIssueSeverity;
|
|
7579
7579
|
/** AppMember 가 없는 경우 회신용 이메일. */
|
|
7580
7580
|
reporterEmail?: string;
|
|
@@ -7618,12 +7618,11 @@ interface ReportPlatformBugResponse {
|
|
|
7618
7618
|
/**
|
|
7619
7619
|
* Platform issue 의 처리 진행 상황 (reporter 시점).
|
|
7620
7620
|
*
|
|
7621
|
-
* admin-only 필드(`assignee_user_id
|
|
7621
|
+
* admin-only 필드(`assignee_user_id` 등) 는 server 가 redact.
|
|
7622
7622
|
*
|
|
7623
7623
|
* 주요 필드:
|
|
7624
7624
|
* - `status` : `open` → `triaged` → `in_progress` → `resolved` | `wontfix` | `duplicate`
|
|
7625
7625
|
* - `resolution_note` : 단말 상태 진입 시 ConnectBase 운영팀이 작성한 처리 결과 (markdown)
|
|
7626
|
-
* - `triage_summary` : AI triage 가 작성한 1줄 요약
|
|
7627
7626
|
* - `external_links` : 운영팀이 연결한 GitHub PR / Linear ticket 등
|
|
7628
7627
|
* - `resolved_at` : `resolved`/`wontfix` 진입 시각 (해결됐는지 빠른 검사용)
|
|
7629
7628
|
*/
|
|
@@ -7639,8 +7638,6 @@ interface PlatformIssueDetail {
|
|
|
7639
7638
|
sdk_version?: string;
|
|
7640
7639
|
sdk_platform?: 'web' | 'node' | 'unity' | 'godot' | 'unreal' | 'cli' | 'mcp' | 'other';
|
|
7641
7640
|
environment?: 'production' | 'staging' | 'development' | 'unknown';
|
|
7642
|
-
triage_summary?: string;
|
|
7643
|
-
triaged_at?: string;
|
|
7644
7641
|
external_links?: Array<{
|
|
7645
7642
|
kind: string;
|
|
7646
7643
|
url: string;
|
package/dist/index.js
CHANGED
|
@@ -9284,7 +9284,7 @@ var SupportAPI = class {
|
|
|
9284
9284
|
* 본인이 발행한 platform issue 의 처리 진행 상황을 단건 조회.
|
|
9285
9285
|
*
|
|
9286
9286
|
* AI 가 "내가 발행한 이슈 처리됐어?" 를 폴링하는 표준 경로. status / resolution_note /
|
|
9287
|
-
*
|
|
9287
|
+
* external_links 로 ConnectBase 운영팀의 처리 상태를 확인.
|
|
9288
9288
|
*
|
|
9289
9289
|
* @throws ApiError 404 — 본인 issue 가 아니거나 존재하지 않음
|
|
9290
9290
|
*/
|
package/dist/index.mjs
CHANGED
|
@@ -9242,7 +9242,7 @@ var SupportAPI = class {
|
|
|
9242
9242
|
* 본인이 발행한 platform issue 의 처리 진행 상황을 단건 조회.
|
|
9243
9243
|
*
|
|
9244
9244
|
* AI 가 "내가 발행한 이슈 처리됐어?" 를 폴링하는 표준 경로. status / resolution_note /
|
|
9245
|
-
*
|
|
9245
|
+
* external_links 로 ConnectBase 운영팀의 처리 상태를 확인.
|
|
9246
9246
|
*
|
|
9247
9247
|
* @throws ApiError 404 — 본인 issue 가 아니거나 존재하지 않음
|
|
9248
9248
|
*/
|