@rubytech/create-maxy-code 0.1.506 → 0.1.507

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 (104) hide show
  1. package/package.json +2 -2
  2. package/payload/platform/config/brand.json +79 -18
  3. package/payload/platform/lib/account-schema-regions/dist/index.d.ts +17 -5
  4. package/payload/platform/lib/account-schema-regions/dist/index.d.ts.map +1 -1
  5. package/payload/platform/lib/account-schema-regions/dist/index.js +20 -6
  6. package/payload/platform/lib/account-schema-regions/dist/index.js.map +1 -1
  7. package/payload/platform/lib/account-schema-regions/src/index.ts +20 -6
  8. package/payload/platform/plugins/admin/PLUGIN.md +36 -0
  9. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +48 -2
  10. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +7 -0
  11. package/payload/platform/plugins/aeo/PLUGIN.md +3 -0
  12. package/payload/platform/plugins/browser/PLUGIN.md +18 -0
  13. package/payload/platform/plugins/connector/PLUGIN.md +4 -0
  14. package/payload/platform/plugins/contacts/PLUGIN.md +9 -0
  15. package/payload/platform/plugins/docs/references/admin-ui.md +21 -1
  16. package/payload/platform/plugins/docs/references/plugins-guide.md +26 -0
  17. package/payload/platform/plugins/email/PLUGIN.md +17 -0
  18. package/payload/platform/plugins/filesystem/PLUGIN.md +6 -0
  19. package/payload/platform/plugins/google/PLUGIN.md +12 -0
  20. package/payload/platform/plugins/graph/PLUGIN.md +3 -0
  21. package/payload/platform/plugins/graph-viewer/PLUGIN.md +1 -0
  22. package/payload/platform/plugins/ledger/PLUGIN.md +7 -0
  23. package/payload/platform/plugins/memory/PLUGIN.md +41 -0
  24. package/payload/platform/plugins/outlook/PLUGIN.md +24 -0
  25. package/payload/platform/plugins/quickbooks/PLUGIN.md +15 -0
  26. package/payload/platform/plugins/replicate/PLUGIN.md +3 -0
  27. package/payload/platform/plugins/scheduling/PLUGIN.md +10 -0
  28. package/payload/platform/plugins/storage-broker/PLUGIN.md +12 -0
  29. package/payload/platform/plugins/telegram/PLUGIN.md +3 -0
  30. package/payload/platform/plugins/url-get/PLUGIN.md +1 -0
  31. package/payload/platform/plugins/voice-mirror/PLUGIN.md +5 -0
  32. package/payload/platform/plugins/whatsapp/PLUGIN.md +12 -0
  33. package/payload/platform/plugins/work/PLUGIN.md +15 -0
  34. package/payload/platform/plugins/workflows/PLUGIN.md +8 -0
  35. package/payload/platform/scripts/check-risk-class.mjs +145 -0
  36. package/payload/platform/scripts/lib/__pycache__/account-schema-owned-dirs.cpython-314.pyc +0 -0
  37. package/payload/platform/scripts/lib/provision-account-dir.sh +4 -1
  38. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  39. package/payload/platform/services/claude-session-manager/dist/http-server.js +4 -0
  40. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  41. package/payload/platform/services/claude-session-manager/dist/index.js +8 -0
  42. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  43. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts +13 -0
  44. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts.map +1 -1
  45. package/payload/platform/services/claude-session-manager/dist/tool-surface.js +33 -8
  46. package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
  47. package/payload/server/{chunk-5ADBNEJA.js → chunk-2WAXM5N2.js} +111 -111
  48. package/payload/server/maxy-edge.js +1 -1
  49. package/payload/server/public/activity.html +5 -5
  50. package/payload/server/public/agents.html +4 -4
  51. package/payload/server/public/assets/{AdminLoginScreens-D5KOQA8S.js → AdminLoginScreens-YT7jsh_H.js} +1 -1
  52. package/payload/server/public/assets/{AdminShell-C8wazpnz.js → AdminShell-Ckht9hmU.js} +1 -1
  53. package/payload/server/public/assets/{activity-CFqkDhTs.js → activity-DH3Wgc3O.js} +1 -1
  54. package/payload/server/public/assets/admin-DetvulAu.js +1 -0
  55. package/payload/server/public/assets/{agents-DPulfmrd.js → agents-X_IvDHLZ.js} +1 -1
  56. package/payload/server/public/assets/{browser-T_5xbnJh.js → browser-Bym8QhfA.js} +1 -1
  57. package/payload/server/public/assets/{calendar-CKjuiG8c.js → calendar-CFnufJOy.js} +1 -1
  58. package/payload/server/public/assets/chat-wrckyIpw.js +1 -0
  59. package/payload/server/public/assets/chevron-left-Dtk3jEK5.js +1 -0
  60. package/payload/server/public/assets/chevron-right-Dih6IZ8B.js +1 -0
  61. package/payload/server/public/assets/clock-iJCrrmWM.js +1 -0
  62. package/payload/server/public/assets/data-D76--TYs.js +1 -0
  63. package/payload/server/public/assets/{file-text-c6cA4Evd.js → file-text-zch0E1GJ.js} +1 -1
  64. package/payload/server/public/assets/{graph-DIk-o45J.js → graph-BavHLzpV.js} +1 -1
  65. package/payload/server/public/assets/{graph-labels-5bjxhC_p.js → graph-labels-CBwh4g-6.js} +1 -1
  66. package/payload/server/public/assets/{maximize-2-BCQkFb1_.js → maximize-2-bTn_Ozpi.js} +1 -1
  67. package/payload/server/public/assets/{operator-0UnNo2ms.js → operator-a4IOwf62.js} +1 -1
  68. package/payload/server/public/assets/page-3T2mE63b.js +1 -0
  69. package/payload/server/public/assets/{page-HVtUfub2.js → page-D6M1CmPe.js} +4 -4
  70. package/payload/server/public/assets/{public-CKEYyIPn.js → public-B3y_YU1G.js} +1 -1
  71. package/payload/server/public/assets/{rotate-ccw-dTpO5dhL.js → rotate-ccw-BGvzNB1b.js} +1 -1
  72. package/payload/server/public/assets/{routines-C6P1-Dto.js → routines-C7Dr16am.js} +1 -1
  73. package/payload/server/public/assets/{skills-ClrpVqlz.js → skills-DFeb3XO3.js} +1 -1
  74. package/payload/server/public/assets/{tasks-C8SNhSFC.js → tasks-CSfnCKJe.js} +1 -1
  75. package/payload/server/public/assets/{time-entry-format-CCO6N6XZ.js → time-entry-format-BgZqOOqG.js} +1 -1
  76. package/payload/server/public/assets/{triangle-alert-CHjdKpag.js → triangle-alert-DBJ7xz_t.js} +1 -1
  77. package/payload/server/public/assets/{useCopyFeedback-BTUu3-l8.js → useCopyFeedback-BFOujMl-.js} +1 -1
  78. package/payload/server/public/assets/useSubAccountSwitcher-BkQ5tA8A.css +1 -0
  79. package/payload/server/public/assets/{useVoiceRecorder-BeNqxmm2.js → useVoiceRecorder-BP6CpYQD.js} +1 -1
  80. package/payload/server/public/assets/{wrench-CeNnc7oO.js → wrench-DdaRhfzS.js} +1 -1
  81. package/payload/server/public/brand/fonts/inter-400.woff2 +0 -0
  82. package/payload/server/public/brand/fonts/inter-500.woff2 +0 -0
  83. package/payload/server/public/brand-defaults.css +47 -4
  84. package/payload/server/public/browser.html +4 -4
  85. package/payload/server/public/calendar.html +7 -7
  86. package/payload/server/public/chat.html +13 -13
  87. package/payload/server/public/data.html +11 -11
  88. package/payload/server/public/graph.html +9 -9
  89. package/payload/server/public/index.html +14 -14
  90. package/payload/server/public/operator.html +14 -14
  91. package/payload/server/public/public.html +13 -13
  92. package/payload/server/public/routines.html +6 -6
  93. package/payload/server/public/skills.html +5 -5
  94. package/payload/server/public/tasks.html +6 -6
  95. package/payload/server/server.js +702 -586
  96. package/payload/server/public/assets/admin-B-EGUWS4.js +0 -1
  97. package/payload/server/public/assets/chat-DWLYAA70.js +0 -1
  98. package/payload/server/public/assets/chevron-left-DBMCTKlT.js +0 -1
  99. package/payload/server/public/assets/chevron-right-SBAr6zzc.js +0 -1
  100. package/payload/server/public/assets/clock-kkzt7Scf.js +0 -1
  101. package/payload/server/public/assets/data-CV8N9qcy.js +0 -1
  102. package/payload/server/public/assets/page-JJa2xdzf.js +0 -1
  103. package/payload/server/public/assets/useSubAccountSwitcher-DyrH8DA8.css +0 -1
  104. /package/payload/server/public/assets/{useSubAccountSwitcher-DSW9vDi2.js → useSubAccountSwitcher-0PfRrN6i.js} +0 -0
