run402 4.96.0 → 4.98.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 (225) hide show
  1. package/README.md +3 -3
  2. package/cli.mjs +1 -7
  3. package/core-dist/binding-file.js +28 -1
  4. package/core-dist/wallet.js +3 -3
  5. package/lib/auth.mjs +1 -2
  6. package/lib/buzz-doctor.mjs +21 -806
  7. package/lib/buzz-doctor.test.mjs +7 -6
  8. package/lib/buzz.mjs +1 -1
  9. package/lib/buzz.test.mjs +13 -2
  10. package/lib/command-manifest.mjs +3 -6
  11. package/lib/credentials.mjs +4 -4
  12. package/lib/deploy-v2.mjs +27 -27
  13. package/lib/doctor.mjs +72 -811
  14. package/lib/errors.mjs +1 -1
  15. package/lib/events.mjs +1 -1
  16. package/lib/grants.mjs +148 -46
  17. package/lib/init.mjs +35 -576
  18. package/lib/logs.mjs +1 -1
  19. package/lib/org-context.mjs +39 -376
  20. package/lib/orgs.mjs +22 -106
  21. package/lib/projects.mjs +2 -3
  22. package/lib/repos.mjs +6 -6
  23. package/lib/rooms.mjs +1 -2
  24. package/lib/sdk-errors.mjs +26 -0
  25. package/lib/sites.mjs +5 -5
  26. package/lib/status.mjs +14 -154
  27. package/lib/up.mjs +1 -2
  28. package/lib/vault-scaffold.mjs +2 -3
  29. package/lib/vault-target.mjs +14 -141
  30. package/lib/wallet-context.mjs +61 -227
  31. package/lib/wallets.mjs +47 -310
  32. package/package.json +1 -2
  33. package/sdk/core-dist/binding-file.js +28 -1
  34. package/sdk/core-dist/wallet.js +3 -3
  35. package/sdk/dist/errors.d.ts +25 -3
  36. package/sdk/dist/errors.d.ts.map +1 -1
  37. package/sdk/dist/errors.js +46 -4
  38. package/sdk/dist/errors.js.map +1 -1
  39. package/sdk/dist/grant-key-credentials.d.ts +38 -0
  40. package/sdk/dist/grant-key-credentials.d.ts.map +1 -0
  41. package/sdk/dist/grant-key-credentials.js +42 -0
  42. package/sdk/dist/grant-key-credentials.js.map +1 -0
  43. package/sdk/dist/index.d.ts +25 -17
  44. package/sdk/dist/index.d.ts.map +1 -1
  45. package/sdk/dist/index.js +18 -14
  46. package/sdk/dist/index.js.map +1 -1
  47. package/sdk/dist/kernel.d.ts +34 -0
  48. package/sdk/dist/kernel.d.ts.map +1 -1
  49. package/sdk/dist/kernel.js +15 -1
  50. package/sdk/dist/kernel.js.map +1 -1
  51. package/sdk/dist/namespaces/admin.d.ts.map +1 -1
  52. package/sdk/dist/namespaces/admin.js +8 -0
  53. package/sdk/dist/namespaces/admin.js.map +1 -1
  54. package/sdk/dist/namespaces/agent.d.ts +2 -2
  55. package/sdk/dist/namespaces/agent.d.ts.map +1 -1
  56. package/sdk/dist/namespaces/agent.js +4 -0
  57. package/sdk/dist/namespaces/agent.js.map +1 -1
  58. package/sdk/dist/namespaces/agent.types.d.ts +5 -0
  59. package/sdk/dist/namespaces/agent.types.d.ts.map +1 -1
  60. package/sdk/dist/namespaces/apps.d.ts.map +1 -1
  61. package/sdk/dist/namespaces/apps.js +2 -0
  62. package/sdk/dist/namespaces/apps.js.map +1 -1
  63. package/sdk/dist/namespaces/auth.d.ts.map +1 -1
  64. package/sdk/dist/namespaces/auth.js +9 -0
  65. package/sdk/dist/namespaces/auth.js.map +1 -1
  66. package/sdk/dist/namespaces/billing.d.ts +1 -1
  67. package/sdk/dist/namespaces/billing.js +1 -1
  68. package/sdk/dist/namespaces/branches.d.ts.map +1 -1
  69. package/sdk/dist/namespaces/branches.js +2 -0
  70. package/sdk/dist/namespaces/branches.js.map +1 -1
  71. package/sdk/dist/namespaces/buzz.js +1 -1
  72. package/sdk/dist/namespaces/buzz.js.map +1 -1
  73. package/sdk/dist/namespaces/ci.d.ts.map +1 -1
  74. package/sdk/dist/namespaces/ci.js +2 -0
  75. package/sdk/dist/namespaces/ci.js.map +1 -1
  76. package/sdk/dist/namespaces/credentials.d.ts +4 -27
  77. package/sdk/dist/namespaces/credentials.d.ts.map +1 -1
  78. package/sdk/dist/namespaces/credentials.js +33 -4
  79. package/sdk/dist/namespaces/credentials.js.map +1 -1
  80. package/sdk/dist/namespaces/deploy.js +5 -5
  81. package/sdk/dist/namespaces/deploy.js.map +1 -1
  82. package/sdk/dist/namespaces/domains.d.ts +1 -1
  83. package/sdk/dist/namespaces/domains.js +1 -1
  84. package/sdk/dist/namespaces/errors.d.ts +1 -1
  85. package/sdk/dist/namespaces/errors.js +2 -2
  86. package/sdk/dist/namespaces/escalations.d.ts +2 -2
  87. package/sdk/dist/namespaces/escalations.d.ts.map +1 -1
  88. package/sdk/dist/namespaces/escalations.js +4 -2
  89. package/sdk/dist/namespaces/escalations.js.map +1 -1
  90. package/sdk/dist/namespaces/escalations.types.d.ts +3 -3
  91. package/sdk/dist/namespaces/escalations.types.d.ts.map +1 -1
  92. package/sdk/dist/namespaces/events.d.ts +1 -1
  93. package/sdk/dist/namespaces/events.js +1 -1
  94. package/sdk/dist/namespaces/functions.js +1 -1
  95. package/sdk/dist/namespaces/functions.js.map +1 -1
  96. package/sdk/dist/namespaces/grants.d.ts +43 -9
  97. package/sdk/dist/namespaces/grants.d.ts.map +1 -1
  98. package/sdk/dist/namespaces/grants.js +103 -10
  99. package/sdk/dist/namespaces/grants.js.map +1 -1
  100. package/sdk/dist/namespaces/grants.types.d.ts +120 -15
  101. package/sdk/dist/namespaces/grants.types.d.ts.map +1 -1
  102. package/sdk/dist/namespaces/grants.types.js +12 -3
  103. package/sdk/dist/namespaces/grants.types.js.map +1 -1
  104. package/sdk/dist/namespaces/identity-links.types.d.ts +2 -2
  105. package/sdk/dist/namespaces/identity-links.types.d.ts.map +1 -1
  106. package/sdk/dist/namespaces/live.d.ts +0 -16
  107. package/sdk/dist/namespaces/live.d.ts.map +1 -1
  108. package/sdk/dist/namespaces/live.js +19 -0
  109. package/sdk/dist/namespaces/live.js.map +1 -1
  110. package/sdk/dist/namespaces/me.d.ts.map +1 -1
  111. package/sdk/dist/namespaces/me.js +3 -0
  112. package/sdk/dist/namespaces/me.js.map +1 -1
  113. package/sdk/dist/namespaces/org.d.ts +1 -1
  114. package/sdk/dist/namespaces/org.d.ts.map +1 -1
  115. package/sdk/dist/namespaces/org.js +4 -1
  116. package/sdk/dist/namespaces/org.js.map +1 -1
  117. package/sdk/dist/namespaces/projects.d.ts +1 -1
  118. package/sdk/dist/namespaces/projects.d.ts.map +1 -1
  119. package/sdk/dist/namespaces/projects.js +6 -1
  120. package/sdk/dist/namespaces/projects.js.map +1 -1
  121. package/sdk/dist/namespaces/repos.d.ts.map +1 -1
  122. package/sdk/dist/namespaces/repos.js +7 -2
  123. package/sdk/dist/namespaces/repos.js.map +1 -1
  124. package/sdk/dist/namespaces/rooms.d.ts +3 -3
  125. package/sdk/dist/namespaces/rooms.d.ts.map +1 -1
  126. package/sdk/dist/namespaces/rooms.js +6 -3
  127. package/sdk/dist/namespaces/rooms.js.map +1 -1
  128. package/sdk/dist/namespaces/session.d.ts.map +1 -1
  129. package/sdk/dist/namespaces/session.js +18 -0
  130. package/sdk/dist/namespaces/session.js.map +1 -1
  131. package/sdk/dist/namespaces/transfers.d.ts.map +1 -1
  132. package/sdk/dist/namespaces/transfers.js +3 -0
  133. package/sdk/dist/namespaces/transfers.js.map +1 -1
  134. package/sdk/dist/namespaces/wallets.d.ts.map +1 -1
  135. package/sdk/dist/namespaces/wallets.js +2 -0
  136. package/sdk/dist/namespaces/wallets.js.map +1 -1
  137. package/sdk/dist/namespaces/write-approval.d.ts.map +1 -1
  138. package/sdk/dist/namespaces/write-approval.js +3 -0
  139. package/sdk/dist/namespaces/write-approval.js.map +1 -1
  140. package/sdk/dist/node/actions-node.d.ts.map +1 -1
  141. package/sdk/dist/node/actions-node.js +3 -0
  142. package/sdk/dist/node/actions-node.js.map +1 -1
  143. package/sdk/dist/node/buzz-doctor-contract.d.ts +155 -0
  144. package/sdk/dist/node/buzz-doctor-contract.d.ts.map +1 -0
  145. package/sdk/dist/node/buzz-doctor-contract.js +385 -0
  146. package/sdk/dist/node/buzz-doctor-contract.js.map +1 -0
  147. package/sdk/dist/node/buzz-doctor.d.ts +155 -0
  148. package/sdk/dist/node/buzz-doctor.d.ts.map +1 -0
  149. package/sdk/dist/node/buzz-doctor.js +810 -0
  150. package/sdk/dist/node/buzz-doctor.js.map +1 -0
  151. package/sdk/dist/node/credentials.d.ts +18 -13
  152. package/sdk/dist/node/credentials.d.ts.map +1 -1
  153. package/sdk/dist/node/credentials.js +13 -13
  154. package/sdk/dist/node/credentials.js.map +1 -1
  155. package/sdk/dist/node/diagnostics.d.ts +45 -0
  156. package/sdk/dist/node/diagnostics.d.ts.map +1 -0
  157. package/sdk/dist/node/diagnostics.js +67 -0
  158. package/sdk/dist/node/diagnostics.js.map +1 -0
  159. package/sdk/dist/node/doctor.d.ts +101 -0
  160. package/sdk/dist/node/doctor.d.ts.map +1 -0
  161. package/sdk/dist/node/doctor.js +618 -0
  162. package/sdk/dist/node/doctor.js.map +1 -0
  163. package/sdk/dist/node/index.d.ts +61 -9
  164. package/sdk/dist/node/index.d.ts.map +1 -1
  165. package/sdk/dist/node/index.js +37 -2
  166. package/sdk/dist/node/index.js.map +1 -1
  167. package/sdk/dist/node/init.d.ts +137 -0
  168. package/sdk/dist/node/init.d.ts.map +1 -0
  169. package/sdk/dist/node/init.js +507 -0
  170. package/sdk/dist/node/init.js.map +1 -0
  171. package/sdk/dist/node/lightning-wallet.d.ts +61 -0
  172. package/sdk/dist/node/lightning-wallet.d.ts.map +1 -0
  173. package/sdk/dist/node/lightning-wallet.js +126 -0
  174. package/sdk/dist/node/lightning-wallet.js.map +1 -0
  175. package/sdk/dist/node/local-actions.d.ts +23 -0
  176. package/sdk/dist/node/local-actions.d.ts.map +1 -0
  177. package/sdk/dist/node/local-actions.js +38 -0
  178. package/sdk/dist/node/local-actions.js.map +1 -0
  179. package/sdk/dist/node/org-context.d.ts +169 -0
  180. package/sdk/dist/node/org-context.d.ts.map +1 -0
  181. package/sdk/dist/node/org-context.js +403 -0
  182. package/sdk/dist/node/org-context.js.map +1 -0
  183. package/sdk/dist/node/status.d.ts +62 -0
  184. package/sdk/dist/node/status.d.ts.map +1 -0
  185. package/sdk/dist/node/status.js +132 -0
  186. package/sdk/dist/node/status.js.map +1 -0
  187. package/sdk/dist/node/vault-target.d.ts +49 -0
  188. package/sdk/dist/node/vault-target.d.ts.map +1 -0
  189. package/sdk/dist/node/vault-target.js +109 -0
  190. package/sdk/dist/node/vault-target.js.map +1 -0
  191. package/sdk/dist/node/wallets.d.ts +242 -0
  192. package/sdk/dist/node/wallets.d.ts.map +1 -0
  193. package/sdk/dist/node/wallets.js +484 -0
  194. package/sdk/dist/node/wallets.js.map +1 -0
  195. package/sdk/dist/project-auth-classification.d.ts +8 -8
  196. package/sdk/dist/project-auth-classification.d.ts.map +1 -1
  197. package/sdk/dist/project-auth-classification.js +7 -7
  198. package/sdk/dist/project-auth-classification.js.map +1 -1
  199. package/sdk/dist/scoped.d.ts +6 -14
  200. package/sdk/dist/scoped.d.ts.map +1 -1
  201. package/sdk/dist/scoped.js +10 -21
  202. package/sdk/dist/scoped.js.map +1 -1
  203. package/sdk/dist/secret-gate.d.ts +377 -0
  204. package/sdk/dist/secret-gate.d.ts.map +1 -0
  205. package/sdk/dist/secret-gate.js +273 -0
  206. package/sdk/dist/secret-gate.js.map +1 -0
  207. package/vault-surface.json +1 -1
  208. package/fixtures/buzz-v0.5.2-cli-capabilities.json +0 -92
  209. package/fixtures/run402-buzz-doctor-v1-contract.json +0 -140
  210. package/lib/buzz-doctor-contract.mjs +0 -97
  211. package/lib/buzz-doctor-contract.test.mjs +0 -134
  212. package/lib/delegates.mjs +0 -189
  213. package/lib/lightning-wallet.mjs +0 -115
  214. package/sdk/dist/delegate-credentials.d.ts +0 -37
  215. package/sdk/dist/delegate-credentials.d.ts.map +0 -1
  216. package/sdk/dist/delegate-credentials.js +0 -41
  217. package/sdk/dist/delegate-credentials.js.map +0 -1
  218. package/sdk/dist/namespaces/delegates.d.ts +0 -50
  219. package/sdk/dist/namespaces/delegates.d.ts.map +0 -1
  220. package/sdk/dist/namespaces/delegates.js +0 -99
  221. package/sdk/dist/namespaces/delegates.js.map +0 -1
  222. package/sdk/dist/namespaces/delegates.types.d.ts +0 -88
  223. package/sdk/dist/namespaces/delegates.types.d.ts.map +0 -1
  224. package/sdk/dist/namespaces/delegates.types.js +0 -10
  225. package/sdk/dist/namespaces/delegates.types.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-gate.js","sourceRoot":"","sources":["../src/secret-gate.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "surface_version": "4.96.0",
