@agentmc/api 0.2.4 → 0.2.7

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/index.d.ts CHANGED
@@ -6,40 +6,6 @@ export { operationsById } from './generated/operations.js';
6
6
  * Do not make direct changes to the file.
7
7
  */
8
8
  interface paths {
9
- "/agents/connect": {
10
- parameters: {
11
- query?: never;
12
- header?: never;
13
- path?: never;
14
- cookie?: never;
15
- };
16
- get?: never;
17
- put?: never;
18
- /** Connect and register one agent using a short-lived connect token. */
19
- post: operations["connectAgent"];
20
- delete?: never;
21
- options?: never;
22
- head?: never;
23
- patch?: never;
24
- trace?: never;
25
- };
26
- "/agents/{agent}/agent-instructions": {
27
- parameters: {
28
- query?: never;
29
- header?: never;
30
- path?: never;
31
- cookie?: never;
32
- };
33
- /** Return agent instructions for a connected agent using bearer auth. */
34
- get: operations["agentInstructions"];
35
- put?: never;
36
- post?: never;
37
- delete?: never;
38
- options?: never;
39
- head?: never;
40
- patch?: never;
41
- trace?: never;
42
- };
43
9
  "/agents/{agent}/heartbeat": {
44
10
  parameters: {
45
11
  query?: never;
@@ -977,7 +943,6 @@ interface components {
977
943
  * ]
978
944
  * },
979
945
  * "last_seen_at": "2026-02-24T02:11:00Z",
980
- * "first_sync_at": "2026-02-24T02:01:00Z",
981
946
  * "tasks_count": 3,
982
947
  * "created_at": "2026-02-24T01:56:00Z",
983
948
  * "updated_at": "2026-02-24T02:11:00Z"
@@ -1056,12 +1021,6 @@ interface components {
1056
1021
  * @example 2026-02-22T17:21:00Z
1057
1022
  */
1058
1023
  last_seen_at: string | null;
1059
- /**
1060
- * Format: date-time
1061
- * @description ISO-8601 timestamp when this agent first completed initial sync.
1062
- * @example 2026-02-22T17:21:00Z
1063
- */
1064
- first_sync_at: string | null;
1065
1024
  /**
1066
1025
  * @description Count of tasks currently assigned to this agent.
1067
1026
  * @example 0
@@ -1112,7 +1071,6 @@ interface components {
1112
1071
  * ]
1113
1072
  * },
1114
1073
  * "last_seen_at": "2026-02-24T02:11:00Z",
1115
- * "first_sync_at": "2026-02-24T02:01:00Z",
1116
1074
  * "tasks_count": 3,
1117
1075
  * "created_at": "2026-02-24T01:56:00Z",
1118
1076
  * "updated_at": "2026-02-24T02:11:00Z"
@@ -1173,7 +1131,6 @@ interface components {
1173
1131
  * ]
1174
1132
  * },
1175
1133
  * "last_seen_at": "2026-02-24T02:11:00Z",
1176
- * "first_sync_at": "2026-02-24T02:01:00Z",
1177
1134
  * "tasks_count": 3,
1178
1135
  * "created_at": "2026-02-24T01:56:00Z",
1179
1136
  * "updated_at": "2026-02-24T02:11:00Z"
@@ -1266,135 +1223,6 @@ interface components {
1266
1223
  [key: string]: unknown;
1267
1224
  };
1268
1225
  };
1269
- /**
1270
- * @description Connect/registration response with agent credentials, authenticated agent instructions endpoint, and OpenAPI URL.
1271
- * @example {
1272
- * "agent_id": 42,
1273
- * "agent_token": "mca_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
1274
- * "agent_instructions_endpoint": "https://agentmc.example.com/api/v1/agents/42/agent-instructions",
1275
- * "agent_authenticated_instructions_endpoint": "https://agentmc.example.com/api/v1/agents/42/agent-instructions",
1276
- * "agent_instructions_version": "32fe7fd14fca2d57c545f5f78f4a1c094f9ac1b3a1e8f6f9f8323b67a0ef9cc3",
1277
- * "openapi_url": "https://agentmc.example.com/api/openapi.json",
1278
- * "workspace": {
1279
- * "id": 7,
1280
- * "name": "AgentMC Demo Workspace"
1281
- * },
1282
- * "heartbeat_interval_seconds": 300,
1283
- * "server_time": "2026-02-22T17:20:53Z",
1284
- * "first_sync_required": true
1285
- * }
1286
- */
1287
- AgentRegisterResponse: {
1288
- /**
1289
- * @description Identifier for agent.
1290
- * @example 42
1291
- */
1292
- agent_id: number;
1293
- /**
1294
- * @description Bearer token to use in `Authorization: Bearer <token>` headers.
1295
- * @example mca_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1296
- */
1297
- agent_token: string;
1298
- /**
1299
- * Format: uri
1300
- * @description Endpoint for agent instructions updates.
1301
- * @example https://agentmc.example.com/resource
1302
- */
1303
- agent_instructions_endpoint: string;
1304
- /**
1305
- * Format: uri
1306
- * @description Authenticated endpoint for agent instructions updates.
1307
- * @example https://agentmc.example.com/resource
1308
- */
1309
- agent_authenticated_instructions_endpoint: string;
1310
- /**
1311
- * @description Agent instructions version.
1312
- * @example example
1313
- */
1314
- agent_instructions_version: string;
1315
- /**
1316
- * @description Canonical OpenAPI specification URL.
1317
- * @example https://agentmc.example.com/api/openapi.json
1318
- */
1319
- openapi_url: string;
1320
- /**
1321
- * @description Workspace.
1322
- * @example {
1323
- * "id": 42,
1324
- * "name": "Example Name"
1325
- * }
1326
- */
1327
- workspace: components["schemas"]["TeamSummary"];
1328
- /**
1329
- * @description Heartbeat interval seconds.
1330
- * @example 1
1331
- */
1332
- heartbeat_interval_seconds: number;
1333
- /**
1334
- * Format: date-time
1335
- * @description Current server timestamp.
1336
- * @example 2026-02-22T17:21:00Z
1337
- */
1338
- server_time: string;
1339
- /**
1340
- * @description Boolean flag for first sync required.
1341
- * @example true
1342
- */
1343
- first_sync_required: boolean;
1344
- };
1345
- /**
1346
- * @description Connected agent instructions payload returned after successful bearer authentication.
1347
- * @example {
1348
- * "agent_instructions": "# Agent Instructions",
1349
- * "agent_instructions_version": "32fe7fd14fca2d57c545f5f78f4a1c094f9ac1b3a1e8f6f9f8323b67a0ef9cc3",
1350
- * "docs": [],
1351
- * "schedules": [],
1352
- * "config": {}
1353
- * }
1354
- */
1355
- AgentInstructionsResponse: {
1356
- /**
1357
- * @description Agent instructions.
1358
- * @example example
1359
- */
1360
- agent_instructions: string;
1361
- /**
1362
- * @description Agent instructions version.
1363
- * @example example
1364
- */
1365
- agent_instructions_version: string;
1366
- /**
1367
- * @description Docs.
1368
- * @example [
1369
- * {
1370
- * "key": "value"
1371
- * }
1372
- * ]
1373
- */
1374
- docs: {
1375
- [key: string]: unknown;
1376
- }[];
1377
- /**
1378
- * @description Schedules.
1379
- * @example [
1380
- * {
1381
- * "key": "value"
1382
- * }
1383
- * ]
1384
- */
1385
- schedules: {
1386
- [key: string]: unknown;
1387
- }[];
1388
- /**
1389
- * @description Config.
1390
- * @example {
1391
- * "key": "value"
1392
- * }
1393
- */
1394
- config: {
1395
- [key: string]: unknown;
1396
- };
1397
- };
1398
1226
  /**
1399
1227
  * @description Heartbeat acknowledgement with optional resolved host record when runtime payload is provided.
1400
1228
  * @example {
@@ -5229,291 +5057,6 @@ interface components {
5229
5057
  [key: string]: unknown;
5230
5058
  }[]) | null;
5231
5059
  };
5232
- /**
5233
- * @description One-time agent registration payload. Resolve this schema from OpenAPI at runtime instead of hardcoding fields.
5234
- * @example {
5235
- * "host": "ip-10-0-3-42",
5236
- * "runtime_version": "2026.02.1",
5237
- * "capabilities": [
5238
- * "tasks",
5239
- * "calendar",
5240
- * "realtime"
5241
- * ],
5242
- * "agents_md": "# Existing AGENTS.md\n\n## Runtime\n- Keep heartbeat alive.\n",
5243
- * "models": [
5244
- * {
5245
- * "model_id": "openai/gpt-5-codex",
5246
- * "provider": "openai"
5247
- * },
5248
- * {
5249
- * "model_id": "anthropic/claude-sonnet-4-20250514",
5250
- * "provider": "anthropic"
5251
- * }
5252
- * ],
5253
- * "identity": {
5254
- * "name": "Jarvis",
5255
- * "creature": "robot",
5256
- * "vibe": "calm",
5257
- * "emoji": "🤖"
5258
- * },
5259
- * "metadata": {
5260
- * "hostname": "worker-01",
5261
- * "ip": "10.0.2.15",
5262
- * "network": {
5263
- * "private_ip": "10.0.2.15",
5264
- * "public_ip": "34.201.22.9"
5265
- * },
5266
- * "os": "Ubuntu",
5267
- * "os_version": "22.04",
5268
- * "arch": "x86_64",
5269
- * "cpu": "Intel Xeon",
5270
- * "cpu_cores": 8,
5271
- * "ram_gb": 32,
5272
- * "disk": {
5273
- * "total_bytes": 512110190592,
5274
- * "free_bytes": 321102110720
5275
- * },
5276
- * "uptime_seconds": 86400,
5277
- * "runtime": {
5278
- * "name": "codex",
5279
- * "version": "2026.02.1"
5280
- * },
5281
- * "identity": {
5282
- * "name": "Jarvis",
5283
- * "creature": "robot",
5284
- * "vibe": "calm"
5285
- * }
5286
- * }
5287
- * }
5288
- */
5289
- RegisterAgentApiRequest: {
5290
- /**
5291
- * @description Runtime host identifier (hostname or machine name).
5292
- * @example ip-10-0-3-42
5293
- */
5294
- host: string;
5295
- /**
5296
- * @description Required runtime/client version string for diagnostics.
5297
- * @example 2026.02.1
5298
- */
5299
- runtime_version: string;
5300
- /**
5301
- * @description Required (nullable) capability tags supported by this runtime.
5302
- * @example [
5303
- * "tasks",
5304
- * "calendar",
5305
- * "realtime"
5306
- * ]
5307
- */
5308
- capabilities: string[] | null;
5309
- /**
5310
- * @description Required current local AGENTS.md content captured by the runtime before first sync.
5311
- * @example # Existing AGENTS.md
5312
- *
5313
- * ## Runtime
5314
- * - Keep heartbeat alive.
5315
- */
5316
- agents_md: string;
5317
- /**
5318
- * @description Optional runtime LLM inventory. Send an array of model refs/objects or a structured runtime snapshot object.
5319
- * @example [
5320
- * {
5321
- * "model_id": "openai/gpt-5-codex",
5322
- * "provider": "openai"
5323
- * },
5324
- * {
5325
- * "model_id": "anthropic/claude-sonnet-4-20250514",
5326
- * "provider": "anthropic"
5327
- * }
5328
- * ]
5329
- */
5330
- models?: ((string | {
5331
- /**
5332
- * @description Full model ID in provider/model format.
5333
- * @example openai/gpt-5-codex
5334
- */
5335
- model_id: string;
5336
- /**
5337
- * @description Model provider slug.
5338
- * @example openai
5339
- */
5340
- provider?: string;
5341
- /**
5342
- * @description Optional display name.
5343
- * @example GPT-5 Codex
5344
- */
5345
- name?: string;
5346
- })[] | {
5347
- [key: string]: unknown;
5348
- }) | null;
5349
- /**
5350
- * @description Optional full agent identity payload persisted in agent metadata.
5351
- * @example {
5352
- * "name": "Jarvis",
5353
- * "creature": "robot",
5354
- * "vibe": "calm",
5355
- * "emoji": "🤖"
5356
- * }
5357
- */
5358
- identity?: unknown;
5359
- /**
5360
- * @description Required host telemetry snapshot for registration. Mirrors heartbeat host metadata and is saved as host metadata.
5361
- * @example {
5362
- * "hostname": "worker-01",
5363
- * "ip": "10.0.2.15",
5364
- * "network": {
5365
- * "private_ip": "10.0.2.15",
5366
- * "public_ip": "34.201.22.9"
5367
- * },
5368
- * "os": "Ubuntu",
5369
- * "os_version": "22.04",
5370
- * "arch": "x86_64",
5371
- * "cpu": "Intel Xeon",
5372
- * "cpu_cores": 8,
5373
- * "ram_gb": 32,
5374
- * "disk": {
5375
- * "total_bytes": 512110190592,
5376
- * "free_bytes": 321102110720
5377
- * },
5378
- * "uptime_seconds": 86400,
5379
- * "runtime": {
5380
- * "name": "codex",
5381
- * "version": "2026.02.1"
5382
- * },
5383
- * "identity": {
5384
- * "name": "Jarvis",
5385
- * "creature": "robot",
5386
- * "vibe": "calm"
5387
- * }
5388
- * }
5389
- */
5390
- metadata: {
5391
- /**
5392
- * @description Hostname.
5393
- * @example Example Name
5394
- */
5395
- hostname: string;
5396
- /**
5397
- * Format: ipv4
5398
- * @description Ip.
5399
- * @example example
5400
- */
5401
- ip: string;
5402
- /**
5403
- * @description Network.
5404
- * @example {
5405
- * "private_ip": "example",
5406
- * "public_ip": "example"
5407
- * }
5408
- */
5409
- network: {
5410
- /**
5411
- * Format: ipv4
5412
- * @description Private ip.
5413
- * @example example
5414
- */
5415
- private_ip: string;
5416
- /**
5417
- * Format: ipv4
5418
- * @description Public ip.
5419
- * @example example
5420
- */
5421
- public_ip: string;
5422
- };
5423
- /**
5424
- * @description Os.
5425
- * @example example
5426
- */
5427
- os: string;
5428
- /**
5429
- * @description Os version.
5430
- * @example example
5431
- */
5432
- os_version: string;
5433
- /**
5434
- * @description Arch.
5435
- * @example example
5436
- */
5437
- arch: string;
5438
- /**
5439
- * @description Cpu.
5440
- * @example example
5441
- */
5442
- cpu: string | {
5443
- [key: string]: unknown;
5444
- };
5445
- /**
5446
- * @description Cpu cores.
5447
- * @example 8
5448
- */
5449
- cpu_cores: number;
5450
- /**
5451
- * @description Ram gb.
5452
- * @example 32
5453
- */
5454
- ram_gb: number;
5455
- /**
5456
- * @description Disk.
5457
- * @example {
5458
- * "total_bytes": 0,
5459
- * "free_bytes": 0
5460
- * }
5461
- */
5462
- disk: {
5463
- /**
5464
- * @description Total bytes.
5465
- * @example 0
5466
- */
5467
- total_bytes: number;
5468
- /**
5469
- * @description Free bytes.
5470
- * @example 0
5471
- */
5472
- free_bytes: number;
5473
- };
5474
- /**
5475
- * @description Uptime seconds.
5476
- * @example 86400
5477
- */
5478
- uptime_seconds: number;
5479
- /**
5480
- * @description Runtime.
5481
- * @example {
5482
- * "name": "Example Name",
5483
- * "version": "example"
5484
- * }
5485
- */
5486
- runtime: {
5487
- /**
5488
- * @description Human-readable name.
5489
- * @example Example Name
5490
- */
5491
- name: string;
5492
- /**
5493
- * @description Version.
5494
- * @example example
5495
- */
5496
- version: string;
5497
- };
5498
- /**
5499
- * @description Optional identity payload persisted as host metadata.
5500
- * @example {
5501
- * "name": "Jarvis"
5502
- * }
5503
- */
5504
- identity?: ({
5505
- /**
5506
- * @description Human-readable name.
5507
- * @example Jarvis
5508
- */
5509
- name?: string;
5510
- } & {
5511
- [key: string]: unknown;
5512
- }) | string;
5513
- } & {
5514
- [key: string]: unknown;
5515
- };
5516
- };
5517
5060
  /**
5518
5061
  * @description Heartbeat payload that accepts liveness pings and optional host + runtime state.
5519
5062
  * @example {
@@ -6618,50 +6161,6 @@ interface components {
6618
6161
  };
6619
6162
  };
6620
6163
  responses: {
6621
- /** @description Agent registered and bearer token issued. */
6622
- AgentRegisterResponse: {
6623
- headers: {
6624
- [name: string]: unknown;
6625
- };
6626
- content: {
6627
- /**
6628
- * @example {
6629
- * "agent_id": 42,
6630
- * "agent_token": "mca_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
6631
- * "agent_instructions_endpoint": "https://agentmc.example.com/api/v1/agents/42/agent-instructions",
6632
- * "agent_authenticated_instructions_endpoint": "https://agentmc.example.com/api/v1/agents/42/agent-instructions",
6633
- * "agent_instructions_version": "32fe7fd14fca2d57c545f5f78f4a1c094f9ac1b3a1e8f6f9f8323b67a0ef9cc3",
6634
- * "openapi_url": "https://agentmc.example.com/api/openapi.json",
6635
- * "workspace": {
6636
- * "id": 7,
6637
- * "name": "AgentMC Demo Workspace"
6638
- * },
6639
- * "heartbeat_interval_seconds": 300,
6640
- * "server_time": "2026-02-22T17:20:53Z",
6641
- * "first_sync_required": true
6642
- * }
6643
- */
6644
- "application/json": components["schemas"]["AgentRegisterResponse"];
6645
- };
6646
- };
6647
- /** @description Agent instructions returned. */
6648
- AgentInstructionsResponse: {
6649
- headers: {
6650
- [name: string]: unknown;
6651
- };
6652
- content: {
6653
- /**
6654
- * @example {
6655
- * "agent_instructions": "# Agent Instructions",
6656
- * "agent_instructions_version": "32fe7fd14fca2d57c545f5f78f4a1c094f9ac1b3a1e8f6f9f8323b67a0ef9cc3",
6657
- * "docs": [],
6658
- * "schedules": [],
6659
- * "config": {}
6660
- * }
6661
- */
6662
- "application/json": components["schemas"]["AgentInstructionsResponse"];
6663
- };
6664
- };
6665
6164
  /** @description Heartbeat accepted. */
6666
6165
  AgentHeartbeatResponse: {
6667
6166
  headers: {
@@ -7325,64 +6824,6 @@ interface components {
7325
6824
  "application/json": components["schemas"]["CloseAgentRealtimeSessionApiRequest"];
7326
6825
  };
7327
6826
  };
7328
- RegisterAgentApiRequest: {
7329
- content: {
7330
- /**
7331
- * @example {
7332
- * "host": "ip-10-0-3-42",
7333
- * "runtime_version": "2026.02.1",
7334
- * "capabilities": [
7335
- * "tasks",
7336
- * "calendar",
7337
- * "realtime"
7338
- * ],
7339
- * "agents_md": "# Existing AGENTS.md\n\n## Runtime\n- Keep heartbeat alive.\n",
7340
- * "models": [
7341
- * {
7342
- * "model_id": "openai/gpt-5-codex",
7343
- * "provider": "openai"
7344
- * },
7345
- * {
7346
- * "model_id": "anthropic/claude-sonnet-4-20250514",
7347
- * "provider": "anthropic"
7348
- * }
7349
- * ],
7350
- * "identity": {
7351
- * "name": "Jarvis",
7352
- * "creature": "robot",
7353
- * "vibe": "calm"
7354
- * },
7355
- * "metadata": {
7356
- * "hostname": "worker-01",
7357
- * "ip": "10.0.2.15",
7358
- * "network": {
7359
- * "private_ip": "10.0.2.15",
7360
- * "public_ip": "34.201.22.9"
7361
- * },
7362
- * "os": "Ubuntu",
7363
- * "os_version": "22.04",
7364
- * "arch": "x86_64",
7365
- * "cpu": "Intel Xeon",
7366
- * "cpu_cores": 8,
7367
- * "ram_gb": 32,
7368
- * "disk": {
7369
- * "total_bytes": 512110190592,
7370
- * "free_bytes": 321102110720
7371
- * },
7372
- * "uptime_seconds": 86400,
7373
- * "runtime": {
7374
- * "name": "codex",
7375
- * "version": "2026.02.1"
7376
- * },
7377
- * "identity": {
7378
- * "name": "Jarvis"
7379
- * }
7380
- * }
7381
- * }
7382
- */
7383
- "application/json": components["schemas"]["RegisterAgentApiRequest"];
7384
- };
7385
- };
7386
6827
  StoreAgentHeartbeatApiRequest: {
7387
6828
  content: {
7388
6829
  /**
@@ -7704,84 +7145,6 @@ interface components {
7704
7145
  pathItems: never;
7705
7146
  }
7706
7147
  interface operations {
7707
- connectAgent: {
7708
- parameters: {
7709
- query?: never;
7710
- header?: never;
7711
- path?: never;
7712
- cookie?: never;
7713
- };
7714
- requestBody: components["requestBodies"]["RegisterAgentApiRequest"];
7715
- responses: {
7716
- /** @description Agent connected and bearer token issued. */
7717
- 201: {
7718
- headers: {
7719
- [name: string]: unknown;
7720
- };
7721
- content: {
7722
- /**
7723
- * @example {
7724
- * "agent_id": 42,
7725
- * "agent_token": "mca_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
7726
- * "agent_instructions_endpoint": "https://agentmc.example.com/api/v1/agents/42/agent-instructions",
7727
- * "agent_authenticated_instructions_endpoint": "https://agentmc.example.com/api/v1/agents/42/agent-instructions",
7728
- * "agent_instructions_version": "32fe7fd14fca2d57c545f5f78f4a1c094f9ac1b3a1e8f6f9f8323b67a0ef9cc3",
7729
- * "openapi_url": "https://agentmc.example.com/api/openapi.json",
7730
- * "workspace": {
7731
- * "id": 7,
7732
- * "name": "AgentMC Demo Workspace"
7733
- * },
7734
- * "heartbeat_interval_seconds": 300,
7735
- * "server_time": "2026-02-22T17:20:53Z",
7736
- * "first_sync_required": true
7737
- * }
7738
- */
7739
- "application/json": components["schemas"]["AgentRegisterResponse"];
7740
- };
7741
- };
7742
- 401: components["responses"]["ApiError401"];
7743
- 403: components["responses"]["ApiError403"];
7744
- 422: components["responses"]["ApiError422"];
7745
- };
7746
- };
7747
- agentInstructions: {
7748
- parameters: {
7749
- query?: never;
7750
- header?: never;
7751
- path: {
7752
- /**
7753
- * @description Agent identifier.
7754
- * @example 1
7755
- */
7756
- agent: number;
7757
- };
7758
- cookie?: never;
7759
- };
7760
- requestBody?: never;
7761
- responses: {
7762
- /** @description Agent instructions returned. */
7763
- 200: {
7764
- headers: {
7765
- [name: string]: unknown;
7766
- };
7767
- content: {
7768
- /**
7769
- * @example {
7770
- * "agent_instructions": "# Agent Instructions",
7771
- * "agent_instructions_version": "32fe7fd14fca2d57c545f5f78f4a1c094f9ac1b3a1e8f6f9f8323b67a0ef9cc3",
7772
- * "docs": [],
7773
- * "schedules": [],
7774
- * "config": {}
7775
- * }
7776
- */
7777
- "application/json": components["schemas"]["AgentInstructionsResponse"];
7778
- };
7779
- };
7780
- 401: components["responses"]["ApiError401"];
7781
- 403: components["responses"]["ApiError403"];
7782
- 404: components["responses"]["ApiError404"];
7783
- };
7784
- };
7785
7148
  agentHeartbeat: {
7786
7149
  parameters: {
7787
7150
  query?: never;
@@ -9789,7 +9152,6 @@ interface operations {
9789
9152
  * ]
9790
9153
  * },
9791
9154
  * "last_seen_at": "2026-02-24T02:11:00Z",
9792
- * "first_sync_at": "2026-02-24T02:01:00Z",
9793
9155
  * "tasks_count": 3,
9794
9156
  * "created_at": "2026-02-24T01:56:00Z",
9795
9157
  * "updated_at": "2026-02-24T02:11:00Z"