create-pmos 0.7.3 → 0.9.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 +68 -0
- package/package.json +1 -1
- package/payload/KIT-VERSION +1 -1
- package/payload/skills/pmos-router.skill +22 -0
- package/payload/skills-native/pmos-router/SKILL.md +22 -0
- package/workspace/README.md +28 -0
- package/workspace/lib/apply-change.js +51 -1
- package/workspace/lib/console-state.js +56 -1
- package/workspace/lib/git-info.js +197 -25
- package/workspace/lib/session-state.js +139 -0
- package/workspace/lib/transcript-read.js +28 -6
- package/workspace/public/app.js +429 -274
- package/workspace/public/index.html +30 -7
- package/workspace/public/styles.css +898 -624
- package/workspace/public/vendor/ibm-plex-mono-400.woff2 +0 -0
- package/workspace/public/vendor/ibm-plex-mono-700.woff2 +0 -0
- package/workspace/public/vendor/space-grotesk-var.woff2 +0 -0
- package/workspace/server.js +401 -234
- package/workspace/lib/correction-record.js +0 -127
- package/workspace/lib/finding-contract.js +0 -162
- package/workspace/skills/doc-review.skill +0 -119
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
6
6
|
<title>PMOS Terminal Workspace</title>
|
|
7
|
+
<!-- The terminal's face is preloaded, not left to be discovered. An @font-face is only fetched when
|
|
8
|
+
something first RENDERS in it, which for Plex Mono is about the same moment app.js constructs
|
|
9
|
+
the first xterm — and xterm measures its cell from whatever face is resolved at construction.
|
|
10
|
+
Starting the fetch here, during head parse, means the real metrics are in place before the
|
|
11
|
+
first terminal exists. app.js also re-fits on document.fonts.ready as the backstop. -->
|
|
12
|
+
<link rel="preload" href="/vendor/ibm-plex-mono-400.woff2" as="font" type="font/woff2" crossorigin />
|
|
13
|
+
<link rel="preload" href="/vendor/ibm-plex-mono-700.woff2" as="font" type="font/woff2" crossorigin />
|
|
7
14
|
<link rel="stylesheet" href="/vendor/xterm.css" />
|
|
8
15
|
<link rel="stylesheet" href="/styles.css" />
|
|
9
16
|
</head>
|
|
@@ -65,6 +72,12 @@
|
|
|
65
72
|
</div>
|
|
66
73
|
<p class="hint">or just run <code>pmos</code> inside that repo</p>
|
|
67
74
|
</form>
|
|
75
|
+
<!-- Worktrees the workspace made are folders the PM has to live with, so the app that
|
|
76
|
+
creates them is the app that clears them. Hidden entirely until there is one. -->
|
|
77
|
+
<details class="wtbox" id="wtBox" hidden>
|
|
78
|
+
<summary id="wtSummary">worktrees</summary>
|
|
79
|
+
<div id="wtList"></div>
|
|
80
|
+
</details>
|
|
68
81
|
</div>
|
|
69
82
|
</section>
|
|
70
83
|
|
|
@@ -83,11 +96,16 @@
|
|
|
83
96
|
<button type="button" data-agent="codex" role="radio" aria-checked="false">codex</button>
|
|
84
97
|
</div>
|
|
85
98
|
<div class="brwrap" id="newBranchWrap" hidden>
|
|
86
|
-
<label class="lbl" for="newBranch">branch</label>
|
|
99
|
+
<label class="lbl" for="newBranch">branch <span class="opt">— optional</span></label>
|
|
87
100
|
<select id="newBranch" aria-label="Branch to run this session on"></select>
|
|
88
101
|
<input id="newBranchName" type="text" hidden placeholder="new-branch-name" aria-label="New branch name" autocomplete="off" spellcheck="false" />
|
|
89
|
-
<
|
|
102
|
+
<label class="chk" id="newIsolateWrap" hidden>
|
|
103
|
+
<input type="checkbox" id="newIsolate" checked />
|
|
104
|
+
<span>give it its own folder — leave running sessions alone</span>
|
|
105
|
+
</label>
|
|
106
|
+
<p class="hint" id="newBranchHint"></p>
|
|
90
107
|
</div>
|
|
108
|
+
<p class="hint" id="newNoGit" hidden>no git in this folder — nothing to branch, the session just starts here</p>
|
|
91
109
|
<div class="row">
|
|
92
110
|
<button type="submit" class="go">start session</button>
|
|
93
111
|
<button type="button" class="quiet" id="newCancel">cancel</button>
|
|
@@ -144,12 +162,14 @@
|
|
|
144
162
|
|
|
145
163
|
<!-- Scratchpad: a collapsible drawer at the BOTTOM of the terminal column. Folded it is a thin
|
|
146
164
|
bar; open it takes a bounded slice below the terminal — it never overlays the tabs, the
|
|
147
|
-
terminal, or the document rail. Persists
|
|
165
|
+
terminal, or the document rail. Persists PER TAB: each session keeps its own staging
|
|
166
|
+
text, and the label below says which tab you are staging for. -->
|
|
148
167
|
<section class="scratch" id="scratch" data-open="false" aria-label="Scratchpad">
|
|
149
168
|
<div class="scratch-head">
|
|
150
169
|
<button type="button" class="scratch-toggle" id="scratchToggle" aria-expanded="false" aria-controls="scratchText">
|
|
151
170
|
<span class="chev" aria-hidden="true">▴</span> scratchpad
|
|
152
171
|
</button>
|
|
172
|
+
<span class="scratch-who" id="scratchWho"></span>
|
|
153
173
|
<span class="scratch-status" id="scratchStatus" role="status"></span>
|
|
154
174
|
<span class="scratch-actions">
|
|
155
175
|
<button type="button" class="mini" id="scratchCopy" title="Copy to clipboard">copy</button>
|
|
@@ -187,7 +207,10 @@
|
|
|
187
207
|
<div class="cap">
|
|
188
208
|
<button class="fold" id="docFold" aria-expanded="true" title="Hide the document"><span class="chev" aria-hidden="true">▾</span>document</button>
|
|
189
209
|
<span class="crumb" id="crumb"></span>
|
|
190
|
-
<button class="mini docrev" id="
|
|
210
|
+
<button class="mini docrev" id="docEdit" hidden title="Edit this document">edit</button>
|
|
211
|
+
<button class="mini docrev" id="docSave" hidden title="Save (⌘S)">save</button>
|
|
212
|
+
<button class="mini docrev" id="docCancel" hidden title="Discard changes">cancel</button>
|
|
213
|
+
<button class="mini docrev" id="docHistory" hidden title="Changes you have made to this document">history</button>
|
|
191
214
|
<button class="x" id="closeDoc" aria-label="Close document">✕</button>
|
|
192
215
|
</div>
|
|
193
216
|
<div class="pane-body doc-body" id="docBody" tabindex="0"></div>
|
|
@@ -257,9 +280,9 @@
|
|
|
257
280
|
<script src="/vendor/addon-web-links.js"></script>
|
|
258
281
|
<script src="/lib/preview-kind.js"></script>
|
|
259
282
|
<script src="/lib/layout.js"></script>
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
283
|
+
<script src="/lib/session-state.js"></script>
|
|
284
|
+
<!-- The editor computes its diff with the SAME module the server saves through, so what you see
|
|
285
|
+
while editing and what the server writes can never disagree. -->
|
|
263
286
|
<script src="/lib/apply-change.js"></script>
|
|
264
287
|
<script src="/app.js"></script>
|
|
265
288
|
</body>
|