@agimon-ai/doompi-plan 0.0.1-alpha.65 → 0.0.1-alpha.68

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/doompi-plan",
3
- "version": "0.0.1-alpha.65",
3
+ "version": "0.0.1-alpha.68",
4
4
  "description": "Reviewable Pi planning mode that removes file-editing tools and persists implementation plans.",
5
5
  "keywords": [
6
6
  "ai",
@@ -35,7 +35,8 @@
35
35
  "src/types/planSettings.ts",
36
36
  "README.md",
37
37
  "LICENSE",
38
- "package.json"
38
+ "package.json",
39
+ "!src/web/**/*.stories.tsx"
39
40
  ],
40
41
  "type": "module",
41
42
  "main": "./dist/index.cjs",
@@ -96,12 +97,12 @@
96
97
  "dependencies": {
97
98
  "@deepseek-ai/cordis": "4.0.2",
98
99
  "hono": "4.13.5",
99
- "@agimon-ai/doompi-config": "0.0.1-alpha.64",
100
- "@agimon-ai/doompi-telemetry": "0.0.1-alpha.63",
101
- "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.64",
102
- "@agimon-ai/doompi-web-contracts": "0.0.1-alpha.27",
103
- "@agimon-ai/doompi-web-components": "0.0.1-alpha.24",
104
- "@agimon-ai/doompi-web-security": "0.0.1-alpha.26"
100
+ "@agimon-ai/doompi-config": "0.0.1-alpha.67",
101
+ "@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.67",
102
+ "@agimon-ai/doompi-telemetry": "0.0.1-alpha.66",
103
+ "@agimon-ai/doompi-web-components": "0.0.1-alpha.27",
104
+ "@agimon-ai/doompi-web-contracts": "0.0.1-alpha.30",
105
+ "@agimon-ai/doompi-web-security": "0.0.1-alpha.29"
105
106
  },
