@aglyn/plugins-logic 1.0.0-beta.143 → 1.0.0-beta.144

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 (2) hide show
  1. package/README.md +51 -6
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -1,7 +1,52 @@
1
- # @aglyn/plugins-ui-data
1
+ # @aglyn/plugins-logic
2
2
 
3
- The Data feature plugin (AGL-313) the reference
4
- implementation of the console+UI feature-plugin pair (AGL-277). The
5
- `event-list` component moved here from `plugins-ui-mui`; legacy screen
6
- nodes persisted with pluginId `mui` keep rendering because resolution is
7
- by componentId.
3
+ The Logic plugin for Aglyn: the console surface for a site's variables and no-code functions, and the audit that finds references pointing at something that no longer exists. Install it if you run the Aglyn console and want that section; it is a first-party plugin, not a standalone library.
4
+
5
+ > Beta. Published from the Aglyn monorepo under the `beta` dist-tag; APIs can change between beta releases.
6
+
7
+ ## Install
8
+
9
+ npm install @aglyn/plugins-logic@beta
10
+
11
+ Peer dependencies: `react`, `@mui/material`, `firebase`.
12
+
13
+ ## What's in it
14
+
15
+ The plugin is console-only. Variables and functions resolve when a page renders, through the tenant runtime's compose pipeline, so the plugin adds no element to a published site and registers no API route.
16
+
17
+ **Console** (`registerLogicConsole`, the `console` registrar in `plugins.config.json`):
18
+
19
+ - A `Logic` nav item at `/logic`, whose page is headed "Functions & Variables". The page is code-split and loads when opened.
20
+ - Two widgets in the `besignerFunctions` slot, the variables card and the functions card, which the Besigner's functions drawer draws.
21
+ - A widget in the `workflowUsage` slot: the "where used" dialog, drawn in the zone the Automation page hosts for one workflow's dependents.
22
+
23
+ **Exports from `.`**
24
+
25
+ - `registerLogicConsole` and `BUNDLE_ID` (`'logic'`).
26
+ - `HostVariablesCard`, `HostFunctionsCard` and their props types, for an app that opens the cards itself.
27
+ - `auditHostReferences` with `ReferenceIssue`, `ReferenceAuditInput` and `ScreenAuditEntry`: a pure check of every reference an action, workflow, computed variable or screen holds against the ids and names that still exist.
28
+ - `parseParameterOptions` and `formatParameterOptions`: a function parameter's choice list as one line of text. The grammar itself lives in `@aglyn/aglyn`; these are the function builder's names for it.
29
+
30
+ ## Usage
31
+
32
+ The plugin is loaded through Aglyn's plugin manager: the console's generated loader manifest imports the package and calls the registrar named in `plugins.config.json`. An app that wires plugins by hand calls it once at startup:
33
+
34
+ ```ts
35
+ import { registerLogicConsole } from '@aglyn/plugins-logic'
36
+
37
+ registerLogicConsole()
38
+ ```
39
+
40
+ The audit is usable on its own:
41
+
42
+ ```ts
43
+ import { auditHostReferences, type ReferenceIssue } from '@aglyn/plugins-logic'
44
+ ```
45
+
46
+ ## How it fits
47
+
48
+ A plugin package (`scope:plugin`). It depends on the core (`@aglyn/aglyn`), the tenant client hooks (`@aglyn/tenant-feature-instance`) and generic `@aglyn/shared-*` packages. It imports no other plugin: what it shares with the workflows plugin goes through a core seam and a console zone. The core never imports it; the console reaches it only through the loader manifest and the slots it fills.
49
+
50
+ ## License
51
+
52
+ Apache-2.0. Source: https://github.com/aglyn/aglyn/tree/main/libs/plugins/logic
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aglyn/plugins-logic",
3
- "version": "1.0.0-beta.143",
3
+ "version": "1.0.0-beta.144",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://aglyn.com",
6
6
  "repository": {
@@ -25,12 +25,12 @@
25
25
  "./package.json": "./package.json"
26
26
  },
27
27
  "dependencies": {
28
- "@aglyn/aglyn": "1.0.0-beta.143",
29
- "@aglyn/shared-data-mdi": "1.0.0-beta.143",
30
- "@aglyn/shared-ui-jsx": "1.0.0-beta.143",
31
- "@aglyn/shared-ui-snackstack": "1.0.0-beta.143",
32
- "@aglyn/shared-util-timestamp": "1.0.0-beta.143",
33
- "@aglyn/tenant-feature-instance": "1.0.0-beta.143",
28
+ "@aglyn/aglyn": "1.0.0-beta.144",
29
+ "@aglyn/shared-data-mdi": "1.0.0-beta.144",
30
+ "@aglyn/shared-ui-jsx": "1.0.0-beta.144",
31
+ "@aglyn/shared-ui-snackstack": "1.0.0-beta.144",
32
+ "@aglyn/shared-util-timestamp": "1.0.0-beta.144",
33
+ "@aglyn/tenant-feature-instance": "1.0.0-beta.144",
34
34
  "@swc/helpers": "0.5.23"
35
35
  },
36
36
  "peerDependencies": {