scordi-extension 1.15.2 → 1.15.5

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
@@ -108,7 +108,7 @@ const complexWorkflow = {
108
108
  id: 'readStatus',
109
109
  block: { name: 'get-text', selector: '.status', findBy: 'cssSelector', useTextContent: true, option: {} },
110
110
  switch: [
111
- { when: { equals: { left: "$.steps.readStatus.result.data", right: 'OK' } }, next: 'go' }
111
+ { when: { equals: { left: "steps.readStatus.result.data", right: 'OK' } }, next: 'go' }
112
112
  ],
113
113
  next: 'retry'
114
114
  },
@@ -204,8 +204,11 @@ Webpage(JS) ─ SDK(EightGClient)
204
204
  - `scroll`: 페이지 스크롤(toElement, toBottom, byDistance, untilLoaded)
205
205
  - `keypress`: 키보드 입력 시뮬레이션(Escape, Enter 등, modifier 키 지원)
206
206
  - `wait`: 지정 시간 대기(ms)
207
+ - `wait-for-condition`: 조건 대기(URL 패턴, 요소 존재, 쿠키, 스토리지, 사용자 확인)
208
+ - `navigate`: URL 이동(페이지 로드 대기 옵션)
207
209
  - `fetch-api`: 외부 API 호출(GET, POST 등, CORS 제약 없음)
208
210
  - `ai-parse-data`: AI 기반 데이터 파싱(OpenAI, 스키마 정의 필요)
211
+ - `data-extract`: 데이터 추출/변환(JSONata 쿼리 지원)
209
212
 
210
213
  ### SDK 상세(브라우저에서 사용)
211
214
  - `EightGClient.checkExtension()`
@@ -217,6 +220,11 @@ Webpage(JS) ─ SDK(EightGClient)
217
220
  - 각 스텝: `{ id, block?, when?, switch?, next?, onSuccess?, onFailure?, retry?, timeoutMs?, delayAfterMs?, setVars? }`
218
221
  - 반환: `{ success, steps, error?, timestamp, targetUrl }` (스텝별 성공/실패/메시지/시각/재시도 횟수 포함)
219
222
  - 타임아웃: 기본 60초
223
+ - **Workspace 관련 메서드** (워크플로우 기반):
224
+ - `getWorkspaces()`: 워크스페이스 목록 조회
225
+ - `getWorkspacePlanAndCycle()`: 워크스페이스 플랜 및 결제 주기 조회
226
+ - `getWorkspaceBillingHistories()`: 결제 내역 조회
227
+ - `getWorkspaceMembers()`: 워크스페이스 구성원 조회
220
228
 
221
229
  ### 주요 내부 모듈과 연결 관계
222
230
  - `src/content/kernel/MessageKernel.ts`: Background 통신, 블록 실행(락 관리 포함), 런타임 메시지 처리
@@ -1,4 +1,4 @@
1
- import { CollectWorkflowRequest, CollectWorkflowResult } from './types';
1
+ import { CollectWorkflowRequest, CollectWorkflowResult, CurrencyCode } from './types';
2
2
  import { ExtensionResponseMessage } from '@/types/external-messages';
3
3
  import { z } from 'zod';