2
+ "surface_version": "4.98.0",
3
3
  "verbs": [
4
4
  "repos create",
5
5
  "repos list",
@@ -1,92 +0,0 @@
1
- {
2
- "fixture_version": 1,
3
- "fixture_id": "buzz-cli-v0.5.2-capabilities",
4
- "purpose": "released_buzz_cli_capability_first_compatibility",
5
- "buzz_release": {
6
- "version": "0.5.2",
7
- "release_tag": "v0.5.2",
8
- "release_tag_commit": "3e48f1b2365d326ee1c9582448d86a99b44ecd5d",
9
- "run402_change_required": false
10
- },
11
- "help_probes": [
12
- {
13
- "argv": ["buzz", "--help"],
14
- "exit_code": 0,
15
- "stdout_contains": [
16
- "Buzz CLI — interact with a Buzz relay",
17
- "users",
18
- "social",
19
- "Errors are JSON on stderr"
20
- ]
21
- },
22
- {
23
- "argv": ["buzz", "users", "get", "--help"],
24
- "exit_code": 0,
25
- "stdout_contains": [
26
- "users get [OPTIONS]",
27
- "--pubkey",
28
- "Omit for your own profile"
29
- ]
30
- },
31
- {
32
- "argv": ["buzz", "social", "publish", "--help"],
33
- "exit_code": 0,
34
- "stdout_contains": [
35
- "social publish [OPTIONS]",
36
- "--content"
37
- ]
38
- },
39
- {
40
- "argv": ["buzz", "social", "event", "--help"],
41
- "exit_code": 0,
42
- "stdout_contains": [
43
- "social event --event"
44
- ]
45
- }
46
- ],
47
- "version_probe": {
48
- "argv": ["buzz", "--version"],
49
- "supported": false,
50
- "exit_code": 1,
51
- "stderr_json": {
52
- "error": "user_error",
53
- "retryable": false
54
- },
55
- "message_contains": "unexpected argument '--version'"
56
- },
57
- "json_contract": {
58
- "default_output_format": "json",
59
- "users_get_success_stdout": {
60
- "type": "array",
61
- "empty_array_means": "public_self_profile_unverified",
62
- "profile_pubkey_field": "pubkey"
63
- },
64
- "social_event_success_stdout": {
65
- "type": "array",
66
- "event_pubkey_field": "pubkey"
67
- },
68
- "error_stderr": {
69
- "type": "object",
70
- "required_fields": ["error", "message", "retryable"],
71
- "stdout_is_empty": true
72
- }
73
- },
74
- "managed_sidecar": {
75
- "distribution": "bundled_with_buzz_desktop",
76
- "session_discovery": "managed_agent_path",
77
- "public_package_manager_install": false,
78
- "repair_surface": "buzz_settings",
79
- "repair_destination": "Buzz Desktop > Settings > Updates",
80
- "repair_instruction": "Open Buzz Desktop > Settings > Updates, install the available Buzz update or reinstall Buzz Desktop if no update is offered, then restart this agent and rerun setup."
81
- },
82
- "public_self_observation": {
83
- "argv": ["buzz", "users", "get"],
84
- "requires_private_key_value_inspection": false,
85
- "empty_or_malformed_result": "BUZZ_AGENT_TARGET_UNVERIFIED"
86
- },
87
- "write_surface_policy": {
88
- "capability_probes_use_help_only": true,
89
- "publish_is_never_invoked_by_doctor": true,
90
- "event_read_requires_explicit_event_id_and_is_not_used_for_self_discovery": true
91
- }
92
- }
@@ -1,140 +0,0 @@
1
- {
2
- "schema_version": 1,
3
- "contract_id": "run402.buzz-doctor.v1",
4
- "mode": "buzz",
5
- "canonical_invocation": [
6
- "run402",
7
- "--wallet",
8
- "<profile>",
9
- "doctor",
10
- "--buzz",
11
- "--buzz-agent",
12
- "<npub-or-hex>"
13
- ],
14
- "flags": {
15
- "mode": "--buzz",
16
- "agent": "--buzz-agent",
17
- "profile": "--wallet"
18
- },
19
- "check_order": [
20
- "session_shell",
21
- "node_runtime",
22
- "run402_cli",
23
- "buzz_cli",
24
- "buzz_agent_target",
25
- "run402_api",
26
- "run402_console",
27
- "buzz_relay",
28
- "wallet_profile"
29
- ],
30
- "statuses": [
31
- "ok",
32
- "warning",
33
- "blocked"
34
- ],
35
- "codes_by_check": {
36
- "session_shell": [
37
- "BUZZ_PREFLIGHT_SHELL_UNAVAILABLE"
38
- ],
39
- "node_runtime": [
40
- "BUZZ_PREFLIGHT_NODE_UNAVAILABLE",
41
- "BUZZ_PREFLIGHT_NODE_INCOMPATIBLE"
42
- ],
43
- "run402_cli": [
44
- "BUZZ_PREFLIGHT_RUN402_UNAVAILABLE",
45
- "BUZZ_PREFLIGHT_RUN402_INCOMPATIBLE",
46
- "BUZZ_PREFLIGHT_RUN402_UPDATE_AVAILABLE"
47
- ],
48
- "buzz_cli": [
49
- "BUZZ_PREFLIGHT_BUZZ_CLI_UNAVAILABLE",
50
- "BUZZ_PREFLIGHT_BUZZ_CLI_INCOMPATIBLE"
51
- ],
52
- "buzz_agent_target": [
53
- "BUZZ_AGENT_TARGET_REQUIRED",
54
- "BUZZ_AGENT_TARGET_UNVERIFIED",
55
- "BUZZ_AGENT_TARGET_MISMATCH"
56
- ],
57
- "run402_api": [
58
- "BUZZ_PREFLIGHT_API_UNREACHABLE"
59
- ],
60
- "run402_console": [
61
- "BUZZ_PREFLIGHT_CONSOLE_UNREACHABLE"
62
- ],
63
- "buzz_relay": [
64
- "BUZZ_PREFLIGHT_RELAY_UNSAFE",
65
- "BUZZ_PREFLIGHT_RELAY_UNREACHABLE"
66
- ],
67
- "wallet_profile": [
68
- "BUZZ_PREFLIGHT_WALLET_PROFILE_REQUIRED",
69
- "BUZZ_PREFLIGHT_WALLET_PROFILE_NOT_FOUND",
70
- "BUZZ_PREFLIGHT_WALLET_PROFILE_MISMATCH"
71
- ]
72
- },
73
- "next_action": {
74
- "required_fields": [
75
- "type",
76
- "surface",
77
- "command",
78
- "why",
79
- "safe_to_auto_execute",
80
- "requires_approval",
81
- "destructive",
82
- "idempotent",
83
- "spend_impact"
84
- ],
85
- "surfaces": [
86
- "shell",
87
- "buzz_chat",
88
- "buzz_settings"
89
- ],
90
- "shell_required_fields": [
91
- "argv"
92
- ],
93
- "non_shell_forbidden_fields": [
94
- "argv",
95
- "cwd"
96
- ],
97
- "cardinality_per_actionable_check": 1
98
- },
99
- "exit_behavior": {
100
- "passed_or_warning_only": 0,
101
- "completed_with_blocked_checks": 1,
102
- "usage_error": 1,
103
- "completed_report_stream": "stdout",
104
- "usage_error_stream": "stderr"
105
- },
106
- "freshness": {
107
- "max_age_seconds": 60,
108
- "binding_fields": [
109
- "contract_id",
110
- "expected_subject_hex",
111
- "wallet_profile",
112
- "node_executable",
113
- "run402_executable",
114
- "relay_origin"
115
- ]
116
- },
117
- "setup_rejection_codes": [
118
- "BUZZ_PREFLIGHT_REPORT_INVALID",
119
- "BUZZ_PREFLIGHT_REPORT_STALE",
120
- "BUZZ_PREFLIGHT_REPORT_MISMATCH"
121
- ],
122
- "zero_mutation": {
123
- "mutation_state": "not_started",
124
- "forbidden": [
125
- "buzz_event_publish",
126
- "buzz_arbitrary_sign",
127
- "run402_profile_create_or_select",
128
- "run402_wallet_create",
129
- "run402_identity_link_mutation",
130
- "run402_faucet",
131
- "run402_tier_mutation",
132
- "run402_project_mutation",
133
- "run402_deploy"
134
- ],
135
- "allowed_lossy_local_writes": [
136
- "cli_update_cache",
137
- "redacted_diagnostic_queue"
138
- ]
139
- }
140
- }
@@ -1,97 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
-
3
- const CONTRACT_URL = new URL("../fixtures/run402-buzz-doctor-v1-contract.json", import.meta.url);
4
-
5
- export const BUZZ_DOCTOR_CONTRACT = deepFreeze(JSON.parse(readFileSync(CONTRACT_URL, "utf8")));
6
- export const BUZZ_DOCTOR_CONTRACT_ID = BUZZ_DOCTOR_CONTRACT.contract_id;
7
- export const BUZZ_DOCTOR_CHECK_ORDER = BUZZ_DOCTOR_CONTRACT.check_order;
8
- export const BUZZ_DOCTOR_STATUSES = new Set(BUZZ_DOCTOR_CONTRACT.statuses);
9
- export const BUZZ_DOCTOR_ACTION_SURFACES = new Set(BUZZ_DOCTOR_CONTRACT.next_action.surfaces);
10
- export const BUZZ_DOCTOR_MAX_AGE_MS = BUZZ_DOCTOR_CONTRACT.freshness.max_age_seconds * 1000;
11
-
12
- export function validateBuzzDoctorAction(action, { surface } = {}) {
13
- if (!action || typeof action !== "object" || Array.isArray(action)) return "action_not_object";
14
- for (const field of BUZZ_DOCTOR_CONTRACT.next_action.required_fields) {
15
- if (!(field in action)) return `action_missing_${field}`;
16
- }
17
- if (!BUZZ_DOCTOR_ACTION_SURFACES.has(action.surface)) return "action_surface_invalid";
18
- if (surface && action.surface !== surface) return "action_surface_mismatch";
19
- if (typeof action.type !== "string" || action.type.length === 0) return "action_type_invalid";
20
- if (typeof action.command !== "string" || action.command.length === 0) return "action_command_invalid";
21
- if (typeof action.why !== "string" || action.why.length === 0) return "action_why_invalid";
22
- for (const field of ["safe_to_auto_execute", "requires_approval", "destructive", "idempotent"]) {
23
- if (typeof action[field] !== "boolean") return `action_${field}_invalid`;
24
- }
25
- if (!action.spend_impact || action.spend_impact.currency !== "USD" || action.spend_impact.max_amount !== "0") {
26
- return "action_spend_impact_invalid";
27
- }
28
- if (action.surface === "shell") {
29
- if (!Array.isArray(action.argv) || action.argv.length === 0 || action.argv.some((part) => typeof part !== "string")) {
30
- return "action_argv_invalid";
31
- }
32
- } else {
33
- for (const field of BUZZ_DOCTOR_CONTRACT.next_action.non_shell_forbidden_fields) {
34
- if (field in action) return `action_${field}_forbidden`;
35
- }
36
- }
37
- return null;
38
- }
39
-
40
- export function validateBuzzDoctorReport(report, {
41
- expectedSubjectHex,
42
- walletProfile,
43
- nodeExecutable,
44
- run402Executable,
45
- relayOrigin,
46
- now = Date.now(),
47
- } = {}) {
48
- if (!report || typeof report !== "object" || Array.isArray(report)) return { valid: false, reason: "report_not_object" };
49
- if (report.contract_id !== BUZZ_DOCTOR_CONTRACT_ID || report.mode !== "buzz") return { valid: false, reason: "contract_mismatch" };
50
- if (!Array.isArray(report.checks)) return { valid: false, reason: "checks_not_array" };
51
- if (report.checks.length !== BUZZ_DOCTOR_CHECK_ORDER.length) return { valid: false, reason: "check_count_mismatch" };
52
- for (let index = 0; index < BUZZ_DOCTOR_CHECK_ORDER.length; index += 1) {
53
- const check = report.checks[index];
54
- const expectedName = BUZZ_DOCTOR_CHECK_ORDER[index];
55
- if (!check || check.name !== expectedName) return { valid: false, reason: "check_order_mismatch" };
56
- if (!BUZZ_DOCTOR_STATUSES.has(check.status)) return { valid: false, reason: "check_status_invalid" };
57
- if (check.status === "blocked" && !BUZZ_DOCTOR_CONTRACT.codes_by_check[expectedName]?.includes(check.code)) {
58
- return { valid: false, reason: "check_code_invalid" };
59
- }
60
- const actionable = check.status === "blocked" || (check.status === "warning" && Array.isArray(check.next_actions));
61
- if (actionable) {
62
- if (!Array.isArray(check.next_actions) || check.next_actions.length !== 1) return { valid: false, reason: "action_cardinality_invalid" };
63
- const actionReason = validateBuzzDoctorAction(check.next_actions[0]);
64
- if (actionReason) return { valid: false, reason: actionReason };
65
- } else if ("next_actions" in check) {
66
- return { valid: false, reason: "passing_action_forbidden" };
67
- }
68
- }
69
- const generatedAt = Date.parse(report.generated_at);
70
- if (!Number.isFinite(generatedAt) || generatedAt > now || now - generatedAt > BUZZ_DOCTOR_MAX_AGE_MS) {
71
- return { valid: false, reason: "report_stale" };
72
- }
73
- const binding = report.binding;
74
- if (!binding || typeof binding !== "object") return { valid: false, reason: "binding_missing" };
75
- const expected = {
76
- contract_id: BUZZ_DOCTOR_CONTRACT_ID,
77
- expected_subject_hex: expectedSubjectHex,
78
- wallet_profile: walletProfile,
79
- node_executable: nodeExecutable,
80
- run402_executable: run402Executable,
81
- relay_origin: relayOrigin,
82
- };
83
- for (const field of BUZZ_DOCTOR_CONTRACT.freshness.binding_fields) {
84
- if (expected[field] !== undefined && binding[field] !== expected[field]) return { valid: false, reason: `binding_${field}_mismatch` };
85
- }
86
- const computedOk = report.checks.every((check) => check.status !== "blocked");
87
- if (report.ok !== computedOk) return { valid: false, reason: "verdict_mismatch" };
88
- if (report.mutation_state !== BUZZ_DOCTOR_CONTRACT.zero_mutation.mutation_state) return { valid: false, reason: "mutation_state_invalid" };
89
- return { valid: true, reason: null };
90
- }
91
-
92
- function deepFreeze(value) {
93
- if (!value || typeof value !== "object" || Object.isFrozen(value)) return value;
94
- Object.freeze(value);
95
- for (const child of Object.values(value)) deepFreeze(child);
96
- return value;
97
- }
@@ -1,134 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import { readFileSync } from "node:fs";
3
- import { describe, it } from "node:test";
4
- import {
5
- BUZZ_DOCTOR_CHECK_ORDER,
6
- BUZZ_DOCTOR_CONTRACT,
7
- BUZZ_DOCTOR_CONTRACT_ID,
8
- validateBuzzDoctorAction,
9
- validateBuzzDoctorReport,
10
- } from "./buzz-doctor-contract.mjs";
11
-
12
- const FIXTURE = JSON.parse(readFileSync(new URL("../fixtures/buzz-v0.5.2-cli-capabilities.json", import.meta.url), "utf8"));
13
- const RELEASED_FIXTURE = JSON.parse(readFileSync(new URL("../../buzz/fixtures/buzz-v0.5.2-cli-capabilities.json", import.meta.url), "utf8"));
14
- const RELEASED_CONTRACT = JSON.parse(readFileSync(new URL("../../buzz/fixtures/run402-buzz-doctor-v1-contract.json", import.meta.url), "utf8"));
15
-
16
- function shellAction() {
17
- return {
18
- type: "upgrade_client",
19
- surface: "shell",
20
- command: "npm install -g run402@latest",
21
- argv: ["npm", "install", "-g", "run402@latest"],
22
- why: "Install the compatible Run402 CLI.",
23
- safe_to_auto_execute: true,
24
- requires_approval: false,
25
- destructive: false,
26
- idempotent: true,
27
- spend_impact: { currency: "USD", max_amount: "0" },
28
- };
29
- }
30
-
31
- function passingReport(now) {
32
- return {
33
- ok: true,
34
- mode: "buzz",
35
- contract_id: BUZZ_DOCTOR_CONTRACT_ID,
36
- generated_at: new Date(now).toISOString(),
37
- mutation_state: "not_started",
38
- binding: {
39
- contract_id: BUZZ_DOCTOR_CONTRACT_ID,
40
- expected_subject_hex: "a".repeat(64),
41
- wallet_profile: "buzz-fizz",
42
- node_executable: "/usr/local/bin/node",
43
- run402_executable: "/usr/local/bin/run402",
44
- relay_origin: "wss://community.example",
45
- },
46
- checks: BUZZ_DOCTOR_CHECK_ORDER.map((name) => ({ name, status: "ok" })),
47
- telemetry: { status: "disabled" },
48
- };
49
- }
50
-
51
- describe("Buzz doctor v1 frozen contract", () => {
52
- it("packages byte-semantic copies of the released Buzz fixture and frozen doctor contract", () => {
53
- assert.deepEqual(FIXTURE, RELEASED_FIXTURE);
54
- assert.deepEqual(BUZZ_DOCTOR_CONTRACT, RELEASED_CONTRACT);
55
- });
56
-
57
- it("freezes the ordered checks, flags, statuses, exit streams, freshness binding, and zero-mutation verdict", () => {
58
- assert.equal(BUZZ_DOCTOR_CONTRACT_ID, "run402.buzz-doctor.v1");
59
- assert.deepEqual(BUZZ_DOCTOR_CHECK_ORDER, [
60
- "session_shell", "node_runtime", "run402_cli", "buzz_cli", "buzz_agent_target",
61
- "run402_api", "run402_console", "buzz_relay", "wallet_profile",
62
- ]);
63
- assert.deepEqual(BUZZ_DOCTOR_CONTRACT.statuses, ["ok", "warning", "blocked"]);
64
- assert.deepEqual(BUZZ_DOCTOR_CONTRACT.flags, { mode: "--buzz", agent: "--buzz-agent", profile: "--wallet" });
65
- assert.deepEqual(BUZZ_DOCTOR_CONTRACT.exit_behavior, {
66
- passed_or_warning_only: 0,
67
- completed_with_blocked_checks: 1,
68
- usage_error: 1,
69
- completed_report_stream: "stdout",
70
- usage_error_stream: "stderr",
71
- });
72
- assert.equal(BUZZ_DOCTOR_CONTRACT.freshness.max_age_seconds, 60);
73
- assert.deepEqual(BUZZ_DOCTOR_CONTRACT.setup_rejection_codes, [
74
- "BUZZ_PREFLIGHT_REPORT_INVALID",
75
- "BUZZ_PREFLIGHT_REPORT_STALE",
76
- "BUZZ_PREFLIGHT_REPORT_MISMATCH",
77
- ]);
78
- assert.equal(BUZZ_DOCTOR_CONTRACT.zero_mutation.mutation_state, "not_started");
79
- assert.ok(BUZZ_DOCTOR_CONTRACT.zero_mutation.forbidden.includes("buzz_event_publish"));
80
- assert.ok(BUZZ_DOCTOR_CONTRACT.zero_mutation.forbidden.includes("run402_identity_link_mutation"));
81
- });
82
-
83
- it("requires exactly one complete destination-specific action on every actionable check", () => {
84
- assert.equal(validateBuzzDoctorAction(shellAction()), null);
85
- assert.equal(validateBuzzDoctorAction({ ...shellAction(), argv: undefined }), "action_argv_invalid");
86
- const chat = { ...shellAction(), surface: "buzz_chat", command: "@Fizz restart setup" };
87
- delete chat.argv;
88
- assert.equal(validateBuzzDoctorAction(chat), null);
89
- assert.equal(validateBuzzDoctorAction({ ...chat, argv: ["echo", "wrong"] }), "action_argv_forbidden");
90
- });
91
-
92
- it("rejects stale, reordered, mismatched, edited, or verdict-inconsistent reports", () => {
93
- const now = Date.parse("2026-07-31T12:00:00.000Z");
94
- const expected = {
95
- expectedSubjectHex: "a".repeat(64),
96
- walletProfile: "buzz-fizz",
97
- nodeExecutable: "/usr/local/bin/node",
98
- run402Executable: "/usr/local/bin/run402",
99
- relayOrigin: "wss://community.example",
100
- now,
101
- };
102
- assert.deepEqual(validateBuzzDoctorReport(passingReport(now), expected), { valid: true, reason: null });
103
- assert.equal(validateBuzzDoctorReport(passingReport(now - 61_000), expected).reason, "report_stale");
104
- const reordered = passingReport(now);
105
- reordered.checks.reverse();
106
- assert.equal(validateBuzzDoctorReport(reordered, expected).reason, "check_order_mismatch");
107
- assert.equal(validateBuzzDoctorReport(passingReport(now), { ...expected, walletProfile: "buzz-honey" }).reason, "binding_wallet_profile_mismatch");
108
- const edited = passingReport(now);
109
- edited.checks[0] = { name: "session_shell", status: "blocked", code: "MADE_UP", next_actions: [shellAction()] };
110
- assert.equal(validateBuzzDoctorReport(edited, expected).reason, "check_code_invalid");
111
- const falseVerdict = passingReport(now);
112
- falseVerdict.ok = false;
113
- assert.equal(validateBuzzDoctorReport(falseVerdict, expected).reason, "verdict_mismatch");
114
- });
115
-
116
- it("freezes released Buzz v0.5.2 as capability-first with JSON outputs and no version flag", () => {
117
- assert.equal(FIXTURE.fixture_id, "buzz-cli-v0.5.2-capabilities");
118
- assert.equal(FIXTURE.buzz_release.release_tag_commit, "3e48f1b2365d326ee1c9582448d86a99b44ecd5d");
119
- assert.deepEqual(FIXTURE.help_probes.map((probe) => probe.argv.slice(1)), [
120
- ["--help"],
121
- ["users", "get", "--help"],
122
- ["social", "publish", "--help"],
123
- ["social", "event", "--help"],
124
- ]);
125
- assert.equal(FIXTURE.version_probe.supported, false);
126
- assert.equal(FIXTURE.version_probe.stderr_json.error, "user_error");
127
- assert.equal(FIXTURE.json_contract.default_output_format, "json");
128
- assert.equal(FIXTURE.json_contract.users_get_success_stdout.type, "array");
129
- assert.equal(FIXTURE.managed_sidecar.public_package_manager_install, false);
130
- assert.equal(FIXTURE.managed_sidecar.repair_surface, "buzz_settings");
131
- assert.equal(FIXTURE.public_self_observation.requires_private_key_value_inspection, false);
132
- assert.equal(FIXTURE.write_surface_policy.publish_is_never_invoked_by_doctor, true);
133
- });
134
- });