@ziggs-ai/agent-sdk 0.1.11 → 0.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 (211) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +41 -2
  3. package/dist/AgentHost.d.ts +201 -0
  4. package/dist/AgentHost.js +652 -0
  5. package/dist/adapters/AnthropicAdapter.d.ts +39 -0
  6. package/dist/adapters/AnthropicAdapter.js +200 -0
  7. package/dist/adapters/McpAdapter.d.ts +199 -0
  8. package/dist/adapters/McpAdapter.js +468 -0
  9. package/dist/adapters/OpenAIAdapter.d.ts +26 -0
  10. package/dist/adapters/OpenAIAdapter.js +158 -0
  11. package/dist/adapters/index.js +2 -0
  12. package/dist/agent/Agent.d.ts +78 -0
  13. package/dist/agent/Agent.js +58 -0
  14. package/dist/agent/ClaudeSdkAgent.d.ts +38 -0
  15. package/dist/agent/ClaudeSdkAgent.js +322 -0
  16. package/dist/agent/claudeCognition.d.ts +67 -0
  17. package/dist/agent/claudeCognition.js +103 -0
  18. package/dist/agent/claudeSdkProtocol.d.ts +11 -0
  19. package/dist/agent/claudeSdkProtocol.js +27 -0
  20. package/dist/agent/claudeSdkTools.d.ts +19 -0
  21. package/dist/agent/claudeSdkTools.js +57 -0
  22. package/dist/agent/hostedAgentConnection.d.ts +15 -0
  23. package/dist/agent/hostedAgentConnection.js +29 -0
  24. package/dist/agent/toolManagerToSdkMcp.d.ts +12 -0
  25. package/dist/agent/toolManagerToSdkMcp.js +123 -0
  26. package/dist/brain/index.d.ts +50 -0
  27. package/dist/brain/index.js +45 -0
  28. package/dist/cognition/validateContext.d.ts +11 -0
  29. package/dist/cognition/validateContext.js +117 -0
  30. package/dist/context/applyEffects.d.ts +2 -0
  31. package/dist/context/applyEffects.js +89 -0
  32. package/dist/context/batch.d.ts +2 -0
  33. package/dist/context/batch.js +18 -0
  34. package/dist/context/classifyEnvelope.d.ts +1 -0
  35. package/dist/context/classifyEnvelope.js +58 -0
  36. package/dist/context/routingLabels.d.ts +4 -0
  37. package/dist/context/routingLabels.js +48 -0
  38. package/dist/defineAgent.d.ts +14 -0
  39. package/dist/defineAgent.js +68 -0
  40. package/dist/formatters/AgreementFormatter.d.ts +18 -0
  41. package/dist/formatters/AgreementFormatter.js +130 -0
  42. package/dist/formatters/HistoryFormatter.d.ts +26 -0
  43. package/dist/formatters/HistoryFormatter.js +173 -0
  44. package/dist/formatters/index.js +2 -0
  45. package/{src/index.ts → dist/index.d.ts} +13 -53
  46. package/dist/index.js +66 -0
  47. package/dist/ingress/normalizeIncoming.d.ts +65 -0
  48. package/dist/ingress/normalizeIncoming.js +88 -0
  49. package/dist/memory/MemoryStore.d.ts +55 -0
  50. package/dist/memory/MemoryStore.js +78 -0
  51. package/dist/pricing/fleetDefaults.d.ts +46 -0
  52. package/dist/pricing/fleetDefaults.js +168 -0
  53. package/dist/pricing/fleetEvalFree.d.ts +7 -0
  54. package/dist/pricing/fleetEvalFree.js +24 -0
  55. package/dist/pricing/fleetFreeTierA.gen.d.ts +6 -0
  56. package/{src/pricing/fleetFreeTierA.gen.ts → dist/pricing/fleetFreeTierA.gen.js} +5 -6
  57. package/dist/pricing/fleetTierByAgentId.gen.d.ts +7 -0
  58. package/dist/pricing/fleetTierByAgentId.gen.js +768 -0
  59. package/dist/runtime/AgentMachine.d.ts +143 -0
  60. package/dist/runtime/AgentMachine.js +400 -0
  61. package/dist/runtime/PromptBuilder.d.ts +96 -0
  62. package/dist/runtime/PromptBuilder.js +439 -0
  63. package/dist/runtime/bootstrapCtx.d.ts +18 -0
  64. package/dist/runtime/bootstrapCtx.js +37 -0
  65. package/dist/runtime/buildOutcome.d.ts +68 -0
  66. package/dist/runtime/buildOutcome.js +464 -0
  67. package/dist/runtime/defaults.d.ts +54 -0
  68. package/dist/runtime/defaults.js +47 -0
  69. package/dist/runtime/deriveRespondsToProposals.d.ts +9 -0
  70. package/dist/runtime/deriveRespondsToProposals.js +38 -0
  71. package/dist/runtime/kickoff.d.ts +15 -0
  72. package/dist/runtime/kickoff.js +112 -0
  73. package/dist/runtime/runMechanical.d.ts +25 -0
  74. package/dist/runtime/runMechanical.js +74 -0
  75. package/dist/runtime/runTurn.d.ts +63 -0
  76. package/dist/runtime/runTurn.js +800 -0
  77. package/dist/runtime/validateWorkflow.d.ts +17 -0
  78. package/dist/runtime/validateWorkflow.js +209 -0
  79. package/dist/server/ConnectionPool.d.ts +68 -0
  80. package/dist/server/ConnectionPool.js +166 -0
  81. package/dist/server/EventQueue.d.ts +33 -0
  82. package/dist/server/EventQueue.js +98 -0
  83. package/dist/server/InboxCatchUp.d.ts +24 -0
  84. package/dist/server/InboxCatchUp.js +213 -0
  85. package/dist/server/OutboxBuffer.d.ts +33 -0
  86. package/dist/server/OutboxBuffer.js +68 -0
  87. package/dist/server/SeenMessages.d.ts +13 -0
  88. package/dist/server/SeenMessages.js +31 -0
  89. package/dist/server/StateTimers.d.ts +34 -0
  90. package/dist/server/StateTimers.js +70 -0
  91. package/dist/server/ZiggsEffectHandler.d.ts +79 -0
  92. package/dist/server/ZiggsEffectHandler.js +319 -0
  93. package/dist/server/agreements/AgreementService.d.ts +50 -0
  94. package/dist/server/agreements/AgreementService.js +85 -0
  95. package/dist/server/createHealthServer.d.ts +7 -0
  96. package/dist/server/createHealthServer.js +75 -0
  97. package/dist/server/proactive/ProactiveTrigger.d.ts +33 -0
  98. package/dist/server/proactive/ProactiveTrigger.js +71 -0
  99. package/dist/server/runLauncher.d.ts +28 -0
  100. package/dist/server/runLauncher.js +93 -0
  101. package/dist/server/tasks/TaskService.d.ts +25 -0
  102. package/dist/server/tasks/TaskService.js +103 -0
  103. package/dist/server/tasks/index.js +1 -0
  104. package/dist/server/telemetryIngest.d.ts +24 -0
  105. package/dist/server/telemetryIngest.js +62 -0
  106. package/dist/server/tools/index.d.ts +24 -0
  107. package/{src/server/tools/index.ts → dist/server/tools/index.js} +4 -24
  108. package/dist/server/tools/tier1/protocolRunner.d.ts +39 -0
  109. package/dist/server/tools/tier1/protocolRunner.js +288 -0
  110. package/dist/server/tools/tier1/protocolTools.d.ts +12 -0
  111. package/dist/server/tools/tier1/protocolTools.js +37 -0
  112. package/dist/server/tools/tier2/connectionTools.d.ts +4 -0
  113. package/dist/server/tools/tier2/connectionTools.js +63 -0
  114. package/dist/server/tools/tier2/contextTools.d.ts +4 -0
  115. package/dist/server/tools/tier2/contextTools.js +46 -0
  116. package/dist/server/tools/tier2/discoveryTools.d.ts +4 -0
  117. package/dist/server/tools/tier2/discoveryTools.js +25 -0
  118. package/dist/server/tools/tier2/marketplaceTools.d.ts +3 -0
  119. package/dist/server/tools/tier2/marketplaceTools.js +22 -0
  120. package/dist/server/tools/tier2/paymentTools.d.ts +12 -0
  121. package/dist/server/tools/tier2/paymentTools.js +165 -0
  122. package/dist/server/ziggsconnect/ZiggsConnectClient.d.ts +35 -0
  123. package/dist/server/ziggsconnect/ZiggsConnectClient.js +95 -0
  124. package/dist/server/ziggscontext/ZiggsContextClient.d.ts +48 -0
  125. package/dist/server/ziggscontext/ZiggsContextClient.js +90 -0
  126. package/dist/server/ziggspay/ZiggsPayClient.d.ts +82 -0
  127. package/dist/server/ziggspay/ZiggsPayClient.js +188 -0
  128. package/dist/shared/ids.d.ts +1 -0
  129. package/dist/shared/ids.js +3 -0
  130. package/dist/shared/runtimeLog.d.ts +18 -0
  131. package/dist/shared/runtimeLog.js +68 -0
  132. package/dist/shared/types.d.ts +22 -0
  133. package/dist/shared/types.js +23 -0
  134. package/dist/tasks/protocolRegistry.d.ts +16 -0
  135. package/dist/tasks/protocolRegistry.js +20 -0
  136. package/dist/tools/ToolManager.d.ts +12 -0
  137. package/dist/tools/ToolManager.js +74 -0
  138. package/dist/tools/ToolProvider.d.ts +6 -0
  139. package/dist/tools/ToolProvider.js +21 -0
  140. package/dist/tools/defineTool.d.ts +27 -0
  141. package/dist/tools/defineTool.js +62 -0
  142. package/{src/tools/index.ts → dist/tools/index.d.ts} +0 -1
  143. package/dist/tools/index.js +6 -0
  144. package/dist/tools/recordReport.d.ts +41 -0
  145. package/dist/tools/recordReport.js +30 -0
  146. package/dist/types.d.ts +466 -0
  147. package/dist/types.js +7 -0
  148. package/dist/utils/jsonExtractor.d.ts +2 -0
  149. package/dist/utils/jsonExtractor.js +111 -0
  150. package/package.json +17 -7
  151. package/src/AgentHost.ts +0 -545
  152. package/src/adapters/AnthropicAdapter.ts +0 -206
  153. package/src/adapters/McpAdapter.ts +0 -348
  154. package/src/adapters/OpenAIAdapter.ts +0 -187
  155. package/src/agent/Agent.ts +0 -104
  156. package/src/cognition/validateContext.ts +0 -95
  157. package/src/context/applyEffects.ts +0 -80
  158. package/src/context/batch.ts +0 -19
  159. package/src/context/classifyEnvelope.ts +0 -38
  160. package/src/context/routingLabels.ts +0 -46
  161. package/src/defineAgent.ts +0 -70
  162. package/src/formatters/AgreementFormatter.ts +0 -111
  163. package/src/formatters/HistoryFormatter.ts +0 -172
  164. package/src/ingress/normalizeIncoming.ts +0 -162
  165. package/src/memory/MemoryStore.ts +0 -104
  166. package/src/pricing/fleetDefaults.ts +0 -225
  167. package/src/pricing/fleetEvalFree.ts +0 -24
  168. package/src/pricing/fleetTierByAgentId.gen.ts +0 -775
  169. package/src/runtime/AgentMachine.ts +0 -402
  170. package/src/runtime/PromptBuilder.ts +0 -485
  171. package/src/runtime/buildOutcome.ts +0 -563
  172. package/src/runtime/defaults.ts +0 -75
  173. package/src/runtime/kickoff.ts +0 -117
  174. package/src/runtime/runTurn.ts +0 -813
  175. package/src/runtime/validateWorkflow.ts +0 -202
  176. package/src/server/ConnectionPool.ts +0 -206
  177. package/src/server/EventQueue.ts +0 -133
  178. package/src/server/InboxCatchUp.ts +0 -254
  179. package/src/server/OutboxBuffer.ts +0 -90
  180. package/src/server/SeenMessages.ts +0 -27
  181. package/src/server/StateTimers.ts +0 -85
  182. package/src/server/ZiggsEffectHandler.ts +0 -418
  183. package/src/server/agreements/AgreementService.ts +0 -118
  184. package/src/server/createHealthServer.ts +0 -85
  185. package/src/server/proactive/ProactiveTrigger.ts +0 -83
  186. package/src/server/runLauncher.ts +0 -146
  187. package/src/server/tasks/TaskService.ts +0 -110
  188. package/src/server/telemetryIngest.ts +0 -91
  189. package/src/server/tools/tier1/protocolRunner.ts +0 -144
  190. package/src/server/tools/tier1/protocolTools.ts +0 -99
  191. package/src/server/tools/tier2/connectionTools.ts +0 -75
  192. package/src/server/tools/tier2/contextTools.ts +0 -63
  193. package/src/server/tools/tier2/discoveryTools.ts +0 -34
  194. package/src/server/tools/tier2/marketplaceTools.ts +0 -27
  195. package/src/server/tools/tier2/paymentTools.ts +0 -170
  196. package/src/server/ziggsconnect/ZiggsConnectClient.ts +0 -126
  197. package/src/server/ziggscontext/ZiggsContextClient.ts +0 -129
  198. package/src/server/ziggspay/ZiggsPayClient.ts +0 -193
  199. package/src/shared/ids.ts +0 -3
  200. package/src/shared/runtimeLog.ts +0 -72
  201. package/src/shared/types.ts +0 -29
  202. package/src/tasks/protocolRegistry.ts +0 -25
  203. package/src/tools/ToolManager.ts +0 -95
  204. package/src/tools/ToolProvider.ts +0 -19
  205. package/src/tools/defineTool.ts +0 -90
  206. package/src/tools/recordReport.ts +0 -82
  207. package/src/types.ts +0 -456
  208. package/src/utils/jsonExtractor.ts +0 -100
  209. /package/{src/adapters/index.ts → dist/adapters/index.d.ts} +0 -0
  210. /package/{src/formatters/index.ts → dist/formatters/index.d.ts} +0 -0
  211. /package/{src/server/tasks/index.ts → dist/server/tasks/index.d.ts} +0 -0
