@themoltnet/pi-runtime 0.9.0 → 0.10.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/dist/index.d.ts +6 -0
- package/dist/index.js +43 -7
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -849,6 +849,12 @@ export declare interface MoltNetToolsConfig {
|
|
|
849
849
|
* entry creation behaves as before (env-derived diary, no auto-tags).
|
|
850
850
|
*/
|
|
851
851
|
getTaskContext?(): MoltNetTaskContext | null;
|
|
852
|
+
/** Records recoverable task-provenance failures without ending the task. */
|
|
853
|
+
onTaskProvenanceEvent?(event: 'task.provenance.entry_denied', details: {
|
|
854
|
+
taskId: string;
|
|
855
|
+
diaryId: string;
|
|
856
|
+
error: string;
|
|
857
|
+
}): void | Promise<void>;
|
|
852
858
|
}
|
|
853
859
|
|
|
854
860
|
export declare function normalizeRetryTriageResult(value: unknown): PiRetryTriageResult;
|
package/dist/index.js
CHANGED
|
@@ -678,13 +678,27 @@ function createMoltNetTools(config) {
|
|
|
678
678
|
} else targetDiaryId = params.diaryId ?? envDiaryId;
|
|
679
679
|
const userTags = params.tags ?? [];
|
|
680
680
|
const mergedTags = autoTags.length ? [...autoTags, ...userTags.filter((t) => !autoTags.includes(t))] : userTags;
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
681
|
+
let entry;
|
|
682
|
+
try {
|
|
683
|
+
entry = await agent.entries.create(targetDiaryId, {
|
|
684
|
+
title: params.title,
|
|
685
|
+
content: params.content,
|
|
686
|
+
tags: mergedTags,
|
|
687
|
+
importance: params.importance ?? 5,
|
|
688
|
+
...params.entryType ? { entryType: params.entryType } : {}
|
|
689
|
+
});
|
|
690
|
+
} catch (error) {
|
|
691
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
692
|
+
if (taskCtx && /\b403\b|forbidden|not authorized|permission/i.test(message)) {
|
|
693
|
+
await config.onTaskProvenanceEvent?.("task.provenance.entry_denied", {
|
|
694
|
+
taskId: taskCtx.taskId,
|
|
695
|
+
diaryId: targetDiaryId,
|
|
696
|
+
error: message
|
|
697
|
+
});
|
|
698
|
+
throw new Error(`entries_create: the task provenance diary denied this entry. The diary may have moved to another team or its grants may have changed. The task and runtime session remain active; ask a diary manager to restore write access, then retry. (${message})`, { cause: error });
|
|
699
|
+
}
|
|
700
|
+
throw error;
|
|
701
|
+
}
|
|
688
702
|
return {
|
|
689
703
|
content: [{
|
|
690
704
|
type: "text",
|
|
@@ -2139,6 +2153,23 @@ var DiaryGrantResponseSchema = Type$1.Object({
|
|
|
2139
2153
|
});
|
|
2140
2154
|
Type$1.Object({ grants: Type$1.Array(DiaryGrantResponseSchema) });
|
|
2141
2155
|
Type$1.Object({ revoked: Type$1.Boolean() });
|
|
2156
|
+
var TaskGrantRoleSchema = Type$1.Union([Type$1.Literal("writer"), Type$1.Literal("manager")]);
|
|
2157
|
+
Type$1.Object({
|
|
2158
|
+
subjectId: UuidSchema,
|
|
2159
|
+
subjectNs: GrantSubjectNsSchema,
|
|
2160
|
+
role: TaskGrantRoleSchema
|
|
2161
|
+
});
|
|
2162
|
+
Type$1.Object({
|
|
2163
|
+
subjectId: UuidSchema,
|
|
2164
|
+
subjectNs: GrantSubjectNsSchema,
|
|
2165
|
+
role: TaskGrantRoleSchema
|
|
2166
|
+
});
|
|
2167
|
+
var TaskGrantResponseSchema = Type$1.Object({
|
|
2168
|
+
subjectId: UuidSchema,
|
|
2169
|
+
subjectNs: GrantSubjectNsSchema,
|
|
2170
|
+
role: TaskGrantRoleSchema
|
|
2171
|
+
});
|
|
2172
|
+
Type$1.Object({ grants: Type$1.Array(TaskGrantResponseSchema) });
|
|
2142
2173
|
Type$1.Object({ "x-moltnet-team-id": Type$1.String({
|
|
2143
2174
|
format: "uuid",
|
|
2144
2175
|
description: "Team ID (UUID) that will own the resource. Required."
|
|
@@ -7662,6 +7693,11 @@ async function executePiTask(claimedTask, reporter, opts) {
|
|
|
7662
7693
|
attemptN,
|
|
7663
7694
|
diaryId,
|
|
7664
7695
|
correlationId: task.correlationId ?? null
|
|
7696
|
+
}),
|
|
7697
|
+
onTaskProvenanceEvent: (event, details) => emit("info", {
|
|
7698
|
+
event,
|
|
7699
|
+
severity: "warn",
|
|
7700
|
+
...details
|
|
7665
7701
|
})
|
|
7666
7702
|
});
|
|
7667
7703
|
const piAuthDir = resolvePiCodingAgentDir();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@themoltnet/pi-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Composable MoltNet runtime kernel for Pi agents in Gondolin VMs",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"@opentelemetry/api": "^1.9.0",
|
|
32
32
|
"multiformats": "^13.3.0",
|
|
33
33
|
"typebox": "^1.2.8",
|
|
34
|
-
"@themoltnet/agent-runtime": "0.
|
|
34
|
+
"@themoltnet/agent-runtime": "0.43.0",
|
|
35
35
|
"@themoltnet/os-keyring": "0.2.0",
|
|
36
|
-
"@themoltnet/sdk": "0.
|
|
36
|
+
"@themoltnet/sdk": "0.134.0",
|
|
37
37
|
"@themoltnet/shell-command-analyzer": "0.3.0"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"vite": "^8.0.0",
|
|
52
52
|
"vite-plugin-dts": "^4.5.4",
|
|
53
53
|
"vitest": "^3.0.0",
|
|
54
|
+
"@moltnet/crypto-service": "0.1.0",
|
|
54
55
|
"@moltnet/models": "0.1.0",
|
|
55
|
-
"@moltnet/tasks": "0.1.0"
|
|
56
|
-
"@moltnet/crypto-service": "0.1.0"
|
|
56
|
+
"@moltnet/tasks": "0.1.0"
|
|
57
57
|
},
|
|
58
58
|
"engines": {
|
|
59
59
|
"node": ">=24"
|