@desplega.ai/agent-swarm 1.80.3 → 1.81.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.
- package/openapi.json +486 -29
- package/package.json +3 -3
- package/plugin/commands/user-management.md +85 -46
- package/plugin/pi-skills/user-management/SKILL.md +85 -46
- package/src/agentmail/handlers.ts +25 -3
- package/src/be/db.ts +33 -109
- package/src/be/migrations/067_users_first_class.sql +185 -0
- package/src/be/migrations/068_profile_changed_event_type.sql +56 -0
- package/src/be/unmapped-identities.ts +98 -0
- package/src/be/users.ts +531 -0
- package/src/github/handlers.ts +67 -7
- package/src/gitlab/handlers.ts +73 -5
- package/src/http/operator-actor.ts +59 -0
- package/src/http/users.ts +611 -21
- package/src/linear/oauth.ts +61 -1
- package/src/linear/sync.ts +134 -21
- package/src/slack/actions.ts +8 -2
- package/src/slack/assistant.ts +12 -9
- package/src/slack/enrich.ts +162 -0
- package/src/slack/handlers.ts +11 -19
- package/src/tests/agentmail-handlers.test.ts +166 -0
- package/src/tests/github-handlers.test.ts +290 -0
- package/src/tests/gitlab-handlers.test.ts +293 -1
- package/src/tests/http-users.test.ts +605 -0
- package/src/tests/linear-sync-identity.test.ts +427 -0
- package/src/tests/mcp-tools-user.test.ts +292 -0
- package/src/tests/slack-identity-resolution.test.ts +349 -0
- package/src/tests/user-identity.test.ts +351 -81
- package/src/tools/manage-user.ts +119 -24
- package/src/tools/resolve-user.ts +43 -29
- package/src/types.ts +26 -4
- package/src/utils/secret-scrubber.ts +5 -0
package/openapi.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"openapi": "3.1.0",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Agent Swarm API",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.81.0",
|
|
6
6
|
"description": "Multi-agent orchestration API for Claude Code, Codex, and Gemini CLI. Enables task distribution, agent communication, and service discovery.\n\nMCP tools are documented separately in [MCP.md](./MCP.md)."
|
|
7
7
|
},
|
|
8
8
|
"servers": [
|
|
@@ -10418,7 +10418,7 @@
|
|
|
10418
10418
|
},
|
|
10419
10419
|
"/api/users": {
|
|
10420
10420
|
"get": {
|
|
10421
|
-
"summary": "List all users",
|
|
10421
|
+
"summary": "List all users with identities, token summaries and recent events",
|
|
10422
10422
|
"tags": [
|
|
10423
10423
|
"Users"
|
|
10424
10424
|
],
|
|
@@ -10427,6 +10427,21 @@
|
|
|
10427
10427
|
"bearerAuth": []
|
|
10428
10428
|
}
|
|
10429
10429
|
],
|
|
10430
|
+
"parameters": [
|
|
10431
|
+
{
|
|
10432
|
+
"schema": {
|
|
10433
|
+
"type": [
|
|
10434
|
+
"integer",
|
|
10435
|
+
"null"
|
|
10436
|
+
],
|
|
10437
|
+
"minimum": 0,
|
|
10438
|
+
"maximum": 50
|
|
10439
|
+
},
|
|
10440
|
+
"required": false,
|
|
10441
|
+
"name": "recentEvents",
|
|
10442
|
+
"in": "query"
|
|
10443
|
+
}
|
|
10444
|
+
],
|
|
10430
10445
|
"responses": {
|
|
10431
10446
|
"200": {
|
|
10432
10447
|
"description": "List of users"
|
|
@@ -10437,7 +10452,7 @@
|
|
|
10437
10452
|
}
|
|
10438
10453
|
},
|
|
10439
10454
|
"post": {
|
|
10440
|
-
"summary": "Create a new user",
|
|
10455
|
+
"summary": "Create a new user (optionally with initial identity links)",
|
|
10441
10456
|
"tags": [
|
|
10442
10457
|
"Users"
|
|
10443
10458
|
],
|
|
@@ -10465,18 +10480,6 @@
|
|
|
10465
10480
|
"notes": {
|
|
10466
10481
|
"type": "string"
|
|
10467
10482
|
},
|
|
10468
|
-
"slackUserId": {
|
|
10469
|
-
"type": "string"
|
|
10470
|
-
},
|
|
10471
|
-
"linearUserId": {
|
|
10472
|
-
"type": "string"
|
|
10473
|
-
},
|
|
10474
|
-
"githubUsername": {
|
|
10475
|
-
"type": "string"
|
|
10476
|
-
},
|
|
10477
|
-
"gitlabUsername": {
|
|
10478
|
-
"type": "string"
|
|
10479
|
-
},
|
|
10480
10483
|
"emailAliases": {
|
|
10481
10484
|
"type": "array",
|
|
10482
10485
|
"items": {
|
|
@@ -10488,6 +10491,44 @@
|
|
|
10488
10491
|
},
|
|
10489
10492
|
"timezone": {
|
|
10490
10493
|
"type": "string"
|
|
10494
|
+
},
|
|
10495
|
+
"metadata": {
|
|
10496
|
+
"type": "object",
|
|
10497
|
+
"additionalProperties": {}
|
|
10498
|
+
},
|
|
10499
|
+
"dailyBudgetUsd": {
|
|
10500
|
+
"type": [
|
|
10501
|
+
"number",
|
|
10502
|
+
"null"
|
|
10503
|
+
]
|
|
10504
|
+
},
|
|
10505
|
+
"status": {
|
|
10506
|
+
"type": "string",
|
|
10507
|
+
"enum": [
|
|
10508
|
+
"invited",
|
|
10509
|
+
"active",
|
|
10510
|
+
"suspended"
|
|
10511
|
+
]
|
|
10512
|
+
},
|
|
10513
|
+
"identities": {
|
|
10514
|
+
"type": "array",
|
|
10515
|
+
"items": {
|
|
10516
|
+
"type": "object",
|
|
10517
|
+
"properties": {
|
|
10518
|
+
"kind": {
|
|
10519
|
+
"type": "string",
|
|
10520
|
+
"minLength": 1
|
|
10521
|
+
},
|
|
10522
|
+
"externalId": {
|
|
10523
|
+
"type": "string",
|
|
10524
|
+
"minLength": 1
|
|
10525
|
+
}
|
|
10526
|
+
},
|
|
10527
|
+
"required": [
|
|
10528
|
+
"kind",
|
|
10529
|
+
"externalId"
|
|
10530
|
+
]
|
|
10531
|
+
}
|
|
10491
10532
|
}
|
|
10492
10533
|
},
|
|
10493
10534
|
"required": [
|
|
@@ -10510,9 +10551,179 @@
|
|
|
10510
10551
|
}
|
|
10511
10552
|
}
|
|
10512
10553
|
},
|
|
10554
|
+
"/api/users/unmapped": {
|
|
10555
|
+
"get": {
|
|
10556
|
+
"summary": "List unmapped external identities (kv-backed triage queue)",
|
|
10557
|
+
"tags": [
|
|
10558
|
+
"Users"
|
|
10559
|
+
],
|
|
10560
|
+
"security": [
|
|
10561
|
+
{
|
|
10562
|
+
"bearerAuth": []
|
|
10563
|
+
}
|
|
10564
|
+
],
|
|
10565
|
+
"parameters": [
|
|
10566
|
+
{
|
|
10567
|
+
"schema": {
|
|
10568
|
+
"type": "string"
|
|
10569
|
+
},
|
|
10570
|
+
"required": false,
|
|
10571
|
+
"name": "kind",
|
|
10572
|
+
"in": "query"
|
|
10573
|
+
},
|
|
10574
|
+
{
|
|
10575
|
+
"schema": {
|
|
10576
|
+
"type": "integer",
|
|
10577
|
+
"minimum": 1,
|
|
10578
|
+
"maximum": 1000
|
|
10579
|
+
},
|
|
10580
|
+
"required": false,
|
|
10581
|
+
"name": "limit",
|
|
10582
|
+
"in": "query"
|
|
10583
|
+
}
|
|
10584
|
+
],
|
|
10585
|
+
"responses": {
|
|
10586
|
+
"200": {
|
|
10587
|
+
"description": "List of unmapped identities sorted by count DESC, lastSeenAt DESC"
|
|
10588
|
+
},
|
|
10589
|
+
"401": {
|
|
10590
|
+
"description": "Unauthorized"
|
|
10591
|
+
}
|
|
10592
|
+
}
|
|
10593
|
+
}
|
|
10594
|
+
},
|
|
10595
|
+
"/api/users/unmapped/{kind}/{externalId}/resolve": {
|
|
10596
|
+
"post": {
|
|
10597
|
+
"summary": "Resolve an unmapped identity — link to an existing user or create a new one",
|
|
10598
|
+
"tags": [
|
|
10599
|
+
"Users"
|
|
10600
|
+
],
|
|
10601
|
+
"security": [
|
|
10602
|
+
{
|
|
10603
|
+
"bearerAuth": []
|
|
10604
|
+
}
|
|
10605
|
+
],
|
|
10606
|
+
"parameters": [
|
|
10607
|
+
{
|
|
10608
|
+
"schema": {
|
|
10609
|
+
"type": "string"
|
|
10610
|
+
},
|
|
10611
|
+
"required": true,
|
|
10612
|
+
"name": "kind",
|
|
10613
|
+
"in": "path"
|
|
10614
|
+
},
|
|
10615
|
+
{
|
|
10616
|
+
"schema": {
|
|
10617
|
+
"type": "string"
|
|
10618
|
+
},
|
|
10619
|
+
"required": true,
|
|
10620
|
+
"name": "externalId",
|
|
10621
|
+
"in": "path"
|
|
10622
|
+
}
|
|
10623
|
+
],
|
|
10624
|
+
"requestBody": {
|
|
10625
|
+
"content": {
|
|
10626
|
+
"application/json": {
|
|
10627
|
+
"schema": {
|
|
10628
|
+
"anyOf": [
|
|
10629
|
+
{
|
|
10630
|
+
"type": "object",
|
|
10631
|
+
"properties": {
|
|
10632
|
+
"userId": {
|
|
10633
|
+
"type": "string",
|
|
10634
|
+
"minLength": 1
|
|
10635
|
+
}
|
|
10636
|
+
},
|
|
10637
|
+
"required": [
|
|
10638
|
+
"userId"
|
|
10639
|
+
]
|
|
10640
|
+
},
|
|
10641
|
+
{
|
|
10642
|
+
"type": "object",
|
|
10643
|
+
"properties": {
|
|
10644
|
+
"name": {
|
|
10645
|
+
"type": "string",
|
|
10646
|
+
"minLength": 1
|
|
10647
|
+
},
|
|
10648
|
+
"email": {
|
|
10649
|
+
"type": "string",
|
|
10650
|
+
"format": "email"
|
|
10651
|
+
}
|
|
10652
|
+
},
|
|
10653
|
+
"required": [
|
|
10654
|
+
"name",
|
|
10655
|
+
"email"
|
|
10656
|
+
]
|
|
10657
|
+
}
|
|
10658
|
+
]
|
|
10659
|
+
}
|
|
10660
|
+
}
|
|
10661
|
+
}
|
|
10662
|
+
},
|
|
10663
|
+
"responses": {
|
|
10664
|
+
"200": {
|
|
10665
|
+
"description": "Identity linked + kv entries cleared"
|
|
10666
|
+
},
|
|
10667
|
+
"400": {
|
|
10668
|
+
"description": "Validation error"
|
|
10669
|
+
},
|
|
10670
|
+
"401": {
|
|
10671
|
+
"description": "Unauthorized"
|
|
10672
|
+
},
|
|
10673
|
+
"404": {
|
|
10674
|
+
"description": "Target user not found"
|
|
10675
|
+
}
|
|
10676
|
+
}
|
|
10677
|
+
}
|
|
10678
|
+
},
|
|
10513
10679
|
"/api/users/{id}": {
|
|
10514
|
-
"
|
|
10515
|
-
"summary": "
|
|
10680
|
+
"get": {
|
|
10681
|
+
"summary": "Get a user by ID with identities, token summaries and recent events",
|
|
10682
|
+
"tags": [
|
|
10683
|
+
"Users"
|
|
10684
|
+
],
|
|
10685
|
+
"security": [
|
|
10686
|
+
{
|
|
10687
|
+
"bearerAuth": []
|
|
10688
|
+
}
|
|
10689
|
+
],
|
|
10690
|
+
"parameters": [
|
|
10691
|
+
{
|
|
10692
|
+
"schema": {
|
|
10693
|
+
"type": "string"
|
|
10694
|
+
},
|
|
10695
|
+
"required": true,
|
|
10696
|
+
"name": "id",
|
|
10697
|
+
"in": "path"
|
|
10698
|
+
},
|
|
10699
|
+
{
|
|
10700
|
+
"schema": {
|
|
10701
|
+
"type": [
|
|
10702
|
+
"integer",
|
|
10703
|
+
"null"
|
|
10704
|
+
],
|
|
10705
|
+
"minimum": 0,
|
|
10706
|
+
"maximum": 200
|
|
10707
|
+
},
|
|
10708
|
+
"required": false,
|
|
10709
|
+
"name": "recentEvents",
|
|
10710
|
+
"in": "query"
|
|
10711
|
+
}
|
|
10712
|
+
],
|
|
10713
|
+
"responses": {
|
|
10714
|
+
"200": {
|
|
10715
|
+
"description": "User row"
|
|
10716
|
+
},
|
|
10717
|
+
"401": {
|
|
10718
|
+
"description": "Unauthorized"
|
|
10719
|
+
},
|
|
10720
|
+
"404": {
|
|
10721
|
+
"description": "User not found"
|
|
10722
|
+
}
|
|
10723
|
+
}
|
|
10724
|
+
},
|
|
10725
|
+
"patch": {
|
|
10726
|
+
"summary": "Update an existing user (profile / budget / status / email-aliases / identities)",
|
|
10516
10727
|
"tags": [
|
|
10517
10728
|
"Users"
|
|
10518
10729
|
],
|
|
@@ -10550,18 +10761,6 @@
|
|
|
10550
10761
|
"notes": {
|
|
10551
10762
|
"type": "string"
|
|
10552
10763
|
},
|
|
10553
|
-
"slackUserId": {
|
|
10554
|
-
"type": "string"
|
|
10555
|
-
},
|
|
10556
|
-
"linearUserId": {
|
|
10557
|
-
"type": "string"
|
|
10558
|
-
},
|
|
10559
|
-
"githubUsername": {
|
|
10560
|
-
"type": "string"
|
|
10561
|
-
},
|
|
10562
|
-
"gitlabUsername": {
|
|
10563
|
-
"type": "string"
|
|
10564
|
-
},
|
|
10565
10764
|
"emailAliases": {
|
|
10566
10765
|
"type": "array",
|
|
10567
10766
|
"items": {
|
|
@@ -10573,6 +10772,47 @@
|
|
|
10573
10772
|
},
|
|
10574
10773
|
"timezone": {
|
|
10575
10774
|
"type": "string"
|
|
10775
|
+
},
|
|
10776
|
+
"metadata": {
|
|
10777
|
+
"type": [
|
|
10778
|
+
"object",
|
|
10779
|
+
"null"
|
|
10780
|
+
],
|
|
10781
|
+
"additionalProperties": {}
|
|
10782
|
+
},
|
|
10783
|
+
"dailyBudgetUsd": {
|
|
10784
|
+
"type": [
|
|
10785
|
+
"number",
|
|
10786
|
+
"null"
|
|
10787
|
+
]
|
|
10788
|
+
},
|
|
10789
|
+
"status": {
|
|
10790
|
+
"type": "string",
|
|
10791
|
+
"enum": [
|
|
10792
|
+
"invited",
|
|
10793
|
+
"active",
|
|
10794
|
+
"suspended"
|
|
10795
|
+
]
|
|
10796
|
+
},
|
|
10797
|
+
"identities": {
|
|
10798
|
+
"type": "array",
|
|
10799
|
+
"items": {
|
|
10800
|
+
"type": "object",
|
|
10801
|
+
"properties": {
|
|
10802
|
+
"kind": {
|
|
10803
|
+
"type": "string",
|
|
10804
|
+
"minLength": 1
|
|
10805
|
+
},
|
|
10806
|
+
"externalId": {
|
|
10807
|
+
"type": "string",
|
|
10808
|
+
"minLength": 1
|
|
10809
|
+
}
|
|
10810
|
+
},
|
|
10811
|
+
"required": [
|
|
10812
|
+
"kind",
|
|
10813
|
+
"externalId"
|
|
10814
|
+
]
|
|
10815
|
+
}
|
|
10576
10816
|
}
|
|
10577
10817
|
}
|
|
10578
10818
|
}
|
|
@@ -10595,6 +10835,223 @@
|
|
|
10595
10835
|
}
|
|
10596
10836
|
}
|
|
10597
10837
|
},
|
|
10838
|
+
"/api/users/{id}/merge": {
|
|
10839
|
+
"post": {
|
|
10840
|
+
"summary": "Merge another user into this one — moves identities + email aliases, deletes source",
|
|
10841
|
+
"tags": [
|
|
10842
|
+
"Users"
|
|
10843
|
+
],
|
|
10844
|
+
"security": [
|
|
10845
|
+
{
|
|
10846
|
+
"bearerAuth": []
|
|
10847
|
+
}
|
|
10848
|
+
],
|
|
10849
|
+
"parameters": [
|
|
10850
|
+
{
|
|
10851
|
+
"schema": {
|
|
10852
|
+
"type": "string"
|
|
10853
|
+
},
|
|
10854
|
+
"required": true,
|
|
10855
|
+
"name": "id",
|
|
10856
|
+
"in": "path"
|
|
10857
|
+
}
|
|
10858
|
+
],
|
|
10859
|
+
"requestBody": {
|
|
10860
|
+
"content": {
|
|
10861
|
+
"application/json": {
|
|
10862
|
+
"schema": {
|
|
10863
|
+
"type": "object",
|
|
10864
|
+
"properties": {
|
|
10865
|
+
"sourceUserId": {
|
|
10866
|
+
"type": "string",
|
|
10867
|
+
"minLength": 1
|
|
10868
|
+
}
|
|
10869
|
+
},
|
|
10870
|
+
"required": [
|
|
10871
|
+
"sourceUserId"
|
|
10872
|
+
]
|
|
10873
|
+
}
|
|
10874
|
+
}
|
|
10875
|
+
}
|
|
10876
|
+
},
|
|
10877
|
+
"responses": {
|
|
10878
|
+
"200": {
|
|
10879
|
+
"description": "Merged user"
|
|
10880
|
+
},
|
|
10881
|
+
"400": {
|
|
10882
|
+
"description": "Validation error (e.g. target == source)"
|
|
10883
|
+
},
|
|
10884
|
+
"401": {
|
|
10885
|
+
"description": "Unauthorized"
|
|
10886
|
+
},
|
|
10887
|
+
"404": {
|
|
10888
|
+
"description": "Target or source user not found"
|
|
10889
|
+
}
|
|
10890
|
+
}
|
|
10891
|
+
}
|
|
10892
|
+
},
|
|
10893
|
+
"/api/users/{id}/events": {
|
|
10894
|
+
"get": {
|
|
10895
|
+
"summary": "Paginated identity-event timeline for a user (DESC by createdAt)",
|
|
10896
|
+
"tags": [
|
|
10897
|
+
"Users"
|
|
10898
|
+
],
|
|
10899
|
+
"security": [
|
|
10900
|
+
{
|
|
10901
|
+
"bearerAuth": []
|
|
10902
|
+
}
|
|
10903
|
+
],
|
|
10904
|
+
"parameters": [
|
|
10905
|
+
{
|
|
10906
|
+
"schema": {
|
|
10907
|
+
"type": "string"
|
|
10908
|
+
},
|
|
10909
|
+
"required": true,
|
|
10910
|
+
"name": "id",
|
|
10911
|
+
"in": "path"
|
|
10912
|
+
},
|
|
10913
|
+
{
|
|
10914
|
+
"schema": {
|
|
10915
|
+
"type": "integer",
|
|
10916
|
+
"minimum": 1,
|
|
10917
|
+
"maximum": 200
|
|
10918
|
+
},
|
|
10919
|
+
"required": false,
|
|
10920
|
+
"name": "limit",
|
|
10921
|
+
"in": "query"
|
|
10922
|
+
},
|
|
10923
|
+
{
|
|
10924
|
+
"schema": {
|
|
10925
|
+
"type": "string"
|
|
10926
|
+
},
|
|
10927
|
+
"required": false,
|
|
10928
|
+
"name": "before",
|
|
10929
|
+
"in": "query"
|
|
10930
|
+
}
|
|
10931
|
+
],
|
|
10932
|
+
"responses": {
|
|
10933
|
+
"200": {
|
|
10934
|
+
"description": "Array of identity events"
|
|
10935
|
+
},
|
|
10936
|
+
"401": {
|
|
10937
|
+
"description": "Unauthorized"
|
|
10938
|
+
},
|
|
10939
|
+
"404": {
|
|
10940
|
+
"description": "User not found"
|
|
10941
|
+
}
|
|
10942
|
+
}
|
|
10943
|
+
}
|
|
10944
|
+
},
|
|
10945
|
+
"/api/users/{id}/identities": {
|
|
10946
|
+
"post": {
|
|
10947
|
+
"summary": "Link a new (kind, externalId) identity to this user",
|
|
10948
|
+
"tags": [
|
|
10949
|
+
"Users"
|
|
10950
|
+
],
|
|
10951
|
+
"security": [
|
|
10952
|
+
{
|
|
10953
|
+
"bearerAuth": []
|
|
10954
|
+
}
|
|
10955
|
+
],
|
|
10956
|
+
"parameters": [
|
|
10957
|
+
{
|
|
10958
|
+
"schema": {
|
|
10959
|
+
"type": "string"
|
|
10960
|
+
},
|
|
10961
|
+
"required": true,
|
|
10962
|
+
"name": "id",
|
|
10963
|
+
"in": "path"
|
|
10964
|
+
}
|
|
10965
|
+
],
|
|
10966
|
+
"requestBody": {
|
|
10967
|
+
"content": {
|
|
10968
|
+
"application/json": {
|
|
10969
|
+
"schema": {
|
|
10970
|
+
"type": "object",
|
|
10971
|
+
"properties": {
|
|
10972
|
+
"kind": {
|
|
10973
|
+
"type": "string",
|
|
10974
|
+
"minLength": 1
|
|
10975
|
+
},
|
|
10976
|
+
"externalId": {
|
|
10977
|
+
"type": "string",
|
|
10978
|
+
"minLength": 1
|
|
10979
|
+
}
|
|
10980
|
+
},
|
|
10981
|
+
"required": [
|
|
10982
|
+
"kind",
|
|
10983
|
+
"externalId"
|
|
10984
|
+
]
|
|
10985
|
+
}
|
|
10986
|
+
}
|
|
10987
|
+
}
|
|
10988
|
+
},
|
|
10989
|
+
"responses": {
|
|
10990
|
+
"200": {
|
|
10991
|
+
"description": "Updated identity list"
|
|
10992
|
+
},
|
|
10993
|
+
"400": {
|
|
10994
|
+
"description": "Validation error or PK collision"
|
|
10995
|
+
},
|
|
10996
|
+
"401": {
|
|
10997
|
+
"description": "Unauthorized"
|
|
10998
|
+
},
|
|
10999
|
+
"404": {
|
|
11000
|
+
"description": "User not found"
|
|
11001
|
+
}
|
|
11002
|
+
}
|
|
11003
|
+
}
|
|
11004
|
+
},
|
|
11005
|
+
"/api/users/{id}/identities/{kind}/{externalId}": {
|
|
11006
|
+
"delete": {
|
|
11007
|
+
"summary": "Remove a (kind, externalId) identity link from this user",
|
|
11008
|
+
"tags": [
|
|
11009
|
+
"Users"
|
|
11010
|
+
],
|
|
11011
|
+
"security": [
|
|
11012
|
+
{
|
|
11013
|
+
"bearerAuth": []
|
|
11014
|
+
}
|
|
11015
|
+
],
|
|
11016
|
+
"parameters": [
|
|
11017
|
+
{
|
|
11018
|
+
"schema": {
|
|
11019
|
+
"type": "string"
|
|
11020
|
+
},
|
|
11021
|
+
"required": true,
|
|
11022
|
+
"name": "id",
|
|
11023
|
+
"in": "path"
|
|
11024
|
+
},
|
|
11025
|
+
{
|
|
11026
|
+
"schema": {
|
|
11027
|
+
"type": "string"
|
|
11028
|
+
},
|
|
11029
|
+
"required": true,
|
|
11030
|
+
"name": "kind",
|
|
11031
|
+
"in": "path"
|
|
11032
|
+
},
|
|
11033
|
+
{
|
|
11034
|
+
"schema": {
|
|
11035
|
+
"type": "string"
|
|
11036
|
+
},
|
|
11037
|
+
"required": true,
|
|
11038
|
+
"name": "externalId",
|
|
11039
|
+
"in": "path"
|
|
11040
|
+
}
|
|
11041
|
+
],
|
|
11042
|
+
"responses": {
|
|
11043
|
+
"200": {
|
|
11044
|
+
"description": "Updated identity list"
|
|
11045
|
+
},
|
|
11046
|
+
"401": {
|
|
11047
|
+
"description": "Unauthorized"
|
|
11048
|
+
},
|
|
11049
|
+
"404": {
|
|
11050
|
+
"description": "User not found"
|
|
11051
|
+
}
|
|
11052
|
+
}
|
|
11053
|
+
}
|
|
11054
|
+
},
|
|
10598
11055
|
"/api/github/webhook": {
|
|
10599
11056
|
"post": {
|
|
10600
11057
|
"summary": "Handle GitHub webhook events",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@desplega.ai/agent-swarm",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.81.0",
|
|
4
4
|
"description": "Multi-agent orchestration for Claude Code, Codex, Gemini CLI, and other AI coding assistants",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "desplega.sh <contact@desplega.sh>",
|
|
@@ -42,7 +42,6 @@
|
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build:pi-skills": "bun run plugin/build-pi-skills.ts",
|
|
45
|
-
"build:script-types": "bun run scripts/bundle-script-types.ts",
|
|
46
45
|
"tsc:check": "bun tsc --noEmit",
|
|
47
46
|
"check:db-boundary": "bash scripts/check-db-boundary.sh",
|
|
48
47
|
"check:api-key-boundary": "bash scripts/check-api-key-boundary.sh",
|
|
@@ -85,7 +84,8 @@
|
|
|
85
84
|
"pm2-logs": "pm2 logs swarm-api swarm-ui swarm-lead swarm-worker",
|
|
86
85
|
"pm2-status": "pm2 status swarm-api swarm-ui swarm-lead swarm-worker",
|
|
87
86
|
"seed": "bun scripts/seed.ts",
|
|
88
|
-
"seed:clean": "bun scripts/seed.ts --clean"
|
|
87
|
+
"seed:clean": "bun scripts/seed.ts --clean",
|
|
88
|
+
"seed:people": "bun scripts/seed-people.ts"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
91
|
"@biomejs/biome": "^2.3.10",
|