@superjackfruitlabs/salaam 0.0.1 → 0.0.2
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/CHANGELOG.md +15 -0
- package/README.md +25 -17
- package/dist/src/a2a-backend.js +225 -0
- package/dist/src/a2a-inbound.js +487 -0
- package/dist/src/a2a-peer.js +370 -0
- package/dist/src/a2a-protocol.js +250 -0
- package/dist/src/agent-profiles.js +289 -0
- package/dist/src/children.js +132 -26
- package/dist/src/claude-provider.js +2 -179
- package/dist/src/cli-help.js +107 -6
- package/dist/src/cli.js +477 -13
- package/dist/src/config.js +26 -3
- package/dist/src/credentials.js +7 -2
- package/dist/src/external-runtime.js +1 -0
- package/dist/src/external-work.js +583 -0
- package/dist/src/harness-backend.js +466 -0
- package/dist/src/harness-container.js +450 -0
- package/dist/src/harness-model-gateway.js +104 -0
- package/dist/src/harness-prepare.js +88 -0
- package/dist/src/harness-probe.js +111 -0
- package/dist/src/harness-protocol.js +325 -0
- package/dist/src/harness-readiness.js +50 -0
- package/dist/src/harness-rpc.js +206 -0
- package/dist/src/harness-tool-identity.js +87 -0
- package/dist/src/harness-wire-bridge.js +387 -0
- package/dist/src/host.js +6 -1
- package/dist/src/house-extension.js +147 -64
- package/dist/src/live-provider.js +301 -0
- package/dist/src/managed.js +33 -3
- package/dist/src/protocol.js +9 -5
- package/dist/src/provider-auth.js +300 -0
- package/dist/src/provider-config.js +65 -17
- package/dist/src/provider-model.js +78 -0
- package/dist/src/provider-payload.js +264 -0
- package/dist/src/provider-transport.js +36 -0
- package/dist/src/provider-usage.js +59 -0
- package/dist/src/repository-snapshots.js +219 -0
- package/dist/src/service.js +274 -9
- package/dist/src/store.js +44 -2
- package/dist/src/supervisor.js +246 -35
- package/dist/src/task-budget.js +17 -8
- package/dist/src/task-context.js +15 -0
- package/dist/src/task-driver.js +38 -14
- package/dist/src/task-policy.js +20 -1
- package/dist/src/task-verification.js +3 -0
- package/dist/src/task-work.js +31 -0
- package/dist/src/team-work.js +378 -0
- package/dist/src/tui-view.js +65 -10
- package/dist/src/tui.js +4 -2
- package/dist/src/usage.js +18 -0
- package/dist/src/worker-boundary.js +298 -0
- package/dist/src/worker-workspaces.js +274 -0
- package/dist/src/workspaces.js +6 -2
- package/harness-runtime/codex-pins.json +10 -0
- package/harness-runtime/package-lock.json +560 -0
- package/harness-runtime/package.json +9 -0
- package/npm-shrinkwrap.json +57 -2
- package/package.json +2 -1
- package/src/a2a-backend.ts +254 -0
- package/src/a2a-inbound.ts +585 -0
- package/src/a2a-peer.ts +441 -0
- package/src/a2a-protocol.ts +286 -0
- package/src/agent-profiles.ts +379 -0
- package/src/children.ts +168 -27
- package/src/claude-provider.ts +2 -189
- package/src/cli-help.ts +107 -6
- package/src/cli.ts +602 -12
- package/src/config.ts +34 -3
- package/src/credentials.ts +9 -2
- package/src/external-runtime.ts +54 -0
- package/src/external-work.ts +663 -0
- package/src/harness-backend.ts +557 -0
- package/src/harness-container.ts +543 -0
- package/src/harness-model-gateway.ts +138 -0
- package/src/harness-prepare.ts +113 -0
- package/src/harness-probe.ts +150 -0
- package/src/harness-protocol.ts +388 -0
- package/src/harness-readiness.ts +71 -0
- package/src/harness-rpc.ts +244 -0
- package/src/harness-tool-identity.ts +91 -0
- package/src/harness-wire-bridge.ts +418 -0
- package/src/host.ts +11 -6
- package/src/house-extension.ts +165 -66
- package/src/live-provider.ts +347 -0
- package/src/managed.ts +43 -4
- package/src/protocol.ts +36 -8
- package/src/provider-auth.ts +336 -0
- package/src/provider-config.ts +89 -18
- package/src/provider-model.ts +86 -0
- package/src/provider-payload.ts +263 -0
- package/src/provider-transport.ts +51 -0
- package/src/provider-usage.ts +64 -0
- package/src/repository-snapshots.ts +259 -0
- package/src/service.ts +446 -11
- package/src/store.ts +60 -4
- package/src/supervisor.ts +294 -41
- package/src/task-budget.ts +24 -11
- package/src/task-context.ts +17 -0
- package/src/task-driver.ts +51 -15
- package/src/task-policy.ts +23 -3
- package/src/task-verification.ts +2 -0
- package/src/task-work.ts +46 -1
- package/src/team-work.ts +554 -0
- package/src/tui-client.ts +5 -0
- package/src/tui-view.ts +164 -12
- package/src/tui.ts +5 -2
- package/src/usage.ts +17 -0
- package/src/worker-boundary.ts +395 -0
- package/src/worker-workspaces.ts +390 -0
- package/src/workspaces.ts +4 -2
package/src/cli-help.ts
CHANGED
|
@@ -1,4 +1,58 @@
|
|
|
1
1
|
const commands: Record<string, string> = {
|
|
2
|
+
a2a: `salaam a2a credential PEER_ID --file NEW_OWNER_ONLY_FILE
|
|
3
|
+
salaam a2a discover --peer ID --endpoint URL --card-url URL --credential-file FILE --addresses IP[,IP] [--local]
|
|
4
|
+
salaam a2a pin --peer ID --endpoint URL --card-url URL --card-file REVIEWED_JSON --credential-file FILE --addresses IP[,IP] --skill SKILL [--tenant TENANT --files PATH[,PATH] --local]
|
|
5
|
+
salaam a2a peers
|
|
6
|
+
salaam a2a grant --assignment ID --peer ID --credential-file OWNER_ONLY_JSON [--tenant TENANT --skill SKILL] [--peer-client openclaw-2026.10.5]
|
|
7
|
+
salaam a2a inspect CHILD_ID
|
|
8
|
+
salaam a2a reconcile CHILD_ID --run-id EXACT_RUN_ID
|
|
9
|
+
|
|
10
|
+
Use --a2a-config FILE for outbound peers and --a2a-listen-config FILE for private
|
|
11
|
+
inbound one-use analysis grants. Peer credentials grant no human/operator powers.
|
|
12
|
+
Remote internal model usage and execution remain unobserved.`,
|
|
13
|
+
harness: `salaam harness probe --pin FILE
|
|
14
|
+
salaam harness prepare --runtime-root NEW_DIR --arch linux-arm64|linux-x64
|
|
15
|
+
salaam harness config --target TARGET --runtime-root PREPARED_DIR [--id ID]
|
|
16
|
+
salaam harness list
|
|
17
|
+
salaam harness inspect CHILD_ID
|
|
18
|
+
salaam harness reconcile CHILD_ID --run-id RUN_ID
|
|
19
|
+
|
|
20
|
+
Negotiate an operator-pinned external harness in a disposable empty home, with no
|
|
21
|
+
repository, credentials or model request. FILE contains target, executable,
|
|
22
|
+
executable_digest and version. Targets: gemini-acp, claude-acp, codex-app-server.
|
|
23
|
+
Advertised capabilities are separate from enforced authority. A probe grants no
|
|
24
|
+
file, command or worker-dispatch permission. A service started with an owner-only
|
|
25
|
+
--harness-config FILE runs fresh Docker readiness proofs before admitting configured
|
|
26
|
+
targets. Reconcile confirms stopped resources; it never resends a prompt.`,
|
|
27
|
+
workers: `salaam workers proposal CHILD_ID [--offset N]
|
|
28
|
+
salaam workers integrate CHILD_ID --revision N --root-digest SHA256 --patch-digest SHA256
|
|
29
|
+
salaam workers integration RECEIPT_ID
|
|
30
|
+
salaam workers resolve RECEIPT_ID --revision N --root-digest SHA256
|
|
31
|
+
|
|
32
|
+
Writing specialists use private drafts. Review every proposal page and the root digest before integration.
|
|
33
|
+
Integration does not verify a task. Resolution explicitly admits a new apply only against its unchanged original root.
|
|
34
|
+
Mutations accept --request-id ID and --takeover.`,
|
|
35
|
+
team: `salaam team show TASK_ID
|
|
36
|
+
salaam team assign TASK_ID --step STEP_ID --profile PROFILE_ID --requests N --revision N
|
|
37
|
+
salaam team assign TASK_ID --step STEP_ID --profile PROFILE_ID --runtime RUNTIME_ID --invocations 1 --revision N
|
|
38
|
+
salaam team run TASK_ID --assignment ID --generation N --revision N [--instruction TEXT --continues ATTEMPT_ID]
|
|
39
|
+
salaam team send TASK_ID --to ASSIGNMENT_ID --text TEXT
|
|
40
|
+
salaam team receive TASK_ID --assignment ID
|
|
41
|
+
salaam team ack TASK_ID --assignment ID --message MESSAGE_ID
|
|
42
|
+
salaam team reject TASK_ID --assignment ID --generation N --revision N --reason TEXT
|
|
43
|
+
|
|
44
|
+
Mutations accept --request-id ID and --takeover. Claims bind the plan, admitted profile and generation.
|
|
45
|
+
Messages never wake workers. Use run for an explicit new claim or follow-up.
|
|
46
|
+
External assignments require a task with explicit limits.invocations and
|
|
47
|
+
token_units:null. Their internal model usage is reported as unknown.`,
|
|
48
|
+
agents: `salaam agents list --session SESSION_ID
|
|
49
|
+
salaam agents inspect PROFILE_ID --session SESSION_ID
|
|
50
|
+
salaam agents admit PROFILE_ID --session SESSION_ID --digest REVIEWED_DIGEST [--facts ID,ID]
|
|
51
|
+
salaam agents revoke GRANT_ID --session SESSION_ID
|
|
52
|
+
|
|
53
|
+
Profiles are data in .salaam/agents/*.md with JSON front matter and a prompt body.
|
|
54
|
+
Inspect the effective tools and digest before admission. Project definitions cannot
|
|
55
|
+
grant themselves authority. Mutations accept --request-id and --takeover.`,
|
|
2
56
|
tui: `salaam tui [--session SESSION_ID] [--observe|--takeover] [--theme night|paper]
|
|
3
57
|
[--cwd DIR] [--coding-root PRIVATE_DIR] [--coding-socket DOCKER_SOCKET]
|
|
4
58
|
|
|
@@ -110,6 +164,8 @@ salaam tasks cancel TASK_ID --revision N
|
|
|
110
164
|
Mutations accept --request-id ID and --takeover. Reuse the same request ID and input
|
|
111
165
|
when retrying a lost response. One task per session. Automatic progression is opt-in
|
|
112
166
|
and bounded by step, request, runtime, concurrency and declared token limits.
|
|
167
|
+
Plans may explicitly set limits.token_units to null to disable token budgeting;
|
|
168
|
+
request/runtime limits and approvals still apply. Unsupported output caps are rejected.
|
|
113
169
|
Success requires fresh command receipts and deliverables at the exact workspace revision.
|
|
114
170
|
Operator exceptions are reported separately. Checkpoints preserve conflicting human edits.
|
|
115
171
|
Legacy task facts remain under the singular task command.`,
|
|
@@ -123,18 +179,33 @@ Updates are explicit and versioned. Corrections retain the original fact and its
|
|
|
123
179
|
Read bounded evidence/history pages, including entries preceding compaction.`,
|
|
124
180
|
compactions: `salaam compactions inspect COMPACTION_ID
|
|
125
181
|
salaam compactions cancel COMPACTION_ID [--takeover] [--request-id ID]`,
|
|
126
|
-
|
|
182
|
+
providers: `salaam providers list
|
|
183
|
+
|
|
184
|
+
List every provider in the pinned Pi registry, its chat APIs and auth methods.
|
|
185
|
+
Catalog support does not imply live account access or verification.`,
|
|
186
|
+
models: `salaam models list [PROVIDER]
|
|
187
|
+
|
|
188
|
+
List pinned chat model IDs without network requests or credentials.`,
|
|
189
|
+
auth: `salaam auth set PROVIDER
|
|
190
|
+
salaam auth login PROVIDER [--oauth]
|
|
191
|
+
salaam auth status [PROVIDER]
|
|
192
|
+
salaam auth logout PROVIDER
|
|
127
193
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
194
|
+
Set an API key at a hidden prompt (or pipe it on stdin). Login uses Pi's provider-owned
|
|
195
|
+
setup, including cloud configuration and browser OAuth. Credentials are private under
|
|
196
|
+
~/.config/salaam/credentials; refresh is serialized across processes.
|
|
197
|
+
Status prints metadata only. Existing Anthropic keys remain compatible.`,
|
|
198
|
+
service: `salaam service start [--foreground] [--provider PROVIDER]
|
|
131
199
|
[--model MODEL] [--max-output-tokens N] [--workspace-id ID]
|
|
132
200
|
[--effect-socket PATH] [--effect-opaque]
|
|
133
201
|
[--coding-root PRIVATE_DIR] [--coding-socket DOCKER_SOCKET]
|
|
202
|
+
[--harness-config OWNER_ONLY_FILE] [--a2a-config OWNER_ONLY_FILE]
|
|
203
|
+
[--a2a-listen-config OWNER_ONLY_FILE]
|
|
134
204
|
salaam service status
|
|
135
205
|
salaam service stop
|
|
136
206
|
|
|
137
|
-
The default provider is offline.
|
|
207
|
+
The default provider is offline. Anthropic defaults to claude-sonnet-5-5.
|
|
208
|
+
Other providers require --model; use salaam providers list and salaam models list PROVIDER.
|
|
138
209
|
Start with --foreground for process-supervisor use; otherwise the service detaches.`,
|
|
139
210
|
session: `salaam session create [--cwd DIR] [--request-id ID] [--coding]
|
|
140
211
|
salaam session list
|
|
@@ -192,7 +263,9 @@ Usage: salaam <command> [options]
|
|
|
192
263
|
Commands:
|
|
193
264
|
tui Open the Salaam terminal interface (also bare sal)
|
|
194
265
|
remote Open the same session over SSH
|
|
195
|
-
|
|
266
|
+
providers List pinned Pi providers and capabilities
|
|
267
|
+
models List pinned chat models
|
|
268
|
+
auth Configure provider credentials or OAuth
|
|
196
269
|
service Start, inspect or stop the session service
|
|
197
270
|
session Create, inspect, submit, resume or cancel work
|
|
198
271
|
attach Open an interactive terminal on a session
|
|
@@ -211,6 +284,11 @@ Commands:
|
|
|
211
284
|
compactions Inspect or cancel a managed checkpoint
|
|
212
285
|
execution Prove the container boundary with disposable fixtures
|
|
213
286
|
workspace Inspect coding copies, review diffs or acknowledge human edits
|
|
287
|
+
agents Inspect and admit specialist profiles
|
|
288
|
+
team Assign task steps and inspect the durable team inbox
|
|
289
|
+
workers Inspect and explicitly integrate isolated coding proposals
|
|
290
|
+
harness Prepare, inspect and reconcile pinned external workers
|
|
291
|
+
a2a Configure bounded peer analysis and inspect remote work
|
|
214
292
|
commands Start, inspect, cancel or reconcile isolated commands
|
|
215
293
|
|
|
216
294
|
${globalOptions}
|
|
@@ -255,6 +333,28 @@ const valueOptions = new Set([
|
|
|
255
333
|
'--run-id',
|
|
256
334
|
'--coding-root',
|
|
257
335
|
'--coding-socket',
|
|
336
|
+
'--harness-config',
|
|
337
|
+
'--a2a-config',
|
|
338
|
+
'--a2a-listen-config',
|
|
339
|
+
'--assignment',
|
|
340
|
+
'--peer',
|
|
341
|
+
'--peer-client',
|
|
342
|
+
'--file',
|
|
343
|
+
'--endpoint',
|
|
344
|
+
'--card-url',
|
|
345
|
+
'--card-file',
|
|
346
|
+
'--addresses',
|
|
347
|
+
'--files',
|
|
348
|
+
'--retention',
|
|
349
|
+
'--credential-file',
|
|
350
|
+
'--tenant',
|
|
351
|
+
'--skill',
|
|
352
|
+
'--runtime-root',
|
|
353
|
+
'--arch',
|
|
354
|
+
'--target',
|
|
355
|
+
'--id',
|
|
356
|
+
'--runtime',
|
|
357
|
+
'--invocations',
|
|
258
358
|
'--step-key',
|
|
259
359
|
'--command',
|
|
260
360
|
'--plan',
|
|
@@ -274,6 +374,7 @@ const valueOptions = new Set([
|
|
|
274
374
|
'--status',
|
|
275
375
|
'--manifest',
|
|
276
376
|
'--config',
|
|
377
|
+
'--pin',
|
|
277
378
|
'--platform',
|
|
278
379
|
]);
|
|
279
380
|
/** Skip option values so a prompt containing "--help" stays a prompt. */
|