takomi 2.1.9 ā 2.1.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/package.json +1 -1
- package/src/doctor.js +3 -1
- package/src/pi-harness.js +4 -0
- package/src/pi-installer.js +9 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "takomi",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.10",
|
|
4
4
|
"description": "šÆ Stop wrestling with AI. Start building with purpose. The artisan's toolkit for agent workflows, Codex skills, and original Takomi capabilities like 21st.dev integration.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/src/doctor.js
CHANGED
|
@@ -23,9 +23,11 @@ export async function runDoctor({ version, cwd = process.cwd() } = {}) {
|
|
|
23
23
|
console.log(status(report.bundled.packageReady, 'Bundled .pi assets', report.bundled.targets.root));
|
|
24
24
|
console.log(status(report.bundled.checks.runtime, 'Bundled takomi-runtime', report.bundled.targets.runtime));
|
|
25
25
|
console.log(status(report.bundled.checks.subagents, 'Bundled takomi-subagents', report.bundled.targets.subagents));
|
|
26
|
+
console.log(status(report.bundled.checks.contextManager, 'Bundled takomi-context-manager', report.bundled.targets.contextManager));
|
|
26
27
|
console.log(status(report.bundled.packageIncluded, 'Package includes .pi assets', report.bundled.packageIncluded ? 'yes' : 'no'));
|
|
27
28
|
console.log(status(report.installed.runtimeInstalled, 'Installed takomi-runtime', report.installed.targets.extensions));
|
|
28
29
|
console.log(status(report.installed.subagentsInstalled, 'Installed takomi-subagents', report.installed.targets.extensions));
|
|
30
|
+
console.log(status(report.installed.contextManagerInstalled, 'Installed takomi-context-manager', report.installed.targets.extensions));
|
|
29
31
|
console.log(status(await fs.pathExists(`${report.installed.targets.extensions}/oauth-router`), 'Installed oauth-router', `${report.installed.targets.extensions}`));
|
|
30
32
|
console.log(status(report.installed.coreInstalled, 'Installed Takomi core', path.join(path.dirname(report.installed.targets.root), 'src', 'pi-takomi-core')));
|
|
31
33
|
console.log(status(report.installed.piSubagentsModuleInstalled, 'Installed pi-subagents module', path.join(report.installed.targets.root, 'node_modules', 'pi-subagents')));
|
|
@@ -54,7 +56,7 @@ export async function runDoctor({ version, cwd = process.cwd() } = {}) {
|
|
|
54
56
|
console.log(pc.white(' - Package .pi assets before enabling takomi install pi in releases.'));
|
|
55
57
|
}
|
|
56
58
|
|
|
57
|
-
if (!report.installed.runtimeInstalled || !report.installed.subagentsInstalled || !report.installed.coreInstalled || !report.installed.piSubagentsModuleInstalled) {
|
|
59
|
+
if (!report.installed.runtimeInstalled || !report.installed.subagentsInstalled || !report.installed.contextManagerInstalled || !report.installed.coreInstalled || !report.installed.piSubagentsModuleInstalled) {
|
|
58
60
|
console.log(pc.white(' - Run takomi install pi to refresh the Pi harness, Takomi core, and pi-subagents runtime module.'));
|
|
59
61
|
}
|
|
60
62
|
|
package/src/pi-harness.js
CHANGED
|
@@ -72,6 +72,7 @@ export function getBundledPiAssetTargets() {
|
|
|
72
72
|
root,
|
|
73
73
|
runtime: path.join(root, 'extensions', 'takomi-runtime'),
|
|
74
74
|
subagents: path.join(root, 'extensions', 'takomi-subagents'),
|
|
75
|
+
contextManager: path.join(root, 'extensions', 'takomi-context-manager'),
|
|
75
76
|
prompts: path.join(root, 'prompts'),
|
|
76
77
|
agents: path.join(root, 'agents'),
|
|
77
78
|
themes: path.join(root, 'themes'),
|
|
@@ -162,6 +163,7 @@ export async function inspectBundledPiAssets() {
|
|
|
162
163
|
root: await fs.pathExists(targets.root),
|
|
163
164
|
runtime: await fs.pathExists(targets.runtime),
|
|
164
165
|
subagents: await fs.pathExists(targets.subagents),
|
|
166
|
+
contextManager: await fs.pathExists(targets.contextManager),
|
|
165
167
|
prompts: await fs.pathExists(targets.prompts),
|
|
166
168
|
agents: await fs.pathExists(targets.agents),
|
|
167
169
|
themes: await fs.pathExists(targets.themes),
|
|
@@ -186,6 +188,7 @@ export async function inspectInstalledTakomiPiHarness(home = HOME) {
|
|
|
186
188
|
const targets = getPiGlobalTargets(home);
|
|
187
189
|
const runtime = path.join(targets.extensions, 'takomi-runtime');
|
|
188
190
|
const subagents = path.join(targets.extensions, 'takomi-subagents');
|
|
191
|
+
const contextManager = path.join(targets.extensions, 'takomi-context-manager');
|
|
189
192
|
const core = path.join(path.dirname(targets.root), 'src', 'pi-takomi-core');
|
|
190
193
|
const piSubagentsModule = path.join(targets.root, 'node_modules', 'pi-subagents');
|
|
191
194
|
|
|
@@ -193,6 +196,7 @@ export async function inspectInstalledTakomiPiHarness(home = HOME) {
|
|
|
193
196
|
targets,
|
|
194
197
|
runtimeInstalled: await fs.pathExists(runtime),
|
|
195
198
|
subagentsInstalled: await fs.pathExists(subagents),
|
|
199
|
+
contextManagerInstalled: await fs.pathExists(contextManager),
|
|
196
200
|
coreInstalled: await fs.pathExists(core),
|
|
197
201
|
piSubagentsModuleInstalled: await fs.pathExists(piSubagentsModule),
|
|
198
202
|
promptsInstalled: await fs.pathExists(targets.prompts),
|
package/src/pi-installer.js
CHANGED
|
@@ -104,11 +104,13 @@ export async function installPiHarnessAssets(version = 'unknown') {
|
|
|
104
104
|
copied.readme = await copyOwnedFile(readmeSrc, path.join(targets.root, 'README.md'));
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
const extensionsRoot = path.join(srcRoot, 'extensions');
|
|
108
|
+
if (await fs.pathExists(extensionsRoot)) {
|
|
109
|
+
const extensionEntries = await fs.readdir(extensionsRoot, { withFileTypes: true });
|
|
110
|
+
for (const entry of extensionEntries) {
|
|
111
|
+
if (!entry.isDirectory()) continue;
|
|
112
|
+
const src = path.join(extensionsRoot, entry.name);
|
|
113
|
+
copied[`extension:${entry.name}`] = await copyOwnedDirectory(src, path.join(targets.extensions, entry.name));
|
|
112
114
|
}
|
|
113
115
|
}
|
|
114
116
|
|
|
@@ -168,6 +170,7 @@ export async function validatePiHarnessInstall() {
|
|
|
168
170
|
return {
|
|
169
171
|
runtime: await fs.pathExists(path.join(targets.extensions, 'takomi-runtime')),
|
|
170
172
|
subagents: await fs.pathExists(path.join(targets.extensions, 'takomi-subagents')),
|
|
173
|
+
contextManager: await fs.pathExists(path.join(targets.extensions, 'takomi-context-manager')),
|
|
171
174
|
oauthRouter: await fs.pathExists(path.join(targets.extensions, 'oauth-router')),
|
|
172
175
|
prompts: await fs.pathExists(targets.prompts),
|
|
173
176
|
agents: await fs.pathExists(targets.agents),
|
|
@@ -183,7 +186,7 @@ export function printPiInstallSummary(result, validation) {
|
|
|
183
186
|
console.log(pc.green('\nā Installed Takomi Pi harness assets'));
|
|
184
187
|
console.log(pc.white(` Root: ${result.targets.root}`));
|
|
185
188
|
console.log(pc.white(` Manifest: ${PI_MANIFEST_PATH}`));
|
|
186
|
-
console.log(pc.white(` Extensions: ${validation.runtime && validation.subagents && validation.oauthRouter ? 'ok' : 'check needed'}`));
|
|
189
|
+
console.log(pc.white(` Extensions: ${validation.runtime && validation.subagents && validation.contextManager && validation.oauthRouter ? 'ok' : 'check needed'}`));
|
|
187
190
|
console.log(pc.white(` Prompts: ${validation.prompts ? 'ok' : 'missing'}`));
|
|
188
191
|
console.log(pc.white(` Agents: ${validation.agents ? 'ok' : 'missing'}`));
|
|
189
192
|
console.log(pc.white(` Themes: ${validation.themes ? 'ok' : 'missing'}`));
|