@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.
- package/LICENSE +21 -0
- package/README.md +80 -0
- package/dist/index.cjs +518 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +144 -0
- package/dist/index.d.ts +144 -0
- package/dist/index.js +501 -0
- package/dist/index.js.map +1 -0
- package/generated/manifest.json +1542 -0
- package/generated/scopes.json +1536 -0
- package/package.json +49 -0
- package/scopes/calendar.availability.read.yaml +35 -0
- package/scopes/calendar.events.cancel.yaml +24 -0
- package/scopes/calendar.events.create.yaml +31 -0
- package/scopes/calendar.events.modify.yaml +24 -0
- package/scopes/calendar.events.propose.yaml +35 -0
- package/scopes/calendar.events.read.yaml +38 -0
- package/scopes/connection.extend.yaml +28 -0
- package/scopes/connection.rescope.request.yaml +21 -0
- package/scopes/contacts.attributes.read.yaml +25 -0
- package/scopes/contacts.introduce.yaml +21 -0
- package/scopes/contacts.search.yaml +26 -0
- package/scopes/contacts.share.yaml +30 -0
- package/scopes/credentials.present.request.yaml +29 -0
- package/scopes/credentials.proof.zk.request.yaml +31 -0
- package/scopes/delegation.forward.task.yaml +36 -0
- package/scopes/files.project.files.delete.yaml +31 -0
- package/scopes/files.project.files.list.yaml +22 -0
- package/scopes/files.project.files.read.yaml +35 -0
- package/scopes/files.project.files.summarize.yaml +30 -0
- package/scopes/files.project.files.write.yaml +34 -0
- package/scopes/files.project.metadata.read.yaml +21 -0
- package/scopes/files.projects.list.yaml +18 -0
- package/scopes/files.share.external.yaml +39 -0
- package/scopes/identity.card.read.yaml +18 -0
- package/scopes/identity.introduction.request.yaml +24 -0
- package/scopes/identity.principal.verify.yaml +19 -0
- package/scopes/knowledge.query.yaml +31 -0
- package/scopes/messaging.chat.send.yaml +27 -0
- package/scopes/messaging.email.draft.compose.yaml +23 -0
- package/scopes/messaging.email.send.reviewed.yaml +36 -0
- package/scopes/messaging.email.summary.yaml +26 -0
- package/scopes/messaging.email.thread.read.yaml +29 -0
- package/scopes/messaging.relay.to_principal.yaml +22 -0
- package/scopes/notes.read.yaml +25 -0
- package/scopes/notes.search.yaml +24 -0
- package/scopes/notes.write.yaml +32 -0
- package/scopes/payments.authorize.capped.yaml +37 -0
- package/scopes/payments.history.read.yaml +28 -0
- package/scopes/payments.quote.request.yaml +18 -0
- package/scopes/payments.refund.request.yaml +24 -0
- package/scopes/tasks.assign.yaml +27 -0
- package/scopes/tasks.create.yaml +31 -0
- package/scopes/tasks.list.yaml +21 -0
- package/scopes/tasks.read.yaml +22 -0
- package/scopes/tasks.status.update.yaml +22 -0
- package/scopes/tools.invoke.mutating.yaml +37 -0
- package/scopes/tools.invoke.read.yaml +28 -0
- package/scopes/work.projects.list.yaml +18 -0
- package/scopes/work.reports.summary.yaml +29 -0
- 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
|