@aryacode/dsh-aryacode-polish 0.4.4 → 0.6.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/CHANGELOG.md CHANGED
@@ -1,5 +1,61 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.0] - 2026-10-28
4
+
5
+ ### Changed
6
+
7
+ - **Adding a workspace moved into the Workspaces "+" menu.** A new switch
8
+ (`workspaceSources`) occupies `sidebar.workspaces.directoryFlow`, which is what
9
+ makes the Shell's **Add workspace…** row appear at all, and stands in for the
10
+ folder picker with the source menu the owner asked for: **On this PC** (a folder
11
+ browser driven by this bundle's own `api/polish.folders` route) and **GitHub
12
+ repository…** (the existing dialog). A finished clone hands its path to the
13
+ flow's `onPicked`, so the Shell creates the workspace exactly as it does for a
14
+ picked folder.
15
+
16
+ ### Added
17
+
18
+ - The sidebar foot now carries the GitHub sign-in state next to the balance
19
+ (`GitHub · <login>` / `GitHub · signed out`); clicking it opens the repository
20
+ dialog. It replaced the foot's add-workspace row, which the "+" menu supersedes.
21
+
22
+ ### Fixed
23
+
24
+ - "On this PC" lists folders instead of waiting on a chooser that cannot open. A
25
+ composed directory picker serves one capability, `browse` or `native`, and the
26
+ browser build composes the one with no chooser to show, so the previous
27
+ `directoryPicker.pick()` call simply never settled. The flow now walks folders
28
+ through its own route: roots, a `..` row for going back, directories only, and
29
+ hidden or system entries filtered out.
30
+
31
+ ## [0.5.0] - 2026-10-27
32
+
33
+ ### Added
34
+
35
+ - **Add a workspace from GitHub.** A new switch (`githubWorkspace`) adds an
36
+ **Add workspace from GitHub** entry to the sidebar foot. It lists the
37
+ repositories the GitHub CLI session can clone, clones the chosen one into
38
+ `<home>\AryaCode\<owner>\<repo>`, and registers that folder as a workspace
39
+ through the same controller call the "+" menu uses. The token never reaches the
40
+ browser: the Host reads it with `gh auth token` and hands it to git as an
41
+ `http.extraHeader` in git's environment, so it stays out of the URL, the
42
+ command line, and any stored remote. See
43
+ [`docs/github-workspaces.md`](docs/github-workspaces.md).
44
+
45
+ ### Fixed
46
+
47
+ - **A clone would have failed on a real machine.** `cloneRepo` spawned the
48
+ argument list without the `git` command name and passed the token as an option
49
+ the runner never read, so the clone carried no authentication at all. It now
50
+ spawns `git` with the token in `GIT_CONFIG_*`, which is what GitHub's git
51
+ server accepts, and `test/github.spec.mjs` pins the spawn shape.
52
+ - **The signed-out reason told you nothing you could act on.** It now names the
53
+ command that fixes it (`gh auth login`).
54
+
55
+ ### Changed
56
+
57
+ - `pnpm test` also runs `test/github.spec.mjs`; the suite is 87 tests.
58
+
3
59
  ## [0.4.4] - 2026-10-27
4
60
 
5
61
  ### Fixed
@@ -232,8 +288,8 @@
232
288
 
233
289
  ### Fixed
234
290
 
235
- - The pill's `≈` was stored as cp1252 mojibake (`≈`), so a real turn rendered
236
- `≈$0.003` instead of `≈$0.003`. Same cause as the two strings repaired in
291
+ - The pill's `≈` was stored as cp1252 mojibake (`≈`), so a real turn rendered
292
+ `≈$0.003` instead of `≈$0.003`. Same cause as the two strings repaired in
237
293
  0.2.1 — a PowerShell round-trip over the face source — and the last of that
238
294
  damage. Verified against a real turn in Dev AryaCode.
239
295
 
package/README.md CHANGED
@@ -7,7 +7,7 @@ installed into and patches nothing. It is one package, one Plugins row, and one
7
7
  switch per feature, so a refinement that turns out to be wrong for a machine can
8
8
  be turned off without uninstalling anything.
9
9
 
10
- Status: **three features shipped.** The version is the package's, and the card
10
+ Status: **five features shipped.** The version is the package's, and the card
11
11
  header already shows it.
12
12
 
13
13
  ## What it is
@@ -33,6 +33,8 @@ Configure page automatically.
33
33
  | **Estimated session cost** (`sessionCost`) | On | A `≈$0.39` pill in the composer dock that opens a breakdown card — cache hit, uncached input, cached input, output, requests, and the estimate — priced from the session's recorded usage at the published DeepSeek rates. |
34
34
  | **Account balance** (`accountBalance`) | On | The account's remaining wallet (`$17.33`) in the sidebar foot, above the account row. Renders nothing when the Host exposes no wallet, so it never shows a number nobody gave it. |
35
35
  | **Open workspace folder** (`openWorkspaceFolder`) | On | An **Open workspace folder** row in a Session's "…" menu that opens the Session's workspace in Explorer/Finder. Renders nothing when the Session has no workspace or the Host cannot open a path. See [Open a workspace folder](docs/workspace-folder.md) for why the request had to land here instead of on the workspace row itself. |
36
+ | **Add a workspace from GitHub** (`githubWorkspace`) | On | Adds the GitHub half of the workspace sources: the dialog lists the repositories your GitHub CLI session can clone, and cloning one creates the workspace. The token never enters the browser — it is read on the Host, used only as git's http auth header, and never stored. The sidebar foot carries the sign-in state (`GitHub · <login>`). See [GitHub workspaces](docs/github-workspaces.md). |
37
+ | **Add a workspace from this PC or GitHub** (`workspaceSources`) | On | The Workspaces **+** button gets a source menu: **On this PC** (the Host's OS chooser, or a folder list when the composition has no native chooser) and **GitHub repository…**. Off, the **+** button goes back to the shipped folder picker. |
36
38
 
37
39
  ### How the cost is computed
38
40
 
@@ -122,6 +124,7 @@ entries/polish.js the row: Config derived from the registry, apply()
122
124
  entries/registry.js the feature list — the one place a feature is declared
123
125
  entries/usage.js the fold: model-attributed usage out of the session log
124
126
  entries/cost.js the polishCost projection: rates, pricing, host mount
127
+ entries/github.js the GitHub route: gh token, repository list, clone, workspace
125
128
  entries/config.js volatile-reference accessors (resolve/flag/list/text)
126
129
  lib/index.js mount point re-exporting the row
127
130
  client/face.js browser face source: the Configure page and every surface