106
107
  "devDependencies": {
107
108
  "@earendil-works/pi-coding-agent": "0.85.1",
@@ -20,7 +20,7 @@ export function PlanActivitySection({ sessionId, statuses, openTransientTab }: W
20
20
 
21
21
  if (view === undefined) {
22
22
  return (
23
- <p data-testid="activity-summary-plan" className="px-1 text-[10px] text-doom-faint">
23
+ <p data-testid="activity-summary-plan" className="px-1 text-xs text-doom-faint">
24
24
  no plan written yet
25
25
  </p>
26
26
  );
@@ -38,23 +38,23 @@ export function PlanActivitySection({ sessionId, statuses, openTransientTab }: W
38
38
  if (sessionId === null) return;
39
39
  openTransientTab(planTab());
40
40
  }}
41
- className="min-w-0 gap-0.5 rounded-[5px] px-1 py-1 hover:bg-doom-panel"
41
+ className="min-w-0 gap-0.5 rounded-md px-1 py-1 hover:bg-doom-panel"
42
42
  >
43
43
  <span className="flex w-full min-w-0 items-center gap-1.5">
44
44
  <span
45
45
  data-testid="activity-plan-title"
46
- className="min-w-0 flex-1 truncate text-left text-[10px] font-bold text-doom-hi"
46
+ className="min-w-0 flex-1 truncate text-left text-xs font-bold text-doom-hi"
47
47
  >
48
48
  {view.title}
49
49
  </span>
50
50
  {view.stamp === '' ? null : (
51
- <span data-testid="activity-plan-stamp" className="shrink-0 text-[9px] tabular-nums text-doom-faint">
51
+ <span data-testid="activity-plan-stamp" className="shrink-0 text-2xs tabular-nums text-doom-faint">
52
52
  {view.stamp}
53
53
  </span>
54
54
  )}
55
55
  </span>
56
56
  </Button>
57
- <p className="px-1 text-[9px] leading-relaxed text-doom-faint">
57
+ <p className="px-1 text-2xs leading-relaxed text-doom-faint">
58
58
  open to read or edit; the agent reads what you save.
59
59
  </p>
60
60
  </div>
@@ -87,7 +87,7 @@ export function PlanPanel({ sessionId, statuses, closeTransientTab }: WebPluginS
87
87
  return (
88
88
  <div data-testid="plan-panel" className="flex min-h-0 flex-1 flex-col">
89
89
  <header className="flex shrink-0 items-center gap-2 border-b border-doom-border px-4 py-2">
90
- <span data-testid="plan-title" className="min-w-0 flex-1 truncate text-[12px] font-bold text-doom-hi">
90
+ <span data-testid="plan-title" className="min-w-0 flex-1 truncate text-sm font-bold text-doom-hi">
91
91
  {detail?.title ?? 'plan'}
92
92
  </span>
93
93
  <nav className="flex shrink-0 items-center gap-1">
@@ -98,7 +98,7 @@ export function PlanPanel({ sessionId, statuses, closeTransientTab }: WebPluginS
98
98
  size="xs"
99
99
  data-testid={`plan-view-${entry}`}
100
100
  onClick={() => setView(entry)}
101
- className="text-[9px]"
101
+ className="text-2xs"
102
102
  >
103
103
  {entry}
104
104
  </Button>
@@ -109,32 +109,32 @@ export function PlanPanel({ sessionId, statuses, closeTransientTab }: WebPluginS
109
109
  size="xs"
110
110
  data-testid="plan-close"
111
111
  onClick={() => closeTransientTab(PLAN_TAB_ID)}
112
- className="shrink-0 text-[9px]"
112
+ className="shrink-0 text-2xs"
113
113
  >
114
114
  close
115
115
  </Button>
116
116
  </header>
117
117
 
118
118
  {loading && detail === undefined ? (
119
- <p data-testid="plan-loading" className="px-4 py-3 text-[11px] text-doom-faint">
119
+ <p data-testid="plan-loading" className="px-4 py-3 text-sm text-doom-faint">
120
120
  reading this session's plan…
121
121
  </p>
122
122
  ) : null}
123
123
  {error === undefined ? null : (
124
- <p data-testid="plan-error" className="px-4 py-3 text-[11px] text-doom-red">
124
+ <p data-testid="plan-error" className="px-4 py-3 text-sm text-doom-red">
125
125
  {error}
126
126
  </p>
127
127
  )}
128
128
 
129
129
  <div className="flex min-h-0 flex-1 flex-col">
130
130
  {detail === undefined ? null : detail.unavailable ? (
131
- <p data-testid="plan-unavailable" className="px-4 py-3 text-[11px] text-doom-faint">
131
+ <p data-testid="plan-unavailable" className="px-4 py-3 text-sm text-doom-faint">
132
132
  {detail.reason ?? 'this plan cannot be shown'}
133
133
  </p>
134
134
  ) : view === 'preview' ? (
135
135
  <div
136
136
  data-testid="plan-preview"
137
- className="flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto p-4 text-[12px] text-doom-text"
137
+ className="flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto p-4 text-sm text-doom-text"
138
138
  >
139
139
  <Markdown text={content} />
140
140
  </div>
@@ -157,7 +157,7 @@ export function PlanPanel({ sessionId, statuses, closeTransientTab }: WebPluginS
157
157
  loading={saving}
158
158
  disabled={draft === undefined || saving}
159
159
  onClick={() => void save()}
160
- className="text-[9px]"
160
+ className="text-2xs"
161
161
  >
162
162
  save to disk
163
163
  </Button>
@@ -167,7 +167,7 @@ export function PlanPanel({ sessionId, statuses, closeTransientTab }: WebPluginS
167
167
  size="xs"
168
168
  data-testid="plan-revert"
169
169
  onClick={() => setDraft(undefined)}
170
- className="text-[9px]"
170
+ className="text-2xs"
171
171
  >
172
172
  discard edits
173
173
  </Button>
@@ -175,7 +175,7 @@ export function PlanPanel({ sessionId, statuses, closeTransientTab }: WebPluginS
175
175
  {saveNote === undefined ? null : (
176
176
  <span
177
177
  data-testid="plan-save-note"
178
- className={saveNote === SAVED_NOTE ? 'text-[9px] text-doom-green' : 'text-[9px] text-doom-red'}
178
+ className={saveNote === SAVED_NOTE ? 'text-2xs text-doom-green' : 'text-2xs text-doom-red'}
179
179
  >
180
180
  {saveNote}
181
181
  </span>
@@ -187,7 +187,7 @@ export function PlanPanel({ sessionId, statuses, closeTransientTab }: WebPluginS
187
187
 
188
188
  {detail === undefined ? null : (
189
189
  <footer data-testid="plan-source-path" className="shrink-0 truncate border-t border-doom-border px-4 py-1.5">
190
- <span className="text-[9px] text-doom-faint">{detail.path}</span>
190
+ <span className="text-2xs text-doom-faint">{detail.path}</span>
191
191
  </footer>
192
192
  )}
193
193
  </div>
@@ -51,8 +51,8 @@ export function PlanReviewPrompt({ dialog, answer, cancel }: ToolPromptRenderPro
51
51
  >
52
52
  <div className="flex flex-col gap-1 px-3.5 pt-3 pb-2">
53
53
  <SectionLabel>plan review</SectionLabel>
54
- <p className="text-[13px] leading-relaxed text-doom-hi">{dialog.title}</p>
55
- <p className="text-[11px] leading-relaxed text-doom-dim">
54
+ <p className="text-base leading-relaxed text-doom-hi">{dialog.title}</p>
55
+ <p className="text-sm leading-relaxed text-doom-dim">
56
56
  Review the plan in the conversation before choosing what happens next.
57
57
  </p>
58
58
  </div>
@@ -67,7 +67,7 @@ export function PlanReviewPrompt({ dialog, answer, cancel }: ToolPromptRenderPro
67
67
  />
68
68
 
69
69
  <div className="flex min-h-[34px] items-center gap-2 border-t border-doom-border-soft px-3.5 py-2">
70
- <span className="text-[10px] text-doom-faint">
70
+ <span className="text-xs text-doom-faint">
71
71
  {optionListHint(dialog.options.length)} · <Kbd>esc</Kbd> cancels
72
72
  </span>
73
73
  <Button variant="outline" size="sm" data-testid="plan-review-cancel" className="ml-auto" onClick={cancel}>