ethagent 2.4.0 → 3.0.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.
- package/README.md +7 -4
- package/package.json +2 -1
- package/src/app/FirstRun.tsx +155 -15
- package/src/app/FirstRunTimeline.tsx +4 -0
- package/src/app/input/AppInputProvider.tsx +19 -0
- package/src/app/input/appInputParser.ts +19 -4
- package/src/chat/ChatBottomPane.tsx +3 -1
- package/src/chat/ChatScreen.tsx +7 -1
- package/src/chat/ConversationStack.tsx +25 -19
- package/src/chat/MessageList.tsx +194 -53
- package/src/chat/chatSessionState.ts +1 -1
- package/src/chat/chatTurnOrchestrator.ts +59 -0
- package/src/chat/input/ChatInput.tsx +3 -0
- package/src/chat/input/textCursor.ts +13 -3
- package/src/chat/transcript/TranscriptView.tsx +7 -5
- package/src/chat/transcript/transcriptViewport.ts +88 -17
- package/src/chat/views/PermissionPrompt.tsx +26 -26
- package/src/chat/views/PermissionsView.tsx +18 -12
- package/src/chat/views/RewindView.tsx +3 -1
- package/src/cli/ResetConfirmView.tsx +24 -9
- package/src/identity/continuity/editor.ts +27 -2
- package/src/identity/continuity/envelope.ts +134 -9
- package/src/identity/continuity/publicSkills.ts +54 -1
- package/src/identity/continuity/skills/frontmatter.ts +183 -0
- package/src/identity/continuity/skills/loadSkills.ts +609 -0
- package/src/identity/continuity/skills/publicSkillsSync.ts +32 -0
- package/src/identity/continuity/skills/scaffold.ts +52 -0
- package/src/identity/continuity/skills/types.ts +30 -0
- package/src/identity/continuity/storage/defaults.ts +28 -47
- package/src/identity/continuity/storage/files.ts +1 -0
- package/src/identity/continuity/storage/paths.ts +1 -0
- package/src/identity/continuity/storage/scaffold.ts +25 -23
- package/src/identity/continuity/storage/status.ts +34 -5
- package/src/identity/continuity/storage/types.ts +3 -2
- package/src/identity/continuity/storage.ts +3 -0
- package/src/identity/hub/OperationalRoutes.tsx +79 -5
- package/src/identity/hub/Routes.tsx +5 -3
- package/src/identity/hub/continuity/ContinuityDashboardScreen.tsx +7 -73
- package/src/identity/hub/continuity/RecoveryConfirmScreen.tsx +6 -6
- package/src/identity/hub/continuity/SavePromptScreen.tsx +1 -2
- package/src/identity/hub/continuity/effects.ts +36 -5
- package/src/identity/hub/continuity/skills/DeleteSkillConfirmScreen.tsx +112 -0
- package/src/identity/hub/continuity/skills/NewSkillScreen.tsx +57 -0
- package/src/identity/hub/continuity/skills/NewSkillVisibilityScreen.tsx +52 -0
- package/src/identity/hub/continuity/skills/SkillActionsScreen.tsx +151 -0
- package/src/identity/hub/continuity/skills/SkillsTreeScreen.tsx +181 -0
- package/src/identity/hub/continuity/snapshot.ts +3 -0
- package/src/identity/hub/continuity/state.ts +9 -8
- package/src/identity/hub/continuity/vault.ts +42 -10
- package/src/identity/hub/create/CreateFlow.tsx +1 -1
- package/src/identity/hub/custody/CustodyEditFlow.tsx +3 -3
- package/src/identity/hub/custody/routes.tsx +1 -1
- package/src/identity/hub/ens/EnsEditAdvancedScreens.tsx +0 -1
- package/src/identity/hub/ens/EnsEditMaintenanceScreens.tsx +0 -1
- package/src/identity/hub/identityHubReducer.ts +15 -0
- package/src/identity/hub/profile/EditProfileFlow.tsx +5 -5
- package/src/identity/hub/profile/effects.ts +16 -3
- package/src/identity/hub/restore/RestoreFlow.tsx +43 -6
- package/src/identity/hub/restore/apply.ts +12 -1
- package/src/identity/hub/restore/recovery.ts +14 -4
- package/src/identity/hub/restore/resolve.ts +1 -1
- package/src/identity/hub/restore/useRestoreEffects.ts +4 -6
- package/src/identity/hub/shared/components/DetailsScreen.tsx +4 -1
- package/src/identity/hub/shared/components/IdentitySummary.tsx +118 -54
- package/src/identity/hub/shared/components/MenuScreen.tsx +21 -18
- package/src/identity/hub/shared/components/UnlinkedIdentityScreen.tsx +4 -4
- package/src/identity/hub/shared/components/menuFlagsFromReconciliation.ts +8 -12
- package/src/identity/hub/shared/effects/sync.ts +16 -3
- package/src/identity/hub/shared/model/copy.ts +2 -4
- package/src/identity/hub/transfer/effects.ts +15 -2
- package/src/identity/hub/useIdentityHubContinuity.ts +145 -23
- package/src/identity/hub/useIdentityHubController.ts +5 -1
- package/src/identity/hub/useIdentityHubSideEffects.ts +2 -4
- package/src/identity/wallet/page/copy.ts +43 -43
- package/src/mcp/manager.ts +1 -1
- package/src/models/ModelPicker.tsx +89 -84
- package/src/models/llamacpp.ts +160 -11
- package/src/models/llamacppPreflight.ts +1 -16
- package/src/models/modelPickerOptions.ts +45 -37
- package/src/providers/contracts.ts +1 -0
- package/src/providers/openai-chat.ts +50 -9
- package/src/providers/openai-responses.ts +19 -4
- package/src/runtime/toolExecution.ts +4 -3
- package/src/runtime/turn.ts +61 -30
- package/src/tools/changeDirectoryTool.ts +1 -1
- package/src/tools/contracts.ts +10 -0
- package/src/tools/deleteFileTool.ts +1 -1
- package/src/tools/editTool.ts +1 -1
- package/src/tools/listDirectoryTool.ts +1 -1
- package/src/tools/listSkillFilesTool.ts +77 -0
- package/src/tools/listSkillsTool.ts +68 -0
- package/src/tools/mcpResourceTools.ts +2 -2
- package/src/tools/privateContinuityReadTool.ts +1 -1
- package/src/tools/readSkillTool.ts +107 -0
- package/src/tools/readTool.ts +1 -1
- package/src/tools/registry.ts +6 -0
- package/src/tools/writeFileTool.ts +22 -2
- package/src/ui/Spinner.tsx +1 -1
- package/src/identity/continuity/localBackup.ts +0 -249
- package/src/identity/continuity/zipWriter.ts +0 -95
- package/src/identity/hub/continuity/index.ts +0 -7
- package/src/identity/hub/ens/index.ts +0 -11
- package/src/identity/hub/restore/index.ts +0 -22
|
@@ -17,19 +17,19 @@ export interface FlowCopy {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export const FLOW_COPY: Record<string, FlowCopy> = {
|
|
20
|
-
account: { accent: "sign", tabTitle: "Connect Wallet", label: "
|
|
20
|
+
account: { accent: "sign", tabTitle: "Connect Wallet", label: "Connection Request", title: "Connect Wallet", detail: null },
|
|
21
21
|
sign: { accent: "sign", tabTitle: "Sign Message", label: "Signature Request", title: "Sign Message", detail: "message" },
|
|
22
|
-
"sign-transaction": { accent: "transaction", tabTitle: "Sign
|
|
23
|
-
transaction: { accent: "transaction", tabTitle: "Submit Transaction", label: "Transaction
|
|
22
|
+
"sign-transaction": { accent: "transaction", tabTitle: "Sign Snapshot", label: "Snapshot Signature", title: "Sign Snapshot", detail: "message" },
|
|
23
|
+
transaction: { accent: "transaction", tabTitle: "Submit Transaction", label: "Onchain Transaction", title: "Submit Transaction", detail: "registry" },
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
export const TRANSACTION_TITLES: Record<string, string> = {
|
|
27
27
|
"register-agent": "Mint Agent Token",
|
|
28
28
|
"create-agent": "Create Agent",
|
|
29
|
-
"update-ens-records": "
|
|
30
|
-
"clear-ens-records": "
|
|
31
|
-
"create-simple-ens-subdomain": "
|
|
32
|
-
"set-simple-ens-records": "
|
|
29
|
+
"update-ens-records": "Submit With ENS Controller Wallet",
|
|
30
|
+
"clear-ens-records": "Submit With ENS Controller Wallet",
|
|
31
|
+
"create-simple-ens-subdomain": "Submit With Connected Wallet",
|
|
32
|
+
"set-simple-ens-records": "Submit With Connected Wallet",
|
|
33
33
|
"create-agent-ens-subdomain": "Owner Wallet Required",
|
|
34
34
|
"set-agent-ens-records": "Owner Wallet Required",
|
|
35
35
|
"publish-transfer-snapshot": "Switch Back to Sender Wallet",
|
|
@@ -48,7 +48,7 @@ export const STATE_TITLES = {
|
|
|
48
48
|
preparingTransaction: "Preparing Transaction",
|
|
49
49
|
approveTransaction: "Review Transaction",
|
|
50
50
|
error: "Wallet Error",
|
|
51
|
-
default: "Wallet
|
|
51
|
+
default: "Wallet Action",
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
export interface SubCopy { text: string; hint: string; }
|
|
@@ -64,14 +64,14 @@ export interface PurposeCopyEntry {
|
|
|
64
64
|
export const PURPOSE_COPY: Record<string, PurposeCopyEntry> = {
|
|
65
65
|
"connect-operator-wallet": {
|
|
66
66
|
flowTitle: "Connect Wallet",
|
|
67
|
-
account: { text: "Connect Wallet", hint: "Reads
|
|
67
|
+
account: { text: "Connect Wallet", hint: "Reads the operator wallet address for the agent ENS records. No signature or transaction." },
|
|
68
68
|
prepare: { text: "Reading Operator Wallet...", hint: "Return to the terminal." },
|
|
69
69
|
},
|
|
70
70
|
"create-agent": {
|
|
71
71
|
flowTitle: "Create Agent",
|
|
72
72
|
sign: { text: "Sign With Owner Wallet", hint: "Creates encrypted recovery access. No token approval." },
|
|
73
73
|
prepare: { text: "Saving Snapshot...", hint: "Keep this page open." },
|
|
74
|
-
transaction: { text: "
|
|
74
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Submits one onchain transaction that mints a new ERC-8004 agent token to this wallet." },
|
|
75
75
|
},
|
|
76
76
|
"restore-owner-wallet": {
|
|
77
77
|
flowTitle: "Owner Wallet Required",
|
|
@@ -87,91 +87,91 @@ export const PURPOSE_COPY: Record<string, PurposeCopyEntry> = {
|
|
|
87
87
|
flowTitle: "Owner Wallet Required",
|
|
88
88
|
sign: { text: "Sign With Owner Wallet", hint: "Encrypts local files before publishing. Owner wallet is required because this update changes ownership-protected fields." },
|
|
89
89
|
prepare: { text: "Saving Snapshot...", hint: "Keep this page open." },
|
|
90
|
-
transaction: { text: "
|
|
90
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Publishes the updated snapshot to the ERC-8004 token URI." },
|
|
91
91
|
},
|
|
92
92
|
"update-snapshot-operator": {
|
|
93
93
|
flowTitle: "Operator Wallet Save",
|
|
94
94
|
sign: { text: "Sign With Operator Wallet", hint: "Signs the encrypted snapshot for restore access." },
|
|
95
95
|
prepare: { text: "Saving Snapshot...", hint: "Keep this page open." },
|
|
96
|
-
transaction: { text: "
|
|
96
|
+
transaction: { text: "Submit With Operator Wallet", hint: "Publishes the latest agent snapshot through the Vault." },
|
|
97
97
|
},
|
|
98
98
|
"update-snapshot-connected": {
|
|
99
99
|
flowTitle: "Save Snapshot",
|
|
100
100
|
sign: { text: "Sign With Connected Wallet", hint: "Encrypts local files before publishing. Single-wallet setup; no token approval." },
|
|
101
101
|
prepare: { text: "Saving Snapshot...", hint: "Keep this page open." },
|
|
102
|
-
transaction: { text: "
|
|
102
|
+
transaction: { text: "Submit With Connected Wallet", hint: "Publishes the updated snapshot to the ERC-8004 token URI." },
|
|
103
103
|
},
|
|
104
104
|
"update-ens": {
|
|
105
105
|
flowTitle: "Update ENS in Agent Snapshot",
|
|
106
106
|
sign: { text: "Sign With Owner Wallet", hint: "Saves a new agent snapshot with this ENS name. No onchain ENS records change in this signature." },
|
|
107
107
|
prepare: { text: "Saving Snapshot...", hint: "Keep this page open." },
|
|
108
|
-
transaction: { text: "
|
|
108
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Publishes the updated ERC-8004 token URI pointing to the new snapshot." },
|
|
109
109
|
},
|
|
110
110
|
"clear-ens": {
|
|
111
|
-
flowTitle: "
|
|
111
|
+
flowTitle: "Unlink ENS from Agent",
|
|
112
112
|
sign: { text: "Sign With Owner Wallet", hint: "Saves a new agent snapshot with no ENS name. No onchain ENS records change in this signature." },
|
|
113
113
|
prepare: { text: "Saving Snapshot...", hint: "Keep this page open." },
|
|
114
|
-
transaction: { text: "
|
|
114
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Publishes the updated ERC-8004 token URI pointing to the new snapshot." },
|
|
115
115
|
},
|
|
116
116
|
"update-profile-owner": {
|
|
117
117
|
flowTitle: "Owner Wallet Required",
|
|
118
118
|
sign: { text: "Sign With Owner Wallet", hint: "Saves public profile changes. Owner wallet is required because this update changes ownership-protected fields." },
|
|
119
119
|
prepare: { text: "Preparing Profile Update...", hint: "Keep this page open." },
|
|
120
|
-
transaction: { text: "
|
|
120
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Publishes the updated public profile to the ERC-8004 token URI." },
|
|
121
121
|
},
|
|
122
122
|
"update-profile-operator": {
|
|
123
123
|
flowTitle: "Operator Wallet Profile Update",
|
|
124
124
|
sign: { text: "Sign With Operator Wallet", hint: "Signs the encrypted snapshot for restore access." },
|
|
125
125
|
prepare: { text: "Preparing Profile Update...", hint: "Keep this page open." },
|
|
126
|
-
transaction: { text: "
|
|
126
|
+
transaction: { text: "Submit With Operator Wallet", hint: "Publishes the updated agent profile through the Vault. No ENS write." },
|
|
127
127
|
},
|
|
128
128
|
"update-profile-connected": {
|
|
129
129
|
flowTitle: "Update Public Profile",
|
|
130
130
|
sign: { text: "Sign With Connected Wallet", hint: "Saves public profile changes. Single-wallet setup; no token approval." },
|
|
131
131
|
prepare: { text: "Preparing Profile Update...", hint: "Keep this page open." },
|
|
132
|
-
transaction: { text: "
|
|
132
|
+
transaction: { text: "Submit With Connected Wallet", hint: "Publishes the updated public profile to the ERC-8004 token URI." },
|
|
133
133
|
},
|
|
134
134
|
"update-ens-records": {
|
|
135
135
|
flowTitle: "Update ENS Records",
|
|
136
|
-
sign: { text: "Sign With ENS
|
|
136
|
+
sign: { text: "Sign With ENS Controller Wallet", hint: "Authorizes ENS record changes. No token approval." },
|
|
137
137
|
prepare: { text: "Preparing ENS Transaction...", hint: "Keep this page open." },
|
|
138
|
-
transaction: { text: "
|
|
138
|
+
transaction: { text: "Submit With ENS Controller Wallet", hint: "Submit one Ethereum Mainnet ENS record transaction." },
|
|
139
139
|
},
|
|
140
140
|
"clear-ens-records": {
|
|
141
|
-
flowTitle: "
|
|
142
|
-
sign: { text: "Sign With ENS
|
|
141
|
+
flowTitle: "Clear ENS Records",
|
|
142
|
+
sign: { text: "Sign With ENS Controller Wallet", hint: "Authorizes clearing ethagent ENS text records. No token approval." },
|
|
143
143
|
prepare: { text: "Preparing ENS Transaction...", hint: "Keep this page open." },
|
|
144
|
-
transaction: { text: "
|
|
144
|
+
transaction: { text: "Submit With ENS Controller Wallet", hint: "Submit one Ethereum Mainnet transaction to clear ethagent ENS text records." },
|
|
145
145
|
},
|
|
146
146
|
"create-simple-ens-subdomain": {
|
|
147
147
|
flowTitle: "Review ENS Subdomain Creation",
|
|
148
148
|
sign: { text: "Sign With Connected Wallet", hint: "Connected wallet owns the ENS root and is creating the agent subdomain." },
|
|
149
149
|
prepare: { text: "Preparing ENS Transaction...", hint: "Keep this page open." },
|
|
150
|
-
transaction: { text: "
|
|
150
|
+
transaction: { text: "Submit With Connected Wallet", hint: "Creates the agent ENS subdomain on Ethereum Mainnet. Must come from the parent name's owner." },
|
|
151
151
|
},
|
|
152
152
|
"set-simple-ens-records": {
|
|
153
153
|
flowTitle: "Apply ENS Records",
|
|
154
154
|
sign: { text: "Sign With Connected Wallet", hint: "Connected wallet writes the agent ENS records." },
|
|
155
155
|
prepare: { text: "Preparing ENS Transaction...", hint: "Keep this page open." },
|
|
156
|
-
transaction: { text: "
|
|
156
|
+
transaction: { text: "Submit With Connected Wallet", hint: "Writes the agent ENS text records onchain. Must come from the name's controller." },
|
|
157
157
|
},
|
|
158
158
|
"create-agent-ens-subdomain": {
|
|
159
159
|
flowTitle: "Review Agent ENS Subdomain",
|
|
160
160
|
sign: { text: "Sign With Owner Wallet", hint: "Owner wallet controls the ENS root that the agent subdomain hangs off." },
|
|
161
161
|
prepare: { text: "Preparing ENS Transaction...", hint: "Keep this page open." },
|
|
162
|
-
transaction: { text: "
|
|
162
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Creates the agent ENS subdomain on Ethereum Mainnet. Must come from the parent name's owner wallet." },
|
|
163
163
|
},
|
|
164
164
|
"set-agent-ens-records": {
|
|
165
165
|
flowTitle: "Apply Agent ENS Records",
|
|
166
166
|
sign: { text: "Sign With Owner Wallet", hint: "Owner wallet writes the agent ENS records pointing at the operator wallet." },
|
|
167
167
|
prepare: { text: "Preparing ENS Transaction...", hint: "Keep this page open." },
|
|
168
|
-
transaction: { text: "
|
|
168
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Writes the agent ENS text and address records onchain. Must come from the name's controller." },
|
|
169
169
|
},
|
|
170
170
|
"update-operators": {
|
|
171
171
|
flowTitle: "Owner Wallet Required",
|
|
172
172
|
sign: { text: "Sign With Owner Wallet", hint: "Authorizes the new operator wallet access list. No token approval." },
|
|
173
173
|
prepare: { text: "Preparing Operator Wallets...", hint: "Keep this page open." },
|
|
174
|
-
transaction: { text: "
|
|
174
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Publishes the updated operator wallet access list onchain." },
|
|
175
175
|
},
|
|
176
176
|
"operator-proof": {
|
|
177
177
|
flowTitle: "Operator Wallet Required",
|
|
@@ -181,7 +181,7 @@ export const PURPOSE_COPY: Record<string, PurposeCopyEntry> = {
|
|
|
181
181
|
"sync-operator-vault": {
|
|
182
182
|
flowTitle: "Owner Wallet Required",
|
|
183
183
|
prepare: { text: "Preparing Vault Operator Update...", hint: "Keep this page open." },
|
|
184
|
-
transaction: { text: "
|
|
184
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Updates the Vault metadata-operator list so authorized operator wallets can rotate the agent URI." },
|
|
185
185
|
},
|
|
186
186
|
"refetch-snapshot": {
|
|
187
187
|
flowTitle: "Refetch Latest Snapshot",
|
|
@@ -189,7 +189,7 @@ export const PURPOSE_COPY: Record<string, PurposeCopyEntry> = {
|
|
|
189
189
|
prepare: { text: "Verifying Wallet...", hint: "Return to the terminal." },
|
|
190
190
|
},
|
|
191
191
|
"prepare-transfer-sender": {
|
|
192
|
-
flowTitle: "
|
|
192
|
+
flowTitle: "Submit With Sender Wallet",
|
|
193
193
|
sign: { text: "Sign With Sender Wallet", hint: "Creates sender restore access. No token approval." },
|
|
194
194
|
prepare: { text: "Verifying Sender Wallet...", hint: "Return to the terminal." },
|
|
195
195
|
},
|
|
@@ -201,47 +201,47 @@ export const PURPOSE_COPY: Record<string, PurposeCopyEntry> = {
|
|
|
201
201
|
"publish-transfer-snapshot": {
|
|
202
202
|
flowTitle: "Switch Back to Sender Wallet",
|
|
203
203
|
prepare: { text: "Preparing Token Update...", hint: "Keep this page open." },
|
|
204
|
-
transaction: { text: "
|
|
204
|
+
transaction: { text: "Submit With Sender Wallet", hint: "Submits one transaction to publish the transfer snapshot to the ERC-8004 token URI." },
|
|
205
205
|
},
|
|
206
206
|
"deploy-agent-vault": {
|
|
207
207
|
flowTitle: "Deploy Vault",
|
|
208
208
|
prepare: { text: "Preparing Vault Deploy...", hint: "Keep this page open." },
|
|
209
|
-
transaction: { text: "
|
|
209
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Deploys the Vault contract onchain. One-time setup per agent." },
|
|
210
210
|
errorContext: "While submitting the Vault deploy",
|
|
211
211
|
},
|
|
212
212
|
"deposit-agent-vault": {
|
|
213
213
|
flowTitle: "Deposit Token Into Vault",
|
|
214
214
|
prepare: { text: "Preparing Vault Deposit...", hint: "Keep this page open." },
|
|
215
|
-
transaction: { text: "
|
|
215
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Sends the agent token to the Vault so the vault can save updates on your behalf." },
|
|
216
216
|
errorContext: "While submitting the Vault deposit",
|
|
217
217
|
},
|
|
218
218
|
"unwrap-agent-vault": {
|
|
219
219
|
flowTitle: "Unwrap Token From Vault",
|
|
220
220
|
prepare: { text: "Preparing Vault Unwrap...", hint: "Keep this page open." },
|
|
221
|
-
transaction: { text: "
|
|
221
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Returns the agent token from the Vault to your owner wallet." },
|
|
222
222
|
},
|
|
223
223
|
"rotate-agent-uri-vault-owner": {
|
|
224
224
|
flowTitle: "Save Update Through Vault",
|
|
225
|
-
sign: { text: "Sign With Owner Wallet", hint: "
|
|
225
|
+
sign: { text: "Sign With Owner Wallet", hint: "Signs the new snapshot before saving onchain. No token approval." },
|
|
226
226
|
prepare: { text: "Preparing Update...", hint: "Keep this page open." },
|
|
227
|
-
transaction: { text: "
|
|
227
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Saves your update onchain through the Vault. Your token is locked in its dedicated Vault, so updates go through it." },
|
|
228
228
|
},
|
|
229
229
|
"rotate-agent-uri-vault-operator": {
|
|
230
230
|
flowTitle: "Save Update Through Vault",
|
|
231
|
-
sign: { text: "Sign With Operator Wallet", hint: "
|
|
231
|
+
sign: { text: "Sign With Operator Wallet", hint: "Signs the new snapshot before saving onchain. No token approval." },
|
|
232
232
|
prepare: { text: "Preparing Update...", hint: "Keep this page open." },
|
|
233
|
-
transaction: { text: "
|
|
233
|
+
transaction: { text: "Submit With Operator Wallet", hint: "Publishes the latest agent snapshot through the Vault. Your token is locked in its dedicated Vault, so the operator wallet calls the vault to publish." },
|
|
234
234
|
},
|
|
235
235
|
"withdraw-vault": {
|
|
236
236
|
flowTitle: "Withdraw Token From Vault",
|
|
237
237
|
prepare: { text: "Preparing Token Withdrawal...", hint: "Keep this page open." },
|
|
238
|
-
transaction: { text: "
|
|
238
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Temporarily returns the agent token from the vault to your owner wallet. Vault stays configured so you can redeposit later." },
|
|
239
239
|
errorContext: "While submitting the Vault withdraw",
|
|
240
240
|
},
|
|
241
241
|
"delete-ens-subdomain": {
|
|
242
242
|
flowTitle: "Delete ENS Subdomain",
|
|
243
243
|
prepare: { text: "Preparing Subdomain Deletion...", hint: "Keep this page open." },
|
|
244
|
-
transaction: { text: "
|
|
244
|
+
transaction: { text: "Submit With Owner Wallet", hint: "Clears the subdomain entry in the parent ENS name. After this, the label is freed for reuse." },
|
|
245
245
|
errorContext: "While deleting the ENS subdomain",
|
|
246
246
|
},
|
|
247
247
|
};
|
|
@@ -285,13 +285,13 @@ export function ensTokenChainHint(): string {
|
|
|
285
285
|
}
|
|
286
286
|
export function transactionCopy(): SubCopy {
|
|
287
287
|
const txCopy = requirePurposeSubCopy("transaction");
|
|
288
|
-
const expected = config.expectedAccount ? "
|
|
288
|
+
const expected = config.expectedAccount ? " Required wallet:" + shortAddr(config.expectedAccount) + "." : "";
|
|
289
289
|
const text = config.expectedAccount ? txCopy.text + " (" + shortAddr(config.expectedAccount) + ")" : txCopy.text;
|
|
290
290
|
return { text, hint: txCopy.hint + expected + ensTokenChainHint() };
|
|
291
291
|
}
|
|
292
292
|
export function signCopy(): SubCopy {
|
|
293
293
|
const sigCopy = requirePurposeSubCopy("sign");
|
|
294
|
-
const expected = config.expectedAccount ? "
|
|
294
|
+
const expected = config.expectedAccount ? " Required wallet:" + shortAddr(config.expectedAccount) + "." : "";
|
|
295
295
|
const text = config.expectedAccount ? sigCopy.text + " (" + shortAddr(config.expectedAccount) + ")" : sigCopy.text;
|
|
296
296
|
return { text, hint: sigCopy.hint + expected + ensTokenChainHint() };
|
|
297
297
|
}
|
package/src/mcp/manager.ts
CHANGED
|
@@ -441,7 +441,7 @@ export class McpManager implements McpRuntime {
|
|
|
441
441
|
async buildPermissionRequest() {
|
|
442
442
|
return {
|
|
443
443
|
kind: 'mcp',
|
|
444
|
-
title: '
|
|
444
|
+
title: 'Allow MCP tool?',
|
|
445
445
|
subtitle: `${connection.name} / ${tool.name}`,
|
|
446
446
|
serverName: connection.name,
|
|
447
447
|
normalizedServerName: connection.normalizedName,
|