@xynogen/pix-core 0.5.16 → 0.5.19
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/package.json +29 -25
- package/src/extension.ts +31 -35
- package/src/once.test.ts +3 -3
package/package.json
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xynogen/pix-core",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.19",
|
|
4
4
|
"description": "Pi extension bundle — installs and activates all core pix-* extensions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/extension.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/extension.ts",
|
|
9
|
+
"./extension": "./src/extension.ts"
|
|
10
|
+
},
|
|
7
11
|
"pi": {
|
|
8
12
|
"extensions": [
|
|
9
13
|
"src/extension.ts"
|
|
@@ -38,31 +42,31 @@
|
|
|
38
42
|
"access": "public"
|
|
39
43
|
},
|
|
40
44
|
"dependencies": {
|
|
41
|
-
"@xynogen/pix-runtime": "^0.
|
|
42
|
-
"@xynogen/pix-data": "^0.4.
|
|
43
|
-
"@xynogen/pix-pretty": "^1.
|
|
44
|
-
"@xynogen/pix-welcome": "^0.
|
|
45
|
-
"@xynogen/pix-footer": "^0.
|
|
46
|
-
"@xynogen/pix-diagnostics": "^0.
|
|
45
|
+
"@xynogen/pix-runtime": "^0.8.0",
|
|
46
|
+
"@xynogen/pix-data": "^0.4.6",
|
|
47
|
+
"@xynogen/pix-pretty": "^1.17.2",
|
|
48
|
+
"@xynogen/pix-welcome": "^0.2.0",
|
|
49
|
+
"@xynogen/pix-footer": "^0.2.0",
|
|
50
|
+
"@xynogen/pix-diagnostics": "^0.2.0",
|
|
47
51
|
"@xynogen/pix-display": "^0.1.16",
|
|
48
|
-
"@xynogen/pix-prompts": "^0.
|
|
49
|
-
"@xynogen/pix-skills": "^0.7.
|
|
50
|
-
"@xynogen/pix-models": "^0.
|
|
51
|
-
"@xynogen/pix-update": "^0.
|
|
52
|
-
"@xynogen/pix-commands": "^0.
|
|
53
|
-
"@xynogen/pix-nudge": "^0.
|
|
54
|
-
"@xynogen/pix-read": "^0.
|
|
55
|
-
"@xynogen/pix-write": "^0.
|
|
56
|
-
"@xynogen/pix-edit": "^0.
|
|
57
|
-
"@xynogen/pix-find": "^0.
|
|
58
|
-
"@xynogen/pix-grep": "^0.
|
|
59
|
-
"@xynogen/pix-ls": "^0.
|
|
60
|
-
"@xynogen/pix-bash": "^0.
|
|
61
|
-
"@xynogen/pix-todo": "^0.1.
|
|
62
|
-
"@xynogen/pix-ask": "^0.2.
|
|
63
|
-
"@xynogen/pix-optimizer": "^1.1.
|
|
64
|
-
"@xynogen/pix-gate": "^0.2.
|
|
65
|
-
"@xynogen/pix-subagent": "^0.
|
|
52
|
+
"@xynogen/pix-prompts": "^0.4.0",
|
|
53
|
+
"@xynogen/pix-skills": "^0.7.17",
|
|
54
|
+
"@xynogen/pix-models": "^0.2.0",
|
|
55
|
+
"@xynogen/pix-update": "^0.2.0",
|
|
56
|
+
"@xynogen/pix-commands": "^0.5.0",
|
|
57
|
+
"@xynogen/pix-nudge": "^0.2.0",
|
|
58
|
+
"@xynogen/pix-read": "^0.2.0",
|
|
59
|
+
"@xynogen/pix-write": "^0.2.0",
|
|
60
|
+
"@xynogen/pix-edit": "^0.2.0",
|
|
61
|
+
"@xynogen/pix-find": "^0.2.0",
|
|
62
|
+
"@xynogen/pix-grep": "^0.2.0",
|
|
63
|
+
"@xynogen/pix-ls": "^0.2.0",
|
|
64
|
+
"@xynogen/pix-bash": "^0.2.0",
|
|
65
|
+
"@xynogen/pix-todo": "^0.1.27",
|
|
66
|
+
"@xynogen/pix-ask": "^0.2.22",
|
|
67
|
+
"@xynogen/pix-optimizer": "^1.1.26",
|
|
68
|
+
"@xynogen/pix-gate": "^0.2.10",
|
|
69
|
+
"@xynogen/pix-subagent": "^0.7.0"
|
|
66
70
|
},
|
|
67
71
|
"peerDependencies": {
|
|
68
72
|
"@earendil-works/pi-ai": "*",
|
package/src/extension.ts
CHANGED
|
@@ -6,46 +6,44 @@
|
|
|
6
6
|
* activate its members by importing each one's extension factory and invoking
|
|
7
7
|
* it against the same `pi` host.
|
|
8
8
|
*
|
|
9
|
-
* Every member
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* Every member exposes a default-exported `(pi) => void` factory through its
|
|
10
|
+
* public root or `./extension` subpath. One `pi install npm:@xynogen/pix-core`
|
|
11
|
+
* then boots all of them.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
15
15
|
import { createLocalBashOperations } from "@earendil-works/pi-coding-agent";
|
|
16
|
-
import registerAsk from "@xynogen/pix-ask
|
|
17
|
-
import registerBash from "@xynogen/pix-bash/
|
|
18
|
-
import registerCommands from "@xynogen/pix-commands/
|
|
19
|
-
import registerData from "@xynogen/pix-data
|
|
20
|
-
import registerDiagnostics from "@xynogen/pix-diagnostics/
|
|
21
|
-
import registerDisplay from "@xynogen/pix-display
|
|
22
|
-
import registerEdit from "@xynogen/pix-edit/
|
|
23
|
-
import registerFind from "@xynogen/pix-find/
|
|
24
|
-
import registerFooter from "@xynogen/pix-footer/
|
|
25
|
-
import registerGate from "@xynogen/pix-gate
|
|
26
|
-
import registerGrep from "@xynogen/pix-grep/
|
|
27
|
-
import registerLs from "@xynogen/pix-ls/
|
|
28
|
-
import registerModels from "@xynogen/pix-models/
|
|
29
|
-
import registerNudge from "@xynogen/pix-nudge/
|
|
30
|
-
import registerOptimizer from "@xynogen/pix-optimizer
|
|
16
|
+
import registerAsk from "@xynogen/pix-ask";
|
|
17
|
+
import registerBash from "@xynogen/pix-bash/extension";
|
|
18
|
+
import registerCommands from "@xynogen/pix-commands/extension";
|
|
19
|
+
import registerData from "@xynogen/pix-data";
|
|
20
|
+
import registerDiagnostics from "@xynogen/pix-diagnostics/extension";
|
|
21
|
+
import registerDisplay from "@xynogen/pix-display";
|
|
22
|
+
import registerEdit from "@xynogen/pix-edit/extension";
|
|
23
|
+
import registerFind from "@xynogen/pix-find/extension";
|
|
24
|
+
import registerFooter from "@xynogen/pix-footer/extension";
|
|
25
|
+
import registerGate from "@xynogen/pix-gate";
|
|
26
|
+
import registerGrep from "@xynogen/pix-grep/extension";
|
|
27
|
+
import registerLs from "@xynogen/pix-ls/extension";
|
|
28
|
+
import registerModels from "@xynogen/pix-models/extension";
|
|
29
|
+
import registerNudge from "@xynogen/pix-nudge/extension";
|
|
30
|
+
import registerOptimizer from "@xynogen/pix-optimizer";
|
|
31
31
|
import registerPretty from "@xynogen/pix-pretty";
|
|
32
|
-
import registerPrompts from "@xynogen/pix-prompts/
|
|
33
|
-
import registerRead from "@xynogen/pix-read/
|
|
32
|
+
import registerPrompts from "@xynogen/pix-prompts/extension";
|
|
33
|
+
import registerRead from "@xynogen/pix-read/extension";
|
|
34
34
|
import registerRuntime from "@xynogen/pix-runtime";
|
|
35
|
-
import registerSkills from "@xynogen/pix-skills
|
|
36
|
-
import registerSubagent from "@xynogen/pix-subagent/
|
|
37
|
-
import registerTodo from "@xynogen/pix-todo
|
|
38
|
-
import registerUpdate from "@xynogen/pix-update/
|
|
39
|
-
import registerWelcome from "@xynogen/pix-welcome/
|
|
40
|
-
import registerWrite from "@xynogen/pix-write/
|
|
35
|
+
import registerSkills from "@xynogen/pix-skills";
|
|
36
|
+
import registerSubagent from "@xynogen/pix-subagent/extension";
|
|
37
|
+
import registerTodo from "@xynogen/pix-todo";
|
|
38
|
+
import registerUpdate from "@xynogen/pix-update/extension";
|
|
39
|
+
import registerWelcome from "@xynogen/pix-welcome/extension";
|
|
40
|
+
import registerWrite from "@xynogen/pix-write/extension";
|
|
41
41
|
import registerCompaction from "./compaction.ts";
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
// `PiPrettyApi` view of it. `ExtensionAPI` satisfies both, so we erase the
|
|
45
|
-
// param type at registration and pass the real host through unchanged.
|
|
46
|
-
type Factory = (pi: never) => void;
|
|
43
|
+
type PixExtension = (pi: ExtensionAPI) => void;
|
|
47
44
|
|
|
48
|
-
|
|
45
|
+
// Compile-time boundary: every member must accept the Pi host contract.
|
|
46
|
+
const MEMBERS = [
|
|
49
47
|
// pix-runtime owns pix.json (init/reload/flush) and the /pix settings command.
|
|
50
48
|
// It must run first so every config consumer below reads a live runtime.
|
|
51
49
|
registerRuntime,
|
|
@@ -80,12 +78,10 @@ const MEMBERS: Factory[] = [
|
|
|
80
78
|
// Custom compaction: replaces pi's built-in summary + trigger (reads
|
|
81
79
|
// compaction section; runs after runtime is live).
|
|
82
80
|
registerCompaction,
|
|
83
|
-
];
|
|
81
|
+
] satisfies readonly PixExtension[];
|
|
84
82
|
|
|
85
83
|
export default function (pi: ExtensionAPI): void {
|
|
86
|
-
for (const register of MEMBERS)
|
|
87
|
-
(register as (pi: ExtensionAPI) => void)(pi);
|
|
88
|
-
}
|
|
84
|
+
for (const register of MEMBERS) register(pi);
|
|
89
85
|
|
|
90
86
|
// ── Respect $SHELL for user ! commands ──────────────────────────────────
|
|
91
87
|
// Pi defaults to /bin/bash for ! commands. When the user's login shell
|
package/src/once.test.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { afterEach, describe, expect, it } from "bun:test";
|
|
2
|
-
import registerCommands from "@xynogen/pix-commands/
|
|
3
|
-
import registerSubagent from "@xynogen/pix-subagent/
|
|
4
|
-
import registerTodo from "@xynogen/pix-todo
|
|
2
|
+
import registerCommands from "@xynogen/pix-commands/extension";
|
|
3
|
+
import registerSubagent from "@xynogen/pix-subagent/extension";
|
|
4
|
+
import registerTodo from "@xynogen/pix-todo";
|
|
5
5
|
|
|
6
6
|
// Mirror of the per-instance guard. pix-core does not own once.ts (each member
|
|
7
7
|
// duplicates it to stay cross-dep-free), so we re-declare the contract here and
|