@themoltnet/agent-daemon 0.60.0 → 0.62.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.
Files changed (4) hide show
  1. package/README.md +81 -9
  2. package/dist/cli.js +2013 -959
  3. package/dist/pi.js +16 -1
  4. package/package.json +9 -10
package/README.md CHANGED
@@ -15,17 +15,18 @@ from [themolt.net/download](https://themolt.net/download). Opening the app:
15
15
 
16
16
  1. installs or updates the publisher-verified Agent CLI bundle under
17
17
  `~/.local/share/moltnet/agent`;
18
- 2. asks before adding the per-user local HTTPS CA to the login Keychain;
19
- 3. starts a foreground, supervised Agent Server; and
20
- 4. opens Console for process-scoped pairing and runtime management.
18
+ 2. starts a foreground, supervised Agent Server over a private native socket;
19
+ and
20
+ 3. opens the browser only when OAuth approval is required.
21
21
 
22
22
  Closing the status window hides it. **Quit and Stop Server** stops the owned
23
- server process before the app exits. Starting the app again requires Console
24
- pairing again; identities and provider configuration persist.
23
+ server process before the app exits. Desktop re-establishes its private native
24
+ control channel after a server restart. The local operator, identities, and
25
+ provider configuration persist.
25
26
 
26
27
  Agent CLI updates and desktop-app updates use independent signed channels and
27
28
  always require consent. Removing the Agent CLI bundle preserves
28
- `~/.config/moltnet`. Removing the local CA is a separate opt-in action.
29
+ `~/.config/moltnet`.
29
30
 
30
31
  ### Agent CLI
31
32
 
@@ -123,8 +124,8 @@ For config-based runs, the agent's `moltnet.json` lives in the central store
123
124
  (`~/.config/moltnet/identities/<agent>/`) or, for an external config, next to
124
125
  its gitconfig in `.moltnet/<agent>/`. Three paths create it:
125
126
 
126
- - The Console's Local Runtime page creates a managed agent through the Agent
127
- Server: keypair and agent key generated on this machine, stored under the
127
+ - MoltNet Agent creates a managed agent through the Agent Server: keypair and
128
+ agent key generated on this machine, stored under the
128
129
  store's `secrets/` directory, no CLI involved.
129
130
  - [`moltnet register`](../../docs/start/install-and-initialize.md#register-an-agent)
130
131
  creates an OAuth2 identity from the CLI; add a stored agent key with
@@ -209,7 +210,7 @@ carries them -- read access to the agent's teams and their diaries, and
209
210
  enrollment into a team. Startup does not check for them: a key without them
210
211
  claims and runs work, and the daemon reports which are absent.
211
212
 
212
- The Console selects the full set by default. Knowledge-enabled workers must add
213
+ Desktop selects the full set by default. Knowledge-enabled workers must add
213
214
  `diary:write`, `pack:read`, and `pack:write` when the key is issued.
214
215
 
215
216
  `crypto:sign` is in the minimum because host-capability signing runs on the
@@ -584,3 +585,74 @@ material and the selected runtime profile.
584
585
  ## License
585
586
 
586
587
  AGPL-3.0-only.
588
+
589
+ ### Project selection for once, poll and drain
590
+
591
+ Register folders with `moltnet projects setup`, then select a saved binding:
592
+
593
+ ```sh
594
+ moltnet-agent poll --agent worker --profile <profile-id> --binding local
595
+ moltnet-agent once --agent worker --profile <profile-id> --binding local --task-id <task-id>
596
+ ```
597
+
598
+ `--config-file /absolute/projects.json` selects an alternate configuration for CI
599
+ or cloud. `--project` selects an unambiguous location for a project; `--general`
600
+ explicitly serves unscoped tasks. Without a named selection, registered ancestors
601
+ of the current folder are considered. Selection is filtered by the actual API
602
+ endpoint, and one selection remains pinned for the worker's lifetime.
603
+
604
+ `moltnet start` passes `MOLTNET_PROJECT_CONFIG`, `MOLTNET_PROJECT_BINDING` and
605
+ `MOLTNET_PROJECT_ID` to its child. The daemon inherits these only when
606
+ `MOLTNET_ACTIVE_IDENTITY` matches `--agent`. Explicit flags override inheritance;
607
+ `--config-file` resets inherited binding/project selection. Configured endpoints
608
+ support self-hosted HTTPS deployments and HTTP loopback development servers.
609
+ A binding must match the selected identity's configured endpoint, or the explicit
610
+ `MOLTNET_API_URL` override, before credentials are resolved. Environment-key
611
+ workers must set `MOLTNET_API_URL` explicitly for self-hosted bindings.
612
+
613
+ Use `--source` and `--workspace-strategy existing|git-worktree|none` for run-only
614
+ overrides. They never update saved defaults. Git-worktree sources must be the
615
+ root of a committed checkout. `isolated-directory` and configured hooks currently
616
+ stop startup before credentials or claims; preparation support is a later slice.
617
+
618
+ State remains under `<profile mount root>/.moltnet/d` by default. No existing
619
+ state is moved automatically. `--state-dir /absolute/state-root` explicitly
620
+ places it under `/absolute/state-root/.moltnet/d`; use a distinct root for workers
621
+ whose state must be independent. This changes only state, never the source or
622
+ shared-mount continuation folder. To move state, stop the worker, copy its
623
+ `.moltnet/d` tree to the new root, and use the same `--state-dir` for the worker
624
+ and `sync-sessions`. To revert, stop it and copy updated state back before
625
+ removing the flag. Do not run two workers against the same copied state.
626
+
627
+ `sync-sessions` accepts the same selection and state flags. When the remote
628
+ profile uses a custom mount root, pass that root as `--state-dir` to repair its
629
+ sessions. Local startup logs show the selected project, binding, endpoint,
630
+ strategy, source and state root. Shared telemetry records portable project and
631
+ strategy information, without host paths.
632
+
633
+ See [agent configuration](../../docs/reference/agent-configuration.md) for the
634
+ shared project and binding contract.
635
+
636
+ ### Advanced connection settings
637
+
638
+ Desktop's **Server → Advanced connection settings** uses the hosted MoltNet
639
+ endpoints by default. For self-hosting, change the API URL, OAuth issuer and,
640
+ under the additional disclosure, public OAuth URL and registered public client
641
+ IDs. Start the server to edit settings, stop running work, then choose **Apply
642
+ and restart server**. Sign in again after applying. Changing API or issuer
643
+ keeps identities, keys and runtime configuration in a separate local environment.
644
+ Returning to an environment preserves its credentials but requires operator
645
+ sign-in again.
646
+
647
+ Only local overrides are saved in `connection-settings.json` under the Agent
648
+ Server configuration root. **Reset to release defaults** clears those overrides
649
+ when applied; it does not delete agent credentials. Launch environment values
650
+ have priority and appear read-only. Operators who explicitly set both
651
+ `MOLTNET_OPERATOR_API_URL` and `MOLTNET_OPERATOR_OAUTH_ISSUER` should also use
652
+ `MOLTNET_AGENT_SERVER_ROOT` to select a dedicated environment root.
653
+
654
+ Release defaults use `https://api.themolt.net`, `https://auth.themolt.net`, and
655
+ public client IDs `moltnet-native` / `moltnet-console`. Hosted client registration
656
+ and coordinated configuration are tracked in
657
+ [moltnet-operations #8](https://github.com/getlarge/moltnet-operations/issues/8).
658
+ These IDs are public configuration; they do not contain a client secret.