@@ -5,30 +5,39 @@ tools:
5
5
  - name: contact-create
6
6
  publicAllowlist: false
7
7
  adminAllowlist: false
8
+ riskClass: write_local
8
9
  - name: contact-lookup
9
10
  publicAllowlist: false
10
11
  adminAllowlist: false
12
+ riskClass: read
11
13
  - name: contact-update
12
14
  publicAllowlist: false
13
15
  adminAllowlist: false
16
+ riskClass: write_local
14
17
  - name: contact-delete
15
18
  publicAllowlist: false
16
19
  adminAllowlist: false
20
+ riskClass: write_local
17
21
  - name: contact-list
18
22
  publicAllowlist: false
19
23
  adminAllowlist: false
24
+ riskClass: read
20
25
  - name: contact-export
21
26
  publicAllowlist: false
22
27
  adminAllowlist: false
28
+ riskClass: write_local
23
29
  - name: contact-erase
24
30
  publicAllowlist: false
25
31
  adminAllowlist: false
32
+ riskClass: write_local
26
33
  - name: group-create
27
34
  publicAllowlist: false
28
35
  adminAllowlist: false
36
+ riskClass: write_local
29
37
  - name: group-manage
30
38
  publicAllowlist: false
31
39
  adminAllowlist: false
40
+ riskClass: write_local
32
41
  always: false
