agent0-sdk 0.2.1

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.
Files changed (79) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +234 -0
  3. package/dist/core/agent.d.ts +76 -0
  4. package/dist/core/agent.d.ts.map +1 -0
  5. package/dist/core/agent.js +477 -0
  6. package/dist/core/agent.js.map +1 -0
  7. package/dist/core/contracts.d.ts +688 -0
  8. package/dist/core/contracts.d.ts.map +1 -0
  9. package/dist/core/contracts.js +348 -0
  10. package/dist/core/contracts.js.map +1 -0
  11. package/dist/core/endpoint-crawler.d.ts +44 -0
  12. package/dist/core/endpoint-crawler.d.ts.map +1 -0
  13. package/dist/core/endpoint-crawler.js +280 -0
  14. package/dist/core/endpoint-crawler.js.map +1 -0
  15. package/dist/core/feedback-manager.d.ts +98 -0
  16. package/dist/core/feedback-manager.d.ts.map +1 -0
  17. package/dist/core/feedback-manager.js +543 -0
  18. package/dist/core/feedback-manager.js.map +1 -0
  19. package/dist/core/indexer.d.ts +37 -0
  20. package/dist/core/indexer.d.ts.map +1 -0
  21. package/dist/core/indexer.js +189 -0
  22. package/dist/core/indexer.js.map +1 -0
  23. package/dist/core/ipfs-client.d.ts +88 -0
  24. package/dist/core/ipfs-client.d.ts.map +1 -0
  25. package/dist/core/ipfs-client.js +334 -0
  26. package/dist/core/ipfs-client.js.map +1 -0
  27. package/dist/core/sdk.d.ts +177 -0
  28. package/dist/core/sdk.d.ts.map +1 -0
  29. package/dist/core/sdk.js +544 -0
  30. package/dist/core/sdk.js.map +1 -0
  31. package/dist/core/subgraph-client.d.ts +68 -0
  32. package/dist/core/subgraph-client.d.ts.map +1 -0
  33. package/dist/core/subgraph-client.js +635 -0
  34. package/dist/core/subgraph-client.js.map +1 -0
  35. package/dist/core/web3-client.d.ts +94 -0
  36. package/dist/core/web3-client.d.ts.map +1 -0
  37. package/dist/core/web3-client.js +197 -0
  38. package/dist/core/web3-client.js.map +1 -0
  39. package/dist/index.d.ts +20 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +20 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/models/enums.d.ts +22 -0
  44. package/dist/models/enums.d.ts.map +1 -0
  45. package/dist/models/enums.js +24 -0
  46. package/dist/models/enums.js.map +1 -0
  47. package/dist/models/generated/subgraph-types.d.ts +208 -0
  48. package/dist/models/generated/subgraph-types.d.ts.map +1 -0
  49. package/dist/models/generated/subgraph-types.js +2 -0
  50. package/dist/models/generated/subgraph-types.js.map +1 -0
  51. package/dist/models/index.d.ts +8 -0
  52. package/dist/models/index.d.ts.map +1 -0
  53. package/dist/models/index.js +8 -0
  54. package/dist/models/index.js.map +1 -0
  55. package/dist/models/interfaces.d.ts +125 -0
  56. package/dist/models/interfaces.d.ts.map +1 -0
  57. package/dist/models/interfaces.js +5 -0
  58. package/dist/models/interfaces.js.map +1 -0
  59. package/dist/models/types.d.ts +11 -0
  60. package/dist/models/types.d.ts.map +1 -0
  61. package/dist/models/types.js +5 -0
  62. package/dist/models/types.js.map +1 -0
  63. package/dist/utils/constants.d.ts +24 -0
  64. package/dist/utils/constants.d.ts.map +1 -0
  65. package/dist/utils/constants.js +28 -0
  66. package/dist/utils/constants.js.map +1 -0
  67. package/dist/utils/id-format.d.ts +30 -0
  68. package/dist/utils/id-format.d.ts.map +1 -0
  69. package/dist/utils/id-format.js +67 -0
  70. package/dist/utils/id-format.js.map +1 -0
  71. package/dist/utils/index.d.ts +7 -0
  72. package/dist/utils/index.d.ts.map +1 -0
  73. package/dist/utils/index.js +7 -0
  74. package/dist/utils/index.js.map +1 -0
  75. package/dist/utils/validation.d.ts +25 -0
  76. package/dist/utils/validation.d.ts.map +1 -0
  77. package/dist/utils/validation.js +61 -0
  78. package/dist/utils/validation.js.map +1 -0
  79. package/package.json +71 -0
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Main SDK class for Agent0
3
+ */
4
+ import { ethers } from 'ethers';
5
+ import type { AgentSummary, Feedback, SearchParams } from '../models/interfaces';
6
+ import type { AgentId, ChainId, Address, URI } from '../models/types';
7
+ import { Web3Client } from './web3-client';
8
+ import { IPFSClient } from './ipfs-client';
9
+ import { SubgraphClient } from './subgraph-client';
10
+ import { Agent } from './agent';
11
+ export interface SDKConfig {
12
+ chainId: ChainId;
13
+ rpcUrl: string;
14
+ signer?: string;
15
+ registryOverrides?: Record<ChainId, Record<string, Address>>;
16
+ ipfs?: 'node' | 'filecoinPin' | 'pinata';
17
+ ipfsNodeUrl?: string;
18
+ filecoinPrivateKey?: string;
19
+ pinataJwt?: string;
20
+ subgraphUrl?: string;
21
+ subgraphOverrides?: Record<ChainId, string>;
22
+ }
23
+ /**
24
+ * Main SDK class for Agent0
25
+ */
26
+ export declare class SDK {
27
+ private readonly _web3Client;
28
+ private _ipfsClient?;
29
+ private _subgraphClient?;
30
+ private readonly _feedbackManager;
31
+ private readonly _indexer;
32
+ private _identityRegistry?;
33
+ private _reputationRegistry?;
34
+ private _validationRegistry?;
35
+ private readonly _registries;
36
+ private readonly _chainId;
37
+ private readonly _subgraphUrls;
38
+ constructor(config: SDKConfig);
39
+ /**
40
+ * Initialize IPFS client based on configuration
41
+ */
42
+ private _initializeIpfsClient;
43
+ /**
44
+ * Get current chain ID
45
+ */
46
+ chainId(): Promise<ChainId>;
47
+ /**
48
+ * Get resolved registry addresses for current chain
49
+ */
50
+ registries(): Record<string, Address>;
51
+ /**
52
+ * Get identity registry contract
53
+ */
54
+ getIdentityRegistry(): ethers.Contract;
55
+ /**
56
+ * Get reputation registry contract
57
+ */
58
+ getReputationRegistry(): ethers.Contract;
59
+ /**
60
+ * Get validation registry contract
61
+ */
62
+ getValidationRegistry(): ethers.Contract;
63
+ /**
64
+ * Check if SDK is in read-only mode (no signer)
65
+ */
66
+ get isReadOnly(): boolean;
67
+ /**
68
+ * Create a new agent (off-chain object in memory)
69
+ */
70
+ createAgent(name: string, description: string, image?: URI): Agent;
71
+ /**
72
+ * Load an existing agent (hydrates from registration file if registered)
73
+ */
74
+ loadAgent(agentId: AgentId): Promise<Agent>;
75
+ /**
76
+ * Get agent summary from subgraph (read-only)
77
+ */
78
+ getAgent(agentId: AgentId): Promise<AgentSummary | null>;
79
+ /**
80
+ * Search agents with filters
81
+ */
82
+ searchAgents(params?: SearchParams, sort?: string[], pageSize?: number, cursor?: string): Promise<{
83
+ items: AgentSummary[];
84
+ nextCursor?: string;
85
+ }>;
86
+ /**
87
+ * Search agents by reputation
88
+ */
89
+ searchAgentsByReputation(agents?: AgentId[], tags?: string[], reviewers?: Address[], capabilities?: string[], skills?: string[], tasks?: string[], names?: string[], minAverageScore?: number, includeRevoked?: boolean, pageSize?: number, cursor?: string, sort?: string[]): Promise<{
90
+ items: AgentSummary[];
91
+ nextCursor?: string;
92
+ }>;
93
+ /**
94
+ * Transfer agent ownership
95
+ */
96
+ transferAgent(agentId: AgentId, newOwner: Address): Promise<{
97
+ txHash: string;
98
+ from: Address;
99
+ to: Address;
100
+ agentId: AgentId;
101
+ }>;
102
+ /**
103
+ * Check if address is agent owner
104
+ */
105
+ isAgentOwner(agentId: AgentId, address: Address): Promise<boolean>;
106
+ /**
107
+ * Get agent owner
108
+ */
109
+ getAgentOwner(agentId: AgentId): Promise<Address>;
110
+ /**
111
+ * Sign feedback authorization for a client
112
+ */
113
+ signFeedbackAuth(agentId: AgentId, clientAddress: Address, indexLimit?: number, expiryHours?: number): Promise<string>;
114
+ /**
115
+ * Prepare feedback file
116
+ */
117
+ prepareFeedback(agentId: AgentId, score?: number, tags?: string[], text?: string, capability?: string, name?: string, skill?: string, task?: string, context?: Record<string, unknown>, proofOfPayment?: Record<string, unknown>, extra?: Record<string, unknown>): Record<string, unknown>;
118
+ /**
119
+ * Give feedback
120
+ */
121
+ giveFeedback(agentId: AgentId, feedbackFile: Record<string, unknown>, feedbackAuth?: string): Promise<Feedback>;
122
+ /**
123
+ * Read feedback
124
+ */
125
+ getFeedback(agentId: AgentId, clientAddress: Address, feedbackIndex: number): Promise<Feedback>;
126
+ /**
127
+ * Search feedback
128
+ */
129
+ searchFeedback(agentId: AgentId, tags?: string[], capabilities?: string[], skills?: string[], minScore?: number, maxScore?: number): Promise<Feedback[]>;
130
+ /**
131
+ * Append response to feedback
132
+ */
133
+ appendResponse(agentId: AgentId, clientAddress: Address, feedbackIndex: number, response: {
134
+ uri: URI;
135
+ hash: string;
136
+ }): Promise<string>;
137
+ /**
138
+ * Revoke feedback
139
+ */
140
+ revokeFeedback(agentId: AgentId, feedbackIndex: number): Promise<string>;
141
+ /**
142
+ * Get reputation summary
143
+ */
144
+ getReputationSummary(agentId: AgentId, tag1?: string, tag2?: string): Promise<{
145
+ count: number;
146
+ averageScore: number;
147
+ }>;
148
+ /**
149
+ * Create an empty registration file structure
150
+ */
151
+ private _createEmptyRegistrationFile;
152
+ /**
153
+ * Private helper methods
154
+ */
155
+ private _loadRegistrationFile;
156
+ /**
157
+ * Transform raw registration file (from IPFS/HTTP) to RegistrationFile format
158
+ * Accepts raw JSON data which may have legacy format or new format
159
+ */
160
+ private _transformRegistrationFile;
161
+ /**
162
+ * Transform endpoints from old format { name, endpoint, version } to new format { type, value, meta }
163
+ */
164
+ private _transformEndpoints;
165
+ /**
166
+ * Transform a single endpoint from legacy format
167
+ */
168
+ private _transformEndpointLegacy;
169
+ /**
170
+ * Extract wallet address and chain ID from raw data
171
+ */
172
+ private _extractWalletInfo;
173
+ get web3Client(): Web3Client;
174
+ get ipfsClient(): IPFSClient | undefined;
175
+ get subgraphClient(): SubgraphClient | undefined;
176
+ }
177
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/core/sdk.ts"],"names":[],"mappings":"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"}