@liangjie559567/ultrapower 5.2.8 → 5.2.10
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/.claude-plugin/plugin.json +1 -1
- package/dist/hooks/axiom-boot/index.d.ts.map +1 -1
- package/dist/hooks/axiom-boot/index.js +4 -4
- package/dist/hooks/axiom-boot/index.js.map +1 -1
- package/dist/hooks/axiom-boot/storage.d.ts +1 -0
- package/dist/hooks/axiom-boot/storage.d.ts.map +1 -1
- package/dist/hooks/axiom-boot/storage.js +15 -2
- package/dist/hooks/axiom-boot/storage.js.map +1 -1
- package/dist/hooks/bridge.js +2 -2
- package/dist/hooks/preemptive-compaction/index.d.ts.map +1 -1
- package/dist/hooks/preemptive-compaction/index.js +5 -2
- package/dist/hooks/preemptive-compaction/index.js.map +1 -1
- package/docs/CLAUDE.md +1 -1
- package/package.json +1 -1
- package/scripts/plugin-setup.mjs +21 -14
- package/scripts/release-steps.mjs +13 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultrapower",
|
|
3
3
|
"description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution. Combines superpowers' TDD/debugging discipline with OMC's multi-agent execution capabilities.",
|
|
4
|
-
"version": "5.2.
|
|
4
|
+
"version": "5.2.9",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jesse Vincent & oh-my-claudecode contributors"
|
|
7
7
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/axiom-boot/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/axiom-boot/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAE7B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAgCvE;AAED,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAWtE"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Injects Axiom memory context at session start when .omc/axiom/ exists.
|
|
5
5
|
*/
|
|
6
|
-
import { isAxiomEnabled, readActiveContext, parseAxiomState, readProjectDecisions, readUserPreferences, ensureConstitution, } from './storage.js';
|
|
6
|
+
import { isAxiomEnabled, readActiveContext, readActiveContextRaw, parseAxiomState, readProjectDecisions, readUserPreferences, ensureConstitution, } from './storage.js';
|
|
7
7
|
export * from './types.js';
|
|
8
8
|
export * from './storage.js';
|
|
9
9
|
export function processAxiomBoot(input) {
|
|
@@ -12,11 +12,11 @@ export function processAxiomBoot(input) {
|
|
|
12
12
|
return { contextInjected: false, state: null };
|
|
13
13
|
}
|
|
14
14
|
ensureConstitution(workingDirectory);
|
|
15
|
-
const
|
|
16
|
-
if (!
|
|
15
|
+
const rawContent = readActiveContextRaw(workingDirectory);
|
|
16
|
+
if (!rawContent) {
|
|
17
17
|
return { contextInjected: false, state: null };
|
|
18
18
|
}
|
|
19
|
-
const state = parseAxiomState(
|
|
19
|
+
const state = parseAxiomState(rawContent);
|
|
20
20
|
let message;
|
|
21
21
|
switch (state.status) {
|
|
22
22
|
case 'IDLE':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/axiom-boot/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAE7B,MAAM,UAAU,gBAAgB,CAAC,KAAqB;IACpD,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAEnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAErC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/axiom-boot/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAE7B,MAAM,UAAU,gBAAgB,CAAC,KAAqB;IACpD,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAEnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAErC,MAAM,UAAU,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,OAAe,CAAC;IACpB,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,GAAG,mBAAmB,CAAC;YAC9B,MAAM;QACR,KAAK,WAAW;YACd,OAAO,GAAG,YAAY,KAAK,CAAC,YAAY,IAAI,EAAE,QAAQ,CAAC;YACvD,MAAM;QACR,KAAK,SAAS;YACZ,OAAO,GAAG,qCAAqC,CAAC;YAChD,MAAM;QACR;YACE,OAAO,GAAG,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,gBAAwB;IAC5D,MAAM,SAAS,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAa,CAAC,cAAc,CAAC,CAAC;IACzC,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;IAC5D,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;IACpD,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;IAExD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -8,6 +8,7 @@ export declare function getAxiomDir(workingDirectory: string): string;
|
|
|
8
8
|
export declare function isAxiomEnabled(workingDirectory: string): boolean;
|
|
9
9
|
export declare function getMemoryFilePaths(workingDirectory: string): AxiomMemoryFiles;
|
|
10
10
|
export declare function readActiveContext(workingDirectory: string): string | null;
|
|
11
|
+
export declare function readActiveContextRaw(workingDirectory: string): string | null;
|
|
11
12
|
export declare function parseAxiomState(activeContextContent: string): AxiomState;
|
|
12
13
|
export declare function readProjectDecisions(workingDirectory: string): string | null;
|
|
13
14
|
export declare function readUserPreferences(workingDirectory: string): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/hooks/axiom-boot/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI/D,wBAAgB,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAQ7E;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/hooks/axiom-boot/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI/D,wBAAgB,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAQ7E;AASD,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKzE;AAED,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5E;AAED,wBAAgB,eAAe,CAAC,oBAAoB,EAAE,MAAM,GAAG,UAAU,CAWxE;AAED,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5E;AAED,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3E;AAyBD,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAYjE"}
|
|
@@ -21,7 +21,20 @@ export function getMemoryFilePaths(workingDirectory) {
|
|
|
21
21
|
stateMachine: join(axiomDir, 'state_machine.md'),
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
+
const MAX_AXIOM_FILE_CHARS = 8000;
|
|
25
|
+
function truncateAxiomFile(content, filePath) {
|
|
26
|
+
if (content.length <= MAX_AXIOM_FILE_CHARS)
|
|
27
|
+
return content;
|
|
28
|
+
return content.slice(0, MAX_AXIOM_FILE_CHARS) + `\n\n[截断,完整内容见: ${filePath}]`;
|
|
29
|
+
}
|
|
24
30
|
export function readActiveContext(workingDirectory) {
|
|
31
|
+
const paths = getMemoryFilePaths(workingDirectory);
|
|
32
|
+
if (!existsSync(paths.activeContext))
|
|
33
|
+
return null;
|
|
34
|
+
const raw = readFileSync(paths.activeContext, 'utf-8');
|
|
35
|
+
return truncateAxiomFile(raw, paths.activeContext);
|
|
36
|
+
}
|
|
37
|
+
export function readActiveContextRaw(workingDirectory) {
|
|
25
38
|
const paths = getMemoryFilePaths(workingDirectory);
|
|
26
39
|
if (!existsSync(paths.activeContext))
|
|
27
40
|
return null;
|
|
@@ -42,13 +55,13 @@ export function readProjectDecisions(workingDirectory) {
|
|
|
42
55
|
const paths = getMemoryFilePaths(workingDirectory);
|
|
43
56
|
if (!existsSync(paths.projectDecisions))
|
|
44
57
|
return null;
|
|
45
|
-
return readFileSync(paths.projectDecisions, 'utf-8');
|
|
58
|
+
return truncateAxiomFile(readFileSync(paths.projectDecisions, 'utf-8'), paths.projectDecisions);
|
|
46
59
|
}
|
|
47
60
|
export function readUserPreferences(workingDirectory) {
|
|
48
61
|
const paths = getMemoryFilePaths(workingDirectory);
|
|
49
62
|
if (!existsSync(paths.userPreferences))
|
|
50
63
|
return null;
|
|
51
|
-
return readFileSync(paths.userPreferences, 'utf-8');
|
|
64
|
+
return truncateAxiomFile(readFileSync(paths.userPreferences, 'utf-8'), paths.userPreferences);
|
|
52
65
|
}
|
|
53
66
|
const DEFAULT_CONSTITUTION_CONTENT = `# Axiom Constitution — 进化安全边界
|
|
54
67
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/hooks/axiom-boot/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,MAAM,SAAS,GAAG,YAAY,CAAC;AAE/B,MAAM,UAAU,WAAW,CAAC,gBAAwB;IAClD,OAAO,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,gBAAwB;IACrD,OAAO,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,gBAAwB;IACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QAClD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QACxD,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC;QACtD,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,gBAAwB;IACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,oBAA4B;IAC1D,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC1H,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAE9D,OAAO;QACL,MAAM,EAAG,WAAW,EAAE,CAAC,CAAC,CAA0B,IAAI,MAAM;QAC5D,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/E,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,gBAAwB;IAC3D,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/hooks/axiom-boot/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,MAAM,SAAS,GAAG,YAAY,CAAC;AAE/B,MAAM,UAAU,WAAW,CAAC,gBAAwB;IAClD,OAAO,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,gBAAwB;IACrD,OAAO,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,gBAAwB;IACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QAClD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QACxD,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC;QACtD,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,SAAS,iBAAiB,CAAC,OAAe,EAAE,QAAgB;IAC1D,IAAI,OAAO,CAAC,MAAM,IAAI,oBAAoB;QAAE,OAAO,OAAO,CAAC;IAC3D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,GAAG,kBAAkB,QAAQ,GAAG,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,gBAAwB;IACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,gBAAwB;IAC3D,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,oBAA4B;IAC1D,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC1H,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAE9D,OAAO;QACL,MAAM,EAAG,WAAW,EAAE,CAAC,CAAC,CAA0B,IAAI,MAAM;QAC5D,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/E,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,gBAAwB;IAC3D,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,gBAAwB;IAC1D,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBpC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,gBAAwB;IACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,iBAAiB;IAEpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,CAAC,UAAU;IAEpD,IAAI,CAAC;QACH,aAAa,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC"}
|
package/dist/hooks/bridge.js
CHANGED
|
@@ -478,8 +478,8 @@ Resume from this stage and continue the staged Team workflow.
|
|
|
478
478
|
try {
|
|
479
479
|
let agentsContent = readFileSync(agentsMdPath, 'utf-8').trim();
|
|
480
480
|
if (agentsContent) {
|
|
481
|
-
// Truncate to ~
|
|
482
|
-
const MAX_AGENTS_CHARS =
|
|
481
|
+
// Truncate to ~2500 tokens (10000 chars) to avoid context bloat
|
|
482
|
+
const MAX_AGENTS_CHARS = 10000;
|
|
483
483
|
let truncationNotice = '';
|
|
484
484
|
if (agentsContent.length > MAX_AGENTS_CHARS) {
|
|
485
485
|
agentsContent = agentsContent.slice(0, MAX_AGENTS_CHARS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/preemptive-compaction/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAKpB;;;;;;;GAOG;AACH,QAAA,MAAM,sBAAsB,MAAM,CAAC;AAwDnC;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,0BAA0B,GAClC,kBAAkB,CAyBpB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/preemptive-compaction/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAKpB;;;;;;;GAOG;AACH,QAAA,MAAM,sBAAsB,MAAM,CAAC;AAwDnC;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,0BAA0B,GAClC,kBAAkB,CAyBpB;AAmED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,CAAC,EAAE,0BAA0B;IAiBjC;;OAEG;yBACkB;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,KAAG,MAAM,GAAG,IAAI;IA2EjB;;OAEG;kBACW;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAG,MAAM,GAAG,IAAI;EAkBvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAQjE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE9D;AAGD,YAAY,EACV,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,4BAA4B,EAC5B,eAAe,EACf,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC"}
|
|
@@ -98,13 +98,16 @@ export function analyzeContextUsage(content, config) {
|
|
|
98
98
|
/**
|
|
99
99
|
* Get or create session state
|
|
100
100
|
*/
|
|
101
|
+
// Approximate tokens consumed by CLAUDE.md files + AGENTS.md injected at session start
|
|
102
|
+
// (~10K global CLAUDE.md + ~5K project CLAUDE.md + ~2.5K AGENTS.md + ~6K axiom-boot)
|
|
103
|
+
const INITIAL_SESSION_TOKEN_OFFSET = 23500;
|
|
101
104
|
function getSessionState(sessionId) {
|
|
102
105
|
let state = sessionStates.get(sessionId);
|
|
103
106
|
if (!state) {
|
|
104
107
|
state = {
|
|
105
108
|
lastWarningTime: 0,
|
|
106
109
|
warningCount: 0,
|
|
107
|
-
estimatedTokens:
|
|
110
|
+
estimatedTokens: INITIAL_SESSION_TOKEN_OFFSET,
|
|
108
111
|
};
|
|
109
112
|
sessionStates.set(sessionId, state);
|
|
110
113
|
}
|
|
@@ -259,7 +262,7 @@ export function getSessionTokenEstimate(sessionId) {
|
|
|
259
262
|
export function resetSessionTokenEstimate(sessionId) {
|
|
260
263
|
const state = sessionStates.get(sessionId);
|
|
261
264
|
if (state) {
|
|
262
|
-
state.estimatedTokens =
|
|
265
|
+
state.estimatedTokens = INITIAL_SESSION_TOKEN_OFFSET;
|
|
263
266
|
state.warningCount = 0;
|
|
264
267
|
state.lastWarningTime = 0;
|
|
265
268
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/preemptive-compaction/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/preemptive-compaction/index.ts"],"names":[],"mappings":"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"}
|
package/docs/CLAUDE.md
CHANGED
package/package.json
CHANGED
package/scripts/plugin-setup.mjs
CHANGED
|
@@ -20,28 +20,35 @@ const SETTINGS_FILE = join(CLAUDE_DIR, 'settings.json');
|
|
|
20
20
|
console.log('[OMC] Running post-install setup...');
|
|
21
21
|
|
|
22
22
|
// Fix: flatten nested cache directories caused by Claude Code installer bug.
|
|
23
|
-
// Root cause: Claude Code copies npm package contents into cache/
|
|
23
|
+
// Root cause: Claude Code copies npm package contents into cache/omc/, but the package
|
|
24
24
|
// itself contains an 'ultrapower/' subdirectory, causing infinite nesting on each restart.
|
|
25
25
|
// Two known nesting patterns:
|
|
26
|
-
// Pattern A (flat root): cache/
|
|
27
|
-
// Pattern B (versioned): cache/
|
|
26
|
+
// Pattern A (flat root): cache/omc/ultrapower/5.0.23/ultrapower/5.0.23/...
|
|
27
|
+
// Pattern B (versioned): cache/omc/ultrapower/VERSION/ultrapower/VERSION/...
|
|
28
28
|
// This function handles both by detecting and removing the nested 'ultrapower/' subtree
|
|
29
|
-
// directly under cache/
|
|
29
|
+
// directly under cache/omc/ (Pattern A), which is the primary observed pattern.
|
|
30
30
|
function fixNestedCacheDir() {
|
|
31
31
|
try {
|
|
32
|
-
// Pattern A: cache/
|
|
33
|
-
|
|
32
|
+
// Pattern A: cache/omc/ultrapower/ exists but is NOT the legitimate
|
|
33
|
+
// marketplace/plugin path. Only remove if it contains no version dirs
|
|
34
|
+
// and no plugin markers — i.e. it's a stale empty nesting artifact.
|
|
35
|
+
const pluginCacheRoot = join(CLAUDE_DIR, 'plugins/cache/omc');
|
|
34
36
|
const nestedRootDir = join(pluginCacheRoot, 'ultrapower');
|
|
35
37
|
if (existsSync(nestedRootDir)) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
const nestedContents = readdirSync(nestedRootDir);
|
|
39
|
+
const PLUGIN_MARKERS = ['skills', 'dist', 'agents', 'hooks'];
|
|
40
|
+
const hasVersionDirs = nestedContents.some(f => /^\d+\.\d+/.test(f));
|
|
41
|
+
const hasPluginMarkers = nestedContents.some(f => PLUGIN_MARKERS.includes(f));
|
|
42
|
+
if (!hasVersionDirs && !hasPluginMarkers) {
|
|
43
|
+
console.log('[OMC] Detected stale nested cache dir at plugins/cache/omc/ultrapower/ — removing...');
|
|
44
|
+
rmSync(nestedRootDir, { recursive: true, force: true });
|
|
45
|
+
console.log('[OMC] Removed stale nested cache dir (Pattern A)');
|
|
46
|
+
}
|
|
39
47
|
}
|
|
40
48
|
|
|
41
|
-
// Pattern B: cache/
|
|
42
|
-
const pluginCacheBase = join(CLAUDE_DIR, 'plugins/cache/
|
|
49
|
+
// Pattern B: cache/omc/ultrapower/VERSION/ (versioned nesting)
|
|
50
|
+
const pluginCacheBase = join(CLAUDE_DIR, 'plugins/cache/omc/ultrapower');
|
|
43
51
|
if (!existsSync(pluginCacheBase)) return;
|
|
44
|
-
const versions = readdirSync(pluginCacheBase);
|
|
45
52
|
for (const version of versions) {
|
|
46
53
|
const versionDir = join(pluginCacheBase, version);
|
|
47
54
|
const nestedDir = join(versionDir, 'ultrapower');
|
|
@@ -103,7 +110,7 @@ fixNestedCacheDir();
|
|
|
103
110
|
// hooks/hooks.json paths (${CLAUDE_PLUGIN_ROOT}/templates/hooks/*.mjs) resolve correctly.
|
|
104
111
|
function copyTemplatesToCache() {
|
|
105
112
|
try {
|
|
106
|
-
const pluginCacheBase = join(CLAUDE_DIR, 'plugins/cache/
|
|
113
|
+
const pluginCacheBase = join(CLAUDE_DIR, 'plugins/cache/omc/ultrapower');
|
|
107
114
|
if (!existsSync(pluginCacheBase)) return;
|
|
108
115
|
|
|
109
116
|
// __dirname = <pkg-root>/scripts/, so dirname(__dirname) = <pkg-root>/
|
|
@@ -199,7 +206,7 @@ function fixMissingPluginJson() {
|
|
|
199
206
|
|
|
200
207
|
// 2. Write directly to plugin cache (marketplace: ultrapower, plugin: ultrapower)
|
|
201
208
|
// Claude Code copies from npm-cache but skips hidden dirs, so we patch the cache directly.
|
|
202
|
-
const pluginCacheBase = join(CLAUDE_DIR, 'plugins/cache/
|
|
209
|
+
const pluginCacheBase = join(CLAUDE_DIR, 'plugins/cache/omc/ultrapower');
|
|
203
210
|
if (existsSync(pluginCacheBase)) {
|
|
204
211
|
const versions = readdirSync(pluginCacheBase);
|
|
205
212
|
for (const v of versions) {
|
|
@@ -55,6 +55,19 @@ export async function syncMarketplace(opts = {}) {
|
|
|
55
55
|
const { version, dryRun = false } = opts;
|
|
56
56
|
const v = version || getVersion();
|
|
57
57
|
try {
|
|
58
|
+
// Update marketplace.json version fields
|
|
59
|
+
const marketplacePath = resolve('.claude-plugin/marketplace.json');
|
|
60
|
+
const marketplace = JSON.parse(readFileSync(marketplacePath, 'utf-8'));
|
|
61
|
+
for (const plugin of marketplace.plugins ?? []) {
|
|
62
|
+
plugin.version = v;
|
|
63
|
+
if (plugin.source) plugin.source.version = v;
|
|
64
|
+
}
|
|
65
|
+
if (!dryRun) {
|
|
66
|
+
const { writeFileSync } = await import('node:fs');
|
|
67
|
+
writeFileSync(marketplacePath, JSON.stringify(marketplace, null, 2) + '\n');
|
|
68
|
+
} else {
|
|
69
|
+
console.log(`[dry-run] Would write marketplace.json version -> ${v}`);
|
|
70
|
+
}
|
|
58
71
|
run(`git add .claude-plugin/marketplace.json`, dryRun);
|
|
59
72
|
run(`git commit -m "chore: sync marketplace version to v${v}" --allow-empty`, dryRun);
|
|
60
73
|
run(`git push origin HEAD`, dryRun);
|