33
42
  embed: false
34
43
  metadata: {"platform":{}}
@@ -350,9 +350,29 @@ the Web Share API and is disabled where unavailable. Signals:
350
350
  `[data-ui] op=mount header=operator home=absent`, `op=select-enter`,
351
351
  `op=select-exit reason=<cancel|action>`, `op=share supported=<bool> count=<n>`.
352
352
 
353
+ **The dashboard has a surface ramp and a display type tier.** Every page sits on
354
+ a page plane, cards rise onto a raised plane, and inputs and scroll regions
355
+ recede onto an inset plane. Each brand chooses how the card separates: SiteDesk's
356
+ card is a shade lighter than its page and casts no shadow, Real Agent's card and
357
+ page are both white and a shadow does the work. The page header is an inverted
358
+ band carrying the page title at the display size. Colours, radii, shadows and
359
+ type weights all come from the brand's own tokens; nothing is hardcoded, and a
360
+ token that resolves to nothing fails the build rather than painting invisibly.
361
+
362
+ **Folders open beside a rail on a wide screen.** At 1280px and above the folder
363
+ view splits in two: a list of the account's folders on the left, the files on
364
+ the right, with the folder you are in highlighted. Below that width the rail is
365
+ hidden and the breadcrumb does the same job.
366
+
367
+ **Status colours are shared.** Success, warning, error and info each carry a
368
+ solid fill, a pale tint and a text colour for that tint. Every pairing meets the
369
+ WCAG AA contrast minimum, on every brand.
370
+
353
371
  **`/data` opens on the account's own folders, as cards.** With no `#path=` in
354
372
  the URL the browser lands on **home**: the account's business folders (the
355
- entity folders of its trade, plus `projects`, `contacts` and `documents`) shown
373
+ entity folders of its trade, plus documents, projects, contacts, the work it
374
+ has produced for you, anything a client has sent in, and any websites it
375
+ has published) shown
356
376
  one per card, each listing the first 20 things inside it and a `+N more` row
357
377
  past that. Tapping a card opens that folder in the ordinary list or grid. There
358
378
  are never loose files at this level. Everything the platform and its plugins
@@ -150,6 +150,32 @@ Skill content, plugin manifests, agent templates, and reference files reference
150
150
 
151
151
  The runtime substitution happens at every read site that flows content into a system prompt or operator-visible UI: the admin agent's `plugin-read` tool (references + `PLUGIN.md`), the `skill-load` tool (SKILL.md by skill name — one-call resolver+reader, the canonical primitive for SKILL.md), the public agent's recursive plugin assembly, and `IDENTITY` / `SOUL` / `AGENTS` / `KNOWLEDGE` markdown reads. Missing or empty `productName` hard-fails — there is no fallback to a default brand string. See [.docs/agents.md](../../.docs/agents.md) § "Brand templating" for the full contract.
152
152
 
