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.
- package/CHANGELOG.md +378 -0
- package/LICENSE +21 -0
- package/README.md +213 -0
- package/dist/manifest.js +98 -0
- package/dist/ui/demo-data.json +4636 -0
- package/dist/ui/index.js +18634 -0
- package/dist/worker.js +31671 -0
- package/package.json +81 -0
package/dist/manifest.js
ADDED
|
@@ -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
|