@andrewkimjoseph/celina-sdk 0.26.5 → 0.26.6
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/build/analytics/events-stats.d.ts +3 -10
- package/build/analytics/events-stats.js +8 -17
- package/build/analytics/events-stats.js.map +1 -1
- package/build/analytics/onchain-stats.d.ts +1 -0
- package/build/analytics/onchain-stats.js +2 -2
- package/build/analytics/onchain-stats.js.map +1 -1
- package/build/config/sdk-config.d.ts +2 -3
- package/build/config/sdk-config.js.map +1 -1
- package/build/src/analytics/events-stats.d.ts +3 -10
- package/build/src/analytics/events-stats.js +8 -17
- package/build/src/analytics/events-stats.js.map +1 -1
- package/build/src/analytics/onchain-stats.d.ts +1 -0
- package/build/src/analytics/onchain-stats.js +2 -2
- package/build/src/analytics/onchain-stats.js.map +1 -1
- package/build/src/config/sdk-config.d.ts +2 -3
- package/build/src/config/sdk-config.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
import type { SdkConfig } from "../config/sdk-config.js";
|
|
2
|
-
/** Amplitude HTTP API v2. Write key only — cannot read the export. */
|
|
3
|
-
export declare const AMPLITUDE_HTTP_API_URL = "https://api2.amplitude.com/2/httpapi";
|
|
4
|
-
/**
|
|
5
|
-
* Celina stats Amplitude project write key.
|
|
6
|
-
* Public ingest credential; the export secret stays on celina-stats-api.
|
|
7
|
-
*/
|
|
8
|
-
export declare const AMPLITUDE_WRITE_API_KEY = "b8d30326c023a17e70f0a42432824279";
|
|
9
2
|
export type TrackMcpToolContext = {
|
|
10
3
|
methodKey: string;
|
|
11
4
|
args: readonly unknown[];
|
|
12
5
|
};
|
|
13
|
-
/** Test-only hook to assert telemetry without POSTing to
|
|
6
|
+
/** Test-only hook to assert telemetry without POSTing to celina-stats-api. */
|
|
14
7
|
export declare function setTrackFnForTests(fn: ((eventName: string, config: SdkConfig, context: TrackMcpToolContext, userId: string | undefined) => void) | null): void;
|
|
15
|
-
/** Test-only: replace `fetch` used by the
|
|
8
|
+
/** Test-only: replace `fetch` used by the stats-api telemetry path. */
|
|
16
9
|
export declare function setEventsStatsFetchForTests(fn: typeof fetch | null): void;
|
|
17
10
|
/** Track an MCP tool name event; never throws to callers. */
|
|
18
11
|
export declare function trackMcpTool(eventName: string, config: SdkConfig, context?: TrackMcpToolContext): Promise<void>;
|
|
19
|
-
/** Await in-flight
|
|
12
|
+
/** Await in-flight telemetry posts. Use with Worker/Vercel `waitUntil`. */
|
|
20
13
|
export declare function drainCelinaAnalytics(): Promise<void>;
|
|
21
14
|
/**
|
|
22
15
|
* Await any queued event posts (e.g. end of a Next.js route via `after()`).
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import { isAnalyticsEnabled, resolveDeviceId, } from "./config.js";
|
|
2
|
+
import { resolveStatsApiBaseUrl } from "./onchain-stats.js";
|
|
2
3
|
import { resolveAnalyticsWallet } from "./wallet-context.js";
|
|
3
|
-
/** Amplitude HTTP API v2. Write key only — cannot read the export. */
|
|
4
|
-
export const AMPLITUDE_HTTP_API_URL = "https://api2.amplitude.com/2/httpapi";
|
|
5
|
-
/**
|
|
6
|
-
* Celina stats Amplitude project write key.
|
|
7
|
-
* Public ingest credential; the export secret stays on celina-stats-api.
|
|
8
|
-
*/
|
|
9
|
-
export const AMPLITUDE_WRITE_API_KEY = "b8d30326c023a17e70f0a42432824279";
|
|
10
4
|
const inflight = new Set();
|
|
11
5
|
let testTrackFn = null;
|
|
12
6
|
let testFetch = null;
|
|
13
|
-
/** Test-only hook to assert telemetry without POSTing to
|
|
7
|
+
/** Test-only hook to assert telemetry without POSTing to celina-stats-api. */
|
|
14
8
|
export function setTrackFnForTests(fn) {
|
|
15
9
|
testTrackFn = fn;
|
|
16
10
|
}
|
|
17
|
-
/** Test-only: replace `fetch` used by the
|
|
11
|
+
/** Test-only: replace `fetch` used by the stats-api telemetry path. */
|
|
18
12
|
export function setEventsStatsFetchForTests(fn) {
|
|
19
13
|
testFetch = fn;
|
|
20
14
|
}
|
|
@@ -26,7 +20,7 @@ function randomInsertId() {
|
|
|
26
20
|
return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
|
|
27
21
|
}
|
|
28
22
|
}
|
|
29
|
-
async function postEvent(payload) {
|
|
23
|
+
async function postEvent(payload, baseUrl) {
|
|
30
24
|
const doFetch = testFetch ?? globalThis.fetch;
|
|
31
25
|
if (typeof doFetch !== "function") {
|
|
32
26
|
return;
|
|
@@ -41,13 +35,10 @@ async function postEvent(payload) {
|
|
|
41
35
|
event.user_id = payload.userId;
|
|
42
36
|
}
|
|
43
37
|
try {
|
|
44
|
-
await doFetch(
|
|
38
|
+
await doFetch(`${baseUrl}/telemetry`, {
|
|
45
39
|
method: "POST",
|
|
46
40
|
headers: { "Content-Type": "application/json" },
|
|
47
|
-
body: JSON.stringify(
|
|
48
|
-
api_key: AMPLITUDE_WRITE_API_KEY,
|
|
49
|
-
events: [event],
|
|
50
|
-
}),
|
|
41
|
+
body: JSON.stringify(event),
|
|
51
42
|
});
|
|
52
43
|
}
|
|
53
44
|
catch {
|
|
@@ -77,7 +68,7 @@ async function trackMcpToolImpl(eventName, config, context) {
|
|
|
77
68
|
...(userId ? { userId } : {}),
|
|
78
69
|
occurredAt: new Date().toISOString(),
|
|
79
70
|
};
|
|
80
|
-
await postEvent(payload);
|
|
71
|
+
await postEvent(payload, resolveStatsApiBaseUrl(config));
|
|
81
72
|
}
|
|
82
73
|
/** Track an MCP tool name event; never throws to callers. */
|
|
83
74
|
export function trackMcpTool(eventName, config, context) {
|
|
@@ -86,7 +77,7 @@ export function trackMcpTool(eventName, config, context) {
|
|
|
86
77
|
void run.finally(() => inflight.delete(run));
|
|
87
78
|
return run;
|
|
88
79
|
}
|
|
89
|
-
/** Await in-flight
|
|
80
|
+
/** Await in-flight telemetry posts. Use with Worker/Vercel `waitUntil`. */
|
|
90
81
|
export async function drainCelinaAnalytics() {
|
|
91
82
|
await Promise.allSettled([...inflight]);
|
|
92
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-stats.js","sourceRoot":"","sources":["../../src/analytics/events-stats.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"events-stats.js","sourceRoot":"","sources":["../../src/analytics/events-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SdkConfig } from "../config/sdk-config.js";
|
|
2
2
|
/** Production ingest URL for successful celina-tagged Celo transactions. */
|
|
3
3
|
export declare const DEFAULT_STATS_API_BASE_URL = "https://api.stats.usecelina.xyz";
|
|
4
|
+
export declare function resolveStatsApiBaseUrl(config?: Pick<SdkConfig, "statsApiBaseUrl">): string;
|
|
4
5
|
/** Apply `createCelinaClient()` on-chain stats options to the process-wide reporter. */
|
|
5
6
|
export declare function applyOnchainStatsConfig(config: SdkConfig): void;
|
|
6
7
|
/** Test-only: replace `fetch` used by {@link reportCelinaOnchainTxn}. */
|
|
@@ -25,7 +25,7 @@ function resolveEnabled(config) {
|
|
|
25
25
|
return true;
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
-
function
|
|
28
|
+
export function resolveStatsApiBaseUrl(config) {
|
|
29
29
|
const fromConfig = config?.statsApiBaseUrl?.trim();
|
|
30
30
|
const fromEnv = envFlag("CELINA_STATS_API_URL");
|
|
31
31
|
const raw = fromConfig || fromEnv || DEFAULT_STATS_API_BASE_URL;
|
|
@@ -35,7 +35,7 @@ function resolveBaseUrl(config) {
|
|
|
35
35
|
export function applyOnchainStatsConfig(config) {
|
|
36
36
|
runtime = {
|
|
37
37
|
enabled: resolveEnabled(config),
|
|
38
|
-
baseUrl:
|
|
38
|
+
baseUrl: resolveStatsApiBaseUrl(config),
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
/** Test-only: replace `fetch` used by {@link reportCelinaOnchainTxn}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onchain-stats.js","sourceRoot":"","sources":["../../src/analytics/onchain-stats.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAE5E,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAOzC,IAAI,OAAO,GAAwB,cAAc,EAAE,CAAC;AAEpD,IAAI,SAAS,GAAwB,IAAI,CAAC;AAE1C,SAAS,cAAc;IACrB,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,0BAA0B;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,IAAI,OAAO,OAAO,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,MAA+C;IACrE,IAAI,MAAM,EAAE,mBAAmB,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACpD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,MAAM,EAAE,mBAAmB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"onchain-stats.js","sourceRoot":"","sources":["../../src/analytics/onchain-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export interface SdkConfig {
|
|
|
9
9
|
/** Self Agent ID REST API base (default https://app.ai.self.xyz). */
|
|
10
10
|
selfApiBase?: string;
|
|
11
11
|
/**
|
|
12
|
-
* Read telemetry
|
|
12
|
+
* Read telemetry posted to celina-stats-api, which forwards it to Amplitude (default on).
|
|
13
13
|
* Opt out with `analyticsEnabled: false`.
|
|
14
14
|
*/
|
|
15
15
|
analyticsEnabled?: boolean;
|
|
@@ -31,9 +31,8 @@ export interface SdkConfig {
|
|
|
31
31
|
*/
|
|
32
32
|
onchainStatsEnabled?: boolean;
|
|
33
33
|
/**
|
|
34
|
-
* Override celina-stats-api base URL for on-chain hash reporting
|
|
34
|
+
* Override celina-stats-api base URL for on-chain hash reporting and read telemetry
|
|
35
35
|
* (default `https://api.stats.usecelina.xyz`). Also reads `CELINA_STATS_API_URL`.
|
|
36
|
-
* Read-tool telemetry goes to Amplitude and does not use this URL.
|
|
37
36
|
*/
|
|
38
37
|
statsApiBaseUrl?: string;
|
|
39
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAkD1E,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACxD,MAAM,sBAAsB,GAC1B,IAAI,EAAE,mBAAmB;QACzB,CAAC,OAAO,OAAO,KAAK,WAAW;YAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB;YACpC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,MAAM,eAAe,GAAG,qBAAqB,CAC3C,sBAAsB,EACtB,wBAAwB,CACzB,CAAC;IACF,MAAM,mBAAmB,GAAG,eAAe,CAAC,KAAK,CAAC;IAElD,OAAO;QACL,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,eAAe;QACvC,SAAS,EAAE,IAAI,EAAE,SAAS;QAC1B,mBAAmB;QACnB,WAAW,EACT,IAAI,EAAE,WAAW;YACjB,CAAC,OAAO,OAAO,KAAK,WAAW;gBAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBACjC,CAAC,CAAC,SAAS,CAAC;QAChB,gBAAgB,EAAE,IAAI,EAAE,gBAAgB;QACxC,iBAAiB,EACf,IAAI,EAAE,iBAAiB,IAAI,yBAAyB,EAAE;QACxD,sBAAsB,EAAE,IAAI,EAAE,sBAAsB;QACpD,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;QAC9C,eAAe,EACb,IAAI,EAAE,eAAe;YACrB,CAAC,OAAO,OAAO,KAAK,WAAW;gBAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBAClC,CAAC,CAAC,SAAS,CAAC;QAChB,eAAe,EAAE,IAAI,EAAE,eAAe;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
import type { SdkConfig } from "../config/sdk-config.js";
|
|
2
|
-
/** Amplitude HTTP API v2. Write key only — cannot read the export. */
|
|
3
|
-
export declare const AMPLITUDE_HTTP_API_URL = "https://api2.amplitude.com/2/httpapi";
|
|
4
|
-
/**
|
|
5
|
-
* Celina stats Amplitude project write key.
|
|
6
|
-
* Public ingest credential; the export secret stays on celina-stats-api.
|
|
7
|
-
*/
|
|
8
|
-
export declare const AMPLITUDE_WRITE_API_KEY = "b8d30326c023a17e70f0a42432824279";
|
|
9
2
|
export type TrackMcpToolContext = {
|
|
10
3
|
methodKey: string;
|
|
11
4
|
args: readonly unknown[];
|
|
12
5
|
};
|
|
13
|
-
/** Test-only hook to assert telemetry without POSTing to
|
|
6
|
+
/** Test-only hook to assert telemetry without POSTing to celina-stats-api. */
|
|
14
7
|
export declare function setTrackFnForTests(fn: ((eventName: string, config: SdkConfig, context: TrackMcpToolContext, userId: string | undefined) => void) | null): void;
|
|
15
|
-
/** Test-only: replace `fetch` used by the
|
|
8
|
+
/** Test-only: replace `fetch` used by the stats-api telemetry path. */
|
|
16
9
|
export declare function setEventsStatsFetchForTests(fn: typeof fetch | null): void;
|
|
17
10
|
/** Track an MCP tool name event; never throws to callers. */
|
|
18
11
|
export declare function trackMcpTool(eventName: string, config: SdkConfig, context?: TrackMcpToolContext): Promise<void>;
|
|
19
|
-
/** Await in-flight
|
|
12
|
+
/** Await in-flight telemetry posts. Use with Worker/Vercel `waitUntil`. */
|
|
20
13
|
export declare function drainCelinaAnalytics(): Promise<void>;
|
|
21
14
|
/**
|
|
22
15
|
* Await any queued event posts (e.g. end of a Next.js route via `after()`).
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import { isAnalyticsEnabled, resolveDeviceId, } from "./config.js";
|
|
2
|
+
import { resolveStatsApiBaseUrl } from "./onchain-stats.js";
|
|
2
3
|
import { resolveAnalyticsWallet } from "./wallet-context.js";
|
|
3
|
-
/** Amplitude HTTP API v2. Write key only — cannot read the export. */
|
|
4
|
-
export const AMPLITUDE_HTTP_API_URL = "https://api2.amplitude.com/2/httpapi";
|
|
5
|
-
/**
|
|
6
|
-
* Celina stats Amplitude project write key.
|
|
7
|
-
* Public ingest credential; the export secret stays on celina-stats-api.
|
|
8
|
-
*/
|
|
9
|
-
export const AMPLITUDE_WRITE_API_KEY = "b8d30326c023a17e70f0a42432824279";
|
|
10
4
|
const inflight = new Set();
|
|
11
5
|
let testTrackFn = null;
|
|
12
6
|
let testFetch = null;
|
|
13
|
-
/** Test-only hook to assert telemetry without POSTing to
|
|
7
|
+
/** Test-only hook to assert telemetry without POSTing to celina-stats-api. */
|
|
14
8
|
export function setTrackFnForTests(fn) {
|
|
15
9
|
testTrackFn = fn;
|
|
16
10
|
}
|
|
17
|
-
/** Test-only: replace `fetch` used by the
|
|
11
|
+
/** Test-only: replace `fetch` used by the stats-api telemetry path. */
|
|
18
12
|
export function setEventsStatsFetchForTests(fn) {
|
|
19
13
|
testFetch = fn;
|
|
20
14
|
}
|
|
@@ -26,7 +20,7 @@ function randomInsertId() {
|
|
|
26
20
|
return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
|
|
27
21
|
}
|
|
28
22
|
}
|
|
29
|
-
async function postEvent(payload) {
|
|
23
|
+
async function postEvent(payload, baseUrl) {
|
|
30
24
|
const doFetch = testFetch ?? globalThis.fetch;
|
|
31
25
|
if (typeof doFetch !== "function") {
|
|
32
26
|
return;
|
|
@@ -41,13 +35,10 @@ async function postEvent(payload) {
|
|
|
41
35
|
event.user_id = payload.userId;
|
|
42
36
|
}
|
|
43
37
|
try {
|
|
44
|
-
await doFetch(
|
|
38
|
+
await doFetch(`${baseUrl}/telemetry`, {
|
|
45
39
|
method: "POST",
|
|
46
40
|
headers: { "Content-Type": "application/json" },
|
|
47
|
-
body: JSON.stringify(
|
|
48
|
-
api_key: AMPLITUDE_WRITE_API_KEY,
|
|
49
|
-
events: [event],
|
|
50
|
-
}),
|
|
41
|
+
body: JSON.stringify(event),
|
|
51
42
|
});
|
|
52
43
|
}
|
|
53
44
|
catch {
|
|
@@ -77,7 +68,7 @@ async function trackMcpToolImpl(eventName, config, context) {
|
|
|
77
68
|
...(userId ? { userId } : {}),
|
|
78
69
|
occurredAt: new Date().toISOString(),
|
|
79
70
|
};
|
|
80
|
-
await postEvent(payload);
|
|
71
|
+
await postEvent(payload, resolveStatsApiBaseUrl(config));
|
|
81
72
|
}
|
|
82
73
|
/** Track an MCP tool name event; never throws to callers. */
|
|
83
74
|
export function trackMcpTool(eventName, config, context) {
|
|
@@ -86,7 +77,7 @@ export function trackMcpTool(eventName, config, context) {
|
|
|
86
77
|
void run.finally(() => inflight.delete(run));
|
|
87
78
|
return run;
|
|
88
79
|
}
|
|
89
|
-
/** Await in-flight
|
|
80
|
+
/** Await in-flight telemetry posts. Use with Worker/Vercel `waitUntil`. */
|
|
90
81
|
export async function drainCelinaAnalytics() {
|
|
91
82
|
await Promise.allSettled([...inflight]);
|
|
92
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-stats.js","sourceRoot":"","sources":["../../../src/analytics/events-stats.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"events-stats.js","sourceRoot":"","sources":["../../../src/analytics/events-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SdkConfig } from "../config/sdk-config.js";
|
|
2
2
|
/** Production ingest URL for successful celina-tagged Celo transactions. */
|
|
3
3
|
export declare const DEFAULT_STATS_API_BASE_URL = "https://api.stats.usecelina.xyz";
|
|
4
|
+
export declare function resolveStatsApiBaseUrl(config?: Pick<SdkConfig, "statsApiBaseUrl">): string;
|
|
4
5
|
/** Apply `createCelinaClient()` on-chain stats options to the process-wide reporter. */
|
|
5
6
|
export declare function applyOnchainStatsConfig(config: SdkConfig): void;
|
|
6
7
|
/** Test-only: replace `fetch` used by {@link reportCelinaOnchainTxn}. */
|
|
@@ -25,7 +25,7 @@ function resolveEnabled(config) {
|
|
|
25
25
|
return true;
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
-
function
|
|
28
|
+
export function resolveStatsApiBaseUrl(config) {
|
|
29
29
|
const fromConfig = config?.statsApiBaseUrl?.trim();
|
|
30
30
|
const fromEnv = envFlag("CELINA_STATS_API_URL");
|
|
31
31
|
const raw = fromConfig || fromEnv || DEFAULT_STATS_API_BASE_URL;
|
|
@@ -35,7 +35,7 @@ function resolveBaseUrl(config) {
|
|
|
35
35
|
export function applyOnchainStatsConfig(config) {
|
|
36
36
|
runtime = {
|
|
37
37
|
enabled: resolveEnabled(config),
|
|
38
|
-
baseUrl:
|
|
38
|
+
baseUrl: resolveStatsApiBaseUrl(config),
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
/** Test-only: replace `fetch` used by {@link reportCelinaOnchainTxn}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onchain-stats.js","sourceRoot":"","sources":["../../../src/analytics/onchain-stats.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAE5E,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAOzC,IAAI,OAAO,GAAwB,cAAc,EAAE,CAAC;AAEpD,IAAI,SAAS,GAAwB,IAAI,CAAC;AAE1C,SAAS,cAAc;IACrB,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,0BAA0B;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,IAAI,OAAO,OAAO,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,MAA+C;IACrE,IAAI,MAAM,EAAE,mBAAmB,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACpD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,MAAM,EAAE,mBAAmB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"onchain-stats.js","sourceRoot":"","sources":["../../../src/analytics/onchain-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export interface SdkConfig {
|
|
|
9
9
|
/** Self Agent ID REST API base (default https://app.ai.self.xyz). */
|
|
10
10
|
selfApiBase?: string;
|
|
11
11
|
/**
|
|
12
|
-
* Read telemetry
|
|
12
|
+
* Read telemetry posted to celina-stats-api, which forwards it to Amplitude (default on).
|
|
13
13
|
* Opt out with `analyticsEnabled: false`.
|
|
14
14
|
*/
|
|
15
15
|
analyticsEnabled?: boolean;
|
|
@@ -31,9 +31,8 @@ export interface SdkConfig {
|
|
|
31
31
|
*/
|
|
32
32
|
onchainStatsEnabled?: boolean;
|
|
33
33
|
/**
|
|
34
|
-
* Override celina-stats-api base URL for on-chain hash reporting
|
|
34
|
+
* Override celina-stats-api base URL for on-chain hash reporting and read telemetry
|
|
35
35
|
* (default `https://api.stats.usecelina.xyz`). Also reads `CELINA_STATS_API_URL`.
|
|
36
|
-
* Read-tool telemetry goes to Amplitude and does not use this URL.
|
|
37
36
|
*/
|
|
38
37
|
statsApiBaseUrl?: string;
|
|
39
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAkD1E,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACxD,MAAM,sBAAsB,GAC1B,IAAI,EAAE,mBAAmB;QACzB,CAAC,OAAO,OAAO,KAAK,WAAW;YAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB;YACpC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,MAAM,eAAe,GAAG,qBAAqB,CAC3C,sBAAsB,EACtB,wBAAwB,CACzB,CAAC;IACF,MAAM,mBAAmB,GAAG,eAAe,CAAC,KAAK,CAAC;IAElD,OAAO;QACL,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,eAAe;QACvC,SAAS,EAAE,IAAI,EAAE,SAAS;QAC1B,mBAAmB;QACnB,WAAW,EACT,IAAI,EAAE,WAAW;YACjB,CAAC,OAAO,OAAO,KAAK,WAAW;gBAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBACjC,CAAC,CAAC,SAAS,CAAC;QAChB,gBAAgB,EAAE,IAAI,EAAE,gBAAgB;QACxC,iBAAiB,EACf,IAAI,EAAE,iBAAiB,IAAI,yBAAyB,EAAE;QACxD,sBAAsB,EAAE,IAAI,EAAE,sBAAsB;QACpD,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;QAC9C,eAAe,EACb,IAAI,EAAE,eAAe;YACrB,CAAC,OAAO,OAAO,KAAK,WAAW;gBAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBAClC,CAAC,CAAC,SAAS,CAAC;QAChB,eAAe,EAAE,IAAI,EAAE,eAAe;KACvC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andrewkimjoseph/celina-sdk",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.6",
|
|
4
4
|
"description": "Celina SDK — Celo mainnet reads, unsigned transaction preparation, and ERC-4337 createAAClient for sponsored UserOps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|