153
+ ## Tool risk classes (for plugin authors)
154
+
155
+ Every tool a plugin declares in its `PLUGIN.md` `tools:` block carries three mandatory
156
+ fields. `publicAllowlist` and `adminAllowlist` say who may call the tool. `riskClass`
157
+ says what happens when they do, and takes one of four values:
158
+
159
+ - `read` changes no state anywhere. A remote lookup counts as `read`; reaching the
160
+ network is not by itself consequential.
161
+ - `write_local` mutates account files or the graph on this device and transmits nothing.
162
+ - `exec` runs an operating-system command, or code supplied by the caller or the operator.
163
+ - `external` transmits to, or changes state on, a system outside this device, or delivers
164
+ a message to a person.
165
+
166
+ Leaving the field out is a refusal-to-boot condition, not a silent default. The platform
167
+ refuses to start rather than treat an undeclared consequence as harmless, because a tool
168
+ that quietly reads as `read` escapes every check downstream of it.
169
+
170
+ Declaring the class does not yet gate anything. It gives any consumer one honest answer
171
+ to the question "is this tool consequential?" without maintaining a list of tool names,
172
+ which is what the checks in `platform/plugins/admin/hooks/` have had to do until now.
173
+
174
+ A publish-time gate flags declarations that contradict what the tool's own name says it
175
+ does, and a boot line reports the census across all four classes. The classification
176
+ rule, the exception mechanism, and the diagnostic commands are in
177
+ `.docs/tool-risk-classes.md`.
178
+
153
179
  ## MCP Plugin Observability (for plugin authors)
154
180
 
155
181
  Every `console.error` line from a plugin's MCP server is captured to a per-server raw log. Capture is automatic and needs no import or call: the `mcp-spawn-tee` shim spawns every MCP server and mirrors its stderr to `mcp-<name>-<sessionId>.log` (or `mcp-<name>-nosession.log` for a spawn with no session). That file is keyed by session, which is the conversation, and that is where you grep. Prefix your diagnostics `[your-tool]` so a grep isolates one tool.
@@ -5,54 +5,71 @@ tools:
5
5
  - name: email-provider-info
6
6
  publicAllowlist: false
7
7
  adminAllowlist: false
8
+ riskClass: read
8
9
  - name: email-setup
9
10
  publicAllowlist: false
10
11
  adminAllowlist: false
12
+ riskClass: write_local
11
13
  - name: email-read
12
14
  publicAllowlist: false
13
15
  adminAllowlist: false
16
+ riskClass: read
14
17
  - name: email-fetch-body
15
18
  publicAllowlist: false
16
19
  adminAllowlist: false
20
+ riskClass: read
17
21
  - name: email-fetch-attachment
18
22
  publicAllowlist: false
19
23
  adminAllowlist: false
24
+ riskClass: read
20
25
  - name: email-send
21
26
  publicAllowlist: false
22
27
  adminAllowlist: false
28
+ riskClass: external
23
29
  - name: email-reply
24
30
  publicAllowlist: false
25
31
  adminAllowlist: false
32
+ riskClass: external
26
33
  - name: email-draft
27
34
  publicAllowlist: false
28
35
  adminAllowlist: false
36
+ riskClass: external
29
37
  - name: email-draft-edit
30
38
  publicAllowlist: false
31
39
  adminAllowlist: false
40
+ riskClass: external
32
41
  - name: email-draft-send
33
42
  publicAllowlist: false
34
43
  adminAllowlist: false
44
+ riskClass: external
35
45
  - name: email-search
36
46
  publicAllowlist: false
37
47
  adminAllowlist: false
48
+ riskClass: read
38
49
  - name: email-delete
39
50
  publicAllowlist: false
40
51
  adminAllowlist: false
52
+ riskClass: external
41
53
  - name: email-graph-query
42
54
  publicAllowlist: false
43
55
  adminAllowlist: false
56
+ riskClass: read
44
57
  - name: email-fetch
45
58
  publicAllowlist: false
46
59
  adminAllowlist: false
60
+ riskClass: read
47
61
  - name: email-ingest
48
62
  publicAllowlist: false
49
63
  adminAllowlist: false
64
+ riskClass: write_local
50
65
  - name: email-otp-extract
51
66
  publicAllowlist: false
52
67
  adminAllowlist: false
68
+ riskClass: read
53
69
  - name: email-status
54
70
  publicAllowlist: false
55
71
  adminAllowlist: false
72
+ riskClass: read
56
73
  always: false
57
74
  embed: ["admin"]
58
75
  metadata: {"platform":{}}
@@ -5,21 +5,27 @@ tools:
5
5
  - name: file-read
