@kybernesis/arp-scope-catalog 0.2.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 (61) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +80 -0
  3. package/dist/index.cjs +518 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +144 -0
  6. package/dist/index.d.ts +144 -0
  7. package/dist/index.js +501 -0
  8. package/dist/index.js.map +1 -0
  9. package/generated/manifest.json +1542 -0
  10. package/generated/scopes.json +1536 -0
  11. package/package.json +49 -0
  12. package/scopes/calendar.availability.read.yaml +35 -0
  13. package/scopes/calendar.events.cancel.yaml +24 -0
  14. package/scopes/calendar.events.create.yaml +31 -0
  15. package/scopes/calendar.events.modify.yaml +24 -0
  16. package/scopes/calendar.events.propose.yaml +35 -0
  17. package/scopes/calendar.events.read.yaml +38 -0
  18. package/scopes/connection.extend.yaml +28 -0
  19. package/scopes/connection.rescope.request.yaml +21 -0
  20. package/scopes/contacts.attributes.read.yaml +25 -0
  21. package/scopes/contacts.introduce.yaml +21 -0
  22. package/scopes/contacts.search.yaml +26 -0
  23. package/scopes/contacts.share.yaml +30 -0
  24. package/scopes/credentials.present.request.yaml +29 -0
  25. package/scopes/credentials.proof.zk.request.yaml +31 -0
  26. package/scopes/delegation.forward.task.yaml +36 -0
  27. package/scopes/files.project.files.delete.yaml +31 -0
  28. package/scopes/files.project.files.list.yaml +22 -0
  29. package/scopes/files.project.files.read.yaml +35 -0
  30. package/scopes/files.project.files.summarize.yaml +30 -0
  31. package/scopes/files.project.files.write.yaml +34 -0
  32. package/scopes/files.project.metadata.read.yaml +21 -0
  33. package/scopes/files.projects.list.yaml +18 -0
  34. package/scopes/files.share.external.yaml +39 -0
  35. package/scopes/identity.card.read.yaml +18 -0
  36. package/scopes/identity.introduction.request.yaml +24 -0
  37. package/scopes/identity.principal.verify.yaml +19 -0
  38. package/scopes/knowledge.query.yaml +31 -0
  39. package/scopes/messaging.chat.send.yaml +27 -0
  40. package/scopes/messaging.email.draft.compose.yaml +23 -0
  41. package/scopes/messaging.email.send.reviewed.yaml +36 -0
  42. package/scopes/messaging.email.summary.yaml +26 -0
  43. package/scopes/messaging.email.thread.read.yaml +29 -0
  44. package/scopes/messaging.relay.to_principal.yaml +22 -0
  45. package/scopes/notes.read.yaml +25 -0
  46. package/scopes/notes.search.yaml +24 -0
  47. package/scopes/notes.write.yaml +32 -0
  48. package/scopes/payments.authorize.capped.yaml +37 -0
  49. package/scopes/payments.history.read.yaml +28 -0
  50. package/scopes/payments.quote.request.yaml +18 -0
  51. package/scopes/payments.refund.request.yaml +24 -0
  52. package/scopes/tasks.assign.yaml +27 -0
  53. package/scopes/tasks.create.yaml +31 -0
  54. package/scopes/tasks.list.yaml +21 -0
  55. package/scopes/tasks.read.yaml +22 -0
  56. package/scopes/tasks.status.update.yaml +22 -0
  57. package/scopes/tools.invoke.mutating.yaml +37 -0
  58. package/scopes/tools.invoke.read.yaml +28 -0
  59. package/scopes/work.projects.list.yaml +18 -0
  60. package/scopes/work.reports.summary.yaml +29 -0
  61. package/scopes/work.status.read.yaml +18 -0
