@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.
- package/package.json +2 -2
- package/payload/platform/config/brand.json +79 -18
- package/payload/platform/lib/account-schema-regions/dist/index.d.ts +17 -5
- package/payload/platform/lib/account-schema-regions/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/account-schema-regions/dist/index.js +20 -6
- package/payload/platform/lib/account-schema-regions/dist/index.js.map +1 -1
- package/payload/platform/lib/account-schema-regions/src/index.ts +20 -6
- package/payload/platform/plugins/admin/PLUGIN.md +36 -0
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +48 -2
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +7 -0
- package/payload/platform/plugins/aeo/PLUGIN.md +3 -0
- package/payload/platform/plugins/browser/PLUGIN.md +18 -0
- package/payload/platform/plugins/connector/PLUGIN.md +4 -0
- package/payload/platform/plugins/contacts/PLUGIN.md +9 -0
- package/payload/platform/plugins/docs/references/admin-ui.md +21 -1
- package/payload/platform/plugins/docs/references/plugins-guide.md +26 -0
- package/payload/platform/plugins/email/PLUGIN.md +17 -0
- package/payload/platform/plugins/filesystem/PLUGIN.md +6 -0
- package/payload/platform/plugins/google/PLUGIN.md +12 -0
- package/payload/platform/plugins/graph/PLUGIN.md +3 -0
- package/payload/platform/plugins/graph-viewer/PLUGIN.md +1 -0
- package/payload/platform/plugins/ledger/PLUGIN.md +7 -0
- package/payload/platform/plugins/memory/PLUGIN.md +41 -0
- package/payload/platform/plugins/outlook/PLUGIN.md +24 -0
- package/payload/platform/plugins/quickbooks/PLUGIN.md +15 -0
- package/payload/platform/plugins/replicate/PLUGIN.md +3 -0
- package/payload/platform/plugins/scheduling/PLUGIN.md +10 -0
- package/payload/platform/plugins/storage-broker/PLUGIN.md +12 -0
- package/payload/platform/plugins/telegram/PLUGIN.md +3 -0
- package/payload/platform/plugins/url-get/PLUGIN.md +1 -0
- package/payload/platform/plugins/voice-mirror/PLUGIN.md +5 -0
- package/payload/platform/plugins/whatsapp/PLUGIN.md +12 -0
- package/payload/platform/plugins/work/PLUGIN.md +15 -0
- package/payload/platform/plugins/workflows/PLUGIN.md +8 -0
- package/payload/platform/scripts/check-risk-class.mjs +145 -0
- package/payload/platform/scripts/lib/__pycache__/account-schema-owned-dirs.cpython-314.pyc +0 -0
- package/payload/platform/scripts/lib/provision-account-dir.sh +4 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +4 -0
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +8 -0
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts +13 -0
- package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/tool-surface.js +33 -8
- package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
- package/payload/server/{chunk-5ADBNEJA.js → chunk-2WAXM5N2.js} +111 -111
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/public/activity.html +5 -5
- package/payload/server/public/agents.html +4 -4
- package/payload/server/public/assets/{AdminLoginScreens-D5KOQA8S.js → AdminLoginScreens-YT7jsh_H.js} +1 -1
- package/payload/server/public/assets/{AdminShell-C8wazpnz.js → AdminShell-Ckht9hmU.js} +1 -1
- package/payload/server/public/assets/{activity-CFqkDhTs.js → activity-DH3Wgc3O.js} +1 -1
- package/payload/server/public/assets/admin-DetvulAu.js +1 -0
- package/payload/server/public/assets/{agents-DPulfmrd.js → agents-X_IvDHLZ.js} +1 -1
- package/payload/server/public/assets/{browser-T_5xbnJh.js → browser-Bym8QhfA.js} +1 -1
- package/payload/server/public/assets/{calendar-CKjuiG8c.js → calendar-CFnufJOy.js} +1 -1
- package/payload/server/public/assets/chat-wrckyIpw.js +1 -0
- package/payload/server/public/assets/chevron-left-Dtk3jEK5.js +1 -0
- package/payload/server/public/assets/chevron-right-Dih6IZ8B.js +1 -0
- package/payload/server/public/assets/clock-iJCrrmWM.js +1 -0
- package/payload/server/public/assets/data-D76--TYs.js +1 -0
- package/payload/server/public/assets/{file-text-c6cA4Evd.js → file-text-zch0E1GJ.js} +1 -1
- package/payload/server/public/assets/{graph-DIk-o45J.js → graph-BavHLzpV.js} +1 -1
- package/payload/server/public/assets/{graph-labels-5bjxhC_p.js → graph-labels-CBwh4g-6.js} +1 -1
- package/payload/server/public/assets/{maximize-2-BCQkFb1_.js → maximize-2-bTn_Ozpi.js} +1 -1
- package/payload/server/public/assets/{operator-0UnNo2ms.js → operator-a4IOwf62.js} +1 -1
- package/payload/server/public/assets/page-3T2mE63b.js +1 -0
- package/payload/server/public/assets/{page-HVtUfub2.js → page-D6M1CmPe.js} +4 -4
- package/payload/server/public/assets/{public-CKEYyIPn.js → public-B3y_YU1G.js} +1 -1
- package/payload/server/public/assets/{rotate-ccw-dTpO5dhL.js → rotate-ccw-BGvzNB1b.js} +1 -1
- package/payload/server/public/assets/{routines-C6P1-Dto.js → routines-C7Dr16am.js} +1 -1
- package/payload/server/public/assets/{skills-ClrpVqlz.js → skills-DFeb3XO3.js} +1 -1
- package/payload/server/public/assets/{tasks-C8SNhSFC.js → tasks-CSfnCKJe.js} +1 -1
- package/payload/server/public/assets/{time-entry-format-CCO6N6XZ.js → time-entry-format-BgZqOOqG.js} +1 -1
- package/payload/server/public/assets/{triangle-alert-CHjdKpag.js → triangle-alert-DBJ7xz_t.js} +1 -1
- package/payload/server/public/assets/{useCopyFeedback-BTUu3-l8.js → useCopyFeedback-BFOujMl-.js} +1 -1
- package/payload/server/public/assets/useSubAccountSwitcher-BkQ5tA8A.css +1 -0
- package/payload/server/public/assets/{useVoiceRecorder-BeNqxmm2.js → useVoiceRecorder-BP6CpYQD.js} +1 -1
- package/payload/server/public/assets/{wrench-CeNnc7oO.js → wrench-DdaRhfzS.js} +1 -1
- package/payload/server/public/brand/fonts/inter-400.woff2 +0 -0
- package/payload/server/public/brand/fonts/inter-500.woff2 +0 -0
- package/payload/server/public/brand-defaults.css +47 -4
- package/payload/server/public/browser.html +4 -4
- package/payload/server/public/calendar.html +7 -7
- package/payload/server/public/chat.html +13 -13
- package/payload/server/public/data.html +11 -11
- package/payload/server/public/graph.html +9 -9
- package/payload/server/public/index.html +14 -14
- package/payload/server/public/operator.html +14 -14
- package/payload/server/public/public.html +13 -13
- package/payload/server/public/routines.html +6 -6
- package/payload/server/public/skills.html +5 -5
- package/payload/server/public/tasks.html +6 -6
- package/payload/server/server.js +702 -586
- package/payload/server/public/assets/admin-B-EGUWS4.js +0 -1
- package/payload/server/public/assets/chat-DWLYAA70.js +0 -1
- package/payload/server/public/assets/chevron-left-DBMCTKlT.js +0 -1
- package/payload/server/public/assets/chevron-right-SBAr6zzc.js +0 -1
- package/payload/server/public/assets/clock-kkzt7Scf.js +0 -1
- package/payload/server/public/assets/data-CV8N9qcy.js +0 -1
- package/payload/server/public/assets/page-JJa2xdzf.js +0 -1
- package/payload/server/public/assets/useSubAccountSwitcher-DyrH8DA8.css +0 -1
- /package/payload/server/public/assets/{useSubAccountSwitcher-DSW9vDi2.js → useSubAccountSwitcher-0PfRrN6i.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rubytech/create-maxy-code",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.507",
|
|
4
4
|
"description": "Install Maxy — AI for Productive People",
|
|
5
5
|
"bin": {
|
|
6
6
|
"create-maxy-code": "./dist/index.js"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"build": "tsc",
|
|
14
14
|
"bundle": "node scripts/bundle.js",
|
|
15
15
|
"test": "npm run build && node --test 'dist/__tests__/*.test.js'",
|
|
16
|
-
"prepublishOnly": "bash ../../platform/scripts/verify-skill-tool-surface.sh && node ../../platform/scripts/check-plugin-tools-mcp-consistency.mjs && node ../../platform/scripts/check-specialist-tool-surface.mjs && node ../../platform/scripts/check-agent-contract.mjs && node ../../platform/scripts/check-routing-prose-bash.mjs && node ../../platform/scripts/check-no-task-id-leaks.mjs && node ../../platform/scripts/check-no-esm-require.mjs && node ../../platform/scripts/check-no-raw-mcp-registrations.mjs && node ../../platform/scripts/check-skill-load-coverage.mjs && node ../../platform/scripts/check-architecture-skill-no-drift.mjs && node ../../platform/ui/scripts/check-route-wiring.mjs && node ../../platform/ui/scripts/check-edge-admin-routes.mjs && npm run build && node --test 'dist/__tests__/*.test.js' && chmod +x dist/index.js && npm run bundle && bash ../../platform/scripts/smoke-boot-services.sh && node ../../platform/ui/scripts/check-bundle-node-imports.mjs --dir=./payload/server/public/assets"
|
|
16
|
+
"prepublishOnly": "bash ../../platform/scripts/verify-skill-tool-surface.sh && node ../../platform/scripts/check-plugin-tools-mcp-consistency.mjs && node ../../platform/scripts/check-risk-class.mjs && node ../../platform/scripts/check-specialist-tool-surface.mjs && node ../../platform/scripts/check-agent-contract.mjs && node ../../platform/scripts/check-routing-prose-bash.mjs && node ../../platform/scripts/check-no-task-id-leaks.mjs && node ../../platform/scripts/check-no-esm-require.mjs && node ../../platform/scripts/check-no-raw-mcp-registrations.mjs && node ../../platform/scripts/check-skill-load-coverage.mjs && node ../../platform/scripts/check-architecture-skill-no-drift.mjs && node ../../platform/ui/scripts/check-route-wiring.mjs && node ../../platform/ui/scripts/check-edge-admin-routes.mjs && npm run build && node --test 'dist/__tests__/*.test.js' && chmod +x dist/index.js && npm run bundle && bash ../../platform/scripts/smoke-boot-services.sh && node ../../platform/ui/scripts/check-bundle-node-imports.mjs --dir=./payload/server/public/assets"
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"dist",
|
|
@@ -19,9 +19,16 @@
|
|
|
19
19
|
"googleClientSecret": "",
|
|
20
20
|
"commercialMode": false,
|
|
21
21
|
"vertical": "schema-knowledge-work",
|
|
22
|
-
"shipsPremiumBundles": [
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
"shipsPremiumBundles": [
|
|
23
|
+
"venture-studio",
|
|
24
|
+
"writer-craft",
|
|
25
|
+
"teaching",
|
|
26
|
+
"management-consulting"
|
|
27
|
+
],
|
|
28
|
+
"primaryContainer": {
|
|
29
|
+
"label": "Project",
|
|
30
|
+
"term": "Projects"
|
|
31
|
+
},
|
|
25
32
|
"defaultColors": {
|
|
26
33
|
"primary": "#7C8C72",
|
|
27
34
|
"primaryHover": "#6A7A62",
|
|
@@ -31,14 +38,11 @@
|
|
|
31
38
|
"background": "#F6F5F2",
|
|
32
39
|
"agentBubble": "#F5F2ED"
|
|
33
40
|
},
|
|
34
|
-
|
|
35
41
|
"defaultFonts": {
|
|
36
42
|
"display": "'Newsreader', Georgia, serif",
|
|
37
43
|
"body": "'Inter', -apple-system, BlinkMacSystemFont, sans-serif"
|
|
38
44
|
},
|
|
39
|
-
|
|
40
45
|
"logoContainsName": true,
|
|
41
|
-
|
|
42
46
|
"assets": {
|
|
43
47
|
"logo": "maxy-square.png",
|
|
44
48
|
"icon": "maxy-monochrome.png",
|
|
@@ -48,27 +52,69 @@
|
|
|
48
52
|
"appIcon192": "maxy-app-icon-192.png",
|
|
49
53
|
"maskableIcon": "maxy-app-icon-maskable-512.png"
|
|
50
54
|
},
|
|
51
|
-
|
|
52
55
|
"npm": {
|
|
53
56
|
"packageName": "@rubytech/create-maxy-code",
|
|
54
57
|
"binName": "create-maxy-code",
|
|
55
58
|
"author": "Rubytech LLC"
|
|
56
59
|
},
|
|
57
|
-
|
|
58
60
|
"plugins": {
|
|
59
|
-
"core": [
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
"core": [
|
|
62
|
+
"admin",
|
|
63
|
+
"memory",
|
|
64
|
+
"docs",
|
|
65
|
+
"cloudflare",
|
|
66
|
+
"anthropic",
|
|
67
|
+
"workflows",
|
|
68
|
+
"work",
|
|
69
|
+
"ledger",
|
|
70
|
+
"scheduling",
|
|
71
|
+
"email",
|
|
72
|
+
"contacts",
|
|
73
|
+
"projects",
|
|
74
|
+
"prompt-optimiser",
|
|
75
|
+
"browser"
|
|
76
|
+
],
|
|
77
|
+
"defaultEnabled": [
|
|
78
|
+
"business-assistant",
|
|
79
|
+
"sales",
|
|
80
|
+
"web-designer"
|
|
81
|
+
],
|
|
82
|
+
"available": [
|
|
83
|
+
"connector",
|
|
84
|
+
"telegram",
|
|
85
|
+
"deep-research",
|
|
86
|
+
"whatsapp",
|
|
87
|
+
"replicate",
|
|
88
|
+
"linkedin-import",
|
|
89
|
+
"notion-import",
|
|
90
|
+
"obsidian-import",
|
|
91
|
+
"x-import",
|
|
92
|
+
"slides"
|
|
93
|
+
],
|
|
94
|
+
"excluded": [
|
|
95
|
+
"joblogic"
|
|
96
|
+
]
|
|
63
97
|
},
|
|
64
|
-
|
|
65
98
|
"externalPlugins": [
|
|
66
|
-
{
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
99
|
+
{
|
|
100
|
+
"name": "discord",
|
|
101
|
+
"marketplace": "claude-plugins-official",
|
|
102
|
+
"channelPlugin": true
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "imessage",
|
|
106
|
+
"marketplace": "claude-plugins-official",
|
|
107
|
+
"channelPlugin": true
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "superpowers",
|
|
111
|
+
"marketplace": "claude-plugins-official"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "code-review",
|
|
115
|
+
"marketplace": "claude-plugins-official"
|
|
116
|
+
}
|
|
70
117
|
],
|
|
71
|
-
|
|
72
118
|
"consent": {
|
|
73
119
|
"copy": {
|
|
74
120
|
"title": "Before you browse this listing",
|
|
@@ -86,5 +132,20 @@
|
|
|
86
132
|
"accentFg": "#FFFFFF",
|
|
87
133
|
"border": "#E8ECF0"
|
|
88
134
|
}
|
|
135
|
+
},
|
|
136
|
+
"fonts": {
|
|
137
|
+
"body": {
|
|
138
|
+
"family": "Inter",
|
|
139
|
+
"faces": [
|
|
140
|
+
{
|
|
141
|
+
"weight": 400,
|
|
142
|
+
"file": "inter-400.woff2"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"weight": 500,
|
|
146
|
+
"file": "inter-500.woff2"
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
}
|
|
89
150
|
}
|
|
90
151
|
}
|
|
@@ -22,11 +22,23 @@
|
|
|
22
22
|
* behaviour so a future edit cannot reintroduce separator sensitivity.
|
|
23
23
|
*/
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
25
|
+
* Non-ontology buckets that are still the operator's own work, so they are home
|
|
26
|
+
* on every brand. They carry no ontology row because they are not entity
|
|
27
|
+
* buckets. On a vertical with no `## Top-level node types` table
|
|
28
|
+
* (schema-knowledge-work) they are the whole of home.
|
|
29
|
+
*
|
|
30
|
+
* The membership test is "would the operator go looking for this?", not "who
|
|
31
|
+
* writes it". `output`, `generated` and `extracted` hold delivered work product;
|
|
32
|
+
* `sites` holds published websites; `uploads` holds what a client sent in. The
|
|
33
|
+
* shipped template groups those five under "tool-owned", but that is a rule
|
|
34
|
+
* about not reorganising their internals — a write constraint, not a reason to
|
|
35
|
+
* file them behind the platform's own plumbing. What stays out is genuinely
|
|
36
|
+
* internal: caches, state, logs, secrets, temp, the git and Claude control
|
|
37
|
+
* dirs, and plugin workspaces.
|
|
38
|
+
*
|
|
39
|
+
* Every name here is created at provision (provision-account-dir.sh `_seed_dirs`),
|
|
40
|
+
* so the standing home-parity audit finds them on disk rather than reporting
|
|
41
|
+
* them missing.
|
|
30
42
|
*
|
|
31
43
|
* Lives here rather than in either consumer because both the /data page and the
|
|
32
44
|
* standing reconcile audit must agree on the same set; a hand-synced copy in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAEtC,CAAA;AAiBF,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,iEAAiE;IACjE,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,gEAAgE;IAChE,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB;;;;;;;OAOG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,MAAM,EAAE,IAAI,GAAG,eAAe,GAAG,cAAc,CAAA;CAChD;AAiCD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,CAazE"}
|
|
@@ -26,17 +26,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.HOME_FIXED = void 0;
|
|
27
27
|
exports.parseSchemaRegions = parseSchemaRegions;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
29
|
+
* Non-ontology buckets that are still the operator's own work, so they are home
|
|
30
|
+
* on every brand. They carry no ontology row because they are not entity
|
|
31
|
+
* buckets. On a vertical with no `## Top-level node types` table
|
|
32
|
+
* (schema-knowledge-work) they are the whole of home.
|
|
33
|
+
*
|
|
34
|
+
* The membership test is "would the operator go looking for this?", not "who
|
|
35
|
+
* writes it". `output`, `generated` and `extracted` hold delivered work product;
|
|
36
|
+
* `sites` holds published websites; `uploads` holds what a client sent in. The
|
|
37
|
+
* shipped template groups those five under "tool-owned", but that is a rule
|
|
38
|
+
* about not reorganising their internals — a write constraint, not a reason to
|
|
39
|
+
* file them behind the platform's own plumbing. What stays out is genuinely
|
|
40
|
+
* internal: caches, state, logs, secrets, temp, the git and Claude control
|
|
41
|
+
* dirs, and plugin workspaces.
|
|
42
|
+
*
|
|
43
|
+
* Every name here is created at provision (provision-account-dir.sh `_seed_dirs`),
|
|
44
|
+
* so the standing home-parity audit finds them on disk rather than reporting
|
|
45
|
+
* them missing.
|
|
34
46
|
*
|
|
35
47
|
* Lives here rather than in either consumer because both the /data page and the
|
|
36
48
|
* standing reconcile audit must agree on the same set; a hand-synced copy in
|
|
37
49
|
* each build is precisely the drift this shared module exists to prevent.
|
|
38
50
|
*/
|
|
39
|
-
exports.HOME_FIXED = Object.freeze([
|
|
51
|
+
exports.HOME_FIXED = Object.freeze([
|
|
52
|
+
'projects', 'contacts', 'documents', 'output', 'generated', 'extracted', 'sites', 'uploads',
|
|
53
|
+
]);
|
|
40
54
|
const ONT_START = '<!-- ontology-buckets:start -->';
|
|
41
55
|
const ONT_END = '<!-- ontology-buckets:end -->';
|
|
42
56
|
const PLUGIN_START = '<!-- plugin-owned-dirs:start -->';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,17 +23,31 @@
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
26
|
+
* Non-ontology buckets that are still the operator's own work, so they are home
|
|
27
|
+
* on every brand. They carry no ontology row because they are not entity
|
|
28
|
+
* buckets. On a vertical with no `## Top-level node types` table
|
|
29
|
+
* (schema-knowledge-work) they are the whole of home.
|
|
30
|
+
*
|
|
31
|
+
* The membership test is "would the operator go looking for this?", not "who
|
|
32
|
+
* writes it". `output`, `generated` and `extracted` hold delivered work product;
|
|
33
|
+
* `sites` holds published websites; `uploads` holds what a client sent in. The
|
|
34
|
+
* shipped template groups those five under "tool-owned", but that is a rule
|
|
35
|
+
* about not reorganising their internals — a write constraint, not a reason to
|
|
36
|
+
* file them behind the platform's own plumbing. What stays out is genuinely
|
|
37
|
+
* internal: caches, state, logs, secrets, temp, the git and Claude control
|
|
38
|
+
* dirs, and plugin workspaces.
|
|
39
|
+
*
|
|
40
|
+
* Every name here is created at provision (provision-account-dir.sh `_seed_dirs`),
|
|
41
|
+
* so the standing home-parity audit finds them on disk rather than reporting
|
|
42
|
+
* them missing.
|
|
31
43
|
*
|
|
32
44
|
* Lives here rather than in either consumer because both the /data page and the
|
|
33
45
|
* standing reconcile audit must agree on the same set; a hand-synced copy in
|
|
34
46
|
* each build is precisely the drift this shared module exists to prevent.
|
|
35
47
|
*/
|
|
36
|
-
export const HOME_FIXED: readonly string[] = Object.freeze([
|
|
48
|
+
export const HOME_FIXED: readonly string[] = Object.freeze([
|
|
49
|
+
'projects', 'contacts', 'documents', 'output', 'generated', 'extracted', 'sites', 'uploads',
|
|
50
|
+
])
|
|
37
51
|
|
|
38
52
|
const ONT_START = '<!-- ontology-buckets:start -->'
|
|
39
53
|
const ONT_END = '<!-- ontology-buckets:end -->'
|
|
@@ -6,111 +6,147 @@ tools:
|
|
|
6
6
|
- name: system-status
|
|
7
7
|
publicAllowlist: false
|
|
8
8
|
adminAllowlist: false
|
|
9
|
+
riskClass: read
|
|
9
10
|
- name: public-hostname
|
|
10
11
|
publicAllowlist: false
|
|
11
12
|
adminAllowlist: false
|
|
13
|
+
riskClass: read
|
|
12
14
|
- name: admin-hostname
|
|
13
15
|
publicAllowlist: false
|
|
14
16
|
adminAllowlist: false
|
|
17
|
+
riskClass: read
|
|
15
18
|
- name: publish-site
|
|
16
19
|
publicAllowlist: false
|
|
17
20
|
adminAllowlist: false
|
|
21
|
+
riskClass: write_local
|
|
18
22
|
- name: brand-settings
|
|
19
23
|
publicAllowlist: false
|
|
20
24
|
adminAllowlist: false
|
|
25
|
+
riskClass: write_local
|
|
21
26
|
- name: account-manage
|
|
22
27
|
publicAllowlist: false
|
|
23
28
|
adminAllowlist: false
|
|
29
|
+
riskClass: write_local
|
|
24
30
|
- name: capabilities-here
|
|
25
31
|
publicAllowlist: false
|
|
26
32
|
adminAllowlist: false
|
|
33
|
+
riskClass: read
|
|
27
34
|
- name: account-update
|
|
28
35
|
publicAllowlist: false
|
|
29
36
|
adminAllowlist: false
|
|
37
|
+
riskClass: write_local
|
|
30
38
|
- name: account_list
|
|
31
39
|
publicAllowlist: false
|
|
32
40
|
adminAllowlist: true
|
|
41
|
+
riskClass: read
|
|
33
42
|
- name: account_roster
|
|
34
43
|
publicAllowlist: false
|
|
35
44
|
adminAllowlist: true
|
|
45
|
+
riskClass: read
|
|
36
46
|
- name: account_create
|
|
37
47
|
publicAllowlist: false
|
|
38
48
|
adminAllowlist: true
|
|
49
|
+
riskClass: write_local
|
|
39
50
|
- name: account_reassign_admin
|
|
40
51
|
publicAllowlist: false
|
|
41
52
|
adminAllowlist: true
|
|
53
|
+
riskClass: write_local
|
|
42
54
|
- name: account_set_owner_name
|
|
43
55
|
publicAllowlist: false
|
|
44
56
|
adminAllowlist: true
|
|
57
|
+
riskClass: write_local
|
|
45
58
|
- name: account_delete
|
|
46
59
|
publicAllowlist: false
|
|
47
60
|
adminAllowlist: true
|
|
61
|
+
riskClass: write_local
|
|
48
62
|
- name: account_purge
|
|
49
63
|
publicAllowlist: false
|
|
50
64
|
adminAllowlist: true
|
|
65
|
+
riskClass: write_local
|
|
51
66
|
- name: account_channel_routing
|
|
52
67
|
publicAllowlist: false
|
|
53
68
|
adminAllowlist: true
|
|
69
|
+
riskClass: read
|
|
54
70
|
- name: account_channel_routing_set
|
|
55
71
|
publicAllowlist: false
|
|
56
72
|
adminAllowlist: true
|
|
73
|
+
riskClass: write_local
|
|
57
74
|
- name: admin-add
|
|
58
75
|
publicAllowlist: false
|
|
59
76
|
adminAllowlist: true
|
|
77
|
+
riskClass: write_local
|
|
60
78
|
- name: admin-remove
|
|
61
79
|
publicAllowlist: false
|
|
62
80
|
adminAllowlist: true
|
|
81
|
+
riskClass: write_local
|
|
63
82
|
- name: admin-list
|
|
64
83
|
publicAllowlist: false
|
|
65
84
|
adminAllowlist: true
|
|
85
|
+
riskClass: read
|
|
66
86
|
- name: admin-update-pin
|
|
67
87
|
publicAllowlist: false
|
|
68
88
|
adminAllowlist: true
|
|
89
|
+
riskClass: write_local
|
|
69
90
|
- name: agent-list
|
|
70
91
|
publicAllowlist: false
|
|
71
92
|
adminAllowlist: true
|
|
93
|
+
riskClass: read
|
|
72
94
|
- name: agent-config-read
|
|
73
95
|
publicAllowlist: false
|
|
74
96
|
adminAllowlist: true
|
|
97
|
+
riskClass: read
|
|
75
98
|
- name: logs-read
|
|
76
99
|
publicAllowlist: false
|
|
77
100
|
adminAllowlist: false
|
|
101
|
+
riskClass: read
|
|
78
102
|
- name: cpu-triage-start
|
|
79
103
|
publicAllowlist: false
|
|
80
104
|
adminAllowlist: true
|
|
105
|
+
riskClass: exec
|
|
81
106
|
- name: cpu-triage-read
|
|
82
107
|
publicAllowlist: false
|
|
83
108
|
adminAllowlist: true
|
|
109
|
+
riskClass: read
|
|
84
110
|
- name: plugin-read
|
|
85
111
|
publicAllowlist: false
|
|
86
112
|
adminAllowlist: false
|
|
113
|
+
riskClass: read
|
|
87
114
|
- name: skill-load
|
|
88
115
|
publicAllowlist: false
|
|
89
116
|
adminAllowlist: true
|
|
117
|
+
riskClass: read
|
|
90
118
|
- name: skill-search
|
|
91
119
|
publicAllowlist: false
|
|
92
120
|
adminAllowlist: true
|
|
121
|
+
riskClass: read
|
|
93
122
|
- name: store-skill
|
|
94
123
|
publicAllowlist: false
|
|
95
124
|
adminAllowlist: true
|
|
125
|
+
riskClass: write_local
|
|
96
126
|
- name: session-reset
|
|
97
127
|
publicAllowlist: false
|
|
98
128
|
adminAllowlist: true
|
|
129
|
+
riskClass: write_local
|
|
99
130
|
- name: session-resume
|
|
100
131
|
publicAllowlist: false
|
|
101
132
|
adminAllowlist: true
|
|
133
|
+
riskClass: write_local
|
|
102
134
|
- name: action-pending
|
|
103
135
|
publicAllowlist: false
|
|
104
136
|
adminAllowlist: true
|
|
137
|
+
riskClass: read
|
|
105
138
|
- name: action-approve
|
|
106
139
|
publicAllowlist: false
|
|
107
140
|
adminAllowlist: true
|
|
141
|
+
riskClass: external
|
|
108
142
|
- name: action-reject
|
|
109
143
|
publicAllowlist: false
|
|
110
144
|
adminAllowlist: true
|
|
145
|
+
riskClass: write_local
|
|
111
146
|
- name: action-edit
|
|
112
147
|
publicAllowlist: false
|
|
113
148
|
adminAllowlist: true
|
|
149
|
+
riskClass: write_local
|
|
114
150
|
hidden:
|
|
115
151
|
- remote-auth-status
|
|
116
152
|
- remote-auth-set-password
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: platform-architecture
|
|
3
3
|
description: Use when grounding any documented-surface claim about what Maxy ships — plugins, skills, specialists, install/deploy flows, internals. This is the install catalogue, not evidence of what is enabled on the current account. For install state on this account, call `capabilities-here`; for documented surface, cite the `Source:` URL inline.
|
|
4
|
-
content-hash: sha256:
|
|
4
|
+
content-hash: sha256:a1e6cd6d7cccbf1c314340dd556761adf9aac772939fcd6a870265d0f7c00e1b
|
|
5
5
|
brand: maxy-code
|
|
6
6
|
product-name: Maxy
|
|
7
7
|
---
|
|
@@ -474,6 +474,32 @@ Skill content, plugin manifests, agent templates, and reference files reference
|
|
|
474
474
|
|
|
475
475
|
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.
|
|
476
476
|
|
|
477
|
+
## Tool risk classes (for plugin authors)
|
|
478
|
+
|
|
479
|
+
Every tool a plugin declares in its `PLUGIN.md` `tools:` block carries three mandatory
|
|
480
|
+
fields. `publicAllowlist` and `adminAllowlist` say who may call the tool. `riskClass`
|
|
481
|
+
says what happens when they do, and takes one of four values:
|
|
482
|
+
|
|
483
|
+
- `read` changes no state anywhere. A remote lookup counts as `read`; reaching the
|
|
484
|
+
network is not by itself consequential.
|
|
485
|
+
- `write_local` mutates account files or the graph on this device and transmits nothing.
|
|
486
|
+
- `exec` runs an operating-system command, or code supplied by the caller or the operator.
|
|
487
|
+
- `external` transmits to, or changes state on, a system outside this device, or delivers
|
|
488
|
+
a message to a person.
|
|
489
|
+
|
|
490
|
+
Leaving the field out is a refusal-to-boot condition, not a silent default. The platform
|
|
491
|
+
refuses to start rather than treat an undeclared consequence as harmless, because a tool
|
|
492
|
+
that quietly reads as `read` escapes every check downstream of it.
|
|
493
|
+
|
|
494
|
+
Declaring the class does not yet gate anything. It gives any consumer one honest answer
|
|
495
|
+
to the question "is this tool consequential?" without maintaining a list of tool names,
|
|
496
|
+
which is what the checks in `platform/plugins/admin/hooks/` have had to do until now.
|
|
497
|
+
|
|
498
|
+
A publish-time gate flags declarations that contradict what the tool's own name says it
|
|
499
|
+
does, and a boot line reports the census across all four classes. The classification
|
|
500
|
+
rule, the exception mechanism, and the diagnostic commands are in
|
|
501
|
+
`.docs/tool-risk-classes.md`.
|
|
502
|
+
|
|
477
503
|
## MCP Plugin Observability (for plugin authors)
|
|
478
504
|
|
|
479
505
|
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.
|
|
@@ -3277,9 +3303,29 @@ the Web Share API and is disabled where unavailable. Signals:
|
|
|
3277
3303
|
`[data-ui] op=mount header=operator home=absent`, `op=select-enter`,
|
|
3278
3304
|
`op=select-exit reason=<cancel|action>`, `op=share supported=<bool> count=<n>`.
|
|
3279
3305
|
|
|
3306
|
+
**The dashboard has a surface ramp and a display type tier.** Every page sits on
|
|
3307
|
+
a page plane, cards rise onto a raised plane, and inputs and scroll regions
|
|
3308
|
+
recede onto an inset plane. Each brand chooses how the card separates: SiteDesk's
|
|
3309
|
+
card is a shade lighter than its page and casts no shadow, Real Agent's card and
|
|
3310
|
+
page are both white and a shadow does the work. The page header is an inverted
|
|
3311
|
+
band carrying the page title at the display size. Colours, radii, shadows and
|
|
3312
|
+
type weights all come from the brand's own tokens; nothing is hardcoded, and a
|
|
3313
|
+
token that resolves to nothing fails the build rather than painting invisibly.
|
|
3314
|
+
|
|
3315
|
+
**Folders open beside a rail on a wide screen.** At 1280px and above the folder
|
|
3316
|
+
view splits in two: a list of the account's folders on the left, the files on
|
|
3317
|
+
the right, with the folder you are in highlighted. Below that width the rail is
|
|
3318
|
+
hidden and the breadcrumb does the same job.
|
|
3319
|
+
|
|
3320
|
+
**Status colours are shared.** Success, warning, error and info each carry a
|
|
3321
|
+
solid fill, a pale tint and a text colour for that tint. Every pairing meets the
|
|
3322
|
+
WCAG AA contrast minimum, on every brand.
|
|
3323
|
+
|
|
3280
3324
|
**`/data` opens on the account's own folders, as cards.** With no `#path=` in
|
|
3281
3325
|
the URL the browser lands on **home**: the account's business folders (the
|
|
3282
|
-
entity folders of its trade, plus
|
|
3326
|
+
entity folders of its trade, plus documents, projects, contacts, the work it
|
|
3327
|
+
has produced for you, anything a client has sent in, and any websites it
|
|
3328
|
+
has published) shown
|
|
3283
3329
|
one per card, each listing the first 20 things inside it and a `+N more` row
|
|
3284
3330
|
past that. Tapping a card opens that folder in the ordinary list or grid. There
|
|
3285
3331
|
are never loose files at this level. Everything the platform and its plugins
|
|
@@ -9,6 +9,13 @@ Invoked by the admin agent directly.
|
|
|
9
9
|
|
|
10
10
|
This is the platform's release timeline, newest first. Each entry shows the date it shipped and the version it shipped in, so you can tell the operator how current their install is. To compare, read the installed version from `capabilities-here` and match it against the versions below. Keep answers high level and in plain English; this is a summary, not a full commit log.
|
|
11
11
|
|
|
12
|
+
## 2026-07-25 (0.1.507)
|
|
13
|
+
|
|
14
|
+
- Chat now updates the moment a message or permission prompt arrives, instead of checking every couple of seconds.
|
|
15
|
+
- The dashboard has a visual refresh: cards now fill in properly instead of looking transparent.
|
|
16
|
+
- The Data page has a new two-pane view with a folder rail on wider screens, and uploads/sites are now correctly grouped under Home.
|
|
17
|
+
- Every assistant tool now carries a declared risk level, checked automatically so it cannot silently drift.
|
|
18
|
+
|
|
12
19
|
## 2026-07-25 (0.1.506)
|
|
13
20
|
|
|
14
21
|
- Fixed a bug where the Agents page and a few other admin screens could resolve the wrong account.
|
|
@@ -5,12 +5,15 @@ tools:
|
|
|
5
5
|
- name: aeo-emit-jsonld
|
|
6
6
|
publicAllowlist: false
|
|
7
7
|
adminAllowlist: true
|
|
8
|
+
riskClass: write_local
|
|
8
9
|
- name: aeo-write-llms-txt
|
|
9
10
|
publicAllowlist: false
|
|
10
11
|
adminAllowlist: true
|
|
12
|
+
riskClass: write_local
|
|
11
13
|
- name: aeo-audit-page
|
|
12
14
|
publicAllowlist: false
|
|
13
15
|
adminAllowlist: true
|
|
16
|
+
riskClass: write_local
|
|
14
17
|
skills:
|
|
15
18
|
- skills/structured-answer/SKILL.md
|
|
16
19
|
always: false
|
|
@@ -5,57 +5,75 @@ tools:
|
|
|
5
5
|
- name: browser-render
|
|
6
6
|
publicAllowlist: false
|
|
7
7
|
adminAllowlist: true
|
|
8
|
+
riskClass: read
|
|
8
9
|
- name: browser-navigate
|
|
9
10
|
publicAllowlist: false
|
|
10
11
|
adminAllowlist: true
|
|
12
|
+
riskClass: read
|
|
11
13
|
- name: browser-snapshot
|
|
12
14
|
publicAllowlist: false
|
|
13
15
|
adminAllowlist: true
|
|
16
|
+
riskClass: read
|
|
14
17
|
- name: browser-click
|
|
15
18
|
publicAllowlist: false
|
|
16
19
|
adminAllowlist: true
|
|
20
|
+
riskClass: external
|
|
17
21
|
- name: browser-fill
|
|
18
22
|
publicAllowlist: false
|
|
19
23
|
adminAllowlist: true
|
|
24
|
+
riskClass: external
|
|
20
25
|
- name: browser-fill-form
|
|
21
26
|
publicAllowlist: false
|
|
22
27
|
adminAllowlist: true
|
|
28
|
+
riskClass: external
|
|
23
29
|
- name: browser-type
|
|
24
30
|
publicAllowlist: false
|
|
25
31
|
adminAllowlist: true
|
|
32
|
+
riskClass: external
|
|
26
33
|
- name: browser-press-key
|
|
27
34
|
publicAllowlist: false
|
|
28
35
|
adminAllowlist: true
|
|
36
|
+
riskClass: external
|
|
29
37
|
- name: browser-hover
|
|
30
38
|
publicAllowlist: false
|
|
31
39
|
adminAllowlist: true
|
|
40
|
+
riskClass: read
|
|
32
41
|
- name: browser-select-option
|
|
33
42
|
publicAllowlist: false
|
|
34
43
|
adminAllowlist: true
|
|
44
|
+
riskClass: external
|
|
35
45
|
- name: browser-wait-for
|
|
36
46
|
publicAllowlist: false
|
|
37
47
|
adminAllowlist: true
|
|
48
|
+
riskClass: read
|
|
38
49
|
- name: browser-handle-dialog
|
|
39
50
|
publicAllowlist: false
|
|
40
51
|
adminAllowlist: true
|
|
52
|
+
riskClass: external
|
|
41
53
|
- name: browser-evaluate
|
|
42
54
|
publicAllowlist: false
|
|
43
55
|
adminAllowlist: true
|
|
56
|
+
riskClass: exec
|
|
44
57
|
- name: browser-console-messages
|
|
45
58
|
publicAllowlist: false
|
|
46
59
|
adminAllowlist: true
|
|
60
|
+
riskClass: read
|
|
47
61
|
- name: browser-tabs
|
|
48
62
|
publicAllowlist: false
|
|
49
63
|
adminAllowlist: true
|
|
64
|
+
riskClass: read
|
|
50
65
|
- name: browser-pdf-save
|
|
51
66
|
publicAllowlist: false
|
|
52
67
|
adminAllowlist: true
|
|
68
|
+
riskClass: write_local
|
|
53
69
|
- name: browser-screenshot
|
|
54
70
|
publicAllowlist: false
|
|
55
71
|
adminAllowlist: true
|
|
72
|
+
riskClass: write_local
|
|
56
73
|
- name: browser-resize
|
|
57
74
|
publicAllowlist: false
|
|
58
75
|
adminAllowlist: true
|
|
76
|
+
riskClass: read
|
|
59
77
|
always: true
|
|
60
78
|
embed: false
|
|
61
79
|
metadata: {"platform":{}}
|
|
@@ -5,15 +5,19 @@ tools:
|
|
|
5
5
|
- name: connector-register
|
|
6
6
|
publicAllowlist: false
|
|
7
7
|
adminAllowlist: true
|
|
8
|
+
riskClass: write_local
|
|
8
9
|
- name: connector-call
|
|
9
10
|
publicAllowlist: false
|
|
10
11
|
adminAllowlist: true
|
|
12
|
+
riskClass: external
|
|
11
13
|
- name: connector-list
|
|
12
14
|
publicAllowlist: false
|
|
13
15
|
adminAllowlist: true
|
|
16
|
+
riskClass: read
|
|
14
17
|
- name: connector-deregister
|
|
15
18
|
publicAllowlist: false
|
|
16
19
|
adminAllowlist: true
|
|
20
|
+
riskClass: write_local
|
|
17
21
|
metadata: {"platform":{"optional":true,"pluginKey":"connector"}}
|
|
18
22
|
mcp:
|
|
19
23
|
command: node
|