szpont 0.96.0 → 0.98.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 +23 -29
- package/package.json +1 -1
- package/src/launcher.js +1 -1
package/README.md
CHANGED
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
# szpont
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
Installs and starts **[Diplomat](https://github.com/latekvo/Diplomat)** (Szpont Yon),
|
|
6
|
+
a menu-bar / system-tray app that runs coding agents against a GitHub repo: it
|
|
7
|
+
reviews PRs, fixes your own, resolves conflicts, and gives each agent its own
|
|
8
|
+
device.
|
|
6
9
|
|
|
7
10
|
```bash
|
|
8
11
|
npx szpont # or: npm i -g szpont && szpont
|
|
9
12
|
```
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## What it actually does
|
|
14
|
+
macOS and Linux.
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
PySide6 package plus the `diplomat-core` Swift binary on Linux - and it keeps
|
|
17
|
-
*being* that checkout: the Update button, the daily 06:00 timer and the commit the
|
|
18
|
-
panel reports are all git operations on it. A package holding a copy would be a
|
|
19
|
-
second Diplomat that no update could reach.
|
|
16
|
+
## How it works
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
Diplomat runs from a git checkout, and its Update button and daily 06:00 update are
|
|
19
|
+
git operations on that checkout. So this package doesn't ship a copy of Diplomat; it
|
|
20
|
+
fetches the checkout and runs the scripts already in the repository:
|
|
23
21
|
|
|
24
22
|
| | macOS | Linux |
|
|
25
23
|
|---|---|---|
|
|
@@ -28,11 +26,9 @@ is already in the repository:
|
|
|
28
26
|
| set it up | - | a venv at `~/.diplomat/venv` with `requirements.txt` in it |
|
|
29
27
|
| start it | `open -n Diplomat.app` | the package's own `./diplomat`, on the venv's interpreter |
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
toolchain to build it - if one is missing you are told which and where to get it,
|
|
35
|
-
before anything is downloaded.
|
|
29
|
+
The venv is only rebuilt when `requirements.txt` changes, and the Swift prompt
|
|
30
|
+
binary only when the applet can't find one. You need `git` and a Swift toolchain; if
|
|
31
|
+
either is missing, `szpont` says which before downloading anything.
|
|
36
32
|
|
|
37
33
|
```
|
|
38
34
|
szpont --plan # print what would be run, as JSON, and do none of it
|
|
@@ -40,24 +36,22 @@ szpont --no-update # launch the checkout as it stands
|
|
|
40
36
|
szpont -- --dump # everything after -- goes to the applet
|
|
41
37
|
```
|
|
42
38
|
|
|
43
|
-
`DIPLOMAT_SELF_REPO` points at
|
|
44
|
-
running applet reads, and one this launcher never updates, because a working copy
|
|
39
|
+
`DIPLOMAT_SELF_REPO` points at your own checkout, which is never updated since it
|
|
45
40
|
may have work in it. `DIPLOMAT_REPO_URL` clones from a fork.
|
|
46
41
|
|
|
47
|
-
##
|
|
42
|
+
## PyPI
|
|
48
43
|
|
|
49
44
|
[`pip install szpont`](https://github.com/latekvo/Diplomat/tree/main/packages/szpont)
|
|
50
|
-
installs the same launcher
|
|
51
|
-
|
|
52
|
-
`test/
|
|
53
|
-
both and every fact set planned by both, and the two answers have to be identical.
|
|
45
|
+
installs the same launcher, written separately in Python.
|
|
46
|
+
`test/parity-with-python.mjs` runs both against every machine in
|
|
47
|
+
`test/scenarios.mjs` and fails if their plans differ.
|
|
54
48
|
|
|
55
|
-
##
|
|
49
|
+
## Tests
|
|
56
50
|
|
|
57
51
|
```bash
|
|
58
52
|
npm test # plan, cli, a real clone-build-launch, and the parity check
|
|
59
53
|
```
|
|
60
54
|
|
|
61
|
-
The end-to-end test clones
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
The end-to-end test clones a git repository it creates on disk and runs the whole
|
|
56
|
+
sequence into stub build and launch scripts, so it needs neither the network nor a
|
|
57
|
+
Swift toolchain.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "szpont",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.98.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Install-and-run for Diplomat (Szpont Yon): fetches the checkout, builds it, and starts the applet.",
|
|
6
6
|
"keywords": ["diplomat", "szpont", "szpontnet", "launcher", "menu-bar", "tray"],
|
package/src/launcher.js
CHANGED
|
@@ -17,7 +17,7 @@ import path from 'node:path';
|
|
|
17
17
|
import { createHash } from 'node:crypto';
|
|
18
18
|
import { spawnSync } from 'node:child_process';
|
|
19
19
|
|
|
20
|
-
export const VERSION = '0.
|
|
20
|
+
export const VERSION = '0.98.0';
|
|
21
21
|
export const DEFAULT_REPO_URL = 'https://github.com/latekvo/Diplomat.git';
|
|
22
22
|
export const SUPPORTED = ['darwin', 'linux'];
|
|
23
23
|
export const MIN_PYTHON = [3, 10];
|