@uluops/setup 0.12.0 → 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/CHANGELOG.md +59 -0
- package/README.md +10 -1
- package/dist/harnesses/codex.js +17 -4
- package/dist/lib/display.js +1 -1
- package/dist/lib/mcp-packages.d.ts +4 -4
- package/dist/lib/mcp-packages.js +2 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,65 @@ All notable changes to `@uluops/setup` will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.13.1] - 2026-09-17
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Bundle `@uluops/agent-metrics` 0.11.0 (previously 0.8.0) for metrics hook
|
|
12
|
+
installs and refreshes, including the Codex extraction and discovery fixes.
|
|
13
|
+
- Pin tracker MCP to 0.20.1, which uses ops-sdk 6.5.2 and preserves harness,
|
|
14
|
+
token components and raw model identity across the metrics transport path.
|
|
15
|
+
- Pin registry MCP to 0.8.0 (previously 0.3.7), verified against the published
|
|
16
|
+
package's tool registry and all four harness config writers. Its read-tool
|
|
17
|
+
approval list remains compatible.
|
|
18
|
+
- Seed the tracker read tools `get_org_audit_feed`, `get_project_log` and
|
|
19
|
+
`get_log_stat` in fresh Codex configs. Existing custom tool approvals remain
|
|
20
|
+
untouched.
|
|
21
|
+
|
|
22
|
+
- **`@uluops/ops-mcp` pin 0.17.2 → 0.20.0** (`OPS_MCP_VERSION`). Stale since ops-mcp 0.18.0
|
|
23
|
+
(org routing, 2026-09-14): fresh installs were stamping a server with no `org` argument on
|
|
24
|
+
any tool and none of the `get_project_log` / `get_log_stat` reads that 0.20.0 added
|
|
25
|
+
(ulu log Phase 5). Nothing checks this pin against npm; it was found by the ulu log
|
|
26
|
+
Phase 7 residue list, not by a test.
|
|
27
|
+
- **Setup banner tagline** `operating intelligence as infrastructure` → `the operations layer
|
|
28
|
+
for agentic work` (messaging foundation 0.5.3 §4.1/§4.10 — the banner is an agent-read
|
|
29
|
+
surface, and the category string is the same on every surface by decision D6). uluops.ai's
|
|
30
|
+
install walkthrough mirrors this line and was changed in the same day's commit, so the
|
|
31
|
+
site shows the banner of this release, not of 0.13.0, until this ships.
|
|
32
|
+
|
|
33
|
+
## [0.13.0] - 2026-09-11
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- **`@uluops/ops-mcp` pin 0.13.0 → 0.17.2** (`OPS_MCP_VERSION`). Every harness
|
|
38
|
+
writer stamps this into the MCP config, so this is the release that moves
|
|
39
|
+
first-launch users off a server that **silently stripped `cluster_key`** from
|
|
40
|
+
every recommendation on `save_run` / `update_run` / `validate_run` — the
|
|
41
|
+
schema was a plain `z.object()` and never declared the field, so within-run
|
|
42
|
+
convergence was recorded as NULL and read by the tracker as a collapsing
|
|
43
|
+
pipeline (ops-mcp 0.17.2 changelog; tracker issue `105c478f`). The jump also
|
|
44
|
+
crosses ops-mcp's 0.17.0 breaking train (strict ops-sdk 6.0.0; `list_agents`
|
|
45
|
+
and the list/query tools now return the `{data, total}` envelope; `get_run`
|
|
46
|
+
is a 14-key read projection). Setup itself calls none of these tools, but an
|
|
47
|
+
MCP client written against the 0.13.0 shapes will see the difference on
|
|
48
|
+
first launch after reattestation. Harness configs already on disk keep
|
|
49
|
+
resolving 0.13.0 until `npx @uluops/setup` runs again.
|
|
50
|
+
- **Codex read-tool seed gains `preview_update_run`** (`src/harnesses/codex.ts`).
|
|
51
|
+
A read tool since ops-mcp 0.14 (2026-08-21) that the hand-maintained
|
|
52
|
+
`TRACKER_READ_TOOLS` list never picked up — three setup releases seeded a
|
|
53
|
+
Codex config that prompted on first use of it. Nothing checks this list
|
|
54
|
+
against the pinned package; the comment now says so, and deriving it is
|
|
55
|
+
tracked separately. Seeded only on fresh Codex configs, as before.
|
|
56
|
+
|
|
57
|
+
### Not changed — deliberately
|
|
58
|
+
|
|
59
|
+
- **`@uluops/registry-mcp` stays pinned at 0.3.7** while npm `latest` is
|
|
60
|
+
0.8.0. Two trees publish under that name — `packages/-uluops-registry-mcp`
|
|
61
|
+
(0.3.7) and `uluops-registry-mcp` (0.8.0), the latter being the live
|
|
62
|
+
registry registration's copy — and the 0.3.7 → 0.8.0 span has not been
|
|
63
|
+
validated against setup's Codex read-tool seed or the harness writers. That
|
|
64
|
+
is its own bump with its own changelog entry, not a rider on this one.
|
|
65
|
+
|
|
7
66
|
## [0.12.0] - 2026-08-21
|
|
8
67
|
|
|
9
68
|
### Added
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
**[UluOps](https://uluops.ai)** ·
|
|
1
|
+
**[UluOps](https://uluops.ai)** · The operations layer for agentic work
|
|
2
2
|
|
|
3
3
|
---
|
|
4
4
|
|
|
@@ -18,6 +18,15 @@ npx @uluops/setup
|
|
|
18
18
|
|
|
19
19
|
## Supported harnesses
|
|
20
20
|
|
|
21
|
+
Setup 0.13.1 bundles agent-metrics **0.11.0** for hook installation and pins
|
|
22
|
+
tracker MCP **0.20.1** and registry MCP **0.8.0** in generated configs. Tracker
|
|
23
|
+
MCP uses ops-sdk **6.5.2**. Re-run setup to refresh existing configs and hook
|
|
24
|
+
files, then restart the affected MCP connections in your harness.
|
|
25
|
+
|
|
26
|
+
Optional global CLI installs resolve npm's current release when the CLI is
|
|
27
|
+
absent. Setup preserves an existing global CLI rather than upgrading it;
|
|
28
|
+
update existing `@uluops/cli` or `@uluops/agent-metrics` global installs with npm.
|
|
29
|
+
|
|
21
30
|
| Harness | Status | Alias | Config |
|
|
22
31
|
|---------|--------|-------|--------|
|
|
23
32
|
| Claude Code | Fully supported (default) | `claude` | `~/.claude.json` |
|
package/dist/harnesses/codex.js
CHANGED
|
@@ -25,10 +25,19 @@ const RAW_TOML = "__rawToml";
|
|
|
25
25
|
* Only read-side tools are seeded. Writes still prompt — the user retains a
|
|
26
26
|
* choice point on every state-changing operation. Lists mirror the
|
|
27
27
|
* `sideEffects: 'read'` declarations in the respective server's tool-registry
|
|
28
|
-
* (sources of truth:
|
|
29
|
-
* uluops-
|
|
30
|
-
*
|
|
31
|
-
*
|
|
28
|
+
* (sources of truth: the tool-registry.ts of whichever copy OPS_MCP_SPEC /
|
|
29
|
+
* REGISTRY_MCP_SPEC actually pin — `@uluops/ops-mcp` is published from
|
|
30
|
+
* packages/-uluops-ops-mcp, NOT from ops-uluops-mcp, which is the live
|
|
31
|
+
* tracker registration's copy; the two are twins but not the same tree).
|
|
32
|
+
* If a new read tool ships there, add it here in the same PR — Codex users
|
|
33
|
+
* will silently get a prompt on first use otherwise.
|
|
34
|
+
*
|
|
35
|
+
* This list is hand-maintained and nothing checks it against the pinned
|
|
36
|
+
* package: `preview_update_run` (a read tool since ops-mcp 0.14, 2026-08-21)
|
|
37
|
+
* was absent here until the 0.17.2 pin bump on 2026-09-11 — three setup
|
|
38
|
+
* releases stamped a seed missing one read tool. The package's exports map
|
|
39
|
+
* exposes only its server entry, so a derived test needs ops-mcp to export
|
|
40
|
+
* its registry first; tracked separately.
|
|
32
41
|
*/
|
|
33
42
|
const TRACKER_READ_TOOLS = [
|
|
34
43
|
"diff_runs",
|
|
@@ -44,8 +53,11 @@ const TRACKER_READ_TOOLS = [
|
|
|
44
53
|
"get_issue_details",
|
|
45
54
|
"get_issue_history",
|
|
46
55
|
"get_latest_run",
|
|
56
|
+
"get_log_stat",
|
|
57
|
+
"get_org_audit_feed",
|
|
47
58
|
"get_project",
|
|
48
59
|
"get_project_analysis",
|
|
60
|
+
"get_project_log",
|
|
49
61
|
"get_project_summary",
|
|
50
62
|
"get_project_trends",
|
|
51
63
|
"get_run",
|
|
@@ -56,6 +68,7 @@ const TRACKER_READ_TOOLS = [
|
|
|
56
68
|
"list_agents",
|
|
57
69
|
"list_projects",
|
|
58
70
|
"list_runs",
|
|
71
|
+
"preview_update_run",
|
|
59
72
|
"query_analysis_records",
|
|
60
73
|
"query_issues",
|
|
61
74
|
"search_issues",
|
package/dist/lib/display.js
CHANGED
|
@@ -17,7 +17,7 @@ export function printHarnessHeader(displayName) {
|
|
|
17
17
|
export function printSetupBanner(version, targetSummary) {
|
|
18
18
|
console.log();
|
|
19
19
|
console.log(` ${chalk.dim("⟨u⟩")} ${chalk.cyan.bold("ulu")}${chalk.bold("·ops")}`);
|
|
20
|
-
console.log(` ${chalk.dim("
|
|
20
|
+
console.log(` ${chalk.dim("the operations layer for agentic work")}`);
|
|
21
21
|
console.log();
|
|
22
22
|
console.log(` Setup v${version} — ${chalk.bold(targetSummary)}`);
|
|
23
23
|
console.log();
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
* MCP launch. A pin is not a publish; the probe is what enforces that here.
|
|
23
23
|
*/
|
|
24
24
|
export declare const OPS_MCP_PACKAGE = "@uluops/ops-mcp";
|
|
25
|
-
export declare const OPS_MCP_VERSION = "0.
|
|
26
|
-
export declare const OPS_MCP_SPEC: "@uluops/ops-mcp@0.
|
|
25
|
+
export declare const OPS_MCP_VERSION = "0.20.1";
|
|
26
|
+
export declare const OPS_MCP_SPEC: "@uluops/ops-mcp@0.20.1";
|
|
27
27
|
export declare const REGISTRY_MCP_PACKAGE = "@uluops/registry-mcp";
|
|
28
|
-
export declare const REGISTRY_MCP_VERSION = "0.
|
|
29
|
-
export declare const REGISTRY_MCP_SPEC: "@uluops/registry-mcp@0.
|
|
28
|
+
export declare const REGISTRY_MCP_VERSION = "0.8.0";
|
|
29
|
+
export declare const REGISTRY_MCP_SPEC: "@uluops/registry-mcp@0.8.0";
|
|
30
30
|
/** Probe targets: the pinned versions the harness will actually resolve. */
|
|
31
31
|
export declare const MCP_PROBE_TARGETS: readonly {
|
|
32
32
|
pkg: string;
|
package/dist/lib/mcp-packages.js
CHANGED
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
* MCP launch. A pin is not a publish; the probe is what enforces that here.
|
|
23
23
|
*/
|
|
24
24
|
export const OPS_MCP_PACKAGE = "@uluops/ops-mcp";
|
|
25
|
-
export const OPS_MCP_VERSION = "0.
|
|
25
|
+
export const OPS_MCP_VERSION = "0.20.1";
|
|
26
26
|
export const OPS_MCP_SPEC = `${OPS_MCP_PACKAGE}@${OPS_MCP_VERSION}`;
|
|
27
27
|
export const REGISTRY_MCP_PACKAGE = "@uluops/registry-mcp";
|
|
28
|
-
export const REGISTRY_MCP_VERSION = "0.
|
|
28
|
+
export const REGISTRY_MCP_VERSION = "0.8.0";
|
|
29
29
|
export const REGISTRY_MCP_SPEC = `${REGISTRY_MCP_PACKAGE}@${REGISTRY_MCP_VERSION}`;
|
|
30
30
|
/** Probe targets: the pinned versions the harness will actually resolve. */
|
|
31
31
|
export const MCP_PROBE_TARGETS = [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uluops/setup",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"description": "Zero-friction installer for UluOps agentic harnesses",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@inquirer/prompts": "8.6.0",
|
|
52
|
-
"@uluops/agent-metrics": "0.
|
|
52
|
+
"@uluops/agent-metrics": "0.11.0",
|
|
53
53
|
"chalk": "5.6.2",
|
|
54
54
|
"commander": "15.0.0",
|
|
55
55
|
"jsonc-parser": "3.3.1"
|