@provos/ironcurtain 0.4.0 → 0.5.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 (161) hide show
  1. package/README.md +219 -248
  2. package/dist/cli.js +10 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config/config-command.js +144 -6
  5. package/dist/config/config-command.js.map +1 -1
  6. package/dist/config/constitution-user-base.md +2 -0
  7. package/dist/config/first-start.js +77 -12
  8. package/dist/config/first-start.js.map +1 -1
  9. package/dist/config/generated/compiled-policy.json +199 -72
  10. package/dist/config/generated/tool-annotations.json +1018 -36
  11. package/dist/config/index.js +6 -0
  12. package/dist/config/index.js.map +1 -1
  13. package/dist/config/mcp-servers.json +13 -0
  14. package/dist/config/paths.d.ts +31 -0
  15. package/dist/config/paths.js +52 -2
  16. package/dist/config/paths.js.map +1 -1
  17. package/dist/config/types.d.ts +10 -0
  18. package/dist/config/user-config.d.ts +21 -3
  19. package/dist/config/user-config.js +34 -3
  20. package/dist/config/user-config.js.map +1 -1
  21. package/dist/docker/adapters/claude-code.d.ts +4 -0
  22. package/dist/docker/adapters/claude-code.js +96 -37
  23. package/dist/docker/adapters/claude-code.js.map +1 -1
  24. package/dist/docker/agent-adapter.d.ts +22 -13
  25. package/dist/docker/code-mode-proxy.d.ts +34 -0
  26. package/dist/docker/code-mode-proxy.js +137 -0
  27. package/dist/docker/code-mode-proxy.js.map +1 -0
  28. package/dist/docker/docker-agent-session.d.ts +22 -14
  29. package/dist/docker/docker-agent-session.js +144 -117
  30. package/dist/docker/docker-agent-session.js.map +1 -1
  31. package/dist/docker/docker-infrastructure.d.ts +51 -0
  32. package/dist/docker/docker-infrastructure.js +261 -0
  33. package/dist/docker/docker-infrastructure.js.map +1 -0
  34. package/dist/docker/docker-manager.js +27 -0
  35. package/dist/docker/docker-manager.js.map +1 -1
  36. package/dist/docker/mitm-proxy.js +4 -0
  37. package/dist/docker/mitm-proxy.js.map +1 -1
  38. package/dist/docker/oauth-credentials.d.ts +81 -0
  39. package/dist/docker/oauth-credentials.js +178 -0
  40. package/dist/docker/oauth-credentials.js.map +1 -0
  41. package/dist/docker/orientation.d.ts +3 -2
  42. package/dist/docker/orientation.js +4 -4
  43. package/dist/docker/orientation.js.map +1 -1
  44. package/dist/docker/provider-config.d.ts +3 -0
  45. package/dist/docker/provider-config.js +28 -0
  46. package/dist/docker/provider-config.js.map +1 -1
  47. package/dist/docker/pty-session.d.ts +27 -0
  48. package/dist/docker/pty-session.js +420 -0
  49. package/dist/docker/pty-session.js.map +1 -0
  50. package/dist/docker/pty-types.d.ts +24 -0
  51. package/dist/docker/pty-types.js +12 -0
  52. package/dist/docker/pty-types.js.map +1 -0
  53. package/dist/docker/types.d.ts +18 -2
  54. package/dist/escalation/escalation-watcher.d.ts +44 -0
  55. package/dist/escalation/escalation-watcher.js +92 -0
  56. package/dist/escalation/escalation-watcher.js.map +1 -0
  57. package/dist/escalation/listener-command.d.ts +10 -0
  58. package/dist/escalation/listener-command.js +407 -0
  59. package/dist/escalation/listener-command.js.map +1 -0
  60. package/dist/escalation/listener-state.d.ts +49 -0
  61. package/dist/escalation/listener-state.js +104 -0
  62. package/dist/escalation/listener-state.js.map +1 -0
  63. package/dist/escalation/session-registry.d.ts +17 -0
  64. package/dist/escalation/session-registry.js +98 -0
  65. package/dist/escalation/session-registry.js.map +1 -0
  66. package/dist/index.js +15 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/logger.js +2 -3
  69. package/dist/logger.js.map +1 -1
  70. package/dist/pipeline/annotate.js +35 -15
  71. package/dist/pipeline/annotate.js.map +1 -1
  72. package/dist/pipeline/constitution-customizer.d.ts +2 -1
  73. package/dist/pipeline/constitution-customizer.js +36 -3
  74. package/dist/pipeline/constitution-customizer.js.map +1 -1
  75. package/dist/pipeline/github-identity.d.ts +38 -0
  76. package/dist/pipeline/github-identity.js +64 -0
  77. package/dist/pipeline/github-identity.js.map +1 -0
  78. package/dist/pipeline/handwritten-scenarios.js +34 -0
  79. package/dist/pipeline/handwritten-scenarios.js.map +1 -1
  80. package/dist/sandbox/index.d.ts +25 -1
  81. package/dist/sandbox/index.js +90 -12
  82. package/dist/sandbox/index.js.map +1 -1
  83. package/dist/servers/fetch-server.d.ts +6 -1
  84. package/dist/servers/fetch-server.js +26 -14
  85. package/dist/servers/fetch-server.js.map +1 -1
  86. package/dist/session/agent-session.js +9 -5
  87. package/dist/session/agent-session.js.map +1 -1
  88. package/dist/session/base-transport.d.ts +19 -0
  89. package/dist/session/base-transport.js +36 -0
  90. package/dist/session/base-transport.js.map +1 -0
  91. package/dist/session/cli-transport.d.ts +3 -3
  92. package/dist/session/cli-transport.js +7 -4
  93. package/dist/session/cli-transport.js.map +1 -1
  94. package/dist/session/index.js +24 -106
  95. package/dist/session/index.js.map +1 -1
  96. package/dist/session/interaction-log.d.ts +13 -0
  97. package/dist/session/interaction-log.js +28 -0
  98. package/dist/session/interaction-log.js.map +1 -0
  99. package/dist/session/preflight.d.ts +3 -0
  100. package/dist/session/preflight.js +45 -18
  101. package/dist/session/preflight.js.map +1 -1
  102. package/dist/session/prompts.d.ts +9 -3
  103. package/dist/session/prompts.js +28 -10
  104. package/dist/session/prompts.js.map +1 -1
  105. package/dist/session/types.d.ts +2 -0
  106. package/dist/signal/bot-command.js +5 -0
  107. package/dist/signal/bot-command.js.map +1 -1
  108. package/dist/signal/format.d.ts +21 -1
  109. package/dist/signal/format.js +41 -3
  110. package/dist/signal/format.js.map +1 -1
  111. package/dist/signal/signal-bot-daemon.d.ts +53 -18
  112. package/dist/signal/signal-bot-daemon.js +344 -106
  113. package/dist/signal/signal-bot-daemon.js.map +1 -1
  114. package/dist/signal/signal-config.d.ts +4 -0
  115. package/dist/signal/signal-config.js +2 -0
  116. package/dist/signal/signal-config.js.map +1 -1
  117. package/dist/signal/signal-transport.d.ts +13 -7
  118. package/dist/signal/signal-transport.js +36 -12
  119. package/dist/signal/signal-transport.js.map +1 -1
  120. package/dist/trusted-process/audit-log.d.ts +6 -1
  121. package/dist/trusted-process/audit-log.js +22 -2
  122. package/dist/trusted-process/audit-log.js.map +1 -1
  123. package/dist/trusted-process/audit-redactor.d.ts +25 -0
  124. package/dist/trusted-process/audit-redactor.js +121 -0
  125. package/dist/trusted-process/audit-redactor.js.map +1 -0
  126. package/dist/trusted-process/escalation.d.ts +1 -1
  127. package/dist/trusted-process/escalation.js +6 -1
  128. package/dist/trusted-process/escalation.js.map +1 -1
  129. package/dist/trusted-process/index.d.ts +2 -1
  130. package/dist/trusted-process/index.js +24 -6
  131. package/dist/trusted-process/index.js.map +1 -1
  132. package/dist/trusted-process/mcp-client-manager.js +14 -2
  133. package/dist/trusted-process/mcp-client-manager.js.map +1 -1
  134. package/dist/trusted-process/mcp-error-utils.d.ts +11 -0
  135. package/dist/trusted-process/mcp-error-utils.js +50 -0
  136. package/dist/trusted-process/mcp-error-utils.js.map +1 -0
  137. package/dist/trusted-process/mcp-proxy-server.d.ts +115 -1
  138. package/dist/trusted-process/mcp-proxy-server.js +318 -267
  139. package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
  140. package/dist/trusted-process/policy-engine.d.ts +3 -1
  141. package/dist/trusted-process/policy-engine.js +17 -6
  142. package/dist/trusted-process/policy-engine.js.map +1 -1
  143. package/dist/trusted-process/sandbox-integration.d.ts +16 -4
  144. package/dist/trusted-process/sandbox-integration.js +14 -8
  145. package/dist/trusted-process/sandbox-integration.js.map +1 -1
  146. package/dist/trusted-process/server-context.d.ts +21 -0
  147. package/dist/trusted-process/server-context.js +42 -0
  148. package/dist/trusted-process/server-context.js.map +1 -0
  149. package/dist/types/argument-roles.d.ts +12 -2
  150. package/dist/types/argument-roles.js +37 -4
  151. package/dist/types/argument-roles.js.map +1 -1
  152. package/docker/Dockerfile.claude-code +8 -3
  153. package/docker/entrypoint-claude-code.sh +64 -4
  154. package/package.json +19 -9
  155. package/src/config/constitution-user-base.md +2 -0
  156. package/src/config/generated/compiled-policy.json +199 -72
  157. package/src/config/generated/tool-annotations.json +1018 -36
  158. package/src/config/mcp-servers.json +13 -0
  159. package/dist/docker/managed-proxy.d.ts +0 -31
  160. package/dist/docker/managed-proxy.js +0 -265
  161. package/dist/docker/managed-proxy.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-02-25T01:54:51.064Z",