6
6
  publicAllowlist: false
7
7
  adminAllowlist: true
8
+ riskClass: read
8
9
  - name: file-write
9
10
  publicAllowlist: false
10
11
  adminAllowlist: true
12
+ riskClass: write_local
11
13
  - name: file-edit
12
14
  publicAllowlist: false
13
15
  adminAllowlist: true
16
+ riskClass: write_local
14
17
  - name: file-list
15
18
  publicAllowlist: false
16
19
  adminAllowlist: true
20
+ riskClass: read
17
21
  - name: file-glob
18
22
  publicAllowlist: false
19
23
  adminAllowlist: true
24
+ riskClass: read
20
25
  - name: file-grep
21
26
  publicAllowlist: false
22
27
  adminAllowlist: true
28
+ riskClass: read
23
29
  metadata: {"platform":{"always":false,"embed":[],"pluginKey":"filesystem"}}
24
30
  mcp:
25
31
  command: node
@@ -5,39 +5,51 @@ tools:
5
5
  - name: google-account-register
6
6
  publicAllowlist: false
7
7
  adminAllowlist: false
8
+ riskClass: write_local
8
9
  - name: google-account-register-poll
9
10
  publicAllowlist: false
10
11
  adminAllowlist: false
12
+ riskClass: write_local
11
13
  - name: google-account-register-submit
12
14
  publicAllowlist: false
13
15
  adminAllowlist: false
16
+ riskClass: write_local
14
17
  - name: google-calendar-list
15
18
  publicAllowlist: false
16
19
  adminAllowlist: false
20
+ riskClass: read
17
21
  - name: google-calendar-event
18
22
  publicAllowlist: false
19
23
  adminAllowlist: false
24
+ riskClass: read
20
25
  - name: google-calendar-create
21
26
  publicAllowlist: false
22
27
  adminAllowlist: false
28
+ riskClass: external
23
29
  - name: google-calendar-update
24
30
  publicAllowlist: false
25
31
  adminAllowlist: false
32
+ riskClass: external
26
33
  - name: google-calendar-cancel
27
34
  publicAllowlist: false
28
35
  adminAllowlist: false
36
+ riskClass: external
29
37
  - name: google-calendar-respond
30
38
  publicAllowlist: false
31
39
  adminAllowlist: false
40
+ riskClass: external
32
41
  - name: google-calendar-freebusy
33
42
  publicAllowlist: false
34
43
  adminAllowlist: false
44
+ riskClass: read
35
45
  - name: google-account-info
36
46
  publicAllowlist: false
37
47
  adminAllowlist: false
48
+ riskClass: read
38
49
  - name: google-account-list
39
50
  publicAllowlist: false
40
51
  adminAllowlist: false
52
+ riskClass: read
41
53
  mcp:
42
54
  command: node
43
55
  args:
@@ -4,12 +4,15 @@ tools:
4
4
  - name: maxy-graph-read_neo4j_cypher
5
5
  publicAllowlist: false
6
6
  adminAllowlist: true
7
+ riskClass: read
7
8
  - name: maxy-graph-get_neo4j_schema
8
9
  publicAllowlist: false
9
10
  adminAllowlist: true
11
+ riskClass: read
10
12
  - name: maxy-graph-write_neo4j_cypher
11
13
  publicAllowlist: false
12
14
  adminAllowlist: false
15
+ riskClass: write_local
13
16
  mcp-manifest: shared-lib
14
17
  mcp:
15
18
  command: node
@@ -17,6 +17,7 @@ tools:
17
17
  - name: graph-render
18
18
  publicAllowlist: false
19
19
  adminAllowlist: true
20
+ riskClass: read
20
21
  ---
21
22
 
22
23
  # graph-viewer
@@ -5,24 +5,31 @@ tools:
5
5
  - name: ledger-invoice-record
6
6
  publicAllowlist: false
7
7
  adminAllowlist: true
8
+ riskClass: write_local
8
9
  - name: ledger-payment-record
9
10
  publicAllowlist: false
10
11
  adminAllowlist: true
12
+ riskClass: write_local
11
13
  - name: ledger-credit-record
12
14
  publicAllowlist: false
13
15
  adminAllowlist: true
16
+ riskClass: write_local
14
17
  - name: ledger-cash-record
15
18
  publicAllowlist: false
16
19
  adminAllowlist: true
20
+ riskClass: write_local
17
21
  - name: ledger-balance
18
22
  publicAllowlist: false
19
23
  adminAllowlist: true
