@north-light/cli 0.3.529 → 0.3.530
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/dist/api/dto/lifecycle.d.ts +3 -1
- package/dist/api/dto/messages.d.ts +5 -3
- package/dist/builtin-memory/crouter-plugin/bundles-and-memory.md +1 -1
- package/dist/builtin-memory/crouter-plugin/commands.md +1 -1
- package/dist/clients/attach/viewer.js +508 -508
- package/dist/commands/node/message.js +1 -1
- package/dist/commands/sys/join.js +1 -1
- package/dist/core/command-hooks/lifecycle-catalog.d.ts +4 -4
- package/dist/core/command-hooks/lifecycle-catalog.js +1 -1
- package/dist/core/command-plugins/bundle.d.ts +1 -1
- package/dist/core/command-plugins/bundle.js +1 -1
- package/dist/core/directory/join.d.ts +1 -1
- package/dist/core/runtime/reopen.d.ts +18 -7
- package/dist/core/runtime/reopen.js +1 -1
- package/dist/daemon/api/handlers/messages.js +2 -2
- package/dist/daemon/api/handlers/nodes.js +1 -1
- package/dist/daemon/joined-owner.d.ts +1 -1
- package/dist/daemon/joined-owner.js +1 -1
- package/dist/daemon/reconcilers/node-lifecycle/tick.js +1 -1
- package/dist/launcher/run.js +1 -1
- package/docs/plugin/bundles-and-memory.md +1 -1
- package/docs/plugin/commands.md +1 -1
- package/package.json +3 -3
- package/packages/crouter-identity/package.json +1 -1
- package/runtime.lock.json +12 -12
|
@@ -6,7 +6,9 @@ export interface ReviveRequest {
|
|
|
6
6
|
/** Clear the finalization latch before reviving (the `--reopen` gate). The
|
|
7
7
|
* revive doorway accepts it only for a finalized node (`not_finalized`
|
|
8
8
|
* otherwise); without it, a finalized node is rejected (`node_finalized`).
|
|
9
|
-
*
|
|
9
|
+
* The target becomes resident, unless the caller is a node that is the
|
|
10
|
+
* target's manager: then it keeps its lifecycle. Message delivery has its
|
|
11
|
+
* own wider reopen behavior. */
|
|
10
12
|
reopen?: boolean;
|
|
11
13
|
/** Wake provenance: the cron whose run drove this revive (`CRTR_CRON_ID`,
|
|
12
14
|
* set by the daemon in every cron run's environment and forwarded by the
|
|
@@ -19,9 +19,11 @@ export interface SendMessageRequest {
|
|
|
19
19
|
from?: NodeIdDTO | null;
|
|
20
20
|
/** Revive with no inbox entry (`--fresh` → `reviveNode({ resume: false })`). */
|
|
21
21
|
fresh?: boolean;
|
|
22
|
-
/** Before delivery,
|
|
23
|
-
*
|
|
24
|
-
*
|
|
22
|
+
/** Before delivery, clear the target's finalization latch when present and
|
|
23
|
+
* make it resident (`--reopen`), unless the caller is a node that is the
|
|
24
|
+
* target's manager: then the target keeps its lifecycle. Accepted for both
|
|
25
|
+
* durable and interactive delivery; `--fresh` retains its separate
|
|
26
|
+
* finalized-only gate. */
|
|
25
27
|
reopen?: boolean;
|
|
26
28
|
/** Hidden ambient context upserted onto the target's sidecar as a
|
|
27
29
|
* `situational` card, never visible chat (`--situational-context`).
|
|
@@ -21,7 +21,7 @@ await writeFile('acme.tar', bundle.tar);
|
|
|
21
21
|
|
|
22
22
|
`buildBundle` returns `commandsJson`, `bundleJson`, generated `memory/` members, uncompressed tar bytes, and an ETag. It runs the manifest validator and throws `ManifestInvalidError` when the generated command manifest is invalid. `buildCommandManifest(plugin, { mountPath })` returns the manifest object when archive bytes are not needed.
|
|
23
23
|
|
|
24
|
-
The tar has exactly `bundle.json`, `commands.json`, and `memory/<name>.md` members for the documents declared in the `memory` array of `definePlugin`. `bundle.json` carries `bundleVersion`, plus `version` when the plugin declares one, `object_kinds` when it declares object kinds, and `groups` when a provider declares its tool groups (the directory refuses a provider archive without them). `groups` is keyed by group id, each value `{"consent_line": string, "who"?: "own" | "user" | "allowlist" | "any", "allowlist"?: string[]}`, with `who` and `allowlist` written only when declared:
|
|
24
|
+
The tar has exactly `bundle.json`, `commands.json`, and `memory/<name>.md` members for the documents declared in the `memory` array of `definePlugin`. `bundle.json` carries `bundleVersion`, plus `version` when the plugin declares one, `object_kinds` when it declares object kinds, and `groups` when a provider declares its tool groups (the directory refuses a provider archive without them). `groups` is keyed by group id, each value `{"consent_line": string, "who"?: "own" | "user" | "allowlist" | "any" | "team:<id>", "allowlist"?: string[]}`, with `who` and `allowlist` written only when declared:
|
|
25
25
|
|
|
26
26
|
```json
|
|
27
27
|
{"bundleVersion":1,"version":1,"groups":{"read":{"consent_line":"Read your Acme apps and deployments."},"deploy":{"consent_line":"Start deployments on your Acme apps.","who":"allowlist","allowlist":["app:k3x9"]}}}
|
|
@@ -32,7 +32,7 @@ definePlugin({
|
|
|
32
32
|
});
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
Each group has `consentLine`, the line the directory's consent page shows, and optionally `who` (`own`, `user`, `allowlist` or `
|
|
35
|
+
Each group has `consentLine`, the line the directory's consent page shows, and optionally `who` (`own`, `user`, `allowlist`, `any` or `team:<id>`; the directory treats an omitted `who` as `user`) and `allowlist` (app principals `app:<id>`, required with `who: 'allowlist'` and refused otherwise). `buildBundle` writes the block into `bundle.json` as `groups`, and the directory applies it when it refreshes the provider's manifest. The directory refuses a provider archive whose `bundle.json` has no `groups` (`bundle.json groups: is required`), and a provider's groups come only from this declaration: the directory's console and CLI do not edit groups. `definePlugin` itself accepts a provider without `groups`, but once declared every leaf's `group` must name a declared group and every declared group must be used by at least one leaf; `definePlugin` throws `PluginDefinitionError` otherwise. A plugin that is not `provider: true` must not declare `groups`.
|
|
36
36
|
|
|
37
37
|
A branch or leaf may set `tier` to `common` or `important` to be promoted into its parent's `-h`. A command with more than 40 children lists only its promoted children in its own `-h`, followed by the count of the rest; the others still run and answer `-h` by name. Use this when a plugin mounts one command per entry of a large catalog. On such a command only promoted leaves reach the top-level `crtr -h`; a promoted branch shows in the command's own `-h`.
|
|
38
38
|
|