@expert-council/pi-package 0.5.1 → 0.5.4
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/README.md +73 -8
- package/package.json +38 -11
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ In practice, the theoretically strongest model is not automatically the best exe
|
|
|
17
17
|
|
|
18
18
|
## Current status
|
|
19
19
|
|
|
20
|
-
The current release (0.5.
|
|
20
|
+
The current release (0.5.4) includes:
|
|
21
21
|
|
|
22
22
|
- A host-independent Core: configuration validation, model normalization, billing policy, profile layering, role scoring, task classification, dynamic team sizing, retry/escalation, and telemetry aggregation.
|
|
23
23
|
- An execution runtime built on Pi's current `ModelRuntime` and `createAgentSession` APIs.
|
|
@@ -29,7 +29,7 @@ The current release (0.5.1) includes:
|
|
|
29
29
|
- Runtime availability markers: when a call fails with dead-model evidence, the model is recorded into the persisted assessment and hard-rejected by later council building, delegation, and escalation; markers expire and are retried automatically after 24 hours.
|
|
30
30
|
- Provider session error surfacing: upstream denials such as `403 AccessDenied` are no longer swallowed; they return to the Main Agent with the real diagnostic and the correct failure class.
|
|
31
31
|
- Cross-process shared model assessment: with multiple instances running in parallel, availability markers become visible to each other without a restart.
|
|
32
|
-
- A Codex plugin with the shared Skill
|
|
32
|
+
- A self-contained Codex plugin with the shared Skill, stdio MCP Server, and tested Pi SDK runtime, using Codex's host-owned `codex/sandbox-state-meta` capability for workspace discovery (no hooks or global SDK lookup).
|
|
33
33
|
- Deterministic automated tests that never consume model quota.
|
|
34
34
|
|
|
35
35
|
## Architecture
|
|
@@ -97,7 +97,14 @@ pi update npm:@expert-council/pi-package
|
|
|
97
97
|
|
|
98
98
|
### Install the Codex plugin (optional)
|
|
99
99
|
|
|
100
|
-
To run Codex as the Main Agent,
|
|
100
|
+
To run Codex as the Main Agent, install the pinned prebuilt plugin directly from its Git marketplace; no repository clone or local build is required:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
codex plugin marketplace add Labiey/expert-council-router --ref v0.5.4 --json
|
|
104
|
+
codex plugin add expert-council@expert-council-router --json
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Fully restart Codex Desktop after installation. The plugin ships its own tested Pi SDK runtime, so the globally installed `pi` package is not used at runtime; Pi still must have been installed and configured once — or provider credentials placed manually under `~/.pi` — so the account and model catalog are available. See [Codex plugin](#codex-plugin) for Windows CLI discovery, verification, upgrade, and removal instructions.
|
|
101
108
|
|
|
102
109
|
### Build from source (development)
|
|
103
110
|
|
|
@@ -478,14 +485,15 @@ packages/codex-integration/plugin/expert-council/
|
|
|
478
485
|
skills/expert-council/SKILL.md
|
|
479
486
|
dist/server.mjs
|
|
480
487
|
dist/roles/*.md
|
|
488
|
+
THIRD_PARTY_NOTICES.md
|
|
481
489
|
```
|
|
482
490
|
|
|
483
491
|
### Installation
|
|
484
492
|
|
|
485
|
-
Release `v0.5.
|
|
493
|
+
Release `v0.5.2` includes both the prebuilt MCP server and its tested Pi SDK runtime, so Codex can install the plugin directly from the repository as a pinned Git marketplace. Node.js 22.19 or newer and an already configured Pi account/model catalog are required; cloning this repository, running `npm install`, or resolving a global `@earendil-works/pi-coding-agent` module is not required.
|
|
486
494
|
|
|
487
495
|
```bash
|
|
488
|
-
codex plugin marketplace add Labiey/expert-council-router --ref v0.5.
|
|
496
|
+
codex plugin marketplace add Labiey/expert-council-router --ref v0.5.4 --json
|
|
489
497
|
codex plugin marketplace list --json
|
|
490
498
|
codex plugin list --marketplace expert-council-router --available --json
|
|
491
499
|
codex plugin add expert-council@expert-council-router --json
|
|
@@ -511,7 +519,7 @@ if (-not $ecCodex) {
|
|
|
511
519
|
}
|
|
512
520
|
if (-not $ecCodex) { throw "Codex Desktop CLI was not found." }
|
|
513
521
|
|
|
514
|
-
& $ecCodex plugin marketplace add Labiey/expert-council-router --ref v0.5.
|
|
522
|
+
& $ecCodex plugin marketplace add Labiey/expert-council-router --ref v0.5.4 --json
|
|
515
523
|
& $ecCodex plugin marketplace list --json
|
|
516
524
|
& $ecCodex plugin list --marketplace expert-council-router --available --json
|
|
517
525
|
& $ecCodex plugin add "expert-council@expert-council-router" --json
|
|
@@ -522,7 +530,7 @@ Fully quit Codex Desktop, wait for its backend process to exit, reopen it, and s
|
|
|
522
530
|
|
|
523
531
|
For local plugin development, clone the repository, run `npm ci && npm run build`, and pass its absolute root to `codex plugin marketplace add` instead of the GitHub repository name. The pinned remote release is recommended for normal use.
|
|
524
532
|
|
|
525
|
-
A correct load exposes the `expert-council` Skill and all nine `expert_*` MCP tools. If the Skill is present but the tools are absent,
|
|
533
|
+
A correct load exposes the `expert-council` Skill and all nine `expert_*` MCP tools. `expert_inspect` must return a real inventory rather than a "No compatible Pi SDK is installed" diagnostic. If the Skill is present but the tools are absent, or inspection reports that diagnostic, verify that the marketplace is pinned to `v0.5.4` or newer, then restart or reinstall the plugin instead of launching `dist/server.mjs` manually or sending hand-written JSON-RPC.
|
|
526
534
|
|
|
527
535
|
To verify the installed workflow, use a new Codex task and ask:
|
|
528
536
|
|
|
@@ -562,7 +570,64 @@ codex plugin list --json
|
|
|
562
570
|
codex plugin marketplace list --json
|
|
563
571
|
```
|
|
564
572
|
|
|
565
|
-
|
|
573
|
+
If PowerShell cannot find `codex`, locate the Codex Desktop CLI first (while Codex Desktop is running its path can be taken from the process; otherwise fall back to the install directory):
|
|
574
|
+
|
|
575
|
+
```powershell
|
|
576
|
+
$ecCodex = Get-Process codex -ErrorAction SilentlyContinue |
|
|
577
|
+
Where-Object Path |
|
|
578
|
+
Select-Object -First 1 -ExpandProperty Path
|
|
579
|
+
|
|
580
|
+
if (-not $ecCodex) {
|
|
581
|
+
$ecCodex = Get-ChildItem (Join-Path $env:LOCALAPPDATA "OpenAI\Codex") `
|
|
582
|
+
-Filter codex.exe -File -Recurse -ErrorAction SilentlyContinue |
|
|
583
|
+
Sort-Object LastWriteTime -Descending |
|
|
584
|
+
Select-Object -First 1 -ExpandProperty FullName
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
if (-not $ecCodex) {
|
|
588
|
+
throw "Codex Desktop's codex.exe was not found."
|
|
589
|
+
}
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
Then uninstall through the located CLI:
|
|
593
|
+
|
|
594
|
+
```powershell
|
|
595
|
+
& $ecCodex plugin remove "expert-council@expert-council-router" --json
|
|
596
|
+
& $ecCodex plugin marketplace remove "expert-council-router" --json
|
|
597
|
+
|
|
598
|
+
& $ecCodex plugin list --json
|
|
599
|
+
& $ecCodex plugin marketplace list --json
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
If the plugin still shows after reopening Codex Desktop, close Codex and safely remove the stale Expert Council caches (only `%USERPROFILE%\.codex\plugins\cache\expert-council-*` is touched):
|
|
603
|
+
|
|
604
|
+
```powershell
|
|
605
|
+
$ecCacheRoot = [IO.Path]::GetFullPath(
|
|
606
|
+
(Join-Path $env:USERPROFILE ".codex\plugins\cache")
|
|
607
|
+
)
|
|
608
|
+
$ecCachePrefix = $ecCacheRoot.TrimEnd("\") + "\"
|
|
609
|
+
|
|
610
|
+
$ecTargets = Get-ChildItem -LiteralPath $ecCacheRoot `
|
|
611
|
+
-Directory -ErrorAction SilentlyContinue |
|
|
612
|
+
Where-Object Name -Like "expert-council-*"
|
|
613
|
+
|
|
614
|
+
foreach ($ecTarget in $ecTargets) {
|
|
615
|
+
$ecResolved = [IO.Path]::GetFullPath($ecTarget.FullName)
|
|
616
|
+
|
|
617
|
+
if (
|
|
618
|
+
$ecResolved.StartsWith(
|
|
619
|
+
$ecCachePrefix,
|
|
620
|
+
[StringComparison]::OrdinalIgnoreCase
|
|
621
|
+
) -and
|
|
622
|
+
(Split-Path $ecResolved -Leaf) -like "expert-council-*"
|
|
623
|
+
) {
|
|
624
|
+
Write-Host "Removing cache: $ecResolved"
|
|
625
|
+
Remove-Item -LiteralPath $ecResolved -Recurse -Force
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
Fully quit Codex Desktop before starting new tasks.
|
|
566
631
|
|
|
567
632
|
## Testing
|
|
568
633
|
|
package/package.json
CHANGED
|
@@ -1,24 +1,51 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expert-council/pi-package",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.5.4",
|
|
4
|
+
"description": "Expert Council: cost-aware multi-model expert orchestration for Pi — assemble a council of scout, oracle, implementation-worker, and reviewer experts and delegate bounded tasks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/extension.js",
|
|
7
7
|
"types": "./dist/extension.d.ts",
|
|
8
|
-
"files": [
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"skills",
|
|
11
|
+
"README.md",
|
|
12
|
+
"LICENSE"
|
|
13
|
+
],
|
|
9
14
|
"license": "MIT",
|
|
10
|
-
"repository": {
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/Labiey/expert-council-router.git",
|
|
18
|
+
"directory": "packages/pi-package"
|
|
19
|
+
},
|
|
11
20
|
"homepage": "https://github.com/Labiey/expert-council-router#readme",
|
|
12
|
-
"bugs": {
|
|
13
|
-
|
|
14
|
-
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/Labiey/expert-council-router/issues"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"pi-package",
|
|
26
|
+
"pi-extension",
|
|
27
|
+
"expert-council",
|
|
28
|
+
"council",
|
|
29
|
+
"multi-agent",
|
|
30
|
+
"agent-orchestration",
|
|
31
|
+
"multi-model",
|
|
32
|
+
"codex",
|
|
33
|
+
"mcp"
|
|
34
|
+
],
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public"
|
|
37
|
+
},
|
|
15
38
|
"pi": {
|
|
16
|
-
"extensions": [
|
|
17
|
-
|
|
39
|
+
"extensions": [
|
|
40
|
+
"./dist/extension.js"
|
|
41
|
+
],
|
|
42
|
+
"skills": [
|
|
43
|
+
"./skills"
|
|
44
|
+
]
|
|
18
45
|
},
|
|
19
46
|
"dependencies": {
|
|
20
|
-
"@expert-council/core": "0.5.
|
|
21
|
-
"@expert-council/pi-runtime": "0.5.
|
|
47
|
+
"@expert-council/core": "0.5.4",
|
|
48
|
+
"@expert-council/pi-runtime": "0.5.4"
|
|
22
49
|
},
|
|
23
50
|
"peerDependencies": {
|
|
24
51
|
"@earendil-works/pi-coding-agent": ">=0.84.0 <1",
|