@vess-id/ai-identity 0.15.1 → 0.16.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/dist/index.mjs CHANGED
@@ -4543,7 +4543,7 @@ var ACTION_REGISTRY = {
4543
4543
  action: "github.issue.create",
4544
4544
  resource_type: "github:repo",
4545
4545
  required_relations: ["editor", "act_as"],
4546
- required_scopes: ["repo", "write:issues"],
4546
+ required_scopes: ["repo"],
4547
4547
  capability: "github.issues.triage",
4548
4548
  // Schema mirrors the server contract (GitHubConnectorAdapter
4549
4549
  // getSupportedActions inputSchema — packages/api/src/tool/adapters/
@@ -4565,36 +4565,1485 @@ var ACTION_REGISTRY = {
4565
4565
  constraints: { rate_bucket: "github.write" },
4566
4566
  effects: ["Create:Issue"],
4567
4567
  risk: "high",
4568
+ target_bindings: {
4569
+ resource_id: { source: "param", param: "repo", fallback_param: "repository" }
4570
+ },
4571
+ version: "1.0.0"
4572
+ },
4573
+ {
4574
+ action: "github.issue.list",
4575
+ resource_type: "github:repo",
4576
+ required_relations: ["viewer", "editor", "admin", "owner"],
4577
+ required_scopes: ["repo"],
4578
+ capability: "github.read.basic",
4579
+ // Schema mirrors the server contract (GitHubConnectorAdapter):
4580
+ // owner/repo are required params.
4581
+ input_schema: {
4582
+ type: "object",
4583
+ properties: {
4584
+ owner: { type: "string", minLength: 1, description: "Repository owner (username or organization)" },
4585
+ repo: { type: "string", minLength: 1, description: "Repository name" },
4586
+ state: { type: "string", enum: ["open", "closed", "all"] },
4587
+ labels: { type: "string" },
4588
+ sort: { type: "string", enum: ["created", "updated", "comments"] },
4589
+ direction: { type: "string", enum: ["asc", "desc"] },
4590
+ per_page: { type: "integer", minimum: 1, maximum: 100 },
4591
+ page: { type: "integer", minimum: 1 }
4592
+ },
4593
+ required: ["owner", "repo"],
4594
+ additionalProperties: false
4595
+ },
4596
+ constraints: { rate_bucket: "github.read" },
4597
+ effects: ["Read:IssueList"],
4598
+ risk: "low",
4599
+ target_bindings: {
4600
+ resource_id: { source: "param", param: "repo", fallback_param: "repository" }
4601
+ },
4602
+ version: "1.0.0"
4603
+ },
4604
+ {
4605
+ action: "github.issue.read",
4606
+ resource_type: "github:repo",
4607
+ required_relations: ["viewer", "editor", "admin", "owner"],
4608
+ required_scopes: ["repo"],
4609
+ capability: "github.read.basic",
4610
+ // Schema mirrors the server contract (GitHubConnectorAdapter):
4611
+ // owner/repo required, camelCase issueNumber (the adapter reads
4612
+ // params.issueNumber — snake_case issue_number was a drift).
4613
+ input_schema: {
4614
+ type: "object",
4615
+ properties: {
4616
+ owner: { type: "string", minLength: 1, description: "Repository owner (username or organization)" },
4617
+ repo: { type: "string", minLength: 1, description: "Repository name" },
4618
+ issueNumber: { type: "integer", minimum: 1, description: "Issue number" }
4619
+ },
4620
+ required: ["owner", "repo", "issueNumber"],
4621
+ additionalProperties: false
4622
+ },
4623
+ constraints: { rate_bucket: "github.read" },
4624
+ effects: ["Read:Issue"],
4625
+ risk: "low",
4626
+ target_bindings: {
4627
+ resource_id: { source: "param", param: "repo", fallback_param: "repository" }
4628
+ },
4629
+ version: "1.0.0"
4630
+ },
4631
+ {
4632
+ action: "github.issue.update",
4633
+ resource_type: "github:repo",
4634
+ required_relations: ["editor", "act_as"],
4635
+ required_scopes: ["repo"],
4636
+ capability: "github.issues.triage",
4637
+ // Schema mirrors the server contract (GitHubConnectorAdapter):
4638
+ // owner/repo required, camelCase issueNumber (the adapter reads
4639
+ // params.issueNumber — snake_case issue_number was a drift).
4640
+ input_schema: {
4641
+ type: "object",
4642
+ properties: {
4643
+ owner: { type: "string", minLength: 1, description: "Repository owner (username or organization)" },
4644
+ repo: { type: "string", minLength: 1, description: "Repository name" },
4645
+ issueNumber: { type: "integer", minimum: 1, description: "Issue number to update" },
4646
+ title: { type: "string" },
4647
+ body: { type: "string" },
4648
+ state: { type: "string", enum: ["open", "closed"] },
4649
+ labels: { type: "array", items: { type: "string" } },
4650
+ assignees: { type: "array", items: { type: "string" } }
4651
+ },
4652
+ required: ["owner", "repo", "issueNumber"],
4653
+ additionalProperties: false
4654
+ },
4655
+ constraints: { rate_bucket: "github.write" },
4656
+ effects: ["Update:Issue"],
4657
+ risk: "high",
4658
+ target_bindings: {
4659
+ resource_id: { source: "param", param: "repo", fallback_param: "repository" }
4660
+ },
4661
+ version: "1.0.0"
4662
+ },
4663
+ // ─── GitHub Pull Request Actions ───
4664
+ {
4665
+ action: "github.pr.create",
4666
+ resource_type: "github:repo",
4667
+ required_relations: ["editor", "act_as"],
4668
+ required_scopes: ["repo"],
4669
+ capability: "github.pulls.write",
4670
+ input_schema: {
4671
+ type: "object",
4672
+ properties: {
4673
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4674
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4675
+ title: { type: "string", description: "\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u306E\u30BF\u30A4\u30C8\u30EB" },
4676
+ head: { type: "string", description: "\u30DE\u30FC\u30B8\u5143\u30D6\u30E9\u30F3\u30C1\u540D" },
4677
+ base: { type: "string", description: "\u30DE\u30FC\u30B8\u5148\u30D6\u30E9\u30F3\u30C1\u540D" },
4678
+ body: { type: "string", description: "\u672C\u6587\uFF08\u7701\u7565\u53EF\uFF09" },
4679
+ draft: { type: "boolean", description: "\u30C9\u30E9\u30D5\u30C8\u3068\u3057\u3066\u4F5C\u6210\u3059\u308B\u304B\uFF08\u7701\u7565\u53EF\uFF09" }
4680
+ },
4681
+ required: ["owner", "repo", "title", "head", "base"],
4682
+ additionalProperties: false
4683
+ },
4684
+ constraints: { rate_bucket: "github.write" },
4685
+ effects: ["Create:PullRequest"],
4686
+ risk: "high",
4687
+ target_bindings: {
4688
+ resource_id: { source: "context", key: "resource_id" }
4689
+ },
4690
+ version: "1.0.0"
4691
+ },
4692
+ {
4693
+ action: "github.pr.list",
4694
+ resource_type: "github:repo",
4695
+ required_relations: ["viewer", "editor", "admin", "owner"],
4696
+ required_scopes: ["repo"],
4697
+ capability: "github.read.basic",
4698
+ input_schema: {
4699
+ type: "object",
4700
+ properties: {
4701
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4702
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4703
+ state: { type: "string", enum: ["open", "closed", "all"], description: "\u30D5\u30A3\u30EB\u30BF\u30FC\u72B6\u614B" },
4704
+ head: { type: "string", description: "\u30D8\u30C3\u30C9\u30D6\u30E9\u30F3\u30C1\u3067\u30D5\u30A3\u30EB\u30BF\u30FC\uFF08\u7701\u7565\u53EF\uFF09" },
4705
+ base: { type: "string", description: "\u30D9\u30FC\u30B9\u30D6\u30E9\u30F3\u30C1\u3067\u30D5\u30A3\u30EB\u30BF\u30FC\uFF08\u7701\u7565\u53EF\uFF09" },
4706
+ sort: { type: "string", enum: ["created", "updated", "popularity", "long-running"], description: "\u30BD\u30FC\u30C8\u9805\u76EE" },
4707
+ direction: { type: "string", enum: ["asc", "desc"], description: "\u30BD\u30FC\u30C8\u65B9\u5411" },
4708
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
4709
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
4710
+ },
4711
+ required: ["owner", "repo"],
4712
+ additionalProperties: false
4713
+ },
4714
+ constraints: { rate_bucket: "github.read" },
4715
+ effects: ["Read:PullRequestList"],
4716
+ risk: "low",
4717
+ target_bindings: {
4718
+ resource_id: { source: "context", key: "resource_id" }
4719
+ },
4720
+ version: "1.0.0"
4721
+ },
4722
+ {
4723
+ action: "github.pr.read",
4724
+ resource_type: "github:repo",
4725
+ required_relations: ["viewer", "editor", "admin", "owner"],
4726
+ required_scopes: ["repo"],
4727
+ capability: "github.read.basic",
4728
+ input_schema: {
4729
+ type: "object",
4730
+ properties: {
4731
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4732
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4733
+ pullNumber: { type: "integer", minimum: 1, description: "\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u756A\u53F7" }
4734
+ },
4735
+ required: ["owner", "repo", "pullNumber"],
4736
+ additionalProperties: false
4737
+ },
4738
+ constraints: { rate_bucket: "github.read" },
4739
+ effects: ["Read:PullRequest"],
4740
+ risk: "low",
4741
+ target_bindings: {
4742
+ resource_id: { source: "context", key: "resource_id" }
4743
+ },
4744
+ version: "1.0.0"
4745
+ },
4746
+ {
4747
+ action: "github.pr.update",
4748
+ resource_type: "github:repo",
4749
+ required_relations: ["editor", "act_as"],
4750
+ required_scopes: ["repo"],
4751
+ capability: "github.pulls.write",
4752
+ input_schema: {
4753
+ type: "object",
4754
+ properties: {
4755
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4756
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4757
+ pullNumber: { type: "integer", minimum: 1, description: "\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u756A\u53F7" },
4758
+ title: { type: "string", description: "\u65B0\u3057\u3044\u30BF\u30A4\u30C8\u30EB\uFF08\u7701\u7565\u53EF\uFF09" },
4759
+ body: { type: "string", description: "\u65B0\u3057\u3044\u672C\u6587\uFF08\u7701\u7565\u53EF\uFF09" },
4760
+ state: { type: "string", enum: ["open", "closed"], description: "\u65B0\u3057\u3044\u72B6\u614B" },
4761
+ base: { type: "string", description: "\u30DE\u30FC\u30B8\u5148\u30D6\u30E9\u30F3\u30C1\u540D\uFF08\u7701\u7565\u53EF\uFF09" }
4762
+ },
4763
+ required: ["owner", "repo", "pullNumber"],
4764
+ additionalProperties: false
4765
+ },
4766
+ constraints: { rate_bucket: "github.write" },
4767
+ effects: ["Update:PullRequest"],
4768
+ risk: "high",
4769
+ target_bindings: {
4770
+ resource_id: { source: "context", key: "resource_id" }
4771
+ },
4772
+ version: "1.0.0"
4773
+ },
4774
+ {
4775
+ action: "github.pr.merge",
4776
+ resource_type: "github:repo",
4777
+ required_relations: ["editor", "act_as"],
4778
+ required_scopes: ["repo"],
4779
+ capability: "github.pulls.write",
4780
+ input_schema: {
4781
+ type: "object",
4782
+ properties: {
4783
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4784
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4785
+ pullNumber: { type: "integer", minimum: 1, description: "\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u756A\u53F7" },
4786
+ commitTitle: { type: "string", description: "\u30DE\u30FC\u30B8\u30B3\u30DF\u30C3\u30C8\u306E\u30BF\u30A4\u30C8\u30EB\uFF08\u7701\u7565\u53EF\uFF09" },
4787
+ commitMessage: { type: "string", description: "\u30DE\u30FC\u30B8\u30B3\u30DF\u30C3\u30C8\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\uFF08\u7701\u7565\u53EF\uFF09" },
4788
+ mergeMethod: { type: "string", enum: ["merge", "squash", "rebase"], description: "\u30DE\u30FC\u30B8\u65B9\u6CD5" }
4789
+ },
4790
+ required: ["owner", "repo", "pullNumber"],
4791
+ additionalProperties: false
4792
+ },
4793
+ constraints: { rate_bucket: "github.write" },
4794
+ effects: ["Merge:PullRequest"],
4795
+ risk: "high",
4796
+ target_bindings: {
4797
+ resource_id: { source: "context", key: "resource_id" }
4798
+ },
4799
+ version: "1.0.0"
4800
+ },
4801
+ {
4802
+ action: "github.pr.files.list",
4803
+ resource_type: "github:repo",
4804
+ required_relations: ["viewer", "editor", "admin", "owner"],
4805
+ required_scopes: ["repo"],
4806
+ capability: "github.read.basic",
4807
+ input_schema: {
4808
+ type: "object",
4809
+ properties: {
4810
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4811
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4812
+ pullNumber: { type: "integer", minimum: 1, description: "\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u756A\u53F7" },
4813
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
4814
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
4815
+ },
4816
+ required: ["owner", "repo", "pullNumber"],
4817
+ additionalProperties: false
4818
+ },
4819
+ constraints: { rate_bucket: "github.read" },
4820
+ effects: ["Read:PullRequestFileList"],
4821
+ risk: "low",
4822
+ target_bindings: {
4823
+ resource_id: { source: "context", key: "resource_id" }
4824
+ },
4825
+ version: "1.0.0"
4826
+ },
4827
+ {
4828
+ action: "github.pr.review.list",
4829
+ resource_type: "github:repo",
4830
+ required_relations: ["viewer", "editor", "admin", "owner"],
4831
+ required_scopes: ["repo"],
4832
+ capability: "github.read.basic",
4833
+ input_schema: {
4834
+ type: "object",
4835
+ properties: {
4836
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4837
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4838
+ pullNumber: { type: "integer", minimum: 1, description: "\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u756A\u53F7" }
4839
+ },
4840
+ required: ["owner", "repo", "pullNumber"],
4841
+ additionalProperties: false
4842
+ },
4843
+ constraints: { rate_bucket: "github.read" },
4844
+ effects: ["Read:PullRequestReviewList"],
4845
+ risk: "low",
4846
+ target_bindings: {
4847
+ resource_id: { source: "context", key: "resource_id" }
4848
+ },
4849
+ version: "1.0.0"
4850
+ },
4851
+ {
4852
+ action: "github.pr.review.create",
4853
+ resource_type: "github:repo",
4854
+ required_relations: ["editor", "act_as"],
4855
+ required_scopes: ["repo"],
4856
+ capability: "github.pulls.write",
4857
+ input_schema: {
4858
+ type: "object",
4859
+ properties: {
4860
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4861
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4862
+ pullNumber: { type: "integer", minimum: 1, description: "\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u756A\u53F7" },
4863
+ event: { type: "string", enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"], description: "\u30EC\u30D3\u30E5\u30FC\u7A2E\u5225" },
4864
+ body: { type: "string", description: "\u30EC\u30D3\u30E5\u30FC\u30B3\u30E1\u30F3\u30C8\u672C\u6587\uFF08\u7701\u7565\u53EF\uFF09" }
4865
+ },
4866
+ required: ["owner", "repo", "pullNumber", "event"],
4867
+ additionalProperties: false
4868
+ },
4869
+ constraints: { rate_bucket: "github.write" },
4870
+ effects: ["Create:PullRequestReview"],
4871
+ risk: "high",
4872
+ target_bindings: {
4873
+ resource_id: { source: "context", key: "resource_id" }
4874
+ },
4875
+ version: "1.0.0"
4876
+ },
4877
+ {
4878
+ action: "github.pr.comment.reply",
4879
+ resource_type: "github:repo",
4880
+ required_relations: ["editor", "act_as"],
4881
+ required_scopes: ["repo"],
4882
+ capability: "github.pulls.write",
4883
+ input_schema: {
4884
+ type: "object",
4885
+ properties: {
4886
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4887
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4888
+ pullNumber: { type: "integer", minimum: 1, description: "\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u756A\u53F7" },
4889
+ commentId: { type: "integer", minimum: 1, description: "\u30EC\u30D3\u30E5\u30FC\u30B3\u30E1\u30F3\u30C8 ID" },
4890
+ body: { type: "string", description: "\u8FD4\u4FE1\u672C\u6587" }
4891
+ },
4892
+ required: ["owner", "repo", "pullNumber", "commentId", "body"],
4893
+ additionalProperties: false
4894
+ },
4895
+ constraints: { rate_bucket: "github.write" },
4896
+ effects: ["Create:PullRequestComment"],
4897
+ risk: "high",
4898
+ target_bindings: {
4899
+ resource_id: { source: "context", key: "resource_id" }
4900
+ },
4901
+ version: "1.0.0"
4902
+ },
4903
+ {
4904
+ action: "github.pr.branch.update",
4905
+ resource_type: "github:repo",
4906
+ required_relations: ["editor", "act_as"],
4907
+ required_scopes: ["repo"],
4908
+ capability: "github.pulls.write",
4909
+ input_schema: {
4910
+ type: "object",
4911
+ properties: {
4912
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4913
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4914
+ pullNumber: { type: "integer", minimum: 1, description: "\u30D7\u30EB\u30EA\u30AF\u30A8\u30B9\u30C8\u756A\u53F7" },
4915
+ expectedHeadSha: { type: "string", description: "\u671F\u5F85\u3059\u308B\u30D8\u30C3\u30C9 SHA\uFF08\u7701\u7565\u53EF\uFF09" }
4916
+ },
4917
+ required: ["owner", "repo", "pullNumber"],
4918
+ additionalProperties: false
4919
+ },
4920
+ constraints: { rate_bucket: "github.write" },
4921
+ effects: ["Update:Branch"],
4922
+ risk: "high",
4923
+ target_bindings: {
4924
+ resource_id: { source: "context", key: "resource_id" }
4925
+ },
4926
+ version: "1.0.0"
4927
+ },
4928
+ {
4929
+ action: "github.pr.search",
4930
+ resource_type: "github:repo",
4931
+ required_relations: ["viewer", "editor", "admin", "owner"],
4932
+ required_scopes: ["repo"],
4933
+ capability: "github.read.basic",
4934
+ input_schema: {
4935
+ type: "object",
4936
+ properties: {
4937
+ query: { type: "string", minLength: 1, description: "\u691C\u7D22\u30AF\u30A8\u30EA\u6587\u5B57\u5217\uFF08GitHub Search API \u69CB\u6587\uFF09" }
4938
+ },
4939
+ required: ["query"],
4940
+ additionalProperties: false
4941
+ },
4942
+ constraints: { rate_bucket: "github.read" },
4943
+ effects: ["Read:PullRequestSearch"],
4944
+ risk: "low",
4945
+ target_bindings: {
4946
+ resource_id: { source: "context", key: "resource_id" }
4947
+ },
4948
+ version: "1.0.0"
4949
+ },
4950
+ // ─── GitHub Repositories & Contents Actions ───
4951
+ {
4952
+ action: "github.repo.search",
4953
+ resource_type: "github:repo",
4954
+ required_relations: ["viewer", "editor", "admin", "owner"],
4955
+ required_scopes: ["repo"],
4956
+ capability: "github.read.basic",
4957
+ input_schema: {
4958
+ type: "object",
4959
+ properties: {
4960
+ query: { type: "string", minLength: 1, description: "\u691C\u7D22\u30AF\u30A8\u30EA\u6587\u5B57\u5217\uFF08GitHub Search API \u69CB\u6587\uFF09" },
4961
+ sort: { type: "string", description: "\u30BD\u30FC\u30C8\u9805\u76EE\uFF08\u7701\u7565\u53EF\uFF09" },
4962
+ order: { type: "string", enum: ["asc", "desc"], description: "\u30BD\u30FC\u30C8\u65B9\u5411\uFF08\u7701\u7565\u53EF\uFF09" },
4963
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
4964
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
4965
+ },
4966
+ required: ["query"],
4967
+ additionalProperties: false
4968
+ },
4969
+ constraints: { rate_bucket: "github.read" },
4970
+ effects: ["Read:RepositorySearch"],
4971
+ risk: "low",
4972
+ target_bindings: {
4973
+ resource_id: { source: "context", key: "resource_id" }
4974
+ },
4975
+ version: "1.0.0"
4976
+ },
4977
+ {
4978
+ action: "github.repo.collaborator.list",
4979
+ resource_type: "github:repo",
4980
+ required_relations: ["viewer", "editor", "admin", "owner"],
4981
+ required_scopes: ["repo"],
4982
+ capability: "github.read.basic",
4983
+ input_schema: {
4984
+ type: "object",
4985
+ properties: {
4986
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
4987
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
4988
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
4989
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
4990
+ },
4991
+ required: ["owner", "repo"],
4992
+ additionalProperties: false
4993
+ },
4994
+ constraints: { rate_bucket: "github.read" },
4995
+ effects: ["Read:CollaboratorList"],
4996
+ risk: "low",
4997
+ target_bindings: {
4998
+ resource_id: { source: "context", key: "resource_id" }
4999
+ },
5000
+ version: "1.0.0"
5001
+ },
5002
+ {
5003
+ action: "github.content.get",
5004
+ resource_type: "github:repo",
5005
+ required_relations: ["viewer", "editor", "admin", "owner"],
5006
+ required_scopes: ["repo"],
5007
+ capability: "github.read.basic",
5008
+ input_schema: {
5009
+ type: "object",
5010
+ properties: {
5011
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5012
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5013
+ path: { type: "string", minLength: 1, description: "\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30D1\u30B9" },
5014
+ ref: { type: "string", description: "\u30D6\u30E9\u30F3\u30C1\u30FB\u30BF\u30B0\u30FB\u30B3\u30DF\u30C3\u30C8 SHA\uFF08\u7701\u7565\u53EF\uFF09" }
5015
+ },
5016
+ required: ["owner", "repo", "path"],
5017
+ additionalProperties: false
5018
+ },
5019
+ constraints: { rate_bucket: "github.read" },
5020
+ effects: ["Read:Content"],
5021
+ risk: "low",
5022
+ target_bindings: {
5023
+ resource_id: { source: "context", key: "resource_id" }
5024
+ },
5025
+ version: "1.0.0"
5026
+ },
5027
+ {
5028
+ action: "github.tree.get",
5029
+ resource_type: "github:repo",
5030
+ required_relations: ["viewer", "editor", "admin", "owner"],
5031
+ required_scopes: ["repo"],
5032
+ capability: "github.read.basic",
5033
+ input_schema: {
5034
+ type: "object",
5035
+ properties: {
5036
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5037
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5038
+ treeSha: { type: "string", minLength: 1, description: "\u30C4\u30EA\u30FC SHA \u307E\u305F\u306F\u30D6\u30E9\u30F3\u30C1\u540D" },
5039
+ recursive: { type: "boolean", description: "\u518D\u5E30\u7684\u306B\u53D6\u5F97\u3059\u308B\u304B\uFF08\u7701\u7565\u53EF\uFF09" }
5040
+ },
5041
+ required: ["owner", "repo", "treeSha"],
5042
+ additionalProperties: false
5043
+ },
5044
+ constraints: { rate_bucket: "github.read" },
5045
+ effects: ["Read:Tree"],
5046
+ risk: "low",
5047
+ target_bindings: {
5048
+ resource_id: { source: "context", key: "resource_id" }
5049
+ },
5050
+ version: "1.0.0"
5051
+ },
5052
+ {
5053
+ action: "github.branch.list",
5054
+ resource_type: "github:repo",
5055
+ required_relations: ["viewer", "editor", "admin", "owner"],
5056
+ required_scopes: ["repo"],
5057
+ capability: "github.read.basic",
5058
+ input_schema: {
5059
+ type: "object",
5060
+ properties: {
5061
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5062
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5063
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5064
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5065
+ },
5066
+ required: ["owner", "repo"],
5067
+ additionalProperties: false
5068
+ },
5069
+ constraints: { rate_bucket: "github.read" },
5070
+ effects: ["Read:BranchList"],
5071
+ risk: "low",
5072
+ target_bindings: {
5073
+ resource_id: { source: "context", key: "resource_id" }
5074
+ },
5075
+ version: "1.0.0"
5076
+ },
5077
+ {
5078
+ action: "github.commit.get",
5079
+ resource_type: "github:repo",
5080
+ required_relations: ["viewer", "editor", "admin", "owner"],
5081
+ required_scopes: ["repo"],
5082
+ capability: "github.read.basic",
5083
+ input_schema: {
5084
+ type: "object",
5085
+ properties: {
5086
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5087
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5088
+ ref: { type: "string", minLength: 1, description: "\u30B3\u30DF\u30C3\u30C8 SHA\u30FB\u30D6\u30E9\u30F3\u30C1\u30FB\u30BF\u30B0" }
5089
+ },
5090
+ required: ["owner", "repo", "ref"],
5091
+ additionalProperties: false
5092
+ },
5093
+ constraints: { rate_bucket: "github.read" },
5094
+ effects: ["Read:Commit"],
5095
+ risk: "low",
5096
+ target_bindings: {
5097
+ resource_id: { source: "context", key: "resource_id" }
5098
+ },
5099
+ version: "1.0.0"
5100
+ },
5101
+ {
5102
+ action: "github.commit.list",
5103
+ resource_type: "github:repo",
5104
+ required_relations: ["viewer", "editor", "admin", "owner"],
5105
+ required_scopes: ["repo"],
5106
+ capability: "github.read.basic",
5107
+ input_schema: {
5108
+ type: "object",
5109
+ properties: {
5110
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5111
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5112
+ sha: { type: "string", description: "\u30D6\u30E9\u30F3\u30C1\u540D\u307E\u305F\u306F\u958B\u59CB\u30B3\u30DF\u30C3\u30C8 SHA\uFF08\u7701\u7565\u53EF\uFF09" },
5113
+ path: { type: "string", description: "\u3053\u306E\u30D1\u30B9\u306B\u5F71\u97FF\u3059\u308B\u30B3\u30DF\u30C3\u30C8\u306E\u307F\uFF08\u7701\u7565\u53EF\uFF09" },
5114
+ author: { type: "string", description: "\u30B3\u30DF\u30C3\u30C8\u4F5C\u8005\u3067\u30D5\u30A3\u30EB\u30BF\u30FC\uFF08\u7701\u7565\u53EF\uFF09" },
5115
+ since: { type: "string", description: "\u3053\u306E\u65E5\u6642\u4EE5\u964D\uFF08ISO 8601\u3001\u7701\u7565\u53EF\uFF09" },
5116
+ until: { type: "string", description: "\u3053\u306E\u65E5\u6642\u4EE5\u524D\uFF08ISO 8601\u3001\u7701\u7565\u53EF\uFF09" },
5117
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5118
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5119
+ },
5120
+ required: ["owner", "repo"],
5121
+ additionalProperties: false
5122
+ },
5123
+ constraints: { rate_bucket: "github.read" },
5124
+ effects: ["Read:CommitList"],
5125
+ risk: "low",
5126
+ target_bindings: {
5127
+ resource_id: { source: "context", key: "resource_id" }
5128
+ },
5129
+ version: "1.0.0"
5130
+ },
5131
+ {
5132
+ action: "github.commit.search",
5133
+ resource_type: "github:repo",
5134
+ required_relations: ["viewer", "editor", "admin", "owner"],
5135
+ required_scopes: ["repo"],
5136
+ capability: "github.read.basic",
5137
+ input_schema: {
5138
+ type: "object",
5139
+ properties: {
5140
+ query: { type: "string", minLength: 1, description: "\u691C\u7D22\u30AF\u30A8\u30EA\u6587\u5B57\u5217\uFF08GitHub Search API \u69CB\u6587\uFF09" },
5141
+ sort: { type: "string", enum: ["author-date", "committer-date"], description: "\u30BD\u30FC\u30C8\u9805\u76EE\uFF08\u7701\u7565\u53EF\uFF09" },
5142
+ order: { type: "string", enum: ["asc", "desc"], description: "\u30BD\u30FC\u30C8\u65B9\u5411\uFF08\u7701\u7565\u53EF\uFF09" },
5143
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5144
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5145
+ },
5146
+ required: ["query"],
5147
+ additionalProperties: false
5148
+ },
5149
+ constraints: { rate_bucket: "github.read" },
5150
+ effects: ["Read:CommitSearch"],
5151
+ risk: "low",
5152
+ target_bindings: {
5153
+ resource_id: { source: "context", key: "resource_id" }
5154
+ },
5155
+ version: "1.0.0"
5156
+ },
5157
+ {
5158
+ action: "github.tag.list",
5159
+ resource_type: "github:repo",
5160
+ required_relations: ["viewer", "editor", "admin", "owner"],
5161
+ required_scopes: ["repo"],
5162
+ capability: "github.read.basic",
5163
+ input_schema: {
5164
+ type: "object",
5165
+ properties: {
5166
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5167
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5168
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5169
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5170
+ },
5171
+ required: ["owner", "repo"],
5172
+ additionalProperties: false
5173
+ },
5174
+ constraints: { rate_bucket: "github.read" },
5175
+ effects: ["Read:TagList"],
5176
+ risk: "low",
5177
+ target_bindings: {
5178
+ resource_id: { source: "context", key: "resource_id" }
5179
+ },
5180
+ version: "1.0.0"
5181
+ },
5182
+ {
5183
+ action: "github.release.list",
5184
+ resource_type: "github:repo",
5185
+ required_relations: ["viewer", "editor", "admin", "owner"],
5186
+ required_scopes: ["repo"],
5187
+ capability: "github.read.basic",
5188
+ input_schema: {
5189
+ type: "object",
5190
+ properties: {
5191
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5192
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5193
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5194
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5195
+ },
5196
+ required: ["owner", "repo"],
5197
+ additionalProperties: false
5198
+ },
5199
+ constraints: { rate_bucket: "github.read" },
5200
+ effects: ["Read:ReleaseList"],
5201
+ risk: "low",
5202
+ target_bindings: {
5203
+ resource_id: { source: "context", key: "resource_id" }
5204
+ },
5205
+ version: "1.0.0"
5206
+ },
5207
+ {
5208
+ action: "github.release.getLatest",
5209
+ resource_type: "github:repo",
5210
+ required_relations: ["viewer", "editor", "admin", "owner"],
5211
+ required_scopes: ["repo"],
5212
+ capability: "github.read.basic",
5213
+ input_schema: {
5214
+ type: "object",
5215
+ properties: {
5216
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5217
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" }
5218
+ },
5219
+ required: ["owner", "repo"],
5220
+ additionalProperties: false
5221
+ },
5222
+ constraints: { rate_bucket: "github.read" },
5223
+ effects: ["Read:Release"],
5224
+ risk: "low",
5225
+ target_bindings: {
5226
+ resource_id: { source: "context", key: "resource_id" }
5227
+ },
5228
+ version: "1.0.0"
5229
+ },
5230
+ {
5231
+ action: "github.release.getByTag",
5232
+ resource_type: "github:repo",
5233
+ required_relations: ["viewer", "editor", "admin", "owner"],
5234
+ required_scopes: ["repo"],
5235
+ capability: "github.read.basic",
5236
+ input_schema: {
5237
+ type: "object",
5238
+ properties: {
5239
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5240
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5241
+ tag: { type: "string", minLength: 1, description: "\u30BF\u30B0\u540D" }
5242
+ },
5243
+ required: ["owner", "repo", "tag"],
5244
+ additionalProperties: false
5245
+ },
5246
+ constraints: { rate_bucket: "github.read" },
5247
+ effects: ["Read:Release"],
5248
+ risk: "low",
5249
+ target_bindings: {
5250
+ resource_id: { source: "context", key: "resource_id" }
5251
+ },
5252
+ version: "1.0.0"
5253
+ },
5254
+ {
5255
+ action: "github.code.search",
5256
+ resource_type: "github:repo",
5257
+ required_relations: ["viewer", "editor", "admin", "owner"],
5258
+ required_scopes: ["repo"],
5259
+ capability: "github.read.basic",
5260
+ input_schema: {
5261
+ type: "object",
5262
+ properties: {
5263
+ query: { type: "string", minLength: 1, description: "\u691C\u7D22\u30AF\u30A8\u30EA\u6587\u5B57\u5217\uFF08GitHub Search API \u69CB\u6587\uFF09" },
5264
+ sort: { type: "string", enum: ["indexed"], description: "\u30BD\u30FC\u30C8\u9805\u76EE\uFF08\u7701\u7565\u53EF\uFF09" },
5265
+ order: { type: "string", enum: ["asc", "desc"], description: "\u30BD\u30FC\u30C8\u65B9\u5411\uFF08\u7701\u7565\u53EF\uFF09" },
5266
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5267
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5268
+ },
5269
+ required: ["query"],
5270
+ additionalProperties: false
5271
+ },
5272
+ constraints: { rate_bucket: "github.read" },
5273
+ effects: ["Read:CodeSearch"],
5274
+ risk: "low",
5275
+ target_bindings: {
5276
+ resource_id: { source: "context", key: "resource_id" }
5277
+ },
5278
+ version: "1.0.0"
5279
+ },
5280
+ {
5281
+ action: "github.repo.create",
5282
+ resource_type: "github:repo",
5283
+ required_relations: ["editor", "act_as"],
5284
+ required_scopes: ["repo"],
5285
+ capability: "github.repos.write",
5286
+ input_schema: {
5287
+ type: "object",
5288
+ properties: {
5289
+ name: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5290
+ description: { type: "string", description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u8AAC\u660E\uFF08\u7701\u7565\u53EF\uFF09" },
5291
+ private: { type: "boolean", description: "\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8\u30EA\u30DD\u30B8\u30C8\u30EA\u306B\u3059\u308B\u304B\uFF08\u7701\u7565\u53EF\uFF09" },
5292
+ org: { type: "string", description: "\u4F5C\u6210\u5148\u306E\u7D44\u7E54\u540D\uFF08\u7701\u7565\u6642\u306F\u8A8D\u8A3C\u30E6\u30FC\u30B6\u30FC\u914D\u4E0B\u306B\u4F5C\u6210\uFF09" },
5293
+ autoInit: { type: "boolean", description: "README \u3067\u521D\u671F\u5316\u3059\u308B\u304B\uFF08\u7701\u7565\u53EF\uFF09" }
5294
+ },
5295
+ required: ["name"],
5296
+ additionalProperties: false
5297
+ },
5298
+ constraints: { rate_bucket: "github.write" },
5299
+ effects: ["Create:Repository"],
5300
+ risk: "high",
5301
+ target_bindings: {
5302
+ resource_id: { source: "context", key: "resource_id" }
5303
+ },
5304
+ version: "1.0.0"
5305
+ },
5306
+ {
5307
+ action: "github.repo.fork",
5308
+ resource_type: "github:repo",
5309
+ required_relations: ["editor", "act_as"],
5310
+ required_scopes: ["repo"],
5311
+ capability: "github.repos.write",
5312
+ input_schema: {
5313
+ type: "object",
5314
+ properties: {
5315
+ owner: { type: "string", minLength: 1, description: "\u30D5\u30A9\u30FC\u30AF\u5143\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u30AA\u30FC\u30CA\u30FC" },
5316
+ repo: { type: "string", minLength: 1, description: "\u30D5\u30A9\u30FC\u30AF\u5143\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5317
+ organization: { type: "string", description: "\u30D5\u30A9\u30FC\u30AF\u5148\u306E\u7D44\u7E54\u540D\uFF08\u7701\u7565\u53EF\uFF09" }
5318
+ },
5319
+ required: ["owner", "repo"],
5320
+ additionalProperties: false
5321
+ },
5322
+ constraints: { rate_bucket: "github.write" },
5323
+ effects: ["Create:RepositoryFork"],
5324
+ risk: "high",
5325
+ target_bindings: {
5326
+ resource_id: { source: "context", key: "resource_id" }
5327
+ },
5328
+ version: "1.0.0"
5329
+ },
5330
+ {
5331
+ action: "github.content.createOrUpdate",
5332
+ resource_type: "github:repo",
5333
+ required_relations: ["editor", "act_as"],
5334
+ required_scopes: ["repo"],
5335
+ capability: "github.repos.write",
5336
+ input_schema: {
5337
+ type: "object",
5338
+ properties: {
5339
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5340
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5341
+ path: { type: "string", minLength: 1, description: "\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9" },
5342
+ message: { type: "string", minLength: 1, description: "\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8" },
5343
+ content: { type: "string", minLength: 1, description: "\u30D5\u30A1\u30A4\u30EB\u5185\u5BB9\uFF08Base64 \u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217\uFF09" },
5344
+ branch: { type: "string", description: "\u5BFE\u8C61\u30D6\u30E9\u30F3\u30C1\uFF08\u7701\u7565\u53EF\uFF09" },
5345
+ sha: { type: "string", description: "\u66F4\u65B0\u6642\u306B\u6307\u5B9A\u3059\u308B\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306E blob SHA\uFF08\u7701\u7565\u53EF\uFF09" }
5346
+ },
5347
+ required: ["owner", "repo", "path", "message", "content"],
5348
+ additionalProperties: false
5349
+ },
5350
+ constraints: { rate_bucket: "github.write" },
5351
+ effects: ["Create:Content"],
5352
+ risk: "high",
5353
+ target_bindings: {
5354
+ resource_id: { source: "context", key: "resource_id" }
5355
+ },
5356
+ version: "1.0.0"
5357
+ },
5358
+ {
5359
+ action: "github.content.delete",
5360
+ resource_type: "github:repo",
5361
+ required_relations: ["editor", "act_as"],
5362
+ required_scopes: ["repo"],
5363
+ capability: "github.repos.write",
5364
+ input_schema: {
5365
+ type: "object",
5366
+ properties: {
5367
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5368
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5369
+ path: { type: "string", minLength: 1, description: "\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9" },
5370
+ message: { type: "string", minLength: 1, description: "\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8" },
5371
+ sha: { type: "string", minLength: 1, description: "\u524A\u9664\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB\u306E blob SHA" },
5372
+ branch: { type: "string", description: "\u5BFE\u8C61\u30D6\u30E9\u30F3\u30C1\uFF08\u7701\u7565\u53EF\uFF09" }
5373
+ },
5374
+ required: ["owner", "repo", "path", "message", "sha"],
5375
+ additionalProperties: false
5376
+ },
5377
+ constraints: { rate_bucket: "github.write" },
5378
+ effects: ["Delete:Content"],
5379
+ risk: "high",
5380
+ target_bindings: {
5381
+ resource_id: { source: "context", key: "resource_id" }
5382
+ },
5383
+ version: "1.0.0"
5384
+ },
5385
+ {
5386
+ action: "github.branch.create",
5387
+ resource_type: "github:repo",
5388
+ required_relations: ["editor", "act_as"],
5389
+ required_scopes: ["repo"],
5390
+ capability: "github.repos.write",
5391
+ input_schema: {
5392
+ type: "object",
5393
+ properties: {
5394
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5395
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5396
+ branch: { type: "string", minLength: 1, description: "\u4F5C\u6210\u3059\u308B\u65B0\u3057\u3044\u30D6\u30E9\u30F3\u30C1\u540D" },
5397
+ fromBranch: { type: "string", description: "\u57FA\u70B9\u3068\u3059\u308B\u30D6\u30E9\u30F3\u30C1\u540D\uFF08\u7701\u7565\u6642\u306F\u30C7\u30D5\u30A9\u30EB\u30C8\u30D6\u30E9\u30F3\u30C1\uFF09" }
5398
+ },
5399
+ required: ["owner", "repo", "branch"],
5400
+ additionalProperties: false
5401
+ },
5402
+ constraints: { rate_bucket: "github.write" },
5403
+ effects: ["Create:Branch"],
5404
+ risk: "high",
5405
+ target_bindings: {
5406
+ resource_id: { source: "context", key: "resource_id" }
5407
+ },
5408
+ version: "1.0.0"
5409
+ },
5410
+ // ─── GitHub Issues 拡張 & Labels Actions ───
5411
+ {
5412
+ action: "github.issue.comment.create",
5413
+ resource_type: "github:repo",
5414
+ required_relations: ["editor", "act_as"],
5415
+ required_scopes: ["repo"],
5416
+ capability: "github.issues.triage",
5417
+ input_schema: {
5418
+ type: "object",
5419
+ properties: {
5420
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5421
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5422
+ issueNumber: { type: "integer", minimum: 1, description: "Issue \u307E\u305F\u306F Pull Request \u756A\u53F7" },
5423
+ body: { type: "string", minLength: 1, description: "\u30B3\u30E1\u30F3\u30C8\u672C\u6587" }
5424
+ },
5425
+ required: ["owner", "repo", "issueNumber", "body"],
5426
+ additionalProperties: false
5427
+ },
5428
+ constraints: { rate_bucket: "github.write" },
5429
+ effects: ["Create:IssueComment"],
5430
+ risk: "high",
5431
+ target_bindings: {
5432
+ resource_id: { source: "context", key: "resource_id" }
5433
+ },
5434
+ version: "1.0.0"
5435
+ },
5436
+ {
5437
+ action: "github.issue.subissue.write",
5438
+ resource_type: "github:repo",
5439
+ required_relations: ["editor", "act_as"],
5440
+ required_scopes: ["repo"],
5441
+ capability: "github.issues.triage",
5442
+ input_schema: {
5443
+ type: "object",
5444
+ properties: {
5445
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5446
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5447
+ issueNumber: { type: "integer", minimum: 1, description: "\u89AA Issue \u756A\u53F7" },
5448
+ subIssueId: { type: "integer", minimum: 1, description: "\u30B5\u30D6 Issue \u306E ID\uFF08issue number \u3067\u306F\u306A\u304F\u5185\u90E8 ID\uFF09" }
5449
+ },
5450
+ required: ["owner", "repo", "issueNumber", "subIssueId"],
5451
+ additionalProperties: false
5452
+ },
5453
+ constraints: { rate_bucket: "github.write" },
5454
+ effects: ["Write:SubIssue"],
5455
+ risk: "high",
5456
+ target_bindings: {
5457
+ resource_id: { source: "context", key: "resource_id" }
5458
+ },
5459
+ version: "1.0.0"
5460
+ },
5461
+ {
5462
+ action: "github.issue.search",
5463
+ resource_type: "github:repo",
5464
+ required_relations: ["viewer", "editor", "admin", "owner"],
5465
+ required_scopes: ["repo"],
5466
+ capability: "github.read.basic",
5467
+ input_schema: {
5468
+ type: "object",
5469
+ properties: {
5470
+ query: { type: "string", minLength: 1, description: "\u691C\u7D22\u30AF\u30A8\u30EA\u6587\u5B57\u5217\uFF08GitHub Search API \u69CB\u6587\u3002`is:issue` \u7B49\u306F\u547C\u3073\u51FA\u3057\u5074\u3067\u542B\u3081\u308B\uFF09" },
5471
+ sort: { type: "string", description: "\u30BD\u30FC\u30C8\u9805\u76EE\uFF08\u7701\u7565\u53EF\uFF09" },
5472
+ order: { type: "string", enum: ["asc", "desc"], description: "\u30BD\u30FC\u30C8\u65B9\u5411\uFF08\u7701\u7565\u53EF\uFF09" },
5473
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5474
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5475
+ },
5476
+ required: ["query"],
5477
+ additionalProperties: false
5478
+ },
5479
+ constraints: { rate_bucket: "github.read" },
5480
+ effects: ["Read:IssueSearch"],
5481
+ risk: "low",
5482
+ target_bindings: {
5483
+ resource_id: { source: "context", key: "resource_id" }
5484
+ },
5485
+ version: "1.0.0"
5486
+ },
5487
+ {
5488
+ action: "github.issue.types.list",
5489
+ resource_type: "github:repo",
5490
+ required_relations: ["viewer", "editor", "admin", "owner"],
5491
+ required_scopes: ["read:org"],
5492
+ capability: "github.read.basic",
5493
+ input_schema: {
5494
+ type: "object",
5495
+ properties: {
5496
+ org: { type: "string", minLength: 1, description: "\u7D44\u7E54\u540D\uFF08Organization \u306E\u30ED\u30B0\u30A4\u30F3\u540D\uFF09" }
5497
+ },
5498
+ required: ["org"],
5499
+ additionalProperties: false
5500
+ },
5501
+ constraints: { rate_bucket: "github.read" },
5502
+ effects: ["Read:IssueTypes"],
5503
+ risk: "low",
5504
+ target_bindings: {
5505
+ resource_id: { source: "context", key: "resource_id" }
5506
+ },
5507
+ version: "1.0.0"
5508
+ },
5509
+ {
5510
+ action: "github.label.get",
5511
+ resource_type: "github:repo",
5512
+ required_relations: ["viewer", "editor", "admin", "owner"],
5513
+ required_scopes: ["repo"],
5514
+ capability: "github.read.basic",
5515
+ input_schema: {
5516
+ type: "object",
5517
+ properties: {
5518
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5519
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5520
+ name: { type: "string", minLength: 1, description: "\u30E9\u30D9\u30EB\u540D" }
5521
+ },
5522
+ required: ["owner", "repo", "name"],
5523
+ additionalProperties: false
5524
+ },
5525
+ constraints: { rate_bucket: "github.read" },
5526
+ effects: ["Read:Label"],
5527
+ risk: "low",
5528
+ target_bindings: {
5529
+ resource_id: { source: "context", key: "resource_id" }
5530
+ },
5531
+ version: "1.0.0"
5532
+ },
5533
+ {
5534
+ action: "github.label.list",
5535
+ resource_type: "github:repo",
5536
+ required_relations: ["viewer", "editor", "admin", "owner"],
5537
+ required_scopes: ["repo"],
5538
+ capability: "github.read.basic",
5539
+ input_schema: {
5540
+ type: "object",
5541
+ properties: {
5542
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5543
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5544
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5545
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5546
+ },
5547
+ required: ["owner", "repo"],
5548
+ additionalProperties: false
5549
+ },
5550
+ constraints: { rate_bucket: "github.read" },
5551
+ effects: ["Read:LabelList"],
5552
+ risk: "low",
5553
+ target_bindings: {
5554
+ resource_id: { source: "context", key: "resource_id" }
5555
+ },
5556
+ version: "1.0.0"
5557
+ },
5558
+ {
5559
+ action: "github.label.write",
5560
+ resource_type: "github:repo",
5561
+ required_relations: ["editor", "act_as"],
5562
+ required_scopes: ["repo"],
5563
+ capability: "github.issues.triage",
5564
+ input_schema: {
5565
+ type: "object",
5566
+ properties: {
5567
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5568
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5569
+ name: { type: "string", minLength: 1, description: "\u30E9\u30D9\u30EB\u540D\uFF08\u65E2\u5B58\u306A\u3089\u66F4\u65B0\u3001\u306A\u3051\u308C\u3070\u65B0\u898F\u4F5C\u6210\uFF09" },
5570
+ color: { type: "string", description: "16\u9032\u30AB\u30E9\u30FC\u30B3\u30FC\u30C9\uFF08\u5148\u982D\u306E # \u306F\u4E0D\u8981\u3001\u7701\u7565\u53EF\uFF09" },
5571
+ description: { type: "string", description: "\u30E9\u30D9\u30EB\u306E\u8AAC\u660E\uFF08\u7701\u7565\u53EF\uFF09" },
5572
+ newName: { type: "string", description: "\u66F4\u65B0\u6642\u306E\u65B0\u3057\u3044\u30E9\u30D9\u30EB\u540D\uFF08\u6539\u540D\u3059\u308B\u5834\u5408\u306E\u307F\u6307\u5B9A\u3001\u7701\u7565\u53EF\uFF09" }
5573
+ },
5574
+ required: ["owner", "repo", "name"],
5575
+ additionalProperties: false
5576
+ },
5577
+ constraints: { rate_bucket: "github.write" },
5578
+ effects: ["Write:Label"],
5579
+ risk: "high",
5580
+ target_bindings: {
5581
+ resource_id: { source: "context", key: "resource_id" }
5582
+ },
5583
+ version: "1.0.0"
5584
+ },
5585
+ // ─── GitHub Actions(CI) / Stargazers / Context / Users Actions ───
5586
+ {
5587
+ action: "github.workflow.get",
5588
+ resource_type: "github:repo",
5589
+ required_relations: ["viewer", "editor", "admin", "owner"],
5590
+ required_scopes: ["repo"],
5591
+ capability: "github.read.basic",
5592
+ input_schema: {
5593
+ type: "object",
5594
+ properties: {
5595
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5596
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5597
+ workflowId: {
5598
+ type: ["string", "integer"],
5599
+ description: "\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u6570\u5024 ID \u307E\u305F\u306F\u30D5\u30A1\u30A4\u30EB\u540D\uFF08\u4F8B: ci.yml\uFF09"
5600
+ }
5601
+ },
5602
+ required: ["owner", "repo", "workflowId"],
5603
+ additionalProperties: false
5604
+ },
5605
+ constraints: { rate_bucket: "github.read" },
5606
+ effects: ["Read:Workflow"],
5607
+ risk: "low",
5608
+ target_bindings: {
5609
+ resource_id: { source: "context", key: "resource_id" }
5610
+ },
5611
+ version: "1.0.0"
5612
+ },
5613
+ {
5614
+ action: "github.workflow.list",
5615
+ resource_type: "github:repo",
5616
+ required_relations: ["viewer", "editor", "admin", "owner"],
5617
+ required_scopes: ["repo"],
5618
+ capability: "github.read.basic",
5619
+ input_schema: {
5620
+ type: "object",
5621
+ properties: {
5622
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5623
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5624
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5625
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5626
+ },
5627
+ required: ["owner", "repo"],
5628
+ additionalProperties: false
5629
+ },
5630
+ constraints: { rate_bucket: "github.read" },
5631
+ effects: ["Read:WorkflowList"],
5632
+ risk: "low",
5633
+ target_bindings: {
5634
+ resource_id: { source: "context", key: "resource_id" }
5635
+ },
5636
+ version: "1.0.0"
5637
+ },
5638
+ {
5639
+ action: "github.workflow.run",
5640
+ resource_type: "github:repo",
5641
+ required_relations: ["editor", "act_as"],
5642
+ required_scopes: ["repo"],
5643
+ capability: "github.repos.write",
5644
+ input_schema: {
5645
+ type: "object",
5646
+ properties: {
5647
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5648
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5649
+ workflowId: {
5650
+ type: ["string", "integer"],
5651
+ description: "\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u6570\u5024 ID \u307E\u305F\u306F\u30D5\u30A1\u30A4\u30EB\u540D\uFF08\u4F8B: ci.yml\uFF09"
5652
+ },
5653
+ ref: { type: "string", minLength: 1, description: "\u5B9F\u884C\u5BFE\u8C61\u306E git ref\uFF08\u30D6\u30E9\u30F3\u30C1\u540D\u307E\u305F\u306F\u30BF\u30B0\u540D\uFF09" },
5654
+ inputs: {
5655
+ type: "object",
5656
+ description: "\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3078\u306E\u5165\u529B\u5024\uFF08workflow_dispatch \u306E inputs\u3001\u7701\u7565\u53EF\uFF09",
5657
+ additionalProperties: true
5658
+ }
5659
+ },
5660
+ required: ["owner", "repo", "workflowId", "ref"],
5661
+ additionalProperties: false
5662
+ },
5663
+ constraints: { rate_bucket: "github.write" },
5664
+ effects: ["Run:Workflow"],
5665
+ risk: "high",
5666
+ target_bindings: {
5667
+ resource_id: { source: "context", key: "resource_id" }
5668
+ },
5669
+ version: "1.0.0"
5670
+ },
5671
+ {
5672
+ action: "github.workflow.jobLogs.get",
5673
+ resource_type: "github:repo",
5674
+ required_relations: ["viewer", "editor", "admin", "owner"],
5675
+ required_scopes: ["repo"],
5676
+ capability: "github.read.basic",
5677
+ input_schema: {
5678
+ type: "object",
5679
+ properties: {
5680
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5681
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5682
+ jobId: { type: "integer", minimum: 1, description: "\u30B8\u30E7\u30D6\u306E\u6570\u5024 ID" }
5683
+ },
5684
+ required: ["owner", "repo", "jobId"],
5685
+ additionalProperties: false
5686
+ },
5687
+ constraints: { rate_bucket: "github.read" },
5688
+ effects: ["Read:JobLogs"],
5689
+ risk: "low",
5690
+ target_bindings: {
5691
+ resource_id: { source: "context", key: "resource_id" }
5692
+ },
5693
+ version: "1.0.0"
5694
+ },
5695
+ {
5696
+ action: "github.repo.starred.list",
5697
+ resource_type: "github:repo",
5698
+ required_relations: ["viewer", "editor", "admin", "owner"],
5699
+ required_scopes: ["repo"],
5700
+ capability: "github.read.basic",
5701
+ input_schema: {
5702
+ type: "object",
5703
+ properties: {
5704
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5705
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" },
5706
+ sort: { type: "string", enum: ["created", "updated"], description: "\u30BD\u30FC\u30C8\u9805\u76EE\uFF08\u7701\u7565\u53EF\uFF09" },
5707
+ direction: { type: "string", enum: ["asc", "desc"], description: "\u30BD\u30FC\u30C8\u65B9\u5411\uFF08\u7701\u7565\u53EF\uFF09" }
5708
+ },
5709
+ required: [],
5710
+ additionalProperties: false
5711
+ },
5712
+ constraints: { rate_bucket: "github.read" },
5713
+ effects: ["Read:StarredRepos"],
5714
+ risk: "low",
5715
+ target_bindings: {
5716
+ resource_id: { source: "context", key: "resource_id" }
5717
+ },
5718
+ version: "1.0.0"
5719
+ },
5720
+ {
5721
+ action: "github.repo.star",
5722
+ resource_type: "github:repo",
5723
+ required_relations: ["editor", "act_as"],
5724
+ required_scopes: ["repo"],
5725
+ capability: "github.repos.write",
5726
+ input_schema: {
5727
+ type: "object",
5728
+ properties: {
5729
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5730
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" }
5731
+ },
5732
+ required: ["owner", "repo"],
5733
+ additionalProperties: false
5734
+ },
5735
+ constraints: { rate_bucket: "github.write" },
5736
+ effects: ["Write:Star"],
5737
+ risk: "high",
5738
+ target_bindings: {
5739
+ resource_id: { source: "context", key: "resource_id" }
5740
+ },
5741
+ version: "1.0.0"
5742
+ },
5743
+ {
5744
+ action: "github.repo.unstar",
5745
+ resource_type: "github:repo",
5746
+ required_relations: ["editor", "act_as"],
5747
+ required_scopes: ["repo"],
5748
+ capability: "github.repos.write",
5749
+ input_schema: {
5750
+ type: "object",
5751
+ properties: {
5752
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5753
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" }
5754
+ },
5755
+ required: ["owner", "repo"],
5756
+ additionalProperties: false
5757
+ },
5758
+ constraints: { rate_bucket: "github.write" },
5759
+ effects: ["Write:Unstar"],
5760
+ risk: "high",
4568
5761
  target_bindings: {
4569
5762
  resource_id: { source: "context", key: "resource_id" }
4570
5763
  },
4571
5764
  version: "1.0.0"
4572
5765
  },
4573
5766
  {
4574
- action: "github.issue.list",
5767
+ action: "github.user.me.get",
4575
5768
  resource_type: "github:repo",
4576
5769
  required_relations: ["viewer", "editor", "admin", "owner"],
4577
- required_scopes: ["repo", "read:issues"],
5770
+ required_scopes: ["repo"],
5771
+ capability: "github.read.basic",
5772
+ input_schema: {
5773
+ type: "object",
5774
+ properties: {},
5775
+ required: [],
5776
+ additionalProperties: false
5777
+ },
5778
+ constraints: { rate_bucket: "github.read" },
5779
+ effects: ["Read:AuthenticatedUser"],
5780
+ risk: "low",
5781
+ target_bindings: {
5782
+ resource_id: { source: "context", key: "resource_id" }
5783
+ },
5784
+ version: "1.0.0"
5785
+ },
5786
+ {
5787
+ action: "github.org.teams.list",
5788
+ resource_type: "github:repo",
5789
+ required_relations: ["viewer", "editor", "admin", "owner"],
5790
+ required_scopes: ["read:org"],
4578
5791
  capability: "github.read.basic",
4579
- // Schema mirrors the server contract (GitHubConnectorAdapter):
4580
- // owner/repo are required params.
4581
5792
  input_schema: {
4582
5793
  type: "object",
4583
5794
  properties: {
4584
- owner: { type: "string", minLength: 1, description: "Repository owner (username or organization)" },
4585
- repo: { type: "string", minLength: 1, description: "Repository name" },
4586
- state: { type: "string", enum: ["open", "closed", "all"] },
4587
- labels: { type: "string" },
4588
- sort: { type: "string", enum: ["created", "updated", "comments"] },
4589
- direction: { type: "string", enum: ["asc", "desc"] },
4590
- per_page: { type: "integer", minimum: 1, maximum: 100 },
4591
- page: { type: "integer", minimum: 1 }
5795
+ org: { type: "string", minLength: 1, description: "\u7D44\u7E54\u540D\uFF08Organization \u306E\u30ED\u30B0\u30A4\u30F3\u540D\uFF09" },
5796
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5797
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5798
+ },
5799
+ required: ["org"],
5800
+ additionalProperties: false
5801
+ },
5802
+ constraints: { rate_bucket: "github.read" },
5803
+ effects: ["Read:OrgTeams"],
5804
+ risk: "low",
5805
+ target_bindings: {
5806
+ resource_id: { source: "context", key: "resource_id" }
5807
+ },
5808
+ version: "1.0.0"
5809
+ },
5810
+ {
5811
+ action: "github.team.members.list",
5812
+ resource_type: "github:repo",
5813
+ required_relations: ["viewer", "editor", "admin", "owner"],
5814
+ required_scopes: ["read:org"],
5815
+ capability: "github.read.basic",
5816
+ input_schema: {
5817
+ type: "object",
5818
+ properties: {
5819
+ org: { type: "string", minLength: 1, description: "\u7D44\u7E54\u540D\uFF08Organization \u306E\u30ED\u30B0\u30A4\u30F3\u540D\uFF09" },
5820
+ teamSlug: { type: "string", minLength: 1, description: "\u30C1\u30FC\u30E0\u306E slug" },
5821
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5822
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5823
+ },
5824
+ required: ["org", "teamSlug"],
5825
+ additionalProperties: false
5826
+ },
5827
+ constraints: { rate_bucket: "github.read" },
5828
+ effects: ["Read:TeamMembers"],
5829
+ risk: "low",
5830
+ target_bindings: {
5831
+ resource_id: { source: "context", key: "resource_id" }
5832
+ },
5833
+ version: "1.0.0"
5834
+ },
5835
+ {
5836
+ action: "github.user.search",
5837
+ resource_type: "github:repo",
5838
+ required_relations: ["viewer", "editor", "admin", "owner"],
5839
+ required_scopes: ["repo"],
5840
+ capability: "github.read.basic",
5841
+ input_schema: {
5842
+ type: "object",
5843
+ properties: {
5844
+ query: { type: "string", minLength: 1, description: "\u691C\u7D22\u30AF\u30A8\u30EA\u6587\u5B57\u5217\uFF08GitHub Search API \u69CB\u6587\uFF09" },
5845
+ sort: { type: "string", enum: ["followers", "repositories", "joined"], description: "\u30BD\u30FC\u30C8\u9805\u76EE\uFF08\u7701\u7565\u53EF\uFF09" },
5846
+ order: { type: "string", enum: ["asc", "desc"], description: "\u30BD\u30FC\u30C8\u65B9\u5411\uFF08\u7701\u7565\u53EF\uFF09" },
5847
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5848
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5849
+ },
5850
+ required: ["query"],
5851
+ additionalProperties: false
5852
+ },
5853
+ constraints: { rate_bucket: "github.read" },
5854
+ effects: ["Read:UserSearch"],
5855
+ risk: "low",
5856
+ target_bindings: {
5857
+ resource_id: { source: "context", key: "resource_id" }
5858
+ },
5859
+ version: "1.0.0"
5860
+ },
5861
+ // ─── GitHub Notifications / Gists Actions ───
5862
+ {
5863
+ action: "github.notification.list",
5864
+ resource_type: "github:repo",
5865
+ required_relations: ["viewer", "editor", "admin", "owner"],
5866
+ required_scopes: ["notifications"],
5867
+ capability: "github.read.basic",
5868
+ input_schema: {
5869
+ type: "object",
5870
+ properties: {
5871
+ all: { type: "boolean", description: "\u65E2\u8AAD\u3092\u542B\u3080\u5168\u901A\u77E5\u3092\u53D6\u5F97\u3059\u308B\u304B\uFF08\u7701\u7565\u53EF\u3001\u30C7\u30D5\u30A9\u30EB\u30C8 false\uFF09" },
5872
+ participating: { type: "boolean", description: "\u81EA\u5206\u304C\u53C2\u52A0\u3057\u3066\u3044\u308B\u901A\u77E5\u306E\u307F\u306B\u7D5E\u308B\u304B\uFF08\u7701\u7565\u53EF\uFF09" },
5873
+ since: { type: "string", description: "\u3053\u306E\u65E5\u6642\u4EE5\u964D\u306B\u66F4\u65B0\u3055\u308C\u305F\u901A\u77E5\u306E\u307F\uFF08ISO 8601\u3001\u7701\u7565\u53EF\uFF09" },
5874
+ before: { type: "string", description: "\u3053\u306E\u65E5\u6642\u3088\u308A\u524D\u306B\u66F4\u65B0\u3055\u308C\u305F\u901A\u77E5\u306E\u307F\uFF08ISO 8601\u3001\u7701\u7565\u53EF\uFF09" },
5875
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
5876
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
5877
+ },
5878
+ required: [],
5879
+ additionalProperties: false
5880
+ },
5881
+ constraints: { rate_bucket: "github.read" },
5882
+ effects: ["Read:Notifications"],
5883
+ risk: "low",
5884
+ target_bindings: {
5885
+ resource_id: { source: "context", key: "resource_id" }
5886
+ },
5887
+ version: "1.0.0"
5888
+ },
5889
+ {
5890
+ action: "github.notification.get",
5891
+ resource_type: "github:repo",
5892
+ required_relations: ["viewer", "editor", "admin", "owner"],
5893
+ required_scopes: ["notifications"],
5894
+ capability: "github.read.basic",
5895
+ input_schema: {
5896
+ type: "object",
5897
+ properties: {
5898
+ threadId: { type: "integer", minimum: 1, description: "\u901A\u77E5\u30B9\u30EC\u30C3\u30C9\u306E\u6570\u5024 ID" }
5899
+ },
5900
+ required: ["threadId"],
5901
+ additionalProperties: false
5902
+ },
5903
+ constraints: { rate_bucket: "github.read" },
5904
+ effects: ["Read:NotificationThread"],
5905
+ risk: "low",
5906
+ target_bindings: {
5907
+ resource_id: { source: "context", key: "resource_id" }
5908
+ },
5909
+ version: "1.0.0"
5910
+ },
5911
+ {
5912
+ action: "github.notification.markRead",
5913
+ resource_type: "github:repo",
5914
+ required_relations: ["editor", "act_as"],
5915
+ required_scopes: ["notifications"],
5916
+ capability: "github.notifications.write",
5917
+ input_schema: {
5918
+ type: "object",
5919
+ properties: {
5920
+ threadId: { type: "integer", minimum: 1, description: "\u901A\u77E5\u30B9\u30EC\u30C3\u30C9\u306E\u6570\u5024 ID" }
5921
+ },
5922
+ required: ["threadId"],
5923
+ additionalProperties: false
5924
+ },
5925
+ constraints: { rate_bucket: "github.write" },
5926
+ effects: ["Write:NotificationThreadRead"],
5927
+ risk: "high",
5928
+ target_bindings: {
5929
+ resource_id: { source: "context", key: "resource_id" }
5930
+ },
5931
+ version: "1.0.0"
5932
+ },
5933
+ {
5934
+ action: "github.notification.markAllRead",
5935
+ resource_type: "github:repo",
5936
+ required_relations: ["editor", "act_as"],
5937
+ required_scopes: ["notifications"],
5938
+ capability: "github.notifications.write",
5939
+ input_schema: {
5940
+ type: "object",
5941
+ properties: {
5942
+ lastReadAt: { type: "string", description: "\u3053\u306E\u65E5\u6642\u4EE5\u524D\u306E\u901A\u77E5\u3092\u65E2\u8AAD\u306B\u3059\u308B\uFF08ISO 8601\u3001\u7701\u7565\u53EF\uFF09" }
5943
+ },
5944
+ required: [],
5945
+ additionalProperties: false
5946
+ },
5947
+ constraints: { rate_bucket: "github.write" },
5948
+ effects: ["Write:AllNotificationsRead"],
5949
+ risk: "high",
5950
+ target_bindings: {
5951
+ resource_id: { source: "context", key: "resource_id" }
5952
+ },
5953
+ version: "1.0.0"
5954
+ },
5955
+ {
5956
+ action: "github.notification.subscription.set",
5957
+ resource_type: "github:repo",
5958
+ required_relations: ["editor", "act_as"],
5959
+ required_scopes: ["notifications"],
5960
+ capability: "github.notifications.write",
5961
+ input_schema: {
5962
+ type: "object",
5963
+ properties: {
5964
+ threadId: { type: "integer", minimum: 1, description: "\u901A\u77E5\u30B9\u30EC\u30C3\u30C9\u306E\u6570\u5024 ID" },
5965
+ ignored: { type: "boolean", description: "\u30B9\u30EC\u30C3\u30C9\u306E\u901A\u77E5\u3092\u7121\u8996\u3059\u308B\u304B\uFF08\u7701\u7565\u53EF\uFF09" }
5966
+ },
5967
+ required: ["threadId"],
5968
+ additionalProperties: false
5969
+ },
5970
+ constraints: { rate_bucket: "github.write" },
5971
+ effects: ["Write:ThreadSubscription"],
5972
+ risk: "high",
5973
+ target_bindings: {
5974
+ resource_id: { source: "context", key: "resource_id" }
5975
+ },
5976
+ version: "1.0.0"
5977
+ },
5978
+ {
5979
+ action: "github.notification.repoSubscription.set",
5980
+ resource_type: "github:repo",
5981
+ required_relations: ["editor", "act_as"],
5982
+ required_scopes: ["notifications"],
5983
+ capability: "github.notifications.write",
5984
+ input_schema: {
5985
+ type: "object",
5986
+ properties: {
5987
+ owner: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u30AA\u30FC\u30CA\u30FC\uFF08\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u7D44\u7E54\u540D\uFF09" },
5988
+ repo: { type: "string", minLength: 1, description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u540D" },
5989
+ subscribed: { type: "boolean", description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u3092\u30A6\u30A9\u30C3\u30C1\u3059\u308B\u304B\uFF08\u7701\u7565\u53EF\uFF09" },
5990
+ ignored: { type: "boolean", description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u901A\u77E5\u3092\u7121\u8996\u3059\u308B\u304B\uFF08\u7701\u7565\u53EF\uFF09" }
4592
5991
  },
4593
5992
  required: ["owner", "repo"],
4594
5993
  additionalProperties: false
4595
5994
  },
5995
+ constraints: { rate_bucket: "github.write" },
5996
+ effects: ["Write:RepoSubscription"],
5997
+ risk: "high",
5998
+ target_bindings: {
5999
+ resource_id: { source: "context", key: "resource_id" }
6000
+ },
6001
+ version: "1.0.0"
6002
+ },
6003
+ {
6004
+ action: "github.gist.create",
6005
+ resource_type: "github:repo",
6006
+ required_relations: ["editor", "act_as"],
6007
+ required_scopes: ["gist"],
6008
+ capability: "github.gists.write",
6009
+ input_schema: {
6010
+ type: "object",
6011
+ properties: {
6012
+ files: {
6013
+ type: "object",
6014
+ description: 'Gist \u306E\u30D5\u30A1\u30A4\u30EB\u7FA4\u3002\u30AD\u30FC\u304C\u30D5\u30A1\u30A4\u30EB\u540D\u3001\u5024\u304C { content: "\u30D5\u30A1\u30A4\u30EB\u5185\u5BB9" } \u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\uFF08\u4F8B: {"hello.txt": {"content": "world"}}\uFF09\u3002\u30CD\u30B9\u30C8\u69CB\u9020\u306E\u691C\u8A3C\u306F\u884C\u308F\u305A\u305D\u306E\u307E\u307E GitHub \u3078\u6E21\u3059',
6015
+ additionalProperties: true
6016
+ },
6017
+ description: { type: "string", description: "Gist \u306E\u8AAC\u660E\uFF08\u7701\u7565\u53EF\uFF09" },
6018
+ public: { type: "boolean", description: "\u516C\u958B Gist \u306B\u3059\u308B\u304B\uFF08\u7701\u7565\u53EF\u3001\u30C7\u30D5\u30A9\u30EB\u30C8 false\uFF09" }
6019
+ },
6020
+ required: ["files"],
6021
+ additionalProperties: false
6022
+ },
6023
+ constraints: { rate_bucket: "github.write" },
6024
+ effects: ["Write:Gist"],
6025
+ risk: "high",
6026
+ target_bindings: {
6027
+ resource_id: { source: "context", key: "resource_id" }
6028
+ },
6029
+ version: "1.0.0"
6030
+ },
6031
+ {
6032
+ action: "github.gist.get",
6033
+ resource_type: "github:repo",
6034
+ required_relations: ["viewer", "editor", "admin", "owner"],
6035
+ required_scopes: ["gist"],
6036
+ capability: "github.read.basic",
6037
+ input_schema: {
6038
+ type: "object",
6039
+ properties: {
6040
+ gistId: { type: "string", minLength: 1, description: "Gist \u306E ID" }
6041
+ },
6042
+ required: ["gistId"],
6043
+ additionalProperties: false
6044
+ },
4596
6045
  constraints: { rate_bucket: "github.read" },
4597
- effects: ["Read:IssueList"],
6046
+ effects: ["Read:Gist"],
4598
6047
  risk: "low",
4599
6048
  target_bindings: {
4600
6049
  resource_id: { source: "context", key: "resource_id" }
@@ -4602,26 +6051,24 @@ var ACTION_REGISTRY = {
4602
6051
  version: "1.0.0"
4603
6052
  },
4604
6053
  {
4605
- action: "github.issue.read",
6054
+ action: "github.gist.list",
4606
6055
  resource_type: "github:repo",
4607
6056
  required_relations: ["viewer", "editor", "admin", "owner"],
4608
- required_scopes: ["repo", "read:issues"],
6057
+ required_scopes: ["gist"],
4609
6058
  capability: "github.read.basic",
4610
- // Schema mirrors the server contract (GitHubConnectorAdapter):
4611
- // owner/repo required, camelCase issueNumber (the adapter reads
4612
- // params.issueNumber — snake_case issue_number was a drift).
4613
6059
  input_schema: {
4614
6060
  type: "object",
4615
6061
  properties: {
4616
- owner: { type: "string", minLength: 1, description: "Repository owner (username or organization)" },
4617
- repo: { type: "string", minLength: 1, description: "Repository name" },
4618
- issueNumber: { type: "integer", minimum: 1, description: "Issue number" }
6062
+ username: { type: "string", minLength: 1, description: "\u5BFE\u8C61\u30E6\u30FC\u30B6\u30FC\u540D\uFF08\u6307\u5B9A\u6642\u306F\u305D\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u516C\u958B Gist\u3001\u7701\u7565\u6642\u306F\u8A8D\u8A3C\u30E6\u30FC\u30B6\u30FC\u306E Gist\uFF09" },
6063
+ since: { type: "string", description: "\u3053\u306E\u65E5\u6642\u4EE5\u964D\u306B\u66F4\u65B0\u3055\u308C\u305F Gist \u306E\u307F\uFF08ISO 8601\u3001\u7701\u7565\u53EF\uFF09" },
6064
+ per_page: { type: "integer", minimum: 1, description: "1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570\uFF08\u7701\u7565\u53EF\uFF09" },
6065
+ page: { type: "integer", minimum: 1, description: "\u30DA\u30FC\u30B8\u756A\u53F7\uFF08\u7701\u7565\u53EF\uFF09" }
4619
6066
  },
4620
- required: ["owner", "repo", "issueNumber"],
6067
+ required: [],
4621
6068
  additionalProperties: false
4622
6069
  },
4623
6070
  constraints: { rate_bucket: "github.read" },
4624
- effects: ["Read:Issue"],
6071
+ effects: ["Read:GistList"],
4625
6072
  risk: "low",
4626
6073
  target_bindings: {
4627
6074
  resource_id: { source: "context", key: "resource_id" }
@@ -4629,31 +6076,27 @@ var ACTION_REGISTRY = {
4629
6076
  version: "1.0.0"
4630
6077
  },
4631
6078
  {
4632
- action: "github.issue.update",
6079
+ action: "github.gist.update",
4633
6080
  resource_type: "github:repo",
4634
6081
  required_relations: ["editor", "act_as"],
4635
- required_scopes: ["repo", "write:issues"],
4636
- capability: "github.issues.triage",
4637
- // Schema mirrors the server contract (GitHubConnectorAdapter):
4638
- // owner/repo required, camelCase issueNumber (the adapter reads
4639
- // params.issueNumber — snake_case issue_number was a drift).
6082
+ required_scopes: ["gist"],
6083
+ capability: "github.gists.write",
4640
6084
  input_schema: {
4641
6085
  type: "object",
4642
6086
  properties: {
4643
- owner: { type: "string", minLength: 1, description: "Repository owner (username or organization)" },
4644
- repo: { type: "string", minLength: 1, description: "Repository name" },
4645
- issueNumber: { type: "integer", minimum: 1, description: "Issue number to update" },
4646
- title: { type: "string" },
4647
- body: { type: "string" },
4648
- state: { type: "string", enum: ["open", "closed"] },
4649
- labels: { type: "array", items: { type: "string" } },
4650
- assignees: { type: "array", items: { type: "string" } }
6087
+ gistId: { type: "string", minLength: 1, description: "Gist \u306E ID" },
6088
+ files: {
6089
+ type: "object",
6090
+ description: '\u66F4\u65B0\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u7FA4\u3002\u30AD\u30FC\u304C\u30D5\u30A1\u30A4\u30EB\u540D\u3001\u5024\u304C { content: "..." }\uFF08\u30EA\u30CD\u30FC\u30E0\u6642\u306F { filename: "\u65B0\u540D", content: "..." }\uFF09\u3002\u7701\u7565\u6642\u306F description \u306E\u307F\u66F4\u65B0',
6091
+ additionalProperties: true
6092
+ },
6093
+ description: { type: "string", description: "Gist \u306E\u8AAC\u660E\uFF08\u7701\u7565\u53EF\uFF09" }
4651
6094
  },
4652
- required: ["owner", "repo", "issueNumber"],
6095
+ required: ["gistId"],
4653
6096
  additionalProperties: false
4654
6097
  },
4655
6098
  constraints: { rate_bucket: "github.write" },
4656
- effects: ["Update:Issue"],
6099
+ effects: ["Write:GistUpdate"],
4657
6100
  risk: "high",
4658
6101
  target_bindings: {
4659
6102
  resource_id: { source: "context", key: "resource_id" }
@@ -6291,14 +7734,38 @@ var ACTION_REGISTRY = {
6291
7734
  },
6292
7735
  {
6293
7736
  capability: "github.read.basic",
6294
- description: "Read issues from repositories",
6295
- includes: ["github.issue.list", "github.issue.read"],
7737
+ description: "Read issues, pull requests and repository contents from repositories",
7738
+ includes: ["github.issue.list", "github.issue.read", "github.pr.list", "github.pr.read", "github.pr.files.list", "github.pr.review.list", "github.pr.search", "github.repo.search", "github.repo.collaborator.list", "github.content.get", "github.tree.get", "github.branch.list", "github.commit.get", "github.commit.list", "github.commit.search", "github.tag.list", "github.release.list", "github.release.getLatest", "github.release.getByTag", "github.code.search", "github.issue.search", "github.issue.types.list", "github.label.get", "github.label.list", "github.workflow.get", "github.workflow.list", "github.workflow.jobLogs.get", "github.repo.starred.list", "github.user.me.get", "github.org.teams.list", "github.team.members.list", "github.user.search", "github.notification.list", "github.notification.get", "github.gist.get", "github.gist.list"],
6296
7739
  version: "1.0.0"
6297
7740
  },
6298
7741
  {
6299
7742
  capability: "github.issues.triage",
6300
- description: "Create and update issues",
6301
- includes: ["github.issue.create", "github.issue.update"],
7743
+ description: "Create and update issues, post issue comments, manage sub-issues and labels",
7744
+ includes: ["github.issue.create", "github.issue.update", "github.issue.comment.create", "github.issue.subissue.write", "github.label.write"],
7745
+ version: "1.0.0"
7746
+ },
7747
+ {
7748
+ capability: "github.pulls.write",
7749
+ description: "Create, update, merge, and review pull requests",
7750
+ includes: ["github.pr.create", "github.pr.update", "github.pr.merge", "github.pr.review.create", "github.pr.comment.reply", "github.pr.branch.update"],
7751
+ version: "1.0.0"
7752
+ },
7753
+ {
7754
+ capability: "github.repos.write",
7755
+ description: "\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u4F5C\u6210\u30FB\u30D5\u30A9\u30FC\u30AF\u30FB\u30D5\u30A1\u30A4\u30EB\u66F4\u65B0\u30FB\u30D6\u30E9\u30F3\u30C1\u4F5C\u6210\u30FB\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u5B9F\u884C\u30FB\u30B9\u30BF\u30FC\u64CD\u4F5C",
7756
+ includes: ["github.repo.create", "github.repo.fork", "github.content.createOrUpdate", "github.content.delete", "github.branch.create", "github.workflow.run", "github.repo.star", "github.repo.unstar"],
7757
+ version: "1.0.0"
7758
+ },
7759
+ {
7760
+ capability: "github.notifications.write",
7761
+ description: "\u901A\u77E5\u306E\u65E2\u8AAD\u5316\u30FB\u30B9\u30EC\u30C3\u30C9/\u30EA\u30DD\u30B8\u30C8\u30EA\u306E\u8CFC\u8AAD\u8A2D\u5B9A",
7762
+ includes: ["github.notification.markRead", "github.notification.markAllRead", "github.notification.subscription.set", "github.notification.repoSubscription.set"],
7763
+ version: "1.0.0"
7764
+ },
7765
+ {
7766
+ capability: "github.gists.write",
7767
+ description: "Gist \u306E\u4F5C\u6210\u30FB\u66F4\u65B0",
7768
+ includes: ["github.gist.create", "github.gist.update"],
6302
7769
  version: "1.0.0"
6303
7770
  },
6304
7771
  {
@@ -6358,6 +7825,12 @@ var ACTION_REGISTRY = {
6358
7825
  ]
6359
7826
  };
6360
7827
 
7828
+ // src/registry/resource-type-labels.ts
7829
+ var RESOURCE_TYPE_LABELS = {
7830
+ "github:repo": "\u5BFE\u8C61\u30EA\u30DD\u30B8\u30C8\u30EA",
7831
+ "github:org": "\u5BFE\u8C61\u7D44\u7E54"
7832
+ };
7833
+
6361
7834
  // src/registry/action-input-validator.ts
6362
7835
  var SCHEMA_INDEX = (() => {
6363
7836
  const map = /* @__PURE__ */ new Map();
@@ -7217,6 +8690,49 @@ var TargetResolver = class {
7217
8690
  }
7218
8691
  };
7219
8692
 
8693
+ // src/resolver/canonical-resource-id.ts
8694
+ var resolver = new TargetResolver();
8695
+ function canonicalResourceId(action, params, ctx) {
8696
+ const def = ACTION_REGISTRY.actions.find((a) => a.action === action);
8697
+ const provider = action.split(".")[0];
8698
+ if (provider === "github") {
8699
+ const owner = typeof params?.owner === "string" ? params.owner : void 0;
8700
+ const repo = typeof params?.repo === "string" ? params.repo : void 0;
8701
+ if (owner && repo) return `${owner}/${repo}`;
8702
+ return void 0;
8703
+ }
8704
+ const binding = def?.target_bindings?.resource_id;
8705
+ if (!binding) return void 0;
8706
+ const paramBinding = binding;
8707
+ if (paramBinding.source === "param" && paramBinding.derive != null) {
8708
+ const p = params ?? {};
8709
+ let v = p[paramBinding.param];
8710
+ if (v == null && paramBinding.fallback_param) v = p[paramBinding.fallback_param];
8711
+ if (v == null && paramBinding.default != null) v = paramBinding.default;
8712
+ if (typeof v !== "string" || !v) return void 0;
8713
+ return v;
8714
+ }
8715
+ const resolved = resolver.resolve(def.target_bindings, params ?? {}, ctx);
8716
+ const id = resolved.resource_id ?? void 0;
8717
+ if (id == null || id === "") return void 0;
8718
+ return id;
8719
+ }
8720
+
8721
+ // src/resolver/compare-resource-id.ts
8722
+ function looksLikeNativeId(value) {
8723
+ if (/^[CDG][A-Z0-9]{8,}$/.test(value)) return true;
8724
+ if (/^[a-zA-Z0-9_-]{6,}$/.test(value) && !value.startsWith("#")) return true;
8725
+ return false;
8726
+ }
8727
+ function compareResourceIds(credResourceId, requestResourceId) {
8728
+ if (credResourceId === requestResourceId) return "match";
8729
+ if (credResourceId === "*") return "match";
8730
+ const credIsNative = looksLikeNativeId(credResourceId);
8731
+ const reqIsNative = looksLikeNativeId(requestResourceId);
8732
+ if (credIsNative === reqIsNative) return "mismatch";
8733
+ return "indeterminate";
8734
+ }
8735
+
7220
8736
  // src/utils/action-classifier.ts
7221
8737
  var actionIndex = indexActions({
7222
8738
  registry_version: ACTION_REGISTRY.registry_version,
@@ -7227,7 +8743,7 @@ function isWriteAction(action) {
7227
8743
  if (!meta) {
7228
8744
  return true;
7229
8745
  }
7230
- const writeEffectPrefixes = ["Create:", "Update:", "Delete:", "Write:", "Execute:"];
8746
+ const writeEffectPrefixes = ["Create:", "Update:", "Delete:", "Write:", "Execute:", "Merge:", "Run:"];
7231
8747
  if (meta.effects?.some((e) => writeEffectPrefixes.some((p) => e.startsWith(p)))) {
7232
8748
  return true;
7233
8749
  }
@@ -7678,6 +9194,7 @@ export {
7678
9194
  PROVIDER_ALIASES,
7679
9195
  REAUTH_REQUIRED_ACTION,
7680
9196
  RESOURCE_TYPES,
9197
+ RESOURCE_TYPE_LABELS,
7681
9198
  ReceiptStatus,
7682
9199
  SDJwtClient,
7683
9200
  SIGNATURE_HEADER,
@@ -7705,9 +9222,11 @@ export {
7705
9222
  buildKbJwtPayload,
7706
9223
  buildPhase1VcClaims,
7707
9224
  buildValidationErrors,
9225
+ canonicalResourceId,
7708
9226
  canonicalizeAction,
7709
9227
  checkPermissionWithVP,
7710
9228
  classifyCedarErrorMessage,
9229
+ compareResourceIds,
7711
9230
  configure,
7712
9231
  createAjv,
7713
9232
  createCedarEngine,
@@ -7749,6 +9268,7 @@ export {
7749
9268
  isWriteAction,
7750
9269
  loadActionRegistryFromFile,
7751
9270
  loadActionRegistryFromObject,
9271
+ looksLikeNativeId,
7752
9272
  normalizeDomain,
7753
9273
  normalizeMcpActionName,
7754
9274
  parseGrantAction,