@almadar/core 10.65.0 → 10.66.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.
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-08-16T04:55:02.135Z",
3
+ "exportedAt": "2026-08-22T11:31:33.279Z",
4
4
  "services": {
5
5
  "llm": {
6
6
  "name": "llm",
7
7
  "description": "LLM service — text generation, classification, extraction, summarization",
8
8
  "category": "ai",
9
9
  "package": "@almadar/llm",
10
+ "backend": "production",
10
11
  "actions": [
11
12
  {
12
13
  "name": "generate",
@@ -138,6 +139,27 @@
138
139
  "summary": "string",
139
140
  "keyPoints": "string[]"
140
141
  }
142
+ },
143
+ {
144
+ "name": "embed",
145
+ "description": "Generate embeddings for an array of texts.",
146
+ "params": [
147
+ {
148
+ "name": "texts",
149
+ "type": "string[]",
150
+ "required": true,
151
+ "description": ""
152
+ },
153
+ {
154
+ "name": "model",
155
+ "type": "string",
156
+ "required": false,
157
+ "description": ""
158
+ }
159
+ ],
160
+ "responseShape": {
161
+ "embeddings": "number[][]"
162
+ }
141
163
  }
142
164
  ],
143
165
  "credentials": [
@@ -158,6 +180,7 @@
158
180
  "description": "ML service — model inference on a trained or off-the-shelf model",
159
181
  "category": "ai",
160
182
  "package": "@almadar/llm",
183
+ "backend": "production",
161
184
  "actions": [
162
185
  {
163
186
  "name": "infer",
@@ -201,6 +224,7 @@
201
224
  "description": "Data service — CRUD operations on entities",
202
225
  "category": "infrastructure",
203
226
  "package": "@almadar/server",
227
+ "backend": "production",
204
228
  "actions": [
205
229
  {
206
230
  "name": "list",
@@ -315,6 +339,7 @@
315
339
  "description": "Event bus — cross-trait pub/sub messaging",
316
340
  "category": "infrastructure",
317
341
  "package": "@almadar/server",
342
+ "backend": "production",
318
343
  "actions": [
319
344
  {
320
345
  "name": "emit",
@@ -353,6 +378,7 @@
353
378
  "description": "Service discovery — register and find services",
354
379
  "category": "infrastructure",
355
380
  "package": "@almadar/server",
381
+ "backend": "production",
356
382
  "actions": [
357
383
  {
358
384
  "name": "register",
@@ -437,6 +463,7 @@
437
463
  "description": "Migration service — import external data (notes, docs, references) into the system",
438
464
  "category": "infrastructure",
439
465
  "package": "@almadar-io/migration",
466
+ "backend": "production",
440
467
  "actions": [
441
468
  {
442
469
  "name": "listDocuments",
@@ -528,6 +555,7 @@
528
555
  "description": "Skills service — AI-powered schema generation",
529
556
  "category": "ai",
530
557
  "package": "@almadar/skills",
558
+ "backend": "production",
531
559
  "actions": [
532
560
  {
533
561
  "name": "generateOrbitals",
@@ -602,6 +630,7 @@
602
630
  "description": "GitHub integration — repos, issues, PRs",
603
631
  "category": "devtools",
604
632
  "package": "@almadar/integrations",
633
+ "backend": "production",
605
634
  "actions": [
606
635
  {
607
636
  "name": "cloneRepo",
@@ -710,16 +739,22 @@
710
739
  "description": ""
711
740
  },
712
741
  {
713
- "name": "head",
742
+ "name": "baseBranch",
714
743
  "type": "string",
715
744
  "required": true,
716
745
  "description": ""
717
746
  },
718
747
  {
719
- "name": "base",
748
+ "name": "headBranch",
720
749
  "type": "string",
721
750
  "required": true,
722
751
  "description": ""
752
+ },
753
+ {
754
+ "name": "draft",
755
+ "type": "boolean",
756
+ "required": false,
757
+ "description": ""
723
758
  }
724
759
  ],
725
760
  "responseShape": {
@@ -928,6 +963,7 @@
928
963
  "description": "Stripe integration — payments, subscriptions, invoices",
929
964
  "category": "payment",
930
965
  "package": "@almadar/integrations",
966
+ "backend": "production",
931
967
  "actions": [
932
968
  {
933
969
  "name": "createPaymentIntent",
@@ -1018,6 +1054,7 @@
1018
1054
  "description": "LLM integration — generate, embed, classify via external providers",
1019
1055
  "category": "ai",
1020
1056
  "package": "@almadar/integrations",
1057
+ "backend": "production",
1021
1058
  "actions": [
1022
1059
  {
1023
1060
  "name": "generate",
@@ -1187,6 +1224,7 @@
1187
1224
  "description": "YouTube Data API — search videos, get video/channel details",
1188
1225
  "category": "media",
1189
1226
  "package": "@almadar/integrations",
1227
+ "backend": "production",
1190
1228
  "actions": [
1191
1229
  {
1192
1230
  "name": "search",
@@ -1262,6 +1300,7 @@
1262
1300
  "description": "Twilio — SMS, voice calls, verification",
1263
1301
  "category": "messaging",
1264
1302
  "package": "@almadar/integrations",
1303
+ "backend": "production",
1265
1304
  "actions": [
1266
1305
  {
1267
1306
  "name": "sendSMS",
@@ -1331,6 +1370,7 @@
1331
1370
  "description": "Email service — send, send with template",
1332
1371
  "category": "messaging",
1333
1372
  "package": "@almadar/integrations",
1373
+ "backend": "production",
1334
1374
  "actions": [
1335
1375
  {
1336
1376
  "name": "send",
@@ -1390,6 +1430,7 @@
1390
1430
  "description": "Outbound webhook — signed HTTP POST notifications to external endpoints",
1391
1431
  "category": "messaging",
1392
1432
  "package": "@almadar/integrations",
1433
+ "backend": "production",
1393
1434
  "actions": [
1394
1435
  {
1395
1436
  "name": "send",
@@ -1440,248 +1481,1063 @@
1440
1481
  }
1441
1482
  ]
1442
1483
  },
1443
- "docker": {
1444
- "name": "docker",
1445
- "description": "Dockercontainer and image management",
1446
- "category": "devtools",
1484
+ "push": {
1485
+ "name": "push",
1486
+ "description": "Web Push VAPID-signed browser push notifications",
1487
+ "category": "messaging",
1447
1488
  "package": "@almadar/integrations",
1489
+ "backend": "production",
1448
1490
  "actions": [
1449
1491
  {
1450
- "name": "build",
1492
+ "name": "send",
1451
1493
  "description": "",
1452
1494
  "params": [
1453
1495
  {
1454
- "name": "tag",
1496
+ "name": "subscription",
1497
+ "type": "object",
1498
+ "required": true,
1499
+ "description": ""
1500
+ },
1501
+ {
1502
+ "name": "title",
1455
1503
  "type": "string",
1456
1504
  "required": true,
1457
1505
  "description": ""
1458
1506
  },
1459
1507
  {
1460
- "name": "dockerfile",
1508
+ "name": "body",
1461
1509
  "type": "string",
1462
- "required": false,
1510
+ "required": true,
1463
1511
  "description": ""
1464
1512
  },
1465
1513
  {
1466
- "name": "context",
1514
+ "name": "url",
1467
1515
  "type": "string",
1468
1516
  "required": false,
1469
1517
  "description": ""
1470
1518
  },
1471
1519
  {
1472
- "name": "buildArgs",
1473
- "type": "object",
1520
+ "name": "icon",
1521
+ "type": "string",
1474
1522
  "required": false,
1475
1523
  "description": ""
1476
1524
  }
1477
1525
  ],
1478
1526
  "responseShape": {
1479
- "imageId": "string",
1480
- "tag": "string",
1481
- "size": "number",
1482
- "buildTime": "number"
1527
+ "statusCode": "number",
1528
+ "ok": "boolean",
1529
+ "expired": "boolean"
1483
1530
  }
1531
+ }
1532
+ ],
1533
+ "credentials": [
1534
+ {
1535
+ "envVar": "VAPID_PUBLIC_KEY",
1536
+ "required": true,
1537
+ "description": "VAPID public key (web-push generate-vapid-keys)"
1484
1538
  },
1485
1539
  {
1486
- "name": "run",
1540
+ "envVar": "VAPID_PRIVATE_KEY",
1541
+ "required": true,
1542
+ "description": "VAPID private key"
1543
+ },
1544
+ {
1545
+ "envVar": "VAPID_SUBJECT",
1546
+ "required": true,
1547
+ "description": "VAPID subject (mailto: or https: contact URI)"
1548
+ }
1549
+ ]
1550
+ },
1551
+ "calendar": {
1552
+ "name": "calendar",
1553
+ "description": "Google Calendar — list/create/update/delete events, free-busy, push-channel watch (service account, domain-wide delegation)",
1554
+ "category": "infrastructure",
1555
+ "package": "@almadar/integrations",
1556
+ "backend": "production",
1557
+ "actions": [
1558
+ {
1559
+ "name": "listEvents",
1487
1560
  "description": "",
1488
1561
  "params": [
1489
1562
  {
1490
- "name": "image",
1563
+ "name": "calendarId",
1491
1564
  "type": "string",
1492
- "required": true,
1565
+ "required": false,
1493
1566
  "description": ""
1494
1567
  },
1495
1568
  {
1496
- "name": "name",
1569
+ "name": "timeMin",
1497
1570
  "type": "string",
1498
1571
  "required": false,
1499
1572
  "description": ""
1500
1573
  },
1501
1574
  {
1502
- "name": "ports",
1503
- "type": "array",
1575
+ "name": "timeMax",
1576
+ "type": "string",
1504
1577
  "required": false,
1505
1578
  "description": ""
1506
1579
  },
1507
1580
  {
1508
- "name": "env",
1509
- "type": "object",
1581
+ "name": "syncToken",
1582
+ "type": "string",
1510
1583
  "required": false,
1511
1584
  "description": ""
1512
1585
  },
1513
1586
  {
1514
- "name": "volumes",
1515
- "type": "array",
1587
+ "name": "maxResults",
1588
+ "type": "number",
1589
+ "required": false,
1590
+ "description": ""
1591
+ }
1592
+ ],
1593
+ "responseShape": {
1594
+ "events": "array",
1595
+ "nextSyncToken": "string | null"
1596
+ }
1597
+ },
1598
+ {
1599
+ "name": "createEvent",
1600
+ "description": "",
1601
+ "params": [
1602
+ {
1603
+ "name": "calendarId",
1604
+ "type": "string",
1516
1605
  "required": false,
1517
1606
  "description": ""
1518
1607
  },
1519
1608
  {
1520
- "name": "command",
1609
+ "name": "summary",
1610
+ "type": "string",
1611
+ "required": true,
1612
+ "description": ""
1613
+ },
1614
+ {
1615
+ "name": "description",
1616
+ "type": "string",
1617
+ "required": false,
1618
+ "description": ""
1619
+ },
1620
+ {
1621
+ "name": "location",
1622
+ "type": "string",
1623
+ "required": false,
1624
+ "description": ""
1625
+ },
1626
+ {
1627
+ "name": "start",
1628
+ "type": "string",
1629
+ "required": true,
1630
+ "description": ""
1631
+ },
1632
+ {
1633
+ "name": "end",
1521
1634
  "type": "string",
1522
1635
  "required": false,
1523
1636
  "description": ""
1637
+ },
1638
+ {
1639
+ "name": "durationMinutes",
1640
+ "type": "number",
1641
+ "required": false,
1642
+ "description": ""
1524
1643
  }
1525
1644
  ],
1526
1645
  "responseShape": {
1527
- "containerId": "string",
1528
- "name": "string",
1646
+ "id": "string",
1529
1647
  "status": "string",
1530
- "ports": "array"
1648
+ "htmlLink": "string"
1531
1649
  }
1532
1650
  },
1533
1651
  {
1534
- "name": "stop",
1652
+ "name": "updateEvent",
1535
1653
  "description": "",
1536
1654
  "params": [
1537
1655
  {
1538
- "name": "containerId",
1656
+ "name": "calendarId",
1657
+ "type": "string",
1658
+ "required": false,
1659
+ "description": ""
1660
+ },
1661
+ {
1662
+ "name": "eventId",
1539
1663
  "type": "string",
1540
1664
  "required": true,
1541
1665
  "description": ""
1666
+ },
1667
+ {
1668
+ "name": "summary",
1669
+ "type": "string",
1670
+ "required": false,
1671
+ "description": ""
1672
+ },
1673
+ {
1674
+ "name": "description",
1675
+ "type": "string",
1676
+ "required": false,
1677
+ "description": ""
1678
+ },
1679
+ {
1680
+ "name": "location",
1681
+ "type": "string",
1682
+ "required": false,
1683
+ "description": ""
1684
+ },
1685
+ {
1686
+ "name": "start",
1687
+ "type": "string",
1688
+ "required": false,
1689
+ "description": ""
1690
+ },
1691
+ {
1692
+ "name": "end",
1693
+ "type": "string",
1694
+ "required": false,
1695
+ "description": ""
1542
1696
  }
1543
1697
  ],
1544
1698
  "responseShape": {
1545
- "containerId": "string",
1546
- "status": "string",
1547
- "stoppedAt": "number"
1699
+ "id": "string",
1700
+ "status": "string"
1548
1701
  }
1549
1702
  },
1550
1703
  {
1551
- "name": "remove",
1704
+ "name": "deleteEvent",
1552
1705
  "description": "",
1553
1706
  "params": [
1554
1707
  {
1555
- "name": "containerId",
1708
+ "name": "calendarId",
1556
1709
  "type": "string",
1557
- "required": true,
1710
+ "required": false,
1558
1711
  "description": ""
1559
1712
  },
1560
1713
  {
1561
- "name": "force",
1562
- "type": "boolean",
1563
- "required": false,
1714
+ "name": "eventId",
1715
+ "type": "string",
1716
+ "required": true,
1564
1717
  "description": ""
1565
1718
  }
1566
1719
  ],
1567
1720
  "responseShape": {
1568
- "containerId": "string",
1569
- "removed": "boolean"
1721
+ "id": "string",
1722
+ "deleted": "boolean"
1570
1723
  }
1571
1724
  },
1572
1725
  {
1573
- "name": "logs",
1726
+ "name": "freeBusy",
1574
1727
  "description": "",
1575
1728
  "params": [
1576
1729
  {
1577
- "name": "containerId",
1730
+ "name": "calendarId",
1578
1731
  "type": "string",
1579
- "required": true,
1732
+ "required": false,
1580
1733
  "description": ""
1581
1734
  },
1582
1735
  {
1583
- "name": "tail",
1584
- "type": "number",
1585
- "required": false,
1736
+ "name": "timeMin",
1737
+ "type": "string",
1738
+ "required": true,
1586
1739
  "description": ""
1587
1740
  },
1588
1741
  {
1589
- "name": "since",
1742
+ "name": "timeMax",
1590
1743
  "type": "string",
1591
- "required": false,
1744
+ "required": true,
1592
1745
  "description": ""
1593
1746
  }
1594
1747
  ],
1595
1748
  "responseShape": {
1596
- "containerId": "string",
1597
- "logs": "string[]",
1598
- "lineCount": "number"
1749
+ "busy": "array"
1599
1750
  }
1600
1751
  },
1601
1752
  {
1602
- "name": "status",
1753
+ "name": "watch",
1603
1754
  "description": "",
1604
1755
  "params": [
1605
1756
  {
1606
- "name": "containerId",
1757
+ "name": "calendarId",
1758
+ "type": "string",
1759
+ "required": false,
1760
+ "description": ""
1761
+ },
1762
+ {
1763
+ "name": "channelId",
1764
+ "type": "string",
1765
+ "required": true,
1766
+ "description": ""
1767
+ },
1768
+ {
1769
+ "name": "address",
1607
1770
  "type": "string",
1608
1771
  "required": true,
1609
1772
  "description": ""
1773
+ },
1774
+ {
1775
+ "name": "ttlSeconds",
1776
+ "type": "number",
1777
+ "required": false,
1778
+ "description": ""
1610
1779
  }
1611
1780
  ],
1612
1781
  "responseShape": {
1613
- "containerId": "string",
1614
- "name": "string",
1615
- "image": "string",
1616
- "status": "string",
1617
- "ports": "array",
1618
- "createdAt": "number",
1619
- "startedAt": "number | null",
1620
- "stoppedAt": "number | null"
1782
+ "channelId": "string",
1783
+ "resourceId": "string",
1784
+ "expiration": "string"
1621
1785
  }
1622
1786
  },
1623
1787
  {
1624
- "name": "list",
1788
+ "name": "stopWatch",
1625
1789
  "description": "",
1626
1790
  "params": [
1627
1791
  {
1628
- "name": "all",
1629
- "type": "boolean",
1630
- "required": false,
1792
+ "name": "channelId",
1793
+ "type": "string",
1794
+ "required": true,
1631
1795
  "description": ""
1632
1796
  },
1633
1797
  {
1634
- "name": "filterByLabel",
1798
+ "name": "resourceId",
1635
1799
  "type": "string",
1636
- "required": false,
1800
+ "required": true,
1637
1801
  "description": ""
1638
1802
  }
1639
1803
  ],
1640
1804
  "responseShape": {
1641
- "containers": "array",
1642
- "total": "number"
1805
+ "stopped": "boolean"
1643
1806
  }
1644
1807
  }
1645
1808
  ],
1646
1809
  "credentials": [
1647
1810
  {
1648
- "envVar": "DOCKER_HOST",
1811
+ "envVar": "GOOGLE_CALENDAR_SA_KEY",
1812
+ "required": true,
1813
+ "description": "Google service-account key JSON (raw or base64) with calendar scope; store in Secret Manager, bind as env"
1814
+ },
1815
+ {
1816
+ "envVar": "GOOGLE_CALENDAR_SUBJECT",
1649
1817
  "required": false,
1650
- "description": "Docker daemon host URL"
1818
+ "description": "Workspace user to impersonate (domain-wide delegation); empty = act as the service account"
1819
+ },
1820
+ {
1821
+ "envVar": "GOOGLE_CALENDAR_ID",
1822
+ "required": false,
1823
+ "description": "Default calendar id (default: primary)"
1651
1824
  }
1652
1825
  ]
1653
1826
  },
1654
- "database": {
1655
- "name": "database",
1656
- "description": "Database integrationread-only SQL queries over external connections",
1827
+ "drive": {
1828
+ "name": "drive",
1829
+ "description": "Google Drivelist/get/upload files, folders, sharing (service account, domain-wide delegation)",
1657
1830
  "category": "infrastructure",
1658
1831
  "package": "@almadar/integrations",
1832
+ "backend": "production",
1659
1833
  "actions": [
1660
1834
  {
1661
- "name": "query",
1835
+ "name": "listFiles",
1662
1836
  "description": "",
1663
1837
  "params": [
1664
1838
  {
1665
- "name": "connectionRef",
1839
+ "name": "folderId",
1666
1840
  "type": "string",
1667
- "required": true,
1841
+ "required": false,
1668
1842
  "description": ""
1669
1843
  },
1670
1844
  {
1671
- "name": "sql",
1845
+ "name": "query",
1672
1846
  "type": "string",
1673
- "required": true,
1847
+ "required": false,
1674
1848
  "description": ""
1675
1849
  },
1676
1850
  {
1677
- "name": "params",
1678
- "type": "DatabaseQueryParamValue[]",
1851
+ "name": "maxResults",
1852
+ "type": "number",
1679
1853
  "required": false,
1680
1854
  "description": ""
1681
1855
  }
1682
1856
  ],
1683
1857
  "responseShape": {
1684
- "rows": "DatabaseRow[]",
1858
+ "files": "array"
1859
+ }
1860
+ },
1861
+ {
1862
+ "name": "getFile",
1863
+ "description": "",
1864
+ "params": [
1865
+ {
1866
+ "name": "fileId",
1867
+ "type": "string",
1868
+ "required": true,
1869
+ "description": ""
1870
+ }
1871
+ ],
1872
+ "responseShape": {
1873
+ "id": "string",
1874
+ "name": "string",
1875
+ "mimeType": "string",
1876
+ "content": "string",
1877
+ "size": "number"
1878
+ }
1879
+ },
1880
+ {
1881
+ "name": "uploadFile",
1882
+ "description": "",
1883
+ "params": [
1884
+ {
1885
+ "name": "name",
1886
+ "type": "string",
1887
+ "required": true,
1888
+ "description": ""
1889
+ },
1890
+ {
1891
+ "name": "content",
1892
+ "type": "string",
1893
+ "required": true,
1894
+ "description": ""
1895
+ },
1896
+ {
1897
+ "name": "mimeType",
1898
+ "type": "string",
1899
+ "required": false,
1900
+ "description": ""
1901
+ },
1902
+ {
1903
+ "name": "folderId",
1904
+ "type": "string",
1905
+ "required": false,
1906
+ "description": ""
1907
+ }
1908
+ ],
1909
+ "responseShape": {
1910
+ "id": "string",
1911
+ "name": "string",
1912
+ "webViewLink": "string"
1913
+ }
1914
+ },
1915
+ {
1916
+ "name": "createFolder",
1917
+ "description": "",
1918
+ "params": [
1919
+ {
1920
+ "name": "name",
1921
+ "type": "string",
1922
+ "required": true,
1923
+ "description": ""
1924
+ },
1925
+ {
1926
+ "name": "parentId",
1927
+ "type": "string",
1928
+ "required": false,
1929
+ "description": ""
1930
+ }
1931
+ ],
1932
+ "responseShape": {
1933
+ "id": "string",
1934
+ "name": "string"
1935
+ }
1936
+ },
1937
+ {
1938
+ "name": "shareFile",
1939
+ "description": "",
1940
+ "params": [
1941
+ {
1942
+ "name": "fileId",
1943
+ "type": "string",
1944
+ "required": true,
1945
+ "description": ""
1946
+ },
1947
+ {
1948
+ "name": "email",
1949
+ "type": "string",
1950
+ "required": true,
1951
+ "description": ""
1952
+ },
1953
+ {
1954
+ "name": "role",
1955
+ "type": "'reader' | 'writer' | 'commenter'",
1956
+ "required": false,
1957
+ "description": ""
1958
+ }
1959
+ ],
1960
+ "responseShape": {
1961
+ "shared": "boolean",
1962
+ "permissionId": "string"
1963
+ }
1964
+ }
1965
+ ],
1966
+ "credentials": [
1967
+ {
1968
+ "envVar": "GOOGLE_DRIVE_SA_KEY",
1969
+ "required": true,
1970
+ "description": "Google service-account key JSON (raw or base64) with drive scope; store in Secret Manager, bind as env"
1971
+ },
1972
+ {
1973
+ "envVar": "GOOGLE_DRIVE_SUBJECT",
1974
+ "required": false,
1975
+ "description": "Workspace user to impersonate (domain-wide delegation); empty = act as the service account"
1976
+ }
1977
+ ]
1978
+ },
1979
+ "metaAds": {
1980
+ "name": "metaAds",
1981
+ "description": "Meta Ads — read-only Marketing Insights (spend, campaigns) for profitability reporting",
1982
+ "category": "marketing",
1983
+ "package": "@almadar/integrations",
1984
+ "backend": "production",
1985
+ "actions": [
1986
+ {
1987
+ "name": "getSpend",
1988
+ "description": "",
1989
+ "params": [
1990
+ {
1991
+ "name": "accountId",
1992
+ "type": "string",
1993
+ "required": false,
1994
+ "description": ""
1995
+ },
1996
+ {
1997
+ "name": "since",
1998
+ "type": "string",
1999
+ "required": true,
2000
+ "description": ""
2001
+ },
2002
+ {
2003
+ "name": "until",
2004
+ "type": "string",
2005
+ "required": true,
2006
+ "description": ""
2007
+ },
2008
+ {
2009
+ "name": "clientTag",
2010
+ "type": "string",
2011
+ "required": false,
2012
+ "description": ""
2013
+ }
2014
+ ],
2015
+ "responseShape": {
2016
+ "spend": "number",
2017
+ "currency": "string",
2018
+ "impressions": "number",
2019
+ "clicks": "number"
2020
+ }
2021
+ },
2022
+ {
2023
+ "name": "listCampaigns",
2024
+ "description": "",
2025
+ "params": [
2026
+ {
2027
+ "name": "accountId",
2028
+ "type": "string",
2029
+ "required": false,
2030
+ "description": ""
2031
+ },
2032
+ {
2033
+ "name": "status",
2034
+ "type": "string",
2035
+ "required": false,
2036
+ "description": ""
2037
+ }
2038
+ ],
2039
+ "responseShape": {
2040
+ "campaigns": "array"
2041
+ }
2042
+ }
2043
+ ],
2044
+ "credentials": [
2045
+ {
2046
+ "envVar": "META_ACCESS_TOKEN",
2047
+ "required": true,
2048
+ "description": "Meta Graph API access token (Marketing API, ads_read)"
2049
+ },
2050
+ {
2051
+ "envVar": "META_AD_ACCOUNT_ID",
2052
+ "required": false,
2053
+ "description": "Default ad account id (act_…); per-call accountId overrides"
2054
+ }
2055
+ ]
2056
+ },
2057
+ "accounting": {
2058
+ "name": "accounting",
2059
+ "description": "Accounting export — invoice/journal rows to import-ready CSV (provider-pluggable)",
2060
+ "category": "finance",
2061
+ "package": "@almadar/integrations",
2062
+ "backend": "production",
2063
+ "actions": [
2064
+ {
2065
+ "name": "exportInvoices",
2066
+ "description": "",
2067
+ "params": [
2068
+ {
2069
+ "name": "invoices",
2070
+ "type": "array",
2071
+ "required": true,
2072
+ "description": ""
2073
+ },
2074
+ {
2075
+ "name": "format",
2076
+ "type": "'csv'",
2077
+ "required": false,
2078
+ "description": ""
2079
+ }
2080
+ ],
2081
+ "responseShape": {
2082
+ "content": "string",
2083
+ "filename": "string",
2084
+ "count": "number"
2085
+ }
2086
+ },
2087
+ {
2088
+ "name": "exportJournal",
2089
+ "description": "",
2090
+ "params": [
2091
+ {
2092
+ "name": "entries",
2093
+ "type": "array",
2094
+ "required": true,
2095
+ "description": ""
2096
+ },
2097
+ {
2098
+ "name": "format",
2099
+ "type": "'csv'",
2100
+ "required": false,
2101
+ "description": ""
2102
+ }
2103
+ ],
2104
+ "responseShape": {
2105
+ "content": "string",
2106
+ "filename": "string",
2107
+ "count": "number"
2108
+ }
2109
+ }
2110
+ ],
2111
+ "credentials": []
2112
+ },
2113
+ "banking": {
2114
+ "name": "banking",
2115
+ "description": "Banking — GoCardless Bank Account Data (requisitions, accounts, transactions) for reconciliation",
2116
+ "category": "finance",
2117
+ "package": "@almadar/integrations",
2118
+ "backend": "production",
2119
+ "actions": [
2120
+ {
2121
+ "name": "createRequisition",
2122
+ "description": "",
2123
+ "params": [
2124
+ {
2125
+ "name": "institutionId",
2126
+ "type": "string",
2127
+ "required": true,
2128
+ "description": ""
2129
+ },
2130
+ {
2131
+ "name": "redirectUrl",
2132
+ "type": "string",
2133
+ "required": true,
2134
+ "description": ""
2135
+ },
2136
+ {
2137
+ "name": "reference",
2138
+ "type": "string",
2139
+ "required": false,
2140
+ "description": ""
2141
+ }
2142
+ ],
2143
+ "responseShape": {
2144
+ "requisitionId": "string",
2145
+ "link": "string"
2146
+ }
2147
+ },
2148
+ {
2149
+ "name": "listAccounts",
2150
+ "description": "",
2151
+ "params": [
2152
+ {
2153
+ "name": "requisitionId",
2154
+ "type": "string",
2155
+ "required": true,
2156
+ "description": ""
2157
+ }
2158
+ ],
2159
+ "responseShape": {
2160
+ "accounts": "string[]"
2161
+ }
2162
+ },
2163
+ {
2164
+ "name": "listTransactions",
2165
+ "description": "",
2166
+ "params": [
2167
+ {
2168
+ "name": "accountId",
2169
+ "type": "string",
2170
+ "required": true,
2171
+ "description": ""
2172
+ },
2173
+ {
2174
+ "name": "dateFrom",
2175
+ "type": "string",
2176
+ "required": false,
2177
+ "description": ""
2178
+ },
2179
+ {
2180
+ "name": "dateTo",
2181
+ "type": "string",
2182
+ "required": false,
2183
+ "description": ""
2184
+ }
2185
+ ],
2186
+ "responseShape": {
2187
+ "transactions": "array"
2188
+ }
2189
+ }
2190
+ ],
2191
+ "credentials": [
2192
+ {
2193
+ "envVar": "GOCARDLESS_SECRET_ID",
2194
+ "required": true,
2195
+ "description": "GoCardless Bank Account Data secret id"
2196
+ },
2197
+ {
2198
+ "envVar": "GOCARDLESS_SECRET_KEY",
2199
+ "required": true,
2200
+ "description": "GoCardless Bank Account Data secret key"
2201
+ }
2202
+ ]
2203
+ },
2204
+ "esign": {
2205
+ "name": "esign",
2206
+ "description": "E-signature — send/track/download envelopes (DocuSign first, provider-pluggable)",
2207
+ "category": "infrastructure",
2208
+ "package": "@almadar/integrations",
2209
+ "backend": "production",
2210
+ "actions": [
2211
+ {
2212
+ "name": "sendEnvelope",
2213
+ "description": "",
2214
+ "params": [
2215
+ {
2216
+ "name": "recipientEmail",
2217
+ "type": "string",
2218
+ "required": true,
2219
+ "description": ""
2220
+ },
2221
+ {
2222
+ "name": "recipientName",
2223
+ "type": "string",
2224
+ "required": true,
2225
+ "description": ""
2226
+ },
2227
+ {
2228
+ "name": "documentName",
2229
+ "type": "string",
2230
+ "required": true,
2231
+ "description": ""
2232
+ },
2233
+ {
2234
+ "name": "documentContent",
2235
+ "type": "string",
2236
+ "required": true,
2237
+ "description": ""
2238
+ },
2239
+ {
2240
+ "name": "emailSubject",
2241
+ "type": "string",
2242
+ "required": false,
2243
+ "description": ""
2244
+ }
2245
+ ],
2246
+ "responseShape": {
2247
+ "envelopeId": "string",
2248
+ "status": "string"
2249
+ }
2250
+ },
2251
+ {
2252
+ "name": "getEnvelopeStatus",
2253
+ "description": "",
2254
+ "params": [
2255
+ {
2256
+ "name": "envelopeId",
2257
+ "type": "string",
2258
+ "required": true,
2259
+ "description": ""
2260
+ }
2261
+ ],
2262
+ "responseShape": {
2263
+ "status": "string",
2264
+ "completedAt": "string"
2265
+ }
2266
+ },
2267
+ {
2268
+ "name": "downloadDocument",
2269
+ "description": "",
2270
+ "params": [
2271
+ {
2272
+ "name": "envelopeId",
2273
+ "type": "string",
2274
+ "required": true,
2275
+ "description": ""
2276
+ }
2277
+ ],
2278
+ "responseShape": {
2279
+ "content": "string",
2280
+ "documentName": "string"
2281
+ }
2282
+ }
2283
+ ],
2284
+ "credentials": [
2285
+ {
2286
+ "envVar": "DOCUSIGN_BASE_URL",
2287
+ "required": true,
2288
+ "description": "DocuSign REST base (e.g. https://demo.docusign.net/restapi/v2.1/accounts/<accountId>)"
2289
+ },
2290
+ {
2291
+ "envVar": "DOCUSIGN_ACCESS_TOKEN",
2292
+ "required": true,
2293
+ "description": "DocuSign OAuth access token (JWT grant rotation is the deployment concern)"
2294
+ }
2295
+ ]
2296
+ },
2297
+ "docker": {
2298
+ "name": "docker",
2299
+ "description": "Docker — container and image management",
2300
+ "category": "devtools",
2301
+ "package": "@almadar/integrations",
2302
+ "backend": "simulated",
2303
+ "actions": [
2304
+ {
2305
+ "name": "build",
2306
+ "description": "",
2307
+ "params": [
2308
+ {
2309
+ "name": "tag",
2310
+ "type": "string",
2311
+ "required": true,
2312
+ "description": ""
2313
+ },
2314
+ {
2315
+ "name": "dockerfile",
2316
+ "type": "string",
2317
+ "required": false,
2318
+ "description": ""
2319
+ },
2320
+ {
2321
+ "name": "context",
2322
+ "type": "string",
2323
+ "required": false,
2324
+ "description": ""
2325
+ },
2326
+ {
2327
+ "name": "buildArgs",
2328
+ "type": "object",
2329
+ "required": false,
2330
+ "description": ""
2331
+ }
2332
+ ],
2333
+ "responseShape": {
2334
+ "imageId": "string",
2335
+ "tag": "string",
2336
+ "size": "number",
2337
+ "buildTime": "number"
2338
+ }
2339
+ },
2340
+ {
2341
+ "name": "run",
2342
+ "description": "",
2343
+ "params": [
2344
+ {
2345
+ "name": "image",
2346
+ "type": "string",
2347
+ "required": true,
2348
+ "description": ""
2349
+ },
2350
+ {
2351
+ "name": "name",
2352
+ "type": "string",
2353
+ "required": false,
2354
+ "description": ""
2355
+ },
2356
+ {
2357
+ "name": "ports",
2358
+ "type": "array",
2359
+ "required": false,
2360
+ "description": ""
2361
+ },
2362
+ {
2363
+ "name": "env",
2364
+ "type": "object",
2365
+ "required": false,
2366
+ "description": ""
2367
+ },
2368
+ {
2369
+ "name": "volumes",
2370
+ "type": "array",
2371
+ "required": false,
2372
+ "description": ""
2373
+ },
2374
+ {
2375
+ "name": "command",
2376
+ "type": "string",
2377
+ "required": false,
2378
+ "description": ""
2379
+ }
2380
+ ],
2381
+ "responseShape": {
2382
+ "containerId": "string",
2383
+ "name": "string",
2384
+ "status": "string",
2385
+ "ports": "array"
2386
+ }
2387
+ },
2388
+ {
2389
+ "name": "stop",
2390
+ "description": "",
2391
+ "params": [
2392
+ {
2393
+ "name": "containerId",
2394
+ "type": "string",
2395
+ "required": true,
2396
+ "description": ""
2397
+ }
2398
+ ],
2399
+ "responseShape": {
2400
+ "containerId": "string",
2401
+ "status": "string",
2402
+ "stoppedAt": "number"
2403
+ }
2404
+ },
2405
+ {
2406
+ "name": "remove",
2407
+ "description": "",
2408
+ "params": [
2409
+ {
2410
+ "name": "containerId",
2411
+ "type": "string",
2412
+ "required": true,
2413
+ "description": ""
2414
+ },
2415
+ {
2416
+ "name": "force",
2417
+ "type": "boolean",
2418
+ "required": false,
2419
+ "description": ""
2420
+ }
2421
+ ],
2422
+ "responseShape": {
2423
+ "containerId": "string",
2424
+ "removed": "boolean"
2425
+ }
2426
+ },
2427
+ {
2428
+ "name": "logs",
2429
+ "description": "",
2430
+ "params": [
2431
+ {
2432
+ "name": "containerId",
2433
+ "type": "string",
2434
+ "required": true,
2435
+ "description": ""
2436
+ },
2437
+ {
2438
+ "name": "tail",
2439
+ "type": "number",
2440
+ "required": false,
2441
+ "description": ""
2442
+ },
2443
+ {
2444
+ "name": "since",
2445
+ "type": "string",
2446
+ "required": false,
2447
+ "description": ""
2448
+ }
2449
+ ],
2450
+ "responseShape": {
2451
+ "containerId": "string",
2452
+ "logs": "string[]",
2453
+ "lineCount": "number"
2454
+ }
2455
+ },
2456
+ {
2457
+ "name": "status",
2458
+ "description": "",
2459
+ "params": [
2460
+ {
2461
+ "name": "containerId",
2462
+ "type": "string",
2463
+ "required": true,
2464
+ "description": ""
2465
+ }
2466
+ ],
2467
+ "responseShape": {
2468
+ "containerId": "string",
2469
+ "name": "string",
2470
+ "image": "string",
2471
+ "status": "string",
2472
+ "ports": "array",
2473
+ "createdAt": "number",
2474
+ "startedAt": "number | null",
2475
+ "stoppedAt": "number | null"
2476
+ }
2477
+ },
2478
+ {
2479
+ "name": "list",
2480
+ "description": "",
2481
+ "params": [
2482
+ {
2483
+ "name": "all",
2484
+ "type": "boolean",
2485
+ "required": false,
2486
+ "description": ""
2487
+ },
2488
+ {
2489
+ "name": "filterByLabel",
2490
+ "type": "string",
2491
+ "required": false,
2492
+ "description": ""
2493
+ }
2494
+ ],
2495
+ "responseShape": {
2496
+ "containers": "array",
2497
+ "total": "number"
2498
+ }
2499
+ }
2500
+ ],
2501
+ "credentials": [
2502
+ {
2503
+ "envVar": "DOCKER_HOST",
2504
+ "required": false,
2505
+ "description": "Docker daemon host URL"
2506
+ }
2507
+ ]
2508
+ },
2509
+ "database": {
2510
+ "name": "database",
2511
+ "description": "Database integration — read-only SQL queries over external connections",
2512
+ "category": "infrastructure",
2513
+ "package": "@almadar/integrations",
2514
+ "backend": "production",
2515
+ "actions": [
2516
+ {
2517
+ "name": "query",
2518
+ "description": "",
2519
+ "params": [
2520
+ {
2521
+ "name": "connectionRef",
2522
+ "type": "string",
2523
+ "required": true,
2524
+ "description": ""
2525
+ },
2526
+ {
2527
+ "name": "sql",
2528
+ "type": "string",
2529
+ "required": true,
2530
+ "description": ""
2531
+ },
2532
+ {
2533
+ "name": "params",
2534
+ "type": "DatabaseQueryParamValue[]",
2535
+ "required": false,
2536
+ "description": ""
2537
+ }
2538
+ ],
2539
+ "responseShape": {
2540
+ "rows": "DatabaseRow[]",
1685
2541
  "rowCount": "number"
1686
2542
  }
1687
2543
  }
@@ -1693,6 +2549,7 @@
1693
2549
  "description": "Object storage — upload, download, delete, list files",
1694
2550
  "category": "infrastructure",
1695
2551
  "package": "@almadar/integrations",
2552
+ "backend": "production",
1696
2553
  "actions": [
1697
2554
  {
1698
2555
  "name": "upload",
@@ -1724,7 +2581,7 @@
1724
2581
  },
1725
2582
  {
1726
2583
  "name": "file",
1727
- "type": "IntegrationParams",
2584
+ "type": "object",
1728
2585
  "required": false,
1729
2586
  "description": ""
1730
2587
  },
@@ -1751,7 +2608,9 @@
1751
2608
  "key": "string",
1752
2609
  "bucket": "string",
1753
2610
  "size": "number",
1754
- "etag": "string"
2611
+ "etag": "string",
2612
+ "id": "string",
2613
+ "url": "string"
1755
2614
  }
1756
2615
  },
1757
2616
  {
@@ -1863,15 +2722,35 @@
1863
2722
  }
1864
2723
  ],
1865
2724
  "credentials": [
2725
+ {
2726
+ "envVar": "STORAGE_ACCESS_KEY_ID",
2727
+ "required": true,
2728
+ "description": "S3-compatible access key id"
2729
+ },
2730
+ {
2731
+ "envVar": "STORAGE_SECRET_ACCESS_KEY",
2732
+ "required": true,
2733
+ "description": "S3-compatible secret access key"
2734
+ },
1866
2735
  {
1867
2736
  "envVar": "STORAGE_BUCKET",
1868
2737
  "required": true,
1869
- "description": "Cloud storage bucket name"
2738
+ "description": "Default bucket name"
1870
2739
  },
1871
2740
  {
1872
2741
  "envVar": "STORAGE_REGION",
1873
2742
  "required": false,
1874
- "description": "Storage region"
2743
+ "description": "Region (default us-east-1)"
2744
+ },
2745
+ {
2746
+ "envVar": "STORAGE_ENDPOINT",
2747
+ "required": false,
2748
+ "description": "Custom S3-compatible endpoint (R2/MinIO/…); empty = AWS S3"
2749
+ },
2750
+ {
2751
+ "envVar": "STORAGE_PUBLIC_URL_BASE",
2752
+ "required": false,
2753
+ "description": "Base URL for public-acl object links; empty = endpoint-derived"
1875
2754
  }
1876
2755
  ]
1877
2756
  },
@@ -1880,6 +2759,7 @@
1880
2759
  "description": "Message queue — publish, subscribe, acknowledge messages",
1881
2760
  "category": "infrastructure",
1882
2761
  "package": "@almadar/integrations",
2762
+ "backend": "simulated",
1883
2763
  "actions": [
1884
2764
  {
1885
2765
  "name": "enqueue",
@@ -2034,6 +2914,7 @@
2034
2914
  "description": "Redis — cache get/set/delete, pub/sub",
2035
2915
  "category": "infrastructure",
2036
2916
  "package": "@almadar/integrations",
2917
+ "backend": "simulated",
2037
2918
  "actions": [
2038
2919
  {
2039
2920
  "name": "get",
@@ -2224,9 +3105,10 @@
2224
3105
  },
2225
3106
  "oauth": {
2226
3107
  "name": "oauth",
2227
- "description": "OAuth — authorization flow, token management",
3108
+ "description": "OAuth/OIDC — authorization-code + PKCE flow, token management, userinfo",
2228
3109
  "category": "auth",
2229
3110
  "package": "@almadar/integrations",
3111
+ "backend": "production",
2230
3112
  "actions": [
2231
3113
  {
2232
3114
  "name": "authorize",
@@ -2334,17 +3216,125 @@
2334
3216
  {
2335
3217
  "envVar": "OAUTH_CLIENT_ID",
2336
3218
  "required": true,
2337
- "description": "OAuth2 client ID"
3219
+ "description": "OIDC client ID"
2338
3220
  },
2339
3221
  {
2340
3222
  "envVar": "OAUTH_CLIENT_SECRET",
2341
3223
  "required": true,
2342
- "description": "OAuth2 client secret"
3224
+ "description": "OIDC client secret"
2343
3225
  },
2344
3226
  {
2345
3227
  "envVar": "OAUTH_REDIRECT_URI",
2346
3228
  "required": false,
2347
- "description": "OAuth2 redirect URI"
3229
+ "description": "OIDC redirect URI (default per-call param)"
3230
+ },
3231
+ {
3232
+ "envVar": "OIDC_ISSUER_URL",
3233
+ "required": false,
3234
+ "description": "OIDC issuer URL (default https://accounts.google.com)"
3235
+ }
3236
+ ]
3237
+ },
3238
+ "credentials": {
3239
+ "name": "credentials",
3240
+ "description": "Tenant credential store — masked list, set/remove, test connection (settings-page backend)",
3241
+ "category": "auth",
3242
+ "package": "@almadar/integrations",
3243
+ "backend": "production",
3244
+ "actions": [
3245
+ {
3246
+ "name": "list",
3247
+ "description": "",
3248
+ "params": [
3249
+ {
3250
+ "name": "service",
3251
+ "type": "string",
3252
+ "required": false,
3253
+ "description": ""
3254
+ }
3255
+ ],
3256
+ "responseShape": {
3257
+ "enabled": "boolean",
3258
+ "entries": "array"
3259
+ }
3260
+ },
3261
+ {
3262
+ "name": "set",
3263
+ "description": "",
3264
+ "params": [
3265
+ {
3266
+ "name": "service",
3267
+ "type": "string",
3268
+ "required": true,
3269
+ "description": ""
3270
+ },
3271
+ {
3272
+ "name": "envVar",
3273
+ "type": "string",
3274
+ "required": true,
3275
+ "description": ""
3276
+ },
3277
+ {
3278
+ "name": "value",
3279
+ "type": "string",
3280
+ "required": true,
3281
+ "description": ""
3282
+ }
3283
+ ],
3284
+ "responseShape": {
3285
+ "saved": "boolean",
3286
+ "service": "string",
3287
+ "envVar": "string",
3288
+ "last4": "string"
3289
+ }
3290
+ },
3291
+ {
3292
+ "name": "remove",
3293
+ "description": "",
3294
+ "params": [
3295
+ {
3296
+ "name": "service",
3297
+ "type": "string",
3298
+ "required": true,
3299
+ "description": ""
3300
+ },
3301
+ {
3302
+ "name": "envVar",
3303
+ "type": "string",
3304
+ "required": true,
3305
+ "description": ""
3306
+ }
3307
+ ],
3308
+ "responseShape": {
3309
+ "removed": "boolean"
3310
+ }
3311
+ },
3312
+ {
3313
+ "name": "test",
3314
+ "description": "",
3315
+ "params": [
3316
+ {
3317
+ "name": "service",
3318
+ "type": "string",
3319
+ "required": true,
3320
+ "description": ""
3321
+ }
3322
+ ],
3323
+ "responseShape": {
3324
+ "service": "string",
3325
+ "configured": "boolean",
3326
+ "missing": "string[]",
3327
+ "probed": "boolean",
3328
+ "ok": "boolean",
3329
+ "message": "string"
3330
+ }
3331
+ }
3332
+ ],
3333
+ "credentials": [
3334
+ {
3335
+ "envVar": "ALMADAR_CREDENTIAL_MASTER_KEY",
3336
+ "required": false,
3337
+ "description": "AES-256 master key (64-char hex) enabling the hosted credential store — hold it alone in the platform secret store"
2348
3338
  }
2349
3339
  ]
2350
3340
  },
@@ -2353,6 +3343,7 @@
2353
3343
  "description": "OpenTelemetry — spans, metrics, logs",
2354
3344
  "category": "infrastructure",
2355
3345
  "package": "@almadar/integrations",
3346
+ "backend": "simulated",
2356
3347
  "actions": [
2357
3348
  {
2358
3349
  "name": "startSpan",
@@ -2501,6 +3492,7 @@
2501
3492
  "description": "CLI tool execution — run commands, get output",
2502
3493
  "category": "devtools",
2503
3494
  "package": "@almadar/integrations",
3495
+ "backend": "production",
2504
3496
  "actions": [
2505
3497
  {
2506
3498
  "name": "validate",
@@ -2528,6 +3520,7 @@
2528
3520
  "description": "DeepAgent — AI agent orchestration",
2529
3521
  "category": "ai",
2530
3522
  "package": "@almadar/integrations",
3523
+ "backend": "production",
2531
3524
  "actions": [
2532
3525
  {
2533
3526
  "name": "sendMessage",
@@ -2644,15 +3637,274 @@
2644
3637
  "description": "DeepAgent API key"
2645
3638
  }
2646
3639
  ]
3640
+ },
3641
+ "wikimedia": {
3642
+ "name": "wikimedia",
3643
+ "description": "Wikipedia API — redirect-resolved page lookup (description, portrait, lead extract)",
3644
+ "category": "reference",
3645
+ "package": "@almadar/integrations",
3646
+ "backend": "production",
3647
+ "actions": [
3648
+ {
3649
+ "name": "getPage",
3650
+ "description": "",
3651
+ "params": [
3652
+ {
3653
+ "name": "title",
3654
+ "type": "string",
3655
+ "required": true,
3656
+ "description": ""
3657
+ }
3658
+ ],
3659
+ "responseShape": {
3660
+ "title": "string",
3661
+ "description": "string",
3662
+ "portraitUrl": "string",
3663
+ "extract": "string"
3664
+ }
3665
+ }
3666
+ ],
3667
+ "credentials": [
3668
+ {
3669
+ "envVar": "WIKIMEDIA_USER_AGENT",
3670
+ "required": false,
3671
+ "description": "Descriptive User-Agent for the Wikipedia API"
3672
+ },
3673
+ {
3674
+ "envVar": "WIKIMEDIA_TIMEOUT_MS",
3675
+ "required": false,
3676
+ "description": "Per-request timeout (ms)"
3677
+ }
3678
+ ]
3679
+ },
3680
+ "iconify": {
3681
+ "name": "iconify",
3682
+ "description": "Iconify API — brand-logo / icon resolution, search, and body fetch",
3683
+ "category": "reference",
3684
+ "package": "@almadar/integrations",
3685
+ "backend": "production",
3686
+ "actions": [
3687
+ {
3688
+ "name": "svgExists",
3689
+ "description": "",
3690
+ "params": [
3691
+ {
3692
+ "name": "path",
3693
+ "type": "string",
3694
+ "required": true,
3695
+ "description": ""
3696
+ }
3697
+ ],
3698
+ "responseShape": {
3699
+ "exists": "boolean"
3700
+ }
3701
+ },
3702
+ {
3703
+ "name": "search",
3704
+ "description": "",
3705
+ "params": [
3706
+ {
3707
+ "name": "query",
3708
+ "type": "string",
3709
+ "required": true,
3710
+ "description": ""
3711
+ },
3712
+ {
3713
+ "name": "limit",
3714
+ "type": "number",
3715
+ "required": false,
3716
+ "description": ""
3717
+ }
3718
+ ],
3719
+ "responseShape": {
3720
+ "icons": "string[]"
3721
+ }
3722
+ },
3723
+ {
3724
+ "name": "getIconBody",
3725
+ "description": "",
3726
+ "params": [
3727
+ {
3728
+ "name": "iconId",
3729
+ "type": "string",
3730
+ "required": true,
3731
+ "description": ""
3732
+ }
3733
+ ],
3734
+ "responseShape": {
3735
+ "body": "string | null"
3736
+ }
3737
+ }
3738
+ ],
3739
+ "credentials": [
3740
+ {
3741
+ "envVar": "ICONIFY_USER_AGENT",
3742
+ "required": false,
3743
+ "description": "User-Agent for the Iconify API"
3744
+ },
3745
+ {
3746
+ "envVar": "ICONIFY_TIMEOUT_MS",
3747
+ "required": false,
3748
+ "description": "Per-request timeout (ms)"
3749
+ }
3750
+ ]
3751
+ },
3752
+ "arxiv": {
3753
+ "name": "arxiv",
3754
+ "description": "arXiv API — frontier academic preprint search (emerging-axis research backend)",
3755
+ "category": "reference",
3756
+ "package": "@almadar/integrations",
3757
+ "backend": "production",
3758
+ "actions": [
3759
+ {
3760
+ "name": "search",
3761
+ "description": "",
3762
+ "params": [
3763
+ {
3764
+ "name": "query",
3765
+ "type": "string",
3766
+ "required": true,
3767
+ "description": ""
3768
+ },
3769
+ {
3770
+ "name": "maxResults",
3771
+ "type": "number",
3772
+ "required": false,
3773
+ "description": ""
3774
+ }
3775
+ ],
3776
+ "responseShape": {
3777
+ "results": "array"
3778
+ }
3779
+ }
3780
+ ],
3781
+ "credentials": [
3782
+ {
3783
+ "envVar": "ARXIV_TIMEOUT_MS",
3784
+ "required": false,
3785
+ "description": "Per-request timeout (ms)"
3786
+ }
3787
+ ]
3788
+ },
3789
+ "calendar-ical": {
3790
+ "name": "calendar-ical",
3791
+ "description": "Host-provided .ics generation service (std-service-calendar-ical)",
3792
+ "category": "infrastructure",
3793
+ "package": "(host-injected)",
3794
+ "backend": "host-injected",
3795
+ "actions": [],
3796
+ "credentials": []
3797
+ },
3798
+ "custom-bearer-api": {
3799
+ "name": "custom-bearer-api",
3800
+ "description": "Caller-configured bearer-token HTTP API (std-service-custom-bearer)",
3801
+ "category": "infrastructure",
3802
+ "package": "(host-injected)",
3803
+ "backend": "host-injected",
3804
+ "actions": [],
3805
+ "credentials": []
3806
+ },
3807
+ "customBearer": {
3808
+ "name": "customBearer",
3809
+ "description": "Caller-configured bearer-token HTTP API (std-service-custom-bearer, unquoted spelling)",
3810
+ "category": "infrastructure",
3811
+ "package": "(host-injected)",
3812
+ "backend": "host-injected",
3813
+ "actions": [],
3814
+ "credentials": []
3815
+ },
3816
+ "knowledge": {
3817
+ "name": "knowledge",
3818
+ "description": "Host-provided knowledge/research service",
3819
+ "category": "ai",
3820
+ "package": "(host-injected)",
3821
+ "backend": "host-injected",
3822
+ "actions": [],
3823
+ "credentials": []
3824
+ },
3825
+ "maps": {
3826
+ "name": "maps",
3827
+ "description": "Host-provided maps service (std-service-maps)",
3828
+ "category": "infrastructure",
3829
+ "package": "(host-injected)",
3830
+ "backend": "host-injected",
3831
+ "actions": [],
3832
+ "credentials": []
3833
+ },
3834
+ "print": {
3835
+ "name": "print",
3836
+ "description": "Host-provided print service (std-service-print)",
3837
+ "category": "infrastructure",
3838
+ "package": "(host-injected)",
3839
+ "backend": "host-injected",
3840
+ "actions": [],
3841
+ "credentials": []
3842
+ },
3843
+ "builder": {
3844
+ "name": "builder",
3845
+ "description": "Rabit-internal agent service (rabit.lolo)",
3846
+ "category": "ai",
3847
+ "package": "(host-injected)",
3848
+ "backend": "host-injected",
3849
+ "actions": [],
3850
+ "credentials": []
3851
+ },
3852
+ "composer": {
3853
+ "name": "composer",
3854
+ "description": "Rabit-internal agent service (rabit.lolo)",
3855
+ "category": "ai",
3856
+ "package": "(host-injected)",
3857
+ "backend": "host-injected",
3858
+ "actions": [],
3859
+ "credentials": []
3860
+ },
3861
+ "coordinator": {
3862
+ "name": "coordinator",
3863
+ "description": "Rabit-internal agent service (rabit.lolo)",
3864
+ "category": "ai",
3865
+ "package": "(host-injected)",
3866
+ "backend": "host-injected",
3867
+ "actions": [],
3868
+ "credentials": []
3869
+ },
3870
+ "planner": {
3871
+ "name": "planner",
3872
+ "description": "Rabit-internal agent service (rabit.lolo)",
3873
+ "category": "ai",
3874
+ "package": "(host-injected)",
3875
+ "backend": "host-injected",
3876
+ "actions": [],
3877
+ "credentials": []
3878
+ },
3879
+ "repair": {
3880
+ "name": "repair",
3881
+ "description": "Rabit-internal agent service (rabit.lolo)",
3882
+ "category": "ai",
3883
+ "package": "(host-injected)",
3884
+ "backend": "host-injected",
3885
+ "actions": [],
3886
+ "credentials": []
3887
+ },
3888
+ "validator": {
3889
+ "name": "validator",
3890
+ "description": "Rabit-internal agent service (rabit.lolo)",
3891
+ "category": "ai",
3892
+ "package": "(host-injected)",
3893
+ "backend": "host-injected",
3894
+ "actions": [],
3895
+ "credentials": []
2647
3896
  }
2648
3897
  },
2649
3898
  "categories": [
2650
3899
  "ai",
2651
3900
  "auth",
2652
3901
  "devtools",
3902
+ "finance",
2653
3903
  "infrastructure",
3904
+ "marketing",
2654
3905
  "media",
2655
3906
  "messaging",
2656
- "payment"
3907
+ "payment",
3908
+ "reference"
2657
3909
  ]
2658
3910
  }