@rubytech/create-sitedesk-code 0.1.351 → 0.1.352
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 +1 -1
- package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
- package/payload/platform/plugins/admin/hooks/lib/maxy-mcp-plugins.txt +1 -0
- package/payload/platform/plugins/admin/mcp/dist/__tests__/capabilities-here.test.js +27 -10
- package/payload/platform/plugins/admin/mcp/dist/__tests__/capabilities-here.test.js.map +1 -1
- package/payload/platform/plugins/admin/skills/agent-builder/references/agent-pattern.md +1 -1
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +40 -2
- package/payload/platform/plugins/connector/.claude-plugin/plugin.json +21 -0
- package/payload/platform/plugins/connector/PLUGIN.md +55 -0
- package/payload/platform/plugins/connector/lib/mcp-spawn-tee/index.js +193 -0
- package/payload/platform/plugins/connector/lib/mcp-spawn-tee/package.json +3 -0
- package/payload/platform/plugins/connector/mcp/dist/index.d.ts +2 -0
- package/payload/platform/plugins/connector/mcp/dist/index.d.ts.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/index.js +119 -0
- package/payload/platform/plugins/connector/mcp/dist/index.js.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/call.d.ts +36 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/call.d.ts.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/call.js +84 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/call.js.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/redact.d.ts +10 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/redact.d.ts.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/redact.js +29 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/redact.js.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/ssrf.d.ts +18 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/ssrf.d.ts.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/ssrf.js +94 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/ssrf.js.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/store.d.ts +25 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/store.d.ts.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/store.js +63 -0
- package/payload/platform/plugins/connector/mcp/dist/lib/store.js.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/scripts/audit-connectors.d.ts +9 -0
- package/payload/platform/plugins/connector/mcp/dist/scripts/audit-connectors.d.ts.map +1 -0
- package/payload/platform/plugins/connector/mcp/dist/scripts/audit-connectors.js +63 -0
- package/payload/platform/plugins/connector/mcp/dist/scripts/audit-connectors.js.map +1 -0
- package/payload/platform/plugins/connector/mcp/package.json +10 -0
- package/payload/platform/plugins/docs/references/connector.md +33 -0
- package/payload/platform/plugins/docs/references/getting-started.md +1 -1
- package/payload/platform/scripts/check-agent-contract.mjs +97 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +5 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
- package/payload/platform/templates/agents/admin/IDENTITY.md +4 -0
- package/payload/platform/templates/specialists/agents/citation-auditor.md +5 -1
- package/payload/platform/templates/specialists/agents/coding-assistant.md +8 -0
- package/payload/platform/templates/specialists/agents/compiled-truth-rewriter.md +4 -0
- package/payload/platform/templates/specialists/agents/content-producer.md +8 -0
- package/payload/platform/templates/specialists/agents/data-manager.md +9 -1
- package/payload/platform/templates/specialists/agents/database-operator.md +12 -0
- package/payload/platform/templates/specialists/agents/librarian.md +9 -1
- package/payload/platform/templates/specialists/agents/personal-assistant.md +8 -0
- package/payload/platform/templates/specialists/agents/project-manager.md +8 -0
- package/payload/platform/templates/specialists/agents/public-session-reviewer.md +9 -1
- package/payload/platform/templates/specialists/agents/research-assistant.md +8 -0
- package/payload/platform/templates/specialists/agents/typed-edge-classifier.md +4 -2
- package/payload/premium-plugins/sitedesk/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/sitedesk/BUNDLE.md +8 -5
- package/payload/premium-plugins/sitedesk/PLUGIN.md +8 -6
- package/payload/premium-plugins/sitedesk/agents/sitedesk--media-producer.md +50 -0
- package/payload/premium-plugins/sitedesk/agents/sitedesk--payroll-clerk.md +45 -0
- package/payload/premium-plugins/sitedesk/agents/sitedesk--quoter.md +45 -0
- package/payload/premium-plugins/sitedesk/agents/sitedesk--valuer.md +45 -0
- package/payload/premium-plugins/sitedesk/agents/worker-checkin/IDENTITY.md +12 -0
- package/payload/premium-plugins/writer-craft/agents/writer-craft--manuscript-reviewer.md +12 -0
- package/payload/server/public/assets/{AdminLoginScreens-B1cvICYI.js → AdminLoginScreens-lt72mYrz.js} +1 -1
- package/payload/server/public/assets/{admin-DF9JDP6a.js → admin-DzLxv-nz.js} +1 -1
- package/payload/server/public/assets/admin-types-DJoj6VJv.js +1 -0
- package/payload/server/public/assets/chat-B9aNK1FG.js +1 -0
- package/payload/server/public/assets/{operator-CqKk6Twn.js → operator-MASl7IqX.js} +1 -1
- package/payload/server/public/assets/{page-Bfm1FN4n.js → page-CZy33qUH.js} +1 -1
- package/payload/server/public/assets/{public-D5lkOp3H.js → public-77Ubicd7.js} +1 -1
- package/payload/server/public/chat.html +3 -3
- package/payload/server/public/index.html +3 -3
- package/payload/server/public/operator.html +4 -4
- package/payload/server/public/public.html +3 -3
- package/payload/server/server.js +30 -1
- package/payload/premium-plugins/sitedesk/agents/sitedesk--site-manager.md +0 -45
- package/payload/server/public/assets/admin-types-Dg11L4MQ.js +0 -1
- package/payload/server/public/assets/chat-C4hHkcTu.js +0 -1
package/payload/server/server.js
CHANGED
|
@@ -5179,8 +5179,10 @@ var AUDIO_MIME_TYPES = /* @__PURE__ */ new Set([
|
|
|
5179
5179
|
"audio/opus",
|
|
5180
5180
|
"audio/webm",
|
|
5181
5181
|
"audio/mp4",
|
|
5182
|
+
"audio/x-m4a",
|
|
5182
5183
|
"audio/mpeg",
|
|
5183
|
-
"audio/wav"
|
|
5184
|
+
"audio/wav",
|
|
5185
|
+
"video/mp4"
|
|
5184
5186
|
]);
|
|
5185
5187
|
function normalizeMime(mimeType) {
|
|
5186
5188
|
return mimeType.split(";")[0].trim().toLowerCase();
|
|
@@ -5198,10 +5200,14 @@ function audioExtension(mimeType) {
|
|
|
5198
5200
|
return ".webm";
|
|
5199
5201
|
case "audio/mp4":
|
|
5200
5202
|
return ".m4a";
|
|
5203
|
+
case "audio/x-m4a":
|
|
5204
|
+
return ".m4a";
|
|
5201
5205
|
case "audio/mpeg":
|
|
5202
5206
|
return ".mp3";
|
|
5203
5207
|
case "audio/wav":
|
|
5204
5208
|
return ".wav";
|
|
5209
|
+
case "video/mp4":
|
|
5210
|
+
return ".mp4";
|
|
5205
5211
|
default:
|
|
5206
5212
|
return ".audio";
|
|
5207
5213
|
}
|
|
@@ -22505,6 +22511,29 @@ console.log(`${BRAND.productName} listening on http://${hostname}:${port}`);
|
|
|
22505
22511
|
const loop = setInterval(runReconcile, RECONCILE_INTERVAL_MS);
|
|
22506
22512
|
loop.unref();
|
|
22507
22513
|
}
|
|
22514
|
+
{
|
|
22515
|
+
const auditPlatformRoot = process.env.MAXY_PLATFORM_ROOT ?? join31(__dirname, "..");
|
|
22516
|
+
const auditScript = resolve34(auditPlatformRoot, "plugins/connector/mcp/dist/scripts/audit-connectors.js");
|
|
22517
|
+
const auditLogDir = process.env.LOG_DIR ?? LOG_DIR;
|
|
22518
|
+
const CONNECTOR_AUDIT_INTERVAL_MS = 3e5;
|
|
22519
|
+
const runConnectorAudit = () => {
|
|
22520
|
+
if (!existsSync31(auditScript)) return;
|
|
22521
|
+
try {
|
|
22522
|
+
const child = spawn3(process.execPath, [auditScript], {
|
|
22523
|
+
env: { ...process.env, PLATFORM_ROOT: auditPlatformRoot, LOG_DIR: auditLogDir },
|
|
22524
|
+
stdio: "inherit"
|
|
22525
|
+
});
|
|
22526
|
+
child.unref();
|
|
22527
|
+
child.on("error", (err) => console.error(`[connector-audit] spawn-failed err="${err.message}"`));
|
|
22528
|
+
} catch (err) {
|
|
22529
|
+
console.error(`[connector-audit] spawn-failed err="${err.message}"`);
|
|
22530
|
+
}
|
|
22531
|
+
};
|
|
22532
|
+
const firstAudit = setTimeout(runConnectorAudit, 3e4);
|
|
22533
|
+
firstAudit.unref();
|
|
22534
|
+
const auditLoop = setInterval(runConnectorAudit, CONNECTOR_AUDIT_INTERVAL_MS);
|
|
22535
|
+
auditLoop.unref();
|
|
22536
|
+
}
|
|
22508
22537
|
{
|
|
22509
22538
|
const census = pwaCensus({
|
|
22510
22539
|
shellHtml: (file) => {
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: site-manager
|
|
3
|
-
description: "SiteDesk back-office manager. Delegate when the task is any SiteDesk job or media work — pricing or quoting a job, setting up a job and issuing its interim valuation, rolling up field workers' daily check-ins into per-worker timesheets and invoices, or turning an operator's photos, website and notes into a marketing micro-site plus social tiles. Owns both sitedesk sub-plugins end to end."
|
|
4
|
-
summary: "Your SiteDesk manager — runs the operator's quoting and interim-valuation workflows and the marketing micro-site + social-tile pipeline."
|
|
5
|
-
model: claude-sonnet-4-6
|
|
6
|
-
tools: Skill, Read, Write, Edit, Bash, Glob, Grep, WebFetch, mcp__plugin_memory_memory__memory-search, mcp__plugin_memory_memory__memory-lookup-by-name, mcp__plugin_memory_memory__memory-node-exists, mcp__plugin_memory_memory__memory-find-candidates, mcp__plugin_memory_memory__memory-write, mcp__plugin_memory_memory__memory-update, mcp__plugin_memory_memory__memory-update-by-name, mcp__plugin_memory_memory__memory-edge, mcp__plugin_memory_memory__memory-ingest-extract, mcp__plugin_memory_memory__memory-ingest, mcp__plugin_memory_memory__memory-delete, mcp__plugin_memory_memory__memory-restore, mcp__plugin_memory_memory__memory-reindex, mcp__plugin_browser_browser__browser-render, mcp__plugin_browser_browser__browser-navigate, mcp__plugin_browser_browser__browser-evaluate, mcp__plugin_browser_browser__browser-resize, mcp__plugin_browser_browser__browser-screenshot, mcp__plugin_browser_browser__browser-wait-for
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# SiteDesk Site Manager
|
|
10
|
-
|
|
11
|
-
## Doctrine
|
|
12
|
-
|
|
13
|
-
Never run uncommanded git writes. `git init`, `git commit`, `git add`, `git stash`, `git reset`, `git checkout`, and branch mutations are forbidden unless the operator named the action in this turn. If a harness precondition demands a git state you don't have, stop and report — never improvise a repo or commit.
|
|
14
|
-
|
|
15
|
-
You are the SiteDesk manager — the single owner of the SiteDesk back office for an independent service business (a building contractor and the like). You own both sub-plugins: `sitedesk-job` (the operator's own pricing, quoting and interim-valuation method) and `sitedesk-media` (the marketing micro-site and social-tile pipeline). The admin agent dispatches a brief to you; you run the right skill and return the result.
|
|
16
|
-
|
|
17
|
-
You never invent the operator's business content. Pricing rules, rates, job figures, brand facts and copy are the operator's data — you capture them, ask for what is missing, and apply them faithfully. A figure you cannot source is a gap you flag, not a number you guess.
|
|
18
|
-
|
|
19
|
-
## What you own
|
|
20
|
-
|
|
21
|
-
Load each skill on demand with the `Skill` tool; it carries its own method. You own every skill in both sub-plugins:
|
|
22
|
-
|
|
23
|
-
| Skill | Sub-plugin | What it does |
|
|
24
|
-
|-------|------------|--------------|
|
|
25
|
-
| `quotation` | `sitedesk-job` | Capture the operator's own pricing/quotation method (items, quantity rules, pricing rules, roll-up, documents) and apply it to produce a live quote. One skill builds the method and applies it — there is no separate quote-generation surface. |
|
|
26
|
-
| `valuation` | `sitedesk-job` | Set up a job and issue its recurring interim valuation (progress claim) from carried state and a per-cycle delta, with a deterministic roll-up that reconciles to the penny. Not for one-shot new-enquiry quotes — that is `quotation`. |
|
|
27
|
-
| `timesheet` | `sitedesk-job` | Turn field workers' daily check-ins into per-worker timesheets and CIS invoices for a period, reconciled to the penny, emailed to the office. Operator-run. |
|
|
28
|
-
| `make-media` | `sitedesk-media` | Single-entry orchestrator: intake → ask the gaps → `brand-extract` → `microsite` → `socials`. Use when the deliverable is "a website and social images for this business" from mixed source material. |
|
|
29
|
-
| `brand-extract` | `sitedesk-media` | Turn an existing website into a brand pack — tokenized palette, logo/icon image files, and a `brand.md` of company facts plus an explicit "still unknown" list. |
|
|
30
|
-
| `microsite` | `sitedesk-media` | Build the scrollable single-page micro-site (`site/` directory: `index.html` + `llms.txt`, with JSON-LD) from the placeholder template, brand pack, photos and copy. |
|
|
31
|
-
| `socials` | `sitedesk-media` | Render exact-size Open Graph and social tiles (1200×628, 1200×1200, 1080×1350) as PNG for a named subject — micro-site, job, valuation, or bespoke — with a PII gate for any client-data source, a gallery with download links, captions for all five platforms, and a redaction report; wires the site's `og:image` for micro-sites. Drives the on-device `browser` plugin to screenshot each tile at its exact viewport. |
|
|
32
|
-
|
|
33
|
-
When the operator asks for the full marketing deliverable, run `make-media` — it orchestrates the other three media skills. Run the individual media skills directly only when the upstream output already exists. For job work, `quotation` and `valuation` are independent entry points; pick by whether the operator wants a new quote or an interim valuation on a running job.
|
|
34
|
-
|
|
35
|
-
## Output contract
|
|
36
|
-
|
|
37
|
-
Return to the admin agent:
|
|
38
|
-
- **The artefact** — the quote total and documents, the interim-valuation roll-up, or the path to the built `site/` and `socials/` output, with the specific figures or files named.
|
|
39
|
-
- **What you asked and what you assumed** — every gap you filled by asking, and any value the source supplied so the operator can check it.
|
|
40
|
-
- **Gaps** — anything you could not source, flagged explicitly rather than guessed.
|
|
41
|
-
- **Next steps** — what the result implies (e.g. "ready to send", "needs the operator's VAT number"), but never an action beyond the brief.
|
|
42
|
-
|
|
43
|
-
## Plain-English rule
|
|
44
|
-
|
|
45
|
-
Write every operator-facing line — quote summaries, captions, status — in plain spoken English. No em-dashes, no inflation vocabulary (discover, unlock, nestled, stunning, boasts, bespoke-where-it-isn't), no "it's not X, it's Y", no rhetorical openers, no emoji faking enthusiasm. Read each line aloud; if it sounds like a marketing bot, rewrite it.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html,text/calendar,application/zip,application/x-zip-compressed,audio/ogg,audio/opus,audio/mp4,audio/mpeg,audio/webm,audio/wav,.opus,.ogg,.m4a,.mp3,.wav,.webm`,t=new Set(e.split(`,`).filter(e=>!e.startsWith(`.`))),n=50*1024*1024;function r(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}export{r as i,n,t as r,e as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e,V as t}from"./OperatorConversations-CfG1EYyP.js";import"./admin-types-Dg11L4MQ.js";import"./AdminShell-B-GeoG3j.js";import{n}from"./page-Bfm1FN4n.js";var r=t(),i=e();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));
|