clankerbend 0.1.0 → 0.1.1

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/cli.mjs CHANGED
@@ -2,7 +2,7 @@
2
2
  import { readFileSync } from "node:fs";
3
3
  import { dirname, join } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
- import { launchOneWhackCodex } from "./server.mjs";
5
+ import { launchClankerBendCodex } from "./server.mjs";
6
6
 
7
7
  const ROOT = dirname(fileURLToPath(import.meta.url));
8
8
  const PACKAGE_JSON = JSON.parse(readFileSync(join(ROOT, "package.json"), "utf8"));
@@ -17,7 +17,7 @@ try {
17
17
  async function main(argv) {
18
18
  const [command, ...args] = argv;
19
19
 
20
- if (!command || command === "help" || command === "--help" || command === "-h") {
20
+ if (command === "help" || command === "--help" || command === "-h") {
21
21
  printHelp();
22
22
  return;
23
23
  }
@@ -27,9 +27,15 @@ async function main(argv) {
27
27
  return;
28
28
  }
29
29
 
30
+ if (!command || command.startsWith("-")) {
31
+ const options = parseCodexArgs(argv);
32
+ await launchClankerBendCodex(options);
33
+ return;
34
+ }
35
+
30
36
  if (command === "codex") {
31
37
  const options = parseCodexArgs(args);
32
- await launchOneWhackCodex(options);
38
+ await launchClankerBendCodex(options);
33
39
  return;
34
40
  }
35
41
 
@@ -59,29 +65,31 @@ function parseCodexArgs(args) {
59
65
  }
60
66
 
61
67
  function printHelp() {
62
- console.log(`OneWhack
68
+ console.log(`ClankerBend
63
69
 
64
70
  Usage:
71
+ clankerbend [--mock] [--state-dir path]
65
72
  clankerbend codex [--mock] [--state-dir path]
66
73
  clankerbend help
67
74
  clankerbend --version
68
75
 
69
76
  Environment:
70
- ONEWILL_ONEWHACK_STATE_DIR Override OneWhack runtime state directory.
71
- ONEWILL_ONEWHACK_TOKEN Use a specific bearer token for host endpoints.
72
- ONEWILL_ONEWHACK_DISABLE_AUTH=1 Disable bearer auth for local development only.
77
+ ONEWILL_CLANKERBEND_STATE_DIR Override ClankerBend runtime state directory.
78
+ ONEWILL_CLANKERBEND_TOKEN Use a specific bearer token for host endpoints.
79
+ ONEWILL_CLANKERBEND_DISABLE_AUTH=1 Disable bearer auth for local development only.
73
80
  `);
74
81
  }
75
82
 
76
83
  function printCodexHelp() {
77
- console.log(`OneWhack Codex launcher
84
+ console.log(`ClankerBend Codex launcher
78
85
 
79
86
  Usage:
87
+ clankerbend [--mock] [--state-dir path]
80
88
  clankerbend codex [--mock] [--state-dir path]
81
89
 
82
90
  Options:
83
91
  --mock Start against a mock transcript instead of Codex Desktop.
84
- --state-dir path Override OneWhack runtime state directory.
92
+ --state-dir path Override ClankerBend runtime state directory.
85
93
  `);
86
94
  }
87
95
 
@@ -1,12 +1,12 @@
1
- # OneWhack App Lifecycle
1
+ # ClankerBend App Lifecycle
2
2
 
3
- OneWhack separates app installation from profile activation.
3
+ ClankerBend separates app installation from profile activation.
4
4
 
5
5
  ## Install
6
6
 
7
- Installing records a manifest in the runtime registry. The public `onewhack`
7
+ Installing records a manifest in the runtime registry. The public `clankerbend`
8
8
  CLI intentionally does not expose app-management commands; app installation is
9
- a product configuration concern for the running OneWhack experience.
9
+ a product configuration concern for the running ClankerBend experience.
10
10
 
11
11
  The registry stores app id, version, manifest path, distribution metadata,
12
12
  bundle kind, source path, and install time. The current host loads bundled
@@ -14,10 +14,10 @@ manifests and additional manifest paths from this registry; copying directories
14
14
  or tarballs into a managed app store is reserved for installer tooling. The
15
15
  runtime root defaults to:
16
16
 
17
- - macOS: `~/Library/Application Support/OneWill/OneWhack`
18
- - Linux: `~/.local/state/onewill/onewhack`
17
+ - macOS: `~/Library/Application Support/OneWill/ClankerBend`
18
+ - Linux: `~/.local/state/onewill/clankerbend`
19
19
 
20
- Set `ONEWILL_ONEWHACK_STATE_DIR` to override the root location.
20
+ Set `ONEWILL_CLANKERBEND_STATE_DIR` to override the root location.
21
21
 
22
22
  `distribution.integrity` is required. Local development installs can use
23
23
  `integrity: "dev-local"`. Downloaded packages should be installed with a real
@@ -30,7 +30,7 @@ Profiles decide which installed apps are active.
30
30
  Enablement is profile-scoped. A host can launch with the default profile or a
31
31
  custom user profile while using the same app registry. The default registry
32
32
  config path is `registry.json` under the runtime state directory, and launchers
33
- may override it with `ONEWILL_ONEWHACK_REGISTRY_CONFIG`.
33
+ may override it with `ONEWILL_CLANKERBEND_REGISTRY_CONFIG`.
34
34
 
35
35
  ## Start
36
36
 
@@ -52,7 +52,7 @@ revalidate a replacement manifest and update the installed app record while
52
52
  preserving profile enablement.
53
53
 
54
54
  A future updater can replace the app bundle, validate the new manifest, compare
55
- `oneWhackVersion`, and update the registry atomically.
55
+ `clankerbendVersion`, and update the registry atomically.
56
56
 
57
57
  ## Remove
58
58
 
@@ -1,6 +1,6 @@
1
- # OneWhack App Manifest
1
+ # ClankerBend App Manifest
2
2
 
3
- OneWhack apps are installed and launched from a `onewhack.manifest.json` file.
3
+ ClankerBend apps are installed and launched from a `clankerbend.manifest.json` file.
4
4
  The manifest is the stable contract between the app bundle and the host. The
5
5
  host loads local manifests through this schema. The schema also reserves npm
6
6
  packages, tarballs, and binary-style bundles for installer tooling.
@@ -9,7 +9,7 @@ packages, tarballs, and binary-style bundles for installer tooling.
9
9
 
10
10
  ```json
11
11
  {
12
- "oneWhackVersion": "0.1",
12
+ "clankerbendVersion": "0.1",
13
13
  "appId": "onewill.example.app",
14
14
  "version": "0.1.0",
15
15
  "name": "Example App",
@@ -69,7 +69,7 @@ Every app package must declare the same capabilities and permissions regardless
69
69
  of distribution shape.
70
70
 
71
71
  The current host accepts manifest paths. Future installers may accept an app
72
- directory containing `onewhack.manifest.json`, a `.tgz`/`.tar.gz` bundle, or an
72
+ directory containing `clankerbend.manifest.json`, a `.tgz`/`.tar.gz` bundle, or an
73
73
  `npm:<package>` spec. Packaged sources should be verified with an external
74
74
  `sha256-...` integrity value before extraction. The manifest still carries
75
75
  `distribution.integrity` so registries and update tools can reason about the
@@ -1,4 +1,4 @@
1
- # OneWhack App Author Guide
1
+ # ClankerBend App Author Guide
2
2
 
3
3
  The public reference apps are `apps/vim-nav` and `apps/sticky-notes`. VimNav
4
4
  demonstrates transcript navigation and annotations. Sticky Notes demonstrates
@@ -57,7 +57,7 @@ export function createExampleApp(options = {}) {
57
57
  }
58
58
  ```
59
59
 
60
- The host wraps app state and actions in OneWhack HTTP envelopes. The app should
60
+ The host wraps app state and actions in ClankerBend HTTP envelopes. The app should
61
61
  throw `context.httpError(...)` for expected validation failures.
62
62
 
63
63
  ## Transcript Annotations
@@ -87,7 +87,7 @@ own final placement, sorting, and collision avoidance:
87
87
  ```
88
88
 
89
89
  Apps should not mutate Codex Desktop DOM directly for placement. Renderer
90
- bridges register through `window.__oneWhackRuntime` and call host-owned
90
+ bridges register through `window.__clankerbendRuntime` and call host-owned
91
91
  annotation APIs.
92
92
 
93
93
  ## Text Ranges And Composer Context
@@ -100,14 +100,14 @@ contribute `selectionActions` from app state. Apps request overlays through
100
100
 
101
101
  Apps should not query Codex Desktop DOM, position floating menus, render
102
102
  composer chips, or write into the composer directly. Those details belong in
103
- the OneWhack host adapter and renderer runtime.
103
+ the ClankerBend host adapter and renderer runtime.
104
104
 
105
105
  ## Actions
106
106
 
107
107
  Actions are routed through:
108
108
 
109
109
  ```text
110
- POST /onewhack/apps/:appId/actions
110
+ POST /clankerbend/apps/:appId/actions
111
111
  ```
112
112
 
113
113
  An action must include non-empty `appId`, `actionId`, and `type`. Action IDs are
@@ -1,4 +1,4 @@
1
- # OneWhack Launcher Profiles
1
+ # ClankerBend Launcher Profiles
2
2
 
3
3
  A launcher profile is the host configuration for one Codex Desktop session. It
4
4
  selects app manifests, chooses the default side-panel app, and decides which
@@ -7,11 +7,14 @@ renderer bridge provides transcript primitives.
7
7
  ## Commands
8
8
 
9
9
  ```sh
10
- npx clankerbend codex
11
- npx clankerbend codex --mock
10
+ npx clankerbend
11
+ npx clankerbend --mock
12
12
  ```
13
13
 
14
- In this repository, `npm start` runs `clankerbend codex` through the local package.
14
+ `npx clankerbend codex` is equivalent to `npx clankerbend` while Codex is the
15
+ only supported surface.
16
+
17
+ In this repository, `npm start` runs `clankerbend` through the local package.
15
18
  `npm run start:mock` runs the same profile without Codex Desktop.
16
19
 
17
20
  ## Profile Construction
@@ -28,20 +31,20 @@ Provider selection comes from renderer bridge metadata. The first primary bridge
28
31
  normally provides transcript snapshot, order, navigation, and highlight.
29
32
 
30
33
  The built-in Navigate profile always includes VimNav and Sticky Notes.
31
- Additional apps are product configuration owned by the running OneWhack
34
+ Additional apps are product configuration owned by the running ClankerBend
32
35
  experience and stored in the runtime registry.
33
36
 
34
- The launcher also reads `ONEWILL_ONEWHACK_REGISTRY_CONFIG`, defaulting to
37
+ The launcher also reads `ONEWILL_CLANKERBEND_REGISTRY_CONFIG`, defaulting to
35
38
  `registry.json` under the runtime state directory, and merges enabled app
36
- manifests from the selected registry profile. Set `ONEWILL_ONEWHACK_PROFILE` to
39
+ manifests from the selected registry profile. Set `ONEWILL_CLANKERBEND_PROFILE` to
37
40
  override the selected registry profile when building a custom launcher.
38
41
 
39
42
  Runtime state defaults to:
40
43
 
41
- - macOS: `~/Library/Application Support/OneWill/OneWhack`
42
- - Linux: `~/.local/state/onewill/onewhack`
44
+ - macOS: `~/Library/Application Support/OneWill/ClankerBend`
45
+ - Linux: `~/.local/state/onewill/clankerbend`
43
46
 
44
- Set `ONEWILL_ONEWHACK_STATE_DIR` to override the root state directory.
47
+ Set `ONEWILL_CLANKERBEND_STATE_DIR` to override the root state directory.
45
48
 
46
49
  ## Ports And Cleanup
47
50