@@ -1,225 +0,0 @@
1
- /**
2
- * ZIG-368 — default paid pricing for Ziggs-operated (first-party) agents.
3
- * Prices are in wallet cents (1 ZIG = 100 cents).
4
- */
5
- import { FLEET_TIER_BY_AGENT_ID, type FleetPricingTier } from './fleetTierByAgentId.gen.js';
6
- import { FREE_TIER_A_AGENT_IDS } from './fleetFreeTierA.gen.js';
7
- import { isEvalFreeExecutor } from './fleetEvalFree.js';
8
-
9
- export const ZIGGS_OPERATOR_CUT_BPS = 1000; // 10%
10
-
11
- export const TIER_PRICE_CENTS: Record<FleetPricingTier, number> = {
12
- A: 200, // 2 ZIG / call
13
- B: 500, // 5 ZIG / call
14
- C: 1500, // 15 ZIG / job (orchestrator, charged once at top)
15
- D: 100, // 1 ZIG / call (hand-written demo agents)
16
- };
17
-
18
- const ZIGGS_ORCHESTRATOR_IDS = new Set(['ziggs-agent']);
19
-
20
- const PING_DESCRIPTION_PATTERN =
21
- /\b(ping|health\s*check|healthcheck|liveness|readiness|heartbeat)\b/i;
22
-
23
- const TRIVIAL_LOOKUP_DESCRIPTION_PATTERN =
24
- /\b(what\s+time|current\s+time|local\s+time|world\s+clock|timezone|time\s+zone|weather|forecast|temperature|uv\s+index)\b/i;
25
-
26
- export function resolveFleetTier(agentId: string): FleetPricingTier | null {
27
- if (!agentId || typeof agentId !== 'string') return null;
28
- return FLEET_TIER_BY_AGENT_ID[agentId] ?? null;
29
- }
30
-
31
- export function isFirstPartyFleetAgent(agentId: string): boolean {
32
- return resolveFleetTier(agentId) != null;
33
- }
34
-
35
- export function tierPriceCents(tier: FleetPricingTier): number {
36
- return TIER_PRICE_CENTS[tier];
37
- }
38
-
39
- export function isZiggsOrchestrator(agentId: string): boolean {
40
- return ZIGGS_ORCHESTRATOR_IDS.has(agentId);
41
- }
42
-
43
- export function isFreeAllowlistedExecutor(
44
- executorId: string,
45
- description?: string | null,
46
- ): boolean {
47
- if (!executorId) return false;
48
- if (isEvalFreeExecutor(executorId)) return true;
49
- if (FREE_TIER_A_AGENT_IDS.has(executorId)) return true;
50
- if (description && PING_DESCRIPTION_PATTERN.test(description)) return true;
51
- if (
52
- description &&
53
- TRIVIAL_LOOKUP_DESCRIPTION_PATTERN.test(description) &&
54
- FREE_TIER_A_AGENT_IDS.has(executorId)
55
- ) {
56
- return true;
57
- }
58
- return false;
59
- }
60
-
61
- export function resolveDefaultPriceCentsForExecutor(
62
- executorId: string,
63
- description?: string | null,
64
- ): number | null {
65
- if (isFreeAllowlistedExecutor(executorId, description)) return 0;
66
- const tier = resolveFleetTier(executorId);
67
- if (!tier) return null;
68
- return tierPriceCents(tier);
69
- }
70
-
71
- export interface ProtocolPricingPayload {
72
- price?: number | null;
73
- description?: string;
74
- agreementDescription?: string;
75
- proposedTo?: string;
76
- providerId?: string;
77
- executorId?: string;
78
- parentAgreementId?: string;
79
- parentTaskId?: string;
80
- [key: string]: unknown;
81
- }
82
-
83
- /**
84
- * Apply ZIG-368 defaults when `price` is omitted (null/undefined).
85
- * Explicit `price: 0` is kept (free-on-purpose).
86
- */
87
- export function applyFleetAgreementPricing(
88
- operation: 'agreement-propose' | 'agreement-subcontract',
89
- payload: ProtocolPricingPayload,
90
- actingAgentId: string,
91
- ): ProtocolPricingPayload {
92
- if (payload.price != null && payload.price !== undefined) {
93
- return payload;
94
- }
95
-
96
- const next = { ...payload };
97
- const scopeDescription = next.description ?? next.agreementDescription;
98
-
99
- if (operation === 'agreement-subcontract') {
100
- const executorId = String(next.executorId ?? '');
101
- if (next.parentAgreementId) {
102
- // Paid parent scope: no second user hold — allocate from parent budget (recordAllocation).
103
- const cents = resolveDefaultPriceCentsForExecutor(executorId, scopeDescription);
104
- next.price = cents ?? 0;
105
- return next;
106
- }
107
- const cents = resolveDefaultPriceCentsForExecutor(executorId, scopeDescription);
108
- if (cents != null) next.price = cents;
109
- return next;
110
- }
111
-
112
- // agreement-propose
113
- if (next.parentAgreementId) {
114
- return next;
115
- }
116
-
117
- const proposedTo = next.proposedTo != null ? String(next.proposedTo) : '';
118
- const providerId = next.providerId != null ? String(next.providerId) : '';
119
-
120
- // Ziggs scope proposal to human user — 15 ZIG once at top.
121
- if (
122
- isZiggsOrchestrator(actingAgentId) &&
123
- proposedTo &&
124
- !isFirstPartyFleetAgent(proposedTo)
125
- ) {
126
- next.price = TIER_PRICE_CENTS.C;
127
- return next;
128
- }
129
-
130
- // Tier C orchestrator proposing scope to a user (non-ziggs fleet orchestrators).
131
- const actingTier = resolveFleetTier(actingAgentId);
132
- if (actingTier === 'C' && proposedTo && !isFirstPartyFleetAgent(proposedTo)) {
133
- next.price = TIER_PRICE_CENTS.C;
134
- return next;
135
- }
136
-
137
- // Matchmaking: propose directly to a fleet specialist with tier list price.
138
- const specialistId = providerId || (isFirstPartyFleetAgent(proposedTo) ? proposedTo : '');
139
- if (specialistId) {
140
- const cents = resolveDefaultPriceCentsForExecutor(specialistId, scopeDescription);
141
- if (cents != null) next.price = cents;
142
- }
143
-
144
- return next;
145
- }
146
-
147
- /**
148
- * Default tier price when a fleet agent counters without an explicit `price`.
149
- *
150
- * Generic over the payload shape so the precise field types of the caller's
151
- * payload survive the round-trip — this helper only ever sets `price`, so a
152
- * richer input type (e.g. protocolRunner's `ProtocolPayload`) must come back
153
- * out unwidened by `ProtocolPricingPayload`'s `[key: string]: unknown` index.
154
- */
155
- export function applyFleetCounterPricing<T extends ProtocolPricingPayload>(
156
- payload: T,
157
- actingAgentId: string,
158
- ): T {
159
- if (payload.price != null && payload.price !== undefined) {
160
- return payload;
161
- }
162
- const cents = resolveDefaultPriceCentsForExecutor(
163
- actingAgentId,
164
- payload.description ?? payload.agreementDescription,
165
- );
166
- if (cents == null) return payload;
167
- return { ...payload, price: cents } as T;
168
- }
169
-
170
- /** User or agent direct-create / marketplace: default from provider specialist. */
171
- export function resolveDefaultPriceForProvider(
172
- providerId: string,
173
- description?: string | null,
174
- explicitPrice?: number | null,
175
- ): number | null {
176
- if (typeof explicitPrice === 'number') return explicitPrice;
177
- return resolveDefaultPriceCentsForExecutor(providerId, description);
178
- }
179
-
180
- /**
181
- * Infer fleet actor when tool context omits agentId (ZIG-368 safety net).
182
- */
183
- export function inferFleetPricingActorId(payload: ProtocolPricingPayload): string | null {
184
- const executor = payload.executorId != null ? String(payload.executorId) : '';
185
- if (executor && isFirstPartyFleetAgent(executor)) return executor;
186
- const provider = payload.providerId != null ? String(payload.providerId) : '';
187
- if (provider && isFirstPartyFleetAgent(provider)) return provider;
188
- const proposed = payload.proposedTo != null ? String(payload.proposedTo) : '';
189
- if (proposed && isFirstPartyFleetAgent(proposed)) return proposed;
190
- return null;
191
- }
192
-
193
- /** Apply fleet defaults with optional acting agent (falls back to payload inference). */
194
- export function applyFleetPricingForProtocol(
195
- operation: 'agreement-propose' | 'agreement-subcontract',
196
- payload: ProtocolPricingPayload,
197
- actingAgentId: string | null,
198
- ): ProtocolPricingPayload {
199
- const actor = actingAgentId?.trim() || inferFleetPricingActorId(payload);
200
- if (!actor) {
201
- if (operation === 'agreement-propose') {
202
- const specialist =
203
- (payload.providerId != null ? String(payload.providerId) : '') ||
204
- (payload.proposedTo != null && isFirstPartyFleetAgent(String(payload.proposedTo))
205
- ? String(payload.proposedTo)
206
- : '');
207
- if (specialist) {
208
- const cents = resolveDefaultPriceCentsForExecutor(
209
- specialist,
210
- payload.description ?? (payload.agreementDescription as string | undefined),
211
- );
212
- if (cents != null) return { ...payload, price: cents };
213
- }
214
- }
215
- if (operation === 'agreement-subcontract' && payload.executorId) {
216
- const cents = resolveDefaultPriceCentsForExecutor(
217
- String(payload.executorId),
218
- payload.description,
219
- );
220
- if (cents != null) return { ...payload, price: cents };
221
- }
222
- return payload;
223
- }
224
- return applyFleetAgreementPricing(operation, payload, actor);
225
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * ZIG-395 — eval/harness free pricing via env flag (no SANDBOX id-shape regex).
3
- */
4
-
5
- /** Capability-probe + test harness agents (agents/test/). */
6
- export const EVAL_HARNESS_AGENT_IDS = new Set([
7
- 'minimal-context-agent',
8
- 'forwarding-agent',
9
- 'failing-agent',
10
- 'messaging-only-agent',
11
- 'principal-agent',
12
- 'capability-probe-agent',
13
- ]);
14
-
15
- export function isEvalFreePricingEnabled(): boolean {
16
- return process.env.FLEET_EVAL_FREE_PRICING === 'true';
17
- }
18
-
19
- export function isEvalFreeExecutor(agentId: string): boolean {
20
- if (!isEvalFreePricingEnabled() || !agentId) return false;
21
- if (agentId === 'eval-user') return true;
22
- if (agentId.endsWith('--eval')) return true;
23
- return EVAL_HARNESS_AGENT_IDS.has(agentId);
24
- }