4
4
  export declare const WorkspaceItemSchema: z.ZodObject<{
@@ -23,26 +23,39 @@ export declare enum BillingCycleTerm {
23
23
  monthly = "MONTHLY",
24
24
  yearly = "YEARLY"
25
25
  }
26
- export declare const CurrencySchema: z.ZodObject<{
27
- text: z.ZodString;
28
- code: z.ZodString;
26
+ /**
27
+ * CurrencyAmount 타입을 위한 Zod 스키마
28
+ * types.ts의 CurrencyAmount와 동일한 구조
29
+ */
30
+ export declare const CurrencyAmountSchema: z.ZodObject<{
31
+ code: z.ZodNativeEnum<typeof CurrencyCode>;
29
32
  symbol: z.ZodString;
33
+ local: z.ZodOptional<z.ZodString>;
34
+ abbreviation: z.ZodOptional<z.ZodString>;
30
35
  format: z.ZodString;
36
+ desc: z.ZodString;
31
37
  amount: z.ZodNumber;
38
+ text: z.ZodOptional<z.ZodString>;
32
39
  }, "strip", z.ZodTypeAny, {
33
40
  symbol: string;
34
- code: string;
35
- text: string;
41
+ code: CurrencyCode;
42
+ desc: string;
36
43
  format: string;
37
44
  amount: number;
45
+ text?: string | undefined;
46
+ local?: string | undefined;
47
+ abbreviation?: string | undefined;
38
48
  }, {
39
49
  symbol: string;
40
- code: string;
41
- text: string;
50
+ code: CurrencyCode;
51
+ desc: string;
42
52
  format: string;
43
53
  amount: number;
54
+ text?: string | undefined;
55
+ local?: string | undefined;
56
+ abbreviation?: string | undefined;
44
57
  }>;
45
- export type CurrencyDto = z.infer<typeof CurrencySchema>;
58
+ export type CurrencyDto = z.infer<typeof CurrencyAmountSchema>;
46
59
  export type CurrencyCodes = ValuesOf<typeof CurrencyValues>['code'];
47
60
  export type CurrencySymbols = ValuesOf<typeof CurrencyValues>['symbol'];
48
61
  export type CurrencyFormats = '%u%n';
@@ -64,23 +77,32 @@ export declare const CurrencyValues: {
64
77
  export declare const WorkspaceBillingSchema: z.ZodObject<{
65
78
  planName: z.ZodString;
66
79
  currentCycleBillAmount: z.ZodObject<{
67
- text: z.ZodString;
68
- code: z.ZodString;
80
+ code: z.ZodNativeEnum<typeof CurrencyCode>;
69
81
  symbol: z.ZodString;
82
+ local: z.ZodOptional<z.ZodString>;
83
+ abbreviation: z.ZodOptional<z.ZodString>;
70
84
  format: z.ZodString;
85
+ desc: z.ZodString;
71
86
  amount: z.ZodNumber;
87
+ text: z.ZodOptional<z.ZodString>;
72
88
  }, "strip", z.ZodTypeAny, {
73
89
  symbol: string;
74
- code: string;
75
- text: string;
90
+ code: CurrencyCode;
91
+ desc: string;
76
92
  format: string;
77
93
  amount: number;
94
+ text?: string | undefined;
95
+ local?: string | undefined;
96
+ abbreviation?: string | undefined;
78
97
  }, {
79
98
  symbol: string;
80
- code: string;
81
- text: string;
99
+ code: CurrencyCode;
100
+ desc: string;
82
101
  format: string;
83
102
  amount: number;
103
+ text?: string | undefined;
104
+ local?: string | undefined;
105
+ abbreviation?: string | undefined;
84
106
  }>;
85
107
  nextPaymentDue: z.ZodString;
86
108
  cycleTerm: z.ZodNullable<z.ZodNativeEnum<typeof BillingCycleTerm>>;
@@ -89,32 +111,44 @@ export declare const WorkspaceBillingSchema: z.ZodObject<{
89
111
  paidMemberCount: z.ZodNumber;
90
112
  usedMemberCount: z.ZodNumber;
91
113
  unitPrice: z.ZodNullable<z.ZodObject<{
92
- text: z.ZodString;
93
- code: z.ZodString;
114
+ code: z.ZodNativeEnum<typeof CurrencyCode>;
94
115
  symbol: z.ZodString;
116
+ local: z.ZodOptional<z.ZodString>;
117
+ abbreviation: z.ZodOptional<z.ZodString>;
95
118
  format: z.ZodString;
119
+ desc: z.ZodString;
96
120
  amount: z.ZodNumber;
121
+ text: z.ZodOptional<z.ZodString>;
97
122
  }, "strip", z.ZodTypeAny, {
98
123
  symbol: string;
99
- code: string;
100
- text: string;
124
+ code: CurrencyCode;
125
+ desc: string;
101
126
  format: string;
102
127
  amount: number;
128
+ text?: string | undefined;
129
+ local?: string | undefined;
130
+ abbreviation?: string | undefined;
103
131
  }, {
104
132
  symbol: string;
105
- code: string;
106
- text: string;
133
+ code: CurrencyCode;
134
+ desc: string;
107
135
  format: string;
108
136
  amount: number;
137
+ text?: string | undefined;
138
+ local?: string | undefined;
139
+ abbreviation?: string | undefined;
109
140
  }>>;
110
141
  }, "strip", z.ZodTypeAny, {
111
142
  planName: string;
112
143
  currentCycleBillAmount: {
113
144
  symbol: string;
114
- code: string;
115
- text: string;
145
+ code: CurrencyCode;
146
+ desc: string;
116
147
  format: string;
117
148
  amount: number;
149
+ text?: string | undefined;
150
+ local?: string | undefined;
151
+ abbreviation?: string | undefined;
118
152
  };
119
153
  nextPaymentDue: string;
120
154
  cycleTerm: BillingCycleTerm | null;
@@ -124,19 +158,25 @@ export declare const WorkspaceBillingSchema: z.ZodObject<{
124
158
  usedMemberCount: number;
125
159
  unitPrice: {
126
160
  symbol: string;
127
- code: string;
128
- text: string;
161
+ code: CurrencyCode;
162
+ desc: string;
129
163
  format: string;
130
164
  amount: number;
165
+ text?: string | undefined;
166
+ local?: string | undefined;
167
+ abbreviation?: string | undefined;
131
168
  } | null;
132
169
  }, {
133
170
  planName: string;
134
171
  currentCycleBillAmount: {
135
172
  symbol: string;
136
- code: string;
137
- text: string;
173
+ code: CurrencyCode;
174
+ desc: string;
138
175
  format: string;
139
176
  amount: number;
177
+ text?: string | undefined;
178
+ local?: string | undefined;
179
+ abbreviation?: string | undefined;
140
180
  };
141
181
  nextPaymentDue: string;
142
182
  cycleTerm: BillingCycleTerm | null;
@@ -146,10 +186,13 @@ export declare const WorkspaceBillingSchema: z.ZodObject<{
146
186
  usedMemberCount: number;
147
187
  unitPrice: {
148
188
  symbol: string;
149
- code: string;
150
- text: string;
189
+ code: CurrencyCode;
190
+ desc: string;
151
191
  format: string;
152
192
  amount: number;
193
+ text?: string | undefined;
194
+ local?: string | undefined;
195
+ abbreviation?: string | undefined;
153
196
  } | null;
154
197
  }>;
155
198
  export type WorkspaceBillingDto = z.infer<typeof WorkspaceBillingSchema> & {};
@@ -159,33 +202,45 @@ export declare const WorkspaceBillingHistorySchema: z.ZodObject<{
159
202
  paidDate: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
160
203
  paymentMethod: z.ZodString;
161
204
  amount: z.ZodObject<{
162
- text: z.ZodString;
163
- code: z.ZodString;
205
+ code: z.ZodNativeEnum<typeof CurrencyCode>;
164
206
  symbol: z.ZodString;
207
+ local: z.ZodOptional<z.ZodString>;
208
+ abbreviation: z.ZodOptional<z.ZodString>;
165
209
  format: z.ZodString;
210
+ desc: z.ZodString;
166
211
  amount: z.ZodNumber;
212
+ text: z.ZodOptional<z.ZodString>;
167
213
  }, "strip", z.ZodTypeAny, {
168
214
  symbol: string;
169
- code: string;
170
- text: string;
215
+ code: CurrencyCode;
216
+ desc: string;
171
217
  format: string;
172
218
  amount: number;
219
+ text?: string | undefined;
220
+ local?: string | undefined;
221
+ abbreviation?: string | undefined;
173
222
  }, {
174
223
  symbol: string;
175
- code: string;
176
- text: string;
224
+ code: CurrencyCode;
225
+ desc: string;
177
226
  format: string;
178
227
  amount: number;
228
+ text?: string | undefined;
229
+ local?: string | undefined;
230
+ abbreviation?: string | undefined;
179
231
  }>;
180
232
  isSuccessfulPaid: z.ZodBoolean;
181
233
  receiptUrl: z.ZodString;
182
234
  }, "strip", z.ZodTypeAny, {
183
235
  amount: {
184
236
  symbol: string;
185
- code: string;
186
- text: string;
237
+ code: CurrencyCode;
238
+ desc: string;
187
239
  format: string;
188
240
  amount: number;
241
+ text?: string | undefined;
242
+ local?: string | undefined;
243
+ abbreviation?: string | undefined;
189
244
  };
190
245
  uid: string;
191
246
  issuedDate: Date;
@@ -196,10 +251,13 @@ export declare const WorkspaceBillingHistorySchema: z.ZodObject<{
196
251
  }, {
197
252
  amount: {
198
253
  symbol: string;
199
- code: string;
200
- text: string;
254
+ code: CurrencyCode;
255
+ desc: string;
201
256
  format: string;
202
257
  amount: number;
258
+ text?: string | undefined;
259
+ local?: string | undefined;
260
+ abbreviation?: string | undefined;
203
261
  };
204
262
  uid: string;
205
263
  issuedDate: Date;
@@ -240,21 +298,13 @@ export declare class EightGClient {
240
298
  * 워크플로우 실행 요청
241
299
  */
242
300
  collectWorkflow(request: CollectWorkflowRequest): Promise<CollectWorkflowResult>;
243
- getWorkspaces(request: CollectWorkflowRequest): Promise<ConnectWorkspaceResponseDto & {
244
- rawData: CollectWorkflowResult;
245
- }>;
246
- getWorkspacePlanAndCycle(request: CollectWorkflowRequest): Promise<WorkspaceBillingDto & {
247
- rawData: CollectWorkflowResult;
248
- } | {
249
- rawData: CollectWorkflowResult;
250
- }>;
251
- getWorkspaceBillingHistories(request: CollectWorkflowRequest): Promise<{
301
+ getWorkspaces(request: CollectWorkflowRequest): Promise<ConnectWorkspaceResponseDto & CollectWorkflowResult>;
302
+ getWorkspacePlanAndCycle(workspaceKey: string, request: CollectWorkflowRequest): Promise<WorkspaceBillingDto & CollectWorkflowResult | CollectWorkflowResult>;
303
+ getWorkspaceBillingHistories(workspaceKey: string, request: CollectWorkflowRequest): Promise<{
252
304
  data: WorkspaceBillingHistoryDto[];
253
- rawData: CollectWorkflowResult;
254
- }>;
255
- getWorkspaceMembers(request: CollectWorkflowRequest): Promise<{
305
+ } & CollectWorkflowResult>;
306
+ getWorkspaceMembers(workspaceKey: string, request: CollectWorkflowRequest): Promise<{
256
307
  data: WorkspaceMemberDto[];
257
- rawData: CollectWorkflowResult;
258
- }>;
308
+ } & CollectWorkflowResult>;
259
309
  }
260
310
  //# sourceMappingURL=EightGClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EightGClient.d.ts","sourceRoot":"","sources":["../../src/sdk/EightGClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAA8B,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEnE,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;AACxE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,MAAM,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAE3C,oBAAY,QAAQ;IAClB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,cAAc;;;;;;;;;CAGjB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUjC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,GAAG,EAC1E,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQxC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEvF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE;;;GAGG;AACH,qBAAa,YAAY;;IAGvB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAmBzD;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyChF,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,2BAA2B,GAAG;QAAE,OAAO,EAAE,qBAAqB,CAAA;KAAE,CAAC;IAmCzH,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,GAAG;QAAE,OAAO,EAAE,qBAAqB,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,qBAAqB,CAAA;KAAE,CAAC;IAsBjK,4BAA4B,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;QAAC,OAAO,EAAE,qBAAqB,CAAA;KAAE,CAAC;IA0B9I,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAAC,OAAO,EAAE,qBAAqB,CAAA;KAAE,CAAC;CAwBpI"}
1
+ {"version":3,"file":"EightGClient.d.ts","sourceRoot":"","sources":["../../src/sdk/EightGClient.ts"],"names":[],"mappings":"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"}