@bytexbyte/nxtlinq-ai-agent-sdk 1.1.0 → 1.1.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.
@@ -39,7 +39,6 @@ export interface AIT {
39
39
  metadata: AITMetadata;
40
40
  metadataHash: string;
41
41
  metadataCid: string;
42
- signature: string;
43
42
  }
44
43
  export interface ChatBotProps {
45
44
  projectId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatBot.d.ts","sourceRoot":"","sources":["../../src/components/ChatBot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAC5C,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAsUD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAgzB1C,CAAC"}
1
+ {"version":3,"file":"ChatBot.d.ts","sourceRoot":"","sources":["../../src/components/ChatBot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAC5C,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAsUD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAgzB1C,CAAC"}
@@ -213,7 +213,6 @@ export const ChatBot = ({ projectId, onMessage, onError, onToolUse, presetMessag
213
213
  const messagesEndRef = React.useRef(null);
214
214
  const [isDisabled, setIsDisabled] = React.useState(true);
215
215
  const [signer, setSigner] = React.useState(null);
216
- const [provider, setProvider] = React.useState(null);
217
216
  const [accessToken, setAccessToken] = React.useState(null);
218
217
  const [walletInfo, setWalletInfo] = React.useState(null);
219
218
  const verifyWalletBtnRef = React.useRef(null);
@@ -281,6 +280,10 @@ export const ChatBot = ({ projectId, onMessage, onError, onToolUse, presetMessag
281
280
  }
282
281
  const getWalletResponse = await nxtlinqApi.wallet.getWallet({ address: hitAddress }, accessToken);
283
282
  if ('error' in getWalletResponse) {
283
+ if (getWalletResponse.error === 'Wallet not found') {
284
+ console.log('Wallet not found - this is expected for new users');
285
+ return;
286
+ }
284
287
  console.error(getWalletResponse.error);
285
288
  return;
286
289
  }
@@ -446,13 +449,12 @@ export const ChatBot = ({ projectId, onMessage, onError, onToolUse, presetMessag
446
449
  throw new Error('Web3 provider not available');
447
450
  }
448
451
  await web3Provider.enable();
449
- const ethersProvider = new ethers.BrowserProvider(web3Provider);
452
+ const ethersProvider = new ethers.providers.Web3Provider(web3Provider);
450
453
  const userSigner = await ethersProvider.getSigner();
451
454
  const userAddress = await userSigner.getAddress();
452
455
  localStorage.setItem('walletAddress', userAddress);
453
456
  setHitAddress(userAddress);
454
457
  setSigner(userSigner);
455
- setProvider(ethersProvider);
456
458
  return userAddress;
457
459
  }
458
460
  catch (error) {
@@ -460,7 +462,6 @@ export const ChatBot = ({ projectId, onMessage, onError, onToolUse, presetMessag
460
462
  localStorage.removeItem('walletAddress');
461
463
  setHitAddress(null);
462
464
  setSigner(null);
463
- setProvider(null);
464
465
  throw error;
465
466
  }
466
467
  }, []);
@@ -529,6 +530,18 @@ export const ChatBot = ({ projectId, onMessage, onError, onToolUse, presetMessag
529
530
  const novaResponse = response;
530
531
  if (novaResponse.toolCall?.toolUse && novaResponse.result !== 'Authentication data retrieved') {
531
532
  if (onToolUse) {
533
+ const isToolAllowed = await hasPermission(novaResponse.toolCall.toolUse.name);
534
+ if (!isToolAllowed) {
535
+ if (ait) {
536
+ const message = {
537
+ id: Date.now().toString(),
538
+ content: 'You have not been granted this permission for the AI agent.',
539
+ role: 'assistant',
540
+ timestamp: new Date().toISOString()
541
+ };
542
+ return message;
543
+ }
544
+ }
532
545
  const toolUseResult = await onToolUse(novaResponse.toolCall.toolUse);
533
546
  if (toolUseResult) {
534
547
  onMessage?.(toolUseResult);
@@ -628,27 +641,21 @@ export const ChatBot = ({ projectId, onMessage, onError, onToolUse, presetMessag
628
641
  model: 'gpt-4',
629
642
  permissions,
630
643
  issuedBy: hitAddress,
631
- controller: hitAddress
632
644
  };
633
645
  const metadataStr = stringify(metadata);
634
- const metadataHash = ethers.keccak256(ethers.toUtf8Bytes(metadataStr || ''));
646
+ const metadataHash = ethers.utils.keccak256(ethers.utils.toUtf8Bytes(metadataStr));
635
647
  // 1️⃣ Upload metadata to Pinata, get CID
636
648
  const uploadResponse = await nxtlinqApi.metadata.createMetadata(metadata, accessToken || '');
637
649
  if ('error' in uploadResponse) {
638
650
  throw new Error(`Failed to upload metadata: ${uploadResponse.error}`);
639
651
  }
640
652
  const { metadataCid } = uploadResponse;
641
- // 2️⃣ Sign the message
642
- const messageHash = ethers.solidityPackedKeccak256(['string', 'address', 'string', 'bytes32', 'uint256'], [aitId, hitAddress, serviceId, metadataHash, timestamp]);
643
- const signature = await signer.signMessage(ethers.getBytes(messageHash));
644
653
  await nxtlinqApi.ait.createAIT({
645
654
  aitId,
646
655
  controller: hitAddress,
647
656
  serviceId,
648
657
  metadataHash,
649
658
  metadataCid,
650
- timestamp,
651
- signature
652
659
  }, accessToken || '');
653
660
  const aitInfo = {
654
661
  aitId,
@@ -656,7 +663,6 @@ export const ChatBot = ({ projectId, onMessage, onError, onToolUse, presetMessag
656
663
  metadata,
657
664
  metadataHash,
658
665
  metadataCid,
659
- signature
660
666
  };
661
667
  setAit(aitInfo);
662
668
  };
@@ -7,8 +7,8 @@ export declare function useNxtlinqAIT(sdk: NxtlinqAITSDK): {
7
7
  isLoading: boolean;
8
8
  error: string | null;
9
9
  connectWallet: () => Promise<void>;
10
- verifyWallet: (token: string, method: string) => Promise<WalletInfo>;
11
- signInWithWallet: () => Promise<string>;
12
- generateAndRegisterAIT: (permissions: string[]) => Promise<AITInfo>;
10
+ verifyWallet: (token: string, method: string) => Promise<any>;
11
+ signInWithWallet: () => Promise<any>;
12
+ generateAndRegisterAIT: (permissions: string[]) => Promise<any>;
13
13
  };
14
14
  //# sourceMappingURL=useNxtlinqAIT.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,114 +1,3 @@
1
- import { ethers } from 'ethers';
2
- import { AITInfo, AITMetadata, PermissionGroup, PermissionOption, WalletInfo, CreateAITParams, CreateMetadataParams, VerifyWalletParams, SignInParams } from './types/ait-api';
3
1
  export { ChatBot } from './components/ChatBot';
4
2
  export type { Message, PresetMessage, ToolUse, ChatBotProps } from './components/ChatBot';
5
- export type { AITInfo, AITMetadata, PermissionGroup, PermissionOption, WalletInfo, CreateAITParams, CreateMetadataParams, VerifyWalletParams, SignInParams };
6
- export interface AITPermission {
7
- hasPermission: boolean;
8
- reason?: string;
9
- permissions?: string[];
10
- }
11
- export interface AIT {
12
- aitId: string;
13
- controller: string;
14
- metadata: AITMetadata;
15
- metadataHash: string;
16
- metadataCid: string;
17
- signature: string;
18
- }
19
- export interface GenerateAITOptions {
20
- hitAddress: string;
21
- signer: ethers.Signer;
22
- permissions: string[];
23
- serviceId: string;
24
- }
25
- export interface MessageResponse {
26
- reply: string;
27
- timestamp: string;
28
- }
29
- export declare class NxtlinqAITSDK {
30
- private serviceId;
31
- private signer;
32
- private walletAddress;
33
- private api;
34
- constructor(serviceId: string, apiKey: string, apiSecret: string);
35
- connectWallet(): Promise<string>;
36
- verifyWallet(token: string, method: string): Promise<WalletInfo>;
37
- signInWithWallet(): Promise<string>;
38
- generateAndRegisterAIT(permissions: string[]): Promise<AITInfo>;
39
- getAIT(): Promise<AITInfo | null>;
40
- getWalletInfo(): Promise<WalletInfo | null>;
41
- createPermissionForm(permissionGroups: PermissionGroup[]): PermissionGroup[];
42
- getSelectedPermissions(form: PermissionGroup[]): string[];
43
- }
44
- export declare class NxtlinqAIAgent {
45
- private projectId;
46
- private apiKey?;
47
- private ait?;
48
- private permissions;
49
- private signer?;
50
- private api;
51
- constructor(projectId: string, apiKey: string, apiSecret: string);
52
- setAIT(ait: AIT, signer?: ethers.Signer): void;
53
- private hasPermission;
54
- private checkAITPermission;
55
- generateAIT(options: GenerateAITOptions): Promise<AIT>;
56
- getAITInfo(serviceId: string, controller: string, signer?: ethers.Signer): Promise<AIT | null>;
57
- sendMessage(message: string, toolName?: string): Promise<MessageResponse>;
58
- }
59
- export interface AITApi {
60
- ait: {
61
- getAITByServiceIdAndController: (params: {
62
- serviceId: string;
63
- controller: string;
64
- }, token: string) => Promise<AITInfo | {
65
- error: string;
66
- }>;
67
- createAIT: (params: CreateAITParams, token: string) => Promise<AITInfo | {
68
- error: string;
69
- }>;
70
- };
71
- wallet: {
72
- verifyWallet: (params: VerifyWalletParams, token: string) => Promise<WalletInfo | {
73
- error: string;
74
- }>;
75
- getWallet: (params: {
76
- address: string;
77
- }, token: string) => Promise<WalletInfo | {
78
- error: string;
79
- }>;
80
- };
81
- metadata: {
82
- createMetadata: (metadata: CreateMetadataParams, token: string) => Promise<{
83
- metadataCid: string;
84
- } | {
85
- error: string;
86
- }>;
87
- };
88
- auth: {
89
- getNonce: (params: {
90
- address: string;
91
- }) => Promise<{
92
- code: string;
93
- timestamp: number;
94
- } | {
95
- error: string;
96
- }>;
97
- signIn: (params: SignInParams) => Promise<{
98
- accessToken: string;
99
- } | {
100
- error: string;
101
- }>;
102
- };
103
- agent: {
104
- sendMessage: (params: {
105
- message: string;
106
- projectId: string;
107
- }) => Promise<{
108
- reply: string;
109
- } | {
110
- error: string;
111
- }>;
112
- };
113
- }
114
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,301 +1 @@
1
- import { ethers } from 'ethers';
2
- import stringify from 'json-stable-stringify';
3
- import { createNxtlinqApi } from './api/nxtlinq-api';
4
1
  export { ChatBot } from './components/ChatBot';
5
- export class NxtlinqAITSDK {
6
- constructor(serviceId, apiKey, apiSecret) {
7
- this.signer = null;
8
- this.walletAddress = null;
9
- this.serviceId = serviceId;
10
- this.api = createNxtlinqApi(apiKey, apiSecret);
11
- }
12
- async connectWallet() {
13
- if (typeof window === 'undefined' || !window.ethereum) {
14
- throw new Error('MetaMask is not installed');
15
- }
16
- const provider = new ethers.BrowserProvider(window.ethereum);
17
- this.signer = await provider.getSigner();
18
- this.walletAddress = await this.signer.getAddress();
19
- return this.walletAddress;
20
- }
21
- async verifyWallet(token, method) {
22
- if (!this.walletAddress) {
23
- throw new Error('Please connect wallet first');
24
- }
25
- const response = await this.api.wallet.verifyWallet({
26
- address: this.walletAddress,
27
- token,
28
- method,
29
- timestamp: Date.now()
30
- }, token);
31
- if ('error' in response) {
32
- throw new Error(response.error);
33
- }
34
- return response;
35
- }
36
- async signInWithWallet() {
37
- if (!this.walletAddress || !this.signer) {
38
- throw new Error('Please connect wallet first');
39
- }
40
- const nonceResponse = await this.api.auth.getNonce({ address: this.walletAddress });
41
- if ('error' in nonceResponse) {
42
- throw new Error(nonceResponse.error);
43
- }
44
- const payload = {
45
- address: this.walletAddress,
46
- code: nonceResponse.code,
47
- timestamp: nonceResponse.timestamp
48
- };
49
- const stringToSign = stringify(payload);
50
- const signature = await this.signer.signMessage(stringToSign || '');
51
- const response = await this.api.auth.signIn({
52
- ...payload,
53
- signature
54
- });
55
- if ('error' in response) {
56
- throw new Error(response.error);
57
- }
58
- return response.accessToken;
59
- }
60
- async generateAndRegisterAIT(permissions) {
61
- if (!this.signer || !this.walletAddress) {
62
- throw new Error('Please connect wallet first');
63
- }
64
- const token = localStorage.getItem('nxtlinqAITServiceAccessToken');
65
- if (!token) {
66
- throw new Error('Access token not found');
67
- }
68
- const timestamp = Math.floor(Date.now() / 1000);
69
- const aitId = `did:polygon:ike-dashboard:${this.walletAddress}:${timestamp}`;
70
- const metadata = {
71
- model: 'gpt-4',
72
- permissions,
73
- issuedBy: this.walletAddress
74
- };
75
- const metadataStr = stringify(metadata);
76
- const metadataHash = ethers.keccak256(ethers.toUtf8Bytes(metadataStr || ''));
77
- // Upload metadata
78
- const uploadResponse = await this.api.metadata.createMetadata({
79
- ...metadata,
80
- controller: this.walletAddress
81
- }, token);
82
- if ('error' in uploadResponse) {
83
- throw new Error(`Failed to upload metadata: ${uploadResponse.error}`);
84
- }
85
- const { metadataCid } = uploadResponse;
86
- // Sign the message
87
- const messageHash = ethers.solidityPackedKeccak256(['string', 'address', 'string', 'bytes32', 'uint256'], [aitId, this.walletAddress, this.serviceId, metadataHash, timestamp]);
88
- const signature = await this.signer.signMessage(ethers.getBytes(messageHash));
89
- // Register AIT
90
- const response = await this.api.ait.createAIT({
91
- aitId,
92
- controller: this.walletAddress,
93
- serviceId: this.serviceId,
94
- metadataHash,
95
- metadataCid,
96
- timestamp,
97
- signature
98
- }, token);
99
- if ('error' in response) {
100
- throw new Error(response.error);
101
- }
102
- return response;
103
- }
104
- async getAIT() {
105
- if (!this.walletAddress) {
106
- return null;
107
- }
108
- const token = localStorage.getItem('nxtlinqAITServiceAccessToken');
109
- if (!token) {
110
- throw new Error('Access token not found');
111
- }
112
- const response = await this.api.ait.getAITByServiceIdAndController({
113
- serviceId: this.serviceId,
114
- controller: this.walletAddress
115
- }, token);
116
- if ('error' in response) {
117
- return null;
118
- }
119
- return response;
120
- }
121
- async getWalletInfo() {
122
- if (!this.walletAddress) {
123
- return null;
124
- }
125
- const token = localStorage.getItem('nxtlinqAITServiceAccessToken');
126
- if (!token) {
127
- throw new Error('Access token not found');
128
- }
129
- const response = await this.api.wallet.getWallet({ address: this.walletAddress }, token);
130
- if ('error' in response) {
131
- return null;
132
- }
133
- return response;
134
- }
135
- createPermissionForm(permissionGroups) {
136
- return permissionGroups.map(group => ({
137
- label: group.label,
138
- options: group.options.map((option) => ({
139
- ...option,
140
- isChecked: false,
141
- }))
142
- }));
143
- }
144
- getSelectedPermissions(form) {
145
- return form.flatMap(group => group.options.filter((opt) => opt.isChecked).map((opt) => opt.value));
146
- }
147
- }
148
- export class NxtlinqAIAgent {
149
- constructor(projectId, apiKey, apiSecret) {
150
- this.permissions = [];
151
- this.projectId = projectId;
152
- this.apiKey = apiKey;
153
- this.api = createNxtlinqApi(apiKey, apiSecret);
154
- }
155
- setAIT(ait, signer) {
156
- this.ait = ait;
157
- this.permissions = ait.metadata.permissions;
158
- if (signer) {
159
- this.signer = signer;
160
- }
161
- }
162
- async hasPermission(toolName) {
163
- if (!this.ait) {
164
- throw new Error('Please connect wallet first to access permissions');
165
- }
166
- return this.permissions.includes(toolName);
167
- }
168
- async checkAITPermission(toolName) {
169
- try {
170
- if (!this.ait) {
171
- return {
172
- hasPermission: false,
173
- reason: 'Please connect wallet first to access permissions'
174
- };
175
- }
176
- if (!toolName) {
177
- return {
178
- hasPermission: true,
179
- permissions: this.permissions
180
- };
181
- }
182
- const hasPermission = await this.hasPermission(toolName);
183
- return {
184
- hasPermission,
185
- reason: hasPermission ? undefined : 'No permission to use this tool',
186
- permissions: this.permissions
187
- };
188
- }
189
- catch (error) {
190
- return {
191
- hasPermission: false,
192
- reason: error instanceof Error ? error.message : 'Unknown error',
193
- permissions: this.permissions
194
- };
195
- }
196
- }
197
- async generateAIT(options) {
198
- const { hitAddress, signer, permissions, serviceId } = options;
199
- const token = localStorage.getItem('nxtlinqAITServiceAccessToken');
200
- if (!token) {
201
- throw new Error('Access token not found');
202
- }
203
- const timestamp = Math.floor(Date.now() / 1000);
204
- const aitId = `did:polygon:ike-dashboard:${hitAddress}:${timestamp}`;
205
- const metadata = {
206
- model: 'gpt-4',
207
- permissions,
208
- issuedBy: hitAddress
209
- };
210
- const metadataStr = stringify(metadata);
211
- const metadataHash = ethers.keccak256(ethers.toUtf8Bytes(metadataStr || ''));
212
- // Upload metadata
213
- const uploadResponse = await this.api.metadata.createMetadata({
214
- ...metadata,
215
- controller: hitAddress
216
- }, token);
217
- if ('error' in uploadResponse) {
218
- throw new Error(`Failed to upload metadata: ${uploadResponse.error}`);
219
- }
220
- const { metadataCid } = uploadResponse;
221
- // Sign the message
222
- const messageHash = ethers.solidityPackedKeccak256(['string', 'address', 'string', 'bytes32', 'uint256'], [aitId, hitAddress, serviceId, metadataHash, timestamp]);
223
- const signature = await signer.signMessage(ethers.getBytes(messageHash));
224
- // Register AIT
225
- const response = await this.api.ait.createAIT({
226
- aitId,
227
- controller: hitAddress,
228
- serviceId,
229
- metadataHash,
230
- metadataCid,
231
- timestamp,
232
- signature
233
- }, token);
234
- if ('error' in response) {
235
- throw new Error(response.error);
236
- }
237
- return {
238
- aitId: response.aitId,
239
- controller: response.controller,
240
- metadata: response.metadata,
241
- metadataHash: response.metadataHash,
242
- metadataCid: response.metadataCid,
243
- signature: response.signature
244
- };
245
- }
246
- async getAITInfo(serviceId, controller, signer) {
247
- const token = localStorage.getItem('nxtlinqAITServiceAccessToken');
248
- if (!token) {
249
- throw new Error('Access token not found');
250
- }
251
- const response = await this.api.ait.getAITByServiceIdAndController({
252
- serviceId,
253
- controller
254
- }, token);
255
- if ('error' in response) {
256
- return null;
257
- }
258
- if (signer) {
259
- this.signer = signer;
260
- }
261
- return {
262
- aitId: response.aitId,
263
- controller: response.controller,
264
- metadata: response.metadata,
265
- metadataHash: response.metadataHash,
266
- metadataCid: response.metadataCid,
267
- signature: response.signature
268
- };
269
- }
270
- async sendMessage(message, toolName) {
271
- const permission = await this.checkAITPermission(toolName);
272
- if (!permission.hasPermission) {
273
- throw new Error(permission.reason || 'No permission to use this tool');
274
- }
275
- if (!this.ait || !this.signer) {
276
- throw new Error('Please connect wallet first to access permissions');
277
- }
278
- const timestamp = Math.floor(Date.now() / 1000);
279
- const stringToSign = stringify({
280
- message,
281
- aitId: this.ait.aitId,
282
- controller: this.ait.controller,
283
- metadata: this.ait.metadata,
284
- metadataHash: this.ait.metadataHash,
285
- serviceId: this.projectId,
286
- timestamp
287
- }) || '';
288
- const signature = await this.signer.signMessage(stringToSign);
289
- const response = await this.api.agent.sendMessage({
290
- message,
291
- projectId: this.projectId,
292
- });
293
- if ('error' in response) {
294
- throw new Error(response.error);
295
- }
296
- return {
297
- reply: response.reply,
298
- timestamp: new Date().toISOString()
299
- };
300
- }
301
- }
@@ -41,11 +41,8 @@ export interface CreateAITParams {
41
41
  serviceId: string;
42
42
  metadataHash: string;
43
43
  metadataCid: string;
44
- timestamp: number;
45
- signature: string;
46
44
  }
47
45
  export interface CreateMetadataParams extends AITMetadata {
48
- controller: string;
49
46
  }
50
47
  export interface VerifyWalletParams {
51
48
  address: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ait-api.d.ts","sourceRoot":"","sources":["../../src/types/ait-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ait-api.d.ts","sourceRoot":"","sources":["../../src/types/ait-api.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytexbyte/nxtlinq-ai-agent-sdk",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Nxtlinq AI Agent SDK - Proprietary Software",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -31,7 +31,7 @@
31
31
  "typescript": "^5.4.2"
32
32
  },
33
33
  "dependencies": {
34
- "ethers": "^6.11.1",
34
+ "ethers": "5.7.0",
35
35
  "json-stable-stringify": "^1.0.2",
36
36
  "metakeep": "^2.2.8"
37
37
  }