@mestreyoda/fabrica 0.2.11 → 0.2.13
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/ARCHITECTURE.md +12 -6
- package/CHANGELOG.md +13 -0
- package/README.md +39 -18
- package/dist/index.js +4503 -722
- package/package.json +6 -3
package/ARCHITECTURE.md
CHANGED
|
@@ -63,17 +63,23 @@ Important invariants:
|
|
|
63
63
|
|
|
64
64
|
## Installation model
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
Fabrica is distributed as a self-contained OpenClaw plugin package.
|
|
67
|
+
|
|
68
|
+
The supported operator path is:
|
|
67
69
|
|
|
68
70
|
```bash
|
|
69
|
-
openclaw plugins install
|
|
71
|
+
openclaw plugins install @mestreyoda/fabrica
|
|
70
72
|
```
|
|
71
73
|
|
|
72
|
-
|
|
74
|
+
The installed extension must be loadable in isolation. Fabrica may depend on
|
|
75
|
+
OpenClaw only through the plugin host ABI and runtime objects passed by the
|
|
76
|
+
host. It must not require manual symlinks, local `npm install`, or host-global
|
|
77
|
+
module resolution to load.
|
|
73
78
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
79
|
+
External credentials and routes such as GitHub auth, Telegram chat IDs, and
|
|
80
|
+
webhook secrets are operational configuration, not installation dependencies.
|
|
81
|
+
Fabrica's `doctor` and `setup` flows guide and validate that operational
|
|
82
|
+
configuration where applicable.
|
|
77
83
|
|
|
78
84
|
## Operational notes
|
|
79
85
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.13 - 2026-03-31
|
|
4
|
+
|
|
5
|
+
- Disabled automatic pretty logging on TTY so the plugin no longer depends on `pino-pretty` during load.
|
|
6
|
+
- Added a safe one-shot fallback to structured logs when pretty transport resolution or initialization fails.
|
|
7
|
+
- Added logger transport regression coverage and promoted it into the hot-path test lane.
|
|
8
|
+
|
|
9
|
+
## 0.2.12 - 2026-03-31
|
|
10
|
+
|
|
11
|
+
- Made the published plugin self-contained by replacing remaining runtime helper imports from `openclaw/plugin-sdk`.
|
|
12
|
+
- Added release gates for runtime-boundary and isolated installability verification, with fail-closed behavior, timeouts, and cleanup.
|
|
13
|
+
- Documented the real install contract and workspace-scoped operational setup flow in the package README and architecture notes.
|
|
14
|
+
- Aligned local deploy to the same contract by removing the extension `node_modules` symlink fallback.
|
|
15
|
+
|
|
3
16
|
## 0.2.11 - 2026-03-31
|
|
4
17
|
|
|
5
18
|
- Unified reviewer completion around the canonical `Review result: APPROVE|REJECT` contract.
|
package/README.md
CHANGED
|
@@ -64,6 +64,9 @@ The heartbeat ticks every 60 seconds. On each tick, Fabrica alternates between a
|
|
|
64
64
|
openclaw plugins install @mestreyoda/fabrica
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
+
That install should be enough for OpenClaw to load Fabrica immediately, without
|
|
68
|
+
manual remediation.
|
|
69
|
+
|
|
67
70
|
### Via GitHub clone
|
|
68
71
|
|
|
69
72
|
```bash
|
|
@@ -74,35 +77,53 @@ openclaw plugins install -l ~/fabrica
|
|
|
74
77
|
After installation, verify the plugin loaded correctly:
|
|
75
78
|
|
|
76
79
|
```bash
|
|
77
|
-
openclaw plugins
|
|
78
|
-
openclaw fabrica doctor
|
|
80
|
+
openclaw plugins inspect fabrica
|
|
79
81
|
```
|
|
80
82
|
|
|
83
|
+
## Loadability vs operational readiness
|
|
84
|
+
|
|
85
|
+
- **Loadable:** the plugin installs and OpenClaw can load it immediately.
|
|
86
|
+
- **Operational:** Fabrica has the GitHub, Telegram, and optional webhook
|
|
87
|
+
configuration needed for your workflow.
|
|
88
|
+
|
|
89
|
+
`openclaw plugins inspect fabrica` is the loadability check after install.
|
|
90
|
+
`openclaw fabrica doctor` runs once the plugin is loaded and checks the
|
|
91
|
+
operational/workspace state, then tells you what is still missing.
|
|
92
|
+
|
|
81
93
|
## Quick start
|
|
82
94
|
|
|
83
|
-
**1.
|
|
95
|
+
**1. Install Fabrica**:
|
|
84
96
|
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
97
|
+
```bash
|
|
98
|
+
openclaw plugins install @mestreyoda/fabrica
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
The plugin should load immediately after install, without manual remediation.
|
|
102
|
+
|
|
103
|
+
**2. Confirm loadability**:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
openclaw plugins inspect fabrica
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**3. Configure operational state for a workspace**:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
openclaw fabrica doctor workspace --workspace /path/to/workspace
|
|
113
|
+
openclaw fabrica setup --workspace /path/to/workspace --new-agent fabrica
|
|
95
114
|
```
|
|
96
115
|
|
|
97
|
-
|
|
116
|
+
Use `openclaw fabrica setup --agent <id>` if you already have an agent. GitHub,
|
|
117
|
+
Telegram, and webhook behavior are separate operational concerns, not
|
|
118
|
+
installation dependencies.
|
|
98
119
|
|
|
99
|
-
**
|
|
120
|
+
**4. Restart the gateway**:
|
|
100
121
|
|
|
101
122
|
```bash
|
|
102
123
|
systemctl --user restart openclaw-gateway.service
|
|
103
124
|
```
|
|
104
125
|
|
|
105
|
-
**
|
|
126
|
+
**5. Trigger a new project programmatically**:
|
|
106
127
|
|
|
107
128
|
```bash
|
|
108
129
|
cd ~/fabrica # GitHub clone install only
|
|
@@ -114,13 +135,13 @@ npx tsx scripts/genesis-trigger.ts "A CLI tool that counts words in a file" \
|
|
|
114
135
|
|
|
115
136
|
Remove `--dry-run` to execute for real.
|
|
116
137
|
|
|
117
|
-
**
|
|
138
|
+
**6. Watch the pipeline run**:
|
|
118
139
|
|
|
119
140
|
```bash
|
|
120
141
|
tail -f ~/.openclaw/workspace/logs/genesis.log
|
|
121
142
|
```
|
|
122
143
|
|
|
123
|
-
**
|
|
144
|
+
**7. Check metrics**:
|
|
124
145
|
|
|
125
146
|
```bash
|
|
126
147
|
openclaw fabrica metrics
|