24
+ riskClass: read
20
25
  - name: ledger-statement
21
26
  publicAllowlist: false
22
27
  adminAllowlist: true
28
+ riskClass: read
23
29
  - name: ledger-reconcile
24
30
  publicAllowlist: false
25
31
  adminAllowlist: true
32
+ riskClass: read
26
33
  always: false
27
34
  embed: false
28
35
  metadata: {"platform":{}}
@@ -6,126 +6,167 @@ tools:
6
6
  - name: memory-search
7
7
  publicAllowlist: false
8
8
  adminAllowlist: true
9
+ riskClass: read
9
10
  - name: memory-write
10
11
  publicAllowlist: false
11
12
  adminAllowlist: true
13
+ riskClass: write_local
12
14
  - name: memory-update
13
15
  publicAllowlist: false
14
16
  adminAllowlist: true
17
+ riskClass: write_local
15
18
  - name: memory-edge
16
19
  publicAllowlist: false
17
20
  adminAllowlist: true
21
+ riskClass: write_local
18
22
  - name: memory-update-by-name
19
23
  publicAllowlist: false
20
24
  adminAllowlist: true
25
+ riskClass: write_local
21
26
  - name: memory-reindex
22
27
  publicAllowlist: false
23
28
  adminAllowlist: false
29
+ riskClass: write_local
24
30
  - name: memory-ingest
25
31
  publicAllowlist: false
26
32
  adminAllowlist: false
33
+ riskClass: write_local
27
34
  - name: kd-classify
28
35
  publicAllowlist: false
29
36
  adminAllowlist: false
37
+ riskClass: write_local
30
38
  - name: memory-ingest-extract
31
39
  publicAllowlist: false
32
40
  adminAllowlist: false
41
+ riskClass: write_local
33
42
  - name: memory-ingest-web
34
43
  publicAllowlist: false
35
44
  adminAllowlist: false
45
+ riskClass: write_local
36
46
  - name: memory-find-candidates
37
47
  publicAllowlist: false
38
48
  adminAllowlist: true
49
+ riskClass: read
39
50
  - name: memory-node-exists
40
51
  publicAllowlist: false
41
52
  adminAllowlist: true
53
+ riskClass: read
42
54
  - name: memory-lookup-by-name
43
55
  publicAllowlist: false
44
56
  adminAllowlist: true
57
+ riskClass: read
45
58
  - name: memory-delete
46
59
  publicAllowlist: false
47
60
  adminAllowlist: true
61
+ riskClass: write_local
48
62
  - name: memory-restore
49
63
  publicAllowlist: false
50
64
  adminAllowlist: true
65
+ riskClass: write_local
51
66
  - name: memory-empty-trash
52
67
  publicAllowlist: false
53
68
  adminAllowlist: true
69
+ riskClass: write_local
54
70
  - name: memory-list-attachments
55
71
  publicAllowlist: false
56
72
  adminAllowlist: true
73
+ riskClass: read
57
74
  - name: memory-read-attachment
58
75
  publicAllowlist: false
59
76
  adminAllowlist: true
77
+ riskClass: read
60
78
  - name: memory-edit-attachment
61
79
  publicAllowlist: false
62
80
  adminAllowlist: true
81
+ riskClass: write_local
63
82
  - name: memory-rename-attachment
64
83
  publicAllowlist: false
65
84
  adminAllowlist: true
85
+ riskClass: write_local
66
86
  - name: memory-archive-write
67
87
  publicAllowlist: false
68
88
  adminAllowlist: false
89
+ riskClass: write_local
69
90
  - name: obsidian-vault-import
70
91
  publicAllowlist: false
71
92
  adminAllowlist: false
93
+ riskClass: write_local
72
94
  - name: conversation-archive-list-chunks
73
95
  publicAllowlist: false
74
96
  adminAllowlist: false
97
+ riskClass: read
75
98
  - name: conversation-archive-derive-insights
76
99
  publicAllowlist: false
77
100
  adminAllowlist: false
101
+ riskClass: write_local
78
102
  - name: conversation-archive-enrich-rejection
79
103
  publicAllowlist: false
80
104
  adminAllowlist: false
105
+ riskClass: write_local
81
106
  - name: memory-report-write
82
107
  publicAllowlist: false
83
108
  adminAllowlist: true
109
+ riskClass: write_local
84
110
  - name: memory-report-read-latest
85
111
  publicAllowlist: false
86
112
  adminAllowlist: true
113
+ riskClass: read
87
114
  - name: memory-report-list
