paperclip-plugin-plica 0.5.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.
@@ -0,0 +1,98 @@
1
+ // src/plugin-id.ts
2
+ var PLUGIN_ID = "nickallevato.plugin-plica";
3
+
4
+ // src/manifest.ts
5
+ var manifest = {
6
+ id: PLUGIN_ID,
7
+ apiVersion: 1,
8
+ version: "0.5.0",
9
+ displayName: "Plica",
10
+ description: "Cross-company HUD: company panes, triage, approvals, attention, and briefing.",
11
+ // The manifest schema has no homepage/repository fields — `author` is a plain
12
+ // string — so the links ride inline here, and also live in package.json.
13
+ author: "nickallevato (https://allevato.io \xB7 https://github.com/nickallevato)",
14
+ categories: ["ui"],
15
+ capabilities: [
16
+ // Required to register the UI surfaces below. The host validates these
17
+ // separately from the zod schema, in plugin-capability-validator.ts:
18
+ // a `page` slot requires ui.page.register, and a `globalToolbarButton`
19
+ // slot requires ui.action.register.
20
+ "ui.page.register",
21
+ "ui.action.register",
22
+ // Company data the HUD surfaces.
23
+ "companies.read",
24
+ "projects.read",
25
+ "issues.read",
26
+ "agents.read",
27
+ "approvals.read",
28
+ "activity.read"
29
+ ],
30
+ /**
31
+ * Demo mode, rendered by the host as a form on the plugin's settings page
32
+ * (ui/src/pages/PluginSettings.tsx auto-generates it from this schema).
33
+ *
34
+ * With `demoMode` on, Plica serves every read from a static fixture instead
35
+ * of the instance's real API, so the HUD can be screenshotted or demoed
36
+ * without exposing real company names, tickets, or agent chatter. Writes
37
+ * (approve, reject, comment) mutate the in-memory fixture and never reach
38
+ * the server.
39
+ *
40
+ * Host plugin config is stored per company, and Plica is a cross-company
41
+ * page — so reading this costs one `/api/companies` call to learn which
42
+ * config row to ask for. Nothing real is rendered while that resolves, and
43
+ * the `?demo=1` URL parameter skips the lookup entirely (see
44
+ * `src/ui/demo/demo-mode.ts`), which is the switch to reach for mid-demo.
45
+ */
46
+ instanceConfigSchema: {
47
+ type: "object",
48
+ properties: {
49
+ demoMode: {
50
+ type: "boolean",
51
+ title: "Demo mode",
52
+ description: "Serve the HUD from bundled dummy data instead of this instance's real companies. For screenshots and demos.",
53
+ default: false
54
+ },
55
+ demoDataUrl: {
56
+ type: "string",
57
+ title: "Demo data URL",
58
+ description: "Override where the fixture is fetched from. Defaults to the demo-data.json shipped with the plugin."
59
+ }
60
+ },
61
+ additionalProperties: true
62
+ },
63
+ entrypoints: {
64
+ worker: "./dist/worker.js",
65
+ ui: "./dist/ui"
66
+ },
67
+ ui: {
68
+ slots: [
69
+ {
70
+ type: "page",
71
+ id: "plica-page",
72
+ displayName: "Plica",
73
+ exportName: "PlicaPage",
74
+ routePath: "plica"
75
+ },
76
+ {
77
+ // The BreadcrumbBar zone, which Layout renders above every page — the
78
+ // only outlet outside a company's sidebar, which suits a view that
79
+ // spans companies.
80
+ //
81
+ // A slot rather than a launcher: launcher declarations carry no icon
82
+ // field, so a launcher here would render a bare label. Slot components
83
+ // draw their own markup, which is how the Plica mark survives
84
+ // (src/ui/components/PlicaMark.tsx).
85
+ type: "globalToolbarButton",
86
+ id: "plica-toolbar-button",
87
+ displayName: "Plica",
88
+ exportName: "PlicaToolbarButton"
89
+ }
90
+ ]
91
+ }
92
+ };
93
+ var manifest_default = manifest;
94
+ export {
95
+ PLUGIN_ID,
96
+ manifest_default as default
97
+ };
98
+ //# sourceMappingURL=manifest.js.map