@karmaniverous/jeeves-meta-openclaw 0.12.8 → 0.13.1

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/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { resolvePluginSetting, fetchJson, postJson, ok, connectionFail, createPluginToolset, resolveWorkspacePath, init, loadWorkspaceConfig, WORKSPACE_CONFIG_DEFAULTS, createAsyncContentCache, jeevesComponentDescriptorSchema, getPackageVersion, createComponentWriter } from '@karmaniverous/jeeves';
1
+ import { resolvePluginSetting, resolveOptionalPluginSetting, fetchJson, postJson, ok, connectionFail, createPluginToolset, resolveWorkspacePath, init, loadWorkspaceConfig, WORKSPACE_CONFIG_DEFAULTS, createAsyncContentCache, jeevesComponentDescriptorSchema, getPackageVersion, createComponentWriter } from '@karmaniverous/jeeves';
2
2
  import { phaseNames, getEndpoint, META_COMPONENT } from '@karmaniverous/jeeves-meta-core';
3
3
 
4
4
  /**
@@ -20,7 +20,11 @@ function getServiceUrl(api) {
20
20
  }
21
21
  /** Resolve the platform config root. */
22
22
  function getConfigRoot(api) {
23
- return resolvePluginSetting(api, PLUGIN_ID, 'configRoot', 'JEEVES_CONFIG_ROOT', 'j:/config');
23
+ const value = resolveOptionalPluginSetting(api, PLUGIN_ID, 'configRoot', 'JEEVES_CONFIG_ROOT');
24
+ if (!value) {
25
+ throw new Error('configRoot not configured — set it in plugin config or via JEEVES_CONFIG_ROOT env var');
26
+ }
27
+ return value;
24
28
  }
25
29
 
