@agimon-ai/doompi-loop 0.0.1-alpha.37 → 0.0.1-alpha.38

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 CHANGED
@@ -12,7 +12,7 @@ prompt belongs to the current session.
12
12
  ## Requirements
13
13
 
14
14
  - Node.js 22.19.0 or newer
15
- - Pi 0.84.2 and Pi TUI 0.84.2
15
+ - Pi 0.84.3 and Pi TUI 0.84.3
16
16
 
17
17
  ## Install
18
18
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/doompi-loop",
3
- "version": "0.0.1-alpha.37",
3
+ "version": "0.0.1-alpha.38",
4
4
  "description": "Session-scoped recurring prompt scheduler and loop controls for Pi coding agents.",
5
5
  "keywords": [
6
6
  "ai",
@@ -27,6 +27,7 @@
27
27
  },
28
28
  "files": [
29
29
  "dist",
30
+ "web",
30
31
  "llms.txt",
31
32
  "src/prompts",
32
33
  "README.md",
@@ -55,12 +56,13 @@
55
56
  },
56
57
  "dependencies": {
57
58
  "@deepseek-ai/cordis": "4.0.1",
58
- "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.37",
59
- "@agimon-ai/doompi-ui": "0.0.1-alpha.37"
59
+ "@agimon-ai/doompi-ui": "0.0.1-alpha.38",
60
+ "@agimon-ai/doompi-web-contracts": "0.0.1-alpha.1",
61
+ "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.38"
60
62
  },
61
63
  "devDependencies": {
62
- "@earendil-works/pi-coding-agent": "0.84.2",
63
- "@earendil-works/pi-tui": "0.84.2",
64
+ "@earendil-works/pi-coding-agent": "0.84.3",
65
+ "@earendil-works/pi-tui": "0.84.3",
64
66
  "@types/node": "26.2.0",
65
67
  "@vitest/coverage-v8": "4.1.11",
66
68
  "tsdown": "0.22.14",
@@ -68,8 +70,8 @@
68
70
  "vitest": "4.1.11"
69
71
  },
70
72
  "peerDependencies": {
71
- "@earendil-works/pi-coding-agent": "0.84.2",
72
- "@earendil-works/pi-tui": "0.84.2"
73
+ "@earendil-works/pi-coding-agent": "0.84.3",
74
+ "@earendil-works/pi-tui": "0.84.3"
73
75
  },
74
76
  "peerDependenciesMeta": {
75
77
  "@earendil-works/pi-coding-agent": {
@@ -82,6 +84,11 @@
82
84
  "engines": {
83
85
  "node": ">=22.19.0"
84
86
  },
87
+ "doompiWeb": {
88
+ "pluginId": "loop",
89
+ "channels": [],
90
+ "client": "./web/index.ts"
91
+ },
85
92
  "pi": {
86
93
  "extensions": [
87
94
  "./dist/extensions/pi.mjs"
@@ -90,7 +97,7 @@
90
97
  "scripts": {
91
98
  "build": "tsdown",
92
99
  "test": "vitest --run",
93
- "typecheck": "tsc --noEmit",
100
+ "typecheck": "tsc --noEmit && tsc --noEmit -p web/tsconfig.json",
94
101
  "lint": "oxlint . && oxfmt . --check",
95
102
  "fixcode": "oxlint . --fix && oxfmt ."
96
103
  }
package/web/index.ts ADDED
@@ -0,0 +1,25 @@
1
+ import { defineWebPlugin } from '@agimon-ai/doompi-web-contracts';
2
+
3
+ /**
4
+ * This package's cockpit presence: pure metadata. The selection bar renders
5
+ * the minor-mode entry and folds in what the session reports through the 'doom-loop' footer status.
6
+ */
7
+ const LOOPS_GROUP = { key: 'l', label: 'loops', detail: 'recurring prompt loops' };
8
+
9
+ export const webPlugin = defineWebPlugin({
10
+ id: 'loop',
11
+ minorModes: [{ name: 'loop', keys: 'l l', statusKey: 'doom-loop', order: 30 }],
12
+ // The TUI's SPC l s and SPC l l: both are slash commands, so both carry over.
13
+ leaderBindings: [
14
+ {
15
+ id: 'loop.start',
16
+ path: [LOOPS_GROUP, { key: 's', label: 'start', detail: 'begin a recurring loop' }],
17
+ command: 'loop',
18
+ },
19
+ {
20
+ id: 'loop.list',
21
+ path: [LOOPS_GROUP, { key: 'l', label: 'list', detail: 'loops in this session' }],
22
+ command: 'loops',
23
+ },
24
+ ],
25
+ });
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "lib": ["ES2023", "DOM", "DOM.Iterable"],
5
+ "module": "ESNext",
6
+ "moduleResolution": "Bundler",
7
+ "jsx": "react-jsx",
8
+ "strict": true,
9
+ "noImplicitAny": true,
10
+ "noUnusedLocals": true,
11
+ "noUnusedParameters": true,
12
+ "noImplicitReturns": true,
13
+ "noFallthroughCasesInSwitch": true,
14
+ "noEmit": true,
15
+ "resolveJsonModule": true,
16
+ "esModuleInterop": true,
17
+ "skipLibCheck": true,
18
+ "allowImportingTsExtensions": true,
19
+ "forceConsistentCasingInFileNames": true
20
+ },
21
+ "include": [".", "../src/types"]
22
+ }