88
115
  publicAllowlist: false
89
116
  adminAllowlist: true
117
+ riskClass: read
90
118
  - name: memory-compiled-truth-history
91
119
  publicAllowlist: false
92
120
  adminAllowlist: true
121
+ riskClass: read
93
122
  - name: conversation-list
94
123
  publicAllowlist: false
95
124
  adminAllowlist: true
125
+ riskClass: read
96
126
  - name: conversation-search
97
127
  publicAllowlist: false
98
128
  adminAllowlist: true
129
+ riskClass: read
99
130
  - name: profile-read
100
131
  publicAllowlist: false
101
132
  adminAllowlist: false
133
+ riskClass: read
102
134
  - name: profile-update
103
135
  publicAllowlist: false
104
136
  adminAllowlist: false
137
+ riskClass: write_local
105
138
  - name: profile-delete
106
139
  publicAllowlist: false
107
140
  adminAllowlist: true
141
+ riskClass: write_local
108
142
  - name: memory-brain-capture-recent
109
143
  publicAllowlist: false
110
144
  adminAllowlist: true
145
+ riskClass: write_local
111
146
  - name: graph-prune-denylist-add
112
147
  publicAllowlist: false
113
148
  adminAllowlist: true
149
+ riskClass: write_local
114
150
  - name: graph-prune-denylist-list
115
151
  publicAllowlist: false
116
152
  adminAllowlist: true
153
+ riskClass: read
117
154
  - name: graph-prune-denylist-remove
118
155
  publicAllowlist: false
119
156
  adminAllowlist: true
157
+ riskClass: write_local
120
158
  - name: conversation-memory-expunge
121
159
  publicAllowlist: false
122
160
  adminAllowlist: true
161
+ riskClass: write_local
123
162
  - name: memory-dream-run
124
163
  publicAllowlist: false
125
164
  adminAllowlist: true
165
+ riskClass: write_local
126
166
  - name: memory-review-queue
127
167
  publicAllowlist: false
128
168
  adminAllowlist: true
169
+ riskClass: read
129
170
  hidden:
130
171
  - session-compact
131
172
  - session-compact-status
@@ -5,75 +5,99 @@ tools:
5
5
  - name: outlook-account-register
6
6
  publicAllowlist: false
7
7
  adminAllowlist: false
8
+ riskClass: write_local
8
9
  - name: outlook-account-register-poll
9
10
  publicAllowlist: false
10
11
  adminAllowlist: false
12
+ riskClass: write_local
11
13
  - name: outlook-mail-list
12
14
  publicAllowlist: false
13
15
  adminAllowlist: false
16
+ riskClass: read
14
17
  - name: outlook-mail-search
15
18
  publicAllowlist: false
16
19
  adminAllowlist: false
20
+ riskClass: read
17
21
  - name: outlook-mail-fetch-body
18
22
  publicAllowlist: false
19
23
  adminAllowlist: false
24
+ riskClass: read
20
25
  - name: outlook-mail-attachment
21
26
  publicAllowlist: false
22
27
  adminAllowlist: false
28
+ riskClass: read
23
29
  - name: outlook-mail-reply
24
30
  publicAllowlist: false
25
31
  adminAllowlist: false
32
+ riskClass: external
26
33
  - name: outlook-mail-delete
27
34
  publicAllowlist: false
28
35
  adminAllowlist: false
36
+ riskClass: external
29
37
  - name: outlook-mail-ingest
30
38
  publicAllowlist: false
31
39
  adminAllowlist: false
40
+ riskClass: write_local
32
41
  - name: outlook-mail-otp-extract
33
42
  publicAllowlist: false
34
43
  adminAllowlist: false
44
+ riskClass: read
35
45
  - name: outlook-mail-send
36
46
  publicAllowlist: false
37
47
  adminAllowlist: false
48
+ riskClass: external
38
49
  - name: outlook-draft
39
50
  publicAllowlist: false
40
51
  adminAllowlist: false
52
+ riskClass: external
41
53
  - name: outlook-draft-send
42
54
  publicAllowlist: false
43
55
  adminAllowlist: false
56
+ riskClass: external
44
57
  - name: outlook-draft-edit
45
58
  publicAllowlist: false
46
59
  adminAllowlist: false
60
+ riskClass: external
47
61
  - name: outlook-calendar-list
48
62
  publicAllowlist: false
49
63
  adminAllowlist: false
64
+ riskClass: read
50
65
  - name: outlook-calendar-event
51
66
  publicAllowlist: false