26
30
  /**
@@ -110,7 +114,7 @@ async function generateMetaMenu(client) {
110
114
  }
111
115
  }
112
116
  const parts = [];
113
- for (const state of ['fresh', 'pending', 'running', 'failed']) {
117
+ for (const state of ['fresh', 'pending', 'running', 'stale', 'failed']) {
114
118
  if (totals[state]) {
115
119
  parts.push(totals[state].toString() + ' ' + state);
116
120
  }
@@ -132,7 +136,7 @@ async function generateMetaMenu(client) {
132
136
  }
133
137
  }
134
138
  if (failedParts.length > 0) {
135
- phaseLines.push('> Failed: ' +
139
+ phaseLines.push(' Failed: ' +
136
140
  failedParts.slice(0, 10).join(', ') +
137
141
  (failedParts.length > 10
138
142
  ? ' (+' + (failedParts.length - 10).toString() + ' more)'
@@ -529,7 +533,7 @@ function buildMetaUpdateTool(client, baseUrl) {
529
533
  },
530
534
  updates: {
531
535
  type: 'object',
532
- description: 'Properties to set. Supported: _steer, _emphasis, _depth, _crossRefs, _disabled, _architectTimeout, _builderTimeout, _criticTimeout. Set to null to remove.',
536
+ description: 'Properties to set. Supported: _steer, _emphasis, _depth, _crossRefs, _disabled. Set to null to remove.',
533
537
  properties: {
534
538
  _steer: { type: ['string', 'null'] },
535
539
  _emphasis: { type: ['number', 'null'] },
@@ -541,9 +545,6 @@ function buildMetaUpdateTool(client, baseUrl) {
541
545
  ],
542
546
  },
543
547
  _disabled: { type: ['boolean', 'null'] },
544
- _architectTimeout: { type: ['number', 'null'] },
545
- _builderTimeout: { type: ['number', 'null'] },
546
- _criticTimeout: { type: ['number', 'null'] },
547
548
  },
548
549
  },
549
550
  },
@@ -109,8 +109,7 @@ modify `_crossRefs` — without editing `meta.json` directly on the filesystem.
109
109
  **Parameters:**
110
110
  - `path` (required): `.meta/` or owner directory path.
111
111
  - `updates` (required): Object with properties to set. Supported:
112
- `_steer`, `_emphasis`, `_depth`, `_crossRefs`, `_disabled`,
113
- `_architectTimeout`, `_builderTimeout`, `_criticTimeout`.
112
+ `_steer`, `_emphasis`, `_depth`, `_crossRefs`, `_disabled`.
114
113
  Set a value to `null` to remove the property.
115
114
 
116
115
  ### meta_queue
@@ -146,7 +145,6 @@ compatibility.
146
145
  - **Disabling a meta:** `meta_update` with path and `updates: { _disabled: true }`
147
146
  - **Re-enabling a meta:** `meta_update` with path and `updates: { _disabled: null }`
148
147
  - **Changing steer via API:** `meta_update` with path and `updates: { _steer: "new focus" }`
149
- - **Setting per-entity timeouts:** `meta_update` with path and `updates: { _builderTimeout: 600 }`
150
148
  - **Reading synthesis output:** Use `watcher_search` filtered by the properties
151
149
  configured in `metaProperty` (e.g. `{ "domains": ["meta"] }` in production).
152
150
  The default properties are `{ _meta: "current" }` for live metas and
@@ -210,9 +208,6 @@ Key settings:
210
208
  | `depthWeight` | 0.5 | Exponent for depth-based scheduling (0 = pure staleness) |
211
209
  | `maxArchive` | 20 | Max archived snapshots per meta |
212
210
  | `maxLines` | 500 | Max lines for builder context |
213
- | `architectTimeout` | 180s | Architect subprocess timeout |
214
- | `builderTimeout` | 360s | Builder subprocess timeout |
215
- | `criticTimeout` | 240s | Critic subprocess timeout |
216
211
  | `skipUnchanged` | true | Skip candidates with no changes since last synthesis |
217
212
  | `thinking` | `low` | Thinking level for spawned LLM sessions |
218
213
  | `port` | 1938 | HTTP API listen port |
@@ -296,12 +291,12 @@ to override the defaults for that specific entity.
296
291
  **Template variables:** All prompts (default, config-overridden, and per-meta)
297
292
  are compiled as Handlebars templates at synthesis time with access to:
298
293
 
299
- - `{{config.builderTimeout}}`, `{{config.maxLines}}`, `{{config.architectEvery}}`, etc.
294
+ - `{{config.maxLines}}`, `{{config.architectEvery}}`, etc.
300
295
  - `{{scope.fileCount}}`, `{{scope.deltaCount}}`, `{{scope.childCount}}`, `{{scope.crossRefCount}}`
301
296
  - `{{meta._depth}}`, `{{meta._emphasis}}`
302
297
 
303
298
  The architect prompt can write template expressions into its `_builder` output
304
- using escaped syntax (`\{{config.builderTimeout}}`). These pass through the
299
+ using escaped syntax (`\{{config.maxLines}}`). These pass through the
305
300
  architect compilation as literal `{{...}}` text and resolve when the builder
306
301
  prompt is compiled.
307
302
 
@@ -355,14 +350,7 @@ creation. It is an array of policy rules, each with the shape:
355
350
  `_crossRefs` in the seeded `meta.json`.
356
351
  - **`parentDepth`** (optional, default 0) — walk up this many extra parent
357
352
  levels from the matched file's directory.
358
- - **`architectTimeout`** (optional) per-category timeout override for
359
- the architect phase (seconds, min 30).
360
- - **`builderTimeout`** (optional) — per-category timeout override for
361
- the builder phase (seconds, min 30).
362
- - **`criticTimeout`** (optional) — per-category timeout override for
363
- the critic phase (seconds, min 30).
364
-
365
- **Evaluation order:** Rules are processed in array order. If multiple rules
353
+ **Evaluation order: Rules are processed in array order. If multiple rules
366
354
  match the same directory, the last match wins for `steer` and `crossRefs`.
367
355
 
368
356
  **Behavior:**
@@ -666,8 +654,7 @@ progressive work is not lost on timeout — only the content update is skipped.
666
654
  **Fix:**
667
655
  1. Check if `_state` advanced (partial recovery succeeded) — subsequent
668
656
  cycles can continue from where the builder left off
669
- 2. Increase timeout in config (`architectTimeout`, `builderTimeout`,
670
- `criticTimeout`)
657
+ 2. Check the gateway's `agents.defaults.subagents.runTimeoutSeconds` setting and increase it if needed
671
658
  3. Check if the LLM provider is slow or rate-limited
672
659
  4. Check scope size: large scopes with many files take longer
673
660
 
@@ -72,9 +72,6 @@ export declare class MetaServiceClient {
72
72
  _depth?: number | null;
73
73
  _crossRefs?: string[] | null;
74
74
  _disabled?: boolean | null;
75
- _architectTimeout?: number | null;
76
- _builderTimeout?: number | null;
77
- _criticTimeout?: number | null;
78
75
  }): Promise<unknown>;
79
76
  /** GET /metas/:path — detail for a single meta. */
80
77
  detail(metaPath: string, options?: {
@@ -2,7 +2,7 @@
2
2
  "id": "jeeves-meta-openclaw",
3
3
  "name": "Jeeves Meta",
4
4
  "description": "Knowledge synthesis tools — trigger synthesis, view status, manage entities.",
5
- "version": "0.12.8",
5
+ "version": "0.13.1",
6
6
  "skills": [
7
7
  "dist/skills/jeeves-meta"
8
8
  ],
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@karmaniverous/jeeves": "^0.5.12",
11
- "@karmaniverous/jeeves-meta-core": "^0.1.3"
11
+ "@karmaniverous/jeeves-meta-core": "^0.2.0"
12
12
  },
13
13
  "description": "OpenClaw plugin for jeeves-meta — synthesis tools and virtual rule registration",
14
14
  "devDependencies": {
@@ -112,5 +112,5 @@
112
112
  },
113
113
  "type": "module",
114
114
  "types": "dist/index.d.ts",
115
- "version": "0.12.8"
115
+ "version": "0.13.1"
116
116
  }