thoth-plugin 1.2.2 → 1.2.3
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: morning-boot
|
|
3
|
-
version:
|
|
3
|
+
version: 2.0.0
|
|
4
4
|
description: Operational mode (e.g. 'deep-work', 'maintenance')
|
|
5
5
|
triggers:
|
|
6
6
|
inputs:
|
|
@@ -9,7 +9,6 @@ type: markdown
|
|
|
9
9
|
required: false
|
|
10
10
|
default: auto
|
|
11
11
|
output:
|
|
12
|
-
created: 2026-01-09
|
|
13
12
|
updated: 2026-01-09
|
|
14
13
|
---
|
|
15
14
|
|
|
@@ -19,27 +18,25 @@ You are the **Daily Operations Orchestrator**. Your goal is to gather all contex
|
|
|
19
18
|
|
|
20
19
|
## Execution Method
|
|
21
20
|
|
|
22
|
-
This skill uses **
|
|
21
|
+
This skill uses the **Sentinel Service** for robust, parallel execution via the SDK.
|
|
23
22
|
|
|
24
23
|
**To execute this workflow:**
|
|
25
24
|
|
|
26
|
-
1.
|
|
27
|
-
2.
|
|
25
|
+
1. Invoke the `trigger_workflow` tool.
|
|
26
|
+
2. Workflow name: `"morning-boot"`
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- Deep work block identification
|
|
33
|
-
- Complexity budget calculation
|
|
34
|
-
- Daily log synthesis
|
|
35
|
-
- Final briefing
|
|
28
|
+
```javascript
|
|
29
|
+
trigger_workflow({ workflow: "morning-boot" })
|
|
30
|
+
```
|
|
36
31
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
The Sentinel workflow handles:
|
|
33
|
+
- Parallel email, calendar, and task scans
|
|
34
|
+
- Synthesis of priorities
|
|
35
|
+
- Creation of the daily log file
|
|
36
|
+
- Generating the morning briefing
|
|
40
37
|
|
|
41
38
|
## Technical Constraints
|
|
42
39
|
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
45
|
-
- **
|
|
40
|
+
- **Do NOT** attempt to manually scan emails or calendar. Use the tool.
|
|
41
|
+
- **Do NOT** use `background_task` or `prose-run`.
|
|
42
|
+
- **Trust Level**: Requires Level 2+ (handled by Sentinel permissions).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: morning-boot
|
|
3
|
-
version:
|
|
3
|
+
version: 2.0.0
|
|
4
4
|
description: Operational mode (e.g. 'deep-work', 'maintenance')
|
|
5
5
|
triggers:
|
|
6
6
|
inputs:
|
|
@@ -9,7 +9,6 @@ type: markdown
|
|
|
9
9
|
required: false
|
|
10
10
|
default: auto
|
|
11
11
|
output:
|
|
12
|
-
created: 2026-01-09
|
|
13
12
|
updated: 2026-01-09
|
|
14
13
|
---
|
|
15
14
|
|
|
@@ -19,27 +18,25 @@ You are the **Daily Operations Orchestrator**. Your goal is to gather all contex
|
|
|
19
18
|
|
|
20
19
|
## Execution Method
|
|
21
20
|
|
|
22
|
-
This skill uses **
|
|
21
|
+
This skill uses the **Sentinel Service** for robust, parallel execution via the SDK.
|
|
23
22
|
|
|
24
23
|
**To execute this workflow:**
|
|
25
24
|
|
|
26
|
-
1.
|
|
27
|
-
2.
|
|
25
|
+
1. Invoke the `trigger_workflow` tool.
|
|
26
|
+
2. Workflow name: `"morning-boot"`
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- Deep work block identification
|
|
33
|
-
- Complexity budget calculation
|
|
34
|
-
- Daily log synthesis
|
|
35
|
-
- Final briefing
|
|
28
|
+
```javascript
|
|
29
|
+
trigger_workflow({ workflow: "morning-boot" })
|
|
30
|
+
```
|
|
36
31
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
The Sentinel workflow handles:
|
|
33
|
+
- Parallel email, calendar, and task scans
|
|
34
|
+
- Synthesis of priorities
|
|
35
|
+
- Creation of the daily log file
|
|
36
|
+
- Generating the morning briefing
|
|
40
37
|
|
|
41
38
|
## Technical Constraints
|
|
42
39
|
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
45
|
-
- **
|
|
40
|
+
- **Do NOT** attempt to manually scan emails or calendar. Use the tool.
|
|
41
|
+
- **Do NOT** use `background_task` or `prose-run`.
|
|
42
|
+
- **Trust Level**: Requires Level 2+ (handled by Sentinel permissions).
|
package/dist/index.js
CHANGED
|
@@ -24541,6 +24541,46 @@ Try a different skill name.`;
|
|
|
24541
24541
|
}
|
|
24542
24542
|
});
|
|
24543
24543
|
}
|
|
24544
|
+
// src/tools/sentinel/tools.ts
|
|
24545
|
+
function createSentinelTools(sentinelService) {
|
|
24546
|
+
return {
|
|
24547
|
+
trigger_workflow: tool({
|
|
24548
|
+
description: "Trigger a registered Sentinel workflow (e.g., morning-boot, deep-research). Use this to start complex, multi-step automated processes.",
|
|
24549
|
+
args: {
|
|
24550
|
+
workflow: tool.schema.string().describe("The name of the workflow to trigger (e.g., 'morning-boot', 'deep-research')"),
|
|
24551
|
+
data: tool.schema.string().optional().describe("Optional input data for the workflow")
|
|
24552
|
+
},
|
|
24553
|
+
execute: async ({ workflow, data }) => {
|
|
24554
|
+
const result = await sentinelService.triggerWorkflow(workflow, "manual", data);
|
|
24555
|
+
if (!result) {
|
|
24556
|
+
return `Error: Workflow "${workflow}" not found.`;
|
|
24557
|
+
}
|
|
24558
|
+
if (result.success) {
|
|
24559
|
+
return `Workflow "${workflow}" completed successfully.
|
|
24560
|
+
|
|
24561
|
+
Result:
|
|
24562
|
+
${result.response}`;
|
|
24563
|
+
} else {
|
|
24564
|
+
return `Workflow "${workflow}" failed.
|
|
24565
|
+
|
|
24566
|
+
Error: ${result.error}`;
|
|
24567
|
+
}
|
|
24568
|
+
}
|
|
24569
|
+
}),
|
|
24570
|
+
list_workflows: tool({
|
|
24571
|
+
description: "List all available Sentinel workflows.",
|
|
24572
|
+
args: {},
|
|
24573
|
+
execute: async () => {
|
|
24574
|
+
const workflows = sentinelService.listWorkflows();
|
|
24575
|
+
if (workflows.length === 0) {
|
|
24576
|
+
return "No workflows registered.";
|
|
24577
|
+
}
|
|
24578
|
+
return workflows.map((w) => `- **${w.name}**: ${w.description || "No description"}`).join(`
|
|
24579
|
+
`);
|
|
24580
|
+
}
|
|
24581
|
+
})
|
|
24582
|
+
};
|
|
24583
|
+
}
|
|
24544
24584
|
// src/services/skill-registry.ts
|
|
24545
24585
|
import { existsSync as existsSync11, readdirSync as readdirSync6, readFileSync as readFileSync10 } from "fs";
|
|
24546
24586
|
import { join as join18, resolve as resolve3 } from "path";
|
|
@@ -40538,6 +40578,7 @@ var ThothPlugin = async (ctx) => {
|
|
|
40538
40578
|
const skillRegistry = new SkillRegistry;
|
|
40539
40579
|
await skillRegistry.loadSkills();
|
|
40540
40580
|
const skillTool = createSkillTool(skillRegistry);
|
|
40581
|
+
const sentinelTools = sentinelService ? createSentinelTools(sentinelService) : {};
|
|
40541
40582
|
if (sessionRecoveryHook && todoContinuationEnforcer) {
|
|
40542
40583
|
sessionRecoveryHook.setOnAbortCallback((sessionID) => {
|
|
40543
40584
|
todoContinuationEnforcer.markRecovering(sessionID);
|
|
@@ -40551,7 +40592,8 @@ var ThothPlugin = async (ctx) => {
|
|
|
40551
40592
|
background_task: backgroundTask,
|
|
40552
40593
|
background_output: backgroundOutput,
|
|
40553
40594
|
background_cancel: backgroundCancel,
|
|
40554
|
-
skill: skillTool
|
|
40595
|
+
skill: skillTool,
|
|
40596
|
+
...sentinelTools
|
|
40555
40597
|
},
|
|
40556
40598
|
config: async (config3) => {
|
|
40557
40599
|
const thothAgents = createAgents(pluginConfig);
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export * from "./background-task";
|
|
2
|
+
export * from "./skill";
|
|
3
|
+
export * from "./sentinel";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./tools";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "thoth-plugin",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "Thoth - Root-level life orchestrator for OpenCode. Unified AI chief of staff combining Sisyphus execution quality, Personal-OS rhythms, and Thoth relationship model.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|