2
+ "generatedAt": "2026-02-28T00:45:15.199Z",
3
3
  "servers": {
4
4
  "filesystem": {
5
5
  "inputHash": "3a47c5b52d421b6f14fa1f556c87bac43f98adc1a0cf7519527b32cff9cdaae4",
@@ -195,11 +195,11 @@
195
195
  ]
196
196
  },
197
197
  "git": {
198
- "inputHash": "fce7e0e9b5b5d026863feddac8817f8cb9f4e33c3d2048eeba393c3b947288ac",
198
+ "inputHash": "bdf9963bc2444302690ac8f62879dd949f7246f253a8f47eaa24b57c278ce026",
199
199
  "tools": [
200
200
  {
201
201
  "toolName": "git_add",
202
- "comment": "Stages specified files or all changes in the working tree to the git index in preparation for a commit.",
202
+ "comment": "Stages specified files in the working directory for the next commit.",
203
203
  "sideEffects": true,
204
204
  "args": {
205
205
  "path": [
@@ -222,7 +222,7 @@
222
222
  },
223
223
  {
224
224
  "toolName": "git_blame",
225
- "comment": "Shows line-by-line authorship information for a file, revealing who last modified each line and when.",
225
+ "comment": "Shows line-by-line authorship information for a file, revealing who last modified each line.",
226
226
  "sideEffects": true,
227
227
  "args": {
228
228
  "path": [
@@ -245,11 +245,12 @@
245
245
  },
246
246
  {
247
247
  "toolName": "git_branch",
248
- "comment": "Lists, creates, deletes, renames, or shows the current git branch in a repository.",
248
+ "comment": "Lists, creates, deletes, or renames git branches in the repository.",
249
249
  "sideEffects": true,
250
250
  "args": {
251
251
  "path": [
252
252
  "read-path",
253
+ "write-history",
253
254
  "delete-history"
254
255
  ],
255
256
  "operation": [
@@ -284,7 +285,7 @@
284
285
  },
285
286
  {
286
287
  "toolName": "git_changelog_analyze",
287
- "comment": "Gathers git history context (commits, tags) and structured instructions to support LLM-driven changelog analysis.",
288
+ "comment": "Gathers git history context and structured review instructions to support LLM-driven changelog analysis.",
288
289
  "sideEffects": true,
289
290
  "args": {
290
291
  "path": [
@@ -307,12 +308,12 @@
307
308
  },
308
309
  {
309
310
  "toolName": "git_checkout",
310
- "comment": "Switches branches, creates new branches, or restores specific working tree files to a given state.",
311
+ "comment": "Switches branches, restores working tree files, or creates a new branch in the repository.",
311
312
  "sideEffects": true,
312
313
  "args": {
313
314
  "path": [
314
315
  "read-path",
315
- "write-path"
316
+ "write-history"
316
317
  ],
317
318
  "target": [
318
319
  "branch-name"
@@ -335,7 +336,7 @@
335
336
  },
336
337
  {
337
338
  "toolName": "git_cherry_pick",
338
- "comment": "Applies one or more specific commits from other branches onto the current branch, rewriting local history.",
339
+ "comment": "Applies specific commits from other branches onto the current branch.",
339
340
  "sideEffects": true,
340
341
  "args": {
341
342
  "path": [
@@ -368,7 +369,7 @@
368
369
  },
369
370
  {
370
371
  "toolName": "git_clean",
371
- "comment": "Removes untracked (and optionally ignored) files and directories from the working tree.",
372
+ "comment": "Removes untracked files (and optionally directories) from the working directory.",
372
373
  "sideEffects": true,
373
374
  "args": {
374
375
  "path": [
@@ -392,7 +393,7 @@
392
393
  },
393
394
  {
394
395
  "toolName": "git_clear_working_dir",
395
- "comment": "Clears the session-level working directory setting, requiring subsequent git operations to supply an explicit path.",
396
+ "comment": "Clears the session working directory setting, requiring explicit paths for subsequent git operations.",
396
397
  "sideEffects": false,
397
398
  "args": {
398
399
  "confirm": [
@@ -403,7 +404,7 @@
403
404
  },
404
405
  {
405
406
  "toolName": "git_clone",
406
- "comment": "Clones a remote git repository to a local filesystem path, optionally with shallow history or a specific branch.",
407
+ "comment": "Clones a remote git repository to a local path, optionally with shallow cloning or specific branch.",
407
408
  "sideEffects": true,
408
409
  "args": {
409
410
  "url": [
@@ -429,7 +430,7 @@
429
430
  },
430
431
  {
431
432
  "toolName": "git_commit",
432
- "comment": "Creates a new commit recording staged changes to the repository with a given commit message.",
433
+ "comment": "Creates a new commit with staged changes and a commit message in the repository.",
433
434
  "sideEffects": true,
434
435
  "args": {
435
436
  "path": [
@@ -465,7 +466,7 @@
465
466
  },
466
467
  {
467
468
  "toolName": "git_diff",
468
- "comment": "Shows differences between commits, branches, the staging area, or the working tree in unified diff format.",
469
+ "comment": "Shows differences between commits, branches, or the working tree in unified diff format.",
469
470
  "sideEffects": true,
470
471
  "args": {
471
472
  "path": [
@@ -500,7 +501,7 @@
500
501
  },
501
502
  {
502
503
  "toolName": "git_fetch",
503
- "comment": "Downloads objects and refs from a remote repository without integrating them into the local working tree.",
504
+ "comment": "Fetches updates from a remote repository, downloading objects and refs without merging.",
504
505
  "sideEffects": true,
505
506
  "args": {
506
507
  "path": [
@@ -523,7 +524,7 @@
523
524
  },
524
525
  {
525
526
  "toolName": "git_init",
526
- "comment": "Initializes a new git repository at the specified path, creating the .git directory and initial branch.",
527
+ "comment": "Initializes a new git repository at the specified path, creating the .git directory.",
527
528
  "sideEffects": true,
528
529
  "args": {
529
530
  "path": [
@@ -540,7 +541,7 @@
540
541
  },
541
542
  {
542
543
  "toolName": "git_log",
543
- "comment": "Displays the commit history of a repository with optional filtering by author, date, file path, or message pattern.",
544
+ "comment": "Views commit history with optional filtering by author, date range, file path, or message pattern.",
544
545
  "sideEffects": true,
545
546
  "args": {
546
547
  "path": [
@@ -587,7 +588,7 @@
587
588
  },
588
589
  {
589
590
  "toolName": "git_merge",
590
- "comment": "Merges another branch into the current branch, integrating its history with optional strategies and commit messages.",
591
+ "comment": "Merges another branch into the current branch with optional merge strategies.",
591
592
  "sideEffects": true,
592
593
  "args": {
593
594
  "path": [
@@ -617,7 +618,7 @@
617
618
  },
618
619
  {
619
620
  "toolName": "git_pull",
620
- "comment": "Fetches changes from a remote repository and integrates them into the current local branch via merge or rebase.",
621
+ "comment": "Fetches and integrates changes from a remote repository into the current branch.",
621
622
  "sideEffects": true,
622
623
  "args": {
623
624
  "path": [
@@ -641,7 +642,7 @@
641
642
  },
642
643
  {
643
644
  "toolName": "git_push",
644
- "comment": "Uploads local commits and refs to a remote repository, optionally force-pushing or deleting remote branches.",
645
+ "comment": "Uploads local commits to a remote repository branch, with options for force push and branch deletion.",
645
646
  "sideEffects": true,
646
647
  "args": {
647
648
  "path": [
@@ -682,7 +683,7 @@
682
683
  },
683
684
  {
684
685
  "toolName": "git_rebase",
685
- "comment": "Reapplies commits from the current branch on top of another base tip, rewriting commit history.",
686
+ "comment": "Reapplies commits on top of another base tip to produce a cleaner linear history.",
686
687
  "sideEffects": true,
687
688
  "args": {
688
689
  "path": [
@@ -693,7 +694,7 @@
693
694
  "none"
694
695
  ],
695
696
  "upstream": [
696
- "branch-name"
697
+ "none"
697
698
  ],
698
699
  "branch": [
699
700
  "branch-name"
@@ -712,7 +713,7 @@
712
713
  },
713
714
  {
714
715
  "toolName": "git_reflog",
715
- "comment": "Displays the reference log showing when branch tips and other refs were updated, useful for recovering lost commits.",
716
+ "comment": "Views the reference logs to track when branch tips and other refs were updated, useful for recovering lost commits.",
716
717
  "sideEffects": true,
717
718
  "args": {
718
719
  "path": [
@@ -729,7 +730,7 @@
729
730
  },
730
731
  {
731
732
  "toolName": "git_remote",
732
- "comment": "Manages git remote configurations: listing, adding, removing, renaming remotes, or getting/setting remote URLs.",
733
+ "comment": "Manages remote repositories by listing, adding, removing, renaming, or updating remote URLs.",
733
734
  "sideEffects": true,
734
735
  "args": {
735
736
  "path": [
@@ -739,7 +740,7 @@
739
740
  "none"
740
741
  ],
741
742
  "name": [
742
- "none"
743
+ "git-remote-url"
743
744
  ],
744
745
  "url": [
745
746
  "git-remote-url"
@@ -755,7 +756,7 @@
755
756
  },
756
757
  {
757
758
  "toolName": "git_reset",
758
- "comment": "Resets the current HEAD to a specified state, optionally discarding staged changes or all working tree modifications.",
759
+ "comment": "Resets the current HEAD to a specified state, optionally discarding staged or working tree changes.",
759
760
  "sideEffects": true,
760
761
  "args": {
761
762
  "path": [
@@ -769,8 +770,7 @@
769
770
  "none"
770
771
  ],
771
772
  "paths": [
772
- "read-path",
773
- "write-path"
773
+ "read-path"
774
774
  ],
775
775
  "confirmed": [
776
776
  "none"
@@ -780,7 +780,7 @@
780
780
  },
781
781
  {
782
782
  "toolName": "git_set_working_dir",
783
- "comment": "Sets the session-level default working directory so subsequent git operations can omit the path parameter.",
783
+ "comment": "Sets the session working directory so subsequent git commands can omit the path parameter.",
784
784
  "sideEffects": true,
785
785
  "args": {
786
786
  "path": [
@@ -823,11 +823,12 @@
823
823
  },
824
824
  {
825
825
  "toolName": "git_stash",
826
- "comment": "Manages the stash stack: saves, lists, applies, pops, drops, or clears stashed working tree changes.",
826
+ "comment": "Manages stashes by listing, saving, restoring, or removing stashed working directory changes.",
827
827
  "sideEffects": true,
828
828
  "args": {
829
829
  "path": [
830
- "read-path"
830
+ "read-path",
831
+ "write-history"
831
832
  ],
832
833
  "mode": [
833
834
  "none"
@@ -849,7 +850,7 @@
849
850
  },
850
851
  {
851
852
  "toolName": "git_status",
852
- "comment": "Shows the current working tree status, listing staged, unstaged, and untracked file changes.",
853
+ "comment": "Shows the working tree status including staged, unstaged, and untracked files.",
853
854
  "sideEffects": true,
854
855
  "args": {
855
856
  "path": [
@@ -863,11 +864,12 @@
863
864
  },
864
865
  {
865
866
  "toolName": "git_tag",
866
- "comment": "Manages git tags: lists, creates (lightweight or annotated), or deletes tags that mark specific points in history.",
867
+ "comment": "Manages tags by listing, creating, or deleting tags that mark specific points in history.",
867
868
  "sideEffects": true,
868
869
  "args": {
869
870
  "path": [
870
871
  "read-path",
872
+ "write-history",
871
873
  "delete-history"
872
874
  ],
873
875
  "mode": [
@@ -899,7 +901,7 @@
899
901
  },
900
902
  {
901
903
  "toolName": "git_worktree",
902
- "comment": "Manages multiple git working trees: listing, adding, removing, moving, or pruning worktrees for parallel development.",
904
+ "comment": "Manages multiple git working trees by listing, adding, removing, moving, or pruning worktrees.",
903
905
  "sideEffects": true,
904
906
  "args": {
905
907
  "path": [
@@ -939,8 +941,8 @@
939
941
  },
940
942
  {
941
943
  "toolName": "git_wrapup_instructions",
942
- "comment": "Returns the user's configured git wrap-up workflow instructions and current repository status to guide commit and documentation actions.",
943
- "sideEffects": true,
944
+ "comment": "Returns the user's desired git wrap-up workflow instructions along with current repository status to guide next commit actions.",
945
+ "sideEffects": false,
944
946
  "args": {
945
947
  "acknowledgement": [
946
948
  "none"
@@ -997,6 +999,986 @@
997
999
  "serverName": "fetch"
998
1000
  }
999
1001
  ]
1002
+ },
1003
+ "github": {
1004
+ "inputHash": "e63a2416f2a750f6b629701f9898ab8fe6144111c5ec921ae18e354ec25a3cfb",
1005
+ "tools": [
1006
+ {
1007
+ "toolName": "add_comment_to_pending_review",
1008
+ "comment": "Adds a review comment to the requester's latest pending pull request review on a specific file path.",
1009
+ "sideEffects": true,
1010
+ "args": {
1011
+ "body": [
1012
+ "none"
1013
+ ],
1014
+ "line": [
1015
+ "none"
1016
+ ],
1017
+ "owner": [
1018
+ "github-owner"
1019
+ ],
1020
+ "path": [
1021
+ "none"
1022
+ ],
1023
+ "pullNumber": [
1024
+ "none"
1025
+ ],
1026
+ "repo": [
1027
+ "none"
1028
+ ],
1029
+ "side": [
1030
+ "none"
1031
+ ],
1032
+ "startLine": [
1033
+ "none"
1034
+ ],
1035
+ "startSide": [
1036
+ "none"
1037
+ ],
1038
+ "subjectType": [
1039
+ "none"
1040
+ ]
1041
+ },
1042
+ "serverName": "github"
1043
+ },
1044
+ {
1045
+ "toolName": "add_issue_comment",
1046
+ "comment": "Adds a comment to a specific issue or pull request in a GitHub repository.",
1047
+ "sideEffects": true,
1048
+ "args": {
1049
+ "body": [
1050
+ "none"
1051
+ ],
1052
+ "issue_number": [
1053
+ "none"
1054
+ ],
1055
+ "owner": [
1056
+ "github-owner"
1057
+ ],
1058
+ "repo": [
1059
+ "none"
1060
+ ]
1061
+ },
1062
+ "serverName": "github"
1063
+ },
1064
+ {
1065
+ "toolName": "add_reply_to_pull_request_comment",
1066
+ "comment": "Adds a reply to an existing pull request comment, creating a threaded response.",
1067
+ "sideEffects": true,
1068
+ "args": {
1069
+ "body": [
1070
+ "none"
1071
+ ],
1072
+ "commentId": [
1073
+ "none"
1074
+ ],
1075
+ "owner": [
1076
+ "github-owner"
1077
+ ],
1078
+ "pullNumber": [
1079
+ "none"
1080
+ ],
1081
+ "repo": [
1082
+ "none"
1083
+ ]
1084
+ },
1085
+ "serverName": "github"
1086
+ },
1087
+ {
1088
+ "toolName": "assign_copilot_to_issue",
1089
+ "comment": "Assigns GitHub Copilot to work on a specific issue, potentially resulting in an auto-generated pull request.",
1090
+ "sideEffects": true,
1091
+ "args": {
1092
+ "base_ref": [
1093
+ "branch-name"
1094
+ ],
1095
+ "custom_instructions": [
1096
+ "none"
1097
+ ],
1098
+ "issue_number": [
1099
+ "none"
1100
+ ],
1101
+ "owner": [
1102
+ "github-owner"
1103
+ ],
1104
+ "repo": [
1105
+ "none"
1106
+ ]
1107
+ },
1108
+ "serverName": "github"
1109
+ },
1110
+ {
1111
+ "toolName": "create_branch",
1112
+ "comment": "Creates a new branch in a GitHub repository, optionally from a specified source branch.",
1113
+ "sideEffects": true,
1114
+ "args": {
1115
+ "branch": [
1116
+ "branch-name"
1117
+ ],
1118
+ "from_branch": [
1119
+ "branch-name"
1120
+ ],
1121
+ "owner": [
1122
+ "github-owner"
1123
+ ],
1124
+ "repo": [
1125
+ "none"
1126
+ ]
1127
+ },
1128
+ "serverName": "github"
1129
+ },
1130
+ {
1131
+ "toolName": "create_or_update_file",
1132
+ "comment": "Creates or updates a single file in a GitHub repository on a specified branch.",
1133
+ "sideEffects": true,
1134
+ "args": {
1135
+ "branch": [
1136
+ "branch-name"
1137
+ ],
1138
+ "content": [
1139
+ "none"
1140
+ ],
1141
+ "message": [
1142
+ "none"
1143
+ ],
1144
+ "owner": [
1145
+ "github-owner"
1146
+ ],
1147
+ "path": [
1148
+ "none"
1149
+ ],
1150
+ "repo": [
1151
+ "none"
1152
+ ],
1153
+ "sha": [
1154
+ "none"
1155
+ ]
1156
+ },
1157
+ "serverName": "github"
1158
+ },
1159
+ {
1160
+ "toolName": "create_pull_request",
1161
+ "comment": "Creates a new pull request in a GitHub repository from a head branch into a base branch.",
1162
+ "sideEffects": true,
1163
+ "args": {
1164
+ "base": [
1165
+ "branch-name"
1166
+ ],
1167
+ "body": [
1168
+ "none"
1169
+ ],
1170
+ "draft": [
1171
+ "none"
1172
+ ],
1173
+ "head": [
1174
+ "branch-name"
1175
+ ],
1176
+ "maintainer_can_modify": [
1177
+ "none"
1178
+ ],
1179
+ "owner": [
1180
+ "github-owner"
1181
+ ],
1182
+ "repo": [
1183
+ "none"
1184
+ ],
1185
+ "title": [
1186
+ "none"
1187
+ ]
1188
+ },
1189
+ "serverName": "github"
1190
+ },
1191
+ {
1192
+ "toolName": "create_repository",
1193
+ "comment": "Creates a new GitHub repository in the authenticated user's account or a specified organization.",
1194
+ "sideEffects": true,
1195
+ "args": {
1196
+ "autoInit": [
1197
+ "none"
1198
+ ],
1199
+ "description": [
1200
+ "none"
1201
+ ],
1202
+ "name": [
1203
+ "none"
1204
+ ],
1205
+ "organization": [
1206
+ "github-owner"
1207
+ ],
1208
+ "private": [
1209
+ "none"
1210
+ ]
1211
+ },
1212
+ "serverName": "github"
1213
+ },
1214
+ {
1215
+ "toolName": "delete_file",
1216
+ "comment": "Deletes a file from a specified branch in a GitHub repository.",
1217
+ "sideEffects": true,
1218
+ "args": {
1219
+ "branch": [
1220
+ "branch-name"
1221
+ ],
1222
+ "message": [
1223
+ "none"
1224
+ ],
1225
+ "owner": [
1226
+ "github-owner"
1227
+ ],
1228
+ "path": [
1229
+ "none"
1230
+ ],
1231
+ "repo": [
1232
+ "none"
1233
+ ]
1234
+ },
1235
+ "serverName": "github"
1236
+ },
1237
+ {
1238
+ "toolName": "fork_repository",
1239
+ "comment": "Forks a GitHub repository to the authenticated user's account or a specified organization.",
1240
+ "sideEffects": true,
1241
+ "args": {
1242
+ "organization": [
1243
+ "github-owner"
1244
+ ],
1245
+ "owner": [
1246
+ "github-owner"
1247
+ ],
1248
+ "repo": [
1249
+ "none"
1250
+ ]
1251
+ },
1252
+ "serverName": "github"
1253
+ },
1254
+ {
1255
+ "toolName": "get_commit",
1256
+ "comment": "Retrieves details for a specific commit from a GitHub repository, optionally including diffs.",
1257
+ "sideEffects": true,
1258
+ "args": {
1259
+ "include_diff": [
1260
+ "none"
1261
+ ],
1262
+ "owner": [
1263
+ "github-owner"
1264
+ ],
1265
+ "page": [
1266
+ "none"
1267
+ ],
1268
+ "perPage": [
1269
+ "none"
1270
+ ],
1271
+ "repo": [
1272
+ "none"
1273
+ ],
1274
+ "sha": [
1275
+ "none"
1276
+ ]
1277
+ },
1278
+ "serverName": "github"
1279
+ },
1280
+ {
1281
+ "toolName": "get_file_contents",
1282
+ "comment": "Retrieves the contents of a file or directory from a GitHub repository at an optional ref or SHA.",
1283
+ "sideEffects": true,
1284
+ "args": {
1285
+ "owner": [
1286
+ "github-owner"
1287
+ ],
1288
+ "path": [
1289
+ "none"
1290
+ ],
1291
+ "ref": [
1292
+ "none"
1293
+ ],
1294
+ "repo": [
1295
+ "none"
1296
+ ],
1297
+ "sha": [
1298
+ "none"
1299
+ ]
1300
+ },
1301
+ "serverName": "github"
1302
+ },
1303
+ {
1304
+ "toolName": "get_label",
1305
+ "comment": "Retrieves details of a specific label from a GitHub repository.",
1306
+ "sideEffects": true,
1307
+ "args": {
1308
+ "name": [
1309
+ "none"
1310
+ ],
1311
+ "owner": [
1312
+ "github-owner"
1313
+ ],
1314
+ "repo": [
1315
+ "none"
1316
+ ]
1317
+ },
1318
+ "serverName": "github"
1319
+ },
1320
+ {
1321
+ "toolName": "get_latest_release",
1322
+ "comment": "Retrieves the latest release from a GitHub repository.",
1323
+ "sideEffects": true,
1324
+ "args": {
1325
+ "owner": [
1326
+ "github-owner"
1327
+ ],
1328
+ "repo": [
1329
+ "none"
1330
+ ]
1331
+ },
1332
+ "serverName": "github"
1333
+ },
1334
+ {
1335
+ "toolName": "get_me",
1336
+ "comment": "Retrieves profile details of the currently authenticated GitHub user.",
1337
+ "sideEffects": true,
1338
+ "args": {},
1339
+ "serverName": "github"
1340
+ },
1341
+ {
1342
+ "toolName": "get_release_by_tag",
1343
+ "comment": "Retrieves a specific release identified by its tag name from a GitHub repository.",
1344
+ "sideEffects": true,
1345
+ "args": {
1346
+ "owner": [
1347
+ "github-owner"
1348
+ ],
1349
+ "repo": [
1350
+ "none"
1351
+ ],
1352
+ "tag": [
1353
+ "none"
1354
+ ]
1355
+ },
1356
+ "serverName": "github"
1357
+ },
1358
+ {
1359
+ "toolName": "get_tag",
1360
+ "comment": "Retrieves details about a specific git tag in a GitHub repository.",
1361
+ "sideEffects": true,
1362
+ "args": {
1363
+ "owner": [
1364
+ "github-owner"
1365
+ ],
1366
+ "repo": [
1367
+ "none"
1368
+ ],
1369
+ "tag": [
1370
+ "none"
1371
+ ]
1372
+ },
1373
+ "serverName": "github"
1374
+ },
1375
+ {
1376
+ "toolName": "get_team_members",
1377
+ "comment": "Retrieves the member usernames of a specific team within a GitHub organization.",
1378
+ "sideEffects": true,
1379
+ "args": {
1380
+ "org": [
1381
+ "github-owner"
1382
+ ],
1383
+ "team_slug": [
1384
+ "none"
1385
+ ]
1386
+ },
1387
+ "serverName": "github"
1388
+ },
1389
+ {
1390
+ "toolName": "get_teams",
1391
+ "comment": "Retrieves the teams the authenticated user (or a specified user) is a member of.",
1392
+ "sideEffects": true,
1393
+ "args": {
1394
+ "user": [
1395
+ "none"
1396
+ ]
1397
+ },
1398
+ "serverName": "github"
1399
+ },
1400
+ {
1401
+ "toolName": "issue_read",
1402
+ "comment": "Reads information about a specific GitHub issue, including details, comments, sub-issues, or labels.",
1403
+ "sideEffects": true,
1404
+ "args": {
1405
+ "issue_number": [
1406
+ "none"
1407
+ ],
1408
+ "method": [
1409
+ "none"
1410
+ ],
1411
+ "owner": [
1412
+ "github-owner"
1413
+ ],
1414
+ "page": [
1415
+ "none"
1416
+ ],
1417
+ "perPage": [
1418
+ "none"
1419
+ ],
1420
+ "repo": [
1421
+ "none"
1422
+ ]
1423
+ },
1424
+ "serverName": "github"
1425
+ },
1426
+ {
1427
+ "toolName": "issue_write",
1428
+ "comment": "Creates a new issue or updates an existing issue in a GitHub repository.",
1429
+ "sideEffects": true,
1430
+ "args": {
1431
+ "assignees": [
1432
+ "none"
1433
+ ],
1434
+ "body": [
1435
+ "none"
1436
+ ],
1437
+ "duplicate_of": [
1438
+ "none"
1439
+ ],
1440
+ "issue_number": [
1441
+ "none"
1442
+ ],
1443
+ "labels": [
1444
+ "none"
1445
+ ],
1446
+ "method": [
1447
+ "none"
1448
+ ],
1449
+ "milestone": [
1450
+ "none"
1451
+ ],
1452
+ "owner": [
1453
+ "github-owner"
1454
+ ],
1455
+ "repo": [
1456
+ "none"
1457
+ ],
1458
+ "state": [
1459
+ "none"
1460
+ ],
1461
+ "state_reason": [
1462
+ "none"
1463
+ ],
1464
+ "title": [
1465
+ "none"
1466
+ ],
1467
+ "type": [
1468
+ "none"
1469
+ ]
1470
+ },
1471
+ "serverName": "github"
1472
+ },
1473
+ {
1474
+ "toolName": "list_branches",
1475
+ "comment": "Lists all branches in a GitHub repository.",
1476
+ "sideEffects": true,
1477
+ "args": {
1478
+ "owner": [
1479
+ "github-owner"
1480
+ ],
1481
+ "page": [
1482
+ "none"
1483
+ ],
1484
+ "perPage": [
1485
+ "none"
1486
+ ],
1487
+ "repo": [
1488
+ "none"
1489
+ ]
1490
+ },
1491
+ "serverName": "github"
1492
+ },
1493
+ {
1494
+ "toolName": "list_commits",
1495
+ "comment": "Lists commits on a branch or up to a specific SHA in a GitHub repository.",
1496
+ "sideEffects": true,
1497
+ "args": {
1498
+ "author": [
1499
+ "none"
1500
+ ],
1501
+ "owner": [
1502
+ "github-owner"
1503
+ ],
1504
+ "page": [
1505
+ "none"
1506
+ ],
1507
+ "perPage": [
1508
+ "none"
1509
+ ],
1510
+ "repo": [
1511
+ "none"
1512
+ ],
1513
+ "sha": [
1514
+ "none"
1515
+ ]
1516
+ },
1517
+ "serverName": "github"
1518
+ },
1519
+ {
1520
+ "toolName": "list_issue_types",
1521
+ "comment": "Lists the supported issue types configured for a GitHub organization.",
1522
+ "sideEffects": true,
1523
+ "args": {
1524
+ "owner": [
1525
+ "github-owner"
1526
+ ]
1527
+ },
1528
+ "serverName": "github"
1529
+ },
1530
+ {
1531
+ "toolName": "list_issues",
1532
+ "comment": "Lists issues in a GitHub repository with optional filtering by state, labels, or date.",
1533
+ "sideEffects": true,
1534
+ "args": {
1535
+ "after": [
1536
+ "none"
1537
+ ],
1538
+ "direction": [
1539
+ "none"
1540
+ ],
1541
+ "labels": [
1542
+ "none"
1543
+ ],
1544
+ "orderBy": [
1545
+ "none"
1546
+ ],
1547
+ "owner": [
1548
+ "github-owner"
1549
+ ],
1550
+ "perPage": [
1551
+ "none"
1552
+ ],
1553
+ "repo": [
1554
+ "none"
1555
+ ],
1556
+ "since": [
1557
+ "none"
1558
+ ],
1559
+ "state": [
1560
+ "none"
1561
+ ]
1562
+ },
1563
+ "serverName": "github"
1564
+ },
1565
+ {
1566
+ "toolName": "list_pull_requests",
1567
+ "comment": "Lists pull requests in a GitHub repository with optional filtering by state, head, and base branch.",
1568
+ "sideEffects": true,
1569
+ "args": {
1570
+ "base": [
1571
+ "branch-name"
1572
+ ],
1573
+ "direction": [
1574
+ "none"
1575
+ ],
1576
+ "head": [
1577
+ "branch-name"
1578
+ ],
1579
+ "owner": [
1580
+ "github-owner"
1581
+ ],
1582
+ "page": [
1583
+ "none"
1584
+ ],
1585
+ "perPage": [
1586
+ "none"
1587
+ ],
1588
+ "repo": [
1589
+ "none"
1590
+ ],
1591
+ "sort": [
1592
+ "none"
1593
+ ],
1594
+ "state": [
1595
+ "none"
1596
+ ]
1597
+ },
1598
+ "serverName": "github"
1599
+ },
1600
+ {
1601
+ "toolName": "list_releases",
1602
+ "comment": "Lists all releases in a GitHub repository.",
1603
+ "sideEffects": true,
1604
+ "args": {
1605
+ "owner": [
1606
+ "github-owner"
1607
+ ],
1608
+ "page": [
1609
+ "none"
1610
+ ],
1611
+ "perPage": [
1612
+ "none"
1613
+ ],
1614
+ "repo": [
1615
+ "none"
1616
+ ]
1617
+ },
1618
+ "serverName": "github"
1619
+ },
1620
+ {
1621
+ "toolName": "list_tags",
1622
+ "comment": "Lists all git tags in a GitHub repository.",
1623
+ "sideEffects": true,
1624
+ "args": {
1625
+ "owner": [
1626
+ "github-owner"
1627
+ ],
1628
+ "page": [
1629
+ "none"
1630
+ ],
1631
+ "perPage": [
1632
+ "none"
1633
+ ],
1634
+ "repo": [
1635
+ "none"
1636
+ ]
1637
+ },
1638
+ "serverName": "github"
1639
+ },
1640
+ {
1641
+ "toolName": "merge_pull_request",
1642
+ "comment": "Merges a pull request in a GitHub repository using a specified merge method.",
1643
+ "sideEffects": true,
1644
+ "args": {
1645
+ "commit_message": [
1646
+ "none"
1647
+ ],
1648
+ "commit_title": [
1649
+ "none"
1650
+ ],
1651
+ "merge_method": [
1652
+ "none"
1653
+ ],
1654
+ "owner": [
1655
+ "github-owner"
1656
+ ],
1657
+ "pullNumber": [
1658
+ "none"
1659
+ ],
1660
+ "repo": [
1661
+ "none"
1662
+ ]
1663
+ },
1664
+ "serverName": "github"
1665
+ },
1666
+ {
1667
+ "toolName": "pull_request_read",
1668
+ "comment": "Retrieves information about a specific pull request, including details, diffs, status, files, comments, or reviews.",
1669
+ "sideEffects": true,
1670
+ "args": {
1671
+ "method": [
1672
+ "none"
1673
+ ],
1674
+ "owner": [
1675
+ "github-owner"
1676
+ ],
1677
+ "page": [
1678
+ "none"
1679
+ ],
1680
+ "perPage": [
1681
+ "none"
1682
+ ],
1683
+ "pullNumber": [
1684
+ "none"
1685
+ ],
1686
+ "repo": [
1687
+ "none"
1688
+ ]
1689
+ },
1690
+ "serverName": "github"
1691
+ },
1692
+ {
1693
+ "toolName": "pull_request_review_write",
1694
+ "comment": "Creates, submits, or deletes a pull request review on a GitHub repository.",
1695
+ "sideEffects": true,
1696
+ "args": {
1697
+ "body": [
1698
+ "none"
1699
+ ],
1700
+ "commitID": [
1701
+ "none"
1702
+ ],
1703
+ "event": [
1704
+ "none"
1705
+ ],
1706
+ "method": [
1707
+ "none"
1708
+ ],
1709
+ "owner": [
1710
+ "github-owner"
1711
+ ],
1712
+ "pullNumber": [
1713
+ "none"
1714
+ ],
1715
+ "repo": [
1716
+ "none"
1717
+ ]
1718
+ },
1719
+ "serverName": "github"
1720
+ },
1721
+ {
1722
+ "toolName": "push_files",
1723
+ "comment": "Pushes multiple files to a GitHub repository branch in a single commit.",
1724
+ "sideEffects": true,
1725
+ "args": {
1726
+ "branch": [
1727
+ "branch-name"
1728
+ ],
1729
+ "files": [
1730
+ "none"
1731
+ ],
1732
+ "message": [
1733
+ "none"
1734
+ ],
1735
+ "owner": [
1736
+ "github-owner"
1737
+ ],
1738
+ "repo": [
1739
+ "none"
1740
+ ]
1741
+ },
1742
+ "serverName": "github"
1743
+ },
1744
+ {
1745
+ "toolName": "request_copilot_review",
1746
+ "comment": "Requests an automated GitHub Copilot code review for a specified pull request.",
1747
+ "sideEffects": true,
1748
+ "args": {
1749
+ "owner": [
1750
+ "github-owner"
1751
+ ],
1752
+ "pullNumber": [
1753
+ "none"
1754
+ ],
1755
+ "repo": [
1756
+ "none"
1757
+ ]
1758
+ },
1759
+ "serverName": "github"
1760
+ },
1761
+ {
1762
+ "toolName": "search_code",
1763
+ "comment": "Searches for code across GitHub repositories using GitHub's native code search syntax.",
1764
+ "sideEffects": true,
1765
+ "args": {
1766
+ "order": [
1767
+ "none"
1768
+ ],
1769
+ "page": [
1770
+ "none"
1771
+ ],
1772
+ "perPage": [
1773
+ "none"
1774
+ ],
1775
+ "query": [
1776
+ "none"
1777
+ ],
1778
+ "sort": [
1779
+ "none"
1780
+ ]
1781
+ },
1782
+ "serverName": "github"
1783
+ },
1784
+ {
1785
+ "toolName": "search_issues",
1786
+ "comment": "Searches for issues across GitHub repositories using GitHub's issue search syntax.",
1787
+ "sideEffects": true,
1788
+ "args": {
1789
+ "order": [
1790
+ "none"
1791
+ ],
1792
+ "owner": [
1793
+ "github-owner"
1794
+ ],
1795
+ "page": [
1796
+ "none"
1797
+ ],
1798
+ "perPage": [
1799
+ "none"
1800
+ ],
1801
+ "query": [
1802
+ "none"
1803
+ ],
1804
+ "repo": [
1805
+ "none"
1806
+ ],
1807
+ "sort": [
1808
+ "none"
1809
+ ]
1810
+ },
1811
+ "serverName": "github"
1812
+ },
1813
+ {
1814
+ "toolName": "search_pull_requests",
1815
+ "comment": "Searches for pull requests across GitHub repositories using GitHub's pull request search syntax.",
1816
+ "sideEffects": true,
1817
+ "args": {
1818
+ "order": [
1819
+ "none"
1820
+ ],
1821
+ "owner": [
1822
+ "github-owner"
1823
+ ],
1824
+ "page": [
1825
+ "none"
1826
+ ],
1827
+ "perPage": [
1828
+ "none"
1829
+ ],
1830
+ "query": [
1831
+ "none"
1832
+ ],
1833
+ "repo": [
1834
+ "none"
1835
+ ],
1836
+ "sort": [
1837
+ "none"
1838
+ ]
1839
+ },
1840
+ "serverName": "github"
1841
+ },
1842
+ {
1843
+ "toolName": "search_repositories",
1844
+ "comment": "Searches for GitHub repositories by name, description, topics, or other metadata.",
1845
+ "sideEffects": true,
1846
+ "args": {
1847
+ "minimal_output": [
1848
+ "none"
1849
+ ],
1850
+ "order": [
1851
+ "none"
1852
+ ],
1853
+ "page": [
1854
+ "none"
1855
+ ],
1856
+ "perPage": [
1857
+ "none"
1858
+ ],
1859
+ "query": [
1860
+ "none"
1861
+ ],
1862
+ "sort": [
1863
+ "none"
1864
+ ]
1865
+ },
1866
+ "serverName": "github"
1867
+ },
1868
+ {
1869
+ "toolName": "search_users",
1870
+ "comment": "Searches for GitHub users by username, name, or other profile information.",
1871
+ "sideEffects": true,
1872
+ "args": {
1873
+ "order": [
1874
+ "none"
1875
+ ],
1876
+ "page": [
1877
+ "none"
1878
+ ],
1879
+ "perPage": [
1880
+ "none"
1881
+ ],
1882
+ "query": [
1883
+ "none"
1884
+ ],
1885
+ "sort": [
1886
+ "none"
1887
+ ]
1888
+ },
1889
+ "serverName": "github"
1890
+ },
1891
+ {
1892
+ "toolName": "sub_issue_write",
1893
+ "comment": "Adds, removes, or reprioritizes a sub-issue within a parent issue in a GitHub repository.",
1894
+ "sideEffects": true,
1895
+ "args": {
1896
+ "after_id": [
1897
+ "none"
1898
+ ],
1899
+ "before_id": [
1900
+ "none"
1901
+ ],
1902
+ "issue_number": [
1903
+ "none"
1904
+ ],
1905
+ "method": [
1906
+ "none"
1907
+ ],
1908
+ "owner": [
1909
+ "github-owner"
1910
+ ],
1911
+ "replace_parent": [
1912
+ "none"
1913
+ ],
1914
+ "repo": [
1915
+ "none"
1916
+ ],
1917
+ "sub_issue_id": [
1918
+ "none"
1919
+ ]
1920
+ },
1921
+ "serverName": "github"
1922
+ },
1923
+ {
1924
+ "toolName": "update_pull_request",
1925
+ "comment": "Updates an existing pull request's metadata such as title, body, state, base branch, or reviewers.",
1926
+ "sideEffects": true,
1927
+ "args": {
1928
+ "base": [
1929
+ "branch-name"
1930
+ ],
1931
+ "body": [
1932
+ "none"
1933
+ ],
1934
+ "draft": [
1935
+ "none"
1936
+ ],
1937
+ "maintainer_can_modify": [
1938
+ "none"
1939
+ ],
1940
+ "owner": [
1941
+ "github-owner"
1942
+ ],
1943
+ "pullNumber": [
1944
+ "none"
1945
+ ],
1946
+ "repo": [
1947
+ "none"
1948
+ ],
1949
+ "reviewers": [
1950
+ "none"
1951
+ ],
1952
+ "state": [
1953
+ "none"
1954
+ ],
1955
+ "title": [
1956
+ "none"
1957
+ ]
1958
+ },
1959
+ "serverName": "github"
1960
+ },
1961
+ {
1962
+ "toolName": "update_pull_request_branch",
1963
+ "comment": "Updates a pull request's branch with the latest changes from its base branch.",
1964
+ "sideEffects": true,
1965
+ "args": {
1966
+ "expectedHeadSha": [
1967
+ "none"
1968
+ ],
1969
+ "owner": [
1970
+ "github-owner"
1971
+ ],
1972
+ "pullNumber": [
1973
+ "none"
1974
+ ],
1975
+ "repo": [
1976
+ "none"
1977
+ ]
1978
+ },
1979
+ "serverName": "github"
1980
+ }
1981
+ ]
1000
1982
  }
1001
1983
  }
1002
1984
  }