ethagent 3.2.0 → 3.3.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.
Files changed (54) hide show
  1. package/README.md +15 -16
  2. package/package.json +1 -1
  3. package/src/identity/continuity/history.ts +8 -8
  4. package/src/identity/continuity/publicSkills.ts +2 -79
  5. package/src/identity/continuity/skills/publicSkillsSync.ts +8 -7
  6. package/src/identity/continuity/snapshots.ts +3 -8
  7. package/src/identity/continuity/storage/defaults.ts +3 -3
  8. package/src/identity/continuity/storage/paths.ts +1 -1
  9. package/src/identity/continuity/storage/scaffold.ts +37 -25
  10. package/src/identity/continuity/storage/status.ts +11 -11
  11. package/src/identity/continuity/storage/types.ts +4 -4
  12. package/src/identity/continuity/storage.ts +4 -4
  13. package/src/identity/ens/agentRecords.ts +61 -45
  14. package/src/identity/ens/ensAutomation/read.ts +7 -10
  15. package/src/identity/ens/ensAutomation/setup.ts +10 -16
  16. package/src/identity/ens/ensAutomation/types.ts +0 -1
  17. package/src/identity/ens/ensAutomation.ts +1 -0
  18. package/src/identity/ens/ensLookup/records.ts +1 -1
  19. package/src/identity/ens/ensLookup.ts +1 -1
  20. package/src/identity/ens/erc7930.ts +48 -0
  21. package/src/identity/hub/OperationalRoutes.tsx +4 -1
  22. package/src/identity/hub/continuity/effects.ts +17 -39
  23. package/src/identity/hub/continuity/skills/NewSkillVisibilityScreen.tsx +2 -2
  24. package/src/identity/hub/continuity/skills/SkillActionsScreen.tsx +2 -2
  25. package/src/identity/hub/continuity/state.ts +1 -1
  26. package/src/identity/hub/continuity/vault.ts +16 -50
  27. package/src/identity/hub/create/effects.ts +12 -16
  28. package/src/identity/hub/ens/EnsEditFlow.tsx +19 -5
  29. package/src/identity/hub/ens/EnsEditReviewScreens.tsx +11 -11
  30. package/src/identity/hub/ens/EnsEditShared.tsx +2 -6
  31. package/src/identity/hub/ens/editCopy.ts +1 -3
  32. package/src/identity/hub/ens/transactions.ts +67 -18
  33. package/src/identity/hub/profile/effects.ts +15 -30
  34. package/src/identity/hub/profile/identity.ts +2 -4
  35. package/src/identity/hub/profile/operatorSave.ts +10 -30
  36. package/src/identity/hub/restore/RestoreFlow.tsx +9 -9
  37. package/src/identity/hub/restore/apply.ts +7 -8
  38. package/src/identity/hub/restore/helpers.ts +3 -3
  39. package/src/identity/hub/restore/recovery.ts +9 -10
  40. package/src/identity/hub/restore/resolve.ts +11 -9
  41. package/src/identity/hub/shared/components/MenuScreen.tsx +3 -3
  42. package/src/identity/hub/shared/components/UnlinkedIdentityScreen.tsx +2 -2
  43. package/src/identity/hub/shared/effects/sync.ts +1 -1
  44. package/src/identity/hub/transfer/TokenTransferScreens.tsx +1 -1
  45. package/src/identity/hub/transfer/effects.ts +10 -31
  46. package/src/identity/hub/useIdentityHubContinuity.ts +12 -12
  47. package/src/identity/hub/useIdentityHubController.ts +12 -3
  48. package/src/identity/registry/erc8004/metadata.ts +10 -27
  49. package/src/identity/registry/erc8004/types.ts +0 -1
  50. package/src/storage/config.ts +1 -2
  51. package/src/storage/identity.ts +3 -3
  52. package/src/storage/rewind.ts +1 -1
  53. package/src/tools/privateContinuityEditTool.ts +4 -4
  54. package/src/utils/withRetry.ts +2 -2
@@ -257,7 +257,7 @@ function isIdentityMarkdownSnapshot(snapshot: RewindSnapshot): boolean {
257
257
  )
258
258
  }
259
259
 
260
- const IDENTITY_MARKDOWN_FILES = new Set(['soul.md', 'memory.md', 'skills.json'])
260
+ const IDENTITY_MARKDOWN_FILES = new Set(['soul.md', 'memory.md', 'agent-card.json'])
261
261
 
262
262
  function normalizeSnippet(input?: string): string {
263
263
  const normalized = (input ?? '').replace(/\s+/g, ' ').trim()
@@ -4,7 +4,7 @@ import {
4
4
  writePreparedPrivateContinuityEdit,
5
5
  } from '../identity/continuity/privateEdit.js'
6
6
  import { recordPrivateContinuityHistorySnapshot } from '../identity/continuity/history.js'
7
- import { readContinuityFiles, readPublicSkillsFile } from '../identity/continuity/storage.js'
7
+ import { readContinuityFiles, readAgentCardFile } from '../identity/continuity/storage.js'
8
8
  import type { Tool } from './contracts.js'
9
9
  import { formatFileChangeResult } from './fileDiff.js'
10
10
 
@@ -120,9 +120,9 @@ export const privateContinuityEditTool: Tool<typeof schema> = {
120
120
  },
121
121
  async execute(input, context) {
122
122
  const prepared = await preparePrivateContinuityEdit(input, context.config)
123
- const [previousFiles, previousPublicSkills] = await Promise.all([
123
+ const [previousFiles, previousAgentCard] = await Promise.all([
124
124
  readContinuityFiles(prepared.identity),
125
- readPublicSkillsFile(prepared.identity),
125
+ readAgentCardFile(prepared.identity),
126
126
  ])
127
127
  await recordPrivateContinuityHistorySnapshot({
128
128
  identity: prepared.identity,
@@ -131,7 +131,7 @@ export const privateContinuityEditTool: Tool<typeof schema> = {
131
131
  existedBefore: prepared.existedBefore,
132
132
  previousContent: prepared.previousContent,
133
133
  previousFiles,
134
- previousPublicSkills,
134
+ previousAgentCard,
135
135
  changeSummary: prepared.changeSummary,
136
136
  sessionId: context.checkpoint?.sessionId,
137
137
  turnId: context.checkpoint?.turnId,
@@ -220,7 +220,7 @@ export async function fetchWithRetry(
220
220
  && options.parseRetryHintFromBody
221
221
  ) {
222
222
  let bodyText = ''
223
- try { bodyText = await response.text() } catch { /* ignore */ }
223
+ try { bodyText = await response.text() } catch {}
224
224
  bufferedResponse = new Response(bodyText, {
225
225
  status: response.status,
226
226
  statusText: response.statusText,
@@ -240,7 +240,7 @@ export async function fetchWithRetry(
240
240
  if (!classification.retryable || attempt > policy.maxRetries) return bufferedResponse ?? response
241
241
 
242
242
  if (!bufferedResponse) {
243
- try { await response.body?.cancel() } catch { /* ignore */ }
243
+ try { await response.body?.cancel() } catch {}
244
244
  }
245
245
  const delayMs = computeBackoffMs(
246
246
  attempt,