@tpsdev-ai/cli 0.2.0 → 0.3.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 +65 -0
- package/bin/tps.cjs +24 -0
- package/bin/tps.ts +435 -0
- package/package.json +29 -5
- package/dist/bin/tps.d.ts +0 -3
- package/dist/bin/tps.d.ts.map +0 -1
- package/dist/bin/tps.js +0 -414
- package/dist/bin/tps.js.map +0 -1
- package/dist/src/cli/hire.d.ts +0 -16
- package/dist/src/cli/hire.d.ts.map +0 -1
- package/dist/src/cli/hire.js +0 -176
- package/dist/src/cli/hire.js.map +0 -1
- package/dist/src/cli/office.d.ts +0 -7
- package/dist/src/cli/office.d.ts.map +0 -1
- package/dist/src/cli/office.js +0 -51
- package/dist/src/cli/office.js.map +0 -1
- package/dist/src/cli/review.d.ts +0 -9
- package/dist/src/cli/review.d.ts.map +0 -1
- package/dist/src/cli/review.js +0 -109
- package/dist/src/cli/review.js.map +0 -1
- package/dist/src/cli/roster.d.ts +0 -6
- package/dist/src/cli/roster.d.ts.map +0 -1
- package/dist/src/cli/roster.js +0 -60
- package/dist/src/cli/roster.js.map +0 -1
- package/dist/src/commands/backup.d.ts +0 -19
- package/dist/src/commands/backup.d.ts.map +0 -1
- package/dist/src/commands/backup.js +0 -595
- package/dist/src/commands/backup.js.map +0 -1
- package/dist/src/commands/bootstrap.d.ts +0 -7
- package/dist/src/commands/bootstrap.d.ts.map +0 -1
- package/dist/src/commands/bootstrap.js +0 -255
- package/dist/src/commands/bootstrap.js.map +0 -1
- package/dist/src/commands/branch.d.ts +0 -14
- package/dist/src/commands/branch.d.ts.map +0 -1
- package/dist/src/commands/branch.js +0 -395
- package/dist/src/commands/branch.js.map +0 -1
- package/dist/src/commands/context.d.ts +0 -9
- package/dist/src/commands/context.d.ts.map +0 -1
- package/dist/src/commands/context.js +0 -57
- package/dist/src/commands/context.js.map +0 -1
- package/dist/src/commands/git.d.ts +0 -8
- package/dist/src/commands/git.d.ts.map +0 -1
- package/dist/src/commands/git.js +0 -53
- package/dist/src/commands/git.js.map +0 -1
- package/dist/src/commands/identity.d.ts +0 -13
- package/dist/src/commands/identity.d.ts.map +0 -1
- package/dist/src/commands/identity.js +0 -231
- package/dist/src/commands/identity.js.map +0 -1
- package/dist/src/commands/mail.d.ts +0 -12
- package/dist/src/commands/mail.d.ts.map +0 -1
- package/dist/src/commands/mail.js +0 -251
- package/dist/src/commands/mail.js.map +0 -1
- package/dist/src/commands/office-manager.d.ts +0 -147
- package/dist/src/commands/office-manager.d.ts.map +0 -1
- package/dist/src/commands/office-manager.js +0 -171
- package/dist/src/commands/office-manager.js.map +0 -1
- package/dist/src/commands/office.d.ts +0 -12
- package/dist/src/commands/office.d.ts.map +0 -1
- package/dist/src/commands/office.js +0 -480
- package/dist/src/commands/office.js.map +0 -1
- package/dist/src/commands/roster.d.ts +0 -10
- package/dist/src/commands/roster.d.ts.map +0 -1
- package/dist/src/commands/roster.js +0 -143
- package/dist/src/commands/roster.js.map +0 -1
- package/dist/src/commands/secrets.d.ts +0 -9
- package/dist/src/commands/secrets.d.ts.map +0 -1
- package/dist/src/commands/secrets.js +0 -54
- package/dist/src/commands/secrets.js.map +0 -1
- package/dist/src/commands/status.d.ts +0 -33
- package/dist/src/commands/status.d.ts.map +0 -1
- package/dist/src/commands/status.js +0 -407
- package/dist/src/commands/status.js.map +0 -1
- package/dist/src/generators/brief.d.ts +0 -6
- package/dist/src/generators/brief.d.ts.map +0 -1
- package/dist/src/generators/brief.js +0 -33
- package/dist/src/generators/brief.js.map +0 -1
- package/dist/src/generators/claude-code.d.ts +0 -18
- package/dist/src/generators/claude-code.d.ts.map +0 -1
- package/dist/src/generators/claude-code.js +0 -85
- package/dist/src/generators/claude-code.js.map +0 -1
- package/dist/src/generators/codex.d.ts +0 -23
- package/dist/src/generators/codex.d.ts.map +0 -1
- package/dist/src/generators/codex.js +0 -83
- package/dist/src/generators/codex.js.map +0 -1
- package/dist/src/generators/ollama.d.ts +0 -18
- package/dist/src/generators/ollama.d.ts.map +0 -1
- package/dist/src/generators/ollama.js +0 -97
- package/dist/src/generators/ollama.js.map +0 -1
- package/dist/src/generators/openclaw.d.ts +0 -15
- package/dist/src/generators/openclaw.d.ts.map +0 -1
- package/dist/src/generators/openclaw.js +0 -107
- package/dist/src/generators/openclaw.js.map +0 -1
- package/dist/src/generators/registry.d.ts +0 -36
- package/dist/src/generators/registry.d.ts.map +0 -1
- package/dist/src/generators/registry.js +0 -99
- package/dist/src/generators/registry.js.map +0 -1
- package/dist/src/schema/manifest.d.ts +0 -287
- package/dist/src/schema/manifest.d.ts.map +0 -1
- package/dist/src/schema/manifest.js +0 -65
- package/dist/src/schema/manifest.js.map +0 -1
- package/dist/src/schema/report.d.ts +0 -166
- package/dist/src/schema/report.d.ts.map +0 -1
- package/dist/src/schema/report.js +0 -90
- package/dist/src/schema/report.js.map +0 -1
- package/dist/src/schema/sanitizer.d.ts +0 -30
- package/dist/src/schema/sanitizer.d.ts.map +0 -1
- package/dist/src/schema/sanitizer.js +0 -99
- package/dist/src/schema/sanitizer.js.map +0 -1
- package/dist/src/soundstage/mock-llm.d.ts +0 -3
- package/dist/src/soundstage/mock-llm.d.ts.map +0 -1
- package/dist/src/soundstage/mock-llm.js +0 -68
- package/dist/src/soundstage/mock-llm.js.map +0 -1
- package/dist/src/utils/agent-info.d.ts +0 -28
- package/dist/src/utils/agent-info.d.ts.map +0 -1
- package/dist/src/utils/agent-info.js +0 -102
- package/dist/src/utils/agent-info.js.map +0 -1
- package/dist/src/utils/archive.d.ts +0 -20
- package/dist/src/utils/archive.d.ts.map +0 -1
- package/dist/src/utils/archive.js +0 -108
- package/dist/src/utils/archive.js.map +0 -1
- package/dist/src/utils/config-inject.d.ts +0 -27
- package/dist/src/utils/config-inject.d.ts.map +0 -1
- package/dist/src/utils/config-inject.js +0 -83
- package/dist/src/utils/config-inject.js.map +0 -1
- package/dist/src/utils/config.d.ts +0 -30
- package/dist/src/utils/config.d.ts.map +0 -1
- package/dist/src/utils/config.js +0 -55
- package/dist/src/utils/config.js.map +0 -1
- package/dist/src/utils/connection-state.d.ts +0 -27
- package/dist/src/utils/connection-state.d.ts.map +0 -1
- package/dist/src/utils/connection-state.js +0 -81
- package/dist/src/utils/connection-state.js.map +0 -1
- package/dist/src/utils/context.d.ts +0 -14
- package/dist/src/utils/context.d.ts.map +0 -1
- package/dist/src/utils/context.js +0 -68
- package/dist/src/utils/context.js.map +0 -1
- package/dist/src/utils/github-webhook.d.ts +0 -3
- package/dist/src/utils/github-webhook.d.ts.map +0 -1
- package/dist/src/utils/github-webhook.js +0 -105
- package/dist/src/utils/github-webhook.js.map +0 -1
- package/dist/src/utils/identity.d.ts +0 -124
- package/dist/src/utils/identity.d.ts.map +0 -1
- package/dist/src/utils/identity.js +0 -434
- package/dist/src/utils/identity.js.map +0 -1
- package/dist/src/utils/internal-mail.d.ts +0 -18
- package/dist/src/utils/internal-mail.d.ts.map +0 -1
- package/dist/src/utils/internal-mail.js +0 -75
- package/dist/src/utils/internal-mail.js.map +0 -1
- package/dist/src/utils/loop-detector.d.ts +0 -27
- package/dist/src/utils/loop-detector.d.ts.map +0 -1
- package/dist/src/utils/loop-detector.js +0 -42
- package/dist/src/utils/loop-detector.js.map +0 -1
- package/dist/src/utils/mail-handler.d.ts +0 -19
- package/dist/src/utils/mail-handler.d.ts.map +0 -1
- package/dist/src/utils/mail-handler.js +0 -94
- package/dist/src/utils/mail-handler.js.map +0 -1
- package/dist/src/utils/mail.d.ts +0 -22
- package/dist/src/utils/mail.d.ts.map +0 -1
- package/dist/src/utils/mail.js +0 -111
- package/dist/src/utils/mail.js.map +0 -1
- package/dist/src/utils/manifest.d.ts +0 -36
- package/dist/src/utils/manifest.d.ts.map +0 -1
- package/dist/src/utils/manifest.js +0 -94
- package/dist/src/utils/manifest.js.map +0 -1
- package/dist/src/utils/noise-ik-transport.d.ts +0 -18
- package/dist/src/utils/noise-ik-transport.d.ts.map +0 -1
- package/dist/src/utils/noise-ik-transport.js +0 -357
- package/dist/src/utils/noise-ik-transport.js.map +0 -1
- package/dist/src/utils/nono.d.ts +0 -72
- package/dist/src/utils/nono.d.ts.map +0 -1
- package/dist/src/utils/nono.js +0 -166
- package/dist/src/utils/nono.js.map +0 -1
- package/dist/src/utils/outbox.d.ts +0 -10
- package/dist/src/utils/outbox.d.ts.map +0 -1
- package/dist/src/utils/outbox.js +0 -29
- package/dist/src/utils/outbox.js.map +0 -1
- package/dist/src/utils/output.d.ts +0 -17
- package/dist/src/utils/output.d.ts.map +0 -1
- package/dist/src/utils/output.js +0 -83
- package/dist/src/utils/output.js.map +0 -1
- package/dist/src/utils/plain-tcp-transport.d.ts +0 -10
- package/dist/src/utils/plain-tcp-transport.d.ts.map +0 -1
- package/dist/src/utils/plain-tcp-transport.js +0 -209
- package/dist/src/utils/plain-tcp-transport.js.map +0 -1
- package/dist/src/utils/provision.d.ts +0 -2
- package/dist/src/utils/provision.d.ts.map +0 -1
- package/dist/src/utils/provision.js +0 -193
- package/dist/src/utils/provision.js.map +0 -1
- package/dist/src/utils/relay.d.ts +0 -30
- package/dist/src/utils/relay.d.ts.map +0 -1
- package/dist/src/utils/relay.js +0 -539
- package/dist/src/utils/relay.js.map +0 -1
- package/dist/src/utils/sandbox.d.ts +0 -37
- package/dist/src/utils/sandbox.d.ts.map +0 -1
- package/dist/src/utils/sandbox.js +0 -126
- package/dist/src/utils/sandbox.js.map +0 -1
- package/dist/src/utils/transport.d.ts +0 -62
- package/dist/src/utils/transport.d.ts.map +0 -1
- package/dist/src/utils/transport.js +0 -75
- package/dist/src/utils/transport.js.map +0 -1
- package/dist/src/utils/vault.d.ts +0 -21
- package/dist/src/utils/vault.d.ts.map +0 -1
- package/dist/src/utils/vault.js +0 -67
- package/dist/src/utils/vault.js.map +0 -1
- package/dist/src/utils/wall.d.ts +0 -5
- package/dist/src/utils/wall.d.ts.map +0 -1
- package/dist/src/utils/wall.js +0 -51
- package/dist/src/utils/wall.js.map +0 -1
- package/dist/src/utils/wire-delivery.d.ts +0 -10
- package/dist/src/utils/wire-delivery.d.ts.map +0 -1
- package/dist/src/utils/wire-delivery.js +0 -57
- package/dist/src/utils/wire-delivery.js.map +0 -1
- package/dist/src/utils/wire-frame.d.ts +0 -10
- package/dist/src/utils/wire-frame.d.ts.map +0 -1
- package/dist/src/utils/wire-frame.js +0 -66
- package/dist/src/utils/wire-frame.js.map +0 -1
- package/dist/src/utils/wire-mail.d.ts +0 -54
- package/dist/src/utils/wire-mail.d.ts.map +0 -1
- package/dist/src/utils/wire-mail.js +0 -24
- package/dist/src/utils/wire-mail.js.map +0 -1
- package/dist/src/utils/workspace.d.ts +0 -14
- package/dist/src/utils/workspace.d.ts.map +0 -1
- package/dist/src/utils/workspace.js +0 -53
- package/dist/src/utils/workspace.js.map +0 -1
- package/dist/src/utils/ws-noise-transport.d.ts +0 -18
- package/dist/src/utils/ws-noise-transport.d.ts.map +0 -1
- package/dist/src/utils/ws-noise-transport.js +0 -356
- package/dist/src/utils/ws-noise-transport.js.map +0 -1
package/dist/bin/tps.js
DELETED
|
@@ -1,414 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import meow from "meow";
|
|
3
|
-
const cli = meow(`
|
|
4
|
-
Usage
|
|
5
|
-
$ tps <command> [options]
|
|
6
|
-
|
|
7
|
-
Commands
|
|
8
|
-
hire <report> Onboard a new agent from a .tps report or persona
|
|
9
|
-
roster <action> Agent directory (list/show/find)
|
|
10
|
-
review <name> Performance review for a specific agent
|
|
11
|
-
office <action> Branch office sandbox lifecycle (start/stop/list/status/kill)
|
|
12
|
-
bootstrap <agent-id> Bring a hired agent to operational state
|
|
13
|
-
backup <agent-id> [--schedule daily|off] [--keep n] [--sanitize] Backup agent workspace
|
|
14
|
-
restore <agent-id> <archive> [--clone] [--overwrite] [--from <archive>] Restore agent workspace from a backup
|
|
15
|
-
status [agent-id] [--auto-prune] [--prune] [--json] [--cost] [--shared]
|
|
16
|
-
heartbeat <agent-id> [--nonono] Send a heartbeat/ping for an agent
|
|
17
|
-
context <action> Workstream context memory (read/update/list)
|
|
18
|
-
mail <action> Mailroom operations (send/check/list/search)
|
|
19
|
-
identity <action> Key management (init/show/register/list/revoke/verify)
|
|
20
|
-
secrets <action> Secret management (set/list/remove)
|
|
21
|
-
git <action> Git utilities (worktree)
|
|
22
|
-
branch <action> Branch office node (init/start/stop/status/log)
|
|
23
|
-
|
|
24
|
-
Options
|
|
25
|
-
--help Show this help text
|
|
26
|
-
--version Show version number
|
|
27
|
-
--config <path> Path to openclaw.json (default: auto-discover)
|
|
28
|
-
|
|
29
|
-
Examples
|
|
30
|
-
$ tps hire developer --name Fred
|
|
31
|
-
$ tps hire ./reports/strategy-lead.tps --dry-run
|
|
32
|
-
$ tps hire developer --name Scout --runtime claude-code
|
|
33
|
-
$ tps hire ops --name Monitor --runtime ollama --base-model llama3.1:8b
|
|
34
|
-
$ tps hire developer --name Coder --runtime codex
|
|
35
|
-
$ tps roster list
|
|
36
|
-
$ tps roster show flint --json
|
|
37
|
-
$ tps roster find --channel discord
|
|
38
|
-
$ tps roster list --config ~/custom/openclaw.json
|
|
39
|
-
$ tps mail send kern "hi"
|
|
40
|
-
$ tps mail check kern
|
|
41
|
-
$ tps mail log --limit 10
|
|
42
|
-
$ tps mail log flint --since 2026-02-20
|
|
43
|
-
$ tps office start branch-a
|
|
44
|
-
$ tps office status branch-a
|
|
45
|
-
$ tps bootstrap flint
|
|
46
|
-
$ tps backup flint --schedule daily
|
|
47
|
-
$ tps restore flint ~/.tps/backups/flint/old.tps-backup.tar.gz
|
|
48
|
-
$ tps status
|
|
49
|
-
$ tps status flint --cost
|
|
50
|
-
$ tps heartbeat flint
|
|
51
|
-
$ tps review flint
|
|
52
|
-
|
|
53
|
-
Built-in personas: developer, designer, support, ea, ops, strategy, security
|
|
54
|
-
|
|
55
|
-
If you could just go ahead and use the correct command, that'd be great.
|
|
56
|
-
`, {
|
|
57
|
-
importMeta: import.meta,
|
|
58
|
-
flags: {
|
|
59
|
-
reason: { type: "string" },
|
|
60
|
-
expiresIn: { type: "string" },
|
|
61
|
-
trust: { type: "string" },
|
|
62
|
-
pubkey: { type: "string" },
|
|
63
|
-
encPubkey: { type: "string" },
|
|
64
|
-
name: { type: "string" },
|
|
65
|
-
workspace: { type: "string" },
|
|
66
|
-
dryRun: { type: "boolean", default: false },
|
|
67
|
-
json: { type: "boolean", default: false },
|
|
68
|
-
config: { type: "string" },
|
|
69
|
-
deep: { type: "boolean", default: false },
|
|
70
|
-
summary: { type: "string" },
|
|
71
|
-
channel: { type: "string" },
|
|
72
|
-
branch: { type: "boolean", default: false },
|
|
73
|
-
manifest: { type: "string" },
|
|
74
|
-
soundstage: { type: "boolean", default: false },
|
|
75
|
-
nonono: { type: "boolean", default: false },
|
|
76
|
-
inject: { type: "boolean", default: true },
|
|
77
|
-
runtime: { type: "string", default: "openclaw" },
|
|
78
|
-
baseModel: { type: "string" },
|
|
79
|
-
since: { type: "string" },
|
|
80
|
-
limit: { type: "number" },
|
|
81
|
-
from: { type: "string" },
|
|
82
|
-
clone: { type: "boolean", default: false },
|
|
83
|
-
overwrite: { type: "boolean", default: false },
|
|
84
|
-
schedule: { type: "string" },
|
|
85
|
-
keep: { type: "number" },
|
|
86
|
-
sanitize: { type: "boolean", default: true },
|
|
87
|
-
listen: { type: "number" },
|
|
88
|
-
host: { type: "string" },
|
|
89
|
-
force: { type: "boolean", default: false },
|
|
90
|
-
follow: { type: "boolean", default: false },
|
|
91
|
-
lines: { type: "number" },
|
|
92
|
-
transport: { type: "string" },
|
|
93
|
-
autoPrune: { type: "boolean", default: false },
|
|
94
|
-
prune: { type: "boolean", default: false },
|
|
95
|
-
staleMinutes: { type: "number" },
|
|
96
|
-
offlineHours: { type: "number" },
|
|
97
|
-
shared: { type: "boolean", default: false },
|
|
98
|
-
cost: { type: "boolean", default: false },
|
|
99
|
-
statusOverride: { type: "string" },
|
|
100
|
-
},
|
|
101
|
-
});
|
|
102
|
-
const [command, ...rest] = cli.input;
|
|
103
|
-
// nono availability check (skip for --no-nono or office/mail relay commands)
|
|
104
|
-
async function checkNono() {
|
|
105
|
-
if (cli.flags.nonono)
|
|
106
|
-
return;
|
|
107
|
-
if (command === "office" && rest[0] === "relay")
|
|
108
|
-
return; // relay runs in background
|
|
109
|
-
const { findNono } = await import("../src/utils/nono.js");
|
|
110
|
-
if (!findNono()) {
|
|
111
|
-
console.warn("⚠️ nono not found. Host agents will run without process isolation.\n" +
|
|
112
|
-
" Install nono for syscall filtering + filesystem boundaries.\n" +
|
|
113
|
-
" Use --nonono to run anyway (not recommended).\n");
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
async function main() {
|
|
117
|
-
await checkNono();
|
|
118
|
-
switch (command) {
|
|
119
|
-
case "hire": {
|
|
120
|
-
const reportPath = rest[0];
|
|
121
|
-
if (!reportPath) {
|
|
122
|
-
console.error("I'm gonna need you to specify a TPS report file or persona.\n\n tps hire <report.tps | persona> [--name Name]\n\nBuilt-in personas: developer, designer, support, ea, ops, strategy");
|
|
123
|
-
process.exit(1);
|
|
124
|
-
}
|
|
125
|
-
const { runHire } = await import("../src/cli/hire.js");
|
|
126
|
-
runHire({
|
|
127
|
-
reportPath,
|
|
128
|
-
name: cli.flags.name,
|
|
129
|
-
workspace: cli.flags.workspace,
|
|
130
|
-
dryRun: cli.flags.dryRun,
|
|
131
|
-
jsonOutput: cli.flags.json,
|
|
132
|
-
configPath: cli.flags.config,
|
|
133
|
-
branch: cli.flags.branch,
|
|
134
|
-
inject: cli.flags.inject,
|
|
135
|
-
runtime: cli.flags.runtime,
|
|
136
|
-
baseModel: cli.flags.baseModel,
|
|
137
|
-
});
|
|
138
|
-
break;
|
|
139
|
-
}
|
|
140
|
-
case "roster": {
|
|
141
|
-
// Backward-compatible path (keeps nono re-exec behavior used by existing tests):
|
|
142
|
-
// `tps roster` with no subcommand routes to the legacy CLI implementation.
|
|
143
|
-
if (!rest[0]) {
|
|
144
|
-
const { runRoster } = await import("../src/cli/roster.js");
|
|
145
|
-
runRoster({ configPath: cli.flags.config });
|
|
146
|
-
break;
|
|
147
|
-
}
|
|
148
|
-
const action = rest[0];
|
|
149
|
-
if (!["list", "show", "find"].includes(action)) {
|
|
150
|
-
console.error("Usage:\n tps roster\n tps roster list\n tps roster show <agent> [--json]\n tps roster find --channel <channel> [--json]");
|
|
151
|
-
process.exit(1);
|
|
152
|
-
}
|
|
153
|
-
const { runRoster } = await import("../src/commands/roster.js");
|
|
154
|
-
runRoster({
|
|
155
|
-
action,
|
|
156
|
-
agent: rest[1],
|
|
157
|
-
channel: cli.flags.channel || undefined,
|
|
158
|
-
json: cli.flags.json,
|
|
159
|
-
configPath: cli.flags.config,
|
|
160
|
-
});
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
163
|
-
case "review": {
|
|
164
|
-
const agentName = rest[0];
|
|
165
|
-
if (!agentName) {
|
|
166
|
-
console.error("Review who? I'm gonna need a name.\n\n tps review <agent-name>");
|
|
167
|
-
process.exit(1);
|
|
168
|
-
}
|
|
169
|
-
const { runReview } = await import("../src/cli/review.js");
|
|
170
|
-
runReview({ agentName, configPath: cli.flags.config, deep: cli.flags.deep });
|
|
171
|
-
break;
|
|
172
|
-
}
|
|
173
|
-
case "bootstrap": {
|
|
174
|
-
const agentId = rest[0];
|
|
175
|
-
if (!agentId) {
|
|
176
|
-
console.error("Usage: tps bootstrap <agent-id>");
|
|
177
|
-
process.exit(1);
|
|
178
|
-
}
|
|
179
|
-
const { runBootstrap } = await import("../src/commands/bootstrap.js");
|
|
180
|
-
await runBootstrap({
|
|
181
|
-
agentId,
|
|
182
|
-
configPath: cli.flags.config,
|
|
183
|
-
channel: cli.flags.channel,
|
|
184
|
-
});
|
|
185
|
-
break;
|
|
186
|
-
}
|
|
187
|
-
case "office": {
|
|
188
|
-
const action = rest[0];
|
|
189
|
-
const validActions = ["start", "stop", "list", "status", "relay", "exec", "join", "revoke", "sync", "connect", "kill", "setup"];
|
|
190
|
-
// Backward compatibility: `tps office <agent>` maps to `start <agent>`.
|
|
191
|
-
const isLegacy = action && !validActions.includes(action);
|
|
192
|
-
if ((!action && !isLegacy) || (!isLegacy && !validActions.includes(action))) {
|
|
193
|
-
console.error("Usage:\n tps office start <agent>\n tps office stop <agent>\n tps office list\n tps office status [agent]\n tps office exec <agent> -- <command...>\n tps office join <name> <join-token>\n tps office revoke <name>\n tps office sync <name>\n tps office connect <name>\n tps office setup <agent> [--dry-run]\n tps office kill");
|
|
194
|
-
process.exit(1);
|
|
195
|
-
}
|
|
196
|
-
const { runOffice } = await import("../src/commands/office.js");
|
|
197
|
-
if (isLegacy) {
|
|
198
|
-
await runOffice({ action: "start", agent: rest[0] });
|
|
199
|
-
}
|
|
200
|
-
else if (action === "exec") {
|
|
201
|
-
// Everything after "--" is the command
|
|
202
|
-
const dashIdx = process.argv.indexOf("--");
|
|
203
|
-
const execCmd = dashIdx >= 0 ? process.argv.slice(dashIdx + 1) : rest.slice(2);
|
|
204
|
-
await runOffice({ action: "exec", agent: rest[1], command: execCmd });
|
|
205
|
-
}
|
|
206
|
-
else if (action === "join") {
|
|
207
|
-
const joinToken = rest[2];
|
|
208
|
-
if (!rest[1] || !joinToken) {
|
|
209
|
-
console.error("Usage: tps office join <name> <join-token-url>");
|
|
210
|
-
process.exit(1);
|
|
211
|
-
}
|
|
212
|
-
await runOffice({ action: "join", agent: rest[1], joinToken });
|
|
213
|
-
}
|
|
214
|
-
else if (action === "revoke") {
|
|
215
|
-
if (!rest[1]) {
|
|
216
|
-
console.error("Usage: tps office revoke <name>");
|
|
217
|
-
process.exit(1);
|
|
218
|
-
}
|
|
219
|
-
await runOffice({ action: "revoke", agent: rest[1] });
|
|
220
|
-
}
|
|
221
|
-
else if (action === "setup") {
|
|
222
|
-
const dryRun = process.argv.includes("--dry-run") || process.argv.includes("--dry");
|
|
223
|
-
await runOffice({ action: "setup", agent: rest[1], dryRun });
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
const soundstageIdx = process.argv.indexOf("--soundstage");
|
|
227
|
-
const isSoundstage = soundstageIdx >= 0 || cli.flags.soundstage;
|
|
228
|
-
if (soundstageIdx >= 0)
|
|
229
|
-
process.argv.splice(soundstageIdx, 1);
|
|
230
|
-
await runOffice({ action: action, agent: rest[1], manifest: cli.flags.manifest, soundstage: isSoundstage });
|
|
231
|
-
}
|
|
232
|
-
break;
|
|
233
|
-
}
|
|
234
|
-
case "context": {
|
|
235
|
-
const action = rest[0];
|
|
236
|
-
const workstream = rest[1];
|
|
237
|
-
if (!action || !["read", "update", "list"].includes(action)) {
|
|
238
|
-
console.error("Usage:\n tps context read <workstream>\n tps context update <workstream> --summary \"...\"\n tps context list");
|
|
239
|
-
process.exit(1);
|
|
240
|
-
}
|
|
241
|
-
const { runContext } = await import("../src/commands/context.js");
|
|
242
|
-
runContext({
|
|
243
|
-
action,
|
|
244
|
-
workstream,
|
|
245
|
-
summary: cli.flags.summary,
|
|
246
|
-
json: cli.flags.json,
|
|
247
|
-
});
|
|
248
|
-
break;
|
|
249
|
-
}
|
|
250
|
-
case "mail": {
|
|
251
|
-
const action = rest[0];
|
|
252
|
-
if (cli.flags.help || !action || !["send", "check", "list", "log", "read", "watch", "search"].includes(action)) {
|
|
253
|
-
console.log("Usage:\n tps mail send <agent> <message> Send mail to a local or remote agent\n tps mail check [agent] Read new messages (marks as read)\n tps mail watch [agent] Watch inbox for new messages\n tps mail list [agent] List all messages (read + unread)\n tps mail read <agent> <id> Show a specific message by ID (prefix ok)\n tps mail search <query> Search mail history using full-text search\n tps mail log [agent] Show audit log [--since YYYY-MM-DD] [--limit N]");
|
|
254
|
-
process.exit(cli.flags.help ? 0 : 1);
|
|
255
|
-
}
|
|
256
|
-
const { runMail } = await import("../src/commands/mail.js");
|
|
257
|
-
await runMail({
|
|
258
|
-
action,
|
|
259
|
-
agent: rest[1],
|
|
260
|
-
message: action === "send" ? rest.slice(2).join(" ") : undefined,
|
|
261
|
-
messageId: action === "read" ? rest[2] : undefined,
|
|
262
|
-
json: cli.flags.json,
|
|
263
|
-
since: cli.flags.since,
|
|
264
|
-
limit: cli.flags.limit ? Number(cli.flags.limit) : undefined,
|
|
265
|
-
});
|
|
266
|
-
break;
|
|
267
|
-
}
|
|
268
|
-
case "identity": {
|
|
269
|
-
const action = rest[0];
|
|
270
|
-
if (!action || !["init", "show", "register", "list", "revoke", "verify"].includes(action)) {
|
|
271
|
-
console.error("Usage:\n tps identity init [--expires-in 90d]\n tps identity show\n tps identity register <branch> [--expires-in 90d] [--trust standard]\n tps identity list\n tps identity revoke <branch> --reason \"...\"\n tps identity verify <branch>");
|
|
272
|
-
process.exit(1);
|
|
273
|
-
}
|
|
274
|
-
const { runIdentity } = await import("../src/commands/identity.js");
|
|
275
|
-
await runIdentity({
|
|
276
|
-
action,
|
|
277
|
-
branch: rest[1],
|
|
278
|
-
reason: cli.flags.reason,
|
|
279
|
-
json: cli.flags.json,
|
|
280
|
-
expiresIn: cli.flags.expiresIn,
|
|
281
|
-
trust: cli.flags.trust,
|
|
282
|
-
pubkey: cli.flags.pubkey,
|
|
283
|
-
encPubkey: cli.flags.encPubkey,
|
|
284
|
-
});
|
|
285
|
-
break;
|
|
286
|
-
}
|
|
287
|
-
case "secrets": {
|
|
288
|
-
const action = rest[0];
|
|
289
|
-
if (!action || !["set", "list", "remove"].includes(action)) {
|
|
290
|
-
console.error("Usage:\n tps secrets set <KEY>=<VALUE>\n tps secrets list\n tps secrets remove <KEY>");
|
|
291
|
-
process.exit(1);
|
|
292
|
-
}
|
|
293
|
-
const { runSecrets } = await import("../src/commands/secrets.js");
|
|
294
|
-
let key;
|
|
295
|
-
let value;
|
|
296
|
-
if (action === "set") {
|
|
297
|
-
const parts = rest[1]?.split("=");
|
|
298
|
-
key = parts?.[0];
|
|
299
|
-
value = parts?.slice(1).join("=");
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
key = rest[1];
|
|
303
|
-
}
|
|
304
|
-
await runSecrets({ action, key, value, json: cli.flags.json });
|
|
305
|
-
break;
|
|
306
|
-
}
|
|
307
|
-
case "backup": {
|
|
308
|
-
const agentId = rest[0];
|
|
309
|
-
if (!agentId) {
|
|
310
|
-
console.error("Usage: tps backup <agent-id> [--schedule daily|off] [--keep n]");
|
|
311
|
-
process.exit(1);
|
|
312
|
-
}
|
|
313
|
-
const { runBackup } = await import("../src/commands/backup.js");
|
|
314
|
-
await runBackup({
|
|
315
|
-
agentId,
|
|
316
|
-
keep: typeof cli.flags.keep === "number" ? Number(cli.flags.keep) : undefined,
|
|
317
|
-
schedule: cli.flags.schedule,
|
|
318
|
-
sanitize: cli.flags.sanitize,
|
|
319
|
-
configPath: cli.flags.config,
|
|
320
|
-
});
|
|
321
|
-
break;
|
|
322
|
-
}
|
|
323
|
-
case "restore": {
|
|
324
|
-
const agentId = rest[0];
|
|
325
|
-
const archivePath = cli.flags.from || rest[1];
|
|
326
|
-
if (!agentId || !archivePath) {
|
|
327
|
-
console.error("Usage: tps restore <agent-id> <archive> [--from <archive>] [--clone] [--overwrite] [--force]");
|
|
328
|
-
process.exit(1);
|
|
329
|
-
}
|
|
330
|
-
const { runRestore } = await import("../src/commands/backup.js");
|
|
331
|
-
await runRestore({
|
|
332
|
-
agentId,
|
|
333
|
-
archivePath,
|
|
334
|
-
force: !!cli.flags.force,
|
|
335
|
-
overwrite: !!cli.flags.overwrite,
|
|
336
|
-
clone: !!cli.flags.clone,
|
|
337
|
-
configPath: cli.flags.config,
|
|
338
|
-
});
|
|
339
|
-
break;
|
|
340
|
-
}
|
|
341
|
-
case "heartbeat": {
|
|
342
|
-
const agentId = rest[0];
|
|
343
|
-
if (!agentId) {
|
|
344
|
-
console.error("Usage: tps heartbeat <agent-id>");
|
|
345
|
-
process.exit(1);
|
|
346
|
-
}
|
|
347
|
-
const { runHeartbeat } = await import("../src/commands/status.js");
|
|
348
|
-
await runHeartbeat({
|
|
349
|
-
agentId,
|
|
350
|
-
status: cli.flags.statusOverride || undefined,
|
|
351
|
-
nonono: !!cli.flags.nonono,
|
|
352
|
-
profile: "tps-status",
|
|
353
|
-
});
|
|
354
|
-
break;
|
|
355
|
-
}
|
|
356
|
-
case "status": {
|
|
357
|
-
const agentId = rest[0];
|
|
358
|
-
const { runStatus } = await import("../src/commands/status.js");
|
|
359
|
-
await runStatus({
|
|
360
|
-
agentId,
|
|
361
|
-
autoPrune: !!cli.flags.autoPrune,
|
|
362
|
-
prune: !!cli.flags.prune,
|
|
363
|
-
json: !!cli.flags.json,
|
|
364
|
-
staleMinutes: cli.flags.staleMinutes ? Number(cli.flags.staleMinutes) : undefined,
|
|
365
|
-
offlineHours: cli.flags.offlineHours ? Number(cli.flags.offlineHours) : undefined,
|
|
366
|
-
cost: !!cli.flags.cost,
|
|
367
|
-
shared: !!cli.flags.shared,
|
|
368
|
-
});
|
|
369
|
-
break;
|
|
370
|
-
}
|
|
371
|
-
case "branch": {
|
|
372
|
-
const action = rest[0];
|
|
373
|
-
const valid = ["init", "start", "stop", "status", "log"];
|
|
374
|
-
if (!action || !valid.includes(action)) {
|
|
375
|
-
console.error("Usage:\n tps branch init [--listen <port>] [--host <hostname>] [--transport ws|tcp]\n tps branch start\n tps branch stop\n tps branch status\n tps branch log [--lines N] [--follow]");
|
|
376
|
-
process.exit(1);
|
|
377
|
-
}
|
|
378
|
-
const { runBranch } = await import("../src/commands/branch.js");
|
|
379
|
-
await runBranch({
|
|
380
|
-
action,
|
|
381
|
-
port: typeof cli.flags.listen === "number" ? Number(cli.flags.listen) : undefined,
|
|
382
|
-
host: cli.flags.host,
|
|
383
|
-
transport: cli.flags.transport === "tcp" ? "tcp" : cli.flags.transport === "ws" ? "ws" : undefined,
|
|
384
|
-
force: cli.flags.force,
|
|
385
|
-
lines: typeof cli.flags.lines === "number" ? Number(cli.flags.lines) : undefined,
|
|
386
|
-
follow: !!cli.flags.follow,
|
|
387
|
-
});
|
|
388
|
-
break;
|
|
389
|
-
}
|
|
390
|
-
case "git": {
|
|
391
|
-
const action = rest[0];
|
|
392
|
-
if (action === "worktree") {
|
|
393
|
-
const agent = rest[1];
|
|
394
|
-
const repoPath = rest[2];
|
|
395
|
-
const branchName = rest[3];
|
|
396
|
-
if (!agent || !repoPath) {
|
|
397
|
-
console.error("Usage: tps git worktree <agent> <repo-path> [branch-name]");
|
|
398
|
-
process.exit(1);
|
|
399
|
-
}
|
|
400
|
-
const { runGit } = await import("../src/commands/git.js");
|
|
401
|
-
await runGit({ action, agent, repoPath, branchName });
|
|
402
|
-
}
|
|
403
|
-
else {
|
|
404
|
-
console.error("Unknown git action. Supported: worktree");
|
|
405
|
-
process.exit(1);
|
|
406
|
-
}
|
|
407
|
-
break;
|
|
408
|
-
}
|
|
409
|
-
default:
|
|
410
|
-
cli.showHelp();
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
main();
|
|
414
|
-
//# sourceMappingURL=tps.js.map
|
package/dist/bin/tps.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tps.js","sourceRoot":"","sources":["../../bin/tps.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/hire.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { type Runtime } from "../generators/registry.js";
|
|
2
|
-
interface HireProps {
|
|
3
|
-
reportPath: string;
|
|
4
|
-
name?: string;
|
|
5
|
-
workspace?: string;
|
|
6
|
-
dryRun: boolean;
|
|
7
|
-
jsonOutput: boolean;
|
|
8
|
-
configPath?: string;
|
|
9
|
-
branch?: boolean;
|
|
10
|
-
inject?: boolean;
|
|
11
|
-
runtime?: Runtime;
|
|
12
|
-
baseModel?: string;
|
|
13
|
-
}
|
|
14
|
-
export declare function runHire(args: HireProps): void;
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=hire.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hire.d.ts","sourceRoot":"","sources":["../../../src/cli/hire.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,OAAO,EAAkB,MAAM,2BAA2B,CAAC;AAOvF,UAAU,SAAS;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkMD,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,QAgEtC"}
|
package/dist/src/cli/hire.js
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect } from "react";
|
|
3
|
-
import { render, Text, Box } from "ink";
|
|
4
|
-
import { spawnSync } from "node:child_process";
|
|
5
|
-
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
6
|
-
import { join, resolve } from "node:path";
|
|
7
|
-
import { homedir } from "node:os";
|
|
8
|
-
import { parseTPSReport } from "../schema/report.js";
|
|
9
|
-
import { getGenerator } from "../generators/registry.js";
|
|
10
|
-
import { randomQuip, resolveReportPath } from "../utils/output.js";
|
|
11
|
-
import { findNono, isNonoStrict, buildNonoArgs } from "../utils/nono.js";
|
|
12
|
-
import { injectAgent } from "../utils/config-inject.js";
|
|
13
|
-
import { findOpenClawConfig } from "../utils/config.js";
|
|
14
|
-
import { sendMessage } from "../utils/mail.js";
|
|
15
|
-
function HireCommand({ reportPath, name, workspace, dryRun, jsonOutput, branch, inject, runtime = "openclaw", baseModel }) {
|
|
16
|
-
const [steps, setSteps] = useState([]);
|
|
17
|
-
const [error, setError] = useState(null);
|
|
18
|
-
const [config, setConfig] = useState(null);
|
|
19
|
-
const [done, setDone] = useState(false);
|
|
20
|
-
const [report, setReport] = useState(null);
|
|
21
|
-
const [injected, setInjected] = useState(false);
|
|
22
|
-
const [onboarded, setOnboarded] = useState(false);
|
|
23
|
-
const [backupPath, setBackupPath] = useState(null);
|
|
24
|
-
const isOpenClaw = runtime === "openclaw";
|
|
25
|
-
const shouldInject = inject !== false && !dryRun && !branch && isOpenClaw;
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
try {
|
|
28
|
-
const resolvedPath = resolveReportPath(reportPath);
|
|
29
|
-
const generator = getGenerator(runtime);
|
|
30
|
-
const allSteps = [
|
|
31
|
-
{ label: "Parsing TPS report", done: false },
|
|
32
|
-
{ label: "Validating schema", done: false },
|
|
33
|
-
{ label: `Generating ${runtime} workspace`, done: false },
|
|
34
|
-
{ label: dryRun ? "Dry run — skipping write" : "Writing workspace", done: false },
|
|
35
|
-
];
|
|
36
|
-
if (shouldInject) {
|
|
37
|
-
allSteps.push({ label: "Injecting into openclaw.json", done: false });
|
|
38
|
-
allSteps.push({ label: "Sending onboarding mail", done: false });
|
|
39
|
-
}
|
|
40
|
-
setSteps([...allSteps]);
|
|
41
|
-
const parsed = parseTPSReport(resolvedPath);
|
|
42
|
-
allSteps[0].done = true;
|
|
43
|
-
setSteps([...allSteps]);
|
|
44
|
-
setReport(parsed);
|
|
45
|
-
allSteps[1].done = true;
|
|
46
|
-
setSteps([...allSteps]);
|
|
47
|
-
// Generate via registry
|
|
48
|
-
const result = generator.generate(parsed, { name, workspace, branch, baseModel });
|
|
49
|
-
allSteps[2].done = true;
|
|
50
|
-
setSteps([...allSteps]);
|
|
51
|
-
// Write
|
|
52
|
-
if (!dryRun) {
|
|
53
|
-
generator.write(result);
|
|
54
|
-
// Branch office config (OpenClaw-specific post-write)
|
|
55
|
-
if (branch && result.openclawConfig) {
|
|
56
|
-
const branchRoot = join(process.env.HOME || homedir(), ".tps", "branch-office", result.agentId);
|
|
57
|
-
const dotOpenClaw = join(branchRoot, ".openclaw");
|
|
58
|
-
mkdirSync(dotOpenClaw, { recursive: true });
|
|
59
|
-
const sandboxConfig = { agents: { list: [result.openclawConfig] } };
|
|
60
|
-
writeFileSync(join(dotOpenClaw, "openclaw.json"), JSON.stringify(sandboxConfig, null, 2), "utf-8");
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
allSteps[3].done = true;
|
|
64
|
-
setSteps([...allSteps]);
|
|
65
|
-
// Config injection + onboarding (OpenClaw only)
|
|
66
|
-
if (shouldInject) {
|
|
67
|
-
const configPath = findOpenClawConfig();
|
|
68
|
-
if (!configPath)
|
|
69
|
-
throw new Error("Cannot inject — no openclaw.json found");
|
|
70
|
-
const injectResult = injectAgent(configPath, result.openclawConfig);
|
|
71
|
-
if (!injectResult.success)
|
|
72
|
-
throw new Error(`Config injection failed: ${injectResult.error}`);
|
|
73
|
-
setInjected(true);
|
|
74
|
-
setBackupPath(injectResult.backupPath);
|
|
75
|
-
allSteps[4].done = true;
|
|
76
|
-
setSteps([...allSteps]);
|
|
77
|
-
// Onboarding mail
|
|
78
|
-
try {
|
|
79
|
-
sendMessage(result.agentId, [
|
|
80
|
-
`Subject: Welcome to the team, ${result.agentName}!`,
|
|
81
|
-
"",
|
|
82
|
-
`You've been hired as a ${parsed.name}. Your workspace is set up at ${result.workspacePath}.`,
|
|
83
|
-
"",
|
|
84
|
-
"Your first steps:",
|
|
85
|
-
"1. Read your SOUL.md — it defines who you are",
|
|
86
|
-
"2. Read your AGENTS.md — it defines how you work",
|
|
87
|
-
`3. Check your mail regularly with: tps mail check ${result.agentId}`,
|
|
88
|
-
`4. Reply to confirm you're online: tps mail send tps-onboard "ready"`,
|
|
89
|
-
"",
|
|
90
|
-
"Welcome aboard.",
|
|
91
|
-
"— TPS",
|
|
92
|
-
].join("\n"), "tps-onboard");
|
|
93
|
-
setOnboarded(true);
|
|
94
|
-
}
|
|
95
|
-
catch { /* best-effort */ }
|
|
96
|
-
allSteps[5].done = true;
|
|
97
|
-
setSteps([...allSteps]);
|
|
98
|
-
}
|
|
99
|
-
setConfig(isOpenClaw
|
|
100
|
-
? result.openclawConfig || {}
|
|
101
|
-
: { runtime, agentId: result.agentId, agentName: result.agentName, workspacePath: result.workspacePath, files: Object.keys(result.files), ...(result.modelTag ? { modelTag: result.modelTag } : {}), nextSteps: result.nextSteps });
|
|
102
|
-
setDone(true);
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
setError(e.message);
|
|
106
|
-
}
|
|
107
|
-
}, []);
|
|
108
|
-
if (error) {
|
|
109
|
-
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Text, { color: "red", children: ["\u274C ", error] }), _jsxs(Text, { dimColor: true, children: ["\n", randomQuip("error")] })] }));
|
|
110
|
-
}
|
|
111
|
-
if (jsonOutput && done && config) {
|
|
112
|
-
return _jsx(Text, { children: JSON.stringify(config, null, 2) });
|
|
113
|
-
}
|
|
114
|
-
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Text, { bold: true, children: "\uD83C\uDFE2 Onboarding new agent..." }), _jsx(Text, { children: " " }), report && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { children: ["Name: ", _jsx(Text, { bold: true, children: name || report.identity.default_name })] }), _jsxs(Text, { children: ["Role: ", _jsx(Text, { bold: true, children: report.name })] }), report.flair.length > 0 && (_jsxs(Text, { children: ["Flair: ", _jsxs(Text, { color: "yellow", children: [report.flair.length, " pieces"] }), " (", report.flair.join(", "), ")"] }))] })), steps.map((step, i) => (_jsxs(Text, { children: [step.done ? _jsx(Text, { color: "green", children: "\u2705" }) : _jsx(Text, { color: "gray", children: "\u23F3" }), " ", step.label] }, i))), done && config && !injected && isOpenClaw && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, children: "\uD83D\uDCCB Add this to your openclaw.json agents.list array:" }), _jsx(Text, { children: " " }), _jsx(Text, { children: JSON.stringify(config, null, 2) }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, italic: true, children: randomQuip("success") })] })), done && config && injected && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "green", bold: true, children: "\u2705 Agent config injected into openclaw.json" }), backupPath && _jsxs(Text, { dimColor: true, children: [" Backup: ", backupPath] }), onboarded && _jsx(Text, { color: "green", children: "\u2705 Onboarding mail sent" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Next: restart OpenClaw gateway to activate the agent." }), _jsx(Text, { dimColor: true, children: " openclaw gateway restart" }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, italic: true, children: randomQuip("success") })] })), done && config && !isOpenClaw && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: "green", bold: true, children: ["\u2705 ", runtime, " workspace ready"] }), _jsxs(Text, { dimColor: true, children: [" Path: ", config.workspacePath] }), _jsxs(Text, { dimColor: true, children: [" Files: ", (config.files || []).join(", ")] }), (config.nextSteps || []).length > 0 && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Next:" }), config.nextSteps.map((step, i) => (_jsxs(Text, { dimColor: true, children: [" ", step] }, i)))] })), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, italic: true, children: randomQuip("success") })] }))] }));
|
|
115
|
-
}
|
|
116
|
-
/** Built-in persona names — not file paths, no existence check needed. */
|
|
117
|
-
const BUILTIN_PERSONAS = ["developer", "designer", "support", "ea", "ops", "strategy", "security"];
|
|
118
|
-
export function runHire(args) {
|
|
119
|
-
// Always enforce --branch boundary, even if TPS_NONO_ACTIVE is externally set.
|
|
120
|
-
// Branch mode has no nono fallback, so this validation cannot depend on re-exec state.
|
|
121
|
-
if (args.workspace && args.branch) {
|
|
122
|
-
const resolved = resolve(args.workspace);
|
|
123
|
-
const boundary = resolve(homedir() + "/.tps/branch-office");
|
|
124
|
-
if (!resolved.startsWith(boundary + "/")) {
|
|
125
|
-
console.error(`❌ Workspace must be inside ~/.tps/branch-office/ (subdirectory only). Got: ${args.workspace}`);
|
|
126
|
-
process.exit(1);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
// ── Nono re-exec guard ─────────────────────────────────────────────────────
|
|
130
|
-
// TPS_NONO_ACTIVE is set when this process was already re-exec'd under nono.
|
|
131
|
-
// This prevents double-wrapping. It is NOT a security boundary — the nono
|
|
132
|
-
// kernel-level sandbox enforces the actual policy via the tps-hire profile.
|
|
133
|
-
if (!process.env.TPS_NONO_ACTIVE) {
|
|
134
|
-
// Validate report path BEFORE re-exec so errors surface outside the sandbox
|
|
135
|
-
if (args.reportPath && !BUILTIN_PERSONAS.includes(args.reportPath)) {
|
|
136
|
-
const resolved = resolve(args.reportPath);
|
|
137
|
-
if (!existsSync(resolved)) {
|
|
138
|
-
console.error(`❌ TPS report not found: ${args.reportPath}`);
|
|
139
|
-
process.exit(1);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
// Validate non-branch workspace boundary.
|
|
143
|
-
if (args.workspace && !args.branch) {
|
|
144
|
-
const resolved = resolve(args.workspace);
|
|
145
|
-
const boundary = resolve(homedir() + "/.openclaw");
|
|
146
|
-
if (!resolved.startsWith(boundary + "/")) {
|
|
147
|
-
console.error(`❌ Workspace must be inside ~/.openclaw/ (subdirectory only). Got: ${args.workspace}`);
|
|
148
|
-
process.exit(1);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
// --branch runs inside sandbox model; skip nono re-exec.
|
|
152
|
-
if (args.branch) {
|
|
153
|
-
render(_jsx(HireCommand, { ...args }));
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
const nono = findNono();
|
|
157
|
-
if (nono) {
|
|
158
|
-
const workdir = args.workspace ? resolve(args.workspace) : undefined;
|
|
159
|
-
const nonoArgs = buildNonoArgs("tps-hire", { workdir }, process.argv);
|
|
160
|
-
const result = spawnSync(nono, nonoArgs, {
|
|
161
|
-
stdio: "inherit",
|
|
162
|
-
env: { ...process.env, TPS_NONO_ACTIVE: "1" },
|
|
163
|
-
});
|
|
164
|
-
process.exit(result.status ?? 1);
|
|
165
|
-
}
|
|
166
|
-
else if (isNonoStrict()) {
|
|
167
|
-
console.error("❌ nono is not installed but TPS_NONO_STRICT=1. Install nono: https://nono.sh");
|
|
168
|
-
process.exit(1);
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
console.warn("⚠️ nono not found — running tps-hire WITHOUT isolation. Install nono: https://nono.sh");
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
render(_jsx(HireCommand, { ...args }));
|
|
175
|
-
}
|
|
176
|
-
//# sourceMappingURL=hire.js.map
|