@arc402/daemon 1.2.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 (122) hide show
  1. package/bin/arc402-daemon +3 -0
  2. package/dist/abis.d.ts +20 -0
  3. package/dist/abis.d.ts.map +1 -0
  4. package/dist/abis.js +214 -0
  5. package/dist/abis.js.map +1 -0
  6. package/dist/api.d.ts +32 -0
  7. package/dist/api.d.ts.map +1 -0
  8. package/dist/api.js +430 -0
  9. package/dist/api.js.map +1 -0
  10. package/dist/auth-server.d.ts +50 -0
  11. package/dist/auth-server.d.ts.map +1 -0
  12. package/dist/auth-server.js +266 -0
  13. package/dist/auth-server.js.map +1 -0
  14. package/dist/bundler.d.ts +68 -0
  15. package/dist/bundler.d.ts.map +1 -0
  16. package/dist/bundler.js +181 -0
  17. package/dist/bundler.js.map +1 -0
  18. package/dist/capabilities.d.ts +17 -0
  19. package/dist/capabilities.d.ts.map +1 -0
  20. package/dist/capabilities.js +57 -0
  21. package/dist/capabilities.js.map +1 -0
  22. package/dist/compute-metering.d.ts +61 -0
  23. package/dist/compute-metering.d.ts.map +1 -0
  24. package/dist/compute-metering.js +299 -0
  25. package/dist/compute-metering.js.map +1 -0
  26. package/dist/compute-session.d.ts +100 -0
  27. package/dist/compute-session.d.ts.map +1 -0
  28. package/dist/compute-session.js +231 -0
  29. package/dist/compute-session.js.map +1 -0
  30. package/dist/config.d.ts +121 -0
  31. package/dist/config.d.ts.map +1 -0
  32. package/dist/config.js +397 -0
  33. package/dist/config.js.map +1 -0
  34. package/dist/context-manager.d.ts +17 -0
  35. package/dist/context-manager.d.ts.map +1 -0
  36. package/dist/context-manager.js +123 -0
  37. package/dist/context-manager.js.map +1 -0
  38. package/dist/credentials.d.ts +24 -0
  39. package/dist/credentials.d.ts.map +1 -0
  40. package/dist/credentials.js +80 -0
  41. package/dist/credentials.js.map +1 -0
  42. package/dist/delivery-client.d.ts +35 -0
  43. package/dist/delivery-client.d.ts.map +1 -0
  44. package/dist/delivery-client.js +231 -0
  45. package/dist/delivery-client.js.map +1 -0
  46. package/dist/endpoint-policy.d.ts +11 -0
  47. package/dist/endpoint-policy.d.ts.map +1 -0
  48. package/dist/endpoint-policy.js +107 -0
  49. package/dist/endpoint-policy.js.map +1 -0
  50. package/dist/event-watchers.d.ts +11 -0
  51. package/dist/event-watchers.d.ts.map +1 -0
  52. package/dist/event-watchers.js +24 -0
  53. package/dist/event-watchers.js.map +1 -0
  54. package/dist/exec-state.d.ts +37 -0
  55. package/dist/exec-state.d.ts.map +1 -0
  56. package/dist/exec-state.js +53 -0
  57. package/dist/exec-state.js.map +1 -0
  58. package/dist/file-delivery.d.ts +98 -0
  59. package/dist/file-delivery.d.ts.map +1 -0
  60. package/dist/file-delivery.js +473 -0
  61. package/dist/file-delivery.js.map +1 -0
  62. package/dist/handshake-watcher.d.ts +31 -0
  63. package/dist/handshake-watcher.d.ts.map +1 -0
  64. package/dist/handshake-watcher.js +157 -0
  65. package/dist/handshake-watcher.js.map +1 -0
  66. package/dist/hire-listener.d.ts +32 -0
  67. package/dist/hire-listener.d.ts.map +1 -0
  68. package/dist/hire-listener.js +237 -0
  69. package/dist/hire-listener.js.map +1 -0
  70. package/dist/index.d.ts +3 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +182 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/job-lifecycle.d.ts +62 -0
  75. package/dist/job-lifecycle.d.ts.map +1 -0
  76. package/dist/job-lifecycle.js +201 -0
  77. package/dist/job-lifecycle.js.map +1 -0
  78. package/dist/notify.d.ts +51 -0
  79. package/dist/notify.d.ts.map +1 -0
  80. package/dist/notify.js +276 -0
  81. package/dist/notify.js.map +1 -0
  82. package/dist/permission-gate.d.ts +30 -0
  83. package/dist/permission-gate.d.ts.map +1 -0
  84. package/dist/permission-gate.js +180 -0
  85. package/dist/permission-gate.js.map +1 -0
  86. package/dist/prompt-guard.d.ts +18 -0
  87. package/dist/prompt-guard.d.ts.map +1 -0
  88. package/dist/prompt-guard.js +70 -0
  89. package/dist/prompt-guard.js.map +1 -0
  90. package/dist/server.d.ts +27 -0
  91. package/dist/server.d.ts.map +1 -0
  92. package/dist/server.js +1956 -0
  93. package/dist/server.js.map +1 -0
  94. package/dist/session-manager.d.ts +55 -0
  95. package/dist/session-manager.d.ts.map +1 -0
  96. package/dist/session-manager.js +139 -0
  97. package/dist/session-manager.js.map +1 -0
  98. package/dist/signer.d.ts +19 -0
  99. package/dist/signer.d.ts.map +1 -0
  100. package/dist/signer.js +195 -0
  101. package/dist/signer.js.map +1 -0
  102. package/dist/token-metering.d.ts +42 -0
  103. package/dist/token-metering.d.ts.map +1 -0
  104. package/dist/token-metering.js +178 -0
  105. package/dist/token-metering.js.map +1 -0
  106. package/dist/userops.d.ts +24 -0
  107. package/dist/userops.d.ts.map +1 -0
  108. package/dist/userops.js +156 -0
  109. package/dist/userops.js.map +1 -0
  110. package/dist/wallet-monitor.d.ts +16 -0
  111. package/dist/wallet-monitor.d.ts.map +1 -0
  112. package/dist/wallet-monitor.js +57 -0
  113. package/dist/wallet-monitor.js.map +1 -0
  114. package/dist/worker-executor.d.ts +81 -0
  115. package/dist/worker-executor.d.ts.map +1 -0
  116. package/dist/worker-executor.js +527 -0
  117. package/dist/worker-executor.js.map +1 -0
  118. package/dist/worker-router.d.ts +63 -0
  119. package/dist/worker-router.d.ts.map +1 -0
  120. package/dist/worker-router.js +263 -0
  121. package/dist/worker-router.js.map +1 -0
  122. package/package.json +30 -0
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ require("../dist/index.js");
package/dist/abis.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ABIs extracted from the ARC-402 contract sources.
3
+ * Source: /products/arc-402/reference/contracts/
4
+ */
5
+ export declare const AGENT_REGISTRY_ABI: readonly ["function register(string name, string[] capabilities, string serviceType, string endpoint, string metadataURI) external", "function update(string name, string[] capabilities, string serviceType, string endpoint, string metadataURI) external", "function deactivate() external", "function reactivate() external", "function getAgent(address wallet) external view returns (tuple(address wallet, string name, string[] capabilities, string serviceType, string endpoint, string metadataURI, bool active, uint256 registeredAt))", "function isRegistered(address wallet) external view returns (bool)", "function isActive(address wallet) external view returns (bool)", "function getCapabilities(address wallet) external view returns (string[])", "function getTrustScore(address wallet) external view returns (uint256)", "function agentCount() external view returns (uint256)", "function getAgentAtIndex(uint256 index) external view returns (address)", "event AgentRegistered(address indexed wallet, string name, string serviceType, uint256 timestamp)", "event AgentUpdated(address indexed wallet, string name, string serviceType)", "event AgentDeactivated(address indexed wallet)"];
6
+ export declare const SERVICE_AGREEMENT_ABI: readonly ["function propose(address provider, string serviceType, string description, uint256 price, address token, uint256 deadline, bytes32 deliverablesHash) external payable returns (uint256 agreementId)", "function accept(uint256 agreementId) external", "function fulfill(uint256 agreementId, bytes32 actualDeliverablesHash) external", "function commitDeliverable(uint256 agreementId, bytes32 deliverableHash) external", "function verifyDeliverable(uint256 agreementId) external", "function autoRelease(uint256 agreementId) external", "function dispute(uint256 agreementId, string reason) external", "function directDispute(uint256 agreementId, uint8 directReason, string reason) external", "function escalateToDispute(uint256 agreementId, string reason) external", "function requestRevision(uint256 agreementId, bytes32 feedbackHash, string feedbackURI, bytes32 previousTranscriptHash) external", "function respondToRevision(uint256 agreementId, uint8 responseType, uint256 proposedProviderPayout, bytes32 responseHash, string responseURI, bytes32 previousTranscriptHash) external", "function submitDisputeEvidence(uint256 agreementId, uint8 evidenceType, bytes32 evidenceHash, string evidenceURI) external", "function nominateArbitrator(uint256 agreementId, address arbitrator) external", "function castArbitrationVote(uint256 agreementId, uint8 vote, uint256 providerAward, uint256 clientAward) external", "function requestHumanEscalation(uint256 agreementId, string reason) external", "function cancel(uint256 agreementId) external", "function expiredCancel(uint256 agreementId) external", "function resolveDispute(uint256 agreementId, bool favorProvider) external", "function resolveDisputeDetailed(uint256 agreementId, uint8 outcome, uint256 providerAward, uint256 clientAward) external", "function openDisputeWithMode(uint256 agreementId, uint8 mode, uint8 class, string reason) external payable", "function ownerResolveDispute(uint256 agreementId, bool favorProvider) external", "function canDirectDispute(uint256 agreementId, uint8 directReason) external view returns (bool)", "function getAgreement(uint256 id) external view returns (tuple(uint256 id, address client, address provider, string serviceType, string description, uint256 price, address token, uint256 deadline, bytes32 deliverablesHash, uint8 status, uint256 createdAt, uint256 resolvedAt, uint256 verifyWindowEnd, bytes32 committedHash))", "function getDisputeCase(uint256 agreementId) external view returns (tuple(uint256 agreementId, uint256 openedAt, uint256 responseDeadlineAt, uint8 outcome, uint256 providerAward, uint256 clientAward, bool humanReviewRequested, uint256 evidenceCount))", "function getDisputeEvidence(uint256 agreementId, uint256 index) external view returns (tuple(address submitter, uint8 evidenceType, bytes32 evidenceHash, string evidenceURI, uint256 timestamp))", "function getArbitrationCase(uint256 agreementId) external view returns (tuple(uint256 agreementId, address[3] arbitrators, uint8 arbitratorCount, uint8 providerVotes, uint8 clientVotes, uint8 splitVotes, uint8 humanVotes, uint256 selectionDeadlineAt, uint256 decisionDeadlineAt, uint256 splitProviderAward, uint256 splitClientAward, bool finalized, bool humanBackstopUsed))", "function getAgreementsByClient(address client) external view returns (uint256[])", "function getAgreementsByProvider(address provider) external view returns (uint256[])", "function agreementCount() external view returns (uint256)", "function openSessionChannel(address provider, address token, uint256 maxAmount, uint256 ratePerCall, uint256 deadline) external payable returns (bytes32)", "function closeChannel(bytes32 channelId, bytes finalState) external", "function challengeChannel(bytes32 channelId, bytes latestState) external", "function finaliseChallenge(bytes32 channelId) external", "function reclaimExpiredChannel(bytes32 channelId) external", "function getChannel(bytes32 channelId) external view returns (tuple(address client, address provider, address token, uint256 depositAmount, uint256 settledAmount, uint256 lastSequenceNumber, uint256 deadline, uint256 challengeExpiry, uint8 status))", "function getChannelsByClient(address client) external view returns (bytes32[])", "function getChannelsByProvider(address provider) external view returns (bytes32[])", "function resolveFromArbitration(uint256 agreementId, address recipient, uint256 amount) external", "event AgreementProposed(uint256 indexed id, address indexed client, address indexed provider, string serviceType, uint256 price, address token, uint256 deadline)", "event AgreementAccepted(uint256 indexed id, address indexed provider)", "event AgreementFulfilled(uint256 indexed id, address indexed provider, bytes32 deliverablesHash)", "event AgreementDisputed(uint256 indexed id, address indexed initiator, string reason)", "event AgreementCancelled(uint256 indexed id, address indexed client)"];
7
+ export declare const TRUST_REGISTRY_ABI: readonly ["function getScore(address wallet) external view returns (uint256)", "function getTrustLevel(address wallet) external view returns (string)", "function initWallet(address wallet) external", "function recordSuccess(address wallet) external", "function recordAnomaly(address wallet) external", "function owner() external view returns (address)"];
8
+ export declare const ERC20_ABI: readonly ["function approve(address spender, uint256 amount) external returns (bool)", "function allowance(address owner, address spender) external view returns (uint256)", "function balanceOf(address owner) external view returns (uint256)", "function decimals() external view returns (uint8)", "function symbol() external view returns (string)"];
9
+ export declare const WALLET_FACTORY_ABI: readonly ["function deployWallet() external returns (address)", "function deployWallet(address owner) external returns (address)", "function createWallet(address _entryPoint) external returns (address)", "function getWallets(address owner) external view returns (address[] memory)", "function totalWallets() external view returns (uint256)", "event WalletDeployed(address indexed wallet, address indexed owner)", "event WalletCreated(address indexed owner, address indexed walletAddress)"];
10
+ export declare const POLICY_ENGINE_LIMITS_ABI: readonly ["function categoryLimits(address wallet, string category) external view returns (uint256)", "function dailyCategoryLimit(address wallet, string category) external view returns (uint256)", "function setCategoryLimitFor(address wallet, string category, uint256 limitPerTx) external", "function setDailyLimitFor(address wallet, string category, uint256 limit) external"];
11
+ export declare const POLICY_ENGINE_GOVERNANCE_ABI: readonly ["function registerWallet(address wallet, address owner) external", "function enableDefiAccess(address wallet) external", "function walletOwners(address wallet) external view returns (address)", "function defiAccessEnabled(address wallet) external view returns (bool)", "function whitelistContract(address wallet, address target) external", "function isContractWhitelisted(address wallet, address target) external view returns (bool)"];
12
+ export declare const ARC402_WALLET_EXECUTE_ABI: readonly ["function executeContractCall((address target, bytes data, uint256 value, uint256 minReturnValue, uint256 maxApprovalAmount, address approvalToken) params) external returns (bytes memory)"];
13
+ export declare const ARC402_WALLET_PROTOCOL_ABI: readonly ["function openContext(bytes32 contextId, string calldata taskType) external", "function closeContext() external", "function contextOpen() external view returns (bool)", "function attest(bytes32 attestationId, string calldata action, string calldata reason, address recipient, uint256 amount, address token, uint256 expiresAt) external returns (bytes32)", "function executeSpend(address payable recipient, uint256 amount, string calldata category, bytes32 attestationId) external", "function executeTokenSpend(address recipient, uint256 amount, address token, string calldata category, bytes32 attestationId) external"];
14
+ export declare const ARC402_WALLET_GUARDIAN_ABI: readonly ["function setGuardian(address _guardian) external", "function freeze() external", "function freezeAndDrain() external", "function freeze(string reason) external", "function unfreeze() external", "function frozen() external view returns (bool)", "function frozenBy() external view returns (address)", "function frozenAt() external view returns (uint256)", "function guardian() external view returns (address)", "function owner() external view returns (address)", "event WalletFrozen(address indexed by, string reason, uint256 timestamp)", "event WalletUnfrozen(address indexed by, uint256 timestamp)", "event GuardianUpdated(address indexed newGuardian)"];
15
+ export declare const ARC402_WALLET_REGISTRY_ABI: readonly ["function proposeRegistryUpdate(address newRegistry) external", "function executeRegistryUpdate() external", "function cancelRegistryUpdate() external", "function pendingRegistry() external view returns (address)", "function registryUpdateUnlockAt() external view returns (uint256)", "function registry() external view returns (address)"];
16
+ export declare const ARC402_WALLET_OWNER_ABI: readonly ["function setAuthorizedInterceptor(address interceptor) external", "function setVelocityLimit(uint256 limit) external", "function updatePolicy(bytes32 newPolicyId) external", "function authorizedInterceptor() external view returns (address)", "function velocityLimit() external view returns (uint256)", "function velocityWindowStart() external view returns (uint256)", "function cumulativeSpend() external view returns (uint256)", "function activePolicyId() external view returns (bytes32)"];
17
+ export declare const ARC402_WALLET_MACHINE_KEY_ABI: readonly ["function authorizeMachineKey(address key) external", "function revokeMachineKey(address key) external", "function authorizedMachineKeys(address key) external view returns (bool)"];
18
+ export declare const COMPUTE_AGREEMENT_ABI: readonly ["function proposeSession(bytes32 sessionId, address provider, uint256 ratePerHour, uint256 maxHours, bytes32 gpuSpecHash, address token) external payable", "function acceptSession(bytes32 sessionId) external", "function startSession(bytes32 sessionId) external", "function submitUsageReport(bytes32 sessionId, uint256 periodStart, uint256 periodEnd, uint256 computeMinutes, uint256 avgUtilization, bytes providerSignature, bytes32 metricsHash) external", "function endSession(bytes32 sessionId) external", "function disputeSession(bytes32 sessionId) external", "function cancelSession(bytes32 sessionId) external", "function resolveDispute(bytes32 sessionId, uint256 providerAmount, uint256 clientAmount) external", "function claimDisputeTimeout(bytes32 sessionId) external", "function withdraw(address token) external", "function getSession(bytes32 sessionId) external view returns (tuple(address client, address provider, address token, uint256 ratePerHour, uint256 maxHours, uint256 depositAmount, uint256 startedAt, uint256 endedAt, uint256 consumedMinutes, uint256 proposedAt, uint256 disputedAt, bytes32 gpuSpecHash, uint8 status))", "function calculateCost(bytes32 sessionId) external view returns (uint256)", "function getUsageReports(bytes32 sessionId) external view returns (tuple(uint256 periodStart, uint256 periodEnd, uint256 computeMinutes, uint256 avgUtilization, bytes providerSignature, bytes32 metricsHash)[])", "function pendingWithdrawals(address user, address token) external view returns (uint256)", "event SessionProposed(bytes32 indexed sessionId, address indexed client, address indexed provider, uint256 ratePerHour, uint256 maxHours, address token)", "event SessionAccepted(bytes32 indexed sessionId)", "event SessionStarted(bytes32 indexed sessionId, uint256 startedAt)", "event UsageReported(bytes32 indexed sessionId, uint256 computeMinutes, uint256 periodEnd)", "event SessionCompleted(bytes32 indexed sessionId, uint256 totalMinutes, uint256 totalPaid, uint256 refunded)", "event SessionDisputed(bytes32 indexed sessionId, address disputant)", "event SessionCancelled(bytes32 indexed sessionId)", "event DisputeResolved(bytes32 indexed sessionId, uint256 providerAmount, uint256 clientAmount)", "event Withdrawn(address indexed recipient, address indexed token, uint256 amount)"];
19
+ export declare const ARC402_WALLET_PASSKEY_ABI: readonly ["function setPasskey(bytes32 pubKeyX, bytes32 pubKeyY) external", "function clearPasskey() external", "function emergencyOwnerOverride(bytes32 newPubKeyX, bytes32 newPubKeyY) external", "function emergencyOwnerOverride() external", "function ownerAuth() external view returns (uint8 signerType, bytes32 pubKeyX, bytes32 pubKeyY)", "event PasskeySet(bytes32 indexed pubKeyX, bytes32 pubKeyY)"];
20
+ //# sourceMappingURL=abis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,kBAAkB,+pCAkBrB,CAAC;AAEX,eAAO,MAAM,qBAAqB,2zJA4CxB,CAAC;AAEX,eAAO,MAAM,kBAAkB,mWAOrB,CAAC;AAEX,eAAO,MAAM,SAAS,4VAMZ,CAAC;AAEX,eAAO,MAAM,kBAAkB,2eAWrB,CAAC;AAEX,eAAO,MAAM,wBAAwB,2XAO3B,CAAC;AAGX,eAAO,MAAM,4BAA4B,8bAW/B,CAAC;AAEX,eAAO,MAAM,yBAAyB,yMAE5B,CAAC;AAGX,eAAO,MAAM,0BAA0B,snBAO7B,CAAC;AAEX,eAAO,MAAM,0BAA0B,0pBAoB7B,CAAC;AAEX,eAAO,MAAM,0BAA0B,8VAO7B,CAAC;AAEX,eAAO,MAAM,uBAAuB,ufAW1B,CAAC;AAEX,eAAO,MAAM,6BAA6B,gMAIhC,CAAC;AAEX,eAAO,MAAM,qBAAqB,mxEA2BxB,CAAC;AAEX,eAAO,MAAM,yBAAyB,oZAO5B,CAAC"}
package/dist/abis.js ADDED
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ /**
3
+ * ABIs extracted from the ARC-402 contract sources.
4
+ * Source: /products/arc-402/reference/contracts/
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ARC402_WALLET_PASSKEY_ABI = exports.COMPUTE_AGREEMENT_ABI = exports.ARC402_WALLET_MACHINE_KEY_ABI = exports.ARC402_WALLET_OWNER_ABI = exports.ARC402_WALLET_REGISTRY_ABI = exports.ARC402_WALLET_GUARDIAN_ABI = exports.ARC402_WALLET_PROTOCOL_ABI = exports.ARC402_WALLET_EXECUTE_ABI = exports.POLICY_ENGINE_GOVERNANCE_ABI = exports.POLICY_ENGINE_LIMITS_ABI = exports.WALLET_FACTORY_ABI = exports.ERC20_ABI = exports.TRUST_REGISTRY_ABI = exports.SERVICE_AGREEMENT_ABI = exports.AGENT_REGISTRY_ABI = void 0;
8
+ exports.AGENT_REGISTRY_ABI = [
9
+ // Registration
10
+ "function register(string name, string[] capabilities, string serviceType, string endpoint, string metadataURI) external",
11
+ "function update(string name, string[] capabilities, string serviceType, string endpoint, string metadataURI) external",
12
+ "function deactivate() external",
13
+ "function reactivate() external",
14
+ // Queries
15
+ "function getAgent(address wallet) external view returns (tuple(address wallet, string name, string[] capabilities, string serviceType, string endpoint, string metadataURI, bool active, uint256 registeredAt))",
16
+ "function isRegistered(address wallet) external view returns (bool)",
17
+ "function isActive(address wallet) external view returns (bool)",
18
+ "function getCapabilities(address wallet) external view returns (string[])",
19
+ "function getTrustScore(address wallet) external view returns (uint256)",
20
+ "function agentCount() external view returns (uint256)",
21
+ "function getAgentAtIndex(uint256 index) external view returns (address)",
22
+ // Events
23
+ "event AgentRegistered(address indexed wallet, string name, string serviceType, uint256 timestamp)",
24
+ "event AgentUpdated(address indexed wallet, string name, string serviceType)",
25
+ "event AgentDeactivated(address indexed wallet)",
26
+ ];
27
+ exports.SERVICE_AGREEMENT_ABI = [
28
+ "function propose(address provider, string serviceType, string description, uint256 price, address token, uint256 deadline, bytes32 deliverablesHash) external payable returns (uint256 agreementId)",
29
+ "function accept(uint256 agreementId) external",
30
+ "function fulfill(uint256 agreementId, bytes32 actualDeliverablesHash) external",
31
+ "function commitDeliverable(uint256 agreementId, bytes32 deliverableHash) external",
32
+ "function verifyDeliverable(uint256 agreementId) external",
33
+ "function autoRelease(uint256 agreementId) external",
34
+ "function dispute(uint256 agreementId, string reason) external",
35
+ "function directDispute(uint256 agreementId, uint8 directReason, string reason) external",
36
+ "function escalateToDispute(uint256 agreementId, string reason) external",
37
+ "function requestRevision(uint256 agreementId, bytes32 feedbackHash, string feedbackURI, bytes32 previousTranscriptHash) external",
38
+ "function respondToRevision(uint256 agreementId, uint8 responseType, uint256 proposedProviderPayout, bytes32 responseHash, string responseURI, bytes32 previousTranscriptHash) external",
39
+ "function submitDisputeEvidence(uint256 agreementId, uint8 evidenceType, bytes32 evidenceHash, string evidenceURI) external",
40
+ "function nominateArbitrator(uint256 agreementId, address arbitrator) external",
41
+ "function castArbitrationVote(uint256 agreementId, uint8 vote, uint256 providerAward, uint256 clientAward) external",
42
+ "function requestHumanEscalation(uint256 agreementId, string reason) external",
43
+ "function cancel(uint256 agreementId) external",
44
+ "function expiredCancel(uint256 agreementId) external",
45
+ "function resolveDispute(uint256 agreementId, bool favorProvider) external",
46
+ "function resolveDisputeDetailed(uint256 agreementId, uint8 outcome, uint256 providerAward, uint256 clientAward) external",
47
+ "function openDisputeWithMode(uint256 agreementId, uint8 mode, uint8 class, string reason) external payable",
48
+ "function ownerResolveDispute(uint256 agreementId, bool favorProvider) external",
49
+ "function canDirectDispute(uint256 agreementId, uint8 directReason) external view returns (bool)",
50
+ "function getAgreement(uint256 id) external view returns (tuple(uint256 id, address client, address provider, string serviceType, string description, uint256 price, address token, uint256 deadline, bytes32 deliverablesHash, uint8 status, uint256 createdAt, uint256 resolvedAt, uint256 verifyWindowEnd, bytes32 committedHash))",
51
+ "function getDisputeCase(uint256 agreementId) external view returns (tuple(uint256 agreementId, uint256 openedAt, uint256 responseDeadlineAt, uint8 outcome, uint256 providerAward, uint256 clientAward, bool humanReviewRequested, uint256 evidenceCount))",
52
+ "function getDisputeEvidence(uint256 agreementId, uint256 index) external view returns (tuple(address submitter, uint8 evidenceType, bytes32 evidenceHash, string evidenceURI, uint256 timestamp))",
53
+ "function getArbitrationCase(uint256 agreementId) external view returns (tuple(uint256 agreementId, address[3] arbitrators, uint8 arbitratorCount, uint8 providerVotes, uint8 clientVotes, uint8 splitVotes, uint8 humanVotes, uint256 selectionDeadlineAt, uint256 decisionDeadlineAt, uint256 splitProviderAward, uint256 splitClientAward, bool finalized, bool humanBackstopUsed))",
54
+ "function getAgreementsByClient(address client) external view returns (uint256[])",
55
+ "function getAgreementsByProvider(address provider) external view returns (uint256[])",
56
+ "function agreementCount() external view returns (uint256)",
57
+ "function openSessionChannel(address provider, address token, uint256 maxAmount, uint256 ratePerCall, uint256 deadline) external payable returns (bytes32)",
58
+ "function closeChannel(bytes32 channelId, bytes finalState) external",
59
+ "function challengeChannel(bytes32 channelId, bytes latestState) external",
60
+ "function finaliseChallenge(bytes32 channelId) external",
61
+ "function reclaimExpiredChannel(bytes32 channelId) external",
62
+ "function getChannel(bytes32 channelId) external view returns (tuple(address client, address provider, address token, uint256 depositAmount, uint256 settledAmount, uint256 lastSequenceNumber, uint256 deadline, uint256 challengeExpiry, uint8 status))",
63
+ "function getChannelsByClient(address client) external view returns (bytes32[])",
64
+ "function getChannelsByProvider(address provider) external view returns (bytes32[])",
65
+ "function resolveFromArbitration(uint256 agreementId, address recipient, uint256 amount) external",
66
+ "event AgreementProposed(uint256 indexed id, address indexed client, address indexed provider, string serviceType, uint256 price, address token, uint256 deadline)",
67
+ "event AgreementAccepted(uint256 indexed id, address indexed provider)",
68
+ "event AgreementFulfilled(uint256 indexed id, address indexed provider, bytes32 deliverablesHash)",
69
+ "event AgreementDisputed(uint256 indexed id, address indexed initiator, string reason)",
70
+ "event AgreementCancelled(uint256 indexed id, address indexed client)",
71
+ ];
72
+ exports.TRUST_REGISTRY_ABI = [
73
+ "function getScore(address wallet) external view returns (uint256)",
74
+ "function getTrustLevel(address wallet) external view returns (string)",
75
+ "function initWallet(address wallet) external",
76
+ "function recordSuccess(address wallet) external",
77
+ "function recordAnomaly(address wallet) external",
78
+ "function owner() external view returns (address)",
79
+ ];
80
+ exports.ERC20_ABI = [
81
+ "function approve(address spender, uint256 amount) external returns (bool)",
82
+ "function allowance(address owner, address spender) external view returns (uint256)",
83
+ "function balanceOf(address owner) external view returns (uint256)",
84
+ "function decimals() external view returns (uint8)",
85
+ "function symbol() external view returns (string)",
86
+ ];
87
+ exports.WALLET_FACTORY_ABI = [
88
+ // V6 (WalletFactoryV6) — msg.sender becomes owner
89
+ "function deployWallet() external returns (address)",
90
+ // V6 explicit owner override
91
+ "function deployWallet(address owner) external returns (address)",
92
+ // V3/V4/V5 legacy — kept for backward compat with older factory addresses
93
+ "function createWallet(address _entryPoint) external returns (address)",
94
+ "function getWallets(address owner) external view returns (address[] memory)",
95
+ "function totalWallets() external view returns (uint256)",
96
+ "event WalletDeployed(address indexed wallet, address indexed owner)",
97
+ "event WalletCreated(address indexed owner, address indexed walletAddress)",
98
+ ];
99
+ exports.POLICY_ENGINE_LIMITS_ABI = [
100
+ // Auto-getters from public mappings (actual on-chain function names)
101
+ "function categoryLimits(address wallet, string category) external view returns (uint256)",
102
+ "function dailyCategoryLimit(address wallet, string category) external view returns (uint256)",
103
+ // Owner-callable setters
104
+ "function setCategoryLimitFor(address wallet, string category, uint256 limitPerTx) external",
105
+ "function setDailyLimitFor(address wallet, string category, uint256 limit) external",
106
+ ];
107
+ // PolicyEngine governance functions — for onboarding ceremony
108
+ exports.POLICY_ENGINE_GOVERNANCE_ABI = [
109
+ // registerWallet requires msg.sender == wallet — route through wallet's executeContractCall
110
+ "function registerWallet(address wallet, address owner) external",
111
+ // enableDefiAccess: onlyWalletOwnerOrWallet — owner can call directly on PolicyEngine
112
+ "function enableDefiAccess(address wallet) external",
113
+ // isRegistered check helper
114
+ "function walletOwners(address wallet) external view returns (address)",
115
+ "function defiAccessEnabled(address wallet) external view returns (bool)",
116
+ // Whitelist management
117
+ "function whitelistContract(address wallet, address target) external",
118
+ "function isContractWhitelisted(address wallet, address target) external view returns (bool)",
119
+ ];
120
+ exports.ARC402_WALLET_EXECUTE_ABI = [
121
+ "function executeContractCall((address target, bytes data, uint256 value, uint256 minReturnValue, uint256 maxApprovalAmount, address approvalToken) params) external returns (bytes memory)",
122
+ ];
123
+ // Direct protocol functions — all onlyOwnerOrMachineKey, never route through executeContractCall
124
+ exports.ARC402_WALLET_PROTOCOL_ABI = [
125
+ "function openContext(bytes32 contextId, string calldata taskType) external",
126
+ "function closeContext() external",
127
+ "function contextOpen() external view returns (bool)",
128
+ "function attest(bytes32 attestationId, string calldata action, string calldata reason, address recipient, uint256 amount, address token, uint256 expiresAt) external returns (bytes32)",
129
+ "function executeSpend(address payable recipient, uint256 amount, string calldata category, bytes32 attestationId) external",
130
+ "function executeTokenSpend(address recipient, uint256 amount, address token, string calldata category, bytes32 attestationId) external",
131
+ ];
132
+ exports.ARC402_WALLET_GUARDIAN_ABI = [
133
+ // Guardian management (owner only)
134
+ "function setGuardian(address _guardian) external",
135
+ // Guardian freeze functions (guardian key only)
136
+ "function freeze() external",
137
+ "function freezeAndDrain() external",
138
+ // Owner freeze (with reason)
139
+ "function freeze(string reason) external",
140
+ // Owner unfreeze
141
+ "function unfreeze() external",
142
+ // State queries
143
+ "function frozen() external view returns (bool)",
144
+ "function frozenBy() external view returns (address)",
145
+ "function frozenAt() external view returns (uint256)",
146
+ "function guardian() external view returns (address)",
147
+ "function owner() external view returns (address)",
148
+ // Events
149
+ "event WalletFrozen(address indexed by, string reason, uint256 timestamp)",
150
+ "event WalletUnfrozen(address indexed by, uint256 timestamp)",
151
+ "event GuardianUpdated(address indexed newGuardian)",
152
+ ];
153
+ exports.ARC402_WALLET_REGISTRY_ABI = [
154
+ "function proposeRegistryUpdate(address newRegistry) external",
155
+ "function executeRegistryUpdate() external",
156
+ "function cancelRegistryUpdate() external",
157
+ "function pendingRegistry() external view returns (address)",
158
+ "function registryUpdateUnlockAt() external view returns (uint256)",
159
+ "function registry() external view returns (address)",
160
+ ];
161
+ exports.ARC402_WALLET_OWNER_ABI = [
162
+ // Owner-only setters
163
+ "function setAuthorizedInterceptor(address interceptor) external",
164
+ "function setVelocityLimit(uint256 limit) external",
165
+ "function updatePolicy(bytes32 newPolicyId) external",
166
+ // State queries
167
+ "function authorizedInterceptor() external view returns (address)",
168
+ "function velocityLimit() external view returns (uint256)",
169
+ "function velocityWindowStart() external view returns (uint256)",
170
+ "function cumulativeSpend() external view returns (uint256)",
171
+ "function activePolicyId() external view returns (bytes32)",
172
+ ];
173
+ exports.ARC402_WALLET_MACHINE_KEY_ABI = [
174
+ "function authorizeMachineKey(address key) external",
175
+ "function revokeMachineKey(address key) external",
176
+ "function authorizedMachineKeys(address key) external view returns (bool)",
177
+ ];
178
+ exports.COMPUTE_AGREEMENT_ABI = [
179
+ // Write methods
180
+ "function proposeSession(bytes32 sessionId, address provider, uint256 ratePerHour, uint256 maxHours, bytes32 gpuSpecHash, address token) external payable",
181
+ "function acceptSession(bytes32 sessionId) external",
182
+ "function startSession(bytes32 sessionId) external",
183
+ "function submitUsageReport(bytes32 sessionId, uint256 periodStart, uint256 periodEnd, uint256 computeMinutes, uint256 avgUtilization, bytes providerSignature, bytes32 metricsHash) external",
184
+ "function endSession(bytes32 sessionId) external",
185
+ "function disputeSession(bytes32 sessionId) external",
186
+ "function cancelSession(bytes32 sessionId) external",
187
+ "function resolveDispute(bytes32 sessionId, uint256 providerAmount, uint256 clientAmount) external",
188
+ "function claimDisputeTimeout(bytes32 sessionId) external",
189
+ "function withdraw(address token) external",
190
+ // Read methods
191
+ "function getSession(bytes32 sessionId) external view returns (tuple(address client, address provider, address token, uint256 ratePerHour, uint256 maxHours, uint256 depositAmount, uint256 startedAt, uint256 endedAt, uint256 consumedMinutes, uint256 proposedAt, uint256 disputedAt, bytes32 gpuSpecHash, uint8 status))",
192
+ "function calculateCost(bytes32 sessionId) external view returns (uint256)",
193
+ "function getUsageReports(bytes32 sessionId) external view returns (tuple(uint256 periodStart, uint256 periodEnd, uint256 computeMinutes, uint256 avgUtilization, bytes providerSignature, bytes32 metricsHash)[])",
194
+ "function pendingWithdrawals(address user, address token) external view returns (uint256)",
195
+ // Events
196
+ "event SessionProposed(bytes32 indexed sessionId, address indexed client, address indexed provider, uint256 ratePerHour, uint256 maxHours, address token)",
197
+ "event SessionAccepted(bytes32 indexed sessionId)",
198
+ "event SessionStarted(bytes32 indexed sessionId, uint256 startedAt)",
199
+ "event UsageReported(bytes32 indexed sessionId, uint256 computeMinutes, uint256 periodEnd)",
200
+ "event SessionCompleted(bytes32 indexed sessionId, uint256 totalMinutes, uint256 totalPaid, uint256 refunded)",
201
+ "event SessionDisputed(bytes32 indexed sessionId, address disputant)",
202
+ "event SessionCancelled(bytes32 indexed sessionId)",
203
+ "event DisputeResolved(bytes32 indexed sessionId, uint256 providerAmount, uint256 clientAmount)",
204
+ "event Withdrawn(address indexed recipient, address indexed token, uint256 amount)",
205
+ ];
206
+ exports.ARC402_WALLET_PASSKEY_ABI = [
207
+ "function setPasskey(bytes32 pubKeyX, bytes32 pubKeyY) external",
208
+ "function clearPasskey() external",
209
+ "function emergencyOwnerOverride(bytes32 newPubKeyX, bytes32 newPubKeyY) external",
210
+ "function emergencyOwnerOverride() external",
211
+ "function ownerAuth() external view returns (uint8 signerType, bytes32 pubKeyX, bytes32 pubKeyY)",
212
+ "event PasskeySet(bytes32 indexed pubKeyX, bytes32 pubKeyY)",
213
+ ];
214
+ //# sourceMappingURL=abis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abis.js","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"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"}
package/dist/api.d.ts ADDED
@@ -0,0 +1,32 @@
1
+ /**
2
+ * arc402-api — public HTTP process (Spec 46 §16 Pattern 1).
3
+ *
4
+ * Handles all external HTTPS requests. Has NO access to the machine key.
5
+ * Routes execution intents to arc402-signer via Unix socket.
6
+ *
7
+ * Responsibilities:
8
+ * - Session validation middleware
9
+ * - Auth endpoints (challenge/session/revoke)
10
+ * - SSE event stream
11
+ * - Commerce endpoints (proxied to signer for signing)
12
+ * - Read-only endpoints (agreements, workroom status)
13
+ *
14
+ * The machine key env var is explicitly excluded when this process is
15
+ * forked by index.ts — see index.ts.
16
+ */
17
+ import express, { Request, Response, NextFunction } from "express";
18
+ import Database from "better-sqlite3";
19
+ export declare function routeToCapability(method: string, urlPath: string): string;
20
+ export declare function createSessionMiddleware(db: Database.Database): (req: Request, res: Response, next: NextFunction) => void;
21
+ export declare function broadcast(event: string, data: unknown): void;
22
+ export interface ApiConfig {
23
+ port: number;
24
+ daemonId: string;
25
+ rpcUrl: string;
26
+ chainId: number;
27
+ walletAddress: string;
28
+ policyEngineAddress: string;
29
+ db: Database.Database;
30
+ }
31
+ export declare function createApiServer(apiConfig: ApiConfig): express.Express;
32
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOnE,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AA0BtC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAoBzE;AAkDD,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,IACnD,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CA6C/D;AA4DD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAK5D;AAoDD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACvB;AAiBD,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAyFrE"}