@abto-app/event 0.1.0 → 0.1.2

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
@@ -52,8 +52,8 @@ export const events = defineEvents({
52
52
  description: '결제가 완료됨',
53
53
  properties: {
54
54
  order_id: { type: 'string', required: true },
55
- amount: { type: 'number', required: true },
56
- currency: {
55
+ value: { type: 'number', required: true },
56
+ scale: {
57
57
  type: 'string',
58
58
  enum: ['KRW', 'USD'],
59
59
  required: true,
@@ -75,11 +75,15 @@ const abto = initAbto({
75
75
 
76
76
  abto.capture('checkout_completed', {
77
77
  order_id: 'order_123',
78
- amount: 49_000,
79
- currency: 'KRW',
78
+ value: 49_000,
79
+ scale: 'KRW',
80
80
  });
81
81
  ```
82
82
 
83
+ `value`와 `scale`은 Success Metric이 읽는 metric 필드로 승격되는 예약 이름이다.
84
+ 금액이나 개수처럼 집계할 수치는 이 두 이름으로 실어야 하며,
85
+ 다른 이름의 property는 `extra_json`에만 남아 전환 건수로만 쓰인다.
86
+
83
87
  `defineEvents()`에서 타입을 추론하므로 잘못된 이벤트 이름, required 누락, enum 위반을 개발 시점에 확인할 수 있다. 런타임 정책은 환경별로 다르다.
84
88
 
85
89
  | 환경 | 미등록 이벤트 | 등록 schema drift |
@@ -146,7 +150,7 @@ const abto = initAbto({
146
150
  커스텀 `event_name`은 Backend와 같은 UTF-16 기준 최대 200자이며, `defineEvents()`와 runtime capture가 enqueue 전에 검증한다.
147
151
  metric `scale`은 최대 16자이며, 초과한 값은 event 전체가 drop되지 않도록 top-level metadata에서 제외한다.
148
152
 
149
- SDK 내부 queue와 API에서는 `$` 이름을 유지하지만, Analytics의 고정 Biz Event 계약은 `$` 접두
153
+ SDK 내부 queue와 API에서는 `$` 이름을 유지하지만, Analytics의 고정 Event 계약은 `$` 접두
150
154
  `event_name`을 거절한다. Transport가 위 표의 canonical 이름으로만 변환해 전송하며 `$lib`,
151
155
  `$device_id`, `$session_id` 같은 SDK 소유 context는 `extra_json`에 그대로 보존한다.
152
156
  Dashboard 이벤트 카탈로그와 Success Metric에서는 canonical wire 이름을 사용한다.
package/dist/privacy.js CHANGED
@@ -77,7 +77,7 @@ export async function saltedHash(text, salt = '') {
77
77
  */
78
78
  const CODE_HINT = /(function\s|=>|;\n|\{\n|import\s|class\s|def\s|<\/?[a-z]+>)/;
79
79
  const PII_PATTERN = String.raw `(\b\d{3}-\d{2}-\d{4}\b|\b\d{16}\b|[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,})`;
80
- const SECRET_PATTERN = String.raw `(sk-[A-Za-z0-9]{16,}|AKIA[0-9A-Z]{16}|-----BEGIN [A-Z ]+KEY-----)`;
80
+ const SECRET_PATTERN = String.raw `(ck-abto-[A-Za-z0-9]{16,}|sk-[A-Za-z0-9]{16,}|AKIA[0-9A-Z]{16}|-----BEGIN [A-Z ]+KEY-----)`;
81
81
  const PII_HINT = new RegExp(PII_PATTERN);
82
82
  const SECRET_HINT = new RegExp(SECRET_PATTERN);
83
83
  const PII_REDACTION = new RegExp(PII_PATTERN, 'g');
@@ -1 +1 @@
1
- {"version":3,"file":"privacy.js","sourceRoot":"","sources":["../src/privacy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"privacy.js","sourceRoot":"","sources":["../src/privacy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abto-app/event",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "ABTO Browser SDK — autocapture, typed custom events, identity, sessions, and AI trace correlation.",
5
5
  "type": "module",
6
6
  "license": "MIT",