@themoltnet/pi-extension 0.2.0 → 0.3.0
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 +1 -1
- package/dist/index.d.ts +233 -9
- package/dist/index.js +9846 -345
- package/package.json +12 -6
- package/dist/commands/index.d.ts +0 -5
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -4
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/moltnet-reflect.d.ts +0 -3
- package/dist/commands/moltnet-reflect.d.ts.map +0 -1
- package/dist/commands/moltnet-reflect.js +0 -32
- package/dist/commands/moltnet-reflect.js.map +0 -1
- package/dist/commands/resolve-issue.d.ts +0 -3
- package/dist/commands/resolve-issue.d.ts.map +0 -1
- package/dist/commands/resolve-issue.js +0 -82
- package/dist/commands/resolve-issue.js.map +0 -1
- package/dist/commands/sandbox.d.ts +0 -3
- package/dist/commands/sandbox.d.ts.map +0 -1
- package/dist/commands/sandbox.js +0 -20
- package/dist/commands/sandbox.js.map +0 -1
- package/dist/commands/types.d.ts +0 -33
- package/dist/commands/types.d.ts.map +0 -1
- package/dist/commands/types.js +0 -2
- package/dist/commands/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/moltnet-tools.d.ts +0 -16
- package/dist/moltnet-tools.d.ts.map +0 -1
- package/dist/moltnet-tools.js +0 -169
- package/dist/moltnet-tools.js.map +0 -1
- package/dist/snapshot.d.ts +0 -41
- package/dist/snapshot.d.ts.map +0 -1
- package/dist/snapshot.js +0 -254
- package/dist/snapshot.js.map +0 -1
- package/dist/tool-operations.d.ts +0 -13
- package/dist/tool-operations.d.ts.map +0 -1
- package/dist/tool-operations.js +0 -142
- package/dist/tool-operations.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vm-manager.d.ts +0 -54
- package/dist/vm-manager.d.ts.map +0 -1
- package/dist/vm-manager.js +0 -250
- package/dist/vm-manager.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@themoltnet/pi-extension",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MoltNet pi extension — sandboxed tool execution in Gondolin VMs with MoltNet identity and persistent memory",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
|
-
"dist"
|
|
22
|
+
"dist",
|
|
23
|
+
"!dist/.dts"
|
|
23
24
|
],
|
|
24
25
|
"pi": {
|
|
25
26
|
"extensions": [
|
|
@@ -28,7 +29,8 @@
|
|
|
28
29
|
},
|
|
29
30
|
"dependencies": {
|
|
30
31
|
"@earendil-works/gondolin": "^0.7.0",
|
|
31
|
-
"@
|
|
32
|
+
"@sinclair/typebox": "^0.34.0",
|
|
33
|
+
"@themoltnet/sdk": "0.93.0"
|
|
32
34
|
},
|
|
33
35
|
"peerDependencies": {
|
|
34
36
|
"@mariozechner/pi-coding-agent": ">=0.67.0",
|
|
@@ -43,17 +45,21 @@
|
|
|
43
45
|
}
|
|
44
46
|
},
|
|
45
47
|
"devDependencies": {
|
|
46
|
-
"@mariozechner/pi-coding-agent": "^0.67.68",
|
|
47
48
|
"@mariozechner/pi-ai": "^0.67.68",
|
|
49
|
+
"@mariozechner/pi-coding-agent": "^0.67.68",
|
|
48
50
|
"@types/node": "^20.11.0",
|
|
49
51
|
"typescript": "^5.3.3",
|
|
50
|
-
"
|
|
52
|
+
"vite": "^8.0.0",
|
|
53
|
+
"vite-plugin-dts": "^4.5.4",
|
|
54
|
+
"vitest": "^3.0.0",
|
|
55
|
+
"@moltnet/tasks": "0.1.0",
|
|
56
|
+
"@moltnet/agent-runtime": "0.1.0"
|
|
51
57
|
},
|
|
52
58
|
"engines": {
|
|
53
59
|
"node": ">=22"
|
|
54
60
|
},
|
|
55
61
|
"scripts": {
|
|
56
|
-
"build": "
|
|
62
|
+
"build": "vite build",
|
|
57
63
|
"typecheck": "tsc -b --emitDeclarationOnly",
|
|
58
64
|
"test": "vitest run --passWithNoTests",
|
|
59
65
|
"lint": "eslint src/",
|
package/dist/commands/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { registerMoltnetReflectCommand } from './moltnet-reflect.js';
|
|
2
|
-
export { registerResolveIssueCommand } from './resolve-issue.js';
|
|
3
|
-
export { registerSandboxCommand } from './sandbox.js';
|
|
4
|
-
export type { CommandRegistrar, ExtensionState, SessionMeta, TrackedError, } from './types.js';
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC"}
|
package/dist/commands/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"moltnet-reflect.d.ts","sourceRoot":"","sources":["../../src/commands/moltnet-reflect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,6BAA6B,EAAE,gBA4C3C,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export const registerMoltnetReflectCommand = (pi, state) => {
|
|
2
|
-
pi.registerCommand('moltnet-reflect', {
|
|
3
|
-
description: 'Create a diary entry reflecting on the current session (decisions, findings, mistakes)',
|
|
4
|
-
handler: async (_args, ctx) => {
|
|
5
|
-
if (!state.moltnetAgent || !state.diaryId) {
|
|
6
|
-
ctx.ui.notify('MoltNet not connected', 'error');
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
const meta = await state.getSessionMeta(ctx);
|
|
10
|
-
const errorCount = state.sessionErrors.length;
|
|
11
|
-
const lines = [
|
|
12
|
-
'Review this session and create a MoltNet diary entry using the moltnet_create_entry tool.',
|
|
13
|
-
'',
|
|
14
|
-
'**Session context:**',
|
|
15
|
-
`- Agent: ${meta.agentName}`,
|
|
16
|
-
`- Model: ${meta.modelName}`,
|
|
17
|
-
`- Branch: ${meta.gitBranch ?? 'unknown'}`,
|
|
18
|
-
`- Duration: ~${meta.durationMin} min`,
|
|
19
|
-
`- Tool errors buffered this session: ${errorCount}`,
|
|
20
|
-
];
|
|
21
|
-
if (meta.sessionName)
|
|
22
|
-
lines.push(`- Session: ${meta.sessionName}`);
|
|
23
|
-
lines.push('');
|
|
24
|
-
if (errorCount > 0) {
|
|
25
|
-
lines.push('Call `moltnet_review_session_errors` to inspect the buffered tool failures and decide whether any represent a real incident worth persisting as its own episodic entry. Most tool errors are transient noise — do NOT write an incident entry unless you identified a root cause, a non-obvious workaround, or a recurring pattern worth remembering.', '');
|
|
26
|
-
}
|
|
27
|
-
lines.push('The reflection entry should capture:', '- Key decisions made and their rationale', '- Findings or discoveries', '- Mistakes and what was learned', '- Any open questions or follow-ups needed', '', `Include tags: session-reflection${meta.gitBranch ? `, branch:${meta.gitBranch.replace(/\//g, '-')}` : ''}, and any relevant topic tags.`, 'Set importance based on the significance of what was accomplished.');
|
|
28
|
-
pi.sendUserMessage(lines.join('\n'), { deliverAs: 'followUp' });
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=moltnet-reflect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"moltnet-reflect.js","sourceRoot":"","sources":["../../src/commands/moltnet-reflect.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,6BAA6B,GAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;IAC3E,EAAE,CAAC,eAAe,CAAC,iBAAiB,EAAE;QACpC,WAAW,EACT,wFAAwF;QAC1F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC1C,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;YAE9C,MAAM,KAAK,GAAG;gBACZ,2FAA2F;gBAC3F,EAAE;gBACF,sBAAsB;gBACtB,YAAY,IAAI,CAAC,SAAS,EAAE;gBAC5B,YAAY,IAAI,CAAC,SAAS,EAAE;gBAC5B,aAAa,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;gBAC1C,gBAAgB,IAAI,CAAC,WAAW,MAAM;gBACtC,wCAAwC,UAAU,EAAE;aACrD,CAAC;YACF,IAAI,IAAI,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CACR,uVAAuV,EACvV,EAAE,CACH,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CACR,sCAAsC,EACtC,0CAA0C,EAC1C,2BAA2B,EAC3B,iCAAiC,EACjC,2CAA2C,EAC3C,EAAE,EACF,mCAAmC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gCAAgC,EACzI,oEAAoE,CACrE,CAAC;YACF,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-issue.d.ts","sourceRoot":"","sources":["../../src/commands/resolve-issue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAInD,eAAO,MAAM,2BAA2B,EAAE,gBA+FzC,CAAC"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { execFileSync } from 'node:child_process';
|
|
2
|
-
const GUEST_WORKSPACE = '/workspace';
|
|
3
|
-
export const registerResolveIssueCommand = (pi, state) => {
|
|
4
|
-
pi.registerCommand('resolve-issue', {
|
|
5
|
-
description: 'Pick up a GitHub issue and resolve it with accountable commits and a PR',
|
|
6
|
-
handler: async (args, ctx) => {
|
|
7
|
-
const issueRef = args.trim();
|
|
8
|
-
if (!issueRef) {
|
|
9
|
-
ctx.ui.notify('Usage: /resolve-issue <number|url>', 'error');
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
await state.ensureVm(ctx);
|
|
13
|
-
// Fetch issue content on the host using the agent's GH token
|
|
14
|
-
let issueBody;
|
|
15
|
-
try {
|
|
16
|
-
const ghToken = state.getAgentGhToken();
|
|
17
|
-
if (!ghToken) {
|
|
18
|
-
ctx.ui.notify('Agent GH token unavailable — refusing to fall back to human auth. Check moltnet.json.', 'error');
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const ghArgs = [
|
|
22
|
-
'issue',
|
|
23
|
-
'view',
|
|
24
|
-
issueRef,
|
|
25
|
-
'--json',
|
|
26
|
-
'number,title,body,labels,assignees,comments',
|
|
27
|
-
];
|
|
28
|
-
issueBody = execFileSync('gh', ghArgs, {
|
|
29
|
-
encoding: 'utf8',
|
|
30
|
-
cwd: state.worktreePath ?? state.localCwd,
|
|
31
|
-
env: { ...process.env, GH_TOKEN: ghToken },
|
|
32
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
catch (err) {
|
|
36
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
37
|
-
ctx.ui.notify(`Failed to fetch issue: ${msg}`, 'error');
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const issue = JSON.parse(issueBody);
|
|
41
|
-
const meta = await state.getSessionMeta(ctx);
|
|
42
|
-
const labelList = issue.labels.map((l) => l.name).join(', ');
|
|
43
|
-
const commentSummary = issue.comments
|
|
44
|
-
.slice(-5)
|
|
45
|
-
.map((c) => `**${c.author.login}**: ${c.body.slice(0, 300)}`)
|
|
46
|
-
.join('\n\n');
|
|
47
|
-
pi.sendUserMessage([
|
|
48
|
-
`**IMPORTANT**: Before doing anything else, read the file \`/workspace/.agents/skills/legreffier/SKILL.md\` and follow its workflow for all commits in this session. Every commit must have a diary entry.`,
|
|
49
|
-
'',
|
|
50
|
-
`## Task: Resolve Issue #${issue.number}`,
|
|
51
|
-
'',
|
|
52
|
-
`**Title:** ${issue.title}`,
|
|
53
|
-
labelList ? `**Labels:** ${labelList}` : '',
|
|
54
|
-
'',
|
|
55
|
-
'### Issue Description',
|
|
56
|
-
'',
|
|
57
|
-
issue.body ?? '_No description provided._',
|
|
58
|
-
'',
|
|
59
|
-
commentSummary ? `### Recent Comments\n\n${commentSummary}` : '',
|
|
60
|
-
'',
|
|
61
|
-
'### Instructions',
|
|
62
|
-
'',
|
|
63
|
-
`1. Create a feature branch: \`git checkout -b fix/${issue.number}-<slug>\``,
|
|
64
|
-
'2. Understand the problem — read relevant code, reproduce if possible',
|
|
65
|
-
'3. Implement the fix or feature',
|
|
66
|
-
'4. Write tests if applicable',
|
|
67
|
-
'5. Follow the legreffier accountable commit workflow for every commit (diary entry + signed commit)',
|
|
68
|
-
`6. Push the branch and create a PR referencing issue #${issue.number}`,
|
|
69
|
-
'',
|
|
70
|
-
'### Context',
|
|
71
|
-
'',
|
|
72
|
-
`- Agent: ${meta.agentName}`,
|
|
73
|
-
`- Diary: ${state.diaryId ?? 'unknown'}`,
|
|
74
|
-
`- Branch: ${meta.gitBranch ?? 'main'}`,
|
|
75
|
-
`- Workspace: ${GUEST_WORKSPACE}`,
|
|
76
|
-
]
|
|
77
|
-
.filter(Boolean)
|
|
78
|
-
.join('\n'), { deliverAs: 'followUp' });
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
//# sourceMappingURL=resolve-issue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-issue.js","sourceRoot":"","sources":["../../src/commands/resolve-issue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/commands/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAInD,eAAO,MAAM,sBAAsB,EAAE,gBAsBpC,CAAC"}
|
package/dist/commands/sandbox.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const GUEST_WORKSPACE = '/workspace';
|
|
2
|
-
export const registerSandboxCommand = (pi, state) => {
|
|
3
|
-
pi.registerCommand('sandbox', {
|
|
4
|
-
description: 'Show sandbox status and egress policy',
|
|
5
|
-
handler: async (_args, ctx) => {
|
|
6
|
-
if (!state.vm) {
|
|
7
|
-
ctx.ui.notify('Sandbox is not running', 'warning');
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
const r = await state.vm.exec('hostname && echo "---" && df -h / && echo "---" && node --version && pnpm --version && git --version');
|
|
11
|
-
ctx.ui.notify([
|
|
12
|
-
'Sandbox: running',
|
|
13
|
-
`Workspace: ${state.worktreePath ?? state.localCwd} → ${GUEST_WORKSPACE}`,
|
|
14
|
-
`MoltNet diary: ${state.diaryId ?? 'not configured'}`,
|
|
15
|
-
r.stdout?.trimEnd() ?? '',
|
|
16
|
-
].join('\n'), 'info');
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=sandbox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/commands/sandbox.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,MAAM,CAAC,MAAM,sBAAsB,GAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;IACpE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE;QAC5B,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YACD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAC3B,sGAAsG,CACvG,CAAC;YACF,GAAG,CAAC,EAAE,CAAC,MAAM,CACX;gBACE,kBAAkB;gBAClB,cAAc,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,MAAM,eAAe,EAAE;gBACzE,kBAAkB,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;gBACrD,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;aAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,MAAM,CACP,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/dist/commands/types.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { VM } from '@earendil-works/gondolin';
|
|
2
|
-
import type { ExtensionAPI, ExtensionContext } from '@mariozechner/pi-coding-agent';
|
|
3
|
-
import type { connect } from '@themoltnet/sdk';
|
|
4
|
-
export interface SessionMeta {
|
|
5
|
-
agentName: string;
|
|
6
|
-
gitBranch: string | null;
|
|
7
|
-
sessionName: string | undefined;
|
|
8
|
-
sessionId: string;
|
|
9
|
-
modelName: string;
|
|
10
|
-
cwd: string;
|
|
11
|
-
worktree: string | null;
|
|
12
|
-
durationMin: number;
|
|
13
|
-
}
|
|
14
|
-
export interface TrackedError {
|
|
15
|
-
toolName: string;
|
|
16
|
-
toolCallId: string;
|
|
17
|
-
input: Record<string, unknown>;
|
|
18
|
-
error: string;
|
|
19
|
-
timestamp: number;
|
|
20
|
-
}
|
|
21
|
-
export interface ExtensionState {
|
|
22
|
-
vm: VM | null;
|
|
23
|
-
worktreePath: string | null;
|
|
24
|
-
localCwd: string;
|
|
25
|
-
diaryId: string | null;
|
|
26
|
-
moltnetAgent: Awaited<ReturnType<typeof connect>> | null;
|
|
27
|
-
sessionErrors: TrackedError[];
|
|
28
|
-
getSessionMeta: (ctx: ExtensionContext) => Promise<SessionMeta>;
|
|
29
|
-
getAgentGhToken: () => string | null;
|
|
30
|
-
ensureVm: (ctx?: ExtensionContext) => Promise<VM>;
|
|
31
|
-
}
|
|
32
|
-
export type CommandRegistrar = (pi: ExtensionAPI, state: ExtensionState) => void;
|
|
33
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IACzD,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,cAAc,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAChE,eAAe,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;CACnD;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,cAAc,KAClB,IAAI,CAAC"}
|
package/dist/commands/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,+BAA+B,CAAC;AA2BvC,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,EAAE,YAAY,QA4XxD;AAGD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,QAAQ,GACT,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/moltnet-tools.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { ToolDefinition } from '@mariozechner/pi-coding-agent';
|
|
2
|
-
import type { connect } from '@themoltnet/sdk';
|
|
3
|
-
import type { TrackedError } from './commands/types.js';
|
|
4
|
-
type MoltNetAgent = Awaited<ReturnType<typeof connect>>;
|
|
5
|
-
export interface MoltNetToolsConfig {
|
|
6
|
-
getAgent(): MoltNetAgent | null;
|
|
7
|
-
getDiaryId(): string | null;
|
|
8
|
-
getSessionErrors(): readonly TrackedError[];
|
|
9
|
-
clearSessionErrors(): void;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Create all MoltNet tool definitions, ready to pass to `pi.registerTool()`.
|
|
13
|
-
*/
|
|
14
|
-
export declare function createMoltNetTools(config: MoltNetToolsConfig): ToolDefinition<any, any>[];
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=moltnet-tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"moltnet-tools.d.ts","sourceRoot":"","sources":["../src/moltnet-tools.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC;IAChC,UAAU,IAAI,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,IAAI,SAAS,YAAY,EAAE,CAAC;IAC5C,kBAAkB,IAAI,IAAI,CAAC;CAC5B;AASD;;GAEG;AAEH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CA2L5B"}
|
package/dist/moltnet-tools.js
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MoltNet custom tools for pi.
|
|
3
|
-
*
|
|
4
|
-
* Factory that produces ready-to-register pi tool definitions.
|
|
5
|
-
* These tools run on the host (not in the VM) via the MoltNet SDK,
|
|
6
|
-
* so agent credentials never touch the VM filesystem.
|
|
7
|
-
*/
|
|
8
|
-
import { Type } from '@mariozechner/pi-ai';
|
|
9
|
-
import { defineTool } from '@mariozechner/pi-coding-agent';
|
|
10
|
-
function ensureConnected(config) {
|
|
11
|
-
const agent = config.getAgent();
|
|
12
|
-
const diaryId = config.getDiaryId();
|
|
13
|
-
if (!agent || !diaryId)
|
|
14
|
-
throw new Error('MoltNet not connected');
|
|
15
|
-
return { agent, diaryId };
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Create all MoltNet tool definitions, ready to pass to `pi.registerTool()`.
|
|
19
|
-
*/
|
|
20
|
-
export function createMoltNetTools(config) {
|
|
21
|
-
const listEntries = defineTool({
|
|
22
|
-
name: 'moltnet_list_entries',
|
|
23
|
-
label: 'List MoltNet Diary Entries',
|
|
24
|
-
description: 'List recent entries from the MoltNet diary. Returns title, tags, importance, and creation date.',
|
|
25
|
-
parameters: Type.Object({
|
|
26
|
-
limit: Type.Optional(Type.Number({ description: 'Max entries to return (default 10)' })),
|
|
27
|
-
tag: Type.Optional(Type.String({ description: 'Filter by tag (optional)' })),
|
|
28
|
-
}),
|
|
29
|
-
async execute(_id, params) {
|
|
30
|
-
const { agent, diaryId } = ensureConnected(config);
|
|
31
|
-
const query = {
|
|
32
|
-
limit: params.limit ?? 10,
|
|
33
|
-
orderBy: 'createdAt',
|
|
34
|
-
order: 'desc',
|
|
35
|
-
};
|
|
36
|
-
if (params.tag)
|
|
37
|
-
query.tag = params.tag;
|
|
38
|
-
const entries = await agent.entries.list(diaryId, query);
|
|
39
|
-
const text = JSON.stringify(entries.items?.map((e) => ({
|
|
40
|
-
id: e.id,
|
|
41
|
-
title: e.title,
|
|
42
|
-
tags: e.tags,
|
|
43
|
-
importance: e.importance,
|
|
44
|
-
createdAt: e.createdAt,
|
|
45
|
-
contentPreview: typeof e.content === 'string' ? e.content.slice(0, 200) : undefined,
|
|
46
|
-
})), null, 2);
|
|
47
|
-
return { content: [{ type: 'text', text }], details: {} };
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
const getEntry = defineTool({
|
|
51
|
-
name: 'moltnet_get_entry',
|
|
52
|
-
label: 'Get MoltNet Diary Entry',
|
|
53
|
-
description: 'Get the full content of a specific diary entry by ID.',
|
|
54
|
-
parameters: Type.Object({
|
|
55
|
-
entryId: Type.String({ description: 'The entry ID to fetch' }),
|
|
56
|
-
}),
|
|
57
|
-
async execute(_id, params) {
|
|
58
|
-
const { agent } = ensureConnected(config);
|
|
59
|
-
const entry = await agent.entries.get(params.entryId);
|
|
60
|
-
const text = JSON.stringify({
|
|
61
|
-
id: entry.id,
|
|
62
|
-
title: entry.title,
|
|
63
|
-
content: entry.content,
|
|
64
|
-
tags: entry.tags,
|
|
65
|
-
importance: entry.importance,
|
|
66
|
-
createdAt: entry.createdAt,
|
|
67
|
-
}, null, 2);
|
|
68
|
-
return { content: [{ type: 'text', text }], details: {} };
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
const searchEntries = defineTool({
|
|
72
|
-
name: 'moltnet_search_entries',
|
|
73
|
-
label: 'Search MoltNet Diary Entries',
|
|
74
|
-
description: 'Search diary entries by semantic query. Uses vector similarity to find relevant entries.',
|
|
75
|
-
parameters: Type.Object({
|
|
76
|
-
query: Type.String({
|
|
77
|
-
description: 'Natural language search query',
|
|
78
|
-
}),
|
|
79
|
-
limit: Type.Optional(Type.Number({ description: 'Max results (default 5)' })),
|
|
80
|
-
}),
|
|
81
|
-
async execute(_id, params) {
|
|
82
|
-
const { agent, diaryId } = ensureConnected(config);
|
|
83
|
-
const results = await agent.entries.search({
|
|
84
|
-
diaryId,
|
|
85
|
-
query: params.query,
|
|
86
|
-
limit: params.limit ?? 5,
|
|
87
|
-
});
|
|
88
|
-
const text = JSON.stringify(results.results?.map((e) => ({
|
|
89
|
-
id: e.id,
|
|
90
|
-
title: e.title,
|
|
91
|
-
tags: e.tags,
|
|
92
|
-
importance: e.importance,
|
|
93
|
-
contentPreview: typeof e.content === 'string' ? e.content.slice(0, 200) : undefined,
|
|
94
|
-
})), null, 2);
|
|
95
|
-
return { content: [{ type: 'text', text }], details: {} };
|
|
96
|
-
},
|
|
97
|
-
});
|
|
98
|
-
const createEntry = defineTool({
|
|
99
|
-
name: 'moltnet_create_entry',
|
|
100
|
-
label: 'Create MoltNet Diary Entry',
|
|
101
|
-
description: 'Create a new diary entry to record decisions, findings, incidents, or reflections.',
|
|
102
|
-
parameters: Type.Object({
|
|
103
|
-
title: Type.String({
|
|
104
|
-
description: 'Entry title (concise, descriptive)',
|
|
105
|
-
}),
|
|
106
|
-
content: Type.String({ description: 'Entry content (markdown)' }),
|
|
107
|
-
tags: Type.Optional(Type.Array(Type.String(), {
|
|
108
|
-
description: 'Tags for categorization',
|
|
109
|
-
})),
|
|
110
|
-
importance: Type.Optional(Type.Number({ description: 'Importance 1-10 (default 5)' })),
|
|
111
|
-
}),
|
|
112
|
-
async execute(_id, params) {
|
|
113
|
-
const { agent, diaryId } = ensureConnected(config);
|
|
114
|
-
const entry = await agent.entries.create(diaryId, {
|
|
115
|
-
title: params.title,
|
|
116
|
-
content: params.content,
|
|
117
|
-
tags: params.tags ?? [],
|
|
118
|
-
importance: params.importance ?? 5,
|
|
119
|
-
});
|
|
120
|
-
const text = JSON.stringify({ id: entry.id, title: entry.title, createdAt: entry.createdAt }, null, 2);
|
|
121
|
-
return { content: [{ type: 'text', text }], details: {} };
|
|
122
|
-
},
|
|
123
|
-
});
|
|
124
|
-
const reviewSessionErrors = defineTool({
|
|
125
|
-
name: 'moltnet_review_session_errors',
|
|
126
|
-
label: 'Review Session Tool Errors',
|
|
127
|
-
description: 'Review tool failures buffered during this session (isError=true results). ' +
|
|
128
|
-
'Use this to decide whether any failures are worth persisting as a diary entry ' +
|
|
129
|
-
'via moltnet_create_entry. Most failures are transient (denied prompts, empty ' +
|
|
130
|
-
'greps, mid-iteration typecheck errors) and should NOT be written to the diary — ' +
|
|
131
|
-
'only persist incidents that represent a real finding (root cause identified, ' +
|
|
132
|
-
'non-obvious workaround, recurring pattern). Pass clear=true to drop the buffer ' +
|
|
133
|
-
'after reviewing.',
|
|
134
|
-
parameters: Type.Object({
|
|
135
|
-
clear: Type.Optional(Type.Boolean({
|
|
136
|
-
description: 'If true, empty the buffer after returning it. Use once you have decided whether to persist.',
|
|
137
|
-
})),
|
|
138
|
-
}),
|
|
139
|
-
async execute(_id, params) {
|
|
140
|
-
const errors = config.getSessionErrors();
|
|
141
|
-
const payload = {
|
|
142
|
-
count: errors.length,
|
|
143
|
-
errors: errors.map((e) => ({
|
|
144
|
-
toolName: e.toolName,
|
|
145
|
-
toolCallId: e.toolCallId,
|
|
146
|
-
timestamp: new Date(e.timestamp).toISOString(),
|
|
147
|
-
input: e.input,
|
|
148
|
-
error: e.error,
|
|
149
|
-
})),
|
|
150
|
-
};
|
|
151
|
-
if (params.clear)
|
|
152
|
-
config.clearSessionErrors();
|
|
153
|
-
return {
|
|
154
|
-
content: [
|
|
155
|
-
{ type: 'text', text: JSON.stringify(payload, null, 2) },
|
|
156
|
-
],
|
|
157
|
-
details: {},
|
|
158
|
-
};
|
|
159
|
-
},
|
|
160
|
-
});
|
|
161
|
-
return [
|
|
162
|
-
listEntries,
|
|
163
|
-
getEntry,
|
|
164
|
-
searchEntries,
|
|
165
|
-
createEntry,
|
|
166
|
-
reviewSessionErrors,
|
|
167
|
-
];
|
|
168
|
-
}
|
|
169
|
-
//# sourceMappingURL=moltnet-tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"moltnet-tools.js","sourceRoot":"","sources":["../src/moltnet-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/snapshot.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export interface SandboxConfig {
|
|
2
|
-
/** Snapshot build settings. */
|
|
3
|
-
snapshot?: {
|
|
4
|
-
/** Shell commands to run after the base setup. */
|
|
5
|
-
setupCommands?: string[];
|
|
6
|
-
/** Additional hosts to allow network access during build. */
|
|
7
|
-
allowedHosts?: string[];
|
|
8
|
-
/** Overlay disk size (default '3G'). */
|
|
9
|
-
overlaySize?: string;
|
|
10
|
-
};
|
|
11
|
-
/** VFS shadow settings — hide host paths from the guest. */
|
|
12
|
-
vfs?: {
|
|
13
|
-
/** Paths (relative to workspace root) to shadow from the host mount. */
|
|
14
|
-
shadow?: string[];
|
|
15
|
-
/** What to do with writes to shadowed paths: 'deny' or 'tmpfs' (default 'tmpfs'). */
|
|
16
|
-
shadowMode?: 'deny' | 'tmpfs';
|
|
17
|
-
};
|
|
18
|
-
/** Environment variable overrides for the guest VM (applied on top of defaults). */
|
|
19
|
-
env?: Record<string, string>;
|
|
20
|
-
/** VM resource allocation. */
|
|
21
|
-
resources?: {
|
|
22
|
-
/** Memory size in qemu syntax (default '1G'). */
|
|
23
|
-
memory?: string;
|
|
24
|
-
/** CPU count (default 2). */
|
|
25
|
-
cpus?: number;
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
/** Extract snapshot-specific config for backwards compat with ensureSnapshot. */
|
|
29
|
-
export type SnapshotConfig = NonNullable<SandboxConfig['snapshot']>;
|
|
30
|
-
export interface EnsureSnapshotOptions {
|
|
31
|
-
config?: SnapshotConfig;
|
|
32
|
-
onProgress?: (message: string) => void;
|
|
33
|
-
/** Max number of old snapshots to keep (default 1). */
|
|
34
|
-
maxCached?: number;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Ensure a cached snapshot exists, building one if needed.
|
|
38
|
-
* Returns the absolute path to the qcow2 checkpoint file.
|
|
39
|
-
*/
|
|
40
|
-
export declare function ensureSnapshot(options?: EnsureSnapshotOptions): Promise<string>;
|
|
41
|
-
//# sourceMappingURL=snapshot.d.ts.map
|
package/dist/snapshot.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAkCA,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE;QACT,kDAAkD;QAClD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,6DAA6D;QAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,wCAAwC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,4DAA4D;IAC5D,GAAG,CAAC,EAAE;QACJ,wEAAwE;QACxE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,qFAAqF;QACrF,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC/B,CAAC;IACF,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,8BAA8B;IAC9B,SAAS,CAAC,EAAE;QACV,iDAAiD;QACjD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,6BAA6B;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;AA+FpE,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CAuFjB"}
|