@heyanon-arp/cli 0.0.27 → 0.0.29
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/cli.js +22 -2
- package/dist/cli.js.map +1 -1
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -736,7 +736,7 @@ var import_commander = require("commander");
|
|
|
736
736
|
// package.json
|
|
737
737
|
var package_default = {
|
|
738
738
|
name: "@heyanon-arp/cli",
|
|
739
|
-
version: "0.0.
|
|
739
|
+
version: "0.0.29",
|
|
740
740
|
description: "Command-line client for the Agent Relationship Protocol \u2014 register agents, sign envelopes, run escrowed work cycles on Solana.",
|
|
741
741
|
license: "MIT",
|
|
742
742
|
keywords: ["arp", "agent-relationship-protocol", "did", "solana", "escrow", "ed25519", "agents", "a2a", "cli"],
|
|
@@ -1114,6 +1114,15 @@ function updateAgentLocal(serverOverride, did, patch) {
|
|
|
1114
1114
|
server.agents[did] = { ...server.agents[did], ...patch };
|
|
1115
1115
|
return writeStateFile(state);
|
|
1116
1116
|
}
|
|
1117
|
+
function deleteAgent(serverOverride, did) {
|
|
1118
|
+
const key = resolveServerUrl(serverOverride);
|
|
1119
|
+
const state = readStateFile();
|
|
1120
|
+
const server = state.servers[key];
|
|
1121
|
+
if (!server || !server.agents[did]) return { removed: false, chmodOk: true };
|
|
1122
|
+
delete server.agents[did];
|
|
1123
|
+
const { chmodOk } = writeStateFile(state);
|
|
1124
|
+
return { removed: true, chmodOk };
|
|
1125
|
+
}
|
|
1117
1126
|
function toKeyBundle(agent, exportedAt) {
|
|
1118
1127
|
return {
|
|
1119
1128
|
did: agent.did,
|
|
@@ -6971,8 +6980,11 @@ function accumulate3(value, previous) {
|
|
|
6971
6980
|
}
|
|
6972
6981
|
var defaultRegisterDeps = {
|
|
6973
6982
|
makeApi: (serverOverride) => new ArpApiClient(serverOverride),
|
|
6974
|
-
save: saveAgent
|
|
6983
|
+
save: saveAgent,
|
|
6984
|
+
deleteAgent,
|
|
6985
|
+
loadAgent
|
|
6975
6986
|
};
|
|
6987
|
+
var AGENT_ALREADY_REGISTERED_CODE = "AGENT_ALREADY_REGISTERED";
|
|
6976
6988
|
async function runRegister(opts, deps = defaultRegisterDeps) {
|
|
6977
6989
|
assertJsonRequiresYes(opts);
|
|
6978
6990
|
const api = deps.makeApi(opts.server);
|
|
@@ -7051,6 +7063,7 @@ async function runRegister(opts, deps = defaultRegisterDeps) {
|
|
|
7051
7063
|
tags: answers.tags.length > 0 ? answers.tags : void 0,
|
|
7052
7064
|
registeredAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
7053
7065
|
};
|
|
7066
|
+
const hadLocalRecordBeforeRegister = deps.loadAgent(opts.server, did) != null;
|
|
7054
7067
|
deps.save(opts.server, durableState);
|
|
7055
7068
|
let result;
|
|
7056
7069
|
try {
|
|
@@ -7061,6 +7074,13 @@ async function runRegister(opts, deps = defaultRegisterDeps) {
|
|
|
7061
7074
|
`register: the stored login token for ${api.serverUrl} was rejected (${err.payload.message}) \u2014 run 'heyarp login' again. Your keys are saved locally; re-running register with --from-keys is safe.`
|
|
7062
7075
|
);
|
|
7063
7076
|
}
|
|
7077
|
+
const provesServerDidNotRegister = err instanceof ApiError && err.status >= 400 && err.status < 500 && err.payload.code !== AGENT_ALREADY_REGISTERED_CODE;
|
|
7078
|
+
if (provesServerDidNotRegister && !hadLocalRecordBeforeRegister) {
|
|
7079
|
+
try {
|
|
7080
|
+
deps.deleteAgent(opts.server, did);
|
|
7081
|
+
} catch {
|
|
7082
|
+
}
|
|
7083
|
+
}
|
|
7064
7084
|
throw err;
|
|
7065
7085
|
}
|
|
7066
7086
|
if (result.did !== did) {
|