@maiaos/cli 0.1.0-canary.44938d4.manual.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/README.md +382 -0
- package/dist/bin/maia.NOTICES.txt +31 -0
- package/dist/bin/maia.cdx.json +138 -0
- package/dist/bin/maia.mjs +115 -0
- package/dist/command-line/arguments.d.ts +21 -0
- package/dist/command-line/arguments.js +99 -0
- package/dist/command-line/context.d.ts +112 -0
- package/dist/command-line/context.js +2 -0
- package/dist/command-line/help.d.ts +36 -0
- package/dist/command-line/help.js +267 -0
- package/dist/command-line/output.d.ts +2111 -0
- package/dist/command-line/output.js +643 -0
- package/dist/command-line/stdin.d.ts +7 -0
- package/dist/command-line/stdin.js +34 -0
- package/dist/command-receipt/command.d.ts +3 -0
- package/dist/command-receipt/command.js +63 -0
- package/dist/command-receipt/compact-list.d.ts +18 -0
- package/dist/command-receipt/compact-list.js +18 -0
- package/dist/context/client.d.ts +4 -0
- package/dist/context/client.js +19 -0
- package/dist/context/commands.d.ts +3 -0
- package/dist/context/commands.js +13 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +202 -0
- package/dist/integration-authorization/client.d.ts +16 -0
- package/dist/integration-authorization/client.js +30 -0
- package/dist/integration-authorization/commands.d.ts +3 -0
- package/dist/integration-authorization/commands.js +92 -0
- package/dist/local-node/client.d.ts +31 -0
- package/dist/local-node/client.js +99 -0
- package/dist/orchestration/client.d.ts +59 -0
- package/dist/orchestration/client.js +66 -0
- package/dist/orchestration/commands.d.ts +3 -0
- package/dist/orchestration/commands.js +336 -0
- package/dist/orchestration/compact-aggregate.d.ts +123 -0
- package/dist/orchestration/compact-aggregate.js +110 -0
- package/dist/orchestration/compact-run-list.d.ts +19 -0
- package/dist/orchestration/compact-run-list.js +16 -0
- package/dist/project-workspace/client.d.ts +43 -0
- package/dist/project-workspace/client.js +54 -0
- package/dist/project-workspace/commands.d.ts +5 -0
- package/dist/project-workspace/commands.js +239 -0
- package/dist/runtime/client.d.ts +6 -0
- package/dist/runtime/client.js +10 -0
- package/dist/runtime/command.d.ts +3 -0
- package/dist/runtime/command.js +20 -0
- package/dist/session/client.d.ts +32 -0
- package/dist/session/client.js +30 -0
- package/dist/session/commands.d.ts +3 -0
- package/dist/session/commands.js +160 -0
- package/dist/status/client.d.ts +5 -0
- package/dist/status/client.js +15 -0
- package/dist/status/command.d.ts +3 -0
- package/dist/status/command.js +17 -0
- package/dist/status/compact.d.ts +31 -0
- package/dist/status/compact.js +46 -0
- package/dist/terminal/arguments.d.ts +12 -0
- package/dist/terminal/arguments.js +79 -0
- package/dist/terminal/client.d.ts +45 -0
- package/dist/terminal/client.js +48 -0
- package/dist/terminal/commands.d.ts +3 -0
- package/dist/terminal/commands.js +151 -0
- package/dist/terminal/compact-list.d.ts +148 -0
- package/dist/terminal/compact-list.js +152 -0
- package/dist/terminal/control-commands.d.ts +7 -0
- package/dist/terminal/control-commands.js +211 -0
- package/dist/turn/client.d.ts +17 -0
- package/dist/turn/client.js +23 -0
- package/dist/turn/commands.d.ts +3 -0
- package/dist/turn/commands.js +126 -0
- package/dist/turn/prompt.d.ts +2 -0
- package/dist/turn/prompt.js +9 -0
- package/guidance/maia-cli/SKILL.md +75 -0
- package/guidance/maia-orchestration/SKILL.md +54 -0
- package/package.json +50 -0
package/README.md
ADDED
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
# `@maiaos/cli`
|
|
2
|
+
|
|
3
|
+
> **Publication status:** Source-implemented candidate, canary-only. npm
|
|
4
|
+
> canaries use the
|
|
5
|
+
> `canary` dist-tag for installation evidence and remain
|
|
6
|
+
> `releaseQualified: false`. No stable version or `latest` dist-tag is
|
|
7
|
+
> released.
|
|
8
|
+
|
|
9
|
+
JSON-first package for the `maia` executable.
|
|
10
|
+
|
|
11
|
+
The source manifest is prepared for npm packing with exact pnpm 11.20.0, built
|
|
12
|
+
output, offline guidance, and no install lifecycle script. The built executable
|
|
13
|
+
embeds the manifest's exact Node version and exits before command handling when
|
|
14
|
+
the runtime is not Node 24.19.0. The source manifest remains `0.0.0`; release
|
|
15
|
+
tooling prepares an exact canary version only in an isolated pack copy.
|
|
16
|
+
Homebrew is a later channel for the same CLI contract, not a second
|
|
17
|
+
implementation.
|
|
18
|
+
|
|
19
|
+
This is the first complete client and the qualification boundary for every
|
|
20
|
+
planned Build, Teammates, Rooms, Routines, Skill Studio, Activity, and Advanced
|
|
21
|
+
Runtime Extensions slice. Those domains must work headlessly through node,
|
|
22
|
+
protocol, SDK, and this CLI before Desktop or mobile depend on them. The
|
|
23
|
+
planned exact-version `maia-cli` and `maia-orchestration` Skill bundles and
|
|
24
|
+
their recommendation/install/sync commands are not implemented or present in
|
|
25
|
+
the source registry.
|
|
26
|
+
|
|
27
|
+
Offline `guidance/maia-cli/SKILL.md` and
|
|
28
|
+
`guidance/maia-orchestration/SKILL.md` copies ship in the npm pack for
|
|
29
|
+
offline inspection of the installed package. They are digest-locked
|
|
30
|
+
markdown guidance, not installed Skills, and they request no capabilities.
|
|
31
|
+
Recommendation, install, and sync remain planned; there is no `skill` or
|
|
32
|
+
`guidance` command family.
|
|
33
|
+
|
|
34
|
+
Callable foundation commands in the source registry:
|
|
35
|
+
|
|
36
|
+
- `maia help` / `maia --help` — human text lists the 60 current usage
|
|
37
|
+
rows. `maia help --json` is the classified command index (no usage dump,
|
|
38
|
+
`registryDigest`, per-family implemented/candidate counts, budget 2,048 B).
|
|
39
|
+
`maia help <family> --json` is the allowlisted family page. Availability is
|
|
40
|
+
only `implemented` or `source_implemented_candidate`. Help `implemented` is
|
|
41
|
+
the classified index label, not the AGENTS release-gated Implemented
|
|
42
|
+
vocabulary and not product enablement. This is not an Orca
|
|
43
|
+
help/`agent-context` pair and does not claim a byte/token win.
|
|
44
|
+
- `maia status`
|
|
45
|
+
- `maia version` / `maia --version`
|
|
46
|
+
- `maia project add <repository>`
|
|
47
|
+
- `maia project list`
|
|
48
|
+
- `maia project show <project-id>`
|
|
49
|
+
- `maia workspace list --project <project-id>`
|
|
50
|
+
- `maia workspace show <workspace-id>`
|
|
51
|
+
- `maia workspace repo add <workspace-id> <repository> --expected-revision <revision>`
|
|
52
|
+
- `maia receipt show <command-id>`
|
|
53
|
+
- `maia receipt list [--limit <1..32>] [--after] [--actor] [--method] [--since] [--until]`
|
|
54
|
+
- `maia runtime probe codex`
|
|
55
|
+
|
|
56
|
+
The source also exposes the release-disabled neutral execution-selection
|
|
57
|
+
candidate:
|
|
58
|
+
|
|
59
|
+
- `maia execution catalog`
|
|
60
|
+
- `maia workspace execution show <workspace-id>`
|
|
61
|
+
- `maia workspace execution set <workspace-id> (--profile <profile-id> | --policy <policy-id>) --expected-revision <revision>`
|
|
62
|
+
- `maia workspace execution clear <workspace-id> --expected-revision <revision>`
|
|
63
|
+
|
|
64
|
+
Set and clear map to the single receipt-backed
|
|
65
|
+
`workspace.execution.configure` protocol mutation. The exact built-in catalog
|
|
66
|
+
contains one `trusted_host` local provider, one local profile, and one default
|
|
67
|
+
policy. Resolution remains explicitly `unavailable` with reason
|
|
68
|
+
`local_provider_unbound`; these commands do not bind a provider, create or
|
|
69
|
+
launch an execution instance, start a process, or grant local or remote
|
|
70
|
+
execution authority.
|
|
71
|
+
|
|
72
|
+
The source also exposes `maia runtime list` as a blocked, release-disabled
|
|
73
|
+
candidate for the closed installed-harness inventory. `@maiaos/sdk`
|
|
74
|
+
`listInstalledHarnesses` returns the full protocol catalog. The CLI `--json`
|
|
75
|
+
projection is the compact `runtime.list` item list (`harnessId`, `status`,
|
|
76
|
+
and `reason` when present): 337 UTF-8 bytes
|
|
77
|
+
(`ceil(337/4) = 85` token estimate) for the mixed four-item page, under the
|
|
78
|
+
2,048-byte list-summary budget. Installed Orca `1.4.182` has no equivalent
|
|
79
|
+
installed-harness command; this slice does not claim a byte/token win against
|
|
80
|
+
`account list` or `agent-context`. Omitted protocol fields are schema-v1
|
|
81
|
+
invariants (`displayName` from `harnessId`, `method` `harness.installed.list`,
|
|
82
|
+
`schemaVersion` 1, `selected`/`authorized` false, `detected` from `status`).
|
|
83
|
+
Human output stays one terse TSV row per item. The command does not launch,
|
|
84
|
+
select, authorize, or version-probe a harness.
|
|
85
|
+
|
|
86
|
+
The source also exposes the macOS-only, release-disabled Codex integration
|
|
87
|
+
authorization family:
|
|
88
|
+
|
|
89
|
+
- `maia integration plan codex`
|
|
90
|
+
- `maia integration apply <plan-id> [--command-id <id>]`
|
|
91
|
+
- `maia integration status codex`
|
|
92
|
+
- `maia integration remove codex [--command-id <id>]`
|
|
93
|
+
|
|
94
|
+
All four commands use the authenticated local node through `@maiaos/sdk`.
|
|
95
|
+
Callers cannot provide an executable path, digest, owner allowlist, adapter, or
|
|
96
|
+
policy revision. Plan resolves only the closed catalog from startup-captured
|
|
97
|
+
`PATH` and launches nothing; apply revalidates the unchanged five-minute plan;
|
|
98
|
+
status returns exactly one bounded item; remove persists the fence before
|
|
99
|
+
manager-owned cleanup and returns exit 76 with a lossless `cleanup_unknown`
|
|
100
|
+
result when cleanup cannot be proved. The exact built CLI/SDK/authenticated-node
|
|
101
|
+
path is source-qualified at revision
|
|
102
|
+
`80631fb5c9adeb38ab58b12a7db80647161d5871`, including replay, restart, expiry,
|
|
103
|
+
hostile replacement, active-tree removal, bounded output, and
|
|
104
|
+
`cleanup_unknown` recovery. The source candidate does not enable Codex
|
|
105
|
+
Sessions/Turns and is not release-qualified.
|
|
106
|
+
|
|
107
|
+
The source also exposes the release-disabled Pi RPC authorization, probe, and
|
|
108
|
+
conversation-only grammar:
|
|
109
|
+
|
|
110
|
+
- `maia integration plan pi-rpc`
|
|
111
|
+
- `maia integration apply <plan-id> --integration pi-rpc [--command-id <id>]`
|
|
112
|
+
- `maia integration status pi-rpc`
|
|
113
|
+
- `maia integration remove pi-rpc`
|
|
114
|
+
- `maia runtime probe pi-rpc`
|
|
115
|
+
|
|
116
|
+
These commands are callable source candidates, not release-enabled product
|
|
117
|
+
behavior or evidence that Pi is installed or available. Their separate
|
|
118
|
+
schema-v14 authorization projects the exact owner set `pi-rpc-probe`,
|
|
119
|
+
`pi-rpc-session`. The probe performs `set_auto_retry`,
|
|
120
|
+
`set_auto_compaction`, and `get_state`, with both automatic-work flags required
|
|
121
|
+
false. Apply requires the explicit integration selector so an arbitrary plan
|
|
122
|
+
identifier cannot choose authority implicitly; omitting it preserves the
|
|
123
|
+
existing Codex apply grammar.
|
|
124
|
+
|
|
125
|
+
- `maia session create <workspace-id> --runtime <codex|pi> [--profile <codex|pi-rpc>]`
|
|
126
|
+
- `maia session list --project <project-id>`
|
|
127
|
+
- `maia session show <session-id>`
|
|
128
|
+
- `maia session events <session-id>`
|
|
129
|
+
|
|
130
|
+
The session ledger commands above are source-callable foundations. The source
|
|
131
|
+
also exports `maia session start <session-id> --expected-revision <revision>`.
|
|
132
|
+
For runtime `pi` and profile `pi-rpc`, it routes to the exact active Pi
|
|
133
|
+
authorization, workspace-attributed process owner, and one private Pi 0.84.2
|
|
134
|
+
v3 Session file. Codex activation remains blocked outside its exact internal
|
|
135
|
+
test authority. Neither classification nor presence in `maia help --json`
|
|
136
|
+
qualifies this source candidate.
|
|
137
|
+
|
|
138
|
+
The source now routes `turn send`, `turn show`, and `turn interrupt` through
|
|
139
|
+
the ordinary CLI/SDK family. Pi send/interrupt require the exact active
|
|
140
|
+
conversation authorization; Pi history remains showable after authorization
|
|
141
|
+
loss. Ordinary Codex Turn content remains denied without its internal source
|
|
142
|
+
authority. The Pi candidate accepts at most one active prompt per Session,
|
|
143
|
+
persists assistant-only completion, and supports bounded interrupt, but the
|
|
144
|
+
clean runtime environment has no credential/provider binding. No real model
|
|
145
|
+
turn, tool, approval, attachment, repository mutation, or release enablement is
|
|
146
|
+
claimed.
|
|
147
|
+
H2 and its current G2 record are source-qualified only for revision
|
|
148
|
+
`e7f784b4aa567d19311235d729b047f96c9dfc7c` and its exact bound artifact;
|
|
149
|
+
prior records remain sealed for their own identities. Ordinary Darwin-arm64
|
|
150
|
+
composition verifies the embedded sibling helper but rejects every process
|
|
151
|
+
consumer before native preparation. The exact manager migrations,
|
|
152
|
+
current-source real-Codex lifecycle, and bounded coding-task proofs now pass
|
|
153
|
+
only for their named revisions. The CLI session/turn consumers remain blocked
|
|
154
|
+
and release-disabled. A1 installs `maia` and `maia-node` from exact npm
|
|
155
|
+
tarballs; package closure, integrity/provenance, carried-helper identity, clean
|
|
156
|
+
installation, and an explicit release decision remain. Homebrew is a later CLI
|
|
157
|
+
channel. The retained macOS F1/H2 manifest remains historical exact-artifact
|
|
158
|
+
evidence; its app/DMG deficits belong to later Desktop/native qualification.
|
|
159
|
+
|
|
160
|
+
The source also exposes the local-v1 orchestration candidate:
|
|
161
|
+
|
|
162
|
+
- `maia run create <workspace-id> <terminal-id> --graph-stdin`
|
|
163
|
+
- `maia run list --workspace <workspace-id>`
|
|
164
|
+
- `maia run show <run-id>`
|
|
165
|
+
- `maia run task list <run-id>`
|
|
166
|
+
- `maia run task show <run-id> <task-id>`
|
|
167
|
+
- `maia run dispatch show <run-id>`
|
|
168
|
+
- `maia run inbox check <run-id>` / `maia run inbox ack <run-id>`
|
|
169
|
+
- `maia run question open <run-id> <dispatch-id> --body-stdin`
|
|
170
|
+
- `maia run question reply <run-id> <dispatch-id> <question-id> --answer-stdin`
|
|
171
|
+
- `maia run question cancel <run-id> <dispatch-id> <question-id>`
|
|
172
|
+
- `maia run dispatch settle-terminal <run-id> <dispatch-id>`
|
|
173
|
+
|
|
174
|
+
The CLI is only a compact SDK client. Task graphs, Question bodies, and reply
|
|
175
|
+
answers use bounded fatal-UTF-8 stdin readers that advance one chunk on demand;
|
|
176
|
+
the bounded Question subject remains an explicit `--subject` argv value. Check
|
|
177
|
+
is non-blocking, acknowledgement is one Delivery at a time with compact
|
|
178
|
+
CLI stdout rather than a protocol dump, and no command
|
|
179
|
+
starts a Worker, model turn, PTY, planner, waiter, execution instance, provider,
|
|
180
|
+
automation, or remote authority. This family is source-implemented and
|
|
181
|
+
built-boundary tested, but it remains blocked and release-disabled.
|
|
182
|
+
|
|
183
|
+
`maia context show --json` is a source-implemented, release-disabled Client
|
|
184
|
+
principal candidate. It calls the transport-neutral SDK `showCurrentContext`
|
|
185
|
+
query and prints a compact, deterministic projection of the authenticated
|
|
186
|
+
local Client, `actor_local_user`, allowed actions, and context revision. It
|
|
187
|
+
omits `nodeId` until ADR-014 NodeBootstrap allocates an authoritative value.
|
|
188
|
+
It does not accept an identity override, read cwd/Git/project files
|
|
189
|
+
as authority, expose an attachment, or let `--session-id` turn a selector into
|
|
190
|
+
caller identity. Session/Run/Dispatch principals remain absent. Explicit
|
|
191
|
+
`run inbox check` prints a compact CLI/human projection of the lossless SDK
|
|
192
|
+
result. Inbox `--scope current` waits for a mailbox-owning principal.
|
|
193
|
+
`run create`, `run show`, `run question open|reply|cancel`, and
|
|
194
|
+
`run dispatch settle-terminal` share one compact aggregate CLI/human
|
|
195
|
+
projection; `@maiaos/sdk` remains lossless over the full protocol
|
|
196
|
+
aggregate.
|
|
197
|
+
|
|
198
|
+
`maia receipt list` is a bounded newest-first identity index. Default page
|
|
199
|
+
size is 8 and the maximum is 32. Compact `--json` is
|
|
200
|
+
`{ command, count, items, nextCursor? }` with no `result`, digest, or path
|
|
201
|
+
(measured wrapped UTF-8: empty 69, one item object 195, default 8 + cursor
|
|
202
|
+
1,662, max 32 6,341). Human TSV is
|
|
203
|
+
`receipt.list\t<count>\t<cursor|->` then identity rows. Classified
|
|
204
|
+
`maia help receipt --json` marks both `receipt list` and `receipt show`
|
|
205
|
+
`implemented`; the public v1 line remains a source-implemented candidate and
|
|
206
|
+
is not release-qualified. `receipt show` stays keyed recovery after a known
|
|
207
|
+
command ID.
|
|
208
|
+
|
|
209
|
+
The terminal commands are a blocked, release-disabled, source-implemented
|
|
210
|
+
macOS live-terminal candidate, not release-qualified product behavior.
|
|
211
|
+
Installed help identifies this status directly; callable source is not evidence
|
|
212
|
+
of release enablement or qualification.
|
|
213
|
+
CLI `--json` now projects compact terminal list/show/events/read envelopes;
|
|
214
|
+
`@maiaos/sdk` and `@maiaos/protocol` stay lossless. Measured compact bytes
|
|
215
|
+
and the `winClaim: false` near-miss posture are owned by
|
|
216
|
+
[token-efficiency budgets](../README.md#cli-node-implementation-plan--token-efficiency-budgets).
|
|
217
|
+
Interactive creation selects only the node-owned fixed login-shell profile;
|
|
218
|
+
callers supply no executable, argv, environment, or cwd. The exact 13-command
|
|
219
|
+
active public surface is create/list/show/events/read, controller
|
|
220
|
+
request/show/acquire/release, input write, resize/signal/close. Observer
|
|
221
|
+
attach/check/detach/resync, controller renew, restart, delete, and reconcile
|
|
222
|
+
are unavailable or inert. The compatibility tier is cooperative local-user
|
|
223
|
+
execution, not hard containment, and it grants no runtime, model, worker,
|
|
224
|
+
plugin, or remote authority.
|
|
225
|
+
|
|
226
|
+
Add `--json` for a stable JSON success or error object. Successful output is
|
|
227
|
+
written to stdout; errors are written to stderr and exit with status 64 for
|
|
228
|
+
invalid or unimplemented input, 66 for a missing requested record, 69 for an
|
|
229
|
+
unavailable node, 74 for a request deadline, 75 for another retryable operation
|
|
230
|
+
failure, 76 when the mutation outcome is unknown, 77 for denied authority, and
|
|
231
|
+
70 for other software/data-integrity failures. Unknown codes fail to 70 rather
|
|
232
|
+
than being misclassified as usage errors. Unexpected CLI implementation
|
|
233
|
+
failures are redacted, non-retryable `internal_error` results at 70; they are
|
|
234
|
+
never mislabeled as node unavailability.
|
|
235
|
+
`maia status` also renders the authenticated process-resource pressure,
|
|
236
|
+
admission headroom, active/fenced/cleanup-unknown and watcher counts,
|
|
237
|
+
capability truth, and one bounded next step. Human output remains the operator
|
|
238
|
+
hatch for per-metric trees; `--json` is the compact agent projection and
|
|
239
|
+
`@maiaos/sdk` `readStatus` stays lossless. macOS
|
|
240
|
+
output says hard limits are unavailable and observed-pressure termination is
|
|
241
|
+
disabled. It may direct the local user to
|
|
242
|
+
close a terminal or inspect cleanup uncertainty, but it never claims or invokes
|
|
243
|
+
automatic PID/PGID cleanup.
|
|
244
|
+
`runtime probe codex` and the release-disabled `runtime probe pi-rpc`
|
|
245
|
+
candidate always write their typed compatibility result to stdout; `ready`
|
|
246
|
+
exits 0, `unavailable` exits 69, and `incompatible` exits 70 so shell
|
|
247
|
+
automation cannot mistake inspection data for runtime readiness. A Pi result
|
|
248
|
+
remains explicitly request-scoped, no-model, and `releaseQualified: false`.
|
|
249
|
+
|
|
250
|
+
Mutations generate their command ID before transport dispatch. If the
|
|
251
|
+
connection fails after the node may have committed, JSON errors include a
|
|
252
|
+
bounded `recovery.commandId`; human output prints the exact
|
|
253
|
+
`maia receipt show <command-id>` recovery command. Reuse that ID to inspect or
|
|
254
|
+
idempotently replay the operation instead of starting a new mutation.
|
|
255
|
+
Unattended automations and LLM callers should generate and durably retain an
|
|
256
|
+
explicit `--command-id` before invoking a mutation. The CLI-generated ID is a
|
|
257
|
+
human-convenience fallback that survives an ambiguous response while the CLI
|
|
258
|
+
process remains alive; a hard process kill before output can still lose that
|
|
259
|
+
locally generated identifier. Recover it with `maia receipt list` when the
|
|
260
|
+
command ID is unknown, then `maia receipt show <command-id>` for the keyed
|
|
261
|
+
result.
|
|
262
|
+
The parser rejects more than 32 arguments, tokens above 4 KiB, or commands
|
|
263
|
+
above 16 KiB before loading operational modules; orchestration graph content
|
|
264
|
+
uses the independently bounded stdin path rather than that argv ceiling.
|
|
265
|
+
Hostile values are never echoed into diagnostics. List operations default to
|
|
266
|
+
two records except `receipt list`, which defaults to 8 and accepts at most 32. Registry
|
|
267
|
+
pages accept an explicit maximum of 100; session and terminal event pages
|
|
268
|
+
accept at most 32 records, terminal reads accept at most eight chunks, and node
|
|
269
|
+
event pages are also bounded by encoded bytes.
|
|
270
|
+
|
|
271
|
+
Node-facing commands lazily load the Node SDK adapter, securely resolve the
|
|
272
|
+
current profile's private descriptor, authenticate over local IPC, and verify
|
|
273
|
+
the live process identity. They do not start or stop a node. Project
|
|
274
|
+
registration records one canonical Git repository and a `local-main`
|
|
275
|
+
workspace; repository attachment is explicit and optimistic-revision guarded.
|
|
276
|
+
The node retains local paths while public JSON uses opaque location IDs. The
|
|
277
|
+
session ledger commands create and inspect a durable node-owned record. The
|
|
278
|
+
blocked `session start` candidate commits its receipt and activation intent
|
|
279
|
+
before the node launches Codex; its asynchronous result is observed through
|
|
280
|
+
`session show` and `session events` when exercising candidate source.
|
|
281
|
+
Git-worktree creation/removal, structured Session attachments, approvals,
|
|
282
|
+
steering, release-qualified interruption, diffs, automation, remote terminal
|
|
283
|
+
operation, and network command families remain unimplemented. Client node registration,
|
|
284
|
+
`--node` selection, create/pair/use/forget flows, and every bootstrap provider
|
|
285
|
+
also remain planned only; the current profile resolver is not a multi-company
|
|
286
|
+
authority switcher. The candidate Turn family is
|
|
287
|
+
omitted from ordinary help and fails closed at both CLI and node boundaries.
|
|
288
|
+
Terminal candidates may appear in alpha help but must not be presented as
|
|
289
|
+
release-qualified or release-enabled.
|
|
290
|
+
|
|
291
|
+
ADR-015 accepts two later CLI families: registry-backed `maia api
|
|
292
|
+
list/show/invoke` and Session-bound `maia notebook` lifecycle, execute,
|
|
293
|
+
variable, checkpoint, branch, handoff, and close commands. None is present in
|
|
294
|
+
the source registry or installed help. `maia api` will project the exact built
|
|
295
|
+
Public operation catalog generated by `@maiaos/protocol` through `@maiaos/sdk`; it
|
|
296
|
+
will exclude CLI presentation, NodeBootstrap, roadmap-only, database, Worker-
|
|
297
|
+
administration, provider-internal, and private service behavior. Generic
|
|
298
|
+
invocation must preserve the named operation's validation, Capability,
|
|
299
|
+
Approval, revision, idempotency, Receipt, cancellation, and availability
|
|
300
|
+
semantics.
|
|
301
|
+
|
|
302
|
+
The first Notebook slice stores one active Notebook per Session and returns an
|
|
303
|
+
explicit containment-unavailable result for execution. The CLI never evaluates
|
|
304
|
+
TypeScript, owns Notebook state, or supervises its Runtime process. Execution
|
|
305
|
+
remains blocked until A6/W3 hard containment and the canonical recovery,
|
|
306
|
+
security, limit, cross-Harness, and product-value gates pass. See the
|
|
307
|
+
[accepted Notebook contract](../../services/README.md#execution--portable-notebooks)
|
|
308
|
+
and [M3.25/M6 roadmap split](../README.md#cli-roadmap--m325-public-operation-catalog-and-notebook-records).
|
|
309
|
+
|
|
310
|
+
Every future node-facing command must follow this dependency chain:
|
|
311
|
+
|
|
312
|
+
```text
|
|
313
|
+
@maiaos/cli ──► @maiaos/sdk ── authenticated local IPC ──► maia-node
|
|
314
|
+
╲ ╱
|
|
315
|
+
╲══► @maiaos/protocol ◄═══════════╱
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
The CLI owns argument parsing, terminal interaction, and human/JSON/NDJSON
|
|
319
|
+
presentation. `@maiaos/sdk` owns commands, queries, subscriptions, validation,
|
|
320
|
+
cancellation, cursors, and local or remote transport adapters. The CLI must not
|
|
321
|
+
open node IPC directly, read node storage, supervise an agent runtime, or
|
|
322
|
+
silently compete with the desktop lifecycle owner.
|
|
323
|
+
|
|
324
|
+
The source keeps operational modules behind dynamic boundaries, and the build
|
|
325
|
+
tree-shakes and minifies the complete entry into one standalone executable.
|
|
326
|
+
The sealed macOS F1 CLI artifact is 152,823 bytes with SHA-256
|
|
327
|
+
`51ecc0d535314978550b5e0bd7169e28ae999353ff98cf509944dee1ea12c367`;
|
|
328
|
+
33 CLI tests passed and the full repository `pnpm check` was green. This exact
|
|
329
|
+
snapshot measured built CLI status at 66.62 ms p95 in its local artifact-bound
|
|
330
|
+
startup run. The earlier 2026-08-10 Apple M4 Pro/repository-pinned Node 24.19.0
|
|
331
|
+
session-activation, runtime-probe, and
|
|
332
|
+
standalone-minification artifact is 143,119 bytes and measured 62.86 ms p95 across 30 real
|
|
333
|
+
`maia status --json` processes and emitted exactly 324 bytes per response.
|
|
334
|
+
That retained output-size evidence predates the process-resource health fields
|
|
335
|
+
and does not qualify the current source-candidate response size.
|
|
336
|
+
Help/version remain dependency-light; their latest
|
|
337
|
+
dedicated 30-process measurements predate this session-activation artifact and are not
|
|
338
|
+
attributed to it. The bundle has a linked external source map, metafile,
|
|
339
|
+
exact-input notices, and a CycloneDX SBOM tied to its SHA-256 digest. A copied
|
|
340
|
+
artifact test proves version output without package metadata or dependencies.
|
|
341
|
+
The earlier unavailable-terminal pack-layout and production-deploy observations are recorded in the
|
|
342
|
+
[benchmark ledger](../../services/README.md#benchmarks--historical-durable-unavailable-terminal-footprint-decision);
|
|
343
|
+
the local-v1 orchestration artifact and latency observation is recorded in the
|
|
344
|
+
[same ledger](../../services/README.md#benchmarks--local-v1-orchestration-candidate). The
|
|
345
|
+
equivalent-feature comparison remains a later gate.
|
|
346
|
+
|
|
347
|
+
The sealed live-terminal standalone predecessor is 217,323 bytes with SHA-256
|
|
348
|
+
`7f74874f5d87622588cf5538847e36cfbe43da17b37bea7a1e2c9efeaaa5eb`,
|
|
349
|
+
4.986449% above its then-strict 207,001-byte reference. The coordinator later
|
|
350
|
+
approved one new one-time standalone comparison identity: 248,047 bytes with
|
|
351
|
+
SHA-256
|
|
352
|
+
`905b3a533cd504d9af54c20a31a51d301aad6c4f182cd13899f89442eee23ed7`.
|
|
353
|
+
The hard ceiling remains 262,144 bytes; this identity does not raise that
|
|
354
|
+
limit, is not a blanket waiver, and does not qualify the terminal product, F1,
|
|
355
|
+
or a release. The live-terminal package-layout predecessor remains 250,058
|
|
356
|
+
packed bytes, 1,168,775 unpacked bytes, and 106 entries. After omitting
|
|
357
|
+
declaration maps, unpublished-`src/` library JavaScript maps, and the unused
|
|
358
|
+
bin declaration emit, the published CLI pack comparison identity is 1,043,804
|
|
359
|
+
unpacked bytes and 71 entries; the exact packed archive bytes are owned by the
|
|
360
|
+
benchmark ledger so this tarball README cannot oscillate against its own
|
|
361
|
+
archive size. The collapsed SDK comparison identity is 17,997 packed bytes,
|
|
362
|
+
85,879 unpacked bytes, and 8 entries. Direct dependencies remain two, bundled dependencies remain zero, and
|
|
363
|
+
the standalone SBOM remains four components and five dependency nodes. Local
|
|
364
|
+
`dist` still keeps the linked standalone `dist/bin/maia.mjs.map`, compact
|
|
365
|
+
esbuild metafile, notices, and digest-bound SBOM. Future growth compares
|
|
366
|
+
against the collapsed identities and the 248,047-byte standalone identity
|
|
367
|
+
under the unchanged 262,144-byte ceiling. See the
|
|
368
|
+
[owning decision](../../services/README.md#benchmarks--sdkcli-collapsed-pack-and-standalone-comparison-identity-approved)
|
|
369
|
+
and the
|
|
370
|
+
[live-terminal predecessor](../../services/README.md#benchmarks--live-terminal-sdkcli-package-footprint-baseline-decision-approved).
|
|
371
|
+
|
|
372
|
+
A future explicit foreground `maia` device-capability host may answer approved
|
|
373
|
+
node invocations while the process remains running. That planned role uses a
|
|
374
|
+
separate host identity and grant and never turns ordinary CLI commands into
|
|
375
|
+
ambient desktop authority. No such CLI surface exists today; see
|
|
376
|
+
[Device capabilities](../../services/README.md#device-capabilities).
|
|
377
|
+
|
|
378
|
+
See the [Maia CLI roadmap](../README.md#cli-roadmap),
|
|
379
|
+
[canonical roadmap](../../ROADMAP.md), and
|
|
380
|
+
[ADE parity ledger](../README.md#ade-parity) for the planned project,
|
|
381
|
+
workspace, terminal, runtime, session, orchestration, Public operation catalog,
|
|
382
|
+
Notebook, automation, and headless contracts.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Maia CLI third-party notices
|
|
2
|
+
|
|
3
|
+
Generated from the exact esbuild input graph. Do not edit by hand.
|
|
4
|
+
|
|
5
|
+
================================================================================
|
|
6
|
+
effect 4.0.0-beta.106
|
|
7
|
+
Declared license: MIT
|
|
8
|
+
Bundled source: node_modules/.pnpm/effect@4.0.0-beta.106/node_modules/effect
|
|
9
|
+
|
|
10
|
+
--- LICENSE ---
|
|
11
|
+
MIT License
|
|
12
|
+
|
|
13
|
+
Copyright (c) 2023 Effectful Technologies Inc
|
|
14
|
+
|
|
15
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
16
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
17
|
+
in the Software without restriction, including without limitation the rights
|
|
18
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
19
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
20
|
+
furnished to do so, subject to the following conditions:
|
|
21
|
+
|
|
22
|
+
The above copyright notice and this permission notice shall be included in all
|
|
23
|
+
copies or substantial portions of the Software.
|
|
24
|
+
|
|
25
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
26
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
27
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
28
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
29
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
30
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
31
|
+
SOFTWARE.
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://cyclonedx.org/schema/bom-1.6.schema.json",
|
|
3
|
+
"bomFormat": "CycloneDX",
|
|
4
|
+
"components": [
|
|
5
|
+
{
|
|
6
|
+
"bom-ref": "@maiaos/local-ipc@0.1.0-canary.44938d4.manual.1",
|
|
7
|
+
"name": "@maiaos/local-ipc",
|
|
8
|
+
"properties": [
|
|
9
|
+
{
|
|
10
|
+
"name": "maia:source-kind",
|
|
11
|
+
"value": "workspace"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "maia:source-path",
|
|
15
|
+
"value": "packages/local-ipc"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"purl": "pkg:npm/%40maiaos/local-ipc@0.1.0-canary.44938d4.manual.1",
|
|
19
|
+
"scope": "required",
|
|
20
|
+
"type": "library",
|
|
21
|
+
"version": "0.1.0-canary.44938d4.manual.1"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"bom-ref": "@maiaos/protocol@0.1.0-canary.44938d4.manual.1",
|
|
25
|
+
"name": "@maiaos/protocol",
|
|
26
|
+
"properties": [
|
|
27
|
+
{
|
|
28
|
+
"name": "maia:source-kind",
|
|
29
|
+
"value": "workspace"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "maia:source-path",
|
|
33
|
+
"value": "packages/protocol"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"purl": "pkg:npm/%40maiaos/protocol@0.1.0-canary.44938d4.manual.1",
|
|
37
|
+
"scope": "required",
|
|
38
|
+
"type": "library",
|
|
39
|
+
"version": "0.1.0-canary.44938d4.manual.1"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"bom-ref": "@maiaos/sdk@0.1.0-canary.44938d4.manual.1",
|
|
43
|
+
"name": "@maiaos/sdk",
|
|
44
|
+
"properties": [
|
|
45
|
+
{
|
|
46
|
+
"name": "maia:source-kind",
|
|
47
|
+
"value": "workspace"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "maia:source-path",
|
|
51
|
+
"value": "packages/sdk"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"purl": "pkg:npm/%40maiaos/sdk@0.1.0-canary.44938d4.manual.1",
|
|
55
|
+
"scope": "required",
|
|
56
|
+
"type": "library",
|
|
57
|
+
"version": "0.1.0-canary.44938d4.manual.1"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"bom-ref": "effect@4.0.0-beta.106",
|
|
61
|
+
"licenses": [
|
|
62
|
+
{
|
|
63
|
+
"license": {
|
|
64
|
+
"name": "MIT"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"name": "effect",
|
|
69
|
+
"properties": [
|
|
70
|
+
{
|
|
71
|
+
"name": "maia:source-kind",
|
|
72
|
+
"value": "third-party"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "maia:source-path",
|
|
76
|
+
"value": "node_modules/.pnpm/effect@4.0.0-beta.106/node_modules/effect"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"purl": "pkg:npm/effect@4.0.0-beta.106",
|
|
80
|
+
"scope": "required",
|
|
81
|
+
"type": "library",
|
|
82
|
+
"version": "4.0.0-beta.106"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"dependencies": [
|
|
86
|
+
{
|
|
87
|
+
"dependsOn": [
|
|
88
|
+
"@maiaos/local-ipc@0.1.0-canary.44938d4.manual.1",
|
|
89
|
+
"@maiaos/protocol@0.1.0-canary.44938d4.manual.1",
|
|
90
|
+
"@maiaos/sdk@0.1.0-canary.44938d4.manual.1",
|
|
91
|
+
"effect@4.0.0-beta.106"
|
|
92
|
+
],
|
|
93
|
+
"ref": "@maiaos/cli@0.1.0-canary.44938d4.manual.1"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"dependsOn": [],
|
|
97
|
+
"ref": "@maiaos/local-ipc@0.1.0-canary.44938d4.manual.1"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"dependsOn": [],
|
|
101
|
+
"ref": "@maiaos/protocol@0.1.0-canary.44938d4.manual.1"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"dependsOn": [],
|
|
105
|
+
"ref": "@maiaos/sdk@0.1.0-canary.44938d4.manual.1"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"dependsOn": [],
|
|
109
|
+
"ref": "effect@4.0.0-beta.106"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"metadata": {
|
|
113
|
+
"component": {
|
|
114
|
+
"bom-ref": "@maiaos/cli@0.1.0-canary.44938d4.manual.1",
|
|
115
|
+
"hashes": [
|
|
116
|
+
{
|
|
117
|
+
"alg": "SHA-256",
|
|
118
|
+
"content": "79cea5139557653509c7100ff027d9169503d707cefb367f66bbf5382f3de671"
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
"name": "@maiaos/cli",
|
|
122
|
+
"type": "application",
|
|
123
|
+
"version": "0.1.0-canary.44938d4.manual.1"
|
|
124
|
+
},
|
|
125
|
+
"properties": [
|
|
126
|
+
{
|
|
127
|
+
"name": "maia:artifact",
|
|
128
|
+
"value": "dist/bin/maia.mjs"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "maia:generator",
|
|
132
|
+
"value": "apps/cli/scripts/build-executable.mjs"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
"specVersion": "1.6",
|
|
137
|
+
"version": 1
|
|
138
|
+
}
|