@the_ro_show/agent-ads-sdk 0.17.1 → 0.18.0
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/dist/index.d.mts +695 -2
- package/dist/index.d.ts +695 -2
- package/dist/index.js +576 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +573 -10
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -14,6 +14,10 @@ interface AgentSignupResponse {
|
|
|
14
14
|
agent_id: string;
|
|
15
15
|
api_key: string;
|
|
16
16
|
test_api_key: string;
|
|
17
|
+
/** Live API key (v2 field, same value as api_key) */
|
|
18
|
+
api_key_live?: string;
|
|
19
|
+
/** Test API key (v2 field, same value as test_api_key) */
|
|
20
|
+
api_key_test?: string;
|
|
17
21
|
created_at: string;
|
|
18
22
|
}
|
|
19
23
|
interface DecideRequest {
|
|
@@ -166,6 +170,12 @@ interface DecideFromContextRequest {
|
|
|
166
170
|
* optimizeFor: 'relevance' // Prioritize best semantic match over highest bid
|
|
167
171
|
*/
|
|
168
172
|
optimizeFor?: 'revenue' | 'relevance';
|
|
173
|
+
/**
|
|
174
|
+
* Maximum time in milliseconds to wait for an ad response.
|
|
175
|
+
* Useful for latency-sensitive applications.
|
|
176
|
+
* @since v0.18.0
|
|
177
|
+
*/
|
|
178
|
+
maxWaitMs?: number;
|
|
169
179
|
}
|
|
170
180
|
interface DecideResponse {
|
|
171
181
|
request_id?: string;
|
|
@@ -279,7 +289,7 @@ interface ToolCall {
|
|
|
279
289
|
url: string;
|
|
280
290
|
headers?: Record<string, string>;
|
|
281
291
|
}
|
|
282
|
-
type EventType = 'impression' | 'click' | 'action' | 'conversion' | 'dismiss' | 'hide_advertiser' | 'report' | 'feedback';
|
|
292
|
+
type EventType = 'impression' | 'click' | 'action' | 'conversion' | 'dismiss' | 'hide_advertiser' | 'report' | 'feedback' | 'ad_shown' | 'ad_dismissed' | 'agent_call';
|
|
283
293
|
interface EventIngestRequest {
|
|
284
294
|
event_id: string;
|
|
285
295
|
occurred_at: string;
|
|
@@ -423,6 +433,12 @@ interface PolicyResponse {
|
|
|
423
433
|
blocked_categories: string[];
|
|
424
434
|
};
|
|
425
435
|
unit_rules: Record<string, unknown>;
|
|
436
|
+
/** Rate limits (optional, returned by expanded backend) */
|
|
437
|
+
rate_limits?: Record<string, unknown>;
|
|
438
|
+
/** Supported ad types (optional) */
|
|
439
|
+
supported_ad_types?: string[];
|
|
440
|
+
/** Feature flags (optional) */
|
|
441
|
+
features?: Record<string, boolean>;
|
|
426
442
|
}
|
|
427
443
|
interface APIError {
|
|
428
444
|
error: string;
|
|
@@ -774,6 +790,624 @@ interface GetCategoriesParams {
|
|
|
774
790
|
/** Search by name or path (case-insensitive) */
|
|
775
791
|
search?: string;
|
|
776
792
|
}
|
|
793
|
+
interface CapabilitySessionInitiateRequest {
|
|
794
|
+
/** Type of capability session */
|
|
795
|
+
capability_type: string;
|
|
796
|
+
/** Initial configuration for the session */
|
|
797
|
+
config?: Record<string, unknown>;
|
|
798
|
+
/** Optional metadata */
|
|
799
|
+
metadata?: Record<string, unknown>;
|
|
800
|
+
}
|
|
801
|
+
interface CapabilitySessionInitiateResponse {
|
|
802
|
+
session_id: string;
|
|
803
|
+
status: 'initiated' | 'ready';
|
|
804
|
+
capability_type: string;
|
|
805
|
+
created_at: string;
|
|
806
|
+
}
|
|
807
|
+
interface CapabilitySessionMessageRequest {
|
|
808
|
+
/** Session ID from initiate response */
|
|
809
|
+
session_id: string;
|
|
810
|
+
/** Message content to send */
|
|
811
|
+
message: string;
|
|
812
|
+
/** Optional attachments or context */
|
|
813
|
+
attachments?: Record<string, unknown>[];
|
|
814
|
+
}
|
|
815
|
+
interface CapabilitySessionMessageResponse {
|
|
816
|
+
session_id: string;
|
|
817
|
+
message_id: string;
|
|
818
|
+
response: string;
|
|
819
|
+
/** Structured data from the capability */
|
|
820
|
+
data?: Record<string, unknown>;
|
|
821
|
+
status: 'completed' | 'pending' | 'error';
|
|
822
|
+
}
|
|
823
|
+
interface CapabilitySessionEndRequest {
|
|
824
|
+
/** Session ID to end */
|
|
825
|
+
session_id: string;
|
|
826
|
+
/** Optional reason for ending */
|
|
827
|
+
reason?: string;
|
|
828
|
+
}
|
|
829
|
+
interface CapabilitySessionEndResponse {
|
|
830
|
+
session_id: string;
|
|
831
|
+
status: 'ended';
|
|
832
|
+
/** Summary of the session */
|
|
833
|
+
summary?: string;
|
|
834
|
+
/** Total messages exchanged */
|
|
835
|
+
message_count?: number;
|
|
836
|
+
}
|
|
837
|
+
interface CapabilitySessionConnectGitHubRequest {
|
|
838
|
+
/** Session ID */
|
|
839
|
+
session_id: string;
|
|
840
|
+
/** GitHub repository URL or owner/repo */
|
|
841
|
+
repository: string;
|
|
842
|
+
/** Optional branch */
|
|
843
|
+
branch?: string;
|
|
844
|
+
}
|
|
845
|
+
interface CapabilitySessionConnectGitHubResponse {
|
|
846
|
+
session_id: string;
|
|
847
|
+
status: 'connected' | 'error';
|
|
848
|
+
repository: string;
|
|
849
|
+
branch?: string;
|
|
850
|
+
}
|
|
851
|
+
interface DeveloperLoginRequest {
|
|
852
|
+
email: string;
|
|
853
|
+
password: string;
|
|
854
|
+
}
|
|
855
|
+
interface DeveloperLoginResponse {
|
|
856
|
+
session_token: string;
|
|
857
|
+
developer_id: string;
|
|
858
|
+
email: string;
|
|
859
|
+
expires_at: string;
|
|
860
|
+
}
|
|
861
|
+
interface DeveloperDataResponse {
|
|
862
|
+
developer_id: string;
|
|
863
|
+
email: string;
|
|
864
|
+
agent_name: string;
|
|
865
|
+
created_at: string;
|
|
866
|
+
api_key_live: string;
|
|
867
|
+
api_key_test: string;
|
|
868
|
+
settings?: Record<string, unknown>;
|
|
869
|
+
}
|
|
870
|
+
interface DeveloperEarningsResponse {
|
|
871
|
+
balances: {
|
|
872
|
+
available: number;
|
|
873
|
+
pending: number;
|
|
874
|
+
lifetime: number;
|
|
875
|
+
};
|
|
876
|
+
payout_info: {
|
|
877
|
+
method?: string;
|
|
878
|
+
last_payout_at?: string;
|
|
879
|
+
next_payout_at?: string;
|
|
880
|
+
};
|
|
881
|
+
recent_earnings: Array<{
|
|
882
|
+
date: string;
|
|
883
|
+
amount: number;
|
|
884
|
+
source: string;
|
|
885
|
+
campaign_id?: string;
|
|
886
|
+
}>;
|
|
887
|
+
payouts: Array<{
|
|
888
|
+
id: string;
|
|
889
|
+
amount: number;
|
|
890
|
+
status: string;
|
|
891
|
+
created_at: string;
|
|
892
|
+
}>;
|
|
893
|
+
}
|
|
894
|
+
interface DeveloperStatsRequest {
|
|
895
|
+
/** Time period for stats */
|
|
896
|
+
period?: '7d' | '30d' | '90d' | 'all';
|
|
897
|
+
}
|
|
898
|
+
interface DeveloperStatsResponse {
|
|
899
|
+
period: string;
|
|
900
|
+
impressions: number;
|
|
901
|
+
clicks: number;
|
|
902
|
+
conversions: number;
|
|
903
|
+
earnings: number;
|
|
904
|
+
ctr: number;
|
|
905
|
+
fill_rate: number;
|
|
906
|
+
}
|
|
907
|
+
interface DeveloperAnalyticsRequest {
|
|
908
|
+
session_token: string;
|
|
909
|
+
/** Start date (ISO 8601) */
|
|
910
|
+
start_date?: string;
|
|
911
|
+
/** End date (ISO 8601) */
|
|
912
|
+
end_date?: string;
|
|
913
|
+
/** Group by dimension */
|
|
914
|
+
group_by?: 'day' | 'week' | 'month' | 'campaign';
|
|
915
|
+
}
|
|
916
|
+
interface DeveloperAnalyticsResponse {
|
|
917
|
+
data: Array<{
|
|
918
|
+
period: string;
|
|
919
|
+
impressions: number;
|
|
920
|
+
clicks: number;
|
|
921
|
+
conversions: number;
|
|
922
|
+
earnings: number;
|
|
923
|
+
}>;
|
|
924
|
+
totals: {
|
|
925
|
+
impressions: number;
|
|
926
|
+
clicks: number;
|
|
927
|
+
conversions: number;
|
|
928
|
+
earnings: number;
|
|
929
|
+
};
|
|
930
|
+
}
|
|
931
|
+
interface RegenerateKeysRequest {
|
|
932
|
+
session_token: string;
|
|
933
|
+
/** Which key to regenerate */
|
|
934
|
+
key_type: 'live' | 'test' | 'both';
|
|
935
|
+
}
|
|
936
|
+
interface RegenerateKeysResponse {
|
|
937
|
+
api_key_live?: string;
|
|
938
|
+
api_key_test?: string;
|
|
939
|
+
regenerated_at: string;
|
|
940
|
+
}
|
|
941
|
+
interface AdvertiserSignupRequest {
|
|
942
|
+
email: string;
|
|
943
|
+
password: string;
|
|
944
|
+
company_name: string;
|
|
945
|
+
website?: string;
|
|
946
|
+
}
|
|
947
|
+
interface AdvertiserSignupResponse {
|
|
948
|
+
advertiser_id: string;
|
|
949
|
+
email: string;
|
|
950
|
+
company_name: string;
|
|
951
|
+
session_token: string;
|
|
952
|
+
created_at: string;
|
|
953
|
+
}
|
|
954
|
+
interface AdvertiserLoginRequest {
|
|
955
|
+
email: string;
|
|
956
|
+
password: string;
|
|
957
|
+
}
|
|
958
|
+
interface AdvertiserLoginResponse {
|
|
959
|
+
session_token: string;
|
|
960
|
+
advertiser_id: string;
|
|
961
|
+
email: string;
|
|
962
|
+
company_name: string;
|
|
963
|
+
expires_at: string;
|
|
964
|
+
}
|
|
965
|
+
interface AdvertiserStatsRequest {
|
|
966
|
+
/** Advertiser API key or ID for lookup */
|
|
967
|
+
advertiser_key?: string;
|
|
968
|
+
/** Time period */
|
|
969
|
+
period?: '7d' | '30d' | '90d' | 'all';
|
|
970
|
+
}
|
|
971
|
+
interface AdvertiserStatsResponse {
|
|
972
|
+
budget: {
|
|
973
|
+
total: number;
|
|
974
|
+
spent: number;
|
|
975
|
+
remaining: number;
|
|
976
|
+
};
|
|
977
|
+
metrics: {
|
|
978
|
+
impressions: number;
|
|
979
|
+
clicks: number;
|
|
980
|
+
conversions: number;
|
|
981
|
+
ctr: number;
|
|
982
|
+
cpc_avg: number;
|
|
983
|
+
};
|
|
984
|
+
campaigns: Array<{
|
|
985
|
+
campaign_id: string;
|
|
986
|
+
name: string;
|
|
987
|
+
status: string;
|
|
988
|
+
budget_spent: number;
|
|
989
|
+
impressions: number;
|
|
990
|
+
clicks: number;
|
|
991
|
+
}>;
|
|
992
|
+
}
|
|
993
|
+
interface AdvertiserAnalyticsRequest {
|
|
994
|
+
session_token: string;
|
|
995
|
+
start_date?: string;
|
|
996
|
+
end_date?: string;
|
|
997
|
+
group_by?: 'day' | 'week' | 'month' | 'campaign';
|
|
998
|
+
}
|
|
999
|
+
interface AdvertiserAnalyticsResponse {
|
|
1000
|
+
data: Array<{
|
|
1001
|
+
period: string;
|
|
1002
|
+
impressions: number;
|
|
1003
|
+
clicks: number;
|
|
1004
|
+
conversions: number;
|
|
1005
|
+
spend: number;
|
|
1006
|
+
}>;
|
|
1007
|
+
totals: {
|
|
1008
|
+
impressions: number;
|
|
1009
|
+
clicks: number;
|
|
1010
|
+
conversions: number;
|
|
1011
|
+
spend: number;
|
|
1012
|
+
};
|
|
1013
|
+
}
|
|
1014
|
+
interface CampaignCreateRequest {
|
|
1015
|
+
/** Campaign name */
|
|
1016
|
+
name: string;
|
|
1017
|
+
/** Ad type */
|
|
1018
|
+
ad_type: AdType;
|
|
1019
|
+
/** Daily budget in cents */
|
|
1020
|
+
daily_budget: number;
|
|
1021
|
+
/** Bid amount in cents */
|
|
1022
|
+
bid_amount: number;
|
|
1023
|
+
/** Target taxonomy/categories */
|
|
1024
|
+
target_categories?: string[];
|
|
1025
|
+
/** Target countries */
|
|
1026
|
+
target_countries?: string[];
|
|
1027
|
+
/** Creative content */
|
|
1028
|
+
creative: {
|
|
1029
|
+
title: string;
|
|
1030
|
+
body: string;
|
|
1031
|
+
cta: string;
|
|
1032
|
+
landing_url: string;
|
|
1033
|
+
};
|
|
1034
|
+
/** Recommendation ad fields */
|
|
1035
|
+
teaser?: string;
|
|
1036
|
+
promo_code?: string;
|
|
1037
|
+
/** Service ad fields */
|
|
1038
|
+
service_endpoint?: string;
|
|
1039
|
+
service_description?: string;
|
|
1040
|
+
}
|
|
1041
|
+
interface CampaignCreateResponse {
|
|
1042
|
+
campaign_id: string;
|
|
1043
|
+
status: 'active' | 'pending_review';
|
|
1044
|
+
created_at: string;
|
|
1045
|
+
}
|
|
1046
|
+
interface CampaignUpdateRequest {
|
|
1047
|
+
/** Campaign ID to update */
|
|
1048
|
+
campaign_id: string;
|
|
1049
|
+
/** Session token for auth */
|
|
1050
|
+
session_token: string;
|
|
1051
|
+
/** Fields to update (partial) */
|
|
1052
|
+
updates: Partial<Omit<CampaignCreateRequest, 'ad_type'>>;
|
|
1053
|
+
/** Set campaign status */
|
|
1054
|
+
status?: 'active' | 'paused';
|
|
1055
|
+
}
|
|
1056
|
+
interface CampaignUpdateResponse {
|
|
1057
|
+
campaign_id: string;
|
|
1058
|
+
status: string;
|
|
1059
|
+
updated_at: string;
|
|
1060
|
+
}
|
|
1061
|
+
interface ScrapeSiteRequest {
|
|
1062
|
+
/** URL to scrape */
|
|
1063
|
+
url: string;
|
|
1064
|
+
/** Maximum depth of pages to follow */
|
|
1065
|
+
max_depth?: number;
|
|
1066
|
+
/** Maximum number of pages */
|
|
1067
|
+
max_pages?: number;
|
|
1068
|
+
/** CSS selectors to extract */
|
|
1069
|
+
selectors?: string[];
|
|
1070
|
+
}
|
|
1071
|
+
interface ScrapeSiteResponse {
|
|
1072
|
+
job_id: string;
|
|
1073
|
+
status: 'queued' | 'processing' | 'completed' | 'failed';
|
|
1074
|
+
pages_scraped?: number;
|
|
1075
|
+
content?: Array<{
|
|
1076
|
+
url: string;
|
|
1077
|
+
title: string;
|
|
1078
|
+
text: string;
|
|
1079
|
+
}>;
|
|
1080
|
+
}
|
|
1081
|
+
interface TrainAgentRequest {
|
|
1082
|
+
/** Agent ID to train */
|
|
1083
|
+
agent_id: string;
|
|
1084
|
+
/** Training data: documents, Q&A pairs, etc. */
|
|
1085
|
+
training_data: Array<{
|
|
1086
|
+
type: 'document' | 'qa_pair' | 'instruction';
|
|
1087
|
+
content: string;
|
|
1088
|
+
metadata?: Record<string, unknown>;
|
|
1089
|
+
}>;
|
|
1090
|
+
/** Training configuration */
|
|
1091
|
+
config?: {
|
|
1092
|
+
/** Override existing training */
|
|
1093
|
+
replace?: boolean;
|
|
1094
|
+
};
|
|
1095
|
+
}
|
|
1096
|
+
interface TrainAgentResponse {
|
|
1097
|
+
job_id: string;
|
|
1098
|
+
status: 'queued' | 'processing' | 'completed' | 'failed';
|
|
1099
|
+
items_processed?: number;
|
|
1100
|
+
message?: string;
|
|
1101
|
+
}
|
|
1102
|
+
interface AgentSignupV2Request {
|
|
1103
|
+
owner_email: string;
|
|
1104
|
+
agent_name: string;
|
|
1105
|
+
/** Agent description */
|
|
1106
|
+
description?: string;
|
|
1107
|
+
/** Agent website URL */
|
|
1108
|
+
website?: string;
|
|
1109
|
+
/** SDK platform */
|
|
1110
|
+
sdk?: 'typescript' | 'python' | 'other';
|
|
1111
|
+
/** Deployment environment */
|
|
1112
|
+
environment?: 'test' | 'live';
|
|
1113
|
+
/** Declared ad placements */
|
|
1114
|
+
declared_placements?: PlacementType[];
|
|
1115
|
+
/** Declared capabilities */
|
|
1116
|
+
declared_capabilities?: string[];
|
|
1117
|
+
/** Monthly estimated traffic */
|
|
1118
|
+
estimated_traffic?: number;
|
|
1119
|
+
}
|
|
1120
|
+
interface AgentSignupV2Response {
|
|
1121
|
+
agent_id: string;
|
|
1122
|
+
api_key_live: string;
|
|
1123
|
+
api_key_test: string;
|
|
1124
|
+
/** @deprecated Use api_key_live */
|
|
1125
|
+
api_key: string;
|
|
1126
|
+
/** @deprecated Use api_key_test */
|
|
1127
|
+
test_api_key: string;
|
|
1128
|
+
created_at: string;
|
|
1129
|
+
status: 'active' | 'pending_review';
|
|
1130
|
+
}
|
|
1131
|
+
interface TrackCallRequest {
|
|
1132
|
+
/** Tracking token from the ad */
|
|
1133
|
+
token: string;
|
|
1134
|
+
/** Optional metadata about the call */
|
|
1135
|
+
metadata?: Record<string, unknown>;
|
|
1136
|
+
}
|
|
1137
|
+
interface TrackCallResponse {
|
|
1138
|
+
status: 'tracked';
|
|
1139
|
+
token: string;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
/**
|
|
1143
|
+
* HTTP client with retry logic, timeout handling, and authentication.
|
|
1144
|
+
* Retry policy: only on 408, 429, 500, 502, 503, 504
|
|
1145
|
+
* Max retries: 2 (configurable)
|
|
1146
|
+
* Backoff: exponential with jitter
|
|
1147
|
+
*/
|
|
1148
|
+
interface HTTPClientConfig {
|
|
1149
|
+
apiKey?: string;
|
|
1150
|
+
supabaseAnonKey?: string;
|
|
1151
|
+
baseUrl: string;
|
|
1152
|
+
timeoutMs: number;
|
|
1153
|
+
maxRetries: number;
|
|
1154
|
+
}
|
|
1155
|
+
declare class HTTPClient {
|
|
1156
|
+
private config;
|
|
1157
|
+
constructor(config: HTTPClientConfig);
|
|
1158
|
+
/** Expose the API key so sub-clients can re-use it in different headers */
|
|
1159
|
+
get apiKey(): string | undefined;
|
|
1160
|
+
request<T>(method: 'GET' | 'POST', path: string, options?: {
|
|
1161
|
+
body?: unknown;
|
|
1162
|
+
headers?: Record<string, string>;
|
|
1163
|
+
idempotencyKey?: string;
|
|
1164
|
+
skipDefaultAuth?: boolean;
|
|
1165
|
+
}): Promise<T>;
|
|
1166
|
+
private makeRequest;
|
|
1167
|
+
private shouldRetry;
|
|
1168
|
+
private backoff;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
/**
|
|
1172
|
+
* Capability Session sub-client.
|
|
1173
|
+
* Manages multi-turn AI sessions via the capability-session endpoint.
|
|
1174
|
+
* All methods use standard X-AM-API-Key auth.
|
|
1175
|
+
*/
|
|
1176
|
+
|
|
1177
|
+
declare class SessionClient {
|
|
1178
|
+
private http;
|
|
1179
|
+
constructor(http: HTTPClient);
|
|
1180
|
+
/**
|
|
1181
|
+
* Initiate a new capability session.
|
|
1182
|
+
*
|
|
1183
|
+
* @example
|
|
1184
|
+
* ```typescript
|
|
1185
|
+
* const session = await client.sessions.initiate({
|
|
1186
|
+
* capability_type: 'code_review',
|
|
1187
|
+
* config: { language: 'typescript' }
|
|
1188
|
+
* });
|
|
1189
|
+
* console.log(session.session_id);
|
|
1190
|
+
* ```
|
|
1191
|
+
*/
|
|
1192
|
+
initiate(request: CapabilitySessionInitiateRequest): Promise<CapabilitySessionInitiateResponse>;
|
|
1193
|
+
/**
|
|
1194
|
+
* Send a message within an existing capability session.
|
|
1195
|
+
*
|
|
1196
|
+
* @example
|
|
1197
|
+
* ```typescript
|
|
1198
|
+
* const response = await client.sessions.sendMessage({
|
|
1199
|
+
* session_id: 'sess_abc123',
|
|
1200
|
+
* message: 'Review this function for bugs'
|
|
1201
|
+
* });
|
|
1202
|
+
* console.log(response.response);
|
|
1203
|
+
* ```
|
|
1204
|
+
*/
|
|
1205
|
+
sendMessage(request: CapabilitySessionMessageRequest): Promise<CapabilitySessionMessageResponse>;
|
|
1206
|
+
/**
|
|
1207
|
+
* End a capability session.
|
|
1208
|
+
*
|
|
1209
|
+
* @example
|
|
1210
|
+
* ```typescript
|
|
1211
|
+
* const result = await client.sessions.end({
|
|
1212
|
+
* session_id: 'sess_abc123',
|
|
1213
|
+
* reason: 'task_completed'
|
|
1214
|
+
* });
|
|
1215
|
+
* ```
|
|
1216
|
+
*/
|
|
1217
|
+
end(request: CapabilitySessionEndRequest): Promise<CapabilitySessionEndResponse>;
|
|
1218
|
+
/**
|
|
1219
|
+
* Connect a GitHub repository to the capability session.
|
|
1220
|
+
*
|
|
1221
|
+
* @example
|
|
1222
|
+
* ```typescript
|
|
1223
|
+
* const result = await client.sessions.connectGitHub({
|
|
1224
|
+
* session_id: 'sess_abc123',
|
|
1225
|
+
* repository: 'owner/repo',
|
|
1226
|
+
* branch: 'main'
|
|
1227
|
+
* });
|
|
1228
|
+
* ```
|
|
1229
|
+
*/
|
|
1230
|
+
connectGitHub(request: CapabilitySessionConnectGitHubRequest): Promise<CapabilitySessionConnectGitHubResponse>;
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
/**
|
|
1234
|
+
* Developer Portal sub-client.
|
|
1235
|
+
* Manages developer authentication, data, earnings, stats, and analytics.
|
|
1236
|
+
* Mixed auth patterns: some endpoints need no auth, others use X-API-Key or X-AM-API-Key.
|
|
1237
|
+
*/
|
|
1238
|
+
|
|
1239
|
+
declare class DeveloperClient {
|
|
1240
|
+
private http;
|
|
1241
|
+
constructor(http: HTTPClient);
|
|
1242
|
+
/**
|
|
1243
|
+
* Log in as a developer. Returns a session token for subsequent calls.
|
|
1244
|
+
* No API key auth needed for this endpoint.
|
|
1245
|
+
*
|
|
1246
|
+
* @example
|
|
1247
|
+
* ```typescript
|
|
1248
|
+
* const session = await client.developer.login({
|
|
1249
|
+
* email: 'dev@example.com',
|
|
1250
|
+
* password: 'secret'
|
|
1251
|
+
* });
|
|
1252
|
+
* console.log(session.session_token);
|
|
1253
|
+
* ```
|
|
1254
|
+
*/
|
|
1255
|
+
login(request: DeveloperLoginRequest): Promise<DeveloperLoginResponse>;
|
|
1256
|
+
/**
|
|
1257
|
+
* Get developer account data using a session token.
|
|
1258
|
+
* No default API key auth — uses session token in body.
|
|
1259
|
+
*
|
|
1260
|
+
* @example
|
|
1261
|
+
* ```typescript
|
|
1262
|
+
* const data = await client.developer.getData('session_token_here');
|
|
1263
|
+
* console.log(data.agent_name);
|
|
1264
|
+
* ```
|
|
1265
|
+
*/
|
|
1266
|
+
getData(sessionToken: string): Promise<DeveloperDataResponse>;
|
|
1267
|
+
/**
|
|
1268
|
+
* Get developer earnings. Uses X-API-Key header (not X-AM-API-Key).
|
|
1269
|
+
*
|
|
1270
|
+
* @example
|
|
1271
|
+
* ```typescript
|
|
1272
|
+
* const earnings = await client.developer.getEarnings();
|
|
1273
|
+
* console.log(earnings.balances.available);
|
|
1274
|
+
* ```
|
|
1275
|
+
*/
|
|
1276
|
+
getEarnings(): Promise<DeveloperEarningsResponse>;
|
|
1277
|
+
/**
|
|
1278
|
+
* Get developer stats. Uses standard X-AM-API-Key auth.
|
|
1279
|
+
*
|
|
1280
|
+
* @example
|
|
1281
|
+
* ```typescript
|
|
1282
|
+
* const stats = await client.developer.getStats({ period: '30d' });
|
|
1283
|
+
* console.log(stats.impressions, stats.clicks);
|
|
1284
|
+
* ```
|
|
1285
|
+
*/
|
|
1286
|
+
getStats(params?: DeveloperStatsRequest): Promise<DeveloperStatsResponse>;
|
|
1287
|
+
/**
|
|
1288
|
+
* Get developer analytics. Uses session token in body (no default auth).
|
|
1289
|
+
*
|
|
1290
|
+
* @example
|
|
1291
|
+
* ```typescript
|
|
1292
|
+
* const analytics = await client.developer.getAnalytics('session_token', {
|
|
1293
|
+
* start_date: '2026-01-01',
|
|
1294
|
+
* group_by: 'week'
|
|
1295
|
+
* });
|
|
1296
|
+
* ```
|
|
1297
|
+
*/
|
|
1298
|
+
getAnalytics(sessionToken: string, params?: Omit<DeveloperAnalyticsRequest, 'session_token'>): Promise<DeveloperAnalyticsResponse>;
|
|
1299
|
+
/**
|
|
1300
|
+
* Regenerate API keys. Uses session token in body (no default auth).
|
|
1301
|
+
*
|
|
1302
|
+
* @example
|
|
1303
|
+
* ```typescript
|
|
1304
|
+
* const newKeys = await client.developer.regenerateKeys({
|
|
1305
|
+
* session_token: 'session_token_here',
|
|
1306
|
+
* key_type: 'test'
|
|
1307
|
+
* });
|
|
1308
|
+
* console.log(newKeys.api_key_test);
|
|
1309
|
+
* ```
|
|
1310
|
+
*/
|
|
1311
|
+
regenerateKeys(request: RegenerateKeysRequest): Promise<RegenerateKeysResponse>;
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1314
|
+
/**
|
|
1315
|
+
* Advertiser Portal sub-client.
|
|
1316
|
+
* Manages advertiser authentication, stats, analytics, and campaign management.
|
|
1317
|
+
* Mixed auth patterns including JWT for campaign creation.
|
|
1318
|
+
*/
|
|
1319
|
+
|
|
1320
|
+
declare class AdvertiserClient {
|
|
1321
|
+
private http;
|
|
1322
|
+
constructor(http: HTTPClient);
|
|
1323
|
+
/**
|
|
1324
|
+
* Sign up as a new advertiser. No API key auth needed.
|
|
1325
|
+
*
|
|
1326
|
+
* @example
|
|
1327
|
+
* ```typescript
|
|
1328
|
+
* const account = await client.advertiser.signup({
|
|
1329
|
+
* email: 'ads@company.com',
|
|
1330
|
+
* password: 'secure123',
|
|
1331
|
+
* company_name: 'Acme Corp'
|
|
1332
|
+
* });
|
|
1333
|
+
* console.log(account.advertiser_id);
|
|
1334
|
+
* ```
|
|
1335
|
+
*/
|
|
1336
|
+
signup(request: AdvertiserSignupRequest): Promise<AdvertiserSignupResponse>;
|
|
1337
|
+
/**
|
|
1338
|
+
* Log in as an advertiser. Returns a session token.
|
|
1339
|
+
* No API key auth needed.
|
|
1340
|
+
*
|
|
1341
|
+
* @example
|
|
1342
|
+
* ```typescript
|
|
1343
|
+
* const session = await client.advertiser.login({
|
|
1344
|
+
* email: 'ads@company.com',
|
|
1345
|
+
* password: 'secure123'
|
|
1346
|
+
* });
|
|
1347
|
+
* console.log(session.session_token);
|
|
1348
|
+
* ```
|
|
1349
|
+
*/
|
|
1350
|
+
login(request: AdvertiserLoginRequest): Promise<AdvertiserLoginResponse>;
|
|
1351
|
+
/**
|
|
1352
|
+
* Get advertiser stats. Uses X-Advertiser-Key header or query param.
|
|
1353
|
+
*
|
|
1354
|
+
* @example
|
|
1355
|
+
* ```typescript
|
|
1356
|
+
* const stats = await client.advertiser.getStats({
|
|
1357
|
+
* advertiser_key: 'adv_key_123',
|
|
1358
|
+
* period: '30d'
|
|
1359
|
+
* });
|
|
1360
|
+
* console.log(stats.budget.remaining);
|
|
1361
|
+
* ```
|
|
1362
|
+
*/
|
|
1363
|
+
getStats(params?: AdvertiserStatsRequest): Promise<AdvertiserStatsResponse>;
|
|
1364
|
+
/**
|
|
1365
|
+
* Get advertiser analytics. Uses session token in body (no default auth).
|
|
1366
|
+
*
|
|
1367
|
+
* @example
|
|
1368
|
+
* ```typescript
|
|
1369
|
+
* const analytics = await client.advertiser.getAnalytics('session_token', {
|
|
1370
|
+
* start_date: '2026-01-01',
|
|
1371
|
+
* group_by: 'week'
|
|
1372
|
+
* });
|
|
1373
|
+
* ```
|
|
1374
|
+
*/
|
|
1375
|
+
getAnalytics(sessionToken: string, params?: Omit<AdvertiserAnalyticsRequest, 'session_token'>): Promise<AdvertiserAnalyticsResponse>;
|
|
1376
|
+
/**
|
|
1377
|
+
* Create a new campaign. Uses JWT bearer token for auth.
|
|
1378
|
+
*
|
|
1379
|
+
* @example
|
|
1380
|
+
* ```typescript
|
|
1381
|
+
* const campaign = await client.advertiser.createCampaign('jwt_token', {
|
|
1382
|
+
* name: 'Summer Sale',
|
|
1383
|
+
* ad_type: 'link',
|
|
1384
|
+
* daily_budget: 5000,
|
|
1385
|
+
* bid_amount: 100,
|
|
1386
|
+
* creative: {
|
|
1387
|
+
* title: 'Summer Sale - 50% Off',
|
|
1388
|
+
* body: 'Limited time offer',
|
|
1389
|
+
* cta: 'Shop Now',
|
|
1390
|
+
* landing_url: 'https://example.com/sale'
|
|
1391
|
+
* }
|
|
1392
|
+
* });
|
|
1393
|
+
* ```
|
|
1394
|
+
*/
|
|
1395
|
+
createCampaign(jwt: string, request: CampaignCreateRequest): Promise<CampaignCreateResponse>;
|
|
1396
|
+
/**
|
|
1397
|
+
* Update an existing campaign. Uses session token in body (no default auth).
|
|
1398
|
+
*
|
|
1399
|
+
* @example
|
|
1400
|
+
* ```typescript
|
|
1401
|
+
* const result = await client.advertiser.updateCampaign({
|
|
1402
|
+
* campaign_id: 'camp_123',
|
|
1403
|
+
* session_token: 'session_token',
|
|
1404
|
+
* updates: { name: 'Updated Campaign Name' },
|
|
1405
|
+
* status: 'paused'
|
|
1406
|
+
* });
|
|
1407
|
+
* ```
|
|
1408
|
+
*/
|
|
1409
|
+
updateCampaign(request: CampaignUpdateRequest): Promise<CampaignUpdateResponse>;
|
|
1410
|
+
}
|
|
777
1411
|
|
|
778
1412
|
/**
|
|
779
1413
|
* Utility functions for the AttentionMarket SDK.
|
|
@@ -908,6 +1542,12 @@ declare class AttentionMarketClient {
|
|
|
908
1542
|
private http;
|
|
909
1543
|
private agentId;
|
|
910
1544
|
private appId;
|
|
1545
|
+
/** Capability session management (multi-turn AI sessions) */
|
|
1546
|
+
readonly sessions: SessionClient;
|
|
1547
|
+
/** Developer portal (login, earnings, stats, analytics) */
|
|
1548
|
+
readonly developer: DeveloperClient;
|
|
1549
|
+
/** Advertiser portal (signup, login, campaigns, stats) */
|
|
1550
|
+
readonly advertiser: AdvertiserClient;
|
|
911
1551
|
constructor(config: SDKConfig);
|
|
912
1552
|
/**
|
|
913
1553
|
* Validate SDK configuration for security
|
|
@@ -1203,6 +1843,59 @@ declare class AttentionMarketClient {
|
|
|
1203
1843
|
* ```
|
|
1204
1844
|
*/
|
|
1205
1845
|
getCategories(params?: GetCategoriesParams): Promise<CategoryTaxonomyResponse>;
|
|
1846
|
+
/**
|
|
1847
|
+
* Sign up a new agent using the v2 endpoint.
|
|
1848
|
+
* Static method — no API key needed.
|
|
1849
|
+
*
|
|
1850
|
+
* @example
|
|
1851
|
+
* ```typescript
|
|
1852
|
+
* const agent = await AttentionMarketClient.signupAgentV2({
|
|
1853
|
+
* owner_email: 'dev@example.com',
|
|
1854
|
+
* agent_name: 'My Agent',
|
|
1855
|
+
* sdk: 'typescript'
|
|
1856
|
+
* });
|
|
1857
|
+
* console.log(agent.api_key_live);
|
|
1858
|
+
* ```
|
|
1859
|
+
*/
|
|
1860
|
+
static signupAgentV2(request: AgentSignupV2Request, baseUrl?: string): Promise<AgentSignupV2Response>;
|
|
1861
|
+
/**
|
|
1862
|
+
* Track an agent-to-agent call using a tracking token.
|
|
1863
|
+
*
|
|
1864
|
+
* @example
|
|
1865
|
+
* ```typescript
|
|
1866
|
+
* await client.trackCall('trk_abc123', { model: 'gpt-4' });
|
|
1867
|
+
* ```
|
|
1868
|
+
*/
|
|
1869
|
+
trackCall(token: string, metadata?: Record<string, unknown>): Promise<TrackCallResponse>;
|
|
1870
|
+
/**
|
|
1871
|
+
* Scrape a website for knowledge base content.
|
|
1872
|
+
* Requires Bearer JWT and an OpenAI API key header.
|
|
1873
|
+
*
|
|
1874
|
+
* @example
|
|
1875
|
+
* ```typescript
|
|
1876
|
+
* const result = await client.scrapeSite(
|
|
1877
|
+
* { url: 'https://example.com', max_pages: 10 },
|
|
1878
|
+
* 'jwt_token',
|
|
1879
|
+
* 'sk-openai-key'
|
|
1880
|
+
* );
|
|
1881
|
+
* ```
|
|
1882
|
+
*/
|
|
1883
|
+
scrapeSite(request: ScrapeSiteRequest, jwt: string, openaiKey: string): Promise<ScrapeSiteResponse>;
|
|
1884
|
+
/**
|
|
1885
|
+
* Train an agent with custom knowledge.
|
|
1886
|
+
* No default auth — agent ID is in the request body.
|
|
1887
|
+
*
|
|
1888
|
+
* @example
|
|
1889
|
+
* ```typescript
|
|
1890
|
+
* const result = await client.trainAgent({
|
|
1891
|
+
* agent_id: 'agt_123',
|
|
1892
|
+
* training_data: [
|
|
1893
|
+
* { type: 'document', content: 'Product FAQ...' }
|
|
1894
|
+
* ]
|
|
1895
|
+
* });
|
|
1896
|
+
* ```
|
|
1897
|
+
*/
|
|
1898
|
+
trainAgent(request: TrainAgentRequest): Promise<TrainAgentResponse>;
|
|
1206
1899
|
}
|
|
1207
1900
|
|
|
1208
1901
|
/**
|
|
@@ -1607,4 +2300,4 @@ declare function getVertical(taxonomy: string): string | null;
|
|
|
1607
2300
|
*/
|
|
1608
2301
|
declare function suggestTaxonomies(query: string): string[];
|
|
1609
2302
|
|
|
1610
|
-
export { type APIError, APIRequestError, type AdResponse, type AdScore, type AdUnit, type AgentSignupRequest, type AgentSignupResponse, AttentionMarketClient, AttentionMarketError, type Constraints, type Context, type CreateImpressionEventParams, type CreateOpportunityParams, type DecideFromContextRequest, type DecideRequest, type DecideResponse, type Disclosure, type EventIngestRequest, type EventIngestResponse, type EventType, type FormattedAd, type Intent, MockAttentionMarketClient, type MockClientConfig, type NaturalFormatOptions, NetworkError, type OfferResponse, type Opportunity, type ParsedTaxonomy, type Placement, type PlacementType, type PolicyResponse, type Privacy, type RequestOfferFromContextParams, type RequestOfferParams, type SDKConfig, type SanitizeURLOptions, type SponsoredSuggestion, type SponsoredTool, type TaxonomyIntent, TimeoutError, type ToolCall, type Tracking, buildTaxonomy, createImpressionEvent, createOpportunity, detectIntent, escapeHTML, formatInlineMention, formatNatural, generateTimestamp, generateUUID, getBaseTaxonomy, getVertical, isValidTaxonomy, matchesTaxonomy, parseTaxonomy, sanitizeURL, suggestTaxonomies, validateAdFits };
|
|
2303
|
+
export { type APIError, APIRequestError, type AdResponse, type AdScore, type AdUnit, type AdvertiserAnalyticsRequest, type AdvertiserAnalyticsResponse, AdvertiserClient, type AdvertiserLoginRequest, type AdvertiserLoginResponse, type AdvertiserSignupRequest, type AdvertiserSignupResponse, type AdvertiserStatsRequest, type AdvertiserStatsResponse, type AgentSignupRequest, type AgentSignupResponse, type AgentSignupV2Request, type AgentSignupV2Response, AttentionMarketClient, AttentionMarketError, type CampaignCreateRequest, type CampaignCreateResponse, type CampaignUpdateRequest, type CampaignUpdateResponse, type CapabilitySessionConnectGitHubRequest, type CapabilitySessionConnectGitHubResponse, type CapabilitySessionEndRequest, type CapabilitySessionEndResponse, type CapabilitySessionInitiateRequest, type CapabilitySessionInitiateResponse, type CapabilitySessionMessageRequest, type CapabilitySessionMessageResponse, type Constraints, type Context, type CreateImpressionEventParams, type CreateOpportunityParams, type DecideFromContextRequest, type DecideRequest, type DecideResponse, type DeveloperAnalyticsRequest, type DeveloperAnalyticsResponse, DeveloperClient, type DeveloperDataResponse, type DeveloperEarningsResponse, type DeveloperLoginRequest, type DeveloperLoginResponse, type DeveloperStatsRequest, type DeveloperStatsResponse, type Disclosure, type EventIngestRequest, type EventIngestResponse, type EventType, type FormattedAd, type Intent, MockAttentionMarketClient, type MockClientConfig, type NaturalFormatOptions, NetworkError, type OfferResponse, type Opportunity, type ParsedTaxonomy, type Placement, type PlacementType, type PolicyResponse, type Privacy, type RegenerateKeysRequest, type RegenerateKeysResponse, type RequestOfferFromContextParams, type RequestOfferParams, type SDKConfig, type SanitizeURLOptions, type ScrapeSiteRequest, type ScrapeSiteResponse, SessionClient, type SponsoredSuggestion, type SponsoredTool, type TaxonomyIntent, TimeoutError, type ToolCall, type TrackCallRequest, type TrackCallResponse, type Tracking, type TrainAgentRequest, type TrainAgentResponse, buildTaxonomy, createImpressionEvent, createOpportunity, detectIntent, escapeHTML, formatInlineMention, formatNatural, generateTimestamp, generateUUID, getBaseTaxonomy, getVertical, isValidTaxonomy, matchesTaxonomy, parseTaxonomy, sanitizeURL, suggestTaxonomies, validateAdFits };
|