@@ -0,0 +1,37 @@
1
+ id: tools.invoke.mutating
2
+ version: 1.0.0
3
+ label: Invoke tools with side effects
4
+ description: Peer can invoke specific tools on your MCP server that cause changes (not just reads).
5
+ category: tools
6
+ risk: high
7
+ parameters:
8
+ - name: tool_allowlist
9
+ type: ToolIDList
10
+ required: true
11
+ validation: "at-least-one"
12
+ - name: max_per_day
13
+ type: Integer
14
+ required: true
15
+ default: 20
16
+ validation: "1..1000"
17
+ cedar_template: |
18
+ permit (
19
+ principal == Agent::"{{audience_did}}",
20
+ action == Action::"invoke_tool",
21
+ resource == Tool
22
+ ) when {
23
+ resource.id in {{tool_allowlist_json}} &&
24
+ context.requests_last_day <= {{max_per_day}}
25
+ };
26
+ consent_text_template: "Use these tools on your behalf (max {{max_per_day}}/day): {{tool_allowlist_display}}."
27
+ obligations_forced:
28
+ - type: audit_level
29
+ params:
30
+ level: verbose
31
+ - type: rate_limit
32
+ params:
33
+ window: day
34
+ max: "{{max_per_day}}"
35
+ implies: []
36
+ conflicts_with: []
37
+ step_up_required: true
@@ -0,0 +1,28 @@
1
+ id: tools.invoke.read
2
+ version: 1.0.0
3
+ label: Invoke read-only tools
4
+ description: Peer can invoke read-only (no-side-effect) tools on your MCP server, restricted to an allowlist.
5
+ category: tools
6
+ risk: medium
7
+ parameters:
8
+ - name: tool_allowlist
9
+ type: ToolIDList
10
+ required: true
11
+ validation: "at-least-one"
12
+ cedar_template: |
13
+ permit (
14
+ principal == Agent::"{{audience_did}}",
15
+ action == Action::"invoke_tool",
16
+ resource == Tool
17
+ ) when {
18
+ resource.id in {{tool_allowlist_json}} &&
19
+ resource.readonly == true
20
+ };
21
+ consent_text_template: "Invoke these read-only tools on your behalf: {{tool_allowlist_display}}."
22
+ obligations_forced:
23
+ - type: audit_level
24
+ params:
25
+ level: verbose
26
+ implies: []
27
+ conflicts_with: []
28
+ step_up_required: false
@@ -0,0 +1,18 @@
1
+ id: work.projects.list
2
+ version: 1.0.0
3
+ label: Current active projects
4
+ description: Peer can see the list of projects you're actively working on (names only).
5
+ category: work
6
+ risk: low
7
+ parameters: []
8
+ cedar_template: |
9
+ permit (
10
+ principal == Agent::"{{audience_did}}",
11
+ action == Action::"list",
12
+ resource == WorkProjects::"self"
13
+ );
14
+ consent_text_template: "Share the list of your active projects."
15
+ obligations_forced: []
16
+ implies: []
17
+ conflicts_with: []
18
+ step_up_required: false
@@ -0,0 +1,29 @@
1
+ id: work.reports.summary
2
+ version: 1.0.0
3
+ label: Generate status summary
4
+ description: Peer can ask your agent to generate a status summary for a bounded time period.
5
+ category: work
6
+ risk: medium
7
+ parameters:
8
+ - name: period
9
+ type: Enum
10
+ required: true
11
+ default: "week"
12
+ validation: ["day", "week", "month", "quarter"]
13
+ cedar_template: |
14
+ permit (
15
+ principal == Agent::"{{audience_did}}",
16
+ action == Action::"summarize",
17
+ resource == WorkReport::"self"
18
+ ) when {
19
+ context.period == "{{period}}"
20
+ };
21
+ consent_text_template: "Generate a {{period}} work status summary."
22
+ obligations_forced:
23
+ - type: summarize_only
24
+ params:
25
+ max_words: 1000
26
+ implies:
27
+ - work.status.read
28
+ conflicts_with: []
29
+ step_up_required: false
@@ -0,0 +1,18 @@
1
+ id: work.status.read
2
+ version: 1.0.0
3
+ label: Current work status
4
+ description: Peer can see your current work status (available, busy, out-of-office).
5
+ category: work
6
+ risk: low
7
+ parameters: []
8
+ cedar_template: |
9
+ permit (
10
+ principal == Agent::"{{audience_did}}",
11
+ action == Action::"read",
12
+ resource == WorkStatus::"self"
13
+ );
14
+ consent_text_template: "Share your current work status (available/busy/OOO)."
15
+ obligations_forced: []
16
+ implies: []
17
+ conflicts_with: []
18
+ step_up_required: false