@appspro-dev/sdk-js 0.1.3 → 0.1.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 +8 -8
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +37 -11
- package/dist/client.js.map +1 -1
- package/dist/types.d.ts +9 -11
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,14 +39,14 @@ analytics.identify('user_42', {
|
|
|
39
39
|
|
|
40
40
|
## Configuration
|
|
41
41
|
|
|
42
|
-
| Option | Type | Default
|
|
43
|
-
| --------------- | -------- |
|
|
44
|
-
| `apiKey` | `string` | **(required)**
|
|
45
|
-
| `endpoint` | `string` | `https://
|
|
46
|
-
| `flushInterval` | `number` | `10000`
|
|
47
|
-
| `flushSize` | `number` | `20`
|
|
48
|
-
| `maxRetries` | `number` | `3`
|
|
49
|
-
| `workspaceId` | `string` | Extracted from `apiKey` prefix
|
|
42
|
+
| Option | Type | Default | Description |
|
|
43
|
+
| --------------- | -------- | ---------------------------------------- | --------------------------------------------- |
|
|
44
|
+
| `apiKey` | `string` | **(required)** | Your AppsPro API key |
|
|
45
|
+
| `endpoint` | `string` | `https://collector.appspro.credpal.co` | Collector endpoint URL |
|
|
46
|
+
| `flushInterval` | `number` | `10000` | Auto-flush interval in milliseconds |
|
|
47
|
+
| `flushSize` | `number` | `20` | Number of queued events that triggers a flush |
|
|
48
|
+
| `maxRetries` | `number` | `3` | Max retry attempts on network failure |
|
|
49
|
+
| `workspaceId` | `string` | Extracted from `apiKey` prefix | Override the workspace ID |
|
|
50
50
|
|
|
51
51
|
```typescript
|
|
52
52
|
const analytics = new AppsPro({
|
package/dist/client.d.ts
CHANGED
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,YAAY,CAAC;AAa3F;;;;;;;;;;;;;GAaG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IAEnC;;;;OAIG;gBACS,MAAM,EAAE,aAAa;IAwBjC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKhE;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAgBhE;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAa/D;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IASb,0CAA0C;IAC1C,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,YAAY,CAAC;AAa3F;;;;;;;;;;;;;GAaG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IAEnC;;;;OAIG;gBACS,MAAM,EAAE,aAAa;IAwBjC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKhE;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAgBhE;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAa/D;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IASb,0CAA0C;IAC1C,OAAO,CAAC,UAAU;IAiBlB,+CAA+C;IAC/C,OAAO,CAAC,UAAU;IAIlB,gEAAgE;YAClD,YAAY;IA2B1B,IAAI,MAAA;CAAA"}
|
package/dist/client.js
CHANGED
|
@@ -6,7 +6,7 @@ import { captureContext } from './context.js';
|
|
|
6
6
|
import { generateUUID, extractWorkspaceId, retryWithBackoff } from './utils.js';
|
|
7
7
|
/** Default configuration values. */
|
|
8
8
|
const DEFAULTS = {
|
|
9
|
-
endpoint: 'https://
|
|
9
|
+
endpoint: 'https://collector.appspro.credpal.co',
|
|
10
10
|
flushInterval: 10000,
|
|
11
11
|
flushSize: 20,
|
|
12
12
|
maxRetries: 3,
|
|
@@ -36,7 +36,7 @@ export class AppsPro {
|
|
|
36
36
|
throw new Error('AppsPro: apiKey is required');
|
|
37
37
|
}
|
|
38
38
|
this.apiKey = config.apiKey;
|
|
39
|
-
this.endpoint =
|
|
39
|
+
this.endpoint = DEFAULTS.endpoint;
|
|
40
40
|
this.maxRetries = config.maxRetries ?? DEFAULTS.maxRetries;
|
|
41
41
|
this.workspaceId = config.workspaceId ?? extractWorkspaceId(config.apiKey);
|
|
42
42
|
this.anonymousId = generateUUID();
|
|
@@ -168,19 +168,17 @@ export class AppsPro {
|
|
|
168
168
|
/** Build a {@link TrackEvent} payload. */
|
|
169
169
|
buildEvent(event, properties) {
|
|
170
170
|
const payload = {
|
|
171
|
+
workspace_id: this.workspaceId,
|
|
171
172
|
event_id: generateUUID(),
|
|
172
|
-
|
|
173
|
-
|
|
173
|
+
occurred_at: new Date().toISOString(),
|
|
174
|
+
type: event,
|
|
175
|
+
identity: {
|
|
176
|
+
anonymous_id: this.anonymousId,
|
|
177
|
+
user_id: this.userId,
|
|
178
|
+
},
|
|
174
179
|
properties,
|
|
175
180
|
context: this.getContext(),
|
|
176
|
-
timestamp: new Date().toISOString(),
|
|
177
181
|
};
|
|
178
|
-
if (this.userId) {
|
|
179
|
-
payload.user_id = this.userId;
|
|
180
|
-
}
|
|
181
|
-
if (this.workspaceId) {
|
|
182
|
-
payload.workspace_id = this.workspaceId;
|
|
183
|
-
}
|
|
184
182
|
return payload;
|
|
185
183
|
}
|
|
186
184
|
/** Capture the current environment context. */
|
|
@@ -211,4 +209,32 @@ export class AppsPro {
|
|
|
211
209
|
}
|
|
212
210
|
}
|
|
213
211
|
}
|
|
212
|
+
-X;
|
|
213
|
+
POST;
|
|
214
|
+
https: //collector.appspro.credpal.co/v1/events \
|
|
215
|
+
-H;
|
|
216
|
+
"Content-Type: application/json";
|
|
217
|
+
-H;
|
|
218
|
+
"Authorization: Bearer appspro_962fb07fb34043f6c212b5430845b6ab2e0f395a584dbd18";
|
|
219
|
+
-d;
|
|
220
|
+
'{;
|
|
221
|
+
"workspace_id";
|
|
222
|
+
"f8501d29-c8d2-434c-975d-06e7f635ef0f",
|
|
223
|
+
"event_id";
|
|
224
|
+
"evt_123456789",
|
|
225
|
+
"occurred_at";
|
|
226
|
+
"2026-02-10T18:33:03.920Z",
|
|
227
|
+
"type";
|
|
228
|
+
"page_view",
|
|
229
|
+
"identity";
|
|
230
|
+
{
|
|
231
|
+
"user_id";
|
|
232
|
+
"user-123";
|
|
233
|
+
}
|
|
234
|
+
"properties";
|
|
235
|
+
{
|
|
236
|
+
"page";
|
|
237
|
+
"/home";
|
|
238
|
+
}
|
|
239
|
+
';
|
|
214
240
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAG9E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhF,oCAAoC;AACpC,MAAM,QAAQ,GAAG;IACf,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
export interface AppsProConfig {
|
|
5
5
|
/** Your AppsPro API key (required). */
|
|
6
6
|
apiKey: string;
|
|
7
|
-
/**
|
|
8
|
-
* Collector endpoint URL.
|
|
9
|
-
* @default "https://collect.appspro.io"
|
|
10
|
-
*/
|
|
11
|
-
endpoint?: string;
|
|
12
7
|
/**
|
|
13
8
|
* How often (in ms) the queue is automatically flushed.
|
|
14
9
|
* @default 10000
|
|
@@ -48,14 +43,17 @@ export interface EventContext {
|
|
|
48
43
|
}
|
|
49
44
|
/** Shape of a single event sent to the collector. */
|
|
50
45
|
export interface TrackEvent {
|
|
46
|
+
workspace_id: string;
|
|
51
47
|
event_id: string;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
occurred_at: string;
|
|
49
|
+
type: string;
|
|
50
|
+
identity: {
|
|
51
|
+
user_id?: string;
|
|
52
|
+
anonymous_id?: string;
|
|
53
|
+
device_id?: string;
|
|
54
|
+
};
|
|
55
55
|
properties?: Record<string, unknown>;
|
|
56
|
-
context
|
|
57
|
-
timestamp: string;
|
|
58
|
-
workspace_id?: string;
|
|
56
|
+
context?: EventContext;
|
|
59
57
|
}
|
|
60
58
|
/** Payload for the /v1/events/batch endpoint. */
|
|
61
59
|
export interface BatchPayload {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|