52
67
  adminAllowlist: false
68
+ riskClass: read
53
69
  - name: outlook-calendar-create
54
70
  publicAllowlist: false
55
71
  adminAllowlist: false
72
+ riskClass: external
56
73
  - name: outlook-calendar-update
57
74
  publicAllowlist: false
58
75
  adminAllowlist: false
76
+ riskClass: external
59
77
  - name: outlook-calendar-cancel
60
78
  publicAllowlist: false
61
79
  adminAllowlist: false
80
+ riskClass: external
62
81
  - name: outlook-calendar-respond
63
82
  publicAllowlist: false
64
83
  adminAllowlist: false
84
+ riskClass: external
65
85
  - name: outlook-calendar-freebusy
66
86
  publicAllowlist: false
67
87
  adminAllowlist: false
88
+ riskClass: read
68
89
  - name: outlook-contacts-list
69
90
  publicAllowlist: false
70
91
  adminAllowlist: false
92
+ riskClass: read
71
93
  - name: outlook-mailbox-info
72
94
  publicAllowlist: false
73
95
  adminAllowlist: false
96
+ riskClass: read
74
97
  - name: outlook-mailbox-list
75
98
  publicAllowlist: false
76
99
  adminAllowlist: false
100
+ riskClass: read
77
101
  always: false
78
102
  embed: ["admin"]
79
103
  metadata: {"platform":{"optional":true}}
@@ -5,48 +5,63 @@ tools:
5
5
  - name: quickbooks-credentials-set
6
6
  publicAllowlist: false
7
7
  adminAllowlist: true
8
+ riskClass: write_local
8
9
  - name: quickbooks-authorize-url
9
10
  publicAllowlist: false
10
11
  adminAllowlist: true
12
+ riskClass: read
11
13
  - name: quickbooks-connections
12
14
  publicAllowlist: false
13
15
  adminAllowlist: true
16
+ riskClass: read
14
17
  - name: quickbooks-token-audit
15
18
  publicAllowlist: false
16
19
  adminAllowlist: true
20
+ riskClass: read
17
21
  - name: quickbooks-disconnect
18
22
  publicAllowlist: false
19
23
  adminAllowlist: true
24
+ riskClass: external
20
25
  - name: quickbooks-query
21
26
  publicAllowlist: false
22
27
  adminAllowlist: false
28
+ riskClass: read
23
29
  - name: quickbooks-report
24
30
  publicAllowlist: false
25
31
  adminAllowlist: false
32
+ riskClass: read
26
33
  - name: quickbooks-invoice-create
27
34
  publicAllowlist: false
28
35
  adminAllowlist: false
36
+ riskClass: external
29
37
  - name: quickbooks-invoice-update
30
38
  publicAllowlist: false
31
39
  adminAllowlist: false
40
+ riskClass: external
32
41
  - name: quickbooks-customer-create
33
42
  publicAllowlist: false
34
43
  adminAllowlist: false
44
+ riskClass: external
35
45
  - name: quickbooks-customer-update
36
46
  publicAllowlist: false
37
47
  adminAllowlist: false
48
+ riskClass: external
38
49
  - name: quickbooks-bill-create
39
50
  publicAllowlist: false
40
51
  adminAllowlist: false
52
+ riskClass: external
41
53
  - name: quickbooks-payment-create
42
54
  publicAllowlist: false
43
55
  adminAllowlist: false
56
+ riskClass: external
44
57
  - name: quickbooks-entity-create
45
58
  publicAllowlist: false
46
59
  adminAllowlist: false
60
+ riskClass: external
47
61
  - name: quickbooks-entity-update
48
62
  publicAllowlist: false
49
63
  adminAllowlist: false
64
+ riskClass: external
50
65
  skills:
51
66
  - skills/quickbooks/SKILL.md
52
67
  metadata: {"platform":{"optional":true,"pluginKey":"quickbooks"}}
@@ -5,12 +5,15 @@ tools:
5
5
  - name: image-generate
6
6
  publicAllowlist: false
7
7
  adminAllowlist: false
8
+ riskClass: external
8
9
  - name: replicate-key-store
9
10
  publicAllowlist: false
10
11
  adminAllowlist: true
12
+ riskClass: write_local
11
13
  - name: replicate-key-verify
12
14
  publicAllowlist: false
13
15
  adminAllowlist: true
16
+ riskClass: read
14
17
  metadata: {"platform":{"optional":true,"recommended":true,"pluginKey":"replicate"}}
15
18
  mcp:
16
19
  command: node